薛順達,王煒文
(揚州大學(xué) 機械工程學(xué)院,江蘇 揚州 225127)
彈簧作為標準件,在日常生活中得到了大量的運用,但CATIA的標準件庫中沒有彈簧,雖然可以從相關(guān)網(wǎng)站上下載標準彈簧,但下載的彈簧均為剛性件,無法變形,故不能做運動仿真,為今后的運動學(xué)分析帶來一定的困難。由于彈簧大量運用,若每次都用傳統(tǒng)方式建模,工作量大且為重復(fù)勞動。因此,本文通過CATIA的二次開發(fā)平臺建立彈簧件的參數(shù)化模型,今后只需調(diào)用程序并修改相關(guān)參數(shù)即可得到標準彈簧,而且可以進行運動仿真。相比于傳統(tǒng)的建模方法,利用基于CATIA二次開發(fā)的參數(shù)化模型能大大提高工作效率。
首先創(chuàng)建螺旋線和截面圓,讓截面圓沿螺旋線掃掠生成彈簧;其次,定義螺距、總高、彈簧中徑、截面直徑等參數(shù),用定義的參數(shù)來驅(qū)動彈簧。
由于完整的腳本代碼比較長,因此只展示定義參數(shù)和參數(shù)驅(qū)動部分的代碼,并做解釋:
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賦值給“總高”,并用“總高”驅(qū)動"Part1\零件幾何體\螺旋線.1\高度",更新part1。"Part1\零件幾何體\螺旋線.1\高度"是之前定義的螺旋線高度。同理,用螺距、截面直徑、彈簧中徑等參數(shù)驅(qū)動彈簧模型,代碼如下:
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 自動生成的彈簧模型
其初始參數(shù)值是在VB中定義的,用戶可根據(jù)自己的需要修改參數(shù)值,模型能夠自動修改,如圖3所示。
圖4為拉伸狀態(tài)下的彈簧,圖5為壓縮狀態(tài)的彈簧。
CATIA是一款集設(shè)計、制造、分析于一體的強大軟件,廣泛運用于車輛、航空航天、造船行業(yè)。二次開發(fā)技術(shù)的運用,擴展了其功能,讓CATIA能更好地為客戶服務(wù)。在VB語言的支持下,CATIA所有模塊的功能都可以從二次開發(fā)的接口實現(xiàn)。從本例可以看出,CATIA二次開發(fā)技術(shù)大大縮短了設(shè)計時間,提高了工作效率。因此,在CATIA現(xiàn)有功能上進行二次開發(fā),在實際應(yīng)用和創(chuàng)新方面具有著較高的價值。
圖3 修改彈簧參數(shù)
圖4 處于拉伸狀態(tài)的彈簧
圖5 處于壓縮狀態(tài)的彈簧
[1] 胡挺,吳立軍.CATIA二次開發(fā)技術(shù)基礎(chǔ)[M].北京:電子工業(yè)出版社,2006.
[2] 詹熙達.CATIA V5產(chǎn)品設(shè)計實例教程[M].北京:機械工業(yè)出版社,2008.
[3] 魏欣,劉希玉,牛雪麗.基于CATIA二次開發(fā)的帆船酒店造型設(shè)計[J].山東建筑大學(xué)學(xué)報,2009(6):510-513.
[4] 何朝良,杜廷娜,張超.基于CAA的CATIA二次開發(fā)初探[J].自動化技術(shù)與應(yīng)用,2006(9):37-39.
[5] 周桂生,陸文龍.CATIA二次開發(fā)技術(shù)研宄與應(yīng)用[J].機械設(shè)計與制造,2010(1):82-83.
[6] 李海濱,楊義虎,朱珊珊,等.以CATIA為平臺的起落架零件參數(shù)化建模技術(shù)研究[J].現(xiàn)代制造工程,2009(7):37-39.