BuildingDefinition Syntax
The Generate Building Information component (GenBuilding) accepts a single text string and generates a complete BuildingData object.
Full Syntax
<Template>, <Floors>, <Spans> [, Key=Value ...] [, cut:<anchor> <W>x<H>[@<N>F|@<N>F+] ...]All three primary tokens are comma-separated. Additional Key=Value options and cut: clauses (v5.7.0) can follow, in any order.
The comma is the token separator
The whole definition string is split at commas first. No token — including option values — may contain a comma.
Token 1 — Template
The building use type. Determines default story height, span, structural system, sections, and load conditions.
Office
Mansion
Factory
Hospital
School
SRC
WSee Building Templates for the full definition of each template.
Token 2 — Floors
Basic: floor count only
5FGenerates 5 identical stories using the template's default story height.
Custom: specify story heights (mm)
5F:4000All 5 floors at 4000 mm.
5F:5000:4000:4000:4000:3000Per-floor heights: 1F→2F = 5000, 2F→3F = 4000, 3F→4F = 4000, 4F→5F = 4000, 5F→RF = 3000.
Height count rules
- If fewer heights than floors are provided, the last specified value repeats for remaining floors.
- If more heights than floors are provided, excess values are ignored.
Token 3 — Spans
Basic: bay count only
4x34 bays in X, 3 bays in Y. Uses template default spans.
Uniform span: all bays the same size
4@8000 x 3@60004 X-bays each 8000 mm, 3 Y-bays each 6000 mm.
Different span sizes per bay
Per-bay span lists (e.g. 3@7200,8000,6000) cannot be written here, because the comma is the top-level token separator. Generate with a uniform span, then adjust individual spans in the Grids Editor (D06).
Separators
X and Y are separated by any of: x · X · ×
Options (Token 4+)
Additional comma-separated Key=Value pairs. Order is not significant.
Structure
Override the structural catalog while keeping the base template's geometry (story height, spans, offsets).
Structure=SRC
Structure=RC
Structure=W
Structure=SExample: An office building with SRC structural sections:
Office, 5F, 4x3, Structure=SRCTopOfBeam
Override the beam top elevation offset from floor datum (mm).
TopOfBeam=-200SlabOffset
Override the slab top elevation offset from floor datum (mm).
SlabOffset=50Unit
Override the unit system.
Unit=metric
Unit=imperialcut: — Void Cut-outs (v5.7.0)
Append any number of cut: clauses to void bays at generation time (L-shapes, setbacks, notched plans). The generator always builds the full rectangle first; a post-process then sets Is_Void=true on the affected records. Nothing is deleted, so voided bays can be restored later (e.g. in the Layout Editor).
cut:<anchor> <W>x<H>[@<N>F | @<N>F+]| Element | Meaning |
|---|---|
<anchor> | N / S / E / W / NE / NW / SE / SW. N = +Y side, E = +X side. A corner anchor (NE etc.) voids the W×H bays starting from that corner. An edge anchor (N etc.) attaches to that edge and centers the block along it (an odd remainder is biased toward the W / S side) |
<W>x<H> | Bays in X × bays in Y (separators x · X · ×) |
@<N>F | Void on floor N only |
@<N>F+ | Void on floor N and all floors above |
| (omitted) | Void on all floors |
Office, 5F, 4x3, cut:NE 1x1 → L-shape (NE corner bay voided on all floors)
Office, 5F, 4x3, cut:N 4x1@3F+ → Setback (entire north row voided from 3F up)
Office, 5F, 4x3, cut:NE 1x1, cut:SW 1x1 → Multiple clauses allowed (applied independently)Rules
- Case-insensitive (
cut:ne 1x1works). - Multiple
cut:clauses are applied independently; the voided cells are their union. - What gets voided (consistency set, per floor): floor areas (slabs / secondary beams, with tertiary beams following their parent) covering the target bays → girders whose flanking in-grid bays are all voided (a girder with at least one live bay is kept — the edge of the cut) → columns whose touching in-grid bays are all voided.
- Out-of-range clauses never abort generation. A clause larger than the grid (
W> X-bays orH> Y-bays) or a floor outside1..<floor count>is skipped, reported as a Grasshopper Remark bubble. - A malformed clause (wrong grammar) is skipped with a Warning.
- The
Infooutput reports aCutsline: number of clauses and number of records set toIs_Void=true.
Complete Examples
| Prompt | Description |
|---|---|
Office, 5F, 4x3 | 5-floor S-frame office, 4×3 grid, all defaults |
Mansion, 10F:3000, 3@6000 x 2@8000 | 10-floor RC mansion, 3000 mm stories, custom spans |
Factory, 2F:8000:6000, 5@10000 x 3@12000 | 2-floor factory with large bays |
Hospital, 8F, 6@8000 x 4@8000 | 8-floor RC hospital |
Office, 5F, 4x3, Structure=SRC | Steel office geometry + SRC catalog |
W, 3F:3000, 5@3640 x 3@3640 | 3-floor timber building, 910mm modular grid |
Office, 5F, 4x3, cut:NE 1x1 | L-shaped plan (NE corner bay voided, v5.7.0) |
Office, 5F, 4x3, cut:N 4x1@3F+ | Setback from 3F up (v5.7.0) |
Office, 5F, 4@8000 x 3@7200, TopOfBeam=-200, SlabOffset=50 | Full options |
Warning Handling
The parser is fault-tolerant. If a token cannot be parsed, a warning is issued and a default value is used. Warnings appear:
- In the
Infooutput of the component. - As Grasshopper runtime warning bubbles on the component.
| Condition | Fallback |
|---|---|
| Template not recognized | Office |
| Floor count missing | 3F |
| Span token missing | 3x3 |
| Invalid story height value | Template default height |
| Invalid span value | Template default span |
| Unknown Structure= value | Default catalog from template |
Malformed cut: clause | Warning; that clause is ignored |
cut: clause larger than the grid, or floor out of range | Remark; that clause is ignored (generation continues) |
更新履歴
| バージョン | 変更内容 |
|---|---|
| v5.9.0 | 構文の変更なし(Grid_Nodes(交点移動)の生成は Grids Editor (D06) / AI Building Generator (I06) 側で対応) |
| v5.7.0 | cut: 節(欠き取り指定)を追加 |
※ 2026-07-14: 実装と照合し、現行パーサでは機能しない記載(ベイごとの混在スパン 3@7200,8000,6000 / Origin=x,y — いずれもカンマがトークン区切りと衝突)を削除しました。