基于SolidWorks的螺纹联接标准件库的开发
发表时间: 2008-7-8 作者: 杨海飞*蒋建东*王杰 来源: 万方数据
关键字: SolidWorks 二次开发 Visual Basic 螺纹连接标准件序
SolidWorks是一款非常优秀的三维机械设计软件,但是它缺少国家标准零件库,给机械设计工作带来了不便。为了方便用户进行二次开发,SolidWorks提供了基于OLE自动化技术的API函数。利用高级可视化编程语言Visual Basic和简单易用的Access数据库,开发了一个基于SolidWorks的螺纹连接标准件库,而且在标准件库中添加了受力分析模块,使之更加符合实际应用的需要。在开发了标准的EXE程序的同时,又将工程加以改进,生成SolidWorks插件,即DLL文件,将各模块的界面附在SolidWorks软件的主莱单上,使2个系统融为一体,应用更加方便快捷。
0引言
SolidWorks是一套基于Windows的CAD/CAE/CAM/PDM桌面集成系统,是美国SolidWorks公司在总结和继承了大型机械CAD软件的基础上,在Windows环境下实现的第一个机械三维CAD软件。在工程设计时设计人员经常选用标准化、系列化的零件,如螺栓、螺钉、螺母、垫圈等,这些元件将在设计时反复地在装配体的不同位置被选用,而且规格大小各不相同,如果能够建立一个标准件三维实体模型库,在用户选择某规格的标准件时,能够自动从库中取出,然后插人到装配体的指定位置,将大大简化设计工作,提高设计效率。但SolidWorks并没有提供一个符合我国国家标准的标准零件库,在此背景下本文对SolidWorks进行了二次开发,创建了一个符合国家标准的螺纹连接标准件库。
1 VC对Solidworks开发的基本原理
SolidWorks支持ActiveX Automation技术,VB环境下建立的客户程序可以直接访间SolidWorks中的对象。ActiveX Automation是Microsoft公司提出的一个基于COM (Componet Object Model)的技术标准,是以前的OLE(Object Linking and Embeding)技术更高层次的发展,ActiveX Automation被开发出来的原因就是用于协调不同的应用程序。
SolidWorks支持OLE标准,完全实现 OLE自动化。作为一个OLE服务器,SolidWorks提供了大量的OLE对象,以这些对象所拥有的方法和属性,用户通过在客户应用程序中对这些OLE对象及其方法和属性的操作,可以在自己开发的应用软件中实现诸如生成直线、造实体、检查曲面表面参数等几乎所有的SolidWorks软件的功能。
SolidWorks中常用的主要ActiveX Automation对象有Parameter,Sldworks,Entity和EnumBodie。对象等,如图1所示。Sldworks对象为VB对SolidWorks工作环境进行访问处理提供了接口。通过此对象可以对SolidWorks工作环境添加菜单、删除菜单、添加工具条、打开文件、新建文件、退出SolidWorks系统。用VB调用SolidWorks中的API函数,还可以完成零件的建造和修改;零件各特征的建立、修改、删除和压缩等各项控制;零件特征信息的提取,如特征尺寸的设置与提取,特征所在面的信息提取及各种几何和拓扑信息;零件的装配信息;零件工程图纸中的各项信息等。
在对SolidWorks进行二次开发时,首先要建立SolidWorks的连接,创建SolidWorks的应用对象
Dim swApp As Object
Set swApp=CreateObject ("S1dWorks. Application")
通过这个函数,就打开了SolidWorks的接口,可以调用它的API函数了。例如建立新的零件图
Dim Part As Object
Set Part=swApp. newpart
SolidWorks是一套基于Windows的CAD/CAE/CAM/PDM桌面集成系统,是美国SolidWorks公司在总结和继承了大型机械CAD软件的基础上,在Windows环境下实现的第一个机械三维CAD软件。在工程设计时设计人员经常选用标准化、系列化的零件,如螺栓、螺钉、螺母、垫圈等,这些元件将在设计时反复地在装配体的不同位置被选用,而且规格大小各不相同,如果能够建立一个标准件三维实体模型库,在用户选择某规格的标准件时,能够自动从库中取出,然后插人到装配体的指定位置,将大大简化设计工作,提高设计效率。但SolidWorks并没有提供一个符合我国国家标准的标准零件库,在此背景下本文对SolidWorks进行了二次开发,创建了一个符合国家标准的螺纹连接标准件库。
1 VC对Solidworks开发的基本原理
SolidWorks支持ActiveX Automation技术,VB环境下建立的客户程序可以直接访间SolidWorks中的对象。ActiveX Automation是Microsoft公司提出的一个基于COM (Componet Object Model)的技术标准,是以前的OLE(Object Linking and Embeding)技术更高层次的发展,ActiveX Automation被开发出来的原因就是用于协调不同的应用程序。
SolidWorks支持OLE标准,完全实现 OLE自动化。作为一个OLE服务器,SolidWorks提供了大量的OLE对象,以这些对象所拥有的方法和属性,用户通过在客户应用程序中对这些OLE对象及其方法和属性的操作,可以在自己开发的应用软件中实现诸如生成直线、造实体、检查曲面表面参数等几乎所有的SolidWorks软件的功能。
SolidWorks中常用的主要ActiveX Automation对象有Parameter,Sldworks,Entity和EnumBodie。对象等,如图1所示。Sldworks对象为VB对SolidWorks工作环境进行访问处理提供了接口。通过此对象可以对SolidWorks工作环境添加菜单、删除菜单、添加工具条、打开文件、新建文件、退出SolidWorks系统。用VB调用SolidWorks中的API函数,还可以完成零件的建造和修改;零件各特征的建立、修改、删除和压缩等各项控制;零件特征信息的提取,如特征尺寸的设置与提取,特征所在面的信息提取及各种几何和拓扑信息;零件的装配信息;零件工程图纸中的各项信息等。
在对SolidWorks进行二次开发时,首先要建立SolidWorks的连接,创建SolidWorks的应用对象
Dim swApp As Object
Set swApp=CreateObject ("S1dWorks. Application")
通过这个函数,就打开了SolidWorks的接口,可以调用它的API函数了。例如建立新的零件图
Dim Part As Object
Set Part=swApp. newpart
本文为授权转载文章,任何人未经原授权方同意,不得复制、转载、摘编等任何方式进行使用,e-works不承担由此而产生的任何法律责任! 如有异议请及时告之,以便进行及时处理。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。
责任编辑:童伟