Modellhierachie-Einträge ver JS aktivieren bzw deaktivieren.

Fragen & Antworten zur Steuerung von 3D Inhalten in PDFs über JavaScript
Antworten
spongebob
Beiträge: 41
Registriert: 09.02.2007, 20:49

Modellhierachie-Einträge ver JS aktivieren bzw deaktivieren.

Beitrag von spongebob » 19.02.2007, 12:29

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

acronaut
Beiträge: 693
Registriert: 14.09.2006, 21:32
Kontaktdaten:

Modellhierachie-Einträge ver JS aktivieren bzw deaktivieren.

Beitrag von acronaut » 16.03.2007, 23:51

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


Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

spongebob
Beiträge: 41
Registriert: 09.02.2007, 20:49

Modellhierachie-Einträge ver JS aktivieren bzw deaktivieren.

Beitrag von spongebob » 17.03.2007, 12:08

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é

Meila
Beiträge: 50
Registriert: 23.04.2007, 10:54

Modellhierachie-Einträge ver JS aktivieren bzw deaktivieren.

Beitrag von Meila » 30.10.2007, 07:38

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


spongebob
Beiträge: 41
Registriert: 09.02.2007, 20:49

Modellhierachie-Einträge ver JS aktivieren bzw deaktivieren.

Beitrag von spongebob » 30.10.2007, 19:40

Was genau hast Du denn vor ? Vielleicht kenn ich eine einfachere Lösung.

Meila
Beiträge: 50
Registriert: 23.04.2007, 10:54

Modellhierachie-Einträge ver JS aktivieren bzw deaktivieren.

Beitrag von Meila » 31.10.2007, 06:27

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

 

 

acronaut
Beiträge: 693
Registriert: 14.09.2006, 21:32
Kontaktdaten:

Modellhierachie-Einträge ver JS aktivieren bzw deaktivieren.

Beitrag von acronaut » 20.01.2008, 16:59

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.

Code: Alles auswählen

getAnnots3D[0][0].context3D.scene.meshes.getByName("Beuteilname").visible = true/false;
Gruß,
Andi

Antworten