IFC 4.3.2.20240423 (IFC4X3_ADD2) under development

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 IfcUnitAssignment IfcUnitAssignment IfcDerivedUnit IfcDerivedUnit UnitType: LINEARVELOCITYUNIT Name: mph IfcUnitAssignment->IfcDerivedUnit Units IfcDerivedUnitElement_0 IfcDerivedUnitElement Exponent: 1 IfcDerivedUnit->IfcDerivedUnitElement_0 Elements[1] IfcDerivedUnitElement_1 IfcDerivedUnitElement Exponent: -1 IfcDerivedUnit->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

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.

3 UserDefinedType OPTIONAL IfcLabel

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

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.

* 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_ffe3a63

  • attribute, Name