3D modeling
The 3D modeler's screen and tools follow SketchUp. Modifiers, mouse buttons and shortcuts can switch to Rhino or Revit habits. Every action becomes a node you can edit later in the node graph.
Input styles
The first time you enter 3D you are asked which software you know. Change it later under Account › Settings on the home page. "Custom" lets you pick each modifier and mouse button. The plan pane always uses Revit controls regardless of this setting. The table below is generated from the settings table in the source code.
| Behaviour | SketchUp | Rhino | Revit |
|---|---|---|---|
| Add to selection | Ctrl | Shift | Ctrl |
| Remove from selection | Ctrl+Shift | Ctrl | Shift |
| Toggle selection | Shift | None | None |
| Copy while moving or rotating | Ctrl or Alt | Alt | Ctrl |
| Meaning of Shift | Lock the inference | Temporary ortho | Temporary ortho |
| Shift while rotating | Disable angle snapping | Temporary ortho | Disable angle snapping |
| Scale modifiers | SketchUp: Ctrl about center, Shift uniform, Alt no snap | Rhino: Ctrl includes height, Shift no snap | SketchUp: Ctrl about center, Shift uniform, Alt no snap |
| Vertical move while moving | None | Ctrl | None |
| Middle-drag | Orbit | Orbit | Pan |
| Right-drag | Pan | Orbit | None |
| Right-click | None | Enter (repeat last command) | None |
| Shortcut style | Single letter (L = line) | Single letter (L = line) | Two letters (WA = wall) |
| Esc | Cancel once | Cancel once | Revit: once ends the current step, twice returns to Modify |
| Enter / Space repeats the last command | No | Yes | No |
| Coordinate input | SketchUp: @ relative, d<a relative polar | Rhino: r / @ relative, w world, d<a from origin | SketchUp: @ relative, d<a relative polar |
| Primary modifier on Mac | Option | ⌘ | ⌘ |
Tools and shortcuts
SketchUp, Rhino and Custom use single letters. Revit uses two letters; single letters do nothing. Two letters also apply whenever the cursor is over the plan pane. The full two-letter table is in Plan mode.
| Tool | SketchUp, Rhino, Custom | Revit | How |
|---|---|---|---|
| Select | V | MD | Click objects. Drag a box: left→right must fully contain, right→left selects anything touched. |
| Move | M | MV | Click a base point, then the target, or type a distance. Press the copy key while moving to copy; after copying type 3x or /3 for an array. Arrow keys lock an axis. |
| Push/pull | P | Toolbar button | Click a face, move, click again. Or type a number + Enter. Double-click repeats the last distance. For shapes drawn on faces see Drawing on faces. |
| Rectangle | R | Toolbar button | Click two corners, or click the first and type length,width. Start on a wall face to draw on that face; the arrow keys lock the plane. |
| Rotated rectangle | Shift+R | Toolbar button | Click two base-line points, then the width. |
| Polyline | L | Toolbar button | Click points. Enter finishes, C closes, Backspace removes the last point. With SketchUp input style each click creates that segment right away and Ctrl+Z undoes one segment at a time; with Rhino or Revit style the polyline is still created when you press Enter. |
| 2-point arc | A | Toolbar dropdown | Start, end, bulge. Type a chord, bulge or 3r (radius). |
| Center arc | Shift+A | Toolbar dropdown | Center, start, end. Shift reverses. |
| 3-point arc, pie | "Arc" dropdown | Toolbar dropdown | 3-point arc as Rhino Arc 3Pt. Pie is a closed sector you can push/pull. |
| Circle | C | Toolbar button | Click the center, then click or type the radius. Type 24s first for a 24-sided polygon. |
| Polygon | Shift+C | Toolbar button | Type the number of sides + Enter (default 6), click the center, then the radius. |
| Rotate | Q | RO | 3-point protractor: center, start edge, end. Or type an angle. Snaps every 15°. |
| Scale | S | RE | Select, then drag a box handle. Corners are uniform, face handles one direction. Type 1.5, 2,1,1 or 12m. |
| Offset | F | OF | Click a curve or face, drag a distance, or type it (negative = inward). |
| Mirror | I | MM, DM | Select, then click two points of the axis. |
| Tape measure | T | Toolbar button | Click two points to measure. Start on an edge to pull a guide line and type a distance + Enter. Ctrl measures only. After measuring, press D to create a dimension or G to create a global parameter (see Curve-driven walls, dimension references and the tape measure). |
| Eraser | E | DE | Click an object to delete it, drag across several to delete them. Shift hides. |
| Paint bucket | B | Display panel | Picks up the last material and opens the materials tray. See Paint bucket. |
| Make component | G | Toolbar button | Turns the selection into a component (definition + instance). |
| Orbit | O | Toolbar button | Left-drag to orbit. Pans in orthographic panes. |
| Pan | H | Toolbar button | Left-drag to pan. |
| Zoom window | Z | ZR | Drag a box to zoom into it. |
| Zoom extents | Shift+Z | ZA | Fit the whole model in every view. |
| Zoom to selection | Shift+S | ZF | Fit the selected objects. |
| Four views | 4 | 4 | Return to the four-view layout. |
| Ortho | F8 | F8 | Draw and move only horizontally or vertically. |
| Delete | Delete | Delete | Deletes the selection. |
| Select all | Ctrl+A (Mac ⌘A) | Same | Selects every visible object that can be picked. |
| Copy, paste, duplicate | Ctrl+C, Ctrl+V, Ctrl+D | Same | Copies the selected nodes. |
| Undo, redo | Ctrl+Z, Ctrl+Y | Same | |
| Back to Select | Space | Esc twice | Most tools return to Select with Space. With a wall selected, Space flips the wall's sides. |
| Repeat last command | Enter (Rhino style) | None | In the Rhino style Enter or Space repeats the last command. |
| Node graph | Ctrl+` | Ctrl+` | Toggles the graph panel at the bottom. |
| Walkthrough | W | Scene bar button | Walk around inside a perspective view; see Scene animation and walkthrough. Esc ends it. |
| Level up, down | PageUp, PageDown | Same | Switches levels in plan mode. |
This table is maintained by hand (source: the key handler in ModelerView.tsx). The other tables are generated from the source code.
In a narrow window the toolbar folds less-used buttons into a drop-down in each group (the group name followed by ▾, such as "Draw ▾" or "View ▾"). Clicking a button in the menu, clicking outside or pressing Esc closes it. Folded tools keep their shortcuts and command-line names.
Mouse and views
- The wheel always zooms at the cursor.
- Middle-drag and right-drag depend on the input style; see the table above. SketchUp: middle-drag orbits, Shift+middle or right-drag pans. Rhino: right-drag orbits, Shift+right pans. Revit: middle-drag pans.
- The "View" dropdown at the right of the toolbar sets the 3D pane to Top, Front, Right or Iso. "Persp/Parallel" switches the projection.
- "Viewport layout": 4 views, 3D only, Top only, Front only, Right only. With plan mode on, "Plan only" appears too.
- Double-click a viewport title to maximize it; double-click again to restore.
- Gumball: the move arrows, rotation rings and scale boxes that appear on a selection. The three rings rotate around the three axes; a rotation around a horizontal axis adds a Rotate3D node (BIM elements such as walls, doors and windows are not rotated this way). Click an arrow or ring, then type a value and Enter; Ctrl-drag an arrow extrudes, Alt-drag copies. Click "Gumball origin" on the toolbar to set its origin. The command
gumballalignment world|cplane|objectaligns it to the world axes, the current construction plane or the object itself.
Precise input
- While a tool is active, type a number and press Enter. Push/pull takes a height, Rectangle
length,width, Rotate an angle, Scale a factor. - Numbers use the design unit. Suffixes work:
4m,500mm,10'. - After most tools finish, typing a number again corrects the result.
- Coordinates: SketchUp style
x,yabsolute,@dx,dyrelative,d<arelative polar. Rhino styler3,4or@3,4relative,10<45polar from the origin,r10<45relative polar. While drawing a line, a single length is a distance constraint and<45an angle constraint. - Osnap: the toolbar "Osnap" group toggles persistent snaps one by one. Hold Alt to suspend snapping. Grid snapping applies when no endpoint is near.
Drawing on faces and construction planes
As in SketchUp: in the 3D views, rectangles, polylines, circles, polygons and all the arcs can be drawn straight onto wall faces, sloped faces and other vertical or inclined faces (horizontal faces work as before), then pushed or pulled. The plan pane still draws on the level plane.
- On a face: when the cursor is over a face, "On face" appears; click the first point on the face and the shape is drawn on that face's plane. Hold Shift to lock to the face's plane, so you keep drawing on the same plane after the cursor leaves the face. When you do not start on a face, the shape is drawn on the viewport's construction plane (the ground by default).
- Arrow keys (rectangle, circle, polygon, arcs): → red plane, ← green plane, ↑ blue plane (horizontal); press again to release. Pressed before you start, they set the plane for the next shape. ↓ does nothing for shapes. An arrow key pressed while drawing locks only that shape.
- Arrow keys (polyline): → locks the red axis (X), ← the green axis (Y), ↑ the blue axis (Z), ↓ an inferred edge (parallel or perpendicular); press again to release.
- Push/pull: after drawing a shape, press P to push or pull it. The direction is always the face normal. A shape drawn on a face of a mass is merged into that mass: pulling out adds material, pushing in cuts it away, and pushing all the way through makes a hole. A shape that is not on any mass face becomes a separate solid. In the node graph this is the "Push/pull on face" node. Pinned masses, BIM elements such as walls, doors and windows, and components are not merged into. Offset currently works only for curves on horizontal planes. Hold Ctrl when you click to start the push/pull (on a Mac, Option with the SketchUp input style, ⌘ with Rhino and Revit) to keep it out of the mass and make a separate mass; when it merges, the status bar names the mass it merged into.
- Construction plane
cplane(Rhino CPlane, aliascp): each viewport has its own construction plane, and drawing, the grid and ortho follow it. Options areworld top|front|right|bottom|back|left,3pt(click the origin, the x direction and the y direction),face(click a face),elevation(move along the normal),origin,rotate,prev/nextandreset; addallat the end to apply it to every viewport.save namestores a named CPlane in the design (up to 64), andrestore,delete,renameandlistmanage them. The "CPlane" drop-down on the toolbar has the same options, and its first item shows the current construction plane. - Construction plane = level: the toolbar CPlane drop-down has a Levels group with one entry per level (with the building name when there are several buildings), or type
cplane level 2F(cplane elevation 2Falso works). The construction plane moves to that level, and lines, rectangles and circles drawn on it are bound to that level (main building).cplane save namethen stores a named CPlane that remembers the level: after you change the level elevation,restoregoes to the new height. - Drawing axes
axes(SketchUp Axes, aliasucs): click the origin and the red and green axis directions; drawing and inference follow the new axes.axes resetreturns to the world axes. It applies to the Top and Perspective viewports. - Work plane WP (Revit's Set Work Plane; this two-letter shortcut is Synhedra's own): click a face, and the shapes you draw afterwards are on that plane.
cplane resetreturns to the ground. - Construction planes are view state and are not part of the undo history; leaving the 3D page resets them. They also work in read-only designs, but named CPlanes cannot be saved, deleted or renamed there.
- Graph-driven CPlanes: after Publish as CPlane on a Plane or Reference Plane node in the graph, the CPlane menu gets a Graph-driven (read-only) group. It follows the computed result and is not saved as a named CPlane. The other way round, a Plane node can follow a named CPlane or a level (see Node graph).
Command line
A Rhino-style command line sits under the viewports. On the 3D page, typing goes straight into it. Type help to list every command. Nodes created by commands connect to the current selection. The table below is generated from the source code.
| Command | Aliases | Usage | Description |
|---|---|---|---|
rect | rectangle 矩形 | rect x,y w,h [rot] | Rectangle at origin with width and depth |
circle | 圓 | circle x,y r | Circle at center with radius |
polygon | 多邊形 ngon | polygon x,y r [n] | Regular polygon: center, circumradius, sides (default 6) |
arc3 | arc3pt 三點弧 | arc3 起點 弧上一點 終點 | 3-point arc (Rhino Arc 3Pt): start → point on arc → end |
arc2 | arc2pt 兩點弧 | arc2 起點 終點 凸度 | 2-point arc (SketchUp default): start, end and bulge (positive = left; or 5r = radius) |
line | 線 | line x1,y1 x2,y2 | Line segment |
polyline | pl 多段線 | polyline x,y x,y x,y … [open] | Polyline (closed by default; append open to keep it open) |
extrude | ext 拉伸 pushpull | extrude h [base] | Extrude the selected curve into a solid |
offset | 偏移 | offset d [miter|round|square] | Offset the selected closed curve (negative = inward) |
fillet | 圓角 | fillet r | Fillet the vertices of the selected curve |
move | mv 移動 | move dx,dy[,dz] | Move the selected geometry |
rotate | ro 旋轉 | rotate deg [cx,cy] | Rotate the selected geometry about Z |
scale | 縮放 | scale f [fz] [cx,cy] | Scale the selected geometry |
mirror | 鏡射 | mirror x1,y1 x2,y2 | Mirror the selected geometry across an axis |
sweep | 掃掠 followme | sweep w h | Sweep a w × h wall along the selected curve (Follow Me) |
pipe | 管 | pipe r | Pipe along the selected curve |
revolve | 迴轉 旋轉成形 | revolve [deg] [cx,cy] | Revolve the selected closed profile (X = radius, Y = height) about a vertical axis |
shell | 抽殼 | shell t [bottom] [top] | Hollow the selected prism solid into walls and slabs |
arrayr | 矩形陣列 rarray | arrayr nx ny dx dy | Rectangular array (columns × rows) |
arrayc | 沿曲線陣列 carray | arrayc n | Array along a curve: n copies of the selected geometry (wire the curve to the Curve port in the graph) |
freeze | 固化 bake | freeze | Freeze the selected node's geometry into a snapshot node (detached from upstream, directly editable) |
example | 範例 | example flared | Load an example: flared = Shigeru Ban style radial flared column (slider-driven, published as a component) |
publish | 發佈 元件庫 | publish [name] | Publish the selected geometry as a component for other designs in this project (Linked node); tick exposed parameters in the panel |
link | 連結 引入 | link <design name> [component name] | Link a component published by another design in this project (choose the design and parameters in the panel) |
explode | 炸開 | explode | Explode the selected curve into segments |
array | 陣列 | array n dx,dy[,dz] | Linear array |
parray | polararray 環形陣列 | parray n [sweep] [cx,cy] | Polar array |
union | 聯集 | union | Solid union (A connected; connect B in the graph) |
subtract | difference 差集 cut | subtract | Solid difference A − B |
intersect | 交集 | intersect | Solid intersection |
slice | 裁切 clip | slice [zmax] | Clip the selected solid by the envelope (auto-connects env) or a horizontal plane |
join | 接合 | join | Join: creates a Join node from the selected curve (connect B in the graph) |
extend | 延伸 | extend d [dStart] | Extend the selected curve at its end (and start) |
split | 分割 | split t | Split the selected curve at parameter t (0–1) |
trim | 修剪 | trim [inside|outside] | Trim the selected curve by a closed boundary curve (connect the boundary in the graph) |
levels | 樓層 | levels count [fh] [base] | Create level datums (Revit Levels): count, floor height, base |
grid | 格線 | grid nx ny dx [dy] [x,y] | Create column grids (Revit Grids): counts and spacing |
guide | 導線 | guide x,y angle | Create a guide line (infinite dashed line, snappable) |
refplane | 參考平面 | refplane x1,y1 x2,y2 [name] | Create a project reference plane (Revit Reference Plane) from two plan points; dimensions can reference and lock to it, a global parameter can drive its offset |
floors | 樓板 | floors [fh] | Slice floors and compute GFA |
measure | distance dist 量測 | measure | Measure length, area, volume and height of the selection |
slider | 滑桿 | slider value [min max step] | Create a slider node |
number | num 數值 | number v | Create a number node |
expr | expression 算式 | expr <算式> | Create an expression node (variables a–f) |
component | comp 元件 | component [name] [bx,by[,bz]] | Make the selected geometry a component (definition + one instance) |
instance | inst 實例 | instance [dx,dy[,dz]] | Add an instance of the selected component (or of the selected instance) |
unique | 獨立 設為獨立 | unique | Make the selected instance unique (copies the definition) |
delete | del rm 刪除 | delete | Delete the selected node |
select | sel 選取 | select <名稱或 id> | Select a node by name or id (no argument clears the selection) |
name | rename 命名 | name <名稱> | Name the selected node |
layer | 圖層 | layer <圖層名> | Put the selected node on a layer |
hide | 隱藏 | hide | Hide the selected node output |
show | 顯示 | show | Show the selected node output |
set | 設定 | set <參數> <值> | Set a parameter on the selected node (expressions allowed) |
make2d | 2d出圖 隱藏線出圖 | make2d | Make 2D hidden-line plans, elevations, sections and axonometrics from 3D (SVG / DXF / PDF) |
sheet | newsheet 圖紙 新圖紙 | sheet [圖號] [圖名] | New sheet (Revit View ▸ Sheet): automatic number, Taiwan office title block; opens the sheet editor to place views |
draftingview | draftview 製圖視圖 | draftingview [名稱] | New drafting view (Revit Drafting View): a 2D-only view of detail items that can be placed on sheets |
ai | aicanvas aiimage ai畫布 | ai | AI canvas: hand sketch, photo or scanned plan → walls, doors/windows, rooms; freehand cleanup; natural-language edits (previewed, applied only when accepted) |
ailayout | 版面生成 | ailayout | AI layout: propose room layouts from a room list inside the outline of this level (mass floor plate, floor or selected closed curve); rooms and separation lines / walls are created only when accepted |
aidescribe | 設計說明 | aidescribe | Design description: write a description from areas, regulation, environment, structure and materials (AI or template); edit it, then place it on a sheet or export Markdown / DOCX |
callout | 詳圖索引 | callout | Callout (Revit Callout): drag a rectangle on the current floor plan (or a viewport on a sheet) to make an enlarged detail view |
revcloud | revisioncloud 修訂雲 | revcloud [圖號|view] | Revision cloud (Revit Revision Cloud): drag a rectangle on a sheet; it belongs to the current revision; revcloud view = draw it in the current floor plan (clouds in a view appear on the sheet the view is placed on) |
materialtag | mattag 材料標籤 | materialtag | Material tag (Revit Material Tag): click a wall, floor, roof or component on a plan to label the material there; in section, elevation and detail views use the Material Tag tool of the view editor |
multitag | multicategorytag 多品類標籤 | multitag | Multi-category tag (Revit Multi-Category Tag): click any element on a plan to tag it with its Mark, type name or Comments |
spotslope | slopeanno 坡度標註 | spotslope | Spot slope (Revit Spot Slope): click a roof, sloped floor, ramp or other sloped surface on a plan to show its slope (percent, 1:n or degrees) with a downhill arrow |
revisions | sheetissues 修訂表 | revisions | Sheet Issues/Revisions (as in Revit): date, description, issued to/by, issued |
sheetlist | drawingindex 圖紙清單 圖說目錄 | sheetlist | Sheet list (drawing index): sorted by number automatically; export CSV or place it on a sheet |
exportpdf | printsheets batchpdf 批次出圖 匯出pdf | exportpdf | Batch export PDF: pick sheets and export one multi-page PDF in sheet-number order |
exportdxf | batchdxf sheetsdxf 匯出dxf 批次dxf | exportdxf | Batch export DXF: pick sheets; one DXF per sheet (named by sheet number) in a ZIP; viewports are clipped blocks, layers by category |
board | presentationboard reviewboard 提案板 評圖板 | board | One-click presentation board: pick A3 / A1, landscape or portrait, and the main 3D, representative floor plans, a section, the sun-hours map, the area schedule, the regulation summary, north arrow and scale bar are laid out on one sheet (draggable, updatable), exported as vector PDF |
legendview | legend newlegend 圖例 圖例視圖 | legendview [door|window|wall|floor|family|none] [名稱] | Legend view (Revit Legend): lists door, window, wall, floor types or family components automatically (symbol, elevation, type mark, size, count), plus line, fill and text samples; can be placed on several sheets |
scopebox | scopeboxes 範圍框 | scopebox | Scope box (Revit Scope Box): a named box (position, size, rotation, level range) assigned to floor plans to control their crop; editing the box updates every view; structural grids can be limited to it |
regreport | codereport permitreport 法規檢討 法規檢討報表 | regreport | Regulation review report: site, BCR, FAR, floor areas per level, height, road and boundary height limits, parking and green-building summary, each value with its source; export PDF/CSV (design review aid, not an official review result) |
automass | automassing massing 自動量體 | automass | Auto massing: from the property line (setbacks, roads), the BCR/FAR in the Regulation Review Report and the rule pack’s height limits, generate a suggested mass (ordinary polylines + extrusions, one undo step; a suggestion to adjust to your actual design) |
lawplane | citeplane envplane 法規平面 條文卡片 | lawplane | Envelope plane card: highlights the envelope and opens the card of its first plane (legal source, article, verification date, formula with values, applicable range, links to the report and calculation book); ← / → switch planes, Esc closes. With the mouse: click an envelope plane in 3D with the Select tool |
egress | codecheck travel 避難 避難檢討 步行距離 | egress | Egress check: fire compartment areas, travel distance from the farthest point of each room to a stair/exit (grid shortest path, drawn in the plan), two-direction egress, corridor and door widths; the thresholds are editable defaults, not a code ruling |
accessibility | accesscheck 無障礙 無障礙檢討 | accessibility | Accessibility check: route width, door clear width, ramp slope, accessible toilet size, accessible parking count; the thresholds are editable defaults, not a code ruling |
parkingcheck | parkingcount 停車檢討 停車數量 | parkingcheck | Parking count check: the required number from a user-entered rule table (floor area, units, fixed) against the parking spaces in the model; the result feeds the Regulation Review Report |
fourd | 4d timeliner sequencing 施工進度 | fourd | 4D construction sequencing: tasks (WBS, start, duration, FS/SS/FF/SF predecessors with lag, work calendar), Gantt chart and critical path, link elements by selection / rules (level × category × zone) / sets, timeline simulation and video export, task costs and cumulative cost S-curve (estimates) |
materials | mat materialbrowser 材料 | materials [name] | Material Browser: identity data, shading colour and cut/surface patterns, 3D material, density, thermal conductivity λ and specific heat; λ gives the U value of wall, floor and roof types and is written to IFC material properties |
compare | comparemodels versioncompare 版本比較 | compare | Compare versions: compare the current model with a .lsm file or another design element by element (added, removed, changed parameters) with a 3D overlay; quantity changes (categories, materials, area schemes, sales areas) export to CSV as a change order attachment (auto-generated estimate) |
optionscompare | variants comparevariants 方案比較 | optionscompare | Compare variants: 2–4 variants (global parameter values + design options) side by side with synced 3D and a metrics table (area, BCR/FAR, units/sales area, cost, EEWH, structure, parking, accessibility; preliminary), CSV export, one-page print, make primary |
daylight | 採光 採光係數 | daylight | Daylight factor (preliminary): opens the Environment tab of the green building panel; daylight factor on the work plane of each room under the CIE overcast sky (sky + externally + internally reflected components) |
vent | ventilation 通風 自然通風 | vent | Natural ventilation (preliminary): opens the Environment tab of the green building panel; effective ventilation opening ratio, cross-ventilation path, wind- and buoyancy-driven airflow and air changes per room |
comfort | 熱舒適 pmv | comfort | Thermal comfort (preliminary): opens the Environment tab of the green building panel; PMV/PPD (ISO 7730), operative temperature and adaptive comfort (ASHRAE 55 / EN 16798-1) |
render | 渲染 瀏覽器渲染 raytrace pathtrace | render | Browser rendering (first version): renders the current view or a scene camera in the browser, with progressive path tracing when WebGPU is available (samples keep accumulating), otherwise WebGL high-quality mode; adjust exposure and sun time, save as PNG (nothing uploaded) |
presentvideo | 匯報影片 簡報影片 presentation pitchvideo | presentvideo | Presentation video: automatic orbit, street-walk or axonometric-section camera with building coverage, FAR, height, gross floor area and the compliance verdict overlaid (from the regulation report and area schemes, preliminary), 15 / 30 / 60 s, fast raster or high-quality WebGPU, saved as MP4 or WebM (recorded in the browser, nothing uploaded) |
sunhours | 日照時數 日照 sunhour | sunhours | Sun hours (preliminary): opens the Sun hours tab of the green building panel; sun hours, sunshine ratio and longest continuous sunshine per cell on the site ground, neighbouring ground, roofs or facades from sunrise to sunset on the solstices, the March equinox or a custom date, plus the sun path (physical computation; no regulatory determination) |
eewhscore | EEWH評分 綠建築評分 eewh | eewhscore | EEWH score (three indicators, preliminary): opens the EEWH score tab of the green building panel; system scores and missing data for daily energy, greenery and site water retention with the EEWH 2023 formulas (not an EEWH label review; Taiwan rule pack only) |
survey | 丈量 現場丈量 sitesurvey | survey | Site survey: enter wall segment lengths, corner angles, doors/windows and diagonals room by room; the polygon is closed (errors spread by least squares) and walls, doors/windows and rooms are created; save a draft, export/import CSV (no AI, nothing uploaded) |
program | 面積需求 面積需求表 空間方塊 areaprogram stacking | program | Area program: import the client’s area program (CSV / XLSX or paste); each space becomes a block of the right area to arrange inside the site or floor plate with live totals, coverage and floor area; convert selected blocks to rooms and walls (one shared wall per shared edge, doors for adjacencies; one undo step) and export a required-vs-actual table (no AI, nothing uploaded) |
meshbim | 逆向拆解 mesh2bim meshtobim | meshbim | Mesh to BIM: recognise levels, walls, floors, columns and doors/windows in the selected imported meshes (OBJ / glTF / SketchUp / 3DM; none selected = all visible imported meshes), check items in a preview, then create them (one undo step; the unrecognised part stays as a reference mesh) |
replacetype | 替換為 replacewith swaptype | replacetype <類型 id 或名稱> [fit|keep] | Replace with: swap the selected doors/windows to another door/window type, or family instances to another family type; fit (default) = the opening takes the target type size, keep = keep the original opening size (instance width/height) |
arrayfit | 陣列重填 陣列延展 | arrayfit [extend|redivide] [長度] | Array refill: extend (same spacing) or redivide (even split) the selected evenly spaced elements of one type (doors/windows on one wall, collinear family instances) to a new length; for doors/windows the length is the host wall length minus the end margins, for family instances give the length |
snapwall | 貼牆 吸附牆 | snapwall [距離] | Snap to wall: move the selected furniture/equipment family instances onto the nearest wall face (within 1 m by default), back against the wall and facing into the room; inside a floor outline the height follows the floor top |
pastesnap | 貼上吸附 | pastesnap [on|off] | Paste and snap (a setting on this computer; off by default): when on, Ctrl+V snaps pasted furniture to the nearest wall facing the room and slides pasted doors/windows to the nearest free spot on the host wall; no argument = toggle |
import | 匯入 | import | Import a 3D model (Rhino Import): choose a .3dm / .obj / .gltf / .glb / .ifc file |
export | 匯出 | export [3dm|obj|dxf|glb|gltf|usd|stl|ifc] [selected|all] | Export the model (Rhino Export): Rhino .3dm by default; or obj, dxf, glb, stl, ifc; gltf, usd = render handoff (D5 / Twinmotion: hierarchy and PBR materials, opens an options dialog); for 3dm, selected = only the selected objects (the default in the Rhino style when something is selected; all = whole model) |
section | sectionplane clippingplane 剖面 剖面平面 | section [v [x1,y1 x2,y2]] | h z | on|off [名稱] | flip | delete [名稱] | planes|cuts|fill [on|off] | dxf | list | Section plane: no args = place on a face; v = vertical by two points (or give them); h z = horizontal; on/off activate; flip reverse; dxf export the cut |
level | ll 標高 | level z [count] [spacing] [name] | Add a level at elevation z (Revit LL; names auto-increment); count > 1 arrays upward every spacing |
updatetoface | uf 更新至面 | updatetoface | Re-fit the selected by-face elements (or a mass = all of its by-face elements) to the current mass faces (Revit Update to Face) |
upgradegrid | gridupgrade 升級軸線 轉成結構軸線 | upgradegrid [all] | Upgrade the selected legacy Grids (Grid) node to a structural grid: equal spacing becomes "n*d", origin / rotation / overhang carry over, links from its lines and intersections are kept (same intersection order); with nothing selected and a single Grids node it is upgraded; upgradegrid all = every one |
shaft | 管道間 | shaft [void] | Turn the selected mass into a shaft opening (cuts every floor, Revit Shaft Opening); shaft void, or void / 挑空 = atrium void (keeps the bottom floor) |
void | 挑空 atrium | void | Turn the selected mass into an atrium void (keeps the bottom floor, cuts the floors above); use shaft for a shaft opening |
cplane | cp namedcplane 構造平面 工作平面 | cplane [world top|front|right | 3pt [o x y] | face | elevation d | origin x,y,z | rotate [x|y|z] deg | prev | next | save|restore|delete name | list | reset] [all] | Construction plane (Rhino CPlane): drawing, the grid and ortho follow it; one per viewport; save name = store it in the design (named CPlane) |
axes | 繪圖軸 ucs | axes [reset | o x y] | Drawing axes (SketchUp Axes): click the origin, the red and green axis directions; drawing and inference follow them; axes reset returns to the world axes |
keynote | kn keynotes 註解 註解標籤 | keynote [element|material|user] [鍵] | Keynotes: without arguments opens the keynote table (import your own keynote file, element/material keynote assignments); keynote element / material / user key = put a keynote tag on the selected element in its level plan |
classification | classify assemblycode 分類 分類系統 | classification | Classification: system name and edition, import your own code table, assign to categories / types / elements; used by IFC export, COBie and schedules |
cobie | exportcobie COBie匯出 | cobie | COBie 2.4 export (.xlsx or CSV zip): floors, spaces, zones, types, components, systems, attributes; GlobalIds match the IFC export |
gbxml | exportgbxml gbXML匯出 能源分析匯出 | gbxml | gbXML export (energy analysis): rooms → spaces, walls / floors / roofs → surfaces (classified by adjacent rooms), doors and windows → openings, type layers and U-values; runs a pre-export check first |
handover | equipmentlist warranty 交屋 交屋資料 設備清單 | handover | Handover data: equipment list (doors, windows, components), manufacturer, model, serial number, install date, warranty, maintenance manual URL, spare parts; bulk edit, CSV import/export, PDF, included in COBie |
ids | idscheck checkids 資訊需求 IDS檢核 | ids | Information requirements (IDS) check: load an IDS 1.0 file and check this design’s IFC export or an external IFC; pass/fail per specification, locate failing elements, report CSV and BCF |
sharedparams | sharedparameters projectparams 共用參數 專案參數 | sharedparams | Project parameters and the shared parameter file: export / import parameter definitions (stable GUIDs) to reuse the same parameters in other projects |
projectinfo | projectinformation pi 專案資訊 專案資料 | projectinfo | Project information: project name, number, client, office, architect, address, county, issue date, north angle and latitude/longitude; used by sheet title blocks, 2D fields, IFC, COBie, gbXML and the regulation report |
globalparams | globalparameters gp 全域參數 | globalparams | Global parameters: project-level named values (length, angle, number, area, text, yes/no) set by a constant, a formula or a slider, associated with door/window sizes, level elevations, wall slant and dimension labels |
help | ? 說明 | help | List commands |
gumballalignment | gumballalign gumball對齊 | gumballalignment [world|cplane|object] | Gumball alignment (Rhino GumballAlignment): world, cplane or object axes |
floorbyface | ff 依面建立樓板 | floorbyface | Selected mass: a floor on each mass floor (Revit Floor by Face / Mass Floors) |
roofbyface | fo 依面建立屋頂 | roofbyface | Selected mass: a roof slab on every upward face, flat or sloped (Revit Roof by Face) |
curtaingrid | cg 帷幕格線 | curtaingrid | Curtain Grid: click a curtain wall in a 3D or elevation pane to add a grid line (near the top/bottom edge = vertical, near the ends = horizontal; Revit Curtain Grid) |
mullion | mu 竪框 | mullion | Mullion: click a grid line of a curtain wall in a 3D or elevation pane to add or remove a mullion; Shift+click = all grid lines (Revit Mullion; shortcut MU) |
curtainsystembyface | fc 依面建立帷幕系統 | curtainsystembyface | Curtain System by Face: with masses selected = every face; otherwise click a face of a mass in a 3D pane (Revit Curtain System by Face; shortcut FC) |
box | 方塊 | box | Box (Rhino Box): two base corners and a height; options Center, 3Point, BothSides |
sphere | 球 | sphere | Sphere (Rhino Sphere): center and radius; options 2Point, 3Point |
cylinder | 圓柱 | cylinder | Cylinder (Rhino Cylinder): base center, radius, height; options 2Point, 3Point, BothSides |
cone | 圓錐 | cone | Cone (Rhino Cone): base center, radius, apex |
loft | 放樣曲面 | loft | Loft (Rhino Loft): pick section curves in order; options Style=Normal|Straight, Closed |
sweep1 | 單軌掃掠 | sweep1 | Sweep1 (Rhino Sweep1): pick the rail, then the cross-section curves |
sweep2 | 雙軌掃掠 | sweep2 | Sweep2 (Rhino Sweep2): pick two rails, then the cross-section curves |
networksrf | 網狀曲面 | networksrf | Network surface (Rhino NetworkSrf): pick the curves in one direction, Enter, then the other direction |
cap | 加蓋 | cap | Cap (Rhino Cap): fills the planar openings of open surfaces into a solid |
patch | 嵌面 | patch | Patch (Rhino Patch): fits a surface to boundary curves (and interior points) |
edgesrf | 邊緣曲面 | edgesrf | Edge surface (Rhino EdgeSrf): pick 2, 3 or 4 edge curves |
ruledsrf | ruled 直紋曲面 | ruledsrf | Ruled surface (a two-curve Loft Style=Straight): pick two curves |
extractsrf | 抽離曲面 | extractsrf | Extract surface (Rhino ExtractSrf): click faces of a solid; option Copy |
contour | 等高線 | contour | Contour (Rhino Contour): pick objects, a base point, a direction and the spacing |
project | 投影 | project | Project (Rhino Project): pick curves, then surfaces; projects along the CPlane normal |
pull | 拉回 | pull | Pull (Rhino Pull): pick curves, then a surface; pulls to the closest points |
dupedge | 複製邊緣 | dupedge | Duplicate edges (Rhino DupEdge): click a face = that face's edges; Enter = all edges of the selected objects |
dupborder | 複製邊框 | dupborder | Duplicate border (Rhino DupBorder): the naked edges of open surfaces |
orient | 兩點對位 | orient | Orient (Rhino Orient): two reference points → two target points; options Copy, Scale |
orient3pt | 三點對位 | orient3pt | Orient3Pt (Rhino Orient3Pt): three reference points → three target points; option Copy |
rotate3d | 三維旋轉 | rotate3d | Rotate3D (Rhino Rotate3D): two axis points, an angle or two reference points; option Copy |
scale1d | 單軸縮放 | scale1d | Scale1D (Rhino Scale1D): origin, factor or two reference points (direction = first reference point) |
scale2d | 平面縮放 | scale2d | Scale2D (Rhino Scale2D): uniform scale in the CPlane |
arraypolar | arraypolar | Polar array (Rhino ArrayPolar): center, count, angle to fill | |
curve | 控制點曲線 | curve | Control-point curve (Rhino Curve): click control points, Enter to finish; options Degree, Close, Undo; F10 shows draggable points |
interpcrv | 內插點曲線 | interpcrv | Interpolated curve (Rhino InterpCrv): the curve passes through every point, Enter to finish; options Close, Undo |
arc | 弧 | arc | Arc (Rhino Arc): center, start, end or angle; option StartPoint |
ellipse | 橢圓 | ellipse | Ellipse (Rhino Ellipse): center, end of first axis, end of second axis; option Diameter |
chamfer | 斜角 | chamfer | Chamfer curves (Rhino Chamfer): click two curves; options Distances, Join |
blendcrv | 混接曲線 | blendcrv | Blend curve (Rhino BlendCrv): click two curves near the ends to blend; option Continuity |
tween | tweencurves 漸變曲線 | tween | Tween curves (Rhino TweenCurves): pick two curves and the number in between |
subcrv | 子曲線 | subcrv | Subcurve (Rhino SubCrv): pick a curve, click the start and end |
dim | dimaligned dimlinear 尺寸 | dim | Dimension (Rhino Dim / DimAligned): click two points, then the dimension line location; ends snapped to vertices of masses or curves follow upstream changes |
pointson | 控制點開 | pointson | Points on (Rhino PointsOn, F10): show the control points of the selected curves; drag them to edit |
pointsoff | 控制點關 | pointsoff | Points off (Rhino PointsOff, F11) |
makegroup | 建立群組 | makegroup | Make a group of the selection (SketchUp Make Group) |
makecomponent | 建立元件 | makecomponent [name] | Make one component of the selection (SketchUp Make Component, G) |
editgroup | 編輯群組 | editgroup | Open the selected group/component for editing (or double-click it) |
closegroup | 關閉群組 | closegroup | Close the group/component being edited (Esc) |
explodegroup | 炸開群組 | explodegroup | Explode the selected groups/components (SketchUp Explode) |
outershell | 外殼 | outershell | Solid Tools: Outer Shell |
solidunion | 實體聯集 | solidunion | Solid Tools: Union (click two solids, or select first) |
solidsubtract | 實體差集 | solidsubtract | Solid Tools: Subtract (click the cutter, then the solid to cut) |
solidintersect | 實體交集 | solidintersect | Solid Tools: Intersect |
solidtrim | 實體修剪 | solidtrim | Solid Tools: Trim (the cutter is kept) |
solidsplit | 實體分割 | solidsplit | Solid Tools: Split (three pieces) |
intersectfaces | 交線 | intersectfaces [model|selection] | Intersect Faces: the selection with the model (or with each other) |
protractor | 量角器 | protractor | Protractor: create an angle guide |
dim3d | 尺寸標註 | dim3d | 3D dimension (SketchUp Dimension) |
text3d | 3d文字 | text3d | 3D leader text (SketchUp Text) |
deleteguides | 刪除導線 | deleteguides | Delete all guides (SketchUp Edit › Delete Guides) |
showguides | 導線顯示 | showguides [on|off] | Show/hide guides (SketchUp View › Guides) |
sketchy | 手繪風 | sketchy [on|off] | Sketchy edges (SketchUp Sketchy Edges) |
backedges | 背面邊線 | backedges [on|off] | Back edges (hidden edges dashed) |
SketchUp: groups, Solid Tools and annotations
Use the "SketchUp ▾" menu on the toolbar, the context menu (SketchUp input style) or the command line. SketchUp only has a default shortcut for G (Make Component), and so does Synhedra; Q is still Rotate.
- Groups and components:
makegroupmakes a group;makecomponentor G makes a component (instances share one definition). Double-click a group or component to edit it in place (oreditgroup); the rest of the model fades, and you can go in level by level. New geometry drawn while editing goes into that group; a copied group becomes unique when you open it. Esc, a click outside orclosegroupcloses it;explodegroupexplodes it. In the Outliner, expand a group to see its members and double-click to edit it. - Solid Tools: Outer Shell
outershell, Unionsolidunion, Subtractsolidsubtract(click the cutter, then the solid to cut), Intersectsolidintersect, Trimsolidtrim(the cutter is kept), Splitsolidsplit. Click two solids, or select them first. The result keeps its parametric history and is one undo step. - Intersect Faces
intersectfaces [model|selection]: the intersection lines of the selection with the whole model (or with each other). They are stored as a snapshot you can snap to, and closed loops can be pushed/pulled; they do not update later (as in SketchUp). - Protractor
protractor: click the center and the baseline, then click or type an angle to create an angle guide.showguides on|offshows or hides guides,deleteguidesdeletes them all; the Select tool can pick a guide and the Eraser deletes it with a click. - 3D dimension
dim3d: click two points, pull out the dimension line, click to place. When both points snap to vertices of a mass or curve, the dimension remembers those vertices: if you later change the height or the outline, the dimension follows. 3D texttext3d: click a point on the model, pull out the leader, click to place the text and type it; double-click the text to edit it. Text and end marks keep a fixed screen size. - Sketchy edges: "Sketchy edges" in the Display panel or
sketchy on|off(extended line ends and two jittered strokes; Shaded, Hidden Line and Monochrome).backedges on|off: hidden edges shown dashed.
Rhino: interactive commands and control points
- Type a command name in the command line and follow the Rhino prompts step by step. The parentheses after a prompt list its options, for example
( Center 3Point BothSides ): type an option name (or an unambiguous start of it) to switch, andName=Valuefor options with a value, for exampleDegree=3. Enter accepts the default or finishes, Esc cancels without changing anything. A finished command is one undo step and creates nodes whose parameters you can still edit. - Coordinates:
x,y,zis in construction-plane coordinates; a leadingror@is relative to the last point andwis world coordinates;<anglelocks the angle. With a base point, a single number locks the distance; then click the direction. - New commands (any input style): solids
boxspherecylindercone; surfacesloftsweep1sweep2networksrfcappatchedgesrfruledsrfextractsrf; curves from objectscontourprojectpulldupedgedupborder; transformsorientorient3ptrotate3dscale1dscale2darraypolar; curvescurveinterpcrvarcellipsechamferblendcrvtweensubcrv; control pointspointsonpointsoff; dimensionsdim(aliasdimaligned: click two points, then the dimension line position; Enter = default position; it creates a 3D dimension, the same node as the SketchUp dimension). - The nodes created by
loft,sweep1,revolveandruledsrfare the same nodes as "Loft", "Sweep", "Revolve" and "Ruled surface" in the node graph list (the same-name features of SketchUp, Rhino and Grasshopper are merged; see Node graph). - Existing commands with the same name
revolve,section,rotate,scale,array,polyline,line,circle,offset,fillet,extend,join,explode: in the Rhino input style and without arguments they use the interactive flow above; otherwise they work as before. - Control points:
pointson(F10 in the Rhino input style) shows the control points of the selected curves; drag them to edit.pointsoff(F11) hides them. The Gumball is hidden while control points are on. The Rhino input style also has Ctrl+J for Join; the SketchUp and Revit styles do not bind these three keys.
Paint bucket and materials
Press B to pick up the paint bucket. It picks up the last material, opens the Materials tab of the display panel and switches coloring to "by material". The rules follow SketchUp's group context:
- Outside an object (normal state): a click paints the whole object. Clicking an object inside the selection paints the whole selection. Shift+click replaces that material on every object in the model that has it. Alt+click samples the object's material.
- Inside an object (after double-clicking it): a click paints that face only. Ctrl+click paints connected faces with the same material. Shift or Ctrl+Shift+click paints every face with that material inside the object. Alt+click samples. Clicking another object or empty space leaves the object.
- Put the bucket down with V or Esc.
Materials are stored in the design and travel with saves and shares. The display panel can also color by layer, by use or by value.
BIM walls, floors, roofs and ceilings (one material identity): the tray’s “Project materials” are the Material Browser’s materials (the same ones used by layers, cut hatches, U-values, IFC and 3DM). Outside an object, clicking a BIM element changes this one only (the side you click, for example a wall’s exterior, written as that wall’s own face materials); Alt-click changes this type (its finish layer; every element of the type follows, and a built-in type becomes a custom type with the same id); Alt+Shift-click samples; Ctrl-click paints the whole element. With “Show BIM elements by type material” on, walls without a material show the first layer outside and the last layer inside (off by default, so existing designs look the same).
Display, scenes, section
- The "Display" toolbar button opens the display panel: styles (wireframe, shaded and so on), the materials tray, sun and shadows.
- The "Scenes" dropdown saves the current camera, layout, section, hidden objects, display style and shadows, like SketchUp Scenes. For animation and walkthrough see the next section.
- Tag (layer) visibility and locks: the eye (show) and lock (cannot select or edit) on each tag (layer) in the outliner are stored in the design, separately for each view: above the outliner it says "Visibility/locks for: 3D (global default)" or the current scene. The 3D setting is also the default for level plans; a scene can override it (like the visible tags a SketchUp scene remembers). Save, undo, cloud, sharing and live collaboration all follow. Layers hidden the old way in older designs (every object set to hidden) stay hidden, and are restored together when you press the eye to show them.
- The "Section" field in the toolbar takes a height and shows only what is below it, handy for plan views. Leave it empty to turn it off. To cut at any position and keep several sections, use section planes.
- Options such as "show edges" live in the display panel.
- The left (outliner and properties) and right (display, sun and shadows, scenes) panels can collapse: click ‹/› in the title bar to hide one and the handle on the window edge to bring it back. Drag the inner divider to resize: release when very narrow to collapse, double-click for the default width, arrow keys on the focused divider for fine steps, Home/End for narrowest/widest. Open state and width are remembered per workspace. Tab is kept for tools in 3D and does not hide panels.
Section planes
Like SketchUp's Section Plane, Rhino's ClippingPlane and Revit's Section. Click "Display" in the toolbar to open the right panel, switch to the "Section" tab at the top, or type section in the command line (剖面 also works).
- Placing: "+ On a face" clicks a face of the model; the plane snaps to that face and looks into it (hold Shift to lock the direction). "+ Two points" clicks two points on the plane and looks to the left of the line (drawing left to right looks up, as in Revit; Shift for orthogonal). "+ Horizontal" takes a height. Esc cancels. A newly placed section plane becomes the active one automatically.
- Several named sections: each section plane has a name (double-click to rename; names cannot repeat), up to 64. The list marks each as horizontal, vertical or sloped.
- Active cut: only one section plane cuts the model at a time. Click one in the list, or double-click a section plane's frame in the viewport, to make it active; "Deactivate all" or
section offturns the cut off. "Reverse direction" looks at the other side. - Gizmo: selecting a section plane shows a gizmo. Drag the orange arrow to move along the normal, drag the red and green rings to rotate (Shift for 15° steps). Delete removes the selected section plane.
- Display: "Display section planes" toggles the plane frames; with "Display section cuts" off, even the active section plane does not cut. "Section fill" colours the cut face, either "Uniform colour" (custom colour) or "By material".
- Export DXF: "Export DXF" in the panel, or
section dxf, exports the cut lines and fill of the active section as a 2D DXF (mm). You are warned when the active section cuts nothing. - Make2D: tick "Along the current section plane" to produce a hidden-line section drawing along the active section plane; see Make2D.
- Scenes: a scene remembers the active section plane and switches it when you switch scenes.
- Bind to a level: pick a level in the Level drop-down of a horizontal section; the cut height = level elevation + the current offset, and follows the level when its elevation changes (dragging the gizmo changes the offset). If the level is deleted the section stays at its last height. Tilting the plane removes the binding.
- Section box (Revit Section Box): pick a scope box (command
scopebox) under Section box in the panel and the 3D view only shows what is inside it (the box rectangle, rotation and level range: 6 clipping planes); it works together with the active section. Scenes remember the section box. - Scene identity: every scene has a fixed id that does not change when you rename it; sheets refer to a scene by its id (see Placing scenes on sheets). Scenes in older designs get an id from their name when opened; the file content is not changed by this.
- Link to a section marker (mainly Revit sections): for a vertical section, pick a section marker placed on the plan (with SV) in the "Section marker" dropdown, or press "Show in 3D" in a section view. A section plane linked to a marker is a projection of the marker: change the marker on the plan and the 3D section plane follows; drag the section plane in 3D and the marker moves too. Turning the plane oblique or horizontal removes the link; if the marker is deleted the section plane stays where it was.
- Sync a 3D section plane when placing a section marker: tick "Sync 3D section plane" in the options bar of SV, and the same step adds an active vertical section plane linked to the marker (named after the marker plus " 3D"). The plane's position and direction are always computed from the marker (no second copy is stored); dragging the section plane's gizmo in 3D moves the marker's section line (same length), and one Ctrl+Z undoes it. When 2D drawings are made from 3D, a section plane linked to a marker uses the marker's cut (same section line, view direction, far clip and crop region). Unticked = as before, only the marker is placed.
- Command line:
section(on a face),section v [x1,y1 x2,y2](two points, vertical; you can give the two points directly),section h z(horizontal),section on|off [name],section flip,section delete [name],section planes|cuts|fill on|off,section dxf,section list. - Section planes are stored in the design: they can be undone, and are saved with the file, in the cloud and in shares. A read-only share link can switch the active section plane (only in your own window) but cannot change them.
Scene animation and walkthrough
Scenes are stored in the design. They can be undone, and they travel with saving, cloud and sharing. Scenes that older versions kept on this computer move into the design automatically when you open it.
- Scene bar: choose "▤ Scene bar, animation & walkthrough" in the "Scenes" dropdown to open it. "+" adds a scene (a scene with the same name is overwritten, keeping its timing settings). Click a tab to switch to that scene, and the camera glides there. Double-click or press F2 to rename, and drag or press Alt+← / Alt+→ to reorder. Deleting asks for confirmation, and you can undo it with Ctrl+Z.
- What a scene stores: name, window layout, section (the toolbar section height and the active section plane), the camera of each view (including field of view), hidden objects, display style and shadows.
- A scene = a named view (Rhino Named View, Revit 3D view): when you add or "Update" a scene, the current tag (layer) visibility and locks are saved as the scene's own view settings; switching to the scene makes the 3D view use the scene's settings (only your own screen changes: nobody else's, and no undo step). Anything the scene does not set follows the 3D global default. While a scene is active, VG (when there is no plan mode) edits that scene's visibility/graphics. Scenes in older designs behave as before (the hidden-object list is applied when switching).
- Level cut: the scene table under "⚙ Animation" has a "Level cut" dropdown; once you pick a level, switching to that scene makes the horizontal section the cut height of that level, and it follows later changes to the level's elevation.
- Placing scenes on sheets: in the documentation view, "3D Views" in the Project Browser lists every scene, and you can drag one onto a sheet like any other view. The projection is orthographic: a scene with an active section = along the section; Top = the linked level plan (if none, the section height or the roof plan); Front = the south elevation, Right = the east elevation; Perspective = the isometric view closest to the camera direction. The view name follows the scene name, so renaming a scene does not break the sheet.
- Playback: "▶ Play" plays the scenes in order; you can pause and resume, and "■ Stop" leaves the camera where it is. "⚙ Animation" sets the transition (on by default, 2 seconds), the dwell time per scene (1 second by default), looping and easing. Each scene can also have its own transition and dwell time, or be left out of playback. When the system has "Reduce motion" on, scenes switch directly with no transition.
- Walkthrough tools: they work only in a perspective view. The scene bar has three buttons: "Walk", "Look Around" and "Position Camera". With SketchUp or Rhino input habits you can also press W to start walking (the Revit style has no shortcut; use the button).
- Walk: hold the left button and drag up or down to move forward or back, and left or right to turn. The farther from the start point, the faster. Shift moves up, down and sideways, and Ctrl runs. The arrow keys also walk. Eye height is fixed, and there is no collision or gravity.
- Look Around: drag to turn your head while standing still.
- Position Camera: click once to stand at that spot (at eye height), or drag from where you stand toward what you want to see. Once placed, it switches to Look Around automatically.
- The scene bar can change eye height (1.6 m by default) and field of view (45° by default). Esc or Space ends it.
- Export video: "Export video…" on the scene bar, or "File ▾ › Export animation video (WebM)…". Choose 720p, 1080p or the current window size, at 30 frames per second. Recording runs in real time, so keep the tab in the foreground; the maximum length is 10 minutes. It needs a recent Chrome, Edge or Firefox, and explains the reason if the browser does not support it. After the last frame the dialog shows "Finishing video…" while the encoder works through queued frames (this can take a few seconds); keep the tab in the foreground during this step too (background tabs are throttled, so finishing slows down). You can still cancel.
- A read-only share link can switch scenes, play and walk through them, but cannot add, rename or delete scenes or change animation settings.
Components
- Select something and press G to make a component. A component has one definition and many instances; editing the definition updates every instance. The commands
component,instanceanduniquedo the same. - "Publish" (command
publish) makes the selected geometry available to other designs in the same project. In another design use "Linked design" (commandlink) and choose the exposed parameters in the properties panel. - Rhino blocks: when importing a 3DM, blocks become components and instances by default; when exporting a 3DM, components are written as Rhino blocks. See Blocks ⇄ components.
- Instance parameters: when you select a component instance, family component, cluster or linked design, the properties panel has the same "Instance parameters" section. The top part is placement (position, rotation, mirror, scale or level offset); the bottom part holds this placement's own values: instance parameters for a family component, the inputs for a cluster, override values of the exposed parameters for a linked design. A component instance has placement only; to give each placement its own parameter values, convert the component to a family.
- Component → family: select one instance of a component (or the component definition) and press "Convert to family…" in the "Instance parameters" section, then check the preview: category (generic model or furniture), family name, number of instances, number of mesh triangles, shapes by material, and size. Pressing "Convert" bakes the component's geometry into a non-parametric family (a mesh; one shape per material, appearance unchanged) and replaces every instance with a family component (position, rotation, mirror, level and offset unchanged; name, layer, phase, design option and custom properties carried over); the original component and instances are deleted. One Ctrl+Z undoes the whole conversion. After conversion the components appear in schedules, classification, COBie and IFC (the family editor marks them "baked mesh", and Length / Depth / Height are read-only parameters). Instances with scaling, instances inside a parent group, instances without a level, or meshes over 20,000 triangles cannot be converted; the preview lists the reason. Groups (as opposed to components) have no such button.
- Several components → one family with several types: the preview lists the other component definitions in the drawing; those with the same name prefix (e.g.
Chair,Chair_2,Chair #3,Chair (4)) are ticked by default. The ticked components are merged into one family with one type per component definition (type name = component name; duplicates get a number). Each type shows only its own mesh (type parameter "Show k: type"), and Length / Depth / Height are that type's own extents; each instance becomes a family component of its type at the same position. The whole family is still capped at 20,000 triangles, 48 forms and 48 types. With only one component = a single type, as before. - Component ⇄ cluster: "Definition → cluster" in the "Instance parameters" section packs the component's definition chain (the curve, solid and transform nodes upstream of the component) into a Grasshopper cluster; sliders and values become cluster inputs, and all instances still share it. With a cluster selected, "Make component definition" does the reverse: it connects the cluster's geometry outputs to a component definition and places one instance. "Cluster⇄Comp" on the graph toolbar does the same. A definition chain that contains nodes tied to global parameters, BIM elements or pinned nodes cannot be packed; the reason is shown.
Equipment and component families
"Built-in components" in the outline's "Families & Manage" block: pick a category, family and type (Type Selector), press "Place", then click in the plan or 3D (same as CM; keep clicking to place more, Esc to finish). The family is loaded into the project on first placement; after that you can "Edit Family" like any other family to change sizes or add types. These are simple parametric components for demonstration; there are no pipe or duct systems.
- Categories: plumbing fixtures (toilet, lavatory, urinal, bathtub, shower, kitchen sink), lighting fixtures (recessed downlight, ceiling light, wall light), electrical equipment (panelboard, receptacle, switch), mechanical equipment (split AC indoor unit, ducted indoor unit, outdoor unit), furniture systems (workstation, storage cabinet), signage (wall sign, freestanding sign), parking, specialty equipment (drinking fountain, refrigerator). "New family…" can also create families in these categories.
- Hosts: wall-hosted families (receptacle, switch, panelboard, wall light, urinal, wall-mounted AC, wall sign) must be clicked on or next to a wall; the back sits on the wall face, facing the side you clicked, at the family's Default Elevation. A toilet, lavatory, bathtub or storage cabinet clicked next to a wall snaps to it; away from walls it stays where you clicked. Ceiling-hosted families (downlight, ceiling light, ducted unit) clicked inside a ceiling on that level attach to the ceiling underside; with no ceiling they go at the level plus the Default Elevation. Change the height with "Offset from Level" in Properties or in the schedule.
- Plans: floor plans show the component's plan symbol (not a 3D cut), and so does a Make2D plan; elevations, sections and 3D show the solid.
- Schedules and tags: one schedule per category (family, type, mark, level, elevation from level, host, sizes, count; group by level for counts). TG on a component adds a "Component Tag" (mark or type name). The material takeoff lists components too.
- Parking: default 2.5 × 5.5 m, editable in the type or the Family Editor; tick the instance parameter "Accessible" to add an access aisle (its width is a type parameter). The families block lists the number of spaces per level, and the parking schedule can group by level. The sizes are only defaults; check compliance with local regulations yourself.
- IFC export: plumbing → IfcSanitaryTerminal, lighting → IfcLightFixture, panelboard → IfcElectricDistributionBoard, receptacle → IfcOutlet, switch → IfcSwitchingDevice, AC units → IfcUnitaryEquipment, furniture systems → IfcFurniture, drinking fountain and refrigerator → IfcElectricAppliance, each with a type object; signage and parking, which have no IFC4 class, are written as IfcBuildingElementProxy (ObjectType = Signage / ParkingSpace).
Furniture and planting families
The "Built-in components" library also has Furniture and Planting categories, used like the equipment families (pick family and type → place → click once in the plan or 3D; the family is loaded into the project on first placement). The search box above finds families across categories, matching name, category, type name and Chinese/English aliases (for example "bed", "sofa", "tree", "H600"). Sizes are typical illustrative values for Taiwan; all of them are parametric families that Synhedra builds from simple geometry, so you can "Edit Family" to change sizes or add types. The type name is the key used for saving and for IFC / COBie (the size code); the family browser, Properties palette and schedules show a label in the interface language (for example "Single 3.5 shaku (106×188 cm)").
- Furniture: bed (named in Taiwanese shaku: single 3.5 shaku 106×188, double 5 shaku 152×188, queen 6 shaku 182×188, king 6×7 shaku 182×212 cm), wardrobe, desk, dining table with chairs (4 or 6 seats; the type parameter "End Chairs" controls the head-of-table chairs), sofa (1, 2 or 3 seats), office desk (with drawer unit), conference table, reception counter (transaction top plus work top), kitchen counter (60 cm deep; the instance parameter "Upper Cabinet" controls the upper cabinets). Beds, wardrobes, desks, sofas and kitchen counters clicked next to a wall snap their back to the wall. The type names of the other furniture are sizes (cm, width × depth, for example sofa 210×85). Toilets, lavatories and bathtubs are in the plumbing fixtures category.
- Planting: deciduous tree, conifer, shrub, lawn / groundcover. Height, Crown Diameter, trunk diameter and Clear Trunk Height are type parameters, and type names follow the drawing convention: H = height, W = crown width, C = diameter at breast height, in cm (for example H300 W120 C12; shrubs list only H and W). In 3D the trunk is a polygonal prism and the crown is made of stacked slices (roughly a sphere for deciduous trees, a cone for conifers); when colored by material, crown, trunk and turf each have their own color. The lawn's Width and Length are instance parameters: select it and change them directly in the Properties palette.
- Plans and sheets: furniture is drawn as the plan projection of each part (table legs hidden under the tabletop are not drawn); beds get a folded-quilt line, wardrobes a hanging rail, sofas separate seat cushions, kitchen counters a sink and burners. A deciduous tree is a crown circle with branch lines, a conifer has radiating lines, a shrub a wavy outline, and a lawn an outline with tuft marks. The symbol follows parameter and type changes, in plans, Make2D and sheets alike.
- Schedules, COBie, IFC: there are two schedules, "Furniture" and "Planting" (family, type, mark, level, sizes, count); COBie lists the components and types (furniture is marked movable). IFC4 export writes furniture as IfcFurniture (bed BED, table TABLE / DESK, sofa SOFA) and planting as IfcGeographicElement, each with a type object; IFC2X3 writes furniture as IfcFurnishingElement plus IfcFurnitureType.
- 2D block as the plan symbol: on the “Plan symbol (2D block)” tab of the Family Editor, choose a 2D design in the same project (or one shared with you), click “List blocks”, pick a block and click “Use this block”: the block’s lines (lines, polylines, arcs, circles, ellipses, splines; texts, hatches and nested blocks are skipped) become this family’s plan symbol, with the block’s base point at the family origin; it takes effect after “Save to library” or “Load into project”. Placed components draw this symbol in plan by their position, rotation and mirroring; in floor plans brought into 2D with Import from 3D they are INSERTs of a block of the same name (mirrored = X scale −1), and the block definition goes along with DXF export. None = the built-in symbol or the 3D projection (existing designs unchanged). When the source design changes the tab shows “The source has a newer version”; click “↻ Update” or “☁ Update from cloud” to read it again. A source that was not chosen on this device (brought in by a collaborator, a share or an imported file) is not checked automatically, and Update asks first. “Remove” goes back to the built-in symbol. Limits: 2,000 lines and 10,000 points per family, coordinates ±500 m.
Create by face, levels and openings
This follows Revit's conceptual design flow: build a mass first, then create walls, floors and roofs on its faces. With Revit input style press the two-letter shortcuts directly (with other styles they also work while the cursor is over the plan pane, see Plan mode); you can also type the command in parentheses on the command line. LL is Revit's default shortcut; FW, FF, FO, FC, UF and OW are Synhedra's own (Revit has no default for them).
- Wall by Face FW (
wallbyface): places a wall on a vertical face of a 3D grid mass, with the outer surface of the wall flush with the mass face. Select a mass first and press FW to place walls on all vertical faces at once. Esc ends. - Floor by Face FF (
floorbyface): click a mass; a floor is placed for each level whose elevation falls within the mass height. - Roof by Face FO (
roofbyface): places a roof slab on the upward-facing faces of a mass (flat or sloped). - Curtain System by Face FC (
curtainsystembyface): click a face of a mass (vertical, sloped or top) to create a curtain system; its type is the curtain wall type currently chosen in the wall tool (default "Exterior Glazing"). Select masses first and press FC for every face. A curtain system uses only its type's grid; you cannot addcurtaingridgrid lines or MU mullions to it. "All panels" in the properties panel swaps every panel at once. For curtain walls see Plan mode › Curtain walls. - Faces that already have an element are skipped. If the design has no levels yet, 1F, 2F, 3F and RF are created first. The created elements stay associated with the mass: after the mass changes, select those elements (or select the mass = all of its by-face elements) and press Update to Face UF (
updatetoface) to snap them back. Pinned or locked elements are not updated (UP unpins). - Level LL (
level): click once in an elevation pane (Front, Right) to add a level at that height. Click once in the 3D pane or press Enter to open the "New level" dialog; enter a name, elevation, count and spacing; a count above 1 arrays upward. A blank name numbers automatically: from the nearest numbered level below, it goes one storey up (3F→4F, Level 09→Level 10; basements go B2F→B1F→1F); below the lowest level it gives B1F, B2F. A level inserted between two levels (for example between 2F and 3F, or between B1F and 1F) is a mezzanine, named "M" plus the name of the level below: M2F, MB1F. Automatic names never duplicate existing names. An elevation within 1 mm of an existing level is rejected. Every new level has a floor plan; elevation and 3D views show level heads (name plus elevation). Command line:level z [count] [spacing] [name]. - Wall Opening OW: in the 3D or elevation pane click one corner on a wall face, then the opposite corner on the same wall, to cut a rectangular hole (minimum 10 mm). The hole follows the wall and is deleted with it. A pinned wall cannot take an opening. The tool repeats; Esc ends.
- Shaft Opening (command
shaft, no shortcut): select a mass and typeshaftto turn it into a shaft opening cut out of every floor (Revit Shaft Opening).shaft voidmakes a void that keeps the lowest floor. - Void (command
void, aliases挑空andatrium): select a mass and typevoidto turn it into an atrium void: the lowest floor is kept and the floors above are cut. It is the same asshaft void; for a shaft through every floor useshaft. - All of these can be undone with Ctrl+Z. They are not available on a read-only share link.
- Faces driven by the graph: curtain systems and roofs by face have a Face input. Connect a mass face with Solid Face in the node graph and the curtain system or roof follows the mass at once, without UF. Nothing follows automatically by default; connect only the elements that should (see Node graph).
Roofs, ceilings, wall attach and paste to levels
These follow Revit's architectural elements: roof by footprint, roof by extrusion, ceilings, wall attach and edit profile. Revit has no default shortcuts for these commands, so Synhedra does not add any either; use "BIM ▾" on the toolbar. The roof and ceiling tools work in the plan pane (plan mode).
- Roof (by footprint): enters sketch mode (Modify | Create Roof Footprint). Pick Walls is the default: click exterior walls to add them; the boundary is measured to the exterior wall face and pushed out by the overhang (Options Bar, 600 mm by default). Press Tab over a wall to pick the whole chain. You can also draw lines, rectangles, polygons and arcs. Each line has a slope symbol at its midpoint: ∠ 30° means it defines the slope; click it to change it to — (no slope = gable). The Options Bar has the slope angle, "Defines Slope" (whether new lines slope) and "Apply Slope" / "Make Gable" (for the selected sketch lines, or all of them when none are selected). Click ✓ to finish.
- All four edges sloping gives a hip roof; the two long edges sloping gives a gable roof (the short edges are gables); one edge gives a shed roof; none gives a flat roof. L-shaped and concave footprints and courtyards get correct ridges and valleys. The roof reaches its base elevation at the wall face (the overhang back in from the edge), so a larger overhang gives a lower eave. After creating a roof from picked walls you are asked whether to attach the tops of those walls to the roof.
- Roof properties: type (roofs have their own type table: RC + insulation, generic, tile roof, metal sandwich panel; "Duplicate…" changes the structure thickness), base level and "Base Offset From Level", the slope of each edge (checked = defines slope, with the angle beside it), "All define slope", roof area, plan area, volume and layers. "Edit Footprint" returns to sketch mode.
- Roof by extrusion: click the start and end of the reference line (the elevation the profile sits on and its span), then the extrusion depth. The profile (gable or shed) and slope are in the Options Bar; the roof is placed on the level above the current one. In Properties you can change the extrusion start and end and the profile (gable 30°, shed 15°, or "Edit Profile…" to enter
u,zfor each point). - Join Roof: select an extruded roof, click "Join Roof" in Properties, then click the main roof: the end of the extrusion extends to the main roof surface (a dormer). "Unjoin Roof" returns to the original end. Esc cancels the pick.
- Ceiling: the default is Automatic Ceiling: move into a room enclosed by walls and click when the boundary lights up. Switch to Sketch Ceiling in the Options Bar to pick walls or sketch boundary lines, then ✓. The height is the level plus "Height Offset From Level" (2.6 m by default, the ceiling underside); the type is a ceiling type (gypsum board, mineral fiber…). As in Revit, floor plans do not draw ceilings; you see them in 3D, sections and schedules.
- Floor slope and shape editing: the slope arrow in a floor sketch now really tilts the floor in 3D, and schedules, material takeoff and IFC use the sloped slab. Select a floor and use "Slope and Shape Editing" in Properties: "Modify Sub Elements: add vertices" adds every boundary vertex so you can change each elevation offset; "Add Point" adds a point at the floor center (for example a drain 20 mm lower); "Reset Shape" clears them all.
- Floors follow walls: a floor boundary made with Pick Walls is tied to the walls: when a wall moves or is extended the floor follows, and when a wall is deleted that edge becomes a fixed line in place. In the Options Bar the boundary can sit on the wall interior face, exterior face or centreline. The floors of the "Five-storey RC apartment" template are tied to the exterior wall centrelines, so dragging an exterior wall in plan moves the 3D floor with it, with no gap. For a floor with a fixed-line boundary (sketched, or from an older design), if an edge lay on a wall that has now moved, a card in the lower right asks "The floor did not follow the wall. Bind it?": Bind turns the edges that lie on walls into wall lines (Ctrl+Z undoes it in one step); otherwise nothing changes.
- Wall attach: select walls, click "Attach Top" (or "Attach Base") in Properties, then click a roof, floor or ceiling; you can also select the walls and the target together and click it. The wall top follows the underside of the roof (floor, ceiling) and gable walls rise to the ridge; the wall base attaches to the top of a floor. Door and window openings are still cut. "Detach All" removes the attachments; deleting the roof detaches automatically.
- Edit Profile: select a straight wall and click "Edit Profile…" to enter an elevation polygon (each point
u,z: the distance along the wall and the height above its base), or click "Gable shape"; "Reset Profile" returns to a rectangle. Corner joins stay as they were. A wall with an edited profile does not follow attached elements (as in Revit). - Rotate, mirror, array: floors, ceilings, roofs, rooms and text can now be rotated with RO, mirrored with MM/DM and arrayed with AR (their sketch lines are rewritten; edges associated with walls follow the walls). Dimensions, tags and spot annotations follow their references and cannot be rotated or mirrored on their own.
- Paste to levels: select elements and press Ctrl+C, then click "BIM ▾ › Paste to Levels…" and check the levels (Revit's "Paste Aligned to Selected Levels"). The plan position stays the same; wall base and top constraints move with the level (when the top level would be out of range it becomes unconnected with the same height); doors and windows follow walls copied with them, and when only doors or windows are pasted they look for a wall at the same place on the target level; door and window marks are renumbered.
- Schedules gain a "Ceilings" category, and the "Roofs" category lists roofs by footprint and by extrusion (with a slope column); material takeoff counts roof and ceiling layers; IFC export writes IfcRoof (classified as hip, gable, shed or flat) decomposed into an IfcSlab .ROOF., ceilings as IfcCovering .CEILING., and attached walls and sloped floors as triangulated face sets.
Slanted, tapered walls and global parameters
Follows the Revit wall Cross-Section and Global Parameters.
- Cross-Section: select a wall and in Properties, "Cross-Section", pick Vertical, Slanted or Tapered ("By type" = the type's default cross-section). Slanted: a positive "Angle From Vertical" leans the top toward the exterior; limit ±60°. Tapered: one angle for the exterior face and one for the interior face (positive = the face leans inward and the top gets thinner), or type the "Top Width" directly (same angle on both faces); the top is at least 1 cm, and angles that are too steep are scaled down with a warning. "Reset angles to the type" clears the instance override.
- Type default cross-section: "Default Cross-Section" under "Type Parameters (Edit Type)"; every wall of the type changes and the instance can override it. Curtain walls and stacked walls have no cross-section.
- 3D shows a real sloped face; the plan cuts the wall at the view range cut height (the cut region shifts with it); openings and the doors/windows themselves are perpendicular to the wall face (sill and head measured along the face). Volume, area (sloped, along the face), the schedule columns "Cross-Section", "Angle From Vertical" and "Exterior / Interior Face Angle", and IFC (IfcWall written as a triangulated face set or IfcFacetedBrep) all use the actual slanted wall.
- Corners: with an upright wall meeting at a right angle the top joins cleanly too; at oblique joins or between two slanted walls the corner follows the join at the wall base and Properties warns that the top may show a gap or overlap. For now straight walls only (curved walls are shown with a vertical cross-section and a warning), without attach, edit profile, wrapping or sweeps.
- Global parameters: command
globalparams(or "Global Parameters" in the Families & Manage block of the outliner). Add a parameter with a name and type (length, angle, number, area, text, yes/no). Each value has exactly one source, shown in the "Value source" column: a link into the input = driven by the graph (wins; e.g. "Slider" adds a number slider) > a formula (may reference other global parameters, e.g.DoorWidth + 200 mm; lengths need a unit) > a constant. - Associate: select doors, windows or walls; in Properties, "Global parameters" associates the width and height (instance override), sill height, position along the wall, wall offsets and unconnected height, and slanted/tapered wall angles. "Level elevations" in the dialog associates level elevations. Driven fields are locked and show "Driven by global parameter X": edit the global parameter instead. Dimensions can be associated too (label); elements move only when you press "Apply to dimension labels" (one undo step).
- More associable parameters: structural column b/h, beam width and depth, structural floor thickness; floor and ceiling height offset from level; footprint roof base offset and slope (every slope-defining edge changes together, gables stay), extrusion roof offset; stair desired riser, actual tread depth, run width, number of risers and base/top offsets; room limit and base offsets; component offset and the family's numeric instance parameters (length, angle, number, area; only those without a formula). Structure settings (f'c, fy, preliminary floor load, rebar ratios) are associated under "Structure settings" in the dialog (stored on the first structural grid). Values outside a parameter's sensible range are clamped and the node shows a warning; "Apply recommended sizes" and "Use 35 MPa" skip driven sizes. Once a segment of a locked dimension is associated, changing the global parameter moves the elements in the same step (global parameters first, then locked constraints); graph-driven parameters still need "Apply to dimension labels"; dimensions locked before this update must be unlocked and locked again. Each numeric parameter can take an optional range (min / max / step) for sliders and later optimization; values are not clamped to it.
- The node graph has "Global Parameter" and "Read Global Parameter" nodes so parametric definitions can use project values. No loops: a graph-driven parameter cannot depend on BIM elements or analysis nodes; links, associations or formulas that would route a value back to itself are refused. A cycle arriving in a file or through collaboration makes that parameter report "Circular reference" when evaluated, and elements keep their own values instead of hanging. Global parameters are stored in the design (as nodes) and travel with saving, undo, the cloud, sharing and collaboration.
- Reference planes (Revit Reference Plane): the command
refplane x1,y1 x2,y2 namedraws a reference plane (dashed line) in plan. DI dimensions can pick it; after you click the padlock, the locked walls and openings move when the reference plane moves. Select the reference plane and, under Global parameters in the properties panel, associate Offset (to the left of start → end) with a global parameter: changing the parameter moves the reference plane and the locked walls in one step. Reference planes with Is Reference cleared cannot be dimensioned.
Curve-driven walls, dimension references and the tape measure
- Push/pull on curve-driven walls: when the "Curve" input of a wall or floor is connected to a Rhino, DXF or Grasshopper line (polyline, rectangle, imported curve), the line decides the position. Push the side face of such a wall with the push/pull tool and you edit that line: only the matching segment moves, the two neighboring segments keep their direction, and when one line is split into several walls the other walls stay joined. The status bar says which segment changed; if the same line feeds several elements, they all move together.
- Drag a vertex: select a curve-driven wall or floor and use the Move tool to show the vertex handles of the line; dragging a vertex edits that vertex. If the drag would change how the wall is split (a corner under 20° turns two walls into one, or the reverse), this step is not applied, so wall identity and doors/windows do not jump around.
- If a parameter of the line has an upstream link (for example the rectangle width comes from a slider, or the polyline points come from another node), it cannot be written back and push/pull works as before. The alignment padlock (AL) does not apply to curve-driven walls.
- Write back to a global parameter: when the height of an extrusion is connected to "Read Global Parameter" (or directly to a global parameter), pushing the top face changes the value of that global parameter, and everything that uses it changes together; the status bar says how many places are affected. A global parameter that uses a formula or is driven by the graph is locked.
- Write-back through Expression or Remap: when a parameter such as an extrusion height reaches a slider, number or global parameter through an "Expression" or "Remap" node, push/pull still writes back to the source. The expression must have exactly one connected variable and use only numbers, + − × ÷ and parentheses (a first-degree formula such as
a * 2 + 1): pushing 4 m through ×2 changes the source by 2; up to 8 such nodes in a row. A Remap with "Clamp" on keeps the written value inside its source range; if the source is already outside it, the face is locked. The status bar shows how many linear nodes were passed and the factor. Other expressions (min, max, round, powers, two variables…) stay locked. - Dimension references: when the two ends of a 3D dimension (SketchUp dimension tool, Rhino
dim, tape measure with D) snap to vertices of a mass or curve, the dimension remembers which vertex of which node it is (you can see on the node graph that the dimension is connected to that node). Later changes to height, outline or sliders make the dimension follow. If the vertex disappears (for example a rectangle becomes a triangle), the dimension keeps its last position and a warning appears on the node; it does not jump to another point. Moving a referenced dimension = moving its dimension line. - Tape measure to dimension or global parameter: after the tape measure has measured two points, press D to create a 3D dimension; press G to create a global parameter from the measured length (named "Measure1", "Measure2" ..., in the group "Measure"), together with a dimension that shows "name = length". If both ends are on the same element and that element has exactly one parameter equal to this length, they are associated directly (for example measuring the vertical edge of an extrusion = height, measuring the wall height = unconnected height); change the global parameter and the element and dimension change together. If no parameter can be determined, only the global parameter is created, and you can associate it in the Properties panel later.
Stairs, railings and ramps
Circulation as in Revit: the "Circulation / views ▾" menu or the shortcuts LT Stair, LG Railing, PD Ramp (Revit has no default shortcuts for these, so Synhedra assigns its own). Use them in the plan pane; each stair together with its automatic railings is one undo step. All checks are preliminary: the thresholds are editable defaults (common Taiwan values) and only produce warnings, not a code ruling.
- Risers: total rise = top level (empty = the next level) + top offset − base level − base offset. Risers = total rise ÷ desired riser height (rounded up; "Desired riser" in the options bar, 0 = the type maximum); a "Risers" value above 0 in Properties takes precedence. Actual riser = total rise ÷ risers. Changing a level elevation or the base/top level recalculates the risers, and the hosted railings follow.
- By component: pick "Straight", "L-shape" or "U-shape" in the options bar, click the center of the first riser, then the direction (Space switches left/right turn). L/U landings are placed between the runs automatically; "Landing" in the options bar is rectangular or rounded.
- Multi-run (by path): click the walk-line path point by point (one run per segment); Enter or clicking the last point again finishes, Backspace removes the last point. Every turn gets a landing (depth = run width, editable as "Landing depth"; a point on a straight line = a straight landing). Earlier runs are filled first and the last run takes the remaining risers; if the path is too short the last run extends past its end with a warning. For a U-turn, draw a short middle segment as wide as the gap and the two corners merge into one landing. Split turns sharper than 150° into two.
- Spiral: click the center, the start point (center to start = walk-line radius, with the width centered on it), then the end direction (sweep angle; Space flips the direction). "Spiral sweep angle" 0 in Properties = automatic from the tread depth. Turning more than one full circle checks the headroom (2.1 m by default).
- By sketch: from the bottom up, click both ends of each riser line, then Enter. Each line is one riser and two neighbouring lines bound a tread (they need not be parallel, e.g. winders); the boundary is formed by the line ends. Riser lines must not cross.
- Types: cast-in-place RC (treads + waist), residential RC, steel (treads + sloped stringers on both sides). The type sets the maximum riser, default tread and minimum width.
- Plan: solid below the cut plane, dashed above, with a diagonal cut line across the cut tread; walk line and arrow with "UP" at the start, and the whole stair with "DN" on the level above. With "Riser numbers" on in the options bar each riser is numbered 1…n and the total (e.g. 18R) is shown at the start; Properties also has "Riser numbers in plan".
- Railings: by default a new stair gets railings on both sides (hosted by the stair, following the nosings and landings); they update when the stair shape or levels change and are deleted with the stair. LG sketches a path on a level, or "Place on Stair" adds a missing side. Types: pickets, handrail, glass panel, "guardrail + handrail (posts 1.2 m)" and "steel pipe guardrail (posts 1.5 m + mid rail)"; Properties can change the top rail height, handrail height, baluster spacing, posts (by type / none / ends and corners / plus a fixed spacing) and post spacing.
- Ramps: "Straight" in the options bar = click the start and the direction (the length follows the 1:n slope, or the picked length); "Sketch (turns)" = click the path point by point and press Enter: one run per segment with automatic landings at the turns (depth = ramp width, editable), all runs at the same slope. Slope, rise per run and width are checked.
- Schedules, quantities and export: the Stairs schedule has runs, landings, construction and volume; Railings have handrail height, baluster spacing and baluster/post counts; Ramps have runs and landings. Material takeoff lists the volume of stairs (concrete or steel) and ramps (concrete). Both IFC4 and IFC2X3 write IfcStair (by shape: straight, L, U, multi-run turns, SPIRAL_STAIR) decomposed into IfcStairFlight, IfcSlab .LANDING., stringers and hosted IfcRailing; ramps with turns become several IfcRampFlight plus landings. Make2D, elevations and sections use the 3D geometry directly.
- Limits: at most 200 risers, 64 path points, a 1080° spiral sweep and 50 m dimensions; anything beyond is trimmed when a file is read.
Import and export
All of this is in the toolbar's "File ▾" menu.
- DXF becomes imported curves: one “Imported curves” node per DXF layer (circles become closed polylines). The node remembers the source file and layer. Control characters in layer names are removed.
- DXF re-import (update in place): when you re-import a DXF with the same file name into the same design, you are asked "Update in place" or "Add a copy". Update in place replaces each layer's imported-curves node with the new lines from the file (by index) and keeps the node's name, material, custom properties and downstream links (a wall fed by that curve follows it). Layers no longer in the file are kept, and the message lists them; new layers are added as usual. Localized coordinates are converted back to the offset used at the first import. The whole update is one step; one Ctrl+Z undoes it.
- Import DXF: reads LINE, LWPOLYLINE, POLYLINE, CIRCLE and ARC. Coordinates beyond 10 km are localized automatically. ASCII DXF only.
- DXF blocks → components: when the DXF has block inserts (INSERT), you are asked “Map blocks to families” before importing. The ticked matching rules are tried in order: attribute FAMILY = family name (door/window and component blocks plotted by Synhedra carry it, so they match when read back; TYPE = type, MARK = mark), block name = family name (“Family:Type” also works) and block name contains the family name (off by default). Candidates are the project families, the family library and the built-in component library (furniture, planting, plumbing, lighting…); door and window families need a host wall and are not matched here. A match becomes a component at the insertion point (rotation from the block, opposite X/Y scale signs = mirrored; components cannot scale, so scaled blocks are placed at family size); unmatched inserts are skipped as before. When an outer block does not match, its nested inserts are searched (up to 4 levels). The dialog previews how many match and which families; Cancel = do not import. Re-importing the same DXF with “Update in place” moves and retypes the components of the same block (name + sequence) instead of adding duplicates. The whole import is one undo step. Limits: 2,000 block definitions, 20,000 expanded inserts, 2,000 components; block names over 255 characters are not matched. Levels are required.
- DXF grid lines → structural grid: importing a DXF detects grid lines: long lines on layers whose name contains
grid/axis/軸, or "a grid bubble (a circle of radius 3–15 drawing units or about 0.3–1.5 m) + a 1–3 character label near its centre (TEXT / MTEXT) + a straight line ending on the bubble that is at least 30% of the drawing extent". When at least two lines are found in each of two perpendicular directions, the "DXF grid lines → structural grid" dialog opens before the import and lists every line (label, how it was found, length) to tick; Cancel = no import. The ticked lines are split into two sets of parallel lines and become a structural grid (origin, spacings, angle, overhang; labels follow Synhedra rules and the file's labels are kept on the node); skewed or a single set = reference curves. Curves are imported as usual. Re-importing the same file name into the same design and choosing "Update in place" updates the same structural grid with the new origin and spacings, keeping its name, structural settings (f'c, loads…) and downstream links. The whole import is one undo step. Limits: at most 400 lines listed, 61 per direction; labels are stripped of formatting codes and control characters and capped at 8 characters. - Import 3D model: Rhino 3DM, OBJ (select the .mtl with it), glTF/GLB (select the .bin with a .gltf). A dialog confirms the unit, up axis and localization and previews the converted size. Textures are not imported, only material color and opacity. Draco and meshopt compression are not supported.
- Export: OBJ (Rhino, SketchUp, Blender), DXF (AutoCAD, Rhino), glTF .glb (web, Blender, Twinmotion), STL (3D printing, optional millimetre output), PNG image (current 3D view, optional transparent background).
- What is exported = what you see: the results of move, rotate, mirror, array and instance transforms are all exported; the original object consumed by a transform does not appear a second time (the same display rule as the 3D view). Hidden objects and component definitions are not exported.
- Make2D and IFC: "Make2D to 2D drawing (SVG/DXF/PDF)…" is described in Make2D; "Export IFC…" in IFC export.
- Graph JSON: "Download graph JSON" saves the whole node graph, the product's native format. "Load graph JSON…" opens it again.
- Cloud drives: when this site has configured Google Drive, OneDrive or Dropbox (not yet available on the live site), "File ▾" has "Open from cloud drive…", "Save to cloud drive…" and "Save a copy to cloud drive…". The design is saved as a .lsm file, optionally with DXF and IFC. See Cloud sync › Third-party cloud drives.
Large imported meshes are stored only in this computer's browser database. They do not travel with share links or cloud sync. To give someone the full model, use "Download graph JSON".
Render handoff (glTF / USD)
“File ▾ ▸ Export glTF (rendering)…” and “Export USD…” (commands export gltf, export usd) hand the model to D5 Render, Twinmotion, Enscape or Blender for photoreal rendering.
- Hierarchy: building → level → category → element. Element names are the outliner name plus “#id”; glTF extras (USD custom attributes) carry
lsm:id,lsm:cat(category),lsm:level(level),lsm:type(type name) andlsm:material(material name). Elements without a level go under “No level”. - Materials: BIM materials become PBR materials: the colour is the material’s shading colour; roughness and metalness follow the material class (translucent glass, metal with metallic 1, rougher concrete/brick/stone). Each material appears once; an element that uses several materials (for example painted faces) is split into one triangle group per material.
- Coordinates and units: metres. glTF is Y up (the building’s Z up is converted automatically); USD keeps Z up (
upAxis = "Z",metersPerUnit = 1) with UsdPreviewSurface materials. - Content: the same as other exports — what you see (transform nodes included, hidden objects excluded); section boxes do not clip; room volumes and floor openings are not exported.
- Options: format (glTF .glb, USDZ .usdz, USD text .usda), include furniture and planting, selected objects only, and bake one mesh per level (faster in the renderer for large models, but without the element hierarchy).
- Limits: glTF 200,000 elements and 20 million vertices; the USD text format 2 million vertices (for larger models bake per level, export only the selection, or use glTF); on computers with 4 GB of memory or less the limits are lower (glTF 2 million, USD 1 million), and glTF 6 million with 8 GB or less. Names are stripped of control and bidirectional characters and capped at 64 characters; no project information, owner, address or account data is included.
Not yet tested by a person in D5 / Twinmotion. After importing, measure a known dimension to confirm the scale and check the glass and metal materials.
Browser rendering (first version)
"File ▾ ▸ Browser rendering…" or the render command renders the current 3D view right in the browser — no separate rendering software or high-end GPU needed, and the model is not uploaded.
- Two engines: when the browser supports WebGPU, progressive path tracing is used: each pass adds 1 sample per pixel and the image goes from grainy to clean; the sample limit can be 128 / 512 / 2048 or unlimited, and you can pause and resume. Without WebGPU (or when no GPU is available) it falls back to WebGL raster high-quality mode (Rendered-mode materials + sun shadows + ambient occlusion, one image at a time). The top of the panel says which one is in use.
- Camera: the view at the moment the panel opens (moving the viewport afterwards does not affect it), or the camera of a scene.
- Lighting: sky gradient + sun. The sun direction follows the location, north and date in the shadow settings; the time is set in the panel (the design's shadow settings are not changed); with the sun below the horizon you get a dark dusk or night sky. Exposure −3 to +3 EV.
- Materials: the PBR materials of the render handoff (base colour, roughness, metalness): ordinary materials = diffuse with a faint reflection; metal = tinted reflection; glass and water = reflection plus transmission (straight through, no refraction), and shadows pass through glass. No textures; the ground is an infinite plane at the lowest point of the model.
- Content: the model as shown (hidden objects excluded, the same as exports); sections are not clipped; lines, annotations and handles are not drawn.
- Saving: "Save as PNG" downloads
synhedra-render.png(long edge = 1280 / 1920 / 2560 px as chosen in the panel; the short edge follows the viewport aspect). - Performance and limits: each piece of work sent to the GPU takes about 20–30 ms, so the interface stays usable while rendering; rendering pauses automatically when the tab goes to the background. The triangle limit depends on this computer's memory (200,000 at 2 GB or less, 500,000 at 4 GB or less, 1 million at 8 GB or less or when unknown, 2 million otherwise) and on the GPU's buffer limit; above it you are asked to hide some objects. If the GPU device is lost (for example a driver reset) it is rebuilt automatically and accumulation starts over (up to 3 retries).
First version: quality and speed depend on the device (an integrated GPU may need tens of seconds to get clean). This is not a final photoreal render; for higher quality use the render handoff to D5, Twinmotion or Blender.
Presentation video
"File ▾ ▸ Presentation video…" or the presentvideo command: no scenes needed — pick a template and the camera moves automatically, with this design's regulation figures overlaid, recorded as a video in the browser. The model is not uploaded.
- Three templates:
- Orbit (aerial): distance (the whole building stays in frame) and height come from the bounding box of the visible solids; the elevation eases from 38° to 26°, starting from the south-west. 15 s orbits half way round, 30 / 60 s a full circle.
- Street-level walk: eye height 1.6 m (from the lowest level elevation), walking along the longest road edge of the site in the Rules node; without a site or road edge it walks along the south side of the building. The distance from the edge depends on the road width and building height (6–60 m), and the path avoids solids at eye height (neighbours included); if no clear path exists, the dialog warns you.
- Axonometric section: an orthographic axonometric view with a horizontal cut moving up from the bottom, stopping at each level at "level elevation + 1.2 m", then showing the whole building; the level being cut is labelled at the lower right.
- Length: 15, 30 or 60 seconds at 30 frames per second.
- Quality: Fast = the display mode of the current 3D viewport (raster). High quality = WebGPU path tracing with 4 / 16 / 64 samples accumulated per frame (each frame starts from scratch, so it takes longer; the dialog shows an estimate and, once started, the remaining time from measurements; the tab may stay in the background). High quality needs WebGPU and WebCodecs H.264 (a recent Chrome or Edge).
- Overlay: building coverage, floor area ratio, height, gross floor area and the compliance verdict (complies / does not comply / partly undetermined), with the rule pack name and "Preliminary estimate", plus the Synhedra logo and project name. The figures come straight from the regulation review report and the area schemes, with no separate calculation; items without a limit show only the design value. Everything sits inside a safe area of 5% on each side. The overlay language defaults to the interface language and can be changed.
- Output: MP4 (H.264, when the browser supports WebCodecs; encoded offline, usually quicker than the video itself) or WebM (MediaRecorder, recorded in real time, so keep the tab in the foreground). 1080p; 4K is available with at least 8 GB of device memory and a graphics card that supports 3840 px. The file is named "design name-presentation.mp4".
The overlaid figures are a preliminary design-review aid, not an official review result. The axonometric section has no caps (you can see the inside of walls), in high-quality mode as well.
Prompt-to-camera
Choose the "Prompt-to-camera (AI or rule-based)" template and describe the camera move in one sentence, for example "Aerial view of the site with a winter-solstice sun time-lapse, then slowly push in to the atrium, 15 seconds".
- Camera plan: the description becomes a camera plan that contains data only (no code): for each shot the shot type (orbit, dolly, crane, pan, static), the target (site, whole building, level, room, atrium, entrance, element name or coordinates), the length (1–60 s per shot, 120 s in total at most), easing and focal length; optionally a sun track (date, start and end time, as a time-lapse over the whole video) and the overlay items (building coverage, FAR, height, gross floor area, verdict badge, date and time).
- Plan with AI: sent to the AI through the Synhedra server (a notice asks for your consent before first use). Only your description and the names of the levels, rooms and elements in the model are sent, not coordinates or other design content. The AI output is validated once on the server and once in the browser (fields, types, ranges, total length); if it fails, the AI retries once with the problems listed, and an output that still fails is not used.
- Rule-based parsing: when you are not signed in, the server has no AI, the quota is used up or you are offline, keyword parsing is used instead (or press "Rule-based (no AI)" directly). It recognises aerial, orbit, push in, pull back, rise, lower, pan, static; site, building, atrium, entrance, "level 3 / 3F", room and element names in the model; winter and summer solstice, spring and autumn equinox, sun / time-lapse, "from 9:00 to 15:00"; lengths ("15 seconds", "1 minute"; two or more = per-shot lengths); slow / fast; overlay items such as FAR and "no overlay". Keywords come from one table covering all eight interface languages (Traditional and Simplified Chinese, English, Japanese, Korean, Spanish, French, German), e.g. aerial can also be written 鳥瞰, 俯瞰, 조감, vista aérea, vue aérienne or Luftbild.
- Targets are resolved on this computer: rooms by room name, levels by level name (the same number also matches, e.g. "level 3" and "3F"), elements by node name; "atrium" looks for a room named like an atrium or courtyard, "entrance" for an entrance, lobby or foyer room, and otherwise uses the midpoint of the longest road edge. A target that cannot be found is marked ⚠ in the table with what was used instead (usually the whole building). When the camera moves to a room or level below the top, the horizontal cut lowers smoothly to that level (level elevation + 1.2 m).
- Fine-tuning and preview: in the table you can change each shot's type, target, length, easing and distance, and add or delete shots; drag the timeline or press "Play preview" to see the camera in the small view (the preview omits sunlight changes and figures).
- Camera templates: "Save as camera template" stores the plan in this design (it follows saving, undo, the cloud and sharing). It stores the semantic targets, not coordinates: after the model changes, recording again recomputes the shots from the new room and level positions.
- Recording: the same as the other templates (MP4 first, WebM without WebCodecs; fast or high quality); the video length equals the plan's total length. With a sun track, the sunlight and shadows of each frame follow that frame's date and time, shown at the lower right.
Rhino 3DM import and export
- Import: File ▾ › Import 3D model and choose a
.3dm, or typeImportin the command line (Rhino's_-Importspelling works too). Brings in meshes, Breps and extrusions (using the render meshes saved in the file, triangulated here when missing), curves (as polylines), points and blocks (see Blocks ⇄ components below). Layers keep their full paths and objects keep their names; units are converted to metres. Hidden objects and layers are not imported; SubD is skipped. - User text: 3DM export writes Rhino user text on every object:
lsm:id,lsm:design,lsm:cat,lsm:level,ifc:GlobalId, custom properties andpp:project parameters. On import, user text becomes custom properties (pp:name= project parameter);lsm:idis used for in-place update only for the same design and the same source file (see Re-import); other identities are only recorded and never overwrite existing elements. At most 32 entries per object, keys 48 and values 256 characters. Material names are matched to project materials first, then keywords; materials with user-given names are added to the project materials. - Blocks ⇄ components: on import, Rhino blocks become components by default: a block definition = one component (the definition is stored once), each placement = one instance (position, rotation about Z, uniform scale and mirroring as in Rhino); editing the component definition changes all instances; the placement's user text goes into the instance's custom properties. Non-uniform scale, shear and rotations not about the Z axis cannot become instances, so they are flattened into plain objects and the summary warns you; imports with Y up are always flattened. In the dialog, "Rhino blocks" can be switched to "Flatten into plain objects" (the old behaviour). On 3DM export it works the other way round: components are written as Rhino block definitions (with the component base point as origin), instances as block placements, and placements carry
lsm:id. - Re-import (update in place): when you re-import the same file name into the same design, the dialog shows "This design already has N objects imported from …", defaulting to "Update existing":
- An
lsm:idin the file (written by our export) is only recognised for the same design and the same source file name, and the kind must match (mesh to imported mesh, curve to polyline, point to point, block placement to instance); only the geometry or placement is replaced, while name, layer, material, face materials, custom properties and downstream links are kept. If the structural consultant moves a grid line in Rhino, the walls fed by that line follow. - Imported curves merged by layer (above 200 curves) are matched back to the same node by "source file + layer"; those with an
lsm:idare merged one by one (existing order kept, new ones appended, vanished ones kept); those without are replaced as a whole by index. - Block components imported from the same source file update their members in place by block name (change the definition and all instances follow).
- Objects without an
lsm:id(for example a Rhino file someone else drew from scratch) are matched only if you tick "Match objects without an lsm:id by “layer::name”"; duplicate names can be matched wrongly, so it is off by default. - Existing objects missing from this file are never deleted automatically; the message lists their names, and you select and delete them yourself. Localized objects are converted back to the original offset.
- Choosing "Add as a new copy" adds everything and leaves existing objects alone. The whole import (additions and updates) is one step; one Ctrl+Z undoes it.
- During live collaboration: changing existing objects requires borrowing them first. When the server supports batch borrowing, all the objects to be updated are borrowed in one go before the import (up to 4,096 per person at a time); objects someone else is editing are not updated this time, the message lists how many, and everything is returned automatically when the import finishes. Without batch support, each person can borrow at most 256 at once: if the objects to update exceed the remaining allowance, the dialog stops and lists how many objects each layer would update, so tick the layers to update this time (by default ticked up to just within the limit) and import the same file again later for the remaining layers.
- An
- Limits: 1 GB file, 200,000 objects, 100,000 block instances, 30 million vertices, 10,000 points (no point nodes above 200); blocks become components with at most 200 definitions and 2,000 placements (more are flattened), and each definition's mesh is merged by material into at most 8 pieces. Parsing runs in the background and stops after 90 seconds.
- Export: File ▾ › Export Rhino 3DM, or type
Export(export objetc. picks another format). Metres; one object per element, named as in the outliner; layers use the node's layer, otherwise Level::Category. Prisms without holes become Rhino extrusions (editable in Rhino), everything else a mesh; "Meshes only" is also available. Choose the file version (Rhino 8, 7 or 6); older Rhino cannot open newer files. - Selected objects only: tick "Selected objects only" next to the export button (available when something is selected), or type
export selected(export 3dm selworks too). In the Rhino style,Exportexports only the selection whenever something is selected (as in Rhino);export allexports the whole model. Unticked, every visible object in the model is exported. - Materials: each element's material (name, diffuse colour, transparency) goes into the Rhino material table, with the object's material source set to "object"; each material is written once, names are cleaned like layer names, and same-named materials with different colours get " (2)". Textures are not exported. Elements without a material only carry their display colour.
- Points: point nodes are exported as Rhino point objects (name and layer as in the outliner).
- Components and instances: written as Rhino blocks (see Blocks ⇄ components above); an instance whose base point is not connected to its component is flattened into plain objects as before.
- Export limits: 200,000 objects (meshes, extrusions, curves and points together), 20 million vertices (including curve points and point objects); writing stops after 120 seconds.
IFC import
- Choose a
.ifcfile with "File ▾ › Import 3D model". IFC2x3 and IFC4 exported from Revit and ArchiCAD are supported. - The file size limit is 150 MB. A larger file is refused before it is read.
- Levels, walls, doors and windows, floors and rooms become editable parametric elements, so you can keep working on them with the modify tools in plan mode. Other categories (columns, beams, furniture and so on) become meshes. An element whose geometry cannot be read falls back to a mesh and is listed in the warnings.
- There can be at most 2000 parametric elements. Beyond that the dialog asks you to confirm, and the extra elements are imported as meshes by default so the node graph does not slow down.
- Before importing, the dialog shows a summary: the number of elements per kind, units and warnings.
- Property sets → project parameters: the
Pset_*Commonproperties of walls, doors and windows, floors and rooms (for example FireRating, IsExternal, LoadBearing, Reference) automatically become project parameters on import (instance parameters, group = property set name); the values are written into every element and show up at once in schedules and the properties panel. If the file has property set templates (IfcPropertySetTemplate), the parameters reuse its GUID (shared parameters). Other property sets are not created automatically: in the "Project parameters" dialog, tick the properties you want under "IFC property sets → project parameters" to create them; values an element already has are not overwritten. There can be at most 128 project parameters; at most 32 values are written per element. - Grids: IfcGrid becomes a structural grid (origin, spacing, angle, extension length), numbered by Synhedra's rules (digits 1, 2… / letters A, B…; a warning appears if the file differs). If the two sets of grid lines are not perpendicular, are parallel, or one direction has fewer than two lines, they become reference curves (Import curve node) with a warning. Each grid system has at most 60 lines per direction.
- Re-import (IFC update in place): an IFC changed in Revit (or another tool) and exported again can be matched back to this design's existing elements by IfcGlobalId and updated in place instead of being added a second time. Only two identities are trusted: the GlobalIds this design wrote when it exported IFC (recognised even under a new file name), and the GlobalIds recorded when elements were imported earlier from the same file name; if the file was exported from this design (it contains GlobalIds this design wrote), elements match automatically whatever the file name, including elements imported earlier from another file name whose GlobalId was kept on export; for a file not exported from this design, elements imported from another file name (or by an older version) still only count when you tick "also update them in place by GlobalId". The dialog says how many elements match and defaults to "Update existing" ("Add as a new copy" is the old behaviour). After "Import" it first lists the differences (version compare: which elements change which parameters, which are new, property set value differences; paged), and nothing is written until "Apply update". Geometry and parameters of walls, doors, windows, floors, rooms, grids, level elevations and other meshes (columns, beams…) follow the source; element names, materials, face materials, custom properties, global-parameter links and downstream links are kept, and shapes driven by an upstream curve or picked walls keep that link. Property set (Pset) values follow the source and the differences are listed; project parameters filled from property sets follow the source unless you changed them in Synhedra, in which case your value is kept and flagged. New elements in the file are added; elements no longer in the source file are listed, not deleted. Roofs, ceilings, curtain walls, families, stairs and structural members exported from this design cannot become parametric again, so they are neither updated nor added again. The whole update is one step (Ctrl+Z undoes it); while collaborating it uses the same batch borrowing and batches (batched by element kind). Localized coordinates reuse the offset of the original import.
- Meshes stay on this computer only and do not travel with a share link. See "Import and export" above.
IFC export
IFC export has not been tested in Revit or ArchiCAD. Before downloading, Synhedra runs its own rule-based self-check, and both IFC4 and IFC2X3 exports are round-trip tested with Synhedra's own IFC importer. This is a self-check, not buildingSMART certification. Check the model after importing it into other software.
- "File ▾ › Export IFC…". Under "IFC version" choose IFC4 (Design Transfer View) or IFC2X3 (written the Coordination View 2.0 way, the most common choice for coordination and older software); the dialog remembers your last choice. The dialog first lists the counts of levels, walls, doors, windows, floors, rooms and openings.
- How IFC2X3 is written: straight and arc walls with material layers become IfcWallStandardCase (an arc wall's axis is an IfcTrimmedCurve); door and window types become IfcDoorStyle / IfcWindowStyle (the opening direction is on the type); sanitary fixtures, lights, outlets and appliances become IfcFlowTerminal, switches and distribution boards IfcFlowController, and air conditioners IfcEnergyConversionDevice, with the category on the type object (IfcSanitaryTerminalType and so on); sloped and mesh geometry becomes IfcFacetedBrep; every object has owner history (IfcOwnerHistory). Enumeration values that IFC2X3 does not have are written as NOTDEFINED.
- What is exported: levels, walls (straight and arc, with material layers, Psets and Qtos), doors and windows (a hole is cut in the wall and the element fills it, with type and opening direction), floors and roofs, voids and shafts (one hole per floor they pass through), curtain walls and curtain systems (IfcCurtainWall; panels as IfcPlate and mullions as IfcMember, empty panels are not written; an embedded curtain wall cuts a hole in its host wall and fills it), roofs (footprint, extrusion and by-face roofs are all IfcRoof, decomposed into IfcSlab .ROOF.), ceilings (IfcCovering), stairs (IfcStair decomposed into flights, landings, stringers and railings), railings (IfcRailing), ramps (IfcRamp decomposed into IfcRampFlight) and equipment and furniture families. Every element is placed in its storey; parts belong to their parent element through IfcRelAggregates.
- Options: rooms (IfcSpace: name, number, area; on by default), masses and components (IfcBuildingElementProxy; off by default), structural columns, beams and slabs (the elements of Structure preliminary sizing; off by default), length unit (meters or millimeters).
- Classification: tick "Classification" and enter a system name and edition to write an IfcClassification with one IfcClassificationReference per code. Under "Codes from" choose the Synhedra category default codes (simple codes of our own, such as LSM-WL walls, LSM-DR doors and LSM-SP spaces; they are not Uniclass or OmniClass) or a text project parameter; with a project parameter you can also tick "Use Synhedra category defaults where the parameter is empty". To use Uniclass, OmniClass or your firm's own codes, enter the codes in a project parameter. Project parameters are still written as custom property sets.
- Only levels are exported; reference levels are not, and elements on them go to the nearest level below.
- Grids: every visible structural grid is written as one IfcGrid (U axes = numbered grid lines, V axes = lettered grid lines, including rotation and extension length; the GlobalId is stable, and grids imported from IFC keep their original GlobalId), placed on the lowest level. Spans driven by a list or a global parameter are written with the evaluated actual values. The self-check also checks grids (each grid system sits on one level, grid numbers are unique).
- Self-check: before download the whole file is checked against a set of rules; if it fails, nothing is downloaded and the reason is explained. The rules cover: header and version, the attribute count and required attributes of every entity, GlobalId format (22 characters from the IFC base64 alphabet) and uniqueness, every reference being defined, the entity kinds at both ends of each relationship, owner history in IFC2X3, exactly one project and one unit assignment, length/area/volume/angle units, the project › site › building › storey decomposition, every element being in exactly one storey or belonging to one parent element, and every opening voiding one element with every door and window filling an opening. The completion message gives the number of rules passed. Skipped elements (for example a door or window with no host wall) are counted and listed. The file name is the design name plus .ifc.
Make2D: 2D drawings from 3D
Like Rhino's Make2D: it projects the 3D model into a hidden-line drawing with separate layers. Use "File ▾ › Make2D to 2D drawing (SVG/DXF/PDF)…", or type make2d on the command line.
- Views: Plan (one per level; the cut height is measured up from each level; blank = each level's view range; with no levels, an absolute height is used), Elevation (north, south, east, west), Section (tick "Along the current section plane": the section view is drawn along the active section plane, vertical or horizontal; sloped or upward-facing section planes are skipped; with no active section plane it uses the horizontal cut at the toolbar "Section" height; not selectable when neither is set), Axonometric (southwest, southeast, northeast or northwest isometric, or a parallel projection of the current 3D view).
- Options: hidden lines (on their own layer, or drawn dashed on the visible-line layer), tangent edges, scene silhouettes, fill of cut regions, selected objects only, scale (1:20 to 1:1000, default 1:100), DXF unit (mm or m, model space 1:1).
- Layers:
Make2D::ViewName::Visible::…andMake2D::ViewName::Hidden::…, further split into curves, silhouettes, tangents, section, section fill and so on. - Compute and download: click "Compute". It runs in the background and can be cancelled; when done you get a preview and a list of notices. All views are laid out on one sheet with view titles. You can download SVG, DXF (AC1015; hidden lines use the CN-HIDDEN linetype), PDF (with layers) or JSON (raw linework).
- Limit: the output has at most 300,000 lines. If it goes over, pick fewer views or export only selected objects.
- Into 2D drafting: in 2D drafting, "Insert › 3D Views › From 3D" (
VIEWBASE) places views of a 3D design in the same project straight into the drawing, or imports the JSON downloaded here; after the 3D model changes, useVIEWUPDATE. See 2D drafting › Import views from 3D. - The other way: 3D from a 2D plan: in 2D drafting, “Insert › 3D Views › To BIM” (
TOBIM) recognizes the walls (pairs of parallel lines), doors/windows (blocks or gaps) and rooms (closed areas with a name) of a 2D plan, previews them over the drawing, and after you tick the items creates them in a 3D design of the same project (on the level and wall type you choose); Ctrl+Z in 2D also undoes the 3D. See 2D drafting › Convert a 2D plan to BIM. - Text in PDF: the PDF uses only built-in Latin fonts, so view titles in Chinese or other non-Latin text switch to their English names, with a notice. See the SVG or DXF for the original titles.
Sheets, details and revisions (documentation)
A Revit-style documentation workflow: place views on sheets, let the title block fill in numbers and revisions, and export a multi-page PDF. Sheet data is stored in the design file and follows saving, undo (Ctrl+Z), the cloud and sharing.
- Project Browser: the "Project Browser" tab of the left column (next to "Model"). It groups views (floor plans by level, elevations, sections, 3D views, detail views, drafting views), schedules, sheets (expand to see the views placed on them) and families. Click to select, double-click to open; the selected row shows Open, Rename and Delete. Opening a floor plan switches to that level's plan; "2D" opens the documentation view. View names and sheet numbers must be unique.
- Sheets: "+ Sheet" in the Project Browser or the command
sheet(optionally with a number and name, e.g.sheet A-201 Sections). Numbers continue automatically (A-101, A-102…). Title blocks follow common Taiwan office layouts: A0, A1, A2 and A3 landscape and A4 portrait, with office, project, client, revision table, architect's seal, approved, drawn, checked, scale, date, sheet name and sheet number. Project-wide fields live in "Project info"; date, drawn and checked can be set per sheet. - Placing views: in the sheet editor choose a view under "Place view" and press Place; it goes to the first free spot. Drag viewports with "Select / Move"; with one selected you can change the view scale, rename the view or remove it from the sheet (Delete works too). Each view gets a viewport title (detail number, sheet number, name, scale); the title block's scale field shows 1:N when there is one scale and "As indicated" otherwise. A view can be placed on only one sheet (as in Revit); schedules and the sheet list can go on several sheets.
- Callouts: with the Callout tool in the sheet editor drag a rectangle inside a plan, elevation, section or detail viewport, or type
calloutin plan mode to frame an area of the current floor plan. This creates a 1:20 detail view with its own scale and crop. The parent view gets a rounded callout box and a head showing detail number / sheet number (once the detail is on a sheet). - Drafting views and detail items: "+ Drafting view" or the command
draftingviewmakes a 2D-only view (1:10 by default). View editor tools: detail line (thin / medium / wide, dashed), filled region (solid, diagonal, concrete, earth, sand, gravel, rigid insulation, wood), masking region (white, hides lines behind it), insulation (batt S-curve with a width), repeating detail (brick, concrete block, timber stud, rebar along a line), detail component (brick, concrete block, timber stud, steel H, rebar sections), text and delete. Click points; double-click or press Finish to end. Detail views can take detail items too. - Line styles and filled region types: with Detail Line or Filled Region selected in the view editor, "Line styles and filled region types › Manage…" in the side panel adds project line styles (name, weight 0.13–2 mm, color, solid / dash / hidden / center / phantom / dot / dash dot / border) and filled region types (name, fill pattern, color, opaque white background, boundary = thin line, invisible or a line style). Pick them under "Line style" when drawing lines and "Filled region type" when drawing regions; changing a style later updates every detail line and filled region that uses it (on sheets, in PDF and DXF too). When a style is deleted, items using it fall back to their own weight or pattern. At most 50 line styles and 50 filled region types.
- Revisions: the Revision Cloud tool in the sheet editor (command
revcloud) draws a cloud by dragging a rectangle; it belongs to the chosen revision, and one is created if there is none. The revision table (commandrevisions) has date, description, issued to, issued by and issued; numbers follow the table order (numbered per project). Ticking "Issued" locks a revision: no edits, no new clouds, no deleting or reordering. The title block's revision table lists the sheet's revisions (those with clouds automatically, others ticked by hand in the sheet editor) and the revision field shows the latest number. - Revision clouds and material tags in views: the Revision Cloud tool of the view editor (plans, elevations, sections, details, drafting views) draws a cloud by dragging a rectangle in the view (or command
revcloud viewfor the current floor plan). Once the view is placed on a sheet, the cloud appears on the sheet with the viewport and its revision is added to that sheet's revision table and to the revision column of the sheet list. The Delete tool removes a cloud when you click it (clouds of an issued revision cannot be deleted). The Material Tag tool: click a point on a cut or visible element (the arrow), then the text location; sections use the layer under the point and its height, and the text is recomputed from the current material when printing. At most 100 revision clouds per view. - Plan annotations on sheets: a floor plan placed on a sheet carries that level's tags, dimensions, spot elevations, spot slopes, material tags and text (at the view scale), in PDF and DXF too.
- Sheet list: command
sheetlistor Project Browser › Schedules › Sheet List. Sorted by number automatically with each sheet's latest revision and date; export CSV or place it on a sheet as the drawing index. - Exporting PDF: "Export this sheet to PDF" in the sheet editor, or "Batch export PDF" (command
exportpdf) to pick several sheets and write one multi-page PDF in sheet-number order, each page sized by its title block. Black & white is optional. Text is outlined, so Chinese shows correctly in any PDF reader. View linework is projected from the 3D model in the background; when the model changes it is recomputed the next time you open a sheet or export. - Legend views: "+ Legend" in the Project Browser or the command
legendview(optionally with a type:legendview door,window,wall,floor,family,none). Lists the project type catalogue automatically: doors and windows show the plan symbol (with swing), the elevation (swing lines, glazing bars), the type mark (numbered D1, D2… / W1, W2… when the type has no Type Mark), type name, width × height and count; walls and floors show the layer build-up (hatched by material) and total thickness; families show the plan symbol and count. By default only types used in the model are listed (switch to all types in the view editor). You can add line style, filled region and text rows. The legend follows type changes, and like schedules it can be placed on several sheets; its title has no detail number. - Scope boxes: command
scopeboxor "Scope boxes" in the Project Browser. Each box has a name, centre, width, depth, rotation and level range (bottom and top level). Tick the floor plans that use it (or pick the scope box in a plan view's view editor): the view's crop is the box, and a rotated box turns the view square to the sheet. Changing the box size, position or angle updates every view that uses it; only plans within the box's level range can use it. Structural grids can be "limited to this box": in plans the grid lines are drawn only inside the box, the bubbles move to the box edge, and they appear only on levels in the box's range. Level lines are not drawn in elevations yet, so limiting levels applies to plans only. - Dependent views and matchlines: in the view editor of a plan, elevation or section › Crop region › Dependent views, choose the number of parts and left/right or top/bottom, then "Create". Each part is a dependent view (its scale follows the parent; changing it changes the parent) that you place on its own sheet. Where two parts meet a matchline is drawn automatically (heavy dashed line on layer A-ANNO-MTCH) labelled "MATCHLINE SEE detail/sheet", also on the parent view.
- Exporting DXF: command
exportdxf, "DXF" in the Project Browser or "Batch export DXF" in the sheet editor. Pick sheets: one DXF per sheet (file name = sheet number and name), all in one ZIP. Units mm, 1 unit = 1 mm on paper; the title block, title fields and tables are drawn directly, and each viewport is a block (VP_number_n, scale 1/N) already clipped to the viewport (it looks the same in any CAD program, no XCLIP needed); layers by category (A-WALL, A-DOOR…); Chinese text and layer names are written as Unicode. Model space by default, or tick "Draw in paper space". AutoCAD 2000 (AC1015) format; save as DWG from AutoCAD if you need DWG. - Plot style table: “Batch export PDF” and “Batch export DXF” let you pick a plot style table for the sheet set (the built-in CN tables, or an office .ctb / .stb imported in the 2D workspace; tables made by LAYERRULES “View template → plot style (STB)” are listed too). Once picked: the PDF is plotted with the table’s colors and lineweights (the black & white option does not apply); the DXF gets the table’s colors and lineweights written into its layers and entities (it looks like the plot in any CAD); detail thin / medium / wide lines also take their widths from the table (color-dependent tables: pens 6 / 2 / 4; named tables: Fine / Medium / Thick). The choice is saved with the sheet set (one undo step); “(None: as before)” or never picking one = unchanged. If the table is missing (another browser, say), you are told and the plot is made as before.
- 2D design as a view (read-only link): “+ 2D design” in the Project Browser: choose a 2D design in the same project (or one shared with you), click “Read” (☁ = get the latest version from the cloud first), choose “Model space” or a layout and click “Link as a view”: the content is snapshotted into a 2D design view (listed under “2D Design Views”) that can be placed on sheets like a drafting view, with detail items and revision clouds. Model space follows the view scale (1:100 by default); a layout is paper mm (1:1), including the model seen through its viewports (clipped to each viewport; layers frozen in the viewport or turned off are not drawn). The view panel shows the source design, layout, version and when it was read; when the source changes it shows “The source has a newer version”; click “↻ Update” or “☁ Update from cloud” to read it again (one undo step). Read-only: nothing here changes the source design. A source that was not linked on this device is not checked automatically, and Update asks first. Lines, polylines, arcs, circles, ellipses, splines and texts are drawn; blocks are expanded one level, hatches, attributes and external reference content are not drawn. Limits: at most 20 2D design views, each with 5,000 lines, 20,000 points and 1,000 texts.
- Relation to 2D drafting: these sheets reuse the 2D drafting layout and plotting machinery (the same paper sizes, viewports and PDF writer). To edit drawings line by line in 2D drafting, use Import views from 3D.
- Limits: up to 300 sheets, 40 viewports per sheet, 400 detail / drafting views, 2,000 detail items per view, 200 revisions and 100 revision clouds per sheet. When you open someone else's file, data over these limits or in a wrong format is skipped.
One-click presentation board (review board)
The Presentation board button in the Project Browser, or the command board: lays your design out on an A3 or A1 review board, for architects' proposals and design-studio crits. The result is a real sheet (drag things in the sheet editor, export vector PDF), not a screenshot.
- Layout: A3 or A1, landscape or portrait. A 12-column grid with consistent margins and gutters, and a fixed type hierarchy for the title, view titles and table text. The dialog shows a layout preview.
- Contents (all selected by default): the main 3D (the isometric nearest the current view, or a scene or a chosen isometric; vector linework), floor plans (representative levels picked automatically: a typical floor appears once, the ground floor and roof are kept first; one common scale), one section (without a section, a section plane A-A is added along the long axis of the model, not activated), the sun-hours map (only if computed in the Green Building panel, Sun Hours tab; a grid snapshot with a colour legend, physical computation only, no regulatory judgement), the area schedule (per level, from the regulation review report and the current rule pack), the regulation summary (coverage, FAR, height and envelope: design value, limit, result, with source citations in the footnotes; for rule packs other than Taiwan the pack's own item names and sources are used), the north arrow (from the project north) and a scale bar (at the plan scale).
- Scales and overflow: each cell gets the largest common scale that fits (1:50, 1:100, 1:200…); the section uses the plan scale where possible; long tables first shrink their text, then are cut with a “… more rows” line. Anything that does not fit is reported.
- Adjusting: drag any viewport or item in the sheet editor; Delete removes it. Linework is black; the sun map keeps its colours. Views on a board may also be on ordinary sheets (a board does not count toward “one view, one sheet”).
- Out of date and update: when the model (or the interface language) changes, the sheet editor shows “This board is out of date” with an Update button, and the board dialog lists out-of-date boards. Updating is one undo step: items you dragged keep their place, everything else is laid out again from the new model.
- Export: Export this sheet to PDF in the sheet editor gives a colour vector PDF at the true A3 / A1 page size; boards can also go into batch PDF / DXF export. Board text follows the interface language.
Area plans, sales areas and project data
Buttons in the Families & Manage block of the outliner. The data is stored in the design file and travels with saving, undo (Ctrl+Z), the cloud and sharing; when you open someone else’s file, data over the limits or in the wrong format is skipped.
- Area plans: like Revit Area Plans. The first time you open it, create the default area schemes: FAR floor area, building coverage area, gross floor area, rentable area and sales area; a scheme plus a level is one area plan. “Auto from exterior walls” draws area boundary lines on the centre line of exterior walls (type function = exterior), or all walls if there are none; “Boundary Line” draws a line from two clicks (snapping to endpoints); “Place Area” goes inside a region enclosed by boundary lines. Each scheme has its own area types, each with “Counted” and a sales category. Two areas in one region make a redundant area, which is not counted.
- Area schedule and regulation check: the Area schedule tab lists the area per level and type and the counted total, with CSV export. The FAR scheme’s counted total is compared with the FAR limit of the Rules node; the building coverage scheme uses the union of the regions projected from all levels and is compared with the coverage limit. You decide what counts for each project; the app only adds up according to these settings.
- Units: Units & Sales Areas adds units with a number, type, level, parking spaces and an allocation weight. Assign rooms with Unit in the Properties panel (or select rooms first and click “Assign selected rooms”); assign area elements in the area plan table. The unit schedule exports to CSV.
- Sales area table: uses the categories of the sales scheme’s area types: main building, annex (balconies etc.), canopy, common parts and parking. Common parts are allocated by the basis you choose (main building, main + annex, or manual weights) and, after rounding, add up to the common-part total; whether canopies count, the area per parking space, whether parking is added to the unit total and whether the common-area ratio includes parking can all be changed. The assumptions in use are listed under the table and in the CSV. The table is an estimate, not a land-registration result or a legal opinion.
- Project parameters: type of parameter (length, area, volume, angle, number, integer, text, URL, yes/no, material), group, categories, type or instance. Instance values are filled in the Properties panel by group; type values are stored on the type and shared by its elements. Project parameters appear as schedule fields (editable in place) and, in IFC export, each group becomes a custom property set. “Add common Taiwanese office parameters” adds fire rating, construction and similar parameters at once.
- Schedule calculated values and conditional formatting: the Calculated/Format tab of a schedule. Formulas can use other field names, e.g.
Area * 0.3025,Width * Height,if(Area > 30 m * 1 m, "L", "S"); lengths and areas carry units, and the Number type drops them (for example to convert to ping). With inconsistent units or a formula error the column stays blank and shows why. Conditional formatting shades a cell when its field meets the condition. - Purge Unused: lists custom wall, floor and door/window types no element uses, loaded families, view templates not assigned to any view and unused filters; purge the ticked ones at once (Ctrl+Z undoes it). Built-in types are never purged.
- Review Warnings: lists the warnings of the whole model at once: overlapping walls, identical instances in the same place, rooms not enclosed or redundant, rooms whose level no longer exists, doors/windows without a host or extending outside the host wall, areas not enclosed and elements that cannot be computed. Each one can Select or Zoom to its elements.
- Templates: the “Office floor plate with curtain wall” and “Five-storey RC apartment” templates are ready-to-demo Taiwanese projects: exterior walls, party walls (interior types, so auto area boundaries from exterior walls leave them out), partitions, doors and windows (fire doors at stairs and unit entrances), two U-shaped stairs, rooms and corridors on every level, plumbing, lighting and AC fixtures, a site boundary and site area, area schemes with an area plan per level (building coverage, FAR, gross; rentable for the office, sales and units for the apartment), project parameters and a ping calculated value in the schedules, and a sheet set (Taiwanese title blocks with plans, elevations and schedules). The office also has a B1 car park (parking spaces including an accessible one, and a sample parking rule) and an accessible toilet on 1F. Open one and try the egress check (two stair exits on every level), the regulation report and IFC export straight away.
- Limits: 16 area schemes (24 types each), 4,000 boundary lines, 2,000 areas, 1,000 units, 64 project parameters; 8 calculated values (256-character formulas) and 8 conditional formats per schedule.
- All levels at once: tick “All levels” in the Area Plans toolbar and “Auto from exterior walls” does every level in one go, placing an area in each region enclosed by the new boundary lines (regions that already have an area are skipped); “Generate from room uses” likewise does every level that has rooms (after asking whether to replace). Levels without walls or rooms (for example the roof level) are skipped and listed. The whole batch is one undo step. With the Taiwan rule pack, level tables created with the
levelscommand follow Taiwanese naming: the ground floor is 1F (at the base elevation; GL is only an elevation reference, not a separate level), then 2F, 3F… and RF at the top; level tables in older designs are unchanged. - Import boundary from curves: Import boundary from curves… on the area plan toolbar takes Floors outlines, property-line setbacks or any node that outputs closed curves (Grasshopper, Rhino); for Floors, the outline nearest to the level elevation is used. The lines do not follow the source by themselves: press Update: source name to re-import, which replaces the lines of that source (one undo step). If the source is deleted, its lines stay.
- Area boundaries follow walls and rooms: with "Follow walls and rooms" on in Area Plans, after walls or rooms change (when you release a drag) the automatic boundary lines are recomputed with the last generation method of that area plan (exterior walls, all walls or room uses); building area, FAR and the regulation review report update right away, in the same undo step as the wall change and sent together when co-editing. Nothing is recomputed while dragging. The boundary position follows the area measurement basis (scheme override or rule pack). Manual boundary lines are always kept; an automatic line becomes manual with "Make manual" and stops following the walls. On by default for new schemes (templates included); schemes in older designs stay as they were, and when their boundaries are out of date Area Plans, the regulation review report and the parking check show "Area boundaries are out of date … Click to update".
Keynotes, classification, COBie and shared parameters
The "Keynotes / Classification / COBie" button in the Families & Manage block of the outliner (or the commands keynote, classification, cobie); shared parameters are in the Project Parameters dialog (command sharedparams). The data is stored in the design file and travels with saving, undo (Ctrl+Z), the cloud and sharing. Synhedra does not bundle any official or third-party keynote or classification tables.
- Keynotes: import your own keynote file (tab, comma or semicolon separated; each row: key, text, parent key; 2 MB, 5000 rows), or add rows one by one and export them as a text file. Element keynotes are assigned to types (shared by elements of the type); material keynotes to materials (walls/floors use the material of the type's core layer). With elements selected, "Tag selected elements" adds keynote tags: element, material or user keynote (pick the key), showing the key or key + text, boxed with a leader; the commands
keynote element,keynote material,keynote user keytag the selected element. "Legends ▸ Legend: Keynotes" in the Project Browser can be placed on a sheet and lists the keys and text used in the model. Schedules get "Keynote" and "Keynote Text" fields (editing the key changes the type). - Classification: system name, edition, import your own code table (code, title), assign codes to categories, types or single elements (override); resolution order element → type → category. IFC export uses these codes first (IfcClassificationReference), and so does COBie Category; schedules get "Classification Code" (editable = element override) and "Classification Title" fields.
- COBie 2.4 export (also File ▸ Export COBie…): enter the creator email (required) and export an .xlsx or a CSV zip with the sheets Contact, Facility, Floor (levels), Space (rooms), Zone (departments, units), Type (door/window and family types), Component (doors, windows, family components with their room), System (by the "System" project parameter, otherwise by equipment category), Attribute (project parameter values), Spare and Document (spare parts and manual links from handover data). ExternalIdentifier is the IFC export GlobalId; the scope matches the IFC export; missing values are n/a.
- Shared parameter file: every project parameter has a stable GUID. "Export shared parameters…" saves Synhedra's own JSON; in another project import it and tick the parameters to add (you can change the categories and the type/instance binding). Parameters whose GUID is already in the project are not added twice; names taken by another parameter are listed and skipped. Limits: 1 MB, 500 parameters.
Project information and fields
Enter the project's basic data once (interop P6): sheets, 2D title blocks, deliverables, regulation and green-building tools all read the same record.
- Project information: command
projectinfo(or Project Information in the sheet set). Fields: project name, project number, client, office, architect, drawn and checked by (defaults), issue date, phase, description; site: county, district, address, north angle (degrees, true north clockwise from screen up, as in the sun settings), latitude, longitude, elevation. “Use the sun settings location and north” copies your local sun settings. Each field edit is one undo step and is saved in the design (with saves, cloud and sharing). - Older designs: opening an older design changes nothing. Until project information has been saved, the dialog shows values taken from the sheet title block and the green-building site; editing any field saves the whole record into the design, and from then on this dialog is the source (the old title-block fields are kept in sync).
- Who reads it: sheet title blocks (the issue date is used when a sheet has no date); 2D title blocks (defaults come from the project information of a 3D design in the same project); IFC (IfcProject description and phase, IfcSite latitude, longitude and elevation, the IfcSite / IfcBuilding address, true north, and the property set lsm_ProjectInformation on IfcProject); COBie (Facility project name, site and phase, Contact company and address, project number etc. as Facility attributes); gbXML (name, latitude, longitude, elevation, north, Building StreetAddress); the regulation review report's project name, address and preparer when the report leaves them empty; the green-building county and north (editing them in the green-building panel writes them back); and the sunlight analysis, whose Auto location prefers the project latitude and longitude. Empty fields are not exported.
- Exporting global parameters: IFC adds the property set lsm_GlobalParameters on IfcProject (lengths, areas and angles with units, text and yes/no by type); COBie writes them as Facility attributes (category = the parameter group). gbXML has no general custom-property field, so they are not written there. Parameters that cannot be computed (formula errors) are skipped.
gbXML export and handover data
Two features for energy analysis and for handing a building over to operations: the gbXML export, and handover data (equipment list, warranty, maintenance manuals).
- gbXML export (File ▸ Export gbXML (energy analysis)…, command
gbxml): choose schema version 7.03 or 6.01. Rooms become Spaces (area, volume, closed shell, space boundaries). Walls are split at levels and classified by sampling the rooms on both sides: two different rooms = InteriorWall, one room = ExteriorWall (wall type function "interior" = InteriorWall; retaining or foundation walls and walls entirely below the ground level = UndergroundWall). Floors are cut per room above and below: InteriorFloor, SlabOnGrade (within 0.3 m of the ground level), RaisedFloor, Roof (no room above but a room below) and Shade (balconies and canopies on a level that has rooms). Roofs and sloped slabs export their upward faces as Roof; room separation lines become Air surfaces; doors = NonSlidingDoor / SlidingDoor, windows = OperableWindow / FixedWindow (type style fixed), wall openings = Air, embedded curtain walls = FixedWindow. Constructions, layers and materials come from the wall, floor and roof type layers, with U-values computed from the material conductivity λ (materials missing λ are listed). The location (latitude, longitude, north → CADModelAzimuth) defaults to the sun settings; the elevation and the ground level are editable and the building type is selectable. A pre-export check lists the spaces, surface and opening counts, constructions and problems (no rooms, unbounded rooms, spaces without a floor, surfaces without an adjacent space, missing λ, openings without thermal data, curtain systems not exported). Limits: 5,000 spaces, 20,000 surfaces, 20,000 openings. Surfaces are written on wall centerlines; walls get one surface per segment and level band (not split per room); surfaces with holes are split into triangles. The output has only been self-checked for format and not yet tested in each energy tool. - Handover data (the "Handover Data" button in Families & Manage, or File ▸ Handover data & equipment list…, command
handover): lists doors, windows and family components. Tick items (filter by category or search) and bulk-fill at element level (serial number, install date, warranty start, or overrides of type values) or type level (manufacturer, model, warranty years, guarantor, maintenance manual URL, spare parts). Element values override type values (type values are shown greyed); "Clear element data of ticked items" reverts to the type values. Export the equipment list as CSV (formula-injection safe: cells starting with = + - @ get a leading '); import a CSV matched by NodeId or a unique Mark (2 MB, 20,000 rows; blank cells keep existing values; invalid URLs and dates are skipped and counted; control and bidi characters are removed). The equipment list also exports as a PDF (A4 landscape). URLs: only http:// or https:// without user name or password are accepted and shown as links that open in a new tab with rel="noopener noreferrer"; Synhedra never fetches them automatically. The COBie export now also writes the Type manufacturer, ModelNumber, warranty guarantor and duration (years), the Component SerialNumber, InstallationDate and WarrantyStartDate, a Spare sheet (spare parts note per type) and a Document sheet (manual URLs per type or element). Limits: 5,000 element records, 2,000 type records.
Information requirements (IDS) check
IDS (Information Delivery Specification) is an open buildingSMART standard: an XML file that states which information which IFC elements must carry. Synhedra loads IDS 1.0 files and checks either what this design exports to IFC or an external IFC file.
- Open: the "Information Requirements (IDS)" button in the "Families & Manage" section, or the
idscommand. - Check against: "This design" runs the IFC export once (IFC4 or IFC2X3; the same element scope and GlobalIds as "File ▸ Export IFC"; no file is downloaded and the design is not changed); "External IFC file" checks a chosen .ifc (limit 64 MB).
- Supported facets: entity (name, predefined type), attribute, property set + property name + data type + value (quantity sets included), classification (system, code), material, part of (aggregation, group, spatial containment, nesting, voids/fills). Values can be simple values or restrictions: enumeration, pattern (a safe subset of XSD regular expressions), bounds (inclusive/exclusive), length. Requirement cardinality: required, optional, prohibited; specification cardinality: required (at least one applicable element), optional, prohibited (no applicable element may exist).
- Results: status and applicable/passed/failed counts per specification; click a row to see the failing elements and reasons, and "Locate" selects and zooms to an element (objects of an external IFC can be located only if the design has a matching imported element).
- Output: "Report CSV" (summary + one row per failing element); "Export BCF" (one issue per failed specification, components by IFC GlobalId); "Create issues" adds them to the "Issues (BCF)" panel without duplicating on re-runs.
- Notes: entity names do not include subtypes (IFC2X3 walls export as IFCWALLSTANDARDCASE, list it separately); numbers are compared in SI units (length m, area m², volume m³); unsupported parts (restrictions such as totalDigits, some XSD regex syntax) are marked "unsupported" and fail. Limits: IDS file 2 MB, 500 specifications, 5,000 facets. This is a self-check of IDS rules; confirm with a buildingSMART-certified tool before formal delivery.
Schedules: multi-category, key, embedded and split on sheets
Open schedules from the "Schedules/Quantities" buttons in the outline; the panel's "+ New schedule" tab creates custom schedules (multi-category or key schedules). Custom schedules are saved in the design file, follow saving, undo (Ctrl+Z), the cloud and sharing, are listed under "Schedules/Quantities" in the Project Browser and can be placed on sheets.
- Multi-category schedules: tick the categories to list (for example doors + windows). The fields are "Category" plus the union of each category's fields; a field a category does not have stays blank. The default fields are the fields the categories have in common. Editable fields write back by each row's category (for example "Sill Height" can only be edited on window rows). Filters, sorting/grouping, calculated values and conditional formatting work as in other schedules. Ticking a single category makes a second schedule of that category (with different fields or filters). The "Categories" tab renames the schedule, adds or removes categories, or deletes it (it is also removed from sheets).
- Key schedules: for example a "Room Style" for rooms. When creating one, choose the category, the key parameter name and the key fields (for example floor, wall and ceiling finish); add styles on the "Keys" tab and fill in each style's values on the "Table" tab. In that category's schedule (for example Rooms) add the "Room Style" field on the "Fields" tab and pick a style from the drop-down to assign it to elements; the key fields follow the style and cannot be edited directly. Changing a value in the key schedule updates every element assigned to that style.
- Embedded schedules: on the "Appearance" tab of a room schedule (or a multi-category schedule with only Rooms) choose doors or windows under "List for each room" and tick the sub-fields to show; each room gets a small table of its doors or windows below it. A door or window belongs to a room when its centre is within half the wall thickness + 15 cm of the room boundary, so a door is listed for the rooms on both sides. In the CSV and on sheets the sub-rows start with "↳".
- Itemizing and grand totals: when "Itemize every instance" is unticked on the "Sorting/Grouping" tab, elements with the same sort keys merge into one row with count, area and volume summed; fields whose values differ stay blank. "Grand totals" can show "Title, count, and totals", "Title and totals", "Count and totals" or "Totals only".
- Appearance: grid lines, show title, show headers, and header groups (a row with a group name above several adjacent fields, for example "Size" over Width and Height). The appearance also applies to schedules on sheets.
- Placing on sheets and splitting: in the sheet editor select a placed schedule; the "Viewport" panel on the right sets "Rows per segment" (automatic split), "Split before rows" (one or more manual split points) or "Fit to height" (split by the title block's usable height). Segments sit side by side from left to right with their tops aligned; "Repeat headers on each segment" is on by default. Text height, column widths (comma separated, 0 = auto) and the segment gap belong to this viewport only, so the same schedule on another sheet is not affected.
- Across sheets: "Keep N segment(s), continue the rest on [sheet]" shows only the first N segments on this sheet and places the same schedule on the other sheet starting at the next segment, with "(cont.)" added to the title. You can also edit "From segment" and "Segments shown" directly. In the Project Browser a schedule under a sheet shows which segments it holds, and the schedule's row lists the sheets it is on. Batch PDF export prints the segments as laid out on the sheets.
- Limits: 64 custom schedules; key schedules with 16 key fields, 200 keys and 20,000 assignments; 8 header groups; 12 embedded sub-fields; a schedule on a sheet can have up to 50 segments and 2,000 rows (200 rows when not split).
Room tags, color schemes and room uses
Like room tags and color schemes in Revit. Use "Color Schemes" in the "Families & Manage" block of the outliner, or "Color Schemes and Legends…" in the "Annotate…" menu. The data is stored in the design file and follows saving, undo (Ctrl+Z), the cloud and sharing.
- Room tag content: a room's built-in tag always shows the name, number and area; "Annotate… › Area and Volume Computations…" can add the regulation use, unit, floor finish and department. Fill in the department and floor finish in the room's Properties panel.
- Tag All Rooms: "Annotate… › Tag All Rooms…" adds a tag element to every room on the current plan, with the fields you tick (name, number, area, use, unit, finish, department). With "Include rooms with a built-in tag" ticked, those rooms' built-in tags are turned off and replaced by tag elements, so no room gets two tags.
- Color schemes: rooms can be coloured by name, department, regulation use, unit, unit type or area range; areas in area plans by name, area type, unit or area range. Eight schemes are built in and you can add more. A by-value scheme lists every value in the model: change the colour, untick "Visible" (no fill, not in the legend) and reorder with ↑ ↓; new values are appended by name with automatic colours. A by-range scheme sets the lower bound (m²) of each band, e.g. 0, 10, 20, 40 means under 10, 10–20, 20–40 and 40 or more.
- Applying to views: in the Color Schemes dialog pick a level, then the scheme this plan uses (or choose "Color Scheme" in the VG dialog). The fill is drawn under the lines and does not affect picking. View templates can control the color scheme too ("Not controlled", "None" or a scheme); when a template controls it, the view's own choice is disabled. For area plans choose "Color scheme" in the Area Plans dialog.
- Legends: "Place legend on the plan" puts a legend to the upper right of the rooms on that level, listing only the values that appear on this plan; delete it in the dialog. On sheets: the legends under "Legends (color schemes)" in the Project Browser can be placed on several sheets, with a colour swatch in the first column and every value in the model; plan views placed on sheets keep their colour fill. In a black-and-white PDF the swatches turn black, so untick "Black & white".
- Room regulation uses: every room has a regulation use (residential, office, retail, parking, common area / lobby, mechanical, balcony, other). With "Auto" in the room's Properties panel, the use is suggested from keywords in the name (e.g. "Master bedroom" → residential, "Car park" → parking, "Lobby" → common area). The "Room regulation uses" tab of the Color Schemes dialog edits the use names, colours, keywords and "Counted in FAR by default"; these are only editable defaults: whether an area counts is your judgement for each project, and the app does not decide what the regulations require.
- Into area plans and the report: "Generate from room uses" in an area plan draws area boundary lines along the room boundaries and places an area in each room: uses counted in FAR by default get a counted type, the others an excluded type (one is added if the scheme has none); it replaces the existing lines and areas of that area plan. The area schedule also lists the room areas by use. The regulation review report gains a "Summary by room use" section. Review Warnings lists rooms whose use does not match their name (e.g. named "Car park" but set to residential), whose use was deleted, or that have no use.
- Area measured at: where "Generate from room uses" puts the boundaries is set by the rule pack: Taiwan, Japan and Singapore = wall centreline (the convention for FAR floor area, total floor area and GFA; the net room area at the wall interior face is about 6% smaller). "Area measured at" in the area plan toolbar overrides it with the wall centreline, the wall interior face (net room area) or the exterior wall outer face (approximated by the wall centreline when generated from rooms); the generic rule pack defaults to the wall centreline. A change only affects areas generated afterwards; stored boundary lines and areas are not changed automatically. A centreline shared by two rooms is drawn once; rooms that cannot be enclosed at the wall centreline use the room boundary and you are told.
- Limits: 32 color schemes (256 values and 32 ranges each), 128 legends, 32 room uses (24 keywords each). When opening someone else's file, data over the limits or in the wrong format is skipped.
Auto massing (Pro mode)
A suggested scheme: adjust it to your actual design. Available only in the Pro modeler (not in Simple mode): "Auto Massing" in the Outliner's Families & Manage section, or the command automass.
- What it needs: a property line (
propertyline; a setback per edge, with road edges marked Road and given a road width) and the BCR and FAR in the Regulation Review Report (height limit optional). If the design has a Rules node, its derivation is used instead. - How it works: inside the buildable area after setbacks and within the rule pack's envelope (the Taiwan pack includes the Art. 164 planes and shadow budget; other packs use only their own height limits), it generates slab, stepped, podium + tower, street L-shape, split-block, courtyard and full-coverage baseline schemes, listing only those within the BCR, FAR and the report's height limit. You can change the floor height in the dialog.
- Result: pick a scheme and press "Create as masses" to write ordinary polylines + extrusions (on the "Suggested massing" layer, editable and push-pullable), undone in one step. Levels, walls by face, area plans and the Regulation Review Report then treat them like any other mass.
- Limits: only a starting point for design, not a determination by the authority; daylight, egress, structure and parking are not checked. At most 80 segments at a time.
Regulation review report & auto dimensions
A design review aid, not an official review result. "Regulation Review Report" in the Outliner's Families & Manage section, or the command regreport.
- Contents: site summary, building coverage ratio and floor area ratio (permitted limit, permitted area, design value and result), building height, Art. 164 height and shadow summary, parking, a green-building (EEWH energy-saving estimate) summary, floor areas per level, and the assumptions and items that need manual checking. Every value lists its source underneath: the Rules node, which area scheme, the masses, or the data you entered in the report.
- Sources: the building area and the FAR floor area come first from the counted totals of the "Building coverage area" and "FAR floor area" area schemes; without area plans the masses are used as an approximation (union of projections, total floor area; conservative) and this is listed as an assumption. Site area and limits come from the Rules node in the design; without one, enter them at the top of the report. You can type the parking numbers; when you leave them empty, the required number comes from the rule table of the Parking count check and the provided number is the parking spaces in the model (source "Model count"). The green-building summary needs the county and building category set in the Green Building panel first.
- Export: "Export PDF" makes a multi-page A4 portrait report (every page carries the "not an official review result" notice and a page number); "Export CSV" has the sections, the per-level area table and the assumptions for editing in a spreadsheet. The data you enter is saved in the design (text up to 120 characters, up to 20 notes).
- Calculation book (A4 submission layout): "Export calculation book" makes an A4 portrait PDF: cover (project, lot number field — left as a blank line to fill in by hand when empty —, date, version, contents), site summary, building coverage and floor area ratio (formulas, area table, floor areas per level), height and slope planes (a plan diagram marking each road edge, the section positions and numbers; one section diagram per road edge with road width, setback, that edge’s plane, the envelope, the building section, the highest point and the permitted height there, the article number and scale), parking and accessibility, green building (only when the rule pack has it), other review items, and an appendix (assumptions and manual checks, legal sources, and the statement "this calculation book is a design aid and not a statutory certification"). Every page has the project name in the header and the page number in the footer. All values come from the report; nothing is recalculated. The section is placed at the solid vertex least favourable against that road edge plane. Slope diagrams appear only when the rule pack has road planes (Taiwan Art. 164, Japan road slope line, Germany Abstandsflächen, US sky exposure plane) and the Rules node has road edges; other packs still get a calculation book without diagrams. The PDF has an invisible text layer, so its text can be searched and copied.
- Entire-wall dimensions: in the Aligned Dimension DI Options Bar set "Pick" to "Entire Walls", click a straight wall, then click an empty spot: the wall ends, doors and windows (centers or widths), intersecting walls (by the reference preference: centerline, faces or core) and intersecting structural grids are dimensioned automatically.
- Grid strings: "Dimension Grids" in the DI Options Bar adds, on the current level, one chain for 1, 2, 3… and one for A, B, C… on every structural grid system, plus the overall length. The dimensions follow the grids; deleting a grid deletes its dimensions.
- EQ and lock: when a dimension is selected, EQ appears beside the dimension line (three or more references: the middle references are spaced equally and the ends stay; click again to show the values) together with a padlock (locks every segment distance: moving one element moves the other; a locked dimension's values cannot be edited). Straight-wall centerlines and faces and door/window centers and edges can be locked; wall ends, core faces and grids are skipped.
- Code text, 3D and report cross-reference: with the Select tool, click any sloped or horizontal face of the envelope in 3D (or run
lawplane) to open the citation card: law name and article, verification date (when the rule pack gives none, the current official text governs), a link to the official text, the formula with values (for example Taiwan Art. 164 H ≤ 3.6·(Sw + D), Japan road slope line 1.25 × distance), the allowed height at the picked point and the applicable range. "View in report" and "View in calculation book" jump to the matching row. The card works from the keyboard: focus moves to it when it opens, ← / → switch planes, Esc closes. In the report (and its "Calculation book (slope diagrams)" tab), rows for each road edge, the height limit and the envelope overrun have "Show in 3D": the report closes, the matching envelope planes are highlighted and the camera frames them. On a review board the area schedule and the regulation summary get an "Article" column; select either item on the sheet to list its rows in the properties area and use "View in report" to jump to that row. The card only reads values from the rule pack and the envelope and never changes any code value. - Locking code nodes: select a Rules, Envelope or Checks node and press "Lock code parameters" in the Properties panel. While locked, the parameters are read-only (neither the node card nor the Properties panel can change them, and rule-pack writes from Project information are blocked with an explanation) and AI cannot write them; approving an AI branch checks again (locked nodes, global parameters marked as code or feeding a code node, and pinned global parameters count as conflicts and are not applied). To edit, press "Locked (click to unlock)" first; unlocking is one undo step.
Units and imperial
Dimensions are always stored in metres; the unit only affects display and input, so changing it never alters any dimension and old designs are unchanged. Set it under “Unit” in Project information (command projectinfo).
- Design unit: m, cm, mm, ft, in. You can change the unit of your own design at any time (only the design's unit setting changes; a design opened from a share link cannot be changed). A number without a unit is read in the design unit.
- Feet-and-inches input: length fields (Properties panel, Site panel, rule-pack fields) accept
12'6",12'-6",12' 6 1/2",12 ft 6 in,12.5',150"and6 1/2", and you can also type3.81 mor500mmdirectly.12'-6"is architectural notation (12 feet 6 inches), not a subtraction. Input longer than 128 characters or with a zero denominator is rejected. The command line separates arguments with spaces, so use a form without spaces (for example12'6-1/2"). - Imperial format: designs in feet or inches can show lengths as “decimal (12.5 ft)” or “feet-inches (12'-6", rounded to 1/16 in)”; areas of inch designs can show in² or ft². Site area also shows acres in imperial. The format is saved with the design (one undo step; also remembered as this browser’s default for new designs); older designs without a saved format use the browser preference.
- Length and area fields in dialogs: in imperial designs the egress / accessibility / parking thresholds and parking rule table, the manual site area and height limit of the regulation review report, green building (LEED areas, EEWH shading depths and altitude), and the grid spacing and margins of sunlight and sun hours show ft / ft² and accept feet-inches (
2'-8") or a unit (0.9 m,1200 sf,0.5 ac); fields of metric designs are unchanged. - Generated text: sources and notes of the regulation review report (corner cuts, Art. 164 H / As, parking, green building, sunlight, uses), the height-cap face description of the envelope, the 3D envelope legend and check sources switch to ft / ft² in imperial designs (values are still computed in metres; only the display changes). Panels, node cards and reports update immediately after you change the unit or format.
- Reports and export: for imperial designs the regulation review report (dialog, CSV, PDF), code checks, Site panel, schedules and CSV use ft and ft²; DXF export (“File ▾ › Export DXF” and Make2D) writes
$INSUNITSaccording to the unit (in = 1, ft = 2, mm = 4, m = 6). - Rule-pack suggestion: the US pack is expressed in imperial units; when the design is metric, Project information suggests switching to feet (one click, never forced).
Rule packs
The rule pack decides which rules and citations the Rules, Legal envelope, code checks, regulation review report and AI hints use. Choose it under Regulations in Project Information (command projectinfo); switching is one undo step and syncs to collaborators.
- Taiwan (Building Technical Regulations): the default. Older designs without a rule pack use it, with exactly the same results as before: Art. 164 slope planes and shadow area budget, the narrow-road limit, parking (Art. 59), accessibility and the EEWH green-building estimate, with citations in the report and nodes.
- Taiwan: FAR bonus estimate (reconstruction, urban renewal): with the Taiwan pack, Project information has a "FAR bonus estimate" block. Choose the scheme (dangerous / old building reconstruction, urban renewal, or none), tick items and enter each percentage of the base FAR yourself: reconstruction uses Arts. 3–10 of the FAR bonus regulations for dangerous and old buildings (original floor area, structural assessment, small lot, setback, seismic, green building, smart building, barrier-free, public-facility land) plus the timing (Act Art. 6(2)) and scale (Art. 6(3)) bonuses; urban renewal uses Arts. 5–17 of the urban renewal FAR bonus regulations plus local additional items (Act Art. 65(5)(6)). Each item is capped at its article’s top tier; for reconstruction the capped items may not exceed 1.3 × base FAR or 1.15 × the original floor area, and timing + scale come on top but together ≤ 10% (the timing bonus reached zero in May 2025); for urban renewal choose the Art. 65 cap case (general 1.5 ×, original floor area above base — the better option, high chloride / seismic deficiency 1.3 × original, strategic area 2 ×), with local items ≤ 0.2 × base (0.4 × in strategic areas). "Suggest" fills timing and scale from the article formulas; your value prevails. The FAR after bonuses is written into the Rules node as the FAR cap (one undo step; restored and cleared when the rule pack changes), and the regulation review report gains a "FAR bonus (estimate, not approved)" section listing each percentage, the cap and the article citations. Article numbers and item names only — no statute text. Estimate only, not a value approved by the authority; the approved value prevails.
- Japan (Building Standards Act): after choosing Japan, pick one of the 13 use zones in Project information; BCR and FAR come from the statutory menus (Art. 53(1), Art. 52(1)) — choose the value designated by the city plan — plus absolute height (10 / 12 m), exterior wall setback, front road width, and corner-lot and fire-zone boxes. The menu values are written into the Rules nodes (one undo step). BCR includes the corner-lot / fire-zone +10% (80% designated plus a fire-resistive building in a fire zone = no BCR limit); FAR is the smaller of the designated value and the front-road limit W×0.4 (residential zones) / W×0.6; the 3D envelope applies the road slope line H ≤ 1.25·(W+D) (residential) or 1.5·(W+D) (no limit beyond the Appended Table 3 application distance), the adjacent-lot slope line (20+1.25D / 31+2.5D), the north slope line (5 / 10+1.25D, measured towards true north) and the absolute height; the per-edge values are also listed in the regulation review report. Roads of 12 m or more and level-difference relief are not applied (setback relief, the shadow regulation and the sky factor: see the next item). The accessibility check can “Apply” the Barrier-Free Act Enforcement Order thresholds (entrances 80 cm, corridors 120 cm, 2% parking); parking provision follows local ordinances and you fill in the rule table. The Energy Efficiency Act and CASBEE are source links only. The pack contains only parameters, formulas, rule names, article numbers and links — no statute text (source: e-Gov law search, Public Data License PDL1.0; statutes are not copyright subject matter under Copyright Act Art. 13); the Official Gazette prevails in case of difference. Not legal advice; the authority (designated administrative agency) decides.
- Japan pack v2 (setback relief, preliminary shadow regulation, sky-factor hint): with setback relief (Art. 56(2)) the road slope line starts from a line moved out beyond the far side of the front road by the setback distance; the setback distance is the edge setback of that road edge (every building lies in the buildable area; a mass set back further is not relaxed further), so H ≤ k·(W+2D) at the building face. The shadow regulation (Art. 56-2, Appended Table 4) is in “Shadow regulation (Japan, preliminary)” at the bottom of the green panel’s Sun hours tab: the use zone maps to its Appended Table 4 row automatically; following the local ordinance you tick “designated” and choose the grade (1)–(3) and the measuring plane (1.5 / 4 / 6.5 m), and Hokkaido switches to 9:00–15:00 and the Hokkaido times. “Compute shadow times” computes the shadow time on the 5 m / 10 m lines and bands outside the site boundary on the measuring plane, on the winter solstice from 8:00 to 16:00 true solar time (in a background thread, with the same occlusion engine as the sun hours); the 3D view shows the shadow-time colours, the 5 m / 10 m measuring lines (dashed) and the equal-shadow-time lines (solid), and “Insert into the regulation report” adds the “Shadow regulation and sky factor (preliminary)” section. No ordinance values are built in (only the structure of the Tokyo ordinance is explained); the average ground level is approximated by z = 0 and relief for roads, water and level differences is not applied. The sky factor (Art. 56(7)) is only explained with its source in v2, not computed (planned for v3). The result is preliminary; the designated administrative agency’s designation and review prevail.
- Japan pack v3 (preliminary sky factor): “Sky factor (Japan, preliminary)” at the bottom of the green panel’s Sun hours tab computes the sky factor Rs = (As − Ab) / As (orthographic projection) under Building Standards Act Art. 56(7) and Enforcement Order Arts. 135-5 to 135-11. The measuring points are generated for you: road slope on the far boundary of the front road (spacing ≤ half the road width), adjacent-lot slope on the line 16 m (1.25 slope) or 12.4 m (2.5 slope) outside the boundary (spacing ≤ 8 m / 6.2 m), north slope on the line 4 m (low-rise and rural zones) or 8 m (medium-to-high-rise zones) due north (spacing ≤ 1 m / 2 m). The “conforming building” is the solid over the buildable area that exactly meets the slope line (for the road slope only the part within the application distance, and the planned building is cut to the same range). “Compute sky factors” runs in a background thread for each point, once for the planned building (every displayed solid) and once for the conforming building (coarse / standard / fine resolution); the table lists the least favourable point and difference for each slope line, and the 3D view marks every point with a coloured dot (green = planned ≥ conforming, yellow = within the resolution, red = planned < conforming). It is judged only when you tick “Use the sky factor”; “Insert into the regulation report” writes the “Sky factor (preliminary)” section. Measuring heights are approximated by z = 0; level differences, zone splitting, two or more front roads and the setback conditions are not applied. The result is preliminary; the building confirmation prevails.
- Japan pack v4 (inverse-shadow envelope, sky-factor relaxation hint): “Inverse-shadow envelope (Japan, preliminary)” on the Sun hours tab uses the grade, measuring plane and times chosen in the shadow-regulation block above (Building Standards Act Art. 56-2, Appended Table 4) to work out how high each cell of the site can go, then takes the minimum with the slope envelope; the 3D view shows translucent columns (slope lines govern / cut for shadow / design exceeds it = red), and you can insert it into the regulation review report. It is a conservative approximation: each cell is a full square column; at a measuring point over the limit, the columns on the cheapest shaded sample ray are cut to the ray height, then everything is recomputed to verify (coarse first, then fine, at most 8 rounds); each measuring point carries a radius (the columns are widened), so nothing is missed between points. Time sampling is covered by a safety margin of “the limit minus one sampling interval” (keep it ticked; this part is not a strict guarantee). Relief for roads, water and railway land and for level differences (Enforcement Order Art. 135-12(3)) and the rules across regulated areas (Art. 135-13) are not applied (stricter). The inverse envelope is only one of many feasible shapes; a design outside it is not necessarily non-compliant. In the Category I/II medium-to-high-rise residential zones with a designated shadow regulation, the north slope line does not apply under Art. 56(1)(iii); the panel and Project information show a hint with a one-click untick (changed only after you confirm; one undo step). Below the sky-factor results, “Relaxing slope lines by sky factor: protrusion hint” uses the current design’s sky-factor margin to estimate how high a single cell could rise above the slope envelope while keeping planned ≥ conforming (an upper bound of the orthographic projected area, not discounting directions already blocked, so conservative; protrusions in several cells add up); it is a reference with green columns in 3D and relaxes nothing automatically. Preliminary; the administrative agency’s review and the building confirmation prevail.
- Singapore (URA Early-stage Massing & Envelope Feasibility): after choosing Singapore, pick the development type in Project information (Flats, Condominium, Bungalow, Good Class Bungalow, Commercial), enter the Master Plan GPR and bonus GFA (≤ 10%), choose the 2- or 3-storey area for landed housing, and set the road category of every road edge (Cat 1–5, from the LTA Road Line Plan). Site coverage (flats 50%, bungalows 40 / 50%, GCB 35 / 45%), FAR (GPR×100×(1+bonus)) and the storey-based height (flats GPR 1.4 / 1.6 / 2.1 / 2.8 → 5 / 12 / 24 / 36 storeys; 5.0 m first storey, 3.6 m others; landed 12 / 15.5 m) are written into the Rules nodes (one undo step). Road buffers (by road category and storey count) and common boundary setbacks (by storey count) shrink the buildable area directly (vertical cut-off, the larger of your setback and the table value); the common boundary setback follows URA Table 2 storey by storey (flats and condominiums, 1–35 and 36+ storeys, verified 2026-10-25) and is left for you to fill in only when the storey count cannot be derived from the GPR. The LTA RPPS parking minimums and maximums (Zones 1–3) are included as tables; the BCA accessibility code and Green Mark are source links only (values are built in only with BCA written consent). The pack holds only parameters, formulas, rule names and links — no text copied from URA / BCA / LTA documents: values are compiled from the official documents (URA DC Handbook, LTA COP 2019 Revised Edition v1.1; written consent for commercial use is pending), and the data.gov.sg Master Plan layer is under the Singapore Open Data Licence 1.0 (linked only, not read, in v1). The pack is an early-stage massing and envelope feasibility check; it is not a URA tool and is not endorsed by URA. The Singapore demo shows no green-building scores (the EEWH, LEED® and WELL™ estimates in the Green panel are hidden; sunlight, environment analysis and sun hours remain available). Not legal advice; URA / BCA / LTA publications prevail.
- United States (city packs: NYC / LA / custom, imperial): the US has no national zoning law, so this pack is “city pack + federal ADA layer”; choose the city in Project information. New York City — pick a district R1–R12 (section numbers as amended by City of Yes for Housing Opportunity on 2024-12-05: FAR 23-21 / 23-22, lot coverage 23-361 / 362, height 23-421 / 422 / 432, yards 23-321 / 332 / 342, parking 25-22 / 25-23); optional fields for affordability (UAP), corner lot, R1–R5 multi-family, main street width (≥ 75 ft = wide street) and Inner / Outer / Beyond Transit Zone; R6, R7-1, R8 and R10 can use the sky exposure plane (23-736: H ≤ 60(85) + 2.7(5.6)·D ft, initial setback 20 ft on narrow streets and 15 ft on wide streets), which trims the 3D envelope; dwelling-unit cap = maximum floor area ÷ 680 ft² (23-52). FAR for the R1–R3 series follows ZR 23-21 (verified 2026-10-25): 0.75 on standard zoning lots and 1.00 on qualifying residential sites (R2X 1.00; R4B 1.0 / 1.5, R5B 1.5 / 2.0); check the conditions for the second column in ZR 12-10. Los Angeles — only the Height District 1 FAR is built in (commercial / industrial 1.5, other 3; source grade (A), to be checked against the official text by a person before launch); you fill in everything else; California AB 2097 (within half a mile of a major transit stop) sets the minimum parking to 0. Custom — FAR, lot coverage, height, storeys, front / side / rear yards and the parking ratio are all values you enter (imperial). Every city can override the built-in values with “Custom”; the front yard applies to the street edge, the rear yard to the edges you tick and the side yard to the rest, and the buildable area is inset by max(your setback, yards). Accessibility uses the 2010 ADA Standards (federal public domain): Table 208.2 accessible-parking tiers, 36 in routes, 32 in doors, 1:12 ramps. IBC, ICC A117.1, ASHRAE 90.1 and LEED are copyrighted and no content is built in; the NYC Zoning Resolution is cited by value and section number only (no text copied). See Units and imperial. Not legal advice; the authority’s publications prevail.
- Germany (BauNVO + state building codes): after choosing Germany, pick the state (MBO template, Bavaria, North Rhine-Westphalia, Berlin, Baden-Württemberg) and the Baugebiet (the 14 BauNVO area types) in Project information. Since 2021 the BauNVO §17 GRZ / GFZ / BMZ values are reference values (Orientierungswerte), not caps: the B-Plan values are the law. When you enter the B-Plan GRZ / GFZ / maximum height / full storeys they prevail and are written into the Rules node (exceeding them = does not comply); without them the regulation review report only compares with the §17 reference values and flags “above the reference value (not a violation)”, and nothing is written into the Rules (only the §17 values for Wochenendhaus- and Ferienhausgebiete are hard caps). §19(4): garages, driveways and ancillary structures may raise the site coverage by up to 50%, GRZ ≤ 0.8 (listed in the report). Abstandsflächen D ≥ k·H (MBO / Bavaria / NRW / Berlin: 0.4 H, commercial areas 0.2 H, NRW core areas 0.25 H, at least 3 m) → one plane H ≤ D/k per edge clips the 3D envelope; road edges count to the road centreline (H ≤ (D + road width/2)/k) and the minimum distance shrinks the buildable area; v1 assumes a flat roof (the 1/3 roof rule and gables are manual checks). Baden-Württemberg follows LBO §5(7) (consolidated version of 2026-03-16, verified 2026-10-25): 0.4 H; MK, MD, MDW, MU and WB 0.2 H; GE, GI and non-recreational special areas 0.125 H; at least 2.5 m (2 m for walls up to 5 m wide — this tool does not check wall widths and uses 2.5 m). Also included: the open building pattern ≤ 50 m hint, state rules for barrier-free dwellings (Bavaria 1/3 where a lift is required), Munich housing parking (1 per dwelling, subsidised 0.5, city-bound 0.8, bicycles 1 per 40 m² of living area) and the Berlin / Hamburg housing car-space exemption with bicycle spaces (Berlin AV Stellplätze Annex 2: 1–4 per dwelling by living area, +1 cargo-bike space above 20 dwellings, at least 2; the AV expired 2026-06-30 and is still applied by administrative self-binding; Hamburg BPD 2022-2: 1–5 per dwelling, guidance; both approximated with the average dwelling size, so enter the dwelling count and the total living area in Project information), WoFlV area notes and our own summary of DIN 18040 sizes (doors 90 cm, corridors 150 cm…); GModG (formerly GEG) is a source only. Federal and state law are official works without copyright under UrhG §5; DIN 18040 / 277 are copyrighted and used by name and own summary only. Not legal advice; the building authority’s (Bauaufsichtsbehörde) determination prevails.
- United Kingdom (England: declarations + flags): the UK has no statutory coverage, plot ratio, setback or parking minimums, so this pack outputs declarations and flags and does not judge compliance. In Project information choose the nation, whether the site is in London (area CAZ, Inner Opportunity Area, Inner, Outer; PTAL 0–6), station proximity, dwellings per bedroom type, habitable rooms / bedrooms / bedspaces, neighbouring windows (centre height a and distance D), the Use Class, an NDSS dwelling type and GIA, and GPDO extension sizes. The regulation review report gains a section “United Kingdom: London Plan declarations and flags”: the London Plan §3.3.22–23 FAR (total GEA ÷ site), Site Coverage Ratio, u/ha, hr/ha, bed/ha, bedspaces/ha and maximum height; the NPPF 2026 L3 minimum of 35 / 45 dph near stations, London Plan D9 tall buildings (≥ 6 storeys or 18 m) and the BRE 25° line H ≤ a + tan25°·D (≈ a + 0.466·D) are flags only and do not clip the envelope; London Table 10.3 PTAL-based residential parking maximums, disabled bays 3% + 7% for ≥ 10 dwellings and charge points; NPPF HO5 M4(2) ≥ 40% and London Plan D7 M4(3) ≥ 10%; NDSS areas (1b2p 50, 2b4p 70, 3b5p 86, 4b6p 99 m²); GPDO Class A rear extensions 3 / 4 m (prior approval 6 / 8 m). The accessibility check can “apply” the Approved Document M thresholds (M4(2) hallway 900, door 850 mm). Enter any local-plan caps in the Rules node yourself. Values from gov.uk and legislation.gov.uk are used under the Open Government Licence v3.0 (Contains public sector information licensed under the Open Government Licence v3.0); the London Plan by values and policy numbers only; BRE BR 209 is copyrighted and only the formula name and source are cited (thresholds from secondary sources); RICS and BSI content is not built in. Not legal advice; the local planning authority’s (LPA) determination prevails.
- Generic (user-entered limits): no regulations of any region are built in. BCR, FAR, height cap and setbacks use the values you enter; there is no road-width height limit, so the envelope is just the height cap over the buildable area after setbacks.
- Not provided by this rule pack: the generic pack has no parking, accessibility or green-building rules, so those nodes and report sections show "Not provided by this rule pack" (undetermined, not failed); egress thresholds were always editable defaults and are still checked. Before switching, the editor lists the checks that stop applying and asks you to confirm.
- Unknown rule pack: a design that names a rule pack this version does not recognize is treated as Generic (no regional rules are applied), and Project Information says so.
Egress, accessibility and parking checks
Preliminary checks: the thresholds are editable defaults, not a code ruling. Confirm every threshold against the regulations and authority rules that apply. "Egress / Accessibility / Parking Checks" in the Outliner's Families & Manage section, or the commands egress, accessibility and parkingcheck (each opens its own tab). Thresholds and rules are saved in the design and can be undone.
- Fire compartments: "One per level" makes one compartment from all rooms on each level; or select rooms or a closed curve (for example a rectangle or a closed polyline) first, open the dialog and click "From selected rooms" / "From a selected closed curve". The compartment area = the area of the drawn outline, or the total of its rooms, compared with the limit (each compartment can have its own limit).
- Travel distance: click "Run egress analysis". Each level is cut into a grid (0.25 m by default, enlarged automatically for large plans, about 360,000 cells at most); walls block, doors and wall openings are passable. The shortest path from the farthest point of each room to the nearest exit is found (eight directions, then straightened by line of sight). Exits = stairs (on their base and top levels), exterior doors (by default only on the ground level; can be every level or none) and the exit doors you designate (select doors first, then "Make selected doors exits"). The analysis runs in the background without freezing the screen.
- Paths in the plan: the result paths are drawn on each floor plan: green = complies, red = over the limit, purple dashed = the path to a second exit, a cross = the farthest point, a circle = an exit. "Path" on a result row shows only that room; untick "Show paths in the plan" to hide them. After the model or settings change, you are asked to run the analysis again.
- Two-direction egress: paths from the same farthest point to two different exits; it complies when the shared length of the two paths is at most "max. travel distance × shared ratio". Only one reachable exit = does not comply.
- Corridors and doors: rooms whose names contain a corridor keyword (editable) use the short side of the equivalent rectangle (from area and perimeter) as the clear width; doors on egress paths and exit doors use the opening width minus both frames as the clear width.
- Accessibility: route (corridor) clear width, clear width of the doors of routes and accessible toilets, ramp slope / rise per run / width (the same check values as ramps), accessible toilet size (a room with a toilet whose room name, or the toilet's type, mark or comments, contains an accessibility keyword; shortest side and area), and the number of accessible parking spaces (an editable tier table against the spaces with "Accessible" ticked).
- Parking count: the required number comes from the rule table you enter: by floor area (FAR or gross floor area scheme, mass floor area or a typed area; one space per so many m² after the exempt area), by units (the unit list or a typed number), or a fixed number, rounded up. No local rules are built in; "Add an example rule" is only a starting point. The provided number = the parking spaces in the model (types or families whose names contain "機車"/"moto" count as motorcycle spaces). The result feeds the parking section of the Regulation Review Report (numbers typed in the report take precedence).
- Results: every row can "Select" or "Zoom" to its room, door or ramp. Limits: 20,000 walls, 2,000 rooms and 200 stairs per level; 30 parking rules and 200 fire compartments.
Compare versions & change quantities
Compare Versions in the Families & Manage section of the outliner, or the compare command. The panel floats on the right and does not block the 3D view, so you can look at the overlay while clicking the list.
- Pick two versions: choose a source for the old version (A) and the new version (B): the current model, a file (a .lsm design file or a saved graph JSON), or another design in your workspace (for example a milestone copy you saved, or the copy kept after a cloud sync conflict). Click Compare. Opened files are always sanitised: unknown nodes, dangling links and data over the limits are skipped; models with more than 30,000 nodes are not compared. The cloud keeps only the latest version, so save a copy or a .lsm file of a version you want to compare later.
- Element differences: elements are matched by id. Added = only in the new version, Removed = only in the old version, Modified = parameters, name, hidden state, layer, level, material, custom properties or input links changed; click a row to expand which parameters changed (old value → new value). Elements whose parameters did not change but whose extents moved because of upstream nodes or wall joins are marked Geometry follows; tick Parameter changes only to hide them.
- Filter and zoom: filter by status, category, level and text. When the new version is the current model, clicking a row selects that element and zooms to it. The list shows up to 5,000 rows (counts are always complete).
- 3D overlay: added = green, modified = yellow, removed = a red ghost (the old solid, not selectable); other elements are faded. The overlay follows the filters and is clearest in the Shaded display mode. Closing the panel restores the normal view.
- Quantity changes: the Quantity changes tab lists the differences between the two versions by category (count, area, volume), by material (as in the Material Takeoff), by area scheme (counted total and each type) and in sales areas (main building, annex, canopy, common parts, parking, units).
- Export CSV: a change quantity table with the versions, the element change summary, every quantity difference and the element change list, suitable as a change order attachment. It is an estimate generated automatically from the model, not a formal quantity survey; check it before use. Text cells are protected against spreadsheet formula injection.
- Global parameters and analysis results: global parameters get their own section (name, old value → new value, added or removed) instead of appearing as ordinary “modified” nodes; changes to an element’s global-parameter links read “Global parameter link: parameter — Linked to X”. Differences in the numbers and pass flags of analysis nodes (cost, area summaries, code checks…) are listed under “Analysis results (preliminary)” and written to the CSV.
Compare variants
"Compare variants" under Families & Manage in the outline, or the command optionscompare. A design holds up to 8 variants; each variant is a set of global parameter and slider values plus which option is chosen in each design option set (e.g. Variant B = top level +3 m with the "Open plan" option).
- New: "New variant from current" saves the current values and primary options; "Values" edits them one by one (↺ = do not set this value, use the model's current value). Only constant global parameters can be stored (not ones with a formula or driven by the graph).
- Compare: tick 2–4 variants (the current model may be one) and press Compare. Each variant is a full evaluation (on a background thread); unchanged variants come from the cache afterwards. The 3D views share one camera: orbit one and the others follow.
- Metrics: gross floor area, building area, BCR, FAR, height, regulation pass, units, sales area, common-area ratio, cost estimate and cost per m², EEWH, concrete and rebar, structure warnings, parking and accessibility. Yellow rows differ between variants; green marks the best in a row (rows such as height or BCR have no "better" and are not marked). All figures are preliminary estimates, not an official review or calculation. For sunlight hours run the green panel's sunlight analysis on each variant.
- Export: CSV (variant names starting with = + - @ get a leading quote so spreadsheets do not treat them as formulas); "Print / save PDF" makes one landscape A4 page (a 3D snapshot per variant plus the table); choose "Save as PDF" in the print dialog.
- Make primary: writes the variant's values and options into the model (alternative elements are kept; only the primary option changes); one step, Ctrl+Z undoes it.
- Optimizer: "Save as variant" in the optimizer stores a result (gene values only) as a variant to compare here.
- Variants are design data: they travel with saving, cloud, sharing and live collaboration (each variant syncs on its own).
Issues, BCF & clash reports
Outliner → Families & Manage → Issues (BCF). The panel floats on the right and does not block the 3D view. Issues are stored in the design, so they travel with saves, the cloud and share links (and sync to others when collaboration is on).
- New issue: orbit to the view you want to discuss and select the related elements (you can also turn on a section or hide elements), then click New issue (current view). The issue records a viewpoint (camera, active section, selection, hidden elements), a pin (centre of the selection, or the orbit centre when nothing is selected) and a PNG snapshot.
- Fields and workflow: title, description, type, priority, assigned to, due date and tags; status moves Open → In Progress → Resolved → Closed and can be reopened. Each issue has a comment thread; Your name is kept only in this browser and marks you as the author.
- List: filter by text, status, priority, type, assignee, label and overdue; sort by number, priority, status, due date, last modified or title. Clicking a row restores the viewpoint (camera transition, section, hidden elements, selection); while the panel is open, issue pins show as coloured dots in 3D.
- BCF export: choose BCF 2.1 or 3.0 and click Export list… (only the ticked issues when any are ticked). Components are identified by the GlobalIds of the IFC export: open them in other tools (Revit, Navisworks, Solibri, BIMcollab…) together with an IFC file exported from the same design. Elements that are not in the IFC export use lsm-only ids that other tools cannot match.
- BCF import: Import BCF… reads .bcfzip files (BCF 2.0/2.1/3.0). Importing the same topic again updates it and merges the comments; components are matched back to model elements by GlobalId, and GlobalIds that are not found are listed. Only the first viewpoint and the first clipping plane of each topic are read.
- Safety and limits: imported files are treated as data: no DTDs or external entities, limits on ZIP entry count, uncompressed size and compression ratio, and unsafe file names are skipped. Up to 2,000 issues per design and 200 comments per issue; snapshots up to about 180 KB each and about 2 MB in total per design (when full, the issue is saved without the snapshot).
- Interference check → issues: after running the Interference Check (IF), pick Group issues (one per element pair, by first-set element, or by category pair) and click Create issues: one Clash issue per group, with a viewpoint aimed at the clash and the elements selected. Re-running does not create duplicates; open clash issues that are no longer found are marked resolved automatically, and ones that reappear are reopened. HTML report and CSV (with issues) list every interference with its issue number. Interference checking is a coordination aid and does not replace professional review.
- Global parameter snapshot: a new issue records the values of all global parameters at that moment; “Global parameters when created” in the issue details compares them with the current values and shows changed ones in bold. A BCF 3.0 export also writes them to
lsm-gp.xmlin the topic folder (a custom extension other tools ignore) and Synhedra reads it back on import; BCF 2.1 does not include it.
Cost estimate (quantities & cost)
Outline › Families & Manage › Cost Estimate. For contractors: construction quantities are computed from the model with editable rules, then multiplied by your own imported price table. No official unit prices or work codes (such as PCCES) are bundled.
- Quantities: each rule’s total and per-level subtotals; click a row for the per-element breakdown (click an element to select it). Export a quantities CSV (by item and per element).
- Quantity rules: each row = item, source (wall exterior/interior layers, core, formwork; floor and roof top layers, soffit, concrete, formwork; ceilings; room floor area and skirting; doors/windows by type; cast-in-place stairs; structural columns, beams and slabs), measure (area, volume, length, count), layer function and material filter (keywords separated by
|), opening deduction, unit, work code and trade. Add, delete, turn off or restore the defaults. - Opening deduction: per rule choose no deduction, deduct at threshold, or deduct all openings; the threshold (default 0.5 m²: smaller openings are not deducted) is at the top of the dialog. Wall area is location-line length × height; opening reveals are not added. Skirting = room perimeter less the door widths on the room boundary.
- Structural elements: columns, beams and structural slabs are quantity sources only, reusing the preliminary structural concrete and formwork quantities (per level); no structural design is done. If a slab is modelled both as a floor and a structural floor, turn off one rule to avoid double counting.
- Price table: import a CSV (UTF-8; columns “code, item, unit, unit price”, optional “category” and “material”). The preview lists importable rows and problems (missing code, a price that is not a non-negative number, duplicate codes keep the first, unrecognised units); then choose Replace or Merge. Limits: 2 MB, 5000 rows, 200 characters per cell. The table can be exported again as CSV.
- Mapping: type a price-table code in a rule’s work code (suggestions drop down), or press Auto-map codes (same item name, or a matching material and the same unit). The code is your own work code.
- Cost: amount = quantity × unit price, with subtotals by level, category and trade and a grand total. Items without a code, with a code missing from the price table, or with a unit mismatch are flagged and not priced. Export a cost CSV (UTF-8 BOM; opens directly in Excel).
- Cost change between versions: when the design has estimate settings, the Compare Versions “Quantity changes” tab adds a cost change table (both versions use the current design’s rules and prices), also written to the change quantity CSV.
- Rules, threshold and price table are stored in the design (they travel with the file and the cloud). Text cells in CSV exports are protected against spreadsheet formula injection (
= + - @get a leading'), which is removed again on import. All results are auto-generated estimates, not a formal quantity survey or budget; check them before use.
Quantity rules v2
- Schedules, the Material Takeoff, the cost estimate, cost nodes, the Wall node’s Area output and IFC quantities (IfcElementQuantity, MethodOfMeasurement “Synhedra quantity rules v2”) share one quantity source.
- The Wall node’s Area output is now net of door and window openings; a new Gross area output is added.
- Reports and CSV files are labelled “Quantity rules v2”; version compare lists the v1→v2 differences.
- Differences: wall Area is now net; the Material Takeoff wall layer area for plain walls equals the net area; opening area = width × the height overlapping the wall; wrapped and stacked walls use actual per-layer volumes in the estimate; the estimate counts enclosed rooms only.
- Estimates of old designs may change slightly.
4D construction sequencing (tasks, Gantt, simulation, 5D)
Outliner → Families & Manage → 4D Sequencing, or the fourd (4d) command. The panel floats along the bottom without blocking the 3D view, so you can drag the timeline while watching the model. Tasks and links are stored in the design (they travel with saves, the cloud and share links).
- Tasks: name, WBS, kind (construct, demolish, temporary), start (“no earlier than”; blank = from predecessors or the project start), duration (calendar days without a work calendar, working days with one; 0 = milestone), finish (editing the finish changes the duration) and predecessors (FS finish-to-start, SS start-to-start, FF finish-to-finish, SF start-to-finish; no type = FS; optional lag, negative = overlap:
t3;t5+2,t4-1,t6SS+2,t7FF-1). Generate by level creates, per level and by category, structure (floors, columns, beams) → walls → stairs / doors and windows / roof → finishes and equipment; the next level's structure starts after the walls below. Durations are editable defaults. - Gantt chart and critical path: the critical path method runs forward and backward passes by dependency type and computes early / late starts and total float (in working days when a work calendar is set); tasks with zero float are critical (red). Drag a bar to change its start (no earlier than), drag its right end to change the duration; the zoom slider sets the width of a day. A predecessor cycle is reported with the tasks in it and is not saved. Without a work calendar scheduling is in calendar days; with one, non-working days are skipped and shaded grey on the Gantt chart (holidays orange). Dates are shown in the interface language.
- Element links: pick a task and use Add selection, or add rules (level × category × zone, for example “3F × Floors”), or tick element sets. One element can be in construct, demolish and temporary tasks at once. Select linked elements selects and zooms to them in 3D.
- Pour zones (simplified): under Sets & zones, split a level with cut lines (for example x = 9) into A, B…, or create a zone from a selected closed curve. Zones are used in rules; floors and walls that span zones share their cost by the fraction of their plan extent in each zone. Elements are not cut in 3D: a slab shows as in progress when its first zone starts.
- Simulation: timeline slider and ▶ Play (auto, about 15 s, or 1 / 7 / 30 days per second). Not started = hidden (or ghosted), in progress = orange, complete = normal colours, demolishing = red, demolished = hidden; an element only in temporary tasks appears only while the task runs (purple). Unlinked elements can be shown normally, ghosted or hidden. Hidden elements cannot be picked. Closing the panel restores the normal view.
- Export video: records a 720p WebM from the current view (length adjustable, up to 10 minutes), updating the elements for each frame's date. The video has no date caption.
- Construction date and duration factor (global parameters): “Construction date” above the panel can pick a text global parameter (content
YYYY-MM-DD) as the start date, and “Duration factor” can pick a number global parameter by which every task duration is multiplied (rounded to the day, range 0.1–10). When the global parameter changes (or a slider or the optimizer drives it), the Gantt chart, simulation and 5D change together; the duration column still shows the original duration you entered, and dragging a bar or editing a finish date converts back to the original duration. The “Schedule summary” node reads the same settings. - Cost (5D): task cost = the Cost Estimate amounts (quantity × your imported unit prices) of the linked elements. An element linked to several construct tasks is shared by zone fraction (otherwise equally), so nothing is counted twice; demolish and temporary tasks get no element cost. The cumulative cost S-curve spreads each task's cost evenly over its days and can be exported as CSV.
- CSV and MS Project: import a CSV (headers recognised in English or Chinese: ID, WBS, Name, Kind, Start, Duration, Finish, Predecessors (may include type and lag, e.g.
t3SS+2), Dependency type, Lag, Notes; the Dependency type and Lag columns apply to predecessors in that row that have no type or lag of their own; 2 MB, 5,000 rows, 200 characters per cell; Merge updates tasks with the same ID and keeps their links; Replace all); export a CSV (re-importable) and MS Project XML (MSPDI; FS/SS/FF/SF predecessor types and lags; the work calendar itself is not written, so MS Project may reschedule dates by its own calendar). Text cells are protected against formula injection (= + - @get a leading', removed again on import). - Work calendar: on the Work calendar tab, tick the working days of the week (Monday to Sunday) and add holidays (one by one, import a CSV, export, clear). No country holiday data is built in: enter your own from your contract and the official announcements. “Download sample format” gives a CSV with fictional dates only (first column
dateasYYYY-MM-DDorYYYY/M/D, optional name column). With a calendar set, durations, lags and float are in working days; all days ticked and no holidays = the same as before (every day works). Up to 3,000 holidays. - PCCES fields: “Import PCCES fields CSV” maps only four columns: 工項編碼 (item code), 項目及說明 (description, or a name column), 數量 (quantity) and 單位 (unit); other columns are ignored. A task with the same item code gets the new name, quantity and unit (its duration, predecessors and element links stay); a new code adds a task (1 day). “Export PCCES fields CSV” writes the tasks that have an item code. This is not the PCCES XML exchange file and item codes are not validated; convert and check them on the PCCES side.
- Limits: 5,000 tasks; 200,000 individually assigned links in total (stored separately, space-separated; above about 1.95 MB the change is not saved and you are told to use rules or sets); 50 predecessors and 50 rules per task; 500 sets; 200 zones. Everything read from a file is sanitised (dates 1900–2200, finite numbers, unsafe ids). All dates and amounts are auto-generated estimates, not a formal programme or budget.
Site: topography & property lines
Outline › Families & Manage › Site (Topography / Property), or the commands toposurface (topo) and propertyline. The dialog has a simplified plan where you can click to place points and sketch areas. Every action can be undone.
- Create a toposurface: “Place Point” puts a point where you click (elevation from the field); or import an XYZ CSV (x,y,z, N,E,Z, point,x,y,z…; a header row sets the column order automatically; max 4 MB, 20,000 points); or import DXF contours (the existing DXF parser: LWPOLYLINE elevations or 3D polyline vertices; pick layers; “Subtract the bounding-box minimum” matches Import DXF); or select curves in the viewport (imported polylines or lines you drew), enter contour elevations in the table and create. You can also type
toposurface x,y,z x,y,z x,y,z. For large coordinates (TWD97) fill in the offset. - Triangulation: our own Delaunay triangulation; contours get extra points at the “contour sampling” step (Revit also samples along lines when creating a surface from an import). Duplicate points within 1 mm use the first one. More than 2,000 points are triangulated in a background thread. Limits: 20,000 points, 100,000 contour vertices.
- Boundary: by default the convex hull of the data; sketch a “Boundary” to keep only the area inside (parts beyond the data have no surface).
- Contours in plan: interval, index contour spacing (index contours are heavier and labelled), labels on/off. Contours, the boundary, pads and subregions are drawn on the level plans near the terrain elevation.
- Graded region: “Create graded region” stores the current points and contours as the original surface; then select points in the plan (Shift adds) and raise, lower, set elevations, edit X / Y / Z or delete them. Cut and fill are the difference between the design surface and the original, integrated exactly triangle by triangle across both triangulations; without a graded region, cut/fill only counts the building pads.
- Building pads: sketch in “Building Pad” mode; each pad has a level, offset (pad top = level + offset), thickness and material. The surface is cut (or filled) to the pad bottom with vertical faces at the pad edge; the table lists area, cut and fill per pad.
- Subregions: sketch in “Subregion” mode and give a material (lawn, paving, asphalt…; a default colour from the name, which you can change); the area goes into the Material Takeoff.
- 3D, sections, drawings: the surface is a closed solid (its base is the “section base” depth below the lowest point), so it appears in sections, elevations and Make2D; it is not counted as floor area. IFC: IFC4 writes
IfcGeographicElement(TERRAIN), IFC2X3 writesIfcBuildingElementProxy(ObjectType Toposurface), contained in IfcSite with cut/fill volumes in a property set; building pads areIfcSlab(BASESLAB). - Components on the surface: level-based components (parking spaces, site components) placed on the surface within 3 m of the level are hosted to it (pad top inside a pad). After changing the surface press “Re-host components to surface”.
- Property lines: the “Property lines & setbacks” tab. Create from a selected closed curve, by sketching vertices in the plan, or from bearings and distances (start point, bearing + distance per leg; bearings like 45, 45-30-15, N45-30E, S10W; the closure error is shown). The table lists each edge’s length, quadrant bearing (N 45°00'00" E) and azimuth; the true north angle can be changed (clockwise from screen up).
- Setback lines: enter a setback distance per edge (user input); dashed in plan, lines in 3D. The setback line encloses the part of the property at least that distance from each edge (round at concave corners). The tool only draws lines and compares geometry; it does not determine regulatory compliance. Confirm building lines and setback rules with the authority.
- Road edges and road widths: in the property line setback table each edge can be set to Road or Neighbour, and a road edge takes a road width. This is the single source of road data: a Rules node connected to the Site output of the property line, the road height limits in the regulation review report (Taiwan Art. 164 slope 3.6×(road width + setback) and the narrow-road limit) and the slope diagrams of the calculation book all read it, so you do not enter it again. Unmarked edges are neighbours (older designs are unchanged). In plan, road edges get an extra “Road width” label. With a property line selected, typing
propertylineopens its dialog (it no longer creates a second one). - Enter the zoning figures once: when the design has no Rules node, the site area is taken from the property line (leave “Site area” empty in the regulation review report; a value there overrides it, the report marks it as an override and “Use the property line area” reverts). Zone, BCR, FAR and height limit are entered once in the regulation review report; the report, the Regulation check of Area Plans (limit = site area × ratio) and area scheme nodes all use the same figures. No node is created and no extra undo step is added. If the design has a Rules node, the node always wins (older designs are unchanged).With several property lines (several lots) the site area is their total; the report warns and you can enter an override. Roads use only the first line. Change in behaviour: in older designs with a property line, no Rules node and no site area in the report, area scheme nodes and the Regulation check of Area Plans used to have no limit; they now get one from the property line area × the BCR/FAR in the report and are judged against it.
- Link from a 2D design: cadastral and survey drawings are often DWG. After importing one into a 2D design in the same project, open the “Property lines & setbacks” tab, expand “Link the property line from a 2D design (cadastral drawing)”, pick that 2D design, tick the layer holding the boundary, and press “Create a linked property line” (or “Link to this property line”): this creates a “Linked 2D drawing” node, the first closed curve is wired into the property line's curve input, and the vertices follow the 2D drawing; the setback of each edge is still typed in the table. On the “Toposurface” tab, “Link contours from a 2D design (survey drawing)” takes the contour layers, and “Elevation from the nearest numeric text” uses the elevation labels beside the contours as elevations. The content is a snapshot: after the 2D drawing changes, select the “Linked 2D drawing” node and press “Update” in the properties panel (“☁ Update from cloud” fetches the latest cloud version first); it is never read automatically. Views imported from 3D are not read.
- Building line check: masses, walls, floors, roofs and columns whose plan footprint enters a setback strip (edge names and area are listed) or extends outside the property line appear in Review Warnings; the dialog also has a “Building line check” button.
Custom input style
- Choose "Custom" as the input style under "Account › Settings" on the home page. You can then pick each modifier key, mouse button and the shortcut type (single letter or two letters).
- A custom style starts from SketchUp, Rhino or Revit, and you change only what you want.
- If two items use the same key and conflict, nothing is saved and the conflicting items are listed.
- The setting is kept in this computer's browser. The plan pane always uses Revit controls, whatever you customize.
Structure preliminary sizing
Every result in the Structure panel is a preliminary estimate for architects at the massing and layout stage. It is not structural design and not a structural calculation. Sizes come from rules of thumb, with no load combinations, seismic forces, deflection or reinforcement design. Leave the actual design to a structural engineer.
- Open: the 3D toolbar has "Grid" (GR), "Column" (CL), "Beam" (BM) and "Structure…". "Structure…" opens the "Structure (preliminary)" panel. Grid, column and beam switch to plan mode; if the design has no levels yet, levels are created first.
- RC only: for now only reinforced concrete columns, beams and slabs are handled, with no steel or SRC option. Columns are square by default; against an architectural wall they become rectangular columns of the same area, with the short side matching the wall thickness.
- Grid: enter the X and Y spacings, for example
3*8is three bays of 8 m each. If you change the spacing later, columns and beams follow the grid. - Auto layout: inside the building outline on each level, it puts columns at grid intersections, beams along grid lines and one slab per bay, and gives preliminary sizes. The options bar also has At Grids and On Grids. For columns, the preliminary size first estimates the axial force from the tributary area, then uses the same equivalent static seismic force as the frame analysis (same seismic factors as the frame analysis settings) to estimate the column shear and moment of each storey, and picks the smallest square column that passes an RC P–M check (in 5 cm steps). Beams are first sized from the span (L/12); then the seismic moments of the column ends above and below each joint are shared to the beams by stiffness ratio, gravity moments and shears are added (1.2D+1.6L, 1.2D+1.0L±E, 0.9D±E), and the beam is checked against the moment and shear capacity of an assumed reinforcement; if it is not enough, the beam depth grows by 5 cm (beam width at least half the depth) until D/C ≤ 0.95, and when a beam gets wider the smallest column side (beam width + 10 cm) follows. This only affects new auto layouts and preliminary suggestions, and columns and beams already placed do not change size by themselves: those smaller than the suggestion are listed in the warnings as "smaller than preliminary (gravity + seismic combination)", and only "Apply preliminary sizes" enlarges them.
- Inputs: at the top of the panel set the concrete strength f'c (MPa, with the approximate kgf/cm² beside it), the floor load w (kN/m²) and the site county / city. These values are stored in the design.
- Elements and sizes: lists the ID, level, current size and preliminary size of every column, beam and slab. Click a row to see the basis (inputs, rule, result, source), then "Apply preliminary size", or use "Apply all preliminary sizes". When beams are drawn inside one large slab, the slab thickness is estimated from the bays those beams enclose (not from the outline of the whole slab); the estimate depends only on the layout (columns, beams and slabs use each other's preliminary sizes), so pressing "Apply all preliminary sizes" again changes nothing.
- Warnings: grouped by type, with the seismic ones marked. Some warnings come with a one-click fix:
- For a tall building with f'c below 35 MPa, "Use 35 MPa (350 kgf/cm²)" appears. Click it to re-estimate the column sizes. Columns you changed by hand are not made smaller, and pinned elements stay as they are.
- When the short span of a slab is too large, "Add secondary beams" appears and splits those slabs into smaller spans. When beams inside one large slab enclose bays, each bay whose short span is too large gets its own secondary beams and the slab is not split. Pinned slabs, and slabs with columns inside but no beams enclosing bays, are skipped.
- Structural peer review: whether a peer review is needed depends on county / city rules. For a county / city with data, the warning cites that county's basis; for other counties it only reminds you to confirm with a structural engineer. The panel prompts you while the county / city is still unconfirmed.
- Quantity schedule: lists concrete m³, formwork m² and rebar kg by level and category. The rebar rates (kg/m³) for columns, beams and slabs can be adjusted, and the panel prints the source of the rates. Quantities are preliminary too: slab edge forms, stairs and foundations are not counted.
- Export: CSV, analysis model (JSON), IFC and ETABS (.e2k). The .e2k is a preliminary model (stories, grids, materials, sections, columns, beams, slabs, fixed column bases, DEAD / LIVE loads). It has not been tested in ETABS, so have a structural engineer check it before use. Elements whose elevation does not match a level are not exported, and the panel tells you how many.
- All changes can be undone; "Use 35 MPa" and "Add secondary beams" are one undo step each. A read-only share link can open the panel to look, but cannot change anything.
Frame analysis (preliminary)
Frame analysis is a preliminary reference only — not a certified structural design. Results are only for architects to check the order of magnitude of spans, column and beam sizes and storey drift at the layout stage; the final design must be calculated and certified by a structural engineer with professional software.
- Open: in the "Structure…" panel, open the "Frame analysis (preliminary)" tab and press "Run frame analysis". The calculation runs in the background and can be cancelled; the limits are 5000 nodes, 10000 members and 8 load combinations.
- Model: a 3D frame built from the structural columns and beams (6 degrees of freedom per node, direct stiffness method). End points within 5 cm are treated as one node; members are split where a beam passes a column position or another beam's end point, and where a beam frames into a column at an intermediate level. Supports are the column bases of the lowest storey (fixed). Beams are modeled at their top level, with no rigid end zones or eccentricity. Concrete elastic modulus E = 4700√f'c; effective moment-of-inertia reduction is 0.35 for beams and 0.70 for columns.
- Rigid diaphragm: when ticked, structural slabs at the same level that touch each other are treated as rigid, and the horizontal displacements and torsion of the nodes on the slab are tied together.
- Loads: D = self-weight of members, slab self-weight (slab thickness × 24 kN/m³) and superimposed dead load; L = live load (defaults 1.5 and 2.0 kN/m², the same as the ETABS export). Slab area loads are distributed at 45° to the beams along the slab edges (triangular and trapezoidal areas for rectangular slabs); the part along an edge without a beam is lumped to the slab corner nodes. If no support is found for a load, the panel warns you.
- Seismic force: a simplified equivalent static method, V = (I/1.4αy)·(SaD/Fu)m·W, with period T = 0.07·hn^0.75. Site SDS, SD1, importance factor I, ductility capacity R and αy can all be adjusted, or you can set V/W directly. The force is distributed to the storeys by weight and height, then to the nodes by nodal weight. Near-fault effects, basin effects, accidental eccentricity and the minimum design seismic force are not considered; confirm the coefficients against the site and the current code. The seismic factors in the panel (SDS 0.7, SD1 0.4, R 4.8, αy 1.0) are defaults; adjust them for the site and on your structural engineer's advice.
- Load combinations: 1.4D, 1.2D + 1.6L, 1.2D + 1.0L ± 1.0EX, 1.2D + 1.0L ± 1.0EY, 0.9D ± 1.0EX, 0.9D ± 1.0EY (both ± directions are computed and the most unfavourable is taken).
- Results: a summary (node and member counts, seismic weight, period, base shear, maximum displacement, maximum D/C), the storey drift ratio of each storey (elastic value under design seismic force, not multiplied by the amplification factor; reference limit 0.005), and for each column and beam the maximum axial force, shear, moment, demand/capacity ratio (D/C) and governing combination. Click a row to select that element.
- RC check: capacity uses simplified formulas with assumed reinforcement: beam moment (assumed steel ratio 1.0%) and shear (D10 stirrups @ d/2); columns use a linear interaction of axial force and biaxial moments (assumed steel ratio 1.5%, conservative) and shear. This is not reinforcement design.
- Enlargement suggestions: elements with D/C above 1 get a suggested size (enlarge only, never reduce). The drawing changes only when you press "Apply enlargement suggestions" or a row's suggested size; this is one undo step, and pinned sizes or sizes driven by a global parameter are not changed. After applying, the results are marked outdated; run the analysis again to confirm.
- 3D display: choose "Bending moment" (drawn on the tension side) or "Deformed shape" (exaggerated), the load case or combination to show, and the scale. The 3D display stays after you close the panel, with a label at the lower left to turn it off; it is cleared automatically when the model changes.
- Unstable structure: if a member is not connected to a support, or a node has no stiffness in some direction, the panel explains why and lists the coordinates of the likely free nodes.
- Settings are stored in the design: loads, rigid diaphragm and seismic coefficients are stored on the first structural grid and can be linked to global parameters. With several buildings, the current building is analyzed.
- Node: the "Frame analysis (preliminary)" node in the node graph outputs a summary such as maximum storey drift ratio, maximum D/C, number of elements above 1 and base shear, which can feed an optimization objective or constraint. It is an analysis node whose results cannot be wired back into elements; with more than 1500 columns plus beams the node does not compute, so use the panel.
Reading ETABS results back
This only reads and shows the results your structural engineer computed in ETABS. It never changes sizes by itself, and the engineer’s calculations govern the design. ETABS does not need to be installed on this computer.
- Open: the "ETABS results" tab of the "Structure…" panel. Click "Import ETABS tables (CSV)…"; you can pick several files at once.
- Export steps for the engineer: open the .e2k exported from this panel in ETABS and keep the column and beam labels (C1, B5…) and the storey names. After the analysis and concrete design, open Display ▸ Show Tables and tick Element Forces (Columns, Beams), Concrete Column / Beam Summary, Story Drifts and Joint Reactions. Export each table with File ▸ Export to Excel and save it as CSV (or use File ▸ Export ▸ Database Tables to save text files), keeping the units row under the header.
- Supported tables: member forces (Story, Label / Column / Beam, P, V2, V3, T, M2, M3), concrete design summaries (D/C ratio: PMM Ratio, D/C Ratio, Ratio; required longitudinal rebar: As Required, FTopArea, FBotArea; required shear rebar: VRebar, AVMajor), storey drifts (Story, Direction, Drift, or Drift X / Drift Y) and joint reactions (Story, Label, FX to MZ). Columns are recognised by their header names, ignoring case and spaces; comma, semicolon or tab separators all work.
- Units: the units in the row under the header (kN, kN-m, tonf, tonf-m, kgf-cm, N-mm, kip-ft, mm², cm², mm²/m…) are read and converted to kN and m. Forces and moments without a units row are assumed to be kN and m, with a note; rebar areas must have units, otherwise the column is not used.
- Matching the model: when you export the .e2k, a label map file <name>.lsmmap.json (a table of Synhedra element ids) is downloaded with it; it is not written into the .e2k and does not affect the ETABS import (allow multiple downloads if the browser asks). Pick that .lsmmap.json together with the tables to use the mapping as it was exported; without it, the same labels are recomputed from the current model (which can mismatch if columns or beams were added or removed after the export). Rows that do not match (different storey name or label, or a deleted element) are listed. Slab results are not read in this version.
- Display: a summary (import time, source file names, how labels were matched), the D/C colour scale in 3D (≤ 0.5 green, ≤ 0.8 yellow-green, ≤ 1.0 orange, > 1.0 red; it stays after closing the panel and the chip at the bottom left turns it off), a list of elements with D/C over 1 or a rebar ratio that is too high (4% for columns, 2.5% for beams; click a row to select the element), the storey drift table and the joint reactions.
- Storey drift limit: enter your own, or click the law pack hint (Taiwan 0.005, Japan 1/200, US 0.020 for the amplified drift). Whether the ETABS output is already amplified depends on the engineer’s settings, so have the engineer confirm the limit and how to compare.
- Enlarge from results: failing columns and beams get a suggested size (both column sides × √(D/C), beam depth × √(D/C), or from the rebar ratio; rounded up to 5 cm). The model only changes when you click "Enlarge from results", as one undo step; sizes are never reduced, and pinned or global-parameter-driven sizes are kept. Elements whose size changed after the import are marked "out of date"; re-run ETABS and import again.
- Stored in the design: the results are stored in the design (numbers and element ids only, cleaned file names, at most 2 MB; above that the highest D/C records are kept) and can be removed with "Clear ETABS results"; importing and clearing can both be undone. "Export results CSV" can be shared; formula characters are neutralised.
- Limits: 20 MB, 200,000 rows and 200 columns per file, 8 files at a time. Save Excel workbooks (.xlsx) as CSV first.
Green building estimates
All results are quick estimates, only for comparing options at the design stage. They are not a submission calculation book or a certification document.
- Open: "Green…" on the 3D toolbar. It loads the first time you use it.
- Tabs: EEWH (envelope energy indicators; each indicator shows its value, the benchmark and whether it passes, and lists the basis and intermediate values), LEED®, WELL™ (massing-stage estimates; you can enter other scores yourself) and "To refine".
- Detailed calculation: once the exterior walls, floors and windows are drawn in 3D, EEWH is calculated from the actual walls and windows.
- Massing-stage estimate: while the design has masses only and no walls, the EEWH tab shows a "Massing-stage estimate" instead. It needs levels first (type storey heights in the "Mass Floors" section to create them). From each storey's mass floor, the North angle and the site county it estimates the total floor area, volume, wall and roof areas, wall area by orientation and the shape factor (envelope area / volume), then runs the same EEWH formulas and thresholds with an assumed window-to-wall ratio (30% by default; editable and saved in the design; not a code value) and default build-ups (RC 20 walls, single clear glass, aluminium frames, no external shading). Every assumption is listed in the panel. If the climate zone cannot be determined, the indicators are marked unavailable and only the geometry is shown. Once walls are drawn, the panel switches back to the detailed calculation.
- Site settings: at the top of the panel set the North angle (°) and the Site county / city. A note beside them shows the source: set by you, default, or taken from the sun settings. After the first change they are stored in the design and the values in the design win; sharing and cloud show the same values, and the change can be undone. While the county / city is still the default, you are reminded to confirm it.
- You can "Print summary" or "Export indicators CSV".
- The panel has three more tabs: "Sunlight analysis" (see the next section), "Sun hours" (see Sun hours) and "Environment" (see Environmental analysis).
- The fifth tab, "EEWH score (three, preliminary)", is described in EEWH score (Taiwan rule pack only).
- A read-only design can be opened to look, but the settings are not stored in the design.
Sunlight analysis
Sunlight analysis is a simplified estimate, only for comparing design options. It is not a code review result.
- Open: "Green…" on the 3D toolbar, then switch to the "Sunlight analysis" tab. While this tab is open the panel stays on the right and does not cover the viewport. Similar to Ladybug's sunlight analysis.
- Analysis surface: the ground (z = 0, extended beyond the model extents), or the faces of selected objects (you can compute only upward faces or only vertical faces). You can set the grid spacing, the offset from the surface and the outward extension.
- Period: start and end dates, the hours of each day and the time interval. The default is "Winter solstice 08:00–16:00": this is a commonly used period for daylight checks in Taiwan. It is common practice, not a citation of a code clause; follow the rules of the authority for the actual review.
- Location and orientation: the North angle and the Site county / city are set at the top of the panel. Latitude and longitude can come from the site county / city or the sun settings, or you can enter them yourself (default Taipei).
- Display: sunlight hours or accumulated irradiation, with a threshold and legend range you can set. Irradiation is a simplified clear-sky estimate (diffuse taken as 10% of direct; no clouds, ground reflection or weather data). It suits comparing options, not absolute values.
- Shading: every solid visible in the viewport casts shade, and glass is treated as opaque; parts cut away by the active section plane or the toolbar "Section" height do not count. Grid points inside a closed solid are not counted, and open meshes only cast shade.
- Results: minimum, maximum, average and the number of points reaching the threshold, shown in the viewport in cold-to-warm colors. You can export CSV or PNG, or clear the results. Computation runs in the background and can be cancelled.
- Compute engine: when the computer and browser support WebGPU, ray tracing is accelerated on the GPU automatically. Without support, or if the GPU is lost, times out or the model exceeds its limits, the CPU is used instead. Both give the same results (a very few points that graze an edge may differ by one time sample). Below the results the panel shows whether the GPU or CPU was used and how long it took; tick "CPU only" to turn the GPU off (saved on this computer, not in the design).
- Stale results: if you change the model, location, North angle or section after an analysis, the panel warns that the results may be stale; click "Re-analyze" to update.
- Settings are stored in the design. A read-only design can be analyzed, but the settings are not stored in the design.
Sun hours
Sun hours is a preliminary physical computation (sun geometry + ray occlusion). It contains no sunlight regulation of any country; the threshold is your own input.
- Open: "Sun…" on the 3D toolbar, the
sunhourscommand, or "Green…" and then the "Sun hours" tab. While this tab is open the panel stays on the right and does not cover the viewport. - Days: tick any of winter solstice, March equinox and summer solstice (winter and summer follow the hemisphere of the project location) and optionally add a custom date, up to 3 days; the year of the key days can be changed. Each day runs from sunrise to sunset, taking the sun position at the middle of each sampling interval (default 20 minutes); at most 60 samples per day, beyond which the interval grows automatically and is flagged.
- Analysis surface: site ground (inside the property line when there is one), neighbouring ground (a ring outside the boundary, width adjustable), upward faces (roofs, slab tops) or facades (walls). At most 20,000 grid cells (the spacing grows automatically and is flagged) and 200,000 obstruction triangles. Without a property line in the design the model extent is used instead, with a note.
- Shading: the solids shown by the node graph (masses, walls, floors, roofs…); glass and openings are treated as opaque (conservative), room volumes and voids are ignored. Ground cells under a mass are excluded.
- Location: latitude, longitude and north angle from Project information (time zone estimated from the longitude); without them the Taipei reference point is used, with a note.
- Results: sun hours, sunshine ratio (sun hours ÷ possible hours) and longest continuous sunshine per cell. Switch the day and the metric shown; the viewport uses a colour-blind-safe ramp (dark = shade, bright = sun) with a legend. The statistics list min / mean / max, mean sunshine ratio, longest continuous sunshine and the share of cells below the threshold you enter.
- Sun path: tick "Show the sun path" to draw the day's sun track in the viewport (a yellow arc with dots on the hour); it is cleared together with the analysis.
- Export and report: "Export CSV" writes each cell's coordinates, normal and, for each day, the hours, sunshine ratio and longest continuous sunshine (text fields are protected against formula injection). "Insert into the regulation report" stores a summary in the design and the regulation review report gains a section "Environmental analysis (sun hours, preliminary)" with an empty verdict column: nothing is judged as passing or failing. After changing the model, compute again and update the summary.
- Difference from the "Sunlight analysis" tab: Sunlight analysis is a Ladybug-style accumulation over a period (date range, fixed daily span, irradiation); Sun hours studies sunrise to sunset on key days, adds the sunshine ratio, longest continuous sunshine and sun path, and shares one computation and result with the "Sun hours" graph node (see Node graph).
- The computation runs in a background thread and can be cancelled; settings are saved in the design (read-only designs keep them in the panel only).
EEWH score (three indicators, preliminary)
Preliminary; not an EEWH label review: only three indicators are scored with the formulas of the EEWH 2023 manuals (EEWH-BC for non-residential, EEWH-RS for residential), and no label grade is given (grades need the total of all nine indicators). Only the Taiwan rule pack provides it; other rule packs show "Not provided by this rule pack".
- Open: "Green…" and switch to the "EEWH score (three, preliminary)" tab, or the command
eewhscore. - Daily energy RS4: the envelope item derives the envelope efficiency EEV = (EVc − EV) / (EVc − EVmin) from the same envelope estimate as the "Green indicators" tab (equivalent window ratio Req for residential, ENVLOAD for air-conditioned, AWSG for schools and large spaces); enter the air-conditioning EAC and lighting EL computed per the manual. Daily energy is a threshold indicator: it passes only with EEV ≥ 0.2 and the basic envelope thresholds (Uar, HWs, Rvi). The other residential items (water heater, cooktop, car-park fans, elevators) and sites at 800 m or higher are not assessed in this version.
- Greenery RS2: TCO2 = Σ(Gi × Ai) × α against the baseline TCO2c = 1.5 × (0.5 × A′ × β). Planting components in the model count automatically (trees with the crown projection basis per tree, shrubs with the crown circle, lawns with width × length); pick the manual planting type for custom planting families in the mapping table, or enter greening areas.
- Site water retention RS3: λ = Q′ / Q0 against the baseline λc = 0.5 × (1 − r) (0.5 for a whole-campus assessment). The soil class sets the final infiltration rate f; the model’s ground-level lawn can count as Q1, and you enter permeable paving, podium gardens, retention facilities and so on.
- Automatic values: site area and permitted coverage ratio come from the Rules node (otherwise from the regulation review report), and can be overridden in the tab. Each indicator lists the score, its maximum, design and baseline values, the calculation steps (with manual equation numbers) and missing data.
- Export and report: "Export score CSV" writes the scores, steps and sources (text cells are protected against formula injection). The green building part of the regulation review report adds a summary of the three indicators and the subtotal (no verdict).
- Your entries are saved in the design (undo, sharing and cloud keep them); read-only designs keep them in the panel only. The "EEWH score (three indicators, preliminary)" node in the node graph uses the same computation.
Building energy-efficiency estimate (BERS)
Preliminary, not a rating: the envelope efficiency is derived from the model envelope and put into the formulas of the BERS manual, 2024 edition (Architecture and Building Research Institute, Taiwan); missing equipment data use the manual defaults or conservative values. This is not a BERS label review; a professional must do the full calculation for submission. Taiwan rule pack only.
- Where: the "Building energy-efficiency estimate" section at the bottom of the "EEWH score" tab. Building category, county and climate zone come from the green panel; air-conditioning EAC and lighting EL come from the "Daily energy" fields on the same tab.
- Envelope efficiency EEV: EEV = (EVc − EV) / (EVc − EVmin), capped at 1.0 (manual Appendix 2). Residential uses the equivalent window ratio Req, air-conditioned buildings ENVLOAD, schools and large spaces AWSG; unlike the EEWH residential score, no row-house factor is applied.
- Non-residential (BERSn): efficiency index EEI = a × (EAC − EEV × Es) + b × EL + c × Et, where a, b, c are the air-conditioning, lighting and elevator weights. Two classes are built in, A2 private offices and B2 government offices (all-year or intermittent air-conditioning); for other classes enter AEUI, LEUI, EEUI and Es. Blank EAC and EL are conservatively taken as 1.0.
- Residential (R-BERSn): detached house, row house or multi-unit housing (the housing type from the daily energy fields), comparing the carbon intensity CEI* with the project’s own scale. Blank EAC and EL use the manual defaults 0.9 and 0.56; blank water heater and stove factors use 1.0. For multi-unit housing you can enter the common lobby, lift lobbies, common rooms, parking areas, elevator count and pump riser length; common machinery uses design values equal to the baseline.
- Grade: the 0–100 score (rounded to an integer) maps to grades 1+, 1, 2, 3, 4, 5, 6, 7; grade 4 is the pass line. The tab also shows the score without envelope credit and the EEV needed for each grade if only the envelope changes. The electricity emission factor defaults to 0.467 (Energy Administration, 2025) and can be changed.
- Conservative defaults: every item that uses a default is listed; a blank household count is estimated conservatively from the unit area (more households give a larger fixed-equipment share and a lower score).
- Link to FAR bonuses: if the FAR bonus estimate ticks green building, smart building or seismic design, the matching target level is listed; for green building the EEWH three-indicator subtotal is compared and the points still needed from the other six indicators are shown. Read-only: bonus ratios are never written. The BERS grade is not a condition of the dangerous-and-old-building or urban-renewal bonuses and is shown for reference only.
- Report: the regulation review report adds a "Building energy-efficiency estimate" section after green building (no verdict; sources, defaults and bonus targets included).
Environmental analysis (daylight factor, natural ventilation, thermal comfort)
All results are preliminary estimates (simplified models) for comparing design options. They are not formal daylight or ventilation simulations or code reviews. Thresholds and coefficients are editable defaults.
- Open: 3D toolbar “Green building…”, then the “Environment” tab. The analysis uses the rooms placed in plan (they must be enclosed); you can analyse one level only.
- Daylight factor: under the CIE overcast sky, the daylight factor at each point of the room’s work plane (default height 0.75 m, grid 0.75 m, 0.5 m wall margin excluded) = sky component + externally reflected component + internally reflected component. Sky and externally reflected components are traced per point through the windows: the reveal formed by the wall thickness blocks light, and directions blocked outside by other masses, buildings or the building’s own walls and floors use the obstruction’s surface luminance (reflectance editable). The internally reflected component uses the split-flux method and is added to every point as the room mean.
- Glazing and reflectances: glazing visible transmittance defaults to 0.7, multiplied by the share not covered by frames and mullions and by the maintenance factor; openings without glass use 1; glazed doors (by glass share; sliding doors) can be included. Ceiling, wall and floor reflectances default to 0.7, 0.5 and 0.2; with “Estimate from material colours” walls use the relative luminance of the interior finish material colour of the wall type (an estimate, not a measured reflectance).
- Results: per room the mean, minimum, uniformity (min ÷ mean), share of area with DF ≥ target (default 2%) and window-to-floor ratio; shown in colour in the viewport and exportable as CSV. The computation runs in the background and can be cancelled; with too many points or samples, increase the grid spacing or analyse one level. Curtain walls are not counted as openings yet.
- Natural ventilation: per room, effective ventilation opening area = clear opening (minus frame) × openable share (by window or door style, editable), divided by the floor area and compared with the selected threshold preset (default 1/20; add, edit or delete presets; no official tables are bundled, set them per your local regulations). It also detects the cross-ventilation path (opposite, adjacent, single-sided), estimates wind-driven airflow from wind speed and direction with a simplified pressure-coefficient model (windward, side and leeward values) and buoyancy-driven airflow from the opening height difference and the indoor–outdoor temperature difference, and converts them to air changes per hour and indoor air speed. The wind direction is where the wind comes from (clockwise from true north); north comes from Project information.
- Thermal comfort: enter air temperature, mean radiant temperature (blank = air temperature), relative humidity, air speed (one click takes the indoor air speed from the ventilation estimate), clothing and metabolic rate to compute PMV/PPD (from the equations published in ISO 7730) and the operative temperature. Adaptive comfort uses ASHRAE 55 or EN 16798-1: fill in the monthly mean outdoor temperatures (no climate data is bundled) to see the comfort temperature and whether each acceptability range is met month by month; EN 16798-1 uses a running mean, approximated here by the monthly mean.
- Nodes: the node graph has three analysis nodes, “Daylight factor (preliminary)”, “Natural ventilation (preliminary)” and “Thermal comfort (preliminary)”, with fixed number and yes/no outputs for the optimizer; see Node graph.
- Settings are stored in the design; read-only designs can be analysed but settings are not saved.
Parameter optimization
Like Galapagos in Grasshopper: it adjusts the sliders in the node graph automatically to find the combination that makes one number as small or as large as possible.
- Open: "Optimize…" on the 3D toolbar, or type
OPTin the command line (optimizeand最佳化also work). - Setup: choose a number output as the fitness and choose minimize or maximize; you can add constraints (a boolean output that must be true) and numeric limits (≤, ≥); tick the sliders that may vary. Sliders not connected to the fitness are marked.
- Algorithms: evolutionary or simulated annealing. You can set the population size, mutation rate, maximum generations or evaluations, a time limit, stop when there is no improvement, a target value and a random seed. When it ends, it tells you why it stopped.
- While running: the node graph is locked temporarily and can be edited after you press "Stop". The view shows a preview of the best solution so far, which is not yet written into the design. Hover over a result row to preview that solution.
- Results: a list of the best solutions, a progress chart of the best and average per generation, and the genome log. You can "Continue from these results". Press "Apply" to set the sliders to that set of values; this is one undo step.
- Not supported when the fitness or a constraint depends on script nodes. A read-only design cannot use optimization.
- Global parameters: numeric global parameters with a range (minimum and maximum) are listed as genes too, marked “(global parameter)”; ones with a formula or driven by the graph are not. Apply writes the value back to the global parameter, and skips it if it has since become a formula, been deleted or lost its range. When the fitness uses analysis nodes (cost, quantities…), every gene counts as connected.
Site survey (old buildings without drawings)
Renovations often start without drawings: measure each room with a tape or laser meter, type the numbers in, and each room is closed into a polygon and turned into walls, doors/windows and rooms. No AI is used; the data stays on this computer and is not uploaded.
- Open: the command
survey(aliases丈量,現場丈量), or "Site survey…" at the top of the Model tab in the left column. - A room is a chain of wall segments, walked clockwise: for each segment enter the length (m), the inside angle at its end (square = 90°, a corner that sticks out = 270°) and the wall thickness (interior 0.15 m, exterior 0.24 m by default). Doors and windows on a segment take the distance from the segment start, the width and the height; windows also take the sill height.
- What you measured: with "Inside clear dimensions" (face to face) the wall centreline is the measured line pushed out by half the wall thickness; with "Wall centrelines" the measured line is used as is.
- Closure and errors: site measurements almost never close exactly. The panel shows the misclosure (how far the end is from the start, and the heading error) and spreads it over the segment lengths and angles by least squares (longer segments take more); segments marked "Fixed" keep their length. Each segment shows "Adjusted to … (±cm, ±°)". You are warned about large adjustments, input that looks counter-clockwise and crossing segments.
- Diagonals: corners are not always square. Measure the distance between two corners and add it as a diagonal; the angles are corrected from it.
- Several rooms: from the second room on, tick "Shares a wall with an earlier room" and pick which of my segments equals which segment of which room, aligned to the other segment's start, end or an offset from its start; the room is placed automatically (one wall thickness apart for inside dimensions). Rooms without a shared wall take a position and rotation, or can be dragged in the preview. A shared wall is built once, and a door recorded on both sides is created once.
- Create: builds walls on the chosen level (the thickness is matched to an existing type, otherwise a "Survey exterior/interior wall thickness" type is added), doors/windows (instance size when it differs from the type) and rooms (name, use). The whole creation is one step: Ctrl+Z undoes it at once.
- Save draft: stores the input in this design (200 KB max) so the next
surveycontinues from it; "Create" saves it too. - CSV: "Export CSV" writes one row per item (room, segment, door, window, diagonal, shared wall) with formula-injection protection for text cells; "Import CSV" reads the same format back, skipping rows it cannot read and telling you how many.
- Limits: 200 rooms, 64 segments per room, 16 doors/windows per segment, 32 diagonals; lengths 0.1–100 m, angles ±360°, wall thickness 0.05–1 m.
Area program → blocks → walls
Early design often starts from the client's area program in Excel. Import it, and every space becomes a block of the right area; arrange the blocks inside the site or floor plate, then turn them into rooms and walls in one go. No AI; the data stays on this computer and nothing is uploaded.
- Open: the command
program(aliases面積需求,areaprogram), or "Area program…" at the top of the Model tab in the left column. Simple mode: "I have an area program" on the home page creates a new design and opens it in the modeler. - Import: CSV, TSV, XLSX (first worksheet), or paste the whole table copied from a spreadsheet. Recognised columns: space name, use, count, area each (or total area), level preference, adjacency (optional, separated by commas or semicolons). The area unit comes from the column name or a cell suffix (m², ping, ft²), otherwise the unit chosen in the panel.
- Limits and cleaning: 5 MB per file, 500 requirement rows, 1,000 blocks in total, 1–200 rooms per row, 0.5–10,000 m² per room; names lose control and bidirectional characters and are shortened. Unreadable rows are skipped and the panel lists which rows and why.
- Blocks: each requirement makes "count" blocks whose area equals the area each exactly; they are grouped by level preference (a level name, 1F, 2, B1…), and items with no matching level go on the current level. Each level is laid out from the lower-left corner of the site or floor outline, with adjacent spaces next to each other.
- Arrange: drag to move (0.1 m grid, snaps to other blocks within 30 cm); select a block and drag its top-right corner to resize with "Keep area" or "Keep proportions"; Shift+click selects several, which can be moved to another level or deleted. Green lines = adjacency met, red dashes = not touching yet.
- Live totals: required vs block totals, area and footprint per level, footprint and FAR floor area (counted by room use) against the coverage and floor-area limits of the regulation report. Blocks only; an estimate, not a code decision.
- Convert to rooms and walls: select blocks (none = the whole level) and press "Convert to rooms and walls". Edges within 12 cm are aligned first; touching edges get one shared wall (interior type), the outside gets exterior walls; each block gets a room (name, use); blocks with an adjacency requirement and a shared edge of at least 1 m get a door. Overlapping blocks are refused. The whole conversion is one step: Ctrl+Z undoes it.
- Back to blocks: blocks keep their link to the rooms they made. Move blocks later and press "Convert again": the old walls, doors and rooms of that batch are replaced, never duplicated. Walls are centred on block edges, so net room areas are about half a wall thickness smaller than the blocks.
- Comparison: "Required vs actual" lists each item's required area, actual area (room area once converted) and percentage; "Export comparison CSV" (text cells protected against formula injection); tick "Use this comparison as the board area table" to put it on the one-click presentation board.
Mesh to BIM: reverse-engineer elements
A SketchUp, OBJ, glTF or 3DM model from someone else is just triangles: no schedules, no BIM drawings. Mesh to BIM recognises real levels, walls, floors, columns and doors/windows from the geometry (the same elements you draw yourself), so you do not have to rebuild the model. It runs on this computer only: nothing is uploaded and no AI is used.
- Open: import with File ▸ Import 3D model, select the objects to convert (none selected = all visible imported meshes) and run
meshbim. - Rules: upward horizontal faces of at least 2 m² are floors (a downward face 3–80 cm below gives the thickness) and their heights are grouped into levels; pairs of vertical faces that face away from each other 4 cm–1 m apart are walls (centre line, thickness, height; corners join at the centre-line intersection); rectangular holes enclosed by a wall face are windows, holes open at the wall base and at least 1.5 m high are doors; slender prisms with paired faces on all four sides and a section of up to 1 m are structural columns. Sloped roofs, stairs, railings, rooms and curved walls are covered in the next item; inclined columns, spiral stairs and free-form surfaces are not recognised.
- Preview and check: detection runs in the background (cancellable, 60 s timeout). The dialog lists every candidate (length, thickness, height, size); check items one by one or by group. The small plan shows checked walls in cyan.
- Create: levels merge into the level table (shared within ±5 cm, otherwise added); walls and floors use an existing type of the same thickness or a new "Mesh wall / Mesh floor" type; doors/windows use the type with the closest width and get instance width/height when the size differs. The whole creation is one step: Ctrl+Z undoes it.
- Unrecognised parts: with "Hide the source objects and keep the unrecognised part as a reference mesh" checked, the source objects are hidden and the unused triangles (furniture, railings, sloped roofs…) are kept as an "Unrecognized" imported mesh (reference, not counted).
- Limits: 400,000 triangles, 2,000 walls, 500 floors, 2,000 columns, 2,000 doors/windows, 100 levels; anything beyond is skipped with a note.
- 3D Object Sampler node: breaks any solid into points, feature edges, face loops, face centroids/normals/areas, bounding box, surface area and volume for reuse in parametric flows (for example, placing components on every face centroid of an imported facade). Up to 200,000 triangles.
- Replace with: select doors/windows (or family instances) and run
replacetype <type id or name>. The defaultfitresizes the opening to the target type (centre kept, pulled in if it would pass the wall end); addkeepto keep the original opening size (the new type is stretched). - Array refill: select evenly spaced doors/windows of one type on one wall (or evenly spaced collinear family instances), lengthen or shorten the wall, then run
arrayfit.extend(default) keeps the spacing and fills the length;redivideestimates the count from the old spacing and divides evenly to fill exactly; you can give a length after it (required for family instances). - Snap to wall: select furniture or equipment and run
snapwall: each item moves to the nearest wall face (within 1 m by default), back against the wall and facing the side it was on (into the room); inside a floor outline its height follows the floor top. After copy and paste (Ctrl+C, Ctrl+V) and moving to a new spot, run it to align. - PDF floor plans: sketch/photo to CAD (AI canvas) already accepts PDF (choose the page; it is rasterised and goes through the same flow), so nothing extra is needed.
- Roofs, stairs, railings, rooms: groups of upward sloped faces become footprint roofs (eave edges get a slope, gable edges do not; the base is the eave height); sequences of treads with equal rise and spacing (at least 3) become straight stairs (risers, tread depth, width); paired faces up to 15 cm thick and 0.6–1.3 m high become solid railings; areas enclosed by walls become rooms (created with the room tool; long narrow ones are marked as corridors). Doors open toward the larger room on either side (a corridor counts half, outside counts nothing). Curved walls are approximated by straight segments and marked "Curved wall approximated by straight segments" in their properties.
- 3D overlay and paste-and-snap: while the dialog is open, candidates are drawn translucent in the 3D view (checked = category colour, unchecked = light grey) and the list row under the pointer is highlighted; the colours come from the CSS variables
--mb-*. Afterpastesnap on, Ctrl+V snaps pasted furniture to the nearest wall facing the room and slides pasted doors/windows to the nearest free spot on the host wall; it is off by default, so Ctrl+V pastes in place. Pinned elements and elements borrowed by a collaborator are never changed by replace, array refill or snap to wall.
Saving
- Designs save to the browser automatically. There is no Ctrl+S.
- When browser storage is full, the File menu shows a warning. Download the graph JSON as a backup first, then delete designs you no longer need.
- After signing in and enabling cloud storage, designs upload in the background. See Cloud sync.
- You can also save to your own Google Drive, OneDrive or Dropbox (when this site has configured them; not yet available on the live site); see Import and export.