twitter youtube facebook linkedin email
Connect with:

BIM Blog

Listen aus Dynamo mit Excel synchronisieren

In den letzten Beiträgen haben Sie gelernt, wie Sie Bauteile aus Revit und Ihre Eigenschaften abrufen, sowie anschließend diese Listen sortieren und filtern. Heute gehen wir einen Schritt weiter und sehen uns an, wie diese Listen mit Excel synchronisiert werden können. Dieser Anwendungsfall kann besonders interessant sein, wenn in Excel weitere Berechnungen und Auswertungen stattfinden oder Sie Kollegen haben, die bestimmte Daten wie z.B. Raumbelegung oder Schlüsselnummern von Türen/Räumen pflegen, aber keinen Zugriff auf Revit haben.

Um eine Türliste nach Excel zu exportieren, werden logischerweise zunächst die Türen und die Eigenschaften, die in der Liste auftauchen sollen, abgefragt. Es können an sich beliebig viele Eigenschaften sein – diese werden dann einfach mit der Node List.Create wieder in einer Liste für die weitere Bearbeitung gesammelt:

 

 

Die Nodes für die Excel Anbindung finden Sie standardmäßig in Dynamo unter Data:

Beide Nodes besitzen mehrere Inputs, die unter dem Mauszeiger weitere Infos und Tipps anzeigen:

ExportExcel:

  • filepath: Dateipfad der Microsoft Excel Tabelle (Diese muss vorher angelegt sein!)
  • sheetName: Name des Arbeitsblatts (String)
  • startRow: Erste Zeile durchnummeriert und beginnend mit 0 (Integer / Ganzzahl)
  • startColumn: Erste Spalte durchnummeriert und beginnend mit 0 (Integer / Ganzzahl) – Achtung in beiden Fällen: Dynamo kennt die Excel Bezeichnungen für Zeilen und Spalten nicht, sondern zählt diese einfach beginnend mit 0 durch
  • data: hier werden die Daten eingepflegt, die vorher mit list.Create gesammelt wurden
  • overWrite: optional, hier kann mit dem Boolean Schalter wahlweise entweder das gesamte Dokument / vorhandene Daten überschreiben werden (TRUE) oder nur gezielt die angegebenen Felder (FALSE). Die Standardvorgabe ist FALSE, dieser macht z.B. auch Sinn, wenn sie eine vorbereitete Excel Vorlage nutzen

ImportExcel:

  • file: die Datei (Microsoft Excel Tabelle) – Achtung, dieser Input unterscheidet sich etwas von dem bei der Exportfunktion, mehr dazu später in diesem Artikel
  • sheetName: Name des Arbeitsblatts (String)
  • readAsStrings: wieder mit dem Boolean Schalter zu steuern, erlaubt das Auslesen aller Werte als String = Zeichenfolge (TRUE) oder automatisch nach Inhalt Integer / Number / String etc. (FALSE, Vorgabewert)
  • showExcel: mit Boolean Schalter zu steuern, erlaubt das Einlesen im Hintergrund, ohne Excel aktiv zu öffnen (FALSE) bzw. das automatische Öffnen der Tabelle in Excel (TRUE, Vorgabe)

TIPP: Alle Inputs, die einen Vorgabewert besitzen (z.B. overWrite, showExcel) können, müssen aber keine Nodes als Eingabe besitzen. Alle anderen Inputs müssen zwingend verbunden werden! 

Um nun die Excel Tabelle zu exportieren, müssen alle Inputs wie folgt angegeben werden:

 

Das Feld Kommentare kann nun in Excel befüllt und nach Revit synchronisiert werden – natürlich können auch andere Parameter auf diesem Wege beschreiben werden, wichtig ist nur, dass der Parameter nicht schreibgeschützt ist (wie z.B. Fläche, Ebene) und dass der Datentyp richtig ist. Das Kommentarfeld z.B. ist ein Textfeld, daher können hier nur String Werte aus Dynamo eingelesen Werte; Parameter mit dem Datentyp Ganzzahl entsprechen Integer ist Dynamo, etc.

Bei der Node ImportExcel ist zu beachten, dass hier nicht der File Path sonder das File selbst verlangt wird – das ist eine Eigenart dieser Node, weswegen die Node File from Path dazwischengeschaltet werden muss:

Das Ergebnis liest hier die ganze Tabelle Zeile für Zeile aus, weswegen wir diese natürlich erstmal bereinigen müssen, da wir nur die Werte aus der Spalte Kommentare nach Revit zurück schreiben möchten:

Die so bereinigten Daten können nun einfach mit den bereits in den letzten Blogposts gelernten Methoden an die Türen geschreiben werden:

 

Die Listen in Dynamo bzw. in Excel dürfen nicht neu sortiert werden, da ansonsten die Zugehörigkeit der beiden Listen nicht gegeben ist! Falls eine Sortierung nötig ist, müssen entweder beide Listen sortiert werden, oder es muss zusätzlich mit der Revit IDs gearbeitet werden, die ebenfalls als eine separate Spalte nach Excel exportiert werden können. Aber dazu mehr in nächsten Blogbeiträgen!
Export und Import von Excel Dateien ist auch nur auf einem Rechner mit installiertem Excel möglich – ansonsten können die CSV Nodes genutzt werden.

Laden Sie hier das Skript herunter (erfordert Dynamo 2.x)

 

Thema nächsten Dienstag: Familien in Revit mit Hilfe von Dynamo platzieren
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)

Alle Blogbeiträge zum Thema Dynamo

Aktuelles Youtube Video

SUBSCRIBE

Für eine E-Mail Subscription bitte einfach auf den Briefumschlag klicken, E-Mail Adresse eintragen und über die Google Feedburner Nachricht bestätigen.

Weitere Blogs

Autodesk AEC Tech Drop
Aktuelles zu Autodesk AEC Produkten (E)

Revit-Dynamo-BIM
Ein Blog über Revit, Dynamo und Building Information Modeling von Oliver Langwich (D)

BIM-Plat
Blog von Michael Plat (D/E)

BIM me up!
Blog über Revit, Dynamo und openBIM Themen (D)

The Building Coder
Offizieller Blog von Jeremy Tammik rund um die Revit API (E)

The Revit Kid
Blog und Videotutorials rund um Revit und Dynamo (E)

Featured Links

Lejla Secerbegovic

Lejla ist Architektin und bezeichnet sich selbst gerne als digitale Enthusiastin. Nach dem Architekturstudium an der TU Wien mit Schwerpunkt Architekturinformatik und digitale Medien konnte sie in diversen Architekturbüros in Wien, Köln und Aachen Erfahrungen in allen Leistungsphasen sammeln. Aus dem Wunsch heraus, die BIM und die Digitalisierung im Bauwesen voranzutreiben, wechselte sie 2012 zu einem großen deutschen Bauunternehmen als Revit- und BIM-Expertin. Lejla arbeitet seit 2015 als Technische Spezialistin für BIM bei Autodesk in München und bloggt über Revit, openBIM, Dynamo, generatives Design und Virtual Reality, sowohl hier als auch auf ihrem privaten Blog bim-me-up.com.

'