Hi all,
After doing a bunch of Googling I have attempted to make my first PDM task/macro. The purpose is to allow anyone to create a batch of PDF's and DXF's which we send to manufacturers. The basic process is it creates a folder from the input card and today's date, saves any drawing as a PDF and any part that has sheet metal as a DXF. It does nothing with assemblies or non sheet metal parts.
The code I've written is:
Option Explicit
Sub main()
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim vConfNameArr As Variant
Dim vConfName As Variant
Dim bShowConfig As Boolean
Dim bRebuild As Boolean
Dim bRet As Boolean
Dim swDocSpecification As SldWorks.DocumentSpecification
Dim Errors As Long
Dim Warning As Long
Set swApp = CreateObject("SldWorks.Application")
Set swModel = swApp.ActiveDoc
'get file name
Dim fileName As String
fileName =
'get file revision
Dim fileRevision As String
swCustPropMgr.Get3 "Revision", True, fileRevision, Empty
'get document recipient
Dim docRecipient As String
docRecipient = {Transmittal Recipient}
'get date and make string
Dim todDate As Date
todDate = Date.Now()
Dim docDate As String
docDate = todDate.ToString("yyyy_MM_dd")
'get vault path
Dim vaultPath As String
vaultPath =
'create save folder
Dim savePath As String
savePath = vaultPath & "\Document Transmittals\" & docRecipient & "\" & fileDate & "\"
If(Not System.IO.Directory.Exists(savePath)) Then
System.IO.Directory.CreateDirectory(savePath)
End If
'create save name
Dim saveName As String
saveName = fileName & "-" & fileRevision
'if file is drawing save as PDF
If
= ".slddrw" then swModel.Extension.SaveAs savePath & saveName & ".pdf", swSaveAsCurrentVersion, swSaveAsOptions_Silent, Nothing, Errors, Warnings
'if file is part and has sheet metal save flat pattern as DXF
Elseif
= ".sldprt" then bRet = swModel.ExportFlatPatternView(savePath & saveName & ".dxf", 1)
End If
End Sub
The problem I am having is it does absolutely nothing. It seems to open the files I've selected but that's it. It doesn't even create the folder.
Anyone able to see what I'm doing wrong? Or any tips to troubleshoot it?
Thanks a lot for any help!
SolidworksApi macros