薛顺达,王炜文
(扬州大学 机械工程学院,江苏 扬州 225127)
弹簧作为标准件,在日常生活中得到了大量的运用,但CATIA的标准件库中没有弹簧,虽然可以从相关网站上下载标准弹簧,但下载的弹簧均为刚性件,无法变形,故不能做运动仿真,为今后的运动学分析带来一定的困难。由于弹簧大量运用,若每次都用传统方式建模,工作量大且为重复劳动。因此,本文通过CATIA的二次开发平台建立弹簧件的参数化模型,今后只需调用程序并修改相关参数即可得到标准弹簧,而且可以进行运动仿真。相比于传统的建模方法,利用基于CATIA二次开发的参数化模型能大大提高工作效率。
首先创建螺旋线和截面圆,让截面圆沿螺旋线扫掠生成弹簧;其次,定义螺距、总高、弹簧中径、截面直径等参数,用定义的参数来驱动弹簧。
由于完整的脚本代码比较长,因此只展示定义参数和参数驱动部分的代码,并做解释:
Set parameters1= part1.Parameters
Set length4 = parameters1.CreateDimension("","LENGTH",0.000000)
Set parameters2= part1.Parameters
Set length5 = parameters2.CreateDimension("","LENGTH",0.000000)
Set parameters3= part1.Parameters
Set length6 = parameters3.CreateDimension("","LENGTH",0.000000)
Set parameters4=part1.Parameters
Set length7 = parameters4.CreateDimension("","LENGTH",0.000000)
length4.Rename"螺距"
length5.Rename"总高"
length6.Rename"弹簧中径"
length7.Rename"截面直径"
part1.Update
以上这段代码,定义了弹簧的总高、螺距、截面直径、弹簧中径4个长度。4个长度的初始值为0。
length5.Value=100.000000
Set relations1=part1.Relations
Set parameters5=part1.Parameters
Set length8=parameters5.Item("Part1\零件几何体\螺旋线.1\高度")
Set formula1 = relations1.CreateFormula("公 式.1","",length8,"`总高`")
formula1.Rename"公式.1"
part1.Update
以上这段代码,将100赋值给“总高”,并用“总高”驱动"Part1\零件几何体\螺旋线.1\高度",更新part1。"Part1\零件几何体\螺旋线.1\高度"是之前定义的螺旋线高度。同理,用螺距、截面直径、弹簧中径等参数驱动弹簧模型,代码如下:
length4.Value=10.000000
Set relations2=part1.Relations
Set parameters6=part1.Parameters
Set length9=parameters6.Item("Part1\零件几何体\螺旋线.1\螺距")
Set formula2 = relations2.CreateFormula("公 式.2","",length9,"`螺距`")
formula2.Rename"公式.2"
part1.Update
length7.Value=5.000000
Set relations3=part1.Relations
Set formula3 = relations3.CreateFormula("公 式.3","",length2,"`截面直径`/2")
formula3.Rename"公式.3"
part1.Update
length6.Value=40.000000
Set relations4=part1.Relations
Set formula4 = relations4.CreateFormula("公 式.4","",length1,"`弹簧中径`/2")
formula4.Rename"公式.4"
part1.Update
保存编写好的VB脚本,启动CATIA,进入“工具”栏,选择下拉菜单中的“宏”按钮,选择刚才编写好的VB脚本文件,点击运行,如图1所示。
图1 运行VB脚本文件
程序会自动生成弹簧模型,其螺距为10 mm,总高为100 mm,弹簧中径为40 mm,截面直径为5 mm,如图2所示。
图2 自动生成的弹簧模型
其初始参数值是在VB中定义的,用户可根据自己的需要修改参数值,模型能够自动修改,如图3所示。
图4为拉伸状态下的弹簧,图5为压缩状态的弹簧。
CATIA是一款集设计、制造、分析于一体的强大软件,广泛运用于车辆、航空航天、造船行业。二次开发技术的运用,扩展了其功能,让CATIA能更好地为客户服务。在VB语言的支持下,CATIA所有模块的功能都可以从二次开发的接口实现。从本例可以看出,CATIA二次开发技术大大缩短了设计时间,提高了工作效率。因此,在CATIA现有功能上进行二次开发,在实际应用和创新方面具有着较高的价值。
图3 修改弹簧参数
图4 处于拉伸状态的弹簧
图5 处于压缩状态的弹簧
[1] 胡挺,吴立军.CATIA二次开发技术基础[M].北京:电子工业出版社,2006.
[2] 詹熙达.CATIA V5产品设计实例教程[M].北京:机械工业出版社,2008.
[3] 魏欣,刘希玉,牛雪丽.基于CATIA二次开发的帆船酒店造型设计[J].山东建筑大学学报,2009(6):510-513.
[4] 何朝良,杜廷娜,张超.基于CAA的CATIA二次开发初探[J].自动化技术与应用,2006(9):37-39.
[5] 周桂生,陆文龙.CATIA二次开发技术研宄与应用[J].机械设计与制造,2010(1):82-83.
[6] 李海滨,杨义虎,朱珊珊,等.以CATIA为平台的起落架零件参数化建模技术研究[J].现代制造工程,2009(7):37-39.