Bridge Design-Dynamo
Bridge Design-Dynamo
The ever familiar, popular and relevant AutoCAD interface that Civil 3D is built off will be a
staple in the AEC industry for a long time to come. Pair the world’s favourite CAD tool with
powerful computational processing abilities and you end up with a set of tools that can
revitalise current workflows for everyone in our industry. It’s no secret that the Australian
landscape is pushing hard for a BIM-centric way of delivering projects. Most Design Managers
and Digital Engineering Specialists will agree that the potential is huge in this space, but as a
whole, we aren’t truly there yet. The use of Infrawork, Revit and Dynamo in the Bridge space
has enabled design teams to optimise their design, modelling and documentation processes.
From experience, introducing Revit and Dynamo into an office full of experienced AutoCAD
users who have been delivering Bridges efficiently forever certainly has its challenges, which
is why I think that Dynamo and Civil 3D is a combination that cannot be ignored.
Dynamo and Civil 3D provide opportunities for Bridge Designers to iterate through design
options quickly, optimising their designs computationally, with improved transparency to the
other project disciplines, such as the road alignment. It provides opportunities for Bridge
Drafters to extract critical design information such as Chainage information, set out
information and various RL’s of elements, removing the risk of human error surrounding
documentation.
I have developed some workflows using Dynamo and Civil 3D that I hope will spark some
inspiration for your teams. This is just scratching the surface of what is possible with Dynamo
and Civil 3D and I can’t wait to see what other people come up with!
You can use Dynamo to quickly determine the Alignment’s Chainage information. An
example where this would be used on a project would be to determine the Chainage
information for Pile set out.
First, I sketch some lines in Civil 3D, ensuring that they intersect with the Alignment (shown
in Red in the screenshot). My script works off Layer Name so I have created a Layer called
Chainage.
The screenshot below shows Dynamo obtaining the Corridor information, converting the
Baseline to Dynamo ‘Poly curve’ geometry and then intersecting that geometry with the lines
that I have sketched on the Layer called Chainage.
The next screenshot uses the Baseline.StationOffsetByPoint node to determine the Station
(Chainage) value based on a point, noting that the point it uses is the intersection point out of
Geometry. Intersect in the above image. I’ve done some string editing to change the rounding
and to add CH: as a prefix, before placing some Text in Civil 3D using the Text. Create node.
The result is text placed on the sketched lines, providing the Chainage values at that location.
You also can rotate the text, define its layer name and set the text height. In a real-world
scenario, I would probably insert the text on Def points to ensure it doesn’t appear on
drawings.
Furthermore, there is nothing stopping the user from allowing the script to report the Easting
and Northing information.
2. Quickly calculating Bearing Pad levels based on a variety of design inputs.
This workflow could be used by the Bridge Engineer or Drafter depending on the complexity
of the project or individual company design processes. This script will calculate the Bearing
Pad levels based on the design surface level which is being read directly from Civil 3D. The
output will be RL ‘X’ commonly detailed as such on many RMS (Roads and Maritime
Services) bridge projects. The beauty of this workflow is that when the alignment design
changes or the bridge geometry changes, the RL’s can automatically be re-calculated. Lets
go.
First, a surface is created in Dynamo based on the design surface from the Corridor.
Similarly, to the first example, I am using Layer Name. I have sketched some Circles at the
2D plan location of the Bearing Pads.
The script selects the Circles on Layer Name Bearing and obtains the centre point. It then
projects that point onto the Design Surface.
I have created a series of Design Parameters which can be altered to suit the project. This
example includes Deck Thickness, Girder Depth, Hog values and Bearing Top Attachment
Plate thickness. The sum of the Design Parameters is used as the vertical offset from the Design
Surface.
Dynamo then places text in Civil 3D, again the user can rotate the text, change its height and
edit the location of placement. For simplicity, I have placed it on top of the Bearing location.
In a real-world scenario, the RL that I have determined is RL ‘X’ which will be familiar to
those who have worked on RMS bridge projects.
3. Quickly determining Deck Levels from 2D set out information.
This workflow uses a series of nodes shown in an earlier example, to create a Surface from
the Corridor baselines.
The script will quickly determine the Deck Surface RL’s at a variety of locations. For
simplicity, I will find the levels at the Control Line, and outer extents of the deck. In the
screenshot below I have sketched the outline of the Deck and what could be defined as Pier
Centrelines to illustrate a 3 span bridge, levels will be determined along the pier centrelines
too.
The script uses the Curve.StartPoint and Curve.EndPoint nodes to get the points at each end
of the sketched lines that represent the deck outline. The script uses Geometry.Intersect to
find the intersection point between the Deck lines and the Alignment.
Point.Project node is used to determine the point on the Design Surface that relates to the
sketched Deck lines.
Some editing is done for rounding and adding an RL prefix as shown in earlier examples and
text is placed in Civil 3D.
This script could be used by senior team members who may be tasked with checking the
values on the design drawings. A variation of the script could be that the values are exported
to Excel during the documentation process where they can quickly be added to design
drawings, as shown on a project below.
Furthermore, there is nothing stopping the user from allowing the script to report the Easting
and Northing information to enable more efficient tabulated data.
4. Placing multiple Block References at different locations from an excel
spreadsheet.
Let’s say that you have received some survey data providing the location of existing Power
Poles on a project. This information has been provided in an excel spreadsheet with Easting,
Northing and RL information. Dynamo can be used to quickly place a predefined Block
Reference representing a Power Pole at each survey location. The Block Reference can be 2D
or 3D and made up of lines and solid geometry (in a BIM-centric world we want to model the
Pole’s 3D geometry, so we can space proof it with the proposed bridge design, so I’ll be
doing just that).
The Block References are placed and the Position X , Y and Z corresponds with the .xlsx
data.
Summary
The purpose of the workflows above are to show you what can be achieved with Dynamo and
Civil 3D. I have kept a focus on Bridge processes because that’s where I am most
comfortable, but the fundamentals can be applied to any other discipline inside Civil 3D.
Additionally, Dynamo can be used to speed up your traditional AutoCAD workflows too. For
example, you could use Dynamo to add annotations. You could automatically number each
Power Pole or Pile in my examples and place Text to annotate them. You can also use
Dynamo to create complex geometries and model them in Civil 3D as Solid geometry,
perhaps my next article can focus on some of those processes, but for now I have kept it
simple – detailing short workflows that would benefit me if I was back working in a design
team.
If this article has provided value or if you would like to know more about Dynamo and Civil
3D please feel free to reach out to me on Linkedin