Duct Banks in Civil 3D: How to Model Them in 3D and Automate Underground Electrical Design
How to model a duct bank in Civil 3D, which has no native object: corridors, pipe networks or solids, and how to automate underground electrical design.
Civil 3D · Electrical duct banks
Civil 3D has no button for drawing a duct bank. That's why almost everyone still draws them in 2D.
And in 2D you can't see that the medium-voltage duct bank runs 4 inches from the sewer main. This guide covers the real ways to model a duct bank in 3D, which one fits which project, and what can be automated.
The duct bank is the network nobody models
An urban project packs water, sanitary sewer, storm drainage, gas, telecom and power into the same street. Water and sewer networks have their own tools in Civil 3D. Duct banks don't.
The result is predictable: water and sewer get modeled in 3D, but the electrical duct bank stays as a line in plan and a typical section on a detail sheet. Nobody knows its exact elevation at every point, and crossings with other utilities get sorted out in the field.
That's where the expensive problem shows up: the duct bank trench hits a sewer main that wasn't where everyone assumed, or the bank won't fit under a water main without breaking minimum cover. Redesign in the field, with the crew waiting.
What happens when the duct bank stays in 2D
Line in plan
No real depth
Typical detail section
Same everywhere
Assumed elevation
Nobody checked it
Crossing found in the field
Redesign with the trench open
The duct bank in 3D, in 6 blocks
What needs modeling, the three real ways to do it in Civil 3D, what a plugin automates, and why crossings with other utilities justify the effort.
- 01Concept
What to model
Conduit matrix, encasement, depth, manholes and trench
- 02Options
The three ways to do it
Corridor, parallel pipe network or 3D solids
- 03Diagnosis
Where the time goes
Typical sections, transitions, profile and takeoff
- 04Solution
What a plugin does
From route and duct bank type to a 3D model with takeoff
- 05Clashes
Crossings with other utilities
Clashes and minimum separations, which aren't the same
- 06Action
A plan to start
Standardize banks, write rules and test in 3D
A duct bank isn't one pipe: it's an assembly of several pieces, and each one matters for something different.
The conduit matrix. Rows and columns: 2x2, 2x3, 3x4. Each conduit with its size and position. That defines how many circuits fit.
Conduit spacing. Whatever the specification requires for heat dissipation and for the concrete to flow.
The concrete encasement. With its cover above and beside the conduits. It sets the bank's real width and height — and therefore what it clashes with.
Depth. Minimum cover from finished grade to the top of the encasement. It changes under roadway versus under sidewalk.
Manholes and handholes. At every sharp change of direction, at splices, and at a maximum spacing so cables can be pulled.
The trench. Excavation width and depth — what gets paid for and what gets scheduled in the field.
Civil 3D has no dedicated duct bank object. In practice there are three routes, and each one is good for something different.
1. A corridor with a duct bank typical section. You build the section (conduits plus encasement) as an assembly, usually with Subassembly Composer, Autodesk's tool for creating custom typical sections. The corridor repeats it along the alignment and profile. It's the most native route: the bank follows the layout, and you get sections plus excavation and concrete volumes.
2. A pipe network with parallel conduits. Each conduit is a pipe in a network, offset from the centerline. You can use Civil 3D's pipe network interference check and label each conduit. But keeping 6 or 12 parallel pipes in sync when the layout changes is tedious, and the concrete encasement doesn't exist as an object.
3. 3D solids by sweep. Sweep the duct bank section along a 3D polyline. It's quick, and it looks right in cross-discipline coordination. But it's a dead object: it doesn't update when the route changes and it can't be labeled.
| Criterion | Corridor with typical section | Swept 3D solids |
|---|---|---|
| Updates when the route changes | Yes | No, you rebuild it |
| Excavation and concrete volumes | Yes, from the corridor | Solid volume only |
| Cross sections | Automatic | No |
| Upfront effort | High, you build the section | Low |
| Coordination with other disciplines | Good | Good |
| Individually labeled conduits | Partial | No |
One typical section per configuration. A real project has several banks: 2x2 low voltage, 3x3 medium voltage, variants under roadway and under sidewalk. Each one is a typical section someone has to build and maintain.
Transitions. Wherever the bank changes configuration, enters a manhole or crosses a road, the section changes. Every transition is a manual corridor edit.
The profile. The bank has to keep minimum cover while going over or under every utility it crosses. Setting that profile by hand, crossing by crossing, is slow and easy to get wrong.
Manholes. Placing them at every change of direction and meeting maximum spacing.
The takeoff. Linear feet of conduit by size, cubic yards of concrete and excavation, number of spacers and manholes. Usually from a spreadsheet that isn't connected to the model.
| Task | Automated | Manual |
|---|---|---|
| Build the bank from its configuration | Pick the type, done | Build the typical section |
| Transitions and manholes | By rule along the route | One by one |
| Profile respecting crossings | Computed against other utilities | Crossing by crossing |
| Conduit, concrete and excavation takeoff | Table from the model | Separate spreadsheet |
| Redo after a route change | Run it again | Start over |
A custom plugin turns the duct bank into something you choose and generate, instead of draw.
What it does:
- Takes the route. A polyline in plan or an existing alignment.
- Takes the configuration. The bank type: matrix, sizes, spacing, cover. Ideally from a table of your utility's standard types.
- Computes the profile. It follows the ground at minimum cover and, wherever it crosses another utility, drops or rises to keep the required separation. If no solution exists, it flags the crossing instead of forcing an elevation.
- Builds the 3D model. Individual conduits, concrete encasement and trench.
- Places manholes at changes of direction and wherever maximum spacing is exceeded.
- Delivers the takeoff. Conduit by size, concrete, excavation, backfill, spacers and manholes.
From route to modeled duct bank
Route in plan
Polyline or alignment
Duct bank type
Matrix, sizes, cover
Profile vs crossings
Separations respected
3D model and takeoff
Conduits, concrete, trench, manholes
If there's one reason to take the duct bank to 3D, it's this.
An electrical duct bank almost always crosses water, sanitary sewer and storm drainage. Every crossing has rules: minimum separation between power and water, which one goes on top, what protection is required. Those rules come from the applicable electrical and plumbing codes and from each utility's specifications.
In 2D, those crossings are two lines touching in plan. You can't tell if there's a conflict.
In 3D, with every utility modeled at its real elevation, each crossing can be checked:
- Civil 3D includes an interference check for pipe networks.
- To coordinate all utilities together — including a duct bank modeled as a corridor or solid — the usual route is Navisworks clash detection.
- A plugin can check minimum separations between the duct bank and each utility directly, which is what actually matters and what clash detection doesn't measure.
Week 1 · Standardize your duct banks. List the configurations your office or utility uses: matrix, sizes, spacing, cover, under roadway and under sidewalk. One table.
Week 2 · Write the crossing and manhole rules. Minimum separations with each utility type, maximum manhole spacing, minimum conduit bend radius.
Week 3 · Model one real duct bank. With a corridor and a typical section, or with a Dynamo routine. Compare the takeoff against the one you already delivered.
Week 4 · Check the crossings in 3D. Combine the bank with the same project's water and sewer networks and check separations. Whatever you find there is the case for automating it.
Related resources
- The cluster guide: Civil 3D plugin for automated 3D drawing of utility networks.
- The networks it crosses: Civil 3D pipe networks: water, sewer and fittings in 3D.
- The parent guide: automating Civil 3D, the complete guide.
- If you're outsourcing it: how much a Revit or Civil 3D add-in costs.
Frequently asked questions about duct banks in Civil 3D
It's a group of buried conduits, arranged in rows and columns, that carry electrical or telecom cables. The conduits are usually encased in concrete for protection, with spacers holding them apart while the concrete is poured. Duct banks are used for medium and low voltage distribution, lighting and telecom.
Found this useful? Share it with whoever coordinates utilities in your office. The first crossing you catch in 3D usually pays for the whole exercise.
Keep reading on this topic
Civil 3D Plugin for Automated 3D Drawing: From 2D Sheets to a 3D Utility Model
A Civil 3D plugin that turns 2D water, sewer and electrical utility drawings into a 3D model with elevations, fittings and quantities, using your rules.
Civil 3D Pipe Networks: Water, Sewer and Fittings (Elbows, Tees, Wyes) Modeled in 3D
How to model water and sewer networks in Civil 3D with elbows, tees and wyes in 3D, why pipes don't draw, and what you can automate.
Civil 3D profiles and profile views: from existing ground to finished grade, bands and sheets, with the most common errors
How to create profiles in Civil 3D: existing ground profile, profile view, finished grade with vertical curves, bands, split views and common errors.
Civil 3D import points from CSV, Excel or TXT: formats, latitude and longitude, duplicates and the most common errors
How to import points into Civil 3D from Excel: preparing the CSV, picking the PNEZD format, lat/long points, duplicates and why points don't show up.