Skip to main content

Batch export SOLIDWORKS models via vbScript

This example of vbScript which demonstrates how to batch export SOLIDWORKS documents using vbScript

Arguments

  1. Path to folder with SOLIDWORKS models
  2. Filter for the input files extension
  3. Path to output folder
  4. Extension of the output format
> "export-sw-models.vbs" "C:\Models" sldprt "C:\Output" step
Dim dirPath
dirPath = WScript.Arguments.Item(0)

Dim filter
filter = WScript.Arguments.Item(1)

Dim outDir
outDir = WScript.Arguments.Item(2)

Dim outExt
outExt = WScript.Arguments.Item(3)

Dim swApp
Set swApp = CreateObject("SldWorks.Application")
swApp.Visible = True

Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")

Dim folder
Set folder = fso.GetFolder(dirPath)

dim file

For Each file in folder.Files
If LCase(fso.GetExtensionName(file.Path)) = LCase(filter) Then
Dim docSpec
Set docSpec = swApp.GetOpenDocSpec(file.Path)
docSpec.ReadOnly = True

Dim swModel
Set swModel = swApp.OpenDoc7(docSpec)

If Not swModel is Nothing Then
Dim outFilePath
outFilePath = outDir & "\" & fso.GetBaseName(file) & "." & outExt
swModel.SaveAs outFilePath
swApp.CloseDoc swModel.GetTitle()
End If
End If
Next

swApp.ExitApp