IFC 4.3.2.20251031 (IFC4X3_ADD2) under development

8.16.3.8 IfcPropertyEnumeratedValue(属性枚举值)

RV ⓘ
AbV ⓘ

8.16.3.8.1 语义定义(Semantic definition)

具有枚举值的属性 IfcPropertyEnumeratedValue 定义了一个属性对象,其分配的值是从枚举中选择的。它定义了一个属性-值组合,其中给出了属性 Name、可选的 Description、具有度量类型的可选 EnumerationValues 以及可选的 Unit

单位由 Unit 属性处理,参见表1中的枚举属性示例:

更准确地说:IfcPropertyEnumeratedValue 定义了一个属性,其值是从定义的枚举器列表中选择的。枚举器存储在值的动态枚举中,包括来自 IfcValue 的类型信息(参见 IfcPropertyEnumeration)。这使得应用程序能够使用枚举值作为属性集(IfcPropertySet)中的属性,包括允许的值列表。

名称 值(EnumerationValue) 类型(通过 IfcValue IfcPropertyEnumeration(名称)
BladeAction Opposed IfcLabel DamperBladeActionEnum
BladeAction Parallel IfcLabel DamperBladeActionEnum
表1 — 具有值、度量类型和单位的枚举属性

IfcPropertyEnumeratedValue 引用一个 IfcPropertyEnumeration,参见表2中的示例:

名称 EnumerationValues 类型(通过 IfcValue 单位
DamperBladeActionEnum (Parallel, Opposed, Other, Unset) IfcLabel -
表2 — 具有枚举器的属性枚举

使用 IfcPropertyEnumeration 实例来保存 IfcPropertyEnumeratedValue 的适用值不是强制性的,但这是首选方式。单个 IfcPropertyEnumeration 实例可以被多个 IfcPropertyEnumeratedValue 实例引用。

8.16.3.8.2 实体继承(Entity inheritance)

8.16.3.8.3 特性(Attributes)

# 特性(Attributes) 类型 描述
IfcPropertyAbstraction (1)
IfcProperty (8)
点击显示 9 个隐藏的继承特性 点击隐藏 9 个继承特性
IfcPropertyEnumeratedValue (2)
表 8.16.3.8.A

8.16.3.8.4 形式化命题(Formal propositions)

名称 描述
WR21

EnumerationValues 列表中的每个值都应是引用的 IfcPropertyEnumerationEnumerationValues 列表的成员(前提是 EnumerationValuesEnumerationReference 均被声明)。

NOT(EXISTS(EnumerationReference)) 
OR  NOT(EXISTS(EnumerationValues)) 
OR  (SIZEOF(QUERY(temp <* EnumerationValues |
    temp IN EnumerationReference.EnumerationValues))
    = SIZEOF(EnumerationValues))
表 8.16.3.8.C

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;

8.16.3.8.6 参考文献