Announcements
Attention for Customers without Multi-Factor Authentication or Single Sign-On - OTP Verification rolls out April 2025. Read all about it here.
donnie.morris
1201 Views, 10 Replies

Export PDF and STP in one rule

I have a piece of code that exports a file from the .idw to a STP. I was wondering if that code could be adapted to export both a .stp and .pdf? Is this possible?

 

Here's the code: Export to STP

 

Dim doc As DrawingDocument = ThisDoc.Document

Dim sheet As Sheet = doc.ActiveSheet

Dim view As DrawingView = sheet.DrawingViews.Item(1)

Dim partDoc As PartDocument = view.ReferencedDocumentDescriptor.ReferencedDocument

 

' Get current location of this file

Dim ExportPath As String = ThisDoc.Path

 

' Check that this file has been saved and actually exists on disk

If String.IsNullOrEmpty(ExportPath) Then

        MsgBox("This file has not yet been saved and doesn't exist on disk!" _

        & vbLf & "Please save it first", 64, "Lord iLogic")

        Return

End If

 

Dim drawingNumber = iProperties.Value("Custom", "Drawing Number")

 

Dim dialog As Inventor.FileDialog

ThisApplication.CreateFileDialog(dialog)

 

dialog.InitialDirectory = ExportPath

dialog.FileName = drawingNumber

dialog.DialogTitle = "Save"

dialog.Filter = "Step files(*.stp)|*.stp|All Files (*.*)|*.*"

dialog.CancelError = True

Try

        dialog.ShowSave()

Catch ex As Exception

        Return

End Try

 

' Get the STEP translator Add-In.

Dim oSTEPTranslator As TranslatorAddIn = ThisApplication.ApplicationAddIns.ItemById("{90AF7F40-0C01-11D5-8E83-0010B541CD80}")

Dim oContext As TranslationContext = ThisApplication.TransientObjects.CreateTranslationContext

Dim oOptions As NameValueMap = ThisApplication.TransientObjects.CreateNameValueMap

 

If oSTEPTranslator.HasSaveCopyAsOptions(partDoc, oContext, oOptions) Then

        ' Set application protocol.

        ' 2 = AP 203 - Configuration Controlled Design

        ' 3 = AP 214 - Automotive Design

        oOptions.Value("ApplicationProtocolType") = 3

        ' Other options...

        'oOptions.Value("Author") = ""

        'oOptions.Value("Authorization") = ""

        'oOptions.Value("Description") = ""

        'oOptions.Value("Organization") = ""

        oContext.Type = IOMechanismEnum.kFileBrowseIOMechanism

 

        Dim oData As DataMedium = ThisApplication.TransientObjects.CreateDataMedium

        oData.FileName = dialog.FileName

 

        oSTEPTranslator.SaveCopyAs(partDoc, oContext, oOptions, oData)

End If