Merkmal - Aufzählung | |
Property Enumeration | |
Propriété à valeurs énumérées |
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 771 for an example of a unitless property enumeration:
|
||||||||||||||||||||
Table 771 — Property enumeration with values, measure types and units |
HISTORY New entity in IFC2.0, capabilities enhanced in IFC2x.
IFC2x CHANGE Entity has been renamed from IfcEnumeration
# | Attribute | Type | Cardinality | Description | G |
---|---|---|---|---|---|
1 | Name | IfcLabel | Name of this enumeration. | X | |
2 | EnumerationValues | IfcValue | L[1:?] | List of values that form the enumeration. | X |
3 | Unit | 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. | X |
Rule | Description |
---|---|
WR01 | All values within the list of EnumerationValues shall be of the same measure type. |
# | Attribute | Type | Cardinality | Description | G |
---|---|---|---|---|---|
IfcPropertyAbstraction | |||||
HasExternalReferences | IfcExternalReferenceRelationship @RelatedResourceObjects | S[0:?] | Reference to an external reference, e.g. library, classification, or document information, that is associated to the property definition.
IFC4 CHANGE New inverse attribute. | X | |
IfcPropertyEnumeration | |||||
1 | Name | IfcLabel | Name of this enumeration. | X | |
2 | EnumerationValues | IfcValue | L[1:?] | List of values that form the enumeration. | X |
3 | Unit | 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. | X |
<xs:element name="IfcPropertyEnumeration" type="ifc:IfcPropertyEnumeration" substitutionGroup="ifc:IfcPropertyAbstraction" nillable="true"/>
<xs:complexType name="IfcPropertyEnumeration">
<xs:complexContent>
<xs:extension base="ifc:IfcPropertyAbstraction">
<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:element name="Unit" nillable="true" minOccurs="0">
<xs:complexType>
<xs:group ref="ifc:IfcUnit"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="Name" type="ifc:IfcLabel" use="optional"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
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;
References: IfcSimplePropertyTemplate IfcPropertyEnumeratedValue