<?xml encoding=”UTF-8″>by Chandra shekar Gopal,
Bill of Materials (BOM) management is a cornerstone of effective digital design and manufacturing workflows. With the advent of Model States in Autodesk Inventor, the management of BOMs—especially across legacy designs and substitutes—has evolved significantly. One powerful yet often misunderstood concept introduced in this context is BOM Delegation.
🔄 What is BOM Delegation?
BOM Delegation refers to the behavior where one model state defers its BOM and iProperties to another model state—typically the Primary or Master. This ensures that legacy Level of Detail (LOD) representations and substitute models maintain BOM consistency after migration to Inventor 2022 or newer.
BOM Delegation is Triggered When:
- The model state is a migrated non-Master Level of Detail (LOD)
- The model state is a migrated substitute LOD
- The model state is a substitute part file
How It Works:
- A substitute model state uses the BOM from the source model state.
- A migrated non-Master LOD or substitute uses the BOM from the Primary model state.
Tip:
You can edit the BOM of a migrated Master LOD.
You cannot edit the BOM of a migrated non-Master LOD directly. To make edits, copy the model state, edit the copy, and optionally remove the original.
🛠️ BOM Delegation in the Inventor API
To handle BOM delegation programmatically, use the read-only property:
BOMDelegate As ModelState
This returns the model state currently holding the BOM for the given model state.
Delegation Behavior Summary
| Model State Type | BOMDelegate Behavior |
|---|---|
| Legacy LOD | Delegates to Master (Primary) |
| Legacy Substitute | Delegates to Master (Primary) |
| New Substitute (from model state) | Delegates to source state |
| New Substitute (from part/LOD) | Delegates to Master (Primary) |
| New Non-substitute | No delegation (owns its BOM) |
💼 Real-World Use Case: Legacy Substitute BOM Access Failure
A user attempted to access the BOMStructure property in a substituted model state migrated from Inventor 2021. Since the file wasn’t saved post-migration, the call failed.
❌ Problematic Code
Sub BOMStructureTest()
Dim oAssemblyDoc As AssemblyDocument
Set oAssemblyDoc = ThisApplication.ActiveDocument
Dim oCompDef As AssemblyComponentDefinition
Set oCompDef = oAssemblyDoc.ComponentDefinition
Dim eBOMStructure As BOMStructureEnum
eBOMStructure = oCompDef.BOMStructure ' Fails due to delegation
End Sub
✅ Correct Code Using BOMDelegate
Sub BOMStructureTest()
Dim oAssemblyDoc As AssemblyDocument
Set oAssemblyDoc = ThisApplication.ActiveDocument
Dim oCompDef As AssemblyComponentDefinition
Set oCompDef = oAssemblyDoc.ComponentDefinition
Dim eBOMStructure As BOMStructureEnum
eBOMStructure = oCompDef.ModelStates. _
ActiveModelState.BOMDelegate.Document.ComponentDefinition.BOMStructure
End Sub
This correctly accesses the BOM from the delegated source model state.
🧾 Managing BOMs in the Inventor UI
Navigate to Assemble → Manage → Bill of Materials to access:
- Model Data View – Browser-like, non-exportable
- Structured View – Exportable hierarchical BOM
- Parts Only View – Flat exportable BOM
UI Capabilities Include:
- BOM renumbering and sorting
- Add/Edit custom iProperties
- Drag and reorder/remove columns
- Multi-cell editing, Find/Replace, and Excel paste
- QTY = 0 handling for suppressed components
To hide suppressed components:
Use BOM Settings → Hide Suppressed Components in BOM
📘 Understanding Level of Detail (LOD) Migration
With Inventor 2022 and beyond, LODs are deprecated and replaced by Model States.
When you open a legacy assembly:
- System-defined LODs like All Components Suppressed are removed
- Primary/user-defined LODs and substitutes are converted to model states
- BOM in non-primary migrated states continues to delegate to the Primary
Tip: To modify BOM from a delegated state:
- Copy the model state
- Edit the BOM in the new state
- Optionally delete the old migrated LOD
📄 Full Autodesk Help documentation:
About Level of Detail Migration – Autodesk Help
📚 Additional Resource
To learn more about the enhancements made to the Inventor Apprentice Server in 2026 (including registry-free behavior), refer to this Autodesk Developer Blog post:
👉 Inventor Apprentice Server Enhancement in Inventor 2026
🧠 Final Thoughts
Understanding and applying BOM delegation principles—both through the UI and API—ensures your Inventor assemblies remain consistent, editable, and aligned with best practices in modern digital engineering.

Leave a Reply