Get Render References (VBA)
This example shows how to get the render stock (SolidWorks-supplied) references for a model.
'-------------------------------------------------
' Preconditions:
' 1. Specified part document exists.
' 2. Kitchen background scene exists.
' 3. Open the Immediate window.
' 4. Run the macro.
'
' Postconditions:
' 1. Kitchen background scene is inserted in the part document.
' 2. Names of the render references are printed
' to the Immediate window.
'
' NOTE: Because this part document is used in a SolidWorks
' tutorial, do not save any changes when closing the document.
'--------------------------------------------------
Option Explicit
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swModelDocExt As SldWorks.ModelDocExtension
Dim modelName As String
Dim renderReferences As Variant
Dim status As Boolean
Dim errors As Long, warnings As Long
Dim i As Long
Sub main()
Set swApp = Application.SldWorks
modelName = "C:\Program Files\SolidWorks Corp\SolidWorks\samples\tutorial\api\toaster.sldprt"
Set swModel = swApp.OpenDoc6(modelName, swDocPART, swOpenDocOptions_Silent, "", errors, warnings)
Set swModelDocExt = swModel.Extension
' Insert kitchen background scene
' and rebuild the model to see it
status = swModelDocExt.InsertScene("C:\Program Files\SolidWorks Corp\SolidWorks\data\graphics\scenes\03 presentation scenes\00 kitchen_background.p2s")
status = swModel.ForceRebuild3(True)
' Get the render stock references for the
' kitchen background scene and print
' them to the Immediate window
renderReferences = swModelDocExt.GetRenderStockReferences
For i = 0 To UBound(renderReferences)
Debug.Print "Render reference: " & renderReferences(i)
Next i
End Sub