Expand description
Transactional authoring of the spatial structure.
§Owner history and the declared release (#202)
IfcRoot.OwnerHistory is required in IFC2X3 and optional from IFC4 on.
The writers that take no model cannot see the release: they write the
IFC4/IFC4X3 layout with OwnerHistory $ and are IFC4/IFC4X3 only.
Every one has a *_with_owner_history variant that binds the model’s
declared release, lays the record out by attribute name from its table,
and takes a caller-supplied IfcOwnerHistory; none is ever invented.
create_space_boundary, which takes the model, binds the release too
and refuses IFC2X3 without an owner history.
§Slot layouts are not repeated here
IfcRelAggregates and IfcRelContainedInSpatialStructure disagree about which slot holds the parent. The reader already encodes that in relation::slots; authoring resolves the same constants so a correction cannot update one side and leave the other.
Structs§
- Boundary
Draft - Authored fields for a space boundary.
- External
Spatial Draft - Attributes of an
IfcExternalSpatialElement. - Project
Library Draft - Attributes of an
IfcProjectLibrary. - Spatial
Draft - Authored fields shared by the spatial containers.
Enums§
- Boundary
Level - Which space-boundary level to stage.
- Spatial
Authoring Error - Why a spatial record was refused.
Functions§
- adhere_
to_ element - Stage an
IfcRelAdheresToElement: surface features bound to an element. - adhere_
to_ element_ with_ owner_ history adhere_to_elementin the model’s declared release, with a caller-suppliedIfcOwnerHistory. Only IFC4X3 declaresIfcRelAdheresToElement(EntityNotInSchemaelsewhere).- aggregate
- Stage an
IfcRelAggregates: a container decomposed into parts. - aggregate_
with_ owner_ history aggregatein the model’s declared release, with a caller-suppliedIfcOwnerHistory, which IFC2X3 requires.- assign_
to_ actor - Stage an
IfcRelAssignsToActor: objects assigned to an actor. - assign_
to_ actor_ with_ owner_ history assign_to_actorin the model’s declared release, with a caller-suppliedIfcOwnerHistory, which IFC2X3 requires. The record has the release’s eight attributes,ActingRoleunset; the plain writer stops at seven.- assign_
to_ group_ by_ factor - Stage an
IfcRelAssignsToGroupByFactor. - assign_
to_ group_ by_ factor_ with_ owner_ history assign_to_group_by_factorin the model’s declared release, with a caller-suppliedIfcOwnerHistory. IFC2X3 declares noIfcRelAssignsToGroupByFactor(EntityNotInSchema).- assign_
to_ process - Stage an
IfcRelAssignsToProcess: objects assigned to a process. - assign_
to_ process_ with_ owner_ history assign_to_processin the model’s declared release, with a caller-suppliedIfcOwnerHistory, which IFC2X3 requires. The record has the release’s eight attributes,QuantityInProcessunset; the plain writer stops at seven.- assign_
to_ product - Stage an
IfcRelAssignsToProduct: objects assigned to a product. - assign_
to_ product_ with_ owner_ history assign_to_productin the model’s declared release, with a caller-suppliedIfcOwnerHistory, which IFC2X3 requires.- assign_
to_ resource - Stage an
IfcRelAssignsToResource: objects assigned to a resource. - assign_
to_ resource_ with_ owner_ history assign_to_resourcein the model’s declared release, with a caller-suppliedIfcOwnerHistory, which IFC2X3 requires.- associate_
profile_ def - Stage an
IfcRelAssociatesProfileDef: a profile associated with objects. - associate_
profile_ def_ with_ owner_ history associate_profile_defin the model’s declared release, with a caller-suppliedIfcOwnerHistory. Only IFC4X3 declaresIfcRelAssociatesProfileDef(EntityNotInSchemaelsewhere).- connect_
elements - Stage an
IfcRelConnectsElements: two elements physically joined. - connect_
elements_ with_ owner_ history connect_elementsin the model’s declared release, with a caller-suppliedIfcOwnerHistory, which IFC2X3 requires.- connect_
path_ elements - Stage an
IfcRelConnectsPathElements. - connect_
path_ elements_ with_ owner_ history connect_path_elementsin the model’s declared release, with a caller-suppliedIfcOwnerHistory, which IFC2X3 requires.- connect_
with_ realizing_ elements - Stage an
IfcRelConnectsWithRealizingElements. - connect_
with_ realizing_ elements_ with_ owner_ history connect_with_realizing_elementsin the model’s declared release, with a caller-suppliedIfcOwnerHistory, which IFC2X3 requires. The record has the release’s nine attributes,ConnectionTypeunset; the plain writer stops at eight.- contain
- Stage an
IfcRelContainedInSpatialStructure. - contain_
with_ owner_ history containin the model’s declared release, with a caller-suppliedIfcOwnerHistory, which IFC2X3 requires.- control_
flow_ element - Stage an
IfcRelFlowControlElements: controls bound to a flow element. - control_
flow_ element_ with_ owner_ history control_flow_elementin the model’s declared release, with a caller-suppliedIfcOwnerHistory, which IFC2X3 requires.- cover_
elements - Stage an
IfcRelCoversBldgElements: finishes applied to an element. - cover_
elements_ with_ owner_ history cover_elementsin the model’s declared release, with a caller-suppliedIfcOwnerHistory, which IFC2X3 requires.- cover_
spaces - Stage an
IfcRelCoversSpaces: finishes bounding a space. - cover_
spaces_ with_ owner_ history cover_spacesin the model’s declared release, with a caller-suppliedIfcOwnerHistory, which IFC2X3 requires. In IFC2X3 the space is written asRelatedSpace, IFC4’sRelatingSpaceunder its IFC2X3 name.- create_
external_ spatial_ element - Stage an
IfcExternalSpatialElement. - create_
external_ spatial_ element_ with_ owner_ history create_external_spatial_elementin the model’s declared release, with a caller-suppliedIfcOwnerHistory. IFC2X3 declares noIfcExternalSpatialElement(EntityNotInSchema).- create_
project - Stage an
IfcProject. - create_
project_ library - Stage an
IfcProjectLibrary. - create_
project_ library_ with_ owner_ history create_project_libraryin the model’s declared release, with a caller-suppliedIfcOwnerHistory. IFC2X3 declares noIfcProjectLibrary(EntityNotInSchema).- create_
project_ with_ owner_ history create_projectin the model’s declared release, with a caller-suppliedIfcOwnerHistory, which IFC2X3 requires.- create_
space_ boundary - Stage an
IfcRelSpaceBoundaryat the requested level, in the model’s declared release, withOwnerHistoryunset. - create_
space_ boundary_ with_ owner_ history create_space_boundarywith a caller-suppliedIfcOwnerHistory, which IFC2X3 requires.- create_
spatial_ element - Stage a spatial container.
- create_
spatial_ element_ with_ owner_ history create_spatial_elementin the model’s declared release, with a caller-suppliedIfcOwnerHistory, which IFC2X3 requires.- declare
- Stage an
IfcRelDeclares: definitions declared in a context. - declare_
with_ owner_ history declarein the model’s declared release, with a caller-suppliedIfcOwnerHistory. IFC2X3 declares noIfcRelDeclares(EntityNotInSchema).- define_
by_ object - Stage an
IfcRelDefinesByObject: occurrences defined by another object. - define_
by_ object_ with_ owner_ history define_by_objectin the model’s declared release, with a caller-suppliedIfcOwnerHistory. IFC2X3 declares noIfcRelDefinesByObject(EntityNotInSchema).- fill_
element - Stage an
IfcRelFillsElement: an element filling an opening. - fill_
element_ with_ owner_ history fill_elementin the model’s declared release, with a caller-suppliedIfcOwnerHistory, which IFC2X3 requires.- interfere_
elements - Stage an
IfcRelInterferesElements: a detected clash. - interfere_
elements_ with_ owner_ history interfere_elementsin the model’s declared release, with a caller-suppliedIfcOwnerHistory. IFC2X3 declares noIfcRelInterferesElements(EntityNotInSchema).- position_
products - Stage an
IfcRelPositions: products placed by a positioning element. - position_
products_ with_ owner_ history position_productsin the model’s declared release, with a caller-suppliedIfcOwnerHistory. Only IFC4X3 declaresIfcRelPositions(EntityNotInSchemaelsewhere).- project_
element - Stage an
IfcRelProjectsElement: a feature added to an element. - project_
element_ with_ owner_ history project_elementin the model’s declared release, with a caller-suppliedIfcOwnerHistory, which IFC2X3 requires.- serve_
buildings - Stage an
IfcRelServicesBuildings: which spatial elements a system serves. - serve_
buildings_ with_ owner_ history serve_buildingsin the model’s declared release, with a caller-suppliedIfcOwnerHistory, which IFC2X3 requires.- void_
element - Stage an
IfcRelVoidsElement: an opening cut into an element. - void_
element_ with_ owner_ history void_elementin the model’s declared release, with a caller-suppliedIfcOwnerHistory, which IFC2X3 requires.
Type Aliases§
- Spatial
Authoring Result - Result of staging a spatial record.