8.16.3.8 IfcPropertyEnumeratedValue(属性枚举值)
8.16.3.8.1 语义定义(Semantic definition)
具有枚举值的属性 IfcPropertyEnumeratedValue 定义了一个属性对象,其分配的值是从枚举中选择的。它定义了一个属性-值组合,其中给出了属性 Name、可选的 Description、具有度量类型的可选 EnumerationValues 以及可选的 Unit。
单位由 Unit 属性处理,参见表1中的枚举属性示例:
- 如果未给出 Unit 属性,则单位已由 IfcMeasureValue 或 IfcDerivedMeasureValue 的类型隐含。相关单位可在项目级别全局定义的 IfcUnitAssignment 中找到(IfcProject.UnitsInContext)。
- 如果给出了 Unit 属性,则单位属性分配的单位将覆盖全局分配的单位。
更准确地说:IfcPropertyEnumeratedValue 定义了一个属性,其值是从定义的枚举器列表中选择的。枚举器存储在值的动态枚举中,包括来自 IfcValue 的类型信息(参见 IfcPropertyEnumeration)。这使得应用程序能够使用枚举值作为属性集(IfcPropertySet)中的属性,包括允许的值列表。
| 名称 | 值(EnumerationValue) | 类型(通过 IfcValue) | IfcPropertyEnumeration(名称) |
|---|---|---|---|
| BladeAction | Opposed | IfcLabel | DamperBladeActionEnum |
| BladeAction | Parallel | IfcLabel | DamperBladeActionEnum |
IfcPropertyEnumeratedValue 引用一个 IfcPropertyEnumeration,参见表2中的示例:
| 名称 | EnumerationValues | 类型(通过 IfcValue) | 单位 |
|---|---|---|---|
| DamperBladeActionEnum | (Parallel, Opposed, Other, Unset) | IfcLabel | - |
使用 IfcPropertyEnumeration 实例来保存 IfcPropertyEnumeratedValue 的适用值不是强制性的,但这是首选方式。单个 IfcPropertyEnumeration 实例可以被多个 IfcPropertyEnumeratedValue 实例引用。
8.16.3.8.2 实体继承(Entity inheritance)
8.16.3.8.3 特性(Attributes)
| # | 特性(Attributes) | 类型(Type) | 描述(Description) |
|---|---|---|---|
| IfcPropertyAbstraction (1) | |||
| HasExternalReferences | SET [0:?] OF IfcExternalReferenceRelationship FOR RelatedResourceObjects |
引用与属性定义相关联的外部引用,例如库、分类或文档信息。 |
|
| IfcProperty (8) | |||
| 1 | Name | IfcIdentifier |
此属性的名称。该标签是定义属性语义含义的重要名称字符串。 |
| 2 | Specification | OPTIONAL IfcText |
指向具有语义定义或解释性文本位置的URI引用,用于说明该属性。 |
| PartOfPset | SET [0:?] OF IfcPropertySet FOR HasProperties |
通过该属性被引用的_IfcPropertySet_的引用。 |
|
| PropertyForDependance | SET [0:?] OF IfcPropertyDependencyRelationship FOR DependingProperty |
其他属性的值所依赖的属性。 |
|
| PropertyDependsOn | SET [0:?] OF IfcPropertyDependencyRelationship FOR DependantProperty |
该属性的值所依赖的相关属性。 |
|
| PartOfComplex | SET [0:?] OF IfcComplexProperty FOR HasProperties |
包含该_IfcProperty_的_IfcComplexProperty_的引用。 |
|
| HasConstraints | SET [0:?] OF IfcResourceConstraintRelationship FOR RelatedResourceObjects |
用户定义的属性约束。 |
|
| HasApprovals | SET [0:?] OF IfcResourceApprovalRelationship FOR RelatedResourceObjects |
用户定义的属性审批。 |
|
| 点击显示 9 个隐藏的继承特性 点击隐藏 9 个继承特性 | |||
| IfcPropertyEnumeratedValue (2) | |||
| 3 | EnumerationValues | OPTIONAL LIST [1:?] OF IfcValue |
枚举值,如果提供了此类引用,则应在引用的 IfcPropertyEnumeration 中列出。 |
| 4 | EnumerationReference | OPTIONAL IfcPropertyEnumeration |
从中选择枚举值的枚举。引用的枚举还确定了枚举值的单位。 |
8.16.3.8.4 形式化命题(Formal propositions)
| 名称(Name) | 描述(Description) |
|---|---|
| WR21 |
EnumerationValues 列表中的每个值都应是引用的 IfcPropertyEnumeration 中 EnumerationValues 列表的成员(前提是 EnumerationValues 和 EnumerationReference 均被声明)。 |
|
|
8.16.3.8.5 形式化表示(Formal representation)
ENTITY IfcPropertyEnumeratedValue
SUBTYPE OF (IfcSimpleProperty);
EnumerationValues : OPTIONAL LIST [1:?] OF IfcValue;
EnumerationReference : OPTIONAL IfcPropertyEnumeration;
WHERE
WR21 : NOT(EXISTS(EnumerationReference))
OR NOT(EXISTS(EnumerationValues))
OR (SIZEOF(QUERY(temp <* EnumerationValues |
temp IN EnumerationReference.EnumerationValues))
= SIZEOF(EnumerationValues));
END_ENTITY;