<?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: Immediate parameter update in iLogic rule in Inventor Programming - iLogic, Macros, AddIns &amp; Apprentice</title>
    <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/immediate-parameter-update-in-ilogic-rule/m-p/8884530#M99022</link>
    <description>&lt;P&gt;@Anonymous&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Can you please provide sample model data to test the behavior? please make sure that files are non confidential.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks and regards,&lt;/P&gt;</description>
    <pubDate>Tue, 02 Jul 2019 06:58:51 GMT</pubDate>
    <dc:creator>chandra.shekar.g</dc:creator>
    <dc:date>2019-07-02T06:58:51Z</dc:date>
    <item>
      <title>Immediate parameter update in iLogic rule</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/immediate-parameter-update-in-ilogic-rule/m-p/8875079#M98801</link>
      <description>&lt;P&gt;I've searched and incorporated proposed solutions to this, but not finding it working.&amp;nbsp; Hashed rule posted below.&amp;nbsp; Below just a step in developing a more comprehensive approach (form input etc).&lt;/P&gt;&lt;P&gt;I want to input a value for a parameter and then be given the value of a dependent function based parameter, then be prompted to adjust the first parameter if required.&amp;nbsp; However the dependent parameter returned is the old value; it isn't updating immediately.&amp;nbsp; Relevant Sub is Format_L.&amp;nbsp; Anyone who can help?&amp;nbsp; Thanks!&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;Sub&lt;/SPAN&gt; &lt;SPAN&gt;main&lt;/SPAN&gt;
	
	&lt;SPAN&gt;'check that this active document is a part file   &lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;partDoc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;PartDocument&lt;/SPAN&gt;
	
	&lt;SPAN&gt;'call subs&lt;/SPAN&gt;
	&lt;SPAN&gt;SetProjectProperties&lt;/SPAN&gt;
	&lt;SPAN&gt;Format_L&lt;/SPAN&gt;
	&lt;SPAN&gt;AppendSBPrefix&lt;/SPAN&gt;
	&lt;SPAN&gt;InventorVb&lt;/SPAN&gt;.&lt;SPAN&gt;DocumentUpdate&lt;/SPAN&gt;()
		
&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt;

&lt;SPAN&gt;Sub&lt;/SPAN&gt; &lt;SPAN&gt;Format_L&lt;/SPAN&gt;
	&lt;SPAN&gt;'Set the relevant left side run length and squab parameters&lt;/SPAN&gt;
	&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"Length_A"&lt;/SPAN&gt;) = &lt;SPAN&gt;InputBox&lt;/SPAN&gt;(&lt;SPAN&gt;"Please enter overall booth run length 'A' in mm"&lt;/SPAN&gt;, &lt;SPAN&gt;"Layout length 'A'"&lt;/SPAN&gt;, &lt;SPAN&gt;Length_A&lt;/SPAN&gt;)
	&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"Squab_No_A"&lt;/SPAN&gt;) = &lt;SPAN&gt;InputBox&lt;/SPAN&gt;(&lt;SPAN&gt;"Please enter number of squabs reguired for run length 'A'"&lt;/SPAN&gt;, &lt;SPAN&gt;"No. squabs run 'A'"&lt;/SPAN&gt;, &lt;SPAN&gt;Squab_No_A&lt;/SPAN&gt;)
	&lt;SPAN&gt;'Set the relevant right side run length and squab parameters&lt;/SPAN&gt;
	&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"Length_B"&lt;/SPAN&gt;) = &lt;SPAN&gt;InputBox&lt;/SPAN&gt;(&lt;SPAN&gt;"Please enter overall booth run length 'B' in mm"&lt;/SPAN&gt;, &lt;SPAN&gt;"Layout length 'B'"&lt;/SPAN&gt;, &lt;SPAN&gt;Length_B&lt;/SPAN&gt;)
	&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"Squab_No_B"&lt;/SPAN&gt;) = &lt;SPAN&gt;InputBox&lt;/SPAN&gt;(&lt;SPAN&gt;"Please enter number of squabs reguired for run length 'B'"&lt;/SPAN&gt;, &lt;SPAN&gt;"No. squabs run 'B'"&lt;/SPAN&gt;, &lt;SPAN&gt;Squab_No_B&lt;/SPAN&gt;)
	&lt;SPAN&gt;'Update the parameters immediately&lt;/SPAN&gt;
	&lt;SPAN&gt;RuleParametersOutput&lt;/SPAN&gt;()
	&lt;SPAN&gt;InventorVb&lt;/SPAN&gt;.&lt;SPAN&gt;DocumentUpdate&lt;/SPAN&gt;()
	&lt;SPAN&gt;'Set the relevant carcass parameters&lt;/SPAN&gt;
	&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"Carcass_Length_Limit"&lt;/SPAN&gt;) = &lt;SPAN&gt;InputBox&lt;/SPAN&gt;(&lt;SPAN&gt;"Please enter maximum carcass length for shipping/handling"&lt;/SPAN&gt;, &lt;SPAN&gt;"Carcass limit length"&lt;/SPAN&gt;, &lt;SPAN&gt;Carcass_Length_Limit&lt;/SPAN&gt;)
	&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"Spine_No_A"&lt;/SPAN&gt;) = &lt;SPAN&gt;InputBox&lt;/SPAN&gt;(&lt;SPAN&gt;Spine_Spacing_IS_A&lt;/SPAN&gt;, &lt;SPAN&gt;"Please adjust run 'A' spine quantity if required"&lt;/SPAN&gt;, &lt;SPAN&gt;Spine_No_A&lt;/SPAN&gt;)
	&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"Spine_No_B"&lt;/SPAN&gt;) = &lt;SPAN&gt;InputBox&lt;/SPAN&gt;(&lt;SPAN&gt;Spine_Spacing_IS_B&lt;/SPAN&gt;, &lt;SPAN&gt;"Please adjust run 'B' spine quantity if required"&lt;/SPAN&gt;, &lt;SPAN&gt;Spine_No_B&lt;/SPAN&gt;)
&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt;

&lt;SPAN&gt;Sub&lt;/SPAN&gt; &lt;SPAN&gt;SetProjectProperties&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oProject&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oProductNo&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;

	&lt;SPAN&gt;oProject&lt;/SPAN&gt; = &lt;SPAN&gt;InputBox&lt;/SPAN&gt;(&lt;SPAN&gt;"Enter the Sales Order number"&lt;/SPAN&gt;, &lt;SPAN&gt;"Sales Order"&lt;/SPAN&gt;, &lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;"Project"&lt;/SPAN&gt;, &lt;SPAN&gt;"Project"&lt;/SPAN&gt;))
	&lt;SPAN&gt;oProductNo&lt;/SPAN&gt; = &lt;SPAN&gt;InputBox&lt;/SPAN&gt;(&lt;SPAN&gt;"Enter the Product Number for this layout"&lt;/SPAN&gt;, &lt;SPAN&gt;"Product Number"&lt;/SPAN&gt;, &lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;"Project"&lt;/SPAN&gt;, &lt;SPAN&gt;"Part Number"&lt;/SPAN&gt;))
	
	&lt;SPAN&gt;'write input back to custom iProperty&lt;/SPAN&gt;
	&lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;"Project"&lt;/SPAN&gt;, &lt;SPAN&gt;"Project"&lt;/SPAN&gt;) = &lt;SPAN&gt;oProject&lt;/SPAN&gt;
	&lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;"Project"&lt;/SPAN&gt;, &lt;SPAN&gt;"Part Number"&lt;/SPAN&gt;) = &lt;SPAN&gt;oProductNo&lt;/SPAN&gt;
	&lt;SPAN&gt;oPrefix&lt;/SPAN&gt; = &lt;SPAN&gt;oProductNo&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;"_"&lt;/SPAN&gt;
	&lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;"Custom"&lt;/SPAN&gt;, &lt;SPAN&gt;"Prefix"&lt;/SPAN&gt;) = &lt;SPAN&gt;oPrefix&lt;/SPAN&gt;
&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt;

&lt;SPAN&gt;Sub&lt;/SPAN&gt; &lt;SPAN&gt;AppendSBPrefix&lt;/SPAN&gt;
	&lt;SPAN&gt;'define the active document&lt;/SPAN&gt;
	&lt;SPAN&gt;partDoc&lt;/SPAN&gt; = &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;.&lt;SPAN&gt;ActiveDocument&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;SB&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;SurfaceBody&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;SBName&lt;/SPAN&gt;
	
	&lt;SPAN&gt;'write the prefix&lt;/SPAN&gt;
	&lt;SPAN&gt;oPrefix&lt;/SPAN&gt; = &lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;"Custom"&lt;/SPAN&gt;, &lt;SPAN&gt;"Prefix"&lt;/SPAN&gt;)

	&lt;SPAN&gt;'rename all solid bodies incrementing counter (counter not presently used, left in event required later)&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;i&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Integer&lt;/SPAN&gt;
	&lt;SPAN&gt;i&lt;/SPAN&gt; = 1
	&lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;Each&lt;/SPAN&gt; &lt;SPAN&gt;SB&lt;/SPAN&gt; &lt;SPAN&gt;In&lt;/SPAN&gt; &lt;SPAN&gt;partDoc&lt;/SPAN&gt;.&lt;SPAN&gt;ComponentDefinition&lt;/SPAN&gt;.&lt;SPAN&gt;SurfaceBodies&lt;/SPAN&gt;
	&lt;SPAN&gt;SB&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt; = &lt;SPAN&gt;oPrefix&lt;/SPAN&gt; + &lt;SPAN&gt;SB&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt;
	&lt;SPAN&gt;i&lt;/SPAN&gt; = &lt;SPAN&gt;i&lt;/SPAN&gt; + 1
	&lt;SPAN&gt;Next&lt;/SPAN&gt;
&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 26 Jun 2019 23:42:40 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-ilogic/immediate-parameter-update-in-ilogic-rule/m-p/8875079#M98801</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2019-06-26T23:42:40Z</dc:date>
    </item>
    <item>
      <title>Re: Immediate parameter update in iLogic rule</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/immediate-parameter-update-in-ilogic-rule/m-p/8884530#M99022</link>
      <description>&lt;P&gt;@Anonymous&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Can you please provide sample model data to test the behavior? please make sure that files are non confidential.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks and regards,&lt;/P&gt;</description>
      <pubDate>Tue, 02 Jul 2019 06:58:51 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-ilogic/immediate-parameter-update-in-ilogic-rule/m-p/8884530#M99022</guid>
      <dc:creator>chandra.shekar.g</dc:creator>
      <dc:date>2019-07-02T06:58:51Z</dc:date>
    </item>
    <item>
      <title>Re: Immediate parameter update in iLogic rule</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/immediate-parameter-update-in-ilogic-rule/m-p/8885226#M99043</link>
      <description>&lt;P&gt;You want the immediate value of "Spine_Spacing_IS_B"? You need to use the Parameter("Spine_Spacing_IS_B") function to get it...&lt;/P&gt;&lt;PRE&gt;Sub Format_L
	'Set the relevant left side run length and squab parameters
	Parameter("Length_A") = InputBox("Please enter overall booth run length 'A' in mm", "Layout length 'A'", Length_A)
	Parameter("Squab_No_A") = InputBox("Please enter number of squabs reguired for run length 'A'", "No. squabs run 'A'", Squab_No_A)
	'Set the relevant right side run length and squab parameters
	Parameter("Length_B") = InputBox("Please enter overall booth run length 'B' in mm", "Layout length 'B'", Length_B)
	Parameter("Squab_No_B") = InputBox("Please enter number of squabs reguired for run length 'B'", "No. squabs run 'B'", Squab_No_B)
	'Update the parameters immediately
	RuleParametersOutput()
	InventorVb.DocumentUpdate()
	'Set the relevant carcass parameters
	Parameter("Carcass_Length_Limit") = InputBox("Please enter maximum carcass length for shipping/handling", "Carcass limit length", Carcass_Length_Limit)
	Parameter("Spine_No_A") = InputBox(Parameter("Spine_Spacing_IS_A"), "Please adjust run 'A' spine quantity if required", Spine_No_A)
	Parameter("Spine_No_B") = InputBox(Parameter("Spine_Spacing_IS_B"), "Please adjust run 'B' spine quantity if required", Spine_No_B)
End Sub&lt;/PRE&gt;</description>
      <pubDate>Tue, 02 Jul 2019 12:59:04 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-ilogic/immediate-parameter-update-in-ilogic-rule/m-p/8885226#M99043</guid>
      <dc:creator>clutsa</dc:creator>
      <dc:date>2019-07-02T12:59:04Z</dc:date>
    </item>
  </channel>
</rss>

