SolidWorks Visible or Background Example (VBA)
These examples shows several situations for
running or attaching to SolidWorks session through the API.
SolidWorks not running: Launch invisibly and end SolidWorks session
Sub Macro1()
Dim
swApp As Object
Set
swApp = CreateObject("SldWorks.Application")
' Close
the SolidWorks application. If you do not perform this step, SolidWorks
' continues to run. If SolidWorks is running in the background, the user
is
' unaware that SolidWorks is running and consuming their system resources.
swApp.ExitApp
Set
swApp = Nothing
End Sub
SolidWorks running: Attach to existing SolidWorks session and end SolidWorks
session
Sub Macro2()
Dim
swApp As Object
Set
swApp = CreateObject("SldWorks.Application")
swApp.ExitApp
Set
swApp = Nothing
End Sub
SolidWorks not running: Launch invisibly, become visible, and end SolidWorks
session
Sub Macro3()
Dim
swApp As Object
Dim
Part As Object
Set
swApp = CreateObject("SldWorks.Application")
swApp.Visible = True
swApp.ExitApp
Set
swApp = Nothing
End Sub
SolidWorks not running: Launch invisibly, become visible, and leave
SolidWorks running
Sub Macro4()
Dim
swApp As Object
Set
swApp = CreateObject("SldWorks.Application")
swApp.Visible = True
swApp.UserControl = True
'
Give control to the user, which leaves SolidWorks running
End Sub
SolidWorks not running: Launch invisibly, create part invisibly, close
part, and end SolidWorks session
Sub Macro5()
Dim
swApp As Object
Dim
Part As Object
'
This must be explicitly defined for ISldWorks::ActivateDoc2
Dim
errors As Long
Set
swApp = CreateObject("SldWorks.Application")
Set
Part = swApp.NewPart
Set
Part = swApp.ActivateDoc2("Part1",True,errors)
Set
Part = Nothing
swApp.CloseDoc "Part1"
swApp.ExitApp
Set
swApp = Nothing
End Sub
SolidWorks not running: Launch invisibly, create part invisibly, make
the part and SolidWorks visible, and leave SolidWorks running
Sub Macro6()
Dim
swApp As Object
Dim
Part As Object
Set
swApp = CreateObject("SldWorks.Application")
Set
Part = swApp.NewPart
Set
Part = swApp.ActivateDoc("Part1")
Part.Visible = True
'
Make the part and SolidWorks visible
swApp.UserControl = True
'
Give control to the user, which leaves SolidWorks running
Set
Part = Nothing
swApp.CloseDoc "Part1"
End Sub