大家好,今天要讲的是关于在做Solidworks二次开发的时候,想要实现一些软件中操作的时候,我们最直接的办法就是使用宏录制功能,会将我们想要的API直接录制出来,这样避免了很多我们自己去查询的过程。
下面通过一些录制的例子为大家讲解一下:
(1)首先讲一个使用曲线文件的方式来创建曲线,并且在曲线上面写属性的例子。
public void Main()
{
ModelDoc2 swDoc = null;
PartDoc swPart = null;
DrawingDoc swDrawing = null;
AssemblyDoc swAssembly = null;
bool boolstatus = false;
int longstatus = 0;
int longwarnings = 0;
swDoc = ((ModelDoc2)(swApp.ActiveDoc));
ModelView myModelView = null;
myModelView = ((ModelView)(swDoc.ActiveView));
myModelView.FrameState = ((int)(swWindowState_e.swWindowMaximized));
swDoc.InsertCurveFileBegin();
boolstatus = swDoc.InsertCurveFilePoint(-0.0125, 0, 0.05);
boolstatus = swDoc.InsertCurveFilePoint(0.0125, 0, 0.05);
boolstatus = swDoc.InsertCurveFileEnd();
boolstatus = swDoc.Extension.SelectByRay(-0.035985011431648672, -0.024841486692693593, 0.14995603843158278, 0.3298745673601709, 0.2260534376636395, -0.91656020704010022, 0.00027374158088592338, 1, false, 0, 0);
boolstatus = swDoc.SelectedEdgeProperties("例子");
boolstatus = swDoc.Extension.SelectByRay(-0.033943287640994413, -0.02468728714784163, 0.14999406903422141, 0.3298745673601709, 0.2260534376636395, -0.91656020704010022, 0.00027374158088592338, 1, false, 0, 0);
boolstatus = swDoc.SelectedEdgeProperties("例1");
return;
}
对程序进行一个解读,通过对程序进行分解,其实头部文件是公共的信息,主要有几个API我们要特别进行关注。
第一个为InsertCurveFileBegin(),这个API的意思为开始创建曲线,它和InsertCurveFileEnd()这个API通常是一起应用的,代表开始和结束。
然后创建一个多大的曲线是通过InsertCurveFilePoint()这个API来控制的。
当我们创建一个曲线以后,再使用SelectedEdgeProperties("例子")这个API来为所选中的曲线进行设定属性值。
这个API的官方解释如下所示:
下面是使用备注:
Remarks
If the edge... | Then this method... |
Does not have a name | Sets the name. |
Has a name | Does not change the name and returns false. This behavior is intended to prevent a program from renaming an edge that is referenced in some other location. For example, if an assembly contains a mate to an edge on a part, then a name is automatically assigned to that edge. If you change that name, then there is no guarantee that the mate remains valid. Therefore, when using entity names, you should first check to see if the entity is already named, and if so, use the existing name. If no name exists for the edge, then you can give the edge a name. |
这是第一例子。
下面我们再介绍一个例子:
(2)第二个例子讲的是讲零部件进行整屏显示。
public void Main()
{
ModelDoc2 swDoc = null;
PartDoc swPart = null;
DrawingDoc swDrawing = null;
AssemblyDoc swAssembly = null;
bool boolstatus = false;
int longstatus = 0;
int longwarnings = 0;
swDoc = ((ModelDoc2)(swApp.ActiveDoc));
// Zoom To Fit
swDoc.ViewZoomtofit2();
return;
}
这个例子比较简单,需要关注的API为ViewZoomtofit2(),下面官方的具体解释,没什么可多说的。
本篇文章就介绍这么多,我们下篇文章再见。
标签:name,C#,swDoc,Solidworks,edge,API,二次开发,null,boolstatus From: https://blog.csdn.net/m0_53104033/article/details/143264488