<?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: iLogic form with dynamic multivalue lists in Inventor Programming Forum</title>
    <link>https://forums.autodesk.com/t5/inventor-programming-forum/ilogic-form-with-dynamic-multivalue-lists/m-p/7698867#M93940</link>
    <description>&lt;P&gt;Ah! gotcha... and if I had more than two "types" I could use a select case rather than if/then/else correct?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Also, thanks a ton for your quick reply. You and your blog have helped me a ton already and don't even know it.&lt;/P&gt;</description>
    <pubDate>Wed, 17 Jan 2018 21:45:30 GMT</pubDate>
    <dc:creator>BrandonW9</dc:creator>
    <dc:date>2018-01-17T21:45:30Z</dc:date>
    <item>
      <title>iLogic form with dynamic multivalue lists</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/ilogic-form-with-dynamic-multivalue-lists/m-p/7698709#M93931</link>
      <description>&lt;P&gt;I'm currently working to make a "Property helper" form for my company, and had pretty much given up on the idea of being able to have my multi value lists change based on the choice in another.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;But, i just hopped on&lt;SPAN&gt;&amp;nbsp;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/105031"&gt;@Curtis_W&lt;/a&gt;'s&lt;/SPAN&gt; blog and noticed the post from just yesterday where he was talking abut dynamic value multi value lists!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://inventortrenches.blogspot.com/2017/02/ilogic-dynamic-multivalue-parameter.html" target="_blank"&gt;http://inventortrenches.blogspot.com/2017/02/ilogic-dynamic-multivalue-parameter.html&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The thing is... mine are text parameters.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;For a simplified example, the first choice would be "product type" where you choose from "tanks"&amp;nbsp; or "vaults".&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Next would be a "component type" list...&lt;/P&gt;
&lt;P&gt;If you choose "Tanks" the options are "Base", "Top", and "Baffle"&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;I&lt;/SPAN&gt;&lt;SPAN&gt;f you choose "Vaults" the options&amp;nbsp;might be&amp;nbsp;"Riser", "Base Slab", and "Top Slab"&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;I tried to look at&amp;nbsp;the code and think through how i would get it to work for my application, and i couldn't&amp;nbsp;work it out. I guess i would need to have different&amp;nbsp;lists like "VaultComponentTypes" and "TankComponentTypes" and set which list to assign when the "Product type" is chosen? Perhaps using a select case or something?&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;It seems like the code would get complicated and convoluted pretty quick like that, and i'm not even exactly sure how i'd do it, especially considering this is a VERY simplified example&amp;nbsp;of what I actually need to do.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Does anyone have an idea of how i can make this happen without creating a mess?&lt;/P&gt;</description>
      <pubDate>Wed, 17 Jan 2018 20:45:55 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/ilogic-form-with-dynamic-multivalue-lists/m-p/7698709#M93931</guid>
      <dc:creator>BrandonW9</dc:creator>
      <dc:date>2018-01-17T20:45:55Z</dc:date>
    </item>
    <item>
      <title>Re: iLogic form with dynamic multivalue lists</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/ilogic-form-with-dynamic-multivalue-lists/m-p/7698744#M93932</link>
      <description>&lt;P&gt;My tip is Simple:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Use something different than illogic.&lt;/P&gt;
&lt;P&gt;Use Vb.net add ins or equal.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;otherwise it will be a mess. because it is very hard to program in illogic.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;if you are familiar with I-logic the vb.net add in should not be that complicated for you.&lt;/P&gt;
&lt;P&gt;Most people are more afraid than actually needed to change form illogic to add ins.&lt;/P&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, 24 Sep 2025 21:06:57 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/ilogic-form-with-dynamic-multivalue-lists/m-p/7698744#M93932</guid>
      <dc:creator>bradeneuropeArthur</dc:creator>
      <dc:date>2025-09-24T21:06:57Z</dc:date>
    </item>
    <item>
      <title>Re: iLogic form with dynamic multivalue lists</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/ilogic-form-with-dynamic-multivalue-lists/m-p/7698773#M93933</link>
      <description>&lt;P&gt;I'm actually developing a Vb.net add in on the back burner,&amp;nbsp;but its a bit beyond my skill level and i'm floundering a bit, so I threw this form together this morning as a quick fix to buy myself some time.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;For the add in, i originally started out with different enumeration lists, but it was getting pretty knarly, so i was attempting to figure out how to use a JSON file to store the values when i got buried with higher priority tasks. I guess ill just re-focus on that when i have time.&lt;/P&gt;</description>
      <pubDate>Wed, 17 Jan 2018 21:11:49 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/ilogic-form-with-dynamic-multivalue-lists/m-p/7698773#M93933</guid>
      <dc:creator>BrandonW9</dc:creator>
      <dc:date>2018-01-17T21:11:49Z</dc:date>
    </item>
    <item>
      <title>Re: iLogic form with dynamic multivalue lists</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/ilogic-form-with-dynamic-multivalue-lists/m-p/7698794#M93934</link>
      <description>&lt;P&gt;For what I read, you are making it too complicated.&lt;/P&gt;&lt;P&gt;simply use vb.net to achieve your needs, not more.&lt;/P&gt;&lt;P&gt;Don't try to do this in illogic is my opinion and experience, it is to complicated to do that.&lt;/P&gt;&lt;P&gt;It seems to be easier to use illogic, but it isn't!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If you need assistance I am willing to guide you in the right direction.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;please let me know if this is needed, also for a later stage of course&lt;/P&gt;</description>
      <pubDate>Wed, 17 Jan 2018 21:18:39 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/ilogic-form-with-dynamic-multivalue-lists/m-p/7698794#M93934</guid>
      <dc:creator>bradeneuropeArthur</dc:creator>
      <dc:date>2018-01-17T21:18:39Z</dc:date>
    </item>
    <item>
      <title>Re: iLogic form with dynamic multivalue lists</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/ilogic-form-with-dynamic-multivalue-lists/m-p/7698838#M93935</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;Did you spot this blog I wrote a while back? It shows another example of setting a multivalue list, slightly different from Curtis's example.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://www.cadlinecommunity.co.uk/hc/en-us/articles/202020381-Inventor-2014-iLogic-Set-Parameter-MultiValue-List" target="_blank"&gt;https://www.cadlinecommunity.co.uk/hc/en-us/articles/202020381-Inventor-2014-iLogic-Set-Parameter-MultiValue-List&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Does it help?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;My personal opinion is that iLogic is a pretty valid option for what you are trying to achieve.&lt;/P&gt;
&lt;P&gt;Luke&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 17 Jan 2018 21:33:32 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/ilogic-form-with-dynamic-multivalue-lists/m-p/7698838#M93935</guid>
      <dc:creator>LukeDavenport</dc:creator>
      <dc:date>2018-01-17T21:33:32Z</dc:date>
    </item>
    <item>
      <title>Re: iLogic form with dynamic multivalue lists</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/ilogic-form-with-dynamic-multivalue-lists/m-p/7698843#M93936</link>
      <description>Without vb.net this is all possible without tricks and workarounds. But an opinion is an opinion.&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Wed, 17 Jan 2018 21:36:02 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/ilogic-form-with-dynamic-multivalue-lists/m-p/7698843#M93936</guid>
      <dc:creator>bradeneuropeArthur</dc:creator>
      <dc:date>2018-01-17T21:36:02Z</dc:date>
    </item>
    <item>
      <title>Re: iLogic form with dynamic multivalue lists</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/ilogic-form-with-dynamic-multivalue-lists/m-p/7698847#M93937</link>
      <description>&lt;P&gt;Thanks for your advice. I've just built up the ilogic form enough to help me populate properties during this test run, and i will continue to pursue the VB.net add in for the final product.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I'm always in need of, and appreciative of help. I am not a programmer, but im doing my best to get my mind around it.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Right now i have this much done on the add in... You click the button, a window pops up with the first 3 (of many) property choices. The options in the second one change based on the choice in the first, and the third changes based on the choices in the&amp;nbsp;second:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Test-Add in.png" style="width: 520px;"&gt;&lt;img src="https://forums.autodesk.com/t5/image/serverpage/image-id/451246iFF0220C51ED58C70/image-size/large?v=v2&amp;amp;px=999" role="button" title="Test-Add in.png" alt="Test-Add in.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;As I said, im using public enum lists right now to set the values:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="enum.png" style="width: 415px;"&gt;&lt;img src="https://forums.autodesk.com/t5/image/serverpage/image-id/451248iB4306F167E0258DD/image-size/large?v=v2&amp;amp;px=999" role="button" title="enum.png" alt="enum.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The what seems to me to be a complicated select case mess:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="select case.png" style="width: 606px;"&gt;&lt;img src="https://forums.autodesk.com/t5/image/serverpage/image-id/451249i7F18DEFEDE403BFB/image-size/large?v=v2&amp;amp;px=999" role="button" title="select case.png" alt="select case.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Then the XAML:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="xaml.png" style="width: 705px;"&gt;&lt;img src="https://forums.autodesk.com/t5/image/serverpage/image-id/451251i9E80C71473186C99/image-size/large?v=v2&amp;amp;px=999" role="button" title="xaml.png" alt="xaml.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If anyone knows a better way to do what im trying to do, I'd be stoked!&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 17 Jan 2018 21:37:31 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/ilogic-form-with-dynamic-multivalue-lists/m-p/7698847#M93937</guid>
      <dc:creator>BrandonW9</dc:creator>
      <dc:date>2018-01-17T21:37:31Z</dc:date>
    </item>
    <item>
      <title>Re: iLogic form with dynamic multivalue lists</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/ilogic-form-with-dynamic-multivalue-lists/m-p/7698851#M93938</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/3545788"&gt;@BrandonW9&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The example at the link you posted was a bit more complicated as it was using a number value to filter down the list, and so it had to evaluate the number in order to know where to start the lists.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Your case shouldn't need to be that dynamic, as you simply want to build the known list inside the rule, so the lists are more static, but just need to change depending on the selection.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So I think this example will do what you're wanting to do. See the attached Inventor 2017 file for a working form as well, etc. And post back if I've missed the point, and there is indeed a more dynamic aspect to your needs here.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRIKE&gt;Also just as a tip, you can search and ask programming questions of this type on the &lt;STRONG&gt;Inventor Customization forum&lt;/STRONG&gt;:&lt;/STRIKE&gt;&lt;BR /&gt;&lt;STRIKE&gt;&lt;A href="http://forums.autodesk.com/t5/Autodesk-Inventor-Customization/bd-p/120" target="_blank"&gt;http://forums.autodesk.com/t5/Autodesk-Inventor-Customization/bd-p/120&lt;/A&gt;&lt;/STRIKE&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I hope this helps.&lt;BR /&gt;Best of luck to you in all of your Inventor pursuits,&lt;BR /&gt;Curtis&lt;BR /&gt;&lt;A href="http://inventortrenches.blogspot.com" target="_blank"&gt;http://inventortrenches.blogspot.com&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;'set list and default
If Type = "Tanks" Then
	'set list
	MultiValue.SetList("Options", "Base", "Top", "Baffle")
	'set default value
	Parameter("Options") = "Base"
ElseIf Type = "Vaults" Then	
	'set list
	MultiValue.SetList("Options", "Riser", "Base Slab", "Top Slab")
	'set default value
	Parameter("Options") = "Riser"
End If

&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 17 Jan 2018 21:46:23 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/ilogic-form-with-dynamic-multivalue-lists/m-p/7698851#M93938</guid>
      <dc:creator>Curtis_W</dc:creator>
      <dc:date>2018-01-17T21:46:23Z</dc:date>
    </item>
    <item>
      <title>Re: iLogic form with dynamic multivalue lists</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/ilogic-form-with-dynamic-multivalue-lists/m-p/7698860#M93939</link>
      <description>&lt;P&gt;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/977473"&gt;@LukeDavenport&lt;/a&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;oops, it looks like your post covered this very well... I think you posted while I was typing.&lt;/P&gt;</description>
      <pubDate>Wed, 17 Jan 2018 21:42:15 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/ilogic-form-with-dynamic-multivalue-lists/m-p/7698860#M93939</guid>
      <dc:creator>Curtis_W</dc:creator>
      <dc:date>2018-01-17T21:42:15Z</dc:date>
    </item>
    <item>
      <title>Re: iLogic form with dynamic multivalue lists</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/ilogic-form-with-dynamic-multivalue-lists/m-p/7698867#M93940</link>
      <description>&lt;P&gt;Ah! gotcha... and if I had more than two "types" I could use a select case rather than if/then/else correct?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Also, thanks a ton for your quick reply. You and your blog have helped me a ton already and don't even know it.&lt;/P&gt;</description>
      <pubDate>Wed, 17 Jan 2018 21:45:30 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/ilogic-form-with-dynamic-multivalue-lists/m-p/7698867#M93940</guid>
      <dc:creator>BrandonW9</dc:creator>
      <dc:date>2018-01-17T21:45:30Z</dc:date>
    </item>
    <item>
      <title>Re: iLogic form with dynamic multivalue lists</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/ilogic-form-with-dynamic-multivalue-lists/m-p/7698900#M93941</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/3545788"&gt;@BrandonW9&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Yep, you could use an If/Then or a Select Case, generally when the list gets really long a Select Case is more speedy, but for a list of four it might not be noticeable.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;p.s. I accidentaly accepted a solution in this thread (I got click happy) so sorry if that generated an email notice, etc and caused confusion, I corrected it immediately, so it might have been hard to tell what happened.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I hope this helps.&lt;BR /&gt;Best of luck to you in all of your Inventor pursuits,&lt;BR /&gt;Curtis&lt;BR /&gt;&lt;A href="http://inventortrenches.blogspot.com" target="_blank"&gt;http://inventortrenches.blogspot.com&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;Select Case Type

Case "Tanks"

	'set list
	MultiValue.SetList("Options", "Base", "Top", "Baffle")
	'set default value
	Parameter("Options") = "Base"
	
Case "Vaults"

	'set list
	MultiValue.SetList("Options", "Riser", "Base Slab", "Top Slab")
	'set default value
	Parameter("Options") = "Riser"
	
Case "Fruits"
	'set list
	MultiValue.SetList("Options", "Apples", "Oranges", "Grapes")
	'set default value
	Parameter("Options") = "Apples"
	
Case "Critters"
	'set list
	MultiValue.SetList("Options", "Puppies", "Kittens", "Goldfish")
	'set default value
	Parameter("Options") = "Puppies"
	
End Select&lt;/PRE&gt;
&lt;PRE&gt;If Type = "Tanks" Then

	'set list
	MultiValue.SetList("Options", "Base", "Top", "Baffle")
	'set default value
	Parameter("Options") = "Base"
	
Else If Type = "Vaults" Then

	'set list
	MultiValue.SetList("Options", "Riser", "Base Slab", "Top Slab")
	'set default value
	Parameter("Options") = "Riser"

Else If Type = "Fruits" Then

	'set list
	MultiValue.SetList("Options", "Apples", "Oranges", "Grapes")
	'set default value
	Parameter("Options") = "Apples"
	
Else If Type = "Critters" Then
	'set list
	MultiValue.SetList("Options", "Puppies", "Kittens", "Goldfish")
	'set default value
	Parameter("Options") = "Puppies"
	
End If&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 17 Jan 2018 22:08:30 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/ilogic-form-with-dynamic-multivalue-lists/m-p/7698900#M93941</guid>
      <dc:creator>Curtis_W</dc:creator>
      <dc:date>2018-01-17T22:08:30Z</dc:date>
    </item>
    <item>
      <title>Re: iLogic form with dynamic multivalue lists</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/ilogic-form-with-dynamic-multivalue-lists/m-p/7700743#M93942</link>
      <description>&lt;P&gt;I pretty much never use iLogic anymore but I think I disagree with you that switching over to using VB.Net is a 'simple' solution for people who save never used an IDE.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Unless you are passionate about wanting to learn how to program, I wouldn't leave the safety of iLogic.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Some reasons being...&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;1. Visual Studio is not free to use (legally) for everyone.&lt;/P&gt;
&lt;P&gt;2. Some engineers might not be able to install new software without administrative privileges.&lt;/P&gt;
&lt;P&gt;3. If peoples 'Document' folders are kept on a shared drive, some company systems might not allow .exe and .dll files to be created due to security reasons.&lt;/P&gt;
&lt;P&gt;4. There is no quick and easy way to trigger VB.Net methods/form to run inside Inventor.&lt;/P&gt;
&lt;P&gt;5. References to the Inventor interlop&amp;nbsp;might need updating when Inventor is updated to a new version.&lt;/P&gt;
&lt;P&gt;6. I have been tinkering with VB for years but I still don't know what Interlop means.&lt;/P&gt;
&lt;P&gt;7. Learning how to use VS and/or carry out the myFirstPlugIn tutorial is a few hours work.&lt;/P&gt;
&lt;P&gt;8. Things which are easy in iLogic like editing iProps/parameters is easy in iLogic but not in&amp;nbsp;VB&amp;nbsp;(you have to remember "Design Tracking Properties", "Inventor User Defined Properties").&lt;/P&gt;
&lt;P&gt;9.&amp;nbsp;People who aren't great with computers/programming will just never figure it out without assistance.&lt;/P&gt;
&lt;P&gt;10. You need to remember to divide by 10 when writing parameters to get them in to millimetres.&lt;/P&gt;
&lt;P&gt;11. iLogic rules are saved in simple text files&amp;nbsp;that are easy to duplicate and share.&amp;nbsp; If somebody wants to take some of my VB code a tweak it, they will need to download Visual Studio.&lt;/P&gt;
&lt;P&gt;12. Last but not least... Inventor locks .dll files when it uses them so I have to restart Inventor to be able to build a Class Library project.&lt;/P&gt;</description>
      <pubDate>Thu, 18 Jan 2018 14:15:19 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/ilogic-form-with-dynamic-multivalue-lists/m-p/7700743#M93942</guid>
      <dc:creator>waynehelley</dc:creator>
      <dc:date>2018-01-18T14:15:19Z</dc:date>
    </item>
    <item>
      <title>Re: iLogic form with dynamic multivalue lists</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/ilogic-form-with-dynamic-multivalue-lists/m-p/7701010#M93943</link>
      <description>&lt;P&gt;My comment to this:&lt;/P&gt;&lt;P&gt;But I think this is not meant to be in this topic!!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.5pt; font-family: 'FrutigerNextW04-Regular',serif; color: black;"&gt;I pretty much never use iLogic anymore but I think I disagree with you that switching over to using VB.Net is a 'simple' solution for people who save never used an IDE.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.5pt; font-family: 'FrutigerNextW04-Regular',serif; color: black;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.5pt; font-family: 'FrutigerNextW04-Regular',serif; color: black;"&gt;Unless you are passionate about wanting to learn how to program, I wouldn't leave the safety of iLogic.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.5pt; font-family: 'FrutigerNextW04-Regular',serif; color: black;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.5pt; font-family: 'FrutigerNextW04-Regular',serif; color: black;"&gt;Some reasons being...&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.5pt; font-family: 'FrutigerNextW04-Regular',serif; color: black;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.5pt; font-family: 'FrutigerNextW04-Regular',serif; color: black;"&gt;1. Visual Studio is not free to use (legally) for everyone.&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.5pt; font-family: 'FrutigerNextW04-Regular',serif; color: red;"&gt;This is actually an advantage. Not everyone should be able to program into documents.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.5pt; font-family: 'FrutigerNextW04-Regular',serif; color: black;"&gt;2. Some engineers might not be able to install new software without administrative privileges.&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.5pt; font-family: 'FrutigerNextW04-Regular',serif; color: red;"&gt;This is actually an advantage. So not everyone can do that. Without any knowledge of the API this should be prevented.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.5pt; font-family: 'FrutigerNextW04-Regular',serif; color: black;"&gt;3. If peoples 'Document' folders are kept on a shared drive, some company systems might not allow .exe and .dll files to be created due to security reasons.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.5pt; font-family: 'FrutigerNextW04-Regular',serif; color: red;"&gt;Add in files are stored locally.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.5pt; font-family: 'FrutigerNextW04-Regular',serif; color: black;"&gt;4. There is no quick and easy way to trigger VB.Net methods/form to run inside Inventor.&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.5pt; font-family: 'FrutigerNextW04-Regular',serif; color: red;"&gt;Of course you have. Use then the Events.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.5pt; font-family: 'FrutigerNextW04-Regular',serif; color: black;"&gt;5. References to the Inventor interlop&amp;nbsp;might need updating when Inventor is updated to a new version.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.5pt; font-family: 'FrutigerNextW04-Regular',serif; color: red;"&gt;Not necessarily.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.5pt; font-family: 'FrutigerNextW04-Regular',serif; color: black;"&gt;6. I have been tinkering with VB for years but I still don't know what Interlop means.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.5pt; font-family: 'FrutigerNextW04-Regular',serif; color: black;"&gt;7. Learning how to use VS and/or carry out the myFirstPlugIn tutorial is a few hours work.&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.5pt; font-family: 'FrutigerNextW04-Regular',serif; color: red;"&gt;To do it correctly without bugging in future this is the same for I-logic.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.5pt; font-family: 'FrutigerNextW04-Regular',serif; color: black;"&gt;8. Things which are easy in iLogic like editing iProps/parameters is easy in iLogic but not in&amp;nbsp;VB&amp;nbsp;(you have to remember "Design Tracking Properties", "Inventor User Defined Properties").&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.5pt; font-family: 'FrutigerNextW04-Regular',serif; color: red;"&gt;It seems to be easier in i-logic but you need become familiar with it. If the createria of the code length is seen as if it is easier than this is not true to my opinion. &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.5pt; font-family: 'FrutigerNextW04-Regular',serif; color: black;"&gt;9.&amp;nbsp;People who aren't great with computers/programming will just never figure it out without assistance.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.5pt; font-family: 'FrutigerNextW04-Regular',serif; color: red;"&gt;To do it correctly without bugging in future this is the same for I-logic.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.5pt; font-family: 'FrutigerNextW04-Regular',serif; color: black;"&gt;10. You need to remember to divide by 10 when writing parameters to get them in to millimetres.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.5pt; font-family: 'FrutigerNextW04-Regular',serif; color: red;"&gt;Not necessarily.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.5pt; font-family: 'FrutigerNextW04-Regular',serif; color: black;"&gt;11. iLogic rules are saved in simple text files&amp;nbsp;that are easy to duplicate and share.&amp;nbsp; If somebody wants to take some of my VB code a tweak it, they will need to download Visual Studio.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.5pt; font-family: 'FrutigerNextW04-Regular',serif; color: red;"&gt;Not necessarily. it can be done without but you are right that it is a little more difficult.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.5pt; font-family: 'FrutigerNextW04-Regular',serif; color: black;"&gt;12. Last but not least... Inventor locks .dll files when it uses them so I have to restart Inventor to be able to build a Class Library project.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.5pt; font-family: 'FrutigerNextW04-Regular',serif; color: red;"&gt;Yes you are right&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.5pt; font-family: 'FrutigerNextW04-Regular',serif; color: red;"&gt;So I think not everyone must be able to program into documents. it they are programming completely externally than I see no problem.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.5pt; font-family: 'FrutigerNextW04-Regular',serif; color: red;"&gt;But I logic always need to kind of coding in the document to run external files.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.5pt; font-family: 'FrutigerNextW04-Regular',serif; color: red;"&gt;I have been struggling with this while files are stored into vault pro and many files with I-logic and vba made huge problems.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.5pt; font-family: 'FrutigerNextW04-Regular',serif; color: red;"&gt;I logic has no good exceptionhandling.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.5pt; font-family: 'FrutigerNextW04-Regular',serif; color: red;"&gt;I logic uses documentevents and this is tricky working together with a released state!!!&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 18 Jan 2018 15:19:04 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/ilogic-form-with-dynamic-multivalue-lists/m-p/7701010#M93943</guid>
      <dc:creator>bradeneuropeArthur</dc:creator>
      <dc:date>2018-01-18T15:19:04Z</dc:date>
    </item>
    <item>
      <title>Re: iLogic form with dynamic multivalue lists</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/ilogic-form-with-dynamic-multivalue-lists/m-p/7701149#M93944</link>
      <description>&lt;P&gt;Thanks for the input guys. I think that for this particular project, the VB.net add in is probably a better tool for the job, but I've already ran into almost all the problems mentioned. There is definitely a big barrier to entry, but i'll just keep learning and working on it.&lt;/P&gt;</description>
      <pubDate>Thu, 18 Jan 2018 16:03:18 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/ilogic-form-with-dynamic-multivalue-lists/m-p/7701149#M93944</guid>
      <dc:creator>BrandonW9</dc:creator>
      <dc:date>2018-01-18T16:03:18Z</dc:date>
    </item>
    <item>
      <title>Re: iLogic form with dynamic multivalue lists</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/ilogic-form-with-dynamic-multivalue-lists/m-p/7701634#M93945</link>
      <description>&lt;P&gt;&lt;FONT face="courier new,courier"&gt;Try use &lt;/FONT&gt;xml&lt;FONT face="courier new,courier"&gt;:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier"&gt;In your &lt;/FONT&gt;xml&lt;FONT face="courier new,courier"&gt; file:&lt;/FONT&gt;&lt;/P&gt;
&lt;PRE&gt;&lt;FONT face="courier new,courier"&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;
&amp;lt;Property&amp;gt;
    &amp;lt;PartClass Name="Precast" ProvideCode="Make"&amp;gt;
        &amp;lt;TechClass Name="Box Culvert"&amp;gt;
            &amp;lt;ComponentType&amp;gt;Base Section&amp;lt;/ComponentType&amp;gt;
            &amp;lt;ComponentType&amp;gt;Top Section&amp;lt;/ComponentType&amp;gt;
            &amp;lt;ComponentType&amp;gt;Top Slab&amp;lt;/ComponentType&amp;gt;
            &amp;lt;ComponentType&amp;gt;Layout Assembly&amp;lt;/ComponentType&amp;gt;
            &amp;lt;ComponentType&amp;gt;End Wall&amp;lt;/ComponentType&amp;gt;
        &amp;lt;/TechClass&amp;gt;
        &amp;lt;TechClass Name="Pad" /&amp;gt;
        &amp;lt;TechClass Name="Pipe" /&amp;gt;
        &amp;lt;TechClass Name="Round" /&amp;gt;
        &amp;lt;TechClass Name="Specialty" /&amp;gt;
        &amp;lt;TechClass Name="Tank"&amp;gt;
            &amp;lt;ComponentType&amp;gt;Base Section&amp;lt;/ComponentType&amp;gt;
            &amp;lt;ComponentType&amp;gt;Baffle Section&amp;lt;/ComponentType&amp;gt;
            &amp;lt;ComponentType&amp;gt;Top Section&amp;lt;/ComponentType&amp;gt;
            &amp;lt;ComponentType&amp;gt;Top Slab&amp;lt;/ComponentType&amp;gt;
            &amp;lt;ComponentType&amp;gt;Stock Assembly&amp;lt;/ComponentType&amp;gt;
            &amp;lt;ComponentType&amp;gt;Accessory Package&amp;lt;/ComponentType&amp;gt;
            &amp;lt;ComponentType&amp;gt;Sales Part&amp;lt;/ComponentType&amp;gt;
            &amp;lt;ComponentType&amp;gt;Top Level Assy&amp;lt;/ComponentType&amp;gt;
        &amp;lt;/TechClass&amp;gt;
    &amp;lt;/PartClass&amp;gt;
    &amp;lt;!-- add more values here --&amp;gt;
&amp;lt;/Property&amp;gt;&lt;/FONT&gt;&lt;/PRE&gt;
&lt;P&gt;In your xaml:&lt;/P&gt;
&lt;PRE&gt;    &amp;lt;Window.Resources&amp;gt;
        &amp;lt;XmlDataProvider x:Key="Properties" Source="Property.xml" XPath="Property"/&amp;gt;
    &amp;lt;/Window.Resources&amp;gt;
    &amp;lt;Grid DataContext="{StaticResource Properties}"&amp;gt;
        &amp;lt;ComboBox x:Name="IFSPartClass" HorizontalAlignment="Left" Margin="10,10,0,0" VerticalAlignment="Top" Width="120" DisplayMemberPath="@Name" SelectedValuePath="@Name"
                  ItemsSource="{Binding XPath=PartClass}" IsSynchronizedWithCurrentItem="True" /&amp;gt;
        &amp;lt;ComboBox x:Name="IFSTechClass" HorizontalAlignment="Left" Margin="184,10,0,0" VerticalAlignment="Top" Width="120" DisplayMemberPath="@Name" SelectedValuePath="@Name"
                  DataContext="{Binding ElementName=IFSPartClass,Path=SelectedItem}" ItemsSource="{Binding XPath=TechClass}" IsSynchronizedWithCurrentItem="True"/&amp;gt;
        &amp;lt;ComboBox x:Name="ComponentType" HorizontalAlignment="Left" Margin="365,10,0,0" VerticalAlignment="Top" Width="120" 
                  DataContext="{Binding ElementName=IFSTechClass,Path=SelectedItem}" ItemsSource="{Binding XPath=ComponentType}" IsSynchronizedWithCurrentItem="True"/&amp;gt;
        &amp;lt;Button x:Name="OKButton" Content="Button" HorizontalAlignment="Left" Margin="304,228,0,0" VerticalAlignment="Top" Width="75" Click="OKButton_Click" /&amp;gt;
        &amp;lt;Button x:Name="CancelButton" Content="Button" HorizontalAlignment="Left" Margin="304,228,0,0" VerticalAlignment="Top" Width="75" Click="CancelButton_Click" /&amp;gt;
    &amp;lt;/Grid&amp;gt;
&lt;/PRE&gt;
&lt;P&gt;And the click handler:&lt;/P&gt;
&lt;PRE&gt;        private void OKButton_Click(object sender, RoutedEventArgs e)
        {
            if (IFSPartClass.SelectedItem is XmlElement partClass)
            {
                UpdateCustomiProperty(AssemblyDoc, "IFS Part Class", IFSPartClass.SelectedValue);
                UpdateCustomiProperty(AssemblyDoc, "IFS Provide Code", partClass.Attributes["ProvideCode"].Value);
                if (IFSTechClass.SelectedItem != null)
                {
                    UpdateCustomiProperty(AssemblyDoc, "IFS Tech Class", IFSTechClass.SelectedValue);
                    if (ComponentType.SelectedItem != null)
                    {
                        UpdateCustomiProperty(AssemblyDoc, "Component Type", ComponentType.SelectedValue);
                    }
                }
            }
        }
&lt;/PRE&gt;
&lt;P&gt;Much simpler.&lt;/P&gt;</description>
      <pubDate>Thu, 18 Jan 2018 18:28:12 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/ilogic-form-with-dynamic-multivalue-lists/m-p/7701634#M93945</guid>
      <dc:creator>smilinger</dc:creator>
      <dc:date>2018-01-18T18:28:12Z</dc:date>
    </item>
    <item>
      <title>Re: iLogic form with dynamic multivalue lists</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/ilogic-form-with-dynamic-multivalue-lists/m-p/7701642#M93946</link>
      <description>&lt;P&gt;Thank you&amp;nbsp;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/96220"&gt;@smilinger&lt;/a&gt;!&amp;nbsp;super helpful. I like that method. I'll try to switch over to that when i get a chance to work on it again.&lt;/P&gt;</description>
      <pubDate>Thu, 18 Jan 2018 18:30:48 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/ilogic-form-with-dynamic-multivalue-lists/m-p/7701642#M93946</guid>
      <dc:creator>BrandonW9</dc:creator>
      <dc:date>2018-01-18T18:30:48Z</dc:date>
    </item>
    <item>
      <title>Re: iLogic form with dynamic multivalue lists</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/ilogic-form-with-dynamic-multivalue-lists/m-p/7725555#M93947</link>
      <description>&lt;P&gt;Hello Curtis,&lt;/P&gt;&lt;P&gt;i try to expand your code, but i get an fault. The parameter Options did not change to the selected one. Is it at all the right way to do it like i did or is there a better way?&lt;/P&gt;&lt;P&gt;Thanks in advance for your help.&lt;/P&gt;&lt;PRE&gt;If Type1 = "Tanks" Then

	'set list
	MultiValue.SetList("Options", "Base", "Top", "Baffle")
	'set default value
	Parameter("Options") = "Base"
	
Else If Type1 = "Vaults" Then

	'set list
	MultiValue.SetList("Options", "Riser", "Base Slab", "Top Slab")
	'set default value
	Parameter("Options") = "Riser"

Else If Type1 = "Fruits" Then

	'set list
	MultiValue.SetList("Options", "Apples", "Oranges", "Grapes")
	'set default value
	Parameter("Options") = "Apples"
	
Else If Type1 = "Critters" Then
	'set list
	MultiValue.SetList("Options", "Puppies", "Kittens", "Goldfish")
	'set default value
	Parameter("Options") = "Puppies"
	
End If



'------------------------

If Options = "Base" Then

'	'set list
	MultiValue.SetList("Next", "Base_rot", "Base_blau", "Base_grün")
	'set default value
	Parameter("Next") = "Base_rot"
	
Else If Options = "Top" Then

'	'set list
	MultiValue.SetList("Next", "Top_gelb", "Top_orange", "Top_schwarz")
	'set default value
	Parameter("Next") = "Top_gelb"

Else If Options = "Baffle" Then

'	'set list
	MultiValue.SetList("Next", "Baffle_gelb", "Baffle_orange", "Baffle_schwarz")
	'set default value
	Parameter("Next") = "Baffle_gelb"

End If


&lt;/PRE&gt;</description>
      <pubDate>Fri, 26 Jan 2018 07:53:37 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/ilogic-form-with-dynamic-multivalue-lists/m-p/7725555#M93947</guid>
      <dc:creator>martinhoos</dc:creator>
      <dc:date>2018-01-26T07:53:37Z</dc:date>
    </item>
    <item>
      <title>Re: iLogic form with dynamic multivalue lists</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/ilogic-form-with-dynamic-multivalue-lists/m-p/7726642#M93948</link>
      <description>&lt;P&gt;If I am reading the post correctly you are trying to populate a multivalue parameter based on a&amp;nbsp;users input using iLogic?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If so, what I do is embed a spreadsheet where the columns have the information to be placed into the multivalue parameter. From there you can use the standard excel snippets to read the proper column and change the multivalue parameter.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If this is not what you are trying to do... well just ignore this post. LOL.&lt;/P&gt;</description>
      <pubDate>Fri, 26 Jan 2018 15:10:57 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/ilogic-form-with-dynamic-multivalue-lists/m-p/7726642#M93948</guid>
      <dc:creator>meck</dc:creator>
      <dc:date>2018-01-26T15:10:57Z</dc:date>
    </item>
    <item>
      <title>Re: iLogic form with dynamic multivalue lists</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/ilogic-form-with-dynamic-multivalue-lists/m-p/9283014#M93949</link>
      <description>&lt;P&gt;I too was needing a solution for validated, dynamic lists for fastener selection.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The first list, bolt material, was the intended first selection.&lt;BR /&gt;The second list, bolt diameter, would be based on material.&lt;BR /&gt;The third list, bolt length, would be based on diameter.&lt;/P&gt;&lt;P&gt;Etc.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Material &amp;gt; Diameter &amp;gt; Length&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Select Hardware 2020-01-29_9-37-49.png" style="width: 183px;"&gt;&lt;img src="https://forums.autodesk.com/t5/image/serverpage/image-id/723235i134B4B4A1A58E2D4/image-size/large?v=v2&amp;amp;px=999" role="button" title="Select Hardware 2020-01-29_9-37-49.png" alt="Select Hardware 2020-01-29_9-37-49.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;The challenge was that after selecting the material, an invalid value may remain in the diameter or length lists.&lt;BR /&gt;I needed to update the lists after a change in selection. I developed this code to update the lists, validate the current value, and update the value if necessary.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;For example:&lt;/P&gt;&lt;P&gt;316SS : 5/8"-11 bolt lengths include: 1.25, 1.5, 1.75, 2.0, 2.25, 2.5, 3.0, 4.5, 5.0, 6.0&lt;BR /&gt;ZINC : 1/4"-20 bolt lengths include: 0.5, 0.75, 1.0&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;If the current diameter = 1/4" and length = 0.5", and then the user selects 5/8" diameter, the code will update the bolt length multivalue list and change the value if the current length is not on the list.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The lock nut types are also based on material and bolt diameter.&lt;BR /&gt;&lt;BR /&gt;I have included a sample part with a rule and form for you to explore. I hope you find it helpful.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;'Manage the Multivalue Parameters
Sub Main()
		
	' Initialize lock and washer types
	MultiValue.SetList("Lock_Nut_Type", "CTR LK", "FLEX-LOC", "NYLOCK")
	'Lock_Nut_Type = "NYLOCK"
	MultiValue.SetList("Washer_Type", "FLAT", "LOCK")
	'Washer_Type = "LOCK"
		
	' Set the multivalue parameters
	SetMVP
	
	' Update document
	InventorVb.DocumentUpdate()
	
End Sub

'--- Set the Multi-Value Parameters ---
Sub SetMVP()
	' Set and validate the bolt material list
	SetBoltMaterial({"316SS", "ZINC" })
	' Set diameter and lock nut lists based on bolt material
	Select Case Bolt_Material
		Case "316SS"
			' Set bolt diameters for stainless
			SetBoltDiameter({"0.250""-20", "0.313""-18", "0.375""-16", "0.500""-13", "0.625""-11"})
			' Set length and lock nut lists based on bolt diameter
			Select Case Bolt_Diameter
				Case "0.250""-20"
					SetBoltLength({"0.500""", "0.750""", "1.000""", "1.250""", "1.500""", "2.000""", "2.500""" })
					SetLockNutType({"NYLOCK"})
				Case "0.313""-18"
					SetBoltLength({"0.750""", "1.000""", "1.250""", "1.500""", "1.750""", "2.000""", "2.500"""})
					SetLockNutType({"NYLOCK"})
				Case "0.375""-16"
					SetBoltLength({"0.500""", "0.750""", "1.000""", "1.250""", "1.500""", "1.750""", "2.000""", "2.250""", "2.500""", "2.750""", "3.000""", "3.500""", "4.000""", "6.000"""})
					SetLockNutType({"NYLOCK", "FLEX-LOC", "CTR LK"})
				Case "0.500""-13"
					SetBoltLength({"0.750""", "1.000""", "1.250""", "1.500""", "1.750""", "2.000""", "2.250""", "2.500""", "2.750""", "3.000""", "3.500""", "3.750""", "4.500"""})
					SetLockNutType({"NYLOCK", "FLEX-LOC", "CTR LK"})
				Case "0.625""-11"
					SetBoltLength({"1.250""", "1.500""", "1.750""", "2.000""", "2.250""", "2.500""", "3.000""", "4.500""", "5.000""", "6.000"""})
					SetLockNutType({"NYLOCK", "FLEX-LOC", "CTR LK"})
			End Select
			'set lock nut type
		Case "ZINC"
			' Set bolt diameters for zinc-plated carbon
			SetBoltDiameter({"0.250""-20", "0.375""-16", "0.500""-13", "0.625""-11"})
			' Set length and lock nut lists based on bolt diameter
			Select Case Bolt_Diameter
				Case "0.250""-20"
					SetBoltLength({"0.500""", "0.750""", "1.000"""})
					SetLockNutType({"NYLOCK"})
				Case "0.375""-16"
					SetBoltLength({"0.750""", "1.000""", "1.250""", "1.500""", "1.750""", "2.000""", "2.250""", "2.500""", "3.000"""})
					SetLockNutType({"NYLOCK", "FLEX-LOC", "CTR LK"})
				Case "0.500""-13"
					SetBoltLength({"0.750""", "1.000""", "1.250""", "1.500""", "1.750""", "2.000""", "2.250""", "2.500""", "2.750""", "3.000"""})
					SetLockNutType({"NYLOCK", "FLEX-LOC", "CTR LK"})
				Case "0.625""-11"
					SetBoltLength({"1.500""", "1.750""", "2.000""", "2.250""", "2.500""", "2.750""", "3.000""", "3.500""", "4.000""", "4.500"""})
					SetLockNutType({"NYLOCK", "FLEX-LOC", "CTR LK"})
			End Select
	End Select
End Sub

' function to set bolt material
' Input = string array of materials
' Output = nothing
Private Function SetBoltMaterial(ByRef aryBoltMaterial)
	' Set multivalue parameter to the string array
	MultiValue.List("Bolt_Material") = aryBoltMaterial
	' Check if current multivalue parameter is in the string array
	index = Array.IndexOf(aryBoltMaterial, Parameter("Bolt_Material"))
	If index = -1 Then
		' Set bolt material to most commonly used material
		Parameter("Bolt_Material") = aryBoltMaterial(1)
		Bolt_Material = Parameter("Bolt_Material")
		MsgBox("Invalid or no bolt material selected. Setting default to " &amp;amp; Parameter("Bolt_Material") &amp;amp; ".",,"ALERT")
	End If
End Function

' function to set bolt diameter
' Input = string array of diameters
' Output = nothing
Private Function SetBoltDiameter(ByRef aryBoltDiameter)
	' Set multivalue parameter to the string array
	MultiValue.List("Bolt_Diameter") = aryBoltDiameter	
	' Check if current multivalue parameter is in the string array
	index = Array.IndexOf(aryBoltDiameter, Parameter("Bolt_Diameter"))
	If index = -1 Then
		' Set bolt diameter to first item in array and then warn user
		Parameter("Bolt_Diameter") = aryBoltDiameter(0)
		Bolt_Diameter = Parameter("Bolt_Diameter")
		MsgBox("Invalid or no bolt diameter selected. Setting default to " &amp;amp; Parameter("Bolt_Diameter") &amp;amp; ".",,"ALERT")
	End If
End Function

' function to set bolt length
' Input = string array of lengths
' Output = nothing
Private Function SetBoltLength(ByRef aryBoltLength)
	' Set multivalue parameter to the string array
	MultiValue.List("Bolt_Length") = aryBoltLength					
	' Check if current multivalue parameter is in the string array
	index = Array.IndexOf(aryBoltLength, Parameter("Bolt_Length"))
	If index = -1 Then
		' Set bolt length to first item in array and then warn user
		Parameter("Bolt_Length") = aryBoltLength(0)
		Bolt_Length = Parameter("Bolt_Length")
		MsgBox("Invalid or no bolt length selected. Setting default to " &amp;amp; Parameter("Bolt_Length") &amp;amp; ".",,"ALERT")
	End If	
End Function

' function to set lock nuts
' Input = string array of lock nut types
' Output = nothing
Private Function SetLockNutType(ByRef aryLockNutType)	
	' Set multivalue parameter to the string array
	MultiValue.List("Lock_Nut_Type") = aryLockNutType
	' Check if current multivalue parameter is in the string array
	index = Array.IndexOf(aryLockNutType, Parameter("Lock_Nut_Type"))
	If index = -1 Then
		' Set lock nut type to first item in array and then warn user
		Parameter("Lock_Nut_Type") = aryLockNutType(0)
		Lock_Nut_Type = Parameter("Lock_Nut_Type")
		MsgBox("Invalid or no lock nut selected. Setting default to " &amp;amp; Parameter("Lock_Nut_Type") &amp;amp; ".",,"ALERT")
	End If
End Function&lt;/PRE&gt;&lt;P&gt;&lt;BR /&gt;I suspect the individual functions could be optimized into a single function with more arguments passing. Any suggestions would be welcome.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have been very successful with this code when it comes to &lt;STRONG&gt;Text-type&lt;/STRONG&gt; multivalue lists. I have been struggling to get this to work with &lt;STRONG&gt;numeric&lt;/STRONG&gt; multivalue lists. I suspect a parameter type issue is the cause.&amp;nbsp;I would welcome any insight to adapt the Function to test numeric arrays and lists.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Again, I hope this is helpful for those requiring verified or validated, dynamic multivalue lists.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Regards,&lt;BR /&gt;Jerry&lt;/P&gt;</description>
      <pubDate>Wed, 29 Jan 2020 16:10:14 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/ilogic-form-with-dynamic-multivalue-lists/m-p/9283014#M93949</guid>
      <dc:creator>JBerns</dc:creator>
      <dc:date>2020-01-29T16:10:14Z</dc:date>
    </item>
  </channel>
</rss>

