#### IfcPropertyEnumeration

Natural language names

##### Semantic definitions at the entity

Entity definition

A collection of simple or measure values that define a prescribed set of alternatives from which 'enumeration values' are selected. This enables inclusion of enumeration values in property sets. IfcPropertyEnumeration provides a name for the enumeration as well as a list of unique (numeric or descriptive) values (that may have a measure type assigned). The entity defines the list of potential enumerators to be exchanged together (or separately) with properties of type IfcPropertyEnumeratedValue that selects their actual property values from this enumeration.

The unit is handled by the Unit attribute:

- If the Unit attribute is not given, than 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, the unit assigned by the unit attribute overrides the globally assigned unit.

Name | EnumerationValues | Type (through IfcValue) | Unit
PEnum_DamperBladeAction | Parallel | IfcString | -
| Opposed | IfcString |
| Other | IfcString |
| Unset | IfcString |

> HISTORY: New Entity in IFC Release 2.0, capabilities enhanced in IFC Release 2x. Entity has been renamed from IfcEnumeration in IFC Release 2x.

Attribute definitions

# | Attribute | Type | Cardinality | Description
--- | --- | --- | --- | ---
1 | Name | IfcLabel | [1:1] | Name of this enumeration.
2 | EnumerationValues | IfcValue | ~L[1:?] | List of values that form the enumeration.
3 | Unit | - |  | This attribute is out of scope for this model view definition and shall not be set.

Formal Propositions

Rule | Description
--- | ---
WR01 | All values within the list of EnumerationValues shall be of the same measure type.

##### Inherited definitions from supertypes

Entity inheritance
Attribute inheritance

# | Attribute | Type | Cardinality | Description
--- | --- | --- | --- | ---
IfcPropertyEnumeration
1 | Name | IfcLabel | [1:1] | Name of this enumeration.
2 | EnumerationValues | IfcValue | ~L[1:?] | List of values that form the enumeration.
3 | Unit | - |  | This attribute is out of scope for this model view definition and shall not be set.

##### Formal representations

XSD Specification
`<xs:element name="IfcPropertyEnumeration" type="ifc:IfcPropertyEnumeration" substitutionGroup="ifc:Entity" nillable="true"/>
<xs:complexType name="IfcPropertyEnumeration">
<xs:complexContent>
<xs:extension base="ifc:Entity">
<xs:sequence>
<xs:element name="EnumerationValues">
<xs:complexType>
<xs:group ref="ifc:IfcValue" maxOccurs="unbounded"/>
<xs:attribute ref="ifc:itemType" fixed="ifc:IfcValue"/>
<xs:attribute ref="ifc:cType" fixed="list-unique"/>
<xs:attribute ref="ifc:arraySize" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="Name" type="ifc:IfcLabel" use="optional"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
`
EXPRESS Specification
`*)
ENTITY IfcPropertyEnumeration;
Name : IfcLabel;
EnumerationValues : LIST [1:?] OF UNIQUE IfcValue;
Unit : OPTIONAL IfcStrippedOptional;
UNIQUE
UR1 : Name;
WHERE
WR01 : SIZEOF(QUERY(temp <* SELF.EnumerationValues | NOT(TYPEOF(SELF.EnumerationValues[1]) = TYPEOF(temp)) )) = 0;
END_ENTITY;
(*

EXPRESS-G diagram

`

Inheritance Graph:

ENTITY IfcPropertyEnumeration
ENTITY IfcPropertyEnumeration
Name : IfcLabel;
EnumerationValues : LIST [1:?] OF UNIQUE IfcValue;
Unit : OPTIONAL IfcStrippedOptional;
END_ENTITY;

Link to this page