Link Display States to Configurations Example (C#)
This example shows how to link and unlink display states to and from configurations.
//
---------------------------------------------
// Preconditions:
// 1. Open install_dir\samples\tutorial\pdmworks\speaker.sldasm
// 2. Click the ConfigurationManager tab on the Manager Pane.
// 3. Open the Immediate window.
//
// Postconditions:
// 1. Follow the instructions in the macro at
// each System.Diagnostics.Debugger.Break
statement.
// 2. Assembly document closes without saving
// any changes.
//-----------------------------------------------
using
Microsoft.VisualBasic;
using
System;
using
System.Collections;
using
System.Collections.Generic;
using
System.Data;
using
System.Diagnostics;
using
SolidWorks.Interop.sldworks;
using
SolidWorks.Interop.swconst;
using
System.Runtime.InteropServices;
namespace
LinkDisplayStatesToConfigurationCSharp.csproj
{
partial
class
SolidWorksMacro
{
public
void Main()
{
ModelDoc2 swModel = default(ModelDoc2);
ConfigurationManager swConfigMgr =
default(ConfigurationManager);
string
assemblyName = null;
swModel = (ModelDoc2)swApp.ActiveDoc;
Debug.Print("");
System.Diagnostics.Debugger.Break();
// 1. Examine the
ConfigurationManager tab to verify:
// a.
"Link Display States to Configurations" check box
//
is selected.
// b.
Two display states are linked to the active
//
configuration.
//
2. Click the Continue button in the IDE.
swConfigMgr = (ConfigurationManager)swModel.ConfigurationManager;
swConfigMgr.LinkDisplayStatesToConfigurations =
false;
Debug.Print("Are
display states linked to configurations? "
+ swConfigMgr.LinkDisplayStatesToConfigurations);
if
(!swConfigMgr.LinkDisplayStatesToConfigurations)
{
Debug.Print("All
display states are available to the active configuration.");
}
System.Diagnostics.Debugger.Break();
// 1. Examine the
ConfigurationManager tab again to verify:
// a.
"Link Display States to Configurations" check box
//
is not selected.
// b.
All display states are available to the active configuration.
//
2. Click the Continue button.
swConfigMgr.LinkDisplayStatesToConfigurations
= true;
Debug.Print("Are
display states linked configurations? " +
swConfigMgr.LinkDisplayStatesToConfigurations);
if
(swConfigMgr.LinkDisplayStatesToConfigurations)
{
Debug.Print("All
display states are not available to the active configuration.");
}
System.Diagnostics.Debugger.Break();
// 1. Examine the
ConfigurationManager tab again to verify:
// a.
"Link Display States to Configurations" check box
//
is selected.
// b.
Only two display states are linked to the active configuration.
//
2. Click the Continue button.
assemblyName = swModel.GetTitle();
swApp.QuitDoc(assemblyName);
}
///
<summary>
///
The SldWorks swApp variable is pre-assigned for you.
///
</summary>
public
SldWorks swApp;
}
}