Search
AutoBRIDGE — Corridor Update (Civil 3D) · User Manual
AutoBRIDGE · Corridor — Civil 3D Update

Corridor Update from Civil 3D Alignment Changes

When a Civil 3D alignment or profile is revised, AutoBRIDGE can re-query the updated geometry and move every existing corridor family instance to its new position — preserving your spans, offsets, and subcategory assignments without rebuilding from scratch.

AutoBRIDGE Corridor Update from Civil 3D
Module: CorridorUpdateCivil3D.cs AutoBRIDGE Modeler v2026 Requires Civil 3D running alongside Revit

Why Update Instead of Rebuild?

After a Civil 3D alignment is revised — horizontal re-routing, vertical profile adjustment, or combined geometry change — the existing AutoBRIDGE corridor in Revit is no longer correctly positioned. Rebuilding from scratch means re-entering all span data, offsets, and subcategory assignments. The Corridor Update tool avoids that entirely.

Because AutoBRIDGE stores the Station, Original_X, Original_Y, Original_Z, Rotation, Offset_X, and Offset_Y parameters on every nested family instance during corridor creation, the Update tool can simply re-read those stations and re-query Civil 3D for the revised geometry at those exact same chainages.

Core principle: The station values do not change — only the XYZ world coordinates and rotation angle at each station are recalculated from the updated Civil 3D alignment and profile. Every instance is then moved in a single Revit transaction.
🔄

Non-Destructive Update

Stations, span layout, EJ offsets and subcategory assignments all survive the update unchanged — only XYZ positions and rotations are recalculated.

📐

Plan + Elevation Preview

Live interactive previews show the updated Civil 3D alignment in plan and the new profile in elevation — with the current corridor overlay drawn in red so you can see exactly what shifts.

📊

Delta Report

Generate a comparison table showing Current vs Potential coordinates, ΔX, ΔY, ΔZ, XY displacement, and Δ Rotation per instance — exportable to CSV before you commit.

How the Update Works Internally

When you click UPDATE, AutoBRIDGE executes the following pipeline in order:

Read station parameters from existing nested instances

Opens the corridor family for editing and reads the Station parameter from every nested adaptive instance stored inside the family document.

Apply station offset (optional)

If an ST ± offset is entered, it is added to all station values uniformly before Civil 3D is queried — useful when the alignment start station has shifted.

Re-query Civil 3D at those stations

Calls PointsByStations2 and VectorsByStations2 on the alignment, and GetProfileElevationByStation on the profile to obtain new XYZ coordinates and tangent angles.

Delete existing solid/void forms

All Form elements in the family document are deleted so the loft geometry can be recreated cleanly at the new positions.

Move all nested instances in one transaction

Updates LocationPoint, Rotation, Station, Original_X/Y/Z, and Offset_X/Y for every instance inside the family document.

Move the parent family instance in the project

Translates the main corridor family's location in the Revit project document using the Project Base Point correction, placing it at the new first-station world coordinate.

Recreate solid and void loft forms

Calls CreateLoftForm for each subcategory name stored in SubcategorySolid and SubcategoryVoid parameters, regenerating the swept geometry.

Reload the family into the project

Calls familyDoc.LoadFamily(doc, new FamilyLoadOptions()) so the updated geometry is immediately visible in all Revit views — no manual reload needed.

Full Form Layout

The form is arranged in five vertical zones, matching the exact tableLayoutPanel2 row order in code: an Instance Family bar (A) with the corridor family picker and ST.± offset, a Civil 3D Alignment groupBox (B) with the three cascading combos and RL.± offset, a three-tab preview area (C) for Plan / Elevation / Report views, a live log panel + progress bar (D), and at the very bottom a Alignment info + RUN row (E).

A AutoBRIDGE — Corridor Update from Civil 3D Instance Family BridgeDeck_Twin_Box_v2 ▾ ST. +- 0 A — Instance Family (comboBox5 + ST.±) Civil 3D Alignment DOCUMENTS Corridor_Project_v4.dwg ▾ ALIGNMENTS Bridge_Centreline ▾ PROFILES Finished Road Level ▾ RL. +- 0 B — Civil 3D Alignment (comboBox1/2/3 + RL.±) — PLAN — — ELEVATION — — REPORT — [PLAN] N STA=0m STA=50m STA=150m STA=200m STA=285m Scroll to zoom · Left-drag to pan · Double-click to reset view C — Tab Preview === Corridor Update Civil3D === Starting process... All required selections are present. === Data Retrieval === Selected family: 'BridgeDeck_Twin_Box_v2' | Found 57 nested family instances. Subcategory parameters — Solids: 'Deck Slab, Barrier', Voids: 'Void_Box' === Updating Family === All forms deleted. Civil 3D data retrieved. 57 instances updated. Family loaded back into project document successfully. D — Log Output + Progress Bar Alignment info Alignment Name: Bridge_Centreline || Start Station: 0.000 || End Station: 285.600 RUN E — Alignment Info + RUN (button3)
Full form layout — A (Instance Family: comboBox5 corridor picker + ST.±) · B (Civil 3D Alignment groupBox: Documents / Alignments / Profiles + RL.±) · C (tabControl: PLAN / ELEVATION / REPORT) · D (listBox1 log + progressBar1 at bottom) · E (Alignment info label + RUN button)

Select the Civil 3D Document

The leftmost combo (comboBox1) lists every Civil 3D document currently open in the AutoCAD Civil 3D session running alongside Revit. AutoBRIDGE communicates with Civil 3D over COM and retries up to five times if the connection is unstable.

1

Choose the Civil 3D Source File

Open the Document dropdown (Zone A, leftmost). It will list the names of all .dwg files open in the Civil 3D session. Select the file that contains the alignment you want to use for the update.

  • Civil 3D must be running and open before you open this form — otherwise the list will be empty and a warning dialog will appear.
  • Selecting a document clears any current alignment and profile selections and resets the PLAN/ELEVATION previews.
  • If Civil 3D returns an HRESULT COM error, AutoBRIDGE retries the query automatically up to 5 times before showing an error.
DOCUMENT Corridor_Project_v4.dwg ▾ Corridor_Project_v4.dwg Viaduct_Alignment_Final.dwg Site_Survey_2026.dwg ... 1 more document ALIGNMENT ← populates after selection Select alignment... ▾ PROFILE Select profile... ▾
comboBox1 open — select the Civil 3D .dwg file containing the updated alignment. The alignment and profile combos populate in sequence after this selection.
Civil 3D must be open: This form requires Civil 3D to be running. If no documents are found, ensure AutoCAD Civil 3D is open with at least one .dwg file loaded, then close and reopen the form.

Select the Alignment

The middle combo (comboBox2) is populated with all alignments found in the selected Civil 3D document. Choose the alignment whose geometry has been revised and that the corridor was originally built from.

2

Choose the Updated Alignment

Select the alignment name from the Alignment dropdown. Once selected, the PLAN tab preview canvas immediately renders the full alignment geometry as a white polyline with chainage labels at regular intervals.

  • The interval between chainage labels is chosen automatically based on alignment length: every 1 m (length ≤ 100 m), 10 m (≤ 2 km), 100 m (≤ 10 km), or 1000 m (longer).
  • Selecting a new alignment clears the profile selection (comboBox3) and clears the preview caches.
  • The profile combo (comboBox3) is populated after alignment selection by reading the profiles attached to that alignment.
STA= 0m STA= 7100m STA= 14200m STA= 21300m STA= 28560m [PLAN] Scroll to zoom · Left-drag to pan · Double-click to reset
PLAN tab (pictureBox2) — Civil 3D alignment rendered in plan view with automatic chainage labelling and yellow station dots. Interactive: scroll to zoom, left-drag to pan, double-click to reset.

Select the Profile

The rightmost combo (comboBox3) lists all profiles attached to the selected alignment. Choose the profile that was used when the corridor was originally created — typically the Finished Road Level or design road grade profile.

3

Choose the Updated Profile

After selecting the profile, switch to the ELEVATION tab to see the profile preview rendered as a blue curve with station tags and a datum reference line. If a corridor family is already selected in Zone B, the current corridor positions are drawn over the profile as a red overlay — giving you an immediate visual comparison of where the existing corridor sits versus the new profile.

  • The profile curve is sampled every 2 m for a smooth draw with major labels every 100 m and minor ticks every 20 m.
  • The red overlay uses the stored Station and Original_Z parameters from the existing family instances — so it reflects the current Revit model positions.
  • Use the ↻ refresh button on the tab if the preview does not update automatically after profile selection.
Datum: 8.0m STA=0m STA=143m STA=286m New profile (Civil 3D) Current corridor (Revit) [ELEVATION]
ELEVATION tab — blue = new Civil 3D profile, red = current Revit corridor positions. The vertical gap reveals how much the corridor needs to shift.
PROFILE COMBO — comboBox3 Finished Road Level ▾ Finished Road Level Existing Ground Level Bridge Deck Profile Softened Profile_v2 Alignment Name: Bridge_Centreline || Start: 0.000 || End: 285.600 Use if preview doesn't update ⚠ Match the profile used during original corridor creation Using a different profile will shift all Z elevations incorrectly.
comboBox3 profile list — select the same profile used during original creation. The alignment info label (C) shows alignment extent for reference.
Match the original profile: The update re-queries elevations from the profile at the stored station values. If you select a different profile than the one used originally, all Z positions will be incorrect. The corridor creation report (if saved) will list which profile was used.

Select the Corridor Family & Set Offsets

Zone B contains three controls used to identify the corridor to update and apply any coordinate adjustments before the Civil 3D query.

4

Corridor Family Type Name (comboBox5)

The Corridor Family Type Name dropdown lists every family instance in the active Revit document that carries the parameter AutoBRIDGE_Type = "AutoBRIDGE_Corridor". Each entry is a unique family name — which maps to one corridor that was previously created by AutoBRIDGE.

  • Select the family name that corresponds to the corridor you want to update.
  • AutoBRIDGE will open that family for editing (doc.EditFamily) to access the nested adaptive instances inside.
  • Selecting this combo also updates the red overlay in the ELEVATION preview to show that corridor's current positions.
Instance Family BridgeDeck_Twin_Box_v2 ▾ EL. ±(m) 0.15 ST. ±(m) 0 Lists all family instances in the Revit document where AutoBRIDGE_Type == "AutoBRIDGE_Corridor" — sorted alphabetically by family name
comboBox5 — identifies the corridor family to update by filtering on AutoBRIDGE_Type. The EL.± and ST.± fields are optional coordinate offsets.

EL. ± Offset (additionalValueTextBox)

Applies a uniform vertical elevation shift to all family instances after the profile elevation is read. Enter a value in metres — positive to raise, negative to lower. This is useful when a survey datum adjustment has shifted the profile globally.

ST. ± Offset (additionalValueSTTextBox)

Applies a uniform station offset to all stored station values before Civil 3D is queried. If the alignment start station has been renumbered (e.g. from 0+000 to 100+000) but the geometry is unchanged, enter the difference here so that stations query the correct position. Enter in metres.

ControlDefaultEffect
comboBox5 — Corridor FamilyIdentifies which existing corridor to update. Filtered by AutoBRIDGE_Type = "AutoBRIDGE_Corridor".
additionalValueTextBox — EL. ±0Added to every profile elevation after Civil 3D query. Useful for datum corrections. Unit: metres.
additionalValueSTTextBox — ST. ±0Added to every stored station before querying Civil 3D. Useful when alignment chainages have been renumbered. Unit: metres.

Review the Plan & Elevation Previews

Before running the update, study the two preview tabs to confirm the alignment, profile, and corridor relationship visually. Both canvases are fully interactive.

5

Tab 1 — Plan View (pictureBox2)

Shows the Civil 3D alignment geometry in plan, rendered as a white polyline. Chainage labels are drawn at regular intervals (auto-scaled to alignment length) and tick marks indicate major and minor station points. This view helps confirm the overall alignment geometry looks correct before running.

Tab 2 — Elevation View (pictureBox1)

Shows the Civil 3D profile as a blue curve with station chainage ticks along the datum baseline. When a corridor family is selected, the current Revit corridor positions are overlaid as a red line — allowing direct visual comparison of how far the existing corridor has drifted from the updated profile. The vertical scale is exaggerated 10× for clarity.

Datum: 8.0m ΔZ gap STA=0 STA=100m STA=200m STA=285m Updated profile Current corridor ↻ refresh · Scroll zoom · Drag pan · Dbl-click reset STA=0 STA=95m STA=190m STA=285m [PLAN] Scroll zoom · Drag pan · Dbl-click reset ELEVATION tab — Tab 2 PLAN tab — Tab 1
Left: ELEVATION tab — blue = updated profile, red = current corridor, yellow arrow = ΔZ gap. Right: PLAN tab — white = alignment with chainage labels, yellow dots = station points. Both views are interactive.
InteractionPlan (Tab 1)Elevation (Tab 2)
ZoomScroll wheelScroll wheel
PanLeft-dragLeft-drag
Reset viewDouble-clickDouble-click
Force refresh↻ button on tab↻ button on tab

Generate the Delta Report

The REPORT tab (Tab 3) lets you preview exactly what will change before committing the update to Revit. It computes the delta between every existing instance's current coordinates and the new Civil 3D coordinates at those stations — without modifying anything in the model.

6

Generate Report (buttonGenerate) & Export CSV (buttonExport)

Switch to the REPORT tab and click Generate Report. AutoBRIDGE reads the current family parameters and queries Civil 3D for the new values, then populates the table. No Revit changes are made at this stage.

Click Export CSV to save the full comparison table as a timestamped .csv file for review or project records.

Generate Report Export CSV ⬇ — No Revit changes are made in this step Instance Current St. (m) Potential St. (m) Δ Station Current X Potential X ΔX (m) Current Y Potential Y ΔY (m) XY Dist Current Z Potential Z ΔZ (m) Instance 0 0.0000.0000.000 285412.340285415.1122.772 6703451.2206703453.8902.670 3.840 18.45018.9200.470 Instance 1 5.0005.0000.000 285416.820285419.6022.782 6703455.1106703457.7912.681 3.853 18.51218.9860.474 Instance 2 10.00010.0000.000 285421.302285424.0962.794 6703459.0016703461.6952.694 3.867 18.59019.0600.470 Instance 3 15.00015.0000.000 285425.790285428.5962.806 6703462.8976703465.6032.706 3.882 18.67019.1360.466 ... 53 more rows Column colours: Green = no change Red bold = displaced XY Dist = √(ΔX²+ΔY²) — horizontal displacement magnitude
REPORT tab — Current vs Potential coordinates per instance. Red/bold = significant displacement. XY Dist shows planar movement. ΔStation is 0 when ST.± offset = 0.

The report table has 17 columns. For each nested instance it shows:

Instance Current Station (m) Potential Station (m) Δ Station (m) Current X (m) Potential X (m) ΔX (m) Current Y (m) Potential Y (m) ΔY (m) XY Distance (m) Current Z (m) Potential Z (m) ΔZ (m) Current Rot (rad) Potential Rot (rad) Δ Rotation (rad)
Tip: Export the report to CSV before running the update. It provides a permanent audit trail of how much the corridor moved, which is useful for design change documentation.

Run the Update

Click the UPDATE button (button3) to commit all changes to Revit. The operation runs through eight internal stages logged in real time in the log panel (Zone E) with a progress bar tracking completion.

7

Validation, Execution Stages & Completion

Before processing begins, AutoBRIDGE validates all selections. If any required input is missing, the log panel shows which field is incomplete and the update does not proceed.

=== Corridor Update Civil3D === Starting process... Validating combo box selections... All required selections are present. === Data Retrieval === Selected family name from comboBox: 'BridgeDeck_Twin_Box_v2' Main Family document retrieved successfully. Found 57 nested family instances in Main Family document. Subcategory parameters — Solids: 'Deck Slab, Barrier', Voids: 'Void_Box' === Updating Family === Deleting existing forms due to presence of solid subcategories... Identified 2 forms to delete. All forms deleted successfully. === Data Retrieval (Civil 3D) === Alignment retrieved successfully. Profile retrieved successfully. Extracted 57 station values from family instances. Retrieved 57 elevation values from profile (in meters). Generated points — Main: 57, Offset: 57 Calculated 57 angles (in radians). === Updating Project Document === Family instances updated. Creating solid form: 'Deck Slab' ... 'Barrier' Creating void form: 'Void_Box' Family loaded back into project document successfully. 100% — Complete
Log panel during a successful update — eight stages logged in real time. Progress bar reaches 100% and a success dialog appears on completion.

Update Stage Progress

ProgressStageWhat happens
0–20%InitializationValidates selections; retrieves Revit doc, family document, and nested instances; reads SubcategorySolid / SubcategoryVoid parameters.
20%Delete old formsAll Form elements (loft geometry) in the family document are deleted in a Revit transaction, clearing space for the new geometry.
22–65%Civil 3D data retrievalReads station parameters; queries Civil 3D for XY coordinates, profile elevations, tangent vectors, and rotation angles at all stations.
65–75%Update nested instancesSingle Revit transaction inside the family document: moves LocationPoint and sets Rotation, Station, Original_X/Y/Z, Offset_X/Y for every instance.
75–80%Update project instanceMoves the main corridor family's location in the Revit project document to the new first-station world coordinate, corrected by the Project Base Point.
80–90%Recreate formsCalls CreateLoftForm for each solid subcategory name, then each void subcategory, regenerating all swept 3D geometry.
90–95%Reload familyLoads the updated family back into the project (LoadFamily with overwrite). All Revit views immediately reflect the new corridor geometry.
95–100%FinalizeCaches are refreshed; both preview canvases redrawn to confirm the final state. Success dialog shown.
Undo: The update runs across multiple Revit transactions (one inside the family document, one for the project instance move). Use Ctrl+Z in Revit to step back through these. Because the family is also reloaded, the undo chain may require several steps — it is recommended to save the model before running the update.
Wait overlay: A WaitProcess spinner is displayed in the centre of the form during processing to indicate that the operation is running. The form will be unresponsive until the update completes — this is expected behaviour. Do not close Revit or Civil 3D during this time.

End-to-End Workflow

Make alignment/profile changes in Civil 3D and save

Edit the horizontal alignment or vertical profile in Civil 3D and save the DWG file. The changes should be reflected in the Civil 3D session before proceeding.

Save the Revit model

Before running the update, save the Revit project to create a restore point in case the undo chain needs to be used.

Open AutoBRIDGE → Corridor → Update from Civil 3D

The form opens, scans for Civil 3D documents, and populates comboBox1. Civil 3D must be running.

Select Document → Alignment → Profile (cascading)

Each selection auto-populates the next. The PLAN preview updates after alignment selection; ELEVATION preview updates after profile selection.

Select the Corridor Family (comboBox5)

Pick the AutoBRIDGE_Corridor family whose instances need to be updated. The ELEVATION preview overlays the current corridor positions in red.

Set EL. ± and ST. ± offsets (if needed)

Leave at 0 for a pure geometry update. Enter a value only if datum corrections or station renumbering are required.

(Optional) Generate Report → review → Export CSV

Switch to the REPORT tab, click Generate, review the delta values. Export to CSV for records. No model changes yet.

Click UPDATE and wait for the success dialog

The form processes all eight stages. When the dialog says "All parameters set successfully", the corridor is updated. Close the form and verify in Revit views.

Parameters Updated Per Instance

The following parameters are written to every nested adaptive instance inside the corridor family document during the update transaction:

Parameter NameTypeDescription
LocationPointPoint (internal)The spatial position of the instance inside the family document — updated to the new translated XYZ coordinates.
RotationDouble (radians)Tangent angle of the alignment at the instance's station — recalculated from VectorsByStations2.
StationDouble (feet/Revit internal)Chainage value along the alignment — updated with any ST.± offset applied.
Original_XDouble (feet)World X coordinate from Civil 3D (absolute, before project base point correction).
Original_YDouble (feet)World Y coordinate from Civil 3D (absolute, before project base point correction).
Original_ZDouble (feet)World Z coordinate (profile elevation) from Civil 3D, with EL.± offset applied.
Offset_XDouble (feet)X coordinate of the offset point (1 m lateral from alignment) — used for bearing calculation.
Offset_YDouble (feet)Y coordinate of the offset point.

Troubleshooting

SymptomLikely CauseFix
comboBox1 is emptyCivil 3D not running or no documents openEnsure AutoCAD Civil 3D is open with the correct DWG file loaded. Close and reopen the form.
HRESULT COM error on openUnstable COM connection to Civil 3DAutoBRIDGE retries up to 5 times automatically. If it still fails, restart Civil 3D and try again.
PLAN preview is blank after alignment selectionAlignment has no geometry points, or length is 0Verify the alignment is fully defined in Civil 3D. Use the ↻ refresh button to retry.
ELEVATION preview shows no red overlayCorridor family not yet selected in comboBox5, or family has no instances with valid Station parameterSelect a corridor family in comboBox5. Ensure the family was created by AutoBRIDGE (has AutoBRIDGE_Type parameter).
comboBox5 is emptyNo AutoBRIDGE corridors in the Revit documentThe corridor must have been created first using AutoBRIDGE Corridor Creation. This tool can only update existing AutoBRIDGE corridors.
"Family document not found" in logThe family name selected in comboBox5 cannot be found in the project familiesEnsure the corridor family is loaded in the Revit project. Sync if using Revit Cloud/BIM360.
"Data mismatch detected" in logNumber of nested instances does not match the number of Civil 3D query resultsCheck that the alignment has stations covering the full range of the corridor. Ensure the ST.± offset is not pushing stations out of the alignment's extent.
Corridor moves but Z elevations are wrongWrong profile selected, or EL.± offset incorrectly setVerify comboBox3 shows the same profile used during original creation. Reset EL.± to 0 unless a datum correction is intentional.
Update completes but geometry looks wrongDirection of alignment may differ from original; or Project Base Point has movedCheck that the Civil 3D alignment direction matches the original. Verify the Revit Project Base Point coordinates have not changed.
Progress stalls at 20%Form deletion transaction failed inside the family documentThe log will show the specific error. Try reloading the family manually and re-running.
Revit freezes during updateLarge corridor with many instances; normal behaviourWait for the WaitProcess spinner to close. Do not interact with Revit or Civil 3D during processing.
AutoBRIDGE Corridor Update — Civil 3D Method — User Manual
Module: CorridorUpdateCivil3D.cs · AutoBRIDGE Modeler v2026 · Requires AutoCAD Civil 3D running alongside Revit
Scroll to Top