Get Render References (C#)
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.
//--------------------------------------------------
using
SolidWorks.Interop.sldworks;
using
SolidWorks.Interop.swconst;
using System;
using System.Diagnostics;
namespace
GetRenderStockReferencesCSharp.csproj
{
partial
class
SolidWorksMacro
{
public
void Main()
{
ModelDoc2 swModel;
ModelDocExtension swModelDocExt;
string
modelName = null;
object[]
renderReferences = null;
bool status =
false;
int errors = 0;
int warnings =
0;
int i = 0;
modelName = "C:\\Program
Files\\SolidWorks Corp\\SolidWorks\\samples\\tutorial\\api\\toaster.sldprt";
swModel = (ModelDoc2)swApp.OpenDoc6(modelName, (int)swDocumentTypes_e.swDocPART,
(int)swOpenDocOptions_e.swOpenDocOptions_Silent,
"",
ref errors,
ref warnings);
swModelDocExt = (ModelDocExtension)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 = (object[])swModelDocExt.GetRenderStockReferences();
for (i = 0; i
<= renderReferences.GetUpperBound(0); i++)
{
Debug.Print("Render
reference: " + renderReferences[i]);
}
}
///
<summary>
///
The SldWorks swApp variable is pre-assigned for you.
///
</summary>
public
SldWorks swApp;
}
}