A space in GingerBIM is a room or area defined by a 2D floor-plan boundary — a closed polygon footprint that the platform extrudes into a 3D volume. Spaces are how you describe the rooms of a building (their type, gross floor area, level) and how GingerBIM works out which elements sit inside which room, which matters for IFC-SG area and occupancy reporting.
Boundaries and spaces
- A boundary is the 2D footprint: a closed polygon on a floor, optionally with holes, sitting at a base elevation. It carries the descriptive metadata for the room — gross floor area (GFA), level, and IFC-SG space property sets.
- A space is the boundary turned into a volume: a reference to a boundary plus an extrusion height. Spaces are deliberately thin — most of the meaningful data lives on the boundary, not the space.
You create and edit spaces in the space planner, drawing or importing boundaries on each level. Boundaries record how they were made — imported from a model, drawn by you, split, or computed as a union of others — which controls whether you can delete them.
SpaceName (the type) vs. the display name
A space has two distinct labels, and it helps to keep them separate:
- SpaceName is the space’s type or category — for example
Bedroom, Kitchen, or Generic Space. It is the classification, comparable to an element’s IfcType. It lives in the space’s metadata (and is also written under the SGPset_Space property set when you edit it in the property editor).
- The display name is the space’s own label — for example
Bedroom-3 or Boundary 1. This is what you see in the space list and on plan drawings, and it’s separate from the type.
So a single room is, for instance, type Bedroom with display name Bedroom-3. When a space has no real type yet (or is a Generic Space), GingerBIM shows it as “Undefined.” Set the SpaceName to classify the room; rename the display label independently when you want a clearer identifier.
How space membership is derived
You don’t tag elements with a space by hand — GingerBIM derives it. When a version is published (and live in the viewer), the platform takes each element’s footprint and checks, level by level, whether it falls inside a space boundary using a point-in-polygon test on the element’s bounding box (its centre and corners). The result appears on the element under Location → Space as a flat list of the rooms it belongs to.
Because membership is computed from geometry against the current boundaries, you generally can’t edit an element’s space directly — instead, fix the boundary or the element’s position and republish, and the assignment updates. (Boundaries that are marked as Generic Space are skipped when assigning membership.)
Tips
SpaceName is the type; the display name is the label. If a room shows as “Undefined,” set its SpaceName.
- Spaces are organized per level — make sure each boundary is on the right level so containment and GFA roll up correctly.
- Location → Space on an element is derived from the live boundaries, so update the boundaries (not the element) to change which room an element reports.