引言 H e]1<tx
~^/zCPy[w
SolidWorks是基于Windows平台、采用Parasolid图形核心的一套三维CAD软件,它支持参数化和特征造型技术,能够使用户方便、快捷地创建任何复杂形状的实体,并且可以实现实体的参数化驱动。由于其界面友好、操作方便、简单易学,目前已成为微机平台上流行的三维设计软件。更为重要的是SolidWorks提供了大量的API(Application Program Interface,应用程序接口)函数用于二次开发,这些API函数是SolidWorks的OLE(Object Linking and Embedding,对象的嵌人与链接)或COM (Component Object Model,组件对象模型)接口,使用户能够直接访间SolidWorks,并可以使用多种高级语言,如VB,VBA、VC等对其进行二次开发。由于VB(Visual Basic)是运行在Windows环境下的可视化编程语言,具有语言规则简单、功能齐全、使用简捷的优点,已有很多科研工作者利用VB语言对SolidWorks进行了二次开发,但大多停留在介绍开发的使用方法上,对于SolidWorks在箱体类零件二次开发应用方面的研究鲜有报道。箱类零件一般多用于支撑和装置其它零件,结构形状复杂,并且种类繁多,结构差异很大,其结构以箱壁、筋板和框架为主,工作表面以平台和凸台为主。作者根据箱类零件特点,用SolidWorks对其进行三维建模,并采用高级语言VB等进行编程,达到参数化驱动的目的,实现箱体类零件的参数化设计,使箱体设计更加规范、便捷和高效。 WtI1h `Fo
r`u}n
1 SolidWorks二次开发关键技术及方法 pM~Xh ]/
E#"QaI8`
本文主要通过编写Visual Basic程序来对SolidWorks软件进行二次开发,采用的技术方案是:Visual Basic+Access+SolidWorks API,其主要过程如下: khT&[!J{>
5@c,iU-L
(1)在Microsoft Access中建立箱体类零件设计中所需的表格数据库,供在箱体类零件设计中程序查询用。 g!n1]- 1
>JT{~SRB|Y
(2)在SolidWorks中实现对箱体类零件的造型。用SolidWorks创建箱体类零件三维模型时,把建模的全过程录制成宏文件,找出宏文件中与模型生成有关的关键函数,并确定其中的关键常数,弄清关键常数的变化对实体建模的影响,将关键常数用变量代替,这样就建立了SolidWorks中的箱体类零件的参数化模型。 a?' 3
2{s ND
(3)使用VB语言编制应用程序界面,当进行箱体类零件设计时,设计者通过应用程序界面录入初始参数,程序将自动计算出上述宏文件中所需相关参数,编译程序并生成可执行程序供SolidWorks程序调用。 2rHw5Wn]~
|Y3!Lix
(4)完成可执行应用程序后,使用SolidWorks中的宏操作命令将应用程序嵌人SolidWorks中,实现二者的链接。 }@yvw*c
|)6(_7e9
通过以上四步就完成了SolidWorks的二次开发。以下是作者就二次开发中所用到的关键技术和方法进行的归纳与总结。 O%v(~&OSl
I Vy,A7f
1.1OLE和COM 5_Yv>tx
bGRI^
[8#+
SolidWorks的二次开发分为两种:一种是基于OLE技术的,可以开发exe形式的程序;另一种是基于COM的,可以生成* . dll格式的文件,作为SolidWorks的插件在SolidWorks中被加载运用。能够通过数据嵌人或链接的方式来共享数据。含有嵌人或链接文档数据的应用程序,称之为容器程序;提供文档数据编辑的应用程序,称之为服务器程序。通过OLE技术,许多面向对象的应用程序可以与SolidWorks通讯,从而直接操纵SolidWorks,编制用户化程序满足设计需要。COM技术,即组件对象模型,定义了标准的构建组件的方法,是软件组件互相通讯的一种方式。它是一种二进制的网络标准,允许任意两个组件互相通讯。COM不是一个特殊类型的应用程序,而是一个可以用来为任何类型的应用程序构建组件的普遍的模型。 THHrGvb
Wm:3_C +j
1.2SolidWorks API函数 /rp4m&