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
#AttributeTypeCardinalityDescription G
1ElementsIfcDerivedUnitElementS[1:?] The group of units and their exponents that define the derived unit. X
2UnitTypeIfcDerivedUnitEnum Name of the derived unit chosen from an enumeration of derived unit types for use in IFC models. X
3UserDefinedTypeIfcLabel? X
4NameIfcLabel? Name of the unit in addition to the unit type, particularly when the derived unit elements refer to conversion or context based units.
EXAMPLE The imperial unit name for a velocity measure is miles per hour, or MPH, with a Name of 'MPH'.
X
Dimensions
:=IfcDeriveDimensionalExponents(Elements)
IfcDimensionalExponentsDimensional exponents derived using the function IfcDerivedDimensionalExponents using (SELF) as the input value. X
Formal Propositions
RuleDescription
WR1Units as such shall not be re-defined as derived units.
WR2When attribute UnitType has enumeration value USERDEFINED then attribute UserDefinedType shall also have a value.
Inherited definitions from supertypes
Entity inheritance
Attribute inheritance
#AttributeTypeCardinalityDescriptionG
IfcDerivedUnit
1ElementsIfcDerivedUnitElementS[1:?] The group of units and their exponents that define the derived unit. X
2UnitTypeIfcDerivedUnitEnum Name of the derived unit chosen from an enumeration of derived unit types for use in IFC models. X
3UserDefinedTypeIfcLabel? X
4NameIfcLabel? Name of the unit in addition to the unit type, particularly when the derived unit elements refer to conversion or context based units.
EXAMPLE The imperial unit name for a velocity measure is miles per hour, or MPH, with a Name of 'MPH'.
X
Dimensions
:=IfcDeriveDimensionalExponents(Elements)
IfcDimensionalExponentsDimensional 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:attribute name="Name" 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;
  Name : 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;

Link to EXPRESS-G diagram EXPRESS-G diagram

References  References: IfcUnit

Link to this page  Link to this page