Inventor General Discussion

Posts: 3
Registered: ‎01-22-2013
Message 1 of 3 (253 Views)
Accepted Solution

i Logic- Assembly Pattern

253 Views, 2 Replies
01-28-2013 10:01 AM

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.


Thank You,


Ben K



Roof_Pattern_Spacing = Roof_Sheet_Width
Roof_Pattern_Count=Ceil(Parameter("Length")/Parameter("Sheet Metal Roof Section:1", "Roof_Sheet_Width"))


(Note: The red line symbolizes where I would like to have the roof sheet end.)


Frame with Roof 2.JPG

*Expert Elite*
Posts: 2,815
Registered: ‎03-08-2006
Message 2 of 3 (229 Views)

Re: i Logic- Assembly Pattern

01-28-2013 01:07 PM in reply to: kirchnerb


Hi kirchnerb,


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.


Here's a quick video of this example in action:


I hope this helps.
Best of luck to you in all of your Inventor pursuits,


  solution.png  Did you find this reply helpful ? If so please use the Accept as Solution or  Kudos button below.

Posts: 3
Registered: ‎01-22-2013
Message 3 of 3 (207 Views)

Re: i Logic- Assembly Pattern

01-28-2013 02:24 PM in reply to: Curtis_Waguespack

Thanks Curtis,


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.


Ben K


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

End If
iLogicVb.UpdateWhenDone = True


Complete Roof.jpg

You are not logged in.

Log into access your profile, ask and answer questions, share ideas and more. Haven't signed up yet? Register

Are you familiar with the Autodesk Expert Elites? The Expert Elite program is made up of customers that help other customers by sharing knowledge and exemplifying an engaging style of collaboration. To learn more, please visit our Expert Elite website.

Need installation help?

Start with some of our most frequented solutions to get help installing your software.

Ask the Community

Inventor Exchange Apps

Created by the community for the community, Autodesk Exchange Apps for Autodesk Inventor helps you achieve greater speed, accuracy, and automation from concept to manufacturing.

Connect with Inventor