Enable Background Processing When Opening Document (VBA)
If a drawing document takes more time to open via the SolidWorks API than it
does interactively, then you might be able to open the drawing more efficiently
in the SolidWorks API using ISldWorks::EnableBackgroundProcessing.
Setting this property to true opens the drawing while processing the drawing
views in a background process.
Because you cannot make changes to the drawing while the background process is
running, you should use ISldWorks::EnableBackgroundProcessing with
ISldWorks::IsBackgroundProcessingCompleted.
'---------------------------------------------------------------------------
' Preconditions: Specified drawing document exists.
'
' Postconditions: Specified drawing document opens.
'---------------------------------------------------------------------------
Option Explicit
Dim swApp As SldWorks.SldWorks
Dim swDrawing As SldWorks.DrawingDoc
Dim strFileName As String
Dim longstatus As Long
Dim longwarnings As Long
Sub main()
Set swApp = Application.SldWorks
strFileName = "c:\Program Files\SolidWorks Corp\SolidWorks\samples\tutorial\advdrawings\foodprocessor.slddrw"
swApp.EnableBackgroundProcessing = True
Set swDrawing = swApp.OpenDoc6(strFileName, 3, 0, _
"", longstatus, longwarnings)
While (swApp.IsBackgroundProcessingCompleted(strFileName) = False)
Debug.Print ("Background processing ongoing...")
Wend
swApp.EnableBackgroundProcessing = False
Set swApp = Nothing
End Sub