IFC 4.3.2.20250905 (IFC4X3_ADD2) under development

  • Help suggest improvements
  • Get user or developer support

8.11.3.4 IfcDerivedUnit

RV ⓘ
AbV ⓘ

8.11.3.4.1 Semantic definition

A derived unit is a unit that is formed from an expression of other units.

dot_neato <a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcUnitAssignment.htm'>IfcUnitAssignment</a> IfcUnitAssignment <a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcDerivedUnit.htm'>IfcDerivedUnit</a> IfcDerivedUnit UnitType: LINEARVELOCITYUNIT Name: mph <a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcUnitAssignment.htm'>IfcUnitAssignment</a>-><a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcDerivedUnit.htm'>IfcDerivedUnit</a> Units IfcDerivedUnitElement_0 IfcDerivedUnitElement Exponent: 1 <a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcDerivedUnit.htm'>IfcDerivedUnit</a>->IfcDerivedUnitElement_0 Elements[1] IfcDerivedUnitElement_1 IfcDerivedUnitElement Exponent: -1 <a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcDerivedUnit.htm'>IfcDerivedUnit</a>->IfcDerivedUnitElement_1 Elements[2] IfcConversionBasedUnit_0 IfcConversionBasedUnit UnitType: LENGTHUNIT Name: mile IfcDerivedUnitElement_0->IfcConversionBasedUnit_0 Unit IfcConversionBasedUnit_1 IfcConversionBasedUnit UnitType: TIMEUNIT Name: hour IfcDerivedUnitElement_1->IfcConversionBasedUnit_1 Unit IfcDimensionalExponents_0 IfcDimensionalExponents LengthExponent: 1 IfcConversionBasedUnit_0->IfcDimensionalExponents_0 Dimensions IfcMeasureWithUnit_0 IfcMeasureWithUnit ValueComponent: 1609 IfcConversionBasedUnit_0->IfcMeasureWithUnit_0 ConversionFactor IfcSIUnit_0 IfcSIUnit UnitType: LENGTHUNIT Name: METRE IfcMeasureWithUnit_0->IfcSIUnit_0 UnitComponent IfcDimensionalExponents_1 IfcDimensionalExponents TimeExponent: 1 IfcConversionBasedUnit_1->IfcDimensionalExponents_1 Dimensions IfcMeasureWithUnit_1 IfcMeasureWithUnit ValueComponent: 3600 IfcConversionBasedUnit_1->IfcMeasureWithUnit_1 ConversionFactor IfcSIUnit_1 IfcSIUnit UnitType: TIMEUNIT Name: SECOND IfcMeasureWithUnit_1->IfcSIUnit_1 UnitComponent
Figure 8.11.3.4.A — An example of how to assign miles per hour as a derived unit
Definition according to ISO/CD 10303-41:1992 of derived_unit. New entity in IFC1.5.1.

8.11.3.4.2 Entity inheritance

8.11.3.4.3 Attributes

# Attribute Type Description
IfcDerivedUnit (5)
1 Elements SET [1:?] OF IfcDerivedUnitElement

The group of units and their exponents that define the derived unit.

2 UnitType IfcDerivedUnitEnum

Type of the derived unit chosen from an enumeration of derived unit types for use in IFC models.

The imperial unit name for a velosity measure is miles per hour, or mph, with a UnitType of .LINEARVELOCITYUNIT.
3 UserDefinedType OPTIONAL IfcLabel

Type of the derived unit if the UnitType attribute is set to USERDEFINED.

The UserDefinedType shall only be used if the unit type is not available in UnitType.
4 Name OPTIONAL IfcLabel

Name of the unit in addition to the unit type, particularly when the derived unit elements refer to conversion or context based units.

The imperial unit name for a velocity measure is miles per hour, or MPH, with a Name of 'MPH'.
* Dimensions IfcDimensionalExponents

This attribute is formally derived.

IfcDeriveDimensionalExponents(Elements)

Dimensional exponents derived using the function IfcDeriveDimensionalExponents using (SELF) as the input value.

Table 8.11.3.4.C

8.11.3.4.4 Formal propositions

Name Description
WR1

Units as such shall not be re-defined as derived units.

(SIZEOF (Elements) > 1) OR ((SIZEOF (Elements) = 1) AND (Elements[1].Exponent <> 1 ))
WR2

When attribute UnitType has enumeration value USERDEFINED then attribute UserDefinedType shall also have a value.

(UnitType <> IfcDerivedUnitEnum.USERDEFINED) OR
((UnitType = IfcDerivedUnitEnum.USERDEFINED) AND 
 (EXISTS(SELF.UserDefinedType)))
Table 8.11.3.4.D

8.11.3.4.5 Examples

8.11.3.4.6 Formal representation

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;

8.11.3.4.7 References

Edit on Github


Is this page difficult to understand? Let us know!

8.11.3.4.8 Changelog

8.11.3.4.8.1 IFC4.3_DEV_33fdbb94

  • attribute, Name