My question is regarding the proper workflow within Inventor. We are currently using 2013 Pro.
I am trying to develop an Assembly that will take linked excel values and have the assembly repond to the user's input. This spreadsheet is to be general in form and is to be re-used for different projects. Right now, the excel values are linked to a master assembly file. This master file has a few iLogic rules to handle the user's input and to pass particular parameter values to the iAssemblies (read sub-assemblies). The iAssemblies are not that complex, but they are taking parameter values from the master, and using iLogic within the isub-assembly to choose the iAssembly member based on the parameter value.
Problem one:
There seems to be a problem with changing the iAssembly member. I have stabilized the iAssembly within the master Assembly. The isub-assembly does not update unless I open the isub-assembly file. In both the isub-assembly and the master assembly, I update at the end of each rule, and I trigger the rules after any parameter change.
The questions are:
Since there are 123 members (so far) in each of the 2 iAssemblies within the Master Assembly, do I really have to test the parameter 123 times to assign a particular iAssembly member? Or is there a more concise way to do this?
We are not using Vault yet, but with described workflow, will we have problems when we do migrate to a vault environment?
Thanks for any help with this.
Hi,
Changing/selecting the Iassembly member based on a parameter value is something that i use frequently and it works well. Can you post your ilogic code?
Hello,
Thanks for replying. I have included some code (below) on how I change the iPart member from the master assembly. There are currently two issues I have with this workflow.
1. This iAssembly has 123 members and that number will increase. Is there more concise code or is there a possible work-around? I ask this because it seems inefficient and the master assembly has more than one iAssembly.
2. When we go to a vault environment, will there be an issue with this workflow? My concern is with the same member being "called" at the same time.
These iAssemblies are standard components used in custom configurations. I like this workflow (except for all of the code), because any pre-existing idw's can be called into the package. I am also looking into using iLogic components but do not know enough yet.
Thanks for the help.
To change iAssembly members you need to use iAssembly.ChangeRow not iPart.ChangeRow
To make your code a little more concise you could use the Case function like so
Select Case BF
Case 12.625
iAssembly.ChangeRow("Return_Roller:1", "93067DM_12625")
Case 14.625
iAssembly.ChangeRow("Return_Roller:1", "93067DM_14625")
Case 20.625
End Select
Whoops.
It has been working, but probably for the wrong reasons. I will try the case. Thanks.
I am still on the fence whether or not to use the iLogic components.