Get Model Material Property Values Example (C#)
This example shows how to get the material property values of components in
lightweight mode.
//----------------------------------------------------------------------------
// Preconditions:
// 1. Open in lightweight mode:
// <SolidWorks_install_dir>\samples\tutorial\api\TopAssembly1.SLDASM
// 2. Rename the namespace to match the name of your C# project.
// 3. Open an Immediate window.
//
// Postconditions: Inspect the Immediate window for the material property
values
// of the lightweight components in the model.
// NOTE: Because the model is used elsewhere,
// do not save changes when closing it.
//
---------------------------------------------------------------------------
using
SolidWorks.Interop.sldworks;
using
SolidWorks.Interop.swconst;
using
System;
using
System.Diagnostics;
namespace
GetMatPropValues_CSharp.csproj
{
partial
class
SolidWorksMacro
{
ModelDoc2
swDoc;
AssemblyDoc
swADoc;
object[]
varComp;
double[]
varMatProp;
public
void Main()
{
swDoc = (ModelDoc2)swApp.ActiveDoc;
swADoc = (AssemblyDoc)swDoc;
varComp = (object[])swADoc.GetComponents(true);
int
I = 0;
for
(I = 0; I < varComp.Length; I++)
{
Component2
swComp = default(Component2);
swComp = (Component2)varComp[I];
varMatProp = (double[])swComp.GetModelMaterialPropertyValues(swComp.ReferencedConfiguration);
if
(!((varMatProp == null)))
{
Debug.Print(swComp.Name2
+ "(" +
I + ")"
+ "ConfigName : "
+ swComp.ReferencedConfiguration + "MatProp
: ");
Debug.Print("Red:
" + (varMatProp[0]) * 255.0);
Debug.Print("Green:
" + (varMatProp[1]) * 255.0);
Debug.Print("Blue:
" + (varMatProp[2]) * 255.0);
Debug.Print("Ambient:
" + (varMatProp[3]) * 100.0 +
"%");
Debug.Print("Diffuse:
" + (varMatProp[4]) * 100.0 +
"%");
Debug.Print("Specularity:
" + (varMatProp[5]) * 100.0 +
"%");
Debug.Print("Shininess:
" + (varMatProp[6]) * 100.0 +
"%");
Debug.Print("Transparency:
" + (varMatProp[7]) * 100.0 +
"%");
Debug.Print("Emission:
" + (varMatProp[8]) * 100.0 +
"%");
}
Debug.Print("");
}
varComp = null;
}
public
SldWorks
swApp;
}
}