5.1.3.16 IfcPropertySetTemplate (Ifc属性集模板)
5.1.3.16.1 语义定义(Semantic definition)
IfcPropertySetTemplate 定义了所有由 IfcPropertySet 表示的动态可扩展属性集的模板。属性集模板是属性树中属性模板的容器。各个属性模板根据它们的 Name 特性进行解释,并且不应分配任何值。
属性集模板可以构成在项目中使用的和声明的属性库的一部分。根据 TemplateType,IfcPropertySetTemplate 定义了以下模板:
- "Pset_" - IfcPropertySet 的实例
- "Qto_" - IfcElementQuantity 的实例
继承的 HasContext 逆向关系到 IfcRelDeclares 用于在项目库中声明 IfcPropertySetTemplate。如果包含在交换数据集里,那么可以通过 IfcProjectLibrary 遍历它。提供 Defines 逆向关系到 IfcRelDefinesByTemplate,以保持 IfcPropertySetTemplate 和多个 IfcPropertySet 之间的定义关系,IfcPropertySetTemplate 为这些 IfcPropertySet 提供了模板。图1 说明了用于属性集模板的关系。

在 IfcPropertySet 的 HasProperties 集合中的 IfcProperty 之间,其 Name 特性值与 IfcPropertySetTemplate 的 HasPropertyTemplates 集合中的 IfcPropertyTemplate 的 Name 特性值相同,建立了一个隐式的定义关系,该关系将模板分配给各个属性。
5.1.3.16.2 实体继承(Entity inheritance)
5.1.3.16.3 特性(Attributes)
| # | 特性(Attributes) | 类型 | 描述 |
|---|---|---|---|
| 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 关系,从而引用那些外部定义的概念,如分类、文档或库信息,这些概念与属性定义相关联。 |
|
| 点击显示 6 个隐藏的继承特性 点击隐藏 6 个继承特性 | |||
| IfcPropertySetTemplate (4) | |||
| 5 | TemplateType | OPTIONAL IfcPropertySetTemplateTypeEnum |
属性集类型,定义属性集是否适用于类型(IfcTypeObject 的子类型)、实例(IfcObject 的子类型),或者作为性能历史的特殊情况。 特性 ApplicableEntity 可以进一步细化到单个或多个实体类型的适用性。 |
| 6 | ApplicableEntity | OPTIONAL IfcIdentifier |
该特性可选地定义了适用类型或实例对象的数据类型,分配的属性集模板可以与之关联。如果不存在,则不给出属性集模板适用于哪个类型或实例对象的指示。使用以下约定:
|
| 7 | HasPropertyTemplates | SET [1:?] OF IfcPropertyTemplate |
IfcPropertyTemplate 的集合,这些模板在 IfcPropertySetTemplate 的范围内定义。 |
| Defines | SET [0:?] OF IfcRelDefinesByTemplate FOR RelatingTemplate |
通过对象化的关系 IfcRelDefinesByTemplate 与属性集的关系,如果给定,则利用定义模板。 |
|
5.1.3.16.4 形式化命题(Formal propositions)
| 名称 | 描述 |
|---|---|
| ExistsName |
必须提供 Name 特性。该特性用于指定属性集模板的指示符。允许附加到特定属性集模板的属性可以在 IFC 规范的属性集定义部分中给出。 |
|
|
| UniquePropertyNames |
属性集模板中的每个 IfcPropertyTemplate 都应具有唯一的 Name 特性值。 |
|
|
5.1.3.16.5 概念用法(Concept usage)
| 概念 | 用法 | 描述 | |
|---|---|---|---|
| IfcRoot (2) | |||
| Revision Control | General |
使用 IfcOwnerHistory 捕获所有权、历史记录和合并状态。 |
|
| Software Identity | General |
IfcRoot 分配全局唯一 ID。此外,它还可以为概念提供名称和描述。 |
|
| IfcPropertyDefinition (2) | |||
| Revision Control | General |
使用 IfcOwnerHistory 捕获所有权、历史记录和合并状态。 |
|
| Software Identity | General |
IfcRoot 分配全局唯一 ID。此外,它还可以为概念提供名称和描述。 |
|
| IfcPropertyTemplateDefinition (2) | |||
| Revision Control | General |
使用 IfcOwnerHistory 捕获所有权、历史记录和合并状态。 |
|
| Software Identity | General |
IfcRoot 分配全局唯一 ID。此外,它还可以为概念提供名称和描述。 |
|
| 点击显示 6 个隐藏的继承概念 点击隐藏 6 个继承概念 | |||
| IfcPropertySetTemplate (2) | |||
| Revision Control | General |
使用 IfcOwnerHistory 捕获所有权、历史记录和合并状态。 |
|
| Software Identity | General |
IfcRoot 分配全局唯一 ID。此外,它还可以为概念提供名称和描述。 |
|
5.1.3.16.6 形式化表示(Formal representation)
ENTITY IfcPropertySetTemplate
SUBTYPE OF (IfcPropertyTemplateDefinition);
TemplateType : OPTIONAL IfcPropertySetTemplateTypeEnum;
ApplicableEntity : OPTIONAL IfcIdentifier;
HasPropertyTemplates : SET [1:?] OF IfcPropertyTemplate;
INVERSE
Defines : SET [0:?] OF IfcRelDefinesByTemplate FOR RelatingTemplate;
WHERE
ExistsName : EXISTS(SELF\IfcRoot.Name);
UniquePropertyNames : IfcUniquePropertyTemplateNames(HasPropertyTemplates);
END_ENTITY;