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 Click to hide 4 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. |
8.17.3.1.4 Formal propositions
Name | Description |
---|---|
NoSelfReference |
The IfcPhysicalComplexQuantity should not reference itself within the list of HasQuantities. |
|
|
UniqueQuantityNames |
Every individual IfcPhysicalQuantity within the set HasQuantities shall have a unique Name attribute value. |
|
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;