I am currently working on a parametric assembly using i Logic to control the size of the components as well as patterns. However, I have hit a road block in trying to figure out how to write a rule for resizing the last roof sheet in this assembly pictured below to be even with the frame. The rule below is what controls the roof sheet pattern based on the frame length. The problem I am continually running into is how do you modify a part which is in an element within the pattern without having it affect the rest of the parts in the pattern since they all refer to part. I will appreciate any help I can get since it is hard to find information on i Logic.
Roof_Pattern_Spacing = Roof_Sheet_Width
(Note: The red line symbolizes where I would like to have the roof sheet end.)
Solved! Go to Solution.
I started working on something like this a couple of years ago. Attached is the example I had on hand, but I don't really recall what all is going on in the rules. But I thought you might get a hint from this.
I just had another look at this and cleaned the attached example files up a bit so it is more straight forward. The code is pretty basic so it should be easy to figure out.
I hope this helps.
Did you find this reply helpful ? If so please use the Accept as Solution or Kudos button below.
The solution was a little simpler than I first thought. All I needed to do is to add another roof sheet with a different part number, then add parameters and write a rule, shown below, to fill in the gap. Thank you for your help.
Fill_Length = Length - (Roof_Pattern_Count * Roof_Sheet_Width)
If Fill_Length <= 0 Then
Component.IsActive("Sheet Metal Roof Section config:1") = False
Component.IsActive("Sheet Metal Roof Section config:1") = True
Parameter("Sheet Metal Roof Section config:1", "Roof_Sheet_Width_Fill") = Fill_Length
iLogicVb.UpdateWhenDone = True