<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Using iLogic to Rename Browser Nodes in Inventor Programming Forum</title>
    <link>https://forums.autodesk.com/t5/inventor-programming-forum/using-ilogic-to-rename-browser-nodes/m-p/10859856#M129830</link>
    <description>&lt;P&gt;I have found a Ilogic rule to do the trick.&lt;/P&gt;&lt;P&gt;This Ilogic rule i have modified with the needed properties.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;When you want to use VBA you write a code that opens this Ilogic rule.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;Sub&lt;/SPAN&gt; &lt;SPAN&gt;Main&lt;/SPAN&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;i&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Integer&lt;/SPAN&gt; = 0
	&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;oADef&lt;/SPAN&gt;.&lt;SPAN&gt;Occurrences&lt;/SPAN&gt;
		&lt;SPAN&gt;SetOccName&lt;/SPAN&gt;(&lt;SPAN&gt;oOcc&lt;/SPAN&gt;, &lt;SPAN&gt;i&lt;/SPAN&gt;)
		&lt;SPAN&gt;i&lt;/SPAN&gt; = &lt;SPAN&gt;i&lt;/SPAN&gt; + 1
	&lt;SPAN&gt;Next&lt;/SPAN&gt;
&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt;

&lt;SPAN&gt;Sub&lt;/SPAN&gt; &lt;SPAN&gt;SetOccName&lt;/SPAN&gt;(&lt;SPAN&gt;oComp&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;ComponentOccurrence&lt;/SPAN&gt;, &lt;SPAN&gt;oInt&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;oOccDoc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Document&lt;/SPAN&gt; = &lt;SPAN&gt;oComp&lt;/SPAN&gt;.&lt;SPAN&gt;Definition&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oPSets&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;PropertySets&lt;/SPAN&gt; = &lt;SPAN&gt;oOccDoc&lt;/SPAN&gt;.&lt;SPAN&gt;PropertySets&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oPNEmpty&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Boolean&lt;/SPAN&gt; = &lt;SPAN&gt;False&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oArticleNoEmpty&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Boolean&lt;/SPAN&gt; = &lt;SPAN&gt;False&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oTitleEmpty&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Boolean&lt;/SPAN&gt;  = &lt;SPAN&gt;False&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oPN&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt; = &lt;SPAN&gt;oPSets&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(3).&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"Part Number"&lt;/SPAN&gt;).&lt;SPAN&gt;Value&lt;/SPAN&gt;
	&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;.&lt;SPAN&gt;IsNullOrEmpty&lt;/SPAN&gt;(&lt;SPAN&gt;oPN&lt;/SPAN&gt;) &lt;SPAN&gt;Then&lt;/SPAN&gt; &lt;SPAN&gt;oPNEmpty&lt;/SPAN&gt; = &lt;SPAN&gt;True&lt;/SPAN&gt; &lt;SPAN&gt;Else&lt;/SPAN&gt; &lt;SPAN&gt;oPNEmpty&lt;/SPAN&gt; = &lt;SPAN&gt;False&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oTitle&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt; = &lt;SPAN&gt;oPSets&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(1).&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"Title"&lt;/SPAN&gt;).&lt;SPAN&gt;Value&lt;/SPAN&gt;
	&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;.&lt;SPAN&gt;IsNullOrEmpty&lt;/SPAN&gt;(&lt;SPAN&gt;oTitle&lt;/SPAN&gt;) &lt;SPAN&gt;Then&lt;/SPAN&gt; &lt;SPAN&gt;oTitleEmpty&lt;/SPAN&gt; = &lt;SPAN&gt;True&lt;/SPAN&gt; &lt;SPAN&gt;Else&lt;/SPAN&gt; &lt;SPAN&gt;oTitleEmpty&lt;/SPAN&gt; = &lt;SPAN&gt;False&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oArticleNo&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;
	&lt;SPAN&gt;Try&lt;/SPAN&gt;
		&lt;SPAN&gt;'the custom iProperty may not exist, so use Try...Catch block to check it&lt;/SPAN&gt;
		&lt;SPAN&gt;oArticleNo&lt;/SPAN&gt; = &lt;SPAN&gt;oPSets&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(4).&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"Article No"&lt;/SPAN&gt;).&lt;SPAN&gt;Value&lt;/SPAN&gt;
	&lt;SPAN&gt;Catch&lt;/SPAN&gt;
		&lt;SPAN&gt;'above failed, so it was not found&lt;/SPAN&gt;
		&lt;SPAN&gt;'create it, or ignore it, or show a message&lt;/SPAN&gt;
	
	&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Try&lt;/SPAN&gt;
	&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;.&lt;SPAN&gt;IsNullOrEmpty&lt;/SPAN&gt;(&lt;SPAN&gt;oArticleNo&lt;/SPAN&gt;) &lt;SPAN&gt;Then&lt;/SPAN&gt; &lt;SPAN&gt;oArticleNoEmpty&lt;/SPAN&gt; = &lt;SPAN&gt;True&lt;/SPAN&gt; &lt;SPAN&gt;Else&lt;/SPAN&gt; &lt;SPAN&gt;oArticleNoEmpty&lt;/SPAN&gt; = &lt;SPAN&gt;False&lt;/SPAN&gt;
		
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oNewName&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt; = &lt;SPAN&gt;""&lt;/SPAN&gt; &lt;SPAN&gt;'to assemble name in variable first (no errors expected)&lt;/SPAN&gt;
	&lt;SPAN&gt;'could just set it up so that if any are missing or empty, skip trying to rename this component to simplify&lt;/SPAN&gt;
	&lt;SPAN&gt;'If oPNEmpty Or oArticleNoEmpty Or oTitleEmpty Then Continue For 'skip to next item in loop&lt;/SPAN&gt;
	&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;oPNEmpty&lt;/SPAN&gt; = &lt;SPAN&gt;False&lt;/SPAN&gt; &lt;SPAN&gt;And&lt;/SPAN&gt; &lt;SPAN&gt;oArticleNoEmpty&lt;/SPAN&gt; = &lt;SPAN&gt;False&lt;/SPAN&gt; &lt;SPAN&gt;And&lt;/SPAN&gt; &lt;SPAN&gt;oTitleEmpty&lt;/SPAN&gt; = &lt;SPAN&gt;False&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt; &lt;SPAN&gt;'all present&lt;/SPAN&gt;
		&lt;SPAN&gt;oNewName&lt;/SPAN&gt; = &lt;SPAN&gt;oPN&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;" ("&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;oArticleNo&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;" "&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;oTitle&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;")"&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;"-"&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;oInt&lt;/SPAN&gt;
	&lt;SPAN&gt;ElseIf&lt;/SPAN&gt; &lt;SPAN&gt;oPNEmpty&lt;/SPAN&gt; = &lt;SPAN&gt;False&lt;/SPAN&gt; &lt;SPAN&gt;And&lt;/SPAN&gt; &lt;SPAN&gt;oArticleNoEmpty&lt;/SPAN&gt; = &lt;SPAN&gt;True&lt;/SPAN&gt; &lt;SPAN&gt;And&lt;/SPAN&gt; &lt;SPAN&gt;oTitleEmpty&lt;/SPAN&gt; = &lt;SPAN&gt;False&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt; &lt;SPAN&gt;'ArticleNo missing&lt;/SPAN&gt;
		&lt;SPAN&gt;oNewName&lt;/SPAN&gt; = &lt;SPAN&gt;oPN&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;" ("&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;oTitle&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;")"&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;"-"&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;oInt&lt;/SPAN&gt;
	&lt;SPAN&gt;ElseIf&lt;/SPAN&gt; &lt;SPAN&gt;oPNEmpty&lt;/SPAN&gt; = &lt;SPAN&gt;True&lt;/SPAN&gt; &lt;SPAN&gt;And&lt;/SPAN&gt; &lt;SPAN&gt;oArticleNoEmpty&lt;/SPAN&gt; = &lt;SPAN&gt;False&lt;/SPAN&gt; &lt;SPAN&gt;And&lt;/SPAN&gt; &lt;SPAN&gt;oTitleEmpty&lt;/SPAN&gt; = &lt;SPAN&gt;False&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt; &lt;SPAN&gt;'PN missing&lt;/SPAN&gt;
		&lt;SPAN&gt;oNewName&lt;/SPAN&gt; = &lt;SPAN&gt;"("&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;oArticleNo&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;" "&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;oTitle&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;")"&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;"-"&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;oInt&lt;/SPAN&gt;
	&lt;SPAN&gt;ElseIf&lt;/SPAN&gt; &lt;SPAN&gt;oPNEmpty&lt;/SPAN&gt; = &lt;SPAN&gt;False&lt;/SPAN&gt; &lt;SPAN&gt;And&lt;/SPAN&gt; &lt;SPAN&gt;oArticleNoEmpty&lt;/SPAN&gt; = &lt;SPAN&gt;False&lt;/SPAN&gt; &lt;SPAN&gt;And&lt;/SPAN&gt; &lt;SPAN&gt;oTitleEmpty&lt;/SPAN&gt; = &lt;SPAN&gt;True&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt; &lt;SPAN&gt;'Title missing&lt;/SPAN&gt;
		&lt;SPAN&gt;oNewName&lt;/SPAN&gt; = &lt;SPAN&gt;oPN&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;" ("&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;oArticleNo&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;")"&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;"-"&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;oInt&lt;/SPAN&gt;
	&lt;SPAN&gt;ElseIf&lt;/SPAN&gt; &lt;SPAN&gt;oPNEmpty&lt;/SPAN&gt; = &lt;SPAN&gt;True&lt;/SPAN&gt; &lt;SPAN&gt;And&lt;/SPAN&gt; &lt;SPAN&gt;oArticleNoEmpty&lt;/SPAN&gt; = &lt;SPAN&gt;False&lt;/SPAN&gt; &lt;SPAN&gt;And&lt;/SPAN&gt; &lt;SPAN&gt;oTitleEmpty&lt;/SPAN&gt; = &lt;SPAN&gt;True&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt; &lt;SPAN&gt;'PN &amp;amp; Title missing&lt;/SPAN&gt;
		&lt;SPAN&gt;oNewName&lt;/SPAN&gt; = &lt;SPAN&gt;"("&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;oArticleNo&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;")"&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;"-"&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;oInt&lt;/SPAN&gt;
	&lt;SPAN&gt;ElseIf&lt;/SPAN&gt; &lt;SPAN&gt;oPNEmpty&lt;/SPAN&gt; = &lt;SPAN&gt;False&lt;/SPAN&gt; &lt;SPAN&gt;And&lt;/SPAN&gt; &lt;SPAN&gt;oArticleNoEmpty&lt;/SPAN&gt; = &lt;SPAN&gt;False&lt;/SPAN&gt; &lt;SPAN&gt;And&lt;/SPAN&gt; &lt;SPAN&gt;oTitleEmpty&lt;/SPAN&gt; = &lt;SPAN&gt;True&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt; &lt;SPAN&gt;'ArticleNo &amp;amp; Title missing&lt;/SPAN&gt;
		&lt;SPAN&gt;oNewName&lt;/SPAN&gt; = &lt;SPAN&gt;oPN&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;"-"&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;oInt&lt;/SPAN&gt;
	&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
		
	&lt;SPAN&gt;Try&lt;/SPAN&gt; &lt;SPAN&gt;'just in case changing component name fails&lt;/SPAN&gt;
		&lt;SPAN&gt;oComp&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt; = &lt;SPAN&gt;oNewName&lt;/SPAN&gt;
	&lt;SPAN&gt;Catch&lt;/SPAN&gt;
		
	&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Try&lt;/SPAN&gt;
	
	&lt;SPAN&gt;'reset all String variables to empty (very likely not necessary, but we'll see)&lt;/SPAN&gt;
	&lt;SPAN&gt;oNewName&lt;/SPAN&gt; = &lt;SPAN&gt;""&lt;/SPAN&gt;
	&lt;SPAN&gt;oPN&lt;/SPAN&gt; = &lt;SPAN&gt;""&lt;/SPAN&gt;
	&lt;SPAN&gt;oArticleNo&lt;/SPAN&gt; = &lt;SPAN&gt;""&lt;/SPAN&gt;
	&lt;SPAN&gt;oTitle&lt;/SPAN&gt; = &lt;SPAN&gt;""&lt;/SPAN&gt;
		
	&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;oComp&lt;/SPAN&gt;.&lt;SPAN&gt;SubOccurrences&lt;/SPAN&gt;.&lt;SPAN&gt;Count&lt;/SPAN&gt; &amp;gt; 0 &lt;SPAN&gt;Then&lt;/SPAN&gt; &lt;SPAN&gt;'if it has any SubOccurrences, it's a sub-assembly&lt;/SPAN&gt;
		&lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;Each&lt;/SPAN&gt; &lt;SPAN&gt;oSOcc&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;oComp&lt;/SPAN&gt;.&lt;SPAN&gt;SubOccurrences&lt;/SPAN&gt;
			&lt;SPAN&gt;SetOccName&lt;/SPAN&gt;(&lt;SPAN&gt;oSOcc&lt;/SPAN&gt;, &lt;SPAN&gt;oInt&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;End&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt;
&lt;/PRE&gt;</description>
    <pubDate>Wed, 05 Jan 2022 16:02:31 GMT</pubDate>
    <dc:creator>J.Classens</dc:creator>
    <dc:date>2022-01-05T16:02:31Z</dc:date>
    <item>
      <title>Using iLogic to Rename Browser Nodes</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/using-ilogic-to-rename-browser-nodes/m-p/4318436#M129815</link>
      <description>&lt;P&gt;I'm looking for some help figuring out how to create an iLogic rule that automatically renames the browser nodes based on part number. &amp;nbsp;I know that this is a function in Inventor itself. &amp;nbsp;The problem is that there is no built-in functionality to automatically change the default browser name to something besides part number. &amp;nbsp;I've done a lot of digging and I came across the following code from an old thread discussing Inventor 2011. &amp;nbsp;I am interested in 2013. &amp;nbsp;It is also worth noting that when I run this code, my Inventor crashes. &amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If someone knows more about programming than I do and can get this to work, it would be much appreciated.&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;Private&lt;/SPAN&gt;&lt;SPAN&gt;Sub&lt;/SPAN&gt;&lt;SPAN&gt;Main&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;    &lt;/SPAN&gt;&lt;SPAN&gt;UpdateAssyBrowser&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;ThisDoc&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;Document&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;End Sub&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;  &lt;/SPAN&gt;&lt;SPAN&gt;Private&lt;/SPAN&gt;&lt;SPAN&gt;Sub&lt;/SPAN&gt;&lt;SPAN&gt;UpdateAssyBrowser&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;ByVal&lt;/SPAN&gt;&lt;SPAN&gt;oDoc&lt;/SPAN&gt;&lt;SPAN&gt;As&lt;/SPAN&gt;&lt;SPAN&gt;Inventor&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;Document&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;    &lt;/SPAN&gt;&lt;SPAN&gt;Dim&lt;/SPAN&gt;&lt;SPAN&gt;oAssy&lt;/SPAN&gt;&lt;SPAN&gt;As&lt;/SPAN&gt;&lt;SPAN&gt;Inventor&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;AssemblyDocument&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;    &lt;/SPAN&gt;&lt;SPAN&gt;Dim&lt;/SPAN&gt;&lt;SPAN&gt;oComp&lt;/SPAN&gt;&lt;SPAN&gt;As&lt;/SPAN&gt;&lt;SPAN&gt;Inventor&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;ComponentOccurrence&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;    &lt;/SPAN&gt;&lt;SPAN&gt;Dim&lt;/SPAN&gt;&lt;SPAN&gt;oSubDoc&lt;/SPAN&gt;&lt;SPAN&gt;As&lt;/SPAN&gt;&lt;SPAN&gt;Inventor&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;Document&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;    &lt;/SPAN&gt;&lt;SPAN&gt;Dim&lt;/SPAN&gt;&lt;SPAN&gt;NodeName&lt;/SPAN&gt;&lt;SPAN&gt;()&lt;/SPAN&gt;&lt;SPAN&gt;As&lt;/SPAN&gt;&lt;SPAN&gt;String&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;    &lt;/SPAN&gt;&lt;SPAN&gt;Dim&lt;/SPAN&gt;&lt;SPAN&gt;InstNum&lt;/SPAN&gt;&lt;SPAN&gt;As&lt;/SPAN&gt;&lt;SPAN&gt;String&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;    &lt;/SPAN&gt;&lt;SPAN&gt;If&lt;/SPAN&gt;&lt;SPAN&gt;oDoc&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;DocumentType&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;Inventor&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;DocumentTypeEnum&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;kAssemblyDocumentObject&lt;/SPAN&gt;&lt;SPAN&gt;Then&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;      &lt;/SPAN&gt;&lt;SPAN&gt;oAssy&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;CType&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;oDoc&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;AssemblyDocument&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;      &lt;/SPAN&gt;&lt;SPAN&gt;For&lt;/SPAN&gt;&lt;SPAN&gt;Each&lt;/SPAN&gt;&lt;SPAN&gt;oComp&lt;/SPAN&gt;&lt;SPAN&gt;In&lt;/SPAN&gt;&lt;SPAN&gt;oAssy&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;ComponentDefinition&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;Occurrences&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;        &lt;/SPAN&gt;&lt;SPAN&gt;oSubDoc&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;CType&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;oComp&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;Definition&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;Document&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;Document&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;        &lt;/SPAN&gt;&lt;SPAN&gt;NodeName&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;oComp&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;Name&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;Split&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;New&lt;/SPAN&gt;&lt;SPAN&gt;Char&lt;/SPAN&gt;&lt;SPAN&gt;()&lt;/SPAN&gt;&lt;SPAN&gt; {&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;:&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;c&lt;/SPAN&gt;&lt;SPAN&gt;}, &lt;/SPAN&gt;&lt;SPAN&gt;StringSplitOptions&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;None&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;        &lt;/SPAN&gt;&lt;SPAN&gt;InstNum&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;:&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN&gt;NodeName&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;        &lt;/SPAN&gt;&lt;SPAN&gt;oComp&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;Name&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;GetProp&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;oSubDoc&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;Design Tracking Properties&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;Part Number&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;SPAN&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN&gt;InstNum&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;        &lt;/SPAN&gt;&lt;SPAN&gt;If&lt;/SPAN&gt;&lt;SPAN&gt;oSubDoc&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;DocumentType&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;Inventor&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;DocumentTypeEnum&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;kAssemblyDocumentObject&lt;/SPAN&gt;&lt;SPAN&gt;Then&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;          &lt;/SPAN&gt;&lt;SPAN&gt;Call&lt;/SPAN&gt;&lt;SPAN&gt;UpdateAssyBrowser&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;oSubDoc&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;        &lt;/SPAN&gt;&lt;SPAN&gt;End&lt;/SPAN&gt;&lt;SPAN&gt;If&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;      &lt;/SPAN&gt;&lt;SPAN&gt;Next&lt;/SPAN&gt;&lt;SPAN&gt;oComp&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;    &lt;/SPAN&gt;&lt;SPAN&gt;End&lt;/SPAN&gt;&lt;SPAN&gt;If&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;  &lt;/SPAN&gt;&lt;SPAN&gt;End Sub&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;  &lt;/SPAN&gt;&lt;SPAN&gt;Private&lt;/SPAN&gt;&lt;SPAN&gt;Function&lt;/SPAN&gt;&lt;SPAN&gt;GetProp&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;ByVal&lt;/SPAN&gt;&lt;SPAN&gt;oDoc&lt;/SPAN&gt;&lt;SPAN&gt;As&lt;/SPAN&gt;&lt;SPAN&gt;Inventor&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;Document&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;ByVal&lt;/SPAN&gt;&lt;SPAN&gt;PropSetName&lt;/SPAN&gt;&lt;SPAN&gt;As&lt;/SPAN&gt;&lt;SPAN&gt;String&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;ByVal&lt;/SPAN&gt;&lt;SPAN&gt;PropName&lt;/SPAN&gt;&lt;SPAN&gt;As&lt;/SPAN&gt;&lt;SPAN&gt;String&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;SPAN&gt;As&lt;/SPAN&gt;&lt;SPAN&gt;String&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;    &lt;/SPAN&gt;&lt;SPAN&gt;Dim&lt;/SPAN&gt;&lt;SPAN&gt;oPropSet&lt;/SPAN&gt;&lt;SPAN&gt;As&lt;/SPAN&gt;&lt;SPAN&gt;Inventor&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;PropertySet&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;    &lt;/SPAN&gt;&lt;SPAN&gt;Dim&lt;/SPAN&gt;&lt;SPAN&gt;sHold&lt;/SPAN&gt;&lt;SPAN&gt;As&lt;/SPAN&gt;&lt;SPAN&gt;String&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;""&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;    &lt;/SPAN&gt;&lt;SPAN&gt;oPropSet&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;oDoc&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;PropertySets&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;PropSetName&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;    &lt;/SPAN&gt;&lt;SPAN&gt;Dim&lt;/SPAN&gt;&lt;SPAN&gt;oProp&lt;/SPAN&gt;&lt;SPAN&gt;As&lt;/SPAN&gt;&lt;SPAN&gt;Inventor&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;Property&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;    &lt;/SPAN&gt;&lt;SPAN&gt;For&lt;/SPAN&gt;&lt;SPAN&gt;Each&lt;/SPAN&gt;&lt;SPAN&gt;oProp&lt;/SPAN&gt;&lt;SPAN&gt;In&lt;/SPAN&gt;&lt;SPAN&gt;oPropSet&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;      &lt;/SPAN&gt;&lt;SPAN&gt;If&lt;/SPAN&gt;&lt;SPAN&gt;oProp&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;DisplayName&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;Part Number&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;Then&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;        &lt;/SPAN&gt;&lt;SPAN&gt;sHold&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;CStr&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;oProp&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;Value&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;        &lt;/SPAN&gt;&lt;SPAN&gt;Exit&lt;/SPAN&gt;&lt;SPAN&gt;For&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;      &lt;/SPAN&gt;&lt;SPAN&gt;End&lt;/SPAN&gt;&lt;SPAN&gt;If&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;    &lt;/SPAN&gt;&lt;SPAN&gt;Next&lt;/SPAN&gt;&lt;SPAN&gt;oProp&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;    &lt;/SPAN&gt;&lt;SPAN&gt;Return&lt;/SPAN&gt;&lt;SPAN&gt;sHold&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;  &lt;/SPAN&gt;&lt;SPAN&gt;End Function&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 03 Jul 2013 13:42:03 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/using-ilogic-to-rename-browser-nodes/m-p/4318436#M129815</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2013-07-03T13:42:03Z</dc:date>
    </item>
    <item>
      <title>Re: Using iLogic to Rename Browser Nodes</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/using-ilogic-to-rename-browser-nodes/m-p/4318592#M129816</link>
      <description>&lt;P&gt;Check this&lt;/P&gt;&lt;P&gt;&lt;A target="_blank" href="https://forums.autodesk.com/t5/Autodesk-Inventor-Customization/How-do-you-change-the-browser-node-name-in-a-drawing/td-p/4315479"&gt;http://forums.autodesk.com/t5/Autodesk-Inventor-Customization/How-do-you-change-the-browser-node-name-in-a-drawing/td-p/4315479&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 03 Jul 2013 15:37:16 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/using-ilogic-to-rename-browser-nodes/m-p/4318592#M129816</guid>
      <dc:creator>GosponZ</dc:creator>
      <dc:date>2013-07-03T15:37:16Z</dc:date>
    </item>
    <item>
      <title>Re: Using iLogic to Rename Browser Nodes</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/using-ilogic-to-rename-browser-nodes/m-p/4318636#M129817</link>
      <description>&lt;P&gt;Here you go. Please let me know if you have any questions on how this works:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;Sub&lt;/SPAN&gt; &lt;SPAN&gt;Main&lt;/SPAN&gt;&lt;SPAN&gt;()&lt;/SPAN&gt;

&lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;Grab the Assembly Document&lt;BR /&gt;&lt;BR /&gt;&lt;/SPAN&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;AssemblyDocument&lt;/SPAN&gt;
&lt;SPAN&gt;oDoc&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;.&lt;SPAN&gt;ActiveDocument&lt;/SPAN&gt;

&lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;Grab the Active Assembly Component Definition&lt;BR /&gt;&lt;BR /&gt;&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;=&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;'&lt;/SPAN&gt;&lt;SPAN&gt; Get the model browser&lt;BR /&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oPane&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;BrowserPane&lt;/SPAN&gt;
&lt;SPAN&gt;oPane&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;oDoc&lt;/SPAN&gt;.&lt;SPAN&gt;BrowserPanes&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;Model&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;

&lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt; Grab the occurrence of the object&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;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;oDoc&lt;/SPAN&gt;.&lt;SPAN&gt;ComponentDefinition&lt;/SPAN&gt;.&lt;SPAN&gt;Occurrences&lt;/SPAN&gt;

    &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;Grab Document from Occurrence&lt;/SPAN&gt;    &lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;    Dim&lt;/SPAN&gt; &lt;SPAN&gt;oOccDoc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Document&lt;/SPAN&gt;
    &lt;SPAN&gt;oOccDoc&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;oOcc&lt;/SPAN&gt;.&lt;SPAN&gt;Definition&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;
    
    &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;get design properties set'&lt;/SPAN&gt;    &lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;    Dim&lt;/SPAN&gt; &lt;SPAN&gt;invDesignInfo&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;PropertySet&lt;/SPAN&gt;
    &lt;SPAN&gt;invDesignInfo&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;oOccDoc&lt;/SPAN&gt;.&lt;SPAN&gt;PropertySets&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;Design Tracking Properties&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;
    
    &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt; Get the part number property.&lt;BR /&gt;&lt;BR /&gt;&lt;/SPAN&gt;    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;invPartNumberProperty&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Inventor&lt;/SPAN&gt;.&lt;SPAN&gt;Property&lt;/SPAN&gt;
    &lt;SPAN&gt;invPartNumberProperty&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;invDesignInfo&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;Part Number&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;

    &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt; Get the browser node that corresponds to the new item&lt;BR /&gt;&lt;BR /&gt;&lt;/SPAN&gt;    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oSubAssyNode&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;BrowserNode&lt;/SPAN&gt;
    &lt;SPAN&gt;oSubAssyNode&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;oPane&lt;/SPAN&gt;.&lt;SPAN&gt;GetBrowserNodeFromObject&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;oOcc&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;

    &lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;oSubAssyNode&lt;/SPAN&gt;.&lt;SPAN&gt;NativeObject&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt; &lt;SPAN&gt;&amp;lt;&amp;gt;&lt;/SPAN&gt; &lt;SPAN&gt;invPartNumberProperty&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
        &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;Set The name&lt;/SPAN&gt;        &lt;BR /&gt;&lt;SPAN&gt;        oSubAssyNode&lt;/SPAN&gt;.&lt;SPAN&gt;NativeObject&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;invPartNumberProperty&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;&lt;SPAN&gt;)&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 Sub&lt;/SPAN&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 03 Jul 2013 16:10:17 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/using-ilogic-to-rename-browser-nodes/m-p/4318636#M129817</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2013-07-03T16:10:17Z</dc:date>
    </item>
    <item>
      <title>Re: Using iLogic to Rename Browser Nodes</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/using-ilogic-to-rename-browser-nodes/m-p/4318920#M129818</link>
      <description>&lt;P&gt;That code looks like it works better, the only problem there is that it doesn't detect the instance number, so when I have&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;part001:1&amp;nbsp;&lt;/P&gt;&lt;P&gt;part001:2&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I get an error if I try to run the rule. &amp;nbsp;I appreciate the help! &amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 03 Jul 2013 19:17:03 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/using-ilogic-to-rename-browser-nodes/m-p/4318920#M129818</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2013-07-03T19:17:03Z</dc:date>
    </item>
    <item>
      <title>Re: Using iLogic to Rename Browser Nodes</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/using-ilogic-to-rename-browser-nodes/m-p/4318940#M129819</link>
      <description>&lt;P&gt;What would you like it to do in that case?&lt;/P&gt;</description>
      <pubDate>Wed, 03 Jul 2013 19:32:34 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/using-ilogic-to-rename-browser-nodes/m-p/4318940#M129819</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2013-07-03T19:32:34Z</dc:date>
    </item>
    <item>
      <title>Re: Using iLogic to Rename Browser Nodes</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/using-ilogic-to-rename-browser-nodes/m-p/4318943#M129820</link>
      <description>&lt;P&gt;I would like to be able to maintain the instance number as is in Inventor so that the above example would be&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;partnumber001:1&lt;/P&gt;&lt;P&gt;partnumber001:2&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 03 Jul 2013 19:36:28 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/using-ilogic-to-rename-browser-nodes/m-p/4318943#M129820</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2013-07-03T19:36:28Z</dc:date>
    </item>
    <item>
      <title>Re: Using iLogic to Rename Browser Nodes</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/using-ilogic-to-rename-browser-nodes/m-p/4318949#M129821</link>
      <description>&lt;P&gt;That shouldn't be too hard. You just need to check if a name already exists and add :X to the end where X is the most recent instance +1. I'm out of time today but I might be able to whip that up in the next few days.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 03 Jul 2013 19:38:36 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/using-ilogic-to-rename-browser-nodes/m-p/4318949#M129821</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2013-07-03T19:38:36Z</dc:date>
    </item>
    <item>
      <title>Re: Using iLogic to Rename Browser Nodes</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/using-ilogic-to-rename-browser-nodes/m-p/4318955#M129822</link>
      <description>&lt;P&gt;Alright I got it after playing with it a little bit. &amp;nbsp;I added the appropriate code and it works perfectly. &amp;nbsp;I really appreciate your help!&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;    Dim NodeName() As String
    NodeName=oOcc.Name.Split( {":"c},StringSplitOptions.None)
    InstNum=":" &amp;amp; NodeName(1)&lt;/PRE&gt;</description>
      <pubDate>Wed, 03 Jul 2013 19:41:15 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/using-ilogic-to-rename-browser-nodes/m-p/4318955#M129822</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2013-07-03T19:41:15Z</dc:date>
    </item>
    <item>
      <title>Re: Using iLogic to Rename Browser Nodes</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/using-ilogic-to-rename-browser-nodes/m-p/4581239#M129823</link>
      <description>&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Is it possible to get your full working code ? I can't get this to work...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Borre&lt;/P&gt;</description>
      <pubDate>Thu, 31 Oct 2013 21:00:22 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/using-ilogic-to-rename-browser-nodes/m-p/4581239#M129823</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2013-10-31T21:00:22Z</dc:date>
    </item>
    <item>
      <title>Re: Using iLogic to Rename Browser Nodes</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/using-ilogic-to-rename-browser-nodes/m-p/4581259#M129824</link>
      <description>&lt;P&gt;I have the code set to iterate through the active assembly and rename all non standard content Center components based on Description.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;As a disclaimer, this code will not count unique occurrences for components.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 31 Oct 2013 21:12:47 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/using-ilogic-to-rename-browser-nodes/m-p/4581259#M129824</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2013-10-31T21:12:47Z</dc:date>
    </item>
    <item>
      <title>Re: Using iLogic to Rename Browser Nodes</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/using-ilogic-to-rename-browser-nodes/m-p/4581267#M129825</link>
      <description>&lt;P&gt;Working perfect on my machine. I'm working with multi sheets.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;oDoc &lt;STRONG&gt;=&lt;/STRONG&gt; &lt;STRONG&gt;ThisDoc&lt;/STRONG&gt;.&lt;STRONG&gt;Document&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;oSheets &lt;STRONG&gt;=&lt;/STRONG&gt; oDoc.Sheets&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;For&lt;/STRONG&gt; &lt;STRONG&gt;Each&lt;/STRONG&gt; oSheet &lt;STRONG&gt;In&lt;/STRONG&gt; oSheets&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oSheet.activate&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oView &lt;STRONG&gt;=&lt;/STRONG&gt; oSheet.DrawingViews.Item&lt;STRONG&gt;(1)&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; modelName &lt;STRONG&gt;=&lt;/STRONG&gt; oView.ReferencedDocumentDescriptor.ReferencedDocument&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oProp &lt;STRONG&gt;=&lt;/STRONG&gt; modelName.PropertySets.Item&lt;STRONG&gt;(&lt;/STRONG&gt;"Design Tracking Properties"&lt;STRONG&gt;)&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;ActiveSheet&lt;/STRONG&gt;.&lt;STRONG&gt;Sheet&lt;/STRONG&gt;.&lt;STRONG&gt;Name&lt;/STRONG&gt; &lt;STRONG&gt;=&lt;/STRONG&gt; oProp.Item&lt;STRONG&gt;(&lt;/STRONG&gt;"Part Number"&lt;STRONG&gt;)&lt;/STRONG&gt;.&lt;STRONG&gt;Value&lt;/STRONG&gt; &lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt; " " &lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt; oProp.Item&lt;STRONG&gt;(&lt;/STRONG&gt;"Description"&lt;STRONG&gt;)&lt;/STRONG&gt;.&lt;STRONG&gt;Value&lt;/STRONG&gt; &lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt; " " &lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt; oProp.Item&lt;STRONG&gt;(&lt;/STRONG&gt;"Authority"&lt;STRONG&gt;)&lt;/STRONG&gt;.&lt;STRONG&gt;Value&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;Next&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;oSheets&lt;STRONG&gt;(1)&lt;/STRONG&gt;.activate&lt;/P&gt;</description>
      <pubDate>Thu, 31 Oct 2013 21:23:09 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/using-ilogic-to-rename-browser-nodes/m-p/4581267#M129825</guid>
      <dc:creator>GosponZ</dc:creator>
      <dc:date>2013-10-31T21:23:09Z</dc:date>
    </item>
    <item>
      <title>Re: Using iLogic to Rename Browser Nodes</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/using-ilogic-to-rename-browser-nodes/m-p/4582061#M129826</link>
      <description>&lt;P&gt;Thank's a lot. I can see where I failed, but my skills was not good enough to figure it out myself. This works perfect. Thank you again.&lt;/P&gt;</description>
      <pubDate>Fri, 01 Nov 2013 08:00:37 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/using-ilogic-to-rename-browser-nodes/m-p/4582061#M129826</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2013-11-01T08:00:37Z</dc:date>
    </item>
    <item>
      <title>Re: Using iLogic to Rename Browser Nodes</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/using-ilogic-to-rename-browser-nodes/m-p/5082488#M129827</link>
      <description>&lt;P&gt;Can someone please help,&lt;/P&gt;&lt;P&gt;I have modified this script to rename the nodes as "Part Number - Revision Number"&lt;/P&gt;&lt;P&gt;There is an assembly file in it I don't want it to change, could somone show me what to add and so it skips over this one?&lt;/P&gt;&lt;P&gt;The node name for this file&amp;nbsp;is "02002.Tube and Pipe Runs"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks in advance.&lt;/P&gt;</description>
      <pubDate>Mon, 09 Jun 2014 08:56:37 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/using-ilogic-to-rename-browser-nodes/m-p/5082488#M129827</guid>
      <dc:creator>Nsteel</dc:creator>
      <dc:date>2014-06-09T08:56:37Z</dc:date>
    </item>
    <item>
      <title>Re: Using iLogic to Rename Browser Nodes</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/using-ilogic-to-rename-browser-nodes/m-p/10201738#M129828</link>
      <description>&lt;P&gt;I have a quastion about this old post.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;When i want to customize the rule with other properties.&amp;nbsp;&lt;/P&gt;&lt;P&gt;It will fail and not work again.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;original:&lt;/P&gt;&lt;PRE&gt;    &lt;SPAN&gt;' Get the part number property.&lt;/SPAN&gt;
    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;invPartNumberProperty&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Inventor&lt;/SPAN&gt;.&lt;SPAN&gt;Property&lt;/SPAN&gt;
    &lt;SPAN&gt;invPartNumberProperty&lt;/SPAN&gt; = &lt;SPAN&gt;invDesignInfo&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"Description"&lt;/SPAN&gt;)
	&lt;/PRE&gt;&lt;P&gt;The description i want to change to multiple properties like Partnumber, description, title.&lt;/P&gt;&lt;P&gt;I can't get it to work like that.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Any suggestions?&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Further i noticed that this rule only work at the first level from the BOM structure.&amp;nbsp;&lt;/P&gt;&lt;P&gt;The only childeren from assemblies doesn't update.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I don't know how we can edit this.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks in advance!&amp;nbsp;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 31 Mar 2021 12:08:45 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/using-ilogic-to-rename-browser-nodes/m-p/10201738#M129828</guid>
      <dc:creator>J.Classens</dc:creator>
      <dc:date>2021-03-31T12:08:45Z</dc:date>
    </item>
    <item>
      <title>Re: Using iLogic to Rename Browser Nodes</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/using-ilogic-to-rename-browser-nodes/m-p/10859075#M129829</link>
      <description>&lt;P&gt;Any solution on this problem?&lt;/P&gt;</description>
      <pubDate>Wed, 05 Jan 2022 09:39:28 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/using-ilogic-to-rename-browser-nodes/m-p/10859075#M129829</guid>
      <dc:creator>benjamin.eidemL3D38</dc:creator>
      <dc:date>2022-01-05T09:39:28Z</dc:date>
    </item>
    <item>
      <title>Re: Using iLogic to Rename Browser Nodes</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/using-ilogic-to-rename-browser-nodes/m-p/10859856#M129830</link>
      <description>&lt;P&gt;I have found a Ilogic rule to do the trick.&lt;/P&gt;&lt;P&gt;This Ilogic rule i have modified with the needed properties.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;When you want to use VBA you write a code that opens this Ilogic rule.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;Sub&lt;/SPAN&gt; &lt;SPAN&gt;Main&lt;/SPAN&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;i&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Integer&lt;/SPAN&gt; = 0
	&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;oADef&lt;/SPAN&gt;.&lt;SPAN&gt;Occurrences&lt;/SPAN&gt;
		&lt;SPAN&gt;SetOccName&lt;/SPAN&gt;(&lt;SPAN&gt;oOcc&lt;/SPAN&gt;, &lt;SPAN&gt;i&lt;/SPAN&gt;)
		&lt;SPAN&gt;i&lt;/SPAN&gt; = &lt;SPAN&gt;i&lt;/SPAN&gt; + 1
	&lt;SPAN&gt;Next&lt;/SPAN&gt;
&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt;

&lt;SPAN&gt;Sub&lt;/SPAN&gt; &lt;SPAN&gt;SetOccName&lt;/SPAN&gt;(&lt;SPAN&gt;oComp&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;ComponentOccurrence&lt;/SPAN&gt;, &lt;SPAN&gt;oInt&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;oOccDoc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Document&lt;/SPAN&gt; = &lt;SPAN&gt;oComp&lt;/SPAN&gt;.&lt;SPAN&gt;Definition&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oPSets&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;PropertySets&lt;/SPAN&gt; = &lt;SPAN&gt;oOccDoc&lt;/SPAN&gt;.&lt;SPAN&gt;PropertySets&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oPNEmpty&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Boolean&lt;/SPAN&gt; = &lt;SPAN&gt;False&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oArticleNoEmpty&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Boolean&lt;/SPAN&gt; = &lt;SPAN&gt;False&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oTitleEmpty&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Boolean&lt;/SPAN&gt;  = &lt;SPAN&gt;False&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oPN&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt; = &lt;SPAN&gt;oPSets&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(3).&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"Part Number"&lt;/SPAN&gt;).&lt;SPAN&gt;Value&lt;/SPAN&gt;
	&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;.&lt;SPAN&gt;IsNullOrEmpty&lt;/SPAN&gt;(&lt;SPAN&gt;oPN&lt;/SPAN&gt;) &lt;SPAN&gt;Then&lt;/SPAN&gt; &lt;SPAN&gt;oPNEmpty&lt;/SPAN&gt; = &lt;SPAN&gt;True&lt;/SPAN&gt; &lt;SPAN&gt;Else&lt;/SPAN&gt; &lt;SPAN&gt;oPNEmpty&lt;/SPAN&gt; = &lt;SPAN&gt;False&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oTitle&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt; = &lt;SPAN&gt;oPSets&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(1).&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"Title"&lt;/SPAN&gt;).&lt;SPAN&gt;Value&lt;/SPAN&gt;
	&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;.&lt;SPAN&gt;IsNullOrEmpty&lt;/SPAN&gt;(&lt;SPAN&gt;oTitle&lt;/SPAN&gt;) &lt;SPAN&gt;Then&lt;/SPAN&gt; &lt;SPAN&gt;oTitleEmpty&lt;/SPAN&gt; = &lt;SPAN&gt;True&lt;/SPAN&gt; &lt;SPAN&gt;Else&lt;/SPAN&gt; &lt;SPAN&gt;oTitleEmpty&lt;/SPAN&gt; = &lt;SPAN&gt;False&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oArticleNo&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;
	&lt;SPAN&gt;Try&lt;/SPAN&gt;
		&lt;SPAN&gt;'the custom iProperty may not exist, so use Try...Catch block to check it&lt;/SPAN&gt;
		&lt;SPAN&gt;oArticleNo&lt;/SPAN&gt; = &lt;SPAN&gt;oPSets&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(4).&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"Article No"&lt;/SPAN&gt;).&lt;SPAN&gt;Value&lt;/SPAN&gt;
	&lt;SPAN&gt;Catch&lt;/SPAN&gt;
		&lt;SPAN&gt;'above failed, so it was not found&lt;/SPAN&gt;
		&lt;SPAN&gt;'create it, or ignore it, or show a message&lt;/SPAN&gt;
	
	&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Try&lt;/SPAN&gt;
	&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;.&lt;SPAN&gt;IsNullOrEmpty&lt;/SPAN&gt;(&lt;SPAN&gt;oArticleNo&lt;/SPAN&gt;) &lt;SPAN&gt;Then&lt;/SPAN&gt; &lt;SPAN&gt;oArticleNoEmpty&lt;/SPAN&gt; = &lt;SPAN&gt;True&lt;/SPAN&gt; &lt;SPAN&gt;Else&lt;/SPAN&gt; &lt;SPAN&gt;oArticleNoEmpty&lt;/SPAN&gt; = &lt;SPAN&gt;False&lt;/SPAN&gt;
		
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oNewName&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt; = &lt;SPAN&gt;""&lt;/SPAN&gt; &lt;SPAN&gt;'to assemble name in variable first (no errors expected)&lt;/SPAN&gt;
	&lt;SPAN&gt;'could just set it up so that if any are missing or empty, skip trying to rename this component to simplify&lt;/SPAN&gt;
	&lt;SPAN&gt;'If oPNEmpty Or oArticleNoEmpty Or oTitleEmpty Then Continue For 'skip to next item in loop&lt;/SPAN&gt;
	&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;oPNEmpty&lt;/SPAN&gt; = &lt;SPAN&gt;False&lt;/SPAN&gt; &lt;SPAN&gt;And&lt;/SPAN&gt; &lt;SPAN&gt;oArticleNoEmpty&lt;/SPAN&gt; = &lt;SPAN&gt;False&lt;/SPAN&gt; &lt;SPAN&gt;And&lt;/SPAN&gt; &lt;SPAN&gt;oTitleEmpty&lt;/SPAN&gt; = &lt;SPAN&gt;False&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt; &lt;SPAN&gt;'all present&lt;/SPAN&gt;
		&lt;SPAN&gt;oNewName&lt;/SPAN&gt; = &lt;SPAN&gt;oPN&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;" ("&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;oArticleNo&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;" "&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;oTitle&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;")"&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;"-"&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;oInt&lt;/SPAN&gt;
	&lt;SPAN&gt;ElseIf&lt;/SPAN&gt; &lt;SPAN&gt;oPNEmpty&lt;/SPAN&gt; = &lt;SPAN&gt;False&lt;/SPAN&gt; &lt;SPAN&gt;And&lt;/SPAN&gt; &lt;SPAN&gt;oArticleNoEmpty&lt;/SPAN&gt; = &lt;SPAN&gt;True&lt;/SPAN&gt; &lt;SPAN&gt;And&lt;/SPAN&gt; &lt;SPAN&gt;oTitleEmpty&lt;/SPAN&gt; = &lt;SPAN&gt;False&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt; &lt;SPAN&gt;'ArticleNo missing&lt;/SPAN&gt;
		&lt;SPAN&gt;oNewName&lt;/SPAN&gt; = &lt;SPAN&gt;oPN&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;" ("&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;oTitle&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;")"&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;"-"&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;oInt&lt;/SPAN&gt;
	&lt;SPAN&gt;ElseIf&lt;/SPAN&gt; &lt;SPAN&gt;oPNEmpty&lt;/SPAN&gt; = &lt;SPAN&gt;True&lt;/SPAN&gt; &lt;SPAN&gt;And&lt;/SPAN&gt; &lt;SPAN&gt;oArticleNoEmpty&lt;/SPAN&gt; = &lt;SPAN&gt;False&lt;/SPAN&gt; &lt;SPAN&gt;And&lt;/SPAN&gt; &lt;SPAN&gt;oTitleEmpty&lt;/SPAN&gt; = &lt;SPAN&gt;False&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt; &lt;SPAN&gt;'PN missing&lt;/SPAN&gt;
		&lt;SPAN&gt;oNewName&lt;/SPAN&gt; = &lt;SPAN&gt;"("&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;oArticleNo&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;" "&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;oTitle&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;")"&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;"-"&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;oInt&lt;/SPAN&gt;
	&lt;SPAN&gt;ElseIf&lt;/SPAN&gt; &lt;SPAN&gt;oPNEmpty&lt;/SPAN&gt; = &lt;SPAN&gt;False&lt;/SPAN&gt; &lt;SPAN&gt;And&lt;/SPAN&gt; &lt;SPAN&gt;oArticleNoEmpty&lt;/SPAN&gt; = &lt;SPAN&gt;False&lt;/SPAN&gt; &lt;SPAN&gt;And&lt;/SPAN&gt; &lt;SPAN&gt;oTitleEmpty&lt;/SPAN&gt; = &lt;SPAN&gt;True&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt; &lt;SPAN&gt;'Title missing&lt;/SPAN&gt;
		&lt;SPAN&gt;oNewName&lt;/SPAN&gt; = &lt;SPAN&gt;oPN&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;" ("&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;oArticleNo&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;")"&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;"-"&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;oInt&lt;/SPAN&gt;
	&lt;SPAN&gt;ElseIf&lt;/SPAN&gt; &lt;SPAN&gt;oPNEmpty&lt;/SPAN&gt; = &lt;SPAN&gt;True&lt;/SPAN&gt; &lt;SPAN&gt;And&lt;/SPAN&gt; &lt;SPAN&gt;oArticleNoEmpty&lt;/SPAN&gt; = &lt;SPAN&gt;False&lt;/SPAN&gt; &lt;SPAN&gt;And&lt;/SPAN&gt; &lt;SPAN&gt;oTitleEmpty&lt;/SPAN&gt; = &lt;SPAN&gt;True&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt; &lt;SPAN&gt;'PN &amp;amp; Title missing&lt;/SPAN&gt;
		&lt;SPAN&gt;oNewName&lt;/SPAN&gt; = &lt;SPAN&gt;"("&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;oArticleNo&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;")"&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;"-"&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;oInt&lt;/SPAN&gt;
	&lt;SPAN&gt;ElseIf&lt;/SPAN&gt; &lt;SPAN&gt;oPNEmpty&lt;/SPAN&gt; = &lt;SPAN&gt;False&lt;/SPAN&gt; &lt;SPAN&gt;And&lt;/SPAN&gt; &lt;SPAN&gt;oArticleNoEmpty&lt;/SPAN&gt; = &lt;SPAN&gt;False&lt;/SPAN&gt; &lt;SPAN&gt;And&lt;/SPAN&gt; &lt;SPAN&gt;oTitleEmpty&lt;/SPAN&gt; = &lt;SPAN&gt;True&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt; &lt;SPAN&gt;'ArticleNo &amp;amp; Title missing&lt;/SPAN&gt;
		&lt;SPAN&gt;oNewName&lt;/SPAN&gt; = &lt;SPAN&gt;oPN&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;"-"&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;oInt&lt;/SPAN&gt;
	&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
		
	&lt;SPAN&gt;Try&lt;/SPAN&gt; &lt;SPAN&gt;'just in case changing component name fails&lt;/SPAN&gt;
		&lt;SPAN&gt;oComp&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt; = &lt;SPAN&gt;oNewName&lt;/SPAN&gt;
	&lt;SPAN&gt;Catch&lt;/SPAN&gt;
		
	&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Try&lt;/SPAN&gt;
	
	&lt;SPAN&gt;'reset all String variables to empty (very likely not necessary, but we'll see)&lt;/SPAN&gt;
	&lt;SPAN&gt;oNewName&lt;/SPAN&gt; = &lt;SPAN&gt;""&lt;/SPAN&gt;
	&lt;SPAN&gt;oPN&lt;/SPAN&gt; = &lt;SPAN&gt;""&lt;/SPAN&gt;
	&lt;SPAN&gt;oArticleNo&lt;/SPAN&gt; = &lt;SPAN&gt;""&lt;/SPAN&gt;
	&lt;SPAN&gt;oTitle&lt;/SPAN&gt; = &lt;SPAN&gt;""&lt;/SPAN&gt;
		
	&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;oComp&lt;/SPAN&gt;.&lt;SPAN&gt;SubOccurrences&lt;/SPAN&gt;.&lt;SPAN&gt;Count&lt;/SPAN&gt; &amp;gt; 0 &lt;SPAN&gt;Then&lt;/SPAN&gt; &lt;SPAN&gt;'if it has any SubOccurrences, it's a sub-assembly&lt;/SPAN&gt;
		&lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;Each&lt;/SPAN&gt; &lt;SPAN&gt;oSOcc&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;oComp&lt;/SPAN&gt;.&lt;SPAN&gt;SubOccurrences&lt;/SPAN&gt;
			&lt;SPAN&gt;SetOccName&lt;/SPAN&gt;(&lt;SPAN&gt;oSOcc&lt;/SPAN&gt;, &lt;SPAN&gt;oInt&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;End&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt;
&lt;/PRE&gt;</description>
      <pubDate>Wed, 05 Jan 2022 16:02:31 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/using-ilogic-to-rename-browser-nodes/m-p/10859856#M129830</guid>
      <dc:creator>J.Classens</dc:creator>
      <dc:date>2022-01-05T16:02:31Z</dc:date>
    </item>
    <item>
      <title>Re: Using iLogic to Rename Browser Nodes</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/using-ilogic-to-rename-browser-nodes/m-p/10859858#M129831</link>
      <description>&lt;P&gt;I have found a Ilogic rule to do the trick.&lt;/P&gt;&lt;P&gt;This Ilogic rule i have modified with the needed properties.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;When you want to use VBA you write a code that opens this Ilogic rule.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;Sub&lt;/SPAN&gt; &lt;SPAN&gt;Main&lt;/SPAN&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;i&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Integer&lt;/SPAN&gt; = 0
	&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;oADef&lt;/SPAN&gt;.&lt;SPAN&gt;Occurrences&lt;/SPAN&gt;
		&lt;SPAN&gt;SetOccName&lt;/SPAN&gt;(&lt;SPAN&gt;oOcc&lt;/SPAN&gt;, &lt;SPAN&gt;i&lt;/SPAN&gt;)
		&lt;SPAN&gt;i&lt;/SPAN&gt; = &lt;SPAN&gt;i&lt;/SPAN&gt; + 1
	&lt;SPAN&gt;Next&lt;/SPAN&gt;
&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt;

&lt;SPAN&gt;Sub&lt;/SPAN&gt; &lt;SPAN&gt;SetOccName&lt;/SPAN&gt;(&lt;SPAN&gt;oComp&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;ComponentOccurrence&lt;/SPAN&gt;, &lt;SPAN&gt;oInt&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;oOccDoc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Document&lt;/SPAN&gt; = &lt;SPAN&gt;oComp&lt;/SPAN&gt;.&lt;SPAN&gt;Definition&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oPSets&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;PropertySets&lt;/SPAN&gt; = &lt;SPAN&gt;oOccDoc&lt;/SPAN&gt;.&lt;SPAN&gt;PropertySets&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oPNEmpty&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Boolean&lt;/SPAN&gt; = &lt;SPAN&gt;False&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oArticleNoEmpty&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Boolean&lt;/SPAN&gt; = &lt;SPAN&gt;False&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oTitleEmpty&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Boolean&lt;/SPAN&gt;  = &lt;SPAN&gt;False&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oPN&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt; = &lt;SPAN&gt;oPSets&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(3).&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"Part Number"&lt;/SPAN&gt;).&lt;SPAN&gt;Value&lt;/SPAN&gt;
	&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;.&lt;SPAN&gt;IsNullOrEmpty&lt;/SPAN&gt;(&lt;SPAN&gt;oPN&lt;/SPAN&gt;) &lt;SPAN&gt;Then&lt;/SPAN&gt; &lt;SPAN&gt;oPNEmpty&lt;/SPAN&gt; = &lt;SPAN&gt;True&lt;/SPAN&gt; &lt;SPAN&gt;Else&lt;/SPAN&gt; &lt;SPAN&gt;oPNEmpty&lt;/SPAN&gt; = &lt;SPAN&gt;False&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oTitle&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt; = &lt;SPAN&gt;oPSets&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(1).&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"Title"&lt;/SPAN&gt;).&lt;SPAN&gt;Value&lt;/SPAN&gt;
	&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;.&lt;SPAN&gt;IsNullOrEmpty&lt;/SPAN&gt;(&lt;SPAN&gt;oTitle&lt;/SPAN&gt;) &lt;SPAN&gt;Then&lt;/SPAN&gt; &lt;SPAN&gt;oTitleEmpty&lt;/SPAN&gt; = &lt;SPAN&gt;True&lt;/SPAN&gt; &lt;SPAN&gt;Else&lt;/SPAN&gt; &lt;SPAN&gt;oTitleEmpty&lt;/SPAN&gt; = &lt;SPAN&gt;False&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oArticleNo&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;
	&lt;SPAN&gt;Try&lt;/SPAN&gt;
		&lt;SPAN&gt;'the custom iProperty may not exist, so use Try...Catch block to check it&lt;/SPAN&gt;
		&lt;SPAN&gt;oArticleNo&lt;/SPAN&gt; = &lt;SPAN&gt;oPSets&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(4).&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"Article No"&lt;/SPAN&gt;).&lt;SPAN&gt;Value&lt;/SPAN&gt;
	&lt;SPAN&gt;Catch&lt;/SPAN&gt;
		&lt;SPAN&gt;'above failed, so it was not found&lt;/SPAN&gt;
		&lt;SPAN&gt;'create it, or ignore it, or show a message&lt;/SPAN&gt;
	
	&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Try&lt;/SPAN&gt;
	&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;.&lt;SPAN&gt;IsNullOrEmpty&lt;/SPAN&gt;(&lt;SPAN&gt;oArticleNo&lt;/SPAN&gt;) &lt;SPAN&gt;Then&lt;/SPAN&gt; &lt;SPAN&gt;oArticleNoEmpty&lt;/SPAN&gt; = &lt;SPAN&gt;True&lt;/SPAN&gt; &lt;SPAN&gt;Else&lt;/SPAN&gt; &lt;SPAN&gt;oArticleNoEmpty&lt;/SPAN&gt; = &lt;SPAN&gt;False&lt;/SPAN&gt;
		
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oNewName&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt; = &lt;SPAN&gt;""&lt;/SPAN&gt; &lt;SPAN&gt;'to assemble name in variable first (no errors expected)&lt;/SPAN&gt;
	&lt;SPAN&gt;'could just set it up so that if any are missing or empty, skip trying to rename this component to simplify&lt;/SPAN&gt;
	&lt;SPAN&gt;'If oPNEmpty Or oArticleNoEmpty Or oTitleEmpty Then Continue For 'skip to next item in loop&lt;/SPAN&gt;
	&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;oPNEmpty&lt;/SPAN&gt; = &lt;SPAN&gt;False&lt;/SPAN&gt; &lt;SPAN&gt;And&lt;/SPAN&gt; &lt;SPAN&gt;oArticleNoEmpty&lt;/SPAN&gt; = &lt;SPAN&gt;False&lt;/SPAN&gt; &lt;SPAN&gt;And&lt;/SPAN&gt; &lt;SPAN&gt;oTitleEmpty&lt;/SPAN&gt; = &lt;SPAN&gt;False&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt; &lt;SPAN&gt;'all present&lt;/SPAN&gt;
		&lt;SPAN&gt;oNewName&lt;/SPAN&gt; = &lt;SPAN&gt;oPN&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;" ("&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;oArticleNo&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;" "&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;oTitle&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;")"&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;"-"&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;oInt&lt;/SPAN&gt;
	&lt;SPAN&gt;ElseIf&lt;/SPAN&gt; &lt;SPAN&gt;oPNEmpty&lt;/SPAN&gt; = &lt;SPAN&gt;False&lt;/SPAN&gt; &lt;SPAN&gt;And&lt;/SPAN&gt; &lt;SPAN&gt;oArticleNoEmpty&lt;/SPAN&gt; = &lt;SPAN&gt;True&lt;/SPAN&gt; &lt;SPAN&gt;And&lt;/SPAN&gt; &lt;SPAN&gt;oTitleEmpty&lt;/SPAN&gt; = &lt;SPAN&gt;False&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt; &lt;SPAN&gt;'ArticleNo missing&lt;/SPAN&gt;
		&lt;SPAN&gt;oNewName&lt;/SPAN&gt; = &lt;SPAN&gt;oPN&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;" ("&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;oTitle&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;")"&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;"-"&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;oInt&lt;/SPAN&gt;
	&lt;SPAN&gt;ElseIf&lt;/SPAN&gt; &lt;SPAN&gt;oPNEmpty&lt;/SPAN&gt; = &lt;SPAN&gt;True&lt;/SPAN&gt; &lt;SPAN&gt;And&lt;/SPAN&gt; &lt;SPAN&gt;oArticleNoEmpty&lt;/SPAN&gt; = &lt;SPAN&gt;False&lt;/SPAN&gt; &lt;SPAN&gt;And&lt;/SPAN&gt; &lt;SPAN&gt;oTitleEmpty&lt;/SPAN&gt; = &lt;SPAN&gt;False&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt; &lt;SPAN&gt;'PN missing&lt;/SPAN&gt;
		&lt;SPAN&gt;oNewName&lt;/SPAN&gt; = &lt;SPAN&gt;"("&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;oArticleNo&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;" "&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;oTitle&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;")"&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;"-"&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;oInt&lt;/SPAN&gt;
	&lt;SPAN&gt;ElseIf&lt;/SPAN&gt; &lt;SPAN&gt;oPNEmpty&lt;/SPAN&gt; = &lt;SPAN&gt;False&lt;/SPAN&gt; &lt;SPAN&gt;And&lt;/SPAN&gt; &lt;SPAN&gt;oArticleNoEmpty&lt;/SPAN&gt; = &lt;SPAN&gt;False&lt;/SPAN&gt; &lt;SPAN&gt;And&lt;/SPAN&gt; &lt;SPAN&gt;oTitleEmpty&lt;/SPAN&gt; = &lt;SPAN&gt;True&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt; &lt;SPAN&gt;'Title missing&lt;/SPAN&gt;
		&lt;SPAN&gt;oNewName&lt;/SPAN&gt; = &lt;SPAN&gt;oPN&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;" ("&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;oArticleNo&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;")"&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;"-"&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;oInt&lt;/SPAN&gt;
	&lt;SPAN&gt;ElseIf&lt;/SPAN&gt; &lt;SPAN&gt;oPNEmpty&lt;/SPAN&gt; = &lt;SPAN&gt;True&lt;/SPAN&gt; &lt;SPAN&gt;And&lt;/SPAN&gt; &lt;SPAN&gt;oArticleNoEmpty&lt;/SPAN&gt; = &lt;SPAN&gt;False&lt;/SPAN&gt; &lt;SPAN&gt;And&lt;/SPAN&gt; &lt;SPAN&gt;oTitleEmpty&lt;/SPAN&gt; = &lt;SPAN&gt;True&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt; &lt;SPAN&gt;'PN &amp;amp; Title missing&lt;/SPAN&gt;
		&lt;SPAN&gt;oNewName&lt;/SPAN&gt; = &lt;SPAN&gt;"("&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;oArticleNo&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;")"&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;"-"&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;oInt&lt;/SPAN&gt;
	&lt;SPAN&gt;ElseIf&lt;/SPAN&gt; &lt;SPAN&gt;oPNEmpty&lt;/SPAN&gt; = &lt;SPAN&gt;False&lt;/SPAN&gt; &lt;SPAN&gt;And&lt;/SPAN&gt; &lt;SPAN&gt;oArticleNoEmpty&lt;/SPAN&gt; = &lt;SPAN&gt;False&lt;/SPAN&gt; &lt;SPAN&gt;And&lt;/SPAN&gt; &lt;SPAN&gt;oTitleEmpty&lt;/SPAN&gt; = &lt;SPAN&gt;True&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt; &lt;SPAN&gt;'ArticleNo &amp;amp; Title missing&lt;/SPAN&gt;
		&lt;SPAN&gt;oNewName&lt;/SPAN&gt; = &lt;SPAN&gt;oPN&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;"-"&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;oInt&lt;/SPAN&gt;
	&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
		
	&lt;SPAN&gt;Try&lt;/SPAN&gt; &lt;SPAN&gt;'just in case changing component name fails&lt;/SPAN&gt;
		&lt;SPAN&gt;oComp&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt; = &lt;SPAN&gt;oNewName&lt;/SPAN&gt;
	&lt;SPAN&gt;Catch&lt;/SPAN&gt;
		
	&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Try&lt;/SPAN&gt;
	
	&lt;SPAN&gt;'reset all String variables to empty (very likely not necessary, but we'll see)&lt;/SPAN&gt;
	&lt;SPAN&gt;oNewName&lt;/SPAN&gt; = &lt;SPAN&gt;""&lt;/SPAN&gt;
	&lt;SPAN&gt;oPN&lt;/SPAN&gt; = &lt;SPAN&gt;""&lt;/SPAN&gt;
	&lt;SPAN&gt;oArticleNo&lt;/SPAN&gt; = &lt;SPAN&gt;""&lt;/SPAN&gt;
	&lt;SPAN&gt;oTitle&lt;/SPAN&gt; = &lt;SPAN&gt;""&lt;/SPAN&gt;
		
	&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;oComp&lt;/SPAN&gt;.&lt;SPAN&gt;SubOccurrences&lt;/SPAN&gt;.&lt;SPAN&gt;Count&lt;/SPAN&gt; &amp;gt; 0 &lt;SPAN&gt;Then&lt;/SPAN&gt; &lt;SPAN&gt;'if it has any SubOccurrences, it's a sub-assembly&lt;/SPAN&gt;
		&lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;Each&lt;/SPAN&gt; &lt;SPAN&gt;oSOcc&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;oComp&lt;/SPAN&gt;.&lt;SPAN&gt;SubOccurrences&lt;/SPAN&gt;
			&lt;SPAN&gt;SetOccName&lt;/SPAN&gt;(&lt;SPAN&gt;oSOcc&lt;/SPAN&gt;, &lt;SPAN&gt;oInt&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;End&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt;
&lt;/PRE&gt;</description>
      <pubDate>Wed, 05 Jan 2022 16:03:23 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/using-ilogic-to-rename-browser-nodes/m-p/10859858#M129831</guid>
      <dc:creator>J.Classens</dc:creator>
      <dc:date>2022-01-05T16:03:23Z</dc:date>
    </item>
    <item>
      <title>Re: Using iLogic to Rename Browser Nodes</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/using-ilogic-to-rename-browser-nodes/m-p/10906787#M129832</link>
      <description>&lt;P&gt;Thank you! I have used the rule with great success, but recently got an error 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.get_Definition()&lt;BR /&gt;at ThisRule.SetOccName(ComponentOccurrence oComp, Int32 oInt)&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;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Any idea on what's wrong here?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;(PS! No "expert" in iLogic and coding&amp;nbsp;&lt;span class="lia-unicode-emoji" title=":grinning_face_with_sweat:"&gt;😅&lt;/span&gt;)&lt;/P&gt;</description>
      <pubDate>Wed, 26 Jan 2022 08:58:03 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/using-ilogic-to-rename-browser-nodes/m-p/10906787#M129832</guid>
      <dc:creator>benjamin.eidemL3D38</dc:creator>
      <dc:date>2022-01-26T08:58:03Z</dc:date>
    </item>
    <item>
      <title>Re: Using iLogic to Rename Browser Nodes</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/using-ilogic-to-rename-browser-nodes/m-p/10907347#M129833</link>
      <description>&lt;P&gt;Thank you! I have used the rule with great success, but recently got an error 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.get_Definition()&lt;BR /&gt;at ThisRule.SetOccName(ComponentOccurrence oComp, Int32 oInt)&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;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Any idea on what's wrong here?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;(PS! No "expert" in iLogic and coding&amp;nbsp;&lt;span class="lia-unicode-emoji" title=":grinning_face_with_sweat:"&gt;😅&lt;/span&gt;)&lt;/P&gt;</description>
      <pubDate>Wed, 26 Jan 2022 13:05:01 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/using-ilogic-to-rename-browser-nodes/m-p/10907347#M129833</guid>
      <dc:creator>benjamin.eidemL3D38</dc:creator>
      <dc:date>2022-01-26T13:05:01Z</dc:date>
    </item>
  </channel>
</rss>

