<?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: Parameter changes don't fire until rule is done in Inventor Programming Forum</title>
    <link>https://forums.autodesk.com/t5/inventor-programming-forum/parameter-changes-don-t-fire-until-rule-is-done/m-p/10881209#M41449</link>
    <description>&lt;P&gt;I had a quick look at this. It seems when your looking to display the parameter value using the local document parameter ( blue in the editor) the value is not completely up to date. It seems to be one case statement behind at times. Only running the rule twice will get this to display the correct pitch per chainSize&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;MessageBox&lt;/SPAN&gt;.&lt;SPAN&gt;Show&lt;/SPAN&gt;(&lt;SPAN&gt;ChainSize&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;vbLf&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;Pitch&lt;/SPAN&gt;, &lt;SPAN&gt;"after case statement"&lt;/SPAN&gt;)&lt;/PRE&gt;&lt;P&gt;&lt;SPAN&gt;This test is backed up by the help document information stating&lt;/SPAN&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;P class=""&gt;&lt;STRONG&gt;Parameter.UpdateAfterChange&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;= True&lt;/P&gt;&lt;P class=""&gt;True will cause the model (document) to Update after a parameter value is changed by the Parameter function. This only takes effect when you change parameters using the Parameter function. For example:&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Replacing the local parameter with the parameter function of "&amp;nbsp;&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"Pitch"&lt;/SPAN&gt;)" will give you the updated value each time.&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;MessageBox&lt;/SPAN&gt;.&lt;SPAN&gt;Show&lt;/SPAN&gt;(&lt;SPAN&gt;ChainSize&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;vbLf&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"Pitch"&lt;/SPAN&gt;), &lt;SPAN&gt;"after case statement"&lt;/SPAN&gt;)&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;This is working&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;'set value to update model after parameter change&lt;/SPAN&gt;
&lt;SPAN&gt;Parameter&lt;/SPAN&gt;.&lt;SPAN&gt;UpdateAfterChange&lt;/SPAN&gt; = &lt;SPAN&gt;True&lt;BR /&gt;&lt;/SPAN&gt;
&lt;SPAN&gt;Select&lt;/SPAN&gt; &lt;SPAN&gt;Case&lt;/SPAN&gt; &lt;SPAN&gt;ChainSize&lt;/SPAN&gt; &lt;SPAN&gt;'drop down in Parameters&lt;/SPAN&gt;
	&lt;SPAN&gt;Case&lt;/SPAN&gt; &lt;SPAN&gt;"40"&lt;/SPAN&gt;
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"Pitch"&lt;/SPAN&gt;) = .500
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"RollerD"&lt;/SPAN&gt;) = .312
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"RollerW"&lt;/SPAN&gt;) = .312
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"PinD"&lt;/SPAN&gt;) = .156
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"PinW"&lt;/SPAN&gt;) = .642
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"PlateT"&lt;/SPAN&gt;) = .058
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"PlateH"&lt;/SPAN&gt;) = .475
	&lt;SPAN&gt;Case&lt;/SPAN&gt; &lt;SPAN&gt;"50"&lt;/SPAN&gt;
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"Pitch"&lt;/SPAN&gt;)= .625
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"RollerD"&lt;/SPAN&gt;) = .400
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"RollerW"&lt;/SPAN&gt;) = .375
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"PinD"&lt;/SPAN&gt;) = .200
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"PinW"&lt;/SPAN&gt;) = .794
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"PlateT"&lt;/SPAN&gt;) = .079
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"PlateH"&lt;/SPAN&gt;) = .594
	&lt;SPAN&gt;Case&lt;/SPAN&gt; &lt;SPAN&gt;"60"&lt;/SPAN&gt;
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"Pitch"&lt;/SPAN&gt;) = .750
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"RollerD"&lt;/SPAN&gt;) = .469
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"RollerW"&lt;/SPAN&gt;) = .500
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"PinD"&lt;/SPAN&gt;) = .234
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"PinW"&lt;/SPAN&gt;) = .994
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"PlateT"&lt;/SPAN&gt;) = .093
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"PlateH"&lt;/SPAN&gt;) = .712
	&lt;SPAN&gt;Case&lt;/SPAN&gt; &lt;SPAN&gt;"80"&lt;/SPAN&gt;
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"Pitch"&lt;/SPAN&gt;) = 1.000
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"RollerD"&lt;/SPAN&gt;) = .625
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"RollerW"&lt;/SPAN&gt;) = .625
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"PinD"&lt;/SPAN&gt;) = .312
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"PinW"&lt;/SPAN&gt;) = 1.290
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"PlateT"&lt;/SPAN&gt;) = .125
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"PlateH"&lt;/SPAN&gt;) = .950
&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Select&lt;/SPAN&gt;

&lt;SPAN&gt;MessageBox&lt;/SPAN&gt;.&lt;SPAN&gt;Show&lt;/SPAN&gt;(&lt;SPAN&gt;ChainSize&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;vbLf&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"Pitch"&lt;/SPAN&gt;), &lt;SPAN&gt;"after case statement"&lt;/SPAN&gt;)&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Or if you keep using the local parameter value without the function like this&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;'set value to update model after parameter change&lt;/SPAN&gt;
&lt;SPAN&gt;Parameter&lt;/SPAN&gt;.&lt;SPAN&gt;UpdateAfterChange&lt;/SPAN&gt; = &lt;SPAN&gt;True&lt;/SPAN&gt;

&lt;SPAN&gt;Select&lt;/SPAN&gt; &lt;SPAN&gt;Case&lt;/SPAN&gt; &lt;SPAN&gt;ChainSize&lt;/SPAN&gt; &lt;SPAN&gt;'drop down in Parameters&lt;/SPAN&gt;
	&lt;SPAN&gt;Case&lt;/SPAN&gt; &lt;SPAN&gt;"40"&lt;/SPAN&gt;
		&lt;SPAN&gt;Pitch&lt;/SPAN&gt; = .500
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"RollerD"&lt;/SPAN&gt;) = .312
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"RollerW"&lt;/SPAN&gt;) = .312
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"PinD"&lt;/SPAN&gt;) = .156
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"PinW"&lt;/SPAN&gt;) = .642
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"PlateT"&lt;/SPAN&gt;) = .058
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"PlateH"&lt;/SPAN&gt;) = .475
	&lt;SPAN&gt;Case&lt;/SPAN&gt; &lt;SPAN&gt;"50"&lt;/SPAN&gt;
		&lt;SPAN&gt;Pitch&lt;/SPAN&gt; = .625
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"RollerD"&lt;/SPAN&gt;) = .400
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"RollerW"&lt;/SPAN&gt;) = .375
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"PinD"&lt;/SPAN&gt;) = .200
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"PinW"&lt;/SPAN&gt;) = .794
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"PlateT"&lt;/SPAN&gt;) = .079
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"PlateH"&lt;/SPAN&gt;) = .594
	&lt;SPAN&gt;Case&lt;/SPAN&gt; &lt;SPAN&gt;"60"&lt;/SPAN&gt;
		&lt;SPAN&gt;Pitch&lt;/SPAN&gt; = .750
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"RollerD"&lt;/SPAN&gt;) = .469
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"RollerW"&lt;/SPAN&gt;) = .500
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"PinD"&lt;/SPAN&gt;) = .234
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"PinW"&lt;/SPAN&gt;) = .994
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"PlateT"&lt;/SPAN&gt;) = .093
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"PlateH"&lt;/SPAN&gt;) = .712
	&lt;SPAN&gt;Case&lt;/SPAN&gt; &lt;SPAN&gt;"80"&lt;/SPAN&gt;
		&lt;SPAN&gt;Pitch&lt;/SPAN&gt; = 1.000
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"RollerD"&lt;/SPAN&gt;) = .625
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"RollerW"&lt;/SPAN&gt;) = .625
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"PinD"&lt;/SPAN&gt;) = .312
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"PinW"&lt;/SPAN&gt;) = 1.290
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"PlateT"&lt;/SPAN&gt;) = .125
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"PlateH"&lt;/SPAN&gt;) = .950
&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Select&lt;/SPAN&gt;

&lt;SPAN&gt;MessageBox&lt;/SPAN&gt;.&lt;SPAN&gt;Show&lt;/SPAN&gt;(&lt;SPAN&gt;ChainSize&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;vbLf&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;Pitch&lt;/SPAN&gt;, &lt;SPAN&gt;"after case statement"&lt;/SPAN&gt;)

&lt;SPAN&gt;'immediately update model with the above parameters&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;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;It seems the mixing of the local parameter and parameter functions methods is what causes the issues. If you use one or the other it works.&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Sat, 15 Jan 2022 00:01:07 GMT</pubDate>
    <dc:creator>A.Acheson</dc:creator>
    <dc:date>2022-01-15T00:01:07Z</dc:date>
    <item>
      <title>Parameter changes don't fire until rule is done</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/parameter-changes-don-t-fire-until-rule-is-done/m-p/10877699#M41444</link>
      <description>&lt;P&gt;I have a Multi-value parameter, choosing Chain Size.&lt;/P&gt;&lt;P&gt;There's a case statement in a rule, that changes other parameters, based on that Chain Size.&lt;/P&gt;&lt;P&gt;With the parameters box open, if I change that Chain Size value, the rule will fire (as it should). I placed a message box in the rule (after the case statement) to notify me. What happens, sequentially:&lt;/P&gt;&lt;P&gt;I change the value.&lt;/P&gt;&lt;P&gt;The rule fires.&lt;/P&gt;&lt;P&gt;I see the message box, that the rule has gotten to that point.&lt;/P&gt;&lt;P&gt;However, the other parameters don't actually change until the rule is complete.&lt;/P&gt;&lt;P&gt;How can I update those parameters, before continuing with the rule? ...like an "interrupt, for update"?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have tried:&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;iLogicVb&lt;/SPAN&gt;.&lt;SPAN&gt;UpdateWhenDone&lt;/SPAN&gt; = &lt;SPAN&gt;True&lt;BR /&gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN&gt;RuleParametersOutput&lt;/SPAN&gt;(), then &lt;SPAN&gt;InventorVb&lt;/SPAN&gt;.&lt;SPAN&gt;DocumentUpdate&lt;/SPAN&gt;()&lt;/PRE&gt;</description>
      <pubDate>Thu, 13 Jan 2022 17:08:41 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/parameter-changes-don-t-fire-until-rule-is-done/m-p/10877699#M41444</guid>
      <dc:creator>Electrik</dc:creator>
      <dc:date>2022-01-13T17:08:41Z</dc:date>
    </item>
    <item>
      <title>Re: Parameter changes don't fire until rule is done</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/parameter-changes-don-t-fire-until-rule-is-done/m-p/10878028#M41445</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;According to the help document&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://help.autodesk.com/view/INVNTOR/2021/ENU/?guid=GUID-6B4885C8-7E75-4FEA-8DEF-EA7D40F33EB3" target="_blank" rel="noopener nofollow noreferrer"&gt;here&lt;/A&gt;&lt;SPAN&gt;&amp;nbsp;maybe try&amp;nbsp;&lt;STRONG&gt;Parameter.UpdateAfterChange&lt;/STRONG&gt;&amp;nbsp;= True&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;P class=""&gt;&lt;STRONG&gt;Parameter.UpdateAfterChange&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;= True&lt;/P&gt;&lt;P class=""&gt;True will cause the model (document) to Update after a parameter value is changed by the Parameter function. This only takes effect when you change parameters using the Parameter function. For example:&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;Parameter.UpdateAfterChange&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;= True&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;Parameter&lt;/STRONG&gt;("d0")&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;= 2.5&lt;/STRONG&gt;&lt;P class=""&gt;This will update the model.&lt;/P&gt;&lt;DIV class=""&gt;&lt;SPAN class=""&gt;Note:&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;("d0")&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;= 2.5&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;will NOT update the model.&lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;DIV class=""&gt;&lt;STRONG&gt;To update the model in the middle of the rule (after changing some parameters) use these two statements together:&lt;/STRONG&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI&gt;&lt;STRONG&gt;RuleParametersOutput()&lt;/STRONG&gt;&lt;DIV class=""&gt;&lt;SPAN class=""&gt;Note:&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;- This will assign the current values of the parameter local variables to the model.&lt;/DIV&gt;&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;InventorVb.DocumentUpdate()&lt;/STRONG&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P class=""&gt;If you do not need to update the model in the middle of the rule, you can tell the system to update when it has finished running the rule. Use this statement:&lt;STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;iLogicVb.UpdateWhenDone&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;= True.&lt;/P&gt;&lt;/DIV&gt;</description>
      <pubDate>Thu, 13 Jan 2022 19:30:09 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/parameter-changes-don-t-fire-until-rule-is-done/m-p/10878028#M41445</guid>
      <dc:creator>A.Acheson</dc:creator>
      <dc:date>2022-01-13T19:30:09Z</dc:date>
    </item>
    <item>
      <title>Re: Parameter changes don't fire until rule is done</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/parameter-changes-don-t-fire-until-rule-is-done/m-p/10878217#M41446</link>
      <description>&lt;P&gt;Thanks for the idea, but that wasn't working, either.&lt;/P&gt;&lt;P&gt;I suspect it's related to this: The one Parameter in question is Pitch. It's not used in the model, only calculations. Therefore, the model operations don't seem to affect it...like the one you mentioned.&lt;/P&gt;&lt;P&gt;However, it made me think to remove it from the parameters, and treat it only as a temp variable within the rule. That got me closer, but there's other related issues: I have to split my rules up, to fire some calculations ANY time the model changes - I found that trigger.&lt;/P&gt;</description>
      <pubDate>Thu, 13 Jan 2022 21:12:51 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/parameter-changes-don-t-fire-until-rule-is-done/m-p/10878217#M41446</guid>
      <dc:creator>Electrik</dc:creator>
      <dc:date>2022-01-13T21:12:51Z</dc:date>
    </item>
    <item>
      <title>Re: Parameter changes don't fire until rule is done</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/parameter-changes-don-t-fire-until-rule-is-done/m-p/10878282#M41447</link>
      <description>&lt;P&gt;Can you supply a trimmed down part file with the parameters that shows the update problem? Unfortunately these issues can be hard to diagnose without the data set or more information on the code. Can you share the full code and&amp;nbsp; even a screenshot of the parameters box?&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 13 Jan 2022 21:48:40 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/parameter-changes-don-t-fire-until-rule-is-done/m-p/10878282#M41447</guid>
      <dc:creator>A.Acheson</dc:creator>
      <dc:date>2022-01-13T21:48:40Z</dc:date>
    </item>
    <item>
      <title>Re: Parameter changes don't fire until rule is done</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/parameter-changes-don-t-fire-until-rule-is-done/m-p/10879641#M41448</link>
      <description>&lt;P&gt;I've attached my file. The intent is to select the ChainSize through parameters, which changes other parameters, including Pitch. However, When the rule (OriginalFull) fires, it seems to complete the rule, THEN update the parameters. I need the parameters updated first, for the calculations (Property settings) that follow. The ideas above didn't work. (Because Pitch isn't actually used in the model?)&lt;/P&gt;&lt;P&gt;Therefore, I split the rules base up into two. Part1 is just the Case Statement for ChainSize. Then, I'm firing Part2 with a Trigger, after any model update. This works better, to account for changes to other values (chain path as a whole) that aren't in the rule. It still just doesn't seem right. I'll get back to it this morning, myself.&lt;/P&gt;&lt;P&gt;(I have a bunch of message boxes that I've "commented out" that I use for diagnostics.)&lt;/P&gt;&lt;P&gt;Thanks for your time!&lt;/P&gt;</description>
      <pubDate>Fri, 14 Jan 2022 12:18:23 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/parameter-changes-don-t-fire-until-rule-is-done/m-p/10879641#M41448</guid>
      <dc:creator>Electrik</dc:creator>
      <dc:date>2022-01-14T12:18:23Z</dc:date>
    </item>
    <item>
      <title>Re: Parameter changes don't fire until rule is done</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/parameter-changes-don-t-fire-until-rule-is-done/m-p/10881209#M41449</link>
      <description>&lt;P&gt;I had a quick look at this. It seems when your looking to display the parameter value using the local document parameter ( blue in the editor) the value is not completely up to date. It seems to be one case statement behind at times. Only running the rule twice will get this to display the correct pitch per chainSize&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;MessageBox&lt;/SPAN&gt;.&lt;SPAN&gt;Show&lt;/SPAN&gt;(&lt;SPAN&gt;ChainSize&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;vbLf&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;Pitch&lt;/SPAN&gt;, &lt;SPAN&gt;"after case statement"&lt;/SPAN&gt;)&lt;/PRE&gt;&lt;P&gt;&lt;SPAN&gt;This test is backed up by the help document information stating&lt;/SPAN&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;P class=""&gt;&lt;STRONG&gt;Parameter.UpdateAfterChange&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;= True&lt;/P&gt;&lt;P class=""&gt;True will cause the model (document) to Update after a parameter value is changed by the Parameter function. This only takes effect when you change parameters using the Parameter function. For example:&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Replacing the local parameter with the parameter function of "&amp;nbsp;&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"Pitch"&lt;/SPAN&gt;)" will give you the updated value each time.&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;MessageBox&lt;/SPAN&gt;.&lt;SPAN&gt;Show&lt;/SPAN&gt;(&lt;SPAN&gt;ChainSize&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;vbLf&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"Pitch"&lt;/SPAN&gt;), &lt;SPAN&gt;"after case statement"&lt;/SPAN&gt;)&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;This is working&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;'set value to update model after parameter change&lt;/SPAN&gt;
&lt;SPAN&gt;Parameter&lt;/SPAN&gt;.&lt;SPAN&gt;UpdateAfterChange&lt;/SPAN&gt; = &lt;SPAN&gt;True&lt;BR /&gt;&lt;/SPAN&gt;
&lt;SPAN&gt;Select&lt;/SPAN&gt; &lt;SPAN&gt;Case&lt;/SPAN&gt; &lt;SPAN&gt;ChainSize&lt;/SPAN&gt; &lt;SPAN&gt;'drop down in Parameters&lt;/SPAN&gt;
	&lt;SPAN&gt;Case&lt;/SPAN&gt; &lt;SPAN&gt;"40"&lt;/SPAN&gt;
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"Pitch"&lt;/SPAN&gt;) = .500
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"RollerD"&lt;/SPAN&gt;) = .312
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"RollerW"&lt;/SPAN&gt;) = .312
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"PinD"&lt;/SPAN&gt;) = .156
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"PinW"&lt;/SPAN&gt;) = .642
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"PlateT"&lt;/SPAN&gt;) = .058
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"PlateH"&lt;/SPAN&gt;) = .475
	&lt;SPAN&gt;Case&lt;/SPAN&gt; &lt;SPAN&gt;"50"&lt;/SPAN&gt;
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"Pitch"&lt;/SPAN&gt;)= .625
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"RollerD"&lt;/SPAN&gt;) = .400
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"RollerW"&lt;/SPAN&gt;) = .375
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"PinD"&lt;/SPAN&gt;) = .200
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"PinW"&lt;/SPAN&gt;) = .794
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"PlateT"&lt;/SPAN&gt;) = .079
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"PlateH"&lt;/SPAN&gt;) = .594
	&lt;SPAN&gt;Case&lt;/SPAN&gt; &lt;SPAN&gt;"60"&lt;/SPAN&gt;
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"Pitch"&lt;/SPAN&gt;) = .750
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"RollerD"&lt;/SPAN&gt;) = .469
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"RollerW"&lt;/SPAN&gt;) = .500
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"PinD"&lt;/SPAN&gt;) = .234
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"PinW"&lt;/SPAN&gt;) = .994
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"PlateT"&lt;/SPAN&gt;) = .093
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"PlateH"&lt;/SPAN&gt;) = .712
	&lt;SPAN&gt;Case&lt;/SPAN&gt; &lt;SPAN&gt;"80"&lt;/SPAN&gt;
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"Pitch"&lt;/SPAN&gt;) = 1.000
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"RollerD"&lt;/SPAN&gt;) = .625
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"RollerW"&lt;/SPAN&gt;) = .625
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"PinD"&lt;/SPAN&gt;) = .312
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"PinW"&lt;/SPAN&gt;) = 1.290
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"PlateT"&lt;/SPAN&gt;) = .125
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"PlateH"&lt;/SPAN&gt;) = .950
&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Select&lt;/SPAN&gt;

&lt;SPAN&gt;MessageBox&lt;/SPAN&gt;.&lt;SPAN&gt;Show&lt;/SPAN&gt;(&lt;SPAN&gt;ChainSize&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;vbLf&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"Pitch"&lt;/SPAN&gt;), &lt;SPAN&gt;"after case statement"&lt;/SPAN&gt;)&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Or if you keep using the local parameter value without the function like this&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;'set value to update model after parameter change&lt;/SPAN&gt;
&lt;SPAN&gt;Parameter&lt;/SPAN&gt;.&lt;SPAN&gt;UpdateAfterChange&lt;/SPAN&gt; = &lt;SPAN&gt;True&lt;/SPAN&gt;

&lt;SPAN&gt;Select&lt;/SPAN&gt; &lt;SPAN&gt;Case&lt;/SPAN&gt; &lt;SPAN&gt;ChainSize&lt;/SPAN&gt; &lt;SPAN&gt;'drop down in Parameters&lt;/SPAN&gt;
	&lt;SPAN&gt;Case&lt;/SPAN&gt; &lt;SPAN&gt;"40"&lt;/SPAN&gt;
		&lt;SPAN&gt;Pitch&lt;/SPAN&gt; = .500
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"RollerD"&lt;/SPAN&gt;) = .312
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"RollerW"&lt;/SPAN&gt;) = .312
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"PinD"&lt;/SPAN&gt;) = .156
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"PinW"&lt;/SPAN&gt;) = .642
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"PlateT"&lt;/SPAN&gt;) = .058
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"PlateH"&lt;/SPAN&gt;) = .475
	&lt;SPAN&gt;Case&lt;/SPAN&gt; &lt;SPAN&gt;"50"&lt;/SPAN&gt;
		&lt;SPAN&gt;Pitch&lt;/SPAN&gt; = .625
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"RollerD"&lt;/SPAN&gt;) = .400
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"RollerW"&lt;/SPAN&gt;) = .375
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"PinD"&lt;/SPAN&gt;) = .200
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"PinW"&lt;/SPAN&gt;) = .794
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"PlateT"&lt;/SPAN&gt;) = .079
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"PlateH"&lt;/SPAN&gt;) = .594
	&lt;SPAN&gt;Case&lt;/SPAN&gt; &lt;SPAN&gt;"60"&lt;/SPAN&gt;
		&lt;SPAN&gt;Pitch&lt;/SPAN&gt; = .750
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"RollerD"&lt;/SPAN&gt;) = .469
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"RollerW"&lt;/SPAN&gt;) = .500
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"PinD"&lt;/SPAN&gt;) = .234
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"PinW"&lt;/SPAN&gt;) = .994
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"PlateT"&lt;/SPAN&gt;) = .093
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"PlateH"&lt;/SPAN&gt;) = .712
	&lt;SPAN&gt;Case&lt;/SPAN&gt; &lt;SPAN&gt;"80"&lt;/SPAN&gt;
		&lt;SPAN&gt;Pitch&lt;/SPAN&gt; = 1.000
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"RollerD"&lt;/SPAN&gt;) = .625
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"RollerW"&lt;/SPAN&gt;) = .625
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"PinD"&lt;/SPAN&gt;) = .312
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"PinW"&lt;/SPAN&gt;) = 1.290
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"PlateT"&lt;/SPAN&gt;) = .125
		&lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"PlateH"&lt;/SPAN&gt;) = .950
&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Select&lt;/SPAN&gt;

&lt;SPAN&gt;MessageBox&lt;/SPAN&gt;.&lt;SPAN&gt;Show&lt;/SPAN&gt;(&lt;SPAN&gt;ChainSize&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;vbLf&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;Pitch&lt;/SPAN&gt;, &lt;SPAN&gt;"after case statement"&lt;/SPAN&gt;)

&lt;SPAN&gt;'immediately update model with the above parameters&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;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;It seems the mixing of the local parameter and parameter functions methods is what causes the issues. If you use one or the other it works.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 15 Jan 2022 00:01:07 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/parameter-changes-don-t-fire-until-rule-is-done/m-p/10881209#M41449</guid>
      <dc:creator>A.Acheson</dc:creator>
      <dc:date>2022-01-15T00:01:07Z</dc:date>
    </item>
    <item>
      <title>Re: Parameter changes don't fire until rule is done</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/parameter-changes-don-t-fire-until-rule-is-done/m-p/10901259#M41450</link>
      <description>&lt;P&gt;Ah, I understand. Thank you so much! That seems to fix it. All those little details!&lt;/P&gt;</description>
      <pubDate>Mon, 24 Jan 2022 12:59:48 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/parameter-changes-don-t-fire-until-rule-is-done/m-p/10901259#M41450</guid>
      <dc:creator>Electrik</dc:creator>
      <dc:date>2022-01-24T12:59:48Z</dc:date>
    </item>
  </channel>
</rss>

