Skip to content
Hamish Visser

06 / 15ToolsEarthworks / Geotechnical / Computational Design / Quantity Take-off2026

Pavement Quantity Tool

Pavement quantity take-off straight from design surfaces, survey data and CAD layouts, with no corridor model to build first. Assessments that took days run in minutes and re-run as the design moves, the output has been reconciled against client figures, and a draft quantity report comes out of the same run.

FME

AutomationComplete

Organisation
Taylor Woodrow
Role
Digital Engineer
Year
2026
Kind
Automation
Sector
Highways / Early Design / Tender
Location
Mexborough
Status
Complete
Time removed
  • WK
  • DAY
  • HR
  • MIN
  • SEC
DaysWas
MinutesNow

Days to Minutes

Background

Built for a carriageway reconstruction scheme at Mexborough, where quantities were needed quickly and repeatedly as the design moved, and building a full corridor model for each iteration was not proportionate.

The central reserve was also being used as a temporary running lane while kerbs were replaced either side. It had been dug out, the subbase laid, and base and binder built up to match the road either side. That raised questions a standard take-off does not answer: how much had been placed, how much binder would be planed off before final surfacing, and how much was still to lay.

The problem

Pavement quantity take-off is either done by hand, which is slow and hard to re-run, or through full corridor modelling, which is heavy for a scheme where the inputs are design surfaces, survey data and CAD pavement layouts rather than a corridor design.

What I built

An FME workflow that compares a survey of the existing surface against formation, set from the design surface for each construction type in a CAD pavement layout, calculating excavation volumes, fill requirements and construction quantities for surface, binder, base, subbase, concrete and regulating layers.

Construction types, depths and design rules are controlled through a spreadsheet lookup, so the tool adapts to a new scheme without editing the workflow itself.

A second revision split the output on three axes: which footprint a cell falls in, whether the proposed design surface covers it, and which basis the quantity is measured against. That moved three judgements out of a spreadsheet and into the tool. How the temporary running lane is treated in scheme totals, which areas are being priced nominally because no design surface exists for them yet, and how much work fell outside the permanent design, are each now a reported quantity with a stated basis rather than an adjustment made by hand afterwards.

The same run ends in a formal Word quantity report. The output workbook goes to an AI chat with a standard prompt that fixes the structure of the report, and an engineer reviews the draft and the results of ten checks before it is issued.

How it works

01 Input

  • Design and survey

    Design surfaces, survey data and CAD pavement layouts

  • Lookup

    Construction types, depths and removal limits, changed without editing the workflow

02 Compare

  • FME workflow

    Every cell tagged by footprint, design coverage and permanent layout, then the existing surface compared with formation for its construction type

03 Quantify

  • FME workflow

    Excavation and fill volumes, and layer quantities for surface, binder, base, subbase, concrete and regulating

  • Temporary works

    Material already placed, sacrificial layers and material still required, plus the same footprint measured as the permanent design required and as ordinary pavement of the type it was built to

04 Deliver

  • Outputs

    Seven schedules and the lookup they were built from, as CSVs, one Excel workbook and GIS datasets, then a draft Word report, re-run as the design moves

Surfaces and layouts in, priced quantities out, no corridor model

A dedicated temporary works branch quantifies material already placed, sacrificial pavement layers, and material still required to reach final design levels. That supports phased construction and traffic management planning, including staged running lane arrangements on the central reserve. The same lane footprint is also reported as the permanent design required it, and as ordinary pavement of the type the lane was built to, so the cost of the staging decision is a figure rather than an argument.

Outputs generate automatically as pricing schedules, one Excel workbook and GIS-ready datasets for mapping and review, and the workbook feeds the draft report.

Outcome

Quantity assessments that took days can be completed in minutes and re-run as the design evolves. Output quantities have been reconciled against client figures.

The value is not the time saved on a single assessment. It is that quantities can be re-priced on every design iteration instead of once, so the commercial position moves with the design rather than lagging it. The reconciliation against client figures is what lets the output go into a submission rather than sit beside one as a check.

A formal report in a fixed structure can be drafted from the workbook in minutes. Because the structure is the same every time, reports from different runs and schemes can be compared section by section.

The later revision added a second kind of answer. Because the lane outputs are written over the whole lane and again inside the permanent pavement layout, work carried out on ground outside the permanent design is measured directly instead of being reconstructed afterwards, which is the form a variation has to be substantiated in.

Technical reference

The working method: what goes in, what comes out, what the schedules report, the parameters that tune it, how the volumes are actually derived, and how the report is produced.

Inputs

Four inputs are required, and a fifth is added where there is a temporary running lane. A design surface, as a raster of the proposed finished road level, from which formation and every layer level is derived. An existing surface, as a raster of the most recent survey, to compare against. A pavement drawing in DWG, with each construction type drawn as a hatch or polygon on its own CAD layer, the layer name identifying the type. And a lookup table in CSV, one row per construction type, holding layer thicknesses, total construction depth and permitted removal depth.

The temporary lane is described by an outline drawing, with the lane drawn on a layer named after the construction type it was built to. That name is looked up in the same table as every other type, so the lane needs no table of its own and its build-up is stated in the same place as the permanent ones.

The lookup is what makes the tool general. Each row keys to a CAD layer name, so the row joins to every polygon on that layer and stamps it with its thicknesses and limits. Values are read live, so a new scheme or a design option means editing the spreadsheet and re-running rather than opening FME.

Where a lane has been built, the existing surface has to show it as it stands, because the lane outputs measure from it. If the available survey predates the lane, the two are combined before the run, outside the tool: a newer survey of the lane, such as a drone survey, is clipped to the lane extent and mosaicked into the older surface so that it replaces the levels inside the lane. Matching the coordinate system, cell size and raster type of the two surfaces first gives the best result.

Layers with no matching lookup row are ignored, so other design information in the same drawing does not enter the calculation. The cost is that a misspelt layer name drops its area without warning, which the reconciliation step is there to catch. Drawing input is dissolved on import, so overlapping or duplicated hatches count once, and the lane outline cuts through the permanent shapes beneath it, so the permanent drawing needs no trimming around the lane.

Three settings shape the run, alongside the tolerances listed under Parameters. A yes or no switch turns the temporary lane branch on. With it off, every cell is general pavement and only the general schedules are written. A coordinate system sets the system for the GIS and raster outputs, and inputs are reprojected to it, which cannot correct data surveyed or drawn in the wrong system. And a resample resolution sets the common grid both rasters are brought onto, because the calculation is cell-based. A coarse grid suits test runs and a finer one final results. Matching it to the input cell size is recommended, since going finer adds run time but no accuracy.

Outputs

Eight tabular outputs. Seven are quantity schedules, and the eighth writes out the construction type lookup as it stood on the run, with the resample resolution recorded alongside. Thicknesses, removal depths and the grid are editable between runs, so a schedule issued without the basis it was built from cannot be checked later.

The seven schedules are the same cell-by-cell calculation filtered on three questions. Which footprint the cell falls in, the temporary running lane or general pavement. Whether the proposed design surface covers it. And which basis the quantity is measured against: the permanent design levels, the lane built as ordinary pavement of its own type, or the surveyed staged position.

Two of the seven cover general pavement outside the lane: one measured against the design surface, and one for the areas the design surface does not reach, quantified nominally at construction depth. The remaining five cover the temporary lane on the three bases below. The surveyed and temporary specification bases are each written over the whole lane and again restricted to the part inside the permanent pavement layout. The permanent design basis is written once, inside the layout only, because the permanent design does not exist outside it.

That restriction is a layout filter and not a different calculation, which is the point of it. Pairing a full-footprint schedule with its restricted counterpart isolates the ground that was never part of the permanent works. The nominal schedule is the opposite case, reported on its own because its quantities are an allowance rather than a measurement, and extending the design surface moves that area into the measured schedule and replaces the allowance with a figure. Because those areas are routed to their own schedule rather than failing the run, the outputs always reconcile back to the drawing.

Each schedule has one row per construction type. Every output is written three ways from the same run: as a CSV file, as a sheet in a single Excel workbook for pricing and reporting, and as a feature class in a file geodatabase, so the areas behind each figure, including those with no design surface, can be mapped and labelled on a webmap. A suffix can be added to every file name to tell runs and revisions apart. With the temporary lane switched off, only the two general schedules and the lookup are written.

One raster goes out alongside them, described below.

Three bases over one footprint

Three of the schedules cover the same temporary lane ground on three different bases. They are not alternatives to be averaged, and summing any two of them double counts.

BasisQuestion it answersRead it for
Permanent designWhat did the permanent design require here?The design baseline, and the as-designed view of scheme totals
As-built surveyWhat is physically there now, and what is still to place?Progress, sacrificial material, remaining work
Temporary specificationWhat does the lane amount to as ordinary pavement of the type it was built to?Temporary works excavation and materials, staging cost
One footprint, three questions

Only the surveyed basis reads staging from the surface as it stands: what is placed, what is sacrificial and what is still to come. The other two are surface comparisons against formation, one using the lane's own construction type and one using the permanent types the design puts there.

Scheme totals follow from that. The general pavement component is identical in all three views and only the treatment of the lane changes: holding the lane out gives permanent works alone, adding the lane as ordinary pavement of the type it was built to gives the work including the temporary lane, and adding the permanent design figures instead gives the original design intent with the staging disregarded. All three are reported rather than one being picked, because the gap between the last two is the cost consequence of the staging decision, and it is only visible when both are stated on the same basis.

Scope change is read the other way, by differencing a full-footprint schedule against its in-layout counterpart. On the temporary specification basis, that difference is the excavation carried out over ground that was never part of the permanent works. The in-layout temporary specification less the permanent design is the extra work the lane caused inside the permanent works. Those figures are the substantiation for a variation, and they are why the paired outputs exist.

The difference raster

One continuous signed raster covers the general pavement the design surface reaches. It gives an immediate read of where material comes out and where it goes in before anyone opens a schedule, and it shows variation inside an area that a single summed row cannot. Positive means the existing surface sits above formation, so material is excavated to reach formation. Negative means it sits below, so the level has to be made up.

It is the raw signed difference with no tolerance applied. The temporary lane, planing types and areas without a design surface are left out, and its cell size is the resample resolution. A colour ramp centred on zero reads well.

What the schedules report

The two general pavement schedules report the same quantities, so they add together by type to reconcile against the drawing, although the nominal one has no surface comparison behind it. Each row is a construction type, with the plan area of that type. Then the quantities: existing material to remove to reach formation, fill volume where existing ground sits below formation, and a volume for each new construction layer. Fill is reported as a geometric gap rather than as a material, because what goes back in is a design decision and not something a surface comparison can answer.

The layer total deliberately excludes regulating and fill, which are reported on their own. Each type either carries a fixed regulating thickness, normally zero, or has regulating measured from the gap below formation. Measured regulating varies with how uneven the existing surface is rather than with the construction type, so folding it into the total hides the one quantity most likely to move. On those types fill and regulating are the same material and are counted once.

Removal is always reported at full depth, even where it is deeper than the permitted depth for the type. Plan area is split by status: within the permitted depth plus the over-dig allowance, over it, or fill. Those parts sum back to the total area, which is the check that the routing has not lost or double counted anything. The over area is reported as a quantity, so digs past the standard detail can be priced or queried with the designer. Dig depth comes through as the lowest and highest of the average depths of each separate area of the type, to compare against the permitted depth.

The surveyed lane schedules are the only ones that report staging. Material placed above subbase, from the surveyed surface down to the top of the subbase, is measured. It is then split into base and binder, and that split is derived by rule rather than measured, because a survey sees the top of the surface and cannot see a layer boundary underneath it. Then the binder sitting above final binder level to be planed off and the area that planing covers, the binder needed where the temporary surface sits below final level, the surface course to finish to design, and the binder in the finished pavement.

Alongside those sit the areas that need a decision rather than a price: where base was held low so trafficable binder would fit, where top-up is thinner than the minimum lay, where the surveyed surface is below the top of the subbase, and where there is less room above the subbase than the minimum binder needs. The last two are either unbuilt ground or a survey query. Each is a reported area, so the schedule says what a person still has to look at instead of implying every figure is settled.

Placed material is measured across the full lane, and remaining work is quantified inside the permanent pavement layout, from the in-layout version, so it reconciles against the permanent works. Sacrificial binder also appears in the total regulating figure, and is counted once.

The remaining lane schedules measure the same ground as ordinary construction, so the general pavement schema applies with no staging or sacrificial figures. They differ in which construction type sets formation, the lane's own type or the permanent types, and in whether they cover the whole lane or only the part inside the permanent layout.

Parameters

ParameterUnitEffect
Level tolerancemDead band around a target level. Differences smaller than this read as on level, so minor survey variation is not counted as removal, fill, sacrificial binder or top-up.
Over-dig allowancemHow far past the permitted removal depth a dig can go before the area counts as over.
Minimum temporary bindermThe thinnest binder traffic can run on in the lane. Decides where base was held low.
Minimum lay thicknessmThe thinnest binder top-up that can be laid. Thinner top-up is reported as an area.
Resample resolutionCell size, mThe common grid both surfaces are brought onto, and the cell size of the raster output. Finer than the input rasters adds run time, not accuracy.
Temporary constructionYes or noTurns the temporary lane branch on or off.
Coordinate systemSystem for the GIS and raster outputs. Inputs in a different system are reprojected to it.
Output suffixTextAdded to every output file name to tell runs and revisions apart.
Layer thicknessesm, per typeSurface, binder, base, subbase and concrete thickness, plus a fixed regulating thickness used only where regulating is not measured.
Total construction depthm, per typeTotal build-up, the five layers added together, which sets the formation level.
Permitted removal depthm, per typeOnly used to mark areas that dig deeper. It does not cap the removal volume.
Planing depthm, per typeFor planing-only types, the depth milled off. Removal is this depth times the area, with no surface comparison.
Nominal depthm, per typeThe depth used where there is no design surface: the total build-up, or the planing depth for planing types.
Variable regulatingYes or no, per typeWhether the gap below formation is measured and reported as regulating.
Temporary lane typeDrawing layerSet by the layer the lane outline is drawn on and looked up in the same table as every other type.
Run settings first, then the values held per construction type in the lookup.

How the quantities are calculated

Cell-based, the same raster-style approach used for earthworks. Both surfaces are resampled to a common grid and split into cells. Each cell is matched to the drawing shape it falls in, which drops anything outside every shape and stamps every remaining cell with the lookup values from its joined spreadsheet row. All calculation runs per cell, and cells are then summed to one row per construction type. The volume rule throughout is thickness times cell plan area, summed across the cells.

Before any volume is calculated, each cell is tagged with the footprint it sits in and with whether the design surface reaches it, and lane cells are also tagged with whether they sit inside the permanent pavement layout. Those tags decide which schedules the cell contributes to. A lane cell inside the permanent layout contributes to all five lane outputs, on the relevant basis for each, while a lane cell outside it contributes to the two full-footprint outputs only. Routing is exclusive between footprints, so no cell is counted in both general pavement and the lane.

Formation level is the design surface less the total construction depth for that type. The ground difference is the existing surface less that formation level, so positive means existing sits above formation and material is excavated, negative means below and material is filled. The two tolerances create a dead band around zero and an allowance past the removal limit, which is what stops survey noise and boundary cells producing spurious quantities and false flags.

For the cells that feed the measured general schedule, the per-cell difference is kept as a continuous value and written out as the difference raster, while the schedule quantities are the tolerance-filtered, aggregated version of that same difference. The raster and the schedules are therefore two views of one calculation rather than two calculations.

Where the design surface does not cover a cell, no formation level can be derived and the comparison cannot run at all. Those cells take the nominal construction depth for their type from the lookup instead, so removal is that depth times cell area and each layer is its lookup thickness times cell area. The result is a schedule with no gaps in it, reported separately because its basis is an allowance rather than a measurement. Fill and regulating are zero on that basis, and the depth statistics are simply the standard depth.

On the general branch, removal and fill depths come from the level difference, except for planing types, which use their fixed spec depth and bypass the comparison entirely: a 350 mm plane is measured as area times spec depth rather than as a level-driven dig, and every cell counts as within the permitted depth. The three status areas are derived from a single status value so they always reconcile to the polygon area.

On the surveyed lane branch the existing surface is the current temporary running surface. Using the lookup thicknesses for the lane type, the tool derives three levels in each cell: the top of the subbase, the design top of base and the design top of binder. It then measures between them for total material placed above subbase, the sacrificial binder above final binder level, and the top-up and surface still required. Where the surveyed surface sits less than the minimum trafficable binder above the design top of base, base is taken to have been held low, and that area carries regulating of that minimum binder thickness. Sacrificial binder is calculated only where the surveyed surface stands above design binder level; elsewhere the binder already placed sits at or below design level and is retained rather than planed off. A scheme that instead intends to plane and relay a full binder layer across the whole lane is asking a different question, and should take the full design binder thickness over the footprint rather than this figure.

The temporary specification branch treats the lane as ordinary pavement of the type it was built to. Formation is set from that type's depth below the design surface, and removal, layers, regulating and status follow the same comparison as general pavement, with removal measured from the current surface down to formation. The permanent design branch runs the same comparison over the same lane cells with the permanent types from the pavement drawing, so it shows what the permanent design needed in that footprint. The temporary specification is reported over the full footprint and over the part inside the permanent layout, and the difference between the two is the excavation carried out beyond the permanent works.

Report generation

The last step turns the workbook into a formal Word quantity report. The workbook goes to an AI chat with a standard prompt, and the user fills in a short project details block, because the workflow produces no document control information. The prompt fixes the structure: which schedule feeds each section, how types are labelled and ordered, one table layout throughout, and the three scheme views. With the temporary lane switched off, the lane sections drop out.

The model does not calculate quantities of its own. It adds up and labels figures from the workbook, and anything missing is printed as not provided or not calculated rather than estimated. Before it writes, it runs ten checks against the workbook: areas adding up, layer volumes against the lookup, planing and nominal-depth removal, the lookup depths agreeing with no blanks, the lane staging totals, lane areas agreeing between outputs, the in-layout outputs being no larger than their parents, fill against its minimum, and every type being present in the lookup. The results come back in the chat reply rather than in the report, and an engineer reviews the draft and the check results before issue.

Against manual take-off and corridor modelling

This toolManual take-offCivil CAD corridor
Layer volumes by typeAutomatic from lookupBy hand, per areaVia corridor or QTO
Level-driven removal to formationCell-based, at the chosen resolutionApproximated from sectionsSurface comparison
Many polygon types at onceJoined by CAD layerEach measured separatelyPartial
Variable regulating from levelsCalculatedVery difficultManual
Temporary stagingDedicated branchVery difficultManual, multi-surface
Multiple bases over one footprintParallel outputs, one runRebuilt by hand each timeSeparate model per basis
Partial design coverageEstimated and reported separatelyAssumed or ignoredModel will not build
Re-run on design changeSwap input, re-runRedo by handRebuild or recompute
Output as GIS and CSVBoth, same runNoExport available
Time per schemeMinutes once inputs are readyDaysHours plus model setup
Detailed pavement designNo, assessment onlyNoYes
For the specific task of quantities from a design surface and a survey across many pavement types. Timings are indicative of internal experience, not vendor benchmarks.

It does not replace civil CAD for detailed pavement design. What it offers is speed and repeatability for quantity assessment across many types at once, plus the three things that are awkward everywhere else: the temporary running lane staging, the parallel calculation bases over one footprint, and a level-driven quantity for every polygon type from a single table.

Limitations

Quantities can only be as current as the existing surface. If it does not show the temporary lane as built, the lane outputs are wrong. With the lane switched off over works that have already been built, the lane is measured as ordinary pavement from the existing surface, so removal starts from the top of the temporary build and not from original ground.

Data drawn or surveyed in the wrong coordinate system, or with none assigned, gives quantities that look plausible but are wrong, because reprojection cannot correct it.

Areas are defined by the CAD hatches and polygons, so where those leave gaps or fail to meet cleanly, the edge areas are affected. The calculation still runs, but the polygon set needs cleaning before final issue.

Every polygon on a CAD layer inherits the same lookup row, so mixed construction types on one layer are not distinguished and have to be separated onto their own layers. A layer with no matching row is ignored by design, so a misspelling drops its area, and the reconciliation against the drawing is what catches it.

Nominal quantities are not measurements. The schedule covering areas outside the design surface is calculated at construction depth with no survey applied, so its figures are an allowance and should be replaced once the design surface is extended over those areas.

The three temporary lane bases describe the same ground, so they are not additive. Summing any two of them double counts, and only the combinations set out above are valid.

On the temporary lane the base and binder split is inferred from the minimum trafficable binder rule, because a survey cannot see a layer boundary beneath the surface. The measured total placed above subbase is reliable, and the sacrificial, top-up and surface figures are unaffected, but the base against binder split should be checked against delivery records.

Volumes are geometric. They describe the space between two surfaces and make no allowance for compaction, laying tolerance, bulking or wastage, and removal is reported as an in place volume. Quantities are given to three decimal places so they can be reconciled against the outputs, which does not imply that accuracy. Material is not classified either: removal reports how much sits above formation, not what it is made of, and planing removal is a single volume per type, with the associated perforation item not quantified at all.

Accuracy is resolution-dependent, so a finer resample gives a truer volume where levels change sharply and along area edges, but cells finer than the input rasters add run time and no accuracy, because the input data sets the limit.

The report is drafted by AI from the workbook, so it needs review. Figures have to be checked against the workbook and the check results read before issue, and if the output names or columns change, the prompt has to be updated to match.

Tools and disciplines

Built with

FME

Discipline

Earthworks / GeotechnicalComputational DesignQuantity Take-off

Related projects