This example shows how to modify the plane
of a sketch.
//----------------------------------------------------------------------------
// Preconditions: Ensure the specified template exists.
//
// Postconditions:
// 1. A new part document with a sketch of a spline is created.
// 2. The plane of the sketch is changed from the Top Plane to the Front
Plane.
//----------------------------------------------------------------------------
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
ChangeSketchPlane_CSharp.csproj
{
partial
class
SolidWorksMacro
{
ModelDoc2
Part;
SketchSegment
skSegment;
bool
boolstatus;
public
void Main()
{
Part = (ModelDoc2)swApp.NewDocument("C:\\ProgramData\\SOLIDWORKS\\SOLIDWORKS
2012\\templates\\Part.prtdot", 0, 0, 0);
boolstatus = Part.Extension.SelectByID2("Top
Plane",
"PLANE", -0.0494443883882606,
0.010829578664819, 0.0187336739521956, true,
0, null,
0);
Part.SketchManager.InsertSketch(true);
object
pointArray = null;
double[]
points = new
double[12];
points[0] = -0.0696700449874595;
points[1] = -0.0205096087491173;
points[2] = 0;
points[3] = -0.0349133034431539;
points[4] = 0.0151865041882777;
points[5] = 0;
points[6] = 0.0183177421652422;
points[7] = 0;
points[8] = 0;
points[9] = 0.060902578651959;
points[10] = 0.0336608082523681;
points[11] = 0;
pointArray = points;
skSegment = Part.SketchManager.CreateSpline((pointArray));
Part.SketchManager.InsertSketch(true);
boolstatus = Part.Extension.SelectByID2("Sketch1",
"SKETCH",
0, 0, 0, false,
0, null,
0);
boolstatus = Part.Extension.SelectByID2("Top
Plane",
"PLANE", 0, 0, 0,
true, 0,
null, 0);
boolstatus = Part.DeSelectByID("Top
Plane",
"PLANE", 0, 0, 0);
// Select sketch and new plane
for the sketch
boolstatus = Part.Extension.SelectByID2("Front
Plane",
"PLANE", 0, 0, 0,
true, 0,
null, 0);
boolstatus = Part.Extension.SelectByID2("Sketch1",
"SKETCH",
0, 0, 0, false,
0, null,
0);
// Change the plane of the
sketch
boolstatus = Part.Extension.ChangeSketchPlane(1,
null);
boolstatus = Part.EditRebuild3();
Part.ShowNamedView2("*Isometric",
7);
boolstatus = Part.Extension.SelectByID2("Front
Plane",
"PLANE", 0, 0, 0,
true, 0,
null, 0);
}
public
SldWorks
swApp;
}
}