How to Extract a Bill of Materials from a STEP Assembly File
Extracting a bill of materials from a STEP assembly file means reading the product structure embedded in the STEP data — part names, instance counts, and assembly hierarchy — and exporting that information as a structured list of components. A good extraction workflow takes under five minutes for assemblies with up to 200 parts and requires no CAD licence when you use a browser-based STEP viewer.
You have just received a STEP file from a customer or a contract designer. Purchasing needs a parts list by end of day. Your CAD seat is tied up, the assembly has 80 components, and manually counting instances from a 3D view is an invitation for mistakes. This situation is common on shop floors and in design offices alike — and there is a clean, repeatable answer to it.
What Is Actually Inside a STEP Assembly File?
STEP (Standard for the Exchange of Product model data, ISO 10303) stores geometry and product structure in a single text file. The protocol version matters significantly for BOM work.
| Protocol | Full Name | Assembly/BOM Data | PMI Support |
|---|---|---|---|
| AP203 | Configuration Controlled Design | Minimal — geometry only in older implementations | No |
| AP214 | Automotive Design | Full product structure, part names, instances | Limited |
| AP242 | Managed Model-Based 3D Engineering | Full hierarchy, metadata, attributes | Yes |
AP214 and AP242 embed NEXT_ASSEMBLY_USAGE_OCCURRENCE entities that describe parent-child relationships. A STEP parser reads these entities to reconstruct the parts tree. That tree is the raw material for your BOM. For a deeper look at how STEP and IGES differ in practice, see STEP vs IGES: Which CAD File Format to Use.
The Real Problem: Why Manual BOM Extraction Goes Wrong
Counting parts manually from a 3D viewport is error-prone because instances that share geometry look identical until you rotate the model and notice different orientations or suppressed features. An AP214 file with 12 unique fastener types easily produces 30 or more instances — one miscounted bolt means a short purchase order, production delays, and a very tense conversation with the line manager.
Spreadsheet-based BOM tracking compounds this. Engineers copy part names by hand, typos create phantom parts, and when the design revises, nobody updates the sheet consistently. The AIAG APQP manual identifies BOM accuracy as a prerequisite for PPAP submission — an inaccurate BOM at design validation stage costs far more to fix than getting it right at the STEP-export stage. You can read more about how BOM accuracy connects to quality submissions in the PPAP Levels 1 to 5 Explained post.
How to Extract a BOM from a STEP Assembly File — Step by Step
The workflow below works whether you are using a dedicated STEP BOM extraction tool or a capable browser viewer. The numbered steps are written for a browser-based approach because it requires no software installation and no CAD licence.
-
Verify the STEP protocol before you open it. Open the file in any text editor and search for
FILE_SCHEMAin the header section. You will see a string like('AUTOMOTIVE_DESIGN')for AP214 or('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING')for AP242. AP203-only files may yield a flat, single-part tree — confirm assembly content before spending time on extraction. - Open the file in a STEP viewer that exposes the parts tree. Navigate to cadnexa.com/app.html, click Open STEP/IGES, and select your file. The viewer parses the assembly client-side — no file is sent to a server. For a 50-part assembly, the tree typically renders in under 10 seconds on a modern laptop.
- Inspect the parts tree for completeness. Expand every top-level node. Check that sub-assemblies show their children. If a node appears as a single mesh with no children, the STEP was exported as a merged solid rather than an assembly — you need to ask the CAD author to re-export with Save assembly structure enabled.
-
Review the auto-generated BOM table. CadNexa's 3D Viewer generates an auto-BOM alongside the parts tree, listing part name, instance count, and — unique to CadNexa — indicative Indian material prices pulled live. Check part names match your internal numbering convention. Parts exported without proper naming will appear as generic labels like
Part1,Body1. - Add or correct missing metadata fields. A raw STEP BOM typically gives you name and quantity. For a production-ready BOM you also need: material grade (e.g., IS 2062 E250 for structural steel, or AISI 304 for stainless), finish specification, unit of measure, and drawing reference. Add these columns in the viewer or downstream in your ERP.
- Validate instance counts against the 3D model. Click each part row in the BOM — the viewer highlights that part in the 3D scene. Count the highlighted instances visually for at least the high-value or safety-critical components. This step catches mirrored instances that some STEP exporters record as separate geometry rather than a second instance of the same part.
- Export the BOM. Export as CSV for ERP import, or use the HTML/PDF export from CadNexa for a formatted report. If you need the BOM to feed an inspection planning workflow, CSV maps cleanly into balloon characteristic sheets — see STEP File BOM Export: Online Bill of Materials for format detail.
- Archive the STEP file with the BOM version. Revision control matters. Save the STEP file and the exported BOM together with a date-stamped revision tag. When the design updates, re-run extraction and diff the two CSVs — any part name or quantity change is immediately visible.
Auto BOM from STEP File: What the Software Actually Does
The term "auto BOM from STEP file" refers to software that parses the NEXT_ASSEMBLY_USAGE_OCCURRENCE and PRODUCT_DEFINITION entities automatically, without the user navigating entity lists manually. Quality STEP BOM extraction software does four things well: it reads deeply nested sub-assemblies, it consolidates instances of the same part across different sub-assemblies, it respects suppressed or hidden components, and it flags unnamed or poorly named parts rather than silently including them.
Tools that do this in 2026 include Autodesk Inventor (requires a licence and local install), SolidWorks (same), FreeCAD (open-source but BOM export is limited), eDrawings (view-only, BOM export locked behind a paid tier), and browser-based options like CadNexa. The key differentiator for design engineers who receive STEP files from suppliers or customers is the absence of a licence dependency — you should not need the originating CAD tool to read a neutral exchange format.
NIST's STEP File Analyser and Viewer is a free command-line tool that validates STEP conformance and lists entities — useful for debugging malformed files, though its BOM output is raw and requires post-processing.
Multi-Level vs Flat BOM: Which to Extract
A multi-level BOM preserves the assembly hierarchy exactly as modelled. A gearbox assembly shows the housing as a parent, with the shaft, bearings, seals, and fasteners as children. This is the correct structure for manufacturing planning, where a sub-assembly may be built and stocked independently.
A flat BOM collapses all levels and sums total quantities per unique part number. It is faster to read and sufficient for purchasing a one-off prototype. Most STEP BOM tools default to flat; check whether your tool of choice supports multi-level export before committing to a workflow.
For ISO 9001:2015 documentation purposes, the quality management system typically requires a multi-level BOM tied to the design record. ASME Y14.100-2017 (Engineering Drawing Practices) recommends the BOM reflect the design structure, not a purchasing-flattened view. Always confirm with your quality manager which format your customer expects before finalising the export.
Worked Example: 12-Part Bracket Assembly
Consider a STEP AP214 file for a welded bracket assembly with one parent assembly and three sub-assemblies: the bracket body (1 instance), a fastener sub-assembly (4× M8×25 hex bolts, 4× M8 flat washers, 4× M8 nyloc nuts), and a nameplate sub-assembly (1 nameplate, 2× M4×10 pan head screws).
A correct multi-level BOM extraction produces: 1 parent assembly row, 3 sub-assembly rows, and 7 unique part rows. Flat extraction produces 7 unique part rows with quantities: bracket body ×1, M8×25 bolt ×4, M8 washer ×4, M8 nyloc nut ×4, nameplate ×1, M4×10 screw ×2. If the tool reports only 10 total rows instead of 12 items (7 unique parts × quantities), the instance consolidation is working correctly — that is exactly the expected output.
Common Mistakes When Extracting BOM from STEP Files
- Accepting default part names. CAD models exported without renaming produce BOMs full of
Part1,Extrude3, andBoss-Extrude1. This is a CAD discipline issue upstream, not a viewer issue — establish naming conventions before STEP export, not after. - Ignoring suppressed components. SolidWorks and CATIA both allow components to be suppressed but still included in the STEP export. Some viewers count suppressed parts; others skip them. Verify whether your tool matches the intent of the design — for aerospace work under AS9102 Rev C, every instance in the design record must be accountable.
- Treating a merged solid as an assembly. When a CAD author exports with Merge all into single part, the STEP file contains one body and no assembly structure. No BOM tool can extract a parts list from this — there is nothing to extract. Always request a proper assembly export from the originator.
- Not validating instance counts. Automated tools are accurate when the STEP is well-formed, but a corrupt or hand-edited STEP can produce incorrect instance counts. Spot-check at least the high-value line items against the drawing callouts.
- Skipping material and finish columns. A BOM with only name and quantity is incomplete for any downstream process — purchasing, inspection, or manufacturing. Build the habit of enriching the extracted BOM immediately, while the 3D model is open for reference.
- Using AP203 files for complex assemblies. Older AP203 exports from some CAD tools do not reliably carry assembly structure. If your extraction returns a single-row BOM for what should be a 50-part assembly, check the protocol and ask for an AP214 or AP242 re-export.
How CadNexa Helps
CadNexa's 3D Viewer — available at cadnexa.com/app.html — opens STEP and IGES files in the browser with no installation required. It parses the assembly tree automatically and generates an auto-BOM that includes part names, instance counts, and indicative Indian material prices, all from a single file drag-and-drop. The viewer also supports exploded view, section cut, wireframe mode, part weight display, and measurement tools — so you can verify geometry while reviewing the BOM in the same session, without switching between tools.
For engineers who work within FAI or PPAP workflows, the BOM data connects directly into CadNexa's balloon and FAI report pipeline. A part extracted from the 3D viewer can flow into an AS9102 Rev C Form 1 without re-keying data. You can explore how the full workflow connects in the CadNexa Complete Guide: Balloon Tool, 3D Viewer & FAI.
Frequently Asked Questions
Can a STEP file store BOM data natively?
A STEP AP214 or AP242 file stores product structure — part names, assembly hierarchy, and instance counts — but not procurement fields like material grade, unit cost, or supplier. You must extract the structure and enrich it externally or use a tool like CadNexa that reads the tree and appends material price data automatically.
What is the difference between a flat BOM and a multi-level BOM from a STEP file?
A flat BOM lists every unique part once with a total quantity, ignoring nesting. A multi-level BOM mirrors the assembly hierarchy — sub-assemblies appear as parent rows with their children indented beneath them. STEP assemblies naturally carry multi-level structure, so the best extraction tools preserve that hierarchy and let you flatten on export if needed.
Does exporting a BOM from a STEP file require a CAD licence?
No. Browser-based viewers like CadNexa open STEP files without any CAD installation. The parts tree is parsed client-side and the BOM is generated and exported without a SolidWorks, CATIA, or NX licence.
What STEP protocols support assembly BOM extraction?
AP203 covers geometric shape; AP214 adds colour and assembly product structure. AP242 is the current standard and merges both while adding PMI and composite data. For reliable BOM extraction, AP214 or AP242 files give the cleanest part-name and hierarchy data. The ISO 10303 standard family covers all three — see the ISO 10303-242 standard page for AP242 scope details.
How do I handle duplicate part names when extracting a BOM from STEP?
Duplicate names usually mean the CAD author did not assign unique part numbers before export. The best fix is upstream — enforce a naming convention in the CAD tool before saving as STEP. If you already have the file, filter by geometry hash or bounding-box dimension to identify truly identical parts versus same-named different parts.
Conclusion
Extracting a bill of materials from a STEP assembly file is a deterministic process when the file is well-formed and the right tool is used. Verify the STEP protocol, open in a viewer that exposes the assembly tree, validate instance counts, enrich with material and finish data, and export in the format your downstream process needs. The entire workflow from file open to CSV export can realistically take under five minutes for assemblies of typical engineering complexity.
The most expensive mistakes — missed instances, unnamed parts, merged solids passed off as assemblies — all have upstream fixes. Establish CAD naming conventions, request AP214 or AP242 exports from suppliers, and build instance validation into your BOM review checklist.