Umbenennen von Schächten/Bauwerken
Last updated
Last updated
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.
🎯 Benennen Sie Kanalnetz-Schächte/Bauwerke basierend auf der Station einer Achse um.
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.
🎉 Mission erfüllt!
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.