- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
TLDR: Is there a way to make an assembly choose from existing iParts or create new iParts from an iPart factory based on parameters set within that assembly?
I am attempting to create an assembly factory which chooses component parts of the right (specified) length, or if they don't already exist, to create new ones accordingly. In this instance, one of the component parts is a rod of variable length. Several lengths of rod have already been created to choose from, but there are an indefinite number of possible variations. For this reason, I have made a custom iPart with its length as the defining variable between its different versions. This allows new variations to be created as necessary.
I would like a parameter in the assembly to drive which rod is selected out of the existing set, or to create a new one if necessary.
One option already explored was to have the rod be a normal part, and simply have an iLogic rule in the assembly set the rod length to a user-specified parameter. The problem with this is that the part is then the same length for all assemblies, which breaks all but the most recent assembly. The rod component was made into an iPart to avoid this problem, but now every instance of the part would have to be placed in each new assembly by hand, which is impractical given the large number of these parts on the real assembly. I would like to do this same kind of thing, except with iParts from a factory.
Should I make this an iAssembly? How could parameters drive part selection in this way? Is there any mechanism which would allow for such an 'assembly factory'? Let me know if you need more information. I'm just getting started learning iLogic and configurators, so any solutions, suggestions, or comments you may have are greatly appreciated. Thanks.
Images of an example part and assembly are attached below.
Rod iPart. Note length is the differentiating variable:
Assembly. Would like the 'value' column on the right to take a variable, rather than a fixed number.
Solved! Go to Solution.