Como Gerar PDF de .*IDW ou *.DWG Automaticamente: Autodesk Inventor

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:

  1. Feche todos os arquivos do Inventor;
  2. Abra seu template *.idw ou *.dwg, conforme você utiliza;
  3. Navegue até o menu "Manage" e clique em "Add Rule";
  4. Digite o nome para "Rule";
  5. Copie o código abaixo e cole na "Rule" que você acabou de criar;
  6. ' 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)
    
  7. Feche a janela e Navegue novamente até o menu "Manage" e clique em "Event Triggers";
  8. Selecione "Before Save Document" e clique em "Select Rules..."
  9. Selecione a regra com o nome que você acabou de criar e feche as janelas em "OK"
  10. 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
Rolar para o topo