Announcements
Attention for Customers without Multi-Factor Authentication or Single Sign-On - OTP Verification rolls out April 2025. Read all about it here.
BM_Ashraf
in reply to: jordyCVWSE

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.

Blue Mech

Add-ins for Inventor!