Quantity Takeoff from a Revit Model: A Beginner's Workflow

Learn how to pull accurate quantities from a Revit model: build schedules, filter what you should not count, deduct openings, and check totals by hand.
If you have ever measured a building by hand from 2D drawings, you know the drill: scale ruler in one hand, calculator in the other, and a long afternoon of lengths, breadths and heights. A Revit model changes that job completely. Because every wall, floor and column in the model already carries its own dimensions and material data, most of the quantities you need are sitting there waiting to be read out. The skill is knowing how to pull them out cleanly, check them, and turn them into a takeoff you can price.
This guide walks through a beginner-friendly workflow. You do not need any plug-in, any Dynamo script, or any estimating software. Everything here uses the tools already inside Revit, and it works on a small residential project just as well as on a larger one.
What quantity takeoff actually means in Revit
A quantity takeoff is simply a measured list of the work to be priced: so many cubic metres of concrete, so many square metres of brickwork, so many doors, so many metres of skirting. In a traditional takeoff you measure those numbers off drawings. In Revit you extract them from the model elements themselves, because each element knows its own geometry.
The key idea is that Revit does not give you a finished bill of quantities at the press of a button. It gives you schedules — structured lists of elements with their properties — and you shape those schedules into the takeoff you need. Think of it as measuring with the model instead of from the model.
Step 1: Make the model measurable before you measure
A takeoff is only as good as the model behind it, and a sloppy model produces a sloppy schedule. Before you build a single schedule, do three quick checks.
First, confirm that elements are modelled in the right categories. A wall drawn as a generic model will not appear in a wall schedule, and a floor drawn as a roof will inflate your roof quantities. Category discipline is the single biggest source of takeoff errors for beginners.
Second, check that wall types carry their real thickness and that multi-layer walls are built up correctly. A 230 mm brick wall modelled as a single 230 mm layer gives a clean volume; the same wall modelled with an extra plaster layer of 25 mm changes the volume you read out, so you need to know what you are reading.
Third, give elements consistent type names and, where it helps, fill in the Mark or Type Comments fields. Schedules group and sort by these fields, so a little naming discipline now saves a lot of manual sorting later.
Step 2: Build your first schedule
Start with walls, because they usually dominate a residential takeoff. Go to View, then Schedules, then Schedule/Quantities, and pick the Walls category. Revit will ask which fields to include. For a basic brickwork takeoff, add Family and Type, Length, Area and Volume.
On the Sorting/Grouping tab, sort by Family and Type and tick "Grand totals" so you get a single total at the bottom. On the Formatting tab, set Length, Area and Volume to sensible units — metres, square metres and cubic metres — and untick "Itemize every instance" if you want one line per wall type instead of one line per wall.
Run the schedule and you immediately have the gross wall area and volume for every wall type in the project. Repeat the same pattern for floors (area and volume), structural framing, doors, windows and columns. Each schedule takes about two minutes once you know the clicks.
Step 3: Filter out what you should not count
A raw schedule counts everything in its category, including things you may not want in a particular takeoff. Demolished elements, elements on a future phase, or walls in a part of the building that belongs to a different package can all creep in.
Use the Filter tab on the schedule to narrow it down. Common filters include Phase Created equals New Construction, or a Type Comments value that marks a particular package. Filtering is always better than deleting rows by hand in a spreadsheet later, because the schedule stays live: if the model changes, the filtered total updates with it.
Step 4: Handle openings the honest way
Here is the point where beginners most often go wrong. A wall schedule reports the gross area of the wall, including the parts where doors and windows punch through it. If you price brickwork off the gross area, you over-order.
The standard practice is to deduct openings. Revit does not deduct door and window openings from wall area automatically in a basic schedule, so you handle this with a second schedule: a door schedule and a window schedule, each reporting the opening area. Subtract the total opening area from the gross wall area, and you have the net brickwork area. It is a simple step, but skipping it is how a takeoff ends up several percent high — and on a full house, several percent of brickwork is real money.
Worked example: brickwork and concrete for a small house
Take a simple single-storey house, 10 m long by 8 m wide, with 3 m high external walls built in 230 mm brickwork. Suppose the wall schedule reports the following:
- Total external wall length: 36 m (two 10 m walls plus two 8 m walls)
- Wall height: 3 m
- Wall thickness: 0.23 m
Gross wall area is straightforward:
Gross wall area = 36 m × 3 m = 108 m²
Now the openings. The door and window schedules report four windows of 1.5 m × 1.2 m and two doors of 1.0 m × 2.1 m:
Window area = 4 × (1.5 m × 1.2 m) = 7.2 m²
Door area = 2 × (1.0 m × 2.1 m) = 4.2 m²
Total openings = 7.2 m² + 4.2 m² = 11.4 m²
Subtract the openings to get the net brickwork area:
Net brickwork area = 108 m² − 11.4 m² = 96.6 m²
Convert to volume using the wall thickness:
Brickwork volume = 96.6 m² × 0.23 m = 22.2 m³
At the common rule of about 500 bricks per cubic metre of 230 mm brickwork, that is roughly 11,100 bricks before wastage. Add a 5% wastage allowance and you order about 11,650 bricks.
Concrete is even simpler. The floor schedule reports the ground floor slab as 10 m × 8 m at 150 mm thick:
Slab concrete = 10 m × 8 m × 0.15 m = 12.0 m³
Add the strip footings from the structural foundation schedule — say 36 m of footing at 0.6 m wide and 0.3 m deep, which is 36 × 0.6 × 0.3 = 6.48 m³ — and the concrete subtotal is 18.5 m³ before a small wastage allowance. Notice how every number in this example came from a schedule field, not from a scale ruler. That is the whole workflow in miniature.
Step 5: Sanity-check the schedule against a hand calculation
Never trust a schedule blindly, especially on your first few projects. Pick one element — a single wall, a single slab — and check its schedule value by hand. A wall that is 5 m long, 3 m high and 0.23 m thick must report 15 m² of area and 3.45 m³ of volume. If it does not, something is off: the wall may be joined to another element, split at a level, or modelled with the wrong type.
Also compare the schedule totals with a rough order-of-magnitude check. A house of 80 m² floor area should not produce 200 m³ of brickwork. If a total looks absurd, it usually is: look for duplicated elements, elements modelled twice in overlapping categories, or a schedule that is counting both a wall and its stacked counterpart.
This five-minute check is the difference between a takeoff and a guess, and it is the habit that separates a junior who produces numbers from a junior whose numbers the QS actually trusts.
Step 6: Export and price
Once the schedules are clean, export them. Revit exports a schedule to a text file that opens directly in a spreadsheet, where you can add rates, wastage allowances and subtotals. Keep one column for the Revit quantity and one for the priced quantity, so that any adjustment you make by hand stays visible and auditable.
For repeat projects, save your schedules as schedule templates or keep a starter project with the standard schedules already built. The second takeoff you do should take half the time of the first, and by the fifth you will spend more time checking the model than building schedules.
Common beginner mistakes to avoid
- Counting gross wall area without deducting openings — the most common over-measurement, covered in step 4.
- Mixing categories — curtain walls, generic models and in-place families do not appear in the schedule you expect.
- Ignoring phases — existing and demolished elements inflate totals if the schedule is not filtered.
- Trusting volumes of joined elements — where a wall joins a column or a slab, Revit may split the volume between them; check the junctions on a sample element.
- Forgetting units — a schedule set to square feet while the rest of the takeoff is in square metres will silently wreck a total. Set units once and check them every time.
Where to go from here
Once the basic schedule workflow feels natural, the next steps are material takeoffs, which break a multi-layer wall into its individual layers, and quantity schedules tied to assembly codes such as Uniclass or MasterFormat, which let the takeoff map directly onto a bill of quantities. Both build on exactly the same skills: clean categories, filtered schedules and a hand check before you price.
Start small, check everything by hand the first few times, and let the model do the measuring. That is the whole trick — and once you have done it once, measuring from 2D drawings will feel like going back to a slide rule.
Calculations and engineering guides are for planning and educational reference. Verify final designs against applicable codes with a licensed Professional Engineer.