Apply and Remove Texture To and From Model By Display State Example (C#)
This example shows how to apply and remove texture to and from a model by a
display state.
//--------------------------------------------------------------------------
// Preconditions:
// 1. Model opened by macro exists.
// 2. Open the Immediate window.
//
// Postconditions:
// 1. Model opened and texture applied to
// and removed from the selected component.
// 2. Examine the model to verify.
// 3. Results printed to Immediate window.
//
// NOTE: Because the part document is used in
// a SolidWorks online tutorial, do not save
any
// changes when closing the document.
//----------------------------------------------------
using
SolidWorks.Interop.sldworks;
using
SolidWorks.Interop.swconst;
using
System;
using
System.Diagnostics;
namespace
ApplyRemoveTextureByDisplayStateCSharp.csproj
{
partial class
SolidWorksMacro
{
public void
Main()
{
ModelDoc2 swModel =
default(ModelDoc2);
ModelDocExtension
swModelDocExt = default(ModelDocExtension);
Texture
texture = default(Texture);
string
displayState = null;
int
errors = 0;
int
warnings = 0;
string
namStr = null;
// Open document
swModel = (
ModelDoc2)swApp.OpenDoc6("c:\\Program
Files\\SolidWorks Corp\\SolidWorks\\samples\\tutorial\\motionstudies\\valve.sldprt",
(int)swDocumentTypes_e.swDocPART,
(int)swOpenDocOptions_e.swOpenDocOptions_Silent,
"",
ref
errors, ref
warnings);
swModelDocExt = (
ModelDocExtension)
swModel.Extension;
// Set texture on
model in the
//
specified display state
displayState =
"<Default>_Display State 1";
namStr =
"<SystemTexture>\\images\\textures\\pattern\\checker2.jpg";
texture = (
Texture)
swModelDocExt.CreateTexture(namStr, 5, 45,
false);
Debug.Print("Texture
set: " + swModelDocExt.SetTextureByDisplayState(displayState,
texture));
// Remove
texture from model by display state
Debug.Print("Texture
removed: " + swModelDocExt.RemoveTextureByDisplayState(displayState));
// Rebuild model
swModel.ForceRebuild3(
false);
}
///
<summary>
///
The SldWorks swApp variable is pre-assigned for you.
///
</summary>
public
SldWorks
swApp;
}
}