Dynamo for Civil 3D

Design automation is a luxury that has been used for several years within the Autodesk Revit software platform and Dynamo. Many architects, structural and building service engineers and technicians have used Dynamo to automate tasks from modeling and placement of elements to the input and extraction of data.

Dynamo for Civil 3D

One of the new features in Autodesk Civil 3D 2020 was the inclusion of Dynamo which integrates visual programming with civil features such as alignments, corridors and points. Workflows are also available for vanilla AutoCAD giving access to features such as layers, attributes and text as well as geometry such as 3D polylines, lines & blocks.

There are potentially thousands of use cases that you could use to streamline existing workflows, not just with Civil 3D but also taking data and geometry to other applications such as Revit. In this example I will extract alignment information and recreate this data as AutoCAD text nested into a block. Why am I doing this? Well, if I want to export my Civil 3D model to Navisworks, it is often useful to see the chainage super imposed over the 3D geometry. This is one way to achieve this with Dynamo! Of course, this data could also be used to place 3D families in Revit to display the same chainage and setting out data.

Below is the result in Navisworks.

The first step is to connect to the active document and get the alignment data.

If there are multiple alignments in the Civil model you can select the alignment by a matching name or filter the data based on any criteria. Once the alignment has been selected, I will then retrieve the stations at 5 meter intervals.

The stations (chainage) values are then passed into the Alignment.CoordinateSystemByStationOffset node. This node will create coordinate systems at each station. You can also add an offset value if required but here I am simply extracting the alignment coordinate systems at each station.

Dynamo will also produce a graphical representation of the coordinate systems. Here you have the z value aligned with the alignment and XY plane is normal to the alignment.

This is good for a flat plan representation of the alignment. Here I would like to retrieve the vertical positions at each of the stations. To achieve this, I will need to extract the coordinate systems from the vertical profile. The image below now shows the same data used to create coordinate systems on the vertical profile.

In order to create the text elements, I need to extract the coordinate system origin. I also get the x-axis of the coordinate system to control the rotation of the text elements.

The text create node requires the chainage values to be strings so I needed to use the string from object node to convert the numbers to strings. The rotation is simply the coordinate system X-Axis which outputs vectors. The layer is just a string input, AutoCAD will create a layer automatically or this can be an existing layer. The block will contain all the text objects and allows Dynamo to update the contents otherwise the text would be appended.

The script can be developed further to create an offset for the text depending on other geometry. You will certainly need to offset the text position in the z axis so it does not glitch with the road surface. In the image below you can see that the X,Y and Z point data is derived from the list of points. A simple addition is made to provide lateral and vertical offset controlled by sliders. The X,Y and Z coordinates are then combined back together and passed to the Text.Create node.

 

Blog

Paths to Net Zero: Insights for Sustainable AEC

10 December 2024

As the built environment sector accounts for nearly 40% of global CO₂ emissions, achieving net-zero carbon has evolved from aspiration to necessity. In response, Symetri hosted the Paths to Net Zero: Insights, Technologies, and Solutions webinar series in September 2024. This article distils key takeaways from the series, offering a snapshot of challenges, trends, and impactful approaches shaping the future of decarbonization in the AEC industry. 

Learn more
Blog

What is an LCA? 3 Examples of Life-Cycle Assessments in Building Projects

12 November 2024

A Life-Cycle Assessment (LCA) is a powerful tool used to measure the complete environmental impact of a building project. It evaluates the carbon footprint and other environmental effects throughout a building's life, across four key stages: production, use, end-of-life, and beyond. Below are three examples of how LCAs can guide decisions for more sustainable building projects.

Learn more