5.1.3.40 IfcRelDefinesByType(关联关系-按类型定义)
5.1.3.40.1 语义定义(Semantic definition)
对象化关系 IfcRelDefinesByType 定义了对象类型与其对象实例之间的关系。IfcRelDefinesByType 是一个 1 对 N 的关系,因为它允许一个类型定义分配给一个或多个对象。这些对象然后共享相同的对象类型,以及分配给对象类型的属性集和属性。
IfcRelDefinesByType 链接对象类型定义与对象实例。对象类型和对象实例都可以通过分配 IfcPropertySet(包括一个或多个 IfcProperty 的子类型)给对象类型或对象实例来定义属性,如图 5.1.3.40.A 所示。
在对象类型定义和对象实例端定义相同属性集有几种情况:
- 公共对象类型的所有对象实例的所有属性值都相同——那么只有对象类型定义分配了属性集。
- 所有对象实例的所有属性都不同,即对象类型定义没有公共属性值——那么每个对象实例都分配了属性集。
- 同一个属性集中的某些属性具有公共值并分配给对象类型定义,而某些属性是实例特定的并分配给(可能具有不同值的)对象实例——那么:
- 适用于对象实例的给定属性集中的所有属性的总和是分配给对象类型定义的属性与分配给对象实例的属性的并集。
- 如果对象实例在 IfcPropertySet 中具有与相应对象类型定义相同的 IfcProperty.Name 的属性,则在实例处定义的属性值将覆盖在类型处定义的属性值。

下表提供了属性分配的示例以及实例值如何覆盖类型值。
| 分配给 IfcWallType 的属性 | 分配给 IfcWall 的属性 | 每个墙体的结果属性值 |
|---|---|---|
| - | ExtendToStructure = TRUE | ExtendToStructure = TRUE |
| ThermalTransmittance = 0.375 | - | ThermalTransmittance = 0.375 |
| ExtendToStructure = TRUE | ExtendToStructure = FALSE | ExtendToStructure = FALSE |
5.1.3.40.2 实体继承(Entity inheritance)
5.1.3.40.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 个继承特性 | |||
| IfcRelDefinesByType (2) | |||
| 5 | RelatedObjects | SET [1:?] OF IfcObject |
无可用描述 |
| 6 | RelatingType | IfcTypeObject |
指向该对象或对象集的类型(或样式)信息的引用。 |
5.1.3.40.4 概念用法(Concept usage)
| 概念 | 用法 | 描述 | |
|---|---|---|---|
| IfcRoot (2) | |||
| Revision Control | General |
使用 IfcOwnerHistory 捕获所有权、历史记录和合并状态。 |
|
| Software Identity | General |
IfcRoot 分配全局唯一 ID。此外,它还可以为概念提供名称和描述。 |
|
| IfcRelationship (2) | |||
| Revision Control | General |
使用 IfcOwnerHistory 捕获所有权、历史记录和合并状态。 |
|
| Software Identity | General |
IfcRoot 分配全局唯一 ID。此外,它还可以为概念提供名称和描述。 |
|
| IfcRelDefines (2) | |||
| Revision Control | General |
使用 IfcOwnerHistory 捕获所有权、历史记录和合并状态。 |
|
| Software Identity | General |
IfcRoot 分配全局唯一 ID。此外,它还可以为概念提供名称和描述。 |
|
| 点击显示 6 个隐藏的继承概念 点击隐藏 6 个继承概念 | |||
| IfcRelDefinesByType (2) | |||
| Revision Control | General |
使用 IfcOwnerHistory 捕获所有权、历史记录和合并状态。 |
|
| Software Identity | General |
IfcRoot 分配全局唯一 ID。此外,它还可以为概念提供名称和描述。 |
|
5.1.3.40.5 形式化表示(Formal representation)
ENTITY IfcRelDefinesByType
SUBTYPE OF (IfcRelDefines);
RelatedObjects : SET [1:?] OF IfcObject;
RelatingType : IfcTypeObject;
END_ENTITY;