5.1.3.41 IfcRelNests(关联关系-嵌套)
5.1.3.41.1 语义定义(Semantic definition)
嵌套关系 IfcRelNests 是通用组合/分解(或整体/部分)关系 IfcRelDecomposes 的一种特殊类型。嵌套关系可以应用于所有对象和对象类型的子类型,例如过程、控制(例如,成本项)和资源。它还可以应用于对齐,嵌套其不同的布局;以及对象和对象类型的物理子类型,例如具有端口的元素。嵌套意味着嵌套部分之间存在顺序。
分解意味着依赖关系,即整体的定义取决于部分的定义,而部分取决于整体的存在。应用程序内部必须建立由依赖关系引起的行为。
5.1.3.41.2 实体继承(Entity inheritance)
5.1.3.41.3 特性(Attributes)
| # | 特性(Attributes) | 类型 | 描述 |
|---|---|---|---|
| IfcRoot (4) | |||
| 1 | GlobalId | IfcGloballyUniqueId |
在整个软件世界中分配全局唯一标识符。 |
| 2 | OwnerHistory | OPTIONAL IfcOwnerHistory |
分配有关该对象当前所有权的信息,包括所有者参与者、应用程序、本地标识以及捕获到的关于对象近期更改的信息。 |
| 3 | Name | OPTIONAL IfcLabel |
供参与的软件系统或用户使用的可选名称。对于某些 IfcRoot 的子类型,可能需要插入 Name 特性。这将通过 where 规则强制执行。 |
| 4 | Description | OPTIONAL IfcText |
可选的描述,用于提供信息性注释。 |
| 点击显示 4 个隐藏的继承特性 点击隐藏 4 个继承特性 | |||
| IfcRelNests (2) | |||
| 5 | RelatingObject | IfcObjectDefinition |
表示嵌套的对象定义,可以是对象类型或对象实例。它是整体/部分关系中的整体。 |
| 6 | RelatedObjects | LIST [1:?] OF IfcObjectDefinition |
被嵌套的对象定义,可以是对象类型或对象实例。它们被定义为有序整体/部分关系中的部分——即,部分之间存在隐含的顺序,该顺序由 RelatedObjects 列表中的位置表示。 |
5.1.3.41.4 形式化命题(Formal propositions)
| 名称 | 描述 |
|---|---|
| NoSelfReference |
由 RelatingObject 提供的关系指向的实例不得包含在 RelatedObjects 列表中。 |
|
|
5.1.3.41.5 概念用法(Concept usage)
| 概念 | 用法 | 描述 | |
|---|---|---|---|
| IfcRoot (2) | |||
| Revision Control | General |
使用 IfcOwnerHistory 捕获所有权、历史记录和合并状态。 |
|
| Software Identity | General |
IfcRoot 分配全局唯一 ID。此外,它还可以为概念提供名称和描述。 |
|
| IfcRelationship (2) | |||
| Revision Control | General |
使用 IfcOwnerHistory 捕获所有权、历史记录和合并状态。 |
|
| Software Identity | General |
IfcRoot 分配全局唯一 ID。此外,它还可以为概念提供名称和描述。 |
|
| IfcRelDecomposes (2) | |||
| Revision Control | General |
使用 IfcOwnerHistory 捕获所有权、历史记录和合并状态。 |
|
| Software Identity | General |
IfcRoot 分配全局唯一 ID。此外,它还可以为概念提供名称和描述。 |
|
| 点击显示 6 个隐藏的继承概念 点击隐藏 6 个继承概念 | |||
| IfcRelNests (2) | |||
| Revision Control | General |
使用 IfcOwnerHistory 捕获所有权、历史记录和合并状态。 |
|
| Software Identity | General |
IfcRoot 分配全局唯一 ID。此外,它还可以为概念提供名称和描述。 |
|
5.1.3.41.6 形式化表示(Formal representation)
ENTITY IfcRelNests
SUBTYPE OF (IfcRelDecomposes);
RelatingObject : IfcObjectDefinition;
RelatedObjects : LIST [1:?] OF IfcObjectDefinition;
WHERE
NoSelfReference : SIZEOF(QUERY(Temp <* RelatedObjects | RelatingObject :=: Temp)) = 0;
END_ENTITY;