SMW-420 · Lesson 5 of 12 · 18 min
Quantity take-off
Before Keelson could detail a single fitting at Eastgate, it had to win the job, and before it could price the job it had to know how much work there was. Measuring the quantities of work shown on the contract documents is called the take-off. For a sheet metal contractor the take-off turns lines on the design drawings into weights of sheet metal, counts of fittings and accessories, lengths of round and spiral duct, areas of insulation and liner, numbers of hangers and lists of equipment connections. Every later step of the estimate depends on it, and an error in the take-off flows straight through to the bid price. This lesson follows Halima Noor and Kai Ferreira through the Eastgate take-off.
Bid documents and the scope of work
The take-off starts with reading. Halima first reads the invitation to bid from Northpoint Mechanical, the bid form, the instructions to bidders, the addenda issued during the bid period and the specification sections that describe Keelson's scope. Division 23 tells her what is ductwork and what is not: on Eastgate, the sheet metal subcontract includes all supply, return and exhaust duct, fire and smoke dampers, volume dampers, access doors, flexible connections, plenums and casings, the stainless isolation and laboratory exhaust, roof curbs for duct penetrations and the installation of diffusers and grilles supplied by others. It excludes duct insulation, which a separate insulation contractor carries, and controls dampers, which the controls contractor supplies for Keelson to install.
Scope gaps and overlaps cause more lost money than arithmetic mistakes. Halima keeps a scope sheet for every bid: a list of every item that could reasonably belong to the sheet metal trade, marked included, excluded or by others, with the specification reference. Typical grey areas are louvres, kitchen hoods, dryer vents, fire stopping around duct penetrations, painting of exposed duct, cleaning of duct for the hospital's infection-control requirements, temporary protection of open duct ends and the supply of access panels in finished ceilings. The scope sheet travels with the bid and is the basis of the qualifications Keelson attaches to its price.
Measuring rectangular duct
Rectangular duct is traditionally measured and priced by weight, because the material cost and much of the labour follow the weight of metal. The estimator measures each run's length on the drawings, notes its size, finds the gauge for that size and pressure class from the construction standard tables Keelson uses, and calculates the weight from the perimeter, the length, the sheet mass per unit area for that gauge and an allowance for seams, joints and reinforcement. Fittings are measured separately or converted to equivalent lengths of straight duct; Keelson counts fittings by type and size, because fitting labour is far higher per unit of weight than straight duct labour.
| Gauge (galvanized) | Approx. thickness | Approx. mass (illustrative) |
|---|---|---|
| 26 | 0.55 mm | 4.6 kg/m² |
| 24 | 0.70 mm | 5.8 kg/m² |
| 22 | 0.85 mm | 7.1 kg/m² |
| 20 | 1.00 mm | 8.3 kg/m² |
| 18 | 1.31 mm | 10.7 kg/m² |
Seam and joint allowances add weight that the duct's perimeter alone does not show. A Pittsburgh lock adds two folds of metal along each corner seam, and a TDC flange formed on the duct end adds a few centimetres of metal at every joint. Keelson's estimating database adds a percentage for seams and joints by duct size class, based on the shop's own records, rather than measuring every fold. Reinforcement, such as tie rods or angles on large ducts, is added by size and pressure class.
# Take-off: weight and area of rectangular duct from a duct list
gauge_mass = {26: 4.6, 24: 5.8, 22: 7.1, 20: 8.3} # sheet mass by gauge, kg/m2
def gauge(width, depth):
big = max(width, depth)
if big <= 450: return 26
if big <= 750: return 24
if big <= 1350: return 22
return 20
runs = [("2E-SA main", (1000, 450, 46.0)), ("2E-SA branch A", (600, 350, 31.5)), ("2E-RA main", (900, 400, 38.0)), ("2E-EA", (400, 300, 24.5))]
seam_allow = 1.12 # seams, joints and reinforcement allowance (Keelson records)
total_mass = total_area = 0
for name, (w, d, length) in runs:
g = gauge(w, d)
perim = 2 * (w + d) / 1000
area = perim * length
mass = area * gauge_mass[g] * seam_allow
total_mass += mass; total_area += area
print(f"{name:16s} {w} x {d} {length} m gauge {g} area {area:6.1f} m2 mass {mass:7.0f} kg")
print(f"total sheet area {total_area:.0f} m2, total mass {total_mass:,.0f} kg")2E-SA main 1000 x 450 46.0 m gauge 22 area 133.4 m2 mass 1061 kg 2E-SA branch A 600 x 350 31.5 m gauge 24 area 59.8 m2 mass 389 kg 2E-RA main 900 x 400 38.0 m gauge 22 area 98.8 m2 mass 786 kg 2E-EA 400 x 300 24.5 m gauge 26 area 34.3 m2 mass 177 kg total sheet area 326 m2, total mass 2,412 kg
The gauge function in the example is a simplified stand-in for the construction standard's tables, which also depend on pressure class, joint spacing and reinforcement. Halima's estimating software holds the real tables. The principle is what matters: a duct's weight depends on its perimeter, length and gauge, and the gauge depends on its largest side and its pressure class.
Round, spiral and flat oval duct
Round and spiral duct are measured by length and diameter, because they are usually bought or formed by the metre or foot rather than priced by weight. Keelson forms spiral duct on its own spiral machine, so the estimate converts lengths into strip coil weight for material and into machine hours for labour. Fittings for round duct, such as elbows, tees, reducers and saddle taps, are counted by type and diameter, and many are bought from fitting suppliers rather than made. Flat oval duct, used at Eastgate in the penthouse where depth is limited, is measured like round duct by length and size.
Fittings, accessories and connections
Fittings, accessories and connections are counted, not measured. The estimator walks through each drawing with a highlighter or a digital take-off tool and counts every elbow, transition, offset, tee and tap; every fire damper, combination fire and smoke damper, volume damper and backdraft damper; every access door; every flexible connection at a fan; every terminal unit connection; and every diffuser, grille and register to be installed. Each item is recorded by type and size class, because a 1,200 × 600 fire damper takes very different labour from a 300 × 300 one.
# Counting accessories and diffusers from a take-off sheet
counts = {"fire damper, small": 64, "fire damper, large": 22, "combination fire/smoke damper": 26,
"volume damper": 230, "access door": 118, "flexible connection": 18,
"terminal unit connection": 96, "diffuser or grille (install only)": 410}
for item, n in counts.items():
print(f"{item:36s} {n:4d}")
print(f"total accessory and connection items: {sum(counts.values())}")fire damper, small 64 fire damper, large 22 combination fire/smoke damper 26 volume damper 230 access door 118 flexible connection 18 terminal unit connection 96 diffuser or grille (install only) 410 total accessory and connection items: 984
These counts drive the labour estimate in Lesson 6 more than the duct weight does, because hospitals have many dampers, access doors and terminal connections relative to the amount of duct. The isolation rooms and the laboratory at Eastgate also carry special items: welded stainless duct, airtight dampers and bubble-tight test ports, each counted separately.
Hangers, supports and miscellaneous
Hangers and supports are taken off from the duct lengths and sizes using the spacing rules. A quick method multiplies each run's length by the number of hangers per unit length for its size class; a more careful method, used on Eastgate because of the seismic bracing and the cast-in inserts, counts supports per run and adds bracing at the intervals the seismic design requires. Miscellaneous items such as sealant, tape, screws, rivets, hanger rod, strap and anchors are often estimated as a percentage of the duct weight or labour, again from the shop's records, but large items such as seismic bracing kits are counted.
Digital take-off and model take-off
Halima no longer measures with a scale rule. Keelson uses on-screen take-off software in which the estimator traces runs and clicks counts on PDF drawings, and the software stores each measurement with its drawing reference, colour-coded so that measured items stand out. That leaves a visual record that someone else can check, which is the main defence against missed areas. When the engineer's design model is available, part of the take-off can be extracted from the model, but only to the level of development the model has: an LOD 300 design model gives runs and sizes but not real fittings or hangers.
After award, the take-off is replaced by quantities from Keelson's own LOD 400 fabrication model. Comparing the two is useful: if the fabrication model shows much more metal or many more fittings than the bid take-off, either the design changed, the take-off missed something or the detailers added fittings that the coordination required. Each of those has a different commercial consequence, and Halima wants to know which one applies before the job's cost reports start to slip.
Checking the take-off
Halima checks every take-off in three ways. First, coverage: every drawing sheet is marked as measured, and every system on every floor appears in the summary. Second, ratios: sheet metal weight per unit of floor area, fittings per unit of duct weight and dampers per floor are compared with similar past jobs; a hospital wing that comes out at half the usual weight per unit area probably has a floor missing. Third, a second person spot-checks a sample of runs and counts. Kai checked the level 3 counts and found that a corner of the floor plan had been cut off in the PDF set, hiding nine diffusers and two fire dampers.
# Sanity check: weight per floor area against past hospital jobs
floor_area = 9200 # m2
duct_mass = 18600 # take-off total, kg
ratio = duct_mass / floor_area
past = [2.1, 1.9, 2.3, 2.0] # past jobs, kg per m2
avg = sum(past) / len(past)
print(f"this job: {ratio:.2f} kg/m2; past average {avg:.2f}")
print("within range" if 0.8 * avg <= ratio <= 1.2 * avg else "outside the usual range: recheck the take-off")this job: 2.02 kg/m2; past average 2.08 within range
Worked problem
Weight of one run
A straight run of 1,000 × 450 supply duct is 46.0 m long. The gauge for its largest side is 22 at the illustrative limits, with sheet mass 7.1 kg/m², and Keelson adds 12 percent for seams, joints and reinforcement. What is its weight?
Show solution
- Perimeter: 2 × (1.000 + 0.450) = 2.90 m.
- Area: 2.90 × 46.0 = 133.4 m².
- Mass of sheet: 133.4 × 7.1 = 947 kg.
- With allowance: 947 × 1.12 = 1,061 kg.
Answer: About 1,060 kg for one run. The code example above gives the same result for the main.
Take-off habits that prevent errors
Halima teaches every new estimator the same habits. Work one drawing at a time and one system at a time, so supply, return and exhaust are never mixed on the same pass. Mark every measured run on the drawing as it is measured, in a colour for each system, so that an unmarked line stands out as a possible miss. Read the specification and the general notes before measuring, because they often add scope that the plans do not show, such as duct liner in the first few metres from each fan, seismic restraints, or access doors at every damper. Read every addendum and note which take-off items it changed. And keep a running list of questions for the design team, since a bid sent with an unanswered question is a bid with a hidden risk.
At Eastgate, the general notes required stainless steel exhaust from all isolation rooms and fire dampers wherever duct crossed a rated corridor wall, items that the plans showed only with small symbols. Kai's first pass missed eleven of the fire dampers; Halima's check of the take-off against the life safety drawings found them, which is why the take-off for a hospital is always checked by a second person against the architectural fire separation plans.
Common mistakes
MistakeStarting to measure before reading the scope.
InsteadRead the bid form, instructions, addenda and specifications, and build a scope sheet first.
MistakePricing rectangular duct by length only.
InsteadUse weight from perimeter, length and gauge, and count fittings separately.
MistakeIgnoring addenda issued during the bid.
InsteadIncorporate every addendum and acknowledge it on the bid form.
MistakeTrusting a design model take-off for fittings and hangers.
InsteadAn LOD 300 model does not contain real fittings or supports; count them.
MistakeSkipping a ratio check.
InsteadCompare weight per area and counts per floor with past jobs to catch missing areas.
Summary and key terms
- The take-off measures quantities from the bid documents after the scope has been defined.
- A scope sheet lists every item as included, excluded or by others.
- Rectangular duct is measured by weight from perimeter, length, gauge and allowances.
- Round and spiral duct are measured by length and diameter; fittings and accessories are counted.
- Digital take-off leaves a checkable record; model take-off is limited by the model's level of development.
- Coverage checks, ratio checks and spot checks catch missing areas and errors.
- Take-off
- The measurement of quantities of work from the contract documents.
- Scope sheet
- A list of items marked included, excluded or by others, used to define the bid.
- Addendum
- A change or clarification issued to bidders during the bid period.
- Seam allowance
- Extra metal in locks, seams and joints added to the duct's basic sheet area.
- Gauge
- A number indicating sheet thickness; lower numbers are thicker.
- Ratio check
- A comparison of take-off quantities per unit area with past jobs.
Practice problems
Work each problem on paper first, then reveal the answer to check.
Why is rectangular duct priced by weight?
Show answer
Material cost and much of the labour follow the weight of metal.
Why are fittings counted separately from straight duct?
Show answer
Fitting labour per unit of weight is much higher than for straight duct.
What does a scope sheet protect against?
Show answer
Gaps and overlaps in scope between trades, which cost more than arithmetic errors.
Kai finds the take-off for a floor is 45 percent below the past average weight per area. What should he suspect?
Show answer
A missing area or system, a cut-off sheet, or a measuring error; recheck coverage before accepting it.
Lesson quiz · 5 questions
Score 60% or more to complete this lesson.
Create a free account to save your progress, take quizzes and earn a certificate.