Search
AutoBRIDGE — 3D String · Civil 3D Alignment
AutoBRIDGE · 3D Alignment String

3D String from
Civil 3D Alignment + Profile

Select a running Civil 3D document, pick an alignment and its vertical profile, set a station interval and Revit topography surface, then generate a fully 3D spline family that follows both the horizontal alignment and the design vertical grade.

AutoBRIDGE 3D Alignment String Civil 3D Alignment
Phase 1 — C3D Document Phase 2 — Alignment Phase 3 — Profile Phase 4 — Spacing & Topo Phase 5 — Plan + Elevation Preview Phase 6 — Run

What Does This Tool Do?

The Civil 3D Alignment tool (AlignmentC3D) reads live data from a running Autodesk Civil 3D session, samples the selected alignment's horizontal geometry and vertical profile at a user-defined station interval, projects those stations onto a Revit topography surface to obtain 3D coordinates, then creates a parametric spline family (AutoBRIDGE_3DString_IDxxxxx) placed precisely in the Revit model.

Civil 3D must be running and open: This tool communicates with Civil 3D directly via the AutoBRIDGE Civil3DApplication bridge. At least one Civil 3D document with at least one alignment must be open before launching this form. If Civil 3D is not accessible the document list will be empty and the tool will display a warning.
🏗️

Live C3D Link

Reads open Civil 3D documents in real time — no import/export needed.

〰️

Plan + Profile

Combines horizontal alignment geometry with vertical profile elevations into true 3D stations.

🗺️

Dual Preview

Live Plan view (top) and Elevation view (bottom) both update as you configure selections.

🌍

Topo Projection

Optionally projects plan stations onto a Revit Toposolid or TopographySurface to snap Z to the existing ground.

Form Layout — Four Zones

#ZoneLocationPurpose
1Selector Bar (Row 1, 5%)Top stripThree linked dropdowns: Civil 3D Document → Alignment → Profile
2Dual Canvas (Row 2 left, ~80%)Main body leftTop half: Plan view (pictureBox2, [PLAN] label) — draws alignment in 2D top view with topography footprint. Bottom half: Elevation view (pictureBox1, [ELEVATION] label) — draws the vertical profile at H1:V10 exaggeration with STA/EL tags.
3Right Panel (Row 2 right, ~16%)Main body rightInterval Spacing spinner (numericUpDown1, 1–200 m, default 10 m) + Revit topography dropdown
4Bottom Bar (Row 3, 8%)Bottom stripAlignment info label showing name / start station / end station + cyan RUN button (120×40 px)

What Gets Created

A new Revit Generic Model family named AutoBRIDGE_3DString_ID{random} is saved to Documents\AutoBRIDGE\Modeler\2026\family_template\{template}\Temp\, loaded into the project, and placed at the first computed 3D station point. The spline passes through every station as a CurveByPoints object inside the family document.

Select the Civil 3D Document

comboBox1 (leftmost in the top bar) lists all Civil 3D documents currently open and accessible via the AutoBRIDGE Civil3D bridge. The list is populated by PopulateCivil3DDocuments() which calls Civil3DApplication.GetDocumentNames(). Up to 5 retry attempts are made automatically if the COM connection returns HRESULT: 0x800706BE.

01

Select the Open Civil 3D Drawing

Click comboBox1 and choose the Civil 3D drawing (.dwg) that contains the alignment you need. Each item in the list corresponds to one open document tab in Civil 3D.

Selecting a document triggers comboBox1_SelectedIndexChanged which stores the selected Civil3DDocument reference and calls PopulateAlignments() to fill comboBox2. The plan and elevation canvases reset.

If comboBox1 is empty: Civil 3D is either not running, no document is open, or the AutoBRIDGE bridge cannot connect. Open Civil 3D, load your project drawing, then close and re-open this form.
BridgeProject_C3D_2026.dwg Alignment Profile
Top selector bar — C3D Document selected (cyan border); Alignment and Profile dropdowns await selection

Select the Alignment

comboBox2 is populated by PopulateAlignments() which calls Civil3DDocument.GetAlignments(selectedDoc). All alignments found in the selected Civil 3D document are listed by name. Selecting one immediately draws the alignment in the Plan canvas and clears the Profile dropdown.

02

Pick the Alignment from the List

Select the horizontal alignment you want to convert to a 3D string. The plan canvas (pictureBox2, labelled [PLAN]) draws the alignment as a polyline in 2D plan view. If a Revit topography element is also selected in the right panel, its convex hull footprint is shown as a filled semi-transparent polygon.

The status label at the bottom updates to show: Alignment Name: [name] || Start Station: [X.XXX] || End Station: [Y.YYY]

0+000 0+100 0+500 [PLAN] Alignment Topo footprint
Plan canvas — alignment shown in cyan; green polygon = Revit topography footprint; white circles = station dots

Select the Vertical Profile

After selecting an alignment, comboBox3 is populated with all profiles attached to that alignment via selectedAlignment.GetProfiles(). Select the design profile (vertical geometry) you want to use for elevation data. This drives the Elevation canvas.

03

Pick the Design Profile

Select the profile name from comboBox3. The elevation canvas (pictureBox1, labelled [ELEVATION]) immediately renders a vertical section view at an exaggerated H1:V10 ratio. The X-axis represents station distance; the Y-axis shows the design elevation.

Every station is tagged with a vertical drop line to a datum, with STA= X.X m (rotated 90°) and EL= Z.Z m labels at each interval point. A datum line labelled Datum: N.N m is drawn across the full profile length.

[ELEVATION] H1:V10 Datum: 48.0m STA=0.0m STA=100m STA=200m STA=300m EL=62m EL=68m
Elevation canvas — red profile line at H1:V10 exaggeration; vertical lines with STA and EL tags at every interval; datum baseline
Tip — which profile to pick: Choose the design profile (finished road grade), not the existing ground profile, unless you specifically want the string to follow existing terrain. Both will appear in the list if both are attached to the alignment.

Set Interval Spacing & Topography

The right panel contains two controls: a spinner to set how densely stations are sampled along the alignment, and a dropdown to select the Revit topography element whose surface will be used for vertical intersection if needed.

04

Set the Interval Spacing

numericUpDown1 (labelled Interval spacing:) controls the arc-length gap in metres between successive station points. Range: 1–200 m, default: 10 m. Every change to this value clears the preview cache and redraws both canvases.

Smaller intervals produce smoother 3D splines on curved alignments but increase the number of reference points in the family. For straight alignments a spacing of 20–50 m is usually sufficient; for tight curves use 5 m or less.

Performance note: Very small intervals (1–2 m) on long alignments (500+ m) can create hundreds of reference points. The family creation and loading step will take longer. Start with 10 m and reduce only if the curve accuracy is insufficient.
05

Select the Revit Topography (Optional)

The topography dropdown (right panel, below the spinner) lists all Toposolid and TopographySurface elements found in the active Revit document, labelled as SurfaceName (ID: xxxxxxx). Selecting one enables visual display of the topo footprint in the Plan canvas.

When selected at RUN time, the tool projects each plan station vertically (ray cast) through the topography geometry to find the surface Z value — overriding the profile elevation with the existing ground level at that station. Leave this blank to use the Civil 3D profile elevation exclusively.

When to use topography projection: If the alignment profile elevations exactly match your Revit toposolid surface, both will agree. If you only have a horizontal alignment with no profile and want to drape the string on terrain, select the topo. If you have a design profile that deviates from existing ground (e.g., embankment), leave topo blank.

Right Panel Layout

Interval spacing: 10 Range: 1 – 200 m Topography: Toposolid (ID: 12345) Leave blank to use C3D profile elevations
Right panel — interval spinner (1–200 m) and Revit topography dropdown

Reading the Dual Preview Canvases

The main body is split into two stacked interactive canvases, each occupying roughly half the available height. Both support pan and zoom independently.

06

Plan Canvas (Top Half — pictureBox2)

Shows the alignment in 2D top view (north up). All station points are shown as white dots at the selected interval. If a topography element is selected, its plan footprint is shown as a semi-transparent green filled polygon (convex hull of all topography points). This lets you verify the alignment route lies within the topo extent before running.

ActionInput
PanLeft-button drag
ZoomScroll wheel (10–3000% range)
ResetDouble-click
07

Elevation Canvas (Bottom Half — pictureBox1)

Shows the vertical profile as a red line plotted on a station (X) vs elevation (Z) graph at an exaggerated H1:V10 vertical scale. Vertical drop lines at each station carry rotated STA and EL tags. A datum baseline is drawn at the bottom with a label showing its elevation. This view lets you confirm the profile grade, identify peaks and sags, and verify that the elevation values look correct before committing the run.

ActionInput
PanLeft-button drag
ZoomScroll wheel (10–2000% range)
ResetDouble-click
H1:V10 explained: The vertical scale is exaggerated 10× relative to the horizontal scale. A 5 m change in elevation over 500 m of horizontal distance (0.01 slope) will look like a noticeable ramp in the canvas. This is standard road design practice for profile sheets.

Run and Validate

08

Click RUN — Six-Stage Pipeline

The cyan RUN button executes the following sequence, tracked by a progress bar:

  1. Validate selections — checks that all three dropdowns (document, alignment, profile) are selected. Shows specific error dialogs if any are missing.
  2. Get curve elements — retrieves the horizontal alignment geometry from Civil 3D.
  3. Station sampling — generates a station list from 0 to alignment length at the chosen interval using CreateRange(). Progress: 1–21%.
  4. Point extraction — calls GetPointsAtStationsFromCurves() which tessellates each alignment segment and interpolates XY positions at every station. Progress: 10–20%.
  5. Topography intersection — if a topo element is selected, each XY station is cast vertically through the Toposolid/Topography geometry to find the surface Z. Progress: 25–66%.
  6. Family creation & placement — creates a new family document from the selected template (.rft), builds a CurveByPoints spline through all adjusted points, saves the .rfa file, loads it into the Revit project, and places an instance at the first point. Progress: 68–100%.
Output family name: AutoBRIDGE_3DString_IDxxxxx where xxxxx is a random 5-digit number. The .rfa file is saved in Documents\AutoBRIDGE\Modeler\2026\family_template\{template}\Temp\.

Troubleshooting

SymptomCauseFix
comboBox1 empty on openCivil 3D not running or no document openLaunch Civil 3D, open the project drawing, then re-open this form
Error: HRESULT 0x800706BE after retriesCOM connection to Civil 3D unstableRestart Civil 3D; avoid switching windows during form load
comboBox2 (Alignment) emptySelected C3D document has no alignmentsSelect a different document or create an alignment in Civil 3D
comboBox3 (Profile) emptySelected alignment has no attached profilesCreate a vertical profile in Civil 3D for the selected alignment
Elevation canvas is blankNo profile selected yet, or profile has no data pointsSelect comboBox3; ensure the profile has geometry
3D string placed at wrong Z levelUsing profile elevations when topo is expected, or vice versaClear the topo dropdown to use only profile Z; select topo to drape on terrain
Template not found error during RUNNo template selected in AutoBRIDGE global settingsOpen AutoBRIDGE settings and select a family template before proceeding
Spline looks jagged / kinkedInterval too large relative to alignment curvatureReduce the Interval Spacing (try 5 m or less on tight curves)
AutoBRIDGE — 3D Alignment String · Civil 3D Alignment — Workflow Guide
© 2026 AutoBRIDGE Documentation  ·  auto-bridge.net
Scroll to Top