Class Ifc4x1::IfcElementQuantity

Nested Relationships

This class is a nested type of Struct Ifc4x1.

Inheritance Relationships

Base Type

Class Documentation

class Ifc4x1::IfcElementQuantity : public Ifc4x1::IfcQuantitySet

Definition from IAI: An IfcElementQuantity defines a set of derived measures of an element’s physical property. Elements could be spatial structure elements (like buildings, storeys, or spaces) or building elements (like walls, slabs, finishes). The IfcElementQuantity gets assigned to the element by using the IfcRelDefinesByProperties relationship. The optional MethodOfMeasurement attribute defines the code, e.g. from a standard method of measurement, which had been used to calculate the element quantity.

NOTE The recognizable values for the name and the method of measurement attributes have to be agreed upon in further agreement documents, such as implementers agreements. Some of these agreements might be limited to a certain region, to which the method of measurement applies.

The name attribute, given at the individual Quantities provides a recognizable semantic meaning of the element quantity. Both information is needed to establish a precise meaning for the measure value. An optional description may be assigned to each of the Quantities. All quantities assigned by a single instance of IfcElementQuantity are deemed to have been generated according to the same method of measurement. However several instances of IfcElementQuantity are assignable to an element, thus allowing for an element having quantities generated according to several methods of measurement.

EXAMPLE1 To exchange the net floor area of spaces in the German region (as IfcSpace), the name might be ‘Netto-Grundfläche’ (net floor area), and the method of measurement might be accordingly ‘DIN277-2’ (German industry norm no. 277 edition 2)

EXAMPLE2 The same instance of IfcSpace may have a different area measure assigned in the German region according to a housing regulation, the name would be ‘Wohnfläche’ and the method of measurement would be ‘2.BV’. It would be attached to the IfcSpace by a separate IfcRelDefinesByProperties relationship.

The IfcElementQuantity can have the following subtypes of IfcPhysicalQuantity within its SET of Quantities, which count for the basis measure types used:

count measure weight measure length measure area measure volume measure time measure

HISTORY New entity in IFC Release 2x. NOTE: It replaces the calcXxx attributes used in previous IFC Releases. IFC2x4 CHANGE Subtyped from new intermediate IfcPreDefinedPropertySet supertype.

Quantity Use Defintion Base quantities are quantity definitions that are independent of a particular method of measurement and therefore internationally applicable. Base quantities are defined as gross and net values and provided by measurement of the correct geometric shape representation of the element. The IFC specification includes a set of base quantity definition. See each subtype of IfcElement for applicable base quantities. The following general agreements apply for each base quantity set

IfcElementQuantity.Name = ‘BaseQuantities’ IfcElementQuantity.MethodOfMeasurement = NIL IfcElementQuantity.Quantities = SET of subtypes of IfcPhysicalSimpleQuantity with values for the Name attribute as published as part of the IFC specifciation.

Public Types

typedef IfcTemplatedEntityList<IfcElementQuantity> list

Public Functions

bool hasMethodOfMeasurement() const

Whether the optional attribute MethodOfMeasurement is defined for this IfcElementQuantity.

std::string MethodOfMeasurement() const

Name of the method of measurement used to calculate the element quantity. The method of measurement attribute has to be made recognizable by further agreements.

IFC2x2 Addendum 1 change: The attribute has been changed to be optional

void setMethodOfMeasurement(std::string v)
IfcTemplatedEntityList<::Ifc4x1::IfcPhysicalQuantity>::ptr Quantities() const

The individual quantities for the element, can be a set of length, area, volume, weight or count based quantities.

void setQuantities(IfcTemplatedEntityList<::Ifc4x1::IfcPhysicalQuantity>::ptr v)
const IfcParse::entity &declaration() const
IfcElementQuantity(IfcEntityInstanceData *e)
IfcElementQuantity(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_MethodOfMeasurement, IfcTemplatedEntityList<::Ifc4x1::IfcPhysicalQuantity>::ptr v6_Quantities)

Public Static Functions

const IfcParse::entity &Class()