SOLIDWORKS二次开发与API教程(2020版)
上QQ阅读APP看书,第一时间看更新

1.6 整理代码

不要仅满足于SOLIDWORKS宏录制器返回的结果,建议每次都要改进并且整理代码。在完成自动操作的任务前,通常需要编辑宏代码。宏代码编辑实例见表1-3。

表1-3 编辑代码

注意

SOLIDWORKS API有成千上万的API调用可供选择,所以,用户不必局限于宏录制器返回的API调用。还可以使用SOLIDWORKS的在线API帮助文件搜索新的、改进的或者其他可替代的API调用以满足自己的需求。

对于上面的例子,有另外一种方法可创建圆形(不同于宏录制器捕获的方法)。上例中使用的CreateCircle需要6个参数:xc、yc、zc、xp、yp、zp。此方法基于圆心和圆上一点创建一个圆。这样固然可以实现目标,但却与用户在界面上的操作不完全一致:单击圆心,然后在属性管理器中输入半径。API帮助文件提供了一个类似的方法CreateCircleByRadius,它仅需要以下参数:xc、yc、zc、radius。这个API方法与用户的手动操作更加一致,完全可以用来替换上例中的方法。

注意

在API帮助文件中,某些方法的名称末尾带有一个数字(例如FeatureMa-nager.FeatureExtrusion2),该数字代表此方法的版本。用户在编程时应尽量考虑使用最新版本的方法,这样可以使代码的寿命更加持久。在选择特定接口时,也应该遵循这个原则。

ModelDoc2是SOLIDWORKS文件对象指针的最新版本。虽然老的版本会继续出现在SOLID-WORKS的最新发行版中,并且可以使用,但是这仅仅是为了让使用这些接口的老版本软件可以继续使用。在很多情况下,老版本的API有较短的参数列表,会使用户感到使用起来更加方便。

例如,SldWorks.SendMsgToUser有两个版本。老版本需要一个参数。对于测试代码来说,使用这个版本非常方便,因为不需要满足新版本SendMsgToUser2需要的4个参数。如果仅仅是简单的功能或者是测试,使用老版本没什么问题,但是,要编写高质量的代码,就应该使用最新版本的APIs。这将减少程序在更新版本的SOLIDWORKS上运行时出现问题的概率。

1.6.1 注释代码

现在,已经能识别出哪些代码要删除,哪些要修改,哪些可以插入注释。要添加注释,只需在注释内容前面加上单引号即可。单引号会告诉编译器忽略这一行的所有内容。

步骤16 修改代码 通过添加注释来修改代码,并使用CreateCircleByRadius代替CreateCircle。

1.6.2 调试代码

尽管本书没有深入介绍关于Visual Basic调试技术的细节,但是,养成调试的习惯仍然十分重要。

步骤17 添加断点 单击程序入口点左边的栏,添加一个断点,如图1-9所示。

步骤18 调试宏 按<F5>键开始调试。宏在断点处停止,这样允许程序员一步步运行代码,如图1-10所示。

步骤19 开始步进代码 按<F8>键进入程序,黄色高亮(浅灰色)部分将移动,如图1-11所示。

图1-9 添加断点

图1-10 调试宏

步骤20 按<F8>键以继续单步调试 程序运行到如图1-12所示的代码行。

图1-11 开始步进代码

图1-12 调试代码1

步骤21 按<F8>键以继续单步调试 程序运行到如图1-13所示的代码行。

注意

某些API调用含有一个返回值。在执行下一行代码前,将鼠标移到返回值上,可以帮助用户更好地调试宏。

步骤22 按<F8>键以继续单步调试 程序运行到如图1-14所示的代码行。

图1-13 调试代码2

图1-14 调试代码3

注意

将鼠标移到同一个返回值上以检查程序是否运行正确。在这个例子中,变量boolstatus的值由False变为True。这说明宏成功选中了目标。

步骤23 继续直到代码结束 按<F5>键或者像前面一样单步调试代码,直到程序结束。