Build a Complete BIM Model in 3–6 Hours

From blank canvas to full architectural model with design book output — no prior Atlantist knowledge required. Uses real building typologies: office, residential, warehouse.

BIM Walkthrough 3–6 hours All element types DAG-validated

Introduction

What you will build

By following this guide, you'll produce a complete BIM model comparable to what a junior architect would build in 3–6 hours — including the design decisions, constraints, schedules, and design book sheets. No reverse-engineering required.

This guide uses the Office Building template as the reference project (5-story, 40×25m footprint, curtain wall facade). The same workflow applies to all three template typologies.

3–6h
Total human time
Breakdown: Levels 15min · Walls 45min · Floors 30min · Doors/Windows 30min · Stairs 20min · Structural 20min · MEP stubs 30min · Energy 20min · Design book 30min · Review 30min

Your workflow

① Set up levels (binding reference)
② Place walls + layers
③ Add floors + roofs
④ Place doors + windows (auto-cut)
⑤ Add stairs + railings
⑥ Bind structural members
⑦ Add MEP stubs
⑧ Run energy simulation
⑨ Generate design book sheets
⑩ Export IFC / DWG

Prerequisites

  • Browser-based — no install required
  • Basic BIM knowledge (what a wall, column, level means)
  • No Atlantist-specific training needed

Step 1

Levels & Elevations

Levels are the binding reference for every other element. Change a level elevation → the DAG recalculates all hosted elements. Spend time getting this right upfront.

How to add a level

1
Click + Level in the toolbar

In the Level modal, enter the Name (e.g., "Level 2") and Elevation in meters above ground floor.

2
Set inter-floor height consistently

For a typical office building, use 4.0m between levels. For residential, 3.0m. Document your standard in the project settings.

Level bindings explained

ElementLevel BindingWhat happens on elevation change
Wallsbase_level_id + top_level_idWall height recalculates. Top follows upper level if bound.
Doors / WindowsHost wall's levelsOpenings stay at same relative position on wall face.
Floorsbase_level_id (bottom face)Floor slab elevation moves with the level.
Stairsbase_level_id + top_level_idRiser count and tread geometry recalculate.
Columnsbase_level_id + top_level_idColumn height adjusts — all 3D views update instantly.
Tip: Use the NYC Mid-Rise demo project (click ?Load Demo) to see how 10 building levels with consistent inter-floor heights bind to walls and stairs.

Step 2

Walls

Walls are placed by defining two XY coordinates in the plan view. Each wall type has a multi-layer construction — changing the type propagates through all instances via the DAG.

How to place a wall

1
Select a wall type from the catalog

Open Projects → Templates → Office Building and inspect the pre-configured curtain wall. Or choose from these types:

Curtain Wall Aluminum 250mm

Double-glazed, thermal break. Standard for commercial facades. Aluminum mullion structure.

Commercial

Exterior Brick 8"

100mm brick + 50mm mineral wool insulation. Load-bearing, typically 200mm CMU backup.

Residential

CMU 8" Load-Bearing

Concrete masonry unit. Used for cores, shear walls, stair/elevator shafts.

Multi-Unit

Tilt-Up Concrete Panel 200mm

Single-layer tilt-up panel. Fast erection, common in warehouse/industrial.

Industrial

Wood Frame 2×6 Exterior

Fiber cement cladding, 140mm mineral wool. Standard for residential light-frame.

Residential

Fire-Rated Gypsum 2-Hour

Dual Type X 25mm gypsum board on metal stud. Used for stairwell enclosures.

Life Safety

Wall layer system

Every wall is built from ordered layers. The layer system drives the wall assembly in the design book output (finish schedule):

Layer FunctionExamplesDisplay in 3D
structureConcrete, CMU, Wood Stud, Aluminum MullionStructural core — full height
finishGypsum Board, Brick, Stucco, TileInterior face only
insulationMineral Wool, XPS BoardHidden (energy model)
airAir Gap 50mmHidden (thermal)
membraneHousewrap, Damp-Proof CourseHidden

Wall parameter reference

ParameterDescriptionExample
startCoordXY plan coordinates for wall start point{"x":0,"y":25}
endCoordXY plan coordinates for wall end point{"x":40,"y":25}
thicknessTotal wall thickness (meters)0.250
loadBearingWhether wall carries structural loadstrue / false
glazingFor curtain walls: single / double / triple"double"
thermalBreakPolyamide thermal break in mulliontrue
Gotcha: If you change a wall type after placing 30 instances, ALL 30 instances update simultaneously via the DAG. Make sure that's what you want — use Detach from Type in the Properties panel if you need a one-off variation.

Step 3

Floors & Roofs

Floors are horizontal elements bound to a base_level_id. They have multi-layer construction (structure/finish/insulation). Roofs are flat floors at the top level.

Floor type catalog

Composite Steel Deck 130mm

Steel deck + concrete topping. Standard for commercial steel-frame. 4" deck + 2.5" concrete.

Commercial / Steel

Flat Plate Concrete 200mm

Two-way flat plate. No beams. Typical for residential with drop panels at columns.

Residential

Waffle Slab 300mm

Two-way joist system. 300mm total with 75mm topping. Used for long-span commercial.

Commercial

TPO Flat Roof

Single-ply TPO membrane, tapered insulation to drains. Standard low-slope roof.

All Types

Green Roof

Vegetated roof assembly. Structural slab + waterproofing + growing medium + vegetation.

Sustainable

Wood Frame Floor 300mm

2×10 or 2×12 LVL beams at 16" OC. Standard residential floor. Deflection governs span.

Residential / Wood

How to add a floor

In the 3D View, click + Floor in the toolbar. The floor inherits its elevation from the base_level_id. The boundary polygon is drawn in plan view.

DAG binding: When you change a level's elevation, all floors with base_level_id pointing to that level update their Z position instantly across all three views. No manual repositioning needed.

Roof types

Roofs use the same floor system but are marked as the top level (no top_level_id binding). Curved roof surfaces (barrel vault, hip, gambrel) are created using the Curved Surfaces primitive system (Phase 22).

Adding a curved roof

  1. Click + Curved in the toolbar
  2. Select surface type: Barrel Vault, Hip, Gambrel, Hyperboloid, etc.
  3. Set the base elevation and profile parameters (rise, span, radius)
  4. The roof mesh is generated parametrically — change the rise, the roof updates
  5. IFC export: revolution surfaces become IfcBuildingElementProxy, NURBS become IfcBSplineSurfaceWithKnots

Step 4

Doors & Windows

Doors and windows are family instances hosted on wall faces. Placement auto-cuts wall geometry to match the family dimensions — no manual cutting required.

How to place a door

1
Select the hosting wall

Click a wall in plan view to select it. The wall highlights in yellow.

2
Click + Door in the toolbar

The Door modal opens. Choose a type and set host_face_u (0.0 = start of wall, 1.0 = end of wall). The opening appears at that normalized position.

Door type catalog

TypeWidthHeightFire RatingUse Case
Hollow Metal Single36" (914mm)84" (2134mm)90 minStairwell, corridor
Hollow Metal Double60" (1524mm)80" (2032mm)90 minEntry, suite entry
Wood Flush Single36" (914mm)80" (2032mm)20 minInterior, residential
Fire-Rated 45min Single36" (914mm)84" (2134mm)45 minMechanical room
Overhead Door 10'×12'3048mm3658mmNoneLoading dock
Automatic Sliding 72"×84"1829mm2134mm20 minADA main entry

Window type catalog

TypeWidthHeightSill HeightUse Case
Curtain Wall 72"×60"1829mm1524mm900mmCommercial facade
Storefront 10'×96"3048mm2438mm0Ground floor retail
Double Hung 36"×72"914mm1829mm900mmResidential
Sliding 72"×48"1829mm1219mm900mmBalcony door, patio
Clerestory 60"×36"1524mm914mm9000mmWarehouse high sills
Fixed 48"×72" High-Rise1219mm1829mm1000mmHigh-rise triple-glazed

Auto-cut geometry

When you place a door or window, the wall's parameters.cutOpenings JSON records the opening dimensions. The Three.js mesh builder subtracts this geometry from the wall mesh, leaving a clean rectangular void with a frame.

Wall type propagation: If you change the wall's type (e.g., from Gypsum to Curtain Wall), all hosted doors and windows remain. The opening dimensions are preserved; only the wall material updates.

Step 5

Stairs & Railings

Stairs are parametric elements — you set base/top levels and the DAG computes riser height, tread depth, and total run. All values are IBC 1011-compliant by default.

How to add a stair

1
Select stair type from catalog

Choose from: Straight, L-Shaped (90° with landing), U-Shaped (180° switchback), Spiral, Circular.

2
Set base and top level

The stair auto-computes: riser_height = total_rise / number_of_risers. IBC max 7" (178mm) for commercial, 7.87" (200mm) for industrial.

Stair type catalog (IBC Table 1011.2)

TypeRiseRunWidthUse Case
Residential Straight 7"/11"≤178mm (7")≥279mm (11")914mmSingle-family, duplex
Commercial Straight 7"/10"≤178mm (7")≥254mm (10")1120mmOffice, multifamily
L-Shaped 7"/11" w/ Landing≤178mm (7")≥279mm (11")1120mmMultifamily, common area
U-Shaped 7"/11" w/ Landing≤178mm (7")≥279mm (11")1120mmCommercial, dense
Spiral 7" Rise≤178mm (7")≥191mm at 30"1520mm minSecondary egress, tight

Railings

Railings are created after the stair. They bind to the stair via host_stair_id and are placed on the left/right side. IBC requires 42" guards on open sides, 34"–38" handrails.

Railing type catalog

TypeHeightBaluster SpacingUse Case
IBC Guardrail 42" Aluminum1067mm100mm (4" max sphere)Commercial open floor
IBC Guardrail 42" Steel1067mm100mmIndustrial, heavy duty
Glass Panel Guard 42"1067mmN/A (full panel)Modern, architectural
IBC Handrail 34"–38" Aluminum864mmN/APer IBC 1014.1
Wood Handrail 34"–38"864mmN/AResidential
Monolithic Concrete 42"1067mmN/AParking garage, exterior
Level elevation change → Stair recalculates: Change a level's elevation, and all stairs referencing that level recalculate their riser count and tread geometry. The 3D stepped mesh rebuilds automatically.

Step 6

Structural Members

Columns are placed at grid intersections. Beams run between columns. Both are bound to levels — changing a level height updates all connected structural members.

Column types

W14x48

AISC wide-flange. 14" nominal depth. Primary structural column for multi-story office.

Steel / Commercial

W12x26

Light wide-flange. 12" nominal depth. Secondary columns, shorter spans.

Steel

HSS 6×6×3/8

Square hollow structural section. Architectural exposed columns. Fire-rated when required.

Steel / Exposed

Pipe Column 6" STD

Standard weight pipe column. Compact, used where HSS isn't available.

Steel

Concrete Column 500×500

500mm square reinforced concrete column. Used in concrete frame buildings.

Concrete

Structural grids

The grid system places columns at defined spacing. For the office template, the grid is 8m × 5m. Columns are bound to the grid intersection coordinates — move a grid line and all columns update.

Beam types (AISC W-shapes)

SectionDepthWeightTypical Use
W16x3116"31 lb/ftLong-span roof beam, 40ft+ clear
W14x3014"30 lb/ftPrimary girder in multi-story
W12x2612"26 lb/ftFloor beam, 20–30ft spans
W8x188"18 lb/ftRoof purlin, short spans
Double LVL 2×1010"5.1 kg/mResidential floor beam, 24" OC

Step 7

MEP Stubs

Place MEP fixture stubs (VAV boxes, diffusers, sprinkler heads, electrical panels) to enable HVAC, plumbing, and electrical simulation. Stubs are bound to levels and rooms.

MEP fixture catalog

FixtureDisciplineDefault SizeUse Case
VAV Terminal 3×3HVAC900×450×450mmVariable Air Volume — office zones
4-Pipe Fan Coil UnitHVAC600×250×200mmBedroom or perimeter zone
Ceiling Diffuser 24×24"HVAC600×50×600mmSupply air diffuser, 400 CFM
ESFR Sprinkler HeadFire Protection100×150×100mmWarehouse ceiling — high challenge
Pendent SprinklerFire Protection75×100×75mmOffice / residential standard
Panel Board 200AElectrical600×1200×150mmService entrance panel
6" Pipe Sch 40Plumbing168mm ODMain riser

Running HVAC simulation

After placing VAV stubs and diffusers, open MEP → HVAC Run. The simulation computes:

  • Zone loads from wall geometry + level spans
  • 1 zone per ~1500m² of floor area
  • CFM from cooling Btu/h (1 ton = 12000 Btu/h, 400 CFM/ton)
  • Duct sizing from zone peak CFM
  • Airflow particles for visualization
Results appear in the MEP timeline player with zone-by-zone breakdown.

Step 8

Energy Zones & Simulation

Rooms become energy zones. Assign room boundary polygons and run a simulation to generate gbXML + EN-001 to EN-008 compliance output.

How to set up energy simulation

1
Populate room data

Each room needs: area_sqm, volume_cum, floor_finish, wall_finish, ceiling_finish. These drive the energy model envelope properties.

2
Run Energy Simulation

Go to MEP → Energy. The engine uses ASHRAE 90.1 baseline. Output includes:

  • gbXML — for EnergyPlus, Trane TRACE, IES VE
  • IDF text — direct EnergyPlus input
  • EN-001 to EN-008 — NYC DOB compliance forms (auto-populated from model geometry)
  • Year Viz — hourly energy chart + heatmap (12 months, hourly granularity)

Gotcha: Energy zones are computed from room boundaries. If a room is missing or has area_sqm = 0, it won't appear in the simulation. Check the Room Schedule tab to verify all rooms have area data before running.

Step 9

Design Book Output

The design book auto-generates sheets from model data. No manual annotation required post-modeling.

What auto-populates

  • Floor Plans — from element geometry + structural grid
  • Elevations — N↑ S↑ E→ W← orthographic views (A-200 / A-201 / A-202 / A-203)
  • Door Schedule (A-400) — from family_instance parametric data: mark, type, width, height, fire rating, material
  • Window Schedule (A-400) — from family_instance: mark, type, width, height, sill height, glazing
  • Room Schedule — from rooms table: number, name, area_sqm, floor/ceiling finish
  • Finish Schedule — from wall_layers: material, function, thickness
  • Material Takeoff — aggregate wall layer volumes
  • Section Cuts — draw section lines on plan → elevation view auto-generates

Creating section cuts

  1. Click Section in the toolbar
  2. Click two points on the plan view to define the cut plane
  3. The section camera moves perpendicular to the line, showing the elevation at that cut
  4. Use elevation buttons (N↑ S↑ E→ W←) to switch to fixed orthographic views
  5. Export any sheet as PDF or CSV
Design book workflow: Open Design Book panel → click New Sheet → choose template → place floor plan → auto-populate schedules → export PDF. The entire workflow is model-driven: change the model, the schedules update.

Step 10

Parametric Constraints & DAG

The DAG (Directed Acyclic Graph) constraint solver propagates every parameter change instantly across all bound elements. This is what makes Atlantist parametric — not just a 3D viewer.

Constraint chain example

① Change Level 3 elevation: 8.0m → 8.5m
② DAG resolves: Level 3 now 8.5m
③ Walls with top_level_id = Level 3 → height increases by 0.5m
④ Stairs with top_level_id = Level 3 → riser count recalculates
⑤ Columns spanning Level 3 → length adjusts
⑥ Rooms referencing Level 3 → volume updates
⑦ Energy simulation → zone loads recalculate
⑧ Schedules → area and material quantities update
⑨ All 3 views update (Plan / Elevation / 3D)
⑩ WebSocket broadcasts to all collaborators in real-time

Event Ledger (audit trail)

Every parameter change is recorded in the event_ledger with: actor, timestamp, before/after values. This enables per-element revert: open the History panel, find the event, click Revert. A new shadow page event is written and the scene reloads for all collaborators.

Group rotation

Select multiple elements (Ctrl+click) and press Space or click ↻ Rotate 45°. All selected elements rotate 45° CW around the selection barycenter in a single atomic undo. Live sync to collaborators via WebSocket.

Step 11

Export (IFC / DWG)

Atlantist exports industry-standard BIM formats that open in Revit, ArchiCAD, and other tools.

IFC Export (IFC 2x3)

Click IFC Export in the toolbar. The exporter generates a valid IFC 2x3 STEP file with:

  • IfcWallStandardCase with ExtrudedAreaSolid geometry
  • IfcColumn with structural section profile
  • IfcDoor and IfcWindow with hosted opening geometry
  • IfcBuildingStorey (levels) as IfcBuildingElementDecomposition
  • IfcBSplineSurfaceWithKnots for NURBS curved surfaces
  • IfcBuildingElementProxy for revolution/sweep surfaces

IFC Import

Click IFC Import → drag-and-drop a STEP file. The parser extracts IfcWallStandardCase, IfcColumn, IfcDoor, IfcWindow, IfcBuildingStorey entities and maps them to Atlantist elements. Progress shown in real time.

DWG Export

Click DWG Export for AutoCAD-compatible output. Generates DXF R14/2000 text with:

  • Wall polylines with layer naming (A-WALL, A-DOOR, A-WINDOW)
  • Grid lines on dedicated layer (A-GRID)
  • Room boundary polygons (A-AREA)
  • Dimension text (A-DIMS)

.rvt Import: For Revit files, use the IFC Import workflow. Autodesk Forge Model Derivative API converts .rvt to IFC format first — supported categories include Walls, Doors, Windows, Columns, Levels, Floors, Roofs, Stairs, Railings, and Curtain Walls. See the Revit compatibility guide for full category coverage.

Quick-Start

Template Projects

Don't start from scratch. The template projects are pre-built scaffolds — levels, walls, floors, stairs, MEP stubs, and energy zones already configured. Instantiate one and modify it.

🏢 Office Building 5-Story

5-story, 40×25m footprint, curtain wall facade, composite steel framing, VAV HVAC. 6 levels (Ground + 4 typical + Roof).

Commercial

🏠 Residential Multi-Unit 4-Story

4-story, wood-frame + CMU core, 3 apartments per floor (12 total). Sprinklered per NFPA 13R.

Residential

🏭 Warehouse / Industrial

Single-story, 60×50m, tilt-up concrete, 12m clear height. 2 loading docks, mezzanine office.

Industrial

How to use a template

  1. Open Projects → click the Templates tab
  2. Click a template card to preview: level count, element count, construction type, floor height
  3. Enter a project name and click Use This Template
  4. A new project is created — modify, extend, delete anything
  5. All elements are live-parametric — no lock-in

Reference

Gotchas & Known Issues

Revit compatibility: Door/window family geometry is auto-cut, which is standard BIM behavior. When importing into Revit via IFC, verify the opening depth matches the wall thickness.
Level elevation: Changing a level does NOT move existing element coordinates — it changes the binding reference. Elements already placed retain their XYZ; only the `base_level_id`/`top_level_id` determines height interpretation.
Curved surfaces + IFC: NURBS surfaces export as IfcBSplineSurfaceWithKnots. Revit reads these natively. ArchiCAD reads them as mesh objects.
Stair IBC compliance: The catalog stair types are pre-validated against IBC Table 1011.2. If you manually enter a riser height > 178mm, the properties palette shows a warning. Change the number_of_risers until the computed riser height is ≤ 178mm.
Room area = 0: Rooms with missing area data don't appear in energy simulations. Always check the Room Schedule tab before running energy analysis.
Detaching from type: If you need a one-off wall variation, use the Properties panel → Detach from Type. The wall becomes a custom instance — future type changes won't affect it.
Group rotation undo: Group rotation is atomic — a single Ctrl+Z reverts the entire group, not individual elements. This is by design for coordinated moves.