Motivation #
If you’re generating a simple corridor via the UI—by using the Intersection Wizard and other built-in tools in Civil 3D—you can reasonably trust that the corridor profile is well-formed. At least, that’s been my experience.
However, if your corridor is complex—with different assembly definitions along stations, generated via scripts, or involving multiple alignments forming intersections—then you need to verify that the corridor is properly constructed. Civil 3D will not prompt you if the corridor is malformed or unrealistic. It’s your responsibility to ensure its integrity.
This post stems from my experience generating corridors using C# scripts and reflects insights from discussions with other Civil 3D users on the forums.
What to Check #
The Section View #
Refer to this forum post, where you’ll see a distorted assembly in the Intersection Region:
This is a sign that your corridor—especially when involving multiple roads and intersection regions—may contain overlapping regions.
The Plan View for the Corridor #
Next, examine the Plan View:
Careful inspection reveals overlapping regions (e.g., the yellow and green areas), indicating that the region definitions are incorrect.
The Corridor Region #
Right-click on the corridor and select Properties…. You’ll see something like this:
Notice the issue?
In the intersection region (Station 696++ to 721++), a Left-and-Right assembly (road1) is applied across the entire region for road1-Baseline. However, this same region also includes intersection-specific regions—J1-Left Baseline and J2-Right Baseline—defined over the same station range.
That’s the root of the problem.
Solution #
To resolve this, you must use different assemblies for road1-Baseline depending on whether the region is within or outside the intersection area.
- From Station 0 to 696, and again from 721 to 786, use a both-side assembly that defines both left and right sides of the road.
- For the intersection region (696 to 721), use a single-sided assembly that defines only the left-hand side (LHS) of the road. The right-hand side (RHS) must be left empty to allow the intersection region to fill it in.
Things to Be Mindful Of #
- Corridor regions must be defined sequentially. Once you’ve passed a station, you cannot go back and redefine earlier segments. This makes strategies like defining the LHS first, then RHS, infeasible. Instead, divide your regions into multiple segments and define LHS and RHS together as you move along the chainage.
- Zoom in closely to regions where intersections meet the main road. It’s easy to overlook minor overlaps between main road and intersection regions, which can cause visual and structural distortions.
TODO #
It would be helpful if someone created a script to verify that all regions in the corridor are properly covered and non-overlapping. One user suggested using Dynamo, though I haven’t tested this yet.