Search
AutoBRIDGE — Vertical Opening · Workflow
AutoBRIDGE · Modification

Vertical Opening on Corridor or Slab

Cut a void vertically through any AutoBRIDGE corridor or slab family by drawing the opening shape as model lines — grouped in Revit — and letting AutoBRIDGE loft them into a void form inside the family in one click.

AutoBRIDGE Modification Vertical Opening
Phase 1 — Target Family Phase 2 — Space Parameters Phase 3 — Model Line Group Phase 4 — Plan View Phase 5 — Run

Why Use Vertical Opening?

When a corridor or slab family needs a penetration — a drainage channel, a cable tray opening, a utility duct — you need a void that passes through the family vertically. The Vertical Opening tool (VerticalOpening.cs) does this in a single click: draw the opening plan shape as model lines in Revit, group them, select the group in this form, and AutoBRIDGE lofts that shape into a void inside the family document and reloads it into your project.

🛤️

Corridor Mode

Works on any AutoBRIDGE corridor family with AutoBRIDGE_Type = AutoBRIDGE_Corridor.

🟦

Slab Mode

Switches to families tagged AutoBRIDGE_Type = AutoBRIDGE_Slab. Space parameters are disabled in this mode.

📐

Any Shape

Draw rectangles, circles, arcs, or splines — the group can contain any mix of curve types.

🗺️

Live Plan Preview

The canvas shows the corridor centreline, left/right extents, and the opening shape overlaid in green — confirming position before you run.

One-Click Void

AutoBRIDGE opens the family, lofts the void at Z = ±500 mm, and reloads it into the project automatically.

Prerequisite — draw model lines first: Before opening this form, draw the opening plan shape in Revit using Architecture → Model Line (or an equivalent 2D model line tool), then group them: select all lines → Modify → Create Group. The group name will appear in the Model Line Group dropdown.

Form Layout — Six Zones

#ZonePurpose
1Instances Family (Row 0, 74 px)comboBox1 — corridor or slab family name. radioButton1 Corridor · radioButton2 Slab toggle.
2Left & Right Space Params (Row 1, 74 px)comboBox2 Left Space · comboBox4 Right Space — optional length parameters from the selected family. Only active in Corridor mode.
3Model Line Group (Row 2, 74 px)comboBox3 — lists all Revit Groups in the project. Select the group containing the opening model lines.
4Plan View Canvas (Row 3, 75 %)GDI+ plan preview — centreline in red, left/right extents in black, opening shape in light green with transparent fill. North indicator top-left.
5Log List (Row 4, 25 %)listBox2 — real-time progress log; reports each step from curve extraction to family reload.
6Run Bar (Row 5, 62 px)button8 "RUN" — cyan, right-docked. Executes void creation and family reload.

Select the Target Family

The first group box — Instances Family — is where you choose whether you're operating on a Corridor or a Slab, and which specific family to modify.

01

Choose Mode: Corridor or Slab

The two radio buttons on the right of the family group box switch the tool between Corridor (default, checked) and Slab mode. Switching mode immediately repopulates comboBox1 by filtering all adaptive family instances in the project by their AutoBRIDGE_Type parameter value.

Instances Family Corridor Family Type Name Corridor Slab
Instances Family group — comboBox1 with Corridor (active) and Slab mode toggle buttons
Slab mode difference: When Slab is checked, the Left and Right Space Parameter dropdowns (Phase 2) are automatically disabled and hidden from the preview — they have no meaning for slab elements.
02

Select the Corridor or Slab Family

comboBox1 is populated by scanning all family instances in the active document for ones with an AutoBRIDGE_Type parameter set to "AutoBRIDGE_Corridor" or "AutoBRIDGE_Slab" depending on the selected mode. Family names are collected into a unique set and sorted alphabetically.

Once a family is selected, PopulateParameterComboBoxes() opens the family document via doc.EditFamily() and reads all Length-type parameters to fill the Left and Right Space dropdowns.

BridgeDeck_BoxGirder_v2 ▸ BridgeDeck_BoxGirder_v2 BridgeDeck_TwinCell_v1 BridgeDeck_UBeam_v3 Corridor Slab
comboBox1 with corridor families listed — filtered by AutoBRIDGE_Type parameter; BridgeDeck_BoxGirder_v2 selected

Left & Right Space Parameters (Optional)

The second group box — Left and Right Space Parameters (Optional) — lets you map the corridor's width parameters to the plan view so you can visually confirm that your opening model lines fall within the corridor deck extent.

These are optional and do not affect the void geometry. They only control what is drawn in the plan view preview. If you skip them, the canvas still shows the centreline and opening shape, just without the width extent lines.
03

Select Left and Right Space Parameters

After selecting a family in Phase 1, comboBox2 (Left Space Parameter) and comboBox4 (Right Space Parameter) are populated with all Length-type instance parameters found in the family document. Select the parameters that represent the half-widths of the deck from the centreline.

Left and Right Space Parameters (Optional) Left Right
Left and Right Space Parameters — each dropdown lists all Length-type parameters from the selected family

In the plan view canvas, the tool draws a line from each corridor instance's centreline position in the direction of the cross-section vector for the selected length value. This shows the deck edge on each side, allowing you to visually verify the opening fits within the deck width.

Define the Opening with a Model Line Group

The Model Line Group dropdown lists every Revit Group in the active document. The selected group must contain the model lines that define the plan-view footprint of the void opening.

How to prepare the group: In Revit, draw your opening shape using Architecture → Model Line in a plan view. Select all lines, then go to Modify → Create Group and give it a descriptive name. The group will immediately appear in comboBox3.
04

Draw the Opening Shape as Model Lines

Draw the plan shape of the void in the correct position relative to the corridor centreline. The shape can be made of any combination of:

  • Lines — straight edges (projected as-is)
  • Arcs — projected by interpolating along the arc and re-creating it
  • Circles — full circular openings (unbound Arc in Revit terms)
  • Splines / NurbSplines — tessellated into 1-metre line segments automatically
Centreline Left extent Right extent Model Line Group Circle Any shape: rect, circle, arc, spline — all rendered in light green in the preview
Plan view showing corridor centreline (red), extent lines (black), and two example opening shapes from the Model Line Group (green)
05

Select the Group in the Dropdown

comboBox3 lists all Group objects in the active Revit document. Select the group you created. The plan view canvas immediately refreshes to show the group's curves overlaid in light green with a semi-transparent fill.

⚠ No duplicate group names: AutoBRIDGE checks for duplicate group names before running. If your selected group name appears more than once in the project, RUN will abort with an error asking you to either purge the project or rename the groups to unique names.

Reading the Plan View Canvas

The large [PLAN] canvas is a GDI+ drawing that projects all corridor/slab geometry and the opening group into a 2D plan view. Use it to visually verify the opening position before running.

06

What the Canvas Shows

The canvas draws four elements in plan:

  • Red lines — the corridor centreline, drawn by connecting the Original_X and Original_Y parameter values of each family instance, translated to project coordinates
  • Black lines — the Left and Right Space parameter extents, drawn as vectors from each centreline point in the cross-section offset direction
  • Light green lines + fill — every curve extracted from the selected Model Line Group, overlaid at their actual project coordinates
  • North indicator — a compass image pinned top-left of the canvas
Left Space Right Space Centreline Opening 1 Opening 2 N [PLAN] Scroll to zoom · Left-drag to pan · Double-click to reset view
Plan canvas — centreline (red), deck extents (black dashed), and two opening shapes from the Model Line Group (light green)
07

Navigate the Canvas

The plan canvas supports three interactions to help you inspect the opening position at any scale:

ActionInputEffect
ZoomScroll wheelScales the view by ±10% per step (min 0.1×, max 20×)
PanLeft-dragShifts the viewport by the drag delta in screen pixels
Reset viewDouble-clickResets zoom to 1.0× and pan to zero

Every parameter change, radio button toggle, and dropdown selection automatically calls pictureBox1.Invalidate() to refresh the canvas — no manual refresh needed.

Run — Create the Void

The RUN button triggers a seven-step pipeline: it extracts the model line curves, adjusts them to the family's coordinate system, lofts them into a void form inside the family document, and reloads the modified family into the project.

08

Pre-flight Validation

Before any geometry is created, RUN checks:

  • A family is selected in comboBox1
  • A group is selected in comboBox3
  • The selected group name is unique in the project (no duplicates)
  • The group contains at least one valid curve
  • The family document can be opened via doc.EditFamily()

Failures at any step show a TaskDialog error and abort — no changes are made to the model.

Progress log Fetching elements from the selected group… · 4 curves found · Family loaded ✓ RUN
Run bar with the log panel showing real-time progress; RUN button on the right
09

Curves Extracted and Adjusted

AutoBRIDGE retrieves all model lines from the group using GetCurvesFromModelLines(), then finds the family instance's insertion point via GetFamilyInstanceLocation(). Each curve is translated by (-insertionPoint.X, -insertionPoint.Y, -insertionPoint.Z) to convert from project coordinates to the family's local coordinate system.

10

Void Loft Created Inside the Family

Inside a single Revit transaction on the family document, CreateLoftFromModelLineCurves():

  1. Creates a sketch plane at Z = −500 mm and projects all adjusted curves onto it → creates model curves → builds ReferenceArray 1
  2. Creates a sketch plane at Z = +500 mm and places the same curves (translated by 100 mm Z, then projected) → builds ReferenceArray 2
  3. Calls familyDoc.FamilyCreate.NewLoftForm(false, refArrArr) to create the void loft form passing through the full family height
Z = −500 mm (Profile 1) Z = +500 mm (Profile 2) Loft (void) Family body (corridor cross-section)
The void loft spans from Z = −500 mm to Z = +500 mm inside the family, cutting through the full depth of the corridor cross-section
11

Family Reloaded into the Project

After the transaction commits, familyDoc.LoadFamily(doc, new FamilyLoadOptions()) reloads the modified family back into the Revit project with overwriteParameterValues = true. All existing corridor instances immediately show the new void cut. A success TaskDialog confirms completion.

Multiple openings: You can run the tool multiple times with different model line groups to add multiple void openings to the same family. Each run adds a new loft void to the family document.
⚠ Irreversible without Undo: The void is added to the family document itself — not as a Revit transaction in the project. The family reload is a model change. Use Ctrl+Z in Revit immediately if the result is wrong to undo the family reload transaction.

Troubleshooting

SymptomLikely CauseFix
comboBox1 is emptyNo family instances with AutoBRIDGE_Type parameter in the projectEnsure corridor or slab instances were created by AutoBRIDGE — manually placed families won't have this parameter
comboBox3 is emptyNo Groups exist in the projectDraw model lines and group them: Select → Modify → Create Group
Duplicate group name errorTwo or more groups share the same nameRename one group (right-click the group in the Project Browser → Rename) or purge unused groups
"No valid curves found"The selected group contains only detail lines or annotation, not model linesRe-draw using Architecture → Model Line, not Annotate → Detail Line
Void in wrong positionModel lines were drawn at a different elevation than the corridor insertion pointDraw model lines in a plan view at the correct level; confirm insertion point Z in Properties
Canvas shows no green linesGroup selected but its curves are far from the corridor in planZoom out in the canvas (scroll down) to locate the green lines; pan to bring them into view
Loft form creation failsOpen curves (not closed loops) passed to the loftEnsure the model lines form a closed loop — the loft requires a closed profile
AutoBRIDGE — Vertical Opening — Workflow Guide
© 2026 AutoBRIDGE Documentation  ·  auto-bridge.net
Scroll to Top