#### 8.6.3.3 IfcPropertyEnumeratedValue

| Propriété à valeur issue d'un énumération
| Merkmal mit Aufzählungswert

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.

> NOTE Multiple choices from the property enumeration are supported.

The unit is handled by the Unit attribute, see Table 49 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.

> NOTE An IfcPropertyEnumeratedValue may be exchanged with no values assigned yet. In this case the EnumerationValues are set to NIL.

Name | Value (EnumerationValue) | Type (through IfcValue) | IfcPropertyEnumeration (Name)
--- | --- | --- | ---
BladeAction | Opposed | IfcString | DamperBladeActionEnum
BladeAction | Parallel | IfcString | DamperBladeActionEnum
Table 49 — Enumerated property with values, measure types and units

The IfcPropertyEnumeratedValue refers to an IfcPropertyEnumeration, see Table 50 for an example:

Name | EnumerationValues | Type (through IfcValue) | Unit
--- | --- | --- | ---
DamperBladeActionEnum | (Parallel, Opposed, Other, Unset) | IfcString | -
Table 50 — Property enumeration with enumerators

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.

> HISTORY New entity in IFC2.0.

> IFC2x CHANGE Entity has been renamed from IfcEnumeratedProperty

> IFC4 CHANGE Attribute EnumerationValues has been made OPTIONAL with upward compatibility for file based exchange.

XSD Specification:

<xs:element name="IfcPropertyEnumeratedValue" type="ifc:IfcPropertyEnumeratedValue" substitutionGroup="ifc:IfcSimpleProperty" nillable="true"/>
<xs:complexType name="IfcPropertyEnumeratedValue">
<xs:complexContent>
<xs:extension base="ifc:IfcSimpleProperty"/>
</xs:complexContent>
</xs:complexType>

EXPRESS Specification:

ENTITY IfcPropertyEnumeratedValue

| SUBTYPE OF (IfcSimpleProperty);

EnumerationValues | : | OPTIONAL LIST [1:?] OF IfcStrippedOptional;
EnumerationReference | : | OPTIONAL IfcStrippedOptional;

| WHERE

WR21 | : | NOT(EXISTS(EnumerationReference)) OR NOT(EXISTS(EnumerationValues)) OR (SIZEOF(QUERY(temp <* EnumerationValues | temp IN EnumerationReference.EnumerationValues)) = SIZEOF(EnumerationValues));

END_ENTITY;

Attribute Definitions:

EnumerationValues | : | Enumeration values, which shall be listed in the referenced IfcPropertyEnumeration, if such a reference is provided. IFC4 CHANGE The attribute has been made optional with upward compatibility for file based exchange.

Formal Propositions:

WR21 | : | Each value within the list of EnumerationValues shall be a member of the list of EnumerationValues at the referenced IfcPropertyEnumeration (provided that both, the EnumerationValues and EnumerationReference, are asserted).

Inheritance Graph:

ENTITY IfcPropertyEnumeratedValue

| ENTITY IfcPropertyAbstraction

| INVERSE

| ENTITY IfcProperty

Name | : | IfcIdentifier;
Description | : | OPTIONAL IfcStrippedOptional;

| INVERSE

PartOfPset | : | SET OF IfcPropertySet FOR HasProperties;

| ENTITY IfcSimpleProperty

| ENTITY IfcPropertyEnumeratedValue

EnumerationValues | : | OPTIONAL LIST [1:?] OF IfcStrippedOptional;
EnumerationReference | : | OPTIONAL IfcStrippedOptional;

END_ENTITY;

Link to this page