Zum Inhalt springen

Object by Criteria durch Input String ergänzen


t1988

Frage

Geschrieben

Hi zusammen,

 

kann das Marionette Node 'Obj by Criteria' um ein Input Popup oder Input String ergänzt werden um die Standardfilterung zu bearbeiten.

In dem Beispiel im angehängten Bild sollen alle Scheinwerfer mit dem 'Circuit Name'='F11/' weitergeben werden. Hierbei soll die Definition 'F11/' über ein Popup bzw Input String ergänzt werden und nicht über das Auswahlmenü im Objs by Crit Node

 

Jemand ne Idee ob das geht?

 

Besten dank fürs grübeln

 

2012215337_Bildschirmfoto2020-04-23um16_10_31.thumb.png.d982796e5d9ede0948032ae7fc816971.png

Vectorworks 2020 Spotlight & Braceworks SP3.1 R1

MacBook Pro 2,9GHz i9, 32GB, Radeon Pro Vega 20 4GB

macOS Mojave 10.14.6

12 Antworten auf diese Frage

Empfohlene Beiträge

Geschrieben

Ich habe vor einiger Zeit für @KroVex ein Node gebaut, bei den das ganze Kriterium nicht durch den Dialog definiert wird, sondern durch einen Input String.

 

Der Node wird soweit ich weiss im Netzwerk verwendet, dass er hier ganz unten teilt.

 

Das Kriterium kannst du dir nun selber zusammenstellen, wie du gerne möchtst. Zum Zusammenfügen von Strings gibt es den Concatentate-Node. Grundsätzlich würde auch ein String-Node ohne Delimiter funktionieren. Wenn nur zwei Strings zusammengefügt werden sollen verwende ich auch gerne den Add-Node, da ich dort ohne eine Liste zu erzeugen kontrolieren kann, welcher Teil vor welchen gesetzt wird. Musst einfach aufpassen, dass es wirklich zwei Strings sind und nicht ein String und eine Zahl.

Freundliche Grüsse

 

Manuel Roth

_________________________________________________
Vectorworks 2022 SP3 | Architektur | Windows 10

Geschrieben

Mir fällt grad noch ne Alternative mit Bordmitteln ein: Zuerst eine Liste aller Lighting Device anlegen und danach die Liste durch einen if-Node filtern. Beim If-node nimmst du einen 'Same String'-Node um die Bedingung zu prüfen. Beim Same String kannst du dann einen beliebigen String als Input anhängen.

Vectorworks 2024 - Architektur - Win 10

Geschrieben

Hi,

 

danke für die schnellen Antworten.

Hab das Node von @KroVex benutzt und das funktioniert wunderbar. (Vielen Dank @Manuel Roth)

Die zweite Variante war mein ursprünglicher Versuch bei dem ich leider gescheitert war aber mit deinem Input @herbieherb versuch ichs auch nochmal.

 

Merci

Vectorworks 2020 Spotlight & Braceworks SP3.1 R1

MacBook Pro 2,9GHz i9, 32GB, Radeon Pro Vega 20 4GB

macOS Mojave 10.14.6

Geschrieben

Mit dem Node von Manuel ist dieses Vorhaben natürlich viel einfacher gelöst. Falls man aber mal nicht beim Input, sondern mitten in der Marionette drin eine Liste filtern möchte, käme man mit dieser Lösung ans Ziel.

image.thumb.png.254a0a3f2c43bcbfe7cc08145def9fb8.png

  • Like 1

Vectorworks 2024 - Architektur - Win 10

Geschrieben (bearbeitet)

Grundsätzlich funktioniert das Netwerk von herbieberb.

 

Ich würde allerdings kein If-Node verwenden. Der Filter-Node passt hier um einiges besser.

Habe aber mit Freude gerade festgestllt, dass der Output vom If-Node der gleiche ist wie vom Filter-Node. Hätte damit gerechnet, dass der If-Node noch einige Male None oder so was ausgibt.

Bearbeitet von Manuel Roth
  • Like 2

Freundliche Grüsse

 

Manuel Roth

_________________________________________________
Vectorworks 2022 SP3 | Architektur | Windows 10

Geschrieben

Ich hab noch immer Probleme mit dem handeln von Listen.

 

Wie kann man sich eine Liste von Objekten denn clever durch nicht feststehende Texte, die in einer Liste stehen filtern lassen?

 

Beispiel:

Liste von Scheinwerfer mit Positionen als Text in Datenbank gesetzt

[0] = 3B63DED0 (Hat in "Position" LX01)

[1] = 3B63DED1 (Hat in "Position" LX02)

[2] = 3B63DED2 (Hat in "Position" LX02)

 

Liste von Positionen Anzahl=2

[0] = LX01

[1] = LX02

 

Vergleich der Listen und Ausgabe nach Positionen in (2) Einzellisten zur Weiterverarbeitung.

Liste 1

[0] = 3B63DED0

Liste 2

[0 = 3B63DED1

[1] = 3B63DED2

Geschrieben

Am einfachsten verwendest du wohl ein solches Konstrukt.

image.thumb.png.cb98cb500eed054f68b5c8eddaccd3a5.png

Wenn du mehr als zwei Listen bilden willst, wird es aber ein wenig komplexer.

Freundliche Grüsse

 

Manuel Roth

_________________________________________________
Vectorworks 2022 SP3 | Architektur | Windows 10

Geschrieben

Du kannst als Kriterium eine Liste eingeben. Dann wird diese Liste abgearbeitet und als Output erhältst du eine Liste von Listen also eine Listception. :D

 

Input: Kriterium1, Kriterium2, Kriterium3

 

Output: Liste1, Liste2 Liste3

 

wobei Liste 1 dann alle Objekte mit Kriterium 1 enthält, Liste 2 alle Objekte mit Kriterium2 etc.

 

Um dann auf die richtige Liste zuzugreifen benutzt du einfach den Index deiner ursprünglichen Kriterienliste.

Vectorworks 2024 - Architektur - Win 10

Geschrieben

Vielen Dank euch Beiden.

 

@Manuel Roth, Danke, habe ich auch so verwandt. Es geht eher um das Zusammenfügen von zwei Objs by Crit.

 

@herbieherb, den Input meinst du aber von einem Node kommend, und nicht vorher festgelegt?

 

Ich habe es Freitag noch (grundlegend) gelöst bekommen.

 

Ich frage die Scheinwerfer ab, die keine leere Position haben und kein Traversennullpunkt sind und nehme die Liste der Values und Mixe sie mit dem ersten Objekt der Positionen der Traversennullpunkte. Dann Filtere ich alle gleichen Werte heraus und kann dann Entfernungen setzten.

 

Aber mir fehlt noch, wie ich das Übriggebliebene loopen kann. Aktuell müsste ich mein gewrapptes Node immer wieder aneinanderreihen und dann ein Pop-Up nehmen und daraufhinweisen, dass der Befehl maximal n- Positionen abarbeiten kann.

Zählen der Anzahlen geht ja super über List-Length der Traversennullpunkte, aber wie kriegt man es hin, dass er das n-mal ausführt..?First.thumb.JPG.f7b4ed807a32fc9ea166b28b28339e3c.JPGSecond.thumb.JPG.6ec764cf7743d73bb87f4db8e989400c.JPG

Geschrieben

Hallo @LuminisStageLighting,

normalerweise fängt man in Foren für das eigene Thema auch ein separates Thema an.

 

Da wir nun schon hier sind:

Um dir mit Marionette weiterzuhelfen, versuche ich gerade zu verstehen, was du genau vorhast. Das wird aus den Bildern leider nicht ganz klar. Als ich das ganze mit dem Kollegen aus dem Entertainmentbereich angeschaut habe, kamen wir nicht wirklich weiter.

 

Magst du es bitte erklären und eine Datei hochladen?

Gruß


Antonio Landsberger

ComputerWorks GmbH

http://www.computerworks.de

Geschrieben

Hallo @Antonio Landsberger,

 

danke für die Antwort und sorry für das Posten in ein bestehendes Thema - Ich habe eine kleine Überschneidung bei Obj by Criteria gesehen.. und dachte der ursprünglichen Verfasser kann das beim Arbeiten mit Plugboxen auch gebrauchen ;)

 

Erreichen möchte ich, dass sich Scheinwerfer ihre Entfernung zu einem Referenzpunkt an einer Position errechnen, unabhängig wie die Position benannt ist.

 

Den Referenzpunkt habe ich als Scheinwerfer realisiert, und das Kalkulieren funktioniert auch wunderbar, indem ich das erste Element der Positionen nehme und mit den Scheinwerfern mixe. Damit erhalte ich alles für die erste Position, egal wie sie heißt, aber möchte gern mit dem Rest weitermachen.

Ich hänge an dem Punkt, an dem ich eine Wiederholung des Vorgangs, um eine (durch die Listenlänge der Positionen gegebene) Anzahl wiederholen lassen kann, ohne in der Endanzahl begrenzt zu sein, indem ich das Ganze wrappe und 50x hintereinanderhänge.

Referenzentfernung auf Positionen.vwx

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
      24,8Tsd
    • Beiträge insgesamt
      128,7Tsd
×
×
  • Neu erstellen...