<?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: Quantity om drawing based on total number of parts. iLogic in Inventor Programming Forum</title>
    <link>https://forums.autodesk.com/t5/inventor-programming-forum/quantity-om-drawing-based-on-total-number-of-parts-ilogic/m-p/6882279#M105856</link>
    <description>&lt;P&gt;This works for me thanks for posting&lt;/P&gt;</description>
    <pubDate>Thu, 16 Feb 2017 12:36:08 GMT</pubDate>
    <dc:creator>timothy_berg</dc:creator>
    <dc:date>2017-02-16T12:36:08Z</dc:date>
    <item>
      <title>Quantity om drawing based on total number of parts. iLogic</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/quantity-om-drawing-based-on-total-number-of-parts-ilogic/m-p/6659725#M105853</link>
      <description>&lt;P&gt;Hello Autodesk community!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;does anyone know how to get the total number of a part from a top assembly down to a drawing?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I already have &amp;nbsp;a solution to the question. BUT, i cannot force inventor to count sub-assemblies. any help would be amazing.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;With kind regards, Mikael Nanke&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here is my code:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;SyntaxEditor Code Snippet&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;doc&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;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oAssyDef&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;AssemblyComponentDefinition&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;doc&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;ComponentDefinition&lt;/SPAN&gt;
&lt;SPAN&gt;oAssyDef&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;RepresentationsManager&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;LevelOfDetailRepresentations&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;Master&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;Activate&lt;/SPAN&gt;
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oBOM&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;BOM&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;oAssyDef&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;BOM&lt;/SPAN&gt;

&lt;SPAN&gt;oBOM&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;PartsOnlyViewEnabled&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;True&lt;/SPAN&gt;

&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oBOMView&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;BOMView&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;oBOM&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;BOMViews&lt;/SPAN&gt;&lt;SPAN&gt;.&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;Parts Only&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;

&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oBOMRow&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;BOMRow&lt;/SPAN&gt;

&lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;Each&lt;/SPAN&gt; &lt;SPAN&gt;oBOMRow&lt;/SPAN&gt; &lt;SPAN&gt;In&lt;/SPAN&gt; &lt;SPAN&gt;oBOMView&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;BOMRows&lt;/SPAN&gt;
    &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;Set a reference to the primary ComponentDefinition of the row&lt;/SPAN&gt;
    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oCompDef&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;ComponentDefinition&lt;/SPAN&gt;
    &lt;SPAN&gt;oCompDef&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;oBOMRow&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;ComponentDefinitions&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;Item&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;Dim&lt;/SPAN&gt; &lt;SPAN&gt;CompFullDocumentName&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;oCompDef&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;FullDocumentName&lt;/SPAN&gt;
    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;CompFileNameOnly&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;index&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Integer&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;CompFullDocumentName&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;lastindexof&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;CompFileNameOnly&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;CompFullDocumentName&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;substring&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;index&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;/SPAN&gt;&lt;SPAN&gt;MessageBox.Show(CompFileNameOnly)&lt;/SPAN&gt;
    
     &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;Qty&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;Qty&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;oBOMRow&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;ItemQuantity&lt;/SPAN&gt;
    &lt;SPAN&gt;Catch&lt;/SPAN&gt;
        &lt;SPAN&gt;MessageBox&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;Show&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;Kunne ikke til f�je Part antal til CompFileNameOnly&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;Title&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;
    &lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Try&lt;/SPAN&gt;
    
    &lt;SPAN&gt;iProperties&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;CompFileNameOnly&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;Custom&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;PartQty&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;Qty&lt;/SPAN&gt;
&lt;SPAN&gt;Next&lt;/SPAN&gt;
&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 01 Nov 2016 13:06:05 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/quantity-om-drawing-based-on-total-number-of-parts-ilogic/m-p/6659725#M105853</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2016-11-01T13:06:05Z</dc:date>
    </item>
    <item>
      <title>Re: Quantity om drawing based on total number of parts. iLogic</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/quantity-om-drawing-based-on-total-number-of-parts-ilogic/m-p/6660046#M105854</link>
      <description>&lt;P&gt;I know this is not an answer to your question and it irritates me when people do this but you should never have the quantity on the part drawing. It’s a drawing to show how to make the part. If you put a quantity of 12 on a part and 12 on the assembly level than its saying you need 144 parts to make that assembly. &amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Even know I can think of any circumstance you would want to do it I can try to help with the code. I could be wrong but I think you need to refer to the structured for the sub-assembly Qty. and parts only for total Qty. of parts. If you need I can try to write up a code for you in a couple days.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I hope this helps.&lt;/P&gt;</description>
      <pubDate>Tue, 01 Nov 2016 15:18:52 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/quantity-om-drawing-based-on-total-number-of-parts-ilogic/m-p/6660046#M105854</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2016-11-01T15:18:52Z</dc:date>
    </item>
    <item>
      <title>Re: Quantity om drawing based on total number of parts. iLogic</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/quantity-om-drawing-based-on-total-number-of-parts-ilogic/m-p/6762436#M105855</link>
      <description>&lt;P&gt;Hello there&amp;nbsp;&lt;SPAN&gt;&lt;A href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/898854" target="_self"&gt;jddickson&lt;/A&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;thank you for the reply.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;The overall problem is how the production function at my work and they need it, so i'm just simply following orders...&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;but i found a solution and would like to share it!&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;This code take the total quantity of a part and put it on the part as a custom parameter, so when i create a drawing, it state how many they need to produce of the given part.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;SyntaxEditor Code Snippet&lt;/SPAN&gt;&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;Get current document&lt;/SPAN&gt;
&lt;SPAN&gt;doc&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;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oAssyDef&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;AssemblyComponentDefinition&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;doc&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;Get the BOM object&lt;/SPAN&gt;
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oBOM&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;BOM&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;oAssyDef&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;BOM&lt;/SPAN&gt;
&lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;enable the Parts Only View&lt;/SPAN&gt;
&lt;SPAN&gt;oBOM&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;PartsOnlyViewEnabled&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;True&lt;/SPAN&gt;
&lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;Get the Parts Only view of the BOM&lt;/SPAN&gt;
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oBOMViewPO&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;BOMView&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;oBOM&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;BOMViews&lt;/SPAN&gt;&lt;SPAN&gt;.&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;Parts Only&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;
&lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;declare variable for each BOM row.&lt;/SPAN&gt;
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oBOMRowPO&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;BOMRow&lt;/SPAN&gt;

&lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;For each row in the Parts Only BOM, do the following&lt;/SPAN&gt;
&lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;Each&lt;/SPAN&gt; &lt;SPAN&gt;oBOMRowPO&lt;/SPAN&gt; &lt;SPAN&gt;In&lt;/SPAN&gt; &lt;SPAN&gt;oBOMViewPO&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;BOMRows&lt;/SPAN&gt;
    &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;Set a reference to the primary ComponentDefinition of the row&lt;/SPAN&gt;
    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oCompDef&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;ComponentDefinition&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;oBOMRowPO&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;ComponentDefinitions&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;Item&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;/SPAN&gt;&lt;SPAN&gt;get the full filename associated to the component in the row. ex: c:\temp\part1.ipt&lt;/SPAN&gt;
    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;CompFullDocumentName&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;oCompDef&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;FullDocumentName&lt;/SPAN&gt;
    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;CompFileNameOnly&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;get the location of the last backslash&lt;/SPAN&gt;
    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;index&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Integer&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;CompFullDocumentName&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;lastindexof&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;'&lt;/SPAN&gt;&lt;SPAN&gt;get the filename only from the full filename&lt;/SPAN&gt;
    &lt;SPAN&gt;CompFileNameOnly&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;CompFullDocumentName&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;substring&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;index&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;/SPAN&gt;&lt;SPAN&gt;MessageBox.Show(CompFileNameOnly)&lt;/SPAN&gt;
    
    &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;get the Qty value in the current row&lt;/SPAN&gt;
    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;Qty&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;oBOMRowPO&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;TotalQuantity&lt;/SPAN&gt;
    
    &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;check to see if the component is a library part, cc part or read only.&lt;/SPAN&gt;
    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;IsLibCCReadonly&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Boolean&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;LibCCReadonlyChecker&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;CompFullDocumentName&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;
    
    &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;if the file is NOT a library part, cc part or read only.&lt;/SPAN&gt;
    &lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;IsLibCCReadonly&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;False&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
        &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;set following custom iproperty to equal the QTY from the row&lt;/SPAN&gt;
        &lt;SPAN&gt;iProperties&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;CompFileNameOnly&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;Custom&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;PartQty&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;Qty&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;'&lt;/SPAN&gt;&lt;SPAN&gt;at this time, the qty value for all parts have been copied to the custom property.&lt;/SPAN&gt;&lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;next, the following code will cycle through only the subassemblies.&lt;/SPAN&gt;

&lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;if the Structured BOM view is enabled then...&lt;/SPAN&gt;
&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;oBOM&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;StructuredViewEnabled&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
    &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;If show First Level is set then turn it off. This will set it to All Levels&lt;/SPAN&gt;
    &lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;oBOM&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;StructuredViewFirstLevelOnly&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
        &lt;SPAN&gt;oBOM&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;StructuredViewFirstLevelOnly&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;False&lt;/SPAN&gt;
    &lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
&lt;SPAN&gt;Else&lt;/SPAN&gt;
    &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;enable the Structured BOM view&lt;/SPAN&gt;
    &lt;SPAN&gt;oBOM&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;StructuredViewEnabled&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;True&lt;/SPAN&gt;
    &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;set the FirstLevelOnly to false therefore make it All Levels&lt;/SPAN&gt;
    &lt;SPAN&gt;oBOM&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;StructuredViewFirstLevelOnly&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;False&lt;/SPAN&gt;
&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;

&lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;Get the Structured view of the BOM&lt;/SPAN&gt;
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oBOMViewStruc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;BOMView&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;oBOM&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;BOMViews&lt;/SPAN&gt;&lt;SPAN&gt;.&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;Structured&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;
&lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;declare variable for each BOM row.&lt;/SPAN&gt;
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oBOMRowStruc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;BOMRow&lt;/SPAN&gt;
&lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;Create a blank array(list). This will be used to store a list of all subassemblies for comparing if the subassembly already exist.&lt;/SPAN&gt;
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;arrSubAssemblyList&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;New&lt;/SPAN&gt; &lt;SPAN&gt;ArrayList&lt;/SPAN&gt;

&lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;call a subroutine to cycle through the structured BOM. It will need the collection of rows, the subassembly list, and 1 is the initial parentqty.&lt;/SPAN&gt;
&lt;SPAN&gt;Call&lt;/SPAN&gt; &lt;SPAN&gt;QueryBOMRowProperties&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;oBOMViewStruc&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;BOMRows&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;arrSubAssemblyList&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;End Sub&lt;/SPAN&gt;

&lt;SPAN&gt;Private&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt; &lt;SPAN&gt;QueryBOMRowProperties&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;oBOMRows&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;BOMRowsEnumerator&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;arrSubAssembly&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;ArrayList&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;oParentQty&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Integer&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;

&lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;declare a incrementer variable&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;Long&lt;/SPAN&gt;
&lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;for each row in the structured BOM&lt;/SPAN&gt;
&lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;i&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;1&lt;/SPAN&gt; &lt;SPAN&gt;To&lt;/SPAN&gt; &lt;SPAN&gt;oBOMRows&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;count&lt;/SPAN&gt;
    &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;get the row based on the incrementer&lt;/SPAN&gt;
    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oBOMRowStruc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;BOMRow&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;oBOMRows&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;item&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;i&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;
    &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;get the component definition assocated with the row&lt;/SPAN&gt;
    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oCompDef&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;ComponentDefinition&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;oBOMRowStruc&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;ComponentDefinitions&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;item&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;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oQty&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Integer&lt;/SPAN&gt;
    
    &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;If the component is an assembly and it's bom structure is Normal then do the following. else do nothing&lt;/SPAN&gt;
    &lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;TypeOf&lt;/SPAN&gt; &lt;SPAN&gt;oCompDef&lt;/SPAN&gt; &lt;SPAN&gt;Is&lt;/SPAN&gt; &lt;SPAN&gt;AssemblyComponentDefinition&lt;/SPAN&gt; &lt;SPAN&gt;And&lt;/SPAN&gt; &lt;SPAN&gt;oCompDef&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;BOMStructure&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;BOMStructureEnum&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;kNormalBOMStructure&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
            &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;get the full filename associated to the component in the row. ex: c:\temp\subassembly.iam&lt;/SPAN&gt;
            &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;CompFullDocumentName&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;oCompDef&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;FullDocumentName&lt;/SPAN&gt;
            &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;CompFileNameOnly&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;get the location of the last backslash&lt;/SPAN&gt;
            &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;index&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Integer&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;CompFullDocumentName&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;lastindexof&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;'&lt;/SPAN&gt;&lt;SPAN&gt;get the filename only from the full filename&lt;/SPAN&gt;
            &lt;SPAN&gt;CompFileNameOnly&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;CompFullDocumentName&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;substring&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;index&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;/SPAN&gt;&lt;SPAN&gt;MessageBox.Show(CompFileNameOnly)&lt;/SPAN&gt;
            
            &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;get the qty of the row and multiply by the parent qty.&lt;/SPAN&gt;
            &lt;SPAN&gt;oQty&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;oBOMRowStruc&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;ItemQuantity&lt;/SPAN&gt; &lt;SPAN&gt;*&lt;/SPAN&gt; &lt;SPAN&gt;oParentQty&lt;/SPAN&gt;
            
            &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;create a variable that will be used to get the qty of the subassembly if it was used elsewhere&lt;/SPAN&gt;
            &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;additionalQty&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Integer&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;0&lt;/SPAN&gt;
            &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;if the subassembly list is not empty then...&lt;/SPAN&gt;
            &lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;arrSubAssembly&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;Count&lt;/SPAN&gt; &lt;SPAN&gt;&amp;lt;&amp;gt;&lt;/SPAN&gt; &lt;SPAN&gt;0&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
                &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;create a counter. this will be used to determine which item in the subassembly array (list) when it finds a match.&lt;/SPAN&gt;
                &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;this counter will be used to edit that item with the new qty.&lt;/SPAN&gt;
                &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;counter&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Integer&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;0&lt;/SPAN&gt;
                &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;for each item in the subassembly array (list) starting at 0 (first item) to last item&lt;/SPAN&gt;
                &lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;j&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Integer&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;0&lt;/SPAN&gt; &lt;SPAN&gt;To&lt;/SPAN&gt; &lt;SPAN&gt;arrSubAssembly&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;Count&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;get the location of the colon&lt;/SPAN&gt;
                    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;commaindex&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Integer&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;arrSubAssembly&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;j&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;indexof&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;'&lt;/SPAN&gt;&lt;SPAN&gt;get just the file name&lt;/SPAN&gt;
                    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;CompName&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;arrSubAssembly&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;j&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;substring&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;0&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;SPAN&gt;commaindex&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;
                    
                    &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;if the file name of the current row matches the current item in the subassembly array (list) then...&lt;/SPAN&gt;
                    &lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;CompName&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;CompFileNameOnly&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
                        &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;set the additional qty to the qty found in the subassembly array (list)&lt;/SPAN&gt;
                        &lt;SPAN&gt;additionalQty&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;arrSubAssembly&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;j&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;substring&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;commaindex&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;/SPAN&gt;&lt;SPAN&gt;set the counter equal to the item in the subassembly array (list)&lt;/SPAN&gt;
                        &lt;SPAN&gt;counter&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;j&lt;/SPAN&gt;
                        &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;since a match is found, we need to exit the for loop so that counter no longer increments.&lt;/SPAN&gt;
                        &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;so Set j To the number of items in the subassembly array. this will exit out the for loop.&lt;/SPAN&gt;
                        &lt;SPAN&gt;j&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;arrSubAssembly&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;Count&lt;/SPAN&gt;
                    &lt;SPAN&gt;Else&lt;/SPAN&gt;
                        &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;increase the counter&lt;/SPAN&gt;
                        &lt;SPAN&gt;counter&lt;/SPAN&gt; &lt;SPAN&gt;+=&lt;/SPAN&gt; &lt;SPAN&gt;1&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;'&lt;/SPAN&gt;&lt;SPAN&gt;if additional qty was not changed then there was no match. It will be a new item in the subassembly array (list)&lt;/SPAN&gt;
                &lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;additionalQty&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;0&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
                    &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;add the subassambly to the subassembly array (list)&lt;/SPAN&gt;
                    &lt;SPAN&gt;arrSubAssembly&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;add&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;CompFileNameOnly&lt;/SPAN&gt; &lt;SPAN&gt;&amp;amp;&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;oQty&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;
                &lt;SPAN&gt;Else&lt;/SPAN&gt;
                    &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;if it did find a match, then update the qty for that item in the subassembly array (list)&lt;/SPAN&gt;
                    &lt;SPAN&gt;arrSubAssembly&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;counter&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;CompFileNameOnly&lt;/SPAN&gt; &lt;SPAN&gt;&amp;amp;&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;oQty&lt;/SPAN&gt; &lt;SPAN&gt;+&lt;/SPAN&gt; &lt;SPAN&gt;additionalQty&lt;/SPAN&gt;
                &lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
            &lt;SPAN&gt;Else&lt;/SPAN&gt;
                &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;add the first subassembly to the list. It will add the filename and the qty separated by a colon. ex. subassembly.iam:2&lt;/SPAN&gt;
                &lt;SPAN&gt;arrSubAssembly&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;add&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;CompFileNameOnly&lt;/SPAN&gt; &lt;SPAN&gt;&amp;amp;&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;oQty&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;'&lt;/SPAN&gt;&lt;SPAN&gt;check to see if the component is a library part, cc part or read only.&lt;/SPAN&gt;
            &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;IsLibCCReadonly&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Boolean&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;LibCCReadonlyChecker&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;CompFullDocumentName&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;
            
            &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;if the file is NOT a library part, cc part or read only.&lt;/SPAN&gt;
            &lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;IsLibCCReadonly&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;False&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
                &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;set following custom iproperty to equal the QTY from the row plus the additional qty value&lt;/SPAN&gt;
                &lt;SPAN&gt;iProperties&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;CompFileNameOnly&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;Custom&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;PartQty&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;oQty&lt;/SPAN&gt; &lt;SPAN&gt;+&lt;/SPAN&gt; &lt;SPAN&gt;additionalQty&lt;/SPAN&gt;
            
                &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;Recursively iterate child rows if present.&lt;/SPAN&gt;
                &lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;Not&lt;/SPAN&gt; &lt;SPAN&gt;oBOMRowStruc&lt;/SPAN&gt;&lt;SPAN&gt;.&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;'&lt;/SPAN&gt;&lt;SPAN&gt;recall the subroutine, push the childrows of the sub, sub assembly array (list), and the qty of the subassembly&lt;/SPAN&gt;
                    &lt;SPAN&gt;Call&lt;/SPAN&gt; &lt;SPAN&gt;QueryBOMRowProperties&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;oBOMRowStruc&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;ChildRows&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;arrSubAssembly&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;oQty&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;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
        &lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
    &lt;SPAN&gt;Next&lt;/SPAN&gt;
&lt;SPAN&gt;End Sub&lt;/SPAN&gt;

&lt;SPAN&gt;Private&lt;/SPAN&gt; &lt;SPAN&gt;Function&lt;/SPAN&gt; &lt;SPAN&gt;LibCCReadonlyChecker&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;filename&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;Boolean&lt;/SPAN&gt;
&lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt; Get the active project&lt;/SPAN&gt;
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oProject&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DesignProject&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;DesignProjectManager&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;ActiveDesignProject&lt;/SPAN&gt;
&lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt; Get all the library paths&lt;/SPAN&gt;
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oLibraryPaths&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;ProjectPaths&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;oProject&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;LibraryPaths&lt;/SPAN&gt;
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oLibraryPath&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;ProjectPath&lt;/SPAN&gt;

&lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;for each library path in the list of all library paths&lt;/SPAN&gt;
&lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;Each&lt;/SPAN&gt; &lt;SPAN&gt;oLibraryPath&lt;/SPAN&gt; &lt;SPAN&gt;In&lt;/SPAN&gt; &lt;SPAN&gt;oLibraryPaths&lt;/SPAN&gt;
    &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;get the library path&lt;/SPAN&gt;
    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oLibs&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;oLibraryPath&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;Path&lt;/SPAN&gt;
    &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;if the file is in a library path then Return True&lt;/SPAN&gt;
    &lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;filename&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;Contains&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;oLibs&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;True&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
        &lt;SPAN&gt;Return&lt;/SPAN&gt; &lt;SPAN&gt;True&lt;/SPAN&gt;
    &lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
&lt;SPAN&gt;Next&lt;/SPAN&gt;

&lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;if the file is in the CC location then Return True&lt;/SPAN&gt;
&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;filename&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;Contains&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;oProject&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;ContentCenterPath&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;True&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
    &lt;SPAN&gt;Return&lt;/SPAN&gt; &lt;SPAN&gt;True&lt;/SPAN&gt;
&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;

&lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;get read only status&lt;/SPAN&gt;
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;File_Attr&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Long&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;System&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;IO&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;File&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;GetAttributes&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;filename&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;
&lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;if the file is readonly or readonly and archieve then Return True&lt;/SPAN&gt;
&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;File_Attr&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;1&lt;/SPAN&gt; &lt;SPAN&gt;Or&lt;/SPAN&gt; &lt;SPAN&gt;File_Attr&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;33&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
    &lt;SPAN&gt;Return&lt;/SPAN&gt; &lt;SPAN&gt;True&lt;/SPAN&gt;
&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;

&lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;return False if it's not a library, CC or a Readonly part.&lt;/SPAN&gt;
&lt;SPAN&gt;Return&lt;/SPAN&gt; &lt;SPAN&gt;False&lt;/SPAN&gt;

&lt;SPAN&gt;End Function&lt;/SPAN&gt;
&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 21 Dec 2016 07:31:30 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/quantity-om-drawing-based-on-total-number-of-parts-ilogic/m-p/6762436#M105855</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2016-12-21T07:31:30Z</dc:date>
    </item>
    <item>
      <title>Re: Quantity om drawing based on total number of parts. iLogic</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/quantity-om-drawing-based-on-total-number-of-parts-ilogic/m-p/6882279#M105856</link>
      <description>&lt;P&gt;This works for me thanks for posting&lt;/P&gt;</description>
      <pubDate>Thu, 16 Feb 2017 12:36:08 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/quantity-om-drawing-based-on-total-number-of-parts-ilogic/m-p/6882279#M105856</guid>
      <dc:creator>timothy_berg</dc:creator>
      <dc:date>2017-02-16T12:36:08Z</dc:date>
    </item>
    <item>
      <title>Re: Quantity om drawing based on total number of parts. iLogic</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/quantity-om-drawing-based-on-total-number-of-parts-ilogic/m-p/6898482#M105857</link>
      <description>&lt;P&gt;The code does work for my application, however I'm trying to convert it from Qty to Item Qty in the master BOM. I have structural members in this assembly and would like to have a qty of cut pieces instead of a linear length. Please let me know what needs to change.&lt;/P&gt;</description>
      <pubDate>Thu, 23 Feb 2017 14:23:58 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/quantity-om-drawing-based-on-total-number-of-parts-ilogic/m-p/6898482#M105857</guid>
      <dc:creator>timothy_berg</dc:creator>
      <dc:date>2017-02-23T14:23:58Z</dc:date>
    </item>
    <item>
      <title>Re: Quantity om drawing based on total number of parts. iLogic</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/quantity-om-drawing-based-on-total-number-of-parts-ilogic/m-p/8392998#M105858</link>
      <description>&lt;P&gt;Thank you for this, however, the routine has decided not to play nicely....&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I made one change to the code from:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; Dim Qty As String = oBOMRowPO.TotalQuantity&lt;/P&gt;&lt;P&gt;&amp;nbsp; to:&lt;BR /&gt;&amp;nbsp;&amp;nbsp; Dim Qty As String = oBOMRowPO.ItemQuantity&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The routine was running perfectly for about an hour after this change, and then started throwing this error:&lt;/P&gt;&lt;P&gt;Error Message:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; Error in rule: AssyCount, in document: CX-A-001968.iam&lt;BR /&gt;&amp;nbsp;&amp;nbsp; The parameter is incorrect. (Exception from HRESULT: 0x80070057 (E_INVALIDARG))&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;More Info:&lt;/P&gt;&lt;P&gt;System.ArgumentException: The parameter is incorrect. (Exception from HRESULT: 0x80070057 (E_INVALIDARG))&lt;BR /&gt;&amp;nbsp;&amp;nbsp; at System.RuntimeType.ForwardCallToInvokeMember(String memberName, BindingFlags flags, Object target, Int32[] aWrapperTypes, MessageData&amp;amp; msgData)&lt;BR /&gt;&amp;nbsp;&amp;nbsp; at Inventor.BOMViews.get_Item(Object Index)&lt;BR /&gt;&amp;nbsp;&amp;nbsp; at LmiRuleScript.Main()&lt;BR /&gt;&amp;nbsp;&amp;nbsp; at Autodesk.iLogic.Exec.AppDomExec.ExecRuleInAssembly(Assembly assem)&lt;BR /&gt;&amp;nbsp;&amp;nbsp; at iLogic.RuleEvalContainer.ExecRuleEval(String execRule)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Any idea what went awry?&lt;/P&gt;</description>
      <pubDate>Fri, 09 Nov 2018 23:01:20 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/quantity-om-drawing-based-on-total-number-of-parts-ilogic/m-p/8392998#M105858</guid>
      <dc:creator>b.mccarthy</dc:creator>
      <dc:date>2018-11-09T23:01:20Z</dc:date>
    </item>
    <item>
      <title>Re: Quantity om drawing based on total number of parts. iLogic</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/quantity-om-drawing-based-on-total-number-of-parts-ilogic/m-p/10115860#M105859</link>
      <description>&lt;P&gt;Dear Mikael&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This is a great piece of work&lt;/P&gt;&lt;P&gt;I had been trying to find this solution for years, and stumble upon this thread by accident.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This will save me a lot of hours.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;May God bless you.&lt;/P&gt;&lt;P&gt;Thank you once again.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Parag&lt;/P&gt;</description>
      <pubDate>Fri, 26 Feb 2021 23:35:58 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/quantity-om-drawing-based-on-total-number-of-parts-ilogic/m-p/10115860#M105859</guid>
      <dc:creator>P_Korgaonkar</dc:creator>
      <dc:date>2021-02-26T23:35:58Z</dc:date>
    </item>
    <item>
      <title>Re: Quantity om drawing based on total number of parts. iLogic</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/quantity-om-drawing-based-on-total-number-of-parts-ilogic/m-p/10476725#M105860</link>
      <description>&lt;P&gt;Good rule thanks for sharing. I do have question. Can this one be updated say i do have 5 units. Can be added code to multiply total qty with unit number, so each part has total qty for production. Those Library parts, can they be count. If someone see this please help to solve long time problem. Thank you&lt;/P&gt;</description>
      <pubDate>Sat, 17 Jul 2021 22:50:01 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/quantity-om-drawing-based-on-total-number-of-parts-ilogic/m-p/10476725#M105860</guid>
      <dc:creator>GosponZ</dc:creator>
      <dc:date>2021-07-17T22:50:01Z</dc:date>
    </item>
    <item>
      <title>Re: Quantity om drawing based on total number of parts. iLogic</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/quantity-om-drawing-based-on-total-number-of-parts-ilogic/m-p/10476785#M105861</link>
      <description>&lt;P&gt;You need to run the rule every time you change the assembly.&lt;/P&gt;&lt;P&gt;So run the rule just before you start detailing the drawings and you will have latest total quantity.&lt;/P&gt;&lt;P&gt;I believe it updates the library parts too. But be carful, you need to run the rule again if you switch the project, or you will end up with wrong quantity!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;</description>
      <pubDate>Sun, 18 Jul 2021 00:08:18 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/quantity-om-drawing-based-on-total-number-of-parts-ilogic/m-p/10476785#M105861</guid>
      <dc:creator>P_Korgaonkar</dc:creator>
      <dc:date>2021-07-18T00:08:18Z</dc:date>
    </item>
    <item>
      <title>Re: Quantity om drawing based on total number of parts. iLogic</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/quantity-om-drawing-based-on-total-number-of-parts-ilogic/m-p/10478075#M105862</link>
      <description>&lt;P&gt;Thanks for answering so quick. It doesn't update library parts. This will work for me if i can multiply PartQty with number of my units we build.&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;"Custom"&lt;/SPAN&gt;, &lt;SPAN&gt;"TTL"&lt;/SPAN&gt;) = &lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;"Custom"&lt;/SPAN&gt;, &lt;SPAN&gt;"PartQty"&lt;/SPAN&gt;) * &lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;"Custom"&lt;/SPAN&gt;, &lt;SPAN&gt;"Unit_Qty"&lt;/SPAN&gt;)&lt;/PRE&gt;&lt;P&gt;Something like this line. It is working just on part but would be perfect if will work just after your code to multyply so i can see total qty say panels in one unit is qty 2 but for 5 units is 10&lt;/P&gt;</description>
      <pubDate>Sun, 18 Jul 2021 23:23:25 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/quantity-om-drawing-based-on-total-number-of-parts-ilogic/m-p/10478075#M105862</guid>
      <dc:creator>GosponZ</dc:creator>
      <dc:date>2021-07-18T23:23:25Z</dc:date>
    </item>
    <item>
      <title>Re: Quantity om drawing based on total number of parts. iLogic</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/quantity-om-drawing-based-on-total-number-of-parts-ilogic/m-p/10478508#M105863</link>
      <description>&lt;P&gt;Hello there!&lt;BR /&gt;you are correct, as for Inventor 2021 and I think 2020, they made some changes in how the codes work and what you are "allowed" to do.&lt;/P&gt;&lt;P&gt;This means this code cannot change libary parts anymore. &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 19 Jul 2021 06:27:44 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/quantity-om-drawing-based-on-total-number-of-parts-ilogic/m-p/10478508#M105863</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2021-07-19T06:27:44Z</dc:date>
    </item>
    <item>
      <title>Re: Quantity om drawing based on total number of parts. iLogic</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/quantity-om-drawing-based-on-total-number-of-parts-ilogic/m-p/10478517#M105864</link>
      <description>&lt;P&gt;What I normaly do to count a specifik ammount. Is to create a new assembly with the given project number.&lt;/P&gt;&lt;P&gt;place the 5x subassemblies you need in the assemly, then use the counting code, this will give the drawing of the part the correct number, if you want to "save" the ammount of items you have used for a project, it's best you save/copy design the files into a new folder where they can store the information for next time.&lt;/P&gt;</description>
      <pubDate>Mon, 19 Jul 2021 06:34:30 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/quantity-om-drawing-based-on-total-number-of-parts-ilogic/m-p/10478517#M105864</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2021-07-19T06:34:30Z</dc:date>
    </item>
    <item>
      <title>Re: Quantity om drawing based on total number of parts. iLogic</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/quantity-om-drawing-based-on-total-number-of-parts-ilogic/m-p/10478999#M105865</link>
      <description>&lt;P&gt;Thank you. That is interesting approach&amp;nbsp; to total qty. But still I'm interested if is possible to multiply those 2 iprops. and to give you total without makes extra asssembly&lt;/P&gt;</description>
      <pubDate>Mon, 19 Jul 2021 10:49:04 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/quantity-om-drawing-based-on-total-number-of-parts-ilogic/m-p/10478999#M105865</guid>
      <dc:creator>GosponZ</dc:creator>
      <dc:date>2021-07-19T10:49:04Z</dc:date>
    </item>
    <item>
      <title>Re: Quantity om drawing based on total number of parts. iLogic</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/quantity-om-drawing-based-on-total-number-of-parts-ilogic/m-p/10479972#M105866</link>
      <description>&lt;P&gt;Ok i figure out. I made parameter Unit_Qty. and replaced in your code&lt;/P&gt;&lt;PRE&gt; &lt;SPAN&gt;'set following custom iproperty to equal the QTY from the row&lt;/SPAN&gt;
		

        &lt;SPAN&gt;iProperties&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;CompFileNameOnly&lt;/SPAN&gt;, &lt;SPAN&gt;"Custom"&lt;/SPAN&gt;, &lt;SPAN&gt;"TTL"&lt;/SPAN&gt;) = &lt;SPAN&gt;Qty&lt;/SPAN&gt; * &lt;SPAN&gt;Parameter&lt;/SPAN&gt;(&lt;SPAN&gt;"Unit_Qty"&lt;/SPAN&gt;)&lt;/PRE&gt;&lt;P&gt;Do not need make another assembly 5 times.&amp;nbsp; Make for m with that parameter and rule. Thant is it. Works for me perfect.&lt;/P&gt;</description>
      <pubDate>Mon, 19 Jul 2021 16:27:21 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/quantity-om-drawing-based-on-total-number-of-parts-ilogic/m-p/10479972#M105866</guid>
      <dc:creator>GosponZ</dc:creator>
      <dc:date>2021-07-19T16:27:21Z</dc:date>
    </item>
    <item>
      <title>Re: Quantity om drawing based on total number of parts. iLogic</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/quantity-om-drawing-based-on-total-number-of-parts-ilogic/m-p/10617900#M105867</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;This rule was working great so far.&lt;/P&gt;&lt;P&gt;Today I am getting an attached error.&lt;/P&gt;&lt;P&gt;Can anyone help me understand what's going on?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks in advance.&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Parag&lt;/P&gt;</description>
      <pubDate>Mon, 13 Sep 2021 07:49:37 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/quantity-om-drawing-based-on-total-number-of-parts-ilogic/m-p/10617900#M105867</guid>
      <dc:creator>P_Korgaonkar</dc:creator>
      <dc:date>2021-09-13T07:49:37Z</dc:date>
    </item>
    <item>
      <title>Re: Quantity om drawing based on total number of parts. iLogic</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/quantity-om-drawing-based-on-total-number-of-parts-ilogic/m-p/10617965#M105868</link>
      <description>&lt;P&gt;Can you place a message box at various points along the code especially at entrance to sub routine to check how far along it gets and where it may stop.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 13 Sep 2021 08:30:16 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/quantity-om-drawing-based-on-total-number-of-parts-ilogic/m-p/10617965#M105868</guid>
      <dc:creator>A.Acheson</dc:creator>
      <dc:date>2021-09-13T08:30:16Z</dc:date>
    </item>
    <item>
      <title>Re: Quantity om drawing based on total number of parts. iLogic</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/quantity-om-drawing-based-on-total-number-of-parts-ilogic/m-p/10618186#M105869</link>
      <description>&lt;P&gt;Thank you for your suggestion.&lt;/P&gt;&lt;P&gt;I dont know how to do it, I have just copied this code and used it.&lt;/P&gt;&lt;P&gt;Can you help?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Update this code with message boxes, and share it here if possible. I can test and give the result ASAP..&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 13 Sep 2021 10:01:58 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/quantity-om-drawing-based-on-total-number-of-parts-ilogic/m-p/10618186#M105869</guid>
      <dc:creator>P_Korgaonkar</dc:creator>
      <dc:date>2021-09-13T10:01:58Z</dc:date>
    </item>
    <item>
      <title>Re: Quantity om drawing based on total number of parts. iLogic</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/quantity-om-drawing-based-on-total-number-of-parts-ilogic/m-p/10618686#M105870</link>
      <description>&lt;P&gt;Can you check if the rule was run in the master level of detail?&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here is a snippet to paste in where indicate on the picture below. You can use this to&amp;nbsp; verify the rule is outputting qty values.&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Info&lt;/SPAN&gt;(&lt;SPAN&gt;Qty&lt;/SPAN&gt;, &lt;SPAN&gt;"Progress Check"&lt;/SPAN&gt;)&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="AAcheson_0-1631540368532.png" style="width: 800px;"&gt;&lt;img src="https://forums.autodesk.com/t5/image/serverpage/image-id/964493iED6695FA71C69ED4/image-dimensions/800x318?v=v2" width="800" height="318" role="button" title="AAcheson_0-1631540368532.png" alt="AAcheson_0-1631540368532.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;You can place a message box&amp;nbsp; in the rule to indicate how far the rule gets. If you get an error before you reach the message box the error has then occurred before the message box.&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;MessageBox&lt;/SPAN&gt;.&lt;SPAN&gt;Show&lt;/SPAN&gt;(&lt;SPAN&gt;"Message"&lt;/SPAN&gt;, &lt;SPAN&gt;"Title"&lt;/SPAN&gt;)&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 13 Sep 2021 13:54:38 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/quantity-om-drawing-based-on-total-number-of-parts-ilogic/m-p/10618686#M105870</guid>
      <dc:creator>A.Acheson</dc:creator>
      <dc:date>2021-09-13T13:54:38Z</dc:date>
    </item>
    <item>
      <title>Re: Quantity om drawing based on total number of parts. iLogic</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/quantity-om-drawing-based-on-total-number-of-parts-ilogic/m-p/10619843#M105871</link>
      <description>&lt;P&gt;Thank you A.Acheson&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I tried as you suggested.&lt;/P&gt;&lt;P&gt;I have checked all assemblies are in Master representation.&lt;/P&gt;&lt;P&gt;Then I have added the snippet and message box where you suggested.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I got the Message box and had click OK 140 times first time I ran the rule, but this number kept changing every time I ran the rule again.&lt;/P&gt;&lt;P&gt;Rule ran and did not get an error at the end, but assembly quantity did not update.&lt;/P&gt;&lt;P&gt;All part quantities update to the correct number, but some sub assemblies don't.&lt;/P&gt;&lt;P&gt;If I delete custom property from the sub assembly and run the rule again, the property is not created again, meaning the rule does not work on sub assembly.&lt;/P&gt;&lt;P&gt;The Log shows INFO number every time I click OK in the message box..&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Just to let you know this rule was working on the same Assembly few weeks back, the earlier models from the backup work, but after changes done in last couple of weeks it has stopped working. I am not able to pin point what changes made this not to work.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If you an advise further steps it will be greatly appreciated.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 13 Sep 2021 22:07:24 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/quantity-om-drawing-based-on-total-number-of-parts-ilogic/m-p/10619843#M105871</guid>
      <dc:creator>P_Korgaonkar</dc:creator>
      <dc:date>2021-09-13T22:07:24Z</dc:date>
    </item>
    <item>
      <title>Re: Quantity om drawing based on total number of parts. iLogic</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/quantity-om-drawing-based-on-total-number-of-parts-ilogic/m-p/10620000#M105872</link>
      <description>&lt;P&gt;Hmm interesting one. Yes a message box can be a dangerous tool when debugging. I would use it cautiously inside a for loop otherwise you will become weary of clicking. You can employ a trusty weight on the enter key to save the clicking&lt;span class="lia-unicode-emoji" title=":face_with_tears_of_joy:"&gt;😂&lt;/span&gt; if it happens.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Any chance of attaching a small data set of the files not working using pack and go in a zipped folder. You can delete out the contents of the files just as long as the files stay there to show there structure and if read only etc, library file etc. Looking at the above messages there was an error message that wasn’t fixed I believe.&amp;nbsp;&lt;BR /&gt;&lt;SPAN style="font-family: inherit; -webkit-tap-highlight-color: transparent; -webkit-text-size-adjust: 100%;"&gt;&lt;BR /&gt;Is the error message occurring each time?&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;You can also wrap the iProperty statement in a try catch statement and place a log message there and if the iProperty cannot be written to the file it will error out and write the log message with the filename it occurred on.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN style="white-space: normal; -webkit-tap-highlight-color: transparent; -webkit-text-size-adjust: 100%;"&gt;&amp;nbsp;Try&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="white-space: normal; -webkit-tap-highlight-color: transparent; -webkit-text-size-adjust: 100%;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="white-space: normal; -webkit-tap-highlight-color: transparent; -webkit-text-size-adjust: 100%;"&gt;iProperties&lt;/SPAN&gt;&lt;SPAN style="white-space: normal; -webkit-tap-highlight-color: transparent; -webkit-text-size-adjust: 100%;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="white-space: normal; -webkit-tap-highlight-color: transparent; -webkit-text-size-adjust: 100%;"&gt;Value&lt;/SPAN&gt;&lt;SPAN style="white-space: normal; -webkit-tap-highlight-color: transparent; -webkit-text-size-adjust: 100%;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="white-space: normal; -webkit-tap-highlight-color: transparent; -webkit-text-size-adjust: 100%;"&gt;CompFileNameOnly&lt;/SPAN&gt;&lt;SPAN style="white-space: normal; -webkit-tap-highlight-color: transparent; -webkit-text-size-adjust: 100%;"&gt;, &lt;/SPAN&gt;&lt;SPAN style="white-space: normal; -webkit-tap-highlight-color: transparent; -webkit-text-size-adjust: 100%;"&gt;"&lt;/SPAN&gt;&lt;SPAN style="white-space: normal; -webkit-tap-highlight-color: transparent; -webkit-text-size-adjust: 100%;"&gt;Custom&lt;/SPAN&gt;&lt;SPAN style="white-space: normal; -webkit-tap-highlight-color: transparent; -webkit-text-size-adjust: 100%;"&gt;"&lt;/SPAN&gt;&lt;SPAN style="white-space: normal; -webkit-tap-highlight-color: transparent; -webkit-text-size-adjust: 100%;"&gt;, &lt;/SPAN&gt;&lt;SPAN style="white-space: normal; -webkit-tap-highlight-color: transparent; -webkit-text-size-adjust: 100%;"&gt;"&lt;/SPAN&gt;&lt;SPAN style="white-space: normal; -webkit-tap-highlight-color: transparent; -webkit-text-size-adjust: 100%;"&gt;PartQty&lt;/SPAN&gt;&lt;SPAN style="white-space: normal; -webkit-tap-highlight-color: transparent; -webkit-text-size-adjust: 100%;"&gt;"&lt;/SPAN&gt;&lt;SPAN style="white-space: normal; -webkit-tap-highlight-color: transparent; -webkit-text-size-adjust: 100%;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="white-space: normal; -webkit-tap-highlight-color: transparent; -webkit-text-size-adjust: 100%;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="white-space: normal; -webkit-tap-highlight-color: transparent; -webkit-text-size-adjust: 100%;"&gt;Qty&lt;/SPAN&gt;&lt;SPAN style="white-space: normal; -webkit-tap-highlight-color: transparent; -webkit-text-size-adjust: 100%;"&gt;&amp;nbsp; Catch&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Info&lt;/SPAN&gt;(&lt;SPAN style="white-space: normal; -webkit-tap-highlight-color: transparent; -webkit-text-size-adjust: 100%;"&gt;CompFileNameOnly&lt;/SPAN&gt;&lt;SPAN style="white-space: normal; -webkit-tap-highlight-color: transparent; -webkit-text-size-adjust: 100%;"&gt;, &lt;/SPAN&gt;&lt;SPAN style="white-space: normal; -webkit-tap-highlight-color: transparent; -webkit-text-size-adjust: 100%;"&gt;"Document Failed"&lt;/SPAN&gt;&lt;SPAN style="white-space: normal; -webkit-tap-highlight-color: transparent; -webkit-text-size-adjust: 100%;"&gt;)&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="white-space: normal; -webkit-tap-highlight-color: transparent; -webkit-text-size-adjust: 100%;"&gt;End Try&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 14 Sep 2021 00:28:03 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/quantity-om-drawing-based-on-total-number-of-parts-ilogic/m-p/10620000#M105872</guid>
      <dc:creator>A.Acheson</dc:creator>
      <dc:date>2021-09-14T00:28:03Z</dc:date>
    </item>
  </channel>
</rss>

