基于GPS的尺寸精度及配合设计的二次开发*

2010-11-28 04:59王康康张琳娜赵凤霞金相杰
制造技术与机床 2010年5期
关键词:二次开发公差插件

王康康 张琳娜 赵凤霞 金相杰

(郑州大学机械工程学院,河南郑州 450001)

新一代产品几何技术规范GPS是ISO/TC213针对产品的设计与制造而规定的一系列宏观和微观的几何技术规范。在新一代GPS规范中,形位公差的确定作为产品设计阶段的重要环节之一,反映了设计人员的设计思想,同时也涉及到了加工、检测的需要。

新一代GPS及制造业信息化的发展,要求实现精度信息在产品整个生命周期中的传递、共享与集成控制;而实现精度信息集成控制的基础是实现精度信息描述的数字化。目前,虽然CAD/CAM的发展取得了重大突破,但精度设计的发展相对滞后,现有CAD造型系统大多缺少精度信息处理模块或不能完善处理精度信息,设计者往往通过手工操作将精度信息作为静态文本加入到实体模型中,没有合理的解释和工程语义。此外,手工查表进行公差确定、分析与综合,也阻碍了设计和生产过程的自动化。因此,实现零件精度信息的自动设计及标注是解决CAD/CAPP/CAM集成的关键技术。而随着CAD/CAPP/CAM技术向集成化、智能化、网络化和并行工程的方向发展,在CAD平台上开发基于GPS的精度设计模块将具有非常重要的实际意义。

1 开发平台及关键技术

1.1 开发平台及工具

SolidWorks是一款基于 Windows的 CAD/CAE/CAM/PDM桌面集成系统,是在Windows环境下实现的第一个机械三维CAD软件,它为用户提供产品级的自动设计工具,并可以最大限度地满足设计者的设计意图,并且操作简单,功能强大,这些特点使它日渐成为目前微机平台上的主流三维设计软件。因此,此处将采用SolidWorks作为二次开发的平台。

但从目前已发行的SolidWorks最新版本来看,还未见符合新一代GPS标准适用于计算机辅助检测的独立模块,更没有实现新一代GPS标准下,精度特征中极限与配合、形位公差以及粗糙度等的自行设计。设计人员需要考虑各种条件后一一查询手册来完成设计,然后再进行标注,这就降低了设计人员的工作效率,增加了劳动强度,并且容易造成设计结果的随意性。因此,基于新一代GPS体系,在SolidWorks平台上进行精度设计的二次开发,以实现公差的自动设计与标注具有很重要的实际意义。本文正是基于这一出发点,在SolidWorks中开发精度设计模块,实现尺寸精度及配合的自动设计,从而有效地提升SolidWorks在尺寸精度设计方面的功能。

1.2 开发环境及相关技术

为了方便用户开发符合自身要求的专用工具和具体功能,SolidWorks提供了大量的 API(Application Program Interface,应用程序接口)函数用于二次开发,这些 API函数是 SolidWorks的 OLE(Object Linking and Embedding,对象的嵌入与链接)或COM(Component Object Model,组件对象模型)接口,使用户能够通过高级语言编程直接访问SolidWorks,并可以使用多种高级语言对其进行二次开发,如VBA、VB、VC、Delphi等。本课题选择VB作为开发工具。

SolidWorks API接口采用面向对象的方法,所有的函数都是有关对象的方法或属性。API及其有关文档都包括在SolidWorks软件中,任何用户都可以对Solidworks进行二次开发。SolidWorks API的两种接口函数中,基于OLE自动化控制的,只能开发TXT形式的程序,可以在程序中调用SolidWorks;而基于COM技术的,可以使用最多的SolidWorks API,并可以控制SolidWorks的运行方式,生成*.dll格式的文件,得到SolidWorks的插件,实现与SolidWorks平台的无缝连接。本文所设计的精度设计模块是SolidWorks在工作过程中可以随时调用的功能模块,所以选择基于COM技术的方法来实现。

2 精度设计模块开发

精度设计模块的开发主要包括:与ACCESS公差信息数据库的通讯,与SolidWorks无缝连接的基于COM技术的*.dll插件程序的开发,精度设计模块主程序开发等三个部分。这里拟采用的技术方案是:首先利用ACCESS构造出基于现代GPS理论的公差信息数据库,然后利用SolidWorks API函数来完成和SolidWorks直接通讯的DLL插件程序的开发,再用VB创建 ActiveX DLL文件,即精度设计菜单,集成到SolidWorks环境中,直接在SolidWorks中运行,从而方便设计人员的设计和操作。

2.1 DLL插件程序的开发

要实现精度设计模块与SolidWorks的无缝连接,首先必须利用SolidWorks API函数来完成和 Solid-Works直接通讯的DLL插件程序的开发,实际上就是生成一个DLL文件。具体操作步骤如下:

首先,利用VB创建ActiveX DLL文件,即要生成的SolidWorks的插件文件,再利用VB的编程能力创建出自定义的SolidWorks菜单,即精度设计模块菜单,集成到SolidWorks环境中。在用VB程序生成DLL的过程中,必须定义DLL文件与SolidWorks连接的接口。

实现这部分功能的核心程序段为:

程序编写完成后,点击菜单【文件】【生成jdsj.dll】,得到 DLL文件,然后运行 SolidWorks,点击【打开】,找到之前编写的*.dll文件,运行。这样编写的菜单就作为插件加入到了SolidWorks环境中。加载精度设计模块菜单后的SolidWorks主窗口如图1所示。

2.2 模块开发的主程序

此处主要是研究精度设计中尺寸精度及配合的设计。主要是利用VB开发的程序,通过对精度信息数据库的读取,来辅助设计工作,从而避免了手工查询,同时可以通过API将设计结果直接在SolidWorks的三维实体上进行标注,减少了设计的随意性,并有效的提高了设计效率。

由于尺寸精度的设计直接关系到零件使用性能和加工的难易程度,因此在具体设计时,应首先考虑使用要求的保证,其次应联系工艺、配合及有关典型零部件精度匹配的特点,参考应用实例,进行尺寸精度的选取及设计。

下面简单介绍一下编写程序的主要过程:首先利用VB窗体设计器设计出符合设计人员工作习惯,且操作简便的主窗口,如图2。根据所设计零件的使用性能要求,可分为块规尺寸、量规尺寸、配合尺寸、精密零件的配合尺寸、非配合尺寸以及原材料尺寸等六种尺寸类型。国家标准规定了每一种尺寸类型的公差等级的大致应用范围。在图2中,点击每一个选项按钮,将会在下面的文本框中显示相应的公差等级及其应用范围,选中任一选项,按下“继续”按钮,就会得到公差等级的最终设计结果,同时可得到推荐使用的加工方法。

当尺寸为配合尺寸时,尺寸精度的设计还应该综合考虑配合及典型零(部)件的精度匹配。由于孔、轴的公差等级直接影响配合的精度,所以配合要求中必然包含有对孔、轴公差的要求。如:对过渡配合或过盈配合,一般要求配合的稳定性较高,即不允许其间隙或过盈的变动量太大,否则满足不了定心或传力的要求,因此,应选较高的公差等级(如:过渡配合应在8级或以上,过盈配合应在7级或以上)。而对间隙配合,允许有间隙变动较大的情况时,一般情况下,间隙小,其公差等级应选高一些(如H6/g5);间隙大,其公差等级应低一些(如H10、a10)。同时,由于配合尺寸精度设计还要考虑配合类型的选用等要求,所以比其他几种尺寸类型设计要复杂一些。界面如图3所示:用户选择相应的设计表面和配合表面,由具体工作要求得到相应的配合类型,再选择具体的使用要求,即可得到最终的设计结果——推荐的公差等级及可选用的加工方法,如图4所示。然后再在图5的公差带中,点选已得到的公差等级,由基本尺寸即可得到公差值以及上下偏差,进而完成标注,标注的结果如图6所示。

3 结语

本文以新一代GPS为理论基础,以VB为开发工具,对SolidWorks进行精度设计模块的二次开发,主要是尺寸精度及配合的设计,不但解决了CAD系统中公差与配合设计需要人工查询手册的问题,同时避免了设计的随意性,实现了尺寸精度查询和设计的自动化和智能化,并且提高了设计与绘图的效率和质量,提升了软件性能,扩展了SolidWorks的应用功能,有利于进一步发挥CAD的优越性,从而真正实现CAD与后续的CAPP/CAM的集成。

[1]张琳娜.精度设计与质量控制基础[M].北京:中国计量出版社,2000.

[2]江洪,魏峥,等.SolidWorks二次开发实例解析[M].北京:机械工业出版社,2004.

[3]方东阳,李秀明,张琳娜,等.基于GPS的形位公差项目分析和设计[J].郑州大学学报,2005(3):73-76.

[4]SolidWorks公司.SolidWorks API二次开发 [M].北京:机械工业出版社,2005.

[5]Bob Reselman,Richard Peasley.实用Visual Basic 6[M].北京:清华大学出版社,2001.

[6]李向阳.SolidWorks二次开发的研究[J].精密制造与自动化,2008(2):37-39.

[7]曾祥光张玲玲.基于VB的SolidWorks二次开发[J].机械工程师,2006(3).

[8]熊巍,刘林,阎汉生.用SolidWorks API进行参数化设计[J].CAD/CAM与制造业信息化,2006(6):54-56.

猜你喜欢
二次开发公差插件
一种应用等效平面的公差分析方法
自编插件完善App Inventor与乐高机器人通信
西门子Operate高级编程的旋转坐标系二次开发
浅谈Mastercam后处理器的二次开发
西门子Easy Screen对倒棱机床界面二次开发
基于jQUerY的自定义插件开发
带有中心值的百分数的公差表示方式
带有中心值的百分数的公差表示方式
基于Revit MEP的插件制作探讨
ANSYS Workbench二次开发在汽车稳定杆CAE分析中的应用