<?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: Run Rule on all open drawings in Inventor Programming Forum</title>
    <link>https://forums.autodesk.com/t5/inventor-programming-forum/run-rule-on-all-open-drawings/m-p/7420303#M97646</link>
    <description>&lt;P&gt;Also, probably just add oDoc.Activate before the iLogicvb.RunExternal rule line in the other chunk....&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;...&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;'For several parts in drawing environment'update mass to avoid the "N/A" in title block
Dim oDoc As DrawingDocument:  &lt;STRONG&gt;oDoc = ThisDoc.Document&lt;/STRONG&gt;
Dim oSheets As Sheets
Dim oSheet As Sheet
Dim oViews As DrawingViews
Dim oView As DrawingView
oSheets = oDoc.Sheets
For Each oSheet In oSheets
    oViews = oSheet.DrawingViews
    For Each oView In oViews
        modelName =  oView.ReferencedDocumentDescriptor.ReferencedDocument.DisplayName
        iProperties.Mass(modelName) = 1 'override automatic calculation
        iProperties.Mass(modelName) = -1 'set it back to automatic calculation
        mass = iProperties.Mass(modelName) 'force to read the property
    Next
Next
InventorVb.DocumentUpdate() 'update drawing &amp;nbsp;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Fri, 29 Sep 2017 13:43:32 GMT</pubDate>
    <dc:creator>MechMachineMan</dc:creator>
    <dc:date>2017-09-29T13:43:32Z</dc:date>
    <item>
      <title>Run Rule on all open drawings</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/run-rule-on-all-open-drawings/m-p/7411707#M97640</link>
      <description>&lt;P&gt;Hi all&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have the below rule to print PDFs of all open drawings.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This works perfect but I would like to be able to run an external rule on each drawing before the PDF is made.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Can anyone help me out please.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I run 2014&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;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oDoc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Inventor&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;Document&lt;/SPAN&gt;
&lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;Each&lt;/SPAN&gt; &lt;SPAN&gt;oDoc&lt;/SPAN&gt; &lt;SPAN&gt;In&lt;/SPAN&gt; &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;Documents&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;VisibleDocuments&lt;/SPAN&gt;

     &lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;oDoc&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;documenttype&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;kDrawingDocumentObject&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt; &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;Found a drawing&lt;/SPAN&gt;
        &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;find the postion of the last backslash in the path&lt;/SPAN&gt;
    &lt;SPAN&gt;oFNamePos&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;InStrRev&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;oDoc&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;fullfileName&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;1&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;   
    &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;get the file name with the file extension&lt;/SPAN&gt;
    &lt;SPAN&gt;oName&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;Right&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;oDoc&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;fullfileName&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;Len&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;oDoc&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;fullfileName&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt; &lt;SPAN&gt;-&lt;/SPAN&gt; &lt;SPAN&gt;oFNamePos&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;
    &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;get the path of the folder containing the file&lt;/SPAN&gt;
    &lt;SPAN&gt;oPath&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;Left&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;oDoc&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;fullfileName&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;Len&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;oDoc&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;fullfileName&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt; &lt;SPAN&gt;-&lt;/SPAN&gt; &lt;SPAN&gt;Len&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;oName&lt;/SPAN&gt;&lt;SPAN&gt;))&lt;/SPAN&gt;
     &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;get the file name (without extension)&lt;/SPAN&gt;
    &lt;SPAN&gt;oRevNum&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;oDoc&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;PropertySets&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;Inventor Summary Information&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;)(&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;Revision Number&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;Value&lt;/SPAN&gt;
    &lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;oRevNum&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;oShortName&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;Left&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;oName&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;Len&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;oName&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt; &lt;SPAN&gt;-&lt;/SPAN&gt; &lt;SPAN&gt;4&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt; &lt;SPAN&gt;&amp;amp;&lt;/SPAN&gt; &lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt; - Rev &lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt; &lt;SPAN&gt;&amp;amp;&lt;/SPAN&gt; &lt;SPAN&gt;oRevNum&lt;/SPAN&gt;
    &lt;SPAN&gt;Else&lt;/SPAN&gt;
        &lt;SPAN&gt;oShortName&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;Left&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;oName&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;Len&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;oName&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt; &lt;SPAN&gt;-&lt;/SPAN&gt; &lt;SPAN&gt;4&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;oPDFAddIn&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;ApplicationAddIns&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;ItemById&lt;/SPAN&gt; &lt;SPAN&gt;_&lt;/SPAN&gt;
    &lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;{0AC6FD96-2F4D-42CE-8BE0-8AEA580399E4}&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;
    &lt;SPAN&gt;oContext&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;TransientObjects&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;CreateTranslationContext&lt;/SPAN&gt;
    &lt;SPAN&gt;oContext&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;Type&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;IOMechanismEnum&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;kFileBrowseIOMechanism&lt;/SPAN&gt;
    &lt;SPAN&gt;oOptions&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;TransientObjects&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;CreateNameValueMap&lt;/SPAN&gt;
    &lt;SPAN&gt;oDataMedium&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;TransientObjects&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;CreateDataMedium&lt;/SPAN&gt;
    
    
    
    &lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;oPDFAddIn&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;HasSaveCopyAsOptions&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;oDataMedium&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;oContext&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;oOptions&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
    &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;oOptions.Value("All_Color_AS_Black") = 0&lt;/SPAN&gt;
    &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;oOptions.Value("Remove_Line_Weights") = 0&lt;/SPAN&gt;
    &lt;SPAN&gt;oOptions&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;Value&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;Vector_Resolution&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;600&lt;/SPAN&gt;
    &lt;SPAN&gt;oOptions&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;Value&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;Sheet_Range&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;Inventor&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;PrintRangeEnum&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;kPrintAllSheets&lt;/SPAN&gt;
    &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;oOptions.Value("Custom_Begin_Sheet") = 2&lt;/SPAN&gt;
    &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;oOptions.Value("Custom_End_Sheet") = 4&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 PDF target folder path&lt;/SPAN&gt;
    &lt;SPAN&gt;oFolder&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;oPath&lt;/SPAN&gt; &lt;SPAN&gt;&amp;amp;&lt;/SPAN&gt; &lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;\PDF&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;
    
    &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;Check for the PDF folder and create it if it does not exist&lt;/SPAN&gt;
    &lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;Not&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;Directory&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;Exists&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;oFolder&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt; &lt;SPAN&gt;Then&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;Directory&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;CreateDirectory&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;oFolder&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;Set the PDF target file name&lt;/SPAN&gt;
    &lt;SPAN&gt;oDataMedium&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;oFolder&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;oShortName&lt;/SPAN&gt; &lt;SPAN&gt;&amp;amp;&lt;/SPAN&gt; &lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;.pdf&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;

    
    &lt;SPAN&gt;On&lt;/SPAN&gt; &lt;SPAN&gt;Error&lt;/SPAN&gt; &lt;SPAN&gt;Goto&lt;/SPAN&gt; &lt;SPAN&gt;handlePDFLock&lt;/SPAN&gt;
    
    &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;Publish document&lt;/SPAN&gt;
    &lt;SPAN&gt;oPDFAddIn&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;SaveCopyAs&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;oDoc&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;oContext&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;oOptions&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;oDataMedium&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;
      &lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
&lt;SPAN&gt;Next&lt;/SPAN&gt; &lt;SPAN&gt;oDoc&lt;/SPAN&gt;

&lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;Show message box&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;PDF(s) exported to: &lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt; &lt;SPAN&gt;&amp;amp;&lt;/SPAN&gt; &lt;SPAN&gt;oFolder&lt;/SPAN&gt;&lt;SPAN&gt; , &lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;iLogic&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;Exit Sub&lt;/SPAN&gt;

&lt;SPAN&gt;handlePDFLock&lt;/SPAN&gt;&lt;SPAN&gt;:&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;At least one PDF could not be saved, &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;"&lt;/SPAN&gt;&lt;SPAN&gt;most likely someone else has it open.&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;No PDF for you &lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt; &lt;SPAN&gt;&amp;amp;&lt;/SPAN&gt; &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;GeneralOptions&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;UserName&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;)&lt;/SPAN&gt;
&lt;SPAN&gt;Resume&lt;/SPAN&gt; &lt;SPAN&gt;Next&lt;/SPAN&gt;
&lt;/PRE&gt;</description>
      <pubDate>Wed, 27 Sep 2017 01:59:14 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/run-rule-on-all-open-drawings/m-p/7411707#M97640</guid>
      <dc:creator>donaldleigh</dc:creator>
      <dc:date>2017-09-27T01:59:14Z</dc:date>
    </item>
    <item>
      <title>Re: Run Rule on all open drawings</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/run-rule-on-all-open-drawings/m-p/7412094#M97641</link>
      <description>&lt;P&gt;Hi &lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/4620899"&gt;@donaldleigh&lt;/a&gt;&lt;/P&gt;&lt;P&gt;which content should be in the external rule you will run before?&lt;/P&gt;&lt;P&gt;For example you can create an additional rule and run it before you use your pdf export rule, or put in an additional For Each ...next before the pdf For each beginns:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;For Each oDoc In ThisApplication.Documents.VisibleDocuments
 If (oDoc.documenttype = kDrawingDocumentObject) Then
  ' actions you will do before
 End if
Next oDoc

&lt;/PRE&gt;</description>
      <pubDate>Wed, 27 Sep 2017 06:22:23 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/run-rule-on-all-open-drawings/m-p/7412094#M97641</guid>
      <dc:creator>Martin-Winkler-Consulting</dc:creator>
      <dc:date>2017-09-27T06:22:23Z</dc:date>
    </item>
    <item>
      <title>Re: Run Rule on all open drawings</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/run-rule-on-all-open-drawings/m-p/7414377#M97642</link>
      <description>&lt;P&gt;The existing documentation is great for this.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://lmgtfy.com/?q=iLogic+%2B+run+external+rule" target="_blank"&gt;http://lmgtfy.com/?q=iLogic+%2B+run+external+rule&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Also, you need to make sure any rule you run with this is coded properly. If any have "ThisApplication.ActiveDocument" thing will likely run weird and unexpected. Instead, you should use ThisDoc.Document or ThisApplication.ActiveEditDocument&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;Sub Main()
	Dim oDoc As Inventor.Document
	For Each oDoc In ThisApplication.Documents.VisibleDocuments
	
		If (oDoc.documenttype = kDrawingDocumentObject) Then 'Found a drawing
			'find the postion of the last backslash in the path
			
			'INSERT CODE HERE TO RUN EXTERNAL RULE
			'iLogicVb.RunExternalRule("ruleFileName")
			
			oFNamePos = InStrRev(oDoc.fullfileName, "\", -1)   
			'get the file name with the file extension
			oName = Right(oDoc.fullfileName, Len(oDoc.fullfileName) - oFNamePos)
			'get the path of the folder containing the file
			oPath = Left(oDoc.fullfileName, Len(oDoc.fullfileName) - Len(oName))
			'get the file name (without extension)
			oRevNum = oDoc.PropertySets("Inventor Summary Information")("Revision Number").Value
			
			If oRevNum &amp;lt;&amp;gt; 0 Then
				oShortName = Left(oName, Len(oName) - 4) &amp;amp; " - Rev " &amp;amp; oRevNum
			Else
				oShortName = Left(oName, Len(oName) - 4)
			End If
		
			oPDFAddIn = ThisApplication.ApplicationAddIns.ItemById _
			("{0AC6FD96-2F4D-42CE-8BE0-8AEA580399E4}")
			oContext = ThisApplication.TransientObjects.CreateTranslationContext
			oContext.Type = IOMechanismEnum.kFileBrowseIOMechanism
			oOptions = ThisApplication.TransientObjects.CreateNameValueMap
			oDataMedium = ThisApplication.TransientObjects.CreateDataMedium
			
			If oPDFAddIn.HasSaveCopyAsOptions(oDataMedium, oContext, oOptions) Then
			'If oPDFAddIn.HasSaveCopyAsOptions(oDoc, oContext, oOptions) Then 'If using 2018 or newer.
			
				'oOptions.Value("All_Color_AS_Black") = 0
				'oOptions.Value("Remove_Line_Weights") = 0
				oOptions.Value("Vector_Resolution") = 600
				oOptions.Value("Sheet_Range") = Inventor.PrintRangeEnum.kPrintAllSheets
			'oOptions.Value("Custom_Begin_Sheet") = 2
			'oOptions.Value("Custom_End_Sheet") = 4
			End If
			
			'get PDF target folder path
			oFolder = oPath &amp;amp; "\PDF"
			
			'Check for the PDF folder and create it if it does not exist
			If Not System.IO.Directory.Exists(oFolder) Then
			System.IO.Directory.CreateDirectory(oFolder)
			End If
			
			'Set the PDF target file name
			oDataMedium.FileName = oFolder &amp;amp; "\" &amp;amp; oShortName &amp;amp; ".pdf"
			
			
			On Error Goto handlePDFLock
			
			'Publish document
			oPDFAddIn.SaveCopyAs(oDoc, oContext, oOptions, oDataMedium)
		End If
	Next oDoc
	
	'Show message box
	MessageBox.Show("PDF(s) exported to: " &amp;amp; oFolder , "iLogic") 
	'--------------------------------------------------------------------------------
	
	Exit Sub
	
handlePDFLock:MessageBox.Show("At least one PDF could not be saved, " _
	&amp;amp; "most likely someone else has it open.", _
	"No PDF for you " &amp;amp; ThisApplication.GeneralOptions.UserName &amp;amp; "!")
	Resume Next
End Sub&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 27 Sep 2017 18:48:15 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/run-rule-on-all-open-drawings/m-p/7414377#M97642</guid>
      <dc:creator>MechMachineMan</dc:creator>
      <dc:date>2017-09-27T18:48:15Z</dc:date>
    </item>
    <item>
      <title>Re: Run Rule on all open drawings</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/run-rule-on-all-open-drawings/m-p/7415072#M97643</link>
      <description>&lt;P&gt;Hi Justin&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I had tried putting that line of code in exactly where you had it before posting here yesterday but that didn't work.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;the rule I'm running is to update the mass on each drawing as we as always getting N/A for the mass&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here is that rule below&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have tried to change the first 2 lines of code as you stated but that causes this rule to fail.&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;'&lt;/SPAN&gt;&lt;SPAN&gt;For several parts in drawing environment&lt;/SPAN&gt;&lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;update mass to avoid the "N/A" in title block&lt;/SPAN&gt;
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oApp&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Application&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;oApp&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oDoc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingDocument&lt;/SPAN&gt;&lt;SPAN&gt;:  &lt;/SPAN&gt;&lt;SPAN&gt;oDoc&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;oApp&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;ActiveDocument&lt;/SPAN&gt;
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oSheets&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Sheets&lt;/SPAN&gt;
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oSheet&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Sheet&lt;/SPAN&gt;
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oViews&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingViews&lt;/SPAN&gt;
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oView&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingView&lt;/SPAN&gt;
&lt;SPAN&gt;oSheets&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;oDoc&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;Sheets&lt;/SPAN&gt;
&lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;Each&lt;/SPAN&gt; &lt;SPAN&gt;oSheet&lt;/SPAN&gt; &lt;SPAN&gt;In&lt;/SPAN&gt; &lt;SPAN&gt;oSheets&lt;/SPAN&gt;
    &lt;SPAN&gt;oViews&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;oSheet&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;DrawingViews&lt;/SPAN&gt;
    &lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;Each&lt;/SPAN&gt; &lt;SPAN&gt;oView&lt;/SPAN&gt; &lt;SPAN&gt;In&lt;/SPAN&gt; &lt;SPAN&gt;oViews&lt;/SPAN&gt;
        &lt;SPAN&gt;modelName&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt;  &lt;SPAN&gt;oView&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;ReferencedDocumentDescriptor&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;ReferencedDocument&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;DisplayName&lt;/SPAN&gt;
        &lt;SPAN&gt;iProperties&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;Mass&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;modelName&lt;/SPAN&gt;&lt;SPAN&gt;)&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;override automatic calculation&lt;/SPAN&gt;
        &lt;SPAN&gt;iProperties&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;Mass&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;modelName&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt; &lt;SPAN&gt;=&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;set it back to automatic calculation&lt;/SPAN&gt;
        &lt;SPAN&gt;mass&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;iProperties&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;Mass&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;modelName&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt; &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;force to read the property&lt;/SPAN&gt;
    &lt;SPAN&gt;Next&lt;/SPAN&gt;
&lt;SPAN&gt;Next&lt;/SPAN&gt;
&lt;SPAN&gt;InventorVb&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;DocumentUpdate&lt;/SPAN&gt;&lt;SPAN&gt;()&lt;/SPAN&gt; &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;update drawing &lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;. &amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 27 Sep 2017 23:14:51 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/run-rule-on-all-open-drawings/m-p/7415072#M97643</guid>
      <dc:creator>donaldleigh</dc:creator>
      <dc:date>2017-09-27T23:14:51Z</dc:date>
    </item>
    <item>
      <title>Re: Run Rule on all open drawings</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/run-rule-on-all-open-drawings/m-p/7419358#M97644</link>
      <description>&lt;P&gt;Hi &lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/4620899"&gt;@donaldleigh&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Can you please provide sample drawing file to test? Please make sure that information is non confidential.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks and regards,&lt;/P&gt;</description>
      <pubDate>Fri, 29 Sep 2017 06:36:03 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/run-rule-on-all-open-drawings/m-p/7419358#M97644</guid>
      <dc:creator>chandra.shekar.g</dc:creator>
      <dc:date>2017-09-29T06:36:03Z</dc:date>
    </item>
    <item>
      <title>Re: Run Rule on all open drawings</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/run-rule-on-all-open-drawings/m-p/7419393#M97645</link>
      <description>&lt;P&gt;Hi Chandra&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I could send something through but the chances of the drawing showing the mass as N/A would not work I think. as it would be updated once you open it.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The mass appears as N/A have a change has been made to a part inside an assembly that has a drawing.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;IE.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Assembly 1 has parts 1 and 2 inside&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Drawing is of Assembly 1&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If you change one of the parts without updating the assembly while the drawing is open the mass will read as N/A.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The 2nd rule above will update the mass via the drawing and works well. I just need to be able to either add the 2nd rule to the 1st so it updates all open drawings or have a line of code that will run the 2nd rule from within the 1st&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Donald&lt;/P&gt;</description>
      <pubDate>Fri, 29 Sep 2017 06:52:22 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/run-rule-on-all-open-drawings/m-p/7419393#M97645</guid>
      <dc:creator>donaldleigh</dc:creator>
      <dc:date>2017-09-29T06:52:22Z</dc:date>
    </item>
    <item>
      <title>Re: Run Rule on all open drawings</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/run-rule-on-all-open-drawings/m-p/7420303#M97646</link>
      <description>&lt;P&gt;Also, probably just add oDoc.Activate before the iLogicvb.RunExternal rule line in the other chunk....&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;...&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;'For several parts in drawing environment'update mass to avoid the "N/A" in title block
Dim oDoc As DrawingDocument:  &lt;STRONG&gt;oDoc = ThisDoc.Document&lt;/STRONG&gt;
Dim oSheets As Sheets
Dim oSheet As Sheet
Dim oViews As DrawingViews
Dim oView As DrawingView
oSheets = oDoc.Sheets
For Each oSheet In oSheets
    oViews = oSheet.DrawingViews
    For Each oView In oViews
        modelName =  oView.ReferencedDocumentDescriptor.ReferencedDocument.DisplayName
        iProperties.Mass(modelName) = 1 'override automatic calculation
        iProperties.Mass(modelName) = -1 'set it back to automatic calculation
        mass = iProperties.Mass(modelName) 'force to read the property
    Next
Next
InventorVb.DocumentUpdate() 'update drawing &amp;nbsp;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 29 Sep 2017 13:43:32 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/run-rule-on-all-open-drawings/m-p/7420303#M97646</guid>
      <dc:creator>MechMachineMan</dc:creator>
      <dc:date>2017-09-29T13:43:32Z</dc:date>
    </item>
    <item>
      <title>Re: Run Rule on all open drawings</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/run-rule-on-all-open-drawings/m-p/7427320#M97647</link>
      <description>&lt;P&gt;Hi Justin&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I can get the PDF rule to run with no errors but the mass is not updating for each drawing&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Is this because i'm trying to run the Mass rule within the PDF rule when its using this line of code 1st???&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;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oDoc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Inventor&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;Document&lt;/SPAN&gt;
    &lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;Each&lt;/SPAN&gt; &lt;SPAN&gt;oDoc&lt;/SPAN&gt; &lt;SPAN&gt;In&lt;/SPAN&gt; &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;Documents&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;VisibleDocuments&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;I'm thinking because each drawing is open in the background the mass rule is not running at all.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This make sense I hope.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Donald&lt;/P&gt;</description>
      <pubDate>Tue, 03 Oct 2017 06:28:01 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/run-rule-on-all-open-drawings/m-p/7427320#M97647</guid>
      <dc:creator>donaldleigh</dc:creator>
      <dc:date>2017-10-03T06:28:01Z</dc:date>
    </item>
    <item>
      <title>Re: Run Rule on all open drawings</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/run-rule-on-all-open-drawings/m-p/7427328#M97648</link>
      <description>&lt;P&gt;this didn't not work also&amp;nbsp;&lt;img id="smileysad" class="emoticon emoticon-smileysad" src="https://forums.autodesk.com/i/smilies/16x16_smiley-sad.png" alt="Smiley Sad" title="Smiley Sad" /&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 03 Oct 2017 06:29:47 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/run-rule-on-all-open-drawings/m-p/7427328#M97648</guid>
      <dc:creator>donaldleigh</dc:creator>
      <dc:date>2017-10-03T06:29:47Z</dc:date>
    </item>
    <item>
      <title>Re: Run Rule on all open drawings</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/run-rule-on-all-open-drawings/m-p/7444102#M97649</link>
      <description>&lt;P&gt;Hi &lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/4620899"&gt;@donaldleigh&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Is oDoc is activated for before calling external rule?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/2511355"&gt;@MechMachineMan&lt;/a&gt;&amp;nbsp;suggested to &lt;STRONG&gt;oDoc.Activate &lt;/STRONG&gt;before calling external rule.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;Sub Main()
	Dim oDoc As Inventor.Document
	For Each oDoc In ThisApplication.Documents.VisibleDocuments
	
		If (oDoc.documenttype = kDrawingDocumentObject) Then 'Found a drawing
			'find the postion of the last backslash in the path&lt;BR /&gt;&lt;BR /&gt;			&lt;FONT color="#ff0000"&gt;oDoc.Activate
			
			'INSERT CODE HERE TO RUN EXTERNAL RULE
			'iLogicVb.RunExternalRule("ruleFileName")&lt;/FONT&gt;
			
			oFNamePos = InStrRev(oDoc.fullfileName, "\", -1)   
			'get the file name with the file extension
			oName = Right(oDoc.fullfileName, Len(oDoc.fullfileName) - oFNamePos)
			'get the path of the folder containing the file
			oPath = Left(oDoc.fullfileName, Len(oDoc.fullfileName) - Len(oName))
			'get the file name (without extension)
			oRevNum = oDoc.PropertySets("Inventor Summary Information")("Revision Number").Value
			
			If oRevNum &amp;lt;&amp;gt; 0 Then
				oShortName = Left(oName, Len(oName) - 4) &amp;amp; " - Rev " &amp;amp; oRevNum
			Else
				oShortName = Left(oName, Len(oName) - 4)
			End If
		
			oPDFAddIn = ThisApplication.ApplicationAddIns.ItemById _
			("{0AC6FD96-2F4D-42CE-8BE0-8AEA580399E4}")
			oContext = ThisApplication.TransientObjects.CreateTranslationContext
			oContext.Type = IOMechanismEnum.kFileBrowseIOMechanism
			oOptions = ThisApplication.TransientObjects.CreateNameValueMap
			oDataMedium = ThisApplication.TransientObjects.CreateDataMedium
			
			If oPDFAddIn.HasSaveCopyAsOptions(oDataMedium, oContext, oOptions) Then
			'If oPDFAddIn.HasSaveCopyAsOptions(oDoc, oContext, oOptions) Then 'If using 2018 or newer.
			
				'oOptions.Value("All_Color_AS_Black") = 0
				'oOptions.Value("Remove_Line_Weights") = 0
				oOptions.Value("Vector_Resolution") = 600
				oOptions.Value("Sheet_Range") = Inventor.PrintRangeEnum.kPrintAllSheets
			'oOptions.Value("Custom_Begin_Sheet") = 2
			'oOptions.Value("Custom_End_Sheet") = 4
			End If
			
			'get PDF target folder path
			oFolder = oPath &amp;amp; "\PDF"
			
			'Check for the PDF folder and create it if it does not exist
			If Not System.IO.Directory.Exists(oFolder) Then
			System.IO.Directory.CreateDirectory(oFolder)
			End If
			
			'Set the PDF target file name
			oDataMedium.FileName = oFolder &amp;amp; "\" &amp;amp; oShortName &amp;amp; ".pdf"
			
			
			On Error Goto handlePDFLock
			
			'Publish document
			oPDFAddIn.SaveCopyAs(oDoc, oContext, oOptions, oDataMedium)
		End If
	Next oDoc
	
	'Show message box
	MessageBox.Show("PDF(s) exported to: " &amp;amp; oFolder , "iLogic") 
	'--------------------------------------------------------------------------------
	
	Exit Sub
	
handlePDFLock:MessageBox.Show("At least one PDF could not be saved, " _
	&amp;amp; "most likely someone else has it open.", _
	"No PDF for you " &amp;amp; ThisApplication.GeneralOptions.UserName &amp;amp; "!")
	Resume Next
End Sub&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks and regards,&lt;/P&gt;</description>
      <pubDate>Mon, 09 Oct 2017 07:29:36 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/run-rule-on-all-open-drawings/m-p/7444102#M97649</guid>
      <dc:creator>chandra.shekar.g</dc:creator>
      <dc:date>2017-10-09T07:29:36Z</dc:date>
    </item>
    <item>
      <title>Re: Run Rule on all open drawings</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/run-rule-on-all-open-drawings/m-p/7446324#M97650</link>
      <description>&lt;P&gt;Hi Chandra&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks for your help but now when each drawing open on the screen the error come up that the .iam file was not found.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Error in rule: Update Mass, in document: 17093-01-05.idw&lt;/P&gt;&lt;P&gt;iProperties:The document named "General Arrangement.iam" was not found.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;this happens for each drawing&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Donald&lt;/P&gt;</description>
      <pubDate>Mon, 09 Oct 2017 23:00:28 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/run-rule-on-all-open-drawings/m-p/7446324#M97650</guid>
      <dc:creator>donaldleigh</dc:creator>
      <dc:date>2017-10-09T23:00:28Z</dc:date>
    </item>
    <item>
      <title>Re: Run Rule on all open drawings</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/run-rule-on-all-open-drawings/m-p/7446804#M97651</link>
      <description>&lt;P&gt;OK I have the rule working now with no errors.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Needed to change the Update Mass rule as per Justins comment&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Only issue now is if I have 3 Drawings open, Say "Drawing 1&lt;SPAN&gt;.idw&lt;/SPAN&gt;", "Drawing 2&lt;SPAN&gt;.idw&lt;/SPAN&gt;" and "Drawing 3&lt;SPAN&gt;.idw&lt;/SPAN&gt;" and "Drawing 1&lt;SPAN&gt;.idw&lt;/SPAN&gt;" is the active one open on the screen. and all have the mass shown as N/A. After running the PDF rule "Drawing 1.pdf" will have Mass correct but the others still show N/A on the PDF . But when I open the other 2 &lt;SPAN&gt;.idw&amp;nbsp;&lt;/SPAN&gt;drawings their mass has been updated.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;here are both codes again&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks heaps once more&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Print PDF&lt;/P&gt;&lt;P&gt;SyntaxEditor Code Snippet&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;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oDoc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Inventor&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;Document&lt;/SPAN&gt;
    &lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;Each&lt;/SPAN&gt; &lt;SPAN&gt;oDoc&lt;/SPAN&gt; &lt;SPAN&gt;In&lt;/SPAN&gt; &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;Documents&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;VisibleDocuments&lt;/SPAN&gt;
    
        &lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;oDoc&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;documenttype&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;kDrawingDocumentObject&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt; &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;Found a drawing&lt;/SPAN&gt;
            
            &lt;SPAN&gt;oDoc&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;Activate&lt;/SPAN&gt;
            
            &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;INSERT CODE HERE TO RUN EXTERNAL RULE&lt;/SPAN&gt;
            &lt;SPAN&gt;iLogicVb&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;RunExternalRule&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;Update Mass&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;
            
            &lt;SPAN&gt;InventorVb&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;DocumentUpdate&lt;/SPAN&gt;&lt;SPAN&gt;()&lt;/SPAN&gt;

            &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;find the postion of the last backslash in the path&lt;/SPAN&gt;
            &lt;SPAN&gt;oFNamePos&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;InStrRev&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;oDoc&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;fullfileName&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;1&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;   
            &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;get the file name with the file extension&lt;/SPAN&gt;
            &lt;SPAN&gt;oName&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;Right&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;oDoc&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;fullfileName&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;Len&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;oDoc&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;fullfileName&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt; &lt;SPAN&gt;-&lt;/SPAN&gt; &lt;SPAN&gt;oFNamePos&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;
            &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;get the path of the folder containing the file&lt;/SPAN&gt;
            &lt;SPAN&gt;oPath&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;Left&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;oDoc&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;fullfileName&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;Len&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;oDoc&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;fullfileName&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt; &lt;SPAN&gt;-&lt;/SPAN&gt; &lt;SPAN&gt;Len&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;oName&lt;/SPAN&gt;&lt;SPAN&gt;))&lt;/SPAN&gt;
            &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;get the file name (without extension)&lt;/SPAN&gt;
            &lt;SPAN&gt;oRevNum&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;oDoc&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;PropertySets&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;Inventor Summary Information&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;)(&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;Revision Number&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;Value&lt;/SPAN&gt;
            
            &lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;oRevNum&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;oShortName&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;Left&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;oName&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;Len&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;oName&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt; &lt;SPAN&gt;-&lt;/SPAN&gt; &lt;SPAN&gt;4&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt; &lt;SPAN&gt;&amp;amp;&lt;/SPAN&gt; &lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt; - Rev &lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt; &lt;SPAN&gt;&amp;amp;&lt;/SPAN&gt; &lt;SPAN&gt;oRevNum&lt;/SPAN&gt;
            &lt;SPAN&gt;Else&lt;/SPAN&gt;
                &lt;SPAN&gt;oShortName&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;Left&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;oName&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;Len&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;oName&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt; &lt;SPAN&gt;-&lt;/SPAN&gt; &lt;SPAN&gt;4&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;oPDFAddIn&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;ApplicationAddIns&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;ItemById&lt;/SPAN&gt; &lt;SPAN&gt;_&lt;/SPAN&gt;
            &lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;{0AC6FD96-2F4D-42CE-8BE0-8AEA580399E4}&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;
            &lt;SPAN&gt;oContext&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;TransientObjects&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;CreateTranslationContext&lt;/SPAN&gt;
            &lt;SPAN&gt;oContext&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;Type&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;IOMechanismEnum&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;kFileBrowseIOMechanism&lt;/SPAN&gt;
            &lt;SPAN&gt;oOptions&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;TransientObjects&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;CreateNameValueMap&lt;/SPAN&gt;
            &lt;SPAN&gt;oDataMedium&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;TransientObjects&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;CreateDataMedium&lt;/SPAN&gt;
            
            &lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;oPDFAddIn&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;HasSaveCopyAsOptions&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;oDataMedium&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;oContext&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;oOptions&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
            &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;If oPDFAddIn.HasSaveCopyAsOptions(oDoc, oContext, oOptions) Then 'If using 2018 or newer.&lt;/SPAN&gt;
            
                &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;oOptions.Value("All_Color_AS_Black") = 0&lt;/SPAN&gt;
                &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;oOptions.Value("Remove_Line_Weights") = 0&lt;/SPAN&gt;
                &lt;SPAN&gt;oOptions&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;Value&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;Vector_Resolution&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;600&lt;/SPAN&gt;
                &lt;SPAN&gt;oOptions&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;Value&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;Sheet_Range&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;Inventor&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;PrintRangeEnum&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;kPrintAllSheets&lt;/SPAN&gt;
            &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;oOptions.Value("Custom_Begin_Sheet") = 2&lt;/SPAN&gt;
            &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;oOptions.Value("Custom_End_Sheet") = 4&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 PDF target folder path&lt;/SPAN&gt;
            &lt;SPAN&gt;oFolder&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;oPath&lt;/SPAN&gt; &lt;SPAN&gt;&amp;amp;&lt;/SPAN&gt; &lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;\PDF&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;
            
            &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;Check for the PDF folder and create it if it does not exist&lt;/SPAN&gt;
            &lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;Not&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;Directory&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;Exists&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;oFolder&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt; &lt;SPAN&gt;Then&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;Directory&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;CreateDirectory&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;oFolder&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;Set the PDF target file name&lt;/SPAN&gt;
            &lt;SPAN&gt;oDataMedium&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;oFolder&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;oShortName&lt;/SPAN&gt; &lt;SPAN&gt;&amp;amp;&lt;/SPAN&gt; &lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;.pdf&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;
            
            
            &lt;SPAN&gt;On&lt;/SPAN&gt; &lt;SPAN&gt;Error&lt;/SPAN&gt; &lt;SPAN&gt;Goto&lt;/SPAN&gt; &lt;SPAN&gt;handlePDFLock&lt;/SPAN&gt;
                        
            &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;Publish document&lt;/SPAN&gt;
            &lt;SPAN&gt;oPDFAddIn&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;SaveCopyAs&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;oDoc&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;oContext&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;oOptions&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;oDataMedium&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;
        &lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
    &lt;SPAN&gt;Next&lt;/SPAN&gt; &lt;SPAN&gt;oDoc&lt;/SPAN&gt;
    
    &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;Show message box&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;PDF(s) exported to: &lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt; &lt;SPAN&gt;&amp;amp;&lt;/SPAN&gt; &lt;SPAN&gt;oFolder&lt;/SPAN&gt;&lt;SPAN&gt; , &lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;iLogic&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;Exit Sub&lt;/SPAN&gt;
    
&lt;SPAN&gt;handlePDFLock&lt;/SPAN&gt;&lt;SPAN&gt;:&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;At least one PDF could not be saved, &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;"&lt;/SPAN&gt;&lt;SPAN&gt;most likely someone else has it open.&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;No PDF for you &lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt; &lt;SPAN&gt;&amp;amp;&lt;/SPAN&gt; &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;GeneralOptions&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;UserName&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;)&lt;/SPAN&gt;
    &lt;SPAN&gt;Resume&lt;/SPAN&gt; &lt;SPAN&gt;Next&lt;/SPAN&gt;
&lt;SPAN&gt;End Sub&lt;/SPAN&gt;
&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Update Mass&lt;/P&gt;&lt;P&gt;SyntaxEditor Code Snippet&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;For several parts in drawing environment&lt;/SPAN&gt;&lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;update mass to avoid the "N/A" in title block&lt;/SPAN&gt;
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oDoc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingDocument&lt;/SPAN&gt;&lt;SPAN&gt;:  &lt;/SPAN&gt;&lt;SPAN&gt;oDoc&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;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;oSheets&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Sheets&lt;/SPAN&gt;
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oSheet&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Sheet&lt;/SPAN&gt;
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oViews&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingViews&lt;/SPAN&gt;
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oView&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingView&lt;/SPAN&gt;
&lt;SPAN&gt;oSheets&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;oDoc&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;Sheets&lt;/SPAN&gt;
&lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;Each&lt;/SPAN&gt; &lt;SPAN&gt;oSheet&lt;/SPAN&gt; &lt;SPAN&gt;In&lt;/SPAN&gt; &lt;SPAN&gt;oSheets&lt;/SPAN&gt;
    &lt;SPAN&gt;oViews&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;oSheet&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;DrawingViews&lt;/SPAN&gt;
    &lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;Each&lt;/SPAN&gt; &lt;SPAN&gt;oView&lt;/SPAN&gt; &lt;SPAN&gt;In&lt;/SPAN&gt; &lt;SPAN&gt;oViews&lt;/SPAN&gt;
        &lt;SPAN&gt;modelName&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt;  &lt;SPAN&gt;oView&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;ReferencedDocumentDescriptor&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;ReferencedDocument&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;DisplayName&lt;/SPAN&gt;
        &lt;SPAN&gt;iProperties&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;Mass&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;modelName&lt;/SPAN&gt;&lt;SPAN&gt;)&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;override automatic calculation&lt;/SPAN&gt;
        &lt;SPAN&gt;iProperties&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;Mass&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;modelName&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt; &lt;SPAN&gt;=&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;set it back to automatic calculation&lt;/SPAN&gt;
        &lt;SPAN&gt;mass&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;iProperties&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;Mass&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;modelName&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt; &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;force to read the property&lt;/SPAN&gt;
    &lt;SPAN&gt;Next&lt;/SPAN&gt;
&lt;SPAN&gt;Next&lt;/SPAN&gt;
&lt;SPAN&gt;InventorVb&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;DocumentUpdate&lt;/SPAN&gt;&lt;SPAN&gt;()&lt;/SPAN&gt; &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;update drawing&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 10 Oct 2017 06:17:30 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/run-rule-on-all-open-drawings/m-p/7446804#M97651</guid>
      <dc:creator>donaldleigh</dc:creator>
      <dc:date>2017-10-10T06:17:30Z</dc:date>
    </item>
    <item>
      <title>Re: Run Rule on all open drawings</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/run-rule-on-all-open-drawings/m-p/7454235#M97652</link>
      <description>&lt;P&gt;Hi &lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/4620899"&gt;@donaldleigh&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Try the following changes in iLogic. Initially, update mass details for each document&amp;nbsp;and then publish a pdf for each document.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;Sub Main()
    Dim oDoc As Inventor.Document
    For Each oDoc In ThisApplication.Documents.VisibleDocuments
    
        If (oDoc.documenttype = kDrawingDocumentObject) Then 'Found a drawing
            
            oDoc.Activate
            
            'INSERT CODE HERE TO RUN EXTERNAL RULE
            iLogicVb.RunExternalRule("Update Mass")
            
            InventorVb.DocumentUpdate()
		
		End If

            
    Next oDoc
    
	PublishPDF()
    
End Sub

Sub PublishPDF()

    Dim oDoc As Inventor.Document
    For Each oDoc In ThisApplication.Documents.VisibleDocuments
    
        If (oDoc.documenttype = kDrawingDocumentObject) Then 'Found a drawing
            
            oDoc.Activate        
            
            'find the postion of the last backslash in the path
            oFNamePos = InStrRev(oDoc.fullfileName, "\", -1)   
            'get the file name with the file extension
            oName = Right(oDoc.fullfileName, Len(oDoc.fullfileName) - oFNamePos)
            'get the path of the folder containing the file
            oPath = Left(oDoc.fullfileName, Len(oDoc.fullfileName) - Len(oName))
            'get the file name (without extension)
            oRevNum = oDoc.PropertySets("Inventor Summary Information")("Revision Number").Value
            
            If oRevNum &amp;lt;&amp;gt; 0 Then
                oShortName = Left(oName, Len(oName) - 4) &amp;amp; " - Rev " &amp;amp; oRevNum
            Else
                oShortName = Left(oName, Len(oName) - 4)
            End If
        
            oPDFAddIn = ThisApplication.ApplicationAddIns.ItemById _
            ("{0AC6FD96-2F4D-42CE-8BE0-8AEA580399E4}")
            oContext = ThisApplication.TransientObjects.CreateTranslationContext
            oContext.Type = IOMechanismEnum.kFileBrowseIOMechanism
            oOptions = ThisApplication.TransientObjects.CreateNameValueMap
            oDataMedium = ThisApplication.TransientObjects.CreateDataMedium
            
            If oPDFAddIn.HasSaveCopyAsOptions(oDataMedium, oContext, oOptions) Then
            'If oPDFAddIn.HasSaveCopyAsOptions(oDoc, oContext, oOptions) Then 'If using 2018 or newer.
            
                'oOptions.Value("All_Color_AS_Black") = 0
                'oOptions.Value("Remove_Line_Weights") = 0
                oOptions.Value("Vector_Resolution") = 600
                oOptions.Value("Sheet_Range") = Inventor.PrintRangeEnum.kPrintAllSheets
            'oOptions.Value("Custom_Begin_Sheet") = 2
            'oOptions.Value("Custom_End_Sheet") = 4
            End If
            
            'get PDF target folder path
            oFolder = oPath &amp;amp; "\PDF"
            
            'Check for the PDF folder and create it if it does not exist
            If Not System.IO.Directory.Exists(oFolder) Then
            System.IO.Directory.CreateDirectory(oFolder)
            End If
            
            'Set the PDF target file name
            oDataMedium.FileName = oFolder &amp;amp; "\" &amp;amp; oShortName &amp;amp; ".pdf"
            
            
            On Error Goto handlePDFLock
                        
            'Publish document
            oPDFAddIn.SaveCopyAs(oDoc, oContext, oOptions, oDataMedium)
        End If
    Next oDoc
    
    'Show message box
    MessageBox.Show("PDF(s) exported to: " &amp;amp; oFolder , "iLogic") 
    '--------------------------------------------------------------------------------
    
    Exit Sub
    
handlePDFLock:MessageBox.Show("At least one PDF could not be saved, " _
    &amp;amp; "most likely someone else has it open.", _
    "No PDF for you " &amp;amp; ThisApplication.GeneralOptions.UserName &amp;amp; "!")
    Resume Next


End Sub&lt;/PRE&gt;
&lt;P&gt;Thanks and regards,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 12 Oct 2017 11:29:28 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/run-rule-on-all-open-drawings/m-p/7454235#M97652</guid>
      <dc:creator>chandra.shekar.g</dc:creator>
      <dc:date>2017-10-12T11:29:28Z</dc:date>
    </item>
    <item>
      <title>Re: Run Rule on all open drawings</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/run-rule-on-all-open-drawings/m-p/7456452#M97653</link>
      <description>&lt;P&gt;Hi Chandra&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Sill not updating&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have even tried to have the update mass rule on all drawings open with out PDFing.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This didn't work also. It appears to open each drawing but will only update what ever drawing is open 1st when run.&amp;nbsp;&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;Sub&lt;/SPAN&gt; &lt;SPAN&gt;Main&lt;/SPAN&gt;&lt;SPAN&gt;()&lt;/SPAN&gt;
    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oDoc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Inventor&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;Document&lt;/SPAN&gt;
    &lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;Each&lt;/SPAN&gt; &lt;SPAN&gt;oDoc&lt;/SPAN&gt; &lt;SPAN&gt;In&lt;/SPAN&gt; &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;Documents&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;VisibleDocuments&lt;/SPAN&gt;
    
        &lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;oDoc&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;documenttype&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;kDrawingDocumentObject&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt; &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;Found a drawing&lt;/SPAN&gt;
            &lt;SPAN&gt;oDoc&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;Activate&lt;/SPAN&gt;
            
            &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;INSERT CODE HERE TO RUN EXTERNAL RULE&lt;/SPAN&gt;
            &lt;SPAN&gt;iLogicVb&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;RunExternalRule&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;Update Mass&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;
            
            &lt;SPAN&gt;InventorVb&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;DocumentUpdate&lt;/SPAN&gt;&lt;SPAN&gt;()&lt;/SPAN&gt;
        
        &lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
    
    &lt;SPAN&gt;Next&lt;/SPAN&gt; &lt;SPAN&gt;oDoc&lt;/SPAN&gt;
            
&lt;SPAN&gt;End Sub&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;I don't expect you to spend much more time on this please&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Cheers&lt;/P&gt;&lt;P&gt;Donald&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 12 Oct 2017 21:54:37 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/run-rule-on-all-open-drawings/m-p/7456452#M97653</guid>
      <dc:creator>donaldleigh</dc:creator>
      <dc:date>2017-10-12T21:54:37Z</dc:date>
    </item>
    <item>
      <title>Re: Run Rule on all open drawings</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/run-rule-on-all-open-drawings/m-p/7465753#M97654</link>
      <description>&lt;P&gt;Hi &lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/4620899"&gt;@donaldleigh&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Try the following changes in rule for updating mass property.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;'For several parts in drawing environment'update mass to avoid the "N/A" in title block
Dim oDoc As DrawingDocument:  oDoc = ThisDoc.Document
Dim oSheets As Sheets
Dim oSheet As Sheet
Dim oViews As DrawingViews
Dim oView As DrawingView
oSheets = oDoc.Sheets
For Each oSheet In oSheets
    oViews = oSheet.DrawingViews
    For Each oView In oViews
        modelName =  oView.ReferencedDocumentDescriptor.ReferencedDocument.DisplayName
        iProperties.Mass(modelName) = 1 'override automatic calculation
        iProperties.Mass(modelName) = -1 'set it back to automatic calculation&lt;BR /&gt;	&lt;SPAN style="margin: 0px; color: purple; font-family: 'Courier New'; font-size: 10pt;"&gt;&lt;STRONG&gt;ThisApplication&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="margin: 0px; color: black; font-family: 'Courier New'; font-size: 10pt;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="margin: 0px; color: maroon; font-family: 'Courier New'; font-size: 10pt;"&gt;UserInterfaceManager&lt;/SPAN&gt;&lt;SPAN style="margin: 0px; color: black; font-family: 'Courier New'; font-size: 10pt;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="margin: 0px; color: maroon; font-family: 'Courier New'; font-size: 10pt;"&gt;DoEvents&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN style="margin: 0px; color: black; font-family: 'Courier New'; font-size: 10pt;"&gt;()&lt;/SPAN&gt;&lt;/STRONG&gt; 
        mass = iProperties.Mass(modelName) 'force to read the property
    Next
Next
InventorVb.DocumentUpdate() 'update drawing		&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks and regards,&lt;/P&gt;</description>
      <pubDate>Tue, 17 Oct 2017 05:08:04 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/run-rule-on-all-open-drawings/m-p/7465753#M97654</guid>
      <dc:creator>chandra.shekar.g</dc:creator>
      <dc:date>2017-10-17T05:08:04Z</dc:date>
    </item>
    <item>
      <title>Re: Run Rule on all open drawings</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/run-rule-on-all-open-drawings/m-p/7465819#M97655</link>
      <description>&lt;P&gt;Hi Chandra&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This didn't work also&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm at the point where I feel like giving up.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The "PDF all Drawings Open" works and the "mass update" works on individual drawings but cant get the 2 working together&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Cheers&lt;/P&gt;</description>
      <pubDate>Tue, 17 Oct 2017 05:49:25 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/run-rule-on-all-open-drawings/m-p/7465819#M97655</guid>
      <dc:creator>donaldleigh</dc:creator>
      <dc:date>2017-10-17T05:49:25Z</dc:date>
    </item>
    <item>
      <title>Re: Run Rule on all open drawings</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/run-rule-on-all-open-drawings/m-p/7483022#M97656</link>
      <description>&lt;P&gt;Hi &lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/4620899"&gt;@donaldleigh&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Try the following iLogic code to update mass and publish pdf individually. Here, all documents are closed and reopened except current drawing.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Unfortunately, the code is tested in Inventor 2017. Currently, Inventor 2014 is old version and unavailable to test.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;Sub Main()
	Dim oDocList As New List(Of String)
	Dim currDoc as String 
	currDoc = ThisDoc.PathAndFileName(True)
    Dim oDoc As Inventor.Document
    For Each oDoc In ThisApplication.Documents.VisibleDocuments    
        If (oDoc.documenttype = kDrawingDocumentObject) Then 'Found a drawing
			If Not currDoc = oDoc.fullfileName Then
				oDocList.Add(oDoc.fullfileName)
				oDoc.Close
			Else
				
				iLogicVb.RunExternalRule("Update Mass")            
            	InventorVb.DocumentUpdate()
				
				PublishPDF()				
			End If			
		End If            
    Next 
	
	For i= 0 To oDocList.Count-1
		
		ThisDoc.Launch(oDocList(i))
		
		iLogicVb.RunExternalRule("Update Mass")            
        InventorVb.DocumentUpdate()
		
		PublishPDF()
		
	Next
End Sub

Sub PublishPDF()

    Dim oDoc As Inventor.Document
    oDOc = ThisApplication.ActiveDocument
    oDoc.Activate        
    
    'find the postion of the last backslash in the path
    oFNamePos = InStrRev(oDoc.fullfileName, "\", -1)   
    'get the file name with the file extension
    oName = Right(oDoc.fullfileName, Len(oDoc.fullfileName) - oFNamePos)
    'get the path of the folder containing the file
    oPath = Left(oDoc.fullfileName, Len(oDoc.fullfileName) - Len(oName))
    'get the file name (without extension)
    oRevNum = oDoc.PropertySets("Inventor Summary Information")("Revision Number").Value
    
    If oRevNum &amp;lt;&amp;gt; 0 Then
        oShortName = Left(oName, Len(oName) - 4) &amp;amp; " - Rev " &amp;amp; oRevNum
    Else
        oShortName = Left(oName, Len(oName) - 4)
    End If

    oPDFAddIn = ThisApplication.ApplicationAddIns.ItemById _
    ("{0AC6FD96-2F4D-42CE-8BE0-8AEA580399E4}")
    oContext = ThisApplication.TransientObjects.CreateTranslationContext
    oContext.Type = IOMechanismEnum.kFileBrowseIOMechanism
    oOptions = ThisApplication.TransientObjects.CreateNameValueMap
    oDataMedium = ThisApplication.TransientObjects.CreateDataMedium
    
    If oPDFAddIn.HasSaveCopyAsOptions(oDataMedium, oContext, oOptions) Then
    'If oPDFAddIn.HasSaveCopyAsOptions(oDoc, oContext, oOptions) Then 'If using 2018 or newer.
    
        'oOptions.Value("All_Color_AS_Black") = 0
        'oOptions.Value("Remove_Line_Weights") = 0
        oOptions.Value("Vector_Resolution") = 600
        oOptions.Value("Sheet_Range") = Inventor.PrintRangeEnum.kPrintAllSheets
    'oOptions.Value("Custom_Begin_Sheet") = 2
    'oOptions.Value("Custom_End_Sheet") = 4
    End If
    
    'get PDF target folder path
    oFolder = oPath &amp;amp; "\PDF"
    
    'Check for the PDF folder and create it if it does not exist
    If Not System.IO.Directory.Exists(oFolder) Then
        System.IO.Directory.CreateDirectory(oFolder)
        End If
        
        'Set the PDF target file name
        oDataMedium.FileName = oFolder &amp;amp; "\" &amp;amp; oShortName &amp;amp; ".pdf"
        
        
        On Error Goto handlePDFLock
                    
        'Publish document
        oPDFAddIn.SaveCopyAs(oDoc, oContext, oOptions, oDataMedium)
    End If
   
    
    'Show message box
    MessageBox.Show("PDF(s) exported to: " &amp;amp; oFolder , "iLogic") 
    

End Sub

&lt;/PRE&gt;
&lt;P&gt;Please feel free to contact if there is any queries.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If solves problem, click on "Accept as solution" / give a "Kudo".&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks and regards,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 23 Oct 2017 10:03:41 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/run-rule-on-all-open-drawings/m-p/7483022#M97656</guid>
      <dc:creator>chandra.shekar.g</dc:creator>
      <dc:date>2017-10-23T10:03:41Z</dc:date>
    </item>
  </channel>
</rss>

