Back to Blog
multi-story steel takeoffhigh rise steel takeofffloor by floor steel estimatingcolumn splice takeofftakeoff example

Multi-Story Steel Takeoff: Worked Example

SteelFlo Team10 min read

Multi-Story Steel Takeoff: Worked Example

Here's a complete multi-story steel takeoff with real numbers: a 4-story, 90' x 150' office frame, 384 pieces, 381,390 lbs (190.7 tons), landing at 7.1 psf across four supported levels. We read the column schedule across levels to get splice tiers right, count beams floor by floor instead of trusting the "typical floor" note, pick up the braces, and roll everything into a level-by-level tonnage table you can check line by line.

This is the worked-example companion to our multi-story steel frame estimating guide — that post covers the general challenges (drawing set size, cantilevers, repetition traps); this one is a single takeoff, start to finish, with the arithmetic shown.

The Job: A 4-Story Office Frame Drawing Set

The example is a conventional composite-floor office building, braced frame lateral system:

ParameterValue
Footprint90' x 150' (13,500 sq ft per level)
Stories4 supported levels (L2, L3, L4, Roof), 14'-0" first story, 13'-0" typical
GridLines 1–6 @ 30'-0" (150' direction), lines A–D @ 30'-0" (90' direction)
Floor systemComposite metal deck on wide-flange beams at 10'-0" o.c.
Lateral systemChevron-braced bays, HSS diagonals
Drawing setS0.1 notes, S1.1 foundation, S2.1–S2.4 framing plans (L2/L3/L4/Roof), S3.1 column schedule, S4.x braced frame elevations, S5.x details
ScopeColumns, beams, girders, braces, base plates, splices, connection material

Deck, studs, and stairs are by others on this one. Write the scope line before you count anything — on multi-story work the stair and misc-metals scope split causes more bid-day arguments than any counting error.

Reading the Column Schedule Across Levels: Splices and Size Changes

The column schedule is the spine of a multi-story takeoff, and it's the sheet single-story estimators misread first. Each column line runs top to bottom of the building, but it ships as separate pieces broken at splices — and the schedule tells you where the sizes change. If schedule tables are new territory, start with how to read a steel member schedule and come back.

On this job: 6 numbered lines x 4 lettered lines = 24 column locations. The schedule shows one splice per column, 4'-0" above Level 3 — a standard two-story tier arrangement. So every location is 2 shipping pieces: 24 columns x 2 tiers = 48 column pieces, not 24. Counting one piece per grid intersection on a spliced building is the classic multi-story undercount.

Tier lengths off the schedule elevations: lower tier runs base plate to splice = 14' + 13' + 4' = 31'-0"; upper tier runs splice to roof = 53' total height − 31' = 22'-0". Sizes step down at the splice, and interior columns (the 8 at intersections of lines 2–5 with B–C, carrying four bays of floor) run heavier than the 16 perimeter columns:

Column groupTierSectionQtyLengthlbs/ftWeight (lbs)
Interior (8 locations)Base–spliceW12x87831'-0"8721,576
InteriorSplice–roofW12x53822'-0"539,328
Perimeter (16 locations)Base–spliceW12x531631'-0"5326,288
PerimeterSplice–roofW12x401622'-0"4014,080
Column subtotal481,272 LF71,272

Two checks worth doing every time: piece count must equal locations x (splices + 1), and total column LF must equal locations x building height (24 x 53' = 1,272 LF — it ties). For a deeper walkthrough of pulling quantities out of a schedule table, including marks that change size mid-height, see the column schedule takeoff example.

Floor-by-Floor Beam Counts from Typical and Non-Typical Plans

Each framing plan gets its own count, its own subtotal, its own sheet reference. The typical floor (S2.1, noted "TYP. AT L2 & L3") frames like this: W21x50 girders spanning 30' along the six numbered lines (18 per floor), W18x35 beams on the four lettered lines between columns (20 per floor), and W16x26 infill beams at 10' o.c. — 2 per 30' x 30' bay, 15 bays, 30 per floor.

LevelItemSectionQtyLengthWeight (lbs)
L2GirdersW21x501830'-0"27,000
L2Column-line beamsW18x352030'-0"21,000
L2Infill beamsW16x263030'-0"23,400
L2 subtotal6871,400
L3 subtotal (same plan)6871,400

Level 4 references the typical plan "EXCEPT AS NOTED" — and the note is a 20' x 30' mechanical opening in one bay. Two infill beams disappear, two W16x31 headers frame the opening:

LevelItemSectionQtyLengthWeight (lbs)
L4GirdersW21x501830'-0"27,000
L4Column-line beamsW18x352030'-0"21,000
L4Infill beamsW16x262830'-0"21,840
L4Opening headersW16x31220'-0"1,240
L4 subtotal6871,080

The roof carries lighter sections plus dunnage under four RTUs:

LevelItemSectionQtyLengthWeight (lbs)
RoofGirdersW18x401830'-0"21,600
RoofColumn-line beamsW16x262030'-0"15,600
RoofInfill beamsW12x193030'-0"17,100
RoofRTU dunnageC12x20.7810'-0"1,656
Roof subtotal7655,956

Why "Typical Floor" Assumptions Break Takeoffs

The lazy version of this takeoff is: count one floor, multiply by four. On this job that shortcut is wrong three separate ways — and this is a simple building.

  1. The roof is never the typical floor. Here it's 15,444 lbs lighter per level than L2. Multiplying the typical plan by four overstates the job by about 7.7 tons on the roof alone.
  2. "Typical except as noted" is a trap. The L4 mechanical opening swaps 1,560 lbs of infill for 1,240 lbs of headers. Small here — but the same note on other jobs hides transfer girders under a terrace or a two-story lobby with no L2 framing at all, and those are five-figure misses.
  3. Piece counts drift even when tonnage doesn't. L4 came out at 68 pieces, same as typical, but two of them are different sections at different lengths. Your shop prices fabrication per piece and per connection; a tonnage-only shortcut hides that.

The discipline that works: count every plan sheet independently, subtotal each level, and only then compare levels. Matching subtotals confirm the "typical" note; mismatches point you at exactly the members that changed.

Bracing, Moment Frames, and the Connection Count

The lateral system lives on the braced frame elevations (S4.x), not the plans — skip those sheets and you miss real tonnage. This job has four chevron-braced bays (two per direction), each with 2 HSS6x6x3/8 diagonals per story: 4 bays x 4 stories x 2 = 32 braces at roughly 20' each, 27.5 lbs/ft, 17,600 lbs.

Connection material on a spliced, braced multi-story frame is a bigger fraction than single-story estimators expect. The count on this job: about 280 framed beams x 2 ends = ~560 shear connections, 64 brace-end gussets, 24 column splices, 24 base plates (PL 1-1/2" x 18" x 18", 138 lbs each). At bid stage we carry the splice plates at ~60 lbs per splice, the base plates by count, and the rest as a 5% allowance on frame weight. Had the engineer used moment frames instead of braces, that allowance goes to 8–10% — moment connections carry stiffeners, doubler plates, and CJP welds that simple shear tabs don't.

The Roll-Up: Level-by-Level Tonnage with Real Numbers

CategoryPiecesWeight (lbs)% of total
Columns (both tiers)4871,27218.7%
Level 2 framing6871,40018.7%
Level 3 framing6871,40018.7%
Level 4 framing6871,08018.6%
Roof framing7655,95614.7%
HSS braces3217,6004.6%
Base plates243,3070.9%
Splice material—1,4400.4%
Connection allowance (5%)—17,9354.7%
Total384381,390100%

381,390 lbs = 190.7 tons. Divided by the supported area (4 levels x 13,500 sq ft = 54,000 sq ft), that's 7.1 psf — right where a 30'-bay braced office frame should land. Typical mid-rise office runs 6–11 psf; below 6 usually means a missing level or the braces never got counted, above 12 with no long spans means something got doubled. Run the psf check per level too: L2, L3, and L4 all sit within 320 lbs of each other, which is exactly what three near-identical plans should produce. A level that's 20% off its siblings is a counting error until proven otherwise.

For the single-story version of this same walkthrough — one plan, beams and girders, no splices — see the structural steel takeoff example.

Time Comparison: Manual vs AI + Human Verification

Four framing plans, a column schedule, and brace elevations is a full day-plus of manual counting — and the multi-story failure mode isn't slowness, it's cross-sheet errors: splice tiers counted once instead of twice, a level skipped because it was "typical."

StepManualAI + human verification
Read set, scope notes, schedule45 min45 min
Count columns, beams, braces (all sheets)6 – 9 hrs~15 min (automated detection)
Verify counts(re-count passes, included above)45 – 60 min reviewing flagged items
Weight lookups + level-by-level roll-up1 – 1.5 hrsAutomatic
Total8 – 11 hrs~1.5 – 2 hrs

The structural change is that every count becomes auditable. Detection finds and boxes each member label on each sheet — the 30 infill beams on L3 are 30 visible marks on that plan, not a multiplier you hope was right — and you confirm or reject what it found, level by level. That verification pass is why AI-assisted takeoffs hold 95–99% accuracy: the software does the counting across a big drawing set, and an estimator's judgment makes it bid-grade.

Got a multi-story set on your desk? Run it through SteelFlo free — upload the PDF, get every member found and boxed across 4,700+ steel sections and 6 international standards, check the counts against your column schedule, and export a BOM with the roll-up done. The first 3 takeoffs are free, so a frame like this example costs you nothing but the review hour.

Doing steel takeoffs by hand?

Upload a PDF drawing set and SteelFlo boxes every steel label it finds, ready to review and export as a bill of materials.

3 free takeoffsNo credit card requiredAISC + 5 international standards