Construction Schema
Alias: constr
Version: 1.0.4
Base schema for the Construction domain.
This schema contains classes that are used to model real-world entities from the construction perspective. Supported workflows:
- project breakdown into the construction work areas;
- construction modeling - splitting up design data into smaller pieces suitable for construction;
- classification - cost codes assignment to the constructible components;
- quantity takeoff - work steps quantities calculation.
Table of contents
Entity Classes
ConstructionDetailingElement (Construction Detailing Element) EntityClass
Identifies a portion of real-world physical object that is suitable for construction.
Base Class: BisCore:SpatialLocationElement
Properties
Name | Description | Type | Extended Type |
---|---|---|---|
SlopedArea | Total sloped area. | double | |
SurfaceArea | Total surface area. | double | |
Volume | Volume of the element. | double | |
StationRange | Well-known location of the element defined by the station range. | struct | |
LengthOfSlice | Length of an element produced by slice operation. | 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 |
ConstructionInformationModel (Construction Information Model) EntityClass
A container for persisting constr:ConstructionItem instances.
Base Class: BisCore:InformationModel
Inherited properties
Name | Description | Type | Extended Type |
---|---|---|---|
ParentModel | The parent bis:Model contains the bis:Element that this bis:Model is sub-modeling. | navigation | |
ModeledElement | The bis:Element that this bis:Model is sub-modeling. This bis:Model models the same Entity as the sub-Modeled bis:Element, but at a finer granularity. | navigation | |
IsPrivate | If IsPrivate is true then this bis:Model should not appear in lists shown to the user. | boolean | |
IsTemplate | If IsTemplate is true then this bis:Model is used as a template for creating new instances. | boolean | |
JsonProperties | A string property that users and/or applications can use to persist ad hoc JSON values. | string | Json |
LastMod | The last time any element in this Model was modified. | dateTime |
ConstructionInformationPartition (Construction Information Partition) Sealed EntityClass
A constr:ConstructionInformationPartition element indicates that there is a construction modeling perspective within the overall information hierarchy. A constr:ConstructionInformationPartition is always parented to a bis:Subject and broken down by a constr:ConstructionInformationModel.
Base Class: BisCore:InformationPartitionElement
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 |
Description | A human-readable string describing the intent behind the partition. | string |
ConstructionItem (Construction Item) Sealed EntityClass
Defines a constructible component which may or may not be modeled in the 3D model.
Base Class: BisCore:InformationRecordElement
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 |
ConstructionItem
defines a constructible component which may or may not be modeled in the 3D model.
Often design models lack details and aren't mature enough to take off accurate quantities for a construction project. But these non-modeled elements still need to be taken into account for cost estimation and work planning later. Examples of such non-modeled elements: manholes, traffic signs…
When a constructible component is modeled in the 3D model, ConstructionItem
refers to one or multiple (i.e. prefabricated component which is installed as a whole) geometric elements.
ConstructionQuantity (Construction Quantity) Sealed EntityClass
The aspect used to store construction quantity data for constr:ConstructionItem elements.
Base Class: BisCore:ElementMultiAspect
Properties
Name | Description | Type | Extended Type |
---|---|---|---|
CostCodeId | The Id of the Cost Code in Construction QTO service. | string | |
WorkStepCode | Work Step Code for which the value is calculated. | string | |
Quantity | Calculated quantity value. | double | |
QuantityUnitName | The fully qualified unit name (if it exists) used to persist the quantity value. | string | |
QuantityUnitLabel | The unit display label to use when showing the quantity value. | string | |
JsonProperties | A string property that users and/or applications can use to persist ad hoc JSON values. | string | Json |
Inherited properties
Name | Description | Type | Extended Type |
---|---|---|---|
Element | The bis:Element that owns this bis:ElementMultiAspect. | navigation |
ConstructionWorkArea (Construction Work Area) EntityClass
Represents geographically identifiable area which encompasses all disciplines that will execute work within that area.
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 |
CostCode (Cost Code) Sealed EntityClass
The aspect used to store Cost Code assignments to constr:ConstructionItem elements.
Base Class: BisCore:ElementMultiAspect
Properties
Name | Description | Type | Extended Type |
---|---|---|---|
CodeId | The Id of the Cost Code in Construction QTO service. | string |
Inherited properties
Name | Description | Type | Extended Type |
---|---|---|---|
Element | The bis:Element that owns this bis:ElementMultiAspect. | navigation |
GenericConstructionObject (Construction Object) Sealed EntityClass
Represents a generic object used during construction
Base Class: BisCore:PhysicalElement
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 | |
PhysicalMaterial | Indicates the bis:PhysicalMaterial of which the bis:PhysicalElement is made. | navigation |
WorkAreaDetailingElement (Work Area Detailing Element) EntityClass
Identifies a portion of real-world physical object that got split because it crossed construction work area boundary.
Base Class: Construction:ConstructionDetailingElement
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 | |
SlopedArea | Total sloped area. | double | |
SurfaceArea | Total surface area. | double | |
Volume | Volume of the element. | double | |
StationRange | Well-known location of the element defined by the station range. | struct | |
LengthOfSlice | Length of an element produced by slice operation. | double |
StationRange (Station Range) StructClass
Struct to define a station range.
Properties
Name | Description | Label | Category | Read Only | Priority |
---|---|---|---|---|---|
StartStation | Station start point. | Start Station | false | 0 | |
EndStation | Station end point. | End Station | false | 0 |
Relationship Classes
ConstructionDetailingElementSplitsGeometricElement3d Sealed RelationshipClass
Relationship enabling splitup of bis:GeometricElement3d elements into the smaller pieces.
Base Class: BisCore:ElementRefersToElements
Strength: Referencing
Strength Direction: Forward
Used to relate ConstructionDetailingElement
instances to the source geometry element. Even though the source geometry can be any element of a class bis:GeometricElement3d
, the application layer will control what elements are eligible for splitting. For instance, it doesn't make any sense to split geometric elements like bis:TextAnnotation3d
and similar.
In the case (see Picture 8) when design element ("P-1") crosses construction work area boundaries and one of its portions ("Portion X", modeled as WorkAreaDetailingElement
) is split further into smaller pieces suitable for construction ("Portion X1" and "Portion X2, modeled as ConstructionDetailingElement
) in addition to the relationship between ConstructionDetailingElement
and WorkAreaDetailingElement
a relationship between ConstructionDetailingElement
and "original" design element is created (see Picture 7). Conceptually these ConstructionDetailingElement
instances each represent a portion of the original design element, the difference is the way in which these portions were created.
Picture 7. Relationships between design element and its sliced portions
*Picture 8. Sample of splitting a design element for multiple purposes
Source
Target
ConstructionItemConstructsGeometricElement3d Sealed RelationshipClass
Relates constr:ConstructionItem to the real world entities (or their split up pieces modeled as constr:ConstructionDetailingElement elements) it constructs.
Base Class: BisCore:ElementRefersToElements
Strength: Referencing
Strength Direction: Forward
Source
Target
ConstructionItemOwnsConstuctionQuantities Sealed RelationshipClass
Defines aspect's ownership.
Base Class: BisCore:ElementOwnsMultiAspects
Strength: Embedding
Strength Direction: Forward
Source
Target
ConstructionItemOwnsCostCodes Sealed RelationshipClass
Defines aspect's ownership.
Base Class: BisCore:ElementOwnsMultiAspects
Strength: Embedding
Strength Direction: Forward
Source
Target
ElementBelongsToConstructionWorkArea Sealed RelationshipClass
Relates a bis:Element to the constr:ConstructionWorkArea that it belongs to.
Base Class: BisCore:ElementRefersToElements
Strength: Referencing
Strength Direction: Forward
Source
Target
Kind Of Quantities
AREA (Area) KindOfQuantity
Relative Error: 0.0001
Persistence Unit: SQ_M
Presentation Formats
- DefaultRealU(2) [ SQ_M ]
- DefaultRealU(2) [ SQ_FT ]
- DefaultRealU(2) [ SQ_US_SURVEY_FT ]
LENGTH (Length) KindOfQuantity
Relative Error: 0.0001
Persistence Unit: M
Presentation Formats
- DefaultRealU(2) [ M ]
- DefaultRealU(2) [ FT ]
- DefaultRealU(2) [ US_SURVEY_FT ]
STATION (Station) KindOfQuantity
Relative Error: 0.0001
Persistence Unit: M
Presentation Formats
- StationZ_1000_3 [ M ]
- StationZ_100_2 [ FT ]
- DefaultRealU(2) [ M ]
- DefaultRealU(2) [ FT ]
- DefaultRealU(2) [ US_SURVEY_FT ]
VOLUME (Volume) KindOfQuantity
Relative Error: 0.0001
Persistence Unit: CUB_M
Presentation Formats
- DefaultRealU(2) [ CUB_M ]
- DefaultRealU(2) [ CUB_FT ]
- DefaultRealU(2) [ CUB_US_SURVEY_FT ]
Last Updated: 28 February, 2023