5.1.3.20 IfcRelAggregates (聚合关系)
5.1.3.20.1 语义定义(Semantic definition)
聚合关系 IfcRelAggregates 是一种特殊的通用组合/分解(或整体/部分)关系 IfcRelDecomposes。 聚合关系可以应用于 IfcObjectDefinition 的所有子类型。
在将物理构件聚合为物理集合体的情况下,整体的形状表达(在相同的表达标识符内)可以取自各部分的形状表达的总和。
分解意味着一种依赖关系,意味着整体依赖于部分的定义,而部分依赖于整体的存在。 依赖关系所隐含的行为必须在应用程序内部建立。
5.1.3.20.2 实体继承(Entity inheritance)
5.1.3.20.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 个继承特性 | |||
| IfcRelAggregates (2) | |||
| 5 | RelatingObject | IfcObjectDefinition |
对象定义,可以是对象类型或对象实例,表示聚合。 它是整体/部分关系中的整体。 |
| 6 | RelatedObjects | SET [1:?] OF IfcObjectDefinition |
正在聚合的对象定义,可以是对象实例或对象类型。 它们被定义为整体/部分关系中的部分。 各部分之间没有隐含的顺序。 |
5.1.3.20.4 形式化命题(Formal propositions)
| 名称 | 描述 |
|---|---|
| NoSelfReference |
RelatingObject 提供的关系指向的实例不得包含在 RelatedObjects 集合中。 |
|
|
5.1.3.20.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 个继承概念 | |||
| IfcRelAggregates (2) | |||
| Revision Control | General |
使用 IfcOwnerHistory 捕获所有权、历史记录和合并状态。 |
|
| Software Identity | General |
IfcRoot 分配全局唯一 ID。此外,它还可以为概念提供名称和描述。 |
|
5.1.3.20.6 形式化表示(Formal representation)
ENTITY IfcRelAggregates
SUBTYPE OF (IfcRelDecomposes);
RelatingObject : IfcObjectDefinition;
RelatedObjects : SET [1:?] OF IfcObjectDefinition;
WHERE
NoSelfReference : SIZEOF(QUERY(Temp <* RelatedObjects | RelatingObject :=: Temp)) = 0;
END_ENTITY;