Confira aqui um código iLogic para Autodesk Inventor que tem como finalidade salvar uma cópia do seu desenho com extensão em *.pdf
O objetivo do código é criar uma cópia em *.pdf no momento em que um arquivo *.idw ou *.dwg for salvo no Inventor.
Trabalhar com esse código permite ao projetista:
- Conferir modificações com relação a última versão salva,
- Acessar rapidamente, via adobe Reader, seus projetos para discussão e demonstração,
- Certificar-se que, após salvar e fechar o Programa, seu *.pdf é cópia fiel de suas últimas modificações.
Para instalar:
- Feche todos os arquivos do Inventor;
- Abra seu template *.idw ou *.dwg, conforme você utiliza;
- Navegue até o menu "Manage" e clique em "Add Rule";
- Digite o nome para "Rule";
- Copie o código abaixo e cole na "Rule" que você acabou de criar;
-
' Get the PDF translator Add-In. Dim PDFAddIn As TranslatorAddIn PDFAddIn = ThisApplication.ApplicationAddIns.ItemById("{0AC6FD96-2F4D-42CE-8BE0-8AEA580399E4}") 'Set a reference to the active document (the document to be published). Dim oDocument As Document oDocument = ThisApplication.ActiveDocument Dim oContext As TranslationContext oContext = ThisApplication.TransientObjects.CreateTranslationContext oContext.Type = IOMechanismEnum.kFileBrowseIOMechanism ' Create a NameValueMap object Dim oOptions As NameValueMap oOptions = ThisApplication.TransientObjects.CreateNameValueMap ' Create a DataMedium object Dim oDataMedium As DataMedium oDataMedium = ThisApplication.TransientObjects.CreateDataMedium ' Check whether the translator has 'SaveCopyAs' options If PDFAddIn.HasSaveCopyAsOptions(oDataMedium, 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 PDFDirectory = ThisDoc.Path oFileName = ThisDoc.FileName(False) 'without extension If ThisDoc.Path = "" Then MessageBox.Show("Arquivo PDF não criado! Clique novamente no botão "Save" para gerar a cópia em PDF", "iLogic") Return 'exit rule Else oDataMedium.FileName = PDFDirectory & "\" & oFileName & ".PDF" End If 'Publish document. PDFAddIn.SaveCopyAs(oDocument, oContext, oOptions, oDataMedium) 'Launch the PDF file in whatever application Windows is set to open this document type with 'i = MessageBox.Show("Preview the PDF file?", "PDF Preview",MessageBoxButtons.YesNo,MessageBoxIcon.Question) 'If i = vbYes Then ThisDoc.Launch(oDataMedium.FileName)
- Feche a janela e Navegue novamente até o menu "Manage" e clique em "Event Triggers";
- Selecione "Before Save Document" e clique em "Select Rules..."
- Selecione a regra com o nome que você acabou de criar e feche as janelas em "OK"
- Salve o arquivo.
A partir deste momento os novos arquivos criados a partir deste template estarão criando um cópia automática em *.PDF.
Obs: A cópia em *.pdf, somente será executada a partir da segunda vez que você salvar o desenho.
Bom Trabalho!
Como Gerar PDF de .*IDW ou *.DWG Automaticamente: Autodesk Inventor