<?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: How to Write an iLogic Rule with a Loop that Outputs a Table of Values to Ex in Inventor Programming - iLogic, Macros, AddIns &amp; Apprentice</title>
    <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/how-to-write-an-ilogic-rule-with-a-loop-that-outputs-a-table-of/m-p/8619378#M94917</link>
    <description>&lt;P&gt;Rikard,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Your solution worked. I made a couple adjustments based on the outputs I was getting in my Excel file.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;1) When the plane offset was 0, Inventor was reporting the "full" volume. To correct this, I dumped the "full" volume into a new parameter value that is written into the last volume cell after the loop is finished. I also added another line to rewrite the volume at the 0 offset to be 0 gallons.&lt;/P&gt;
&lt;P&gt;2) The iProperties.Volume value is in cubic inches. Therefore, I added some math to convert the cubic inches into gallons and rounded the figure to 1 decimal place.&lt;/P&gt;
&lt;P&gt;3) I eliminated the "+1" at the beginning of the loop statement. This eliminated 1 loop from the sequence.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The final version of the iLogic code is pasted below.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;SPAN&gt;InventorVb&lt;/SPAN&gt;.&lt;SPAN&gt;DocumentUpdate&lt;/SPAN&gt;()
&lt;SPAN&gt;Feature&lt;/SPAN&gt;.&lt;SPAN&gt;IsActive&lt;/SPAN&gt;(&lt;SPAN&gt;"Split1"&lt;/SPAN&gt;) = &lt;SPAN&gt;True&lt;/SPAN&gt;

&lt;SPAN&gt;i&lt;/SPAN&gt; = 0
&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"Offset"&lt;/SPAN&gt;) = &lt;SPAN&gt;i&lt;/SPAN&gt; * (1 in / 1 ul)
&lt;SPAN&gt;GoExcel&lt;/SPAN&gt;.&lt;SPAN&gt;Open&lt;/SPAN&gt;(&lt;SPAN&gt;"Table.xlsx"&lt;/SPAN&gt;, &lt;SPAN&gt;"Sheet1"&lt;/SPAN&gt;)
&lt;SPAN&gt;String1&lt;/SPAN&gt; = &lt;SPAN&gt;"A4"&lt;/SPAN&gt;
&lt;SPAN&gt;String2&lt;/SPAN&gt; = &lt;SPAN&gt;"B4"&lt;/SPAN&gt;

&lt;SPAN&gt;GoExcel&lt;/SPAN&gt;.&lt;SPAN&gt;CellValue&lt;/SPAN&gt;(&lt;SPAN&gt;String1&lt;/SPAN&gt;) = &lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"Offset"&lt;/SPAN&gt;)
&lt;SPAN&gt;GoExcel&lt;/SPAN&gt;.&lt;SPAN&gt;CellValue&lt;/SPAN&gt;(&lt;SPAN&gt;String2&lt;/SPAN&gt;) = &lt;SPAN&gt;Round&lt;/SPAN&gt;(&lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Volume&lt;/SPAN&gt; / 231, 1)
&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"Full"&lt;/SPAN&gt;) = &lt;SPAN&gt;Round&lt;/SPAN&gt;(&lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Volume&lt;/SPAN&gt; / 231, 1)

&lt;SPAN&gt;Height&lt;/SPAN&gt; = &lt;SPAN&gt;H2H&lt;/SPAN&gt;
&lt;SPAN&gt;Inc&lt;/SPAN&gt; = 1

&lt;SPAN&gt;Do&lt;/SPAN&gt; &lt;SPAN&gt;Until&lt;/SPAN&gt; &lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"Offset"&lt;/SPAN&gt;) &amp;gt; &lt;SPAN&gt;Height&lt;/SPAN&gt;
        &lt;SPAN&gt;GoExcel&lt;/SPAN&gt;.&lt;SPAN&gt;CellValue&lt;/SPAN&gt;(&lt;SPAN&gt;String1&lt;/SPAN&gt;) = &lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"Offset"&lt;/SPAN&gt;)
        &lt;SPAN&gt;GoExcel&lt;/SPAN&gt;.&lt;SPAN&gt;CellValue&lt;/SPAN&gt;(&lt;SPAN&gt;String2&lt;/SPAN&gt;) = &lt;SPAN&gt;Round&lt;/SPAN&gt;(&lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Volume&lt;/SPAN&gt; / 231, 1)
        &lt;SPAN&gt;i&lt;/SPAN&gt; = &lt;SPAN&gt;i&lt;/SPAN&gt; + &lt;SPAN&gt;Inc&lt;/SPAN&gt;
        &lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"Offset"&lt;/SPAN&gt;) = &lt;SPAN&gt;i&lt;/SPAN&gt; * (1 in    / 1 ul)
        
        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;myChars&lt;/SPAN&gt;() &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Char&lt;/SPAN&gt; = &lt;SPAN&gt;String1&lt;/SPAN&gt;.&lt;SPAN&gt;ToCharArray&lt;/SPAN&gt;()
        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;resultString&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&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;ch&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Char&lt;/SPAN&gt; &lt;SPAN&gt;In&lt;/SPAN&gt; &lt;SPAN&gt;myChars&lt;/SPAN&gt;
             &lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;Char&lt;/SPAN&gt;.&lt;SPAN&gt;IsDigit&lt;/SPAN&gt;(&lt;SPAN&gt;ch&lt;/SPAN&gt;) &lt;SPAN&gt;Then&lt;/SPAN&gt;
                  &lt;SPAN&gt;resultString&lt;/SPAN&gt; = &lt;SPAN&gt;resultString&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;ch&lt;/SPAN&gt;
             &lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
        &lt;SPAN&gt;Next&lt;/SPAN&gt;
        &lt;SPAN&gt;A&lt;/SPAN&gt; = &lt;SPAN&gt;CStr&lt;/SPAN&gt;(&lt;SPAN&gt;resultString&lt;/SPAN&gt;) + &lt;SPAN&gt;Inc&lt;/SPAN&gt;
        &lt;SPAN&gt;String1&lt;/SPAN&gt; = &lt;SPAN&gt;Left&lt;/SPAN&gt;(&lt;SPAN&gt;String1&lt;/SPAN&gt;,1) &amp;amp; &lt;SPAN&gt;CStr&lt;/SPAN&gt;(&lt;SPAN&gt;A&lt;/SPAN&gt;)
        &lt;SPAN&gt;String2&lt;/SPAN&gt; = &lt;SPAN&gt;Left&lt;/SPAN&gt;(&lt;SPAN&gt;String2&lt;/SPAN&gt;,1) &amp;amp; &lt;SPAN&gt;CStr&lt;/SPAN&gt;(&lt;SPAN&gt;A&lt;/SPAN&gt;)

        &lt;SPAN&gt;InventorVb&lt;/SPAN&gt;.&lt;SPAN&gt;DocumentUpdate&lt;/SPAN&gt;(&lt;SPAN&gt;False&lt;/SPAN&gt;)    &lt;SPAN&gt;'required to get current mass properties&lt;/SPAN&gt;
&lt;SPAN&gt;Loop&lt;/SPAN&gt;

&lt;SPAN&gt;GoExcel&lt;/SPAN&gt;.&lt;SPAN&gt;CellValue&lt;/SPAN&gt;(&lt;SPAN&gt;String1&lt;/SPAN&gt;) = &lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"Offset"&lt;/SPAN&gt;)
&lt;SPAN&gt;GoExcel&lt;/SPAN&gt;.&lt;SPAN&gt;CellValue&lt;/SPAN&gt;(&lt;SPAN&gt;String2&lt;/SPAN&gt;) = &lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"Full"&lt;/SPAN&gt;)
&lt;SPAN&gt;GoExcel&lt;/SPAN&gt;.&lt;SPAN&gt;CellValue&lt;/SPAN&gt;(&lt;SPAN&gt;"B4"&lt;/SPAN&gt;) = 0

&lt;SPAN&gt;GoExcel&lt;/SPAN&gt;.&lt;SPAN&gt;Save&lt;/SPAN&gt;
&lt;SPAN&gt;GoExcel&lt;/SPAN&gt;.&lt;SPAN&gt;Close&lt;/SPAN&gt;

&lt;SPAN&gt;Feature&lt;/SPAN&gt;.&lt;SPAN&gt;IsActive&lt;/SPAN&gt;(&lt;SPAN&gt;"Split1"&lt;/SPAN&gt;) = &lt;SPAN&gt;False&lt;/SPAN&gt;
&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I am very grateful for your time and expertise in helping me solve this. I will mark this topic as "Accepted Solution"&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Sincerely,&lt;/P&gt;
&lt;P&gt;Steven&lt;/P&gt;</description>
    <pubDate>Mon, 25 Feb 2019 16:05:01 GMT</pubDate>
    <dc:creator>Anonymous</dc:creator>
    <dc:date>2019-02-25T16:05:01Z</dc:date>
    <item>
      <title>How to Write an iLogic Rule with a Loop that Outputs a Table of Values to Excel</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/how-to-write-an-ilogic-rule-with-a-loop-that-outputs-a-table-of/m-p/8591026#M94325</link>
      <description>&lt;P&gt;I would like to create an iLogic rule that contains a loop. Each time the loop runs, I want the rule to output a set of values from my part model to an Excel spreadsheet, creating a table of values.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;For example, my part is the fluid inside a large bucket (not the real part because of confidentiality). I can split / slice the part with an offset plane, removing the portion of the part above the plane. I want the code to move the offset plane by some increment, record the offset distance and the volume of the part after the split to the spreadsheet (say, cells A4 and B4), then loop through this process, writing the next values into the next cells (A5 &amp;amp; B5) until the the offset distance exceeds the height of the bucket. At the end, it would save and close the Excel file. The table of X-Offset and Y-Volume values could be viewed, printed, charted or otherwise used from within Excel.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Using this code, I was able to create a loop that moved the plane by my desired increment. But, I could not figure out how to increment the cell addresses from one loop to the next. I ended up with just (2) values, located in the original (2) cells (A4 &amp;amp; B4).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;SPAN&gt;i&lt;/SPAN&gt; = 0
&lt;SPAN&gt;Offset&lt;/SPAN&gt; = &lt;SPAN&gt;i&lt;/SPAN&gt; * (1 in / 1 ul)
&lt;SPAN&gt;GoExcel&lt;/SPAN&gt;.&lt;SPAN&gt;Open&lt;/SPAN&gt;(&lt;SPAN&gt;"Table.xlsx"&lt;/SPAN&gt;, &lt;SPAN&gt;"Sheet1"&lt;/SPAN&gt;)
&lt;SPAN&gt;String1&lt;/SPAN&gt; = &lt;SPAN&gt;"A4"&lt;/SPAN&gt;
&lt;SPAN&gt;String2&lt;/SPAN&gt; = &lt;SPAN&gt;"B4"&lt;/SPAN&gt;
&lt;SPAN&gt;GoExcel&lt;/SPAN&gt;.&lt;SPAN&gt;CellValue&lt;/SPAN&gt;(&lt;SPAN&gt;"Table.xlsx"&lt;/SPAN&gt;, &lt;SPAN&gt;"Sheet1"&lt;/SPAN&gt;, &lt;SPAN&gt;String1&lt;/SPAN&gt;) = &lt;SPAN&gt;Offset&lt;/SPAN&gt;
&lt;SPAN&gt;GoExcel&lt;/SPAN&gt;.&lt;SPAN&gt;CellValue&lt;/SPAN&gt;(&lt;SPAN&gt;"Table.xlsx"&lt;/SPAN&gt;, &lt;SPAN&gt;"Sheet1"&lt;/SPAN&gt;, &lt;SPAN&gt;String2&lt;/SPAN&gt;) = &lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Volume&lt;/SPAN&gt;

&lt;SPAN&gt;Do Until Offset &amp;gt; Height + 1&lt;/SPAN&gt;
&lt;SPAN&gt;	GoExcel.CellValue("Table.xlsx", "Sheet1", String1) = Offset&lt;/SPAN&gt;
&lt;SPAN&gt;	GoExcel.CellValue("Table.xlsx", "Sheet1", String2) = iProperties.Volume&lt;/SPAN&gt;
&lt;SPAN&gt;	i = i + Inc&lt;/SPAN&gt;
&lt;SPAN&gt;	Offset = i * (1 in   / 1 ul)&lt;/SPAN&gt;
&lt;SPAN&gt;	A = Val(String1) + Inc&lt;/SPAN&gt;
&lt;SPAN&gt;	String1 = Left(String1,1) &amp;amp; CStr(A)&lt;/SPAN&gt;
&lt;SPAN&gt;	String2 = Left(String2,1) &amp;amp; CStr(A)&lt;/SPAN&gt;
&lt;SPAN&gt;Continue Do&lt;/SPAN&gt;
&lt;SPAN&gt;Exit Do&lt;/SPAN&gt;
&lt;SPAN&gt;Loop&lt;/SPAN&gt;

&lt;SPAN&gt;GoExcel&lt;/SPAN&gt;.&lt;SPAN&gt;Save&lt;/SPAN&gt;
&lt;SPAN&gt;GoExcel&lt;/SPAN&gt;.&lt;SPAN&gt;Close&lt;/SPAN&gt;
&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Any help on this would be appreciated.&lt;/P&gt;
&lt;P&gt;Steven&lt;/P&gt;</description>
      <pubDate>Tue, 12 Feb 2019 20:04:44 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-ilogic/how-to-write-an-ilogic-rule-with-a-loop-that-outputs-a-table-of/m-p/8591026#M94325</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2019-02-12T20:04:44Z</dc:date>
    </item>
    <item>
      <title>Re: How to Write an iLogic Rule with a Loop that Outputs a Table of Values to Ex</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/how-to-write-an-ilogic-rule-with-a-loop-that-outputs-a-table-of/m-p/8591131#M94330</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If I use this code I get it to write more rows..&lt;/P&gt;
&lt;P&gt;I added these rows to make it work&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Height&lt;/SPAN&gt; = 100&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Inc&lt;/SPAN&gt; = 1&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;And changed the way to read digits from String1&lt;/P&gt;
&lt;P&gt;And removed "&lt;SPAN&gt;Continue Do"&lt;/SPAN&gt;&amp;nbsp; and&amp;nbsp; "&lt;SPAN&gt;Exit Do"&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;SPAN&gt;i&lt;/SPAN&gt; = 0
&lt;SPAN&gt;Offset&lt;/SPAN&gt; = &lt;SPAN&gt;i&lt;/SPAN&gt; * (1 in / 1 ul)
&lt;SPAN&gt;GoExcel&lt;/SPAN&gt;.&lt;SPAN&gt;Open&lt;/SPAN&gt;(&lt;SPAN&gt;"Table.xlsx"&lt;/SPAN&gt;, &lt;SPAN&gt;"Sheet1"&lt;/SPAN&gt;)
&lt;SPAN&gt;String1&lt;/SPAN&gt; = &lt;SPAN&gt;"A4"&lt;/SPAN&gt;
&lt;SPAN&gt;String2&lt;/SPAN&gt; = &lt;SPAN&gt;"B4"&lt;/SPAN&gt;

&lt;SPAN&gt;GoExcel&lt;/SPAN&gt;.&lt;SPAN&gt;CellValue&lt;/SPAN&gt;(&lt;SPAN&gt;String1&lt;/SPAN&gt;) = &lt;SPAN&gt;Offset&lt;/SPAN&gt;
&lt;SPAN&gt;GoExcel&lt;/SPAN&gt;.&lt;SPAN&gt;CellValue&lt;/SPAN&gt;(&lt;SPAN&gt;String2&lt;/SPAN&gt;) = &lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Volume&lt;/SPAN&gt;
&lt;SPAN&gt;Height&lt;/SPAN&gt; = 100
&lt;SPAN&gt;Inc&lt;/SPAN&gt; = 1

&lt;SPAN&gt;Do&lt;/SPAN&gt; &lt;SPAN&gt;Until&lt;/SPAN&gt; &lt;SPAN&gt;Offset&lt;/SPAN&gt; &amp;gt; &lt;SPAN&gt;Height&lt;/SPAN&gt; + 1
	&lt;SPAN&gt;GoExcel&lt;/SPAN&gt;.&lt;SPAN&gt;CellValue&lt;/SPAN&gt;( &lt;SPAN&gt;String1&lt;/SPAN&gt;) = &lt;SPAN&gt;Offset&lt;/SPAN&gt;
	&lt;SPAN&gt;GoExcel&lt;/SPAN&gt;.&lt;SPAN&gt;CellValue&lt;/SPAN&gt;( &lt;SPAN&gt;String2&lt;/SPAN&gt;) = &lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Volume&lt;/SPAN&gt;
	&lt;SPAN&gt;i&lt;/SPAN&gt; = &lt;SPAN&gt;i&lt;/SPAN&gt; + &lt;SPAN&gt;Inc&lt;/SPAN&gt;
	&lt;SPAN&gt;Offset&lt;/SPAN&gt; = &lt;SPAN&gt;i&lt;/SPAN&gt; * (1 in    / 1 ul)
	
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;myChars&lt;/SPAN&gt;() &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Char&lt;/SPAN&gt; = &lt;SPAN&gt;String1&lt;/SPAN&gt;.&lt;SPAN&gt;ToCharArray&lt;/SPAN&gt;()
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;resultString&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&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;ch&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Char&lt;/SPAN&gt; &lt;SPAN&gt;In&lt;/SPAN&gt; &lt;SPAN&gt;myChars&lt;/SPAN&gt;
	     &lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;Char&lt;/SPAN&gt;.&lt;SPAN&gt;IsDigit&lt;/SPAN&gt;(&lt;SPAN&gt;ch&lt;/SPAN&gt;) &lt;SPAN&gt;Then&lt;/SPAN&gt;
	          &lt;SPAN&gt;resultString&lt;/SPAN&gt; = &lt;SPAN&gt;resultString&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;ch&lt;/SPAN&gt;
	     &lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
	&lt;SPAN&gt;Next&lt;/SPAN&gt;
	&lt;SPAN&gt;A&lt;/SPAN&gt; = &lt;SPAN&gt;CStr&lt;/SPAN&gt;(&lt;SPAN&gt;resultString&lt;/SPAN&gt;) + &lt;SPAN&gt;Inc&lt;/SPAN&gt;


	&lt;SPAN&gt;String1&lt;/SPAN&gt; = &lt;SPAN&gt;Left&lt;/SPAN&gt;(&lt;SPAN&gt;String1&lt;/SPAN&gt;,1) &amp;amp; &lt;SPAN&gt;CStr&lt;/SPAN&gt;(&lt;SPAN&gt;A&lt;/SPAN&gt;)
	&lt;SPAN&gt;String2&lt;/SPAN&gt; = &lt;SPAN&gt;Left&lt;/SPAN&gt;(&lt;SPAN&gt;String2&lt;/SPAN&gt;, 1) &amp;amp; &lt;SPAN&gt;CStr&lt;/SPAN&gt;(&lt;SPAN&gt;A&lt;/SPAN&gt;)

&lt;SPAN&gt;'Continue Do&lt;/SPAN&gt;
&lt;SPAN&gt;'Exit Do&lt;/SPAN&gt;
&lt;SPAN&gt;Loop&lt;/SPAN&gt;

&lt;SPAN&gt;GoExcel&lt;/SPAN&gt;.&lt;SPAN&gt;Save&lt;/SPAN&gt;
&lt;SPAN&gt;GoExcel&lt;/SPAN&gt;.&lt;SPAN&gt;Close&lt;BR /&gt;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Regards&lt;/P&gt;
&lt;P&gt;Rikard&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 12 Feb 2019 20:46:53 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-ilogic/how-to-write-an-ilogic-rule-with-a-loop-that-outputs-a-table-of/m-p/8591131#M94330</guid>
      <dc:creator>rikard.nilsson</dc:creator>
      <dc:date>2019-02-12T20:46:53Z</dc:date>
    </item>
    <item>
      <title>Re: How to Write an iLogic Rule with a Loop that Outputs a Table of Values to Ex</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/how-to-write-an-ilogic-rule-with-a-loop-that-outputs-a-table-of/m-p/8614672#M94830</link>
      <description>&lt;P&gt;Rikard,&lt;/P&gt;
&lt;P&gt;Thank you for the response. Your code did help. It writes data to successive cells just like I wanted.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Unfortunately, the volume property does not update from one loop to the next. The volume written into the cell at every elevation is the full volume (after the loop is completed) instead of the incremental volume at each step. I searched additional topics for ways to force the mass properties to update and have not found anything that solves this portion of the problem.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thank you,&lt;/P&gt;
&lt;P&gt;Steven&lt;/P&gt;</description>
      <pubDate>Fri, 22 Feb 2019 15:57:39 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-ilogic/how-to-write-an-ilogic-rule-with-a-loop-that-outputs-a-table-of/m-p/8614672#M94830</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2019-02-22T15:57:39Z</dc:date>
    </item>
    <item>
      <title>Re: How to Write an iLogic Rule with a Loop that Outputs a Table of Values to Ex</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/how-to-write-an-ilogic-rule-with-a-loop-that-outputs-a-table-of/m-p/8614873#M94839</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I have written a code that use and update mass without any problem after moving a work plane that cuts a part. I just had an “update part” before I red the value.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If if you could add a simple example then I can take a look.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;/Rikard&lt;/P&gt;</description>
      <pubDate>Fri, 22 Feb 2019 16:57:38 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-ilogic/how-to-write-an-ilogic-rule-with-a-loop-that-outputs-a-table-of/m-p/8614873#M94839</guid>
      <dc:creator>rikard.nilsson</dc:creator>
      <dc:date>2019-02-22T16:57:38Z</dc:date>
    </item>
    <item>
      <title>Re: How to Write an iLogic Rule with a Loop that Outputs a Table of Values to Ex</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/how-to-write-an-ilogic-rule-with-a-loop-that-outputs-a-table-of/m-p/8619378#M94917</link>
      <description>&lt;P&gt;Rikard,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Your solution worked. I made a couple adjustments based on the outputs I was getting in my Excel file.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;1) When the plane offset was 0, Inventor was reporting the "full" volume. To correct this, I dumped the "full" volume into a new parameter value that is written into the last volume cell after the loop is finished. I also added another line to rewrite the volume at the 0 offset to be 0 gallons.&lt;/P&gt;
&lt;P&gt;2) The iProperties.Volume value is in cubic inches. Therefore, I added some math to convert the cubic inches into gallons and rounded the figure to 1 decimal place.&lt;/P&gt;
&lt;P&gt;3) I eliminated the "+1" at the beginning of the loop statement. This eliminated 1 loop from the sequence.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The final version of the iLogic code is pasted below.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;SPAN&gt;InventorVb&lt;/SPAN&gt;.&lt;SPAN&gt;DocumentUpdate&lt;/SPAN&gt;()
&lt;SPAN&gt;Feature&lt;/SPAN&gt;.&lt;SPAN&gt;IsActive&lt;/SPAN&gt;(&lt;SPAN&gt;"Split1"&lt;/SPAN&gt;) = &lt;SPAN&gt;True&lt;/SPAN&gt;

&lt;SPAN&gt;i&lt;/SPAN&gt; = 0
&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"Offset"&lt;/SPAN&gt;) = &lt;SPAN&gt;i&lt;/SPAN&gt; * (1 in / 1 ul)
&lt;SPAN&gt;GoExcel&lt;/SPAN&gt;.&lt;SPAN&gt;Open&lt;/SPAN&gt;(&lt;SPAN&gt;"Table.xlsx"&lt;/SPAN&gt;, &lt;SPAN&gt;"Sheet1"&lt;/SPAN&gt;)
&lt;SPAN&gt;String1&lt;/SPAN&gt; = &lt;SPAN&gt;"A4"&lt;/SPAN&gt;
&lt;SPAN&gt;String2&lt;/SPAN&gt; = &lt;SPAN&gt;"B4"&lt;/SPAN&gt;

&lt;SPAN&gt;GoExcel&lt;/SPAN&gt;.&lt;SPAN&gt;CellValue&lt;/SPAN&gt;(&lt;SPAN&gt;String1&lt;/SPAN&gt;) = &lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"Offset"&lt;/SPAN&gt;)
&lt;SPAN&gt;GoExcel&lt;/SPAN&gt;.&lt;SPAN&gt;CellValue&lt;/SPAN&gt;(&lt;SPAN&gt;String2&lt;/SPAN&gt;) = &lt;SPAN&gt;Round&lt;/SPAN&gt;(&lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Volume&lt;/SPAN&gt; / 231, 1)
&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"Full"&lt;/SPAN&gt;) = &lt;SPAN&gt;Round&lt;/SPAN&gt;(&lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Volume&lt;/SPAN&gt; / 231, 1)

&lt;SPAN&gt;Height&lt;/SPAN&gt; = &lt;SPAN&gt;H2H&lt;/SPAN&gt;
&lt;SPAN&gt;Inc&lt;/SPAN&gt; = 1

&lt;SPAN&gt;Do&lt;/SPAN&gt; &lt;SPAN&gt;Until&lt;/SPAN&gt; &lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"Offset"&lt;/SPAN&gt;) &amp;gt; &lt;SPAN&gt;Height&lt;/SPAN&gt;
        &lt;SPAN&gt;GoExcel&lt;/SPAN&gt;.&lt;SPAN&gt;CellValue&lt;/SPAN&gt;(&lt;SPAN&gt;String1&lt;/SPAN&gt;) = &lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"Offset"&lt;/SPAN&gt;)
        &lt;SPAN&gt;GoExcel&lt;/SPAN&gt;.&lt;SPAN&gt;CellValue&lt;/SPAN&gt;(&lt;SPAN&gt;String2&lt;/SPAN&gt;) = &lt;SPAN&gt;Round&lt;/SPAN&gt;(&lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Volume&lt;/SPAN&gt; / 231, 1)
        &lt;SPAN&gt;i&lt;/SPAN&gt; = &lt;SPAN&gt;i&lt;/SPAN&gt; + &lt;SPAN&gt;Inc&lt;/SPAN&gt;
        &lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"Offset"&lt;/SPAN&gt;) = &lt;SPAN&gt;i&lt;/SPAN&gt; * (1 in    / 1 ul)
        
        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;myChars&lt;/SPAN&gt;() &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Char&lt;/SPAN&gt; = &lt;SPAN&gt;String1&lt;/SPAN&gt;.&lt;SPAN&gt;ToCharArray&lt;/SPAN&gt;()
        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;resultString&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&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;ch&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Char&lt;/SPAN&gt; &lt;SPAN&gt;In&lt;/SPAN&gt; &lt;SPAN&gt;myChars&lt;/SPAN&gt;
             &lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;Char&lt;/SPAN&gt;.&lt;SPAN&gt;IsDigit&lt;/SPAN&gt;(&lt;SPAN&gt;ch&lt;/SPAN&gt;) &lt;SPAN&gt;Then&lt;/SPAN&gt;
                  &lt;SPAN&gt;resultString&lt;/SPAN&gt; = &lt;SPAN&gt;resultString&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;ch&lt;/SPAN&gt;
             &lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
        &lt;SPAN&gt;Next&lt;/SPAN&gt;
        &lt;SPAN&gt;A&lt;/SPAN&gt; = &lt;SPAN&gt;CStr&lt;/SPAN&gt;(&lt;SPAN&gt;resultString&lt;/SPAN&gt;) + &lt;SPAN&gt;Inc&lt;/SPAN&gt;
        &lt;SPAN&gt;String1&lt;/SPAN&gt; = &lt;SPAN&gt;Left&lt;/SPAN&gt;(&lt;SPAN&gt;String1&lt;/SPAN&gt;,1) &amp;amp; &lt;SPAN&gt;CStr&lt;/SPAN&gt;(&lt;SPAN&gt;A&lt;/SPAN&gt;)
        &lt;SPAN&gt;String2&lt;/SPAN&gt; = &lt;SPAN&gt;Left&lt;/SPAN&gt;(&lt;SPAN&gt;String2&lt;/SPAN&gt;,1) &amp;amp; &lt;SPAN&gt;CStr&lt;/SPAN&gt;(&lt;SPAN&gt;A&lt;/SPAN&gt;)

        &lt;SPAN&gt;InventorVb&lt;/SPAN&gt;.&lt;SPAN&gt;DocumentUpdate&lt;/SPAN&gt;(&lt;SPAN&gt;False&lt;/SPAN&gt;)    &lt;SPAN&gt;'required to get current mass properties&lt;/SPAN&gt;
&lt;SPAN&gt;Loop&lt;/SPAN&gt;

&lt;SPAN&gt;GoExcel&lt;/SPAN&gt;.&lt;SPAN&gt;CellValue&lt;/SPAN&gt;(&lt;SPAN&gt;String1&lt;/SPAN&gt;) = &lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"Offset"&lt;/SPAN&gt;)
&lt;SPAN&gt;GoExcel&lt;/SPAN&gt;.&lt;SPAN&gt;CellValue&lt;/SPAN&gt;(&lt;SPAN&gt;String2&lt;/SPAN&gt;) = &lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"Full"&lt;/SPAN&gt;)
&lt;SPAN&gt;GoExcel&lt;/SPAN&gt;.&lt;SPAN&gt;CellValue&lt;/SPAN&gt;(&lt;SPAN&gt;"B4"&lt;/SPAN&gt;) = 0

&lt;SPAN&gt;GoExcel&lt;/SPAN&gt;.&lt;SPAN&gt;Save&lt;/SPAN&gt;
&lt;SPAN&gt;GoExcel&lt;/SPAN&gt;.&lt;SPAN&gt;Close&lt;/SPAN&gt;

&lt;SPAN&gt;Feature&lt;/SPAN&gt;.&lt;SPAN&gt;IsActive&lt;/SPAN&gt;(&lt;SPAN&gt;"Split1"&lt;/SPAN&gt;) = &lt;SPAN&gt;False&lt;/SPAN&gt;
&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I am very grateful for your time and expertise in helping me solve this. I will mark this topic as "Accepted Solution"&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Sincerely,&lt;/P&gt;
&lt;P&gt;Steven&lt;/P&gt;</description>
      <pubDate>Mon, 25 Feb 2019 16:05:01 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-ilogic/how-to-write-an-ilogic-rule-with-a-loop-that-outputs-a-table-of/m-p/8619378#M94917</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2019-02-25T16:05:01Z</dc:date>
    </item>
  </channel>
</rss>

