Civil 3D and Dynamo: Dynamic Culvert Design and Analysis
Civil 3D and Dynamo: Dynamic Culvert Design and Analysis
Andrew Milford
• Based in Sydney, Australia
• Over 25 years design experience in the Civil
Infrastructure industry
• AutoCAD Civil 3D Certified Professional
• Develop processes and automation tools through
scripts, AutoLISP, .NET API (C# and VB) and Python
Learning Objectives
• Corridor Codes
• Surface
Dynamo | Culvert Setout Parameters
• Alignment String
• Station
• Skew
Dynamo | Culvert and Headwall Parameters
Culvert Height
Wingwall length
Wingwall angle(s)
Pipe Size
Number of Cells
Gap between cells
What is Dynamo?
• Geometry creation
• Workflow automation
How to load Dynamo in Civil 3D
• Manage Tab
o Visual Programming
▪ Dynamo
▪ Run Script
• 3 Node Types:
o Create (Constructor)
o Action (Method)
o Query (Property)
• Scripting integration
o Design Script
▪ Code Blocks
o Python
Nodes | AutoCAD
Nodes | Civil 3D Selection
Nodes | Civil 3D CivilObjects
Nodes | Abstract Geometry
• Geometry
o Abstract
▪ Coordinate Systems
▪ Plane
▪ Vector
Dynamo Graph 1
Manual Culvert Design
Dynamo Graph 1 | Manual Culvert Design
Graph Setup | Template
• Graph Information
o Version
o Author
• Instructions
• Known Issues
• External Packages
Graph Layout
Inputs Functions Outputs
Dynamo Warnings | Geometry Scaling
• Object-Oriented
• Open Source
• Monty Python
Stuff gets processed
• For loops
• While loops
• If Statements
Headwater Depth
• While loops
• Goal Seek
Headwater Depth
Automatic or Manual ?
Export Values to Excel
Dynamo Graph 4
Multiple Culverts from Excel
Import Culvert Parameters from Excel
Multiple Culverts
Culverts in Civil 3D
Culverts in Revit
Additional Resources
• DynamoBIM.org
• DynamoPrimer.com
• GitHub/DynamoDS