<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: automate code in Inventor Programming - iLogic, Macros, AddIns &amp; Apprentice</title>
    <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/automate-code/m-p/6963830#M71047</link>
    <description>&lt;P&gt;first of all thanks for you're repsonse.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;FONT color="#FF0000"&gt;1) Wh&lt;/FONT&gt;&lt;FONT color="#FF0000"&gt;at are you trying to calculate?&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;I try to calculate the angle between 2 points that intersect with an edge and a plane ( that moves back and forward)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#FF0000"&gt;&lt;STRONG&gt;2) What for?&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000000"&gt;For my thesis i have to make a postprocessor for a lasercladder and they want to be able to laserclad figures like a square on a round object but such a postprocessor costs a lot of money thus they want me to try and make one.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#FF0000"&gt;&lt;STRONG&gt;3) How are the points attached to the plane (or whatever the gray object is, sheet metal maybe?)?&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;the points are actually made by an intersection of that plane and i measure the distance of that point to the origin and thats my x-coordinate.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#FF0000"&gt;&lt;STRONG&gt;4) "X_Afstand_1_Ruit"... are the parameters the values come from, right?&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000000"&gt;Yes the values come from the paramter X_afstand_1_Ruit...&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#FF0000"&gt;&lt;STRONG&gt;5) How are you triggering / running this rule?&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;i should be triggerd by a true or false paramete lik start = true and then the code runs. Thats my idea.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I made some changes do the code would read easier and is smaller like u said.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Wrote also my comments in english and changed some parameter names to englisch.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;But i didn't understand what you ment whit:&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;&lt;FONT color="#0000FF"&gt;&lt;STRONG&gt;'Wrong:&lt;/STRONG&gt;&lt;/FONT&gt;&lt;BR /&gt;Afstand_tot_center_Ruit = 0.5&lt;BR /&gt;&lt;/SPAN&gt;&lt;FONT color="#0000FF"&gt;&lt;STRONG&gt;'Right&lt;/STRONG&gt;&lt;/FONT&gt;&lt;BR /&gt;Dim dToCenter As Double = 0.5&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;SyntaxEditor Code Snippet&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE&gt;SyntaxEditor Code Snippet&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;Start&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;True&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt; 

&lt;SPAN&gt;While&lt;/SPAN&gt; &lt;SPAN&gt;Distance_to_center&lt;/SPAN&gt; &lt;SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN&gt;5&lt;/SPAN&gt;            &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;This is the distance that the plane can travel to so max 5mm&lt;/SPAN&gt;
                                    &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;So when ever this value changes the values in MyArrayList should change with it.&lt;/SPAN&gt;
                                    &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;To the values that belong to then new values of the new intersection&lt;/SPAN&gt;

&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;MyArrayList&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;3&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Double&lt;/SPAN&gt;        &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;Here i define my values as double it accepts decimals.                &lt;/SPAN&gt;
&lt;SPAN&gt;MyArrayList&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;0&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;X_Afstand_1_Ruit&lt;/SPAN&gt;
&lt;SPAN&gt;MyArrayList&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;X_Afstand_2_Ruit&lt;/SPAN&gt;
&lt;SPAN&gt;MyArrayList&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;2&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;X_Afstand_3_Ruit&lt;/SPAN&gt;
&lt;SPAN&gt;MyArrayList&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;3&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;X_Afstand_4_Ruit&lt;/SPAN&gt;
 
&lt;SPAN&gt;Array&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;Sort&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;MyArrayList&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;                                
&lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;Each&lt;/SPAN&gt; &lt;SPAN&gt;Str&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Double&lt;/SPAN&gt; &lt;SPAN&gt;In&lt;/SPAN&gt; &lt;SPAN&gt;MyArrayList&lt;/SPAN&gt;
   
&lt;SPAN&gt;Next&lt;/SPAN&gt; 
&lt;SPAN&gt;MessageBox&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;Show&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;MyArrayList&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;Co�rdinate left&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;        
&lt;SPAN&gt;MessageBox&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;Show&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;MyArrayList&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;2&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;Co�rdinate right&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;    


&lt;SPAN&gt;B1&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;Abs&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;MyArrayList&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;))&lt;/SPAN&gt; &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;X-Coordinate left side&lt;/SPAN&gt;
&lt;SPAN&gt;H1&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;Abs&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;MyArrayList&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;2&lt;/SPAN&gt;&lt;SPAN&gt;))&lt;/SPAN&gt; &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;X-Coordinate right side&lt;/SPAN&gt;

&lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;I want to calculate the angle between MyArrayList(1)and MyArrayList(2) and i do that with triangulation.&lt;/SPAN&gt;&lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;Formula Sin(alpha)=MyArrayList(1)/((Diameter/2)+Layerthicknes)&lt;/SPAN&gt;
&lt;SPAN&gt;A1&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;((&lt;/SPAN&gt;&lt;SPAN&gt;Diameter&lt;/SPAN&gt;&lt;SPAN&gt;/&lt;/SPAN&gt;&lt;SPAN&gt;2&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;SPAN&gt;+&lt;/SPAN&gt;&lt;SPAN&gt;Layerthicknes&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;
&lt;SPAN&gt;I1&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;B1&lt;/SPAN&gt;&lt;SPAN&gt;/&lt;/SPAN&gt;&lt;SPAN&gt;A1&lt;/SPAN&gt;                                                
&lt;SPAN&gt;J1&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;Asin&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;I1&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;                                                 
&lt;SPAN&gt;K1&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;J1&lt;/SPAN&gt;&lt;SPAN&gt;*&lt;/SPAN&gt;&lt;SPAN&gt;180&lt;/SPAN&gt;                                                
&lt;SPAN&gt;L1&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;K1&lt;/SPAN&gt;&lt;SPAN&gt;/&lt;/SPAN&gt;&lt;SPAN&gt;3.1415&lt;/SPAN&gt;                                            
&lt;SPAN&gt;M1&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;H1&lt;/SPAN&gt;&lt;SPAN&gt;/&lt;/SPAN&gt;&lt;SPAN&gt;A1&lt;/SPAN&gt;
&lt;SPAN&gt;N1&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;Asin&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;M1&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;
&lt;SPAN&gt;O1&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;N1&lt;/SPAN&gt;&lt;SPAN&gt;*&lt;/SPAN&gt;&lt;SPAN&gt;180&lt;/SPAN&gt;
&lt;SPAN&gt;P1&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;O1&lt;/SPAN&gt;&lt;SPAN&gt;/&lt;/SPAN&gt;&lt;SPAN&gt;3.1415&lt;/SPAN&gt;
&lt;SPAN&gt;Q1&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;P1&lt;/SPAN&gt;&lt;SPAN&gt;+&lt;/SPAN&gt;&lt;SPAN&gt;L1&lt;/SPAN&gt;
&lt;SPAN&gt;MessageBox&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;Show&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;Q1&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;angle&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;            
&lt;SPAN&gt;Distance_to_center&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;Distance_to_center&lt;/SPAN&gt;&lt;SPAN&gt;+&lt;/SPAN&gt;&lt;SPAN&gt;0.5&lt;/SPAN&gt; &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;This should add 0.5mm to the planes distance.&lt;/SPAN&gt;&lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;My idea is when it adds 0.5mm to Distance_to_center the code would run again but with the new values of the new intersection&lt;/SPAN&gt;&lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;it made&lt;/SPAN&gt;
&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;While&lt;/SPAN&gt;
&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Wed, 22 Mar 2017 10:07:33 GMT</pubDate>
    <dc:creator>Anonymous</dc:creator>
    <dc:date>2017-03-22T10:07:33Z</dc:date>
    <item>
      <title>automate code</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/automate-code/m-p/6963621#M71042</link>
      <description>&lt;P&gt;Hi folks,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have some code with an array whose values changes with the movement of a plane.&lt;/P&gt;&lt;P&gt;SyntaxEditor Code Snippet&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;Start&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;True&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt; 
&lt;SPAN&gt;InventorVb&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;DocumentUpdate&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;True&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;
&lt;SPAN&gt;While&lt;/SPAN&gt; &lt;SPAN&gt;Afstand_tot_center_Ruit&lt;/SPAN&gt; &lt;SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN&gt;5&lt;/SPAN&gt;

&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;MyArrayList&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;3&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Double&lt;/SPAN&gt;                            &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;Hier maak je een lijstje aan met de waarden van je parameter.&lt;/SPAN&gt;
&lt;SPAN&gt;MyArrayList&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;0&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;X_Afstand_1_Ruit&lt;/SPAN&gt;
&lt;SPAN&gt;MyArrayList&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;X_Afstand_2_Ruit&lt;/SPAN&gt;
&lt;SPAN&gt;MyArrayList&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;2&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;X_Afstand_3_Ruit&lt;/SPAN&gt;
&lt;SPAN&gt;MyArrayList&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;3&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;X_Afstand_4_Ruit&lt;/SPAN&gt;
 
&lt;SPAN&gt;Array&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;Sort&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;MyArrayList&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;                                    &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;Hier sorteer je het lijstje dat je hebt aangemaakt van klein naar groot.&lt;/SPAN&gt;
&lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;Each&lt;/SPAN&gt; &lt;SPAN&gt;Str&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Double&lt;/SPAN&gt; &lt;SPAN&gt;In&lt;/SPAN&gt; &lt;SPAN&gt;MyArrayList&lt;/SPAN&gt;
   
&lt;SPAN&gt;Next&lt;/SPAN&gt; 
&lt;SPAN&gt;MessageBox&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;Show&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;MyArrayList&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;Co�rdinaat links&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;        &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;Hier wordt het linker X-co�rdinaat getoont in een venstertje.&lt;/SPAN&gt;
&lt;SPAN&gt;MessageBox&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;Show&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;MyArrayList&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;2&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;Co�rdinaat rechts&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;    &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;Hier wordt het rechter X-co�rdinaat getoont in een venstertje.&lt;/SPAN&gt;


&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;MyArrayList&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN&gt;0&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;                                &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;Hier zorg je ervoor dat wanneer de waard op plaats MyArrayList(1) negatief is dus kleiner dan 0, hij positief wordt door te vermenigvuldigen met -1.                            &lt;/SPAN&gt;
    &lt;SPAN&gt;B1&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;MyArrayList&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt; &lt;SPAN&gt;*-&lt;/SPAN&gt;&lt;SPAN&gt;1&lt;/SPAN&gt;
&lt;SPAN&gt;Else&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;MyArrayList&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt; &lt;SPAN&gt;&amp;gt;=&lt;/SPAN&gt;&lt;SPAN&gt;0&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
    &lt;SPAN&gt;B1&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;MyArrayList&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;SPAN&gt;*&lt;/SPAN&gt;&lt;SPAN&gt;1&lt;/SPAN&gt;

&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;

&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;MyArrayList&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;2&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN&gt;0&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;                                &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;Hier zorg je ervoor dat wanneer de waard op plaats MyArrayList(2) negatief is dus kleiner dan 0, hij positief wordt door te vermenigvuldigen met -1.                            &lt;/SPAN&gt;
    &lt;SPAN&gt;H1&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;MyArrayList&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;2&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt; &lt;SPAN&gt;*-&lt;/SPAN&gt;&lt;SPAN&gt;1&lt;/SPAN&gt;
&lt;SPAN&gt;Else&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;MyArrayList&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;2&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt; &lt;SPAN&gt;&amp;gt;=&lt;/SPAN&gt; &lt;SPAN&gt;0&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
    &lt;SPAN&gt;H1&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;MyArrayList&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;2&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;SPAN&gt;*&lt;/SPAN&gt;&lt;SPAN&gt;1&lt;/SPAN&gt;

&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;


&lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;Bereken van de hoek " formule Sin(alpha)= X/(straal+laagdikte).&lt;/SPAN&gt;

&lt;SPAN&gt;A1&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;((&lt;/SPAN&gt;&lt;SPAN&gt;Binnen_diameter_Ruit&lt;/SPAN&gt;&lt;SPAN&gt;/&lt;/SPAN&gt;&lt;SPAN&gt;2&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;SPAN&gt;+&lt;/SPAN&gt;&lt;SPAN&gt;Laagdikte_Ruit&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;
&lt;SPAN&gt;I1&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;B1&lt;/SPAN&gt;&lt;SPAN&gt;/&lt;/SPAN&gt;&lt;SPAN&gt;A1&lt;/SPAN&gt;                                                &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;Hier deel je de X-waarde door de de straal + laagdikte.&lt;/SPAN&gt;
&lt;SPAN&gt;J1&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;Asin&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;I1&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;                                                &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;Hier neem je de Boogsinus van de X-waarde gedeeld door de straal + laagdikte.&lt;/SPAN&gt;
&lt;SPAN&gt;K1&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;J1&lt;/SPAN&gt;&lt;SPAN&gt;*&lt;/SPAN&gt;&lt;SPAN&gt;180&lt;/SPAN&gt;                                                
&lt;SPAN&gt;L1&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;K1&lt;/SPAN&gt;&lt;SPAN&gt;/&lt;/SPAN&gt;&lt;SPAN&gt;3.1415&lt;/SPAN&gt;                                            &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;De uitkomst wordt maal 180 en gedeeld door Pi om van radialen naar graden te gaan.&lt;/SPAN&gt;
&lt;SPAN&gt;M1&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;H1&lt;/SPAN&gt;&lt;SPAN&gt;/&lt;/SPAN&gt;&lt;SPAN&gt;A1&lt;/SPAN&gt;
&lt;SPAN&gt;N1&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;Asin&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;M1&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;
&lt;SPAN&gt;O1&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;N1&lt;/SPAN&gt;&lt;SPAN&gt;*&lt;/SPAN&gt;&lt;SPAN&gt;180&lt;/SPAN&gt;
&lt;SPAN&gt;P1&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;O1&lt;/SPAN&gt;&lt;SPAN&gt;/&lt;/SPAN&gt;&lt;SPAN&gt;3.1415&lt;/SPAN&gt;
&lt;SPAN&gt;Q1&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;P1&lt;/SPAN&gt;&lt;SPAN&gt;+&lt;/SPAN&gt;&lt;SPAN&gt;L1&lt;/SPAN&gt;
&lt;SPAN&gt;MessageBox&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;Show&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;Q1&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;hoek&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;            &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;De hoeken van de 2 X-waardes wordt samengeteld&lt;/SPAN&gt;

&lt;SPAN&gt;Afstand_tot_center_Ruit&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;Afstand_tot_center_Ruit&lt;/SPAN&gt;&lt;SPAN&gt;+&lt;/SPAN&gt;&lt;SPAN&gt;0.5&lt;/SPAN&gt;
&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;While&lt;/SPAN&gt;
&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;Afstand_tot_center_Ruit is the parameter of the plane that moves.&lt;/P&gt;&lt;P&gt;now when it moves 1mm the values in my array have to change with the movement of the plane but i can't get it work.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I tried a while loop so when the &amp;nbsp;Afstand_tot_center_Ruit is smaller then 5mm it would run the code and each time it has looped trought it. It would add 0.5 mm to the Afstand_tot_center_Ruit and then run the code again. But my problem here is that the values of my array do'nt change they stay the same until Afstand_tot_center_Ruit is equal to 5mm.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Can someone help me ?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;thanks in advance&lt;/P&gt;</description>
      <pubDate>Wed, 22 Mar 2017 08:27:09 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-ilogic/automate-code/m-p/6963621#M71042</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2017-03-22T08:27:09Z</dc:date>
    </item>
    <item>
      <title>Re: automate code</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/automate-code/m-p/6963719#M71044</link>
      <description>&lt;P&gt;Hey. This whole idea stinks to me, so I'd like to dig into it a bit, if you don't mind:&lt;/P&gt;
&lt;P&gt;1) What are you trying to calculate?&lt;/P&gt;
&lt;P&gt;2) What for?&lt;/P&gt;
&lt;P&gt;3) How are the points attached to the plane (or whatever the gray object is, sheet metal maybe?)?&lt;/P&gt;
&lt;P&gt;4) "&lt;SPAN&gt;X_Afstand_1_Ruit"... are the parameters the values come from, right?&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;5) How are you triggering / running this rule?&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This (*1*):&lt;/P&gt;
&lt;PRE&gt;&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;MyArrayList&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN&gt;0&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
    &lt;SPAN&gt;B1&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;MyArrayList&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt; &lt;SPAN&gt;*-&lt;/SPAN&gt;&lt;SPAN&gt;1&lt;/SPAN&gt;
&lt;SPAN&gt;Else&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;MyArrayList&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt; &lt;SPAN&gt;&amp;gt;=&lt;/SPAN&gt;&lt;SPAN&gt;0&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
    &lt;SPAN&gt;B1&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;MyArrayList&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;SPAN&gt;*&lt;/SPAN&gt;&lt;SPAN&gt;1&lt;/SPAN&gt;
&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;P&gt;Is the same as this (*2*):&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;B1 = Abs(MyArrayList(1))&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Shorten your code wherever you can, for the sake of readability.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Read the last line of my signature. You're from Ieper, Belgium, right?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Few tips:&lt;/P&gt;
&lt;P&gt;A)&amp;nbsp;If you want to write some comments in the code, write them like this below. The text should fit in your screen without the need to scroll to the side.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;FONT color="#0000FF"&gt;&lt;STRONG&gt;'Some very long comment which really can't fit to one row, 
'so we have to split it to two&lt;/STRONG&gt;&lt;/FONT&gt;
Dim A As Integer = 1 &lt;FONT color="#0000FF"&gt;&lt;STRONG&gt;'This is the place for short notes&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/PRE&gt;
&lt;P&gt;B) Use declarations, so you can see right away what object type you're working with.&lt;/P&gt;
&lt;P&gt;You can also use the first letter of the type as a prefix for the variable ("i" for Integer, "d" for Double, ...)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;Dim iNumber As Integer = -1 &lt;FONT color="#0000FF"&gt;&lt;STRONG&gt;'Accepts whole numbers only&lt;/STRONG&gt;&lt;/FONT&gt;
Dim dNumber As Double = 0.5 &lt;FONT color="#0000FF"&gt;&lt;STRONG&gt;'Accepts decimals&lt;/STRONG&gt;&lt;/FONT&gt;
Dim sText As String = "some text" &lt;FONT color="#0000FF"&gt;&lt;STRONG&gt;'Accepts text (and numbers)&lt;/STRONG&gt;&lt;/FONT&gt;
Dim oDoc As Document&lt;/PRE&gt;
&lt;P&gt;C) Don't use any special symbols in code and make the names of your variables (and parameters) as short as possible.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;It also wouldn't hurt to use English names (specially when you're posting the code on international forum and asking for help).&lt;/P&gt;
&lt;PRE&gt;&lt;SPAN&gt;&lt;FONT color="#0000FF"&gt;&lt;STRONG&gt;'Wrong:&lt;/STRONG&gt;&lt;/FONT&gt;&lt;BR /&gt;Afstand_tot_center_Ruit = 0.5&lt;BR /&gt;&lt;/SPAN&gt;&lt;FONT color="#0000FF"&gt;&lt;STRONG&gt;'Right&lt;/STRONG&gt;&lt;/FONT&gt;&lt;BR /&gt;Dim dToCenter As Double = 0.5&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here's the picture you've posted in your last post, so others can relate:&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Knipsel" style="width: 705px;"&gt;&lt;img src="https://forums.autodesk.com/t5/image/serverpage/image-id/336084iF9AEF80BD63FAAB8/image-size/large?v=v2&amp;amp;px=999" role="button" title="Knipsel" alt="Knipsel" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 22 Mar 2017 09:23:02 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-ilogic/automate-code/m-p/6963719#M71044</guid>
      <dc:creator>Owner2229</dc:creator>
      <dc:date>2017-03-22T09:23:02Z</dc:date>
    </item>
    <item>
      <title>Re: automate code</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/automate-code/m-p/6963830#M71047</link>
      <description>&lt;P&gt;first of all thanks for you're repsonse.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;FONT color="#FF0000"&gt;1) Wh&lt;/FONT&gt;&lt;FONT color="#FF0000"&gt;at are you trying to calculate?&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;I try to calculate the angle between 2 points that intersect with an edge and a plane ( that moves back and forward)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#FF0000"&gt;&lt;STRONG&gt;2) What for?&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000000"&gt;For my thesis i have to make a postprocessor for a lasercladder and they want to be able to laserclad figures like a square on a round object but such a postprocessor costs a lot of money thus they want me to try and make one.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#FF0000"&gt;&lt;STRONG&gt;3) How are the points attached to the plane (or whatever the gray object is, sheet metal maybe?)?&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;the points are actually made by an intersection of that plane and i measure the distance of that point to the origin and thats my x-coordinate.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#FF0000"&gt;&lt;STRONG&gt;4) "X_Afstand_1_Ruit"... are the parameters the values come from, right?&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000000"&gt;Yes the values come from the paramter X_afstand_1_Ruit...&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#FF0000"&gt;&lt;STRONG&gt;5) How are you triggering / running this rule?&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;i should be triggerd by a true or false paramete lik start = true and then the code runs. Thats my idea.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I made some changes do the code would read easier and is smaller like u said.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Wrote also my comments in english and changed some parameter names to englisch.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;But i didn't understand what you ment whit:&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;&lt;FONT color="#0000FF"&gt;&lt;STRONG&gt;'Wrong:&lt;/STRONG&gt;&lt;/FONT&gt;&lt;BR /&gt;Afstand_tot_center_Ruit = 0.5&lt;BR /&gt;&lt;/SPAN&gt;&lt;FONT color="#0000FF"&gt;&lt;STRONG&gt;'Right&lt;/STRONG&gt;&lt;/FONT&gt;&lt;BR /&gt;Dim dToCenter As Double = 0.5&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;SyntaxEditor Code Snippet&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE&gt;SyntaxEditor Code Snippet&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;Start&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;True&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt; 

&lt;SPAN&gt;While&lt;/SPAN&gt; &lt;SPAN&gt;Distance_to_center&lt;/SPAN&gt; &lt;SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN&gt;5&lt;/SPAN&gt;            &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;This is the distance that the plane can travel to so max 5mm&lt;/SPAN&gt;
                                    &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;So when ever this value changes the values in MyArrayList should change with it.&lt;/SPAN&gt;
                                    &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;To the values that belong to then new values of the new intersection&lt;/SPAN&gt;

&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;MyArrayList&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;3&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Double&lt;/SPAN&gt;        &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;Here i define my values as double it accepts decimals.                &lt;/SPAN&gt;
&lt;SPAN&gt;MyArrayList&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;0&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;X_Afstand_1_Ruit&lt;/SPAN&gt;
&lt;SPAN&gt;MyArrayList&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;X_Afstand_2_Ruit&lt;/SPAN&gt;
&lt;SPAN&gt;MyArrayList&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;2&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;X_Afstand_3_Ruit&lt;/SPAN&gt;
&lt;SPAN&gt;MyArrayList&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;3&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;X_Afstand_4_Ruit&lt;/SPAN&gt;
 
&lt;SPAN&gt;Array&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;Sort&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;MyArrayList&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;                                
&lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;Each&lt;/SPAN&gt; &lt;SPAN&gt;Str&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Double&lt;/SPAN&gt; &lt;SPAN&gt;In&lt;/SPAN&gt; &lt;SPAN&gt;MyArrayList&lt;/SPAN&gt;
   
&lt;SPAN&gt;Next&lt;/SPAN&gt; 
&lt;SPAN&gt;MessageBox&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;Show&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;MyArrayList&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;Co�rdinate left&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;        
&lt;SPAN&gt;MessageBox&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;Show&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;MyArrayList&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;2&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;Co�rdinate right&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;    


&lt;SPAN&gt;B1&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;Abs&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;MyArrayList&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;))&lt;/SPAN&gt; &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;X-Coordinate left side&lt;/SPAN&gt;
&lt;SPAN&gt;H1&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;Abs&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;MyArrayList&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;2&lt;/SPAN&gt;&lt;SPAN&gt;))&lt;/SPAN&gt; &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;X-Coordinate right side&lt;/SPAN&gt;

&lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;I want to calculate the angle between MyArrayList(1)and MyArrayList(2) and i do that with triangulation.&lt;/SPAN&gt;&lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;Formula Sin(alpha)=MyArrayList(1)/((Diameter/2)+Layerthicknes)&lt;/SPAN&gt;
&lt;SPAN&gt;A1&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;((&lt;/SPAN&gt;&lt;SPAN&gt;Diameter&lt;/SPAN&gt;&lt;SPAN&gt;/&lt;/SPAN&gt;&lt;SPAN&gt;2&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;SPAN&gt;+&lt;/SPAN&gt;&lt;SPAN&gt;Layerthicknes&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;
&lt;SPAN&gt;I1&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;B1&lt;/SPAN&gt;&lt;SPAN&gt;/&lt;/SPAN&gt;&lt;SPAN&gt;A1&lt;/SPAN&gt;                                                
&lt;SPAN&gt;J1&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;Asin&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;I1&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;                                                 
&lt;SPAN&gt;K1&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;J1&lt;/SPAN&gt;&lt;SPAN&gt;*&lt;/SPAN&gt;&lt;SPAN&gt;180&lt;/SPAN&gt;                                                
&lt;SPAN&gt;L1&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;K1&lt;/SPAN&gt;&lt;SPAN&gt;/&lt;/SPAN&gt;&lt;SPAN&gt;3.1415&lt;/SPAN&gt;                                            
&lt;SPAN&gt;M1&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;H1&lt;/SPAN&gt;&lt;SPAN&gt;/&lt;/SPAN&gt;&lt;SPAN&gt;A1&lt;/SPAN&gt;
&lt;SPAN&gt;N1&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;Asin&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;M1&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;
&lt;SPAN&gt;O1&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;N1&lt;/SPAN&gt;&lt;SPAN&gt;*&lt;/SPAN&gt;&lt;SPAN&gt;180&lt;/SPAN&gt;
&lt;SPAN&gt;P1&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;O1&lt;/SPAN&gt;&lt;SPAN&gt;/&lt;/SPAN&gt;&lt;SPAN&gt;3.1415&lt;/SPAN&gt;
&lt;SPAN&gt;Q1&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;P1&lt;/SPAN&gt;&lt;SPAN&gt;+&lt;/SPAN&gt;&lt;SPAN&gt;L1&lt;/SPAN&gt;
&lt;SPAN&gt;MessageBox&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;Show&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;Q1&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;angle&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;            
&lt;SPAN&gt;Distance_to_center&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;Distance_to_center&lt;/SPAN&gt;&lt;SPAN&gt;+&lt;/SPAN&gt;&lt;SPAN&gt;0.5&lt;/SPAN&gt; &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;This should add 0.5mm to the planes distance.&lt;/SPAN&gt;&lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;My idea is when it adds 0.5mm to Distance_to_center the code would run again but with the new values of the new intersection&lt;/SPAN&gt;&lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;it made&lt;/SPAN&gt;
&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;While&lt;/SPAN&gt;
&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 22 Mar 2017 10:07:33 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-ilogic/automate-code/m-p/6963830#M71047</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2017-03-22T10:07:33Z</dc:date>
    </item>
    <item>
      <title>Re: automate code</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/automate-code/m-p/6964287#M71060</link>
      <description>&lt;P&gt;By the code&amp;nbsp;below I wanted to show you an example of bad and good variables' names:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;SPAN&gt;&lt;FONT color="#0000FF"&gt;&lt;STRONG&gt;'Wrong:&lt;/STRONG&gt;&lt;/FONT&gt;&lt;BR /&gt;Afstand_tot_center_Ruit = 0.5&lt;BR /&gt;&lt;/SPAN&gt;&lt;FONT color="#0000FF"&gt;&lt;STRONG&gt;'Right&lt;/STRONG&gt;&lt;/FONT&gt;&lt;BR /&gt;Dim dToCenter As Double = 0.5&amp;nbsp;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you calculate the angle every time the parameter "&lt;SPAN&gt;Distance_to_center" changes, you'll better to so by triggering the rule by the parameter change.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Put this line at the start of your rule and every time this parameter changes, this rule will trigger.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;s = Distance_to_center&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;Now if you want to run the rule only if the "&lt;SPAN&gt;Distance_to_center" is less than 5 you can do it like this:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;s = Distance_to_center
Dim dCenter As Double = Distance_to_center
If dCenter &amp;gt; 5 Then Exit Sub &lt;FONT color="#0000FF"&gt;&lt;STRONG&gt;'If the value is greater then 5, quit&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/PRE&gt;
&lt;P&gt;Now if you want to trigger the rule again, all you need to do is change the the "&lt;SPAN&gt;Distance_to_center" parameter.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;STRONG&gt;BUT&lt;/STRONG&gt;, the change have to be the last line of the code.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Here's an example of mid-code self triggering:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;(1) - this is the instance of the rule, aka the order in which it did&amp;nbsp;run&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Rule (1) starts&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Rule (1) changes the parameter "&lt;/SPAN&gt;&lt;SPAN&gt;Distance_to_center"&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Rule (2) starts&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Rule (2) finishes (if it doesn't trigger the rule again)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Rule (1) finishes&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;It works the same as calling any sub-functions, so keep that ALWAYS in mind.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 22 Mar 2017 12:57:12 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-ilogic/automate-code/m-p/6964287#M71060</guid>
      <dc:creator>Owner2229</dc:creator>
      <dc:date>2017-03-22T12:57:12Z</dc:date>
    </item>
    <item>
      <title>Re: automate code</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/automate-code/m-p/6965942#M71072</link>
      <description>&lt;P&gt;**** my spelling... Besides others:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/3072914"&gt;@Owner2229&lt;/a&gt; wrote:&lt;BR /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you &lt;STRONG&gt;want&lt;/STRONG&gt; &lt;STRONG&gt;to&lt;/STRONG&gt;&amp;nbsp;calculate the angle every time the parameter "&lt;SPAN&gt;Distance_to_center" changes, you'll better &lt;STRONG&gt;do&lt;/STRONG&gt; so by triggering the rule by the parameter change.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&amp;nbsp;&lt;/PRE&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 22 Mar 2017 21:11:44 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-ilogic/automate-code/m-p/6965942#M71072</guid>
      <dc:creator>Owner2229</dc:creator>
      <dc:date>2017-03-22T21:11:44Z</dc:date>
    </item>
    <item>
      <title>Re: automate code</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/automate-code/m-p/6966843#M71080</link>
      <description>&lt;P&gt;Would you perhaps know what this ERROR means ? &amp;nbsp;ERROR: MyArrayList is not declared. The item may not be available due to the related security.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;My code:&lt;/P&gt;&lt;P&gt;SyntaxEditor Code Snippet&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;Start&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;True&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt; 
           
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;MyArrayList&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;3&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Double&lt;/SPAN&gt;                    
&lt;SPAN&gt;MyArrayList&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;0&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;X_Afstand_1_Ruit&lt;/SPAN&gt;
&lt;SPAN&gt;MyArrayList&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;X_Afstand_2_Ruit&lt;/SPAN&gt;  
&lt;SPAN&gt;MyArrayList&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;2&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;X_Afstand_3_Ruit&lt;/SPAN&gt;
&lt;SPAN&gt;MyArrayList&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;3&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;X_Afstand_4_Ruit&lt;/SPAN&gt;
 
&lt;SPAN&gt;Array&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;Sort&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;MyArrayList&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;                                
&lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;Each&lt;/SPAN&gt; &lt;SPAN&gt;Str&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Double&lt;/SPAN&gt; &lt;SPAN&gt;In&lt;/SPAN&gt; &lt;SPAN&gt;MyArrayList&lt;/SPAN&gt;

&lt;SPAN&gt;Next&lt;/SPAN&gt; 
&lt;SPAN&gt;MessageBox&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;Show&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;MyArrayList&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;Co�rdinate left&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;        
&lt;SPAN&gt;MessageBox&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;Show&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;MyArrayList&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;2&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;Co�rdinate right&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;    

&lt;SPAN&gt;I1&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;Abs&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;MyArrayList&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;))&lt;/SPAN&gt;&lt;SPAN&gt;/&lt;/SPAN&gt;&lt;SPAN&gt;((&lt;/SPAN&gt;&lt;SPAN&gt;Binnen_diameter_Ruit&lt;/SPAN&gt;&lt;SPAN&gt;/&lt;/SPAN&gt;&lt;SPAN&gt;2&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;SPAN&gt;+&lt;/SPAN&gt;&lt;SPAN&gt;Laagdikte_Ruit&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;                                                
&lt;SPAN&gt;J1&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;Asin&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;I1&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;SPAN&gt;*&lt;/SPAN&gt;&lt;SPAN&gt;180&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;SPAN&gt;/&lt;/SPAN&gt;&lt;SPAN&gt;3.1415&lt;/SPAN&gt;                                                                                     
&lt;SPAN&gt;M1&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;Abs&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;MyArrayList&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;2&lt;/SPAN&gt;&lt;SPAN&gt;))&lt;/SPAN&gt;&lt;SPAN&gt;/&lt;/SPAN&gt;&lt;SPAN&gt;((&lt;/SPAN&gt;&lt;SPAN&gt;Binnen_diameter_Ruit&lt;/SPAN&gt;&lt;SPAN&gt;/&lt;/SPAN&gt;&lt;SPAN&gt;2&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;SPAN&gt;+&lt;/SPAN&gt;&lt;SPAN&gt;Laagdikte_Ruit&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;
&lt;SPAN&gt;N1&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;Asin&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;M1&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;SPAN&gt;*&lt;/SPAN&gt;&lt;SPAN&gt;180&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;SPAN&gt;/&lt;/SPAN&gt;&lt;SPAN&gt;3.1415&lt;/SPAN&gt;
&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;MyArrayList&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;2&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN&gt;0&lt;/SPAN&gt; &lt;SPAN&gt;And&lt;/SPAN&gt; &lt;SPAN&gt;MyArrayList&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;SPAN&gt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN&gt;0&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt; &lt;SPAN&gt;Q1&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;J1&lt;/SPAN&gt;&lt;SPAN&gt;-&lt;/SPAN&gt;&lt;SPAN&gt;N1&lt;/SPAN&gt; &lt;SPAN&gt;Else&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;MyArrayList&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;2&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;SPAN&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN&gt;0&lt;/SPAN&gt; &lt;SPAN&gt;And&lt;/SPAN&gt; &lt;SPAN&gt;MyArrayList&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;SPAN&gt;&amp;gt;&lt;/SPAN&gt; &lt;SPAN&gt;0&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt; &lt;SPAN&gt;Q1&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;N1&lt;/SPAN&gt;&lt;SPAN&gt;-&lt;/SPAN&gt;&lt;SPAN&gt;J1&lt;/SPAN&gt;
&lt;SPAN&gt;Else&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;MyArrayList&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;2&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt; &lt;SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN&gt;0&lt;/SPAN&gt;  &lt;SPAN&gt;And&lt;/SPAN&gt; 
&lt;SPAN&gt;MyArrayList&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;SPAN&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN&gt;0&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt; &lt;SPAN&gt;Q1&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;J1&lt;/SPAN&gt;&lt;SPAN&gt;+&lt;/SPAN&gt;&lt;SPAN&gt;N1&lt;/SPAN&gt;
&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt; 

&lt;SPAN&gt;MessageBox&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;Show&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;Q1&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;angle&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;            

&lt;/PRE&gt;</description>
      <pubDate>Thu, 23 Mar 2017 07:43:16 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-ilogic/automate-code/m-p/6966843#M71080</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2017-03-23T07:43:16Z</dc:date>
    </item>
    <item>
      <title>Re: automate code</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/automate-code/m-p/6966954#M71087</link>
      <description>&lt;P&gt;What's the "If Start..." still doing there?&lt;/P&gt;
&lt;P&gt;Trigger it with the "Distance_To_Center" parameter change.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;s = Distance_To_Center

Dim MyList(3) As Double
MyList(0) = X_Afstand_1_Ruit
MyList(1) = X_Afstand_2_Ruit
MyList(2) = X_Afstand_3_Ruit
MyList(3) = X_Afstand_4_Ruit

Array.Sort(MyList)
MessageBox.Show(MyList(1), "Co�rdinate left")
MessageBox.Show(MyList(2), "Co�rdinate right")
&lt;BR /&gt;&lt;FONT color="#0000FF"&gt;&lt;STRONG&gt;'Don't repeat calculations, pre-calculate them&lt;/STRONG&gt;&lt;/FONT&gt;&lt;BR /&gt;Dim G As Double = (Binnen_diameter_Ruit / 2) + Laagdikte_Ruit
Dim I As Double = Abs(MyList(1)) / G
Dim J As Double = (Asin(I) * 180) / PI
Dim M As Double = Abs(MyList(2)) / G
Dim N As Double = (Asin(M) * 180) / PI&lt;BR /&gt;&lt;BR /&gt;&lt;FONT color="#0000FF"&gt;&lt;STRONG&gt;'The mess that used to be here was your (current) problem&lt;BR /&gt;&lt;/STRONG&gt;&lt;STRONG&gt;'Formate your formulas to be HUMAN readable&lt;BR /&gt;&lt;/STRONG&gt;&lt;STRONG&gt;'In formulas: shorter =/= better&lt;/STRONG&gt;&lt;/FONT&gt;&lt;BR /&gt;Dim Q As Double = Nothing
If (MyList(2) &amp;lt; 0) And (MyList(1) &amp;lt; 0) Then&lt;BR /&gt;    Q = J - N&lt;BR /&gt;ElseIf (MyList(2) &amp;gt; 0) And (MyList(1) &amp;gt; 0) Then&lt;BR /&gt;    Q = N - J
ElseIf (MyList(2) &amp;lt; 0) And (MyList(1) &amp;gt; 0) Then&lt;BR /&gt;    Q = J + N
End If

MessageBox.Show(Q, "angle") &lt;/PRE&gt;</description>
      <pubDate>Thu, 23 Mar 2017 08:37:18 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-ilogic/automate-code/m-p/6966954#M71087</guid>
      <dc:creator>Owner2229</dc:creator>
      <dc:date>2017-03-23T08:37:18Z</dc:date>
    </item>
    <item>
      <title>Re: automate code</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/automate-code/m-p/6967837#M71106</link>
      <description>&lt;P&gt;could you help me with that automation of the code in don't realy know how &amp;nbsp;to tell the code to run when the distance_to_center parameter changes.&lt;/P&gt;</description>
      <pubDate>Thu, 23 Mar 2017 14:55:07 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-ilogic/automate-code/m-p/6967837#M71106</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2017-03-23T14:55:07Z</dc:date>
    </item>
    <item>
      <title>Re: automate code</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/automate-code/m-p/6969831#M71111</link>
      <description>&lt;P&gt;I already did (in the last code).&lt;/P&gt;
&lt;P&gt;This line does it:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;s = Distance_To_Center&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Just create a new rule:&lt;/P&gt;
&lt;PRE&gt;s = Distance_To_Center&lt;BR /&gt;MsgBox("It works, the new value is: " &amp;amp; distance_to_center)&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;And now change the value of the parameter (in model or in parameters).&lt;/P&gt;</description>
      <pubDate>Fri, 24 Mar 2017 06:24:26 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-ilogic/automate-code/m-p/6969831#M71111</guid>
      <dc:creator>Owner2229</dc:creator>
      <dc:date>2017-03-24T06:24:26Z</dc:date>
    </item>
    <item>
      <title>Re: automate code</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/automate-code/m-p/6969904#M71115</link>
      <description>&lt;P&gt;and how can i tell in the code when it reached Max distance it stops the code ? so S= Distance_to_center automates it but i would like to have it stop at a certain value like Max_Distance_to_center.&lt;/P&gt;</description>
      <pubDate>Fri, 24 Mar 2017 07:32:13 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-ilogic/automate-code/m-p/6969904#M71115</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2017-03-24T07:32:13Z</dc:date>
    </item>
    <item>
      <title>Re: automate code</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/automate-code/m-p/6969918#M71117</link>
      <description>&lt;P&gt;Quite easily, actually:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;s = Distance_To_Center&lt;BR /&gt;If distance_to_center &amp;gt;= 5 Then Exit Sub&lt;/PRE&gt;</description>
      <pubDate>Fri, 24 Mar 2017 07:40:35 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-ilogic/automate-code/m-p/6969918#M71117</guid>
      <dc:creator>Owner2229</dc:creator>
      <dc:date>2017-03-24T07:40:35Z</dc:date>
    </item>
  </channel>
</rss>

