OK so I got my first working iAssembly. I'm very happy about this. It's a roller conveyor and I used parameters and iParts to create different assemblies. I have different widths, lengths and height for my roller conveyors.
I got to thinking that I could use rules to simplify things. For example, I would like to create a rule that selects the number of rollers based on the length of the conveyor. I thought the easiest way to do this would be to look at the part number for the rails to determine the length and then set the number of rollers accordingly.
So - my rail is an iPart shown below as either 36in LG conveyor:1 or 120in LG conveyor:1. I first noticed that I could successfully change the number of rollers with the first two lines of code (and an endif). That was cool. So I thought, how about an ElseIf? So I added the next 2 lines of code. The problem is that if I swap out the 36in for the 120in, Inventor doesn't see the 36in piece so it errors out (see error below the code). What should I do in this situation?
If Component.IsActive("36in LG conveyor:1") = True Then Parameter("no_of_rollers") = 12 ul ElseIf Component.IsActive("120in LG conveyor:1") = True Then Parameter("no_of_rollers") = 36 ul End If
Error in rule: No_of_Rollers, in document: conveyor bed.iam
Component: The component named "36in LG conveyor:1" was not found.
Are you using an iLogic rule to select different iPart configurations (different conveyor lengths)? Or are you selecting different lengths manually?
DLS - Mechanical Design