Element Class

Elements are the smallest individually identifiable building blocks for modeling the real world in an iModel. Each element represents an entity in the real world. Sets of Elements (contained in Models) are used to model other Elements that represent larger scale real world entities. Using this recursive modeling strategy, Elements can represent entities at any scale. Elements can represent physical things or abstract concepts or simply be information records.

Every Element has a 64-bit id (inherited from Entity) that uniquely identifies it within an iModel. Every Element also has a "code" that identifies its meaning in the real world. Additionally, Elements may have a "federationGuid" to hold a GUID, if the element was assigned that GUID by some other federated database. The iModel database enforces uniqueness of id, code, and federationGuid.



Extended by



Name Description
buildConcurrencyControlRequest(opcode: DbOpcode): void Add a request for locks, code reservations, and anything else that would be needed to carry out the specified operation.  
delete(): void Delete this Element from the iModel.  
Get the class metadata for this element.  
getDisplayLabel(): string Get a display label for this Element.  
getJsonProperty(nameSpace: string): any Get a JSON property of this element, by namespace  
getToolTipMessage(): string[] Get a list of HTML strings that describe this Element for the tooltip.  
getUserProperties(namespace: string): any Get a set of JSON user properties by namespace  
insert(): string Insert this Element into the iModel.  
removeUserProperties(nameSpace: string): void Remove a set of JSON user properties, specified by namespace, from this Element  
setJsonProperty(nameSpace: string, value: any): void    
setUserProperties(nameSpace: string, value: any): void Change a set of user JSON properties of this Element by namespace.  
update(): void Update this Element in the iModel.  
onAllInputsHandled(_id: Id64String, _iModel: IModelDb): void Static    
onBeforeOutputsHandled(_id: Id64String, _iModel: IModelDb): void Static    
onDelete(_props: ElementProps, _iModel: IModelDb): IModelStatus Static    
onDeleted(_props: ElementProps, _iModel: IModelDb): void Static    
onInsert(_props: ElementProps, _iModel: IModelDb): IModelStatus Static    
onInserted(_props: ElementProps, _iModel: IModelDb): void Static    
onUpdate(_props: ElementProps, _iModel: IModelDb): IModelStatus Static    
onUpdated(_props: ElementProps, _iModel: IModelDb): void Static    

Inherited methods

Name Inherited from Description
clone(): this Entity Make a deep copy of this Entity
forEachProperty(func: PropertyCallback, includeCustom: boolean = false): void Entity Call a function for each property of this Entity.


Name Type Description
code Code The Code for this element  
federationGuid undefined | GuidString A FederationGuid assigned to this element by some other federated database  
jsonProperties [key: string]: any Optional json properties of this element.  
model Id64String The ModelId of the Model containing this element  
parent undefined | RelatedElement The parent element, if present, of this element.  
userLabel undefined | string A user-assigned label for this element.  

Inherited properties

Name Type Inherited from Description
classFullName Accessor ReadOnly string Entity Get the full BIS class name of this Entity in the form "schema:class".
classFullName Accessor StaticReadOnly string Entity Get the full BIS class name of this Entity in the form "schema:class"
className Accessor ReadOnly string Entity The name of the BIS class associated with this class.
id Id64String Entity The Id of this Entity.
iModel IModelDb Entity The Entity.IModelDb that contains this Entity
schema Static Schema Entity The Schema that defines this class.
schemaName Accessor ReadOnly string Entity The name of the BIS Schema that defines this class

Defined in

Last Updated: 03 June, 2019