Skip to content

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
W

See Building Templates for the full definition of each template.


Token 2 — Floors ​

Basic: floor count only ​

5F

Generates 5 identical stories using the template's default story height.

Custom: specify story heights (mm) ​

5F:4000

All 5 floors at 4000 mm.

5F:5000:4000:4000:4000:3000

Per-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 ​

4x3

4 bays in X, 3 bays in Y. Uses template default spans.

Uniform span: all bays the same size ​

4@8000 x 3@6000

4 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=S

Example: An office building with SRC structural sections:

Office, 5F, 4x3, Structure=SRC

TopOfBeam ​

Override the beam top elevation offset from floor datum (mm).

TopOfBeam=-200

SlabOffset ​

Override the slab top elevation offset from floor datum (mm).

SlabOffset=50

Unit ​

Override the unit system.

Unit=metric
Unit=imperial

cut: — 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+]
ElementMeaning
<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>FVoid 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 1x1 works).
  • 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 or H > Y-bays) or a floor outside 1..<floor count> is skipped, reported as a Grasshopper Remark bubble.
  • A malformed clause (wrong grammar) is skipped with a Warning.
  • The Info output reports a Cuts line: number of clauses and number of records set to Is_Void=true.

Complete Examples ​

PromptDescription
Office, 5F, 4x35-floor S-frame office, 4×3 grid, all defaults
Mansion, 10F:3000, 3@6000 x 2@800010-floor RC mansion, 3000 mm stories, custom spans
Factory, 2F:8000:6000, 5@10000 x 3@120002-floor factory with large bays
Hospital, 8F, 6@8000 x 4@80008-floor RC hospital
Office, 5F, 4x3, Structure=SRCSteel office geometry + SRC catalog
W, 3F:3000, 5@3640 x 3@36403-floor timber building, 910mm modular grid
Office, 5F, 4x3, cut:NE 1x1L-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=50Full 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 Info output of the component.
  • As Grasshopper runtime warning bubbles on the component.
ConditionFallback
Template not recognizedOffice
Floor count missing3F
Span token missing3x3
Invalid story height valueTemplate default height
Invalid span valueTemplate default span
Unknown Structure= valueDefault catalog from template
Malformed cut: clauseWarning; that clause is ignored
cut: clause larger than the grid, or floor out of rangeRemark; that clause is ignored (generation continues)

更新履歴 ​

バージョン変更内容
v5.9.0構文の変更なし(Grid_Nodes(交点移動)の生成は Grids Editor (D06) / AI Building Generator (I06) 側で対応)
v5.7.0cut: 節(欠き取り指定)を追加

※ 2026-07-14: 実装と照合し、現行パーサでは機能しない記載(ベイごとの混在スパン 3@7200,8000,6000 / Origin=x,y — いずれもカンマがトークン区切りと衝突)を削除しました。