ArchPlug / Documentation / Building from Line

Building from Line — Detailed User Guide

Generate a whole building from a single closed line.

Autodesk Revit 2022–2027 Windows One-time purchase — $174 (regular $290) Guide updated: July 2026
⬇︎ Download this guide as PDF View plugin & free trial →

Draw one closed outline. Get levels, grids, columns, beams, walls, a foundation slab, floors, a real hip roof and windows — as native Revit elements.


Overview

Building from Line turns a single closed loop of model lines into a complete, native Revit building. You select the outline once; the plugin opens a window with eight independent generator sections, a live 2D floor-plan preview and a live 3D preview. Each section can be run on its own, or all of them in order with one RUN ALL button:

Massing a building in Revit by hand means drawing the same outline again for every level, every slab and every roof, then constraining walls, hosting windows and keeping everything in sync as the footprint changes. Building from Line reads the outline geometry once and derives all of it — wall centerlines, slab boundaries, roof footprint and slope, column and beam positions, window host points — so a first massing that normally takes an afternoon takes a few clicks.

Just as important: the plugin is non-destructive and re-runnable. Every element it creates is either placed inside its own named group (ArchPlug_Foundation, ArchPlug_Walls, ArchPlug_Roof, ArchPlug_Floor_…, ArchPlug_Struct_…) or tagged in its Comments parameter. Running a step again deletes only the plugin's own previous output for that step and rebuilds it — never duplicating, and never touching anything you modelled yourself.

Key Benefits & Use Cases

Who it's for

Concrete scenarios

Requirements

Installation

  1. Run the provided Setup.exe installer and follow the prompts. It installs the plugin, the shared ArchPlug Core runtime and the ArchPlug Settings hub.
  2. If Revit was closed during installation, no further steps are needed — the plugin is available the next time you start Revit. (A restart is only needed if Revit was running during the install.)
  3. Open Revit and look for the ArchPlug tab on the ribbon. Building from Line appears there as its own button in the Generators panel.
  4. Click the button to open the main window.

Getting the Outline In

The plugin is driven by one closed loop of model or detail lines — the building footprint.

  1. Draw the footprint in a plan view with any line tool (Architecture → Model Line, or detail lines). Endpoints must meet exactly; a gap of even a millimetre breaks the loop.
  2. Select the lines and click the plugin button. The plugin validates the loop, binds the lines into a model group named ArchPlug_Outline, and opens the window.
  3. If you launch the plugin without a selection, it finds the existing ArchPlug_Outline group by itself — so on the next session you just press the button. Selecting a new set of lines always wins and replaces the old outline.
  4. Because the outline lives in a group, you can move or reshape it later in Revit; the plugin re-reads it and the building follows on the next run.
If the selected lines do not form a closed loop, the plugin says so explicitly: "Selected lines do not form a closed loop. Make sure endpoints meet exactly (no gaps)."

User Interface Walkthrough

The plugin opens a single window titled "ArchPlug – Building from Line". Key characteristics:

The section accordion

Each section is a collapsible orange bar. Click the bar to expand or collapse it ([ + ] / [ - ]). Every bar carries two controls:

"Levels" (opens its own window)

The Levels bar opens a separate ArchPlug – Levels window containing an editable grid of all levels in the project:

ColumnWhat it does
UseTick the levels the building is built on. Every other section works on the ticked levels only.
NameRename the level; committed to Revit with Apply to Revit.
Elevation (m)Change the level elevation; committed with Apply to Revit.
Unique floor groupGive this level its own floor group instead of a copy of the shared one — use it when a level's slab must differ.
Unique window groupSame idea for that level's windows.

Buttons: + Add level, Delete selected (removes the level from Revit, with a confirmation), Check all, Uncheck all, Apply to Revit and Close. Hold Shift or Ctrl to select several rows — toggling one check-box then applies to the whole selection. Closing the Levels window refreshes the 3D preview automatically.

"Grids / Axes"

ControlLabelWhat it does
Text fieldX axes (count):How many vertical axes to spread across the outline. Updates the preview live as you type; 0 means no axes in that direction.
Text fieldY axes (count):The same for horizontal axes.
RUNCreates real Revit Grid elements from the axes currently shown in the preview.

Axes are fully editable directly in the 2D preview — see The 2D plan preview below.

"Columns & Beams"

ControlLabelWhat it does
Drop-downColumn family:The Structural Column type used for columns, listed as FamilyName : TypeName.
Drop-downBeam family:The Structural Framing type used for beams.
Check-boxPerimeter beams (along outline)Beams following the footprint, offset inwards by the value below.
Check-boxBeams along grid axesBeams along every axis, clipped to the outline.
Check-boxColumns at axis intersectionsA column wherever two axes cross inside the outline.
Check-boxColumns at outline cornersA column at every corner of the footprint.
Text fieldInward offset for perimeter beams (cm):How far the perimeter beam line is pulled inside the outline.

Structure is created per enabled level and grouped per level as ArchPlug_Struct_<level>. Columns span from their level to the next enabled level above; no column is created on the topmost level (it would have zero height). Define your axes in Grids / Axes first — both the preview and the model output use exactly the same geometry engine, so what you see is what gets built.

"Walls"

ControlLabelWhat it does
Drop-downExterior wall type:The Wall type placed along every outline edge.
Check-boxSplit per level (one wall segment per level)Off: one continuous wall from the lowest enabled level up to the roof. On: a separate wall segment per level, which is easier to edit or swap floor by floor.

"Foundation"

ControlLabelWhat it does
Drop-downFoundation type:The Floor type used for the foundation slab.
Text fieldFoundation offset (cm):Vertical offset from the lowest enabled level. A negative value drops the slab below the level.

"Floors"

ControlLabelWhat it does
Drop-downIntermediate floor type:The Floor type used on every enabled level between the foundation and the top.
Drop-downTop floor (under roof):A separate type for the uppermost slab — typically a thicker or insulated build-up.
Check-boxSame as intermediate floorUses the intermediate type for the top floor too, and greys out the drop-down.

"Roof"

ControlLabelWhat it does
Drop-downRoof type:The Roof type to use. Pick a Basic Roof; Sloped Glazing is not a footprint roof and cannot be used.
RadioOver walls (roof past wall)A pitched roof that oversails the walls by the overhang below.
RadioAtika (walls above roof)A flat roof set inside the walls, with the walls continuing above it as a parapet.
Text fieldRoof slope angle (deg):The pitch applied to every edge you marked red in the plan preview.
Text fieldOverhang outside walls (cm):Over walls mode: how far the roof extends beyond the wall face.
Text fieldRoof inset from wall inner edge (cm):Atika mode: how far inside the wall the roof slab sits.
Text fieldWall height above roof (cm):Atika mode: parapet height above the roof slab.
Text fieldRoof Z offset from top level (cm, +/-):Atika mode: raises or lowers the roof slab relative to the top level.

The two parameter groups swap automatically with the selected mode, so only the fields that apply are visible.

"Windows"

ControlLabelWhat it does
Check-boxAdd windowsMaster switch for the section; when off, windows also disappear from the previews.
Drop-downWindow family:The window type to place. Its real width is read from the family and used in both previews.
Text fieldSill height (cm):Height of the window sill above the level.

Which edges get windows, and how many, is set directly in the 2D preview: enable an edge with its green box, then type the number of windows for that edge in the small field beneath it. The plugin spaces them evenly along the edge.

The 2D plan preview

The lower-left pane is a true-to-scale plan of the outline — walls, columns, beams and windows are drawn at the real width of the chosen family types, so proportions match the model.

The 3D preview

The right-hand pane is a live wireframe/solid view of the building the plugin would create — levels, walls, windows, roof planes, columns and beams — rebuilt instantly whenever you change anything. It needs no Revit view and creates nothing in the model.

Step-by-Step Workflow

  1. Draw the footprint as a closed loop of model lines in a plan view.
  2. Select the lines and launch Building from Line from the ArchPlug ribbon tab. The window opens with your last-used settings and the outline already loaded.
  3. Set up levels: open the Levels window, add or edit levels, tick the ones the building uses, press Apply to Revit, then close it. The 3D preview updates immediately.
  4. Type your axis counts in Grids / Axes and fine-tune them in the plan preview by dragging axes or double-clicking their dimensions.
  5. Choose the types for each section you want — wall, floor, roof, window, column and beam — and fill in the numeric fields. All lengths are in centimetres unless a label says otherwise; decimal commas are accepted.
  6. Mark the edges in the plan preview: green for windows (with a count), red for sloped roof edges.
  7. Untick any section you do not want in this pass — for example leave Columns & Beams off for a pure architectural massing.
  8. Click RUN ALL. The steps execute in dependency order: Levels → Grids → Columns & Beams → Walls → Foundation → Floors → Roof → Windows. Each step first removes its own previous output, then rebuilds it. Non-critical Revit warnings raised during creation are dismissed silently so the run does not stall on pop-ups.
  9. Read the status line — e.g. "Run All: executed 8 step(s)." Errors are reported per step in a dialog naming the step that failed; the remaining steps still run.
  10. Iterate: change a value and press that section's own RUN, or move the outline lines in Revit and press RUN ALL again. Nothing duplicates.
  11. Close the window with the title-bar X. All settings, previews and window geometry are saved.

Feature Reference

Smart Update (no duplicates, ever)

Every step owns its output and rebuilds only that:

Anything you model or edit yourself is never touched, because it carries neither the group name nor the Comments marker.

Real hip roofs (straight skeleton)

The roof is not a naive per-edge offset. The plugin computes a genuine straight skeleton of the footprint — the same algorithm used for roof-surface generation in computational geometry — so ridges, hips and valleys land in the correct places even on L-, T- and U-shaped plans, where simple offsetting produces crossing lines. Every edge you marked red gets the slope angle you typed; the resulting ridge is shown in the 3D preview before anything is created in the model.

One preview engine, one build engine

The column, beam and roof geometry shown in the previews is produced by the same functions that create the Revit elements. The preview cannot drift from the result — if it looks right in the preview, it is what gets built.

The outline group

The footprint lines are bound into a model group called ArchPlug_Outline and its id is remembered between sessions. This is what lets you re-open the plugin without re-selecting anything, and lets you reshape the building later by editing the lines in Revit.

Persistence

All settings live in %APPDATA%\ArchPlug\building.json — separate from the plugin itself. Updating the plugin does not reset your window position, section states or field values. The window position is also validated against the connected screens, so it never opens off-screen after you unplug a monitor.

Tips & Best Practices

Troubleshooting & FAQ

"Selected lines do not form a closed loop." The endpoints of your footprint lines do not meet exactly. Use snaps, or trim/extend the lines, and select them again. Arcs are supported; gaps are not.

"No model/detail lines in selection." The selection contains other elements only. Select the footprint lines themselves — not a filled region, not a room boundary.

"No enabled levels." Nothing is ticked in the Use column of the Levels window. Tick at least one level (two for floors, walls and windows).

"Need at least 2 enabled levels." Floors, walls and windows need a level to start from and one above it. Add a level or tick another one.

"Floor type not found" / "Wall type not found" / "Roof type not found" / "Window family not found". The type selected in that drop-down no longer exists in the project — usually because the settings came from another project. Re-pick a type from the drop-down.

The roof step fails or produces nothing. Check that the selected roof type is a Basic Roof. The first roof type in many templates is Sloped Glazing, which is a curtain system and not a footprint roof.

"No axes defined. Type X/Y counts first." The Grids RUN button was pressed while both counts are 0. Type a count and the axes appear in the preview immediately.

"No window placements (enable an edge and set a count > 0)." No edge is marked green, or every green edge has a count of 0. Click the green box on an edge in the plan preview and type a number underneath it.

No columns appear on the top level. By design — a column on the highest level would have zero height, which Revit rejects (and a failed column would break the whole level group). Columns run from each level to the next enabled level above.

Can I undo a run? Yes. Each step is committed as its own Revit transaction, so one Ctrl+Z in Revit (with the model window focused) reverses that step. Ctrl+Z while the plugin window has focus instead undoes your edits inside the plugin's plan preview.

Does re-running duplicate elements? No. Every step deletes its own previous output before rebuilding — groups by name, windows by their Comments marker. Elements you created yourself are never affected.

Can I keep working in Revit while the window is open? Yes — the window is modeless. Pan, zoom and change views freely. Model changes requested from the plugin are queued and executed in order in a valid Revit API context.

The window opened on the wrong monitor / off-screen. The window restores its last position but verifies it is still visible on a connected screen; if not, it opens centred instead.

Why are some Revit warnings not shown? Non-critical warnings raised while grouping and placing elements are dismissed automatically so a long run never stalls waiting for a click. Real errors are still reported.

Where are my settings stored? In %APPDATA%\ArchPlug\building.json. Deleting that file resets the plugin to its defaults.

ArchPlug — Revit plugins for architects. archplug.com · All plugin guides · Privacy · Terms

All plugins include a 14-day free trial — no credit card required.