5.1.3.14 IfcPropertySet(属性集)
5.1.3.14.1 语义定义
IfcPropertySet 是属性树中属性的容器。这些属性根据其名称特性进行解释。每个属性都有一个有意义的名称字符串。本规范包含一些预定义属性集,并通过有意义的名称予以标识。这些属性集列于本规范的“属性集”部分。适用于特定对象的属性集列于相应对象规范中。命名约定“Pset_Xxx”适用于本规范定义的所有属性集,并应作为 Name 特性的值使用。
此外,还可以捕获任何用户定义的属性集。未声明为 IFC 规范一部分的属性集应具有不包含“Pset_”前缀的 Name 值。
IfcPropertySet 可以分配给对象实例和对象类型。分配给对象类型的 IfcPropertySet 在相同对象类型的所有实例之间共享。
IfcPropertySetTemplate 可以定义底层结构,即所需的名称、可应用于属性集的适用对象或对象类型,以及可以包含的各个属性。属性集通过使用引用相应对象的关联对象来与其他对象相关联:
- 实例对象:使用逆向特性 DefinesOccurrence 的 IfcRelDefinesByProperties。
- 类型对象:通过逆向特性 DefinesType 进行直接链接。
- 底层模板:使用逆向特性 IsDefinedBy 的 IfcRelDefinesByTemplate。
- 外部引用:IfcRelAssociates 的子类型用于提供与分类系统或提供属性集进一步引用的外部库的链接。可通过逆向特性 HasAssociations 访问。
沿革 IFC1.0 中的新实体
5.1.3.14.2 实体继承
5.1.3.14.3 特性
| # | 特性 | 类型 | 描述 |
|---|---|---|---|
| IfcRoot (4) | |||
| 1 | GlobalId | IfcGloballyUniqueId |
在整个软件世界中分配全局唯一标识符。 |
| 2 | OwnerHistory | OPTIONAL IfcOwnerHistory |
分配有关该对象当前所有权的信息,包括所有者参与者、应用程序、本地标识以及捕获到的关于对象近期更改的信息。 |
| 3 | Name | OPTIONAL IfcLabel |
供参与的软件系统或用户使用的可选名称。对于某些 IfcRoot 的子类型,可能需要插入 Name 特性。这将通过 where 规则强制执行。 |
| 4 | Description | OPTIONAL IfcText |
可选的描述,用于提供信息性注释。 |
| IfcPropertyDefinition (2) | |||
| HasContext | SET [0:1] OF IfcRelDeclares FOR RelatedDefinitions |
引用 IfcRelDeclares 关系,从而引用 IfcProject 或 IfcProjectLibrary。 |
|
| HasAssociations | SET [0:?] OF IfcRelAssociates FOR RelatedObjects |
引用 IfcRelAssociates 关系,从而引用那些外部定义的概念,如分类、文档或库信息,这些概念与属性定义相关联。 |
|
| IfcPropertySetDefinition (3) | |||
| DefinesType | SET [0:?] OF IfcTypeObject FOR HasPropertySets |
属性集分配到的类型对象。该属性集充当类型对象的所有实例的共享属性集。 {} |
|
| IsDefinedBy | SET [0:?] OF IfcRelDefinesByTemplate FOR RelatedPropertySets |
通过对象化关系 IfcRelDefinesByTemplate 与属性集模板的关系,如果给定,则为属性集或数量集及其属性提供定义模板。 {} |
|
| DefinesOccurrence | SET [0:?] OF IfcRelDefinesByProperties FOR RelatingPropertyDefinition |
引用与一个或多个对象实例的关系,这些对象实例的特征由属性集定义定义。可以使用对象化关系 IfcRelDefinesByProperties 将单个属性集分配给多个对象实例。 {} |
|
| 点击显示 9 个隐藏的继承特性 点击隐藏 9 个继承特性 | |||
| IfcPropertySet (1) | |||
| 5 | HasProperties | SET [1:?] OF IfcProperty |
包含的属性集。对于作为 IFC 对象模型一部分定义的属性集,属性集中的属性对象在此规范中定义。如果属性不包含在预定义属性集中,则其值此时尚未设置。 |
5.1.3.14.4 形式化命题
| 名称 | 描述 |
|---|---|
| ExistsName |
应提供 Name 特性。该特性用于指定属性集的标识符。允许附加到特定属性集的属性可以在 IFC 规范的属性集定义部分中给出。这些属性集定义在 IfcObjectDefinition 各子类型的语义定义部分中引用。 |
|
|
| UniquePropertyNames |
属性集中的每个 IfcProperty 子类型都应具有唯一的 Name 特性值。 |
|
|
5.1.3.14.5 概念用法
| 概念 | 用法 | 描述 | |
|---|---|---|---|
| IfcRoot (2) | |||
| Revision Control(版本控制) | 通用用法 |
使用 IfcOwnerHistory 捕获所有权、历史记录和合并状态。 |
|
| Software Identity(软件标识) | 通用用法 |
IfcRoot 分配全局唯一 ID。此外,它还可以为概念提供名称和描述。 |
|
| 点击显示 2 个隐藏的继承概念 点击隐藏 2 个继承概念 | |||
5.1.3.14.6 形式化表示
ENTITY IfcPropertySet
SUBTYPE OF (IfcPropertySetDefinition);
HasProperties : SET [1:?] OF IfcProperty;
WHERE
ExistsName : EXISTS(SELF\IfcRoot.Name);
UniquePropertyNames : IfcUniquePropertyName(HasProperties);
END_ENTITY;