Is Selected Feature a Boundary Box Sketch (C#)
This example shows how to
determine if a sketch is
a boundary box sketch.
//----------------------------------------------------------
// Preconditions:
// 1. Specified model exists.
// 2. Open the Immediate window.
// 3. Run the macro.
//
// Postconditions:
// 1. Specified model is opened.
// 2. Flat-Pattern1 feature is unsuppressed.
// 3. Flat-Pattern1's boundary box sketch feature is selected.
// 4. Whether the selected sketch is a boundary box sketch is
// written to the Immediate window.
//
// NOTES: Do not save any changes made to the model when closing
// the model.
//----------------------------------------------------------
using
SolidWorks.Interop.sldworks;
using
SolidWorks.Interop.swconst;
using System;
using System.Diagnostics;
namespace
IsBoundaryBoxSketchSketchCSharp.csproj
{
partial
class
SolidWorksMacro
{
public
void Main()
{
ModelDoc2 swModel;
ModelDocExtension swModelDocExt;
SelectionMgr swSelMgr;
Feature swFeature;
Sketch swSketch;
bool status =
false;
int errors = 0;
int warnings =
0;
// Open a sheet metal part
swModel = (ModelDoc2)swApp.OpenDoc6("C:\\Program
Files\\SolidWorks Corp\\SolidWorks\\samples\\design portfolio\\sheet_metal_bracket.sldprt",
(int)swDocumentTypes_e.swDocPART,
(int)swOpenDocOptions_e.swOpenDocOptions_Silent,
"",
ref errors,
ref warnings);
// Select the flat-pattern feature
swModelDocExt = (ModelDocExtension)swModel.Extension;
status = swModelDocExt.SelectByID2("Flat-Pattern1",
"BODYFEATURE", 0, 0, 0,
false, 0,
null, 0);
// Unsuppress the flat-pattern feature
status = swModel.EditUnsuppress2();
swModel.ClearSelection2(true);
// Select the flat-pattern features's
boundary box feature
status = swModelDocExt.SelectByID2("Bounding-Box1",
"SKETCH", 0, 0, 0,
false, 0,
null, 0);
swSelMgr = (SelectionMgr)swModel.SelectionManager;
swFeature = (Feature)swSelMgr.GetSelectedObject6(1, -1);
swSketch = (Sketch)swFeature.GetSpecificFeature2();
// Print to the Immediate window if the
just-selected feature is a boundary box
Debug.Print("Selected
sketch a boundary box sketch? " + swSketch.IsBoundaryBoxSketch());
}
///
<summary>
///
The SldWorks swApp variable is pre-assigned for you.
///
</summary>
public
SldWorks swApp;
}
}