Solidworks中无论零件,装配体,还是工程图,都能进行草图的绘制,由此可以推断绘制草图的API应该与通用文档ModelDoc2对象有关--SketchManager即草图管理对象,我们对草图的绘制,基本来源于该API对象所提供的方法与属性。
从上述分析,我们可以看到获得SketchManager对象的方法
ModelDoc2 SketchDoc
SketchManager SwSketchMrg = SketchDoc.SketchManager;//获得SketchManager对象
在Solidworks模型中,人工绘制一个二维草图的一般步骤可以分解为:
1.选中绘制草图的平面
2.点击编辑草图
3.绘制草图
4.添加几何关系
5.添加尺寸
6.退出草图
我们使用Solidworks的API自动绘制草图时,基本也是通过使用API逐一完成每个步骤,从而实现草图的自动绘制,本文将带大家初步入门使用API自动绘制草图。
实例讲解:
如图,本文我们先来绘制这么一个草图的图形,下一文将继续讲解对该草图的集合关系添加与基础的尺寸标注。
绘制该图形的代码如下:
SketchManager SwSketchMrg = SketchDoc.SketchManager;//获得SketchManager对象
SketchDoc.Extension.SelectByID2("前视基准面", "PLANE", 0, 0, 0, false, 0, null, 0);
SwSketchMrg.InsertSketch(true);//进入编辑草图模式
object[] ObjRectangle = SwSketchMrg.CreateCenterRectangle(0, 0, 0, 0.075, 0.04, 0);
SketchSegment SktCircle1 = SwSketchMrg.CreateCircle(-0.0425, 0, 0, -0.03, 0, 0);
SketchSegment SktCircle2 = SwSketchMrg.CreateCircle(0.0425, 0, 0, 0.03, 0, 0);
SketchSegment SktCentLine = SwSketchMrg.CreateCenterLine(0, 0.04, 0, 0, -0.04, 0);
SwSketchMrg.InsertSketch(true);//退出编辑草图模式
代码解析:
1.进入与退出草图编辑模式:
对于零件及装配体文件,进入与退出草图使用如下方法。相当于点击草图编辑模式时候右上角的按钮。
参数UpdateEditRebuild代表是否根据草图变化重建模型。
SketchManager.InsertSketch(UpdateEditRebuild)
2.绘制草图元素
SketchManager我们可以看作是我们的草图工具,
示例代码中的CreateCenterRectangle,CreateCircle,CreateCenterLine的方法分别用于创建矩形,圆,中心线。
其中的参数,多为绘制相应草图元素所需的坐标点。所有的绘制方法,我们都可以通过API帮助文档的SketchManager对象进行查看。
3.草图元素对象
我们所画出的每个草图元素,在Solidworks都可视为一个SketchSegment对象,这个对象可以看作是每个草图元素的通用对象(类似我们之前介绍的ModelDoc2),他还会有自己的细分对象,如直线对象SketchLine,圆弧对象SketchArc等(类似我们之前介绍的PartDoc,AssemDoc)。
通过这些元素对象,我们可以得到更多草图元素的详细信息,例如下图的草图元素属性。
总结:从以上分析我们可以用一种形象的方式去理解本文介绍的对象,画图工具盒SketchManager,里面拥有绘制各种图形的工具(方法)。而这个工具盒放哪?放在我们需要操作的文档文件中(ModelDoc2)。那工具画出来的图形,每个图形元素包括直线,圆弧等,它们都有自己的位置,长度,直径,而这些信息都是这些图形元素的属性,我们可以通过SketchSegment对象获得这些信息。
如下图为本文的示例程序,源码可上我的Github下载。操作步骤可见文章《公众号源码Github分享库》,实例序号6