01-09-2024
12:42 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
01-09-2024
12:42 AM
Hi,
Hope this helps you!
Sub Main() oInvApp = ThisApplication Dim myDate As String = Now().ToString("dd-MM-yyyy") myDate = myDate.Replace(":","") ' & " - " & TypeString userChoice = InputRadioBox("Defined the scope", "This Document", "All Open Documents", True, Title := "Defined the scope") UserSelectedActionList = New String(){"DWG & PDF", "PDF Only", "DWG Only"} UserSelectedAction = InputListBox("What action must be performed with selected views?", _ UserSelectedActionList, UserSelectedActionList(0), Title := "Action to Perform", ListName := "Options") Select UserSelectedAction Case "DWG & PDF": UserSelectedAction = 3 Case "PDF Only": UserSelectedAction = 1 Case "DWG Only": UserSelectedAction = 2 End Select If userChoice Then Call MakePDFFromDoc(oInvApp.ActiveDocument, myDate, UserSelectedAction) Else For Each oDoc In oInvApp.Documents If oDoc.DocumentType <> kDrawingDocumentObject Then Continue For Try If Len(oDoc.File.FullFileName) > 0 Then Call MakePDFFromDoc(oDoc, myDate, UserSelectedAction) End If Catch End Try Next End If End Sub Dim oInvApp As Inventor.Application Sub MakePDFFromDoc(ByRef oDocument As DrawingDocument, DateString As String, UserSelectedAction As Integer) 'oPath = oDocument.Path 'oFileName = oDocument.FileName(False) 'without extension 'oDocument = ThisApplication.ActiveDocument Dim sDescript As String = oDocument.PropertySets("Design Tracking Properties")("Description").Value oPDFAddIn = oInvApp.ApplicationAddIns.ItemById("{0AC6FD96-2F4D-42CE-8BE0-8AEA580399E4}") oContext = oInvApp.TransientObjects.CreateTranslationContext oContext.Type = IOMechanismEnum.kFileBrowseIOMechanism oOptions = oInvApp.TransientObjects.CreateNameValueMap oDataMedium = oInvApp.TransientObjects.CreateDataMedium oFullFileName = oDocument.File.FullFileName oPath = Left(oFullFileName, InStrRev(oFullFileName, "\")-1) oFileName = Right(oFullFileName, Len(oFullFileName)-InStrRev(oFullFileName, "\")) ' oFilePart = Left(oFileName, InStrRev(oFileName, ".") - 1) 'REF Model Dim oRefModel As Document = oDocument.ReferencedDocuments.Item(1) oRevNum = oRefModel.PropertySets("Inventor Summary Information").Item("Revision Number").Value Dim oExtra As String = Nothing If oRevNum = "" Or oRevNum Is Nothing Then oExtra = Nothing Else oExtra = "_" & oRevNum End If oFilePart = Left(oFileName, InStrRev(oFileName, ".") -1) & " " & sDescript & oExtra 'oRevNum = oDocument.iProperties.Value("Project", "Revision Number") 'oDocument = ThisApplication.ActiveDocument 'If oPDFAddIn.HasSaveCopyAsOptions(oDataMedium, oContext, oOptions) Then oOptions.Value("All_Color_AS_Black") = 0 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 'get PDF target folder path 'oFolder = Left(oPath, InStrRev(oPath, "\")) & "PDF" oFolder = oPath & "\Export DWG & PDF (" & DateString & ")" oDirectoryName = System.IO.Path.GetDirectoryName(oFullFileName) '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 & "\" & oFilePart & ".pdf" 'Publish document If (UserSelectedAction = 1) Or (UserSelectedAction = 3) Then oPDFAddIn.SaveCopyAs(oDocument, oContext, oOptions, oDataMedium)'For PDF's End If If (UserSelectedAction = 2) Or (UserSelectedAction = 3) Then oDocument.SaveAs(oFolder & "\" & oFilePart & ".dwg", True) 'For DWG's End If 'oDocument.SaveAs(oFolder & "\" & ThisDoc.ChangeExtension(".DWG"), True) 'For DWG's '------end of iLogic------- End Sub
If this solved your problem, or answered your question, please click ACCEPT SOLUTION.