IFC 4.3.2.20250327 (IFC4X3_ADD2) under development

8.17.3.1 IfcPhysicalComplexQuantity

8.17.3.1.1 Semantic definition

The complex physical quantity, IfcPhysicalComplexQuantity, is an entity that holds a set of single quantity measure value (as defined at the subtypes of IfcPhysicalSimpleQuantity), that all apply to a given component or aspect of the element.

A section "Quantity Use Definition" at individual entities as subtypes of IfcBuiltElement gives guidance to the usage of the Name and Discrimination attribute to characterize the complex quantities.

8.17.3.1.2 Entity inheritance

8.17.3.1.3 Attributes

# Attribute Type Description
IfcPhysicalQuantity (4)
Click to show 4 hidden inherited attributes
IfcPhysicalComplexQuantity (4)
3 HasQuantities SET [1:?] OF IfcPhysicalQuantity

Set of physical quantities that are grouped by this complex physical quantity according to a given discrimination.

4 Discrimination IfcLabel

Identification of the discrimination by which this physical complex property is distinguished. Examples of discriminations are 'layer', 'steel bar diameter', etc.

5 Quality OPTIONAL IfcLabel

Additional indication of a quality of the quantities that are grouped under this physical complex quantity.

6 Usage OPTIONAL IfcLabel

Additional indication of a usage type of the quantities that are grouped under this physical complex quantity.

Table 8.17.3.1.A

8.17.3.1.4 Formal propositions

Name Description
NoSelfReference

The IfcPhysicalComplexQuantity should not reference itself within the list of HasQuantities.

SIZEOF(QUERY(temp <* HasQuantities | SELF :=: temp)) = 0
UniqueQuantityNames

Every individual IfcPhysicalQuantity within the set HasQuantities shall have a unique Name attribute value.

IfcUniqueQuantityNames(HasQuantities)
Table 8.17.3.1.B

8.17.3.1.5 Formal representation

ENTITY IfcPhysicalComplexQuantity
SUBTYPE OF (IfcPhysicalQuantity);
HasQuantities : SET [1:?] OF IfcPhysicalQuantity;
Discrimination : IfcLabel;
Quality : OPTIONAL IfcLabel;
Usage : OPTIONAL IfcLabel;
WHERE
NoSelfReference : SIZEOF(QUERY(temp <* HasQuantities | SELF :=: temp)) = 0;
UniqueQuantityNames : IfcUniqueQuantityNames(HasQuantities);
END_ENTITY;

8.17.3.1.6 References

Edit on Github


Is this page difficult to understand? Let us know!

8.17.3.1.7 Changelog

8.17.3.1.7.1 IFC4

  • where rule, NoSelfReference
  • where rule, UniqueQuantityNames
  • where rule, WR21