<?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: Assistance Classifying Frame generated Members in Inventor Programming - iLogic, Macros, AddIns &amp; Apprentice</title>
    <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/assistance-classifying-frame-generated-members/m-p/12236563#M157645</link>
    <description>&lt;P&gt;I think if I can't get the results, I'm looking for that might be the next avenue I go down, the problems I was hitting when I was testing this method mainly came from I was looking at the iproperty COG properties of the part in the assembly, which apparently is a different number to what's shown if you open the part on its own look at the properties there. The script was opening every part and giving the "part only" COG properties. The beauty of this method is that I can tell if a part is identical but orientated about a different plane, and with any luck it should be as simple as rounding the COG properties to 0.001 (or there abouts), and then checking to see if 5 of 6 are identical then its a match. I think it will come down to testing though as when I'm dealing with tubelaser cut parts there can be a ton of features so on each part so it's going to be a case of guess and check I think&lt;/P&gt;</description>
    <pubDate>Wed, 13 Sep 2023 06:46:05 GMT</pubDate>
    <dc:creator>roy7BB24</dc:creator>
    <dc:date>2023-09-13T06:46:05Z</dc:date>
    <item>
      <title>Assistance Classifying Frame generated Members</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/assistance-classifying-frame-generated-members/m-p/12210934#M157159</link>
      <description>&lt;P&gt;Hi all, I'm working on a way to determine if frame generated members are unique or duplicates of another member in a frame, and then assign them the existing part number or a new one as required. The part numbering is being done to match the rest of my general assembly, there's some loose rules in the code already, but I'm going to refine this as I go. Note I use a lot of tube laser and other processing so using the standard 50 X 50 RHS - 500 doesn't work as I often have two parts the same length with different features and need to be able to assign both different part numbers easily.&amp;nbsp;&lt;/P&gt;&lt;P&gt;In any case I've got a script currently that's pulling a bunch of information from each frame member, for now I'm just logging the info. I'm obtaining the following properties: Material, Stock No,&amp;nbsp;Length,&amp;nbsp;Mass,&amp;nbsp;Volume,&amp;nbsp;Surface Area,&amp;nbsp;Ixx,&amp;nbsp;Iyy,&amp;nbsp;Izz. Currently I'm just logging the data, will sort once I've confirmed I'm getting the right outputs.&lt;/P&gt;&lt;P&gt;Obviously, plan is to sort by the easy things first (Material, Stock No,&amp;nbsp;Length,&amp;nbsp;Mass,&amp;nbsp;Volume,&amp;nbsp;Surface Area) and then if these all matches do a follow check of the centers of gravity. If there's two pieces of RHS with holes in slightly different locations, mass, surface area and volume will all match. This is fine I've sorted this, however if I have two pieces of RHS that are mirror images (see attached image or attached inventor file), the centers of gravity are coming back as identical.&lt;/P&gt;&lt;P&gt;I've had a look through the API help, and also this post which is somewhat similar (&lt;A href="https://forums.autodesk.com/t5/inventor-ilogic-and-vb-net-forum/accessing-inertial-properties-using-ilogic/m-p/2904630" target="_blank"&gt;Solved: Accessing Inertial Properties using iLogic - Autodesk Community - Inventor&lt;/A&gt;), if anyone is able to offer any assistance it would be much appreciated.&amp;nbsp;&lt;/P&gt;&lt;P&gt;All rules are in the "Classifying assistance folder - TEST FRAME"&lt;/P&gt;&lt;P&gt;The relevant part of the rule is here:&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;Private&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt; &lt;SPAN&gt;FrameProcessor&lt;/SPAN&gt;(&lt;SPAN&gt;BOMRows&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;BOMRowsEnumerator&lt;/SPAN&gt;, &lt;SPAN&gt;AssemblyPNo&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;)
	&lt;SPAN&gt;'Interate through the contents of the Frame&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;frame&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;New&lt;/SPAN&gt; &lt;SPAN&gt;Frame_Data&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;prelim&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;postlim&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Single&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;MassProps&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;MassProperties&lt;/SPAN&gt;
	&lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;i&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Integer&lt;/SPAN&gt; = 1 &lt;SPAN&gt;To&lt;/SPAN&gt; &lt;SPAN&gt;BOMRows&lt;/SPAN&gt;.&lt;SPAN&gt;Count&lt;/SPAN&gt;
		&lt;SPAN&gt;'Get the current row&lt;/SPAN&gt;
			&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;Row&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;BOMRow&lt;/SPAN&gt; = &lt;SPAN&gt;BOMRows&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;i&lt;/SPAN&gt;)
		
			&lt;SPAN&gt;'Reference to the primary component definition of the Row&lt;/SPAN&gt;
			&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;Compdef&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;ComponentDefinition&lt;/SPAN&gt; = &lt;SPAN&gt;Row&lt;/SPAN&gt;.&lt;SPAN&gt;ComponentDefinitions&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(1)
			&lt;SPAN&gt;'Check if it is the reference Skeleton&lt;/SPAN&gt;
		&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;Compdef&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;.&lt;SPAN&gt;DocumentInterests&lt;/SPAN&gt;.&lt;SPAN&gt;HasInterest&lt;/SPAN&gt;(&lt;SPAN&gt;"SkeletonDoc"&lt;/SPAN&gt;)
			&lt;SPAN&gt;Compdef&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;.&lt;SPAN&gt;PropertySets&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"Design Tracking Properties"&lt;/SPAN&gt;).&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;AssemblyPNo&lt;/SPAN&gt; + &lt;SPAN&gt;"-SKELETON FRAME"&lt;/SPAN&gt;)
			&lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Info&lt;/SPAN&gt;(&lt;SPAN&gt;Compdef&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;.&lt;SPAN&gt;PropertySets&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"Design Tracking Properties"&lt;/SPAN&gt;).&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;" Is a skeleton frame"&lt;/SPAN&gt;)

			&lt;SPAN&gt;'Check if its a frame member&lt;/SPAN&gt;
		&lt;SPAN&gt;ElseIf&lt;/SPAN&gt; &lt;SPAN&gt;Compdef&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;.&lt;SPAN&gt;DocumentInterests&lt;/SPAN&gt;.&lt;SPAN&gt;HasInterest&lt;/SPAN&gt;(&lt;SPAN&gt;"FrameMemberDoc"&lt;/SPAN&gt;)
				&lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Info&lt;/SPAN&gt;(&lt;SPAN&gt;Compdef&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;.&lt;SPAN&gt;PropertySets&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"Design Tracking Properties"&lt;/SPAN&gt;).&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;" Is a frame part"&lt;/SPAN&gt;)
				
				&lt;SPAN&gt;frame&lt;/SPAN&gt;.&lt;SPAN&gt;Material&lt;/SPAN&gt; = &lt;SPAN&gt;Compdef&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;.&lt;SPAN&gt;PropertySets&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"Design Tracking Properties"&lt;/SPAN&gt;).&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"Material"&lt;/SPAN&gt;).&lt;SPAN&gt;Value&lt;/SPAN&gt;
				&lt;SPAN&gt;frame&lt;/SPAN&gt;.&lt;SPAN&gt;Stock&lt;/SPAN&gt; = &lt;SPAN&gt;Compdef&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;.&lt;SPAN&gt;PropertySets&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"Design Tracking Properties"&lt;/SPAN&gt;).&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"Stock Number"&lt;/SPAN&gt;).&lt;SPAN&gt;Value&lt;/SPAN&gt;
				&lt;SPAN&gt;frame&lt;/SPAN&gt;.&lt;SPAN&gt;Length&lt;/SPAN&gt; = &lt;SPAN&gt;Compdef&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;.&lt;SPAN&gt;PropertySets&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(4).&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"G_L"&lt;/SPAN&gt;).&lt;SPAN&gt;Value&lt;/SPAN&gt;
				&lt;SPAN&gt;prelim&lt;/SPAN&gt; = &lt;SPAN&gt;Compdef&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;.&lt;SPAN&gt;PropertySets&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"Design Tracking Properties"&lt;/SPAN&gt;).&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"Mass"&lt;/SPAN&gt;).&lt;SPAN&gt;Value&lt;/SPAN&gt;
				&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;Single&lt;/SPAN&gt;.&lt;SPAN&gt;TryParse&lt;/SPAN&gt;(&lt;SPAN&gt;prelim&lt;/SPAN&gt;, &lt;SPAN&gt;System&lt;/SPAN&gt;.&lt;SPAN&gt;Globalization&lt;/SPAN&gt;.&lt;SPAN&gt;NumberStyles&lt;/SPAN&gt;.&lt;SPAN&gt;Float&lt;/SPAN&gt;, &lt;SPAN&gt;System&lt;/SPAN&gt;.&lt;SPAN&gt;Globalization&lt;/SPAN&gt;.&lt;SPAN&gt;CultureInfo&lt;/SPAN&gt;.&lt;SPAN&gt;InvariantCulture&lt;/SPAN&gt;, &lt;SPAN&gt;postlim&lt;/SPAN&gt;)
					&lt;SPAN&gt;frame&lt;/SPAN&gt;.&lt;SPAN&gt;Mass&lt;/SPAN&gt; = &lt;SPAN&gt;postlim&lt;/SPAN&gt;
					&lt;SPAN&gt;Else&lt;/SPAN&gt; 
					&lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Info&lt;/SPAN&gt;(&lt;SPAN&gt;Compdef&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;.&lt;SPAN&gt;PropertySets&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"Design Tracking Properties"&lt;/SPAN&gt;).&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;" - the mass for this part has not been entered correctly"&lt;/SPAN&gt;)
					&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
				&lt;SPAN&gt;prelim&lt;/SPAN&gt; = &lt;SPAN&gt;Compdef&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;.&lt;SPAN&gt;PropertySets&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"Design Tracking Properties"&lt;/SPAN&gt;).&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"Volume"&lt;/SPAN&gt;).&lt;SPAN&gt;Value&lt;/SPAN&gt;
				&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;Single&lt;/SPAN&gt;.&lt;SPAN&gt;TryParse&lt;/SPAN&gt;(&lt;SPAN&gt;prelim&lt;/SPAN&gt;, &lt;SPAN&gt;System&lt;/SPAN&gt;.&lt;SPAN&gt;Globalization&lt;/SPAN&gt;.&lt;SPAN&gt;NumberStyles&lt;/SPAN&gt;.&lt;SPAN&gt;Float&lt;/SPAN&gt;, &lt;SPAN&gt;System&lt;/SPAN&gt;.&lt;SPAN&gt;Globalization&lt;/SPAN&gt;.&lt;SPAN&gt;CultureInfo&lt;/SPAN&gt;.&lt;SPAN&gt;InvariantCulture&lt;/SPAN&gt;, &lt;SPAN&gt;postlim&lt;/SPAN&gt;)
					&lt;SPAN&gt;frame&lt;/SPAN&gt;.&lt;SPAN&gt;Volume&lt;/SPAN&gt; = &lt;SPAN&gt;postlim&lt;/SPAN&gt;
					&lt;SPAN&gt;Else&lt;/SPAN&gt; 
					&lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Info&lt;/SPAN&gt;(&lt;SPAN&gt;Compdef&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;.&lt;SPAN&gt;PropertySets&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"Design Tracking Properties"&lt;/SPAN&gt;).&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;" - the mass for this part has not been entered correctly"&lt;/SPAN&gt;)
					&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
				&lt;SPAN&gt;prelim&lt;/SPAN&gt; = &lt;SPAN&gt;Compdef&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;.&lt;SPAN&gt;PropertySets&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"Design Tracking Properties"&lt;/SPAN&gt;).&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"SurfaceArea"&lt;/SPAN&gt;).&lt;SPAN&gt;Value&lt;/SPAN&gt;
				&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;Single&lt;/SPAN&gt;.&lt;SPAN&gt;TryParse&lt;/SPAN&gt;(&lt;SPAN&gt;prelim&lt;/SPAN&gt;, &lt;SPAN&gt;System&lt;/SPAN&gt;.&lt;SPAN&gt;Globalization&lt;/SPAN&gt;.&lt;SPAN&gt;NumberStyles&lt;/SPAN&gt;.&lt;SPAN&gt;Float&lt;/SPAN&gt;, &lt;SPAN&gt;System&lt;/SPAN&gt;.&lt;SPAN&gt;Globalization&lt;/SPAN&gt;.&lt;SPAN&gt;CultureInfo&lt;/SPAN&gt;.&lt;SPAN&gt;InvariantCulture&lt;/SPAN&gt;, &lt;SPAN&gt;postlim&lt;/SPAN&gt;)
					&lt;SPAN&gt;frame&lt;/SPAN&gt;.&lt;SPAN&gt;Area&lt;/SPAN&gt; = &lt;SPAN&gt;postlim&lt;/SPAN&gt;
					&lt;SPAN&gt;Else&lt;/SPAN&gt; 
					&lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Info&lt;/SPAN&gt;(&lt;SPAN&gt;Compdef&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;.&lt;SPAN&gt;PropertySets&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"Design Tracking Properties"&lt;/SPAN&gt;).&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;" - the mass for this part has not been entered correctly"&lt;/SPAN&gt;)
					&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;				
				&lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Info&lt;/SPAN&gt;(&lt;SPAN&gt;" Material: "&lt;/SPAN&gt; + &lt;SPAN&gt;frame&lt;/SPAN&gt;.&lt;SPAN&gt;Material&lt;/SPAN&gt;)
				&lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Info&lt;/SPAN&gt;(&lt;SPAN&gt;"Stock No: "&lt;/SPAN&gt; + &lt;SPAN&gt;frame&lt;/SPAN&gt;.&lt;SPAN&gt;Stock&lt;/SPAN&gt;)
				&lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Info&lt;/SPAN&gt;(&lt;SPAN&gt;"Length: "&lt;/SPAN&gt; + &lt;SPAN&gt;frame&lt;/SPAN&gt;.&lt;SPAN&gt;Length&lt;/SPAN&gt;)
				&lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Info&lt;/SPAN&gt;(&lt;SPAN&gt;String&lt;/SPAN&gt;.&lt;SPAN&gt;Format&lt;/SPAN&gt;(&lt;SPAN&gt;"Mass: {0}"&lt;/SPAN&gt;, &lt;SPAN&gt;frame&lt;/SPAN&gt;.&lt;SPAN&gt;Mass&lt;/SPAN&gt;))
				&lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Info&lt;/SPAN&gt;(&lt;SPAN&gt;String&lt;/SPAN&gt;.&lt;SPAN&gt;Format&lt;/SPAN&gt;(&lt;SPAN&gt;"Volume: {0}"&lt;/SPAN&gt;, &lt;SPAN&gt;frame&lt;/SPAN&gt;.&lt;SPAN&gt;Volume&lt;/SPAN&gt;))
				&lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Info&lt;/SPAN&gt;(&lt;SPAN&gt;String&lt;/SPAN&gt;.&lt;SPAN&gt;Format&lt;/SPAN&gt;(&lt;SPAN&gt;"Surface Area: {0}"&lt;/SPAN&gt;, &lt;SPAN&gt;frame&lt;/SPAN&gt;.&lt;SPAN&gt;Area&lt;/SPAN&gt;))	
				&lt;SPAN&gt;MassProps&lt;/SPAN&gt; = &lt;SPAN&gt;Compdef&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;.&lt;SPAN&gt;ComponentDefinition&lt;/SPAN&gt;.&lt;SPAN&gt;MassProperties&lt;/SPAN&gt;
				&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;adPrincipleMoments&lt;/SPAN&gt;(0 &lt;SPAN&gt;To&lt;/SPAN&gt; 2) &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Double&lt;/SPAN&gt;
				&lt;SPAN&gt;Call&lt;/SPAN&gt; &lt;SPAN&gt;MassProps&lt;/SPAN&gt;.&lt;SPAN&gt;PrincipalMomentsOfInertia&lt;/SPAN&gt;(&lt;SPAN&gt;adPrincipleMoments&lt;/SPAN&gt;(0),&lt;SPAN&gt;adPrincipleMoments&lt;/SPAN&gt;(1),&lt;SPAN&gt;adPrincipleMoments&lt;/SPAN&gt;(2))
				&lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Info&lt;/SPAN&gt;(&lt;SPAN&gt;String&lt;/SPAN&gt;.&lt;SPAN&gt;Format&lt;/SPAN&gt;(&lt;SPAN&gt;"Ixx: {0}"&lt;/SPAN&gt;, &lt;SPAN&gt;adPrincipleMoments&lt;/SPAN&gt;(0)))
				&lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Info&lt;/SPAN&gt;(&lt;SPAN&gt;String&lt;/SPAN&gt;.&lt;SPAN&gt;Format&lt;/SPAN&gt;(&lt;SPAN&gt;"Iyy: {0}"&lt;/SPAN&gt;, &lt;SPAN&gt;adPrincipleMoments&lt;/SPAN&gt;(1)))
				&lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Info&lt;/SPAN&gt;(&lt;SPAN&gt;String&lt;/SPAN&gt;.&lt;SPAN&gt;Format&lt;/SPAN&gt;(&lt;SPAN&gt;"Izz: {0}"&lt;/SPAN&gt;, &lt;SPAN&gt;adPrincipleMoments&lt;/SPAN&gt;(2)))
		&lt;SPAN&gt;'Check if its a standard part&lt;/SPAN&gt;
		&lt;SPAN&gt;ElseIf&lt;/SPAN&gt; &lt;SPAN&gt;Compdef&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;.&lt;SPAN&gt;DocumentType&lt;/SPAN&gt; = &lt;SPAN&gt;DocumentTypeEnum&lt;/SPAN&gt;.&lt;SPAN&gt;kPartDocumentObject&lt;/SPAN&gt;
			&lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Info&lt;/SPAN&gt;(&lt;SPAN&gt;Compdef&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;.&lt;SPAN&gt;PropertySets&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"Design Tracking Properties"&lt;/SPAN&gt;).&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;" Is a standard part"&lt;/SPAN&gt;)
		&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
	&lt;SPAN&gt;Next&lt;/SPAN&gt;

&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;See Full code below:&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;Class&lt;/SPAN&gt; &lt;SPAN&gt;GlobalVariable&lt;/SPAN&gt;
	&lt;SPAN&gt;Public&lt;/SPAN&gt; &lt;SPAN&gt;RevNo&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt; = 0
	&lt;SPAN&gt;Public&lt;/SPAN&gt; &lt;SPAN&gt;AssemblyCounter&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Integer&lt;/SPAN&gt; = 2
	&lt;SPAN&gt;Public&lt;/SPAN&gt; &lt;SPAN&gt;PartCounter&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Integer&lt;/SPAN&gt; = 1
	&lt;SPAN&gt;Public&lt;/SPAN&gt; &lt;SPAN&gt;GenPartCounter&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Integer&lt;/SPAN&gt; = 1
&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Class&lt;/SPAN&gt;
	
&lt;SPAN&gt;Public&lt;/SPAN&gt; &lt;SPAN&gt;Class&lt;/SPAN&gt; &lt;SPAN&gt;Frame_Data&lt;/SPAN&gt;
	&lt;SPAN&gt;Public&lt;/SPAN&gt; &lt;SPAN&gt;Property&lt;/SPAN&gt; &lt;SPAN&gt;Material&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;
	&lt;SPAN&gt;Public&lt;/SPAN&gt; &lt;SPAN&gt;Property&lt;/SPAN&gt; &lt;SPAN&gt;Stock&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;
	&lt;SPAN&gt;Public&lt;/SPAN&gt; &lt;SPAN&gt;Property&lt;/SPAN&gt; &lt;SPAN&gt;Length&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;
	&lt;SPAN&gt;Public&lt;/SPAN&gt; &lt;SPAN&gt;Property&lt;/SPAN&gt; &lt;SPAN&gt;Mass&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Single&lt;/SPAN&gt;
	&lt;SPAN&gt;Public&lt;/SPAN&gt; &lt;SPAN&gt;Property&lt;/SPAN&gt; &lt;SPAN&gt;Volume&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;
	&lt;SPAN&gt;Public&lt;/SPAN&gt; &lt;SPAN&gt;Property&lt;/SPAN&gt; &lt;SPAN&gt;Area&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;
	&lt;SPAN&gt;Public&lt;/SPAN&gt; &lt;SPAN&gt;Property&lt;/SPAN&gt; &lt;SPAN&gt;Ixx&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Double&lt;/SPAN&gt;
	&lt;SPAN&gt;Public&lt;/SPAN&gt; &lt;SPAN&gt;Property&lt;/SPAN&gt; &lt;SPAN&gt;Ixy&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Double&lt;/SPAN&gt;
	&lt;SPAN&gt;Public&lt;/SPAN&gt; &lt;SPAN&gt;Property&lt;/SPAN&gt; &lt;SPAN&gt;Iyy&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Double&lt;/SPAN&gt;
	&lt;SPAN&gt;Public&lt;/SPAN&gt; &lt;SPAN&gt;Property&lt;/SPAN&gt; &lt;SPAN&gt;Ixz&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Double&lt;/SPAN&gt;
	&lt;SPAN&gt;Public&lt;/SPAN&gt; &lt;SPAN&gt;Property&lt;/SPAN&gt; &lt;SPAN&gt;Iyz&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Double&lt;/SPAN&gt;
	&lt;SPAN&gt;Public&lt;/SPAN&gt; &lt;SPAN&gt;Property&lt;/SPAN&gt; &lt;SPAN&gt;Izz&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Double&lt;/SPAN&gt;
&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Class&lt;/SPAN&gt;	
	
&lt;SPAN&gt;Sub&lt;/SPAN&gt; &lt;SPAN&gt;Main&lt;/SPAN&gt;
	&lt;SPAN&gt;'Reference to the assembly document&lt;/SPAN&gt;
	&lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Info&lt;/SPAN&gt;(&lt;SPAN&gt;"Start Numbering Macro"&lt;/SPAN&gt;)
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;Doc&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;Doc&lt;/SPAN&gt;.&lt;SPAN&gt;Rebuild&lt;/SPAN&gt;()
	&lt;SPAN&gt;'Rebuild the Document&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;CmdMan&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;ControlDefinition&lt;/SPAN&gt;
	&lt;SPAN&gt;CmdMan&lt;/SPAN&gt; = &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;.&lt;SPAN&gt;CommandManager&lt;/SPAN&gt;.&lt;SPAN&gt;ControlDefinitions&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"AppUpdateMassPropertiesCmd"&lt;/SPAN&gt;)
    
    &lt;SPAN&gt;CmdMan&lt;/SPAN&gt;.&lt;SPAN&gt;Execute&lt;/SPAN&gt;
        &lt;SPAN&gt;CmdMan&lt;/SPAN&gt;.&lt;SPAN&gt;Execute2&lt;/SPAN&gt; (&lt;SPAN&gt;True&lt;/SPAN&gt;)
	&lt;SPAN&gt;'Update All Mass Properties&lt;/SPAN&gt;
	&lt;SPAN&gt;'Reference to the BOM&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;BOM&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;BOM&lt;/SPAN&gt; = &lt;SPAN&gt;Doc&lt;/SPAN&gt;.&lt;SPAN&gt;ComponentDefinition&lt;/SPAN&gt;.&lt;SPAN&gt;BOM&lt;/SPAN&gt;
	
	&lt;SPAN&gt;'Enable Structured View&lt;/SPAN&gt;
	&lt;SPAN&gt;'BOM.StructuredViewEnabled = True&lt;/SPAN&gt;
	
	&lt;SPAN&gt;'Reference to the structured BomView&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;BomView&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;BOMView&lt;/SPAN&gt; = &lt;SPAN&gt;BOM&lt;/SPAN&gt;.&lt;SPAN&gt;BOMViews&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(1)
	
	&lt;SPAN&gt;'Set Part Numbers&lt;/SPAN&gt;
	&lt;SPAN&gt;'SetPartNumbers(BomView.BOMRows)&lt;/SPAN&gt;
	
	  &lt;SPAN&gt;'For Each ps As PropertySet In Doc.PropertySets&lt;/SPAN&gt;
   &lt;SPAN&gt;'	Logger.Info( ps.Name + " / " + ps.InternalName)&lt;/SPAN&gt;
    &lt;SPAN&gt;'For Each p As [Property] In ps&lt;/SPAN&gt;
      &lt;SPAN&gt;'Logger.Info( "  " + p.Name + " /" + Str(p.PropId))&lt;/SPAN&gt;
    &lt;SPAN&gt;'Next&lt;/SPAN&gt;
	&lt;SPAN&gt;'Next&lt;/SPAN&gt;
	
	&lt;SPAN&gt;RevNo&lt;/SPAN&gt; = (&lt;SPAN&gt;Doc&lt;/SPAN&gt;.&lt;SPAN&gt;PropertySets&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"Inventor Summary Information"&lt;/SPAN&gt;).&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"Revision Number"&lt;/SPAN&gt;).&lt;SPAN&gt;Value&lt;/SPAN&gt;)
	
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;Part_Num&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt; = &lt;SPAN&gt;Doc&lt;/SPAN&gt;.&lt;SPAN&gt;PropertySets&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"Design Tracking Properties"&lt;/SPAN&gt;).&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;'Logger.Info(Part_Num)&lt;/SPAN&gt;
	
	&lt;SPAN&gt;ResetItemCheck&lt;/SPAN&gt;(&lt;SPAN&gt;BomView&lt;/SPAN&gt;.&lt;SPAN&gt;BOMRows&lt;/SPAN&gt;)
	
	&lt;SPAN&gt;Doc&lt;/SPAN&gt;.&lt;SPAN&gt;PropertySets&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"Design Tracking Properties"&lt;/SPAN&gt;).&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;"A-001"&lt;/SPAN&gt; 
	&lt;SPAN&gt;'Logger.Info(Doc.PropertySets.Item("Design Tracking Properties").Item("Part Number").Value)&lt;/SPAN&gt;
	&lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Info&lt;/SPAN&gt;(&lt;SPAN&gt;"Initializing Complete, Begin Proccessing Assembly BOM"&lt;/SPAN&gt;)
	&lt;SPAN&gt;SetPartNumbers&lt;/SPAN&gt;(&lt;SPAN&gt;BomView&lt;/SPAN&gt;.&lt;SPAN&gt;BOMRows&lt;/SPAN&gt;, &lt;SPAN&gt;Part_Num&lt;/SPAN&gt;)
	
&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt;

&lt;SPAN&gt;Private&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt; &lt;SPAN&gt;SetPartNumbers&lt;/SPAN&gt;(&lt;SPAN&gt;BOMRows&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;BOMRowsEnumerator&lt;/SPAN&gt;, &lt;SPAN&gt;PartNo&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;)
		&lt;SPAN&gt;'iterate through the contents of the BOM Rows&lt;/SPAN&gt;
		&lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Info&lt;/SPAN&gt;(&lt;SPAN&gt;"Begin Setting Part Number of "&lt;/SPAN&gt; + &lt;SPAN&gt;PartNo&lt;/SPAN&gt;)
		&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;SketchCounter&lt;/SPAN&gt; = 1
		&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;NextPartNo&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;
		&lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;i&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Integer&lt;/SPAN&gt; = 1 &lt;SPAN&gt;To&lt;/SPAN&gt; &lt;SPAN&gt;BOMRows&lt;/SPAN&gt;.&lt;SPAN&gt;Count&lt;/SPAN&gt;
			&lt;SPAN&gt;'Get the Current Row&lt;/SPAN&gt;
			&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;Row&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;BOMRow&lt;/SPAN&gt; = &lt;SPAN&gt;BOMRows&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;i&lt;/SPAN&gt;)
			&lt;SPAN&gt;'Reference to the primary ComponentDefinition of the Row&lt;/SPAN&gt;
			&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;CompDef&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;ComponentDefinition&lt;/SPAN&gt; = &lt;SPAN&gt;Row&lt;/SPAN&gt;.&lt;SPAN&gt;ComponentDefinitions&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(1)
			&lt;SPAN&gt;'If the Bom Row Item is a Frame Assembly then rename it to be in the Format A-***-FRAME-**&lt;/SPAN&gt;
			&lt;SPAN&gt;'And then begin a process to rename each frame generated part&lt;/SPAN&gt;
		&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;CompDef&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;.&lt;SPAN&gt;DocumentInterests&lt;/SPAN&gt;.&lt;SPAN&gt;HasInterest&lt;/SPAN&gt;(&lt;SPAN&gt;"FrameDoc"&lt;/SPAN&gt;) _
				&lt;SPAN&gt;AndAlso&lt;/SPAN&gt; &lt;SPAN&gt;CompDef&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;.&lt;SPAN&gt;DocumentType&lt;/SPAN&gt; = &lt;SPAN&gt;DocumentTypeEnum&lt;/SPAN&gt;.&lt;SPAN&gt;kAssemblyDocumentObject&lt;/SPAN&gt; _
				&lt;SPAN&gt;AndAlso&lt;/SPAN&gt; &lt;SPAN&gt;CompDef&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;.&lt;SPAN&gt;PropertySets&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(4).&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"PartSet"&lt;/SPAN&gt;).&lt;SPAN&gt;Value&lt;/SPAN&gt; = 0
				&lt;SPAN&gt;CompDef&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;.&lt;SPAN&gt;PropertySets&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"Design Tracking Properties"&lt;/SPAN&gt;).&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;"A-"&lt;/SPAN&gt; + &lt;SPAN&gt;Format&lt;/SPAN&gt;(&lt;SPAN&gt;AssemblyCounter&lt;/SPAN&gt;, &lt;SPAN&gt;"000"&lt;/SPAN&gt;) + &lt;SPAN&gt;"-FRAME-"&lt;/SPAN&gt;
				&lt;SPAN&gt;CompDef&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;.&lt;SPAN&gt;PropertySets&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(4).&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"PartSet"&lt;/SPAN&gt;).&lt;SPAN&gt;Value&lt;/SPAN&gt; = 1
				&lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Info&lt;/SPAN&gt;(&lt;SPAN&gt;CompDef&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;.&lt;SPAN&gt;PropertySets&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"Design Tracking Properties"&lt;/SPAN&gt;).&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;" Is a frame assembly"&lt;/SPAN&gt;)
				&lt;SPAN&gt;FrameProcessor&lt;/SPAN&gt;(&lt;SPAN&gt;Row&lt;/SPAN&gt;.&lt;SPAN&gt;ChildRows&lt;/SPAN&gt;,&lt;SPAN&gt;PartNo&lt;/SPAN&gt;)
		&lt;SPAN&gt;ElseIf&lt;/SPAN&gt; &lt;SPAN&gt;CompDef&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;.&lt;SPAN&gt;DocumentType&lt;/SPAN&gt; = &lt;SPAN&gt;DocumentTypeEnum&lt;/SPAN&gt;.&lt;SPAN&gt;kAssemblyDocumentObject&lt;/SPAN&gt; _
			&lt;SPAN&gt;AndAlso&lt;/SPAN&gt; &lt;SPAN&gt;CompDef&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;.&lt;SPAN&gt;PropertySets&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(4).&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"PartSet"&lt;/SPAN&gt;).&lt;SPAN&gt;Value&lt;/SPAN&gt; = 0
			&lt;SPAN&gt;'Determine if the Row is a standard assembly, rename the part and then iterate the main sub over child rows&lt;/SPAN&gt;
			&lt;SPAN&gt;CompDef&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;.&lt;SPAN&gt;PropertySets&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"Design Tracking Properties"&lt;/SPAN&gt;).&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;"A-"&lt;/SPAN&gt; + &lt;SPAN&gt;Format&lt;/SPAN&gt;(&lt;SPAN&gt;AssemblyCounter&lt;/SPAN&gt;, &lt;SPAN&gt;"000"&lt;/SPAN&gt;) 
			&lt;SPAN&gt;CompDef&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;.&lt;SPAN&gt;PropertySets&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(4).&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"PartSet"&lt;/SPAN&gt;).&lt;SPAN&gt;Value&lt;/SPAN&gt; = 1
			&lt;SPAN&gt;AssemblyCounter&lt;/SPAN&gt; += 1
			&lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Info&lt;/SPAN&gt;(&lt;SPAN&gt;CompDef&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;.&lt;SPAN&gt;PropertySets&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"Design Tracking Properties"&lt;/SPAN&gt;).&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;" Is a standard assembly"&lt;/SPAN&gt;)
		&lt;SPAN&gt;ElseIf&lt;/SPAN&gt; &lt;SPAN&gt;CompDef&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;.&lt;SPAN&gt;DocumentType&lt;/SPAN&gt; = &lt;SPAN&gt;DocumentTypeEnum&lt;/SPAN&gt;.&lt;SPAN&gt;kPartDocumentObject&lt;/SPAN&gt; _
			&lt;SPAN&gt;AndAlso&lt;/SPAN&gt; &lt;SPAN&gt;CompDef&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;.&lt;SPAN&gt;PropertySets&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(4).&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"PartSet"&lt;/SPAN&gt;).&lt;SPAN&gt;Value&lt;/SPAN&gt; = 1
			&lt;SPAN&gt;CompDef&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;.&lt;SPAN&gt;PropertySets&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"Design Tracking Properties"&lt;/SPAN&gt;).&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;"GEN-P-"&lt;/SPAN&gt; + &lt;SPAN&gt;Format&lt;/SPAN&gt;(&lt;SPAN&gt;GenPartCounter&lt;/SPAN&gt;, &lt;SPAN&gt;"000"&lt;/SPAN&gt;)
			&lt;SPAN&gt;GenPartCounter&lt;/SPAN&gt; += 1
			&lt;SPAN&gt;CompDef&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;.&lt;SPAN&gt;PropertySets&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(4).&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"PartSet"&lt;/SPAN&gt;).&lt;SPAN&gt;Value&lt;/SPAN&gt; = 2
			&lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Info&lt;/SPAN&gt;(&lt;SPAN&gt;CompDef&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;.&lt;SPAN&gt;PropertySets&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"Design Tracking Properties"&lt;/SPAN&gt;).&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;" Is a general part"&lt;/SPAN&gt;)
		&lt;SPAN&gt;ElseIf&lt;/SPAN&gt; &lt;SPAN&gt;CompDef&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;.&lt;SPAN&gt;DocumentType&lt;/SPAN&gt; = &lt;SPAN&gt;DocumentTypeEnum&lt;/SPAN&gt;.&lt;SPAN&gt;kPartDocumentObject&lt;/SPAN&gt; _
			&lt;SPAN&gt;AndAlso&lt;/SPAN&gt; &lt;SPAN&gt;CompDef&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;.&lt;SPAN&gt;PropertySets&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"Design Tracking Properties"&lt;/SPAN&gt;).&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"Volume"&lt;/SPAN&gt;).&lt;SPAN&gt;Value&lt;/SPAN&gt; = 0 _
			&lt;SPAN&gt;AndAlso&lt;/SPAN&gt; &lt;SPAN&gt;CompDef&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;.&lt;SPAN&gt;PropertySets&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(4).&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"PartSet"&lt;/SPAN&gt;).&lt;SPAN&gt;Value&lt;/SPAN&gt; = 0
			&lt;SPAN&gt;CompDef&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;.&lt;SPAN&gt;PropertySets&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"Design Tracking Properties"&lt;/SPAN&gt;).&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;PartNo&lt;/SPAN&gt; + &lt;SPAN&gt;"-LAYOUT-"&lt;/SPAN&gt; + &lt;SPAN&gt;Format&lt;/SPAN&gt;(&lt;SPAN&gt;SketchCounter&lt;/SPAN&gt;, &lt;SPAN&gt;"00"&lt;/SPAN&gt;)
			&lt;SPAN&gt;CompDef&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;.&lt;SPAN&gt;PropertySets&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(4).&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"PartSet"&lt;/SPAN&gt;).&lt;SPAN&gt;Value&lt;/SPAN&gt; = 1
			&lt;SPAN&gt;SketchCounter&lt;/SPAN&gt; += 1
			&lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Info&lt;/SPAN&gt;(&lt;SPAN&gt;CompDef&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;.&lt;SPAN&gt;PropertySets&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"Design Tracking Properties"&lt;/SPAN&gt;).&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;" Is a Layout Sketch"&lt;/SPAN&gt;)
		&lt;SPAN&gt;ElseIf&lt;/SPAN&gt; &lt;SPAN&gt;CompDef&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;.&lt;SPAN&gt;PropertySets&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(4).&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"PartSet"&lt;/SPAN&gt;).&lt;SPAN&gt;Value&lt;/SPAN&gt; = 0
			&lt;SPAN&gt;'Determine if the Row is a standard part, rename the part using the Convention A-***-P-***-** where the last two characters are the revision number&lt;/SPAN&gt;
			&lt;SPAN&gt;'NextPartNo = PartNo + "-P-" + Format(PartCounter, "000")&lt;/SPAN&gt;
			&lt;SPAN&gt;'CompDef.Document.PropertySets.Item("Design Tracking Properties").Item("Part Number").Value = (NextPartNo)&lt;/SPAN&gt;
			&lt;SPAN&gt;'PartCounter += 1&lt;/SPAN&gt;
			&lt;SPAN&gt;CompDef&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;.&lt;SPAN&gt;PropertySets&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"Design Tracking Properties"&lt;/SPAN&gt;).&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;"P-"&lt;/SPAN&gt; + &lt;SPAN&gt;Format&lt;/SPAN&gt;(&lt;SPAN&gt;PartCounter&lt;/SPAN&gt;, &lt;SPAN&gt;"000"&lt;/SPAN&gt;)
			&lt;SPAN&gt;CompDef&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;.&lt;SPAN&gt;PropertySets&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(4).&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"PartSet"&lt;/SPAN&gt;).&lt;SPAN&gt;Value&lt;/SPAN&gt; = 1
			&lt;SPAN&gt;PartCounter&lt;/SPAN&gt; += 1
			&lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Info&lt;/SPAN&gt;(&lt;SPAN&gt;CompDef&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;.&lt;SPAN&gt;PropertySets&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"Design Tracking Properties"&lt;/SPAN&gt;).&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;" is a standard part"&lt;/SPAN&gt;)
		&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
			&lt;SPAN&gt;'Logger.Info(CompDef.Document.PropertySets.Item("Design Tracking Properties").Item("Part Number").Value)&lt;/SPAN&gt;
			&lt;SPAN&gt;'If CompDef.Document.DocumentInterests.HasInterest("{AC211AE0-A7A5-4589-916D-81C529DA6D17}")&lt;/SPAN&gt;
				&lt;SPAN&gt;'Logger.Info("This is a Frame Generated Part")&lt;/SPAN&gt;
			&lt;SPAN&gt;'Else &lt;/SPAN&gt;
				&lt;SPAN&gt;'Logger.Info("This is a Standard Part")&lt;/SPAN&gt;
			&lt;SPAN&gt;'End If&lt;/SPAN&gt;
		&lt;SPAN&gt;Next&lt;/SPAN&gt;
		&lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;i&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Integer&lt;/SPAN&gt; = 1 &lt;SPAN&gt;To&lt;/SPAN&gt; &lt;SPAN&gt;BOMRows&lt;/SPAN&gt;.&lt;SPAN&gt;Count&lt;/SPAN&gt;
			&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;Row&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;BOMRow&lt;/SPAN&gt; = &lt;SPAN&gt;BOMRows&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;i&lt;/SPAN&gt;)
			&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;CompDef&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;ComponentDefinition&lt;/SPAN&gt; = &lt;SPAN&gt;Row&lt;/SPAN&gt;.&lt;SPAN&gt;ComponentDefinitions&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(1)
		&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;Not&lt;/SPAN&gt; &lt;SPAN&gt;Row&lt;/SPAN&gt;.&lt;SPAN&gt;ChildRows&lt;/SPAN&gt; &lt;SPAN&gt;Is&lt;/SPAN&gt; &lt;SPAN&gt;Nothing&lt;/SPAN&gt; _
		&lt;SPAN&gt;And&lt;/SPAN&gt; &lt;SPAN&gt;Not&lt;/SPAN&gt; &lt;SPAN&gt;CompDef&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;.&lt;SPAN&gt;DocumentInterests&lt;/SPAN&gt;.&lt;SPAN&gt;HasInterest&lt;/SPAN&gt;(&lt;SPAN&gt;"FrameDoc"&lt;/SPAN&gt;)
			&lt;SPAN&gt;SetPartNumbers&lt;/SPAN&gt;(&lt;SPAN&gt;Row&lt;/SPAN&gt;.&lt;SPAN&gt;ChildRows&lt;/SPAN&gt;, &lt;SPAN&gt;CompDef&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;.&lt;SPAN&gt;PropertySets&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"Design Tracking Properties"&lt;/SPAN&gt;).&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;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
		&lt;SPAN&gt;Next&lt;/SPAN&gt;
		&lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Info&lt;/SPAN&gt;(&lt;SPAN&gt;"Part Numbering of "&lt;/SPAN&gt; + &lt;SPAN&gt;PartNo&lt;/SPAN&gt; + &lt;SPAN&gt;" is complete"&lt;/SPAN&gt;)
&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt;

&lt;SPAN&gt;Private&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt; &lt;SPAN&gt;FrameProcessor&lt;/SPAN&gt;(&lt;SPAN&gt;BOMRows&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;BOMRowsEnumerator&lt;/SPAN&gt;, &lt;SPAN&gt;AssemblyPNo&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;)
	&lt;SPAN&gt;'Interate through the contents of the Frame&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;frame&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;New&lt;/SPAN&gt; &lt;SPAN&gt;Frame_Data&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;prelim&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;postlim&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Single&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;MassProps&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;MassProperties&lt;/SPAN&gt;
	&lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;i&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Integer&lt;/SPAN&gt; = 1 &lt;SPAN&gt;To&lt;/SPAN&gt; &lt;SPAN&gt;BOMRows&lt;/SPAN&gt;.&lt;SPAN&gt;Count&lt;/SPAN&gt;
		&lt;SPAN&gt;'Get the current row&lt;/SPAN&gt;
			&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;Row&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;BOMRow&lt;/SPAN&gt; = &lt;SPAN&gt;BOMRows&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;i&lt;/SPAN&gt;)
		
			&lt;SPAN&gt;'Reference to the primary component definition of the Row&lt;/SPAN&gt;
			&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;Compdef&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;ComponentDefinition&lt;/SPAN&gt; = &lt;SPAN&gt;Row&lt;/SPAN&gt;.&lt;SPAN&gt;ComponentDefinitions&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(1)
			&lt;SPAN&gt;'Check if it is the reference Skeleton&lt;/SPAN&gt;
		&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;Compdef&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;.&lt;SPAN&gt;DocumentInterests&lt;/SPAN&gt;.&lt;SPAN&gt;HasInterest&lt;/SPAN&gt;(&lt;SPAN&gt;"SkeletonDoc"&lt;/SPAN&gt;)
			&lt;SPAN&gt;Compdef&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;.&lt;SPAN&gt;PropertySets&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"Design Tracking Properties"&lt;/SPAN&gt;).&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;AssemblyPNo&lt;/SPAN&gt; + &lt;SPAN&gt;"-SKELETON FRAME"&lt;/SPAN&gt;)
			&lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Info&lt;/SPAN&gt;(&lt;SPAN&gt;Compdef&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;.&lt;SPAN&gt;PropertySets&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"Design Tracking Properties"&lt;/SPAN&gt;).&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;" Is a skeleton frame"&lt;/SPAN&gt;)

			&lt;SPAN&gt;'Check if its a frame member&lt;/SPAN&gt;
		&lt;SPAN&gt;ElseIf&lt;/SPAN&gt; &lt;SPAN&gt;Compdef&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;.&lt;SPAN&gt;DocumentInterests&lt;/SPAN&gt;.&lt;SPAN&gt;HasInterest&lt;/SPAN&gt;(&lt;SPAN&gt;"FrameMemberDoc"&lt;/SPAN&gt;)
				&lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Info&lt;/SPAN&gt;(&lt;SPAN&gt;Compdef&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;.&lt;SPAN&gt;PropertySets&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"Design Tracking Properties"&lt;/SPAN&gt;).&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;" Is a frame part"&lt;/SPAN&gt;)
				
				&lt;SPAN&gt;frame&lt;/SPAN&gt;.&lt;SPAN&gt;Material&lt;/SPAN&gt; = &lt;SPAN&gt;Compdef&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;.&lt;SPAN&gt;PropertySets&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"Design Tracking Properties"&lt;/SPAN&gt;).&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"Material"&lt;/SPAN&gt;).&lt;SPAN&gt;Value&lt;/SPAN&gt;
				&lt;SPAN&gt;frame&lt;/SPAN&gt;.&lt;SPAN&gt;Stock&lt;/SPAN&gt; = &lt;SPAN&gt;Compdef&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;.&lt;SPAN&gt;PropertySets&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"Design Tracking Properties"&lt;/SPAN&gt;).&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"Stock Number"&lt;/SPAN&gt;).&lt;SPAN&gt;Value&lt;/SPAN&gt;
				&lt;SPAN&gt;frame&lt;/SPAN&gt;.&lt;SPAN&gt;Length&lt;/SPAN&gt; = &lt;SPAN&gt;Compdef&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;.&lt;SPAN&gt;PropertySets&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(4).&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"G_L"&lt;/SPAN&gt;).&lt;SPAN&gt;Value&lt;/SPAN&gt;
				&lt;SPAN&gt;prelim&lt;/SPAN&gt; = &lt;SPAN&gt;Compdef&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;.&lt;SPAN&gt;PropertySets&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"Design Tracking Properties"&lt;/SPAN&gt;).&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"Mass"&lt;/SPAN&gt;).&lt;SPAN&gt;Value&lt;/SPAN&gt;
				&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;Single&lt;/SPAN&gt;.&lt;SPAN&gt;TryParse&lt;/SPAN&gt;(&lt;SPAN&gt;prelim&lt;/SPAN&gt;, &lt;SPAN&gt;System&lt;/SPAN&gt;.&lt;SPAN&gt;Globalization&lt;/SPAN&gt;.&lt;SPAN&gt;NumberStyles&lt;/SPAN&gt;.&lt;SPAN&gt;Float&lt;/SPAN&gt;, &lt;SPAN&gt;System&lt;/SPAN&gt;.&lt;SPAN&gt;Globalization&lt;/SPAN&gt;.&lt;SPAN&gt;CultureInfo&lt;/SPAN&gt;.&lt;SPAN&gt;InvariantCulture&lt;/SPAN&gt;, &lt;SPAN&gt;postlim&lt;/SPAN&gt;)
					&lt;SPAN&gt;frame&lt;/SPAN&gt;.&lt;SPAN&gt;Mass&lt;/SPAN&gt; = &lt;SPAN&gt;postlim&lt;/SPAN&gt;
					&lt;SPAN&gt;Else&lt;/SPAN&gt; 
					&lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Info&lt;/SPAN&gt;(&lt;SPAN&gt;Compdef&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;.&lt;SPAN&gt;PropertySets&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"Design Tracking Properties"&lt;/SPAN&gt;).&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;" - the mass for this part has not been entered correctly"&lt;/SPAN&gt;)
					&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
				&lt;SPAN&gt;prelim&lt;/SPAN&gt; = &lt;SPAN&gt;Compdef&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;.&lt;SPAN&gt;PropertySets&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"Design Tracking Properties"&lt;/SPAN&gt;).&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"Volume"&lt;/SPAN&gt;).&lt;SPAN&gt;Value&lt;/SPAN&gt;
				&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;Single&lt;/SPAN&gt;.&lt;SPAN&gt;TryParse&lt;/SPAN&gt;(&lt;SPAN&gt;prelim&lt;/SPAN&gt;, &lt;SPAN&gt;System&lt;/SPAN&gt;.&lt;SPAN&gt;Globalization&lt;/SPAN&gt;.&lt;SPAN&gt;NumberStyles&lt;/SPAN&gt;.&lt;SPAN&gt;Float&lt;/SPAN&gt;, &lt;SPAN&gt;System&lt;/SPAN&gt;.&lt;SPAN&gt;Globalization&lt;/SPAN&gt;.&lt;SPAN&gt;CultureInfo&lt;/SPAN&gt;.&lt;SPAN&gt;InvariantCulture&lt;/SPAN&gt;, &lt;SPAN&gt;postlim&lt;/SPAN&gt;)
					&lt;SPAN&gt;frame&lt;/SPAN&gt;.&lt;SPAN&gt;Volume&lt;/SPAN&gt; = &lt;SPAN&gt;postlim&lt;/SPAN&gt;
					&lt;SPAN&gt;Else&lt;/SPAN&gt; 
					&lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Info&lt;/SPAN&gt;(&lt;SPAN&gt;Compdef&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;.&lt;SPAN&gt;PropertySets&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"Design Tracking Properties"&lt;/SPAN&gt;).&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;" - the mass for this part has not been entered correctly"&lt;/SPAN&gt;)
					&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
				&lt;SPAN&gt;prelim&lt;/SPAN&gt; = &lt;SPAN&gt;Compdef&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;.&lt;SPAN&gt;PropertySets&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"Design Tracking Properties"&lt;/SPAN&gt;).&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"SurfaceArea"&lt;/SPAN&gt;).&lt;SPAN&gt;Value&lt;/SPAN&gt;
				&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;Single&lt;/SPAN&gt;.&lt;SPAN&gt;TryParse&lt;/SPAN&gt;(&lt;SPAN&gt;prelim&lt;/SPAN&gt;, &lt;SPAN&gt;System&lt;/SPAN&gt;.&lt;SPAN&gt;Globalization&lt;/SPAN&gt;.&lt;SPAN&gt;NumberStyles&lt;/SPAN&gt;.&lt;SPAN&gt;Float&lt;/SPAN&gt;, &lt;SPAN&gt;System&lt;/SPAN&gt;.&lt;SPAN&gt;Globalization&lt;/SPAN&gt;.&lt;SPAN&gt;CultureInfo&lt;/SPAN&gt;.&lt;SPAN&gt;InvariantCulture&lt;/SPAN&gt;, &lt;SPAN&gt;postlim&lt;/SPAN&gt;)
					&lt;SPAN&gt;frame&lt;/SPAN&gt;.&lt;SPAN&gt;Area&lt;/SPAN&gt; = &lt;SPAN&gt;postlim&lt;/SPAN&gt;
					&lt;SPAN&gt;Else&lt;/SPAN&gt; 
					&lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Info&lt;/SPAN&gt;(&lt;SPAN&gt;Compdef&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;.&lt;SPAN&gt;PropertySets&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"Design Tracking Properties"&lt;/SPAN&gt;).&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;" - the mass for this part has not been entered correctly"&lt;/SPAN&gt;)
					&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;				
				&lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Info&lt;/SPAN&gt;(&lt;SPAN&gt;" Material: "&lt;/SPAN&gt; + &lt;SPAN&gt;frame&lt;/SPAN&gt;.&lt;SPAN&gt;Material&lt;/SPAN&gt;)
				&lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Info&lt;/SPAN&gt;(&lt;SPAN&gt;"Stock No: "&lt;/SPAN&gt; + &lt;SPAN&gt;frame&lt;/SPAN&gt;.&lt;SPAN&gt;Stock&lt;/SPAN&gt;)
				&lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Info&lt;/SPAN&gt;(&lt;SPAN&gt;"Length: "&lt;/SPAN&gt; + &lt;SPAN&gt;frame&lt;/SPAN&gt;.&lt;SPAN&gt;Length&lt;/SPAN&gt;)
				&lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Info&lt;/SPAN&gt;(&lt;SPAN&gt;String&lt;/SPAN&gt;.&lt;SPAN&gt;Format&lt;/SPAN&gt;(&lt;SPAN&gt;"Mass: {0}"&lt;/SPAN&gt;, &lt;SPAN&gt;frame&lt;/SPAN&gt;.&lt;SPAN&gt;Mass&lt;/SPAN&gt;))
				&lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Info&lt;/SPAN&gt;(&lt;SPAN&gt;String&lt;/SPAN&gt;.&lt;SPAN&gt;Format&lt;/SPAN&gt;(&lt;SPAN&gt;"Volume: {0}"&lt;/SPAN&gt;, &lt;SPAN&gt;frame&lt;/SPAN&gt;.&lt;SPAN&gt;Volume&lt;/SPAN&gt;))
				&lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Info&lt;/SPAN&gt;(&lt;SPAN&gt;String&lt;/SPAN&gt;.&lt;SPAN&gt;Format&lt;/SPAN&gt;(&lt;SPAN&gt;"Surface Area: {0}"&lt;/SPAN&gt;, &lt;SPAN&gt;frame&lt;/SPAN&gt;.&lt;SPAN&gt;Area&lt;/SPAN&gt;))	
				&lt;SPAN&gt;MassProps&lt;/SPAN&gt; = &lt;SPAN&gt;Compdef&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;.&lt;SPAN&gt;ComponentDefinition&lt;/SPAN&gt;.&lt;SPAN&gt;MassProperties&lt;/SPAN&gt;
				&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;adPrincipleMoments&lt;/SPAN&gt;(0 &lt;SPAN&gt;To&lt;/SPAN&gt; 2) &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Double&lt;/SPAN&gt;
				&lt;SPAN&gt;Call&lt;/SPAN&gt; &lt;SPAN&gt;MassProps&lt;/SPAN&gt;.&lt;SPAN&gt;PrincipalMomentsOfInertia&lt;/SPAN&gt;(&lt;SPAN&gt;adPrincipleMoments&lt;/SPAN&gt;(0),&lt;SPAN&gt;adPrincipleMoments&lt;/SPAN&gt;(1),&lt;SPAN&gt;adPrincipleMoments&lt;/SPAN&gt;(2))
				&lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Info&lt;/SPAN&gt;(&lt;SPAN&gt;String&lt;/SPAN&gt;.&lt;SPAN&gt;Format&lt;/SPAN&gt;(&lt;SPAN&gt;"Ixx: {0}"&lt;/SPAN&gt;, &lt;SPAN&gt;adPrincipleMoments&lt;/SPAN&gt;(0)))
				&lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Info&lt;/SPAN&gt;(&lt;SPAN&gt;String&lt;/SPAN&gt;.&lt;SPAN&gt;Format&lt;/SPAN&gt;(&lt;SPAN&gt;"Iyy: {0}"&lt;/SPAN&gt;, &lt;SPAN&gt;adPrincipleMoments&lt;/SPAN&gt;(1)))
				&lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Info&lt;/SPAN&gt;(&lt;SPAN&gt;String&lt;/SPAN&gt;.&lt;SPAN&gt;Format&lt;/SPAN&gt;(&lt;SPAN&gt;"Izz: {0}"&lt;/SPAN&gt;, &lt;SPAN&gt;adPrincipleMoments&lt;/SPAN&gt;(2)))
		&lt;SPAN&gt;'Check if its a standard part&lt;/SPAN&gt;
		&lt;SPAN&gt;ElseIf&lt;/SPAN&gt; &lt;SPAN&gt;Compdef&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;.&lt;SPAN&gt;DocumentType&lt;/SPAN&gt; = &lt;SPAN&gt;DocumentTypeEnum&lt;/SPAN&gt;.&lt;SPAN&gt;kPartDocumentObject&lt;/SPAN&gt;
			&lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Info&lt;/SPAN&gt;(&lt;SPAN&gt;Compdef&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;.&lt;SPAN&gt;PropertySets&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"Design Tracking Properties"&lt;/SPAN&gt;).&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;" Is a standard part"&lt;/SPAN&gt;)
		&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
	&lt;SPAN&gt;Next&lt;/SPAN&gt;

&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt;
&lt;SPAN&gt;Private&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt; &lt;SPAN&gt;ResetItemCheck&lt;/SPAN&gt;(&lt;SPAN&gt;BOMRows&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;BOMRowsEnumerator&lt;/SPAN&gt;)
	&lt;SPAN&gt;'The purpose of this sub it to create and reset a property at 0 that will be used to determine if a part has already been renumbered&lt;/SPAN&gt;
	&lt;SPAN&gt;'Iterate through the contents of the BOM Row&lt;/SPAN&gt;
	&lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;i&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Integer&lt;/SPAN&gt; = 1 &lt;SPAN&gt;To&lt;/SPAN&gt; &lt;SPAN&gt;BOMRows&lt;/SPAN&gt;.&lt;SPAN&gt;Count&lt;/SPAN&gt;
		&lt;SPAN&gt;'Get The Current Row&lt;/SPAN&gt;
		&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;Row&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;BOMRow&lt;/SPAN&gt; = &lt;SPAN&gt;BOMRows&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;i&lt;/SPAN&gt;)
		
		&lt;SPAN&gt;'Reference the primary ComponentDefinition of the row&lt;/SPAN&gt;
		&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;CompDef&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;ComponentDefinition&lt;/SPAN&gt; = &lt;SPAN&gt;Row&lt;/SPAN&gt;.&lt;SPAN&gt;ComponentDefinitions&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(1)
		&lt;SPAN&gt;Try&lt;/SPAN&gt;
			&lt;SPAN&gt;CompDef&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;.&lt;SPAN&gt;PropertySets&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(4).&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"PartSet"&lt;/SPAN&gt;).&lt;SPAN&gt;Value&lt;/SPAN&gt; = 0
		&lt;SPAN&gt;Catch&lt;/SPAN&gt;
			&lt;SPAN&gt;CompDef&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;.&lt;SPAN&gt;PropertySets&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(4).&lt;SPAN&gt;Add&lt;/SPAN&gt;(&lt;SPAN&gt;Row&lt;/SPAN&gt;.&lt;SPAN&gt;ItemQuantity&lt;/SPAN&gt;, &lt;SPAN&gt;"PartSet"&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;Not&lt;/SPAN&gt; &lt;SPAN&gt;Row&lt;/SPAN&gt;.&lt;SPAN&gt;ChildRows&lt;/SPAN&gt; &lt;SPAN&gt;Is&lt;/SPAN&gt; &lt;SPAN&gt;Nothing&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
			&lt;SPAN&gt;ResetItemCheck&lt;/SPAN&gt;(&lt;SPAN&gt;Row&lt;/SPAN&gt;.&lt;SPAN&gt;ChildRows&lt;/SPAN&gt;)
		&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
	&lt;SPAN&gt;Next&lt;/SPAN&gt;
&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt;
	&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 01 Sep 2023 02:39:35 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-ilogic/assistance-classifying-frame-generated-members/m-p/12210934#M157159</guid>
      <dc:creator>roy7BB24</dc:creator>
      <dc:date>2023-09-01T02:39:35Z</dc:date>
    </item>
    <item>
      <title>Re: Assistance Classifying Frame generated Members</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/assistance-classifying-frame-generated-members/m-p/12211003#M157161</link>
      <description>&lt;P&gt;My apologies folks, I cracked it myself, as your were. I think&lt;/P&gt;</description>
      <pubDate>Fri, 01 Sep 2023 03:45:36 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-ilogic/assistance-classifying-frame-generated-members/m-p/12211003#M157161</guid>
      <dc:creator>roy7BB24</dc:creator>
      <dc:date>2023-09-01T03:45:36Z</dc:date>
    </item>
    <item>
      <title>Re: Assistance Classifying Frame generated Members</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/assistance-classifying-frame-generated-members/m-p/12211049#M157162</link>
      <description>&lt;P&gt;What about looping through faces of the matching occurrences and if the features are on a different face then they are different parts. You could also check the first edge position of the feature it will be different. This might be rhe easier solution.&lt;/P&gt;</description>
      <pubDate>Fri, 01 Sep 2023 04:44:22 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-ilogic/assistance-classifying-frame-generated-members/m-p/12211049#M157162</guid>
      <dc:creator>A.Acheson</dc:creator>
      <dc:date>2023-09-01T04:44:22Z</dc:date>
    </item>
    <item>
      <title>Re: Assistance Classifying Frame generated Members</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/assistance-classifying-frame-generated-members/m-p/12236563#M157645</link>
      <description>&lt;P&gt;I think if I can't get the results, I'm looking for that might be the next avenue I go down, the problems I was hitting when I was testing this method mainly came from I was looking at the iproperty COG properties of the part in the assembly, which apparently is a different number to what's shown if you open the part on its own look at the properties there. The script was opening every part and giving the "part only" COG properties. The beauty of this method is that I can tell if a part is identical but orientated about a different plane, and with any luck it should be as simple as rounding the COG properties to 0.001 (or there abouts), and then checking to see if 5 of 6 are identical then its a match. I think it will come down to testing though as when I'm dealing with tubelaser cut parts there can be a ton of features so on each part so it's going to be a case of guess and check I think&lt;/P&gt;</description>
      <pubDate>Wed, 13 Sep 2023 06:46:05 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-ilogic/assistance-classifying-frame-generated-members/m-p/12236563#M157645</guid>
      <dc:creator>roy7BB24</dc:creator>
      <dc:date>2023-09-13T06:46:05Z</dc:date>
    </item>
  </channel>
</rss>

