Вы находитесь на странице: 1из 13

Automating the Design Automation with iLogic

Jon Balgley, Autodesk Inc.

Tolgay Hickiran, Code&Design

Kivanc Kizildemir, Code&Design

IM124972-L This class is about the process of making an assembly model that is built by iLogic codes.
It will demonstrate the steps of automation, and how the iLogic component should be used to reduce
errors of the assemblies. We’re a team of 4 people who almost always work solely on coding, and
we've reached an area where iLogic is fully saturated. In this class, you’ll be able to understand why
you have to rebuild and update your assemblies in order to get your iLogic code working again.
We've found a way—what we believe to be one of the best ways to create an assembly with 500-plus
unique parts. This class is not suitable for beginners, as it will be showing real-life examples of how
our algorithms work their ways around the "non-starting rules." In this lesson you will also learn how
to program your Content Center Libraries with a delicate touch.

Learning Objectives

At the end of this class, you will be able to:

Learn about the process flow of an iLogic-based assembly

Learn about programming the content center

Discover specific rules for specific error handling

Discover advanced level of iLogic techniques

About the Speakers

Tolgay Hickiran is a founding partner of Code&Design Company and he specializes on problem solving.
He is a System Enthusiast, 3rd party programmer, Industrial Engineer, Improvement Leader. Tolgay
finished his bachelor as an Industrial Systems Engineer and did his double major on Business
Administration at Izmir University of Economics Turkey. Then he went on doing his MSc in the UK at
King's College London. He loves to eliminate waste from processes and works to optimize office
productivity. He currently managed Autodesk Vault at Electron. Tolgay and his colleagues were invited
to AUX Istanbul 2016 and AU Istanbul 2017 to give a presentation about Design Automation. Autodesk
Turkey made their success story as they've managed to use iLogic extensively.

Kivanc Kizildemir

Mechanical Engineer, CAD&CAE Specialist, Vibration Monitoring & Data Analysis Researcher, Design
Automation Visionary. Kivanc has a bachelor's degree from Izmir Dokuz Eylul University, Turkey. He
has work experience in underground mining vehicles, military topics, weighing automation systems,
powder transfer systems and powder coating technologies as CAD&CAE Engineer and Project&Design
Manager. Kivanc was one of the co-speakers at AUx 2016 and AU 2017 Design Automation sessions in
Istanbul. Now, he coleads design automation topics at Code&Design Company as co-founder, and also
studies about development of a vibration monitoring device at Izmir Institute of Technology.

Introduction

In the recent years automating the physical world has become the world standard. Whether it
is automating a production line or just a queuing system, people started to understand that the time
can be consumed more valuably. We have spent a good amount of time in the third dimension and
understood that time is the most precious thing in the universe.

So the questions pops in the head, “Why aren’t we using automation in design?”. There’s this
thing called “iLogic” in the design software. Could we save some time ( a lot of time ) from our
repetitive tasks ( and even some non repetitive ones ) ?

This class has the breadcrumbs of what’s to come if you want to automate your design work.
ILogic is a very strong tool when it comes to create flexible designs. We have experienced a good
amount of time saving ( from 45 hours to 4 to be precise ) with iLogic driven assemblies and some
more with Inventor/Vault APIs.

In this class, we are going to show you how a real life item, handrails of a mobile platform. You
will learn where to start when designing an assembly with automation, how to create an UI to control
the assembly, how to check whether your rules are fired or not and how to use the parameters of a
part as reference.

The workflow
This form is created with Project Praxis, you can also check it out at: http://autode.sk/2hd9dI2

So in our first example we are going to show you how you should create a reference part. This
reference part will be a keystone for the entire assembly.

Lets see our model first


We have four sides in the handrail assembly. FloorConnectionPatternA , B , C and D. Inside these
patterns there are FloorConnectionA and B subassemblies. We have the HandRaid, Mid Raid and Top
Rail assemblies which makes us a total of 9 subassemblies Take your time to observe the model.

You will notice that there is a folder with a frame assembly, and this is created because we have used
frame generator while generating the model.

Part 1 Creating a reference Part

The reference part is going to sit on the 1. Level assembly, so on your screens, please create a part
and name it “Reference.ipt”. Open the Fx parameters. Since we are creating a mobile platform we
will need four crucial parameters

• Platform Length
• Platform Width
• Handrail Height
• Platform Height

In our example the Platform height parameter is inactive and the other three parameters are active
parameters ( you can always check the finished model and see how the parameters are given on the
reference part ).

Write the HeightHandrailRef and LengthPlatformRef parameters to your Fx parameters.

Make sure that your Reference.ipt is on the first level assembly.

Part 2 Parameter Linking

Please observe the part “SkeletonA.ipt” inside the FloorConnectionA.iam. This part helps creating the
frame in the assembly. We have a sketch inside and now we are going to link our parameters to this
sketch.
Open SkeletonA in FloorConnectionA.iam. Open Fx parameters.

Click Link. Select file type as “Inventor Files”. Find the “Reference.ipt”

and get the “WidthPlatformReference” and “LengthPlatformReference” and click ok.

So now you have linked your parameters to the reference part. In the future, If you try to link a
parameter from an assembly, you are going to get a cyclic dependency error on your screen. That’s
why we are using this “Reference.ipt” method and use the parameter linking between the parts in
our assemblies.

Open the sketch of “SkeletonA.ipt”. You will see two dimensions in the sketch.

BendRadiusA and d0. We are not going to manipulate BendRadiusA but you can do it on your own
after the class. Edit d0 paramater. This part has an 8mm floor connection flange and a top rail radius
of 42,4 / 2 mm. So we will type [HeightHandrailRef -8mm – (42,4mm/2)] and press enter. Now
SkeletonA.ipt is properly linked with our reference part. Close the part.

Please observe the part “SkeletonC.ipt” inside the TopRail.iam. This part helps creating the frame in
the assembly. We have a sketch inside and now we are going to link our parameters to this sketch.

Open SkeletonC in TopRail.iam. There are also two dimensions that we have to use the linked
parameters to, d1 and d3 parameters. Use d1 as the length and use d3 as the width. D1 =
LengthPlatformRef – 42,4mm and d3= WidthPlatformRef-42,4mm. The difference from SkeletonA’s
parameters is that the rail diameter should be considered as full in SkeletonC since we are using the
railing on two sides of the sketch.
Part 3 Rule Creation

There are two types of rule creations, one is the “Main Assembly Rule” and the other one is the “Sub
Assembly Rule”.

We will create the a small portion of the Main Assembly Rule here.

Open the main assembly and go to iLogic > Rules. Right click on the “Main Function” rule and
open(edit) it.

We will link our form parameter to the relevant parameter. It is as easy as clicking of a button ( or
you can type it down aswell)

Find the Sub MapParameter() subroutine. Click on the Reference:1 and click the user
parameters.

To link your first parameter, double click WidthPlatformRef. The code will be created down on the
ilogic rule.
And now we will link it to our main assembly parameter. Go to the user parameters under the main
assembly. Double Click the WidthPlatform. You need to use the “=” equal sign to link them together.
Do the exact same process for the Length parameter aswell. In the end it looks like this.

Now we will see how to deal with the possible problems with rule firing.

We have 4 rules to check, so we will create an integer to make a recursive function.


Dim t As Integer

Create an array of 4 string and name it “assm”

Dim assm (3) As String

assm(0) = "FloorConnectionPatternA:1"
assm(1) = "FloorConnectionPatternB:1"
assm(2) = "FloorConnectionPatternC:1"
assm(3) = "FloorConnectionPatternD:1"

Now that you created the 4 necessary rule check strings.

Part 4 Form Design

Open the main assembly “Mobile Platform.iam”. Go to “forms” and right click to create a form. On
this screen you will see the relevant references. You will create the entire form. First a couple of
examples here. Some of the parameters are just “check” parameters so these parameters will be
“read-only”. Other parameters are going to be main parameters and these would be changed.
On the left hand side of the screen, you will see Group, Tab, Picture, Picture Tab etc. These items
help you create the best form that fits your design.

Our form will be very simple. Here is the sample form.

As you can see there are 2 tabs namely “Parameter Control” and “Rule Status” and each tab has
different elements.

Parameter Control has:

• Platform Length
• Platform Width
• Platform Height
• Handrail Height

All these parameters are the “main parameters”.

Rule Status also has 4 parameters and these are:


• Floor Connection Pattern A
• Floor Connection Pattern B
• Floor Connection Pattern C
• Floor Connection Pattern D

Which are the “check parameters” and all “greyed out”. These check if our subroutines worked as
intended or not. If one of the subroutines somehow does not work, then these parameters will help
us see which rule did not fire.

To be able to create the form. Get 2 “tab group”s and drag them to the right side.

Name them according to the example “Parameter Control” and “Rule Status”.

Now we will be filling the tabs with our parameters.

Drag and drop the relevant parameters to the relevant group. It should look like this.
You can now also check r1.wmv in your recordings to see this procedure.

As you can see there should be greyed out parameters in one of the tabs. To make a parameter read
only, Select the parameter and on the bottom tab, you are going to see the relevant row. Change it
“Read only” to true.

You can change the label of the parameter, the font, font size etc from this screen. You’ll find the
entire model in your files aswell so feel free to check the entire code/form in the given data.
Also as future work, you can put images to your form and make your forms visually better. A smart
thing to do is to put a 2d/3d drawing and show your crucial parameters on the image to give your
employees an idea of what’s going to change in your assemblies when you change the parameters.

Вам также может понравиться