Table of Contents
Dynamo und seine Rolle bei der Revit Automation verstehen
Dynamo ist eine visuelle Programmierumgebung, die sich nativ in Autodesk Revit integrieren lässt. Es ermöglicht Benutzern, benutzerdefinierte Logik über eine knotenbasierte Schnittstelle zu erstellen, wodurch die Notwendigkeit herkömmlicher Codierungen entfällt und gleichzeitig die volle Leistungsfähigkeit der Revit-API freigeschaltet wird. Wenn es darum geht, Parameter über Hunderte oder Tausende von Elementen zu aktualisieren, verwandelt Dynamo einen mühsamen manuellen Prozess in eine Ein-Klick-Operation. Durch die Nutzung von Dynamo können Architekten, Statiker und MEP-Designer Designstandards durchsetzen, Änderungen sofort verbreiten und die Fehler eliminieren, die sich unweigerlich bei der manuellen Dateneingabe einschleichen.
Das Tool ermöglicht es Ihnen, Knoten miteinander zu verketten, die Dateneingaben, Operationen und Ausgaben repräsentieren. Jeder Knoten erfüllt eine bestimmte Funktion: Elemente auswählen, Parameter lesen, Berechnungen durchführen oder Werte zurück in das Modell schreiben. Die Verbindungen zwischen Knoten definieren den Datenfluss. Dieser visuelle Ansatz macht Automatisierung auch für Teammitglieder zugänglich, die keinen Programmierhintergrund haben. Als Ergebnis ist Dynamo eine wesentliche Fähigkeit für jeden BIM-Experten geworden, der wiederholte Parameteraktualisierungen optimieren möchte.
Dieser Artikel führt Sie durch den gesamten Prozess der Verwendung von Dynamo für automatisierte Parameteraktualisierungen, von der Ersteinrichtung bis hin zu fortschrittlichen Techniken. Ob Sie nun Raumpläne, Materialabflugparameter oder Familieninstanzeigenschaften aktualisieren, Sie werden lernen, wie Sie robuste, wiederverwendbare Skripte erstellen, die Stunden Arbeit sparen.
Erste Schritte: Dynamo für die Parameterautomatisierung einrichten
Installieren und Starten von Dynamo
Bevor Sie mit der Automatisierung von Parameteraktualisierungen beginnen können, müssen Sie die richtige Version von Dynamo installiert haben. Die meisten modernen Versionen von Revit (2019 und höher) enthalten Dynamo als integrierte Komponente. Um dies zu überprüfen, navigieren Sie zur Registerkarte Manage und suchen Sie nach der Schaltfläche Dynamo. Wenn Sie es nicht sehen, müssen Sie möglicherweise die neueste stabile Version von der Dynamo Builds-Seite herunterladen.
Wenn Sie auf die Schaltfläche Dynamo klicken, öffnet sich ein neuer Arbeitsbereich. Die Schnittstelle besteht aus einem Bibliotheksfeld auf der linken Seite (das alle verfügbaren Knoten enthält), einer zentralen Canvas, auf der Sie Ihr Skript erstellen, und einer Symbolleiste zum Ausführen, Speichern und Verwalten Ihrer Arbeit. Für Parameteraktualisierungen arbeiten Sie hauptsächlich mit Knoten aus der Kategorie Revit (insbesondere unter Elements und Parameter) sowie Data-Knoten zum Manipulieren von Werten.
Die Revit Node Library
Dynamos Knotenbibliothek ist hierarchisch organisiert. Zu den wichtigsten Kategorien für die Parameterautomatisierung gehören:
- Auswahl: Nodes like , , and let you define which elements to modification.
- Element: Nodes wie und sind die Kernwerkzeuge zum Lesen und Schreiben von Parametern.
- Data: Nodes für Zahlen, Strings, Listen und Konditionale helfen Ihnen, dynamische Eingabewerte zu erstellen.
- Math/Logic: Operatoren, Formeln und Vergleichsknoten ermöglichen es Ihnen, neue Parameterwerte basierend auf vorhandenen Daten zu berechnen.
Die Bequemlichkeit mit diesen Knoten ist der erste Schritt zum Erstellen effektiver Automatisierungsskripte. Sie können nach Knoten suchen, indem Sie Schlüsselwörter in die Bibliothekssuchleiste eingeben.
Erstellen eines Parameter-Update-Scripts: Schritt-für-Schritt
Lassen Sie uns ein praktisches Skript erstellen, das den Parameter Kommentar aller Türen im aktuellen Revit-Modell aktualisiert. Das Ziel ist es, das Feld Kommentare auf die Markierungsnummer der Tür zu setzen. Dies ist eine häufige Anforderung für die Erstellung von Zeitplänen.
Schritt 1: Wählen Sie die Zielelemente aus
Fügen Sie auf der Dynamo-Leinwand einen Knoten für (unter Revit > Selection gefunden) hinzu. Klicken Sie auf die Dropdown-Kategorie und wählen Sie Doors aus. Dieser Knoten gibt eine Liste aller Türinstanzen im aktiven Dokument aus.
Schritt 2: Lesen Sie vorhandene Parameterdaten
Fügen Sie einen Knoten namens aus der Kategorie Revit > Element hinzu. Verbinden Sie den Ausgang des Kategorieauswahlknotens mit dem -Eingang dieses Knotens. Geben Sie für den -Eingang die Zeichenfolge "Mark" ein (genaue Schreibweise, case-sensitive). Dieser Knoten extrahiert den Mark-Wert für jede Tür.
Schritt 3: Schreiben Sie den neuen Parameterwert
Fügen Sie einen Knoten namens (Revit > Element) hinzu. Verbinden Sie die ursprüngliche Liste der Türelemente (Ausgabe aus Schritt 1) mit dem -Eingang. Verbinden Sie die Liste der Mark-Werte (Ausgabe aus Schritt 2) mit dem -Eingang. Geben Sie für den -Eingang "Kommentare" ein. Dies weist Dynamo an, die Mark-Nummer jeder Tür dem Feld Kommentare zuzuweisen.
Schritt 4: Führen Sie das Skript aus
Wenn Sie rote Warnsymbole sehen, überprüfen Sie, ob die Parameternamen korrekt sind und dass die Elementkategorie im Modell vorhanden ist. Sobald Sie zufrieden sind, klicken Sie auf die Schaltfläche Run in der Symbolleiste. Dynamo aktualisiert sofort alle Türkommentare Parameter.
Schritt 5: Verifizieren Sie die Ergebnisse
Zurück zu Revit und überprüfen Sie die Eigenschaften einer beliebigen Tür. Das Feld Kommentare sollte nun die Markierungsnummer der Tür enthalten. Sie können auch einen Zeitplan erstellen, um zu bestätigen, dass die Automatisierung während des gesamten Projekts funktioniert hat.
Fortgeschrittene Techniken: Konditionale, Schleifen und Datentypen
Das obige grundlegende Skript funktioniert gut für einfache Einzel-Updates, aber reale Projekte erfordern oft eine ausgefeiltere Logik.
Verwendung von bedingten Anweisungen
Manchmal möchten Sie nur Parameter für Elemente aktualisieren, die bestimmte Kriterien erfüllen. z. B. möchten Sie den Parameter Feuerbewertung von Türen nur festlegen, wenn ihre Breite größer als 900 mm ist.
- Beginnen Sie mit dem Lesen des Parameters Width] jeder Tür mit .
- Verwenden Sie einen Code Block Knoten mit einer Bedingung wie , der eine Liste von Booleans ausgibt.
- Fügen Sie einen Knoten hinzu. Verbinden Sie die Türliste mit dem Eingang und die boolesche Liste mit dem Eingang. Der Ausgang enthält nur Türen, die die Bedingung erfüllen.
- Wenden Sie dann die Parameteraktualisierung nur auf diese gefilterte Liste an.
Looping durch komplexe Daten
Dynamo verarbeitet automatisch Schleifen, wenn Sie Listen mit Knoteneingängen verbinden. Aber manchmal müssen Sie über verschachtelte Daten iterieren, wie z. B. die Aktualisierung von Parametern für alle Stockwerke in einem mehrstöckigen Gebäude, in dem jede Etage einen anderen Satz von Räumen hat. Der -Knoten ermöglicht es Ihnen, eine Funktion auf jede Unterliste anzuwenden. Zum Beispiel können Sie einen benutzerdefinierten Knoten erstellen (oder Python-Skriptknoten verwenden), um eine bestimmte Parameteraktualisierung pro Etage durchzuführen.
Umgang mit verschiedenen Datentypen
Parameter in Revit können Text, Zahlen, Ganzzahlen, Längen, Flächen, Volumen oder Ja/Nein-Werte sein. Dynamo-Knoten konvertieren automatisch gängige Typen, aber Sie müssen bei Einheiten vorsichtig sein. Für Längenparameter müssen Sie Werte in internen Revit-Einheiten (Füße) angeben. Eine häufige Falle ist der Versuch, einen Längenparameter mit einer einfachen Zahl wie 1.0 festzulegen, wobei erwartet wird, dass er 1 Meter beträgt - stattdessen wird er 1 Fuß. Verwenden Sie den Knoten oder setzen Sie Einheiten explizit, indem Sie eine Kombination von und Knoten verwenden. Für Ja/Nein-Parameter verwenden Sie boolesche true/false-Werte.
Verwenden von Python Script Nodes für komplexe Logik
Wenn die visuelle Knotenschnittstelle für erweiterte Parametermanipulationen zu umständlich wird, können Sie einen Python-Script-Knoten einfügen. Dies gibt Ihnen vollen Zugriff auf die Revit-API. Zum Beispiel können Sie ein Python-Skript schreiben, das das Begrenzungsfeld einer Familieninstanz liest und seinen Parameter ]Elevation basierend auf seiner Höhe über der Basisebene aktualisiert. Python-Knoten ermöglichen es Ihnen auch, Fehlerbehandlung und benutzerdefinierte Schleifen zu implementieren, die die Standardfähigkeiten von Dynamo überschreiten. Die Revit-API-Dokumentation ist eine wertvolle Referenz beim Erstellen von Python-Skripten.
Praktische Beispiele für automatisierte Parameter-Updates
Beispiel 1: Aktualisieren von Raumparametern aus einer Excel-Tabelle
Viele Firmen pflegen Raumdaten in Excel. Dynamo kann diese Daten lesen und Revit-Raumparameter automatisch aktualisieren. Verwenden Sie den Knoten Data.ImportExcel (erfordert Data-Shapes-Paket), um eine Tabelle zu lesen. Dann passen Sie Zeilen mit einem Schlüsselparameter wie Number ab. Verwenden Sie auf dem entsprechenden Raumelement, um Felder wie Name, Occupancy oder Department zu aktualisieren. Dadurch wird sichergestellt, dass das Revit-Modell immer die neuesten Programmdaten widerspiegelt.
Beispiel 2: Aktualisierungen der Materialabflugparameter
In Strukturmodellen müssen Sie möglicherweise den Parameter Material für Stahlträger auf der Grundlage ihrer Größe festlegen. Erstellen Sie ein Skript, das den Parameter Type Mark jedes Strahls liest, das entsprechende Material aus einem Wörterbuch nachschlägt (mit Codeblock oder Listenzuordnung), und aktualisiert dann den Parameter Strukturmaterial. Diese Art von Automatisierung ist besonders wertvoll, wenn zwischen verschiedenen Designstandards oder Materiallieferanten gewechselt wird.
Beispiel 3: Aktualisierungen von Parametern für den Familieninstanztyp
Manchmal müssen Sie Typparameter ändern (die über alle Instanzen eines Familientyps hinweg geteilt werden) anstatt Instanzparameter. Dynamo kann dies handhaben, indem zuerst die Familientypen mit Knoten wie ausgewählt werden. Dann verwenden Sie mit dem Typparameternamen. Zum Beispiel könnten Sie den Width Typparameter aller “Desk-1200”-Familientypen auf 1500 mm aktualisieren. Da dies alle Instanzen dieses Typs betrifft, breitet sich die Änderung sofort im gesamten Modell aus.
Best Practices für zuverlässige Parameterautomatisierung
Um sicherzustellen, dass Ihre Dynamo-Skripte reibungslos laufen und korrekte Ergebnisse liefern, befolgen Sie diese Richtlinien:
- Testen Sie auf einer Kopie: Führen Sie immer zuerst ein neues Skript auf einem doppelten oder isolierten Teil des Modells aus.
- Verwenden Sie explizite Parameternamen: Parameternamen sind case-sensitive und müssen genau mit dem übereinstimmen, was in den Revit-Typeigenschaften angezeigt wird. Verwenden Sie den Element.GetParameterValueByName Knoten mit einer fest codierten Zeichenfolge, um die Namensfunktion vor dem Schreiben zu überprüfen.
- Gruppenknoten logisch: Verwenden Sie Group (Strg+G), um Ihr Skript in Regionen zu organisieren: Auswahl, Eingabedaten, Logik und Ausgabe.
- Hinzufügen: Klicken Sie mit der rechten Maustaste auf die Leinwand, um Notizen hinzuzufügen, die jeden Abschnitt erklären. Dies ist von unschätzbarem Wert, wenn Sie Monate später ein Skript erneut aufrufen oder es mit Kollegen teilen.
- Speichern Sie als benutzerdefinierten Knoten: Wenn Sie das gleiche Parameteraktualisierungsmuster wiederholen, erstellen Sie einen benutzerdefinierten Knoten (File > New Custom Node).
- Verwende anmutig Fehler: Verwenden Sie Knoten wie und schauen Sie sich Vorschau auf Nulleinträge an.
Vorteile der Automatisierung von Parameteraktualisierungen mit Dynamo
Die Vorteile dieses Ansatzes gehen über die einfache Zeitersparnis hinaus. Hier sind die wichtigsten Vorteile, die Sie erwarten können, wenn Sie Dynamo in Ihren Revit-Workflow integrieren:
- Konsistenz: Automatisierte Updates wenden die gleiche Logik auf jedes Element an und eliminieren die Variabilität, die mit der manuellen Dateneingabe einhergeht.
- Geschwindigkeit: Was Stunden des Klickens durch Eigenschaften erfordert, kann in Sekunden erledigt werden. Ein Skript, das 5000 Türparameter aktualisiert, läuft in weniger als einer Minute.
- Skalierbarkeit: Mit zunehmender Größe der Modelle werden manuelle Updates immer unpraktischer. Dynamo-Skripte behandeln beliebig viele Elemente ohne Leistungseinbußen.
- Reversibilität: Wenn Sie ein Skript ausführen, können Sie die Änderungen (Strg+Z) in Revit leicht rückgängig machen, vorausgesetzt, Sie haben das Modell nicht geschlossen.
- Auditability: Ein gespeichertes Dynamo-Skript wird zu einer Aufzeichnung dessen, welche Änderungen vorgenommen wurden und warum. Dies ist nützlich für die Qualitätssicherung und für die Ausbildung neuer Teammitglieder.
- Integration mit externen Daten: Dynamo kann aus Excel, CSV, Datenbanken und sogar Web-APIs lesen. Dies ermöglicht es Ihnen, Live-Daten in Ihre Revit-Parameter zu schieben und das Modell immer auf dem neuesten Stand zu halten.
Fazit: Verwandeln Sie Ihren Revit Workflow in einen Wettbewerbsvorteil
Die anfängliche Investition in das Erlernen der Knotenschnittstelle und der grundlegenden Logik zahlt sich um ein Vielfaches aus, insbesondere bei Großprojekten, bei denen parametrische Konsistenz im Vordergrund steht. Indem Sie dem hier beschriebenen Schritt-für-Schritt-Ansatz folgen und schrittweise bedingte Logik, Python-Scripting und externe Datenquellen integrieren, können Sie die Plackerei der manuellen Parametermanipulation eliminieren.
Denken Sie daran, klein anzufangen: Automatisieren Sie einen Parameter in einer Kategorie, und erweitern Sie dann. Speichern Sie Ihre Skripte als benutzerdefinierte Knoten und erstellen Sie eine persönliche Bibliothek mit Automatisierungstools. Teilen Sie sie mit Ihrem Team und fördern Sie eine Kultur der kontinuierlichen Verbesserung. Die Zukunft der Revit-Arbeit ist automatisiert und Dynamo ist der Schlüssel, der diese Zukunft freischaltet.
Zum weiteren Lernen erkundest du den offiziellen Dynamo-Primer und die umfangreiche Bibliothek mit Beispielskripten, die auf den Dynamo-Knoten verfügbar sind.