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

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

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

BIM and BEAM
Autodesk Blog zum Thema BIM im Ingenieurbau (E)

BIMagination
Autodesk Blog zum Thema Infrastruktur (E)

The official Revit Blog
Autodesk Blog zum Thema Revit (E)

RevitDE
Blog von Thomas Hehle rund um Ingenieurbau in Revit (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

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.

6 Comments

View by:
Most Recent Oldest
  1. Avatarroman.simek@simek.biz

    Diese Beiträge zu Dynamo sind für uns Anfänger sehr hilfreich. Da die ganze Planverwaltung im Revit integriert ist, überlege ich schon sehr lange, wie man mit Revit auch Lieferscheine verwalten könnte, ohne es ins Excel zu exportieren oder eine super teure Applikation zu kaufen. Ich habe überlegt unter Projektinfo verschieden Parameter zu definieren und hier die Daten zu speichern. Wissen Sie vielleicht einene besseren Weg?
    Simek

    1. Lejla SecerbegovicLejla Secerbegovic (Post author)

      Das freut mich zu hören, vielen Dank für das Feedback! Planlisten können gut mit Revit verwaltet werden – meinen Sie mit Lieferscheinen die Verwaltung von Planversionen und Freigaben? Die können gut über die eingebauten Funktionen verwaltet werden: https://knowledge.autodesk.com/de/support/revit-products/learn-explore/caas/CloudHelp/cloudhelp/2019/DEU/Revit-DocumentPresent/files/GUID-312CD63E-12FD-4CA7-A05B-CD7DADBAACA7-htm.html

      Falls Sie etwas anderes gemeint haben, schreiben Sie mir bittenoch ein paar Infos dazu!
      Viele Grüße, Lejla

  2. Avatarroman.simek@simek.biz

    Entschuldigung, ich habe mich nicht eindeutig ausgedruckt – unter Planlieferscheinen meine ich listen wo eingetragen ist, wann, an wen, welcher Planstand versendet wurde. Mit der Revisionsverwaltung kann nur verwalten an wen die einige Planänderung verschickt wurde. Wenn ein Plan mehrere Änderungen ausweist – z.B. Änderung, die Statik betrifft und andere die Haustechnik betrifft, und andere die nur architektonische Änderung ist (manchmal werden es bis zu 10-20 verschieden Änderungen), muss ich für jede einen Revisionseintrag machen, so dass die gut im Plan ersichtlich sind. Diese Änderungen werden nicht sofort veröffentlicht, da sonst unnötig viele Planstände produziert würden, sondern bekommen vor dem Veröffentlichen eine gleiche Rvisionsdatum. Wir müssen dann jedem damit betroffenem Plan manuell eine neue Planrevision (eigener Planparameter) mit Bezug zu diesem Veröffentlichungsdatum vergeben. Danach werden die Pläne veröffentlicht. Hier komm ich dazu, was unter Planlieferschein meine – für jede solche Veröffentlichung muss ich eine Liste der Pläne mit der jeweiligen Planrevision und allen Empfängern erstellen.
    Also ich muss beim Herstellen des Lieferscheines Empfänger (die sollte ich im Revit speichern können oder in eine externen Excelliste verwalten und mit Dynamo einlesen) und dazu die gewünschte Pläne auswählen und diesen Lieferschein sollte gespeichert bleiben (Revit listet immer nur die aktuelle Planstände). Sowas würde ci sehr gerne direkt im Revit verwalten – vielleicht mit Dynamo und wenn möglich mit so wenig wie möglich verknüpften Excel-Tabellen, so dass alles schön übersichtlich bleibt.
    Soviel zu meinem Traum…..
    mfG SImek

    1. Lejla SecerbegovicLejla Secerbegovic (Post author)

      Das klingt nach einem komplexen Workflow, der nicht so einfach komplett automatisiert werden kann – Dynamo kann aber sicherlich bei der Erstellung der Lieferscheine helfen, eventuell am besten mit dem Dynamo Player, den wir nächsten Dienstag vorstellen! In Dynamo können alle Pläne abgerufen, dann nach bestimmten Parametern gefiltert / sortiert und schließlich an Excel übergeben werden.
      Grundsätzlich wird allerdings dieses Thema im BIM Workflow nach der ISO 19650 eher mit einer Common Data Environment (wie z.B. BIM 360) und den gemeinsamen Ablagen / Freigabeprozessen gelöst, bei denen die Versionierung automatisch erfolgt und auch alle Änderungen sichtbar sind, ohne dass sie explizit markiert werden müssen.
      Viele Grüße, Lejla

  3. Pingback: Ebenen und Ansichten mit Dynamo generieren - BIM Blog

  4. Pingback: Wünsche der deutschsprachigen Revit Anwender // Mögliche Workarounds für 10 Wünsche aus den Top 25 - BIM Blog

'