How Steel Takeoff Works: From Drawing Set to a BOM You Can Hand Over
A steel takeoff produces exactly one thing: a bill of materials listing every member with its mark, section, grade, count, length and weight. The hard part isn't the arithmetic — it's reading the drawings. Too much of what you need isn't written down.
1. Sort the drawing set first
| Sheet type | What you read | Why it matters |
|---|---|---|
| General notes | Grade, coatings, bolt class | Sets material, decides if paint area is separate |
| Foundation plan | Base plate locations, anchor bolts | Cross-checks column count |
| Framing plans | Beam / column / brace layout and marks | Primary source for counts |
| Member schedule | Mark → section | Primary source for sections |
| Connection details | Gussets, stiffeners, bolts | Small parts, easy to miss an entire class |
| Elevations | Levels, storey heights | Column lengths |
Skipping the connection details is the most common beginner mistake. Gussets and stiffeners on a typical industrial building run 3–8% of total tonnage — not a rounding error.
2. Count by member type, in a fixed order
- Columns — count base plates on the foundation plan, then reconcile with framing marks
- Beams — bay by bay along gridlines
- Bracing — vertical and roof bracing usually live on different sheets
- Purlins and girts — derived from spacing; the most error-prone class
- Sag rods and knee braces — drawings usually give spacing, not counts
- Connection parts — gussets, stiffeners, base plates, anchor bolts
Why purlins go wrong
Drawings give you @1500, not a count. You derive it:
count = span ÷ spacing + 1 (both ends)
But end bays are often tightened and openings interrupt runs. Derived counts are routinely 5–15% off. This class must be flagged as derived, never mixed in with numbers you counted off the plan.
3. Weights
kg = kg/m × length m × count
Unit weights for common sections (7850 kg/m³, same for S235 and S355):
| Section | kg/m |
|---|---|
| H400×200×8×13 | 65.4 |
| H500×200×10×16 | 89.6 |
| H588×300×12×20 | 151 |
| C180×70×20×2.5 | 6.18 |
| L100×100×10 (equal angle) | 15.1 |
| Ø12 round bar | 0.888 |
Built-up sections have no table — compute from plate areas:
kg/m = [ 2 × B × tf + (H − 2×tf) × tw ] × 7850 / 1e6
4. Separate what you're unsure about
This step decides whether the BOM can be trusted. Two numbers that look identical in a spreadsheet can have very different reliability. Tag every row on two axes:
| Section basis | Meaning |
|---|---|
| From drawing | Section is stated on a schedule or the drawing face |
| Estimated | Not stated; assumed from span, load or similar members |
| Quantity basis | Meaning | Typical error |
|---|---|---|
| Scheduled | Count is given in a schedule | ~0 |
| Counted | Counted off the plan one by one | 1–3% |
| Derived | Computed from spacing and bay count | 5–15% |
| Estimated | No basis on the drawings | 15%+ |
Then total the derived and estimated rows into a single figure: X tonnes to review. The reviewer checks that slice, not all 142 rows.
5. Five traps
- Counting alternates twice — a sheet marked ALTERNATE is one option, not both
- Treating review markups as members — red lines are comments
- Double counting across sheets — plans and elevations overlap
- Schedule counts are per frame — multiply by the number of frames
- Columns measured to beam soffit — columns usually run full height
6. How long it takes
A 20-sheet mid-size industrial building takes an experienced estimator 2 to 3 days by hand. Most of that is reading and reconciling, not calculating.
An AI does the same job in fifteen minutes to an hour. But the time saved has to go into review — which is why whether the sheet states the origin of every number matters far more than how fast it was produced.