Im Folgenden sind einige der häufiger in der Dynamo-Community verwendeten Pakete aufgeführt. Entwickler sind aufgefordert, diese Liste zu ergänzen. Denken Sie daran, dass es sich bei Dynamo Primer um ein Open-Source-Projekt handelt.
Beim Entwurfsprozess müssen häufig visuelle, systemrelevante oder geometrische Beziehungen zwischen den Teilen eines Entwurfs eingerichtet werden. In der Mehrzahl der Fälle werden bei der Entwicklung dieser Beziehungen Arbeitsabläufe verwendet, die mithilfe von Regeln vom Konzept zum Endergebnis führen. Dabei setzen Sie, vielleicht ohne es zu wissen, Algorithmen ein: Sie definieren in Einzelschritten nacheinander ablaufende Aktionen, die einer grundlegenden Logik aus Eingabe, Verarbeitung und Ausgabe folgen. Bei der Programmierung können Sie weiterhin auf diese Weise arbeiten, wobei die Algorithmen allerdings formalisiert werden müssen.
Algorithmen sind hocheffizient und bieten vielfältige Möglichkeiten; der Begriff Algorithmus kann jedoch missverstanden werden. Algorithmen generieren eventuell unerwartete, verrückte oder coole Ergebnisse, mit Zauberei haben sie jedoch nichts zu tun. Sie sind im Gegenteil an sich recht einfach. Dies wird hier an einem konkreten Beispiel erläutert: einem Origami-Kranich. Dabei beginnen Sie mit einem quadratischen Blatt Papier (Eingabe), führen eine Folge von Faltvorgängen aus (Verarbeitungsaktionen) und erhalten einen Kranich (Ausgabe).
Worin besteht hier der Algorithmus? Er ist die abstrakte Abfolge von Schritten, die Sie auf unterschiedliche Weise darstellen können: in Textform oder grafisch.
Textanweisungen:
Beginnen Sie mit einem quadratischen Blatt Papier, wobei die farbige Seite oben liegt. Falten Sie es auf die Hälfte und entfalten Sie es wieder. Falten Sie es anschließend in der anderen Richtung auf die Hälfte.
Wenden Sie das Papier auf die weiße Seite. Falten Sie das Papier auf die Hälfte, falzen Sie es scharf und entfalten Sie es wieder. Falten Sie es auf dieselbe Weise in die andere Richtung.
Führen Sie mithilfe der vorhandenen Falten die drei oberen Ecken des Modells nach unten auf die untere Ecke. Drücken Sie das Modell flach.
Falten Sie die oben liegenden dreieckigen Klappen zur Mitte und entfalten Sie sie wieder.
Falten Sie den oberen Teil des Modells nach unten, falzen Sie ihn scharf und entfalten Sie ihn wieder.
Öffnen Sie die zuoberst liegende Klappe des Modells, führen Sie sie nach oben und drücken Sie zugleich die Seiten des Modells nach innen. Drücken Sie das Modell flach und falzen Sie es scharf.
Drehen Sie das Modell um und wiederholen Sie die Schritte 4 bis 6 auf der Rückseite.
Falten Sie die oberen Klappen zur Mitte.
Wiederholen Sie dies auf der anderen Seite.
Falten Sie beide "Beine" des Modells nach oben, falzen Sie sie scharf und entfalten Sie sie.
Falten Sie mit inneren Gegenfalten die "Beine" entlang den neuen Falzlinien.
Formen Sie mit einer inneren Gegenfalte auf einer Seite den Kopf und falten Sie die Flügel nach unten.
Damit haben Sie einen Kranich gefaltet.
Grafische Anleitung:
Mit beiden Anleitungen erhalten Sie einen Kranich. Wenn Sie die Anweisungen ausgeführt haben, haben Sie damit einen Algorithmus angewendet. Der einzige Unterschied besteht in der Art und Weise, in der die formale Darstellung der Anweisungsfolge gelesen wird. Damit gelangen Sie zur Programmierung. Programmierung, häufig als Kurzform für Computerprogrammierung verwendet, ist die Formalisierung einer Reihe von Aktionen, sodass ein ausführbares Programm entsteht. Wenn Sie die oben stehenden Anweisungen zum Herstellen eines Kranichs in ein Format umwandeln, das ein Computer lesen und ausführen kann, programmieren Sie.
Der entscheidende Schritt und zugleich das erste Hindernis beim Programmieren besteht darin, dass eine effiziente Kommunikation mit dem Computer nur unter Zuhilfenahme von Abstraktion möglich ist. Hierfür kommt eine Vielzahl von Programmiersprachen zum Einsatz, etwa Javascript, Python oder C. Wenn Sie eine reproduzierbare Folge von Anweisungen wie diejenige für den Origami-Kranich verfassen können, muss diese lediglich für den Computer übersetzt werden. Sie ermöglichen dadurch letztlich die Herstellung eines Kranichs oder sogar vieler Kraniche, die sich geringfügig unterscheiden, durch den Computer. Darin liegt die große Stärke der Programmierung: Der Computer führt jede beliebige Aufgabe oder Folge von Aufgaben, die Sie ihm zuweisen, wiederholt ohne Verzögerungen und ohne menschliche Irrtümer aus.
Visuelle Programmierung – Definition
Laden Sie die Beispieldatei herunter, indem Sie auf den folgenden Link klicken.
Eine vollständige Liste der Beispieldateien finden Sie im Anhang.
Angenommen, Sie werden aufgefordert, Anweisungen zum Falten eines Origami-Kranichs zu verfassen: Wie würden Sie vorgehen? Würden Sie Abbildungen, Text oder eine Kombination aus beiden verwenden?
Wenn Sie in Ihrer Antwort Abbildungen nennen, ist die visuelle Programmierung definitiv für Sie geeignet. Die visuelle Programmierung folgt im Wesentlichen demselben Ablauf wie die Textprogrammierung. Beiden liegen dieselben Prinzipien der Formalisierung zugrunde. Die Anweisungen und Beziehungen des Programms werden jedoch über eine grafische ("visuelle") Benutzeroberfläche definiert. Sie geben keinen durch eine Syntax geregelten Text ein, sondern verbinden vordefinierte Blöcke miteinander. Vergleichen Sie hier die Programmierung desselben Algorithmus "Zeichne einen Kreis durch einen Punkt" in Form von Blöcken und als Code.
Visuelles Programm:
Textprogramm:
Die Ergebnisse des Algorithmus:
Das Visuelle an dieser Art der Programmierung erleichtert den Einstieg, und Designer fühlen sich häufig davon angesprochen. Dynamo folgt dem Muster der visuellen Programmierung. Sie können jedoch, wie später gezeigt wird, nach wie vor auch die Textprogrammierung in dieser Anwendung verwenden.
Dieses Wiki vermittelt Informationen zur Entwicklung mit der Dynamo-API sowie zu unterstützenden Bibliotheken und Werkzeugen.
Dieser Blog stellt die jeweils aktuelle Sammlung an Artikeln des Dynamo-Teams dar, das neue Funktionen, Arbeitsabläufe und andere Dinge in Bezug auf Dynamo diskutiert.
Programmiersprachen werden entwickelt, um Ideen auszudrücken, die normalerweise Logik und Berechnungen einschließen. In Ergänzung dazu wurde die textuelle Sprache von Dynamo (früher DesignScript) entwickelt, um Konstruktionsabsichten auszudrücken. Es ist allgemein anerkannt, dass die computergestützte Konstruktion eine Herausforderung darstellt, bei der Dynamo Unterstützung bietet: Wir hoffen, dass die Sprache für Sie flexibel und schnell genug ist, um eine Konstruktion von der Konzeption über Designiterationen bis hin zur endgültigen Form zu entwickeln. Dieses Handbuch ist so strukturiert, dass es Benutzern ohne Kenntnisse in der Programmierung oder architektonischen Geometrie eine breite Palette an Themen in diesen beiden sich überschneidenden Bereichen bietet.
Dynamo Primer ist ein Open-Source-Projekt, das von Matt Jezyk und dem Dynamo-Entwicklungsteam bei Autodesk initiiert wurde. Die erste Version des Primers wurde von Mode Lab entwickelt. Um zu diesem Projekt beizutragen, spalten Sie das Repository ab, fügen eigene Inhalte hinzu und reichen eine Pull-Anforderung ein.
Auf dieser Seite wird die Entwicklung eines benutzerdefinierten Dynamo-Blocks in C# mithilfe der Zerotouch-Oberfläche erläutert. In den meisten Fällen können statische C#-Methoden und -Klassen ohne Änderung importiert werden. Wenn die Bibliothek nur Funktionen aufrufen und keine neuen Objekte konstruieren muss, kann dies sehr einfach mit statischen Methoden erreicht werden. Wenn Dynamo Ihre DLL lädt, wird der Namensraum Ihrer Klassen entfernt, und es werden alle statischen Methoden als Blöcke bereitgestellt.
Python ist eine interpretierte, interaktive, objektorientierte Programmiersprache. Sie enthält Module, Exceptions, dynamische Typisierung, sehr hohe dynamische Datentypen und Klassen. Python kombiniert bemerkenswerte Stärke mit einer sehr klaren Syntax. Sie bietet Schnittstellen zu vielen Systemen und Bibliotheken sowie zu zahlreichen Windows-Systemen und ist auf C und C++ erweiterbar. Sie kann auch als Erweiterungssprache für Anwendungen verwendet werden, die eine programmierbare Benutzeroberfläche erfordern. Schließlich ist Python portierbar: Sie kann auf vielen UNIX-Varianten sowie auf Mac-Systemen und unter Windows 2000 und späteren Versionen ausgeführt werden. Das Einsteigerhandbuch zu Python bietet Links zu anderen einführenden Übungslektionen und Ressourcen zum Erlernen von Python.
AForge.NET ist ein C#-Open-Source-Framework, das für Entwickler und Forscher in den Bereichen Computer Vision und künstliche Intelligenz - Bildverarbeitung, neuronale Netze, genetische Algorithmen, Fuzzy-Logik, maschinelles Lernen, Robotik usw. - konzipiert ist.
MathWorld ist eine Online-Ressource zur Mathematik, die von Eric W. Weisstein mit Unterstützung von tausenden Beitragenden zusammengetragen wurde. MathWorld, dessen Inhalte zum ersten Mal 1995 online veröffentlicht wurden, hat sich zum Nexus für mathematische Informationen sowohl in der Mathematik- als auch in der Bildungs-Community entwickelt. Die Einträge in dieser Online-Ressource werden in hohem Maße in Fachzeitschriften und Büchern über alle Bildungsebenen zitiert.
Diese Beiträge, in denen es in erster Linie um die Revit-Plattform geht, enthalten Empfehlungen zur optimalen Nutzung.
Mit diesem Tagebuch wird versucht, das Problem einiger fehlender Ressourcen beim Erlernen und Anwenden der Revit-API im Kontext eines Konstruktionsablaufs zu beheben.
Die RevitPythonShell fügt einen IronPython-Interpreter zu Autodesk Revit und Vasari hinzu. Dieses Projekt wurde schon vor Dynamo gestartet und ist eine hervorragende Referenz für die Python-Entwicklung. RPS-Projekt:
https://github.com/architecture-building-systems/revitpythonshell
Entwickler-Blog:
Ein solider Katalog mit Revit-API-Arbeitsabläufen von einem der führenden BIM-Experten.
In diesem Abschnitt finden Sie Informationen zu zusätzlichen Ressourcen, die Sie dabei unterstützen, Ihre Arbeit mit Dynamo zu vertiefen. Sie finden hier auch einen Index wichtiger Blöcke, eine Sammlung nützlicher Pakete und ein Repository der in diesem Primer enthaltenen Beispieldateien. Sie können diesen Abschnitt gerne um weitere Informationen ergänzen, schließlich ist dieser eine Open-Source-Dokumentation.
archi-lab ist eine Sammlung mit über 50 benutzerdefinierten Paketen, die die Möglichkeiten zur Interaktion zwischen Dynamo und Revit erheblich erweitern. Die archi-lab-Pakete enthalten Blöcke mit höchst unterschiedlichen Funktionen von einfachen Listenoperationen bis hin zu Analysis Visualization Framework-Blöcken für Revit. archi-lab ist im Package Manager verfügbar.
BimorphNodes ist eine vielseitige Sammlung mit leistungsfähigen Versorgungsnetzwerk-Blöcken. Zu den wichtigsten Neuerungen des Pakets gehören die hoch effiziente Kollisionserkennung, Geometrieschnittpunkt-Blöcke, ImportInstance (CAD) zur Konvertierung von Kurven und Blöcken sowie Kollektoren für verknüpfte Elemente, die Einschränkungen in der Revit-API aufheben. Weitere Informationen über die gesamte Bandbreite an verfügbaren Blöcken finden Sie im Wörterbuch auf BimorphNodes. BimorphNodes ist im Package Manager verfügbar.
BumbleBee ist ein Interoperabilitäts-Plugin für Excel und Dynamo, das die Möglichkeiten von Dynamo zum Lesen und Schreiben von Excel-Dateien erheblich verbessert.
Clockwork ist eine Sammlung benutzerdefinierter Blöcke für die visuelle Programmierumgebung von Dynamo. Es enthält viele Revit-bezogene Blöcke, aber auch zahlreiche Blöcke für verschiedene andere Zwecke wie Listenverwaltung, mathematische Operationen, Zeichenkettenoperationen, Einheitenumrechnungen, geometrische Operationen (vor allem Rahmen, Netze, Ebenen, Punkte, Oberflächen, UVs und Vektoren) und Anwendungen.
DataShapes ist ein Paket zur Erweiterung der Benutzerfunktionen von Dynamo-Skripts. Der Schwerpunkt liegt dabei auf der Bereitstellung zusätzlicher Funktionen in Dynamo Player. Weitere Informationen finden Sie unter https://data-shapes.net/. Sie möchten beeindruckende Arbeitsabläufe für Dynamo Player erstellen? Verwenden Sie dieses Paket.
DynamoSAP ist eine parametrische Benutzeroberfläche für SAP2000, die auf Dynamo aufsetzt. Das Projekt versetzt Konstrukteure und Ingenieure in die Lage, strukturelle Systeme auf generative Weise in SAP zu entwickeln und zu analysieren, indem das SAP-Modell mit Dynamo betrieben wird. Das Projekt schreibt einige alltägliche Arbeitsabläufe vor, die in den eingeschlossenen Beispieldateien beschrieben sind, und bietet eine breite Palette an Möglichkeiten zur Automatisierung typischer Aufgaben in SAP.
Diese Bibliothek erweitert die Funktionalität von Dynamo/Revit, indem Benutzer in die Lage versetzt werden, Oberflächen und Poly-Oberflächengeometrie abzuwickeln. Mithilfe dieser Bibliothek können Benutzer Oberflächen zunächst in eine planare Tessellationstopologie überführen und sie dann mithilfe der Protogeometrie-Werkzeuge von Dynamo abwickeln. Dieses Paket beinhaltet zudem einige experimentelle Blöcke und einige grundlegende Beispieldateien.
Importieren Sie Vektorillustrationen aus Illustrator oder dem Internet mit .svg. Auf diese Weise können Sie manuell erstellte Zeichnungen für parametrische Operationen in Dynamo importieren.
Energy Analysis for Dynamo ermöglicht die parametrische Energiemodellierung und ganzheitliche Energieanalyseabläufe in Dynamo 0.8. Energy Analysis for Dynamo ermöglicht es dem Benutzer, ein Energiemodell in Autodesk Revit zu konfigurieren, es für die Green Building Studio for DOE2-Energieanalyse einzureichen und die von der Analyse zurückgegebenen Ergebnisse weiterzuverarbeiten. Das Paket wird in Studio CORE von Thornton Tomasetti entwickelt.
Firefly ist eine Sammlung von Blöcken, die es Dynamo ermöglichen mit Eingabe-/Ausgabegeräten wie dem Arduino Micro Controller zu kommunizieren. Da der Datenfluss "live" erfolgt, eröffnet Firefly viele Möglichkeiten für interaktives Prototyping zwischen digitalen und physischen Welten über Webcams, Mobiltelefone, Gamecontroller, Sensoren und vielem mehr.
Genius Loci ist eine Zusammenstellung von Blöcken für Dynamo. Diese enthält nützliche Blöcke, von denen Revit-Benutzer profitieren können. Installieren Sie das Paket, um sich mit einigen der Funktionen vertraut zu machen, z. B. mit der einfachen Interaktion mit verknüpften Dateien und Revit-Dokumenten.
Mantis Shrimp ist ein Interoperabilitätsprojekt, das Ihnen den problemlosen Import von Grasshopper- und/oder Rhino-Geometrie in Dynamo ermöglicht.
Das Dynamo Mesh Toolkit enthält viele nützliche Werkzeuge für die Arbeit mit Netzgeometrie. Zu den Funktionen dieses Pakets gehören die Möglichkeiten zum Importieren von Netzen mit externen Dateiformaten, zum Erstellen von Netzen aus bereits vorhandenen Dynamo-Geometrieobjekten und zum manuellen Erstellen von Netzen aus Scheitelpunkten und Verbindungsinformationen. Darüber hinaus enthält dieses Toolkit Werkzeuge zum Ändern und Reparieren von Netzgeometrie.
🧐 MONOCLE
Monocle ist eine View Extension für Dynamo 2.0.x. Monocle enthält eine Reihe nützlicher Werkzeuge für die Paketerkennung, Diagrammbereinigung und vieles mehr. Monocle möchte Funktionen so nahtlos zur Dynamo-Benutzeroberfläche hinzufügen, dass Sie sich fragen werden: "Ist das in Dynamo integriert?" Monocle ist im Package Manager verfügbar.
Optimo bietet Dynamo-Benutzern die Möglichkeit, selbstdefinierte Konstruktionsprobleme mithilfe verschiedener evolutionärer Algorithmen zu optimieren. Die Benutzer können die Ziele eines Problems sowie spezielle Eignungsfunktionen definieren.
Die Rhynamo-Blockbibliothek bietet Benutzern die Möglichkeit, Rhino 3DM-Dateien in Dynamo einzulesen und zu bearbeiten. Rhynamo übersetzt Rhino-Geometrie mithilfe der OpenNURBS-Bibliothek von McNeel in Geometrie, die in Dynamo verwendbar ist, und ermöglicht dadurch neue Arbeitsabläufe, mit denen Geometrie und Daten fließend zwischen Rhino und Revit ausgetauscht werden können. Dieses Paket enthält auch einige experimentelle Blöcke, die den "Live"-Zugriff auf die Rhino-Befehlszeile ermöglichen.
Rhythm ist eine Sammlung nützlicher Blöcke, die Sie bei der Verwendung von Dynamo in Ihrem Revit-Projekt unterstützen. Im Prinzip funktioniert es ziemlich gut. Rhythm ist ein Open Source-Tool, das in erster Linie in C# entwickelt wurde, und fügt Revit-Blöcke, Core-Blöcke und eine Ansichtserweiterung zu Dynamo hinzu. Rhythm ist im Package Manager verfügbar.
Der Schwerpunkt von Spring Nodes liegt auf der Verbesserung der Interaktion von Dynamo mit Revit. Das weiter gefasste Ziel besteht darin, alle Möglichkeiten zu erkunden, die BIM-orientierte Arbeitsabläufe beschleunigen können. Viele der Blöcke verwenden entweder IronPython oder DesignScript und sind ein guter Ausgangspunkt, um die spezifische Syntax und feinere Details von beidem zu erlernen. Spring Nodes ist im Package Manager verfügbar.
ARCHI-LAB
BIMORPH-BLÖCKE
BUMBLEBEE FOR DYNAMO
CLOCKWORK FOR DYNAMO
DATA|SHAPES
DYNAMO SAP
DYNAMO UNFOLD
DYNASTRATOR
ENERGY ANALYSIS FOR DYNAMO
FIREFLY FOR DYNAMO
GENIUS LOCI
MANTIS SHRIMP
MESH TOOLKIT
OPTIMO
RHYNAMO
RHYTHM
Spring Nodes