草图/3D草图的创建、编辑和保存。
关于ISketchManager接口下面的常用方法。
-
草图/3D草图的创建、编辑和保存。 画线,画圆弧,画矩形,画圆
//SolidWorks 2020 using SolidWorks.Interop.sldworks; namespace DemoSketchTest { class SketchSw { private IModelDoc2 swDoc; private ISketch mSketch; public void setDoc(IModelDoc2 doc) { swDoc = doc; } //创建草图, public bool CreateNew(string planeName) { //选择平面,作为创建草图的基准面 bool b1 = swDoc.Extension.SelectByID2(planeName, "PLANE", 0, 0, 0, false, 0, null, 0); if (!b1) return false; // swDoc.SketchManager.InsertSketch(true);//创建草图 swDoc.SketchManager.Insert3DSketch(true);//创建3D草图 int ttt = swDoc.SelectionManager.GetSelectedObjectType3(1, -1); object obj1 = swDoc.SelectionManager.GetSelectedObject6(1, -1); //AddToDB:获取或设置 是否将草图实体直接添加到 SOLIDWORKS 数据库中。 // swDoc.SketchManager.AddToDB = true;没看出什么变化? return true; } public void DrawLine(double X1, double Y1, double X2, double Y2) { SketchSegment ss = swDoc.SketchManager.CreateLine(X1, Y1, 0, X2, Y2, 0); swDoc.ClearSelection2(true);//确定图形。 } public void DrawCircle(double X1, double Y1, double X2, double Y2) { SketchSegment ss = swDoc.SketchManager.CreateCircle(X1, Y1, 0, X2, Y2, 0); swDoc.ClearSelection2(true);//确定图形。 } public void DrawRect(double X1, double Y1, double X2, double Y2) { swDoc.SketchManager.CreateCenterRectangle(X1, Y1, 0, X2, Y2, 0); swDoc.ClearSelection2(true);//确定图形。 } public void DrawArc(double X1, double Y1, double X2, double Y2, double X3, double Y3) { SketchSegment ss = swDoc.SketchManager.CreateArc(X1, Y1, 0, X2, Y2, 0, X3, Y3, 0, 1); swDoc.ClearSelection2(true);//确定图形。 } //保存草图,并重命名草图。 public bool Save(string file) { // swDoc.SketchManager.InsertSketch(true);//保存草图 swDoc.SketchManager.Insert3DSketch(true);//保存3D草图 int ttt = swDoc.SelectionManager.GetSelectedObjectType3(1, -1); object obj = swDoc.SelectionManager.GetSelectedObject6(1, -1); if(obj!=null) { // hide 草图 Feature feat = (Feature)obj; object obj2 = feat.GetSpecificFeature2(); mSketch = (ISketch)obj2; //((Entity)isk).Select(true); //swDoc.BlankSketch(); //hide草图 } bool b = swDoc.SelectedFeatureProperties(0, 0, 0, 0, 0, 0, 0, true, false, file);//重命名 return b; } public void Edit() { ((Entity)mSketch).Select(true); swDoc.EditSketch(); } } }
上一篇:
通过多线程提高代码的执行效率例子
下一篇:
如何给Idea设置主题皮肤和背景图片