5.1.3.7 IfcObjectDefinition 对象定义
抽象 该定义可能不会被直接实例化。
5.1.3.7.1 语义定义(Semantic definition)
IfcObjectDefinition 是任何语义上处理的事物或过程的泛化,既可以是类型也可以是实例。对象定义可以通过继承的 Name 特性进行命名,该特性应为用户可识别的对象实例标签。通过继承的 Description 特性可以提供关于对象的进一步解释。上下文(Context)是一种特殊的对象定义,因为它提供了定义对象类型和对象实例的项目或库上下文。
对象是独立的信息片段,可能包含或引用其他信息片段。对象定义(通过其可实例化的子类型)可以参与五种基本的关系:
- 其他对象的分配 - 分配关系 (IfcRelAssigns),引用其他类型的对象并创建双向关联。分配的语义在通用 IfcRelAssigns 关系的子类型级别上建立。分配本身不预先暗示任何依赖关系。
- 与外部资源的关联 - 关联关系 (IfcRelAssociates),引用外部信息源(最显著的是分类或文档)并创建单向关联。关联本身不暗示任何依赖关系。
- 其他对象的聚合 - 聚合关系 (IfcRelAggregates),建立无序的、空间上的整体/部分关系,并创建双向关系。存在隐含的依赖关系。
- 其他对象的嵌套 - 嵌套关系 (IfcRelNests),建立有序的、非空间的整体/部分关系,并创建双向关系。存在隐含的依赖关系。
- 在上下文中声明 - 最上层对象定义(例如,对象嵌套树中的摘要对象)与上下文(项目或项目库)之间的关系 (IfcRelDeclares)。它将单位、表示上下文和其他上下文信息应用于此对象定义及其所有依赖项。
5.1.3.7.2 实体继承(Entity inheritance)
5.1.3.7.3 特性(Attributes)
| # | 特性(Attributes) | 类型(Type) | 描述(Description) |
|---|---|---|---|
| IfcRoot (4) | |||
| 1 | GlobalId | IfcGloballyUniqueId |
在整个软件世界中分配全局唯一标识符。 |
| 2 | OwnerHistory | OPTIONAL IfcOwnerHistory |
分配有关该对象当前所有权的信息,包括所有者参与者、应用程序、本地标识以及捕获到的关于对象近期更改的信息。 |
| 3 | Name | OPTIONAL IfcLabel |
供参与的软件系统或用户使用的可选名称。对于某些 IfcRoot 的子类型,可能需要插入 Name 特性。这将通过 where 规则强制执行。 |
| 4 | Description | OPTIONAL IfcText |
可选的描述,用于提供信息性注释。 |
| 点击显示 4 个隐藏的继承特性 点击隐藏 4 个继承特性 | |||
| IfcObjectDefinition (7) | |||
| HasAssignments | SET [0:?] OF IfcRelAssigns FOR RelatedObjects |
引用分配(通过关联关系)其他 IfcObject 子类型到此对象实例的关系对象。例如,与产品、过程、控制、资源或组的关联。 |
|
| Nests | SET [0:1] OF IfcRelNests FOR RelatedObjects |
引用作为嵌套的分解关系。它确定此对象定义是顺序整体/部分分解关系中的一部分。对象实例或类型只能是单个分解的一部分(仅允许分层结构)。 |
|
| IsNestedBy | SET [0:?] OF IfcRelNests FOR RelatingObject |
引用作为嵌套的分解关系。它确定此对象定义是顺序整体/部分分解关系中的整体。对象或对象类型可以被多个其他对象(实例或类型)嵌套。 |
|
| HasContext | SET [0:1] OF IfcRelDeclares FOR RelatedDefinitions |
引用提供上下文信息的上下文,例如项目单位或表示上下文。它只应断言在最上层的非空间对象上。 |
|
| IsDecomposedBy | SET [0:?] OF IfcRelAggregates FOR RelatingObject |
引用作为聚合的分解关系。它确定此对象定义是无序整体/部分分解关系中的整体。对象定义可以被多个其他对象(实例或部分)聚合。 |
|
| Decomposes | SET [0:1] OF IfcRelAggregates FOR RelatedObjects |
引用作为聚合的分解关系。它确定此对象定义是无序整体/部分分解关系中的一部分。对象定义只能是单个分解的一部分(仅允许分层结构)。 |
|
| HasAssociations | SET [0:?] OF IfcRelAssociates FOR RelatedObjects |
引用将外部资源或资源定义与对象关联的关系对象。例如,与库、文档或分类的关联。 |
|
5.1.3.7.4 概念用法(Concept usage)
| 概念(Concept) | 用法(Usage) | 描述(Description) | |
|---|---|---|---|
| IfcRoot (2) | |||
| Revision Control | General |
使用 IfcOwnerHistory 捕获所有权、历史记录和合并状态。 |
|
| Software Identity | General |
IfcRoot 分配全局唯一 ID。此外,它还可以为概念提供名称和描述。 |
|
| 点击显示 2 个隐藏的继承概念 点击隐藏 2 个继承概念 | |||
| IfcObjectDefinition (9) | |||
| Classification Association | General |
任何对象实例或对象类型都可以具有对特定分类引用的引用,即对分类系统中特定方面的引用。 |
|
| Aggregation | General |
无可用描述 |
|
| Approval Association | General |
无可用描述 |
|
| Constraint Association | General |
无可用描述 |
|
| Document Association | General |
无可用描述 |
|
| Library Association | General |
无可用描述 |
|
| Material Association | General |
无可用描述 |
|
| Material Single | General |
无可用描述 |
|
| Nesting | General |
无可用描述 |
|
5.1.3.7.5 形式化表示(Formal representation)
ENTITY IfcObjectDefinition
ABSTRACT SUPERTYPE OF (ONEOF
(IfcContext
,IfcObject
,IfcTypeObject))
SUBTYPE OF (IfcRoot);
INVERSE
HasAssignments : SET [0:?] OF IfcRelAssigns FOR RelatedObjects;
Nests : SET [0:1] OF IfcRelNests FOR RelatedObjects;
IsNestedBy : SET [0:?] OF IfcRelNests FOR RelatingObject;
HasContext : SET [0:1] OF IfcRelDeclares FOR RelatedDefinitions;
IsDecomposedBy : SET [0:?] OF IfcRelAggregates FOR RelatingObject;
Decomposes : SET [0:1] OF IfcRelAggregates FOR RelatedObjects;
HasAssociations : SET [0:?] OF IfcRelAssociates FOR RelatedObjects;
END_ENTITY;