iPart constrains with iLogic
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
I was helping someone with a configurator and this question came up.
Short version:
- iPart member files can not be given named entities
- named entities in the factory iPart don't derive into the iPart members
- the iLogic constraints involving iPart members use proxy objects that are specific to the assembly from which they were created, and differ from other assemblies involving the same ipart files
So how do we create iLogic constraints in external rules that can be used in different assemblies, for the same iparts?
Long version:
See attached 2022 zip file with examples
I have an iPart factory with named Edges as shown
I use this iPart and place members of it in an assembly, constrain them using the named edges, and then extract the code using Capture Current State as shown here:
This is the resulting line of code. It uses Proxy edges rather than the named edges as specified in the ipart Factory
Constraints.AddInsert("Insert:1", "Test100-01:1", "Proxy:Edge0", "Test100-01:2", "Proxy:Edge1", axesOpposed := True)
This line works fine in the original assembly, or in a derivative of it. But if I use this in an external rule, it does not work in other assemblies using the same ipart files, because the proxy object collection if specific to each assembly, so it generates an error as shown: