Merkmal mit Aufzählungswert | |
Property Enumerated Value | |
Propriété à valeur issue d'un énumération |
Item | SPF | XML | Change | Description | IFC2x3 to IFC4 |
---|---|---|---|---|
IfcPropertyEnumeratedValue | ||||
EnumerationValues | MODIFIED | Instantiation changed to OPTIONAL. | IFC4 Addendum 1 | |
IfcPropertyEnumeratedValue | ||||
HasConstraints | ADDED | |||
HasApprovals | ADDED |
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 686 for an example of a enumerated property:
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.
|
||||||||||||
Table 686 — Enumerated property with values, measure types and units |
The IfcPropertyEnumeratedValue refers to an IfcPropertyEnumeration, see Table 687 for an example:
|
||||||||
Table 687 — 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.
# | Attribute | Type | Cardinality | Description | G |
---|---|---|---|---|---|
3 | EnumerationValues | IfcValue | ? L[1:?] |
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. | X |
4 | EnumerationReference | IfcPropertyEnumeration | ? | Enumeration from which a enumeration value has been selected. The referenced enumeration also establishes the unit of the enumeration value. | X |
Rule | Description |
---|---|
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). |
# | 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 | |
IfcProperty | |||||
1 | Name | IfcIdentifier | Name for this property. This label is the significant name string that defines the semantic meaning for the property. | X | |
2 | Description | IfcText | ? | Informative text to explain the property. | X |
PartOfPset | IfcPropertySet @HasProperties | S[0:?] | Reference to the IfcPropertySet by which the IfcProperty is referenced.
IFC4 CHANGE New inverse attribute to navigate from IfcProperty to IfcPropertySet with upward compatibility for file based exchange. | X | |
PropertyForDependance | IfcPropertyDependencyRelationship @DependingProperty | S[0:?] | The property on whose value that of another property depends. | X | |
PropertyDependsOn | IfcPropertyDependencyRelationship @DependantProperty | S[0:?] | The relating property on which the value of the property depends. | X | |
PartOfComplex | IfcComplexProperty @HasProperties | S[0:?] | Reference to the IfcComplexProperty in which the IfcProperty is contained.
IFC4 CHANGE The cardinality has changed to 0..n to allow reuse of instances of IfcProperty in several IfcComplexProperty with upward compatibility for file based exchange. | X | |
HasConstraints | IfcResourceConstraintRelationship @RelatedResourceObjects | ? S[0:?] | User-defined constraints for the property. | X | |
HasApprovals | IfcResourceApprovalRelationship @RelatedResourceObjects | ? S[0:?] | User-defined approvals for the property. | X | |
IfcSimpleProperty | |||||
IfcPropertyEnumeratedValue | |||||
3 | EnumerationValues | IfcValue | ? L[1:?] |
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. | X |
4 | EnumerationReference | IfcPropertyEnumeration | ? | Enumeration from which a enumeration value has been selected. The referenced enumeration also establishes the unit of the enumeration value. | X |
<xs:element name="IfcPropertyEnumeratedValue" type="ifc:IfcPropertyEnumeratedValue" substitutionGroup="ifc:IfcSimpleProperty" nillable="true"/>
<xs:complexType name="IfcPropertyEnumeratedValue">
<xs:complexContent>
<xs:extension base="ifc:IfcSimpleProperty">
<xs:sequence>
<xs:element name="EnumerationValues" nillable="true" minOccurs="0">
<xs:complexType>
<xs:group ref="ifc:IfcValue" maxOccurs="unbounded"/>
<xs:attribute ref="ifc:itemType" fixed="ifc:IfcValue"/>
<xs:attribute ref="ifc:cType" fixed="list"/>
<xs:attribute ref="ifc:arraySize" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="EnumerationReference" type="ifc:IfcPropertyEnumeration" nillable="true" minOccurs="0"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
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;