<?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 Unable to cast COM object error - for loop erroring out on certain sub assemblies, need help understanding in Inventor Programming - iLogic, Macros, AddIns &amp; Apprentice</title>
    <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/unable-to-cast-com-object-error-for-loop-erroring-out-on-certain/m-p/11513836#M144419</link>
    <description>&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="ilogic help.gif" style="width: 600px;"&gt;&lt;img src="https://forums.autodesk.com/t5/image/serverpage/image-id/1133081i2C2F519CF214FE99/image-size/medium?v=v2&amp;amp;px=400" role="button" title="ilogic help.gif" alt="ilogic help.gif" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;Hello, I have a few iLogic rules that I use to help automate the iProperties on the configurators.&amp;nbsp; I use them across most of my configurators but every once in a while it errors out on specific subassemblies or components.&amp;nbsp; In this case, if I suppress sub assembly&amp;nbsp;VTHFAB4-MCI:1 , there is no error.&amp;nbsp; So I tried to add an if statement just to skip that sub assembly but I am getting this error.&amp;nbsp; I need help understanding why this would error out for specific components or sub assemblies.&amp;nbsp; Also help understanding the error message for the conditional statement.&amp;nbsp; Any help would be greatly appreciated.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Added conditional statement is on sub iPropPartsProject&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="PREED7QR59_0-1666902507619.png" style="width: 600px;"&gt;&lt;img src="https://forums.autodesk.com/t5/image/serverpage/image-id/1133078iDA9A844ADF4F81D8/image-size/medium?v=v2&amp;amp;px=400" role="button" title="PREED7QR59_0-1666902507619.png" alt="PREED7QR59_0-1666902507619.png" /&gt;&lt;/span&gt;&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;'iPropertiesRule&lt;/SPAN&gt;
	&lt;SPAN&gt;'This rule will change the various iProperties of the Assembly, SubAssemblies and Piece parts.   &lt;/SPAN&gt;
	
	&lt;SPAN&gt;'Requires -  User parameters (Text): Designer, Project&lt;/SPAN&gt;

&lt;SPAN&gt;Sub&lt;/SPAN&gt; &lt;SPAN&gt;main&lt;/SPAN&gt;()
	&lt;SPAN&gt;iProp&lt;/SPAN&gt;
	&lt;SPAN&gt;iPropColumn&lt;/SPAN&gt;
	&lt;SPAN&gt;iPropPartsProject&lt;/SPAN&gt;
	&lt;SPAN&gt;iPropPartsDate&lt;/SPAN&gt;
	&lt;SPAN&gt;iPropPartsDesigner&lt;/SPAN&gt;
&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt;


&lt;SPAN&gt;'Changes Project of Assembly from the input on the form&lt;/SPAN&gt;
&lt;SPAN&gt;Sub&lt;/SPAN&gt; &lt;SPAN&gt;iProp&lt;/SPAN&gt;
	
	&lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;"Project"&lt;/SPAN&gt;, &lt;SPAN&gt;"Project"&lt;/SPAN&gt;) = &lt;SPAN&gt;Project&lt;/SPAN&gt;

&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt;


&lt;SPAN&gt;'Changes custom Material iProperty for Assembly and Subassemblies, places catelog part number, places desciption based on material&lt;/SPAN&gt;
&lt;SPAN&gt;Sub&lt;/SPAN&gt; &lt;SPAN&gt;iPropColumn&lt;/SPAN&gt;
	
	&lt;SPAN&gt;Select&lt;/SPAN&gt; &lt;SPAN&gt;Case&lt;/SPAN&gt; &lt;SPAN&gt;PumpSize&lt;/SPAN&gt;

		&lt;SPAN&gt;Case&lt;/SPAN&gt; &lt;SPAN&gt;"4.0 in"&lt;/SPAN&gt;
			
			&lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;"ColumnPipe:1"&lt;/SPAN&gt;, &lt;SPAN&gt;"Project"&lt;/SPAN&gt;, &lt;SPAN&gt;"Stock Number"&lt;/SPAN&gt;) = &lt;SPAN&gt;"PP4SCH40C"&lt;/SPAN&gt;
			&lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;"ColumnPipe:1"&lt;/SPAN&gt;, &lt;SPAN&gt;"Project"&lt;/SPAN&gt;, &lt;SPAN&gt;"Description"&lt;/SPAN&gt;) = &lt;SPAN&gt;"PIPE, 4 in SCH40 - PP4SCH40C"&lt;/SPAN&gt;
			&lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;"ColumnPipe:1"&lt;/SPAN&gt;, &lt;SPAN&gt;"Project"&lt;/SPAN&gt;, &lt;SPAN&gt;"Part Number"&lt;/SPAN&gt;) = &lt;SPAN&gt;"4 IN COLUMN"&lt;/SPAN&gt;

		&lt;SPAN&gt;Case&lt;/SPAN&gt; &lt;SPAN&gt;"6.0 in"&lt;/SPAN&gt;
			
			&lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;"ColumnPipe:1"&lt;/SPAN&gt;, &lt;SPAN&gt;"Project"&lt;/SPAN&gt;, &lt;SPAN&gt;"Stock Number"&lt;/SPAN&gt;) = &lt;SPAN&gt;"PP6SCH40C"&lt;/SPAN&gt;
			&lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;"ColumnPipe:1"&lt;/SPAN&gt;, &lt;SPAN&gt;"Project"&lt;/SPAN&gt;, &lt;SPAN&gt;"Description"&lt;/SPAN&gt;) = &lt;SPAN&gt;"PIPE, 6 in SCH40 - PP6SCH40C"&lt;/SPAN&gt;
			&lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;"ColumnPipe:1"&lt;/SPAN&gt;, &lt;SPAN&gt;"Project"&lt;/SPAN&gt;, &lt;SPAN&gt;"Part Number"&lt;/SPAN&gt;) = &lt;SPAN&gt;"6 IN COLUMN"&lt;/SPAN&gt;
			
		&lt;SPAN&gt;Case&lt;/SPAN&gt; &lt;SPAN&gt;"8.0 in"&lt;/SPAN&gt;
			
			&lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;"ColumnPipe:1"&lt;/SPAN&gt;, &lt;SPAN&gt;"Project"&lt;/SPAN&gt;, &lt;SPAN&gt;"Stock Number"&lt;/SPAN&gt;) = &lt;SPAN&gt;"PP8SCH40C"&lt;/SPAN&gt;
			&lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;"ColumnPipe:1"&lt;/SPAN&gt;, &lt;SPAN&gt;"Project"&lt;/SPAN&gt;, &lt;SPAN&gt;"Description"&lt;/SPAN&gt;) = &lt;SPAN&gt;"PIPE, 8 in SCH40 - PP8SCH40C"&lt;/SPAN&gt;
			&lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;"ColumnPipe:1"&lt;/SPAN&gt;, &lt;SPAN&gt;"Project"&lt;/SPAN&gt;, &lt;SPAN&gt;"Part Number"&lt;/SPAN&gt;) = &lt;SPAN&gt;"8 IN COLUMN"&lt;/SPAN&gt;
	
	&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Select&lt;/SPAN&gt;
	
&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt;


&lt;SPAN&gt;'Goes through all parts &amp;amp; subassemblies and replaces the Project based on form inputs&lt;/SPAN&gt;
&lt;SPAN&gt;Sub&lt;/SPAN&gt; &lt;SPAN&gt;iPropPartsProject&lt;/SPAN&gt;
	
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oAsmCompDef&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;AssemblyComponentDefinition&lt;/SPAN&gt;
&lt;SPAN&gt;oAsmCompDef&lt;/SPAN&gt; = &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;.&lt;SPAN&gt;ActiveDocument&lt;/SPAN&gt;.&lt;SPAN&gt;ComponentDefinition&lt;/SPAN&gt;

&lt;SPAN&gt;'Iterate through all Of the occurrences&lt;/SPAN&gt;
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oOccurrence&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;ComponentOccurrence&lt;/SPAN&gt;
&lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;Each&lt;/SPAN&gt; &lt;SPAN&gt;oOccurrence&lt;/SPAN&gt; &lt;SPAN&gt;In&lt;/SPAN&gt; &lt;SPAN&gt;oAsmCompDef&lt;/SPAN&gt;.&lt;SPAN&gt;Occurrences&lt;/SPAN&gt;.&lt;SPAN&gt;AllReferencedOccurrences&lt;/SPAN&gt;(&lt;SPAN&gt;oAsmCompDef&lt;/SPAN&gt;)  
	
	&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;oOccurrence&lt;/SPAN&gt; = &lt;SPAN&gt;"VTHFAB4-MCI:1"&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
	
	&lt;SPAN&gt;Else&lt;/SPAN&gt;
		&lt;SPAN&gt;'create iprop with default Value&lt;/SPAN&gt;
		&lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;"Project"&lt;/SPAN&gt;, &lt;SPAN&gt;"Project"&lt;/SPAN&gt;) = &lt;SPAN&gt;Project&lt;/SPAN&gt;
		&lt;SPAN&gt;'write to component iprops&lt;/SPAN&gt;
		&lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;oOccurrence&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt;, &lt;SPAN&gt;"Project"&lt;/SPAN&gt;, &lt;SPAN&gt;"Project"&lt;/SPAN&gt;) = _
		&lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;"Project"&lt;/SPAN&gt;, &lt;SPAN&gt;"Project"&lt;/SPAN&gt;)
		&lt;SPAN&gt;MessageBox&lt;/SPAN&gt;.&lt;SPAN&gt;Show&lt;/SPAN&gt;(&lt;SPAN&gt;oOccurrence&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt;, &lt;SPAN&gt;"Title"&lt;/SPAN&gt;)
	&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
	&lt;SPAN&gt;On&lt;/SPAN&gt; &lt;SPAN&gt;Error&lt;/SPAN&gt; &lt;SPAN&gt;Resume&lt;/SPAN&gt; &lt;SPAN&gt;Next&lt;/SPAN&gt;
&lt;SPAN&gt;Next&lt;/SPAN&gt;

&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt;


&lt;SPAN&gt;'Pulls current date and goes though and updates date for every part, sub assembly and assembly&lt;/SPAN&gt;
&lt;SPAN&gt;Sub&lt;/SPAN&gt; &lt;SPAN&gt;iPropPartsDate&lt;/SPAN&gt;
	
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;strFileName&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;
	&lt;SPAN&gt;strFileName&lt;/SPAN&gt; = &lt;SPAN&gt;ThisDoc&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;.&lt;SPAN&gt;FullFileName&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oFS&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Object&lt;/SPAN&gt;
	&lt;SPAN&gt;oFS&lt;/SPAN&gt; = &lt;SPAN&gt;CreateObject&lt;/SPAN&gt;(&lt;SPAN&gt;"Scripting.FileSystemObject"&lt;/SPAN&gt;)
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oDate1&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;
	&lt;SPAN&gt;'Dim oDate2 As String&lt;/SPAN&gt;
	&lt;SPAN&gt;oDate1&lt;/SPAN&gt; = &lt;SPAN&gt;oFS&lt;/SPAN&gt;.&lt;SPAN&gt;GetFile&lt;/SPAN&gt;(&lt;SPAN&gt;strFileName&lt;/SPAN&gt;).&lt;SPAN&gt;DateLastModified&lt;/SPAN&gt;
	&lt;SPAN&gt;'oDate2 = oFS.GetFile(strFileName).DateCreated&lt;/SPAN&gt;

	&lt;SPAN&gt;'MessageBox.Show(oDate1 &amp;amp; " and " &amp;amp; oDate2)&lt;/SPAN&gt;

	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oAsmCompDef&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;AssemblyComponentDefinition&lt;/SPAN&gt;
	&lt;SPAN&gt;oAsmCompDef&lt;/SPAN&gt; = &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;.&lt;SPAN&gt;ActiveDocument&lt;/SPAN&gt;.&lt;SPAN&gt;ComponentDefinition&lt;/SPAN&gt;

	&lt;SPAN&gt;'Iterate through all Of the occurrences&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oOccurrence&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;ComponentOccurrence&lt;/SPAN&gt;
	&lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;Each&lt;/SPAN&gt; &lt;SPAN&gt;oOccurrence&lt;/SPAN&gt; &lt;SPAN&gt;In&lt;/SPAN&gt; &lt;SPAN&gt;oAsmCompDef&lt;/SPAN&gt;.&lt;SPAN&gt;Occurrences&lt;/SPAN&gt;.&lt;SPAN&gt;AllReferencedOccurrences&lt;/SPAN&gt;(&lt;SPAN&gt;oAsmCompDef&lt;/SPAN&gt;)  

			&lt;SPAN&gt;'create iprop with default Value&lt;/SPAN&gt;
			&lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;"Project"&lt;/SPAN&gt;, &lt;SPAN&gt;"Creation Date"&lt;/SPAN&gt;) = &lt;SPAN&gt;oDate1&lt;/SPAN&gt;
			&lt;SPAN&gt;'write to component iprops&lt;/SPAN&gt;
			&lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;oOccurrence&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt;, &lt;SPAN&gt;"Project"&lt;/SPAN&gt;, &lt;SPAN&gt;"Creation Date"&lt;/SPAN&gt;) = _
			&lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;"Project"&lt;/SPAN&gt;, &lt;SPAN&gt;"Creation Date"&lt;/SPAN&gt;)

		&lt;SPAN&gt;On&lt;/SPAN&gt; &lt;SPAN&gt;Error&lt;/SPAN&gt; &lt;SPAN&gt;Resume&lt;/SPAN&gt; &lt;SPAN&gt;Next&lt;/SPAN&gt;
	&lt;SPAN&gt;Next&lt;/SPAN&gt;

&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt;


&lt;SPAN&gt;'Pulls designer from form and goes though and updates designer for every part, sub assembly and assembly&lt;/SPAN&gt;
&lt;SPAN&gt;Sub&lt;/SPAN&gt; &lt;SPAN&gt;iPropPartsDesigner&lt;/SPAN&gt;
	
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oAsmCompDef&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;AssemblyComponentDefinition&lt;/SPAN&gt;
&lt;SPAN&gt;oAsmCompDef&lt;/SPAN&gt; = &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;.&lt;SPAN&gt;ActiveDocument&lt;/SPAN&gt;.&lt;SPAN&gt;ComponentDefinition&lt;/SPAN&gt;

&lt;SPAN&gt;'Iterate through all Of the occurrences&lt;/SPAN&gt;
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oOccurrence&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;ComponentOccurrence&lt;/SPAN&gt;
&lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;Each&lt;/SPAN&gt; &lt;SPAN&gt;oOccurrence&lt;/SPAN&gt; &lt;SPAN&gt;In&lt;/SPAN&gt; &lt;SPAN&gt;oAsmCompDef&lt;/SPAN&gt;.&lt;SPAN&gt;Occurrences&lt;/SPAN&gt;.&lt;SPAN&gt;AllReferencedOccurrences&lt;/SPAN&gt;(&lt;SPAN&gt;oAsmCompDef&lt;/SPAN&gt;)  
	
		&lt;SPAN&gt;'create iprop with default Value&lt;/SPAN&gt;
		&lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;"Project"&lt;/SPAN&gt;, &lt;SPAN&gt;"Designer"&lt;/SPAN&gt;) = &lt;SPAN&gt;Designer&lt;/SPAN&gt;
		&lt;SPAN&gt;'write to component iprops&lt;/SPAN&gt;
		&lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;oOccurrence&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt;, &lt;SPAN&gt;"Project"&lt;/SPAN&gt;, &lt;SPAN&gt;"Designer"&lt;/SPAN&gt;) = _
		&lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;"Project"&lt;/SPAN&gt;, &lt;SPAN&gt;"Designer"&lt;/SPAN&gt;)
		
	&lt;SPAN&gt;On&lt;/SPAN&gt; &lt;SPAN&gt;Error&lt;/SPAN&gt; &lt;SPAN&gt;Resume&lt;/SPAN&gt; &lt;SPAN&gt;Next&lt;/SPAN&gt;
&lt;SPAN&gt;Next&lt;/SPAN&gt;

&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt;&lt;/PRE&gt;</description>
    <pubDate>Thu, 27 Oct 2022 20:46:30 GMT</pubDate>
    <dc:creator>Preston_Reed</dc:creator>
    <dc:date>2022-10-27T20:46:30Z</dc:date>
    <item>
      <title>Unable to cast COM object error - for loop erroring out on certain sub assemblies, need help understanding</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/unable-to-cast-com-object-error-for-loop-erroring-out-on-certain/m-p/11513836#M144419</link>
      <description>&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="ilogic help.gif" style="width: 600px;"&gt;&lt;img src="https://forums.autodesk.com/t5/image/serverpage/image-id/1133081i2C2F519CF214FE99/image-size/medium?v=v2&amp;amp;px=400" role="button" title="ilogic help.gif" alt="ilogic help.gif" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;Hello, I have a few iLogic rules that I use to help automate the iProperties on the configurators.&amp;nbsp; I use them across most of my configurators but every once in a while it errors out on specific subassemblies or components.&amp;nbsp; In this case, if I suppress sub assembly&amp;nbsp;VTHFAB4-MCI:1 , there is no error.&amp;nbsp; So I tried to add an if statement just to skip that sub assembly but I am getting this error.&amp;nbsp; I need help understanding why this would error out for specific components or sub assemblies.&amp;nbsp; Also help understanding the error message for the conditional statement.&amp;nbsp; Any help would be greatly appreciated.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Added conditional statement is on sub iPropPartsProject&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="PREED7QR59_0-1666902507619.png" style="width: 600px;"&gt;&lt;img src="https://forums.autodesk.com/t5/image/serverpage/image-id/1133078iDA9A844ADF4F81D8/image-size/medium?v=v2&amp;amp;px=400" role="button" title="PREED7QR59_0-1666902507619.png" alt="PREED7QR59_0-1666902507619.png" /&gt;&lt;/span&gt;&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;'iPropertiesRule&lt;/SPAN&gt;
	&lt;SPAN&gt;'This rule will change the various iProperties of the Assembly, SubAssemblies and Piece parts.   &lt;/SPAN&gt;
	
	&lt;SPAN&gt;'Requires -  User parameters (Text): Designer, Project&lt;/SPAN&gt;

&lt;SPAN&gt;Sub&lt;/SPAN&gt; &lt;SPAN&gt;main&lt;/SPAN&gt;()
	&lt;SPAN&gt;iProp&lt;/SPAN&gt;
	&lt;SPAN&gt;iPropColumn&lt;/SPAN&gt;
	&lt;SPAN&gt;iPropPartsProject&lt;/SPAN&gt;
	&lt;SPAN&gt;iPropPartsDate&lt;/SPAN&gt;
	&lt;SPAN&gt;iPropPartsDesigner&lt;/SPAN&gt;
&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt;


&lt;SPAN&gt;'Changes Project of Assembly from the input on the form&lt;/SPAN&gt;
&lt;SPAN&gt;Sub&lt;/SPAN&gt; &lt;SPAN&gt;iProp&lt;/SPAN&gt;
	
	&lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;"Project"&lt;/SPAN&gt;, &lt;SPAN&gt;"Project"&lt;/SPAN&gt;) = &lt;SPAN&gt;Project&lt;/SPAN&gt;

&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt;


&lt;SPAN&gt;'Changes custom Material iProperty for Assembly and Subassemblies, places catelog part number, places desciption based on material&lt;/SPAN&gt;
&lt;SPAN&gt;Sub&lt;/SPAN&gt; &lt;SPAN&gt;iPropColumn&lt;/SPAN&gt;
	
	&lt;SPAN&gt;Select&lt;/SPAN&gt; &lt;SPAN&gt;Case&lt;/SPAN&gt; &lt;SPAN&gt;PumpSize&lt;/SPAN&gt;

		&lt;SPAN&gt;Case&lt;/SPAN&gt; &lt;SPAN&gt;"4.0 in"&lt;/SPAN&gt;
			
			&lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;"ColumnPipe:1"&lt;/SPAN&gt;, &lt;SPAN&gt;"Project"&lt;/SPAN&gt;, &lt;SPAN&gt;"Stock Number"&lt;/SPAN&gt;) = &lt;SPAN&gt;"PP4SCH40C"&lt;/SPAN&gt;
			&lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;"ColumnPipe:1"&lt;/SPAN&gt;, &lt;SPAN&gt;"Project"&lt;/SPAN&gt;, &lt;SPAN&gt;"Description"&lt;/SPAN&gt;) = &lt;SPAN&gt;"PIPE, 4 in SCH40 - PP4SCH40C"&lt;/SPAN&gt;
			&lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;"ColumnPipe:1"&lt;/SPAN&gt;, &lt;SPAN&gt;"Project"&lt;/SPAN&gt;, &lt;SPAN&gt;"Part Number"&lt;/SPAN&gt;) = &lt;SPAN&gt;"4 IN COLUMN"&lt;/SPAN&gt;

		&lt;SPAN&gt;Case&lt;/SPAN&gt; &lt;SPAN&gt;"6.0 in"&lt;/SPAN&gt;
			
			&lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;"ColumnPipe:1"&lt;/SPAN&gt;, &lt;SPAN&gt;"Project"&lt;/SPAN&gt;, &lt;SPAN&gt;"Stock Number"&lt;/SPAN&gt;) = &lt;SPAN&gt;"PP6SCH40C"&lt;/SPAN&gt;
			&lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;"ColumnPipe:1"&lt;/SPAN&gt;, &lt;SPAN&gt;"Project"&lt;/SPAN&gt;, &lt;SPAN&gt;"Description"&lt;/SPAN&gt;) = &lt;SPAN&gt;"PIPE, 6 in SCH40 - PP6SCH40C"&lt;/SPAN&gt;
			&lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;"ColumnPipe:1"&lt;/SPAN&gt;, &lt;SPAN&gt;"Project"&lt;/SPAN&gt;, &lt;SPAN&gt;"Part Number"&lt;/SPAN&gt;) = &lt;SPAN&gt;"6 IN COLUMN"&lt;/SPAN&gt;
			
		&lt;SPAN&gt;Case&lt;/SPAN&gt; &lt;SPAN&gt;"8.0 in"&lt;/SPAN&gt;
			
			&lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;"ColumnPipe:1"&lt;/SPAN&gt;, &lt;SPAN&gt;"Project"&lt;/SPAN&gt;, &lt;SPAN&gt;"Stock Number"&lt;/SPAN&gt;) = &lt;SPAN&gt;"PP8SCH40C"&lt;/SPAN&gt;
			&lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;"ColumnPipe:1"&lt;/SPAN&gt;, &lt;SPAN&gt;"Project"&lt;/SPAN&gt;, &lt;SPAN&gt;"Description"&lt;/SPAN&gt;) = &lt;SPAN&gt;"PIPE, 8 in SCH40 - PP8SCH40C"&lt;/SPAN&gt;
			&lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;"ColumnPipe:1"&lt;/SPAN&gt;, &lt;SPAN&gt;"Project"&lt;/SPAN&gt;, &lt;SPAN&gt;"Part Number"&lt;/SPAN&gt;) = &lt;SPAN&gt;"8 IN COLUMN"&lt;/SPAN&gt;
	
	&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Select&lt;/SPAN&gt;
	
&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt;


&lt;SPAN&gt;'Goes through all parts &amp;amp; subassemblies and replaces the Project based on form inputs&lt;/SPAN&gt;
&lt;SPAN&gt;Sub&lt;/SPAN&gt; &lt;SPAN&gt;iPropPartsProject&lt;/SPAN&gt;
	
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oAsmCompDef&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;AssemblyComponentDefinition&lt;/SPAN&gt;
&lt;SPAN&gt;oAsmCompDef&lt;/SPAN&gt; = &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;.&lt;SPAN&gt;ActiveDocument&lt;/SPAN&gt;.&lt;SPAN&gt;ComponentDefinition&lt;/SPAN&gt;

&lt;SPAN&gt;'Iterate through all Of the occurrences&lt;/SPAN&gt;
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oOccurrence&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;ComponentOccurrence&lt;/SPAN&gt;
&lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;Each&lt;/SPAN&gt; &lt;SPAN&gt;oOccurrence&lt;/SPAN&gt; &lt;SPAN&gt;In&lt;/SPAN&gt; &lt;SPAN&gt;oAsmCompDef&lt;/SPAN&gt;.&lt;SPAN&gt;Occurrences&lt;/SPAN&gt;.&lt;SPAN&gt;AllReferencedOccurrences&lt;/SPAN&gt;(&lt;SPAN&gt;oAsmCompDef&lt;/SPAN&gt;)  
	
	&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;oOccurrence&lt;/SPAN&gt; = &lt;SPAN&gt;"VTHFAB4-MCI:1"&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
	
	&lt;SPAN&gt;Else&lt;/SPAN&gt;
		&lt;SPAN&gt;'create iprop with default Value&lt;/SPAN&gt;
		&lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;"Project"&lt;/SPAN&gt;, &lt;SPAN&gt;"Project"&lt;/SPAN&gt;) = &lt;SPAN&gt;Project&lt;/SPAN&gt;
		&lt;SPAN&gt;'write to component iprops&lt;/SPAN&gt;
		&lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;oOccurrence&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt;, &lt;SPAN&gt;"Project"&lt;/SPAN&gt;, &lt;SPAN&gt;"Project"&lt;/SPAN&gt;) = _
		&lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;"Project"&lt;/SPAN&gt;, &lt;SPAN&gt;"Project"&lt;/SPAN&gt;)
		&lt;SPAN&gt;MessageBox&lt;/SPAN&gt;.&lt;SPAN&gt;Show&lt;/SPAN&gt;(&lt;SPAN&gt;oOccurrence&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt;, &lt;SPAN&gt;"Title"&lt;/SPAN&gt;)
	&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
	&lt;SPAN&gt;On&lt;/SPAN&gt; &lt;SPAN&gt;Error&lt;/SPAN&gt; &lt;SPAN&gt;Resume&lt;/SPAN&gt; &lt;SPAN&gt;Next&lt;/SPAN&gt;
&lt;SPAN&gt;Next&lt;/SPAN&gt;

&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt;


&lt;SPAN&gt;'Pulls current date and goes though and updates date for every part, sub assembly and assembly&lt;/SPAN&gt;
&lt;SPAN&gt;Sub&lt;/SPAN&gt; &lt;SPAN&gt;iPropPartsDate&lt;/SPAN&gt;
	
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;strFileName&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;
	&lt;SPAN&gt;strFileName&lt;/SPAN&gt; = &lt;SPAN&gt;ThisDoc&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;.&lt;SPAN&gt;FullFileName&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oFS&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Object&lt;/SPAN&gt;
	&lt;SPAN&gt;oFS&lt;/SPAN&gt; = &lt;SPAN&gt;CreateObject&lt;/SPAN&gt;(&lt;SPAN&gt;"Scripting.FileSystemObject"&lt;/SPAN&gt;)
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oDate1&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;
	&lt;SPAN&gt;'Dim oDate2 As String&lt;/SPAN&gt;
	&lt;SPAN&gt;oDate1&lt;/SPAN&gt; = &lt;SPAN&gt;oFS&lt;/SPAN&gt;.&lt;SPAN&gt;GetFile&lt;/SPAN&gt;(&lt;SPAN&gt;strFileName&lt;/SPAN&gt;).&lt;SPAN&gt;DateLastModified&lt;/SPAN&gt;
	&lt;SPAN&gt;'oDate2 = oFS.GetFile(strFileName).DateCreated&lt;/SPAN&gt;

	&lt;SPAN&gt;'MessageBox.Show(oDate1 &amp;amp; " and " &amp;amp; oDate2)&lt;/SPAN&gt;

	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oAsmCompDef&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;AssemblyComponentDefinition&lt;/SPAN&gt;
	&lt;SPAN&gt;oAsmCompDef&lt;/SPAN&gt; = &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;.&lt;SPAN&gt;ActiveDocument&lt;/SPAN&gt;.&lt;SPAN&gt;ComponentDefinition&lt;/SPAN&gt;

	&lt;SPAN&gt;'Iterate through all Of the occurrences&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oOccurrence&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;ComponentOccurrence&lt;/SPAN&gt;
	&lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;Each&lt;/SPAN&gt; &lt;SPAN&gt;oOccurrence&lt;/SPAN&gt; &lt;SPAN&gt;In&lt;/SPAN&gt; &lt;SPAN&gt;oAsmCompDef&lt;/SPAN&gt;.&lt;SPAN&gt;Occurrences&lt;/SPAN&gt;.&lt;SPAN&gt;AllReferencedOccurrences&lt;/SPAN&gt;(&lt;SPAN&gt;oAsmCompDef&lt;/SPAN&gt;)  

			&lt;SPAN&gt;'create iprop with default Value&lt;/SPAN&gt;
			&lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;"Project"&lt;/SPAN&gt;, &lt;SPAN&gt;"Creation Date"&lt;/SPAN&gt;) = &lt;SPAN&gt;oDate1&lt;/SPAN&gt;
			&lt;SPAN&gt;'write to component iprops&lt;/SPAN&gt;
			&lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;oOccurrence&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt;, &lt;SPAN&gt;"Project"&lt;/SPAN&gt;, &lt;SPAN&gt;"Creation Date"&lt;/SPAN&gt;) = _
			&lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;"Project"&lt;/SPAN&gt;, &lt;SPAN&gt;"Creation Date"&lt;/SPAN&gt;)

		&lt;SPAN&gt;On&lt;/SPAN&gt; &lt;SPAN&gt;Error&lt;/SPAN&gt; &lt;SPAN&gt;Resume&lt;/SPAN&gt; &lt;SPAN&gt;Next&lt;/SPAN&gt;
	&lt;SPAN&gt;Next&lt;/SPAN&gt;

&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt;


&lt;SPAN&gt;'Pulls designer from form and goes though and updates designer for every part, sub assembly and assembly&lt;/SPAN&gt;
&lt;SPAN&gt;Sub&lt;/SPAN&gt; &lt;SPAN&gt;iPropPartsDesigner&lt;/SPAN&gt;
	
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oAsmCompDef&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;AssemblyComponentDefinition&lt;/SPAN&gt;
&lt;SPAN&gt;oAsmCompDef&lt;/SPAN&gt; = &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;.&lt;SPAN&gt;ActiveDocument&lt;/SPAN&gt;.&lt;SPAN&gt;ComponentDefinition&lt;/SPAN&gt;

&lt;SPAN&gt;'Iterate through all Of the occurrences&lt;/SPAN&gt;
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oOccurrence&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;ComponentOccurrence&lt;/SPAN&gt;
&lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;Each&lt;/SPAN&gt; &lt;SPAN&gt;oOccurrence&lt;/SPAN&gt; &lt;SPAN&gt;In&lt;/SPAN&gt; &lt;SPAN&gt;oAsmCompDef&lt;/SPAN&gt;.&lt;SPAN&gt;Occurrences&lt;/SPAN&gt;.&lt;SPAN&gt;AllReferencedOccurrences&lt;/SPAN&gt;(&lt;SPAN&gt;oAsmCompDef&lt;/SPAN&gt;)  
	
		&lt;SPAN&gt;'create iprop with default Value&lt;/SPAN&gt;
		&lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;"Project"&lt;/SPAN&gt;, &lt;SPAN&gt;"Designer"&lt;/SPAN&gt;) = &lt;SPAN&gt;Designer&lt;/SPAN&gt;
		&lt;SPAN&gt;'write to component iprops&lt;/SPAN&gt;
		&lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;oOccurrence&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt;, &lt;SPAN&gt;"Project"&lt;/SPAN&gt;, &lt;SPAN&gt;"Designer"&lt;/SPAN&gt;) = _
		&lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;"Project"&lt;/SPAN&gt;, &lt;SPAN&gt;"Designer"&lt;/SPAN&gt;)
		
	&lt;SPAN&gt;On&lt;/SPAN&gt; &lt;SPAN&gt;Error&lt;/SPAN&gt; &lt;SPAN&gt;Resume&lt;/SPAN&gt; &lt;SPAN&gt;Next&lt;/SPAN&gt;
&lt;SPAN&gt;Next&lt;/SPAN&gt;

&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 27 Oct 2022 20:46:30 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-ilogic/unable-to-cast-com-object-error-for-loop-erroring-out-on-certain/m-p/11513836#M144419</guid>
      <dc:creator>Preston_Reed</dc:creator>
      <dc:date>2022-10-27T20:46:30Z</dc:date>
    </item>
    <item>
      <title>Re: Unable to cast COM object error - for loop erroring out on certain sub assemblies, need help understanding</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/unable-to-cast-com-object-error-for-loop-erroring-out-on-certain/m-p/11515027#M144435</link>
      <description>&lt;P&gt;Hi &lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/10777139"&gt;@Preston_Reed&lt;/a&gt;.&amp;nbsp; This following line in that Sub you mentioned is definitely not right.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="general"&gt;If oOccurrence = "VTHFAB4-MCI:1" Then&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;...It is not accessing the components '.Name' property, so it is comparing a component object to a String, which throws the error.&amp;nbsp; It should have been like this:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="general"&gt;If oOccurrence.Name = "VTHFAB4-MCI:1" Then&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;As for why certain components causing problems before you introduced that check in there...it may be cause the component represents something like a Content Center part, or maybe it is otherwise ReadOnly for some reason, therefore when you try to change its iProperty, it doesn't like that.&amp;nbsp; Just one possibility.&lt;/P&gt;
&lt;P&gt;PS.&amp;nbsp; There are also certain kinds of components that sometimes show up when looping through components that you may not expect, such as a 'virtual' component (for BOM use only), or the welds of a weldment type assembly (yea, there is a component for that, believe it or not).&lt;/P&gt;</description>
      <pubDate>Fri, 28 Oct 2022 12:04:45 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-ilogic/unable-to-cast-com-object-error-for-loop-erroring-out-on-certain/m-p/11515027#M144435</guid>
      <dc:creator>WCrihfield</dc:creator>
      <dc:date>2022-10-28T12:04:45Z</dc:date>
    </item>
    <item>
      <title>Re: Unable to cast COM object error - for loop erroring out on certain sub assemblies, need help understanding</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/unable-to-cast-com-object-error-for-loop-erroring-out-on-certain/m-p/11521382#M144530</link>
      <description>&lt;P&gt;Hey&amp;nbsp;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/7812054"&gt;@WCrihfield&lt;/a&gt;&amp;nbsp;, I appreciate you, this helped quite a bit.&amp;nbsp; It is working now.&amp;nbsp; I do have a follow up question on ReadOnly or Content Center parts.&amp;nbsp; We are new to automation and iLogic, just now trying to automate our Cad processes.&amp;nbsp; We don't have Vault yet, so we have a purchased drive with our parts.&amp;nbsp; The purchased drive is a mess from years of people doing things differently, so I'm cleaning it up as i run into these issues.&amp;nbsp; Anyways, I certainly have noticed parts/assemblies which use to be a part of content center, ipart, iassembly etc. because they give error messages.&amp;nbsp; The only way I know how to immediately distinguish a part like this is one that has the fitting icon&lt;/P&gt;&lt;P&gt;like this -&amp;nbsp;&lt;A href="https://knowledge.autodesk.com/support/inventor/learn-explore/caas/sfdcarticles/sfdcarticles/Remove-Tube-and-Pipe-Authoring-from-part.html" target="_blank"&gt;https://knowledge.autodesk.com/support/inventor/learn-explore/caas/sfdcarticles/sfdcarticles/Remove-Tube-and-Pipe-Authoring-from-part.html&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Is there another way to distinguish parts that use to be a part of content center, ipart, iassembly ect, or should I just hunt them down once I find errors. (currently I suppress items, run the iLogic and see which is the problem)&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Heres the fix for the original problem too:&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;'iPropertiesRule&lt;/SPAN&gt;
	&lt;SPAN&gt;'This rule will change the various iProperties of the Assembly, SubAssemblies and Piece parts.   &lt;/SPAN&gt;
	
	&lt;SPAN&gt;'Requires -  User parameters (Text): Designer, Project&lt;/SPAN&gt;

&lt;SPAN&gt;Sub&lt;/SPAN&gt; &lt;SPAN&gt;main&lt;/SPAN&gt;()
	&lt;SPAN&gt;iProp&lt;/SPAN&gt;
	&lt;SPAN&gt;iPropColumn&lt;/SPAN&gt;
	&lt;SPAN&gt;iPropPartsProject&lt;/SPAN&gt;
	&lt;SPAN&gt;iPropPartsDate&lt;/SPAN&gt;
	&lt;SPAN&gt;iPropPartsDesigner&lt;/SPAN&gt;
&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt;


&lt;SPAN&gt;'Changes Project of Assembly from the input on the form&lt;/SPAN&gt;
&lt;SPAN&gt;Sub&lt;/SPAN&gt; &lt;SPAN&gt;iProp&lt;/SPAN&gt;
	
	&lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;"Project"&lt;/SPAN&gt;, &lt;SPAN&gt;"Project"&lt;/SPAN&gt;) = &lt;SPAN&gt;Project&lt;/SPAN&gt;

&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt;


&lt;SPAN&gt;'Changes custom Material iProperty for Assembly and Subassemblies, places catelog part number, places desciption based on material&lt;/SPAN&gt;
&lt;SPAN&gt;Sub&lt;/SPAN&gt; &lt;SPAN&gt;iPropColumn&lt;/SPAN&gt;
	
	&lt;SPAN&gt;Select&lt;/SPAN&gt; &lt;SPAN&gt;Case&lt;/SPAN&gt; &lt;SPAN&gt;PumpSize&lt;/SPAN&gt;

		&lt;SPAN&gt;Case&lt;/SPAN&gt; &lt;SPAN&gt;"4.0 in"&lt;/SPAN&gt;
			
			&lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;"ColumnPipe:1"&lt;/SPAN&gt;, &lt;SPAN&gt;"Project"&lt;/SPAN&gt;, &lt;SPAN&gt;"Stock Number"&lt;/SPAN&gt;) = &lt;SPAN&gt;"PP4SCH40C"&lt;/SPAN&gt;
			&lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;"ColumnPipe:1"&lt;/SPAN&gt;, &lt;SPAN&gt;"Project"&lt;/SPAN&gt;, &lt;SPAN&gt;"Description"&lt;/SPAN&gt;) = &lt;SPAN&gt;"PIPE, 4 in SCH40 - PP4SCH40C"&lt;/SPAN&gt;
			&lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;"ColumnPipe:1"&lt;/SPAN&gt;, &lt;SPAN&gt;"Project"&lt;/SPAN&gt;, &lt;SPAN&gt;"Part Number"&lt;/SPAN&gt;) = &lt;SPAN&gt;"4 IN COLUMN"&lt;/SPAN&gt;

		&lt;SPAN&gt;Case&lt;/SPAN&gt; &lt;SPAN&gt;"6.0 in"&lt;/SPAN&gt;
			
			&lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;"ColumnPipe:1"&lt;/SPAN&gt;, &lt;SPAN&gt;"Project"&lt;/SPAN&gt;, &lt;SPAN&gt;"Stock Number"&lt;/SPAN&gt;) = &lt;SPAN&gt;"PP6SCH40C"&lt;/SPAN&gt;
			&lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;"ColumnPipe:1"&lt;/SPAN&gt;, &lt;SPAN&gt;"Project"&lt;/SPAN&gt;, &lt;SPAN&gt;"Description"&lt;/SPAN&gt;) = &lt;SPAN&gt;"PIPE, 6 in SCH40 - PP6SCH40C"&lt;/SPAN&gt;
			&lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;"ColumnPipe:1"&lt;/SPAN&gt;, &lt;SPAN&gt;"Project"&lt;/SPAN&gt;, &lt;SPAN&gt;"Part Number"&lt;/SPAN&gt;) = &lt;SPAN&gt;"6 IN COLUMN"&lt;/SPAN&gt;
			
		&lt;SPAN&gt;Case&lt;/SPAN&gt; &lt;SPAN&gt;"8.0 in"&lt;/SPAN&gt;
			
			&lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;"ColumnPipe:1"&lt;/SPAN&gt;, &lt;SPAN&gt;"Project"&lt;/SPAN&gt;, &lt;SPAN&gt;"Stock Number"&lt;/SPAN&gt;) = &lt;SPAN&gt;"PP8SCH40C"&lt;/SPAN&gt;
			&lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;"ColumnPipe:1"&lt;/SPAN&gt;, &lt;SPAN&gt;"Project"&lt;/SPAN&gt;, &lt;SPAN&gt;"Description"&lt;/SPAN&gt;) = &lt;SPAN&gt;"PIPE, 8 in SCH40 - PP8SCH40C"&lt;/SPAN&gt;
			&lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;"ColumnPipe:1"&lt;/SPAN&gt;, &lt;SPAN&gt;"Project"&lt;/SPAN&gt;, &lt;SPAN&gt;"Part Number"&lt;/SPAN&gt;) = &lt;SPAN&gt;"8 IN COLUMN"&lt;/SPAN&gt;
	
	&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Select&lt;/SPAN&gt;
	
&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt;


&lt;SPAN&gt;'Goes through all parts &amp;amp; subassemblies and replaces the Project based on form inputs&lt;/SPAN&gt;
&lt;SPAN&gt;Sub&lt;/SPAN&gt; &lt;SPAN&gt;iPropPartsProject&lt;/SPAN&gt;
	
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oAsmCompDef&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;AssemblyComponentDefinition&lt;/SPAN&gt;
&lt;SPAN&gt;oAsmCompDef&lt;/SPAN&gt; = &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;.&lt;SPAN&gt;ActiveDocument&lt;/SPAN&gt;.&lt;SPAN&gt;ComponentDefinition&lt;/SPAN&gt;

&lt;SPAN&gt;'Iterate through all Of the occurrences&lt;/SPAN&gt;
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oOccurrence&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;ComponentOccurrence&lt;/SPAN&gt;
&lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;Each&lt;/SPAN&gt; &lt;SPAN&gt;oOccurrence&lt;/SPAN&gt; &lt;SPAN&gt;In&lt;/SPAN&gt; &lt;SPAN&gt;oAsmCompDef&lt;/SPAN&gt;.&lt;SPAN&gt;Occurrences&lt;/SPAN&gt;.&lt;SPAN&gt;AllReferencedOccurrences&lt;/SPAN&gt;(&lt;SPAN&gt;oAsmCompDef&lt;/SPAN&gt;)  
	
	&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;oOccurrence&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt; = &lt;SPAN&gt;"VTHFAB4-MCI-Simplify:1"&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
	&lt;SPAN&gt;ElseIf&lt;/SPAN&gt; &lt;SPAN&gt;oOccurrence&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt; = &lt;SPAN&gt;"VTHFAB6-MCIA-Simplify:1"&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
	&lt;SPAN&gt;ElseIf&lt;/SPAN&gt; &lt;SPAN&gt;oOccurrence&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt; = &lt;SPAN&gt;"VTHFAB8-MCI-Simplify:1"&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;	
	
	&lt;SPAN&gt;Else&lt;/SPAN&gt;
		&lt;SPAN&gt;'create iprop with default Value&lt;/SPAN&gt;
		&lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;"Project"&lt;/SPAN&gt;, &lt;SPAN&gt;"Project"&lt;/SPAN&gt;) = &lt;SPAN&gt;Project&lt;/SPAN&gt;
		&lt;SPAN&gt;'write to component iprops&lt;/SPAN&gt;
		&lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;oOccurrence&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt;, &lt;SPAN&gt;"Project"&lt;/SPAN&gt;, &lt;SPAN&gt;"Project"&lt;/SPAN&gt;) = _
		&lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;"Project"&lt;/SPAN&gt;, &lt;SPAN&gt;"Project"&lt;/SPAN&gt;)
	&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
	&lt;SPAN&gt;On&lt;/SPAN&gt; &lt;SPAN&gt;Error&lt;/SPAN&gt; &lt;SPAN&gt;Resume&lt;/SPAN&gt; &lt;SPAN&gt;Next&lt;/SPAN&gt;
&lt;SPAN&gt;Next&lt;/SPAN&gt;

&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt;


&lt;SPAN&gt;'Pulls current date and goes though and updates date for every part, sub assembly and assembly&lt;/SPAN&gt;
&lt;SPAN&gt;Sub&lt;/SPAN&gt; &lt;SPAN&gt;iPropPartsDate&lt;/SPAN&gt;
	
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;strFileName&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;
	&lt;SPAN&gt;strFileName&lt;/SPAN&gt; = &lt;SPAN&gt;ThisDoc&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;.&lt;SPAN&gt;FullFileName&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oFS&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Object&lt;/SPAN&gt;
	&lt;SPAN&gt;oFS&lt;/SPAN&gt; = &lt;SPAN&gt;CreateObject&lt;/SPAN&gt;(&lt;SPAN&gt;"Scripting.FileSystemObject"&lt;/SPAN&gt;)
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oDate1&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;
	&lt;SPAN&gt;'Dim oDate2 As String&lt;/SPAN&gt;
	&lt;SPAN&gt;oDate1&lt;/SPAN&gt; = &lt;SPAN&gt;oFS&lt;/SPAN&gt;.&lt;SPAN&gt;GetFile&lt;/SPAN&gt;(&lt;SPAN&gt;strFileName&lt;/SPAN&gt;).&lt;SPAN&gt;DateLastModified&lt;/SPAN&gt;
	&lt;SPAN&gt;'oDate2 = oFS.GetFile(strFileName).DateCreated&lt;/SPAN&gt;

	&lt;SPAN&gt;'MessageBox.Show(oDate1 &amp;amp; " and " &amp;amp; oDate2)&lt;/SPAN&gt;

	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oAsmCompDef&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;AssemblyComponentDefinition&lt;/SPAN&gt;
	&lt;SPAN&gt;oAsmCompDef&lt;/SPAN&gt; = &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;.&lt;SPAN&gt;ActiveDocument&lt;/SPAN&gt;.&lt;SPAN&gt;ComponentDefinition&lt;/SPAN&gt;

	&lt;SPAN&gt;'Iterate through all Of the occurrences&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oOccurrence&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;ComponentOccurrence&lt;/SPAN&gt;
	&lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;Each&lt;/SPAN&gt; &lt;SPAN&gt;oOccurrence&lt;/SPAN&gt; &lt;SPAN&gt;In&lt;/SPAN&gt; &lt;SPAN&gt;oAsmCompDef&lt;/SPAN&gt;.&lt;SPAN&gt;Occurrences&lt;/SPAN&gt;.&lt;SPAN&gt;AllReferencedOccurrences&lt;/SPAN&gt;(&lt;SPAN&gt;oAsmCompDef&lt;/SPAN&gt;)  

	&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;oOccurrence&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt; = &lt;SPAN&gt;"VTHFAB4-MCI-Simplify:1"&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
	&lt;SPAN&gt;ElseIf&lt;/SPAN&gt; &lt;SPAN&gt;oOccurrence&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt; = &lt;SPAN&gt;"VTHFAB6-MCIA-Simplify:1"&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
	&lt;SPAN&gt;ElseIf&lt;/SPAN&gt; &lt;SPAN&gt;oOccurrence&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt; = &lt;SPAN&gt;"VTHFAB8-MCI-Simplify:1"&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;	
		
	&lt;SPAN&gt;Else&lt;/SPAN&gt;
		
			&lt;SPAN&gt;'create iprop with default Value&lt;/SPAN&gt;
			&lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;"Project"&lt;/SPAN&gt;, &lt;SPAN&gt;"Creation Date"&lt;/SPAN&gt;) = &lt;SPAN&gt;oDate1&lt;/SPAN&gt;
			&lt;SPAN&gt;'write to component iprops&lt;/SPAN&gt;
			&lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;oOccurrence&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt;, &lt;SPAN&gt;"Project"&lt;/SPAN&gt;, &lt;SPAN&gt;"Creation Date"&lt;/SPAN&gt;) = _
			&lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;"Project"&lt;/SPAN&gt;, &lt;SPAN&gt;"Creation Date"&lt;/SPAN&gt;)

	&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
		&lt;SPAN&gt;On&lt;/SPAN&gt; &lt;SPAN&gt;Error&lt;/SPAN&gt; &lt;SPAN&gt;Resume&lt;/SPAN&gt; &lt;SPAN&gt;Next&lt;/SPAN&gt;
	&lt;SPAN&gt;Next&lt;/SPAN&gt;

&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt;


&lt;SPAN&gt;'Pulls designer from form and goes though and updates designer for every part, sub assembly and assembly&lt;/SPAN&gt;
&lt;SPAN&gt;Sub&lt;/SPAN&gt; &lt;SPAN&gt;iPropPartsDesigner&lt;/SPAN&gt;
	
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oAsmCompDef&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;AssemblyComponentDefinition&lt;/SPAN&gt;
&lt;SPAN&gt;oAsmCompDef&lt;/SPAN&gt; = &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;.&lt;SPAN&gt;ActiveDocument&lt;/SPAN&gt;.&lt;SPAN&gt;ComponentDefinition&lt;/SPAN&gt;

&lt;SPAN&gt;'Iterate through all Of the occurrences&lt;/SPAN&gt;
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oOccurrence&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;ComponentOccurrence&lt;/SPAN&gt;
&lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;Each&lt;/SPAN&gt; &lt;SPAN&gt;oOccurrence&lt;/SPAN&gt; &lt;SPAN&gt;In&lt;/SPAN&gt; &lt;SPAN&gt;oAsmCompDef&lt;/SPAN&gt;.&lt;SPAN&gt;Occurrences&lt;/SPAN&gt;.&lt;SPAN&gt;AllReferencedOccurrences&lt;/SPAN&gt;(&lt;SPAN&gt;oAsmCompDef&lt;/SPAN&gt;)  
	
	&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;oOccurrence&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt; = &lt;SPAN&gt;"VTHFAB4-MCI-Simplify:1"&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
	&lt;SPAN&gt;ElseIf&lt;/SPAN&gt; &lt;SPAN&gt;oOccurrence&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt; = &lt;SPAN&gt;"VTHFAB6-MCIA-Simplify:1"&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
	&lt;SPAN&gt;ElseIf&lt;/SPAN&gt; &lt;SPAN&gt;oOccurrence&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt; = &lt;SPAN&gt;"VTHFAB8-MCI-Simplify:1"&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;	
		
	&lt;SPAN&gt;Else&lt;/SPAN&gt;
		&lt;SPAN&gt;'create iprop with default Value&lt;/SPAN&gt;
		&lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;"Project"&lt;/SPAN&gt;, &lt;SPAN&gt;"Designer"&lt;/SPAN&gt;) = &lt;SPAN&gt;Designer&lt;/SPAN&gt;
		&lt;SPAN&gt;'write to component iprops&lt;/SPAN&gt;
		&lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;oOccurrence&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt;, &lt;SPAN&gt;"Project"&lt;/SPAN&gt;, &lt;SPAN&gt;"Designer"&lt;/SPAN&gt;) = _
		&lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;"Project"&lt;/SPAN&gt;, &lt;SPAN&gt;"Designer"&lt;/SPAN&gt;)
	
	&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
	
	&lt;SPAN&gt;On&lt;/SPAN&gt; &lt;SPAN&gt;Error&lt;/SPAN&gt; &lt;SPAN&gt;Resume&lt;/SPAN&gt; &lt;SPAN&gt;Next&lt;/SPAN&gt;
&lt;SPAN&gt;Next&lt;/SPAN&gt;

&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt;

&lt;/PRE&gt;</description>
      <pubDate>Mon, 31 Oct 2022 21:41:21 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-ilogic/unable-to-cast-com-object-error-for-loop-erroring-out-on-certain/m-p/11521382#M144530</guid>
      <dc:creator>Preston_Reed</dc:creator>
      <dc:date>2022-10-31T21:41:21Z</dc:date>
    </item>
    <item>
      <title>Re: Unable to cast COM object error - for loop erroring out on certain sub assemblies, need help understanding</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/unable-to-cast-com-object-error-for-loop-erroring-out-on-certain/m-p/11522717#M144548</link>
      <description>&lt;P&gt;Hi &lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/10777139"&gt;@Preston_Reed&lt;/a&gt;.&amp;nbsp; There are a couple of built-in ways to tell if an Inventor model type document (part or assembly) is a Content Center member, iPart, or iAssembly.&amp;nbsp; The &lt;A href="https://help.autodesk.com/view/INVNTOR/2022/ENU/?guid=PartComponentDefinition" target="_blank" rel="noopener"&gt;PartComponentDefinition&lt;/A&gt; &amp;amp; &lt;A href="https://help.autodesk.com/view/INVNTOR/2022/ENU/?guid=AssemblyComponentDefinition" target="_blank" rel="noopener"&gt;AssemblyComponentDefinition&lt;/A&gt; objects have a few Properties that you can check for these things.&amp;nbsp; The PartComponentDefinition has a ReadOnly property called "IsContentMember", which returns a Boolean, and indicates whether or not it represents a Content Center member; and has 2 properties called "IsiPartFactory" &amp;amp; "IsiPartMember", which seem self explanatory; then it also has the 2 "iPartFactory" &amp;amp; "iPartMember" properties too, for after you have checked the other property and want to get the direct specific type of object.&amp;nbsp; Similarly, the AssemblyComponentDefinition object has the iAssembly related properties, "IsiAssemblyFactory", "IsiAssemblyMember", "iAssemblyFactory", &amp;amp; "iAssemblyMember".&amp;nbsp; All of those are ReadOnly properties, so you can't change their values directly.&amp;nbsp; I also know that parts created by the Content Center will contain a couple of extra sets of iProperties, which are specific to Content Center parts.&amp;nbsp; I honestly have not tried simply changing the value of an iProperty within a Content Center part, to change its status to not be a Content Center part.&amp;nbsp; Even if this were possible, I would assume that would not solve the problem of it being ReadOnly, if the part is still stored in the directory designated as Content Center storage, because I think that gets treated as a Library type storage.&amp;nbsp; Also, I think there is a way to break the link between an iPart/iAssembly 'member', and its 'factory', and I believe you can delete the table from a 'factory' document, which will convert it back to a 'regular' model.&amp;nbsp; I did not work heavily, or for a very long time with iParts or iAssemblies, so I did not fully control them by code while I was using them.&amp;nbsp; Instead I chose to go the full iLogic configuration templates, and regular file storage route, because that fit our business needs better and gave me more control over everything.&lt;/P&gt;</description>
      <pubDate>Tue, 01 Nov 2022 12:44:20 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-ilogic/unable-to-cast-com-object-error-for-loop-erroring-out-on-certain/m-p/11522717#M144548</guid>
      <dc:creator>WCrihfield</dc:creator>
      <dc:date>2022-11-01T12:44:20Z</dc:date>
    </item>
  </channel>
</rss>

