SpatialComposition Schema
Alias: spcomp
Version: 1.0.1
Classes for defining the Spatial Structure Hierarchy of a project or asset.
This schema contains classes for modeling the Spatial Structure of infrastructure. BIS generally follows IFC's "spatial structure" concepts described by IfcSpatialStructureElement
We aim for a 1:1 bi-directional instance mapping (not class mapping!) with IFC. Round-trip transformations may result in changes that provide an equivalent, but not identical IFC model.
The hierarchy of SpatialStructureElements is built using the SpatialStructureElementAggregatesElements relationship, similar to IfcRelAggregates. The "source" Element of the relationship is an "Aggregator" that aggregates parts that are essentially a different representation of the aggregator, but at a finer granularity.
A Spatial Structure can define as many levels of hierarchy as needed.
The hierarchy can be thought of as a spatially-oriented "breakdown structure" used to organize bis:PhysicalElements
s (and other bis:SpatialElement
s) in named spatial "buckets" (the SpatialStructureElements). The mix-in class ISpatialOrganizer mixed-in by SpatialStructureElement expresses its role in forming a breakdown structure. The SpatialOrganizerHoldsSpatialElements
relationship assigns the bis:SpatialElement
s into those "buckets".
Sometimes there are bis:SpatialElements
that (for various reasons) need to be associated with a "bucket" in the Spatial Structure, though they are "held" by some other "bucket". The SpatialOrganizerReferencesSpatialElements
allows these secondary associations to be made, although the precise meaning of the association is up to the author of the data.
The SpatialComposition schema also defines abstract base classes for standard discipline-agnostic spatial structure concepts.
These classes are Region
, Site
, Facility
, FacilityPart
, and Space
.
All but Region map to the like-named concepts in IFC.
Region was added to better represent Cities and other geographic concepts.
As bis:SpatialLocationElements
, these classes represent the "spatial location perspective" on physical entities of region, site, facility, etc.
To use a facility as an example, a spcomp:Facility
is not directly modeling the physicality of a facility, but only the spatial volume that it occupies.
There could theoretically be a corresponding physical:Facility
related to the spcomp:Facility
, but (in practice), we find that applications tend not to create a single physical:Facility
element to represent the facility as a whole, but only physically model it at a finer granularity.
The spatial structure is used to structure the physical elements in the absence of an explicit physical structure.
The spatial structure organizes elements in the physical perspective through the "holds" and "references" relationships.
Generally, the levels of a Spatial Structure will follow the order: Region, Site, Facility, FacilityPart, Space, but there are no ironclad restrictions on what can aggregate what. There may be a small Building located in a FacilityPart of a Bridge. A Space may belong to a Site. Discipline-specific "spatial breakdown rules" may be defined in the future, but are unlikely to be defined in the schema, since they may be project-specific.
Zones are not part of the primary spatial structure, but they are organized by it. Zone
s mix-in ISpatialOrganizer and thus can serve as a way of organizing bis:SpatialElements
along some other "dimension" (indicated by their ZoneType).
BIS does not have a direct equivalent of IFC's controversial "CompositionType" attribute, which indicates that a given instance of IfcSpatialStructureElement represents a 'complex', an 'element' (a discrete individual), or a "part" (a portion of) for a given entity. BIS allows nesting of Regions within Regions, Sites within Sites, Facilities within Facilities, etc. to cover use-cases like a "building complex" or a "sub-building".
Table of contents
- Entity Classes
- Mixins
- Relationship Classes
- CompositeComposesSubComposites
- CompositeOverlapsSpatialElements
- FacilityIsOfType
- FacilityPartIsOfType
- RegionIsOfType
- SiteIsOfType
- SpaceIsOfType
- SpatialOrganizerHoldsSpatialElements
- SpatialOrganizerReferencesSpatialElements
- SpatialStructureElementAggregatesElements
- SpatialStructureElementIsOfType
- ZoneIsOfType
Entity Classes
CompositeElement Abstract EntityClass Deprecated
DEPRECATED: A spatial element that may be Composite of other CompositeElements
Base Class: BisCore:SpatialLocationElement
Deprecated.
Instead, use the SpatialStructureElement class that is a subclass of this class for backwards compatibility.
Properties
Name | Description | Type | Extended Type |
---|---|---|---|
ComposingElement | The aggregator of this element within the Spatial Structure | navigation | |
FootprintArea | The area that this Element projects onto its base plane. | double |
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 |
Facility Abstract EntityClass
A volume occupied by a built facility, such as a building, bridge, road, factory/plant, railway, tunnel, etc.
Base Class: SpatialComposition:SpatialStructureElement
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 |
Equivalent to IfcFacility.
See FacilityType.
FacilityPart (Facility Part) Abstract EntityClass
A volume that breaks a Facility down into major parts that are larger than Spaces. Its meaning varies widely depending on the kind of Facility, but for Buildings it is a Storey.
Base Class: SpatialComposition:SpatialStructureElement
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 |
FacilityPartType (Facility Part Type) Abstract EntityClass
Further specializes a particular subclass of a FacilityPart by associating a custom Type that can be defined by users.
Base Class: SpatialComposition:SpatialStructureElementType
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 |
FacilityType (Facility Type) Abstract EntityClass
Further specializes a particular subclass of a Facility by associating a custom Type that can be defined by users.
Base Class: SpatialComposition:SpatialStructureElementType
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 |
Region Abstract EntityClass
A geographic region in which a Site or smaller Region is situated. Their geometry is typically given as a 2D boundary, but may be given as a 3D volume.
Base Class: SpatialComposition:SpatialStructureElement
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 |
Has no direct equivalent in IFC, but can be represented as a large IfcSite.
Anticipated to use RegionType to distinguish highly variable types of Regions, e.g. city, district, municipality, county, state, Land, provence, country, etc.
RegionType (Region Type) Abstract EntityClass
Further specializes a particular subclass of a Region by associating a custom Type that can be defined by users.
Base Class: SpatialComposition:SpatialStructureElementType
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 |
Site Abstract EntityClass
The spatial location of a geographic site on which a Facility is situated. Its geometry may be given at least as a point, but more typically by a 2D boundary or a 3D volume.
Base Class: SpatialComposition:SpatialStructureElement
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 |
Equivalent to IfcSite.
See SiteType.
SiteType (Site Type) Abstract EntityClass
Further specializes a particular subclass of a Site by associating a custom Type that can be defined by users.
Base Class: SpatialComposition:SpatialStructureElementType
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 Abstract EntityClass
A volume bounded either physically or virtually that provides for some function within a FacilityPart, Facility, or Site. Specific meanings vary depending on the kind of Facility, but Spaces tend to represent Rooms or important functional portions of Rooms within a Storey.
Base Class: SpatialComposition:SpatialStructureElement
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 |
Equivalent to IfcSpace.
See SpaceType.
SpaceType (Space Type) Abstract EntityClass
Further specializes a particular subclass of a Space by associating a custom Type that can be defined by users.
Base Class: SpatialComposition:SpatialStructureElementType
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 |
SpatialStructureElement (Spatial Structure Element) Abstract EntityClass
An Element used to form a spatial breakdown structure. As an ISpatialOrganizer, it may explicitly 'hold' or 'reference' SpatialElements.
Base Class: SpatialComposition:CompositeElement
Equivalent to IfcSpatialStructureElement.
See Schema Overview for more information.
Properties
Name | Description | Type | Extended Type |
---|---|---|---|
Description | A human-readable description of this Spatial Structure Element | string |
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 |
SpatialStructureElementType (Spatial Structure Element Type) Abstract EntityClass
Further specializes a particular subclass of a Spatial Structure Element by associating a custom Type that can be defined by users.
Base Class: BisCore:SpatialLocationType
These types allow projects in different localities to define the types of Spatial Structure Elements that are relevant to them.
Properties
Name | Description | Type | Extended Type |
---|---|---|---|
Description | A human-readable description of this type. | string |
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 |
Zone Abstract EntityClass
Defines a region of space associated with a specific purpose. As an ISpatialOrganizer, it may explicitly 'hold' or 'reference' SpatialElements.
Base Class: BisCore:SpatialLocationElement
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) Abstract EntityClass
Further specializes a particular subclass of a Zone by associating a custom Type that can be defined by users.
Base Class: BisCore:SpatialLocationType
Used with Zone to define a criteria to use for organizing bis:SpatialElement
s that is "orthogonal" to the primary spatial breakdown structure.
For example, Zones
of ZoneType
"Tenancy" carve up the space according to which tenant has leased which area.
Properties
Name | Description | Type | Extended Type |
---|---|---|---|
Description | A human-readable description of this Zone Type. | string |
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 |
Mixins
ICompositeBoundary Abstract Mixin Deprecated
DEPRECATED: An optional interface that indicates that the CompositeElement is delimited by a curve
Applies To: CompositeElement
Deprecated.
Mixin used to indicate that the element is of Boundary type which is most commonly a set of curved geometry. Often the original data is in the form of points on the map, a metes and bounds string, or similar.
ICompositeBoundary
is a mixin class and does not have a mapping to or from IFC.
ICompositeVolume Abstract Mixin Deprecated
DEPRECATED: An optional interface that indicates that the CompositeElement is delimited by a volume
Applies To: CompositeElement
Deprecated.
Mixin used to indicate that the element is of volumetric type which is most commonly an extrusion geometry.
ICompositeVolume
is a mixin class and does not have a mapping to or from IFC.
ISpatialOrganizer (Spatial Organizer) Abstract Mixin
An bis:SpatialLocation that organizes bis:SpatialElements using 'SpatialOrganizerHoldsSpatialElements' and 'SpatialOrganizerReferencesSpatialElements'
Applies To: SpatialLocationElement
The organization could be according to any "criteria" or "dimension".
Currently only used by SpatialStructureElement and Zone, ISpatialOrganizer
is the "source" end of holds and references relationships for organizing bis:SpatialElement
s.
See Schema Overview for more context.
Relationship Classes
CompositeComposesSubComposites RelationshipClass Deprecated
DEPRECATED
Strength: Embedding
Strength Direction: Forward
Source
Target
CompositeOverlapsSpatialElements RelationshipClass Deprecated
DEPRECATED: A relationship that indicates an element is at least partially contained within the CompositeElement
Base Class: BisCore:ElementRefersToElements
Strength: Referencing
Strength Direction: Forward
Deprecated.
Use the SpatialOrganizerHoldsSpatialElements or SpatialOrganizerReferencesSpatialElements relationships instead.
Source
Target
FacilityIsOfType (Facility Is Of Facility Type) RelationshipClass
Relates a Facility to its Type definition
Base Class: SpatialComposition:SpatialStructureElementIsOfType
Strength: Referencing
Strength Direction: Forward
Source
Target
FacilityPartIsOfType (FacilityPart Is Of FacilityPart Type) RelationshipClass
Relates a FacilityPart to its Type definition
Base Class: SpatialComposition:SpatialStructureElementIsOfType
Strength: Referencing
Strength Direction: Forward
Source
Target
RegionIsOfType (Region Is Of Region Type) RelationshipClass
Relates a Region to its Type definition
Base Class: SpatialComposition:SpatialStructureElementIsOfType
Strength: Referencing
Strength Direction: Forward
Source
Target
SiteIsOfType (Site Is Of Site Type) RelationshipClass
Relates a Site to its Type definition
Base Class: SpatialComposition:SpatialStructureElementIsOfType
Strength: Referencing
Strength Direction: Forward
Source
Target
SpaceIsOfType (Space Is Of Space Type) RelationshipClass
Relates a Space to its Type definition
Base Class: SpatialComposition:SpatialStructureElementIsOfType
Strength: Referencing
Strength Direction: Forward
Source
Target
SpatialOrganizerHoldsSpatialElements (Spatial Organizer Holds Spatial Elements) RelationshipClass
Organizes bis:SpatialElements such that each bis:SpatialElement is 'held' by zero or one 'organizer'.
Base Class: BisCore:ElementRefersToElements
Strength: Referencing
Strength Direction: Forward
The "holds" relationship is used to organize bis:SpatialElement
s into strict categories, such that a given bis:SpatialElement
is only "held" by no more than one "organizer".
The scope of the "organization" (the scope within which the one-SpatialElement-per-Organizer rule can be checked) will vary depending on the class mixing-in ISpatialOrganizer.
As used by SpatialStructureElement and Zone, SpatialOrganizerHoldsSpatialElements
is equivalent to IfcRelContainedInSpatialStructure (navigated in reverse).
In that context, in both IFC and BIS, "holds" does not mean geometric spatial containment, though bis:SpatialElement
s that are spatially contained within a given "Spatial Structure Element" are likely to be "held" by that "Spatial Structure Element" unless they have been assigned (for logical reasons) to some other "Spatial Structure Element" that is deeper in the hierarchy. For example, an ElevatorShaft might be spatially contained only by the entire Building, but assigned to be "held" by the "Basement" Storey. Generally, if a bis:SpatialElement
is completely contained within a Space
, it will be "held" by that Space
, but Elements outside of the Space
(like the "outdoor" half of a split-system Air Conditioner) for a Space
might also be "held" by that Space
.
See Schema Overview for more context.
Source
Target
SpatialOrganizerReferencesSpatialElements (Spatial Organizer References Spatial Elements) RelationshipClass
Organizes bis:SpatialElements such that each bis:SpatialElement can be 'referenced' by zero or more 'organizers'.
Base Class: BisCore:ElementRefersToElements
Strength: Referencing
Strength Direction: Forward
The "references" relationship is used by "organizers" that wish to organize bis:SpatialElement
s loosely, such that a given bis:SpatialElement
can be "referenced" by more than one "organizer".
As used by SpatialStructureElement and Zone, SpatialOrganizerReferencesSpatialElements
is equivalent to IfcRelReferencedInSpatialStructure (navigated in reverse.)
In that context, in both IFC and BIS, the precise meaning of the association is up to the author of the data. It may or may not correlate with geometric spatial intersection.
For example, an ElevatorShaft Element may be "referenced by" all of the Storeys that it serves, even though it may not be referenced by a floor that it intersects but does not serve.
See Schema Overview for more context.
Source
Target
SpatialStructureElementAggregatesElements (Spatial Structure Element Aggregates Spatial Structure Elements) RelationshipClass
Forms the Spatial Structure. The volumes of the aggregated Elements should not overlap and should generally add up to the volume of the aggregator (the aggregating Element) and lie spatially within the aggregator.
Base Class: SpatialComposition:CompositeComposesSubComposites
Strength: Embedding
Strength Direction: Forward
Equivalent to IfcRelAggregates.
Forms a strict hierarchy (A Spatial Structure Element can only be aggregated by a single 'aggregator')
See Schema Overview for more information.
Source
Target
SpatialStructureElementIsOfType (Spatial Structure Element Is Of Spatial Structure Element Type) RelationshipClass
Relates a Spatial Structure Element to its Type definition
Base Class: BisCore:SpatialLocationIsOfType
Strength: Referencing
Strength Direction: Forward
Source
Target
ZoneIsOfType (Zone Is Of Zone Type) RelationshipClass
Relates a Zone to its Type definition
Base Class: BisCore:SpatialLocationIsOfType
Strength: Referencing
Strength Direction: Forward
Source
Target
Last Updated: 15 May, 2024