Professional Documents
Culture Documents
Quantity Take Off IDM
Quantity Take Off IDM
Change Log
2020-09-02 Updates for bSI review and publication Jan Karlshøj and Jon Proctor
Jan Karlshøj is both the project leader and the main author of the specification. Tim
Chipman has been consulted regarding the IFC specification. Jan has presented the
concept at one ISG meeting in Norway and presented status reports at several
Consensus process
An expert panel was established and contacted for feedback during the process.
The feedback was limited. The concept was presented at an ISG meeting in Oslo, Norway.
The concept was presented at several buildingSMART summits including London and
Barcelona. The concept was presented in the International User Group. Finally, a draft of
the specification was reviewed by the expert panel, and that has provided some useful
feedback e.g. how the quantities can be used in the infrastructure.
Software testing
From the beginning of the project, Autodesk, CostX and Anavitor stated that they
intended to implement support for quantities according to the specification. Jon Mirtschin
from Geometry Gym (which is doing consultancy for Autodesk) has shown interest in testing
the specification, but no formal feedback has been given. Anavitor has promised to test the
proposed solution, but no formal feedback has been given. A basic test developed by Tim
Chipman has been made in Constructivity, and the custom quantities have been stored in
IFC format. The IFC file has been successfully imported into several tools.
Further recommendations
• General review of base quantities in IFC
• Pilot Implementations
• Publication as a buildingSMART Candidate Standard
• Software certification
• The MVD should be updated to include infrastructural elements when they have
been developed.
Observations
The expectation by clients and other actors in the industry may not match how base
quantities are handled in IFC 4, as the actors may expect that base quantities are
calculated for all physical elements in a building or facilities, but there are numerous
exceptions in IFC 4 where base quantities are omitted. If a room has different heights, the
volume is omitted. Base quantities are calculated only for rectangular doors. The base
quantities are calculated for curtain wall only if the height and thickness are constant. It is
important to align the capabilities of base quantities in IFC 4 with the expectations of the
industry. In a worst-case scenario, the cost of a facility is based on the base quantities that
due to the complexity of the facility provide significantly smaller quantities than the actual
quantities.
Use Cases
This document considers two use cases that are both related to adding quantity take-off information to
objects stored in the IFC4 structure. Quantities are used in many business cases, e.g. cost estimation, life
cycle costing, life cycle assessment, logistics, purchasing, maintenance, energy analysis and calculation
of sustainable performance. Objects like spaces, walls, coverings and valves are often designed and
modelled in BIM-tools by one type of professionals, while other types of professionals need the quantities
from the objects as input to perform their services. In both situations, the use cases are depending on
access to information about quantities.
The first use case is based on using the exiting IFC4 Based quantities. The second use case is related to
the business case that exceeds the capacity of Base quantities and requires adding additional Custom
quantities to the objects.
The design team, and especially the architect, must develop several different solutions and must
collaborate with other domain expects who can enrich, comment on, and evaluate the proposed solutions.
As there are a high number of uncertainties and frequent design changes, it is essential to have access to
generic, automatically generated base quantities that can be shared among the design team, domain
experts, authorities, and the client as efficiently as possible.
One use case for an architect is when the proposed designs are modelled in a BIM application at a
conceptual level, with solid walls, slabs, and columns, but without the internal structures. The architect
then generates IFC files of the proposed designs according to the Quantity Take-Off (QTO) specifications
developed by buildingSMART. The base quantities in IFC files are valuable for several types of early-
stage estimates, as the proposals match the level of detail and the base quantities. The IFC file for each
design contains the geometry of and the relationships between building elements, which storey they
belong to, and thereby also their relationships to the building and the site. Furthermore, the properties
and quantities of the building elements, storeys, the building and the site are included in the IFC file. If the
architect prefers to use other means of digital communication than sending IFC files, tools such as model
servers can also be used.
The base quantities included in the IFC files can be used by the cost estimator to generate an estimate
for each design proposal. It is recognized by the architect, cost estimator and client that the cost estimate
is created using generic base quantities that do not take national or domain-specific rules of
measurement into account; they find such estimates useful anyway, as they can easily be generated and
updated and used to give a fast evaluation of different design proposals. The base quantities for a wall,
for example, include its dimensions, area, volume, and footprint, and can be used to calculate the cost of
the wall itself as well as the cost of painting it. As the quantities are included in the IFC file, the cost
estimating application does not have to calculate the quantities based on the geometric description.
The base quantities can also be used for an initial assessment of the sustainability of the proposed
designs. As with the cost estimation, such sustainability assessments are limited due to being generated
from base quantities and not measured according to specific rules for sustainability assessments such as
BREEAM, DGNB or LEED. However, they can be produced quickly and updated easily. By adding
names, types, properties and classifications to structures, the elements can be sorted and the attached
base quantities can then be used to estimate the sustainability. As with the cost estimation, the
sustainability assessment application does not have to calculate the quantities as they are included in the
IFC file.
In order to generate and use the base quantities in the activities mentioned above, it is a prerequisite that
the parties are using IFC-based, QTO-compatible tools for either export or import, as appropriate.
After the structural system has been modelled and the necessary information about in-situ casting or
prefabrication, material characteristics, reinforcement, etc, have been added, the structural building
elements are grouped and measured according to Molio’s rules for quantity take-off. Specific quantities
are attached to each structural building element, and the type of measurement (e.g. length or area) and
the method of measurement are specified. The method of measurement can, for example, specify that
the given length of a prefabricated column excludes the joints, whereas an in-situ column is measured
The engineering consultant can then send or give access to the information stored in IFC format to the
cost estimator, who performs the cost estimation. As each quantity holds information about how it was
measured and where it is located in the building, a detailed cost estimate can be prepared. A better cost
estimate can be generated than when an estimator has access only to generic base quantities and does
not know the method of measurement.
The calculated cost of the structural building elements can then be sent to the engineering office and
modifications to the structural system can be made if needed. The cost itself can be stored together with
the structural building element in the IFC file, but that is outside the scope of this use case, which focuses
on making base or custom quantities available for several purposes, not limited to cost estimating.
Scope
The scope is limited to
• Entities included in IFC4 Reference View and IFC4 Design Transfer View.
• Base quantities defined in Quantity sets in IFC4.
• Quantities that can be stored in Custom quantity sets.
• Store the method according to how the quantities are calculated in plain text.
• Adding Custom quantity sets to entities in IFC4 that already can have the Base quantity set.
• Exchanging and sharing quantities stored in Quantity sets, both Base quantity sets and Custom
quantity sets.
Out of scope
• Exchange of quantities disconnected from the associated entities.
• Adding quantities to existing official Quantity sets in IFC4.
Interaction
At a general level, the interaction is between parties during a quantity take-off process is as follows, the
specifier, e.g. a client specifies how the quantities are measured and labelled with potential reference to
the name of the method used for measuring. The specifier sends the specification to the executor, e.g. a
designer that first is preparing for the quantity take-off and the secondly perform the actual quantity take-
off itself. The objects including the required quantities are sent to the specifier, e.g. the client.
R1 R2
Specifier
T1 Executor
Name pm_QTO
Identifier pm_QTO01
Identify required
Verifying quantities
quantities
Requirements Delivered
for quantities quantities
Specifier
Yes No
Base quantities?
Exchange
Specification of Pool
Name Type Description
Quantity take-off Pool The pool contains parties involved
in formulating requirements for
quantities and generating of
quantities.
Specification of Lanes
Name Type Description
Specifier Lane The specifier specifies the
requirements for the quantity take-
off.
The specifier is a person in a
construction project, from an
official or unofficial organisation
that is providing information about
how quantities shall be calculated
and labelled.
Specification of Processes
Name Type Description
Identify required quantities Process Identify which quantities there are
within or outside the scope of the
Base quantities.
Use Base quantities Process Identify which Base quantities that
shall be delivered
Specify QTO sets Process Specify quantities that shall be
delivered and how they are
measured.
Prepare QTO Process Prepare quantity take-off by
identifying how the quantities are
generated.
Perform QTO Process Generate quantities according to the
required specification for quantities.
Validate quantities Process Verification that the calculated
quantities match the required
quantities.
Specification of Gateways
Name Type Description
Base quantities? Gateway Are the specific quantity included
in the Base quantities or not?
Specification of Events
Name Type Description
Requirement for quantities Start event Start of the process for requiring
quantities for a specific purpose.
Delivered quantities End event End of process regarding delivery
of quantities.
Prepare QTO
Configurate QTO
No Yes
End
Application
support?
Prepare quantity
set for manual
No QTO
Specification of Processes
Name Type Description
Evaluate QTO specifications Process Evaluate QTO specifications and
identify Base specifications, and if
the required quantities are
supported by the application used
for QTO.
Configure QTO Process Make a configuration of the QTO in
the application generating the QTO.
Prepare quantity set for manual Process Create a setup for generating.
QTO
Specification of Gateways
Name Type Description
Base quantities? Gateway Are the specific quantity included
in the Base quantities or not?
Application support? Gateway Can the application support
generation of the quantity as
Custom quantity set?
Specification of Events
Name Type Description
Start Start event Start of the subprocess
End End event End of the subprocess
Evaluate
Base
application
quantities?
support for QTO
Start
No Generate Custom Quantities
Yes quantities
Application End
support?
Calculate Custom
Add quantities
quantities
No
Specification of Processes
Name Type Description
Evaluate application support for Process Evaluate if the application can
QTO generate Base quantities and or
Custom Quantities.
Generate Base quantities Process Generate Base quantities by
application.
Generate Custom Quantities Process Generate Custom Quantities by
application.
Calculate Custom Quantities Process Generate Custom Quantities
manually.
Add quantities Process Add calculated Quantities to Ifc
entities as Quantities in Custom
Quantity sets.
Specification of Gateways
Name Type Description
Base quantities? Gateway Are the specific quantity included
in the Base quantities or not?
Application support? Gateway Can the application support
generation of the quantity as
Custom quantity set?
Specification of Events
Name Type Description
Start Start event Start of the subprocess
End End event End of the subprocess
The Base quantities for e.g. a space is height, Finish Ceiling Height, Finish Floor Height, Gross
Perimeter, Net Perimeter, Gross Floor Area, Net Floor Area, Gross Wall Area, Net Wall Area, Gross
Ceiling Area, Net Ceiling Area, Gross Volume, and Net Volume while for other objects like many building
services elements the only Base quantity is Gross Weight.
Actuator
Qto_ActuatorBaseQuantities
Air Terminal
Qto_AirTerminalBaseQuantities
Beam
Boiler
Qto_BoilerBaseQuantities
Building
Field Mapping Definition
Building Level
Burner
Qto_BurnerBaseQuantities
Cable Fitting
Qto_CableFittingBaseQuantities
Chiller
Qto_ChillerBaseQuantities
Chimney
Qto_ChimneyBaseQuantities
Coil
Qto_CoilBaseQuantities
Column
Field Mapping Definition
Communications Appliance
Qto_CommunicationsApplianceBaseQuantities
Compressor
Qto_CompressorBaseQuantities
Condenser
Qto_CondenserBaseQuantities
Cooled Beam
Qto_CooledBeamBaseQuantities
Cooling Tower
Qto_CoolingTowerBaseQuantities
Covering
Field Mapping Definition
Curtain Wall
Qto_CurtainWallQuantities
Damper
Qto_DamperBaseQuantities
Door
Field Mapping Definition
Duct Fitting
Qto_DuctFittingBaseQuantities
Duct Segment
Qto_DuctSegmentBaseQuantities
Duct Silencer
Qto_DuctSilencerBaseQuantities
Electric Appliance
Qto_ElectricApplianceBaseQuantities
Electric Generator
Qto_ElectricGeneratorBaseQuantities
Electric Motor
Qto_ElectricMotorBaseQuantities
Evaporative Cooler
Qto_EvaporativeCoolerBaseQuantities
Evaporator
Qto_EvaporatorBaseQuantities
Filter
Qto_FilterBaseQuantities
Flow Instrument
Qto_FlowInstrumentBaseQuantities
Flow Meter
Qto_FlowMeterBaseQuantities
Footing
Field Mapping Definition
Heat Exchanger
Qto_HeatExchangerBaseQuantities
Humidifier
Qto_HumidifierBaseQuantities
Interceptor
Qto_InterceptorBaseQuantities
Labor Resource
Qto_LaborResourceBaseQuantities
Lamp
Qto_LampBaseQuantities
Light Fixture
Qto_LightFixtureBaseQuantities
Member
Field Mapping Definition
Motor Connection
Qto_MotorConnectionBaseQuantities
Opening Element
Qto_OpeningElementBaseQuantities
Outlet
Qto_OutletBaseQuantities
Pile
Field Mapping Definition
Pipe Fitting
Qto_PipeFittingBaseQuantities
Pipe Segment
Plate
Field Mapping Definition
Plate
Qto_PlateBaseQuantities
Projection Element
Qto_ProjectionElementBaseQuantities
Protective Device
Qto_ProtectiveDeviceBaseQuantities
Pump
Qto_PumpBaseQuantities
Railing
Field Mapping Definition
Ramp Flight
Qto_RampFlightBaseQuantities
Reinforcing Element
Qto_ReinforcingElementBaseQuantities
Roof
Qto_RoofBaseQuantities
Sanitary Terminal
Qto_SanitaryTerminalBaseQuantities
Sensor
Qto_SensorBaseQuantities
Site
Field Mapping Definition
Slab
Field Mapping Definition
Solar Device
Qto_SolarDeviceBaseQuantities
Space
Qto_SpaceBaseQuantities
Space Heater
Qto_SpaceHeaterBaseQuantities
Stack Terminal
Qto_StackTerminalBaseQuantities
Stair Flight
Qto_StairFlightBaseQuantities
Switching Device
Qto_SwitchingDeviceBaseQuantities
Tank
Qto_TankBaseQuantities
Transformer
Tube Bundle
Qto_TubeBundleBaseQuantities
Unitary Equipment
Qto_UnitaryEquipmentBaseQuantities
Valve
Qto_ValveBaseQuantities
Vibration Isolator
Qto_VibrationIsolatorBaseQuantities
Wall
Field Mapping Definition
Length \IfcWall.IsDefinedBy['Qto_WallBaseQuantities']
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Quantities['Length']
\IfcQuantityLength.LengthValue
\IfcLengthMeasure
Waste Terminal
Qto_WasteTerminalBaseQuantities
Window
Field Mapping Definition
The following entities are included in the exchange requirement as they are needed in order to support
the exchange of Base and Custom Quantities. Referenced resources from these entities e.g., IfcLabel,
and IfcAreaMeasure are also included in the Model View Definition.
IfcPhysicalComplexQuantity
IfcPhysicalQuantity
IfcPhysicalSimpleQuantity
IfcQuantityArea
IfcQuantityCount
IfcQuantityLength
IfcQuantitySet
IfcQuantityTime
IfcQuantityVolume
IfcQuantityWeight
mvdXML
An mvdXML file will be generated but hasn’t been included in this version of the document.
Figure 5: Molio's rules for measuring prefabricated concrete walls and definitions of properties.
Figure 7: Molio's rules for measuring lengths of prefabricated concrete walls part 2.
Sample of Base and Custom quantities for at standard wall modelled in a BIM tool and export in IFC
format. The Custom quantities has been connected to the wall by IFCRELDEFINESBYPROPERTIES and
defined in IFCELEMENTQUANTITY. ‘Molio’ is defined as its name and with a link to a web site as the
description, and the method of measurement is set to 'M_ULM_11'. For each quantity the name of the
quantity is given, a description is given, and the formula is set to the specific rule for the quantity e.g.
'M_ULM_11_L4'
Express: Custom Quantities add to a standard wall capturing quantities according to Molio’s rules for
measuring.
#172= IFCWALLSTANDARDCASE('2Ccly63ozDUflyFzjjB7rq',#41,'Basic Wall:Fundament
200mm:341101',$,'Basic Wall:Fundament 200mm:341088',#141,#168,'341101');
#261= IFCQUANTITYLENGTH('Elementhoejde','Elementhoejde maalt i center af bygningsdelen
i XZ-plan.',$,790.,'M_ULM_11_L1');
#262= IFCQUANTITYLENGTH('Elementbredde','Elementbredde maalt i center af bygningsdelen
i XZ-plan.',$,25150.,'M_ULM_11_L2');
#263= IFCQUANTITYLENGTH('Tykkelse','Tykkelse maalt i bygningsdelens Y-
akse.',$,190.,'M_ULM_11_L3');
#264= IFCQUANTITYLENGTH('Indbygningshoejde','Indbygningshoejde maalt i center af
bygningsdelen i XZ-plan. Laengde er inkl. konstruktionsfuge.',$,800.0,'M_ULM_11_L4');
#265= IFCQUANTITYLENGTH('Indbygningsbredde','Indbygningsbredde maalt i center af
bygningsdelen i XZ-plan. Laengde er inkl. konstruktionsfuge',$,25200.,'M_ULM_11_L5');
#266= IFCQUANTITYAREA('Elementareal','Areal maalt i center af bygningsdelen i XZ-plan.
Areal maalt med fradrag af huller stoerre end x, hvor x svarer til tvaersnitarealet af
huller. x er 0,05
m2.',$,6400000.,'M_ULM_11_A1');
#267= IFCQUANTITYAREA('Omskrevet areal','Areal maalt i center af bygningsdelen i XZ-
plan.',$,6.4,'M_ULM_11_A2');
#269= IFCELEMENTQUANTITY('3gf$Hp9Nv0kBWGcg8pcRth',#41,'Molio',
'http://ccs.molio.dk/~/media/Files/Gratis%20Vaerktoejer/CCS%20Maaleregler/CCS%20Maaler
egler%20-%20bygningsdele/CCS%20M%C3%A5leregler%20R4.ashx',
'M_ULM_11',(#261,#262,#263,#264,#265,#266,#267));
#271= IFCRELDEFINESBYPROPERTIES('3a8zZrl$z6FOHc9M8m5yvO',#41,$,$,(#172),#269);
The following images are showing the Base and Custom quantities imported into Constructivity. Each
image is showing either the quantity set or the individual quantities.
Figure 8: Base and Custom quantities and properties attached to standard wall.