2.2.3 更多的SolidWorks的API函数介绍
在这里只是简要的介绍SolidWorks的API函数,不可能作到全面的认识或是熟悉这些API要了解更多的API知识可以查看SolidWorks的API和插件帮助主题,如图2.2。
图2.2
2.3 VB开发SolidWorks基本原理
SolidWorks支持ActiveX Automation技术,VB 环境下建立的客户程序可以直接访问SolidWorks中的对象。ActiveX Automation是Microsoft公司提出的一个基于COM( Componet Object Model)的技术标准,是以前的OLE( Object Linking and Embeding)技术的更高层次的发展,ActiveX Automation被开发出来的原因就是需要协调不同的应用程序。
Windows 本身准许同时运行多个应用程序,ActiveX Automation准许这些应用程序互相通讯。每个应用程序可以决定哪些信息和功能可以公布或者暴露给系统上的其它应用程序。虽然ActiveX Automation总是在两个应用程序之间安排对话,但是这个对话不是双向的,也是不平等的。ActiveX Automation程序的每一块都包括两个程序,起不同的作用,客户机是开始对话的应用程序,服务器是响应客户机的应用程序。代码在客户机上运行,而这个代码所控制的动作由服务器执行。在这里我们将SolidWorks理解为一个服务程序,把二次开发工具的VB 程序作为客户程序,它们之间是服务器与客户的关系。用户只要在VB 上进行操作,VB 就驱动SolidWorks完成相应的工作。SolidWorks为二次开发提供了大量的API 对象,这些对象涵盖了全部的SolidWorks的数据模型,通过对这些对象属性的设置和方法的调用,就可以在用户自己开发的DLL 中实现与SolidWorks相同的功能。
SolidWorks中常用的主要ActiveX Automation 对象有SolidWorks 的Body Parameter、Sldworks、Part、Face 和Feature对象等。Sldworks对象为VB 对SolidWorks工作环境进行访问处理提供了接口。通过此对象可以对SolidWorks工作环境添加菜单、删除菜单、添加工具条、打开文件、新建文件、退出SolidWorks系统。用VB 调用SolidWorks中的API 函数,还可以完成零件的建造和修改;零件各特征的建立、修改、删除和压缩等各项控制;零件特征信息的提取,如特征尺寸的设置与提取,特征所在面的信息提取及各种几何和拓扑信息;零件的装配信息;零件工程图纸中的各项信息等。
图2.3
对SolidWorks进行二次开发。开发方法主要有两种方法:一是用人机交互形式建立模型,设置合理的设计变量,再通过V B 程序驱动设计变量实现模型的更新,这种方法编程较简单,通用性好;二是完全用程序实现三维模型的参数化设计以及模型的编辑,这种方法编程较前者复杂,但可以实现对具有复杂形体的零件造型,如生成精确的渐开线齿轮齿廓。开发过程首先针对要建立的实体分析结构,在SolidWorks中创建实体并标注参数尺寸,主要是各特征的驱动尺寸,标注尺寸的大小是建立实体时的实际尺寸,SolidWorks会自动读取,一般不要修改它,但SolidWorks自动标注的尺寸名字(如:D 1,D 2)在程序中难以识别,所以尺寸的名字可在标注时修改,使尺寸的名字尽量表达出特征。通过<工程/引用>菜单,如图2.3,为V B 添加SolidWorks引用。本设计为标准件库的一般开发方法,对致力于SolidWorks二次开发的人员,具有一定的参考价值。