Hallo,
ich hab folgendes Problem :
Ich habe ein Modell mit korrekter Hierachie (Baugruppen mit Unterbaugruppen usw.). Jetzt habe ich die Namen der Gruppen schon isoliert (Listenfeld) und möchte nun genau diese Gruppen inkl. Unterguppen (also so, wie sie in der Modellhierachie angezeigt werden) per button oder validate des Listenfeld an- und ausschalten. Habe das schon mit den methoden .parent/firstChild und nextsibling probiert, aber das klappte nich so wie ich das gedacht hab weil das nicht die Untergruppen mit einbezogen hat. Es muß doch möglich sein einfach diese Gruppen anzusprechen. Die Referenz schweigt sich da auch aus oder ich habs nicht gefunden.
Gruß Spongebob
Modellhierachie-Einträge ver JS aktivieren bzw deaktivieren.
Modellhierachie-Einträge ver JS aktivieren bzw deaktivieren.
Hi Spongebob,
meintest Du sowas? Ich hab es jetzt einfach mal mit der Sichtbarkeit der Teile als Eigenschaft gemacht.
Hat mich grad mal gereizt, auch wenn ich grad ziemlich wenig Zeit hab. ;) Hoffe das trifft Deine Vorstellungen.
Gruß,
Andreas Vogel
PS: Wär super, wenn Du Dein Script zum ausgeben der Hierarchie in ein Feld hier auch einstellst. Dann bin ich schon mal nicht der Einzige, der hier was von seinem KnowHow preis gibt.
Anbei der Code als Downloadfile...
Gruß,
Andi
meintest Du sowas? Ich hab es jetzt einfach mal mit der Sichtbarkeit der Teile als Eigenschaft gemacht.
Hat mich grad mal gereizt, auch wenn ich grad ziemlich wenig Zeit hab. ;) Hoffe das trifft Deine Vorstellungen.
Gruß,
Andreas Vogel
PS: Wär super, wenn Du Dein Script zum ausgeben der Hierarchie in ein Feld hier auch einstellst. Dann bin ich schon mal nicht der Einzige, der hier was von seinem KnowHow preis gibt.
Anbei der Code als Downloadfile...
Gruß,
Andi
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Modellhierachie-Einträge ver JS aktivieren bzw deaktivieren.
Hallo Andreas,
Danke für das Skript.
Also ehrlich gesagt hatte ich ein Skript geschrieben was im Prinzip das selbe machte. Das Problem war gewesen, das man für die Suche nach Meshes mit den selben Parents nicht die Gruppennamen (also der Name, der in der Hierachie zu finden ist) nehmen darf, weil es natürlich ein solches Mesh nicht gibt (nur als Node oder Listeneintrag). Ich hoffe ich hab mich einigermaßen verständlich ausgedrückt :-).
Jetzt funktioniert auch mein Skript, was die Gruppen im 3D sucht ( die ein F oder B an 11ter stelle haben) und in eine Combobox schreibt einigermaßen gut. Es darf nur nicht eine Gruppe geben, die nur ein Mesh beinhaltet, weil aus irgendeinem Grund manchmal das zweite ´Sibling´ gefunden wird und es, falls keins vorhanden ist, zu einer Fehlermeldung kommen würde.
Vielleicht hast Du ja eine Idee warum ?
Wenn ich kann werde ich natürlich gern auch mein Know How 'preisgeben' :-) Ich bin aber selbst noch in der Lernphase und weiß nicht ob es richtig ist was ich da sage.
... allerdings klappts ja auch :-)
Hier das Skript :
---------------------------------------------------
function SucheGruppen ()
{
context3D = this.getAnnots3D(this.pageNum)[0].context3D
var Gruppen = this.getField("Gruppen") // Combobox in aktuellen PDF
for ( var i = 0 ; i < context3D.scene.meshes.count ; i++ )
{
var TeilName = context3D.scene.meshes.getByIndex(i).parent.name
TeilName = TeilName.substr(0,11) // hier ist Teilenummer, Rest interessiert nicht
if ( TeilName.substr (10,1) == "f" || TeilName.substr (10,1) == "F" ) {
var Sibling = context3D.scene.meshes.getByIndex(i).nextSibling.name
Gruppen.insertItemAt (TeilName.toUpperCase(), Sibling );
}
if ( TeilName.substr (10,1) == "b" || TeilName.substr (10,1) == "B" ) {
var Sibling = context3D.scene.meshes.getByIndex(i).nextSibling.name
Gruppen.insertItemAt (TeilName.toUpperCase(), Sibling );
}
}
}
----------------------------------------------------
Das Skript was die Mesh-Liste ausliest werde ich bei Gelegenheit nachreichen ... muß es noch modifizieren, weil das speziell auf meine Sache zugeschnitten ist und das nicht den tatsächlichen Namen des Teils ausgibt.
Gruß René
Danke für das Skript.
Also ehrlich gesagt hatte ich ein Skript geschrieben was im Prinzip das selbe machte. Das Problem war gewesen, das man für die Suche nach Meshes mit den selben Parents nicht die Gruppennamen (also der Name, der in der Hierachie zu finden ist) nehmen darf, weil es natürlich ein solches Mesh nicht gibt (nur als Node oder Listeneintrag). Ich hoffe ich hab mich einigermaßen verständlich ausgedrückt :-).
Jetzt funktioniert auch mein Skript, was die Gruppen im 3D sucht ( die ein F oder B an 11ter stelle haben) und in eine Combobox schreibt einigermaßen gut. Es darf nur nicht eine Gruppe geben, die nur ein Mesh beinhaltet, weil aus irgendeinem Grund manchmal das zweite ´Sibling´ gefunden wird und es, falls keins vorhanden ist, zu einer Fehlermeldung kommen würde.
Vielleicht hast Du ja eine Idee warum ?
Wenn ich kann werde ich natürlich gern auch mein Know How 'preisgeben' :-) Ich bin aber selbst noch in der Lernphase und weiß nicht ob es richtig ist was ich da sage.
... allerdings klappts ja auch :-)
Hier das Skript :
---------------------------------------------------
function SucheGruppen ()
{
context3D = this.getAnnots3D(this.pageNum)[0].context3D
var Gruppen = this.getField("Gruppen") // Combobox in aktuellen PDF
for ( var i = 0 ; i < context3D.scene.meshes.count ; i++ )
{
var TeilName = context3D.scene.meshes.getByIndex(i).parent.name
TeilName = TeilName.substr(0,11) // hier ist Teilenummer, Rest interessiert nicht
if ( TeilName.substr (10,1) == "f" || TeilName.substr (10,1) == "F" ) {
var Sibling = context3D.scene.meshes.getByIndex(i).nextSibling.name
Gruppen.insertItemAt (TeilName.toUpperCase(), Sibling );
}
if ( TeilName.substr (10,1) == "b" || TeilName.substr (10,1) == "B" ) {
var Sibling = context3D.scene.meshes.getByIndex(i).nextSibling.name
Gruppen.insertItemAt (TeilName.toUpperCase(), Sibling );
}
}
}
----------------------------------------------------
Das Skript was die Mesh-Liste ausliest werde ich bei Gelegenheit nachreichen ... muß es noch modifizieren, weil das speziell auf meine Sache zugeschnitten ist und das nicht den tatsächlichen Namen des Teils ausgibt.
Gruß René
Modellhierachie-Einträge ver JS aktivieren bzw deaktivieren.
Hallo Leute,
vielen Dank für das Script, genau was ich momentan gesucht habe.
Ist schon schön wenn man selbst keine Ahnung von JS hat aber trotzdem hier fündig werden kann
Nur leider muss ich mich jetzt outen und zugeben, das ich es nicht hinbekomme.
kann mir eine eine kurze Anleitung geben das JS in die Test.pdf eingebunden wird?
Gruß & Danke
Lars
vielen Dank für das Script, genau was ich momentan gesucht habe.
Ist schon schön wenn man selbst keine Ahnung von JS hat aber trotzdem hier fündig werden kann

Nur leider muss ich mich jetzt outen und zugeben, das ich es nicht hinbekomme.
kann mir eine eine kurze Anleitung geben das JS in die Test.pdf eingebunden wird?
Gruß & Danke
Lars
Modellhierachie-Einträge ver JS aktivieren bzw deaktivieren.
Was genau hast Du denn vor ? Vielleicht kenn ich eine einfachere Lösung.
Modellhierachie-Einträge ver JS aktivieren bzw deaktivieren.
Hallo,
also...ich möchte wärend ich mich in einer 3D PDF befinde, duch einfaches anklicken eines Textfeldes/Bottons ...Bauteile/Sekmente ein- oder ausblenden, ohne den Hierachiebaum öffnen zu müssen.
Sprich auf einfache und schnelle weise benötigte Hilfsgeometrien ein oder auszublenden
Im Prinzip genau das, was Acronaut in seiner Beispiel PDF dargestellt hat.
Gruß
Lars
also...ich möchte wärend ich mich in einer 3D PDF befinde, duch einfaches anklicken eines Textfeldes/Bottons ...Bauteile/Sekmente ein- oder ausblenden, ohne den Hierachiebaum öffnen zu müssen.
Sprich auf einfache und schnelle weise benötigte Hilfsgeometrien ein oder auszublenden

Im Prinzip genau das, was Acronaut in seiner Beispiel PDF dargestellt hat.
Gruß
Lars
Modellhierachie-Einträge ver JS aktivieren bzw deaktivieren.
Hi Meila,
ein bisschen spät, ich weiß, aber hatte die letzten Monate zu viel zu tun um hier aktiv zu sein. Evtl. hilfts Dir ja noch was.
Gruß,
Andi
ein bisschen spät, ich weiß, aber hatte die letzten Monate zu viel zu tun um hier aktiv zu sein. Evtl. hilfts Dir ja noch was.
Code: Alles auswählen
getAnnots3D[0][0].context3D.scene.meshes.getByName("Beuteilname").visible = true/false;
Andi