Model Fundamentals
A Model
is a container that owns a collection of Elements. Every Element is contained by exactly one Model as defined by the ModelContainsElements
relationship. Models help organize the overall contents of the repository as there is a separate container for each collection of Elements.
The Model contents are driven by:
- The Model subclass
- Model specializations may limit the types of Elements that can be contained.
- The granularity or level of detail
- The object as a whole vs. a finer-grained breakdown of it.
- User preferences
- Some users may organize by spatial location (east wing vs. west wing) while others may organize by discipline (building vs. civil).
- Domain rules
- Some rules are enforced by code and are not customizable by users.
Core Model Types
The following table shows the most common core model types, as well as the allowed type of elements that they can contain.
Model subclass | Type of Elements contained |
---|---|
PhysicalModel |
PhysicalElements, SpatialLocationElements, GraphicalElement3d and InformationContentElements |
FunctionalModel subclass |
FunctionalElements and InformationContentElements |
AnalyticalModel subclass |
AnalyticalElements and InformationContentElements |
DefinitionModel |
DefinitionElements and InformationContentElements |
DocumentListModel |
Document elements |
DrawingModel |
GeometricElement2d elements |
SheetModel |
GeometricElement2d elements |
The following table shows additional core model types, typically considered as specialized.
Model subclass | Type of Elements contained |
---|---|
GraphicalModel3d |
GraphicalElement3d elements |
GroupInformationModel |
GroupInformationElements |
InformationRecordModel |
InformationRecordElements |
LinkModel |
LinkElements |
PhysicalSystemModel |
PhysicalSystem elements |
SpatialLocationModel |
SpatialLocationElements, GraphicalElement3d and InformationContentElements |
Model Identity
Models are also a key building block of the information hierarchy within a BIS repository. Looking down the information hierarchy, Models are collections of Elements. Looking up the information hierarchy, Models are more detail about an Element from a higher level. This higher-level Element is known as the modeled element. The modeled element is what gives a Model its identity. The value of the model's Id matches the value of the modeled element's Id.
The Model is related to its modeled Element via the ModelModelsElement
relationship. Also, a Model does not store a name of its own. Instead, its name comes from the CodeValue
of its modeled element.
See Information Hierarchy for more details.
| Next: Relationship Fundamentals |:---
Last Updated: 08 August, 2024