IFC 4.4.0.0 build 20261005 (IFC4X4_DEV_20260525) ⚠ buildingSMART Working Draft. All content is under development.

  • Help suggest improvements
  • Get user or developer support

8.16.3.9 IfcPropertyEnumeration

RV ⓘ
AbV ⓘ

8.16.3.9.1 Semantic definition

IfcPropertyEnumeration is 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, see Table A for an example of a unitless property enumeration:

  • 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 IfcLabel -
Opposed IfcLabel
Other IfcLabel
Unset IfcLabel
Table A — Property enumeration with values, measure types and units

{ .change-ifc2x}

8.16.3.9.2 Entity inheritance

8.16.3.9.3 Attributes

# Attribute Type Description
IfcPropertyAbstraction (1)
HasExternalReferences SET [0:?] OF IfcExternalReferenceRelationship FOR RelatedResourceObjects

Reference to an external reference, e.g. library, classification, or document information, that is associated to the property definition.

Click to show 1 hidden inherited attributes Click to hide 1 inherited attributes
IfcPropertyEnumeration (3)
1 Name IfcLabel

Name of this enumeration.

2 EnumerationValues LIST [1:?] OF UNIQUE IfcValue

List of values that form the enumeration.

3 Unit OPTIONAL IfcUnit

Unit for the enumerator values, if not given, the default value for the measure type (given by the TYPE of nominal value) is used as defined by the global unit assignment at IfcProject.

Table B

8.16.3.9.4 Formal propositions

Name Description
WR01

All values within the list of EnumerationValues shall be of the same measure type.

SIZEOF(QUERY(temp <* SELF.EnumerationValues |
NOT(TYPEOF(SELF.EnumerationValues[1]) = TYPEOF(temp))
)) = 0
UR1 The attribute Name should be unique
Table C

8.16.3.9.5 Formal representation

ENTITY IfcPropertyEnumeration
SUBTYPE OF (IfcPropertyAbstraction);
Name : IfcLabel;
EnumerationValues : LIST [1:?] OF UNIQUE IfcValue;
Unit : OPTIONAL IfcUnit;
UNIQUE
UR1 : Name;
WHERE
WR01 : SIZEOF(QUERY(temp <* SELF.EnumerationValues |
NOT(TYPEOF(SELF.EnumerationValues[1]) = TYPEOF(temp))
)) = 0;
END_ENTITY;

8.16.3.9.6 References

Edit on Github

3 contributor(s): ArturTomczakDion MoultbSI-Bot
Last change: Improve definition split (#876) * bring back headers headers were previously removed by mistake, now bringing them back * add new lines and rename the tag add the word 'short' in it * unify newlines make exactly one newline before and two after the tag * resolving typos Because bringing back headers required to go back in time to previous version, I'm now re-resolving the issues: #861, #860, #856 by ArturTomczak on 2024-07-16T16:07:28+02:00

Is this page difficult to understand? Let us know!

8.16.3.9.7 Changelog

8.16.3.9.7.1 IFC4.2

  • attribute EnumerationValues type, Changed from "list[1:?] of unique IfcValue" to "list[1:?] of IfcValue"

8.16.3.9.7.2 IFC4.3_ADD2

  • attribute EnumerationValues type, Changed from "list[1:?] of IfcValue" to "list[1:?] of unique IfcValue"