Hello Curtis & thanks for the reply - the code works but my explanation has hit a problem.
I already have code to create a pdf on the desktop & thought (wrongly) 'run rule' instead of "Printing" would print the file described by the text:
if there are 3 drawings open only one is printed - the active document (i think).
Guessing I need to transfer the file path information from your code into the print pdf code - something like:

Here is all the code - will try to merge them
Dim oDoc As Document
For Each oDoc In ThisApplication.Documents
If oDoc.DocumentType = DocumentTypeEnum.kDrawingDocumentObject Then
'print code there
MessageBox.Show("Printing: " & vbLf & oDoc.FullFileName, "iLogic")
End If
Next
'pass info from above into rule below
'the rule below will print a pdf to a desktop folder with defer updates on
Dim oDoc As Document'
oDoc = ThisApplication.ActiveDocument'
'oValue = oDoc.DrawingSettings.DeferUpdates ()'
oDoc.DrawingSettings.DeferUpdates = "True"'
ThisDoc.Save
Dim oFolder As String = System.Environment.GetFolderPath(System.Environment.SpecialFolder.Desktop) & "\PDF"
If Not System.IO.Directory.Exists(oFolder) Then
System.IO.Directory.CreateDirectory(oFolder)
End If
oPath = ThisDoc.Path
oFileName = ThisDoc.FileName(False) 'without extension
oRevNum = iProperties.Value("project", "revision number")
oPDFAddIn = ThisApplication.ApplicationAddIns.ItemById _
("{0AC6FD96-2F4D-42CE-8BE0-8AEA580399E4}")
oDocument = ThisApplication.ActiveDocument
oContext = ThisApplication.TransientObjects.CreateTranslationContext
oContext.Type = IOMechanismEnum.kFileBrowseIOMechanism
oOptions = ThisApplication.TransientObjects.CreateNameValueMap
oDataMedium = ThisApplication.TransientObjects.CreateDataMedium
If oPDFAddIn.HasSaveCopyAsOptions(oDocument, oContext, oOptions) Then
oOptions.Value("All_Color_AS_Black") = 1
oOptions.Value("Remove_Line_Weights") = 1
oOptions.Value("Vector_Resolution") = 400
oOptions.Value("Sheet_Range") = Inventor.PrintRangeEnum.kPrintAllSheets
'oOptions.Value("Custom_Begin_Sheet") = 2'oOptions.Value("Custom_End_Sheet") = 4
End If
'Set the PDF target file name
oDataMedium.FileName = oFolder & "\" & oFileName & ".pdf"
'Publish document
oPDFAddIn.SaveCopyAs(oDocument, oContext, oOptions, oDataMedium)
'------end of iLogic-------
Regards
Andrew