Skip to content
Quantity take-offIFCContractorsEstimating

Quantity Take-off from IFC Models: A Practical Guide for Contractors

Where quantities live inside an IFC file, why they are often missing or wrong, and how to turn a model into a bill of quantities in your own cost codes (Excel, BC3 / Presto or your ERP) that you can re-run on every revision.

By Ignasi Fabrat Forcadell8 min read

Short answer: an IFC model can give you reliable quantities when three things are true: elements carry base quantities (Qto_* sets) or clean geometry, each element can be mapped to a cost code with rules, and the process is automated so it re-runs on every revision instead of being redone by hand. The rest of this guide explains each step and the pitfalls that make take-off from BIM fail.

Where quantities live in an IFC file

IFC stores quantities in element quantity sets (IfcElementQuantity), attached to each element through IfcRelDefinesByProperties. buildingSMART standardises the base sets, so the same names appear whichever tool exported the model:

ElementQuantity setTypical quantities
WallQto_WallBaseQuantitiesLength, Height, Width, GrossSideArea, NetSideArea, NetVolume
SlabQto_SlabBaseQuantitiesWidth (thickness), Perimeter, GrossArea, NetArea, NetVolume
Column / beamQto_ColumnBaseQuantities, Qto_BeamBaseQuantitiesLength, CrossSectionArea, NetVolume, NetWeight
Door / windowQto_DoorBaseQuantities, Qto_WindowBaseQuantitiesWidth, Height, Area
SpaceQto_SpaceBaseQuantitiesNetFloorArea, GrossFloorArea, NetVolume

Gross values ignore openings and net values subtract them, which is exactly the difference between measurement rules. Pick the one your contract measurement standard asks for.

Why IFC quantities are often missing or wrong

  • The export option was off. Revit, Archicad and most authoring tools only write base quantities when "Export base quantities" (or equivalent) is ticked.
  • Custom sets instead of standard ones. Some models put areas in a company set such as Pset_Company_Quantities, or only in the type, not in the instance.
  • Modelling, not exporting, is the problem. A slab modelled through a wall, a wall split by level or a beam drawn twice produces wrong quantities however good the exporter is.
  • Units. IFC declares its units in IfcUnitAssignment. A model in millimetres exports lengths in millimetres unless the reader converts them.

A good take-off tool checks all of this before it counts anything: it flags elements without quantities, falls back to geometry when needed and reports the units it found.

Mapping elements to your cost codes

Contractors do not price "IfcWall": they price “brick partition 11.5 cm, plastered both sides” under a specific code in their price database. The mapping is the real work, and it should be done with rules, not by hand:

  • IFC class = IfcWall AND Type name contains 11.5 AND Pset_WallCommon.IsExternal = false → code E07TL010, measured by NetSideArea in m².
  • IFC class = IfcSlab AND PredefinedType = FLOOR AND Material contains HA-25 → code E05HLA010, measured by NetVolume in m³.

Written once, the rules apply to every revision of the model and to the next project with the same standards. You can prototype rule sets visually in the free JidokaBIM IFC viewer: the same AND / OR / NOT conditions colour the elements each rule would measure, so gaps and overlaps are obvious before anything is priced.

Exporting the bill of quantities

Once every element has a code and a measured quantity, the export is the easy part:

  • Excel for quick reviews and for teams that price in spreadsheets.
  • BC3 (FIEBDC-3), the standard exchange format in Spain, imported directly by Presto, Arquímedes and most Spanish estimating software.
  • Your ERP through its import format or API, keyed by the element's IFC GlobalId so changes can be traced.

Re-running on every revision

The real saving is not the first take-off but the tenth. When take-off is automated, a new model revision produces a diff: which elements appeared, disappeared or changed quantity, and the effect on each cost code. That is what lets an estimating team answer “how much did this revision cost?” in minutes instead of days.

Checklist before you trust IFC quantities

  1. Base quantities exported (Qto_* sets present on the main classes).
  2. Units checked and converted.
  3. No duplicated or overlapping elements in the classes you measure.
  4. Every measured element matched by exactly one cost-code rule (unmatched and double-matched elements reported).
  5. Results compared against a manual measurement on one representative zone.

Need it in your own format?

JidokaBIM builds quantity take-off tools for construction companies that read IFC or Revit, apply your cost-code rules and export to Excel, BC3 / Presto or your ERP, with a revision-to-revision diff. Each project has a fixed price and is delivered with its source code.

Need this built for your team?

Custom Revit plug-ins, IFC web apps and BIM automation, scoped in a free one-hour call and delivered at a fixed price with the source code.