
https://biblus.accasoftware.com/en/ifc-schema-part-3-the-ifcpropertydefinition/
在这篇文章中,我们将讨论 IFC 模式的第三个支柱,IfcPropertyDefinition即定义可分配给多个对象实例的信息(属性集)泛化的机制。
看看我们以前的文章有关IfcObjectDefinition,并IfcRelationship有IFC类层次结构中的专业化的第一级的一个完整的概述:
IfcObject(IFC 架构第 1 部分)
IfcRelationship(IFC 模式第 2 部分)
IfcPropertyDefinition(IFC 架构第 3 部分)。
IFC 模式代表一种存储系统,它保存建筑对象相关信息,确保随着时间的推移对信息资产的访问不受任何限制。IFC 标准文件结构基本上配置了一个由数百个分层组织的实体组成的模型。
IFC 模型根据三大类的模式对象进行描述:
IfcObjectDefinition 及其派生实体,用于实现对象的定义
IfcRelationship 及其派生实体,确定关系的定义
IfcPropertyDefinition 及其派生实体,允许模型用户定义和使用实体的数据驱动属性。

IFC 架构层次结构
的子类型层次结构IfcPropertyDefinition包括:
IfcPropertySetDefinition 这就是属性集的泛化。
IfcPropertySet表示属性集的超类型。这些属性是按名称定义和限定的。属性集(IfcObject)通过IfcRelDefinedByProperties关系分配给对象。
IfcProperty它定义了可以与 IFC 对象关联并取决于属性集的属性类型的概括。

IFC 文件架构 | IfcPropertyDefinition 树结构
IfcProperty,进一步的亚型包括:
IfcComplexProperty 用于定义要在属性集中管理的复杂属性
IfcSimpleProperty限定分配给单个对象的属性。的各种子类型IfcSimpleProperty决定了设置属性值的不同方式。

IFC 文件架构 | IfcSimpleProperty 树结构
的IfcSimpleProperty结合了下面列出6个不同的亚型。
定义一个属性对象,该对象具有通过数字或描述性元素分配的单个值:
名称
面值
类型(通过 IfcValue)
单元。
具有单一值的属性示例,用于描述由“制造商 A”生产的 4 厘米厚的门,透光率为 2.6 w / (m² K):

IfcPropertySingleValue 示例
定义具有从枚举中选择的指定值的属性对象。属性值组合在IfcPropertyEnumerated类中指定,它是IfcPropertyEnumeratedValue.
下面是一个例子:

IfcPropertyEnumeratedValue 示例
定义一个属性对象,该对象具有两个(数字或描述性)分配的值:指定上限的值和指定下限的值。
例如,此属性可以确定要在建筑工地移动的物体的尺寸和重量尺寸。

IfcPropertyBoundedValue 示例
定义了一个属性对象,它分配了两个值列表,指定了一个包含两列的表。第一列中显示的值确定了第二列中值的应用范围
例如,下表说明了一定范围内的声音传输损失值。

IfcPropertyTableValue 示例
通过与 IFC 架构内预定义的复杂属性的链接,为属性集分配一个值。
定义分配多个值的属性。这些值由精确有序的列表给出(显示值的顺序很重要)。列表中的每个值都是唯一的,不允许重复值。
例如,列出的属性值可以确定生产特定结构的尺寸。

IfcPropertyListValue 示例
下图显示了与usBIM.viewer+工作空间中表示的实体关联的一些属性示例。
具体来说,在第一个图中,您可以看到在左侧工具箱中选择的门对象;在右侧的工具箱中,您将能够读取与实体相关的属性。

图1:读取门实体属性| usBIM.viewer+
第二张图(图 2)说明了如何向实体集添加属性。只需启动 IFC 模型编辑器,然后从属性对话框中选择两个实体,即可轻松插入与WallCommon实体关联的新表面“绘画”属性。

图 2:将属性插入墙实体 | usBIM.viewer+
图 3 显示了如何修改包含在将IfcWallStandardCase,其从“白色石膏”切换到“布什锤状白色石膏”的体积属性。

图 3:编辑墙实体属性 | usBIM.viewer+
最后,第四张图显示了如何检查插入的属性:通过选择IfcWallStandardCase节点上的墙实体,您可以在右侧的工具箱中读取其属性中应用的更改。这些是具有“颜色”属性的绘画和对“石膏”属性的更改。

图 4:读取分配给墙实体的属性 | usBIM.viewer+