时间:2024-09-03
卢 杰 , 米彩盈
(西南交通大学机械工程学院,四川 成都 610031)
随着科学技术的发展和日益增长的社会需求,机械产品的类型、规格及性能迅速地发生变化,市场要求产品的设计周期越来越短。传统机械产品设计的效率、可靠性、准确性较低,而且对于系列化产品设计需要进行反复的计算、查询和绘图,造成大量重复劳动。因此,为了快速地设计产品模型,符合和贴近现代CAD 中概念设计以及并行设计思想,出现了参数化设计的方法。参数化设计方法就是将模型中的定量信息变量化,使之成为任意调整的参数。对于变量化参数赋予不同的数值,即可得到不同大小和形状的零件模型。参数化设计大大减少了重复设计量、缩短了设计周期和提高了设计效率[1]。对零件的参数化设计,常规的方法都是单一的尺寸驱动或是程序驱动;然后在装配体设计时将尺寸驱动法参数化的零件与程序驱动法参数化的零件装配在一起;而对单个零件实现联合参数化设计还未能实现,本文在此基础上结合两者优点提出对零件的联合法参数化设计,并按联合的形式分类为串联式联合参数法与并联式联合参数法。
尺寸驱动法也被称作参数驱动法。采用尺寸驱动法建模必须有模型库的支持,模型库通常是由用户事先用手工方式建立,保存在程序指定的目录下的模型文件。当需要使用时,运行程序将自动从模型库中打开模型文件,对指定的尺寸参数进行修改,重建,就可以获得满足需要的模型,其实现形式可以是:使用系列零件设计表建立新的配置,通过SolidWorks读取Excel表格里的数剧,利用编程工具[2]。
尺寸驱动法完全依赖于模型库,手工建模时注意要综合考虑尺寸标注方式,需要修改的尺寸参数必须是独立的驱动尺寸,可以利用方程式来关联尺寸。可变参数的输入可以通过对话框、数据库等多种方式实现,也可以从程序的设计计算结果中直接获得。因为有模型库,尺寸参数驱动法省去了执行零件绘制的过程,生成图形时间短、效率高,程序执行时间相当于打开一个零件的时间。
尺寸驱动法的程序编写工作量小,不需要程序员掌握大量的API建模函数,程序的复杂程度与模型的复杂程度无关。但由于这种方法必须对应指定的标注对象和零件对象,所以这种参数化方法对模型库的依赖性很强,模型库一旦确定就不能随意修改;适用于模型标准化程度高的情况或造型过程复杂、可变参量少的情况。对有些含复杂曲线的模型无法用尺寸驱动法实现参数化设计。
程序驱动法参数化,建模的过程完全由程序进行控制,相当于将手动建模的过程由计算机完成。理论上讲,凡是手工建模能够完成的复杂模型都可以用程序方法生成,程序驱动法特别适合生成具有多个变参数的模型,建模的灵活性强,不需要模型库的支持;程序驱动法参数化可移植性强,移植时无须带模型库文件,文件小。
程序驱动法参数化可实现的功能强大,能完成非常复杂零件的实体造型,参数的输入也可以采用数据库等多元化的方法。这种方法的程序设计工作量大,要求程序员对SolidWorks API函数具有较高的理解和运用能力;实质是调用SolidWorks内部提供的API函数,完全通过编程实现建模过程,既需要对 Solidworks API函数比较了解,又需要对开发语言有较好的掌握,对开发人员要求起点比较高。适合于含复杂曲线的模型、参数变量多或参数间有关联的情况。有些含复杂曲线的模型参数化只能用该方法,最典型的就是渐开线参数化的设计。
由于SolidWorks API的函数较多,全部熟悉比较困难,一个简单的了解函数应用的办法是使用SolidWorks宏录制来记录用户在造型过程中的操作,所有的操作会以VBA的形式保存下来,而几乎所有的VC++函数名与VBA的函数名相同或类似,然后通过使用帮助系统可得到相应函数的用法。
上述介绍的两种参数化方法,各有优点,而能不能将上述两种参数化方法的优点在一个零件的参数化过程表现出来,从而简化复杂零件的参数化设计,这就是本文要介绍的联合参数法,按形式的不同又可分为串联式联合参数法与并联式联合参数法。
串联式是指按照一定的顺序前后相连的形式,其原理如图1所示。先在SolidWorks软件中以交互形式创建基体模型,基体模型可以是能用尺寸驱动法实现更新的任意模型,将其保存在模型库中,作为尺寸驱动法的模型库;尺寸驱动法打开模型库中的模型,将界面中的尺寸参数传递给SolidWorks中模型的实体尺寸实现模型的重建;最后利用SolidWorks API函数,选择基体模型的参考面创建新的特征,完成模型的参数化设计。
图1 串联式参数化设计原理
并联式是指尺寸驱动与程序驱动之间是独立的,平行的形式,最后再结合在一起,其原理如图2所示。并联式联合参数化设计,是指尺寸驱动法与程序驱动法在创建基体模型时是互不相关,并无严格先后顺序;并联式联合参数化是借助SolidWorks的库特征来实现的。
图 2 并联式参数化设计原理
库特征是指平时经常使用的单个特征或多个特征组合,可以由一个或多个特征组成,设计库是任务窗格中放置可重用元素的库,具体包括可重用的零件、装配体、块、库特征和其它常用的类型等,库特征往往都放在设计库中[3]。
在SolidWorks软件中以交互形式创建库特征,存入设计库中。利用尺寸驱动法,将界面中的尺寸参数传递给SolidWorks中库特征实体尺寸实现模型的重建;利用SolidWorksAPI函数创建主模型,并将库特征添加到主模型中实现联合参数化设计。
本文以抗侧滚扭杆系统的花键式抗侧滚扭杆扭臂为例进行实例说明:
1) 在SolidWorks软件中以交互方式创建模型,如图3所示,对零件草图标注驱动尺寸,其中可利用方程式关联部分驱动尺寸,以减少参数,入模型库。
图 3 基体模型
2) 建立不同规格的尺寸数据库。利用数据库实现零件尺寸的读取、存储和修改,创建用户界面,如图4所示。花键尺寸采用的是国家标准GB/T 3478.1-2008[4-5]。
图 4 扭臂参数化设计界面
3) 编写代码,尺寸驱动法将界面的尺寸参数传递给实体模型尺寸,自动更改驱动尺寸,重建模型;并添加对花键承载能力的强度校核模块。部分代码如下:
4) 编写代码,程序驱动法在打开的模型中利用SolidWorks API函数选择参考面创建内花键;最后生成的模型如图5所示;下面给出在打开模型中选择参考面创建渐开线的代码:
图 5 串联式最终模型
本文以抗侧滚扭杆系统的花键式抗侧滚扭杆轴为例进行实例说明:
1) 在SolidWorks软件中以交互方式创建库特征,如图6所示,中孔.sddfp;对库特征草图标注驱动尺寸,如果需要可利用方程式关联部分驱动尺寸,以减少参数;保存到设计库。
2) 建立不同规格的尺寸数据库。利用数据库实现零件尺寸的读取、存储和修改,创建尺寸驱动法用户界面,如图7所示。
图 6 库特征及基本模型
图 7 库特征界面
3) 编写代码,尺寸驱动法将界面的尺寸参数传递给实体模型尺寸,自动更改驱动尺寸,重建模型;部分关键代码如下:
4) 建立不同规格的尺寸数据库。利用数据库实现零件尺寸的读取、存储和修改,创建程序法用户界面,如图8所示。花键尺寸采用的是国家标准GB/T 3478.1-2008[4-5]。
图 8 扭杆轴参数化设计界面
5) 编写代码, 利用SolidWorks API函数创建花键轴模型,创建好模型之后再利用SolidWorks API函数将第3步中更新的库征加入到花键轴模型中,完成零件的参数化设计,添加变截面轴的刚度强度较核程序与花键承载能力较核程序。最终的模型如图6的花键轴。将库特征加入到模型中的代码如下:
在分析比较参数化设计中使用的尺寸驱动法与程序驱动法特点的基础上,提出联合参数化设计,详细介绍了该方法的原理和具体实现形式,即串联式和并联式。
以铁道车辆抗侧滚扭杆为例,编制了联合参数化方法的实现程序,验证了在复杂零件参数化设计中的优越性。
[1]胡乙钦. 变结构体参数设计的一种新方法[J]. 机械设计与制造, 2011, 2(5): 41-42.
[2]王文波, 涂海宁. SolidWorks2008二次开发与实例(VC++)[M]. 北京: 清华大学出版社, 2009: 231-256.
[3]叶炜威, 余才佳. SolidWorks2006实体建模与二次开发教程[M]. 北京: 国防工业出版社, 2006: 176-179.
[4]中华人民共和国国家质量监督检验检疫总局, 中国国家标准化管理委员会. GB/T3478.1-2008. 圆柱直齿渐开线花键(米制模数、齿侧配合)[S]. 北京: 中国标准出版社, 2008.
[5]沈守范. 反渐开线函数的综合解算法[J]. 机械制造与研究, 2002, 3(2): 20-22.
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!