Zum Inhalt springen

Marionette Object & Wrapper


Holzzukunft

Empfohlene Beiträge

Hallo Zusammen

 

Im unten angehängten Dokument habe ich 2D und 3D Symbole verwendet.

Sobald ich das Netzwerk wrappe oder in ein Objekt umwandle, funktioniert die 3D-Symbol-Auswahl nicht mehr.

 

Apropo, nachfolgend die Quelle zum Steuerelement.

https://forum.vectorworks.net/index.php?/files/file/205-get-symbol-from-folder/&tab=reviews

 

 

Ich bin um jede Hilfe dankbar.

 

Gruss Simon

 

Bildschirmfoto 2021-06-14 um 22.13.58.png

Fensterladen_2.vwx

Link zu diesem Kommentar

Es scheint, als ob sich mehrere von diesen Nodes in einem Marinette-Netzwerk nicht so gut vertragen. Der Grund ist meiner Meinung nach ein Bug in Marionette.

 

@Antonio Landsberger

Denn bei der Ausführung wird meiner Meinung nach ein gigantischer Codehaufen erzeugt. In diesen Berg werden auch irgendwo die drei Funktionen script() aus den Nodes eingefügt. Da es aber teoretisch vorkommen kann, dass eine Funktion nicht das selbe enthält wie eine andere, werden diesen Funktionen normalerweise separate Namen vergeben (script2 usw...) Damit kann sichergestellt werden, dass die korrekte Funktion ausgeführt wird. Diese Umbennnenung funktioniert dort wo die Funktion aufgerufen wird, allerdings wird die Funktion selbst nicht umbennant, was dazu führt, dass die aufgerufene Funktion nicht existiert und die Fehlermeldung oben erscheint.

Soweit zumindest meine Auffassung vom Problem. Kann aber auch sein, dass ich daneben liege.

 

Und nun zur Lösung. Anstelle Marionette die Umbennenung machne zu lassen, machst du sie einfach händisch. Mache dazu einen Doppelklick auf den Node und ändere die beiden markierten Stellen in script2 bzw. script3

image.thumb.png.08b03a53da6af9c6e98f1b095b24b657.png

 

 

Noch generell zu deinem Script. Jeder Node braucht eine gewisse Zeit zur Berechnung. Nicht nur um den Code darin auszuführen, sondern auch um überhaupt aufgerufen zu werden. Desshalb versuche ich Pass-Nodes meist zu vermeiden. Und der zweite Punkt mag im Moment nicht so wichtig erscheinen, aber dein Fensterladen-Wrapper ist ziemlich unordentlich (sorry) und du wirst bei einer allfälligen Revision nicht wirklich Freude daran haben. Ich versuche gegen Ende von einem Projekt hin meine Netzwerke jeweils zu entwirren.

image.thumb.png.91fc16edc75e74fc81e1f7f127f7a3d4.png

 

Eventuell könnte dein Netzwerk auch ein wenig einfacher (und damit effizienter) gestaltet werden. Dies würde funktionieren, indem du dir vorgängig eine Liste mit Einfügepunkten und Dimensionen von deinen Boxen (und zwar allen, damit du anschliessend keine Duplikate, Rotationen usw. mehr brauchst) zusammenstellst und diese an einen einzigen Boxnode eingibst. Damit führst du praktisch nur "schnelle" Mathematik aus und erzeugst anschliessend die Geometrie anstelle dass du die Geometrie erzeugst und anschliessend "langsame" Geometriemodifikationen machst. Zudem wird das Netzwerk dadurch oftmals übersichtlicher.

 

Wenn es etwas harsch rüberkommt, tut mir leid es ist gut gemeint, dein Netzwerk funktioniert und ist doch in grossen Teilen sehr gut gemacht.

  • Like 1

Freundliche Grüsse

 

Manuel Roth

_________________________________________________
Vectorworks 2022 SP3 | Architektur | Windows 10

Link zu diesem Kommentar
  • 2 Wochen später...

Hallo Zusammen

 

Als Marionette Einsteiger und Schreiner nehme ich gerne jeden Tip entgegen. 
Kurz gesagt, Mathematik=schnell / Grafik=langsam…?



Ich finde den „Symboleinfügeknoten“ mit Bild cool.

3D Symbole funktionieren meiner Meinung nach im Marionetteobjekt nur mit dem Original Knoten.

 

Apropos:

Ich habe Symbole mit einfachen Volumenkörpern.

Diese Volumenkörper sind in unterschiedliche Klassen eingeteilt. 
Ich kann das Symbol in das Marionetteobjekt einfügen und möchte nun einzelne Klassen als Volumenoperation vom restlichen Marionettenobjekt abziehen.
Die übrigen Symbol Klassen soll jedoch erhalten bleiben.

Mir fehlt momentan ein passender Lösungsansatz dazu.

@Manuel Roth Haben Sie dazu eine Idee?


 

Danke für Ihre Hilfe und Ihre Zeit.

 

Freundliche Grüsse

Link zu diesem Kommentar
vor einer Stunde schrieb Holzzukunft:

Kurz gesagt, Mathematik=schnell / Grafik=langsam…?

Genau

 

vor einer Stunde schrieb Holzzukunft:

3D Symbole funktionieren meiner Meinung nach im Marionetteobjekt nur mit dem Original Knoten.

Das Einfügen von einem Symbol an einem beliebigen 3D-Punkt funktioniert tatsächlich nicht. Du kannst allerdings mit dem "langsamen" Move-Node das Symbol in der Höhe verschieben.

@Antonio Landsberger Ein weiterer Bug für deine Liste.

 

 

Zum Apropos verstehe ich nicht ganz, was du erreichen möchtest. Könntest du ev. ein Bild dazu machen?

 

Freundliche Grüsse

 

Manuel Roth

_________________________________________________
Vectorworks 2022 SP3 | Architektur | Windows 10

Link zu diesem Kommentar
vor 10 Stunden schrieb Manuel Roth:

Das Einfügen von einem Symbol an einem beliebigen 3D-Punkt funktioniert tatsächlich nicht. Du kannst allerdings mit dem "langsamen" Move-Node das Symbol in der Höhe verschieben.

@Antonio Landsberger Ein weiterer Bug für deine Liste.

Guten Morgen Manuel,

das wirst du ein bischen mehr ausführen müssen, damit ich genau verstehe, was nicht funktioniert.

Gruß


Antonio Landsberger

ComputerWorks GmbH

http://www.computerworks.de

Link zu diesem Kommentar
vor 21 Stunden schrieb Manuel Roth:

Genau

 

Das Einfügen von einem Symbol an einem beliebigen 3D-Punkt funktioniert tatsächlich nicht. Du kannst allerdings mit dem "langsamen" Move-Node das Symbol in der Höhe verschieben.

@Antonio Landsberger Ein weiterer Bug für deine Liste.

 

 

Zum Apropos verstehe ich nicht ganz, was du erreichen möchtest. Könntest du ev. ein Bild dazu machen?

 

 

 

Hallo Manuel

2099686229_Bildschirmfoto2021-07-06um20_04_52.thumb.png.0b150fdf0a40bef192a67838c93f00d4.png

 

Auf dem Bild sind die Beispiel-Objekte zu sehen.

 

Grau = Klasse "A"

Rot = Klasse "B"

 

Ich möchte im Marionette Objekt die Klasse B von A abziehen.

Dies stelle ich mir mit dem Knoten "Solid Boolean" vor.

Das komplette Symbol abziehen funktioniert gut.

 

Nun suche ich nach einem Weg, nur den roten Teil B zu subtrahieren.

Ich habe an eine Klassensteuerung gedacht...

 

Grundsätzlich kann ich zwei separate Symbole einfügen um ans Ziel zu kommen.

Mir erscheint das jedoch als etwas umständlich.

 

Hast du eine Idee dazu?

 

 

 

E schöne Tag

 

 

 

Link zu diesem Kommentar

Du könntest das Symbol nicht als Symbol sondern als Gruppe (=blaues Symbol, ist sehr nützlich beim Marionette scripten.) einfügen lassen.

Anschliessend kannst du die Objekte nach Klasse filtern und die Solid Boolean-Operation durchführen. Den Rest der Elemente, die bei listFItems rauskommst, kannst du grundsätzlich löschen ausser du brauchst sie noch für andere Zwecke.

image.thumb.png.a2526fb2f168c3c192caadf26bfe5494.png

 

 

@Antonio Landsberger

Das Problem ist auch nicht sonderlich komplex.

image.png.74689700e27462fe3c341e73f71f8936.png

Bei mir fügt dieses Netzwerk das Symbol bei 1, 1, 0 ein.

  • Like 1

Freundliche Grüsse

 

Manuel Roth

_________________________________________________
Vectorworks 2022 SP3 | Architektur | Windows 10

Link zu diesem Kommentar
  • 2 Wochen später...
Am 8.7.2021 um 20:47 schrieb Manuel Roth:

Den Rest der Elemente, die bei listFItems rauskommst, kannst du grundsätzlich löschen ausser du brauchst sie noch für andere Zwecke.

 

Das subtrahieren am Objekt funktioniert gut.

Leider werden die übrigen Elemente gleich gelöscht.

 

Muss ich diese separat filtern und in eine Gruppe packen?

Link zu diesem Kommentar
vor 36 Minuten schrieb Holzzukunft:

Leider werden die übrigen Elemente gleich gelöscht.

Schon erledigt.

 

Das 3D Symbol hat Bearbeitungen, welche ich in eine Gruppe gepackt habe. 

Im Symbol habe ich diese nun aufgelöst. 

 

Ausserdem habe ich die zu behaltenden Teile als Liste durchlaufen lassen. 

Diese habe ich nun direkt an den Knoten gehängt.

 

Siehe da, es funktioniert ausgezeichnet.

 

Link zu diesem Kommentar

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden
  • Forenstatistik

    • Themen insgesamt
      23,4Tsd
    • Beiträge insgesamt
      120,2Tsd
×
×
  • Neu erstellen...