SolidWorks专区  |  新闻  |  文库  |  资料  |  案例  |  有问必答  |  视点  |  进阶  |  渠道  |  博客  |  电子周刊 |  视频 |  百味书屋

基于SolidWorks二次开发的机械零件参数化建模研究

发表时间: 2014/10/15 作者: 吴晓燕 来源: 互联网
本文以SolidWorks 2008为开发平台,介绍了利用面向对象的开发工具Visual C++对SolidWorks进行二次开发的方法,并通过实例验证了机械零件参数化建模的过程,实例表明该方法具有一定的可行性。
 

0 前言

    SolidWorks是基于Windows平台的CAD/CAM/CAE/PDM桌面集成系统,以参数化和特征建模的技术,为设计人员提供了良好的设计环境。在SolidWorks系统中,模型的尺寸、相互关系和几何轮廓可以随时修改,零部件之间和零部件与图纸之间的更新完全同步,能自动进行动态约束检查,具有强劲的复杂曲面造型功能,现已成为微机平台上主流三维设计软件之一。

    尽管SolidWorks的功能已非常强大,但由于仍然采用的是手工交互形式建模,不能完全满足专业机械CAD系统的需要。基于此因,如果能通过对SolidWorks进行二次开发,针对特定机械结构实现参数化建模,那么对于三维建模在我国企业中的推广将是非常有利的。为了方便用户进行二次开发,SolidWorks软件提供了开发工具API(Application Program Interface,应用程序接口),用户可以使用支持API的高级语言如Visual C++、Visual Basie、Delphi等对Solid Wor ks进行二次开发,创建出用户定制的、特有的SolidWorks功能模块。

1 SolidWorks的二次开发技术和参数化建模

    1.1 SolidWorks的二次开发

    SolidWorks为用户提供的API二次开发接口,由数以百计的功能函数构成,这些API函数使得程序员可以通过程序直接访问SolidWorks。所有的函数都是有关对象的方法或属性,通过对这些对象属性的设置和方法的调用,用户可以在自己开发的程序中对SolidWorks进行各种操作控制,从而完成零件草图的绘制和三维模型的建立。

    SolidWorks的API接口分为两种:一种是基于OLE(Object Linking and Embedding,对象的嵌入与链接)Automation的IDispath技术;另一种是基于Windows基础的COM(Compenent Object Model,组件对象模型)技术。基于OLE Automation的IDispath技术是一种快速开发手段,通常作为Visual Basic、Delphi编程语言的接口。而由基于COM技术的Visual C++编程语言开发的DLL(Dynamic Link Library,动态链接库)文件,可以直接嵌入到SolidWorks内部,当成功加载后,应用程序的菜单就直接出现在SolidWorks主菜单上,与SolidWorks自带的插件一样,而且还可以单独测试,进行操作时极大地提高了设计效率,所以是首选的开发方法。

    1.2 零部件的参数化建模

    三维建模时应对零件进行分析,选择合理的建模方法。参数化设计是指通过改动图形的某一部分或某几部分的尺寸,自动完成对图形中相关部分的修改,即当赋予不同的参数值时,就可自动生成满足设计要求的零部件模型,从而实现同类机械产品快速修改与设计。对于参数化模型而言,主要有两个内容:几何关系和拓扑关系。几何关系是指具有几何意义的点、线、面,有确定的位置和大小;拓扑关系反映了形体的特性和关系,如几何元素之间的邻接关系。对于企业中标准化、通用化和系列化的产品,设计时所采用的数学模型及产品结构都可以将数据作为参数变量,从而实现在SolidWorks环境下零部件的三维参数化建模。这种参数化设计技术具有强大的变量驱动和模型再生功能,可以有效地提高设计人员的工作效率。

2 用Visual C++6.0对SolidWorks进行二次开发的方法

    2.1 DLL的创建

    基于COM技术的Visual C++编程语言所开发的DLL文件,可以通过三种方式创建:一种是使用SWizard.swx工程向导,第二种是使用ATL Object Wizard向导,第三种是使用用户自定义向导。第二种向导创建DLL文件,相对来说简单实用,开发时间短。在Visual C++中用该向导创建DLL工程,加入自己应用程序的代码,编译链接后生成*.dll文件,也就是插件。

    2.2 DLL的加载

    将动态链接库文件*.dll加载到SolidWorks中,有两种常用的方法:

    一种是先运行SolidWorks软件,然后点击SolidWorks菜单栏中的【文件】,【打开】菜单命令,在弹出的过滤器中选择Add-Ins(*.dll),最后选择所需的DLL文件加载,确定即可;另一种是先将DLL在注册表中注册成为SolidWorks系统的插件,然后运行SolidWorks,点击【工具】,【插件】菜单命令,在弹出的插件对话框中选择要加载的插件即可。此操作对于一个动态库文件只需做一次,以后启动SolidWorks软件无需再进行加载操作。

 




责任编辑:程玥