5.1.3.45 IfcSimplePropertyTemplate(简单属性模板)
5.1.3.45.1 语义定义(Semantic definition)
IfcSimplePropertyTemplate 定义了所有动态可扩展属性的模板,这些属性是 IfcSimpleProperty 的子类型或 IfcPhysicalSimpleQuantity 的子类型。各个属性模板根据其 Name 特性进行解释,并且可以具有预定义的模板类型、属性单位和属性度量类型。特性的正确解释:
- PrimaryUnit
- SecondaryUnit
- PrimaryMeasureType
- SecondaryMeasureType
由 TemplateType 确定。Enumerators 和 Expression 特性仅适用于 IfcSimplePropertyTemplate 具有特定 TemplateType 的实例。TemplateType 还控制应使用哪个 IfcSimpleProperty 或 IfcPhysicalSimpleQuantity 的子类型来对应此模板的属性实例。
IfcSimplePropertyTemplate 是 IfcPropertySetTemplate 中包含的模板集的一部分。可以通过逆向特性 PartOfPsetTemplate 访问该模板。IfcPropertySetTemplate 可能会定义一个或多个 IfcPropertySet(或 IfcElementQuantity)的实例。定义分配通过对象化关系 IfcRelDefinesByTemplate 建立,如图 5.1.3.45.A 所示。IfcSimplePropertyTemplate 与 IfcSimpleProperty 或 IfcPhysicalSimpleQuantity 的子类型之间没有直接链接。模板与单个属性(或数量)之间的定义关系通过 Name 特性建立。

5.1.3.45.2 实体继承(Entity inheritance)
5.1.3.45.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 关系,从而引用那些外部定义的概念,如分类、文档或库信息,这些概念与属性定义相关联。 |
|
| IfcPropertyTemplate (2) | |||
| PartOfComplexTemplate | SET [0:?] OF IfcComplexPropertyTemplate FOR HasPropertyTemplates |
引用一个复杂属性模板。只有当被引用复杂属性模板的 PropertyType 设置为 COMPLEX 时,才应提供此项。 |
|
| PartOfPsetTemplate | SET [0:?] OF IfcPropertySetTemplate FOR HasPropertyTemplates |
引用定义 IfcPropertyTemplate 范围的 IfcPropertySetTemplate。单个 IfcPropertyTemplate 可以在零个、一个或多个 IfcPropertySetTemplate 实体的范围内定义。 |
|
| 点击显示 8 个隐藏的继承特性 点击隐藏 8 个继承特性 | |||
| IfcSimplePropertyTemplate (8) | |||
| 5 | TemplateType | OPTIONAL IfcSimplePropertyTemplateTypeEnum |
属性类型,定义属性模板是定义具有单个值的属性、有界值属性、列表值属性、表值属性、枚举值属性还是引用值属性。或者数量类型,定义模板是定义具有长度、面积、体积、重量或时间值的数量。 |
| 6 | PrimaryMeasureType | OPTIONAL IfcLabel |
分配给属性定义的初始度量类型。如果 TemplateType 设置为:
|
| 7 | SecondaryMeasureType | OPTIONAL IfcLabel |
分配给属性定义的次要度量类型。如果 TemplateType 设置为:
对于所有 TemplateType,度量类型的取值范围都在 IfcValue 的选择类型内,除了 P_ENUMERATEDVALUE。此时它是逗号分隔的枚举器列表。 |
| 8 | Enumerators | OPTIONAL IfcPropertyEnumeration |
属性枚举的名称,以及分配给属性定义的所有有效枚举器的列表,这些枚举器是可选择的值。 如果 TemplateType 设置为:
则必须提供此特性。 |
| 9 | PrimaryUnit | OPTIONAL IfcUnit |
分配给属性定义的初始单位。如果 TemplateType 设置为:
则应提供此特性。 |
| 10 | SecondaryUnit | OPTIONAL IfcUnit |
分配给属性定义的次要单位。如果 TemplateType 设置为:
则应提供此特性。 |
| 11 | Expression | OPTIONAL IfcLabel |
根据 TemplateType 用于存储属性模板附加信息的表达式。如果 TemplateType 设置为:
|
| 12 | AccessState | OPTIONAL IfcStateEnum |
关于属性访问状态的信息。它决定了任何接收应用程序是否可以在没有特定知识的情况下查看和/或修改属性。 IfcStateEnum 的属性使用定义
|
5.1.3.45.4 概念用法(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。此外,它还可以为概念提供名称和描述。 |
|
| IfcPropertyTemplate (2) | |||
| Revision Control | General |
使用 IfcOwnerHistory 捕获所有权、历史记录和合并状态。 |
|
| Software Identity | General |
IfcRoot 分配全局唯一 ID。此外,它还可以为概念提供名称和描述。 |
|
| 点击显示 8 个隐藏的继承概念 点击隐藏 8 个继承概念 | |||
| IfcSimplePropertyTemplate (2) | |||
| Revision Control | General |
使用 IfcOwnerHistory 捕获所有权、历史记录和合并状态。 |
|
| Software Identity | General |
IfcRoot 分配全局唯一 ID。此外,它还可以为概念提供名称和描述。 |
|
5.1.3.45.5 形式化表示(Formal representation)
ENTITY IfcSimplePropertyTemplate
SUBTYPE OF (IfcPropertyTemplate);
TemplateType : OPTIONAL IfcSimplePropertyTemplateTypeEnum;
PrimaryMeasureType : OPTIONAL IfcLabel;
SecondaryMeasureType : OPTIONAL IfcLabel;
Enumerators : OPTIONAL IfcPropertyEnumeration;
PrimaryUnit : OPTIONAL IfcUnit;
SecondaryUnit : OPTIONAL IfcUnit;
Expression : OPTIONAL IfcLabel;
AccessState : OPTIONAL IfcStateEnum;
END_ENTITY;