IFC 4.3.0.0 (IFC4X3) final

8.11.6.3 IfcDeriveDimensionalExponents

8.11.6.3.1 Semantic definition

Definition from ISO/CD 10303-41:1992: The function determines the dimensional exponents of a unit. For named units the dimensions attribute is returned and for derived units the dimensional exponents are calculated from its elements.

Argument definitions: X: (input) the unit that the dimensional exponents are being derived from.

8.11.6.3.2 Formal representation

FUNCTION IfcDeriveDimensionalExponents
    (UnitElements : SET [1:?] OF IfcDerivedUnitElement)
    : IfcDimensionalExponents;  
    LOCAL
    Result : IfcDimensionalExponents :=
            IfcDimensionalExponents(0, 0, 0, 0, 0, 0, 0);  
    END_LOCAL;
    REPEAT i := LOINDEX(UnitElements) TO HIINDEX(UnitElements);
        Result.LengthExponent := Result.LengthExponent +
          (UnitElements[i].Exponent *
           UnitElements[i].Unit.Dimensions.LengthExponent);
        Result.MassExponent := Result.MassExponent  +
          (UnitElements[i].Exponent *
           UnitElements[i].Unit.Dimensions.MassExponent);
        Result.TimeExponent := Result.TimeExponent +
          (UnitElements[i].Exponent *
           UnitElements[i].Unit.Dimensions.TimeExponent);
        Result.ElectricCurrentExponent := Result.ElectricCurrentExponent +
          (UnitElements[i].Exponent *
           UnitElements[i].Unit.Dimensions.ElectricCurrentExponent);
        Result.ThermodynamicTemperatureExponent := Result.ThermodynamicTemperatureExponent +
          (UnitElements[i].Exponent *
           UnitElements[i].Unit.Dimensions.ThermodynamicTemperatureExponent);
        Result.AmountOfSubstanceExponent := Result.AmountOfSubstanceExponent +
          (UnitElements[i].Exponent *
           UnitElements[i].Unit.Dimensions.AmountOfSubstanceExponent);
        Result.LuminousIntensityExponent := Result.LuminousIntensityExponent +
          (UnitElements[i].Exponent *
           UnitElements[i].Unit.Dimensions.LuminousIntensityExponent);
    END_REPEAT;  
    RETURN (Result);

END_FUNCTION;

8.11.6.3.3 References