A set of units which may be assigned. Within an IfcUnitAssigment each unit definition shall be unique. I.e. there shall be no redundant unit definitions for the same unit type, like length unit, area unit etc. For currencies, there shall be only a single IfcMonetaryUnit within an IfcUnitAssignment.
NOTE A project (IfcProject) has a unit assignment which establishes a set of units which will be used globally within the project, if not otherwise defined. Other objects may have local unit assignments if there is a requirement for them to make use of units which do not fall within the project unit assignment.
HISTORY New entity in IFC Release 1.5.1.
# | Attribute | Type | Cardinality | Description | A |
---|---|---|---|---|---|
1 | Units | IfcUnit | S[1:?] | Units to be included within a unit assignment. | X |
Rule | Description |
---|---|
WR01 | Checks that the set of globally assigned units has each unit type (either of type IfcNamedUnit,IfcDerivedUnit, or IfcMonetaryUnit) defined only once. |
# | Attribute | Type | Cardinality | Description | A |
---|---|---|---|---|---|
IfcUnitAssignment | |||||
1 | Units | IfcUnit | S[1:?] | Units to be included within a unit assignment. | X |
<xs:element name="IfcUnitAssignment" type="ifc:IfcUnitAssignment" substitutionGroup="ifc:Entity" nillable="true"/>
<xs:complexType name="IfcUnitAssignment">
<xs:complexContent>
<xs:extension base="ifc:Entity">
<xs:sequence>
<xs:element name="Units">
<xs:complexType>
<xs:group ref="ifc:IfcUnit" maxOccurs="unbounded"/>
<xs:attribute ref="ifc:itemType" fixed="ifc:IfcUnit"/>
<xs:attribute ref="ifc:cType" fixed="set"/>
<xs:attribute ref="ifc:arraySize" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
ENTITY IfcUnitAssignment;
Units : SET [1:?] OF IfcUnit;
WHERE
WR01 : IfcCorrectUnitAssignment(Units);
END_ENTITY;