BisCore (BIS Core) Schema

Alias: bis

Version: 1.0.16

The BIS core schema contains classes that all other domain schemas extend.

BisCore contains the core classes that define the fundamental building-blocks of BIS (e.g. Models, Elements, and ElementAspects) and which specialize them to establish domain-neutral base-classes for modeling the real world from multiple Modeling Perspectives.

BisCore also contains some less-fundamental classes related to infrastructure engineering visualization and documentation in general, such as drawings, views, etc.

The core classes are decorated by ECCustomAttributes that effectively define the database schema mapping for an iModel, but which can be ignored for other kinds of BIS Repositories. Other schemas cannot alter the underlying database schema mapping without explicit permission from BisCore.

The classes of BisCore are used as base classes for all classes in other BIS Domain schemas.

See Base Infrastructure Schemas

Table of contents

Entity Classes

AnnotationElement2d (2D Annotation Element) EntityClass

bis:AnnotationElement2d is a bis:GraphicalElement2d used to annotate drawings and sheets.

Base Class: BisCore:GraphicalElement2d

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:DrawingCategory used to categorize this bis:GeometricElement2d instance. navigation
Origin The placement origin of this bis:Element. point2d
Rotation The placement rotation (in degrees) of this bis:Element. double
BBoxLow The 'low' point of the element-aligned bounding box of this bis:Element. point2d
BBoxHigh The 'high' point of the element-aligned bounding box of this bis:Element. point2d
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 by instance of this Element. navigation

AnnotationFrameStyle (Annotation Frame Style) Sealed EntityClass

Base Class: BisCore:DefinitionElement

Properties

Name Description Type Extended Type
Description Description of the style string
Data Encoded style properties binary
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

AnnotationLeaderStyle (Annotation Leader Style) Sealed EntityClass

Base Class: BisCore:DefinitionElement

Properties

Name Description Type Extended Type
Description Description of the style string
Data Encoded style properties binary
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

AnnotationTextStyle (Annotation Text Style) Sealed EntityClass

Base Class: BisCore:DefinitionElement

Properties

Name Description Type Extended Type
Description Description of the style string
Data Encoded style properties binary
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

AuxCoordSystem (Auxiliary Coordinate System) Abstract EntityClass

Base Class: BisCore:DefinitionElement

Properties

Name Description Type Extended Type
Type See the ACSType enum. None = 0; Rectangular = 1; Cylindrical = 2; Spherical = 3. int
Description A human-readable description of the Auxiliary Coordinate System 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

AuxCoordSystem2d (2D Auxiliary Coordinate System) EntityClass

A 2D coordinate system.

Base Class: BisCore:AuxCoordSystem

Properties

Name Description Type Extended Type
Origin Defines the real location of the 0, 0 coordinate of the ACS. point2d
Angle The angle (in degrees) of the Coordinate System 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
IsPrivate If true, this bis:DefinitionElement should not be displayed in the GUI. boolean
Type See the ACSType enum. None = 0; Rectangular = 1; Cylindrical = 2; Spherical = 3. int
Description A human-readable description of the Auxiliary Coordinate System string

AuxCoordSystem3d (3D Auxiliary Coordinate System) EntityClass

A 3D coordinate system.

Base Class: BisCore:AuxCoordSystem

Properties

Name Description Type Extended Type
Origin Defines the plane of the ACS and the real location of the 0, 0, 0 coordinate of the ACS. point3d
Yaw The Yaw angle (in degrees) of the orientation of this Coordinate System double
Pitch The Pitch angle (in degrees) of the orientation of this Coordinate System double
Roll The Roll angle (in degrees) of the orientation of this Coordinate System 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
IsPrivate If true, this bis:DefinitionElement should not be displayed in the GUI. boolean
Type See the ACSType enum. None = 0; Rectangular = 1; Cylindrical = 2; Spherical = 3. int
Description A human-readable description of the Auxiliary Coordinate System string

AuxCoordSystemSpatial (Spatial Auxiliary Coordinate System) EntityClass

A spatial coordinate system.

Base Class: BisCore:AuxCoordSystem3d

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
Type See the ACSType enum. None = 0; Rectangular = 1; Cylindrical = 2; Spherical = 3. int
Description A human-readable description of the Auxiliary Coordinate System string
Origin Defines the plane of the ACS and the real location of the 0, 0, 0 coordinate of the ACS. point3d
Yaw The Yaw angle (in degrees) of the orientation of this Coordinate System double
Pitch The Pitch angle (in degrees) of the orientation of this Coordinate System double
Roll The Roll angle (in degrees) of the orientation of this Coordinate System double

Category Abstract EntityClass

A bis:Category categorizes a bis:GeometricElement and its geometry. Every bis:GeometricElement is in one and only one bis:Category. The visibility (on/off) of a bis:Category may be controlled per-view. Categories are similar to levels in DGN, layers in DWG, and categories in RVT.

Base Class: BisCore:DefinitionElement

Categories should be standardized by domain groups where possible. They generally correlate with groups of BIS Element classes, or a single base class.

See Categories Introduction.

Also see the ClassificationSystems domain schema for another way of categorizing and classifying elements.

Behavior: The system handler (C++) for Category requires a valid CodeValue (name) for every instance. It will insert a default SubCategory for every Category that is inserted. The system handler also restricts deletion. A Category can only be deleted via a more expensive deleteDefinitionElements method that has determined the Category is no longer referenced.

Properties

Name Description Type Extended Type
Description A human-readable description of the Category string
Rank The Rank of a category indicates how it was created and where it can be used. 0=System; 1=Domain; 2=Application; 3=User. int
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

CategorySelector (Category Selector) EntityClass

Specifies the list of categories displayed by a ViewDefinition. Multiple ViewDefinitions may point to the same CategorySelector.

Base Class: BisCore:DefinitionElement

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

Behavior: The system handler restricts deletion. A CategorySelector can only be deleted via a more expensive deleteDefinitionElements method that has determined the CategorySelector is no longer referenced.

ChannelRootAspect (Channel Root Aspect) Sealed EntityClass

A bis:ElementUniqueAspect that identifies a bis:Element as the root of a channel which is a subset of the overall iModel hierarchy that is independently maintained.

Base Class: BisCore:ElementUniqueAspect

Applications create channels to define portions of the model-hierarchy that they "own".

Each Element (typically a Subject or InformationPartitionElement) that owns a ChannelRootAspect defines a root of the model-hierarchy that is included in a particular channel. It recursively descends down through ElementOwnsChildElements and ModelModelsElement relationships to include all of the child elements and sub-models into the specified channel. A channel is conceptually identified by its Channel Key value of the Owner property of a ChannelRootAspect.

There may be more than one root Subjects or InformationPartitionElements in a model-hierarchy that are included in the same channel. In that case, each Subject or InformationPartitionElement instance specifies the same Channel Key value in their ChannelRootAspect.

Note that Channels do not nest. That is, once a Subject or InformationPartitionElement instance defines a root to be included in a particular channel, no descendant Element of such root in the subject-hierarchy can be used to define a root for a different channel.

See Channels for more information on the topic.

Properties

Name Description Type Extended Type
Owner The owner of the channel string
Inherited properties
Name Description Type Extended Type
Element The bis:Element that owns this bis:ElementUniqueAspect navigation

CodeSpec (Code Specification) Sealed EntityClass

A bis:CodeSpec (code specification) captures the rules for encoding and decoding significant business information into and from a Code (string). This specification is used to generate and validate Codes.

Properties

Name Description Type Extended Type
Name The unique name of the bis:CodeSpec. A best practice is to incorporate the schema alias or domain name into the bis:CodeSpec name to ensure uniqueness. string
JsonProperties A JSON string containing scope and fragment specifications used to generate and validate code values string Json

ColorBook (Color Book) Sealed EntityClass

Base Class: BisCore:DefinitionElement

Individual colors are stored in JsonProperties

Properties

Name Description Type Extended Type
Description A human-readable description of the ColorBook 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

DefinitionContainer (Definition Container) EntityClass

A set of DefinitionElements that are exclusively owned by the DefinitionContainer and contained within its sub-model.

Base Class: BisCore:DefinitionSet

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

DefinitionContainer represents a DefinitionSet that exclusively owns its DefinitionElements. The exclusivity is only effective relative to other DefinitionContainers (or similar DefinitionElements that have sub-models); the DefinitionElements that are contained in a DefinitionContainer may also be in one or more DefinitionGroups.

See DefinitionSet documentation for recursive interpretations of DefinitionSets containing DefinitionSets.

A DefinitionContainer can conceptually be thought of as a folder of definitions. A DefinitionContainer is recommended when there is a standard set of domain-specific definitions that must be known to domain software applications. In this case, the DefinitionContainer should be contained by the DictionaryModel and found by the software via a known Code.

DefinitionElement (Definition Element) Abstract EntityClass

A bis:DefinitionElement holds configuration-related information that is meant to be referenced/shared.

Base Class: BisCore:InformationContentElement

Behavior: The system handler (C++) for DefinitionElement will only permit instances to be inserted into a DefinitionModel.

Properties

Name Description Type Extended Type
IsPrivate If true, this bis:DefinitionElement should not be displayed in the GUI. boolean
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

DefinitionGroup (Definition Group) EntityClass

A non-exclusive set of DefinitionElements grouped using the DefinitionGroupGroupsDefinitions relationship.

Base Class: BisCore:DefinitionSet

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

DefinitionGroup is intended for defining non-exclusive sets of DefinitionElements (a DefinitionElement may be in multiple DefinitionGroups). DefinitionGroup holds its DefinitionElements through the DefinitionGroupGroupsDefinitions relationship. The referenced DefinitionElements may be contained in the same DefinitionModel as the DefinitionGroup or may be contained in other DefinitionModels.

See DefinitionSet documentation for recursive interpretations of DefinitionSets containing DefinitionSets.

Care must be taken to avoid circular references. Note that even a single DefinitionGroup can create circular references in two cases:

  • The DefinitionGroup directly contains itself.
  • The DefinitionGroup contains a DefinitionContainer that directly or indirectly contains the DefinitionGroup.

DefinitionModel (Definition Model) EntityClass

A container for persisting bis:DefinitionElement 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

Behavior: The system handler (C++) for DefinitionElement will only permit instances to be inserted into a DefinitionModel. Other InformationContentElement instances can also be inserted into a DefinitionModel.

DefinitionPartition (Definition Partition) Sealed EntityClass

A bis:DefinitionPartition element establishes a 'Definition' Modeling Perspective for its parent bis:Subject. A bis:DefinitionPartition is always sub-modeled by a bis:DefinitionModel.

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

The 'Definition' Modeling Perspective is for modeling definitions of things that are shared by multiple particular Entities.

Behavior: The system handler (C++) for DefinitionPartition ensures that it is only ever sub-modeled by a DefinitionModel.

DefinitionSet (Definition Set) Abstract EntityClass

This abstract class unifies DefinitionGroup and DefinitionContainer for relationship endpoint purposes.

Base Class: BisCore:DefinitionElement

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

DefinitionSet represents a set of DefinitionElements. The set may be exclusive (DefinitionContainer owns its DefinitionElements) or may be non-exclusive (DefinitionGroup does not own its DefinitionElements). DefinitionSet should only be directly subclassed by DefinitionGroup and DefinitionContainer. DefinitionGroup and DefinitionContainer may be further subclassed.

References to DefinitionSets will generally treat the DefinitionSets recursively. If DefinitionSet A contains DefinitionSet B and DefinitionSet C, the members of DefinitionSet B and DefinitionSet C will be considered to be first class members of DefinitionSet A (effectively they will be considered as peers of the DefinitionElements that are directly contained in DefinitionSet A). This recursive interpretation extends through the full depth of nested DefinitionSets.

DictionaryModel (Dictionary Model) Sealed EntityClass

The singleton container for repository-global bis:DefinitionElement instances.

Base Class: BisCore:DefinitionModel

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

DisplayStyle (Display Style) Abstract EntityClass

A bis:DisplayStyle defines the 'styling' parameters for rendering the contents of a view. It determines how graphics are rendered, not which elements are rendered. A bis:DisplayStyle can be shared by many Views.

Base Class: BisCore:DefinitionElement

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

Behavior: The system handler restricts deletion. A DisplayStyle can only be deleted via a more expensive deleteDefinitionElements method that has determined the DisplayStyle is no longer referenced.

DisplayStyle2d (2D Display Style) EntityClass

A bis:DisplayStyle2d defines the 'styling' parameters for rendering the contents of a 2D View.

Base Class: BisCore:DisplayStyle

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

DisplayStyle3d (3D Display Style) EntityClass

A bis:DisplayStyle3d defines the 'styling' parameters for rendering the contents of a 3D View.

Base Class: BisCore:DisplayStyle

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

Document (Document) Abstract EntityClass

A bis:Document is a social artifact designed with the distinct purpose to convey information in a manner that maximizes reach and lifespan and minimize dependency on other artifacts. Although there is often a one-to-one relationship between a bis:Document and an electronic file, this does not imply that a document is a file; instead, a document can be realized in many different media (such as paper) or have more than one file supporting it.

Base Class: BisCore:InformationContentElement

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

DocumentCarrier (Document Carrier) Abstract EntityClass Deprecated

BisCore will focus on the information itself and not how it is carried. Thus, the DocumentCarrier class was deprecated.

DEPRECATED: A Document Carrier is an Information Carrier that carries a Document. An electronic file is a good example.

Base Class: BisCore:InformationCarrierElement

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

DocumentListModel (Document List) EntityClass

A container for persisting bis:Document elements.

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

Behavior: The system handler (C++) for DocumentListModel will only permit the insertion of Document instances. The modeled element for a DocumentListModel is expected to be a DocumentPartition.

DocumentPartition (Document Partition) Sealed EntityClass

A bis:DocumentPartition element establishes a 'Document' Modeling Perspective for its parent bis:Subject. A bis:DocumentPartition is always sub-modeled by a bis:DocumentListModel.

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

The 'Document' Modeling Perspective is a subset of the 'Information' Modeling Perspective. It holds Elements which describes Entities using Documents and is used to create primary documents such as Drawings.

Behavior: The system handler (C++) for DocumentPartition ensures that it is only ever sub-modeled by an InformationModel (typically DocumentListModel).

Drawing EntityClass

A bis:Drawing is a bis:Document of a 2D drawing.

Base Class: BisCore:Document

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

DrawingCategory (Drawing Category) Sealed EntityClass

A bis:DrawingCategory is used for classifying bis:GeometricElement2d elements via the bis:GeometricElement2dIsInCategory (concrete and sealed) relationship.

Base Class: BisCore:Category

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
Description A human-readable description of the Category string
Rank The Rank of a category indicates how it was created and where it can be used. 0=System; 1=Domain; 2=Application; 3=User. int

DrawingGraphic (Drawing Graphic) EntityClass

bis:DrawingGraphic is a bis:GraphicalElement2d used to persist graphics for use in drawings.

Base Class: BisCore:GraphicalElement2d

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:DrawingCategory used to categorize this bis:GeometricElement2d instance. navigation
Origin The placement origin of this bis:Element. point2d
Rotation The placement rotation (in degrees) of this bis:Element. double
BBoxLow The 'low' point of the element-aligned bounding box of this bis:Element. point2d
BBoxHigh The 'high' point of the element-aligned bounding box of this bis:Element. point2d
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 by instance of this Element. navigation

DrawingModel (Drawing Model) EntityClass

A container for persisting bis:DrawingGraphic elements.

Base Class: BisCore:GraphicalModel2d

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
GeometryGuid A GUID that changes whenever any element in this GeometricModel has a change to its geometry. binary BeGuid
GlobalOrigin The actual coordinates of (0,0) in modeling coordinates. An offset applied to all modeling coordinates. point2d

Behavior: The system handler (C++) for DrawingModel ensures that the modeled element for a DrawingModel is a Drawing or a TemplateRecipe2d. The restrictions from the GeometricModel2d superclass also apply.

DrawingViewDefinition (Drawing View Definition) EntityClass

A bis:DrawingViewDefinition specifies parameters for a view of a bis:DrawingModel.

Base Class: BisCore:ViewDefinition2d

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
Description A human-readable description of the View Definition string
CategorySelector navigation
DisplayStyle navigation
BaseModel navigation
Origin Lower left corner of the viewed area. point2d
Extents Size of the view diagonal point2d
RotationAngle Rotation angle in degrees of the viewed area. double

DriverBundleElement (Driver Bundle Element) Abstract EntityClass

A bis:DriverBundleElement is used in conjunction with bis:ElementDrivesElement relationships to bundle multiple inputs before driving the output bis:Element.

Base Class: BisCore:InformationContentElement

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

Used when multiple inputs for a "driving" relationship cannot be considered in isolation.

See ElementDrivesElement.

Element Abstract EntityClass

A bis:Element is the smallest individually identifiable building block for modeling the real world. Each bis:Element represents an Entity in the real world. Sets of bis:Elements (contained in bis:Models) are used to sub-model other bis:Elements that represent larger scale real world Entities. Using this recursive modeling strategy, bis:Elements can represent Entities at any scale. Elements can represent physical things, abstract concepts or simply be information records.

Sets of bis:Elements (contained in bis:Models) are used to sub-model other bis:Elements that represent larger scale real world Entities. Using this recursive modeling strategy, bis:Elements can represent Entities at any scale. Elements can represent physical things, abstract concepts or simply be information records.

See Element Fundamentals.

Behavior: System handlers (written in C++) and domain handlers (written in TypeScript) provide behavior to specific Element subclasses. The system handler for Element requires a valid Model reference and a valid or empty Code. If the Parent property is not NULL, the system handler also requires that the child Element be in the same Model as the parent Element. This is enforced for all Element subclasses.

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

ElementAspect (Element Aspect) Abstract EntityClass

A bis:ElementAspect is a class that defines a set of properties that are related to (and owned by) a single bis:Element. Semantically, a bis:ElementAspect can be considered part of the bis:Element. Thus, a bis:ElementAspect is deleted if its owning bis:Element is deleted.

ElementMultiAspect (Element Multi-Aspect) Abstract EntityClass

A bis:ElementMultiAspect is a bis:ElementAspect where there can be N instances of the bis:ElementAspect class per bis:Element.

Base Class: BisCore:ElementAspect

Properties

Name Description Type Extended Type
Element The bis:Element that owns this bis:ElementMultiAspect. navigation
Inherited properties
Name Description Type Extended Type

ElementUniqueAspect (Element Unique Aspect) Abstract EntityClass

A bis:ElementUniqueAspect is a bis:ElementAspect where there can be only zero or one instance of the bis:ElementAspect class per bis:Element.

Base Class: BisCore:ElementAspect

Properties

Name Description Type Extended Type
Element The bis:Element that owns this bis:ElementUniqueAspect navigation
Inherited properties
Name Description Type Extended Type

A bis:EmbeddedFileLink is a bis:LinkElement that links to a file embedded within the iModel.

Base Class: BisCore:LinkElement

Properties

Name Description Type Extended Type
Name A name for looking up the embedded file. Must be unique within the iModel. string
Description A human-readable description of the Embedded File 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

ExternalSource (Source) EntityClass

An ExternalSource refers to an 'information container' found in a repository. In some cases, the container is the entire repository.

Base Class: BisCore:InformationReferenceElement

Properties

Name Description Type Extended Type
Repository The repository in which this 'information container' is stored. navigation
ConnectorName Name of the iModel Connecter that processed this ExternalSource. string
ConnectorVersion Version of the iModel Connecter that processed this ExternalSource. 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

ExternalSourceAspect (External Source Aspect) EntityClass

A bis:ElementMultiAspect that stores synchronization information for a bis:Element originating from an external source.

Base Class: BisCore:ElementMultiAspect

Properties

Name Description Type Extended Type
Scope The Id of a bis:Element that represents a scope in which the combination of properties 'Kind' and 'Identifier' will be unique. Used differently by different iModel Connectors. Recommended to point to a RepositoryLink when ids are unique per repository. navigation
Identifier The identifier of the object in the source repository string
Kind The kind of object within the source repository string
Version An optional value that is typically a version number or a pseudo version number like last modified time. It will be used by the synchronization process to detect that a source object is unchanged so that computing a cryptographic hash can be avoided. If present, this value must be guaranteed to change when any of the source object's content changes. string
Checksum The cryptographic hash (any algorithm) of the source object's content. If defined, it must be guaranteed to change when the source object's content changes. string
JsonProperties A place where additional JSON properties can be stored. For example, provenance information or properties relating to the synchronization process. string Json
Source The external source from which this element originated. navigation
Inherited properties
Name Description Type Extended Type
Element The bis:Element that owns this bis:ElementMultiAspect. navigation

ExternalSourceAttachment (External Source Attachment) EntityClass

Attachment of an ExternalSource

Base Class: BisCore:InformationReferenceElement

Properties

Name Description Type Extended Type
Attaches The ExternalSource that is attached by this ExternalSourceAttachment navigation
Role If Role=SpecifyContext, the attached ExternalSource provides context. If Role=SpecifyPart, the attached ExternalSource models a part of the whole. ExternalSourceAttachmentRole
Translation The translation or offset in global coordinates of the attached ExternalSource relative to the ExternalSource that attaches it. point3d
Yaw The Yaw angle (in degrees) of the attached ExternalSource relative to the ExternalSource that attaches it. double
Pitch The Pitch angle (in degrees) of the attached ExternalSource relative to the ExternalSource that attaches it. double
Roll The Roll angle (in degrees) of the attached ExternalSource relative to the ExternalSource that attaches it. double
Scale The scale of the attached ExternalSource relative to the ExternalSource that attaches it. point3d
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

ExternalSourceGroup (External Source Group) EntityClass

A group of ExternalSources that are collectively a source of information for one or more elements.

Base Class: BisCore:ExternalSource

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
Repository The repository in which this 'information container' is stored. navigation
ConnectorName Name of the iModel Connecter that processed this ExternalSource. string
ConnectorVersion Version of the iModel Connecter that processed this ExternalSource. string

If the ExternalSourceGroup has a primary repository than it should be persisted in the Repository property from its base class. If the group does not have a primary repository than that property should be left as NULL.

Represents a folder-like structure that organizes repositories (typically files) in an external system

Base Class: BisCore:UrlLink

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
Url A URL pointing to an external resource. string URI
Description A human-readable description of the URL string

GeometricElement (Geometric Element) Abstract EntityClass

bis:GeometricElement is an abstract base class used to model real world Entities that intrinsically have geometry.

Base Class: BisCore:Element

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

GeometricElement2d (2D Geometric Element) Abstract EntityClass

bis:GeometricElement2d is an abstract base class used to model information Entities that intrinsically have 2D geometry.

Base Class: BisCore:GeometricElement

Behavior: The system handler (C++) for GeometricElement2d will only permit instances to be inserted into a GeometricModel2d and will require its Category property to reference a DrawingCategory. The system handler also requires a valid placement if GeometryStream is not NULL.

See GeometryStream for a more in-depth explanation about that property.

Properties

Name Description Type Extended Type
Category The bis:DrawingCategory used to categorize this bis:GeometricElement2d instance. navigation
Origin The placement origin of this bis:Element. point2d
Rotation The placement rotation (in degrees) of this bis:Element. double
BBoxLow The 'low' point of the element-aligned bounding box of this bis:Element. point2d
BBoxHigh The 'high' point of the element-aligned bounding box of this bis:Element. point2d
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 by instance of this Element. navigation
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

GeometricElement3d (3D Geometric Element) Abstract EntityClass

bis:GeometricElement3d is an abstract base class used to model real world Entities that intrinsically have 3D geometry.

Base Class: BisCore:GeometricElement

Behavior: The system handler (C++) for GeometricElement3d will only permit instances to be inserted into a GeometricModel3d and will require its Category property to reference a SpatialCategory. The system handler also requires a valid placement if GeometryStream is not NULL.

See GeometryStream for a more in-depth explanation about that property.

Properties

Name Description Type Extended Type
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
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

GeometricModel (Geometric Model) Abstract EntityClass

A container for persisting bis:GeometricElement instances.

Base Class: BisCore:Model

Properties

Name Description Type Extended Type
GeometryGuid A GUID that changes whenever any element in this GeometricModel has a change to its geometry. binary BeGuid
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

GeometricModel2d (2D Geometric Model) Abstract EntityClass

A container for persisting bis:GeometricElement2d instances.

Base Class: BisCore:GeometricModel

Behavior: The system handler (C++) for GeometricModel2d will prevent GeometricElement3d instances from being inserted to ensure that the model will only contain 2d geometry. This restriction applies to all GeometricModel2d subclasses. InformationContentElement instances (other than DefinitionElement subclasses) can also be inserted into a GeometricModel2d.

Properties

Name Description Type Extended Type
GlobalOrigin The actual coordinates of (0,0) in modeling coordinates. An offset applied to all modeling coordinates. point2d
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
GeometryGuid A GUID that changes whenever any element in this GeometricModel has a change to its geometry. binary BeGuid

GeometricModel3d (3D Geometric Model) Abstract EntityClass

A container for persisting bis:GeometricElement3d instances, which are considered to be in the iModel's real-world coordinate system unless their InSpatialIndex property has been set to 'false'.

Base Class: BisCore:GeometricModel

Behavior: The system handler (C++) for GeometricModel3d will prevent GeometricElement2d instances from being inserted to ensure that the model will only contain 3d geometry. This restriction applies to all GeometricModel3d subclasses. InformationContentElement instances (other than DefinitionElement subclasses) can also be inserted into a GeometricModel3d.

Properties

Name Description Type Extended Type
IsNotSpatiallyLocated If IsNotSpatiallyLocated is true, then the elements in this bis:GeometricModel3d are not in real-world coordinates and will not be in the spatial index. boolean
IsPlanProjection If IsPlanProjection is true, then the elements in this bis:GeometricModel3d are expected to be in an XY plane. boolean
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
GeometryGuid A GUID that changes whenever any element in this GeometricModel has a change to its geometry. binary BeGuid

GeometryPart (Geometry Part) EntityClass

A bis:DefinitionElement that specifies a collection of geometry that is meant to be reused across bis:GeometricElement instances. Leveraging bis:GeometryParts can help reduce file size and improve display performance.

Base Class: BisCore:DefinitionElement

Behavior: The system handler (C++) for GeometryPart requires valid geometry stored in the GeometryStream property for insertion to succeed. The system handler also restricts deletion. A GeometryPart can only be deleted via a more expensive deleteDefinitionElements method that has determined the GeometryPart is no longer referenced.

Properties

Name Description Type Extended Type
GeometryStream The actual geometry of the Geometry Part binary GeometryStream
BBoxLow The low corner of the Geometry Part's bounding box. point3d
BBoxHigh The high corner of the Geometry Part's bounding box point3d
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

GraphicalElement2d (2D Graphical Element) Abstract EntityClass

bis:GraphicalElement2d is an abstract base class for 2D geometric elements that are used to convey information within graphical presentations (like drawings).

Base Class: BisCore:GeometricElement2d

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:DrawingCategory used to categorize this bis:GeometricElement2d instance. navigation
Origin The placement origin of this bis:Element. point2d
Rotation The placement rotation (in degrees) of this bis:Element. double
BBoxLow The 'low' point of the element-aligned bounding box of this bis:Element. point2d
BBoxHigh The 'high' point of the element-aligned bounding box of this bis:Element. point2d
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 by instance of this Element. navigation

GraphicalElement3d (3D Graphical Element) Abstract EntityClass

A bis:GraphicalElement3d element conveys information within 3D graphical presentations.

Base Class: BisCore:GeometricElement3d

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

GraphicalModel2d (2D Graphical Model) Abstract EntityClass

A container for persisting bis:GraphicalElement2d instances.

Base Class: BisCore:GeometricModel2d

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
GeometryGuid A GUID that changes whenever any element in this GeometricModel has a change to its geometry. binary BeGuid
GlobalOrigin The actual coordinates of (0,0) in modeling coordinates. An offset applied to all modeling coordinates. point2d

GraphicalModel3d (3D Graphical Model) Abstract EntityClass

A container for persisting bis:GraphicalElement3d instances.

Base Class: BisCore:GeometricModel3d

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
GeometryGuid A GUID that changes whenever any element in this GeometricModel has a change to its geometry. binary BeGuid
IsNotSpatiallyLocated If IsNotSpatiallyLocated is true, then the elements in this bis:GeometricModel3d are not in real-world coordinates and will not be in the spatial index. boolean
IsPlanProjection If IsPlanProjection is true, then the elements in this bis:GeometricModel3d are expected to be in an XY plane. boolean

GraphicalPartition3d (3D Graphical Partition) Sealed EntityClass

A bis:GraphicalPartition3d element establishes a '3D Graphical' Modeling Perspective for its parent bis:Subject. A bis:GraphicalPartition3d is always sub-modeled by a bis:GraphicalModel3d.

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

GraphicalType2d (2D Graphical Type) Abstract EntityClass

Defines a shared set of properties (the 'type') that can be associated with a bis:GraphicalElement2d instance.

Base Class: BisCore:TypeDefinitionElement

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

GroupInformationElement (Group Information) Abstract EntityClass

bis:GroupInformationElement is an abstract base class used for modeling Entities whose main purpose is to group related elements.

Base Class: BisCore:InformationReferenceElement

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

GroupInformationModel (Group Information Model) Abstract EntityClass

A container for persisting bis:GroupInformationElement 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

Behavior: The system handler (C++) for GroupInformationModel will only permit the insertion of GroupInformationElement instances. The modeled element for an GroupInformationModel is expected to be an GroupInformationPartition.

GroupInformationPartition (Group Information Partition) Sealed EntityClass

A bis:GroupInformationPartition element establishes a 'Group Information' Modeling Perspective for its parent bis:Subject. A bis:GroupInformationPartition is always sub-modeled by a bis:GroupInformationModel.

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

The 'GroupInformation' Modeling Perspective is a subset of the 'Information' Modeling Perspective. It is used primarily to hold generic:Group Elements generated from DgnV8 'Named Groups'.

Behavior: The system handler (C++) for GroupInformationPartition ensures that it is only ever sub-modeled by a GroupInformationModel.

InformationCarrierElement (Information Carrier) Abstract EntityClass Deprecated

BisCore will focus on the information itself and not how it is carried. Thus, the InformationCarrierElement class was deprecated.

DEPRECATED: An Information Carrier carries information, but is not the information itself. For example, the arrangement of ink on paper or the sequence of electronic bits are information carriers.

Base Class: BisCore:Element

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

InformationContentElement (Information Content Element) Abstract EntityClass

bis:InformationContentElement is an abstract base class for modeling pure information Entities. Only the core framework should directly subclass from bis:InformationContentElement. Domain and application developers should start with the most appropriate subclass of bis:InformationContentElement.

Base Class: BisCore:Element

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

InformationModel (Information Model) Abstract EntityClass

A container for persisting bis:InformationContentElement instances.

Base Class: BisCore:Model

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

Behavior: The system handler (C++) for InformationModel will only permit the insertion of InformationContentElement instances. This restriction applies to all InformationModel subclasses.

InformationPartitionElement (Information Partition) Abstract EntityClass

An instance of a specialization of bis:InformationPartitionElement establishes a particular Modeling Perspective for its parent bis:Subject. Instances are always sub-modeled by a specialization of bis:Model of the appropriate Modeling Perspective.

Base Class: BisCore:InformationContentElement

An InformationPartitionElement partitions the information in a BIS Repository into non-overlapping hierarchies of Models and Elements, each with a distinct Modeling Perspective. In some cases it further-partitions information into distinct subsets within a Modeling Perspective, based on a specific domain.

A bis:Subject mentions a real-world Object. BIS sees the Object as one-or-more Entities, where each Entity considers the Object from a particular Modeling Perspective. A specialization of a bis:InformationPartitionElement establishes a Perspective for modeling the Object to which the Subject refers. The top-Model sub-models the Partition. The actual modeling of the Entity with one-or-more Elements of the appropriate Modeling Perspective begins in the top-Model.

See Top of the World

Behavior: The system handler (C++) for InformationPartitionElement will only permit instances to be inserted into the RepositoryModel. The system handler will also require every InformationPartitionElement to have its Parent property reference a Subject.

Properties

Name Description Type Extended Type
Description A human-readable string describing the intent behind the partition. 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

InformationRecordElement (Information Record Element) Abstract EntityClass

bis:InformationRecordElement is an abstract base class for modeling information records. The bis:InformationRecordElement class is the default choice if no other subclass of bis:InformationContentElement makes sense.

Base Class: BisCore:InformationContentElement

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

InformationRecordModel (Information Record Model) EntityClass

A container for persisting bis:InformationRecordElement 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

Behavior: The system handler (C++) for InformationRecordModel will only permit the insertion of InformationRecordElement instances. The modeled element for an InformationRecordModel is expected to be an InformationRecordPartition.

InformationRecordPartition (Information Record Partition) Sealed EntityClass

A bis:InformationRecordPartition element establishes a 'Information Record' Modeling Perspective for its parent bis:Subject. A bis:InformationRecordPartition is always sub-modeled by a bis:InformationRecordModel.

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

The 'InformationRecord' Modeling Perspective is a subset of the 'Information' Modeling Perspective. It can hold a broad array of information records describing Entities.

Behavior: The system handler (C++) for InformationRecordPartition ensures that it is only ever sub-modeled by a InformationRecordModel.

InformationReferenceElement (Information Reference) Abstract EntityClass

bis:InformationReferenceElement is an abstract base class used for modeling Entities whose main purpose is to reference something else.

Base Class: BisCore:InformationContentElement

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

LightLocation (Light Location) Sealed EntityClass

The spatial location of a light source

Base Class: BisCore:SpatialLocationElement

Properties

Name Description Type Extended Type
Enabled Indicates that the light is on. boolean
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

LineStyle (Line Style) Sealed EntityClass

Base Class: BisCore:DefinitionElement

Behavior: The system handler restricts deletion. A LineStyle can only be deleted via a more expensive deleteDefinitionElements method that has determined the LineStyle is no longer referenced.

Properties

Name Description Type Extended Type
Description Description of the style string
Data Encoded style properties string Json
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

LinkElement (Link) Abstract EntityClass

A bis:LinkElement is a bis:InformationReferenceElement that specifies a link to some resource that is not modeled with BIS.

Base Class: BisCore:InformationReferenceElement

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

The link is generally to some resource, e.g. the subclass UrlLink points to an external resource while EmbeddedFileLink points to files embedded in an iModel.

Behavior: The system handler (C++) for LinkElement ensures that it is only ever inserted into an InformationModel.

LinkModel (Link Model) EntityClass

A container for persisting bis:LinkElement 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

Behavior: The system handler (C++) for LinkModel will only permit the insertion of LinkElement instances. The modeled element for an LinkModel is expected to be a LinkPartition.

LinkPartition (Link Partition) Sealed EntityClass

A bis:LinkPartition element establishes a 'Link' Modeling Perspective for its parent bis:Subject. A bis:LinkPartition is always sub-modeled by a bis:LinkModel.

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

The 'Link' Modeling Perspective is a subset of the 'Information' Modeling Perspective. It is used to hold links to external repositories, e.g. in the form of bis:RepositoryLink elements.

Behavior: The system handler (C++) for LinkPartition ensures that it is only ever sub-modeled by a LinkModel.

Model Abstract EntityClass

A bis:Model is a container for persisting a collection of related elements.

See Model Fundamentals.

Behavior: System handlers (written in C++) and domain handlers (written in TypeScript) provide behavior to specific Model subclasses. The system handler for Model requires its ModeledElement property to reference an Element that implements ISubModeledElement. This is enforced for all Model subclasses.

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

ModelSelector (Model Selector) EntityClass

Specifies the list of 3d models displayed by a SpatialViewDefinition. Multiple SpatialViewDefinitions may point to the same ModelSelector.

Base Class: BisCore:DefinitionElement

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

Behavior: The system handler restricts deletion. A ModelSelector can only be deleted via a more expensive deleteDefinitionElements method that has determined the ModelSelector is no longer referenced.

OrthographicViewDefinition (Orthographic Spatial View) EntityClass

A spatial view that always shows a parallel projection.

Base Class: BisCore:SpatialViewDefinition

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
Description A human-readable description of the View Definition string
CategorySelector navigation
DisplayStyle navigation
Origin Origin of the viewed volume on the lower, back, rear point3d
Extents Size of the view diagonal point3d
Yaw Yaw component of the view direction in degrees double
Pitch Pitch component of the view direction in degrees double
Roll Roll component of the view direction in degrees double
IsCameraOn Is the camera actually turned on? boolean
EyePoint Camera eye point point3d
LensAngle Camera lens angle in degrees double
FocusDistance Camera focus distance double
ModelSelector navigation

PhysicalElement (Physical Element) Abstract EntityClass

A bis:PhysicalElement is spatially located, has mass, and can be 'touched'.

Base Class: BisCore:SpatialElement

Properties

Name Description Type Extended Type
PhysicalMaterial Indicates the bis:PhysicalMaterial of which the bis:PhysicalElement is made. navigation
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 (Physical Material) Abstract EntityClass

A bis:PhysicalMaterial defines the matter of which physical objects are made. bis:PhysicalMaterials are not used to define rendering characteristics (see bis:RenderMaterial).

Base Class: BisCore:DefinitionElement

The PhysicalMaterial serves as the base class for the materials in the PhysicalMaterial schema. Generally, it is expected that domain-specific properties (e.g. strength properties for the structural domain) will be added to the subclasses such as Concrete and Steel using domain-specific ElementAspects.

The Density property in this base PhysicalMaterial class is intended to provide basic weight computation for the purposes of quantity takeoff and carbon footprint, for example, which are cross-domain functions. This kindOfQuantity for this property is AECU:DENSITY.

Properties

Name Description Type Extended Type
Density 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
IsPrivate If true, this bis:DefinitionElement should not be displayed in the GUI. boolean

PhysicalModel (Physical Model) EntityClass

A container for persisting bis:PhysicalElement and bis:SpatialLocationElement instances used to model real physical space. Also allows bis:GraphicalElement3d and bis:InformationContentElement.

Base Class: BisCore:SpatialModel

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
GeometryGuid A GUID that changes whenever any element in this GeometricModel has a change to its geometry. binary BeGuid
IsNotSpatiallyLocated If IsNotSpatiallyLocated is true, then the elements in this bis:GeometricModel3d are not in real-world coordinates and will not be in the spatial index. boolean
IsPlanProjection If IsPlanProjection is true, then the elements in this bis:GeometricModel3d are expected to be in an XY plane. boolean

PhysicalPartition (Physical Partition) Sealed EntityClass

A bis:PhysicalPartition element establishes a 'Physical' Modeling Perspective for its parent bis:Subject. A bis:PhysicalPartition is always sub-modeled by a bis:PhysicalModel.

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

The 'Physical' Perspective is for modeling physical Entities (which have mass) and for spatial location Entities (which are generally either defined-by physical Entities or are used-to-define physical Entities).

Behavior: The system handler (C++) for PhysicalPartition ensures that it is only ever sub-modeled by a SpatialModel.

PhysicalPortion (Physical Portion) Abstract EntityClass Deprecated

The best practice is now to inherit from a PhysicalElement subclass and mix-in ISubModeledElement directly.

DEPRECATED: A Physical Portion represents an arbitrary portion of a larger Physical Element that will be sub-modeled by a Physical Model.

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

PhysicalSystem (Physical System) Abstract EntityClass

A collection of connected SpatialElements (primarily PhysicalElements) that collectively implement some function.

Base Class: BisCore:GroupInformationElement

A non-exclusive set of SpatialElements grouped using the PhysicalSystemGroupsMembers relationship. A SpatialElement can be a member of multiple PhysicalSystems.

The primary contents of the PhysicalSystem are PhysicalElements, but SpatialLocationElements can be included, as well.

The hierarchy of PhysicalSystems is built using the PhysicalSystemAggregatesSubSystems 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 Physical System can define as many levels of hierarchy as needed.

Properties

Name Description Type Extended Type
AggregatingSystem The aggregator of this sub-system within the System hierarchy. navigation
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

PhysicalSystemModel (Physical System Model) EntityClass

A container for persisting bis:PhysicalSystem elements.

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

PhysicalSystemPartition (Physical System Partition) Sealed EntityClass

A bis:PhysicalSystemPartition element establishes a 'Physical System' Modeling Perspective for its parent bis:Subject. A bis:PhysicalSystemPartition is always sub-modeled by a bis:PhysicalSystemModel.

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

The 'Physical System' Modeling Perspective is a subset of the 'Information' Modeling Perspective. It holds Elements which group a collection of connected Entities (primarily Physical) that collectively implement some function..

PhysicalType (Physical Type) Abstract EntityClass

Defines a shared set of properties whose values vary per-type of a bis:PhysicalElement rather than per-instance. Intended for modeling Entities such as catalog entries, that typically define property values that are common among all instances associated with a given catalog entry.

Base Class: BisCore:TypeDefinitionElement

A PhysicalType is particularly useful in cases where a physical item can be ordered from a catalog. Each type of item will have the same set of type-specific properties. For example: manufacturer name, model number, maintenance intervals, etc.

Properties

Name Description Type Extended Type
PhysicalMaterial Indicates the bis:PhysicalMaterial of which bis:PhysicalElements of the given bis:PhysicalType are made. navigation
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

RecipeDefinitionElement (Recipe Definition) Abstract EntityClass

Defines instructions for creating/updating Element instances, e.g. determining their geometry from a template or a parametric script.

Base Class: BisCore:DefinitionElement

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

RenderMaterial (Render Material) Sealed EntityClass

A bis:RenderMaterial defines the rendering properties of materials for display. Not to be confused with a bis:PhysicalMaterial.

Base Class: BisCore:DefinitionElement

Marked as "Sealed" because JsonProperties will be used to persist data. This allows a single instance to "morph" between a DgnV8 render material and a future PBR material.

Behavior: The system handler restricts deletion. A RenderMaterial can only be deleted via a more expensive deleteDefinitionElements method that has determined the RenderMaterial is no longer referenced.

Properties

Name Description Type Extended Type
PaletteName The palette name that categorizes this RenderMaterial. string
Description A human-readable description of the RenderMaterial 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

RenderTimeline (Render Timeline) EntityClass

Timeline information for rendering and visualizing animations and schedule simulations.

Base Class: BisCore:InformationRecordElement

This information used to be stored within the DisplayStyle but was refactored out as a separate element for efficiency and reuse purposes.

Properties

Name Description Type Extended Type
Description An optional, human-readable description of the Render Timeline string
Script A JSON string containing the timeline and rendering instructions string Json
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

A bis:RepositoryLink is a bis:UrlLink element that links to an external repository. It implements ISubModeledElement only so that a sub-Model could be used to cache information from the external repository.

Base Class: BisCore:UrlLink

Properties

Name Description Type Extended Type
RepositoryGuid A GUID that identifies the external repository. binary BeGuid
Format The format of the external repository. 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
Url A URL pointing to an external resource. string URI
Description A human-readable description of the URL string

RepositoryModel (Repository Model) Sealed EntityClass

The singleton Model at the root of a BIS repository. Contains a hierarchy of bis:Subject elements that declare what the repository is modeling and child bis:InformationPartitionElement instances that establish Modeling Perspectives. Serves as a high-level table-of-contents for the BIS repository.

Base Class: BisCore:DefinitionModel

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

Behavior: The singleton RepositoryModel behaves like a standard InformationModel and should have been a direct subclass of InformationModel. Unfortunately, it subclasses from DefinitionModel for legacy reasons that are no longer relevant. However, the system handler (C++) for RepositoryModel makes it act like a direct subclass of InformationModel. Consistent with a standard InformationModel, all InformationContentElement instances except DefinitionElement subclasses may be inserted. For backwards compatibility reasons, the superclass of RepositoryModel cannot be corrected until a major schema version upgrade.

RoleElement (Role Element) Abstract EntityClass

A real world Entity is modeled as a bis:RoleElement when a set of external circumstances define an important role (one that is worth tracking) that is not intrinsic to the Entity playing the role. For example, a person can play the role of a teacher or a rock can play the role of a boundary marker.

Base Class: BisCore:Element

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

An Entity is modeled as a bis:RoleElement when a set of external circumstances define an important role (one that is worth tracking) that is not intrinsic to the Entity playing the role. For example, a person can play the role of a teacher or a rock can play the role of a boundary marker.

Behavior: The system handler (C++) for RoleElement will only permit instances to be inserted into a RoleModel. This behavior applies to all RoleElement subclasses. FunctionalElement (from the Functional schema) is the most widely known subclass of RoleElement.

RoleModel (Role Model) EntityClass

A container for persisting bis:RoleElement instances. This class should be considered abstract, so the appropriate subclass of bis:RoleModel should be used instead.

Base Class: BisCore:Model

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

Behavior: The system handler (C++) for RoleModel prevents GeometricElement instances from being inserted since the primary intent is for a RoleModel to contain RoleElement instances. InformationContentElement instances (other than DefinitionElement subclasses) can also be inserted into a RoleModel. This behavior applies to all RoleModel subclasses. FunctionalModel (from the Functional schema) is the most widely known subclass of RoleModel.

SectionDrawing (Section Drawing) EntityClass

A bis:SectionDrawing is a bis:Drawing of a 2D section of a spatial view. A bis:SectionDrawing can be sub-modeled by a DrawingModel or a GraphicalModel3d.

Base Class: BisCore:Drawing

Properties

Name Description Type Extended Type
SectionType Type of the section: e.g. Section, Plan, Elevation, Detail. SectionType
SpatialView The SpatialViewDefinition used to generate this SectionDrawing. navigation
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

SectionDrawingLocation (Section Drawing Location) EntityClass

The spatial location of a section drawing generated from a SpatialViewDefinition.

Base Class: BisCore:SpatialLocationElement

Properties

Name Description Type Extended Type
SectionView The section view generated from the SpatialViewDefinition. navigation
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

SectionDrawingModel (Section Drawing Model) EntityClass

A container for persisting section bis:DrawingGraphic elements representing a cross-section of a PhysicalModel. Generally at the same scale as the sectioned geometry to allow it to be display in situ at the location of the sectioning.

Base Class: BisCore:DrawingModel

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
GeometryGuid A GUID that changes whenever any element in this GeometricModel has a change to its geometry. binary BeGuid
GlobalOrigin The actual coordinates of (0,0) in modeling coordinates. An offset applied to all modeling coordinates. point2d

SectionLocation (Section Location) EntityClass Deprecated

The SectionLocation class is deprecated and is replaced by SectionDrawingLocation.

DEPRECATED: The section location defines how a section drawing should be generated in a 3d view.

Base Class: BisCore:SpatialLocationElement

Properties

Name Description Type Extended Type
SectionType Type of the section: e.g. Section, Plan, Elevation, Detail. SectionType
ClipGeometry Details on how this section was clipped. string Json
ModelSelector Describes the models relevant for this section location display. navigation
CategorySelector Describes the categories relevant for this section location display. navigation
ViewAttachment navigation
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

Sheet EntityClass

A bis:Sheet is a bis:Document of a 2D sheet.

Base Class: BisCore:Document

Properties

Name Description Type Extended Type
Scale The Sheet's drawing scale double
Height Height of the Sheet (in meters) double
Width Width of the Sheet (in meters) double
SheetTemplate navigation
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

SheetBorder (Sheet Border) EntityClass

Base Class: BisCore:DrawingGraphic

Properties

Name Description Type Extended Type
BorderTemplate navigation
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:DrawingCategory used to categorize this bis:GeometricElement2d instance. navigation
Origin The placement origin of this bis:Element. point2d
Rotation The placement rotation (in degrees) of this bis:Element. double
BBoxLow The 'low' point of the element-aligned bounding box of this bis:Element. point2d
BBoxHigh The 'high' point of the element-aligned bounding box of this bis:Element. point2d
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 by instance of this Element. navigation

SheetBorderTemplate (Sheet Border Template) EntityClass

Base Class: BisCore:Document

Properties

Name Description Type Extended Type
Height Height of the sheet border. double
Width Width of the sheet border. 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

SheetIndex EntityClass

A bis:InformationReferenceElement used to organize bis:Sheet instances into a hierarchy with the assistance of bis:SheetIndexFolder and other bis:SheetIndex instances.

Base Class: BisCore:InformationReferenceElement

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

Instances of SheetIndex are always contained within a SheetIndexModel.

SheetIndexEntry Abstract EntityClass

A bis:InformationReferenceElement used as the base-class for elements that participate in a Sheet-Index hierarchy.

Base Class: BisCore:InformationReferenceElement

Properties

Name Description Type Extended Type
EntryPriority Can be used to prioritize or order members within a SheetIndex or SheetIndexFolder. int
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

SheetIndexFolder EntityClass

A SheetIndexEntry used to organize other SheetIndexEntry instances in a hierarchy.

Base Class: BisCore:SheetIndexEntry

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
EntryPriority Can be used to prioritize or order members within a SheetIndex or SheetIndexFolder. int

Instances of SheetIndexFolder are always contained within a SheetIndexModel.

SheetIndexModel (Sheet Index Model) EntityClass

A container for persisting bis:SheetIndexEntry and bis:SheetIndex elements.

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

SheetIndexPartition (Sheet Index Partition) Sealed EntityClass

A bis:SheetIndexPartition element establishes a 'Sheet Index' Modeling Perspective for its parent bis:Subject. A bis:SheetIndexPartition is always sub-modeled by a bis:SheetIndexModel.

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

The 'Sheet Index' Modeling Perspective is a subset of the 'Information' Modeling Perspective. It holds Elements that organize Sheets into hierarchies for easier access.

SheetIndexReference EntityClass

A SheetIndexEntry used to include a SheetIndex hierarchy into another one.

Base Class: BisCore:SheetIndexEntry

Instances of SheetIndexReference are always contained within a SheetIndexModel.

Properties

Name Description Type Extended Type
SheetIndex The bis:SheetIndex that this bis:SheetIndexReference is ponting to. navigation
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
EntryPriority Can be used to prioritize or order members within a SheetIndex or SheetIndexFolder. int

SheetModel (Sheet Model) EntityClass

A container for persisting sheet views and graphics.

Base Class: BisCore:GraphicalModel2d

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
GeometryGuid A GUID that changes whenever any element in this GeometricModel has a change to its geometry. binary BeGuid
GlobalOrigin The actual coordinates of (0,0) in modeling coordinates. An offset applied to all modeling coordinates. point2d

SheetReference EntityClass

A SheetIndexEntry used to include a Sheet instance into a Sheet-Index hierarchy.

Base Class: BisCore:SheetIndexEntry

Instances of SheetReference are always contained within a SheetIndexModel.

Properties

Name Description Type Extended Type
Sheet The bis:Sheet that this bis:SheetReference is ponting to. navigation
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
EntryPriority Can be used to prioritize or order members within a SheetIndex or SheetIndexFolder. int

SheetTemplate (Sheet Template) EntityClass

Base Class: BisCore:Document

Properties

Name Description Type Extended Type
Height Height of the sheet. double
Width Width of the sheet. double
Border navigation
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

SheetViewDefinition (Sheet View Definition) EntityClass

A bis:SheetViewDefinition specifies parameters for a view of a bis:SheetModel.

Base Class: BisCore:ViewDefinition2d

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
Description A human-readable description of the View Definition string
CategorySelector navigation
DisplayStyle navigation
BaseModel navigation
Origin Lower left corner of the viewed area. point2d
Extents Size of the view diagonal point2d
RotationAngle Rotation angle in degrees of the viewed area. double

SpatialCategory (Spatial Category) Sealed EntityClass

A bis:SpatialCategory is used for classifying bis:GeometricElement3d elements via the bis:GeometricElement3dIsInCategory (concrete and sealed) relationship.

Base Class: BisCore:Category

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
Description A human-readable description of the Category string
Rank The Rank of a category indicates how it was created and where it can be used. 0=System; 1=Domain; 2=Application; 3=User. int

SpatialElement (Spatial Element) Abstract EntityClass

A bis:SpatialElement is a bis:GeometricElement3d that occupies real world space.

Base Class: BisCore:GeometricElement3d

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

SpatialIndex (Spatial Index) Sealed EntityClass

The Spatial Index contains information used to optimize spatial queries. Like other database indices, it is automatically maintained by the system.

Properties

Name Description Type Extended Type
MinX Minimum X value of the axis-aligned range box that encloses the spatial element double
MaxX Maximum X value of the axis-aligned range box that encloses the spatial element double
MinY Minimum Y value of the axis-aligned range box that encloses the spatial element double
MaxY Maximum Y value of the axis-aligned range box that encloses the spatial element double
MinZ Minimum Z value of the axis-aligned range box that encloses the spatial element double
MaxZ Maximum Z value of the axis-aligned range box that encloses the spatial element double

SpatialLocationElement (Spatial Location Element) Abstract EntityClass

A bis:SpatialLocationElement identifies a 'tracked' real world location but has no mass and cannot be 'touched'.

Base Class: BisCore:SpatialElement

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

SpatialLocationModel (Spatial Location Model) EntityClass

A container for persisting bis:SpatialLocationElement instances. Also allows bis:GraphicalElement3d and bis:InformationContentElement.

Base Class: BisCore:SpatialModel

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
GeometryGuid A GUID that changes whenever any element in this GeometricModel has a change to its geometry. binary BeGuid
IsNotSpatiallyLocated If IsNotSpatiallyLocated is true, then the elements in this bis:GeometricModel3d are not in real-world coordinates and will not be in the spatial index. boolean
IsPlanProjection If IsPlanProjection is true, then the elements in this bis:GeometricModel3d are expected to be in an XY plane. boolean

Behavior: The system handler (C++) for SpatialLocationModel will prevent PhysicalElement instances from being inserted since the primary intent is for the model to contain SpatialLocationElement instances. InformationContentElement instances (other than DefinitionElement subclasses) can also be inserted into a SpatialLocationModel. The restrictions from the GeometricModel3d superclass also apply.

SpatialLocationPartition (Spatial Location Partition) Sealed EntityClass

A bis:SpatialLocationPartition element establishes a 'SpatialLocation' Modeling Perspective for its parent bis:Subject. A bis:SpatialLocationPartition is always sub-modeled by a bis:SpatialLocationModel.

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

The “Spatial Location” perspective is a strict subset of the “Physical” perspective. Spatial locations are massless, but they manifest in the real physical world:

  • They may be defined in relation to physical entities, e.g. the air gap between two conductors, the space around an access panel, the volume occupied by a physical Entity, or a surface demarcating a region on the surface of a physical entity.
  • They may be used to guide positioning of physical Entities, e.g. grid lines that may be manifested physically on a construction site via chalk lines or laser beams.
  • They may be abstractions of physical consequence, like property or political boundaries that are often demarcated in the physical world via markers, signs, or natural boundaries.

The 'Spatial Location' perspective is used by SpatialLocationModel and SpatialLocationElement in order to segregate certain kinds of elements.

In retrospect, the complexity added by introducing a distinct "Spatial Location" perspective may have not been worth the benefit. Our current recommendation is to not instantiate a SpatialLocationPartition, but instead organize spatial locations in the context of the 'physical backbone', i.e. the Physical model hierarchy.

Behavior: The system handler (C++) for SpatialLocationPartition ensures that it is only ever sub-modeled by a SpatialLocationModel.

SpatialLocationPortion (Spatial Location Portion) Abstract EntityClass Deprecated

The best practice is now to inherit from a SpatialLocationElement subclass and mix-in ISubModeledElement directly.

DEPRECATED: A Spatial Location Portion represents an arbitrary portion of a larger Spatial Location Element that will be sub-modeled by a Spatial Location Model.

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

SpatialLocationType (Spatial Location Type) Abstract EntityClass

Defines a shared set of properties whose values vary per-type of a bis:SpatialLocationElement rather than per-instance.

Base Class: BisCore:TypeDefinitionElement

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

SpatialModel (Spatial Model) Abstract EntityClass

An abstract base class for bis:PhysicalModel and bis:SpatialLocationModel--the only two types of model for real physical space. Other GeometricModel3d specializations use the real-world coordinate system, but are considered as informational or mathematical abstractions.

Base Class: BisCore:GeometricModel3d

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
GeometryGuid A GUID that changes whenever any element in this GeometricModel has a change to its geometry. binary BeGuid
IsNotSpatiallyLocated If IsNotSpatiallyLocated is true, then the elements in this bis:GeometricModel3d are not in real-world coordinates and will not be in the spatial index. boolean
IsPlanProjection If IsPlanProjection is true, then the elements in this bis:GeometricModel3d are expected to be in an XY plane. boolean

SpatialViewDefinition (Spatial View Definition) EntityClass

A view of a spatially located volume.

Base Class: BisCore:ViewDefinition3d

Behavior: The system handler (C++) for SpatialViewDefinition requires a valid ModelSelector reference. The restrictions of the superclass also apply.

Properties

Name Description Type Extended Type
ModelSelector navigation
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
Description A human-readable description of the View Definition string
CategorySelector navigation
DisplayStyle navigation
Origin Origin of the viewed volume on the lower, back, rear point3d
Extents Size of the view diagonal point3d
Yaw Yaw component of the view direction in degrees double
Pitch Pitch component of the view direction in degrees double
Roll Roll component of the view direction in degrees double
IsCameraOn Is the camera actually turned on? boolean
EyePoint Camera eye point point3d
LensAngle Camera lens angle in degrees double
FocusDistance Camera focus distance double

SubCategory (Sub-Category) Sealed EntityClass

A bis:SubCategory is a subdivision of a bis:Category. SubCategories allow GeometricElements to have multiple pieces of Geometry that can be independently visible and styled (color, linesStyle, transparency, etc.). It is important to understand that a bis:SubCategory is not a bis:Category (i.e. Categories do not nest). bis:GeometricElements are always related to a bis:Category, not a bis:SubCategory.

Base Class: BisCore:DefinitionElement

Behavior: The system handler (C++) for SubCategory requires a valid CodeValue (name) and a Parent property that references its owning Category. The system handler also restricts deletion. A SubCategory can only be deleted via a more expensive deleteDefinitionElements method that has determined the SubCategory is no longer referenced.

Properties

Name Description Type Extended Type
Description A human-readable description of the SubCategory string
Properties Contains the display properties (color, style, weight, etc.) for the SubCategory. It should not be used for the persistence of application-specific information. string Json
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

Subject Sealed EntityClass

A bis:Subject is an information element that references (by name) some real-world Object that will be modeled in this BIS repository.

Base Class: BisCore:InformationReferenceElement

Subject elements only exist in the RepositoryModel singleton at the root of a BIS Repository. There will be one "root" instance of Subject that does not have a parent Subject. Child Subject elements reference "parts" of the real-world Object referenced by their parent Subject element.

The hierarchy of Subjects is not meant to model the root Object's structure, but is a way to express high-level structure that has not been modeled explicitly. Subjects do not "model" or "represent" or "describe" the Object that they reference. All modeling happens using Elements in the other bis:Models in the BIS Repository.

Behavior: The system handler (C++) for Subject will only permit instances to be inserted into the RepositoryModel. It will require every Subject except for the "root" to have its Parent property reference another Subject. The system handler also prevents the "root" Subject from ever being deleted.

Properties

Name Description Type Extended Type
Description A human-readable description of the real-world Object(s) that will be modeled for this Subject 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

Link to the Configuration for an iModel Synchronization Job

Base Class: BisCore:UrlLink

A Link to the Configuration for a Synchronization Job. By convention, a unique Id for the SynchronizationConfigLink such as a job Id should be set in the CodeValue property and a name should be set in in the UserLabel property.

Properties

Name Description Type Extended Type
LastSuccessfulRun Date/Time of Last Successful Run of this Synchronization Configuration dateTime
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
Url A URL pointing to an external resource. string URI
Description A human-readable description of the URL string

TemplateRecipe2d (2D Template Recipe) EntityClass

A recipe that uses a 2D template for creating new instances.

Base Class: BisCore:RecipeDefinitionElement

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

TemplateRecipe3d (3D Template Recipe) EntityClass

A recipe that uses a 3D template for creating new instances.

Base Class: BisCore:RecipeDefinitionElement

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

TemplateViewDefinition2d (2D Template View Definition) EntityClass

A bis:ViewDefinition2d used to display a 2D template model.

Base Class: BisCore:ViewDefinition2d

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
Description A human-readable description of the View Definition string
CategorySelector navigation
DisplayStyle navigation
BaseModel navigation
Origin Lower left corner of the viewed area. point2d
Extents Size of the view diagonal point2d
RotationAngle Rotation angle in degrees of the viewed area. double

TemplateViewDefinition3d (3D Template View Definition) EntityClass

A bis:ViewDefinition3d used to display a 3D template model.

Base Class: BisCore:ViewDefinition3d

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
Description A human-readable description of the View Definition string
CategorySelector navigation
DisplayStyle navigation
Origin Origin of the viewed volume on the lower, back, rear point3d
Extents Size of the view diagonal point3d
Yaw Yaw component of the view direction in degrees double
Pitch Pitch component of the view direction in degrees double
Roll Roll component of the view direction in degrees double
IsCameraOn Is the camera actually turned on? boolean
EyePoint Camera eye point point3d
LensAngle Camera lens angle in degrees double
FocusDistance Camera focus distance double

TextAnnotation2d (2D Text Annotation) EntityClass

Base Class: BisCore:AnnotationElement2d

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:DrawingCategory used to categorize this bis:GeometricElement2d instance. navigation
Origin The placement origin of this bis:Element. point2d
Rotation The placement rotation (in degrees) of this bis:Element. double
BBoxLow The 'low' point of the element-aligned bounding box of this bis:Element. point2d
BBoxHigh The 'high' point of the element-aligned bounding box of this bis:Element. point2d
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 by instance of this Element. navigation

TextAnnotation3d (3D Text Annotation) EntityClass

Base Class: BisCore:GraphicalElement3d

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

TextAnnotationData (Text Annotation Data) Sealed EntityClass

The aspect used to store text annotation data for bis:TextAnnotation2d an bis:TextAnnotation3d elements.

Base Class: BisCore:ElementUniqueAspect

Properties

Name Description Type Extended Type
TextAnnotation Text in Annotations.fb.h flat buffer format binary
Inherited properties
Name Description Type Extended Type
Element The bis:Element that owns this bis:ElementUniqueAspect navigation

TextAnnotationSeed (Text Annotation Seed) Sealed EntityClass

Base Class: BisCore:DefinitionElement

Properties

Name Description Type Extended Type
Description Description of the style string
Data Encoded style properties binary
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

Texture Sealed EntityClass

A bis:Texture represents a named texture used for rendering purposes. The texture data is stored as a binary blob interpreted according to the specified texture format.

Base Class: BisCore:DefinitionElement

Behavior: The system handler restricts deletion. A Texture can only be deleted via a more expensive deleteDefinitionElements method that has determined the Texture is no longer referenced.

Properties

Name Description Type Extended Type
Description A human-readable description of the Texture string
Data Encoded texture data binary
Format Format of the encoded texture data. See the ImageSourceFormat enum in the API. int
Width Image width in pixels. int
Height Image height in pixels. int
Flags Currently unused and always zero. int
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

TypeDefinitionElement (Type Definition) Abstract EntityClass

Defines a shared set of properties (the 'type') that can be associated with a bis:Element.

Base Class: BisCore:DefinitionElement

A TypeDefinitionElement is an implementation of a data normalization strategy and is meant to hold properties that vary per type instead of varying per Element instance. Rather than storing the same set of type-specific properties on every Element instance, each Element instance will have a set of instance-specific properties (as specified by the Element class) and a set of related type-specific properties found by joining to the TypeDefinitionElement instance.

See relationships such as PhysicalElementIsOfType.

Properties

Name Description Type Extended Type
Recipe navigation
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

A bis:UrlLink is a bis:LinkElement that specifies a URL link.

Base Class: BisCore:LinkElement

Properties

Name Description Type Extended Type
Url A URL pointing to an external resource. string URI
Description A human-readable description of the URL 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

ViewAttachment (View Attachment) EntityClass

Base Class: BisCore:GraphicalElement2d

Properties

Name Description Type Extended Type
View The view that is to be attached navigation
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:DrawingCategory used to categorize this bis:GeometricElement2d instance. navigation
Origin The placement origin of this bis:Element. point2d
Rotation The placement rotation (in degrees) of this bis:Element. double
BBoxLow The 'low' point of the element-aligned bounding box of this bis:Element. point2d
BBoxHigh The 'high' point of the element-aligned bounding box of this bis:Element. point2d
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 by instance of this Element. navigation

ViewDefinition (View Definition) Abstract EntityClass

A bis:ViewDefinition specifies the area/volume that is viewed, and refers to a bis:DisplayStyle and a bis:CategorySelector to be used. Subclasses of bis:ViewDefinition determine which model(s) are viewed.

Base Class: BisCore:DefinitionElement

Behavior: The system handler (C++) for ViewDefinition requires a valid DisplayStyle reference and a valid CategorySelector reference. This applies to all ViewDefinition subclasses. The system handler also restricts deletion. A ViewDefinition can only be deleted via a more expensive deleteDefinitionElements method that has determined the ViewDefinition is no longer referenced.

Properties

Name Description Type Extended Type
Description A human-readable description of the View Definition string
CategorySelector navigation
DisplayStyle navigation
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

ViewDefinition2d (2D View Definition) Abstract EntityClass

A view of a 2D model that has its own local coordinate system.

Base Class: BisCore:ViewDefinition

Properties

Name Description Type Extended Type
BaseModel navigation
Origin Lower left corner of the viewed area. point2d
Extents Size of the view diagonal point2d
RotationAngle Rotation angle in degrees of the viewed area. 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
IsPrivate If true, this bis:DefinitionElement should not be displayed in the GUI. boolean
Description A human-readable description of the View Definition string
CategorySelector navigation
DisplayStyle navigation

ViewDefinition3d (3D View Definition) Abstract EntityClass

A bis:ViewDefinition3d specifies the volume that is viewed on referenced 3D bis:Models. It refers to a bis:DisplayStyle3d and a bis:CategorySelector to be used.

Base Class: BisCore:ViewDefinition

Properties

Name Description Type Extended Type
Origin Origin of the viewed volume on the lower, back, rear point3d
Extents Size of the view diagonal point3d
Yaw Yaw component of the view direction in degrees double
Pitch Pitch component of the view direction in degrees double
Roll Roll component of the view direction in degrees double
IsCameraOn Is the camera actually turned on? boolean
EyePoint Camera eye point point3d
LensAngle Camera lens angle in degrees double
FocusDistance Camera focus distance 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
IsPrivate If true, this bis:DefinitionElement should not be displayed in the GUI. boolean
Description A human-readable description of the View Definition string
CategorySelector navigation
DisplayStyle navigation

VolumeElement (Volume Element) EntityClass

A bis:VolumeElement is a bis:SpatialLocationElement that is restricted to defining a volume.

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

WebMercatorModel (Web Mercator Model) EntityClass Deprecated

Instances of WebMercatorModel are no longer created.

DEPRECATED. Not used.

Base Class: BisCore:SpatialModel

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
GeometryGuid A GUID that changes whenever any element in this GeometricModel has a change to its geometry. binary BeGuid
IsNotSpatiallyLocated If IsNotSpatiallyLocated is true, then the elements in this bis:GeometricModel3d are not in real-world coordinates and will not be in the spatial index. boolean
IsPlanProjection If IsPlanProjection is true, then the elements in this bis:GeometricModel3d are expected to be in an XY plane. boolean

Mixins

IParentElement (Parent Element) Abstract Mixin

An interface that can be mixed-into a bis:Element to indicate that it can be a parent (own child Elements). This interface is mutually exclusive with bis:ISubModeledElement.

Applies To: Element

Only subclasses of bis:Element can implement the IParentElement interface

Parent-child modeling differs from sub-modeling in that the parent Element and child Elements are to be considered together in the context of a single Model, whereas a sub-modeled Element is considered independently of its sub-Model. For example, and application would view a parent Element and its child Elements together, but would either view a sub-modeled Element or exclude that Element and instead view the Elements of its sub-Model.

See also ISubModeledElement.

ISubModeledElement (Sub-Modeled Element) Abstract Mixin

An interface that can be mixed-into a bis:Element to indicate that it can be sub-modeled by a finer-grained bis:Model. This interface is mutually exclusive with bis:IParentElement.

Applies To: Element

Sub-modeling is also sometimes described as "breaking down", i.e. a sub-modeled Element can be "broken down into" a finer-grained (sub) Model.
See also IParentElement.

Behavior: The system handler (C++) for Element only permits a sub-model to be inserted if the class of the modeled element implements the ISubModeledElement interface.

Custom Attribute Classes

AutoHandledProperty CustomAttributeClass

Applied to an element's property to indicate that select, update, and insert of the property's value are handled automatically by the platform.

Applies to: AnyProperty

Properties

Name Description Label Category Read Only Priority
StatementTypes Indicates the statement types that are relevant for a particular auto-handled property. false 0

ClassHasHandler CustomAttributeClass

Applied to an ECClass to indicate that a C++ subclass of DgnDomain::Handler will supply behavior for it at run-time. This custom attribute may only be used by BisCore or other core schemas.

Applies to: Any

Applied to an ECClass to indicate that a system handler (written in C++) will supply behavior for it at run-time. This custom attribute may only be used by BisCore and other core schemas. Other schemas should use domain handlers (written in TypeScript) and the SchemaHasBehavior custom attribute applied to the ECSchema instead.

Properties

Name Description Label Category Read Only Priority
Restrictions List of actions that are not permitted when the associated handler is not available false 0

CustomHandledProperty CustomAttributeClass

Applied to an element's property to indicate that the property's value is handled specially by a C++ class. Can only be applied to properties of ECClasses that specify ClassHasHandler.

Applies to: AnyProperty

See CustomHandledPropertyStatementType.

Properties

Name Description Label Category Read Only Priority
StatementTypes Indicates the statement types that are relevant for a particular custom-handled property. false 0

ReservedPropertyNames Sealed CustomAttributeClass

Declare a list of properties as reserved. The property name listed would be forbidden from use in the class and classes that inherit from it.

Applies to: EntityClass, RelationshipClass

Properties

Name Description Label Category Read Only Priority
PropertyNames An array of names of properties that should not be used. Case-insensitive comparison will be used. false 0

SchemaHasBehavior CustomAttributeClass

Applied to an ECSchema to indicate that there is an associated JavaScript library that will provide run-time behavior.

Applies to: Schema

Properties

Name Description Label Category Read Only Priority
Restrictions List of actions that are not permitted when the associated JavaScript library is not available. false 0

Relationship Classes

BaseModelForView2d Sealed RelationshipClass

Strength: Referencing

Strength Direction: Forward

See ViewDefinition2d.BaseModel ECNavigationProperty ECNavigationProperty

Source

Is Polymorphic: true

Role Label: is base model for

Multiplicity: (1..1)

Constraint Classes:

Target

Is Polymorphic: true

Role Label: has base

Multiplicity: (0..*)

Constraint Classes:

CategoryOwnsSubCategories RelationshipClass

Base Class: BisCore:ElementOwnsChildElements

Strength: Embedding

Strength Direction: Forward

Source

Is Polymorphic: true

Role Label: owns

Multiplicity: (0..1)

Constraint Classes:

Target

Is Polymorphic: false

Role Label: is owned by

Multiplicity: (0..*)

Constraint Classes:

CategorySelectorRefersToCategories Sealed RelationshipClass

Base Class: BisCore:ElementRefersToElements

Strength: Referencing

Strength Direction: Forward

Source

Is Polymorphic: true

Role Label: refers to

Multiplicity: (0..*)

Constraint Classes:

Target

Is Polymorphic: true

Role Label: is referenced by

Multiplicity: (0..*)

Constraint Classes:

CodeSpecSpecifiesCode Sealed RelationshipClass

Strength: Referencing

Strength Direction: Forward

See Element.CodeSpec ECNavigationProperty.

Source

Is Polymorphic: true

Role Label: specified code for

Multiplicity: (1..1)

Constraint Classes:

Target

Is Polymorphic: true

Role Label: code is specified by

Multiplicity: (0..*)

Constraint Classes:

DefinitionGroupGroupsDefinitions RelationshipClass

A relationship used to identify the DefinitionsElements that are members of a DefinitionGroup.

Base Class: BisCore:ElementGroupsMembers

Strength: Referencing

Strength Direction: Forward

A DefinitionGroup may not be both the source and the target of the same relationship instance.

Source

Is Polymorphic: true

Role Label: groups

Multiplicity: (0..*)

Constraint Classes:

Target

Is Polymorphic: true

Role Label: is grouped by

Multiplicity: (0..*)

Constraint Classes:

DrawingGraphicRepresentsElement RelationshipClass

Relates a bis:DrawingGraphic to the bis:Element that it represents.

Base Class: BisCore:ElementRefersToElements

Strength: Referencing

Strength Direction: Forward

Source

Is Polymorphic: true

Role Label: represents

Multiplicity: (0..*)

Constraint Classes:

Target

Is Polymorphic: true

Role Label: is represented by

Multiplicity: (0..*)

Constraint Classes:

DrawingModelBreaksDownDrawing (DrawingModel Sub-Models Drawing) RelationshipClass

Base Class: BisCore:ModelModelsElement

Strength: Embedding

Strength Direction: Backward

A more consistent name for this relationship would have been 'DrawingModelSubModelsDrawing', but the existing name cannot be changed in this generation of BIS. At times, we use "breaks down" as a synonym for "sub-models", but we are standardizing on "sub-models", reserving "breakdown" for use with various engineering breakdown structures.

Source

Is Polymorphic: true

Role Label: sub-models

Multiplicity: (0..1)

Constraint Classes:

Target

Is Polymorphic: true

Role Label: is sub-modeled by

Multiplicity: (1..1)

Constraint Classes:

ElementDrivesElement RelationshipClass

A relationship that indicates that the source Element drives (controls the lifecycle or structure of) a dependent target Element.

Strength: Referencing

Strength Direction: Forward

In iModels, a change-propagation system calls handlers that allow the driven Element to be affected by the driving Element. See DriverBundleElement.

Source

Is Polymorphic: true

Role Label: drives

Multiplicity: (0..*)

Constraint Classes:

Target

Is Polymorphic: true

Role Label: is driven by

Multiplicity: (0..*)

Constraint Classes:

ElementEncapsulatesElements RelationshipClass

A relationship that indicates that child bis:Elements are meant to be hidden.

Base Class: BisCore:ElementOwnsChildElements

Strength: Embedding

Strength Direction: Forward

Source

Is Polymorphic: true

Role Label: encapsulates

Multiplicity: (0..1)

Constraint Classes:

Target

Is Polymorphic: true

Role Label: is encapsulated by

Multiplicity: (0..*)

Constraint Classes:

ElementGroupsMembers RelationshipClass

Represents group membership. Relates a group Element to its member Elements.

Base Class: BisCore:ElementRefersToElements

Strength: Referencing

Strength Direction: Forward

Source

Is Polymorphic: true

Role Label: groups

Multiplicity: (0..*)

Constraint Classes:

Target

Is Polymorphic: true

Role Label: is grouped by

Multiplicity: (0..*)

Constraint Classes:

Associates bis:LinkElements to a bis:Element.

Base Class: BisCore:ElementRefersToElements

Strength: Referencing

Strength Direction: Forward

Source

Is Polymorphic: true

Role Label: has

Multiplicity: (1..*)

Constraint Classes:

Target

Is Polymorphic: true

Role Label: is referenced by

Multiplicity: (0..*)

Constraint Classes:

ElementIsFromSource Sealed RelationshipClass

Relates an Element (via its ExternalSourceAspect) with its ExternalSource. Used as an ECNavigationProperty by bis:ExternalSourceAspect.Source.

Strength: Referencing

Strength Direction: Forward

Source

Is Polymorphic: true

Role Label: is from

Multiplicity: (0..*)

Constraint Classes:

Target

Is Polymorphic: true

Role Label: is source of

Multiplicity: (0..1)

Constraint Classes:

ElementOwnsChannelRootAspect RelationshipClass

Base Class: BisCore:ElementOwnsUniqueAspect

Strength: Embedding

Strength Direction: Forward

Source

Is Polymorphic: true

Role Label: owns

Multiplicity: (1..1)

Constraint Classes:

Target

Is Polymorphic: false

Role Label: is owned by

Multiplicity: (0..1)

Constraint Classes:

ElementOwnsChildElements RelationshipClass

Relates a bis:Element to child bis:Elements which represent parts of the Entity modeled by the parent bis:Element.

Strength: Embedding

Strength Direction: Forward

See Element.Parent ECNavigationProperty ECNavigationProperty Should be treated as abstract, but was not made abstract because of legacy usages that were already released.

Source

Is Polymorphic: true

Role Label: owns child

Multiplicity: (0..1)

Constraint Classes:

Target

Is Polymorphic: true

Role Label: is owned by parent

Multiplicity: (0..*)

Constraint Classes:

ElementOwnsExternalSourceAspects RelationshipClass

Base Class: BisCore:ElementOwnsMultiAspects

Strength: Embedding

Strength Direction: Forward

Source

Is Polymorphic: true

Role Label: owns

Multiplicity: (1..1)

Constraint Classes:

Target

Is Polymorphic: true

Role Label: is owned by

Multiplicity: (0..*)

Constraint Classes:

ElementOwnsMultiAspects RelationshipClass

Strength: Embedding

Strength Direction: Forward

See ElementMultiAspect.Element ECNavigationProperty ECNavigationProperty

Source

Is Polymorphic: true

Role Label: owns

Multiplicity: (1..1)

Constraint Classes:

Target

Is Polymorphic: true

Role Label: is owned by

Multiplicity: (0..*)

Constraint Classes:

ElementOwnsUniqueAspect RelationshipClass

Strength: Embedding

Strength Direction: Forward

See ElementUniqueAspect.Element ECNavigationProperty ECNavigationProperty

Source

Is Polymorphic: true

Role Label: owns

Multiplicity: (1..1)

Constraint Classes:

Target

Is Polymorphic: true

Role Label: is owned by

Multiplicity: (0..*)

Constraint Classes:

ElementRefersToDocuments RelationshipClass

A general relationship between a bis:Element and a bis:Document. There is no implied owner in this relationship – so it is valid for relationship where the document existed before the referenced element (e.g. design specification) or after (e.g. operational results).

Base Class: BisCore:ElementRefersToElements

Strength: Referencing

Strength Direction: Forward

Source

Is Polymorphic: true

Role Label: refers to

Multiplicity: (0..*)

Constraint Classes:

Target

Is Polymorphic: true

Role Label: is referenced by

Multiplicity: (0..*)

Constraint Classes:

ElementRefersToElements Abstract RelationshipClass

A general relationship between two bis:Elements. These are typically specialized by derived relationship to give more specific meaning.

Strength: Referencing

Strength Direction: Forward

Subclasses of ElementRefersToElements can make use of the MemberPriority property to prioritize or order elements being referenced. By default, MemberPriority is set to null if not assigned. Duplicate not-null values for MemberPriority are allowed as long as the Sources, Targets, or the ECClassId of the relationships are different. Furthermore, duplicate Sources and Targets are accepted only if either their ECClassId or MemberPriority values are not the same.

Source

Is Polymorphic: true

Role Label: refers to

Multiplicity: (0..*)

Constraint Classes:

Target

Is Polymorphic: true

Role Label: is referenced by

Multiplicity: (0..*)

Constraint Classes:

ElementScopesCode Sealed RelationshipClass

Strength: Referencing

Strength Direction: Forward

See Element.CodeScope ECNavigationProperty.

Source

Is Polymorphic: true

Role Label: scopes code for

Multiplicity: (1..1)

Constraint Classes:

Target

Is Polymorphic: true

Role Label: code is scoped by

Multiplicity: (0..*)

Constraint Classes:

ElementScopesExternalSourceIdentifier Sealed RelationshipClass

Used by ECNavigationProperty bis:ExternalSourceAspect.Scope

Strength: Referencing

Strength Direction: Backward

Source

Is Polymorphic: true

Role Label: scopes

Multiplicity: (1..1)

Constraint Classes:

Target

Is Polymorphic: true

Role Label: is scoped by

Multiplicity: (0..*)

Constraint Classes:

ExternalSourceAttachmentAttachesSource RelationshipClass

Used by ECNavigationProperty bis:ExternalSourceAttachment.Attaches

Strength: Referencing

Strength Direction: Forward

Source

Is Polymorphic: true

Role Label: attaches

Multiplicity: (0..*)

Constraint Classes:

Target

Is Polymorphic: true

Role Label: is attached by

Multiplicity: (1..1)

Constraint Classes:

ExternalSourceGroupGroupsSources Sealed RelationshipClass

Groups ExternalSources that collectively act as a source used by an ExternalSourceAspect.

Base Class: BisCore:ElementGroupsMembers

Strength: Referencing

Strength Direction: Forward

Source

Is Polymorphic: true

Role Label: groups

Multiplicity: (0..*)

Constraint Classes:

Target

Is Polymorphic: true

Role Label: is grouped by

Multiplicity: (0..*)

Constraint Classes:

ExternalSourceIsInRepository Sealed RelationshipClass

Used by ExternalSource.Repository ECNavigationProperty

Strength: Referencing

Strength Direction: Forward

Source

Is Polymorphic: true

Role Label: is stored in

Multiplicity: (0..*)

Constraint Classes:

Target

Is Polymorphic: true

Role Label: stores

Multiplicity: (0..1)

Constraint Classes:

ExternalSourceOwnsAttachments RelationshipClass

Relationship between an external source and its attachments

Base Class: BisCore:ElementOwnsChildElements

Strength: Embedding

Strength Direction: Forward

Source

Is Polymorphic: true

Role Label: owns

Multiplicity: (0..1)

Constraint Classes:

Target

Is Polymorphic: true

Role Label: is owned by

Multiplicity: (0..*)

Constraint Classes:

FolderContainsRepositories (Folder Contains Repositories) RelationshipClass

Relationship between a Folder and the Repositories which it contains

Base Class: BisCore:ElementOwnsChildElements

Strength: Embedding

Strength Direction: Forward

Source

Is Polymorphic: true

Role Label: contains

Multiplicity: (0..1)

Constraint Classes:

Target

Is Polymorphic: true

Role Label: is contained by

Multiplicity: (1..*)

Constraint Classes:

GeometricElement2dHasTypeDefinition Abstract RelationshipClass

Strength: Referencing

Strength Direction: Forward

See GeometricElement2d.TypeDefinition ECNavigationProperty ECNavigationProperty

Source

Is Polymorphic: true

Role Label: is of type

Multiplicity: (0..*)

Constraint Classes:

Target

Is Polymorphic: true

Role Label: is type of

Multiplicity: (0..1)

Constraint Classes:

GeometricElement2dIsInCategory Sealed RelationshipClass

The relationship that determines the bis:DrawingCategory for a bis:GeometricElement2d.

Strength: Referencing

Strength Direction: Backward

Source

Is Polymorphic: true

Role Label: is in

Multiplicity: (0..*)

Constraint Classes:

Target

Is Polymorphic: false

Role Label: categorizes

Multiplicity: (1..1)

Constraint Classes:

GeometricElement3dHasTypeDefinition Abstract RelationshipClass

Strength: Referencing

Strength Direction: Forward

See GeometricElement3d.TypeDefinition ECNavigationProperty ECNavigationProperty

Source

Is Polymorphic: true

Role Label: is of type

Multiplicity: (0..*)

Constraint Classes:

Target

Is Polymorphic: true

Role Label: is type of

Multiplicity: (0..1)

Constraint Classes:

GeometricElement3dIsInCategory Sealed RelationshipClass

The relationship that determines the bis:SpatialCategory for a bis:GeometricElement3d.

Strength: Referencing

Strength Direction: Backward

Source

Is Polymorphic: true

Role Label: is in

Multiplicity: (0..*)

Constraint Classes:

Target

Is Polymorphic: false

Role Label: categorizes

Multiplicity: (1..1)

Constraint Classes:

GraphicalElement2dIsOfType RelationshipClass

Base Class: BisCore:GeometricElement2dHasTypeDefinition

Strength: Referencing

Strength Direction: Forward

Source

Is Polymorphic: true

Role Label: is of type

Multiplicity: (0..*)

Constraint Classes:

Target

Is Polymorphic: true

Role Label: is type of

Multiplicity: (0..1)

Constraint Classes:

GraphicalElement3dRepresentsElement RelationshipClass

Relates a bis:GraphicalElement3d to the bis:Element that it represents.

Base Class: BisCore:ElementRefersToElements

Strength: Referencing

Strength Direction: Forward

Source

Is Polymorphic: true

Role Label: represents

Multiplicity: (0..*)

Constraint Classes:

Target

Is Polymorphic: true

Role Label: is represented by

Multiplicity: (0..*)

Constraint Classes:

GraphicalType2dHasTemplateRecipe RelationshipClass

Base Class: BisCore:TypeDefinitionHasRecipe

Strength: Referencing

Strength Direction: Forward

Source

Is Polymorphic: true

Role Label: has

Multiplicity: (0..*)

Constraint Classes:

Target

Is Polymorphic: true

Role Label: is referenced by

Multiplicity: (0..1)

Constraint Classes:

GroupImpartsToMembers RelationshipClass

Represents group membership where the group Element (and its properties) impart information about the member Elements above mere membership. Implies that properties of the group should be considered as properties of its members.

Base Class: BisCore:ElementGroupsMembers

Strength: Referencing

Strength Direction: Forward

Source

Is Polymorphic: true

Role Label: groups

Multiplicity: (0..*)

Constraint Classes:

Target

Is Polymorphic: true

Role Label: is grouped by

Multiplicity: (0..*)

Constraint Classes:

ModelContainsElements Sealed RelationshipClass

The relationship that enforces that each bis:Element belongs to exactly one bis:Model.

Strength: Embedding

Strength Direction: Forward

See Element.Model ECNavigationProperty.

Source

Is Polymorphic: true

Role Label: contains

Multiplicity: (1..1)

Constraint Classes:

Target

Is Polymorphic: true

Role Label: is contained by

Multiplicity: (0..*)

Constraint Classes:

ModelModelsElement (Model Sub-Models Element) RelationshipClass

Relates a bis:Model to the bis:Element that it sub-models. The sub-Model models the same Entity as the sub-modeled Element, but at a finer granularity.

Strength: Embedding

Strength Direction: Backward

See Model.ModeledElement ECNavigationProperty.

A more accurate name for this relationship would have been 'ModelSubModelsElement', but the existing name cannot be changed in this generation of BIS.

Source

Is Polymorphic: true

Role Label: models

Multiplicity: (0..1)

Constraint Classes:

Target

Is Polymorphic: true

Role Label: is modeled by

Multiplicity: (0..1)

Constraint Classes:

ModelOwnsSubModel Sealed RelationshipClass

This relationship is essentially redundant with the combination of bis:ModelModelsElement and bis:ModelContainsElements. This 'shortcut' exists to support a model hierarchy index for performance reasons.

Strength: Embedding

Strength Direction: Forward

See Model.ParentModel ECNavigationProperty.

Source

Is Polymorphic: true

Role Label: owns sub

Multiplicity: (0..1)

Constraint Classes:

Target

Is Polymorphic: true

Role Label: is owned by parent

Multiplicity: (0..*)

Constraint Classes:

ModelSelectorRefersToModels Sealed RelationshipClass

Strength: Referencing

Strength Direction: Forward

Source

Is Polymorphic: true

Role Label: refers to

Multiplicity: (0..*)

Constraint Classes:

Target

Is Polymorphic: true

Role Label: is referenced by

Multiplicity: (0..*)

Constraint Classes:

PartitionOriginatesFromRepository Sealed RelationshipClass Deprecated

Use ElementHasLinks.

DEPRECATED: Use ElementHasLinks

Base Class: BisCore:ElementRefersToElements

Strength: Referencing

Strength Direction: Forward

Source

Is Polymorphic: true

Role Label: originates from

Multiplicity: (0..*)

Constraint Classes:

Target

Is Polymorphic: true

Role Label: is origin of

Multiplicity: (0..*)

Constraint Classes:

PhysicalElementAssemblesElements RelationshipClass

A relationship that indicates a physical assembly of child bis:PhysicalElements.

Base Class: BisCore:ElementOwnsChildElements

Strength: Embedding

Strength Direction: Forward

Source

Is Polymorphic: true

Role Label: assembles

Multiplicity: (0..1)

Constraint Classes:

Target

Is Polymorphic: true

Role Label: is assembled by

Multiplicity: (0..*)

Constraint Classes:

PhysicalElementIsOfPhysicalMaterial Sealed RelationshipClass

A relationship indicating the bis:PhysicalMaterial of which the bis:PhysicalElement is made.

Strength: Referencing

Strength Direction: Forward

Source

Is Polymorphic: true

Role Label: is of material

Multiplicity: (0..*)

Constraint Classes:

Target

Is Polymorphic: true

Role Label: is material of

Multiplicity: (0..1)

Constraint Classes:

PhysicalElementIsOfType RelationshipClass

A type-instance relation; one that indicates that the specific bis:PhysicalElement is an instance of the defined bis:PhysicalType. E.g. a pump with serial number #AR-23 is of type X-Model-Y.

Base Class: BisCore:GeometricElement3dHasTypeDefinition

Strength: Referencing

Strength Direction: Forward

Source

Is Polymorphic: true

Role Label: is of type

Multiplicity: (0..*)

Constraint Classes:

Target

Is Polymorphic: true

Role Label: is type of

Multiplicity: (0..1)

Constraint Classes:

PhysicalModelBreaksDownPhysicalPortion RelationshipClass Deprecated

The PhysicalPortion class has been deprecated, so this relationship class is also deprecated.

DEPRECATED

Base Class: BisCore:ModelModelsElement

Strength: Embedding

Strength Direction: Backward

Source

Is Polymorphic: true

Role Label: breaks down

Multiplicity: (0..1)

Constraint Classes:

Target

Is Polymorphic: true

Role Label: is sub-modeled by

Multiplicity: (0..1)

Constraint Classes:

PhysicalSystemAggregatesSubSystems (Physical System Aggregates Sub-Systems) RelationshipClass

Forms the Physical System hierarchy.

Strength: Referencing

Strength Direction: Forward

Forms a strict hierarchy (A PhysicalSystem can only be aggregated by a single 'aggregator').

See PhysicalSystem for more information.

Source

Is Polymorphic: true

Role Label: aggregates

Multiplicity: (0..1)

Constraint Classes:

Target

Is Polymorphic: true

Role Label: is aggregated by

Multiplicity: (0..*)

Constraint Classes:

PhysicalSystemGroupsMembers (Physical System Groups Spatial Elements) RelationshipClass

A relationship used to identify the bis:PhysicalElements that are members of a PhysicalSystem.

Base Class: BisCore:ElementGroupsMembers

Strength: Referencing

Strength Direction: Forward

Source

Is Polymorphic: true

Role Label: groups

Multiplicity: (0..*)

Constraint Classes:

Target

Is Polymorphic: true

Role Label: is grouped by

Multiplicity: (0..*)

Constraint Classes:

PhysicalSystemServicesSpatialElements (Physical System Services Spatial Elements) RelationshipClass

A relationship used to identify the bis:SpatialElements serviced by a PhysicalSystem.

Base Class: BisCore:ElementRefersToElements

Strength: Referencing

Strength Direction: Forward

Source

Is Polymorphic: true

Role Label: services

Multiplicity: (0..*)

Constraint Classes:

Target

Is Polymorphic: true

Role Label: is serviced by

Multiplicity: (0..*)

Constraint Classes:

PhysicalTypeHasTemplateRecipe RelationshipClass

Base Class: BisCore:TypeDefinitionHasRecipe

Strength: Referencing

Strength Direction: Forward

Source

Is Polymorphic: true

Role Label: has

Multiplicity: (0..*)

Constraint Classes:

Target

Is Polymorphic: true

Role Label: is referenced by

Multiplicity: (0..1)

Constraint Classes:

PhysicalTypeIsOfPhysicalMaterial Sealed RelationshipClass

A relationship indicating the bis:PhysicalMaterial of which bis:PhysicalElements of the given bis:PhysicalType are made. Can be overridden with bis:PhysicalElementIsOfPhysicalMaterial.

Strength: Referencing

Strength Direction: Forward

Source

Is Polymorphic: true

Role Label: is of

Multiplicity: (0..*)

Constraint Classes:

Target

Is Polymorphic: true

Role Label: is material of

Multiplicity: (0..1)

Constraint Classes:

RenderMaterialOwnsRenderMaterials RelationshipClass

Base Class: BisCore:ElementOwnsChildElements

Strength: Embedding

Strength Direction: Forward

Source

Is Polymorphic: false

Role Label: owns child

Multiplicity: (0..1)

Constraint Classes:

Target

Is Polymorphic: false

Role Label: is owned by parent

Multiplicity: (0..*)

Constraint Classes:

SectionDrawingGeneratedFromSpatialView Sealed RelationshipClass

Identifies the SpatialViewDefinition used to generate the SectionDrawing.

Strength: Referencing

Strength Direction: Backward

Source

Is Polymorphic: true

Role Label: was generated from

Multiplicity: (0..*)

Constraint Classes:

Target

Is Polymorphic: true

Role Label: was used to generate

Multiplicity: (1..1)

Constraint Classes:

SectionDrawingLocationRefersToSectionView Sealed RelationshipClass

Relates a SectionDrawingLocation to the view generated by the section's SpatialViewDefinition.

Strength: Referencing

Strength Direction: Backward

Source

Is Polymorphic: true

Role Label: refers to

Multiplicity: (0..*)

Constraint Classes:

Target

Is Polymorphic: true

Role Label: is referenced by

Multiplicity: (1..1)

Constraint Classes:

SectionLocationRefersToViewAttachment Sealed RelationshipClass Deprecated

The SectionLocation class and associated relationships are deprecated and are replaced by SectionDrawingLocation.

DEPRECATED: Relates a SectionLocation to a ViewAttachment placing the section's DrawingViewDefinition onto a Sheet.

Strength: Referencing

Strength Direction: Backward

Source

Is Polymorphic: true

Role Label: refers to

Multiplicity: (0..*)

Constraint Classes:

Target

Is Polymorphic: true

Role Label: is referenced by

Multiplicity: (0..1)

Constraint Classes:

SectionLocationUsesCategorySelector Sealed RelationshipClass Deprecated

The SectionLocation class and associated relationships are deprecated and are replaced by SectionDrawingLocation.

DEPRECATED: Relates a SectionLocation to the categories relevant for this SectionLocation display.

Strength: Referencing

Strength Direction: Forward

See SectionLocation.CategorySelector ECNavigationProperty ECNavigationProperty

Source

Is Polymorphic: true

Role Label: uses

Multiplicity: (0..*)

Constraint Classes:

Target

Is Polymorphic: true

Role Label: is used by

Multiplicity: (1..1)

Constraint Classes:

SectionLocationUsesModelSelector Sealed RelationshipClass Deprecated

The SectionLocation class and associated relationships are deprecated and are replaced by SectionDrawingLocation.

DEPRECATED: Relates a SectionLocation to the models relevant for this SectionLocation display.

Strength: Referencing

Strength Direction: Forward

Source

Is Polymorphic: true

Role Label: uses

Multiplicity: (0..*)

Constraint Classes:

Target

Is Polymorphic: true

Role Label: is used by

Multiplicity: (1..1)

Constraint Classes:

SheetBorderHasSheetBorderTemplate Sealed RelationshipClass

Strength: Referencing

Strength Direction: Forward

See SheetBorder.BorderTemplate ECNavigationProperty ECNavigationProperty

Source

Is Polymorphic: true

Role Label: has

Multiplicity: (0..*)

Constraint Classes:

Target

Is Polymorphic: true

Role Label: defines

Multiplicity: (0..1)

Constraint Classes:

SheetHasSheetTemplate Sealed RelationshipClass

Strength: Referencing

Strength Direction: Forward

See Sheet.SheetTemplate ECNavigationProperty ECNavigationProperty

Source

Is Polymorphic: true

Role Label: has

Multiplicity: (0..*)

Constraint Classes:

Target

Is Polymorphic: true

Role Label: defines

Multiplicity: (0..1)

Constraint Classes:

SheetIndexFolderOwnsEntries RelationshipClass

Base Class: BisCore:ElementOwnsChildElements

Strength: Embedding

Strength Direction: Forward

Source

Is Polymorphic: true

Role Label: owns

Multiplicity: (0..1)

Constraint Classes:

Target

Is Polymorphic: true

Role Label: is owned by

Multiplicity: (0..*)

Constraint Classes:

SheetIndexOwnsEntries RelationshipClass

Base Class: BisCore:ElementOwnsChildElements

Strength: Embedding

Strength Direction: Forward

Source

Is Polymorphic: true

Role Label: owns

Multiplicity: (0..1)

Constraint Classes:

Target

Is Polymorphic: true

Role Label: is owned by

Multiplicity: (0..*)

Constraint Classes:

SheetIndexReferenceRefersToSheetIndex Sealed RelationshipClass

Strength: Referencing

Strength Direction: Forward

See SheetIndexReference.SheetIndex ECNavigationProperty ECNavigationProperty

Source

Is Polymorphic: true

Role Label: refers to

Multiplicity: (0..*)

Constraint Classes:

Target

Is Polymorphic: true

Role Label: is referenced by

Multiplicity: (0..1)

Constraint Classes:

SheetModelBreaksDownSheet (SheetModel Sub-Models Sheet) RelationshipClass

Base Class: BisCore:ModelModelsElement

Strength: Embedding

Strength Direction: Backward

A more consistent name for this relationship would have been 'SheetModelSubModelsSheet', but the existing name cannot be changed in this generation of BIS. At times, we use "breaks down" as a synonym for "sub-models", but we are standardizing on "sub-models", reserving "breakdown" for use with various engineering breakdown structures.

Source

Is Polymorphic: true

Role Label: sub-models

Multiplicity: (0..1)

Constraint Classes:

Target

Is Polymorphic: true

Role Label: is sub-modeled by

Multiplicity: (1..1)

Constraint Classes:

SheetReferenceRefersToSheet Sealed RelationshipClass

Strength: Referencing

Strength Direction: Forward

See SheetReference.Sheet ECNavigationProperty ECNavigationProperty

Source

Is Polymorphic: true

Role Label: refers to

Multiplicity: (0..*)

Constraint Classes:

Target

Is Polymorphic: true

Role Label: is referenced by

Multiplicity: (0..1)

Constraint Classes:

SheetTemplateHasSheetBorder Sealed RelationshipClass

Strength: Referencing

Strength Direction: Forward

See SheetTemplate.Border ECNavigationProperty ECNavigationProperty

Source

Is Polymorphic: true

Role Label: has

Multiplicity: (0..*)

Constraint Classes:

Target

Is Polymorphic: true

Role Label: is referenced by

Multiplicity: (0..1)

Constraint Classes:

SpatialLocationIsOfType RelationshipClass

A type-instance relation; one that indicates that the specific bis:SpatialLocationElement is an instance of the defined bis:SpatialLocationType. E.g. AssemblyArea#5 if of type FloorSpace.

Base Class: BisCore:GeometricElement3dHasTypeDefinition

Strength: Referencing

Strength Direction: Forward

Source

Is Polymorphic: true

Role Label: is of type

Multiplicity: (0..*)

Constraint Classes:

Target

Is Polymorphic: true

Role Label: is type of

Multiplicity: (0..1)

Constraint Classes:

SpatialViewDefinitionUsesModelSelector Sealed RelationshipClass

Strength: Referencing

Strength Direction: Forward

See SpatialViewDefinition.ModelSelector ECNavigationProperty ECNavigationProperty

Source

Is Polymorphic: true

Role Label: uses

Multiplicity: (0..*)

Constraint Classes:

Target

Is Polymorphic: true

Role Label: is used by

Multiplicity: (1..1)

Constraint Classes:

SubjectOwnsPartitionElements RelationshipClass

Base Class: BisCore:ElementOwnsChildElements

Strength: Embedding

Strength Direction: Forward

Source

Is Polymorphic: false

Role Label: owns

Multiplicity: (0..1)

Constraint Classes:

Target

Is Polymorphic: true

Role Label: is owned by

Multiplicity: (0..*)

Constraint Classes:

SubjectOwnsSubjects RelationshipClass

Base Class: BisCore:ElementOwnsChildElements

Strength: Embedding

Strength Direction: Forward

Source

Is Polymorphic: false

Role Label: owns child

Multiplicity: (0..1)

Constraint Classes:

Target

Is Polymorphic: false

Role Label: is owned by parent

Multiplicity: (0..*)

Constraint Classes:

SubjectRefersToSubject RelationshipClass

A relationship allowing a bis:Subject to express association with another bis:Subject that is not one of its children.

Base Class: BisCore:ElementRefersToElements

Strength: Referencing

Strength Direction: Forward

A bis:Subject can be referenced by zero or more bis:Subject instances as opposed to the bis:SubjectOwnsSubjects relationship that leads to a strict hierarchy. This relationship is typically needed when the referencing and referenced bis:Subjects are located in different branches of the Subject hierarchy. With this relationship, the referencing bis:Subject is stating an association with the referenced bis:Subjects without duplicating them into its own branch. The concrete semantics behind such association is left for the data-writer or a human being to interpret, as it is generally the case with all bis:Subject instances on the Subject hierarchy as a whole.

Source

Is Polymorphic: false

Role Label: refers to

Multiplicity: (0..*)

Constraint Classes:

Target

Is Polymorphic: false

Role Label: is referenced by

Multiplicity: (0..*)

Constraint Classes:

SynchronizationConfigProcessesSources RelationshipClass

Records the ExternalSources processed according to a given configuration. These sources may be 'discovered' via the 'root' sources specified by bis:SynchronizationConfigSpecifiesRootSources. ExternalSources can be processed by more than one SynchronizationConfig.

Base Class: BisCore:ElementRefersToElements

Strength: Referencing

Strength Direction: Forward

Source

Is Polymorphic: true

Role Label: processes

Multiplicity: (0..*)

Constraint Classes:

Target

Is Polymorphic: true

Role Label: is processed by

Multiplicity: (0..*)

Constraint Classes:

SynchronizationConfigSpecifiesRootSources Sealed RelationshipClass

Records the 'root' ExternalSources specified by the configuration. These roots are used to discovered other 'referenced' sources and they serve as roots of 'referencing trees' for GUI display.

Base Class: BisCore:SynchronizationConfigProcessesSources

Strength: Referencing

Strength Direction: Forward

Source

Is Polymorphic: true

Role Label: specifies root

Multiplicity: (0..*)

Constraint Classes:

Target

Is Polymorphic: true

Role Label: is root of

Multiplicity: (0..*)

Constraint Classes:

TextAnnotation2dOwnsTextAnnotationData RelationshipClass

Base Class: BisCore:ElementOwnsUniqueAspect

Strength: Embedding

Strength Direction: Forward

Source

Is Polymorphic: true

Role Label: owns

Multiplicity: (1..1)

Constraint Classes:

Target

Is Polymorphic: false

Role Label: is owned by

Multiplicity: (0..1)

Constraint Classes:

TextAnnotation3dOwnsTextAnnotationData RelationshipClass

Base Class: BisCore:ElementOwnsUniqueAspect

Strength: Embedding

Strength Direction: Forward

Source

Is Polymorphic: true

Role Label: owns

Multiplicity: (1..1)

Constraint Classes:

Target

Is Polymorphic: false

Role Label: is owned by

Multiplicity: (0..1)

Constraint Classes:

TypeDefinitionHasRecipe Abstract RelationshipClass

Strength: Referencing

Strength Direction: Forward

See TypeDefinitionElement.Recipe ECNavigationProperty ECNavigationProperty

Source

Is Polymorphic: true

Role Label: has

Multiplicity: (0..*)

Constraint Classes:

Target

Is Polymorphic: true

Role Label: is referenced by

Multiplicity: (0..1)

Constraint Classes:

ViewDefinitionUsesCategorySelector Sealed RelationshipClass

Strength: Referencing

Strength Direction: Forward

See ViewDefinition.CategorySelector ECNavigationProperty ECNavigationProperty

Source

Is Polymorphic: true

Role Label: uses

Multiplicity: (0..*)

Constraint Classes:

Target

Is Polymorphic: false

Role Label: is used by

Multiplicity: (1..1)

Constraint Classes:

ViewDefinitionUsesDisplayStyle Sealed RelationshipClass

Strength: Referencing

Strength Direction: Forward

See ViewDefinition.DisplayStyle ECNavigationProperty ECNavigationProperty

Source

Is Polymorphic: true

Role Label: uses

Multiplicity: (0..*)

Constraint Classes:

Target

Is Polymorphic: true

Role Label: is used by

Multiplicity: (1..1)

Constraint Classes:

ViewIsAttached Sealed RelationshipClass

Strength: Referencing

Strength Direction: Forward

See ViewAttachment.View ECNavigationProperty ECNavigationProperty

Source

Is Polymorphic: true

Role Label: owns

Multiplicity: (1..1)

Constraint Classes:

Target

Is Polymorphic: true

Role Label: is owned by

Multiplicity: (0..*)

Constraint Classes:

Enumerations

AutoHandledPropertyStatementType Enumeration

Backing Type: int

Strict: true

Label Value Description
ReadOnly = Select|Insert 3
All = Select | Insert | Update 7

Restrictions that may be applied to an AutoHandledProperty. Must match the ECSqlClassParams::StatementType enum

CustomHandledPropertyStatementType Enumeration

Backing Type: int

Restrictions that may be applied to a CustomHandledProperty. Must match the ECSqlClassParams::StatementType enum

Strict: true

Label Value Description
None 0
Select 1
Insert 2
ReadOnly = Select|Insert 3
Update 4
InsertUpdate = Insert | Update 6
All = Select | Insert | Update 7

ExternalSourceAttachmentRole (External Source Attachment Role) Enumeration

Backing Type: int

The role that an attached ExternalSource plays, e.g. to specify context or a part-of-a-whole. Used by bis:ExternalSource.Role

Strict: true

Label Value Description
Specify Context 0
Specify Part 1

SectionType Enumeration

Backing Type: int

Strict: false

Label Value Description
Section 3
Detail 4
Elevation 5
Plan 6

Last Updated: 28 June, 2024