IfcDerivedUnit

BACnet MVD

#### IfcDerivedUnit

Natural language names

| Abgeleitete Einheit
| Derived Unit
| Unité dérivée

##### Semantic definitions at the entity

Entity definition

> NOTE Definition according to ISO/CD 10303-41:1992
> A derived unit is an expression of units.

> EXAMPLE Newton per square millimetre is a derived unit.

> NOTE Corresponding ISO 10303 name: derived_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard.

> HISTORY New entity in IFC1.5.1.

Attribute definitions

# | Attribute | Type | Cardinality | Description | B
--- | --- | --- | --- | --- | ---
1 | Elements | IfcDerivedUnitElement | S[1:?] | The group of units and their exponents that define the derived unit. |  | X
2 | UnitType | IfcDerivedUnitEnum |  | Name of the derived unit chosen from an enumeration of derived unit types for use in IFC models. |  | X
3 | UserDefinedType | IfcLabel | ? |  |  | X
| Dimensions :=IfcDeriveDimensionalExponents(Elements) | IfcDimensionalExponents |  | Dimensional exponents derived using the function IfcDerivedDimensionalExponents using (SELF) as the input value. |  | X

Formal Propositions

Rule | Description
--- | ---
WR1 | Units as such shall not be re-defined as derived units.
WR2 | When attribute UnitType has enumeration value USERDEFINED then attribute UserDefinedType shall also have a value.

##### Inherited definitions from supertypes

Entity inheritance
Attribute inheritance

# | Attribute | Type | Cardinality | Description | B
--- | --- | --- | --- | --- | ---
IfcDerivedUnit
1 | Elements | IfcDerivedUnitElement | S[1:?] | The group of units and their exponents that define the derived unit. |  | X
2 | UnitType | IfcDerivedUnitEnum |  | Name of the derived unit chosen from an enumeration of derived unit types for use in IFC models. |  | X
3 | UserDefinedType | IfcLabel | ? |  |  | X
| Dimensions :=IfcDeriveDimensionalExponents(Elements) | IfcDimensionalExponents |  | Dimensional exponents derived using the function IfcDerivedDimensionalExponents using (SELF) as the input value. |  | X

##### Formal representations

XML Specification
`<xs:element name="IfcDerivedUnit" type="ifc:IfcDerivedUnit" substitutionGroup="ifc:Entity" nillable="true"/>
<xs:complexType name="IfcDerivedUnit">
<xs:complexContent>
<xs:extension base="ifc:Entity">
<xs:sequence>
<xs:element name="Elements">
<xs:complexType>
<xs:sequence>
<xs:element ref="ifc:IfcDerivedUnitElement" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute ref="ifc:itemType" fixed="ifc:IfcDerivedUnitElement"/>
<xs:attribute ref="ifc:cType" fixed="set"/>
<xs:attribute ref="ifc:arraySize" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="UnitType" type="ifc:IfcDerivedUnitEnum" use="optional"/>
<xs:attribute name="UserDefinedType" type="ifc:IfcLabel" use="optional"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
`
EXPRESS Specification
`ENTITY IfcDerivedUnit;
Elements : SET [1:?] OF IfcDerivedUnitElement;
UnitType : IfcDerivedUnitEnum;
UserDefinedType : OPTIONAL IfcLabel;
DERIVE
Dimensions : IfcDimensionalExponents := IfcDeriveDimensionalExponents(Elements);
WHERE
WR1 : (SIZEOF (Elements) > 1) OR ((SIZEOF (Elements) = 1) AND (Elements[1].Exponent <> 1 ));
WR2 : (UnitType <> IfcDerivedUnitEnum.USERDEFINED) OR
((UnitType = IfcDerivedUnitEnum.USERDEFINED) AND
(EXISTS(SELF.UserDefinedType)));
END_ENTITY;

EXPRESS-G diagram

`

References: IfcUnit

Link to this page