How Steelflo Works: A Technical Overview of AI Steel Takeoff
Steelflo is an AI-powered structural steel takeoff tool that extracts every steel member label from a set of PDF construction drawings, locates each label on the page with a precise bounding box, and outputs a verified bill of materials ready for pricing, fabrication, or procurement. AI detection does the finding, and a human verification step follows. Together they deliver 95–99% accuracy on the final BOM.
This article covers what goes in, what comes out, how review works, and where the current limits are.
From PDF to Detections
Here is what happens between uploading a drawing set and seeing results, described in terms of what goes in and what comes out.
What goes in
The user uploads a PDF through Steelflo's 5-step wizard. Any structural drawing set works: plans, sections, details, elevations and schedules, in one file or several. You don't tell Steelflo which standard the drawings use or which pages matter. It reads every page.
Reading every page
Steelflo reads each page of the set and finds the steel member labels on it: W-shapes, HSS, pipe, channels, angles, plates and the rest. Most modern drawings carry a real text layer, and Steelflo reads that directly, so labels come back exactly as they are written. Some pages don't have usable text, such as CAD sheets drawn with stick or vector fonts, or scanned sheets. Steelflo recognizes those pages and reads the labels from the page image instead. Those detections are a little less precise, and they're marked as such so you know to look harder at them in review.
Recognizing the standard
Before extraction, Steelflo automatically detects whether a drawing set uses AISC, BS/IS, AS/NZS or EN notation. That matters because the same member reads very differently across standards (W12X26 versus 310UB40.4 versus UC305*305*158). Once the standard is known, Steelflo recognizes designations written in that standard's conventions and looks up weights from the matching section catalog. No manual configuration.
Steel intelligence
After the labels are collected, Steelflo checks each one:
- Weight lookup: Each detected member type is looked up in Steelflo's catalog of 2,500+ standard sections (see the AISC shape database guide). When it's found, the weight per linear foot is attached.
- Validation flags: Members that match a standard section are marked validated and get their catalog weight. Members that don't match stay unvalidated, so the estimator knows to check the size before pricing it.
- Category assignment: Each detection is sorted into beam, HSS, pipe, plate, channel, angle or misc.
What comes out
Every detection is one label at one location on one page. For each one, Steelflo records:
- The normalized designation (
W10X15) and the text exactly as it appears on the drawing (W10x15) - The category (beam, HSS, pipe, and so on)
- The source page and a bounding box showing exactly where the label sits on that page
- The kind of view it came from (plan, elevation, detail)
- A confidence level, higher for labels read from the text layer and lower for labels read from a page image
- Weight per linear foot, when the section is in the catalog, and whether it validated
- Its review status (unreviewed, confirmed or rejected)
Multi-Standard Support
Steelflo currently supports four structural steel naming standards and detects which one a drawing set uses automatically.
| Standard | Regions | Example Designations | Unit System |
|---|---|---|---|
| AISC | United States | W12X26, HSS6X6X1/4, L4X4X1/4, C10X15.3, PL1/2X12 | Imperial |
| BS/IS | UK, India, Middle East | UC305305158, UB45719167, SHS2202206.0, CHS168.3*6.0 | Metric |
| AS/NZS | Australia, New Zealand | 310UB40.4, 250UC89.5, 150PFC, 100x100x6.0SHS | Metric |
| EN (Eurocode) | Europe | HEA200, IPE300, HEB160 | Metric (not yet production-tested) |
Mixed-standard drawing sets are rare but do happen on international projects. On those, check the detected standard in your results before you rely on the weights.
For BS/IS drawings, Steelflo also reads the structured member IDs common on Indian and Middle Eastern projects. A member ID like 01-STR-06-VBR018 is broken into zone (01), discipline (STR), level (06), member type (VBR, vertical bracing) and sequence (018), and that information is attached to the detection.
The Verify Workflow
Steelflo does not assume its detections are perfect. Every takeoff includes a human verification step — Step 4 of the 5-step wizard — where the estimator reviews each detection against the source drawing.
The verify page displays:
- Left panel: All detections grouped by member type and sorted by category (beams, HSS, pipe, plate, channel, angle, misc). Each group shows the count of occurrences.
- Right panel: The original PDF rendered with bounding box overlays. Each box is drawn on the page exactly where the label was found, linking the extracted data to the source drawing.
The estimator clicks through each detection. For each one, the bounding box highlights on the PDF so they can visually confirm the label matches the extracted data. They mark each detection as confirmed or rejected.
This workflow matters because the combination of AI detection and human review consistently outperforms either alone. The AI finds labels a human might overlook (especially on dense multi-page drawing sets), and the human catches edge cases the AI misreads. In testing, an experienced estimator named Billy counted 41 pieces and 17 member types from a 7-page US drawing set. Steelflo found all 17 of his types, for a total of 53 individual label occurrences across 18 types. It also surfaced a flush-beam callout on the plan, W12X17, that the manual count had skipped. That label itself needed an RFI, because W12X17 isn't a standard AISC size, which is exactly the kind of thing a human reviewer has to catch.
Export and Downstream Outputs
After verification, Steelflo produces three export formats:
Cut List (CSV)
A bill of materials with every confirmed detection. Each row includes member type, category, measured length (if lengths were captured in Step 5), weight per linear foot, and total weight. This is the standard BOM format that fabricators use for pricing and purchasing.
Order Sheet with Nesting Optimizer
The order sheet groups confirmed members by type and nests the cut pieces onto mill-length stock to keep material waste down. It allows for saw kerf on every cut, uses sensible default mill lengths per category, and lets you override the stock length for any member type.
The result is a visual layout showing each stock bar, which pieces fit on it, a utilization percentage, and waste color-coded by severity.
Highlighted PDF
A copy of the original PDF with bounding boxes drawn over every confirmed detection. This serves as a visual record of what was counted and where it was found — useful for bid documentation and shop communication.
Real-World Performance
Steelflo has been tested against real structural drawing sets across multiple standards:
| Drawing Set | Standard | Pages | Detections | Unique Types | Notes |
|---|---|---|---|---|---|
| Hutchings (US commercial) | AISC | 7 | 53 | 18 | Baseline test set. Includes W, HSS, pipe, plate, channel, angle. |
| Jotun Convention Center (India) | BS/IS | Multi-page | 1,047 | Multiple | Large-scale project. UC, UB, SHS, RHS, CHS, PFC detected. |
| WW Austral (AU commercial) | AS/NZS | Multi-page | 119 | Multiple | Number-first format (310UB40.4, 150PFC). |
| BMW Penrith (AU industrial) | AS/NZS | Multi-page | 237 | Multiple | Industrial steel with SHS, RHS, CHS, UB, UC. |
Human vs. AI Comparison
On the Hutchings drawing set, the most thoroughly benchmarked test case:
| Metric | Billy (experienced estimator) | Steelflo |
|---|---|---|
| Pieces counted | 41 | 53 |
| Unique member types | 17 | 18 |
| Callouts skipped | W12X17 flush beam on the plan (needed an RFI: not a standard AISC size) | None (found all 17 of Billy's types + the W12X17 callout) |
The difference in piece count (53 vs. 41) is expected: Steelflo counts every individual label occurrence, including the same member appearing on both plan and detail views. Billy, as an experienced estimator, mentally de-duplicates across views. Both counts are "correct" for their purpose — Steelflo's job is to find every label, and the verify step is where the estimator resolves duplicates.
What Steelflo Doesn't Do (Yet)
Transparency about limitations matters as much as documenting capabilities. Here is what Steelflo currently does not handle:
- Scanned/raster PDFs are slower and less precise. If the drawing set has no embedded text layer, every page has to be read from the image, which takes longer and produces lower-confidence detections that need closer review.
- Cross-view deduplication is manual. When the same beam appears on a framing plan and an elevation (learn more about reading structural drawings), Steelflo creates two detections. The estimator resolves this during verification. Automated cross-view dedup is on the roadmap.
- Schedules need a closer look. Steel schedules (tables listing member marks with sizes, lengths, and quantities) are common on structural drawings, and they are harder to read reliably than free-form callouts. Treat schedule-derived items as ones to check during review.
- Design intent is human work. Steelflo extracts what is written on the drawing. It does not interpret design intent, check code compliance, or flag structural concerns. That remains the engineer's and estimator's job.
- EN/Eurocode support is a stub. European steel designations (HEA, HEB, IPE) are recognized, but EN detection has not been validated against real European drawing sets.
- No quantity multipliers. Annotations like "typical of 4" or "(x3)" are not parsed. Each bounding box equals one piece. Quantity interpretation happens during human verification.
Steelflo is built for structural steel estimators who want to move faster without sacrificing accuracy. Steelflo handles the tedious work of finding and cataloging every steel label across a drawing set, and the verify workflow ensures a human always has the final say. For more information or to try it on your own drawings, visit steelfloai.com.