Để chia sẽ bản vẽ 2D Inventer sang các phần mềm khác, để xem cũng như gia công thì ta cần chuyển định dạng bản vẽ của Inventor là .dwg sang các định dạng phổ biến như là .pdf và .dxf.
Trong Inventor có lệnh Export nhưng với số lượng bản vẽ lớn thì làm thủ công mất thời gian và dễ sai sót. Vì vậy việc xuất tự động và hàng loạt là cần thiết. Dưới đây là đoạn code iLogic thực hiện chức năng xuất bản vẽ 2D của Inventor sang định dạng file .pdf và .dxf một cách nhanh chóng và chính xác.
Code iLogic:
Sub Main()
Dim myDate As String = Now().ToString("yyyy-MM-dd HHmmss")
myDate = myDate.Replace(":","") ' & " - " & TypeString
userChoice = InputRadioBox("範囲を定義した", "This Document", "All Open Documents", True, Title := "Defined the scope")
UserSelectedActionList = New String(){"DXF & PDF", "PDF Only", "DXF Only"}
UserSelectedAction = InputListBox("選択したビューでどのようなアクションを実行する必要がありますか?", _
UserSelectedActionList, UserSelectedActionList(0), Title := "Action to Perform", ListName := "オプション")
Select UserSelectedAction
Case "DXF & PDF": UserSelectedAction = 3
Case "PDF Only": UserSelectedAction = 1
Case "DXF Only": UserSelectedAction = 2
End Select
If userChoice Then
Call MakePDFFromDoc(ThisApplication.ActiveDocument, myDate, UserSelectedAction)
Else
For Each oDoc In ThisApplication.Documents
If oDoc.DocumentType = kDrawingDocumentObject
Try
If Len(oDoc.File.FullFileName)>0 Then
Call MakePDFFromDoc(oDoc, myDate, UserSelectedAction)
End If
Catch
End Try
End If
Next
End If
End Sub
Sub MakePDFFromDoc(ByRef oDocument As Document, DateString As String, UserSelectedAction As Integer)
' oPath = oDocument.Path
' oFileName = oDocument.FileName(False) 'without extension
'oDocument = ThisApplication.ActiveDocument
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
oFullFileName = oDocument.File.FullFileName
oPath = Left(oFullFileName, InStrRev(oFullFileName, "\")-1)
oFileName = Right(oFullFileName, Len(oFullFileName)-InStrRev(oFullFileName, "\"))
oFilePart = Left(oFileName, InStrRev(oFileName, ".")-1)
'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") = 0
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 & "\DXF-PDF (" & DateString & ")"
'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 & ".dxf", True) 'For DXF's
End If
'oDocument.SaveAs(oFolder & "\" & ThisDoc.ChangeExtension(".dxf"), True) 'For DXF's
'------end of iLogic-------
End Sub
Bạn có thể tùy chỉnh các thông số cho phù hợp với công việc của mình.
Cách sử dụng:
Copy code vào trình soạn văn bản như NotePad, lưu lại dưới dạng file .iLogicVb (ví dụ ExportDXF-PDF.iLogicVb) hoặc .txt cũng được (ExportDXF-PDF.txt).
Mở các file bản vẽ cần xuất.
Vào Tab Mange -> iLogic Browser -> Phải chuột chọn Add External Rule -> Chọn đến đường dẫn chứa file vừa lưu.
Phải chuột vào Rule ExportDXF-PDF chụn Run Rule.
Hộp thoại xuất hiện. Nếu xuất một file bản vẽ hiện hành đang mở chọn This Document, nếu xuất tất cả các file bản vẽ đang mở thì chọn All Open Documents.
Nhấn OK, hộp thoại tiếp theo xuất hiện các tùy chọn xuất.
Chọn một tùy chọn rồi nhấn OK.
Nếu lần đầu tiên chạy Rule hộp thoại sẽ xuất hiện để thiết lập thông số xuất bản vẽ. Nhấn Next để thiết lập phù hợp với yêu cầu của mình. Các lần sau hộp thoại sẽ không xuất hiện nữa.
Nhấn Finish. Một thư mục mới sẽ được tạo để chứa các file vừa xuất có tên là DXF-PDF (năm-tháng- ngày giờphútgiây).
Hoàn thành.