基于Solidworks的螺旋弹簧参数化设计二次开发的文献综述
弹簧是工业中最常用的零件之一[1],具有夹紧、减振、复位和调节等多种功能,随着机械技术的进步,弹簧的种类越来越多,对弹簧的要求也越来越高。传统的弹簧设计理论已经不能满足竞争日益激烈的弹簧工业发展的需要。随着计算机技术、计算机辅助设计技术、优化技术和有限元分析技术的进步,这些现代设计方法已经在弹簧的设计实践中获得越来越多的应用。对弹簧进行准确、高效的参数化建模,有很大的应用价值。
在Solidworks软件中,虽然有Toolbox功能,它提供了各国、各组织的标准件库,包括螺栓、键、轴承、齿轮等[2]。但没有弹簧的标准件库供我们调用,所以我们的产品中如果使用到弹簧就需要自己建模,现在的弹簧建模中,弹簧的端部往往是没有压并、没有磨平的。而工程或产品中经常用到的是压并、磨平的冷压或热压弹簧。这就使模型与实际不符,为后续的CAE带来很大的麻烦。在弹簧的设计和制造中,因为有压并,设计完弹簧尺寸后,弹簧丝的展开长度计算相对麻烦而不精确,因为压并和磨平,也给自由高度计算带来很大的困扰。
弹簧是一种标准件,采用标准件会给产品的设计、制造、装配带来了很大的方便[3]。设计人员如果能从CAD系统的标准件库中获得满足设计要求的标准件,则可大大减少重复劳动,提高设计效率,从而缩短新产品的研制周期[4]。弹簧存在多种类型,如圆柱螺旋弹簧、锥形弹簧和变螺距弹簧等,同时实际当中由于受力原因,弹簧会发生变形,使其具有较多样式。在传统弹簧实体设计软件中(如AutoCAD)需一一画出,这无非是一件复杂、冗烦的事[5]。采用面向对象编程VB6.0,并通过对SolidWorks的二次开发[6],实现螺旋弹簧的参数化设计。
Solidworks是世界上第一个基于Windows平台的CAD设计软件[7],它可实现零件造型、大型装配设计及工程图自动生成等功能,且采用全相关技术,使得任何零件结构的修改,都可以实现装配图和工程图的同步更新。功能强大、操作简便,使其为越来越多的设计人员和企业所使用,已成为目前世界上最流行的CAD软件之一。
然而Solidworks无法实现图纸的复制、图形难以修改,无法将草图导出建模,由于该软件是外国人编写的,生成的工程图不适合中国的国标(如基准符号、放大图的标注、装配图的序号、标题栏、明细表等),也没有适合我国国标的标准件库[8]。因此,为了适应特定企业的特殊需求,缩短设计周期,节约设计成本,提高效率,使Solidworks在我国企业中有效地发挥作用,就必须对其进行本地化和专业化的二次开发。
Solidworks有两种二次开发方式[9,10],一种是独立应用程序的形式,用户程序作为一个独立的应用程序(*.exe),通过API接口调用Solidworks提供的服务,完成对Solidworks的控制和操作;二是插件形式 (Add In application),用户程序作为一个插件 (*.dll) 集成到Solidworks中去。
任何支持OLE技术和COM技术的编程语言均可作为二次开发的工具,如今流行的开发语言主要有:Visual C 、Delphi、Visual Basic 6.0等。这些开发语言各有千秋,其中VB语言由于其语言规则简单、可视化程度高,且宏命令所生成的代码完全符合VBA的语言格式,这使得VB在二次开发优势突出,成为选用较多的编程语言。
随着计算机技术的发展,利用计算机进行非线性规划的优化设计取得了成效。在国内外编制出各种版本的弹簧优化设计程序,提高了弹簧设计质量[11]。应用设计程序完成了设计难度较大的弧形离合器弹簧和鼓形悬架弹簧的开发等。国外在上世纪六十年代就已开始这方面的工作,国内在八十年代初开始这方面的工作。目前国内外己经开展了压缩弹簧、碟形弹簧、波形弹簧、板弹簧、片弹簧等不同类型弹簧的优化设计工作。
数控绕簧机的出现和有限元法在弹簧设计中的应用使得复杂的的弹簧的设计和制造成为了可能。近些年来,数控制造技术的进步和汽车工业的快速发展推动了弹簧产品开发技术的进步,在螺旋弹簧的理论研究及其加工技术工艺方面取得了非常大的发展。随着工业的发展,新型弹簧不断地涌现,变节距、变刚度、变线径的弹簧已经开始使用。应用有限元法对弹簧进行设计已经进入实用化阶段,在这方面出现了不少有实用价值的报告,如用有限元法计算的应力和疲劳寿命的关系;螺旋角对弹簧应力的影响等。弹簧的有限元分析方法,在弹簧技术水平较高的国家已得到广泛的应用,我国虽有这方面的尝试,但应用不广。弹簧材料技术是弹簧技术的重要方面。
