BuildingSpatial Schema

Alias: spatial

Version: 1.0.1

The Spatial representation of building composition elements

This schema contains the concrete classes that are used to model the spatial structure of a building.That spatial structure is often used to provide a project structure to organize a building project.

Due to the importance of IFC in coordinating spatial structure, the classes in the schema are intended to have a 1:1 instance mapping (not class mapping!) with IFC that will work for transformations in either direction. It is expected that round-trip transformations may result in changes that provide an equivalent, but not identical model.

Table of contents

Entity Classes

Building EntityClass

An element modeling the spatial perspective of a building

Base Class: SpatialComposition:Facility

Inherited properties
Name Description Type Extended Type
Model The bis:Model that contains this bis:Element. navigation
LastMod The last modified time of the bis:Element. This is maintained by the core framework and should not be set directly by applications. dateTime
CodeSpec The CodeSpec property identifies the bis:CodeSpec used to generate and validate the code value for this bis:Element. The combination of CodeSpec, CodeScope, and CodeValue properties must be unique for each bis:Element instance. navigation
CodeScope The CodeScope property identifies the bis:Element that provides the uniqueness scope for the code value. The combination of CodeSpec, CodeScope, and CodeValue properties must be unique for each bis:Element instance. navigation
CodeValue The CodeValue property stores a human-readable real-world identifier of the Entity represented by the bis:Element. The combination of CodeSpec, CodeScope, and CodeValue properties must be unique for each bis:Element instance. string
UserLabel An optional friendly name given by the user (as opposed to the formal name stored in the CodeValue property). string
Parent The parent bis:Element that owns this bis:Element. navigation
FederationGuid The GUID used to federate this bis:Element across repositories. binary BeGuid
JsonProperties A string property that users and/or applications can use to persist ad hoc JSON values. string Json
Category The bis:SpatialCategory used to categorize this bis:GeometricElement3d navigation
InSpatialIndex If true, this element will have an entry in the Spatial Index. boolean
Origin The placement origin of this bis:Element. point3d
Yaw The Yaw angle (in degrees) of the orientation of this bis:Element. double
Pitch The Pitch angle (in degrees) of the orientation of this bis:Element. double
Roll The Roll angle (in degrees) of the orientation of this bis:Element. double
BBoxLow The 'low' point of the element-aligned bounding box of this bis:Element. point3d
BBoxHigh The 'high' point of the element-aligned bounding box of this bis:Element. point3d
GeometryStream Binary stream used to persist the geometry of this bis:Element. binary GeometryStream
TypeDefinition Points to an instance of some specialization of TypeDefinition, which holds property values that vary per-type rather than per-instance of this Element. navigation
ComposingElement The aggregator of this element within the Spatial Structure navigation
FootprintArea The area that this Element projects onto its base plane. double
Description A human-readable description of this Spatial Structure Element string

A Building represents a structure that provides shelter for its occupants or contents and stands in one place. The building is also used to provide a basic element within the spatial structure hierarchy for the components of a building project (together with site, story, and space).

A Building is typically aggregated by a Site. A Building may also compose a Site. Decomposes into Story or Space elements.

Equivalent to IfcBuilding with CompositionType == ELEMENT.

BuildingType (Building Type) EntityClass

Further specializes a particular subclass of a Building by associating a custom Type that can be defined by users.

Base Class: SpatialComposition:FacilityType

Inherited properties
Name Description Type Extended Type
Model The bis:Model that contains this bis:Element. navigation
LastMod The last modified time of the bis:Element. This is maintained by the core framework and should not be set directly by applications. dateTime
CodeSpec The CodeSpec property identifies the bis:CodeSpec used to generate and validate the code value for this bis:Element. The combination of CodeSpec, CodeScope, and CodeValue properties must be unique for each bis:Element instance. navigation
CodeScope The CodeScope property identifies the bis:Element that provides the uniqueness scope for the code value. The combination of CodeSpec, CodeScope, and CodeValue properties must be unique for each bis:Element instance. navigation
CodeValue The CodeValue property stores a human-readable real-world identifier of the Entity represented by the bis:Element. The combination of CodeSpec, CodeScope, and CodeValue properties must be unique for each bis:Element instance. string
UserLabel An optional friendly name given by the user (as opposed to the formal name stored in the CodeValue property). string
Parent The parent bis:Element that owns this bis:Element. navigation
FederationGuid The GUID used to federate this bis:Element across repositories. binary BeGuid
JsonProperties A string property that users and/or applications can use to persist ad hoc JSON values. string Json
IsPrivate If true, this bis:DefinitionElement should not be displayed in the GUI. boolean
Recipe navigation
Description A human-readable description of this type. string

ElevationStory Abstract EntityClass

A building story that is a (nearly) horizontal aggregation of spaces that are vertically bound

Base Class: BuildingSpatial:Story

Inherited properties
Name Description Type Extended Type
Model The bis:Model that contains this bis:Element. navigation
LastMod The last modified time of the bis:Element. This is maintained by the core framework and should not be set directly by applications. dateTime
CodeSpec The CodeSpec property identifies the bis:CodeSpec used to generate and validate the code value for this bis:Element. The combination of CodeSpec, CodeScope, and CodeValue properties must be unique for each bis:Element instance. navigation
CodeScope The CodeScope property identifies the bis:Element that provides the uniqueness scope for the code value. The combination of CodeSpec, CodeScope, and CodeValue properties must be unique for each bis:Element instance. navigation
CodeValue The CodeValue property stores a human-readable real-world identifier of the Entity represented by the bis:Element. The combination of CodeSpec, CodeScope, and CodeValue properties must be unique for each bis:Element instance. string
UserLabel An optional friendly name given by the user (as opposed to the formal name stored in the CodeValue property). string
Parent The parent bis:Element that owns this bis:Element. navigation
FederationGuid The GUID used to federate this bis:Element across repositories. binary BeGuid
JsonProperties A string property that users and/or applications can use to persist ad hoc JSON values. string Json
Category The bis:SpatialCategory used to categorize this bis:GeometricElement3d navigation
InSpatialIndex If true, this element will have an entry in the Spatial Index. boolean
Origin The placement origin of this bis:Element. point3d
Yaw The Yaw angle (in degrees) of the orientation of this bis:Element. double
Pitch The Pitch angle (in degrees) of the orientation of this bis:Element. double
Roll The Roll angle (in degrees) of the orientation of this bis:Element. double
BBoxLow The 'low' point of the element-aligned bounding box of this bis:Element. point3d
BBoxHigh The 'high' point of the element-aligned bounding box of this bis:Element. point3d
GeometryStream Binary stream used to persist the geometry of this bis:Element. binary GeometryStream
TypeDefinition Points to an instance of some specialization of TypeDefinition, which holds property values that vary per-type rather than per-instance of this Element. navigation
ComposingElement The aggregator of this element within the Spatial Structure navigation
FootprintArea The area that this Element projects onto its base plane. double
Description A human-readable description of this Spatial Structure Element string

ElevationStory is bounded by elevations and sometimes other boundary properties. Typically represents a (nearly) horizontal aggregation of spaces that are vertically bound.

An ElevationStory is typically aggregated by a Building. ElevationStory elements compose a Building, they also decompose into spaces.

ElevationStory is abstract, and hence there is never a need to map to or from IfcBuildingStorey instances.

RegularStory (Regular Story) EntityClass

A building story that is delimited by 2 elevations from top and bottom and represents a horizontal aggregation of spaces that are vertically bound

Base Class: BuildingSpatial:ElevationStory

Inherited properties
Name Description Type Extended Type
Model The bis:Model that contains this bis:Element. navigation
LastMod The last modified time of the bis:Element. This is maintained by the core framework and should not be set directly by applications. dateTime
CodeSpec The CodeSpec property identifies the bis:CodeSpec used to generate and validate the code value for this bis:Element. The combination of CodeSpec, CodeScope, and CodeValue properties must be unique for each bis:Element instance. navigation
CodeScope The CodeScope property identifies the bis:Element that provides the uniqueness scope for the code value. The combination of CodeSpec, CodeScope, and CodeValue properties must be unique for each bis:Element instance. navigation
CodeValue The CodeValue property stores a human-readable real-world identifier of the Entity represented by the bis:Element. The combination of CodeSpec, CodeScope, and CodeValue properties must be unique for each bis:Element instance. string
UserLabel An optional friendly name given by the user (as opposed to the formal name stored in the CodeValue property). string
Parent The parent bis:Element that owns this bis:Element. navigation
FederationGuid The GUID used to federate this bis:Element across repositories. binary BeGuid
JsonProperties A string property that users and/or applications can use to persist ad hoc JSON values. string Json
Category The bis:SpatialCategory used to categorize this bis:GeometricElement3d navigation
InSpatialIndex If true, this element will have an entry in the Spatial Index. boolean
Origin The placement origin of this bis:Element. point3d
Yaw The Yaw angle (in degrees) of the orientation of this bis:Element. double
Pitch The Pitch angle (in degrees) of the orientation of this bis:Element. double
Roll The Roll angle (in degrees) of the orientation of this bis:Element. double
BBoxLow The 'low' point of the element-aligned bounding box of this bis:Element. point3d
BBoxHigh The 'high' point of the element-aligned bounding box of this bis:Element. point3d
GeometryStream Binary stream used to persist the geometry of this bis:Element. binary GeometryStream
TypeDefinition Points to an instance of some specialization of TypeDefinition, which holds property values that vary per-type rather than per-instance of this Element. navigation
ComposingElement The aggregator of this element within the Spatial Structure navigation
FootprintArea The area that this Element projects onto its base plane. double
Description A human-readable description of this Spatial Structure Element string

RegularStoryType (Regular Story Type) EntityClass

Further specializes a particular subclass of a RegularStory by associating a custom Type that can be defined by users.

Base Class: SpatialComposition:FacilityPartType

Inherited properties
Name Description Type Extended Type
Model The bis:Model that contains this bis:Element. navigation
LastMod The last modified time of the bis:Element. This is maintained by the core framework and should not be set directly by applications. dateTime
CodeSpec The CodeSpec property identifies the bis:CodeSpec used to generate and validate the code value for this bis:Element. The combination of CodeSpec, CodeScope, and CodeValue properties must be unique for each bis:Element instance. navigation
CodeScope The CodeScope property identifies the bis:Element that provides the uniqueness scope for the code value. The combination of CodeSpec, CodeScope, and CodeValue properties must be unique for each bis:Element instance. navigation
CodeValue The CodeValue property stores a human-readable real-world identifier of the Entity represented by the bis:Element. The combination of CodeSpec, CodeScope, and CodeValue properties must be unique for each bis:Element instance. string
UserLabel An optional friendly name given by the user (as opposed to the formal name stored in the CodeValue property). string
Parent The parent bis:Element that owns this bis:Element. navigation
FederationGuid The GUID used to federate this bis:Element across repositories. binary BeGuid
JsonProperties A string property that users and/or applications can use to persist ad hoc JSON values. string Json
IsPrivate If true, this bis:DefinitionElement should not be displayed in the GUI. boolean
Recipe navigation
Description A human-readable description of this type. string

Space EntityClass

An element modeling a building space

Base Class: SpatialComposition:Space

Inherited properties
Name Description Type Extended Type
Model The bis:Model that contains this bis:Element. navigation
LastMod The last modified time of the bis:Element. This is maintained by the core framework and should not be set directly by applications. dateTime
CodeSpec The CodeSpec property identifies the bis:CodeSpec used to generate and validate the code value for this bis:Element. The combination of CodeSpec, CodeScope, and CodeValue properties must be unique for each bis:Element instance. navigation
CodeScope The CodeScope property identifies the bis:Element that provides the uniqueness scope for the code value. The combination of CodeSpec, CodeScope, and CodeValue properties must be unique for each bis:Element instance. navigation
CodeValue The CodeValue property stores a human-readable real-world identifier of the Entity represented by the bis:Element. The combination of CodeSpec, CodeScope, and CodeValue properties must be unique for each bis:Element instance. string
UserLabel An optional friendly name given by the user (as opposed to the formal name stored in the CodeValue property). string
Parent The parent bis:Element that owns this bis:Element. navigation
FederationGuid The GUID used to federate this bis:Element across repositories. binary BeGuid
JsonProperties A string property that users and/or applications can use to persist ad hoc JSON values. string Json
Category The bis:SpatialCategory used to categorize this bis:GeometricElement3d navigation
InSpatialIndex If true, this element will have an entry in the Spatial Index. boolean
Origin The placement origin of this bis:Element. point3d
Yaw The Yaw angle (in degrees) of the orientation of this bis:Element. double
Pitch The Pitch angle (in degrees) of the orientation of this bis:Element. double
Roll The Roll angle (in degrees) of the orientation of this bis:Element. double
BBoxLow The 'low' point of the element-aligned bounding box of this bis:Element. point3d
BBoxHigh The 'high' point of the element-aligned bounding box of this bis:Element. point3d
GeometryStream Binary stream used to persist the geometry of this bis:Element. binary GeometryStream
TypeDefinition Points to an instance of some specialization of TypeDefinition, which holds property values that vary per-type rather than per-instance of this Element. navigation
ComposingElement The aggregator of this element within the Spatial Structure navigation
FootprintArea The area that this Element projects onto its base plane. double
Description A human-readable description of this Spatial Structure Element string

A Space represents a volume bounded actually or theoretically. Spaces are volumes that provide for certain functions within a CompositeElement. The Space is used to build the spatial structure of a building (that serves as the primary project breakdown and is required to be hierarchical). The composite elements are linked together by using the relationship CompositeComposesSubComposites.

A Space is typically aggregated by a Story or another Space. Space elements compose stories and other spaces, and they may also decompose into spaces.

Equivalent to IfcSpace with CompositionType != COMPLEX.

SpaceType (Space Type) EntityClass

Further specializes a particular subclass of a Space by associating a custom Type that can be defined by users.

Base Class: SpatialComposition:SpaceType

Inherited properties
Name Description Type Extended Type
Model The bis:Model that contains this bis:Element. navigation
LastMod The last modified time of the bis:Element. This is maintained by the core framework and should not be set directly by applications. dateTime
CodeSpec The CodeSpec property identifies the bis:CodeSpec used to generate and validate the code value for this bis:Element. The combination of CodeSpec, CodeScope, and CodeValue properties must be unique for each bis:Element instance. navigation
CodeScope The CodeScope property identifies the bis:Element that provides the uniqueness scope for the code value. The combination of CodeSpec, CodeScope, and CodeValue properties must be unique for each bis:Element instance. navigation
CodeValue The CodeValue property stores a human-readable real-world identifier of the Entity represented by the bis:Element. The combination of CodeSpec, CodeScope, and CodeValue properties must be unique for each bis:Element instance. string
UserLabel An optional friendly name given by the user (as opposed to the formal name stored in the CodeValue property). string
Parent The parent bis:Element that owns this bis:Element. navigation
FederationGuid The GUID used to federate this bis:Element across repositories. binary BeGuid
JsonProperties A string property that users and/or applications can use to persist ad hoc JSON values. string Json
IsPrivate If true, this bis:DefinitionElement should not be displayed in the GUI. boolean
Recipe navigation
Description A human-readable description of this type. string

Story Abstract EntityClass

A building Story that is an aggregation of spaces that are vertically bound

Base Class: SpatialComposition:FacilityPart

Inherited properties
Name Description Type Extended Type
Model The bis:Model that contains this bis:Element. navigation
LastMod The last modified time of the bis:Element. This is maintained by the core framework and should not be set directly by applications. dateTime
CodeSpec The CodeSpec property identifies the bis:CodeSpec used to generate and validate the code value for this bis:Element. The combination of CodeSpec, CodeScope, and CodeValue properties must be unique for each bis:Element instance. navigation
CodeScope The CodeScope property identifies the bis:Element that provides the uniqueness scope for the code value. The combination of CodeSpec, CodeScope, and CodeValue properties must be unique for each bis:Element instance. navigation
CodeValue The CodeValue property stores a human-readable real-world identifier of the Entity represented by the bis:Element. The combination of CodeSpec, CodeScope, and CodeValue properties must be unique for each bis:Element instance. string
UserLabel An optional friendly name given by the user (as opposed to the formal name stored in the CodeValue property). string
Parent The parent bis:Element that owns this bis:Element. navigation
FederationGuid The GUID used to federate this bis:Element across repositories. binary BeGuid
JsonProperties A string property that users and/or applications can use to persist ad hoc JSON values. string Json
Category The bis:SpatialCategory used to categorize this bis:GeometricElement3d navigation
InSpatialIndex If true, this element will have an entry in the Spatial Index. boolean
Origin The placement origin of this bis:Element. point3d
Yaw The Yaw angle (in degrees) of the orientation of this bis:Element. double
Pitch The Pitch angle (in degrees) of the orientation of this bis:Element. double
Roll The Roll angle (in degrees) of the orientation of this bis:Element. double
BBoxLow The 'low' point of the element-aligned bounding box of this bis:Element. point3d
BBoxHigh The 'high' point of the element-aligned bounding box of this bis:Element. point3d
GeometryStream Binary stream used to persist the geometry of this bis:Element. binary GeometryStream
TypeDefinition Points to an instance of some specialization of TypeDefinition, which holds property values that vary per-type rather than per-instance of this Element. navigation
ComposingElement The aggregator of this element within the Spatial Structure navigation
FootprintArea The area that this Element projects onto its base plane. double
Description A human-readable description of this Spatial Structure Element string

The building Story typically represents a (nearly) horizontal aggregation of spaces that are vertically bound.

A story is (if specified) associated to a building.

The Story is used to build the spatial structure of a building (that serves as the primary project breakdown and is required to be hierarchical). The spatial composition elements are linked together by using the objectified relationship CompositeComposesSubComposites.

A Story is typically aggregated by a Building. Story elements compose a Building, they also decompose into Space elements.

Story is abstract, and hence there is never a need to map to or from IfcBuildingStorey instances.

Zone EntityClass

Base Class: SpatialComposition:Zone

Inherited properties
Name Description Type Extended Type
Model The bis:Model that contains this bis:Element. navigation
LastMod The last modified time of the bis:Element. This is maintained by the core framework and should not be set directly by applications. dateTime
CodeSpec The CodeSpec property identifies the bis:CodeSpec used to generate and validate the code value for this bis:Element. The combination of CodeSpec, CodeScope, and CodeValue properties must be unique for each bis:Element instance. navigation
CodeScope The CodeScope property identifies the bis:Element that provides the uniqueness scope for the code value. The combination of CodeSpec, CodeScope, and CodeValue properties must be unique for each bis:Element instance. navigation
CodeValue The CodeValue property stores a human-readable real-world identifier of the Entity represented by the bis:Element. The combination of CodeSpec, CodeScope, and CodeValue properties must be unique for each bis:Element instance. string
UserLabel An optional friendly name given by the user (as opposed to the formal name stored in the CodeValue property). string
Parent The parent bis:Element that owns this bis:Element. navigation
FederationGuid The GUID used to federate this bis:Element across repositories. binary BeGuid
JsonProperties A string property that users and/or applications can use to persist ad hoc JSON values. string Json
Category The bis:SpatialCategory used to categorize this bis:GeometricElement3d navigation
InSpatialIndex If true, this element will have an entry in the Spatial Index. boolean
Origin The placement origin of this bis:Element. point3d
Yaw The Yaw angle (in degrees) of the orientation of this bis:Element. double
Pitch The Pitch angle (in degrees) of the orientation of this bis:Element. double
Roll The Roll angle (in degrees) of the orientation of this bis:Element. double
BBoxLow The 'low' point of the element-aligned bounding box of this bis:Element. point3d
BBoxHigh The 'high' point of the element-aligned bounding box of this bis:Element. point3d
GeometryStream Binary stream used to persist the geometry of this bis:Element. binary GeometryStream
TypeDefinition Points to an instance of some specialization of TypeDefinition, which holds property values that vary per-type rather than per-instance of this Element. navigation

ZoneType (Zone Type) EntityClass

Further specializes a particular subclass of a Zone by associating a custom Type that can be defined by users.

Base Class: SpatialComposition:ZoneType

Inherited properties
Name Description Type Extended Type
Model The bis:Model that contains this bis:Element. navigation
LastMod The last modified time of the bis:Element. This is maintained by the core framework and should not be set directly by applications. dateTime
CodeSpec The CodeSpec property identifies the bis:CodeSpec used to generate and validate the code value for this bis:Element. The combination of CodeSpec, CodeScope, and CodeValue properties must be unique for each bis:Element instance. navigation
CodeScope The CodeScope property identifies the bis:Element that provides the uniqueness scope for the code value. The combination of CodeSpec, CodeScope, and CodeValue properties must be unique for each bis:Element instance. navigation
CodeValue The CodeValue property stores a human-readable real-world identifier of the Entity represented by the bis:Element. The combination of CodeSpec, CodeScope, and CodeValue properties must be unique for each bis:Element instance. string
UserLabel An optional friendly name given by the user (as opposed to the formal name stored in the CodeValue property). string
Parent The parent bis:Element that owns this bis:Element. navigation
FederationGuid The GUID used to federate this bis:Element across repositories. binary BeGuid
JsonProperties A string property that users and/or applications can use to persist ad hoc JSON values. string Json
IsPrivate If true, this bis:DefinitionElement should not be displayed in the GUI. boolean
Recipe navigation
Description A human-readable description of this Zone Type. string

Relationship Classes

BuildingIsOfType (Building Is Of Building Type) RelationshipClass

Relates a Building to its Type definition

Base Class: SpatialComposition:FacilityIsOfType

Strength: Referencing

Strength Direction: Forward

Source

Is Polymorphic: true

Role Label: is of type

Multiplicity: (0..*)

Constraint Classes:

Target

Is Polymorphic: true

Role Label: is type of

Multiplicity: (0..1)

Constraint Classes:

RegularStoryIsOfType (Regular Story Is Of Regular Story Type) RelationshipClass

Relates a RegularStory to its Type definition

Base Class: SpatialComposition:FacilityPartIsOfType

Strength: Referencing

Strength Direction: Forward

Source

Is Polymorphic: true

Role Label: is of type

Multiplicity: (0..*)

Constraint Classes:

Target

Is Polymorphic: true

Role Label: is type of

Multiplicity: (0..1)

Constraint Classes:

SpaceIsOfType (Space Is Of Space Type) RelationshipClass

Relates a Space to its Type definition

Base Class: SpatialComposition:SpaceIsOfType

Strength: Referencing

Strength Direction: Forward

Source

Is Polymorphic: true

Role Label: is of type

Multiplicity: (0..*)

Constraint Classes:

Target

Is Polymorphic: true

Role Label: is type of

Multiplicity: (0..1)

Constraint Classes:

ZoneIsOfType (Zone Is Of Zone Type) RelationshipClass

Relates a Zone to its Type definition

Base Class: SpatialComposition:ZoneIsOfType

Strength: Referencing

Strength Direction: Forward

Source

Is Polymorphic: true

Role Label: is of type

Multiplicity: (0..*)

Constraint Classes:

Target

Is Polymorphic: true

Role Label: is type of

Multiplicity: (0..1)

Constraint Classes:

Last Updated: 05 October, 2023