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

0.2 宏录制技巧

录制宏是获得基本函数的一个很好的起点。然而,不是所有的API函数都可以被录制。宏录制时要注意以下几个方面:

1)使用宏录制器作为从小应用程序创建大应用程序的工具。每次录制几步。多个记录可以放到一个程序中。

2)在录制前要计划好步骤。

3)录制时尽量减少视图变换的次数。所有的视图变换都将添加到录制的宏中。如果有必要,可选择多次录制而不是一次录制。

4)如果需要在录制时变换视图,则在录制结束后,删除多余的代码行,例如Part.Active View().RotateAboutCenter。

5)如果在ClearSelection调用之后紧接着有SelectByID调用,那么删除该ClearSelection调用。任何刚好在ClearSelection之前的SelectByID调用都是没有作用的。

0.2.1 SOLIDWORKS API帮助

SOLIDWORKS API帮助文件主要用来帮助程序员和用户了解特定API的接口、方法、属性和事件。要在SOLIDWORKS中打开帮助文件,单击【帮助】/【API帮助】。API帮助文件将显示可用于当前安装的SOLIDWORKS软件的每个插件的帮助主题。

0.2.2 API对象接口

接口是一个COM的术语,它包含了SOLIDWORKS中使用到的类。SOLIDWORKS是使用面向对象技术设计的。在SOLIDWORKS之下是表示软件各个方面的对象模型。为了将API开放给使用其他编程语言的开发者,COM编程允许SOLIDWORKS将实际的SOLIDWORKS对象的函数功能开放给外部世界。COM编程已经超出了本书的涵盖范围,但是读者应该理解API是由一组接口组成的,这些接口被组织为接口对象模型(interface object model)。一般来说可将接口看作一个对象(object)。

注意

实际上用户处理的是指向SOLIDWORKS对象的接口指针。

0.2.3 目录

如图0-3所示,API帮助的【目录】选项卡包含了以下内容:

图0-3 【目录】选项卡

(1)Getting Started 包含SOLIDWORKS API入门、SOLIDWORKS API应用程序类型、SOLIDWORKS API对象模型以及编程主题(如早绑定和后绑定、事件、单位、返回值以及使用安全数组)的有用信息,还包含用来帮助读者入门的示例和项目。

(2)SOLIDWORKS APIs 关于SOLIDWORKS API支持的所有接口及其方法、属性和事件的完整文件。在这一部分,可以按功能类别查找接口或者查询SOLIDWORKS软件中新功能的发行说明信息。

(3)SOLIDWORKS Enumerations 关于SOLIDWORKS API支持的所有常量的完整文件。

0.2.4 索引

API帮助的【索引】选项卡(见图0-4)可以使用户快速定位API主题。这些主题是根据关键字按字母表排序的。

图0-4 【索引】选项卡

0.2.5 搜索

API帮助的【搜索】选项卡(见图0-5)允许搜索API帮助文件中每一页的关键字。

图0-5 【搜索】选项卡

0.2.6 收藏夹

API帮助的【收藏夹】选项卡(见图0-6)允许用户为当前的帮助主题添加书签,以便于快速访问。

图0-6 【收藏夹】选项卡

0.2.7 理解API接口成员的描述方法

API接口成员的描述方法如图0-7所示。

(1)命名空间名称 指定API接口所属的命名空间。SOLIDWORKS API功能包含在几个命名空间中。命名空间是用于组织程序代码和避免名称冲突的机制。本书中讨论的大多数API功能都包含在SolidWorks.Interop.sldworks命名空间中。

图0-7 API接口成员的描述方法

(2)API接口成员和接口名称 用于描述API接口和成员。成员名称为ActivateTaskPane(本例中是一个方法),其所属的接口(ISldWorks)显示在括号中。

(3)全部展开/全部折叠 在帮助主题的展开和折叠显示之间进行切换。

(4)语言过滤器 允许根据编程语言过滤成员语法信息的显示,其包含以下选项:

● Visual Basic(Declaration) ● C#

● Visual Basic(Usage) ● C++/CLI

(5)主题路径 以命名空间名称开始,显示API帮助文件中所选主题的完整路径。

(6)API描述 关于API接口或者选中的成员函数的说明。

(7)帮助主题正文 本部分将根据可用性显示如下区域的组合:

● .NET Syntax ● Remarks

● Visual Basic for Applications(VBA)Syntax ● See Also

● Example ● Availability

● Accessors

例如,在语言过滤器(Language Filter)中勾选【Visual Basic(Declaration)】复选框,如图0-8所示。此时展开.NET Syntax区域,将显示以下语法信息,如图0-9所示。

图0-8 语言过滤器

图0-9 .NET Syntax区域

1).NET Syntax。该区域显示了成员的原型。如果存在返回值,则将该成员声明为Function并声明一个返回值类型。本示例中,返回一个Boolean类型值。如果没有返回值,则将该成员声明为Sub。

传递给API成员的参数在成员原型中使用其数据类型进行声明。如果参数作为成员的输入参数,则声明为ByVal;如果参数用于输出,则声明为ByRef。

参数(Parameters)部分描述了参数的含义。本例中,提供了指向swTaskPaneTab_e枚举的链接,以便于轻松查询TaskPaneID参数允许的可能值。

返回值(Return Value)部分描述了返回值的含义。

如果在语言过滤器中勾选了【Visual Basic(Usage)】复选框,如图0-10所示,则在.NET Syntax区域中将显示有关如何在编程代码中使用该方法的示例,如图0-11所示。

图0-10 语言过滤器

图0-11 .NET Syntax区域

2)Visual Basic for Applications(VBA)Syntax。提供使用Visual Basic应用程序语法表示的方法原型的链接。

提示

在VBA中,如果要在左侧返回值上返回数据,就需要将输入参数用括号括起来。如果没有返回值则可以不使用括号。如果直接调用一个返回值的方法或属性,也需要使用括号将输入参数括起来,如下例所示:

swSkMgr.CreateLine(0,0,0,1,0,0).ConstructionGeometry=True

swSkMgr只是变量的描述性名称,用户可以使用任何名字命名这个变量(建议使用描述性的名字命名变量)。

3)Example。该区域(如果可用)提供了指向代码示例的链接。这些代码示例旨在向用户说明所选成员的用法。

4)Accessors。该区域在接口页面上可用,并且包含指向可以返回该接口实例的成员的链接。

5)Remarks。包含使用该成员时的注意事项。在使用任何成员之前,都建议花点时间读一读这部分信息。

6)See Also。包含指向其他相关信息的链接。

7)Availability。包含接口或成员何时可用的信息。