Skip to main content

create_spatial_element

Function create_spatial_element 

Source
pub fn create_spatial_element(
    tx: &mut Transaction,
    kind: SpatialKind,
    global_id: &str,
    draft: SpatialDraft<'_>,
) -> SpatialAuthoringResult<EntityId>
Expand description

Stage a spatial container.

IfcSite, IfcBuilding, IfcBuildingStorey and IfcSpace share the IfcSpatialStructureElement prefix, so one staging path serves all four and cannot drift between them.

IFC4 and IFC4X3 only: it writes their layout and leaves OwnerHistory $, which IFC2X3 requires. In IFC2X3 use create_spatial_element_with_owner_history, which binds the model’s declared release.

§Errors

Refuses a malformed GlobalId. IfcRoot.GlobalId is required and is how every relationship names this container. Refuses interior_or_exterior with AuthoringNotInSchema: only IFC2X3 declares it, and this writer cannot write IFC2X3.