想要编制系统的控制程序,关键就是要解决其与SolidWorks间数据通讯的问题, 这就涉及到SolidWorks API技术。Solidworks API (SolidWorks Application Programming Interface)是一种二次开发的应用编程接口技术,想要开发嵌入式功能模块以扩充原SolidWorks的功能就可以使用该接口,形成客户自定SolidWorks软件系统。SolidWorks ActiveX Automation Interface技术(即ActiveX自动化界面技术) 为该开发接口所支持, ActiveX Automation Interface作为一项完全面向对象的技术,所以ActiveX与SolidWorks之间的通信就可以使用许多面向对象化编程的语言(如VB, VC++)来完成。即用户可通过SolidWorks ActiveX提供的一种机制,利用编程手段从内部或外部来操纵SolidWorks[5]。 绝大多数SolidWorks功能包容于SolidWorks ActiveX中,且这些在ActiveX对象中全部使用方法和属性的方式被封装,也就是说我们只要运用适当的方法,使被隐藏的ActiveX对象“开放”出来,就完全可以使用面向对象编程的语言对其的属性、方法进行引用,以实现 SolidWorks编程的目的和二次开发的目的。
API是与SolidWorks相关的OLE程序设计接口,其中包含了上百种可以在VB,VBA (Excel, Access 等)、C, C++或SolidWorks宏文件中调用的函数。这些函数可以被程序设计员直接使用。用户利用它并借助支持OLE编程的工具,就可以建立起用户所需的专用的SolidWorks功能模块。
SolidWorks API是由对象、方法、属性、事件组成。SolidWorks API的对象由若干层组成,同时每一层又含有若干对象,每个对象又都有自己的方法、事件和属性[6]。
SolidWorks API的顶层对象是SolidWorks对象,它具有能够直接或间接地访问 SolidWorksAPI中的其他所有对象的功能。应用程序的最基本的操作可以通过SolidWorks对象实现,如新建、打开、结束、关闭、设置当前的激活文件、生成属性定义等, SolidWorks的系统环境进行设置也可以通过其来完成。SolidWorks对象主要有ModelDoc,Environment, Frame, AttributeDef, Modeler, SWPropedySheet 等等。SldWorks对象可以被应用程序使用CreateObject, GetObject的方法来获得。
Environmen对象可用于几何关系和分析文本,该几何关系用于生成符号。例如,Environment可用于一个包含了符号的注释进行重新生成注释。
AttributeDef对象使得应用程序能够在SolidWorks文件中,生成附加于实体上的属性数据。这个属性是特殊的应用数据包,它会自动地存储SolidWorks文件,并且能在文件被打开时自动重载数据。
Frame对象用于检查、修改、添加SolidWorks的弹出菜单和下拉菜单。