15. April 2016 AEC/BIM
Autodesk Dynamo bietet dem Anwender nicht nur die Möglichkeit eigene Blöcke zu erstellen, sondern auch deren Aussehen frei zu definieren. Der folgende Blogbeitrag zeigt Ihnen, wie es geht.
Dynamo ist ein Open Source Projekt, d. h. dass der Quellcode für jeden zugänglich ist und bei Bedarf angepasst und erweitert werden kann. Wenn Sie Blöcke mit eigenen Steuerelementen definieren wollen, können Sie dies mit einer C#-Programmierung tun.
Im Dynamo Repository auf github.com liegt der Quellcode von Dynamo offen. Schnittstellen und Klassen wie z. B. INodeViewCustumisation, NodeModel geben Funktionen vor, die jederzeit in eigenen Klassen durch Hinzufügen von Verweisen verwendet bzw. angepasst werden können.
Das folgende Beispiel entstand auf Anfrage eines Kunden.
Es bestand die Anforderung einen Dynamoblock zu entwickeln, der eine Auswahl von Eingabetexten bereitstellt. Die Texte sollten in einer Auswahlliste selektierbar sein. Die feste Vorgabe von Texten hat den Vorteil, dass bei standardisierten Eingaben Tippfehler vermieden werden und die vorgegebenen Werte besser ausgewertet werden können.
In Dynamo gibt es bereits Klassen, die Auswahlfelder bereitstellen und als Grundlage für eigene Anpassungen verwendet werden können. Diese können durch das Einbinden von Verweisen dem eigenen Visual Studio Projekt hinzugefügt werden. Folgende Dynamo-Assemblies sind zur Realisierung einer Auswahlliste einzubinden:
Durch eine Überschreibung der Methoden der Klassen DropDownNodeViewCustomization und DSDropDownBase mittels „override“ kann auf einfache Art und Weise ein eigener Knoten mit einem Auswahlfeld implementiert werden.
Im Idealfall entspricht die Anpassung des Layouts bereits Ihren Vorstellungen, dann würde die Anpassung der Klasse DropDownNodeViewCustomization etwa so aussehen:
Die Klasse DSDrowDownBase muss innerhalb der Methoden PopulateItems() und BuildOutputAst() angepasst werden.
Innerhalb der Methode PopulateItems() müssen Sie beschreiben, wie Ihr Dropdown-Menü zu füllen ist. Die Methode BuildOutputAst() beschreibt, wie Ihre Input-Werte zu Output-Werten zu wandeln sind. Eine Anpassung könnte in etwa so aussehen:
Über der erstellten Klasse stehen in eckigen Klammern Attribute, die von Dynamo genutzt werden, um beispielsweise die Kategorie, den Blocknamen oder auch Tooltips zu erstellen.
Der hier gezeigte Block sieht vor, dass die Auswahlfeldeinträge direkt im Quellcode beschrieben werden. Um den hier gezeigten Block flexibler einsetzen zu können, habe ich einen weiteren Block programmiert, der eine Text-Datei einliest und für jede Zeile einen Auswahlfeldeintrag generiert.
Die hier gezeigten Knoten sowie den Quelltext können Sie über das Formular herunterladen.Sie sind nach dem Kopieren in den „nodes“ -Ordner unter der Kategorie „NuP_Blocks“ in Dynamo verfügbar. |
Sie möchten mehr zum Thema Dynamo oder allgemein zur Programmierung erfahren. Wir haben ein weites Spektrum an Programmierschulungsthemen und können Ihnen gern beibringen, wie Sie Dynamo nutzen oder auch Dynamo bzw. Revit mit eigenen Zusatz-Programmierungen erweitern können. Sprechen Sie uns diesbezüglich doch einfach an.
Weitere Informationen zum Thema finden Sie unter:
Nach dem Beitrag "Koordinatensysteme in AutoCAD Map 3D & Autodesk Civil 3D" widmen wir uns in diesem letzten Beitrag dieser Serie den Koordinatensystemen in Autodesk InfraWorks, ReCap Pro & Re-Cap Photo.
Wenn Sie Datenbestände (Geodaten), die in diversen Raster- und Vektorformaten (TIF, JPG, BMP, ECW, PNG, DWG, DXF, TXT, WMS, WFS, SDF oder SHP usw.) vorliegen können, in das neue amtliche Koordinatensystem überführen müssen (oder umgekehrt), stehen Ihnen in den Autodesk-Produkten Funktionen für die Transformation dieser Daten zur Verfügung. Dieser Beitrag betrachtet die Koordinatensysteme in AutoCAD Map 3D und Autodesk Civil 3D.
Kurz vor Jahresende hat Autodesk für Civil 3D, InfraWorks und ReCap® jeweils ein Update veröffentlicht. Die neuen Versionen sollen den Anwendern ein effizienteres Arbeiten ermöglichen, standardisierte Best Practices automatisieren sowie mehr Flexibilität bei der Modellierung von benutzerdefinierten Komponenten und Datenimporttypen bieten. Wir stellen Ihnen die neuesten Funktionen vor.
Schreibe einen Kommentar