IFC常用关系定义
IfcRelDefinesByType
IfcRelDefinesByType表示对象化的关系(The objectified relationship),定义了一种对象类型定义(object type)和对象实体(object occurrences)的关系。IfcRelDefinesByType是1:n的关系,可以将一个对象类型定义(object type)信息分配给单个或者多个对象实体。这些对象实体将共享同样的对象类型定义,以及共享分配给对象类型定义的属性集合(property sets)和属性(properties)。
IfcRelDefinesByType关联了对象类型定义和对象实体。对象类型定义和对象实体都可以通过分配一个IfcPropertySet定义属性,也可以通过包含IfcProperty的一个或者多个子集来定义属性,如下图所示。
对象类型定义和对象实体拥有相同属性集合的场景:
- 对于所有对象实体的同一个对象类型定义所包含的属性,在所有对象实体中的值是一样的。说明只有对象类型定义分配了属性集合,对象实体没有分配属性集合。
- 在所有对象实体中的属性值是不一样的。说明对象实体分配了属性集合。
- 其中一些属性拥有同样的值,可以分配到对象类型定义;而一些对象实体规定的属性,潜在地存在不一样的值,需要分配到对象实体上:
- 适用到一个对象实体的属性集合是分配到对象类型定义的属性集合与分配到对象实体的属性集合的并集;
- 如果对象实体相对其关联的对象类型定义,也拥有一个同名属性IfcProperty.Name,此时对象实体的属性值会自动覆盖对象类型定义的属性值;例子如下表所示:
properties assigned to IfcWall | properties assigned to IfcWallType | resulting property value for individual wall |
---|---|---|
Pset_WallCommon | Pset_WallCommon | |
-ExtendToStructure = TRUE | TRUE | |
---- | -ThermalTransmittance = 0.375 | 0.375 |
-ExtendToStructure = FALSE | -ExtendToStructure = TRUE | FALSE |
继承关系: