Reference · note

Producing a bill of quantities from CAD drawings

How quantities are pulled out of drawing files: the commands that do the measuring, the drawing habits that make it possible, and the checks that catch a wrong number.

What a bill of quantities is

A bill of quantities lists measured work items. Each line carries a description, a unit and a quantity, and the bidder adds a rate. The quantities are project-specific, taken from the drawings and specifications, and measured in number, length, area, volume, weight or time. The purpose is that every tender prices the same quantities, so bids differ on price rather than on how each firm read the drawings. The measurement is normally done by a cost consultant; on smaller projects the contractor measures its own.

The formal measurement rulebooks in common use are British. The New Rules of Measurement became operative on 1 January 2013 and replaced SMM7 on 1 July 2013 for building work, and the Civil Engineering Standard Method of Measurement, now in its fourth edition, covers civils. In the United States and Canada the usual organizing frame is a classification rather than a measurement rulebook: MasterFormat divisions (03 Concrete, 08 Openings, 09 Finishes, 26 Electrical) for work results, or UniFormat's level-one letters (A Substructure, B Shell, C Interiors, D Services) for early cost planning. Both are products of CSI and CSC, both are copyrighted, and both are versioned — MasterFormat was last revised in 2020 and UniFormat in 2010.

Where it differs from a materials list

The two documents are routinely confused, and the confusion produces bills that cannot be priced. A bill of materials answers what to buy. A bill of quantities answers how much work there is.

  • A bill of quantities measures work in place. A materials list measures what arrives on a truck.
  • A line reading "8-inch concrete masonry unit partition, square feet" carries mortar, ties, cutting and labor inside the rate. A materials list names each of those separately.
  • A bill records work measured under a stated rule. A purchase quantity is what you order, with waste, laps and offcuts added on top.
  • A bill is written so that several parties price the same scope. A materials list is written for one buyer.

What the drawing file already holds

A DXF file is a structured record, not a picture of a building, and Autodesk publishes the format in full. The TABLES section holds named definitions, including the layer table. The BLOCKS section holds each block definition. The ENTITIES section holds the drawn objects, and group code 8, which applies to graphical entities generally, carries the layer name the object sits on. DWG is what AutoCAD writes natively; DXF is the published interchange form of the same drawing.

Two details carry more weight than the rest. A lightweight polyline has a bit-coded flag at group code 70, where the value 1 means closed, so the file states whether a shape encloses an area rather than leaving it to the eye. An attribute holds its tag at group code 2 and its value at group code 1, so a door block can carry its own type, width and fire rating as data rather than as text drawn nearby.

The file usually answers three of the four questions a bill needs: what the thing is, how much of it there is, and where it sits. The fourth — what the work item should be called and how it should be measured — is a professional decision. No file contains it, and that part never becomes mechanical.

The five methods in use

Each of these is in normal use. What matters is knowing where each one stops.

The PDF route needs the most care over scale. Bluebeam Revu's manual states that pages can have separate X and Y scales, that different scales can be set for different areas or viewports, and that placing a measurement on a page without a scale prompts you to set one. Where the scale is uncertain, the documented method is to draw a line along a known length on the page and enter its real-world length. The Dynamic Fill tool creates area, perimeter, polylength and volume measurements from shapes found on the drawing's content layer. The fill spreads until it meets a boundary, so where the drawing does not close a space the manual has you draw temporary boundaries first.

MethodWhat it returnsWhere it stops
Scale rule on a printAny dimension you can reachSlow; leaves no record of what was measured, and a reduced print is rarely at the stated scale
PDF measurement toolsLength, perimeter, area, volume, countsNeeds the right scale per page and per viewport; you measure only what you remember to click
AutoCAD data extractionCounts and property values, mostly from blocksIgnores loose linework, and returns nothing useful where blocks were exploded
Selection and area commands plus a spreadsheetNumbers taken from the file's own geometryOne region at a time, and nothing records what was skipped
Revit and other model schedulesQuantities that update as the model changesNeeds a model built the way you intend to measure; joined elements report in ways that surprise people

The AutoCAD commands that do the work

There is no single command that produces a bill. What exists is a set of general commands that, used in order, will get you a defensible number.

QSELECT builds a selection set by object type and property — every block reference named for a single door, every polyline on the floor finish layer, every object of one color. For anything counted rather than measured, the reported selection count is the quantity.

DATAEXTRACTION opens a wizard: choose the objects, choose the properties, send the result to a table placed in the drawing or to an external file. It is at its best against blocks carrying attributes, because the attribute tag becomes a column heading.

AREA, or the Area option of MEASUREGEOM, returns area and perimeter. The Object option reads a closed polyline, circle or region directly. The Add and Subtract options let you build a net figure — a floor plate less its cores and openings — in one pass instead of three subtractions in a spreadsheet.

The Properties palette handles the rest. Select one closed polyline and read its Area and Length; select many and it reports how many. BOUNDARY creates a closed polyline from a region you click inside, which is how you measure a room nobody drew as a single object, and it fails outright where the region is not enclosed. PEDIT, with the Multiple and Join options and a fuzz distance, closes the small gaps that stop lines and arcs becoming one polyline. OVERKILL deletes duplicated and overlapping geometry, which is where most double counts begin.

The spreadsheet is where this lands, and its weakness is worth stating. A number pasted into a cell has lost its link to the object it came from. Keep the selection criteria written down beside the figure.

What makes a drawing measurable

The AIA introduced its CAD Layer Guidelines in 1990. The United States National CAD Standard, released in 1999 by the National Institute of Building Sciences, brought the second edition of those guidelines together with the CSI's Uniform Drawing System and the US Department of Defense plotting standards. The value of a layer standard here is narrow and real: if walls, floor finishes and doors each sit on a named layer, a selection filter becomes a quantity in one step. A consistent office standard does the same job.

The other two conditions are geometric. Anything with an area should be a closed polyline, and whether a polyline is closed is recorded in the file rather than judged by eye. Anything counted should be a block, and a block carrying attributes is worth more than one without, because the type and size travel with the symbol.

What breaks it is mostly damage done later. An exploded block is the worst case: the attribute values are gone, and a door that was one countable object is now a dozen lines and an arc that resemble a door only to a human. Linework left on layer 0 or on a neighboring layer is missed by every filter and every extraction. A gap of a few thousandths looks closed at plan scale and is not, and BOUNDARY will refuse to find a region around it. Room names are independent text objects with no link to the boundary they sit inside, so a name and an area have to be married by geometry or by hand. Details drawn at a second scale on the same sheet will be measured at the sheet scale unless someone notices. Blocks nested inside blocks need the extraction set to descend into them, and a scanned or imported raster reference holds no measurable geometry at all.

Checking a quantity once you have it

Check every quantity before anyone prices it. The checks below take minutes and catch the errors that matter.

Measure the drawing's own stated dimension first. If a wall is dimensioned 20 feet and the file returns 19 feet 9 inches, fix the scale or the units before measuring anything else.

Then take the number by a second route. Sum the rooms one by one, and separately draw a single boundary around the whole floor. The two will differ, and the difference should be walls, shafts and circulation. If you cannot roughly account for the gap, one of the two numbers is wrong.

Reconcile against the schedules already on the sheets. A door schedule, a room finish schedule and a fixture schedule are the design team's own second source, and disagreement between a counted quantity and a scheduled one is information rather than an annoyance.

Keep proportion checks close to hand. Wall finish area should sit near perimeter multiplied by floor-to-ceiling height. Floor finishes should sum to net floor area.

Last, record what you did not count. A plan view cannot tell you how much ductwork a building has, and a bill that flags that line is more useful than one that fills it with a plausible number. Write down the file, the file version and the selection criteria behind each figure. A quantity you cannot reproduce is a quantity you cannot defend.