Bridge Detailing 2.0: Computational Modeling Methods Using Civil 3D, Revit, and Dynamo

Aashish Mathew George
9 min readJul 18, 2020


Digital bridge engineers have much to contend with. As part of the comprehensive design of any bridge, aspects including earthworks design, alignment control, site constraints and structural design requirements all need to be considered. Add to this the fact that whilst digital design and automation move us towards a world of drawing-less delivery, many bridges still require complex technical drawing and schedule production. Workflows that provide interoperability are therefore key–using Civil 3D and Revit together in the design process is the most established method in the business, and when done well creates powerful results.

No two bridges are exactly alike. The intention of this article is to provide an efficient, versatile workflow that works for a range of structural types, and whilst the case study we’ll be looking at is a specialist type structure, similar linear structures principles can be applied to a range of bridge types and other linear structures.

We will examine the modeling methods used in order to achieve the Revit model output for ‘Bridge K,’ a cable-stayed bridge structure currently at the preliminary design stage. Each initial stage of the workflow is looked at in detail, the intention being to provide an introduction to the main principles of using the open-source CivilConnection Dynamo node package to link Civil 3D and Revit model content.

The primary purpose of using CivilConnection within this context is to leverage the best functionality of both Civil 3D and Revit for bridge designers within a single process:

  • Civil 3D offers the most relevant tools for ‘linear’ element and earthworks design. By using shared project data shortcuts to alignment and surface content, the bridge model geometry is linked to the alignment design and other multidisciplinary project content.
  • Revit outputs provide parametric object modeling, as well as schedule and 2D drawing content creation.

Whilst workflows using a combination of these tools are not new, the toolset which CivilConnection provides changes the game in terms of the required complexity. Within this guide you won’t find any reference to utilizing Python code or CSV point input; whilst these are no doubt powerful allies in the quest for automation, CivilConnection simplifies the process of extracting Civil 3D corridor information. This guide will hopefully demonstrate that much can be gleaned from the use of Dynamo alone to achieve the required computational model behavior, and this provides a sound foundation of knowledge for further forays into more complex methods as required.

The content of this article is therefore intended only to act as a guide to the first fundamental steps in this process. Once these are well understood, further development of model definition is possible through use of further Dynamo computation, parametric family editing, and CivilPython scripting.

A Real-World Case Study

‘Bridge K’ is a 160-meter long cycleway bridge over the River Severn in the UK, comprising seven spans of lightweight steel deck construction with reinforced concrete approach ramps at either end. The main cable-stayed river span is 70 meters long, supported by 26-meter high dual steel masts with 5No. support cables on each side of the deck.

Three potential alignments are being considered during the preliminary design: one straight alignment and two with increasing horizontal curvature. The preferred alignment is straight, and it’s this option that we’ll be looking at in depth.

The bridge design is currently in the preliminary stages, with any modeling output intended to follow on into the detailed design process.

Bridge K.

Three alignment options.

The Site

The chosen bridge site over the River Severn is well suited to a cycle bridge; topology is relatively flat and ground levels on either side of the river are similar, leading to a bridge long section with a very shallow longitudinal gradient and only one vertical change in direction. Whilst ground conditions are fair it is likely that piled foundations will be required.

The intention of the bridge is to link public footpaths on each side of the river. Construction space on both sides is ample, however interfaces with telegraph cables immediately to the south of the bridge site, as well as proximity to private residences must be considered as design constraints.


The bridge site.

The Workflow


CivilConnection is a Dynamo for Revit package that enables the exchange of information between Civil 3D, Dynamo, and Revit. You can download the open source package, along with reference documentation. Its features include:

  • The ability to work directly with an open instance of Civil 3D, pulling data into Dynamo in a live fashion for immediate updates
  • The ability to read corridor features including alignments, auto-corridor feature lines, and assembly shapes
  • Placement of Revit elements according to feature line information
  • Lofting of assembly shapes into smooth mass solids with no faceting/tessellation
  • Creation of AutoCAD entities
  • Sending commands to the Civil 3D command line and creation of command line scripts

The Linear Structures Workflow Guide (available via the above link) provides in-depth background, installation, and usage information. It is highly recommended that reference is made to this document before attempting to use CivilConnection.

Note: CivilConnection is available for all Civil 3D release numbers from 2017 onwards. Install for the version of Civil 3D you are using, not Revit! You must be using Dynamo for Revit 1.3+.

Element Breakdown

Successful deployment of any automation methods requires a clear modeling strategy from the outset, and a clear understanding of how each structure element shall be produced and controlled in terms of position or dimensions. This article defines bridge elements in terms of three broad categories, and in our modeling method we’ll be tackling these as follows:

1. Linear Elements (shown in the figure below in blue) include the deck, girders, parapet rails, ducting and drainage channels, etc.

These will be created as a Civil 3D corridor. A Dynamo definition will handle the extraction of the corridor assembly shapes to create lofted mass solids in Revit, each within their own component family.

2. Discrete Elements (shown in the figure below in red) include cross girders, parapet posts, foundations, etc.

These will be created as parametric families, prepopulated in the Revit project. Their placement and orientation will be controlled via offset, angle and elevation from given feature line stations within the Dynamo definition.

3. Framing elements include elements requiring more than a single placement point such as diaphragms, deck bracing, and in the case of our bridge, the cable-stays.

These can be created via adaptive components or structural framing families, with the start/end points derived from the Dynamo definition.

Element breakdown of Bridge K.

Note that these categories make no reference to the standard engineering terminology of longitudinal and transverse as these may not apply in all cases.

It’s worth noting that the concrete approach ramps in the above figure are categorized as linear elements, and therefore initially produced as part of the Civil 3D corridor. This will be useful if the alignment is to change to a curved configuration, as well as automatically providing their tapered vertical profile. In other cases, it may be suitable to class these as discrete objects and create parametric families for them, and indeed as the design of Bridge K develops, there is the potential to:

1. Develop these families for further detail (such as providing bearing shelves)

2. Remove the respective Civil 3D corridor regions

3. Update the Dynamo definition to control them instead as discrete elements (via feature line station, offset, angle, elevation).

Where a higher level of automation is required for pile configurations, they can be created via structural column families and point input via Dynamo. In the case of our bridge, all piles are produced as part of the parametric substructure families.

Modeling Method

The overall workflow can be summarized as follows:

The following sections will cover each of these steps in further detail.

Subassembly Composer


The composer comes included as an optional subcomponent of Civil 3D and is not available separately. If you don’t see it under the Civil 3D heading in your Start bar:

  • Go to Apps & Features in the Windows settings/Control Panel
  • Find the relevant installation of Civil 3D
  • ‘Modify’ the installation, and add the Composer when prompted

Step 1: Creating Parameters

Creating your parameters first will allow you to then apply these within the points configuration in the next step. Think carefully about what parameters you require and how you want your assembly to ‘flex’; careful consideration now may make for fast design changes later, as parameters can be changed in the Civil 3D environment once loaded. Let’s look at the primary deck cross section for Bridge K:

We have two diamond-shaped beams, and some deck surfacing. Note that the cross girders aren’t included–they are discrete objects and come later. We want to maximize the flexibility of this cross section, so four parameters have been created under the ‘Input/Output Parameters’ tab, which will parameterize the deck width and beam size.

Step 2: Adding Points and Links

  • Points define the basic structure, and when coded, produce auto-corridor feature lines
  • Links connect points, and when coded, produce surfaces
  • Shapes are defined by a closed region of links, and may be extracted into solids

Always start by creating ‘sequences’ in the workflow area. These will allow you to organize your points, links, and shapes effectively, and can be useful when things start to get complex. Our subassembly is three shapes only. If you’re dealing with a complex deck configuration (say, a multigirder composite type deck), consider creating these as separate subassemblies.

Using sequence groups.

Create your points, adding dimensions (doubles), or expressions including your parameter names where relevant:

Adding parameters.

Step 3: Defining Variables

Adding variables to your subassembly flowchart is a way of parameterizing expressions, allowing them to be recalled and used quickly throughout the flowchart.

One possible application of this is to affect the behavior of one parameter by the results of another. Within the Bridge K deck subassembly, an ‘if’ statement has been added as a variable, which will affect the deck system thickness according to its span:

If (Width_L + Width_R < 3, 0.05, 0.06)

“If the combined deck width is less than 3 m, then the deck surfacing system shall be 50 mm thick. If not, it shall be 60 mm thick.”

The expression can then be named and called as a parameter as usual.

Jim Crabtree is a civil engineer working in the bridge sector. He has experience from roles as structural inspector, railway site safety controller, design engineer, and CAD manager. His love of digital design and construction includes over 18 years of experience using Autodesk tools. In recent years as a BRE BIM Certified Practitioner, Jim has turned his focus to information management and project automation on several major UK highways projects. Jim also takes a leading role in the development of design automation workflows and strategy in the Jacobs Bridges business unit.

Article from Autodesk University



Aashish Mathew George

Entrepreneuring | curious thinker | technology advisor | photographer at stories by AMG | founder of ayco venture