IFC 4.3.0.1 (IFC4X3_TC1)

8.16.3.8 IfcPropertyEnumeratedValue

8.16.3.8.1 Semantic definition

A property with an enumerated value, IfcPropertyEnumeratedValue, defines a property object which has a value assigned that is chosen from an enumeration. It defines a property - value combination for which the property Name, an optional Description, the optional EnumerationValues with measure type and optionally an Unit is given.

The unit is handled by the Unit attribute, see Table 8.16.3.8.A for an example of a enumerated property:

• If the Unit attribute is not given, then the unit is already implied by the type of IfcMeasureValue or IfcDerivedMeasureValue. The associated unit can be found at the IfcUnitAssignment globally defined at the project level (IfcProject.UnitsInContext).
• If the Unit attribute is given, then the unit assigned by the unit attribute overrides the globally assigned unit.

More precisely: The IfcPropertyEnumeratedValue defines a property, which value is selected from a defined list of enumerators. The enumerators are stored in a dynamic enumeration of values including the type information from IfcValue (see IfcPropertyEnumeration). This enables applications to use an enumeration value as a property within a property set (IfcPropertySet) including the allowed list of values.

The IfcPropertyEnumeratedValue refers to an IfcPropertyEnumeration, see Table 8.16.3.8.B for an example:

It is not mandatory to use an instance of IfcPropertyEnumeration to hold the applicable values for IfcPropertyEnumeratedValue, however this is the preferred way. A single instance of IfcPropertyEnumeration can be referenced by multiple instances of IfcPropertyEnumeratedValue.

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 References

8.16.3.8.7 Changelog

8.16.3.8.7.1 IFC4

• where rule, WR21
• where rule, WR1
• attribute EnumerationValues optional, Is now optional