Overview
When automating the creation of simplified assembly representations in Autodesk Inventor, many developers use the DerivedAssemblyComponent API because it is featured in the official Shrinkwrap Substitute in Assembly sample.
While investigating a customer case, I observed that this approach may not always produce the expected level of simplification. In particular, the generated shrinkwrap IPT and the exported STEP file were significantly larger than the original assembly.
The customer’s objective was to generate a lightweight STEP representation of an assembly for downstream workflows. However, the API-generated shrinkwrap did not reduce the model size as expected.
During the investigation, Autodesk Engineering recommended using the ShrinkwrapComponents API, which uses the same simplification engine as the Inventor Simplify command. After validating this recommendation in both Inventor 2024 and Inventor 2026, I observed significantly smaller shrinkwrap IPT and STEP files.
This article explains the observed behavior, compares the two API approaches, and demonstrates why ShrinkwrapComponents is the preferred API for generating lightweight shrinkwrap and STEP files.
Note
The validation presented in this article was performed using a real-world customer assembly.
Since the dataset contains proprietary and confidential design information, the original assembly, generated shrinkwrap IPT, and exported STEP files cannot be shared publicly.
To respect customer confidentiality, this article illustrates the comparison using only the resulting file sizes. Although the sample dataset is not included, the VBA samples provided can be executed against your own Inventor assemblies to reproduce and evaluate the behavior.
The Problem
The initial implementation was based on the official Autodesk sample that uses the DerivedAssemblyComponent API to generate a shrinkwrap substitute.
The expected workflow was straightforward:
- Generate a simplified shrinkwrap IPT.
- Export the shrinkwrap to a STEP file.
- Obtain files that are comparable to, or smaller than, the original assembly.
Instead, the generated IPT and STEP files were significantly larger than expected.
Reproducing the Issue
The behavior was reproduced in both:
- Autodesk Inventor 2024
- Autodesk Inventor 2026
using the official workflow based on the DerivedAssemblyComponent API.
VBA Sample Using DerivedAssemblyComponent
Sub CreateShrinkwrapSubstitute()
' Set a reference to the active assembly document
Dim oDoc As AssemblyDocument
Set oDoc = ThisApplication.ActiveDocument
Dim oDef As AssemblyComponentDefinition
Set oDef = oDoc.ComponentDefinition
' Create a new part document that will be the shrinkwrap substitute
Dim oPartDoc As PartDocument
Set oPartDoc = ThisApplication.Documents.Add(kPartDocumentObject)
Dim oPartDef As PartComponentDefinition
Set oPartDef = oPartDoc.ComponentDefinition
Dim oDerivedAssemblyDef As DerivedAssemblyDefinition
Set oDerivedAssemblyDef = _
oPartDef.ReferenceComponents.DerivedAssemblyComponents.CreateDefinition( _
oDoc.FullDocumentName)
' Configure shrinkwrap options
oDerivedAssemblyDef.DeriveStyle = kDeriveAsSingleBodyNoSeams
oDerivedAssemblyDef.IncludeAllTopLevelWorkFeatures = kDerivedIncludeAll
oDerivedAssemblyDef.IncludeAllTopLevelSketches = kDerivedIncludeAll
oDerivedAssemblyDef.IncludeAllTopLeveliMateDefinitions = kDerivedExcludeAll
oDerivedAssemblyDef.IncludeAllTopLevelParameters = kDerivedExcludeAll
oDerivedAssemblyDef.ReducedMemoryMode = True
Call oDerivedAssemblyDef.SetHolePatchingOptions(kDerivedPatchAll)
Call oDerivedAssemblyDef.SetRemoveByVisibilityOptions( _
kDerivedRemovePartsAndFaces, 25)
' Create the shrinkwrap component
Dim oDerivedAssembly As DerivedAssemblyComponent
Set oDerivedAssembly = _
oPartDef.ReferenceComponents.DerivedAssemblyComponents.Add( _
oDerivedAssemblyDef)
' Save the generated shrinkwrap part
Dim strSubstituteFileName As String
strSubstituteFileName = Left$(oDoc.FullFileName, _
Len(oDoc.FullFileName) - 4)
strSubstituteFileName = strSubstituteFileName & _
"_ShrinkwrapSubstitute.ipt"
ThisApplication.SilentOperation = True
Call oPartDoc.SaveAs(strSubstituteFileName, False)
ThisApplication.SilentOperation = False
End Sub
Results Using DerivedAssemblyComponent API
The above code was executed in both Inventor 2024 and Inventor 2026.
Test Dataset
The file size comparisons shown below were obtained using a confidential customer assembly that is subject to non-disclosure restrictions. Therefore, only the measured file sizes are presented in this article.
Although the actual file sizes will vary depending on assembly complexity, the comparison clearly demonstrates the relative behavior of the two API workflows.
Inventor 2024
| File | Size |
|---|---|
| Original Assembly (.iam) | 3,016 KB |
| Generated Shrinkwrap (.ipt) | 6,864 KB |
| Exported STEP (.stp) | 10,009 KB |
Inventor 2026
| File | Size |
|---|---|
| Original Assembly (.iam) | 2,688 KB |
| Generated Shrinkwrap (.ipt) | 4,608 KB |
| Exported STEP (.stp) | 10,009 KB |
Observation
Although Inventor 2026 reduced the shrinkwrap IPT size compared to Inventor 2024, the generated IPT remained considerably larger than the original assembly. Likewise, the exported STEP file was substantially larger than the source assembly in both versions.
Additional Investigation
Several configuration changes were evaluated to determine whether the output file size could be reduced.
The following options were tested:
ReducedMemoryMode = TruekDeriveAsSingleBodyWithSeamskDeriveAsMultipleBodies- Excluding top-level parameters
RemoveInternalVoids = False- Different STEP Application Protocols (AP203, AP214, and AP242)
- Different STEP export tolerances
- Including and excluding sketches
Despite evaluating these configurations, none produced a meaningful reduction in the generated IPT or STEP file size.
Recommended Alternative: ShrinkwrapComponents
During the investigation, Autodesk Engineering recommended using the ShrinkwrapComponents API instead of the DerivedAssemblyComponent API.
Unlike DerivedAssemblyComponent, the ShrinkwrapComponents API uses the same simplification engine as the Inventor Simplify command, producing results that closely match the interactive workflow.
VBA Sample Using ShrinkwrapComponents
Sub SimplifyActiveDoc()
' Open the active assembly document
Dim asmdoc As AssemblyDocument
Set asmdoc = ThisApplication.ActiveDocument
' Create a new part document
Dim oDoc As PartDocument
Set oDoc = ThisApplication.Documents.Add(kPartDocumentObject)
Dim oDef As PartComponentDefinition
Set oDef = oDoc.ComponentDefinition
' Create the ShrinkwrapComponents object
Dim oShrinkComps As ShrinkwrapComponents
Set oShrinkComps = oDef.ReferenceComponents.ShrinkwrapComponents
' Create the shrinkwrap definition
Dim oShrinkDef As ShrinkwrapDefinition
Set oShrinkDef = _
oShrinkComps.CreateDefinition(asmdoc.FullFileName)
' Configure simplification options
oShrinkDef.RemovePartsBySize = True
oShrinkDef.RemovePartsSize = 30#
oShrinkDef.RemoveInternalParts = True
' Optional simplification settings
'oShrinkDef.RemoveHolesStyle = kShrinkwrapRemoveAll
'oShrinkDef.RemoveFilletsStyle = kShrinkwrapRemoveAll
'oShrinkDef.RemoveChamfersStyle = kShrinkwrapRemoveAll
'oShrinkDef.RemovePocketsStyle = kShrinkwrapRemoveAll
'oShrinkDef.RemoveEmbossesStyle = kShrinkwrapRemoveAll
'oShrinkDef.RemoveTunnelsStyle = kShrinkwrapRemoveAll
' Create the shrinkwrap component
Dim oShrink As ShrinkwrapComponent
Set oShrink = oShrinkComps.Add(oShrinkDef)
' Fit the model in the graphics window
oDoc.Views(1).GoHome
oDoc.Views(1).Fit
' Save the generated shrinkwrap part
Dim strSubstituteFileName As String
strSubstituteFileName = Left$(asmdoc.FullFileName, _
Len(asmdoc.FullFileName) - 4)
strSubstituteFileName = strSubstituteFileName & _
"_ShrinkwrapSubstitute.ipt"
ThisApplication.SilentOperation = True
Call oDoc.SaveAs(strSubstituteFileName, False)
ThisApplication.SilentOperation = False
End Sub
Results Using ShrinkwrapComponent API
The above solution was validated in both Inventor 2024 and Inventor 2026 using the same confidential customer assembly.
Inventor 2024
| File | Size |
|---|---|
| Original Assembly (.iam) | 3,016 KB |
| Generated Shrinkwrap (.ipt) | 3,296 KB |
| Exported STEP (.stp) | 3,894 KB |
Inventor 2026
| File | Size |
|---|---|
| Original Assembly (.iam) | 2,997 KB |
| Generated Shrinkwrap (.ipt) | 2,304 KB |
| Exported STEP (.stp) | 3,894 KB |
Observation
The improvement is significant.
Compared to the DerivedAssemblyComponent workflow:
- The generated shrinkwrap IPT is dramatically smaller.
- In Inventor 2026, the shrinkwrap IPT is even smaller than the original assembly.
- The exported STEP file size is reduced from approximately 10 MB to 3.9 MB.
- The results closely match those obtained using the interactive Simplify command.
Furthermore, enabling the optional simplification settings (RemoveHolesStyle, RemoveFilletsStyle, RemoveChamfersStyle, RemovePocketsStyle, RemoveEmbossesStyle, and RemoveTunnelsStyle) can reduce the output even further, producing results similar to the Medium Simplification preset available in the Inventor UI.
Comparison
| Metric | DerivedAssemblyComponent | ShrinkwrapComponents |
|---|---|---|
| Simplification Engine | Derived Assembly | Inventor Simplify |
| Inventor 2024 IPT | 6,864 KB | 3,296 KB |
| Inventor 2026 IPT | 4,608 KB | 2,304 KB |
| Exported STEP | 10,009 KB | 3,894 KB |
| Matches Inventor Simplify | No | Yes |
| Recommended for Lightweight STEP Generation | No | Yes |
Key Takeaways
- The
DerivedAssemblyComponentAPI does not necessarily produce the same level of simplification as the interactive Simplify command. - Larger shrinkwrap IPT and STEP files can be expected when using the
DerivedAssemblyComponentworkflow. - The
ShrinkwrapComponentsAPI uses the same simplification engine as the Inventor user interface and consistently generates significantly smaller IPT and STEP files. - Additional simplification options (removing holes, fillets, chamfers, pockets, embosses, and tunnels) can further reduce the resulting file size.
- For automated workflows that require lightweight geometry for visualization, collaboration, or downstream manufacturing processes, the
ShrinkwrapComponentsAPI is the preferred solution.
Disclaimer
The file sizes presented in this article were measured using a confidential customer assembly and are provided for comparison purposes only. The original dataset cannot be shared due to customer confidentiality.
Actual file sizes and the degree of simplification will vary depending on assembly complexity, component count, feature types, and the simplification options selected. Nevertheless, the validation performed in Inventor 2024 and Inventor 2026 consistently demonstrated that the ShrinkwrapComponents API produces substantially smaller shrinkwrap IPT and STEP files than the DerivedAssemblyComponent API.
Conclusion
If your objective is to programmatically generate compact shrinkwrap parts or lightweight STEP files, the ShrinkwrapComponents API is the recommended approach over the traditional DerivedAssemblyComponent workflow.
Our validation using a real-world customer assembly in both Inventor 2024 and Inventor 2026 demonstrated that the ShrinkwrapComponents API consistently generates significantly smaller IPT and STEP files while closely matching the behavior of the Inventor Simplify command.
For developers building automated simplification workflows or lightweight data exchange solutions, adopting the ShrinkwrapComponents API can result in substantially improved output sizes and a workflow that is much closer to the Inventor user experience.

Leave a Reply