Listen sind das wichtigste und gleichzeitig das komplexeste Werkzeug in Dynamo – in den letzten beiden Dynamo-Dienstag Beiträgen Revit Elemente in Dynamo abrufen und Revit Eigenschaften mit Dynamo auslesen und ändern haben Sie bereits mit Listen gearbeiten, denn diese sind das Ergebnis der meisten Abfragen und Auswertungen.
Alle Elemente in einer Liste werden von Dynamo durchnummeriert – dabei ist allerdings zu beachten, dass das erste Element mit dem Index 0 anfängt, das zweite mit 1, etc. Diese Logik stammt aus der Computerprogrammierung:
Die Reihenfolge der Elemente in einer Dynamo Liste verändert sich nicht und entspricht z.B. bei Revit Elementen der Erstellungsreihenfolge dieser. Wenn Sie Abfragen durchführen, bleibt die Reihenfolge ebenfalls unberührt, d.h. dass beispielsweise ein abgefragter Parameter mit dem Index 0 auch immer der Tür mit dem Index 0 gehört etc.
Dieses Verhalten hat den großen Vorteil, dass die Listen gut gesteuret werden können und z.B. auch einfach eine Türliste exportiert werden kann mit der Sicherheit, dass die Daten den Türen richtig zugeordnet sind.
Manchmal kann es allerdings notwendig sein, Listen neu zu sortieren oder zu filtern. Hierzu gibt es verschiedene Möglichkeiten mit Nodes, die in Dynamo unter List > Organize zu finden sind. In diesem Beispiel werden die Türliste sowie eine Liste mit Eigenschaften genommen (hier: Fläche) und anschließend mit SortByKey beide nach der aufsteigenden Fläche sortiert:
Die Listen können am effektivsten mit einer einfachen boolschen Abfrage und der Node FilterByBooleanMask gefiltert werden, z.B. hier nach der Fläche – zu beachten ist, dass dieselbe Abfrage natürlich mehrfach genutzt werden kann (hier sowohl für die Fläche wie auch für die eigentliche Türliste), so dass am Ende wieder zwei korrespondierende Listen übrig bleiben:
Arbeiten mit Listen ist die wichtigste Grundlage für weitere Workflows mit Dynamo. Nehmen Sie sich daher Zeit und testen Sie die beschriebenen Workflows, z.B. auch mit einer Raumliste und mit anderen Parametern. In unserem Dynamo Primer finden Sie ebenfalls noch einige interessante Beispiele und Erklärungen zum Thema Listen.
Laden Sie hier das Skript herunter (erfordert Dynamo 2.x)
Thema nächsten Dienstag: Listen aus Dynamo nach Excel exportieren / importieren
Interessieren Sie bestimmte Themen? Dann hinterlassen Sie uns ein Kommentar und nach Möglichkeit werden wir es in einem der nächsten Blogposts behandeln!
Weiterführende Links:
Offizielle Dynamo Website und Forum
Dynamo Primer – digitales Dynamo Handbuch
Dynamo Language Guide (PDF, Englisch)
Deutschsprachige Videotutorials (etwas älter, als Einstieg dennoch gut geeignet)
LinkedIn Learning Dynamo Training (Englisch)