Zum Inhalt springen

Marionettenode BBox auslesen


Manuel Roth

Empfohlene Beiträge

Hallo zusammen

 

Ich habe ein Marionetteproblem. Und ich fühle mich gerade ziemlich unfähig, da es auf den ersten Blick absolut einfach erscheint. Aber ich bekomme die Lösung nicht raus.

 

Fragt euch nicht wesshalb dies sein muss, aber wäre sehr toll, wenn es eine Lösung dafür gibt.

 

 

Was ich tun möchte, ist einen Rahmen um ein einzelnes Node zu zeichnen. Wenn es fertig ist, sollte es in etwa so aussehen.

image.png.02dd577f939199a1f3e20c4a0d0dca7f.png

 

Der Handle zum Node habe ich und auch der Offset für den Rahmen ist kein Problem. Was nicht mir nicht gelingen will ist, die BBox auszulesen. Denn der Rahmen soll am gleichen Ort bleiben, auch wenn der Output mit einem anderen Node verbunden ist.

image.png.767ffacf4dfe24e9611d204c54f94a0a.png

 

Von daher funktioniert Get BBox nicht ganz so einfach, da der Rahmen auch um die Verbindungslinie gezogen wird, was ich umbedingt verhindern möchte.

 

 

Verschiede Lösungsansätze habe ich bereits verfolgt.

- Mithilfe von Contents (und einigen Filternodes) lässt sich die Polyline mit dem Verlauf herausfiltern. Die BBox von dieser Polyline ist allerdings auf ein Koordinatensystem vom Node bezogen. Das heisst die Ausgabe für die untere rechte Ecke ist immer (0;0), egal wo auf der Konstruktionsebe der Node liegt. Dieser lieses sich mit dem Einfügepunkt des Nodes verrechnen. Diesen Einfügepunkt herauszufinden ist mittels BBox aber wiederum nicht möglich, weil die Verbindungsline auch nach unten zeigen kann. Ich drehe mich im Kreis.

- Wenn der Node dupliziert wird, verliert er die Verbindung und es könnte die BBox des Nodes an sich gebraucht werden. Die Verbindungsline wird aber erst nach dem Beenden des Marionettescrips entfernt und somit ist auch dieser Ansatz nicht funktionstüchtig. Den Node mittels Move oder Reset (von @Dominique Corpataux) zurückzusetzen brachte auch keinen Erfolg.

- Der Node kann mit einem leicht modifizierten Ungroup-Node (einfach die Kontrolle, ob es sich um eine Gruppe handelt entfernen) in seine Einzelteile zerlegt werden. Mit diesen Objekten lässt sich zwar arbeiten, sie reagieren aber als sie noch im Node liegen und dementsprechend gibt auch hier Get BBox nicht das gewünschtes Resultat. Ganz kurios wird hierbei es beim Versuch die Objekte per Marionette zu löschen. Sie bleiben einfach bestehen. Gefällt mir gar nicht. Der Symbol to Group-Node von @Antonio Landsberger gibt einen Error zurück.

 

Und dann sind mir die Ideen ausgegangen.

 

 

 

Vielen Dank fürs Teilen von euren Lösungsansätzen. Ich bin sicher, dass ich irgenetwas ganz einfaches übersehen habe.

Freundliche Grüsse

 

Manuel Roth

_________________________________________________
Vectorworks 2022 SP3 | Architektur | Windows 10

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,5Tsd
    • Beiträge insgesamt
      120,9Tsd
×
×
  • Neu erstellen...