Das folgende Beispielprojekt beschreibt wie man mit Hilfe von Dynamo, Elemente in Revit erstellt und auf deren Parameter zugreifen kann.
Das Projekt erklärt wie man mit Dynamo Stahlbetonstützen in einem vorgegebenen Raster erstellt. Es werden die Grundfunktionen beschrieben und häufig verwendete Arbeitsweisen erklärt. Anschließend wird gezeigt wie man Parameter der Stützen herauslesen kann und diese überschreibt. Es wird wie folgt vorgegangen:
Im ersten Schritt wird das Revitprojekt (Version 2018) heruntergeladen und geöffnet. Revitprojekt
Ist die Revitvorlage geöffnet, kann Dynamo gestartet und ein neues Projekt erstellt werden.
Im ersten Schritt wird die Programmausführung auf Manual umgeschaltet.
Nun werden alle benötigten Blöcke in den Arbeitsbereich geladen.
Durch doppelten Rechtsklick öffnet sich die Suchfunktion in der Bibliothek. Dafür werden die jeweiligen Begriffe in die Suchleiste eingegeben. Die Vorgehensweise ist den Bildern zu entnehmen.
Es werden folgende Blöcke geladen und in einer Reihenfolge von rechts nach links geordnet:
Block für die Stützenerstellung.
Block für die Linienerstellung.
Block für die Ebenenzuweisung.
Block für die Stützenauswahl.
2 x Block für die Punkterstellung.
Block für einen Zahlenwert. Doppelklick linke Maustaste in den Arbeitsbereich.
3 x Block für eine flexible Zahlenauswahl.
Die eingefügten Blöcke werden jetzt in die richtige Formatierung gebracht. Die Anordnung ist dem folgenden Bild zu entnehmen.
Des Weiteren sind Voreinstellungen für folgene Blöcke getroffen.
Block | Wert |
---|---|
Levels | Ebene 1 |
Structural Column Types | STB 30 x 30 |
Code Block | 5 |
Integer Slider 1 | 4 |
Integer Slider 2 | 6 |
Integer Slider 3 | 5 |
Um eine eindeutige Zuweisung der Slider zu gewährleisten, können diese per Doppelklick linke Maustaste im Blocknamen bearbeitet werden.
Die erstellten Slider definieren die Eingabe für die Sequenzen der Punkte. Für komplexere visuelle Programme kann es von Vorteil sein, wenn mehrere Blöcke einer Gruppe zugewiesen werden. Dadurch stellt man im späteren Verlauf der Programmierung den Überblick sicher.
Es werden alle Slider markiert. Anschließend erfolgt ein doppelter Rechtsklick auf einen Block. Es öffnet sich ein Menü, indem „Create Group“ ausgewählt wird.
Danach kann per Doppelklick linke Maustaste der Gruppenname zu „Eingabe“ geändert werden. Per Rechtsklick auf den Gruppenblock sind weitere Einstellungen möglich, wie z.B. das Ändern der Farbe.
Jetzt folgt die richtige Verbindung der Drähte zwischen den Blöcken.
In den letzten Schritten wurden die Blöcke von rechts nach links eingefügt. Die Strukturierung erfolgte immer detaillierter. Es wurden immer die Blöcke eingefügt, die man für den vorherigen benötigte. Zum Beispiel benötigt man für eine Linie zwei unterschiedliche Punkte und für einen Punkt entsprechende Koordinaten usw. .
Die Verbindung der Drähte erfolgt nun vom Detail zum Endergebnis.
Der erste Slider „Integer Slider 1“ soll den Abstand für die erstellten Stützen festlegen. Die Ausgabe des Blocks wird jeweils mit den Eingängen „step“ der beiden Sequenzen verbunden.
Der zweite Slider „Integer Slider 2“ definiert die Anzahl der erstellten Stützen entlang der X-Achse. Er wird mit den Eingang „amount“ des oberen Sequenzenblocks verknüpft.
Der zweite Slider „Integer Slider 3“ definiert die Anzahl der erstellten Stützen entlang der Y-Achse. Er wird mit den Eingang „amount“ des unteren Sequenzenblocks verknüpft. Anschließend wird das Skript durch klicken auf „Run“ ausgeführt
Hält man den Mauszeiger über die Schrift „Auto“ im Block, öffnet sich ein zusätzliches Fenster. Durch klicken der Pinnadel erhält man dauerhaften Einblick in den aktuellen Dateninhalt des Blocks. Desweiteren werden die Blocknamen mit zusätzlichen Informationen gefüllt, um sie zu einem späteren Zeitpunkt besser zu verstehen.
Im nächsten Schritt werden die erstellten Zahlenwerte den Koordinaten zugewiesen. Die Linie soll gerade in der Z-Achse verlaufen. So bekommen beide Punkte dieselben XY-Koordinaten zugewiesen. Der „z“-Eingang des oberen Blocks wird mit dem Code Block „5“ verknüpft. Dadurch liegt der Punkt nun oberhalb des anderen.
Anschließend wird in den Blöcken der Punkterstellung, jeweils mit der rechten Maustaste geklickt. Im folgenden Menü wird unter „Lacing“, „Cross Product“ ausgewählt. Dies ermöglicht den Blöcken das Kreuzprodukt aus den eintreffenden Anschlüssen (Zahlen) für die Koordinaten zu bilden.
Um die Zwischenergebnisse in Dynamo zu überprüfen, kann per Shortcuts „Ctrl+B“ in den 3D-Bereich gewechselt werden.
Durch erneutes Ausführen der Tastenkombination kehrt man zurück.
Die Richtung der Stütze soll in Richtung der positiven Z-Achse verlaufen. Deswegen fungieren die Punkte auf der Z=5m Ebene als „endPoint“ und die der Z=0 Ebene als „startPoint“.
Um die Stützen zu erstellen, verknüpft man: „Line“ mit „curve“ , „Levels“ mit „level“ und „Column Types“ mit „structuralColumnType“.
Das Endergebnis kann jetzt in Revit überprüft werden.
Der aktuelle Zwischenstand erstellt die Stützen in das vorgegebene Raster. Eine weitere Automatisierungsoption besteht darin, die Stützen immer zwischen zwei ausgewählten Ebenen zu generieren. So bekommen die Linien intelligente Höhenkoordinaten und sind dadurch im Bezug zu den Ebenen performant. Dies wird nachfolgend genauer erklärt.
Zunächst findet das Laden folgender Blöcke statt:
Block für die Ebenenzuweisung.
2 x Block für das Herauslesen der Ebenenhöhe.
Jetzt können die erstellten Blöcke in das vorhandene Skript eingebunden werden. Erklärung:
Der neue „Level“ Block definiert immer die obere Begrenzung der Stütze und bekommt bspw. „Ebene 3“ zugewiesen. Beide Ebenenblöcke werden mit jeweils einem „Level.Elevation“ Block verbunden. So können die Höhenkoordinaten herausgelesen werden auf welchen sich die Ebenen befinden.
Der „Level.Elevation Höhe oben“ Block wird nun mit den obenliegenden Z-Koordinaten der Punkte verknüpft und „Level.Elevation Höhe unten“ mit den untenliegenden Z-Koordinaten der Punkte verbunden. Diese Koordinaten sind jetzt performant im Bezug zu den Ebenen.
Es ist außerdem zu sehen, dass der Code Block nicht mehr mit dem „z“-Anschluss verbunden ist. Eingänge können jeweils immer nur durch einen Draht verbunden werden. Wird ein Draht durch einen anderen überschrieben, löst sich die Verbindung automatisch. Es ist jedoch möglich mehrere Ausgänge für unterschiedliche Eingänge zu definieren (siehe Block „ Levels untere Ebene“). Der Code Block mit dem Wert 5 kann gelöscht werden.
Jetzt können zwei neue Ebenen ausgewählt werden, bspw. für die untere Ebene „Ebene -1“ und die obere Ebene „Ebene 3“.
Eine Überprüfung kann nun wieder in Revit erfolgen indem in eine Seitenansicht gewechselt wird.
Man erkennt, dass die Koordinatenzuweisung erfolgreich über die Ebenen implementiert wurde.
Wichtiger Hinweis!: Das Verschieben/Ändern der Ebenen in ihrer Höhe sollte vor dem ersten Erstellen der Stützen erfolgen. Es können Fehler auftreten wenn man die Stützen erstellt hat, und anschließend die Ebenen in ihrere Höhe ändert und erneut erstellen lassen will.
Zum Schluss wird das visuelle Programm in seiner Formatierung angepasst, damit es auch nach mehreren Monaten von Dritten bearbeitet und verstanden werden kann.
Zur übersichtlichen Gliederung der einzelnen Bereiche , wurde folgende Gruppierung ausgewählt:
Um eine anschauliche Struktur der Blöcke zu erzielen, kann man diese automatisch sortieren lassen. Dafür werden alle Blöcke markiert und durch Tastenkombination Crtl + L strukturiert.
Abschließend ist das Projekt zu speichern.
Das fertige Dynamoskript kann nach Bedarf hier heruntergeladen werden: Dynamoscript
Weiter zu Parameterüberschreibung