Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Straßen, Schienen, Land, Versorgungseinrichtungen, Vermessung, GIS...
All das und noch viel mehr umfasst der Tief- und Infrastrukturbau! Dieser Abschnitt enthält mehrere praktische und relevante Beispieldiagramme, die Ihnen helfen, Dynamo noch besser zu nutzen und das volle Potenzial von Dynamo for Civil 3D auszuschöpfen. Jedes Diagramm wird mit detaillierten Beschreibungen der Logik ausgeliefert, die zur Erstellung des Diagramms verwendet wurde, sodass Sie es nicht nur verwenden, sondern auch verstehen können.
Darüber hinaus sind in diesen Beispielen bewährte Best Practices für die Erstellung aussagekräftiger Diagramme enthalten. Während Sie die Beispiele durcharbeiten, sollten Sie sich auch mit dem Abschnitt Optimale Verfahren vertraut machen, der weitere Ideen zum Erstellen leistungsstarker, flexibler und langlebiger Diagramme enthält.
Beim technischen Entwurf eines typischen Wohngebäudes werden verschiedene unterirdische Versorgungssysteme wie Abwasserkanäle, Regenwasserabläufe, Trinkwasser usw. geplant. In diesem Beispiel wird gezeigt, wie Sie mit Dynamo die Hausanschlüsse von einer Hauptverteilung zu einem bestimmten Grundstück (d. h. einer Parzelle) zeichnen können. Für jedes Grundstück ist ein Hausanschluss erforderlich, was die Positionierung der gesamten Anschlüsse sehr mühsam macht. Dynamo kann den Prozess beschleunigen, indem die erforderliche Geometrie automatisch präzise gezeichnet wird und flexible Eingaben bereitgestellt werden, die an lokale behördliche Standards angepasst werden können.
Verwenden des Blocks Select Objects für Benutzereingaben
Arbeiten mit Koordinatensystemen
Verwenden von geometrischen Operationen wie Geometry.DistanceTo und Geometry.ClosestPointTo
Erstellen von Blockreferenzen
Steuern der Einstellungen für Objektbindung
Dieses Diagramm wird in Civil 3D 2020 und höher ausgeführt.
Laden Sie zunächst die folgenden Beispieldateien herunter, und öffnen Sie dann die DWG-Datei und das Dynamo-Diagramm.
Hier sehen Sie einen Überblick über die Logik in diesem Diagramm.
Ruft die Kurvengeometrie für die Hauptverteilung ab.
Ruft die Kurvengeometrie für eine vom Benutzer ausgewählte Parzellenlinie ab und kehrt sie bei Bedarf um
Generiert Einfügepunkte für die Hausanschlusszähler
Ruft die Punkte auf der Hauptverteilung ab, die den Zählerpositionen am nächsten sind
Erstellt Blockreferenzen und Linien im Modellbereich
Los gehts!
Der erste Schritt besteht darin, die Geometrie für die Hauptverteilung in Dynamo zu übernehmen. Anstatt einzelne Linien oder Polylinien auszuwählen, rufen wir stattdessen alle Objekte auf einem bestimmten Layer ab und führen sie als Dynamo-PolyCurve zusammen.
Wenn die Kurvengeometrie in Dynamo neu für Sie ist, finden Sie im Abschnitt Kurven weitere Informationen.
Als Nächstes müssen wir die Geometrie für eine ausgewählte Parzellenlinie in Dynamo importieren, damit wir mit ihr arbeiten können. Das richtige Werkzeug dafür ist der Block Select Object, mit dem der Benutzer des Diagramms ein bestimmtes Objekt in Civil 3D auswählen kann.
An dieser Stelle tritt möglicherweise ein Problem auf, um das wir uns kümmern müssen. Die Parzellenlinie hat einen Start- und einen Endpunkt, d. h., sie hat eine Richtung. Damit das Diagramm konsistente Ergebnisse erzeugt, müssen alle Parzellenlinien eine konsistente Richtung aufweisen. Wir können diese Bedingung direkt in der Diagrammlogik berücksichtigen, wodurch das Diagramm zuverlässiger wird.
Rufen Sie die Start- und Endpunkte der Parzellenlinie ab.
Messen Sie den Abstand von jedem Punkt zur Hauptverteilung, und ermitteln Sie dann, welcher Abstand größer ist.
Das gewünschte Ergebnis ist, dass der Startpunkt der Linie der Hauptverteilung am nächsten ist. Wenn dies nicht der Fall ist, kehren wir die Richtung der Parzellenlinie um. Andernfalls geben wir einfach die ursprüngliche Parzellenlinie zurück.
Jetzt überlegen wir, wo die Zähler platziert werden sollen. In der Regel wird die Platzierung durch die Anforderungen der lokalen Behörden bestimmt, daher geben wir einfach Eingabewerte an, die geändert werden können, um verschiedenen Bedingungen zu entsprechen. Wir verwenden ein Koordinatensystem entlang der Parzellenlinie als Referenz für die Erstellung der Punkte. Dadurch können Sie Versätze relativ zur Parzellenlinie ganz einfach definieren, unabhängig von der Ausrichtung.
Wenn Koordinatensysteme neu für Sie sind, finden Sie im Abschnitt Vektor, Ebene und Koordinatensystem weitere Informationen.
Jetzt müssen wir Punkte auf der Hauptverteilung abrufen, die den Zählerpositionen am nächsten sind. Dadurch können wir die Hausanschlüsse im Modellbereich so zeichnen, dass sie immer lotrecht zur Hauptverteilung sind. Dafür eignet sich der Block Geometry.ClosestPointTo.
Dies ist die Hauptverteilungs-PolyCurve.
Dies sind die Zählereinfügepunkte.
Der letzte Schritt besteht darin, Objekte im Modellbereich zu erstellen. Wir verwenden die zuvor generierten Einfügepunkte, um Blockreferenzen zu erstellen, und dann die Punkte auf der Hauptverteilung, um Linien zu den Hausanschlüssen zu zeichnen.
Wenn Sie das Diagramm ausführen, sollten neue Blockreferenzen und Hausanschlusslinien im Modellbereich angezeigt werden. Ändern Sie einige der Eingaben, und beobachten Sie, wie alles automatisch aktualisiert wird.
Sie werden feststellen, dass nach dem Platzieren der Objekte für eine Parzellenlinie die Objekte bei Auswahl einer anderen Parzellenlinie "verschoben" werden.
Dies ist das Vorgabeverhalten von Dynamo und in vielen Fällen sehr nützlich. Möglicherweise möchten Sie jedoch mehrere Hausanschlüsse nacheinander platzieren und Dynamo neue Objekte mit jeder Ausführung erstellen lassen, anstatt die ursprünglichen zu ändern. Sie können dieses Verhalten steuern, indem Sie die Einstellungen für die Objektbindung ändern.
Weitere Informationen finden Sie im Abschnitt Objektbindung
Durch Ändern dieser Einstellung wird Dynamo gezwungen, die Objekte, die mit jedem Durchlauf erstellt werden, zu "vergessen". Hier sehen Sie ein Beispiel für die Ausführung des Diagramms mit deaktivierter Objektbindung in Dynamo Player.
Wenn Dynamo Player neu für Sie ist, finden Sie im Abschnitt Dynamo Player weitere Informationen.
Im Folgenden finden Sie einige Anregungen, wie Sie die Funktionen dieses Diagramms erweitern können.
Platzieren Sie mehrere Hausanschlüsse gleichzeitig, anstatt jede Parzellenlinie auszuwählen.
Passen Sie die Eingaben an, um Kanalöffnungen anstelle von Wasserzählern zu platzieren.
Fügen Sie einen Schalter hinzu, um das Platzieren eines einzelnen Hausanschlusses auf einer bestimmten Seite der Parzellenlinie anstatt auf beiden Seiten zu ermöglichen.
Platzieren Sie Wasseranschlusszähler-Blockreferenzen in angegebenen Abständen von einer Parzellenlinie, und zeichnen Sie eine Linie für jeden Hausanschluss lotrecht zur Hauptverteilung.
Mission erfüllt!
Die Arbeit mit Koordinatenpunkten und Punktgruppen in Civil 3D ist ein Kernelement vieler Prozesse von der Feldvermessung bis zum grafischen Endergebnis. Dynamo eignet sich perfekt für die Datenverwaltung, und wir werden in diesem Beispiel einen potenziellen Anwendungsfall zeigen.
Arbeiten mit Listen
Gruppieren ähnlicher Objekte mit dem Block List.GroupByKey
Anzeigen von benutzerdefinierten Ausgaben in Dynamo Player
Dieses Diagramm wird in Civil 3D 2020 und höher ausgeführt.
Laden Sie zunächst die folgenden Beispieldateien herunter, und öffnen Sie dann die DWG-Datei und das Dynamo-Diagramm.
Hier sehen Sie einen Überblick über die Logik in diesem Diagramm.
Alle Koordinatenpunkte im Dokument abrufen
Koordinatenpunkte nach Beschreibung gruppieren
Punktgruppen erstellen
Zusammenfassung in Dynamo Player ausgeben
Los gehts!
Der erste Schritt besteht darin, alle Punktgruppen im Dokument und dann alle Koordinatenpunkte in jeder Gruppe abzurufen. Dadurch erhalten wir eine verschachtelte Liste bzw. "Liste von Listen", die später einfacher zu bearbeiten ist, wenn wir alles mithilfe des List.Flatten-Blocks auf eine einzige Liste reduzieren.
Wenn Listen neu für Sie sind, finden Sie im Abschnitt Arbeiten mit Listen weitere Informationen.
Nachdem wir nun alle Koordinatenpunkte haben, müssen wir sie anhand ihrer Beschreibungen in Gruppen unterteilen. Dies entspricht genau der Funktion des Blocks List.GroupByKey. Im Prinzip werden alle Elemente, die denselben Schlüssel verwenden, in Gruppen zusammengefasst.
Die harte Arbeit ist getan! Der letzte Schritt besteht darin, neue Civil 3D-Punktgruppen aus den gruppierten Koordinatenpunkten zu erstellen.
Wenn Sie das Diagramm ausführen, ist in der Dynamo-Hintergrundvorschau nichts zu sehen, da wir nicht mit Geometrie arbeiten. Die einzige Möglichkeit, um zu sehen, ob das Diagramm korrekt ausgeführt wurde, besteht darin, den Projektbrowser zu überprüfen oder die Blockausgabe-Vorschau anzuzeigen. Wenn Sie das Diagramm jedoch mit Dynamo Player ausführen, wird mehr Feedback zu den Ergebnissen des Diagramms bereitgestellt, indem eine Zusammenfassung der erstellten Punktgruppen ausgegeben wird. Sie müssen nur mit der rechten Maustaste auf einen Block klicken und Ist Ausgabe auswählen. In diesem Fall verwenden wir einen umbenannten Watch-Block, um die Ergebnisse anzuzeigen.
Hier sehen Sie ein Beispiel für die Ausführung des Diagramms mit Dynamo Player.
Wenn Dynamo Player neu für Sie ist, finden Sie im Abschnitt Dynamo Player weitere Informationen.
Im Folgenden finden Sie einige Anregungen, wie Sie die Funktionen dieses Diagramms erweitern können.
Ändern Sie die Punktgruppierung, sodass die ausführliche Beschreibung anstelle der Kurzbeschreibung verwendet wird.
Gruppieren Sie die Punkte nach anderen vordefinierten Kategorien, die Sie auswählen (z. B. Geländeaufnahmen, Monumente usw.)
Erstellen Sie automatisch triangulierte DGMs für Punkte in bestimmten Gruppen.
Erstellen Sie eine Punktgruppe für jede eindeutige Koordinatenpunktbeschreibung.
Mission erfüllt!
Die Entwicklung kinematischer Profile für die Lichtraumvalidierung ist ein wichtiger Bestandteil der Schienenkonstruktion. Dynamo kann verwendet werden, um Volumenkörper für die Profile zu erstellen, anstatt komplexe 3D-Profilkörper-Querschnittsbestandteile erstellen und verwalten zu müssen.
Arbeiten mit 3D-Profilkörper-Elementkanten
Transformieren von Geometrie zwischen Koordinatensystemen
Erstellen von Volumenkörpern durch Anhebung
Steuern des Blockverhaltens mit Vergitterungseinstellungen
Dieses Diagramm wird in Civil 3D 2020 und höher ausgeführt.
Laden Sie zunächst die folgenden Beispieldateien herunter, und öffnen Sie dann die DWG-Datei und das Dynamo-Diagramm.
Hier sehen Sie einen Überblick über die Logik in diesem Diagramm.
Elementkanten aus der angegebenen 3D-Profilkörper-Basislinie abrufen
Koordinatensysteme entlang der 3D-Profilkörper-Elementkante mit dem gewünschten Abstand erstellen
Blockgeometrie des Längsschnitts in die Koordinatensysteme umwandeln
Volumenkörper zwischen den Längsschnitten anheben
Volumenkörper in Civil 3D erstellen
Los gehts!
Unser erster Schritt ist das Abrufen von 3D-Profilkörperdaten. Wir wählen das 3D-Profilkörpermodell nach Name aus, rufen eine bestimmte Basislinie innerhalb des 3D-Profilkörpers ab und erhalten dann eine Elementkante innerhalb der Basislinie anhand ihres Punktcodes.
Als Nächstes generieren wir Koordinatensysteme entlang der Elementkanten eines 3D-Profilkörpers zwischen einer bestimmten Anfangs- und Endstation. Diese Koordinatensysteme werden verwendet, um die Blockgeometrie des Fahrzeug-Längsschnitts am 3D-Profilkörper auszurichten.
Wenn Koordinatensysteme neu für Sie sind, finden Sie im Abschnitt Vektor, Ebene und Koordinatensystem weitere Informationen.
Beachten Sie das kleine XXX in der unteren rechten Ecke des Blocks. Dies bedeutet, dass die Vergitterungseinstellungen des Blocks auf Kreuzprodukt festgelegt sind. Dies ist erforderlich, um die Koordinatensysteme an den gleichen Stationswerten für beide Elementkanten zu generieren.
Wenn die Blockvergitterung neu für Sie ist, finden Sie im Abschnitt Was ist eine Liste? weitere Informationen.
Jetzt müssen wir eine Anordnung der Fahrzeug-Längsschnitte entlang der Elementkanten erstellen. Dafür transformieren wir die Geometrie mithilfe des Geometry.Transform-Blocks aus der Blockdefinition des Fahrzeug-Längsschnitts. Das Visualisieren dieses Konzepts ist schwierig. Bevor wir uns die Blöcke ansehen, sehen wir uns eine Grafik an, die zeigt, was passieren wird.
Im Prinzip wird also die Dynamo-Geometrie aus einer einzelnen Blockdefinition während der Erstellung einer Anordnung entlang der Elementkante verschoben/gedreht. Ziemlich cool! Hier sehen Sie die Blocksequenz.
Hiermit wird die Blockdefinition aus dem Dokument abgerufen.
Diese Blöcke übernehmen die Dynamo-Geometrie der Objekte innerhalb des Blocks.
Diese Blöcke definieren im Wesentlichen das Koordinatensystem, aus dem die Geometrie transformiert wird.
Und schließlich führt dieser Block die eigentliche Transformation der Geometrie durch.
Beachten Sie die längste Vergitterung in diesem Block.
Und so sieht dies in Dynamo aus.
Gute Neuigkeiten! Die harte Arbeit ist getan. Jetzt müssen wir nur noch Volumenkörper zwischen den Längsschnitten generieren. Dies lässt sich einfach mithilfe des Solid.ByLoft-Blocks bewerkstelligen.
Hier sehen Sie das Ergebnis. Beachten Sie, dass es sich um Dynamo-Volumenkörper handelt, die in Civil 3D noch erstellt werden müssen.
Der letzte Schritt besteht darin, die generierten Volumenkörper im Modellbereich auszugeben. Wir ordnen ihnen auch eine Farbe zu, damit sie sehr leicht zu erkennen sind.
Hier sehen Sie ein Beispiel für die Ausführung des Diagramms mit Dynamo Player.
Wenn Dynamo Player neu für Sie ist, finden Sie im Abschnitt Dynamo Player weitere Informationen.
Im Folgenden finden Sie einige Anregungen, wie Sie die Funktionen dieses Diagramms erweitern können.
Fügen Sie eine Funktion hinzu, mit der Sie verschiedene Stationsbereiche separat für jede Spur verwenden können.
Teilen Sie die Volumenkörper in kleinere Segmente, die einzeln auf Kollisionen analysiert werden können.
Überprüfen Sie, ob sich die Profilvolumenkörper ** mit Objekten überschneiden**, und färben Sie kollidierende Objekte ein.
Beim Hinzufügen von Haltungen und Schächten/Bauwerken zu einem Kanalnetz verwendet Civil 3D eine Vorlage, um automatisch Namen zuzuweisen. Dies ist während der ersten Platzierung in der Regel ausreichend, aber die Namen werden sich mit der Weiterentwicklung des Entwurfs unweigerlich ändern. Darüber hinaus sind möglicherweise viele verschiedene Benennungsmuster erforderlich, z. B. die sequenzielle Benennung von Schächten/Bauwerken in einem Kanalsystem ausgehend vom am weitesten stromabwärts gelegenen Schacht/Bauwerk oder die Verwendung eines Benennungsmusters, das dem Datenschema einer lokalen Behörde entspricht. In diesem Beispiel wird gezeigt, wie Dynamo zur Definition und konsistenten Anwendung jeder Art von Benennungsstrategie verwendet werden kann.
Arbeiten mit Begrenzungsrahmen
Filtern von Daten mithilfe des Blocks List.FilterByBoolMask
Sortieren von Daten mithilfe des Blocks List.SortByKey
Erstellen und Ändern von Textzeichenfolgen
Dieses Diagramm wird in Civil 3D 2020 und höher ausgeführt.
Laden Sie zunächst die folgenden Beispieldateien herunter, und öffnen Sie dann die DWG-Datei und das Dynamo-Diagramm.
Hier sehen Sie einen Überblick über die Logik in diesem Diagramm.
Schächte/Bauwerke nach Layer auswählen
Positionen von Schächten/Bauwerken abrufen
Schächte/Bauwerke nach Versatz filtern und nach Station sortieren
Neue Namen generieren
Schächte/Bauwerke umbenennen
Los gehts!
Als Erstes müssen wir alle Schächte/Bauwerke auswählen, mit denen wir arbeiten möchten. Dazu wählen wir einfach alle Objekte auf einem bestimmten Layer aus. Das bedeutet, dass wir Schächte/Bauwerke aus verschiedenen Kanalnetzen auswählen können (vorausgesetzt, sie haben den gleichen Layer).
Dieser Block stellt sicher, dass wir nicht versehentlich unerwünschte Objekttypen abrufen, die möglicherweise den gleichen Layer wie die Schächte/Bauwerke verwenden.
Nachdem wir die Schächte/Bauwerke erstellt haben, müssen wir ihre Position im Raum herausfinden, damit wir sie nach ihrer Position sortieren können. Dazu nutzen wir den Begrenzungsrahmen der einzelnen Objekte. Der Begrenzungsrahmen eines Objekts ist ein Quader, dessen Mindestgröße die komplette Geometrie des Objekts umschließt. Durch die Berechnung des Mittelpunkts des Begrenzungsrahmens erhalten Sie eine ziemlich gute Annäherung an den Einfügepunkt des Schachts/Bauwerks.
Wir verwenden diese Punkte, um die Station und den Versatz der Schächte/Bauwerke relativ zu einer ausgewählten Achse abzurufen.
Jetzt wird es etwas schwieriger. Zu diesem Zeitpunkt haben wir eine große Liste aller Schächte/Bauwerke auf dem angegebenen Layer erstellt. Wir haben eine Achse ausgewählt, nach der wir sie sortieren möchten. Das Problem ist, dass die Liste möglicherweise Schächte/Bauwerke enthält, die nicht umbenannt werden sollen. Sie sind beispielsweise nicht Teil der Strecke, an der wir interessiert sind.
Die ausgewählte Achse
Die Schächte/Bauwerke, die wir umbenennen möchten
Die Schächte/Bauwerke, die ignoriert werden sollen
Wir müssen die Liste der Schächte/Bauwerke filtern, sodass diejenigen, die einen bestimmten Versatz von der Achse überschreiten, nicht berücksichtigt werden. Dies erreichen Sie am besten mit dem Block List.FilterByBoolMask. Nach dem Filtern der Schacht-/Bauwerksliste verwenden Sie den List.SortByKey-Block, um sie nach ihren Stationswerten zu sortieren.
Wenn Listen neu für Sie sind, finden Sie im Abschnitt Arbeiten mit Listen weitere Informationen.
Überprüfen, ob der Schacht-/Bauwerkversatz kleiner als der Schwellenwert ist.
Alle Nullwerte durch false ersetzen
Liste der Schächte/Bauwerke und Stationen filtern
Schächte/Bauwerke nach Stationen sortieren
Als Letztes müssen wir noch die neuen Namen für die Schächte/Bauwerke erstellen. Wir verwenden das Format <alignment name>-STRC-<number>
. Hier gibt es einige zusätzliche Blöcke, um die Nummern ggf. mit zusätzlichen Nullen zu füllen (z. B. "01" statt "1").
Und nicht zuletzt benennen wir die Schächte/Bauwerke um.
Hier sehen Sie ein Beispiel für die Ausführung des Diagramms mit Dynamo Player.
Wenn Dynamo Player neu für Sie ist, finden Sie im Abschnitt Dynamo Player weitere Informationen.
Es kann hilfreich sein, die 3D-Hintergrundvorschau von Dynamo zu nutzen, um die Zwischenausgaben des Diagramms anstatt nur das Endergebnis zu visualisieren. Eine einfache Möglichkeit besteht darin, die Begrenzungsrahmen für die Schächte/Bauwerke anzuzeigen. Darüber hinaus enthält dieses spezielle Dokument einen 3D-Profilkörper. Wir können die Geometrie der 3D-Profilkörper-Elementkante in Dynamo importieren, um den Kontext für die Position der Schächte/Bauwerke im Raum zu verdeutlichen. Wenn das Diagramm für einen Datensatz verwendet wird, der keine 3D-Profilkörper enthält, führen diese Blöcke einfach keine Aktionen aus.
Jetzt verstehen wir besser, wie der Prozess des Filterns der Schächte/Bauwerke nach Versatz funktioniert.
Im Folgenden finden Sie einige Anregungen, wie Sie die Funktionen dieses Diagramms erweitern können.
Benennen Sie die Schächte/Bauwerke basierend auf der nächstgelegenen Achse um, anstatt eine bestimmte Achse auszuwählen.
Benennen Sie die Haltungen um – zusätzlich zu den Schächten/Bauwerken.
Legen Sie die Layer der Schächte/Bauwerke fest – basierend auf ihrem Verlauf.
Einer der vielen praktischen Anwendungsfälle von Dynamo ist das dynamische Platzieren einzelner Objekte entlang eines 3D-Profilkörpermodells. Häufig müssen Objekte an Positionen platziert werden, die unabhängig von den eingefügten Querschnitten entlang des 3D-Profilkörpers sind. Dies manuell zu erledigen ist sehr mühsam. Wenn sich die horizontale oder vertikale Geometrie des 3D-Profilkörpers ändert, ist ein erheblicher Überarbeitungsaufwand erforderlich.
Lesen von Daten aus einer externen Datei (in diesem Fall Excel)
Organisieren von Daten in Wörterbüchern
Steuern von Position/Skalierung/Drehung mithilfe von Koordinatensystemen
Platzieren von Blockreferenzen
Visualisieren von Geometrie in Dynamo
Dieses Diagramm wird in Civil 3D 2020 und höher ausgeführt.
Laden Sie zunächst die folgenden Beispieldateien herunter, und öffnen Sie dann die DWG-Datei und das Dynamo-Diagramm.
Die Excel-Datei sollte im selben Verzeichnis wie das Dynamo-Diagramm gespeichert werden.
Hier sehen Sie einen Überblick über die Logik in diesem Diagramm.
Excel-Datei lesen und Daten in Dynamo importieren
Elementkanten aus der angegebenen 3D-Profilkörper-Basislinie abrufen
Koordinatensysteme entlang der 3D-Profilkörper-Elementkante an den gewünschten Stationen generieren
Koordinatensysteme zum Platzieren von Blockreferenzen im Modellbereich verwenden
Los gehts!
In diesem Beispieldiagramm verwenden wir eine Excel-Datei, um die Daten zu speichern, die Dynamo zum Platzieren der Lichtmast-Blockreferenzen verwendet. Die Tabelle sieht so aus.
Das Lesen von Daten aus externen Dateien (z. B. Excel-Dateien) mit Dynamo ist praktisch, insbesondere dann, wenn auch andere Teammitglieder die Daten nutzen müssen.
Die Excel-Daten werden wie folgt in Dynamo importiert.
Nachdem wir die Daten erstellt haben, müssen wir sie nach Spalten aufteilen (Corridor, Baseline, PointCode usw.), damit sie im restlichen Diagramm verwendet werden können. Eine gängige Methode hierfür ist die Verwendung des List.GetItemAtIndex-Blocks und die Angabe der Indexnummer für jede gewünschte Spalte. Beispiel: Die Spalte Corridor befindet sich bei Index 0, die Spalte Baseline bei Index 1 usw.
Klingt gut, oder? Doch bei diesem Ansatz gibt es ein potenzielles Problem. Was geschieht, wenn sich die Reihenfolge der Spalten in der Excel-Datei in Zukunft ändert? Oder wenn eine neue Spalte zwischen zwei Spalten hinzugefügt wird? Das Diagramm funktioniert dann nicht ordnungsgemäß und muss aktualisiert werden. Sie können das Diagramm für zukünftige Aktionen absichern, indem Sie die Daten in ein Wörterbuch einfügen, wobei die Excel-Spaltenüberschriften die Schlüssel und die übrigen Daten die Werte sind.
Dadurch wird das Diagramm stabiler, da es Flexibilität beim Ändern der Spaltenreihenfolge in Excel ermöglicht. Solange die Spaltenüberschriften gleich bleiben, können die Daten einfach mithilfe des Schlüssels (d. h. der Spaltenüberschrift) aus dem Wörterbuch abgerufen werden. Dies ist die Vorgehensweise beim nächsten Schritt.
Nachdem wir die Excel-Daten importiert haben und bereit für die Arbeit sind, können wir damit einige Informationen zu den 3D-Profilkörpermodellen aus Civil 3D abrufen.
Wählen Sie das 3D-Profilkörpermodell nach seinem Namen aus.
Rufen Sie eine bestimmte Basislinie innerhalb des 3D-Profilkörpers ab.
Rufen Sie eine Elementkante innerhalb der Basislinie anhand ihres Punktcodes ab.
Als Nächstes generieren wir Koordinatensysteme entlang der 3D-Profilkörper-Elementkanten an den Stationswerten, die wir in der Excel-Datei angegeben haben. Diese Koordinatensysteme werden verwendet, um die Position, Drehung und Skalierung der Lichtmast-Blockreferenzen zu definieren.
Beachten Sie, dass zum Drehen der Koordinatensysteme hier ein Codeblock verwendet wird, je nachdem, auf welcher Seite der Basislinie sie sich befinden. Dies könnte mithilfe einer Sequenz von mehreren Blöcken erreicht werden, ist aber ein gutes Beispiel für eine Situation, in der es einfacher ist, einfach den Code zu schreiben.
Gleich haben wir es geschafft! Wir verfügen über alle Informationen, die wir benötigen, um die Blockreferenzen tatsächlich platzieren zu können. Als Erstes müssen wir die gewünschten Blockdefinitionen mithilfe der Spalte BlockName in der Excel-Datei abrufen.
Der letzte Schritt ist die Erstellung der Blockreferenzen.
Beim Ausführen des Diagramms sollten neue Blockreferenzen im Modellbereich entlang des 3D-Profilkörpers angezeigt werden. Wenn der Ausführungsmodus des Diagramms auf Automatisch eingestellt ist und Sie die Excel-Datei bearbeiten, werden die Blockreferenzen automatisch aktualisiert.
Hier sehen Sie ein Beispiel für die Ausführung des Diagramms mit Dynamo Player.
Es kann hilfreich sein, die 3D-Profilkörpergeometrie in Dynamo zu visualisieren, um Kontext bereitzustellen. In diesem speziellen Modell sind die 3D-Profilkörper-Volumenkörper bereits im Modellbereich extrahiert. Diese exportieren wir in Dynamo.
Aber wir müssen noch etwas bedenken. Volumenkörper sind ein relativ "schwerer" Geometrietyp, was bedeutet, dass dieser Vorgang das Diagramm verlangsamt. Es wäre praktisch, wenn es eine einfache Möglichkeit gäbe, auszuwählen, ob wir die Volumenkörper anzeigen möchten oder nicht. Die offensichtliche Antwort ist, einfach den Corridor.GetSolids-Block zu trennen. Dadurch werden jedoch Warnungen für alle nachgeordneten Blöcke angezeigt, was zu einer chaotischen Ansicht führt. Dies ist eine Situation, in der der ScopeIf-Block hilfreich ist.
Beachten Sie, dass der Object.Geometry-Block unten einen grauen Balken aufweist. Dies bedeutet, dass die Blockvorschau deaktiviert ist (Zugriff durch Klicken mit der rechten Maustaste auf den Block). Dadurch muss der Block GeometryColor.ByGeometryColor in der Hintergrundvorschau nicht mit anderer Geometrie um die Anzeigepriorität konkurrieren.
Mit dem ScopeIf-Block können Sie einen ganzen Zweig von Blöcken selektiv ausführen. Wenn die test-Eingabe false ist, werden alle mit dem ScopeIf-Block verbundenen Blöcke nicht ausgeführt.
Hier sehen Sie das Ergebnis in der Dynamo-Hintergrundvorschau.
Im Folgenden finden Sie einige Anregungen, wie Sie die Funktionen dieses Diagramms erweitern können.
Fügen Sie eine rotation-Spalte zur Excel-Datei hinzu, die Sie zum Steuern der Drehung des Koordinatensystems verwenden können.
Fügen Sie horizontale oder vertikale Versätze zur Excel-Datei hinzu, sodass die Lichtmasten bei Bedarf von der 3D-Profilkörper-Elementkante abweichen können.
Anstatt eine Excel-Datei mit Stationswerten zu verwenden, generieren Sie die Stationswerte direkt in Dynamo mit einer Anfangsstation und typischem Abstand.
Verwenden Sie einen Block für einen Fahrzeug-Längsschnitt, um 3D-Volumenkörper mit Lichtraumprofil entlang eines 3D-Profilkörpers zu erstellen.
Mission erfüllt!
Benennen Sie Kanalnetz-Schächte/Bauwerke basierend auf der Station einer Achse um.
Mission erfüllt!
Platzieren Sie Lichtmast-Blockreferenzen entlang eines 3D-Profilkörpers an Stationswerten, die in einer Excel-Datei angegeben sind.
Wenn Wörterbücher neu für Sie sind, finden Sie im Abschnitt weitere Informationen.
Wenn Koordinatensysteme neu für Sie sind, finden Sie im Abschnitt weitere Informationen.
Wenn Codeblöcke neu für Sie sind, finden Sie im Abschnitt weitere Informationen.
Weitere Informationen über die Diagrammausführungsmodi finden Sie im Abschnitt .
Wenn Dynamo Player neu für Sie ist, finden Sie im Abschnitt weitere Informationen.
Mission erfüllt!