Derived Part does not update properly when changing parameters through iLogic
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
I occasionally have an issue where derived features don't update, even though the part I'm deriving from is updated. When I click "Edit Derived Part", it automatically updates.
This causes a lot of problems in large assemblies, since it's not obvious what has gone wrong.
Example (find files in attachment):
- DeriveUpdate_Base.ipt: Contains two parameters: Length & Width.
- DeriveUpdate_Derive1.ipt: Links Length & Width in Parameters from DeriveUpdate_Base.ipt and uses these parameters to offset two work planes.
- DeriveUpdate_Derive2.ipt: Derives the planes from DeriveUpdate_Derive1.ipt and uses them in a sketch to extrude a cuboid.
- DeriveUpdate_Assy.iam: Contains the components DeriveUpdate_Base.ipt ("BaseComponent") & DeriveUpdate_Derive2.ipt, and some iLogic code to change Length & Width in DeriveUpdate_Base.ipt.
The code in DeriveUpdate_Assy.iam:
Parameter("BaseComponent", "Width") = Width
Parameter("BaseComponent", "Length") = Length
InventorVb.DocumentUpdate()
When I run this code, following happens:
- DeriveUpdate_Base.ipt: Length & Width get updated properly.
- DeriveUpdate_Derive1.ipt: The work planes get updated properly.
- DeriveUpdate_Derive2.ipt: The derived planes from DeriveUpdate_Derive1.ipt are not updated, so the extrusion is not updated.
If I click on "Edit Derived Part" in DeriveUpdate_Derive2.ipt it instantly updates the derived planes correctly.
If I change Length & Width manually in User Parameters inside DeriveUpdate_Base.ipt, everything is always updated correctly. The issue only occurs when modifying the parameters through iLogic.
How do I fix this? Is there simply an Inventor setting that will solve it? Is there some way to force the Derived Part feature to update from code?
Help is greatly appreciated!
We're currently on Inventor 2021.4.1. We'll soon update to 2023, but my testing showed that this issue exists there as well.