<?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: Pattern problem w/ multiple options in Inventor Programming Forum</title>
    <link>https://forums.autodesk.com/t5/inventor-programming-forum/pattern-problem-w-multiple-options/m-p/9677294#M59913</link>
    <description>&lt;P&gt;Hi&amp;nbsp; WCrihfield,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I tried the new code and it's still throwing the error msg. I tried the same troubleshooting that I did for the other code and I've pasted where the error comes before the msg box.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Maybe it's something I've done because both sets of code are now showing that error message? Anyway, thanks for your efforts to help solve my problem!&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;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oADoc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;AssemblyDocument&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;oADef&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;AssemblyComponentDefinition&lt;/SPAN&gt; = &lt;SPAN&gt;oADoc&lt;/SPAN&gt;.&lt;SPAN&gt;ComponentDefinition&lt;/SPAN&gt;
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oPat&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;OccurrencePattern&lt;/SPAN&gt;
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oEl&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;OccurrencePatternElement&lt;/SPAN&gt;
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oOcc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;ComponentOccurrence&lt;/SPAN&gt;
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;i&lt;/SPAN&gt;, &lt;SPAN&gt;j&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Integer&lt;/SPAN&gt;
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oSupMap&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;NameValueMap&lt;/SPAN&gt;
&lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;Each&lt;/SPAN&gt; &lt;SPAN&gt;oPat&lt;/SPAN&gt; &lt;SPAN&gt;In&lt;/SPAN&gt; &lt;SPAN&gt;oADef&lt;/SPAN&gt;.&lt;SPAN&gt;OccurrencePatterns&lt;/SPAN&gt;
&lt;SPAN&gt;'	If oPat.Name.Contains("MIDDLE DRAWER") Then&lt;/SPAN&gt;
	&lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;Each&lt;/SPAN&gt; &lt;SPAN&gt;oEl&lt;/SPAN&gt; &lt;SPAN&gt;In&lt;/SPAN&gt; &lt;SPAN&gt;oPat&lt;/SPAN&gt;.&lt;SPAN&gt;OccurrencePatternElements&lt;/SPAN&gt;
		&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;oEl&lt;/SPAN&gt;.&lt;SPAN&gt;Index&lt;/SPAN&gt; = 1 &lt;SPAN&gt;Then&lt;/SPAN&gt;
			&lt;SPAN&gt;'collect data about which occurrences are suppressed or not&lt;/SPAN&gt;
			&lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;Each&lt;/SPAN&gt; &lt;SPAN&gt;oOcc&lt;/SPAN&gt; &lt;SPAN&gt;In&lt;/SPAN&gt; &lt;SPAN&gt;oEl&lt;/SPAN&gt;.&lt;SPAN&gt;Components&lt;/SPAN&gt;
				&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;oOcc&lt;/SPAN&gt;.&lt;SPAN&gt;Suppressed&lt;/SPAN&gt; = &lt;SPAN&gt;False&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
					&lt;SPAN&gt;oSupMap&lt;/SPAN&gt;.&lt;SPAN&gt;Add&lt;/SPAN&gt;(&lt;SPAN&gt;oOcc&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt;, &lt;SPAN&gt;Boolean&lt;/SPAN&gt;.&lt;SPAN&gt;FalseString&lt;/SPAN&gt;)
					&lt;U&gt;&lt;FONT color="#FF0000"&gt;MsgBox("Here")&lt;/FONT&gt;&lt;/U&gt;
				&lt;SPAN&gt;ElseIf&lt;/SPAN&gt; &lt;SPAN&gt;oOcc&lt;/SPAN&gt;.&lt;SPAN&gt;Suppressed&lt;/SPAN&gt; = &lt;SPAN&gt;True&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
					&lt;SPAN&gt;oSupMap&lt;/SPAN&gt;.&lt;SPAN&gt;Add&lt;/SPAN&gt;(&lt;SPAN&gt;oOcc&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt;, &lt;SPAN&gt;Boolean&lt;/SPAN&gt;.&lt;SPAN&gt;TrueString&lt;/SPAN&gt;)
				&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
			&lt;SPAN&gt;Next&lt;/SPAN&gt;
		&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
		&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;oEl&lt;/SPAN&gt;.&lt;SPAN&gt;Index&lt;/SPAN&gt; &amp;gt; 1 &lt;SPAN&gt;Then&lt;/SPAN&gt;
			&lt;SPAN&gt;'Set suppressed status based on first element.&lt;/SPAN&gt;
			&lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;Each&lt;/SPAN&gt; &lt;SPAN&gt;oOcc&lt;/SPAN&gt; &lt;SPAN&gt;In&lt;/SPAN&gt; &lt;SPAN&gt;oEl&lt;/SPAN&gt;.&lt;SPAN&gt;Components&lt;/SPAN&gt;
				&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;oOcc&lt;/SPAN&gt;.&lt;SPAN&gt;Suppressed&lt;/SPAN&gt; &amp;lt;&amp;gt; &lt;SPAN&gt;CBool&lt;/SPAN&gt;(&lt;SPAN&gt;oSupMap&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;oOcc&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt;)) &lt;SPAN&gt;Then&lt;/SPAN&gt;
					&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;oOcc&lt;/SPAN&gt;.&lt;SPAN&gt;Suppressed&lt;/SPAN&gt; = &lt;SPAN&gt;True&lt;/SPAN&gt; &lt;SPAN&gt;And&lt;/SPAN&gt; &lt;SPAN&gt;CBool&lt;/SPAN&gt;(&lt;SPAN&gt;oSupMap&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;oOcc&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt;)) = &lt;SPAN&gt;False&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
						&lt;SPAN&gt;oOcc&lt;/SPAN&gt;.&lt;SPAN&gt;Unsuppress&lt;/SPAN&gt;
					&lt;SPAN&gt;ElseIf&lt;/SPAN&gt; &lt;SPAN&gt;oOcc&lt;/SPAN&gt;.&lt;SPAN&gt;Suppressed&lt;/SPAN&gt; = &lt;SPAN&gt;False&lt;/SPAN&gt; &lt;SPAN&gt;And&lt;/SPAN&gt; &lt;SPAN&gt;CBool&lt;/SPAN&gt;(&lt;SPAN&gt;oSupMap&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;oOcc&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt;)) = &lt;SPAN&gt;True&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
						&lt;SPAN&gt;oOcc&lt;/SPAN&gt;.&lt;SPAN&gt;Suppress&lt;/SPAN&gt;
					&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
				&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
			&lt;SPAN&gt;Next&lt;/SPAN&gt;
		&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
	&lt;SPAN&gt;Next&lt;/SPAN&gt;
&lt;SPAN&gt;Next&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Thu, 06 Aug 2020 17:04:17 GMT</pubDate>
    <dc:creator>JohnKHouston</dc:creator>
    <dc:date>2020-08-06T17:04:17Z</dc:date>
    <item>
      <title>Pattern problem w/ multiple options</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/pattern-problem-w-multiple-options/m-p/9674309#M59903</link>
      <description>&lt;P&gt;Hi everyone,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I've been working on an assembly that uses patterns to determine how many drawers are in a cabinet. We have three different sizes, 7", 5", and 3". The largest starts on the bottom, then the middle drawer can be either the 3" or 5", and then finally the top drawer can be just the 3".&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;There are also 5 different lengths of slides that are inserted in each level that need to be controlled via suppression.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I can control the suppression of all the components in the first element based on criteria that the user selects but once the patterns are more than "1" element, I lose the ability to control the components easily.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;What I'd like to do is somehow look at Element1 of the pattern and use that as the basis for the rest of the elements in the pattern, ie suppressed or not.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I've added a couple screen shots to help illustrate my problem. As can be seen in the cabinet pattern elements screen shot, Element2 of the MIDDLE DRAWER Pattern:1 shows some components that are not visible but should be suppressed so the BOM would be correct. The second screen shot is just to illustrate the options that I'm working with.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Any help with this would be greatly appreciated! Thanks in advance.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;John&lt;/P&gt;</description>
      <pubDate>Wed, 05 Aug 2020 12:46:33 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/pattern-problem-w-multiple-options/m-p/9674309#M59903</guid>
      <dc:creator>JohnKHouston</dc:creator>
      <dc:date>2020-08-05T12:46:33Z</dc:date>
    </item>
    <item>
      <title>Re: Pattern problem w/ multiple options</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/pattern-problem-w-multiple-options/m-p/9674396#M59904</link>
      <description>&lt;P&gt;If I understand your question, you are wanting to suppress/unsupress all the elements in a pattern based on whether the first element is suppressed or not. If so, this code should work for you.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oDoc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Document&lt;/SPAN&gt; = &lt;SPAN&gt;ThisDoc&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oDef&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;AssemblyComponentDefinition&lt;/SPAN&gt; = &lt;SPAN&gt;oDoc&lt;/SPAN&gt;.&lt;SPAN&gt;ComponentDefinition&lt;/SPAN&gt;

&lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;Each&lt;/SPAN&gt; &lt;SPAN&gt;oPat&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;OccurrencePattern&lt;/SPAN&gt; &lt;SPAN&gt;In&lt;/SPAN&gt; &lt;SPAN&gt;oDef&lt;/SPAN&gt;.&lt;SPAN&gt;OccurrencePatterns&lt;/SPAN&gt;
	
	&lt;SPAN&gt;'For each occurrence in the pattern&lt;/SPAN&gt;
	&lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;Each&lt;/SPAN&gt; &lt;SPAN&gt;oEle&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;OccurrencePatternElement&lt;/SPAN&gt; &lt;SPAN&gt;In&lt;/SPAN&gt; &lt;SPAN&gt;oPat&lt;/SPAN&gt;.&lt;SPAN&gt;OccurrencePatternElements&lt;/SPAN&gt;

		&lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;Each&lt;/SPAN&gt; &lt;SPAN&gt;oOcc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;ComponentOccurrence&lt;/SPAN&gt; &lt;SPAN&gt;In&lt;/SPAN&gt; &lt;SPAN&gt;oEle&lt;/SPAN&gt;.&lt;SPAN&gt;Occurrences&lt;/SPAN&gt;
			
			&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oSuppress&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Boolean&lt;/SPAN&gt;
			&lt;SPAN&gt;'Suppress of unsuppress all&lt;/SPAN&gt;
			&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;oOcc&lt;/SPAN&gt;.&lt;SPAN&gt;PatternElement&lt;/SPAN&gt;.&lt;SPAN&gt;Index&lt;/SPAN&gt; = 1 &lt;SPAN&gt;AndAlso&lt;/SPAN&gt; &lt;SPAN&gt;oOcc&lt;/SPAN&gt;.&lt;SPAN&gt;Suppressed&lt;/SPAN&gt; = &lt;SPAN&gt;True&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
					
					&lt;SPAN&gt;oSuppress&lt;/SPAN&gt; = &lt;SPAN&gt;True&lt;/SPAN&gt;
					
			&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
			
			&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;oSuppress&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
				
				&lt;SPAN&gt;oOcc&lt;/SPAN&gt;.&lt;SPAN&gt;Suppress&lt;/SPAN&gt;
				
			&lt;SPAN&gt;Else&lt;/SPAN&gt;
					
				&lt;SPAN&gt;oOcc&lt;/SPAN&gt;.&lt;SPAN&gt;Unsuppress&lt;/SPAN&gt;	
				
			&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
				
		&lt;SPAN&gt;Next&lt;/SPAN&gt;

	&lt;SPAN&gt;Next&lt;/SPAN&gt;

&lt;SPAN&gt;Next&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 05 Aug 2020 13:14:28 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/pattern-problem-w-multiple-options/m-p/9674396#M59904</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2020-08-05T13:14:28Z</dc:date>
    </item>
    <item>
      <title>Re: Pattern problem w/ multiple options</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/pattern-problem-w-multiple-options/m-p/9674522#M59905</link>
      <description>&lt;P&gt;Hi Vincent,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks for the reply, I appreciate you taking a look at this problem. Unfortunately I'm looking for something a bit more complicated than what you've suggested. I've added two screenshots that will hopefully explain my dilemma.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The two drawer cabinet shows the bottom drawer and middle drawer patterns. There's only 1 element and everything is suppressed by ilogic depending on the size of the drawer, D7, D5, or D3, and which slides will be used, 16/18/20/28.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The four drawer cabinet jpeg shows what happens when I add additional drawers. The patterns are controlled by parameters and the first element is still controlled by the ilogic rules, but the subsequent elements are not controlled by any code.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;That's what I'd like to do, control the subsequent element components suppression with code. Not necessarily the whole element itself, just the components.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Hopefully that makes a little more sense what I'm trying to achieve.&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="two drawer cabinet.jpg" style="width: 400px;"&gt;&lt;img src="https://forums.autodesk.com/t5/image/serverpage/image-id/803639i2CB9E15B74673E8B/image-size/medium?v=v2&amp;amp;px=400" role="button" title="two drawer cabinet.jpg" alt="two drawer cabinet.jpg" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="four drawer cabinet.jpg" style="width: 400px;"&gt;&lt;img src="https://forums.autodesk.com/t5/image/serverpage/image-id/803640iE3638F2D1E84C736/image-size/medium?v=v2&amp;amp;px=400" role="button" title="four drawer cabinet.jpg" alt="four drawer cabinet.jpg" /&gt;&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 05 Aug 2020 14:07:33 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/pattern-problem-w-multiple-options/m-p/9674522#M59905</guid>
      <dc:creator>JohnKHouston</dc:creator>
      <dc:date>2020-08-05T14:07:33Z</dc:date>
    </item>
    <item>
      <title>Re: Pattern problem w/ multiple options</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/pattern-problem-w-multiple-options/m-p/9674613#M59906</link>
      <description>&lt;P&gt;Ok I think I understand. You are making new elements in a pattern and you want the component suppression to be the same in subsequent elements. Try this&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oDoc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Document&lt;/SPAN&gt; = &lt;SPAN&gt;ThisDoc&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oDef&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;AssemblyComponentDefinition&lt;/SPAN&gt; = &lt;SPAN&gt;oDoc&lt;/SPAN&gt;.&lt;SPAN&gt;ComponentDefinition&lt;/SPAN&gt;


&lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;Each&lt;/SPAN&gt; &lt;SPAN&gt;oPat&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;OccurrencePattern&lt;/SPAN&gt; &lt;SPAN&gt;In&lt;/SPAN&gt; &lt;SPAN&gt;oDef&lt;/SPAN&gt;.&lt;SPAN&gt;OccurrencePatterns&lt;/SPAN&gt;
	
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oOccList&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;List&lt;/SPAN&gt;(&lt;SPAN&gt;Of&lt;/SPAN&gt; &lt;SPAN&gt;Boolean&lt;/SPAN&gt;) = &lt;SPAN&gt;New&lt;/SPAN&gt; &lt;SPAN&gt;List&lt;/SPAN&gt;(&lt;SPAN&gt;Of&lt;/SPAN&gt; &lt;SPAN&gt;Boolean&lt;/SPAN&gt;)

	&lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;Each&lt;/SPAN&gt; &lt;SPAN&gt;oEle&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;OccurrencePatternElement&lt;/SPAN&gt; &lt;SPAN&gt;In&lt;/SPAN&gt; &lt;SPAN&gt;oPat&lt;/SPAN&gt;.&lt;SPAN&gt;OccurrencePatternElements&lt;/SPAN&gt;

		&lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;i&lt;/SPAN&gt; = 1 &lt;SPAN&gt;To&lt;/SPAN&gt; &lt;SPAN&gt;oEle&lt;/SPAN&gt;.&lt;SPAN&gt;Occurrences&lt;/SPAN&gt;.&lt;SPAN&gt;Count&lt;/SPAN&gt;
			
			&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oOcc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;ComponentOccurrence&lt;/SPAN&gt; = &lt;SPAN&gt;oEle&lt;/SPAN&gt;.&lt;SPAN&gt;Occurrences&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;i&lt;/SPAN&gt;)
			
			&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;oOcc&lt;/SPAN&gt;.&lt;SPAN&gt;PatternElement&lt;/SPAN&gt;.&lt;SPAN&gt;Index&lt;/SPAN&gt; = 1  &lt;SPAN&gt;Then&lt;/SPAN&gt;
					
				&lt;SPAN&gt;oOccList&lt;/SPAN&gt;.&lt;SPAN&gt;Add&lt;/SPAN&gt;(&lt;SPAN&gt;oOcc&lt;/SPAN&gt;.&lt;SPAN&gt;Suppressed&lt;/SPAN&gt;)
				
			&lt;SPAN&gt;Else&lt;/SPAN&gt;
				
				&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;oOccList&lt;/SPAN&gt;(&lt;SPAN&gt;i&lt;/SPAN&gt;-1) &lt;SPAN&gt;Then&lt;/SPAN&gt;
					
					&lt;SPAN&gt;oOcc&lt;/SPAN&gt;.&lt;SPAN&gt;Suppress&lt;/SPAN&gt;
				
				&lt;SPAN&gt;Else&lt;/SPAN&gt;
					
					&lt;SPAN&gt;oOcc&lt;/SPAN&gt;.&lt;SPAN&gt;Unsuppress&lt;/SPAN&gt;
					
				&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
					
			&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
	
		&lt;SPAN&gt;Next&lt;/SPAN&gt;

	&lt;SPAN&gt;Next&lt;/SPAN&gt;

&lt;SPAN&gt;Next&lt;/SPAN&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 05 Aug 2020 14:38:48 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/pattern-problem-w-multiple-options/m-p/9674613#M59906</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2020-08-05T14:38:48Z</dc:date>
    </item>
    <item>
      <title>Re: Pattern problem w/ multiple options</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/pattern-problem-w-multiple-options/m-p/9674631#M59907</link>
      <description>&lt;P&gt;Try something like this.&lt;/P&gt;&lt;P&gt;It uses a NameValueMap to store the ReadOnly Boolean result of oOcc.Supressed by its index in the Occurrences collection (which should be the same for both elements.&amp;nbsp; I'm not sure if it will accept oOcc.Suppressed as the Value, but lets try it.&amp;nbsp; If it doesn't work, we can try specifying either True or False directly later.&lt;/P&gt;&lt;P&gt;Then uses that NameValueMap to check all other elements Occurrence.Suppressed state.&amp;nbsp; If they don't match, it changes the state of the Occurrence.&lt;/P&gt;&lt;LI-CODE lang="general"&gt;Dim oADoc As AssemblyDocument = ThisApplication.ActiveDocument
Dim oADef As AssemblyComponentDefinition = oADoc.ComponentDefinition
Dim oPat As OccurrencePattern
Dim oEl As OccurrencePatternElement
Dim oOcc As ComponentOccurrence
Dim i, j As Integer
Dim oSupMap As NameValueMap
For Each oPat In oADef.OccurrencePatterns
'	If oPat.Name.Contains("MIDDLE DRAWER") Then
	For Each oEl In oPat.OccurrencePatternElements
		If oEl.Index = 1 Then
			'collect data about which occurrences are suppressed or not
			For i = 1 To oEl.Components.Count
				oOcc = oEl.Components.Item(i)
				oSupMap.Add(i, oOcc.Suppressed)
			Next
		End If
		If oEl.Index &amp;gt; 1 Then
			'Set suppressed status based on first element.
			For j = 1 To oEl.Components.Count
				oOcc = oEl.Components.Item(j)
				If oOcc.Suppressed &amp;lt;&amp;gt; oSupMap.Value(j) Then
					If oOcc.Suppressed = True And oSupMap.Value(j) = False Then
						oOcc.Unsuppress
					ElseIf oOcc.Suppressed = False And oSupMap.Value(j) = True Then
						oOcc.Suppress
					End If
				End If
			Next
		End If
	Next
Next&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 05 Aug 2020 14:45:31 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/pattern-problem-w-multiple-options/m-p/9674631#M59907</guid>
      <dc:creator>WCrihfield</dc:creator>
      <dc:date>2020-08-05T14:45:31Z</dc:date>
    </item>
    <item>
      <title>Re: Pattern problem w/ multiple options</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/pattern-problem-w-multiple-options/m-p/9675014#M59908</link>
      <description>&lt;P&gt;Hi Vincent,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This code seems to be working except for some reason one of the elements doesn't have the components visible. They're enabled, just not visible. Would you know what can be done to correct this? It's Element2 of the BOTTOM DRAWER Pattern.&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="Enabled component not visible.jpg" style="width: 400px;"&gt;&lt;img src="https://forums.autodesk.com/t5/image/serverpage/image-id/803734i9B1CCF16FD295AE0/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Enabled component not visible.jpg" alt="Enabled component not visible.jpg" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;But, thanks very much for providing the code. It saves me a bunch of work!&lt;/P&gt;</description>
      <pubDate>Wed, 05 Aug 2020 17:09:47 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/pattern-problem-w-multiple-options/m-p/9675014#M59908</guid>
      <dc:creator>JohnKHouston</dc:creator>
      <dc:date>2020-08-05T17:09:47Z</dc:date>
    </item>
    <item>
      <title>Re: Pattern problem w/ multiple options</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/pattern-problem-w-multiple-options/m-p/9675025#M59909</link>
      <description>&lt;P&gt;Hi WC,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I tried the code you provided but unfortunately I received an error that I didn't know how to resolve. The error message was;&amp;nbsp;Object reference not set to an instance of an object.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks for your help, I'm not sure if you would be able to debug the error from the message we got but I do appreciate your help with the code.&lt;/P&gt;</description>
      <pubDate>Wed, 05 Aug 2020 17:13:24 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/pattern-problem-w-multiple-options/m-p/9675025#M59909</guid>
      <dc:creator>JohnKHouston</dc:creator>
      <dc:date>2020-08-05T17:13:24Z</dc:date>
    </item>
    <item>
      <title>Re: Pattern problem w/ multiple options</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/pattern-problem-w-multiple-options/m-p/9675037#M59910</link>
      <description>&lt;P&gt;Try this. It will make all the components in the elements after the first visible and then suppress/unsuppress&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oDoc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Document&lt;/SPAN&gt; = &lt;SPAN&gt;ThisDoc&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oDef&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;AssemblyComponentDefinition&lt;/SPAN&gt; = &lt;SPAN&gt;oDoc&lt;/SPAN&gt;.&lt;SPAN&gt;ComponentDefinition&lt;/SPAN&gt;


&lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;Each&lt;/SPAN&gt; &lt;SPAN&gt;oPat&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;OccurrencePattern&lt;/SPAN&gt; &lt;SPAN&gt;In&lt;/SPAN&gt; &lt;SPAN&gt;oDef&lt;/SPAN&gt;.&lt;SPAN&gt;OccurrencePatterns&lt;/SPAN&gt;
	
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oOccList&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;List&lt;/SPAN&gt;(&lt;SPAN&gt;Of&lt;/SPAN&gt; &lt;SPAN&gt;Boolean&lt;/SPAN&gt;) = &lt;SPAN&gt;New&lt;/SPAN&gt; &lt;SPAN&gt;List&lt;/SPAN&gt;(&lt;SPAN&gt;Of&lt;/SPAN&gt; &lt;SPAN&gt;Boolean&lt;/SPAN&gt;)

	&lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;Each&lt;/SPAN&gt; &lt;SPAN&gt;oEle&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;OccurrencePatternElement&lt;/SPAN&gt; &lt;SPAN&gt;In&lt;/SPAN&gt; &lt;SPAN&gt;oPat&lt;/SPAN&gt;.&lt;SPAN&gt;OccurrencePatternElements&lt;/SPAN&gt;

		&lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;i&lt;/SPAN&gt; = 1 &lt;SPAN&gt;To&lt;/SPAN&gt; &lt;SPAN&gt;oEle&lt;/SPAN&gt;.&lt;SPAN&gt;Occurrences&lt;/SPAN&gt;.&lt;SPAN&gt;Count&lt;/SPAN&gt;
			
			&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oOcc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;ComponentOccurrence&lt;/SPAN&gt; = &lt;SPAN&gt;oEle&lt;/SPAN&gt;.&lt;SPAN&gt;Occurrences&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;i&lt;/SPAN&gt;)
			
			&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;oOcc&lt;/SPAN&gt;.&lt;SPAN&gt;PatternElement&lt;/SPAN&gt;.&lt;SPAN&gt;Index&lt;/SPAN&gt; = 1  &lt;SPAN&gt;Then&lt;/SPAN&gt;
					
				&lt;SPAN&gt;oOccList&lt;/SPAN&gt;.&lt;SPAN&gt;Add&lt;/SPAN&gt;(&lt;SPAN&gt;oOcc&lt;/SPAN&gt;.&lt;SPAN&gt;Suppressed&lt;/SPAN&gt;)
				
			&lt;SPAN&gt;Else&lt;/SPAN&gt;
				oOcc.Visible = True&lt;BR /&gt;
				&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;oOccList&lt;/SPAN&gt;(&lt;SPAN&gt;i&lt;/SPAN&gt;-1) &lt;SPAN&gt;Then&lt;/SPAN&gt;
					
					&lt;SPAN&gt;oOcc&lt;/SPAN&gt;.&lt;SPAN&gt;Suppress&lt;/SPAN&gt;
				
				&lt;SPAN&gt;Else&lt;/SPAN&gt;
					
					&lt;SPAN&gt;oOcc&lt;/SPAN&gt;.&lt;SPAN&gt;Unsuppress&lt;BR /&gt;&lt;/SPAN&gt;                                        
				&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
					
			&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
	
		&lt;SPAN&gt;Next&lt;/SPAN&gt;

	&lt;SPAN&gt;Next&lt;/SPAN&gt;

&lt;SPAN&gt;Next&lt;/SPAN&gt;&amp;nbsp;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 05 Aug 2020 17:21:25 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/pattern-problem-w-multiple-options/m-p/9675037#M59910</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2020-08-05T17:21:25Z</dc:date>
    </item>
    <item>
      <title>Re: Pattern problem w/ multiple options</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/pattern-problem-w-multiple-options/m-p/9675061#M59911</link>
      <description>&lt;P&gt;I modified how it gets and sets the values of the NameValueMap a bit.&lt;/P&gt;&lt;P&gt;See if this works now.&lt;/P&gt;&lt;LI-CODE lang="general"&gt;Dim oADoc As AssemblyDocument = ThisApplication.ActiveDocument
Dim oADef As AssemblyComponentDefinition = oADoc.ComponentDefinition
Dim oPat As OccurrencePattern
Dim oEl As OccurrencePatternElement
Dim oOcc As ComponentOccurrence
Dim i, j As Integer
Dim oSupMap As NameValueMap
For Each oPat In oADef.OccurrencePatterns
'	If oPat.Name.Contains("MIDDLE DRAWER") Then
	For Each oEl In oPat.OccurrencePatternElements
		If oEl.Index = 1 Then
			'collect data about which occurrences are suppressed or not
			For Each oOcc In oEl.Components
				If oOcc.Suppressed = False Then
					oSupMap.Add(oOcc.Name, Boolean.FalseString)
				ElseIf oOcc.Suppressed = True Then
					oSupMap.Add(oOcc.Name, Boolean.TrueString)
				End If
			Next
		End If
		If oEl.Index &amp;gt; 1 Then
			'Set suppressed status based on first element.
			For Each oOcc In oEl.Components
				If oOcc.Suppressed &amp;lt;&amp;gt; CBool(oSupMap.Value(oOcc.Name)) Then
					If oOcc.Suppressed = True And CBool(oSupMap.Value(oOcc.Name)) = False Then
						oOcc.Unsuppress
					ElseIf oOcc.Suppressed = False And CBool(oSupMap.Value(oOcc.Name)) = True Then
						oOcc.Suppress
					End If
				End If
			Next
		End If
	Next
Next&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 05 Aug 2020 17:33:28 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/pattern-problem-w-multiple-options/m-p/9675061#M59911</guid>
      <dc:creator>WCrihfield</dc:creator>
      <dc:date>2020-08-05T17:33:28Z</dc:date>
    </item>
    <item>
      <title>Re: Pattern problem w/ multiple options</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/pattern-problem-w-multiple-options/m-p/9677270#M59912</link>
      <description>&lt;P&gt;Hi Vincent,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm not sure where the second set of code would go? Should it just be another rule that is called from the first code you sent?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Also, for some reason the code that you first sent is now throwing the "Object reference not set to an instance of an object" error message. I found a thread that suggested to use a msg box to see which line is causing the error. I tried that and found it pops up within one of the For Each statements. I'll post the code for you so you can see where the msg box is now showing up. I'm really surprised by this because it was working fine yesterday.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here's a link to the thread that suggests how to find the line that is causing the error msg,&amp;nbsp;&lt;A href="https://forums.autodesk.com/t5/inventor-customization/ilogic-rule-object-reference-not-set-to-an-instance-of-an-object/m-p/7660588#M78518" target="_blank" rel="noopener"&gt;https://forums.autodesk.com/t5/inventor-customization/ilogic-rule-object-reference-not-set-to-an-instance-of-an-object/m-p/7660588#M78518&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks again for your help.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oADoc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;AssemblyDocument&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;oADef&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;AssemblyComponentDefinition&lt;/SPAN&gt; = &lt;SPAN&gt;oADoc&lt;/SPAN&gt;.&lt;SPAN&gt;ComponentDefinition&lt;/SPAN&gt;
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oPat&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;OccurrencePattern&lt;/SPAN&gt;
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oEl&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;OccurrencePatternElement&lt;/SPAN&gt;
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oOcc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;ComponentOccurrence&lt;/SPAN&gt;
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;i&lt;/SPAN&gt;, &lt;SPAN&gt;j&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Integer&lt;/SPAN&gt;
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oSupMap&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;NameValueMap&lt;/SPAN&gt;
&lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;Each&lt;/SPAN&gt; &lt;SPAN&gt;oPat&lt;/SPAN&gt; &lt;SPAN&gt;In&lt;/SPAN&gt; &lt;SPAN&gt;oADef&lt;/SPAN&gt;.&lt;SPAN&gt;OccurrencePatterns&lt;/SPAN&gt;
&lt;SPAN&gt;'	If oPat.Name.Contains("MIDDLE DRAWER") Then&lt;/SPAN&gt;
	&lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;Each&lt;/SPAN&gt; &lt;SPAN&gt;oEl&lt;/SPAN&gt; &lt;SPAN&gt;In&lt;/SPAN&gt; &lt;SPAN&gt;oPat&lt;/SPAN&gt;.&lt;SPAN&gt;OccurrencePatternElements&lt;/SPAN&gt;
		&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;oEl&lt;/SPAN&gt;.&lt;SPAN&gt;Index&lt;/SPAN&gt; = 1 &lt;SPAN&gt;Then&lt;/SPAN&gt;
			&lt;SPAN&gt;'collect data about which occurrences are suppressed or not&lt;/SPAN&gt;
			&lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;i&lt;/SPAN&gt; = 1 &lt;SPAN&gt;To&lt;/SPAN&gt; &lt;SPAN&gt;oEl&lt;/SPAN&gt;.&lt;SPAN&gt;Components&lt;/SPAN&gt;.&lt;SPAN&gt;Count&lt;/SPAN&gt;
				&lt;SPAN&gt;oOcc&lt;/SPAN&gt; = &lt;SPAN&gt;oEl&lt;/SPAN&gt;.&lt;SPAN&gt;Components&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;i&lt;/SPAN&gt;)
				&lt;SPAN&gt;oSupMap&lt;/SPAN&gt;.&lt;SPAN&gt;Add&lt;/SPAN&gt;(&lt;SPAN&gt;i&lt;/SPAN&gt;, &lt;SPAN&gt;oOcc&lt;/SPAN&gt;.&lt;SPAN&gt;Suppressed&lt;/SPAN&gt;)
				&lt;U&gt;&lt;FONT color="#FF0000"&gt;MsgBox("Here")&lt;/FONT&gt;&lt;/U&gt;
			&lt;SPAN&gt;Next&lt;/SPAN&gt;
		&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
		&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;oEl&lt;/SPAN&gt;.&lt;SPAN&gt;Index&lt;/SPAN&gt; &amp;gt; 1 &lt;SPAN&gt;Then&lt;/SPAN&gt;
			&lt;SPAN&gt;'Set suppressed status based on first element.&lt;/SPAN&gt;
			&lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;j&lt;/SPAN&gt; = 1 &lt;SPAN&gt;To&lt;/SPAN&gt; &lt;SPAN&gt;oEl&lt;/SPAN&gt;.&lt;SPAN&gt;Components&lt;/SPAN&gt;.&lt;SPAN&gt;Count&lt;/SPAN&gt;
				&lt;SPAN&gt;oOcc&lt;/SPAN&gt; = &lt;SPAN&gt;oEl&lt;/SPAN&gt;.&lt;SPAN&gt;Components&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;j&lt;/SPAN&gt;)
				&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;oOcc&lt;/SPAN&gt;.&lt;SPAN&gt;Suppressed&lt;/SPAN&gt; &amp;lt;&amp;gt; &lt;SPAN&gt;oSupMap&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;j&lt;/SPAN&gt;) &lt;SPAN&gt;Then&lt;/SPAN&gt;
					&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;oOcc&lt;/SPAN&gt;.&lt;SPAN&gt;Suppressed&lt;/SPAN&gt; = &lt;SPAN&gt;True&lt;/SPAN&gt; &lt;SPAN&gt;And&lt;/SPAN&gt; &lt;SPAN&gt;oSupMap&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;j&lt;/SPAN&gt;) = &lt;SPAN&gt;False&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
						&lt;SPAN&gt;oOcc&lt;/SPAN&gt;.&lt;SPAN&gt;Unsuppress&lt;/SPAN&gt;
					&lt;SPAN&gt;ElseIf&lt;/SPAN&gt; &lt;SPAN&gt;oOcc&lt;/SPAN&gt;.&lt;SPAN&gt;Suppressed&lt;/SPAN&gt; = &lt;SPAN&gt;False&lt;/SPAN&gt; &lt;SPAN&gt;And&lt;/SPAN&gt; &lt;SPAN&gt;oSupMap&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;j&lt;/SPAN&gt;) = &lt;SPAN&gt;True&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
						&lt;SPAN&gt;oOcc&lt;/SPAN&gt;.&lt;SPAN&gt;Suppress&lt;/SPAN&gt;
					&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
				&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
			&lt;SPAN&gt;Next&lt;/SPAN&gt;
		&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
	&lt;SPAN&gt;Next&lt;/SPAN&gt;
&lt;SPAN&gt;Next&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 06 Aug 2020 17:06:02 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/pattern-problem-w-multiple-options/m-p/9677270#M59912</guid>
      <dc:creator>JohnKHouston</dc:creator>
      <dc:date>2020-08-06T17:06:02Z</dc:date>
    </item>
    <item>
      <title>Re: Pattern problem w/ multiple options</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/pattern-problem-w-multiple-options/m-p/9677294#M59913</link>
      <description>&lt;P&gt;Hi&amp;nbsp; WCrihfield,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I tried the new code and it's still throwing the error msg. I tried the same troubleshooting that I did for the other code and I've pasted where the error comes before the msg box.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Maybe it's something I've done because both sets of code are now showing that error message? Anyway, thanks for your efforts to help solve my problem!&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;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oADoc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;AssemblyDocument&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;oADef&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;AssemblyComponentDefinition&lt;/SPAN&gt; = &lt;SPAN&gt;oADoc&lt;/SPAN&gt;.&lt;SPAN&gt;ComponentDefinition&lt;/SPAN&gt;
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oPat&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;OccurrencePattern&lt;/SPAN&gt;
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oEl&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;OccurrencePatternElement&lt;/SPAN&gt;
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oOcc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;ComponentOccurrence&lt;/SPAN&gt;
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;i&lt;/SPAN&gt;, &lt;SPAN&gt;j&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Integer&lt;/SPAN&gt;
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oSupMap&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;NameValueMap&lt;/SPAN&gt;
&lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;Each&lt;/SPAN&gt; &lt;SPAN&gt;oPat&lt;/SPAN&gt; &lt;SPAN&gt;In&lt;/SPAN&gt; &lt;SPAN&gt;oADef&lt;/SPAN&gt;.&lt;SPAN&gt;OccurrencePatterns&lt;/SPAN&gt;
&lt;SPAN&gt;'	If oPat.Name.Contains("MIDDLE DRAWER") Then&lt;/SPAN&gt;
	&lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;Each&lt;/SPAN&gt; &lt;SPAN&gt;oEl&lt;/SPAN&gt; &lt;SPAN&gt;In&lt;/SPAN&gt; &lt;SPAN&gt;oPat&lt;/SPAN&gt;.&lt;SPAN&gt;OccurrencePatternElements&lt;/SPAN&gt;
		&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;oEl&lt;/SPAN&gt;.&lt;SPAN&gt;Index&lt;/SPAN&gt; = 1 &lt;SPAN&gt;Then&lt;/SPAN&gt;
			&lt;SPAN&gt;'collect data about which occurrences are suppressed or not&lt;/SPAN&gt;
			&lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;Each&lt;/SPAN&gt; &lt;SPAN&gt;oOcc&lt;/SPAN&gt; &lt;SPAN&gt;In&lt;/SPAN&gt; &lt;SPAN&gt;oEl&lt;/SPAN&gt;.&lt;SPAN&gt;Components&lt;/SPAN&gt;
				&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;oOcc&lt;/SPAN&gt;.&lt;SPAN&gt;Suppressed&lt;/SPAN&gt; = &lt;SPAN&gt;False&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
					&lt;SPAN&gt;oSupMap&lt;/SPAN&gt;.&lt;SPAN&gt;Add&lt;/SPAN&gt;(&lt;SPAN&gt;oOcc&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt;, &lt;SPAN&gt;Boolean&lt;/SPAN&gt;.&lt;SPAN&gt;FalseString&lt;/SPAN&gt;)
					&lt;U&gt;&lt;FONT color="#FF0000"&gt;MsgBox("Here")&lt;/FONT&gt;&lt;/U&gt;
				&lt;SPAN&gt;ElseIf&lt;/SPAN&gt; &lt;SPAN&gt;oOcc&lt;/SPAN&gt;.&lt;SPAN&gt;Suppressed&lt;/SPAN&gt; = &lt;SPAN&gt;True&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
					&lt;SPAN&gt;oSupMap&lt;/SPAN&gt;.&lt;SPAN&gt;Add&lt;/SPAN&gt;(&lt;SPAN&gt;oOcc&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt;, &lt;SPAN&gt;Boolean&lt;/SPAN&gt;.&lt;SPAN&gt;TrueString&lt;/SPAN&gt;)
				&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
			&lt;SPAN&gt;Next&lt;/SPAN&gt;
		&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
		&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;oEl&lt;/SPAN&gt;.&lt;SPAN&gt;Index&lt;/SPAN&gt; &amp;gt; 1 &lt;SPAN&gt;Then&lt;/SPAN&gt;
			&lt;SPAN&gt;'Set suppressed status based on first element.&lt;/SPAN&gt;
			&lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;Each&lt;/SPAN&gt; &lt;SPAN&gt;oOcc&lt;/SPAN&gt; &lt;SPAN&gt;In&lt;/SPAN&gt; &lt;SPAN&gt;oEl&lt;/SPAN&gt;.&lt;SPAN&gt;Components&lt;/SPAN&gt;
				&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;oOcc&lt;/SPAN&gt;.&lt;SPAN&gt;Suppressed&lt;/SPAN&gt; &amp;lt;&amp;gt; &lt;SPAN&gt;CBool&lt;/SPAN&gt;(&lt;SPAN&gt;oSupMap&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;oOcc&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt;)) &lt;SPAN&gt;Then&lt;/SPAN&gt;
					&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;oOcc&lt;/SPAN&gt;.&lt;SPAN&gt;Suppressed&lt;/SPAN&gt; = &lt;SPAN&gt;True&lt;/SPAN&gt; &lt;SPAN&gt;And&lt;/SPAN&gt; &lt;SPAN&gt;CBool&lt;/SPAN&gt;(&lt;SPAN&gt;oSupMap&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;oOcc&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt;)) = &lt;SPAN&gt;False&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
						&lt;SPAN&gt;oOcc&lt;/SPAN&gt;.&lt;SPAN&gt;Unsuppress&lt;/SPAN&gt;
					&lt;SPAN&gt;ElseIf&lt;/SPAN&gt; &lt;SPAN&gt;oOcc&lt;/SPAN&gt;.&lt;SPAN&gt;Suppressed&lt;/SPAN&gt; = &lt;SPAN&gt;False&lt;/SPAN&gt; &lt;SPAN&gt;And&lt;/SPAN&gt; &lt;SPAN&gt;CBool&lt;/SPAN&gt;(&lt;SPAN&gt;oSupMap&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;oOcc&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt;)) = &lt;SPAN&gt;True&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
						&lt;SPAN&gt;oOcc&lt;/SPAN&gt;.&lt;SPAN&gt;Suppress&lt;/SPAN&gt;
					&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
				&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
			&lt;SPAN&gt;Next&lt;/SPAN&gt;
		&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
	&lt;SPAN&gt;Next&lt;/SPAN&gt;
&lt;SPAN&gt;Next&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 06 Aug 2020 17:04:17 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/pattern-problem-w-multiple-options/m-p/9677294#M59913</guid>
      <dc:creator>JohnKHouston</dc:creator>
      <dc:date>2020-08-06T17:04:17Z</dc:date>
    </item>
    <item>
      <title>Re: Pattern problem w/ multiple options</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/pattern-problem-w-multiple-options/m-p/9677314#M59914</link>
      <description>&lt;P&gt;You can just replace my original code with my second post. Also the code you posted is&amp;nbsp;WCrihfield's code not mine.&lt;/P&gt;</description>
      <pubDate>Thu, 06 Aug 2020 17:10:44 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/pattern-problem-w-multiple-options/m-p/9677314#M59914</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2020-08-06T17:10:44Z</dc:date>
    </item>
    <item>
      <title>Re: Pattern problem w/ multiple options</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/pattern-problem-w-multiple-options/m-p/9677337#M59915</link>
      <description>&lt;P&gt;Oh, I did do that...sorry! Too much going on. I'll double check my work then, probably my error somewhere.&lt;/P&gt;</description>
      <pubDate>Thu, 06 Aug 2020 17:20:30 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/pattern-problem-w-multiple-options/m-p/9677337#M59915</guid>
      <dc:creator>JohnKHouston</dc:creator>
      <dc:date>2020-08-06T17:20:30Z</dc:date>
    </item>
    <item>
      <title>Re: Pattern problem w/ multiple options</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/pattern-problem-w-multiple-options/m-p/9677376#M59916</link>
      <description>&lt;P&gt;Okay, I got my sh!t sorted out.&amp;nbsp; &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The first code works correctly, same as yesterday but the second code you posted throws an error message. I've copied the more info tab but I doubt that will help you much. It's a pretty vague message.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;System.Runtime.InteropServices.COMException (0x80004005): Unspecified error (Exception from HRESULT: 0x80004005 (E_FAIL))&lt;BR /&gt;at System.RuntimeType.ForwardCallToInvokeMember(String memberName, BindingFlags flags, Object target, Int32[] aWrapperTypes, MessageData&amp;amp; msgData)&lt;BR /&gt;at Inventor.ComponentOccurrence.set_Visible(Boolean )&lt;BR /&gt;at ThisRule.Main()&lt;BR /&gt;at Autodesk.iLogic.Exec.AppDomExec.ExecRuleInAssembly(Assembly assem)&lt;BR /&gt;at iLogic.RuleEvalContainer.ExecRuleEval(String execRule)&lt;/P&gt;</description>
      <pubDate>Thu, 06 Aug 2020 17:38:56 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/pattern-problem-w-multiple-options/m-p/9677376#M59916</guid>
      <dc:creator>JohnKHouston</dc:creator>
      <dc:date>2020-08-06T17:38:56Z</dc:date>
    </item>
    <item>
      <title>Re: Pattern problem w/ multiple options</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/pattern-problem-w-multiple-options/m-p/9677392#M59917</link>
      <description>&lt;P&gt;Hi Vincent,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Sorry to bombard you with posts!&amp;nbsp;&amp;nbsp;&lt;span class="lia-unicode-emoji" title=":beaming_face_with_smiling_eyes:"&gt;😁&lt;/span&gt;&amp;nbsp; I just wanted to let you know that I solved the issue. I just moved the&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;oOcc&lt;/SPAN&gt;.&lt;SPAN&gt;Visible&lt;/SPAN&gt; = &lt;SPAN&gt;True&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;to after the Else, o0cc.Unsuppress statement and it worked fine. I think the issue was the visible=true statement was called while the components were still suppressed.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So, everything is working great! Thanks again for your help.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;John&lt;/P&gt;</description>
      <pubDate>Thu, 06 Aug 2020 17:47:08 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/pattern-problem-w-multiple-options/m-p/9677392#M59917</guid>
      <dc:creator>JohnKHouston</dc:creator>
      <dc:date>2020-08-06T17:47:08Z</dc:date>
    </item>
    <item>
      <title>Re: Pattern problem w/ multiple options</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/pattern-problem-w-multiple-options/m-p/9677400#M59918</link>
      <description>&lt;P&gt;EDIT: Seems you solved it yourself, but I'll leave this here for anyone interested.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Try this instead. If components are already suppressed trying to make them visible throws an error. Now it will only make them visible if they are unsuppressed&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oDoc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Document&lt;/SPAN&gt; = &lt;SPAN&gt;ThisDoc&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oDef&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;AssemblyComponentDefinition&lt;/SPAN&gt; = &lt;SPAN&gt;oDoc&lt;/SPAN&gt;.&lt;SPAN&gt;ComponentDefinition&lt;/SPAN&gt;

&lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;Each&lt;/SPAN&gt; &lt;SPAN&gt;oPat&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;OccurrencePattern&lt;/SPAN&gt; &lt;SPAN&gt;In&lt;/SPAN&gt; &lt;SPAN&gt;oDef&lt;/SPAN&gt;.&lt;SPAN&gt;OccurrencePatterns&lt;/SPAN&gt;
	
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oOccList&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;List&lt;/SPAN&gt;(&lt;SPAN&gt;Of&lt;/SPAN&gt; &lt;SPAN&gt;Boolean&lt;/SPAN&gt;) = &lt;SPAN&gt;New&lt;/SPAN&gt; &lt;SPAN&gt;List&lt;/SPAN&gt;(&lt;SPAN&gt;Of&lt;/SPAN&gt; &lt;SPAN&gt;Boolean&lt;/SPAN&gt;)

	&lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;Each&lt;/SPAN&gt; &lt;SPAN&gt;oEle&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;OccurrencePatternElement&lt;/SPAN&gt; &lt;SPAN&gt;In&lt;/SPAN&gt; &lt;SPAN&gt;oPat&lt;/SPAN&gt;.&lt;SPAN&gt;OccurrencePatternElements&lt;/SPAN&gt;

		&lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;i&lt;/SPAN&gt; = 1 &lt;SPAN&gt;To&lt;/SPAN&gt; &lt;SPAN&gt;oEle&lt;/SPAN&gt;.&lt;SPAN&gt;Occurrences&lt;/SPAN&gt;.&lt;SPAN&gt;Count&lt;/SPAN&gt;
			
			&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oOcc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;ComponentOccurrence&lt;/SPAN&gt; = &lt;SPAN&gt;oEle&lt;/SPAN&gt;.&lt;SPAN&gt;Occurrences&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;i&lt;/SPAN&gt;)
			
			&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;oOcc&lt;/SPAN&gt;.&lt;SPAN&gt;PatternElement&lt;/SPAN&gt;.&lt;SPAN&gt;Index&lt;/SPAN&gt; = 1  &lt;SPAN&gt;Then&lt;/SPAN&gt;
					
				&lt;SPAN&gt;oOccList&lt;/SPAN&gt;.&lt;SPAN&gt;Add&lt;/SPAN&gt;(&lt;SPAN&gt;oOcc&lt;/SPAN&gt;.&lt;SPAN&gt;Suppressed&lt;/SPAN&gt;)
				
			&lt;SPAN&gt;Else&lt;/SPAN&gt;
				
				&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;oOccList&lt;/SPAN&gt;(&lt;SPAN&gt;i&lt;/SPAN&gt;-1) &lt;SPAN&gt;Then&lt;/SPAN&gt;
					
					&lt;SPAN&gt;oOcc&lt;/SPAN&gt;.&lt;SPAN&gt;Suppress&lt;/SPAN&gt;
				
				&lt;SPAN&gt;Else&lt;/SPAN&gt;
					
					&lt;SPAN&gt;oOcc&lt;/SPAN&gt;.&lt;SPAN&gt;Unsuppress&lt;/SPAN&gt;
					&lt;SPAN&gt;oOcc&lt;/SPAN&gt;.&lt;SPAN&gt;Visible&lt;/SPAN&gt; = &lt;SPAN&gt;True&lt;/SPAN&gt;
					
				&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
					
			&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
	
		&lt;SPAN&gt;Next&lt;/SPAN&gt;

	&lt;SPAN&gt;Next&lt;/SPAN&gt;

&lt;SPAN&gt;Next&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 06 Aug 2020 17:51:29 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/pattern-problem-w-multiple-options/m-p/9677400#M59918</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2020-08-06T17:51:29Z</dc:date>
    </item>
    <item>
      <title>Re: Pattern problem w/ multiple options</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/pattern-problem-w-multiple-options/m-p/9677403#M59919</link>
      <description>&lt;P&gt;I wanted to notate that the correct code had to have one small correction for it to work correctly. I accepted Vincent's previous suggestion because it is (mostly) correct.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here's the corrected code:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oDoc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Document&lt;/SPAN&gt; = &lt;SPAN&gt;ThisDoc&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oDef&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;AssemblyComponentDefinition&lt;/SPAN&gt; = &lt;SPAN&gt;oDoc&lt;/SPAN&gt;.&lt;SPAN&gt;ComponentDefinition&lt;/SPAN&gt;


&lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;Each&lt;/SPAN&gt; &lt;SPAN&gt;oPat&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;OccurrencePattern&lt;/SPAN&gt; &lt;SPAN&gt;In&lt;/SPAN&gt; &lt;SPAN&gt;oDef&lt;/SPAN&gt;.&lt;SPAN&gt;OccurrencePatterns&lt;/SPAN&gt;
	
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oOccList&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;List&lt;/SPAN&gt;(&lt;SPAN&gt;Of&lt;/SPAN&gt; &lt;SPAN&gt;Boolean&lt;/SPAN&gt;) = &lt;SPAN&gt;New&lt;/SPAN&gt; &lt;SPAN&gt;List&lt;/SPAN&gt;(&lt;SPAN&gt;Of&lt;/SPAN&gt; &lt;SPAN&gt;Boolean&lt;/SPAN&gt;)

	&lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;Each&lt;/SPAN&gt; &lt;SPAN&gt;oEle&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;OccurrencePatternElement&lt;/SPAN&gt; &lt;SPAN&gt;In&lt;/SPAN&gt; &lt;SPAN&gt;oPat&lt;/SPAN&gt;.&lt;SPAN&gt;OccurrencePatternElements&lt;/SPAN&gt;

		&lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;i&lt;/SPAN&gt; = 1 &lt;SPAN&gt;To&lt;/SPAN&gt; &lt;SPAN&gt;oEle&lt;/SPAN&gt;.&lt;SPAN&gt;Occurrences&lt;/SPAN&gt;.&lt;SPAN&gt;Count&lt;/SPAN&gt;
			
			&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oOcc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;ComponentOccurrence&lt;/SPAN&gt; = &lt;SPAN&gt;oEle&lt;/SPAN&gt;.&lt;SPAN&gt;Occurrences&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;i&lt;/SPAN&gt;)
			
			&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;oOcc&lt;/SPAN&gt;.&lt;SPAN&gt;PatternElement&lt;/SPAN&gt;.&lt;SPAN&gt;Index&lt;/SPAN&gt; = 1  &lt;SPAN&gt;Then&lt;/SPAN&gt;
					
				&lt;SPAN&gt;oOccList&lt;/SPAN&gt;.&lt;SPAN&gt;Add&lt;/SPAN&gt;(&lt;SPAN&gt;oOcc&lt;/SPAN&gt;.&lt;SPAN&gt;Suppressed&lt;/SPAN&gt;)
				
			&lt;SPAN&gt;Else&lt;/SPAN&gt;
				
				&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;oOccList&lt;/SPAN&gt;(&lt;SPAN&gt;i&lt;/SPAN&gt;-1) &lt;SPAN&gt;Then&lt;/SPAN&gt;
					
					&lt;SPAN&gt;oOcc&lt;/SPAN&gt;.&lt;SPAN&gt;Suppress&lt;/SPAN&gt;
				
				&lt;SPAN&gt;Else&lt;/SPAN&gt;
					
					&lt;SPAN&gt;oOcc&lt;/SPAN&gt;.&lt;SPAN&gt;Unsuppress&lt;BR /&gt;&lt;/SPAN&gt;                                &lt;BR /&gt;                                  oOcc.Visible = True  &lt;BR /&gt;      
				&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
					
			&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
	
		&lt;SPAN&gt;Next&lt;/SPAN&gt;

	&lt;SPAN&gt;Next&lt;/SPAN&gt;

&lt;SPAN&gt;Next&lt;/SPAN&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 06 Aug 2020 17:50:53 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/pattern-problem-w-multiple-options/m-p/9677403#M59919</guid>
      <dc:creator>JohnKHouston</dc:creator>
      <dc:date>2020-08-06T17:50:53Z</dc:date>
    </item>
  </channel>
</rss>

