AnsweredAssumed Answered

How to Add a file to PDM using solidworks API

Question asked by Josh Hixon on May 7, 2019
Latest reply on May 7, 2019 by Michael Dekoning

Okay, I have fought with this long enough, time to ask the genius of the forum community.

 

I have a macro that saves a drawing as a PDF into our PDM professional vault, problem is that it is grayed out because it is a local version. I can right click and add to the vault, but I would like for this macro to not only add it to the vault but to also check it in. I have poured over the PDM API help files and am still so lost. I find the way the help files code things very difficult to understand.  My visual basic skill is growing but pretty beginner level still.

 

This is what I have but my very last line seems to be an issue I can't figure out what to do with it.

Dim swApp As SldWorks.SldWorks

Dim swModel As SldWorks.ModelDoc2

Dim swDraw As SldWorks.DrawingDoc

Dim Filepath As String

Dim FileName As String

Dim boolstatus As Boolean

Dim longstatus As Long, longwarnings As Long

Dim vault1 As New EdmVault5

 

Sub main()

 

 

Set swApp = Application.SldWorks

Set swModel = swApp.ActiveDoc

' Check to see if a drawing file is loaded.

 

If (swModel Is Nothing) Or (swModel.GetType <> swDocDRAWING) Then

 

 

swApp.SendMsgToUser ("Only for use with Drawings")

 

 

Exit Sub

 

 

End If

 

 

' vault login

 

 

vault1.LoginAuto "SPECTRUM", 0

 

 

' Set filepath and add tag on file name using custom properties

 

Set swDraw = swModel

Dim Rev As String

Dim folder As String

 

 

Rev = swModel.CustomInfo("Revision")

 

 

Filepath = "C:\SPECTRUM\Spectrum\Shop Pdf Access\"

 

 

If Right(Filepath, 1) <> "\" Then

Filepath = Filepath & "\"

End If

 

 

FileName = Left(swDraw.GetTitle, Len(swDraw.GetTitle) - 10)

file = Filepath + FileName + " - " + Rev + ".PDF"

swDraw.SaveAs (file)

 

 

'add and checkin to vault

 

 

vault1.RootFolder.AddFile 0, Filepath, file, 0

 

 

End Sub

Outcomes