<?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: Using Namemap argument to pass an array to another rule in Inventor Programming - iLogic, Macros, AddIns &amp; Apprentice</title>
    <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/using-namemap-argument-to-pass-an-array-to-another-rule/m-p/7243618#M73663</link>
    <description>&lt;P&gt;Just figured it out....&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;You have to loop the namevalue map process as you would with any unknown array length&lt;/P&gt;&lt;P&gt;i converted the array list to a string array because it seems to work better.&lt;/P&gt;&lt;P&gt;Here is the Code&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Rule 1&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Dim&lt;/STRONG&gt; NamesList &lt;STRONG&gt;As&lt;/STRONG&gt; &lt;STRONG&gt;New&lt;/STRONG&gt; &lt;STRONG&gt;ArrayList&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;NamesList.Add&lt;STRONG&gt;(&lt;/STRONG&gt;"Part_N"&lt;STRONG&gt;)&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;NamesList.Add&lt;STRONG&gt;(&lt;/STRONG&gt;"Types"&lt;STRONG&gt;)&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;NamesList.Add&lt;STRONG&gt;(&lt;/STRONG&gt;"Diam"&lt;STRONG&gt;)&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;For&lt;/STRONG&gt; k &lt;STRONG&gt;=&lt;/STRONG&gt; &lt;STRONG&gt;0&lt;/STRONG&gt; &lt;STRONG&gt;To&lt;/STRONG&gt; NamesList.Count &lt;STRONG&gt;-&lt;/STRONG&gt; &lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;MessageBox&lt;/STRONG&gt;.&lt;STRONG&gt;Show&lt;/STRONG&gt;&lt;STRONG&gt;(&lt;/STRONG&gt; NamesList&lt;STRONG&gt;(&lt;/STRONG&gt;k&lt;STRONG&gt;)&lt;/STRONG&gt; , "Works"&lt;STRONG&gt;)&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Next&lt;/STRONG&gt; k&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Dim&lt;/STRONG&gt; Heading_Names &lt;STRONG&gt;As&lt;/STRONG&gt; &lt;STRONG&gt;String&lt;/STRONG&gt;&lt;STRONG&gt;()&lt;/STRONG&gt; &lt;STRONG&gt;=&lt;/STRONG&gt; &lt;STRONG&gt;CType&lt;/STRONG&gt;&lt;STRONG&gt;(&lt;/STRONG&gt;NamesList.ToArray&lt;STRONG&gt;(&lt;/STRONG&gt;&lt;STRONG&gt;GetType&lt;/STRONG&gt;&lt;STRONG&gt;(&lt;/STRONG&gt;&lt;STRONG&gt;String&lt;/STRONG&gt;&lt;STRONG&gt;))&lt;/STRONG&gt;, &lt;STRONG&gt;String&lt;/STRONG&gt;&lt;STRONG&gt;())&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;For&lt;/STRONG&gt; g &lt;STRONG&gt;=&lt;/STRONG&gt; &lt;STRONG&gt;0&lt;/STRONG&gt; &lt;STRONG&gt;To&lt;/STRONG&gt; Heading_Names.Length &lt;STRONG&gt;-&lt;/STRONG&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;MessageBox&lt;/STRONG&gt;.&lt;STRONG&gt;Show&lt;/STRONG&gt;&lt;STRONG&gt;(&lt;/STRONG&gt; Heading_Names&lt;STRONG&gt;(&lt;/STRONG&gt;g&lt;STRONG&gt;)&lt;/STRONG&gt;, ""&lt;STRONG&gt;)&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Next&lt;/STRONG&gt; g&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;For&lt;/STRONG&gt; z &lt;STRONG&gt;=&lt;/STRONG&gt; &lt;STRONG&gt;0&lt;/STRONG&gt; &lt;STRONG&gt;To&lt;/STRONG&gt; Heading_Names.Length &lt;STRONG&gt;-&lt;/STRONG&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Dim&lt;/STRONG&gt; map &lt;STRONG&gt;As&lt;/STRONG&gt; Inventor.&lt;STRONG&gt;NameValueMap&lt;/STRONG&gt; &lt;STRONG&gt;=&lt;/STRONG&gt; &lt;STRONG&gt;ThisApplication&lt;/STRONG&gt;.TransientObjects.CreateNameValueMap&lt;STRONG&gt;()&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;'map.Add("Arg1", "Arg1Value")&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;map.Add&lt;STRONG&gt;(&lt;/STRONG&gt;"Arg1", Heading_Names&lt;STRONG&gt;(&lt;/STRONG&gt;z&lt;STRONG&gt;))&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;iLogicVb&lt;/STRONG&gt;.&lt;STRONG&gt;RunRule&lt;/STRONG&gt;&lt;STRONG&gt;(&lt;/STRONG&gt;"Rule7", map&lt;STRONG&gt;)&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Next&lt;/STRONG&gt; z&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Rule 2&lt;/P&gt;&lt;P&gt;Arrays &lt;STRONG&gt;=&lt;/STRONG&gt; &lt;STRONG&gt;RuleArguments(&lt;/STRONG&gt;"Arg1"&lt;STRONG&gt;)&lt;/STRONG&gt;&amp;nbsp;&lt;STRONG&gt;If&lt;/STRONG&gt; &lt;STRONG&gt;RuleArguments&lt;/STRONG&gt;.&lt;STRONG&gt;Exists(&lt;/STRONG&gt;"Arg1"&lt;STRONG&gt;)Then&lt;/STRONG&gt;&lt;STRONG&gt;MessageBox&lt;/STRONG&gt;.&lt;STRONG&gt;Show(&lt;/STRONG&gt;"All My Arrays = " &lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt; Arrays , "Msg Box Test"&lt;STRONG&gt;)&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;End&lt;/STRONG&gt; &lt;STRONG&gt;If&lt;/STRONG&gt;&lt;/P&gt;</description>
    <pubDate>Thu, 20 Jul 2017 23:32:42 GMT</pubDate>
    <dc:creator>cencinaNB2ET</dc:creator>
    <dc:date>2017-07-20T23:32:42Z</dc:date>
    <item>
      <title>Using Namemap argument to pass an array to another rule</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/using-namemap-argument-to-pass-an-array-to-another-rule/m-p/7243552#M73662</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I know how to pass single variables but how would you pass on an array or an array-list to another rule using the createvaluemap function?&lt;/P&gt;&lt;P&gt;Any ideas would help me.&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;&lt;P&gt;Thanks in Advance&lt;/P&gt;</description>
      <pubDate>Thu, 20 Jul 2017 22:50:22 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-ilogic/using-namemap-argument-to-pass-an-array-to-another-rule/m-p/7243552#M73662</guid>
      <dc:creator>cencinaNB2ET</dc:creator>
      <dc:date>2017-07-20T22:50:22Z</dc:date>
    </item>
    <item>
      <title>Re: Using Namemap argument to pass an array to another rule</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/using-namemap-argument-to-pass-an-array-to-another-rule/m-p/7243618#M73663</link>
      <description>&lt;P&gt;Just figured it out....&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;You have to loop the namevalue map process as you would with any unknown array length&lt;/P&gt;&lt;P&gt;i converted the array list to a string array because it seems to work better.&lt;/P&gt;&lt;P&gt;Here is the Code&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Rule 1&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Dim&lt;/STRONG&gt; NamesList &lt;STRONG&gt;As&lt;/STRONG&gt; &lt;STRONG&gt;New&lt;/STRONG&gt; &lt;STRONG&gt;ArrayList&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;NamesList.Add&lt;STRONG&gt;(&lt;/STRONG&gt;"Part_N"&lt;STRONG&gt;)&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;NamesList.Add&lt;STRONG&gt;(&lt;/STRONG&gt;"Types"&lt;STRONG&gt;)&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;NamesList.Add&lt;STRONG&gt;(&lt;/STRONG&gt;"Diam"&lt;STRONG&gt;)&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;For&lt;/STRONG&gt; k &lt;STRONG&gt;=&lt;/STRONG&gt; &lt;STRONG&gt;0&lt;/STRONG&gt; &lt;STRONG&gt;To&lt;/STRONG&gt; NamesList.Count &lt;STRONG&gt;-&lt;/STRONG&gt; &lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;MessageBox&lt;/STRONG&gt;.&lt;STRONG&gt;Show&lt;/STRONG&gt;&lt;STRONG&gt;(&lt;/STRONG&gt; NamesList&lt;STRONG&gt;(&lt;/STRONG&gt;k&lt;STRONG&gt;)&lt;/STRONG&gt; , "Works"&lt;STRONG&gt;)&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Next&lt;/STRONG&gt; k&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Dim&lt;/STRONG&gt; Heading_Names &lt;STRONG&gt;As&lt;/STRONG&gt; &lt;STRONG&gt;String&lt;/STRONG&gt;&lt;STRONG&gt;()&lt;/STRONG&gt; &lt;STRONG&gt;=&lt;/STRONG&gt; &lt;STRONG&gt;CType&lt;/STRONG&gt;&lt;STRONG&gt;(&lt;/STRONG&gt;NamesList.ToArray&lt;STRONG&gt;(&lt;/STRONG&gt;&lt;STRONG&gt;GetType&lt;/STRONG&gt;&lt;STRONG&gt;(&lt;/STRONG&gt;&lt;STRONG&gt;String&lt;/STRONG&gt;&lt;STRONG&gt;))&lt;/STRONG&gt;, &lt;STRONG&gt;String&lt;/STRONG&gt;&lt;STRONG&gt;())&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;For&lt;/STRONG&gt; g &lt;STRONG&gt;=&lt;/STRONG&gt; &lt;STRONG&gt;0&lt;/STRONG&gt; &lt;STRONG&gt;To&lt;/STRONG&gt; Heading_Names.Length &lt;STRONG&gt;-&lt;/STRONG&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;MessageBox&lt;/STRONG&gt;.&lt;STRONG&gt;Show&lt;/STRONG&gt;&lt;STRONG&gt;(&lt;/STRONG&gt; Heading_Names&lt;STRONG&gt;(&lt;/STRONG&gt;g&lt;STRONG&gt;)&lt;/STRONG&gt;, ""&lt;STRONG&gt;)&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Next&lt;/STRONG&gt; g&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;For&lt;/STRONG&gt; z &lt;STRONG&gt;=&lt;/STRONG&gt; &lt;STRONG&gt;0&lt;/STRONG&gt; &lt;STRONG&gt;To&lt;/STRONG&gt; Heading_Names.Length &lt;STRONG&gt;-&lt;/STRONG&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Dim&lt;/STRONG&gt; map &lt;STRONG&gt;As&lt;/STRONG&gt; Inventor.&lt;STRONG&gt;NameValueMap&lt;/STRONG&gt; &lt;STRONG&gt;=&lt;/STRONG&gt; &lt;STRONG&gt;ThisApplication&lt;/STRONG&gt;.TransientObjects.CreateNameValueMap&lt;STRONG&gt;()&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;'map.Add("Arg1", "Arg1Value")&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;map.Add&lt;STRONG&gt;(&lt;/STRONG&gt;"Arg1", Heading_Names&lt;STRONG&gt;(&lt;/STRONG&gt;z&lt;STRONG&gt;))&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;iLogicVb&lt;/STRONG&gt;.&lt;STRONG&gt;RunRule&lt;/STRONG&gt;&lt;STRONG&gt;(&lt;/STRONG&gt;"Rule7", map&lt;STRONG&gt;)&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Next&lt;/STRONG&gt; z&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Rule 2&lt;/P&gt;&lt;P&gt;Arrays &lt;STRONG&gt;=&lt;/STRONG&gt; &lt;STRONG&gt;RuleArguments(&lt;/STRONG&gt;"Arg1"&lt;STRONG&gt;)&lt;/STRONG&gt;&amp;nbsp;&lt;STRONG&gt;If&lt;/STRONG&gt; &lt;STRONG&gt;RuleArguments&lt;/STRONG&gt;.&lt;STRONG&gt;Exists(&lt;/STRONG&gt;"Arg1"&lt;STRONG&gt;)Then&lt;/STRONG&gt;&lt;STRONG&gt;MessageBox&lt;/STRONG&gt;.&lt;STRONG&gt;Show(&lt;/STRONG&gt;"All My Arrays = " &lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt; Arrays , "Msg Box Test"&lt;STRONG&gt;)&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;End&lt;/STRONG&gt; &lt;STRONG&gt;If&lt;/STRONG&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 20 Jul 2017 23:32:42 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-ilogic/using-namemap-argument-to-pass-an-array-to-another-rule/m-p/7243618#M73663</guid>
      <dc:creator>cencinaNB2ET</dc:creator>
      <dc:date>2017-07-20T23:32:42Z</dc:date>
    </item>
  </channel>
</rss>

