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.

Asset

Picture 7. Relationships between design element and its sliced portions

Asset

*Picture 8. Sample of splitting a design element for multiple purposes

Source

Is Polymorphic: true

Role Label: is portion of

Multiplicity: (0..*)

Constraint Classes:

Target

Is Polymorphic: true

Role Label: is split into

Multiplicity: (0..2)

Constraint Classes:

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

Is Polymorphic: false

Role Label: constructs

Multiplicity: (0..*)

Constraint Classes:

Target

Is Polymorphic: true

Role Label: is constructed by

Multiplicity: (0..*)

Constraint Classes:

ConstructionItemOwnsConstuctionQuantities Sealed RelationshipClass

Defines aspect's ownership.

Base Class: BisCore:ElementOwnsMultiAspects

Strength: Embedding

Strength Direction: Forward

Source

Is Polymorphic: false

Role Label: owns

Multiplicity: (1..1)

Constraint Classes:

Target

Is Polymorphic: false

Role Label: is owned by

Multiplicity: (0..*)

Constraint Classes:

ConstructionItemOwnsCostCodes Sealed RelationshipClass

Defines aspect's ownership.

Base Class: BisCore:ElementOwnsMultiAspects

Strength: Embedding

Strength Direction: Forward

Source

Is Polymorphic: false

Role Label: owns

Multiplicity: (1..1)

Constraint Classes:

Target

Is Polymorphic: false

Role Label: is owned by

Multiplicity: (0..*)

Constraint Classes:

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

Is Polymorphic: true

Role Label: belongs to

Multiplicity: (0..*)

Constraint Classes:

Target

Is Polymorphic: false

Role Label: is referenced

Multiplicity: (0..1)

Constraint Classes:

Kind Of Quantities

AREA (Area) KindOfQuantity

Relative Error: 0.0001

Persistence Unit: SQ_M

Presentation Formats

LENGTH (Length) KindOfQuantity

Relative Error: 0.0001

Persistence Unit: M

Presentation Formats

STATION (Station) KindOfQuantity

Relative Error: 0.0001

Persistence Unit: M

Presentation Formats

VOLUME (Volume) KindOfQuantity

Relative Error: 0.0001

Persistence Unit: CUB_M

Presentation Formats

Last Updated: 28 February, 2023