肖啟明 朱鵬飛 廖紹超 廖學(xué)海
(重慶三峽學(xué)院機(jī)械工程學(xué)院,重慶 404100)
平面二包環(huán)面蝸桿相對(duì)于普通的圓柱蝸桿在加工工藝、加工精度等方面都要復(fù)雜得多,但它具有多齒嚙合、承載能力大、效率高和良好的瞬時(shí)特性等優(yōu)點(diǎn).通過(guò)對(duì)蝸桿進(jìn)行三維實(shí)體建模,為蝸桿的設(shè)計(jì)以及相關(guān)的力學(xué)計(jì)算提供了幾何模型.
平面二包環(huán)面蝸桿的曲面復(fù)雜,運(yùn)用傳統(tǒng)的建模方式又難以達(dá)到簡(jiǎn)單、高效的目的.相關(guān)文獻(xiàn)[1]對(duì)蝸桿的螺旋曲線軌跡進(jìn)行了理論推導(dǎo).Solidworks可以利用這四條螺旋線的參數(shù)方程生成這四條螺旋線,再用掃描命令形成的實(shí)體對(duì)蝸桿胚體進(jìn)行切除,生成蝸桿三維實(shí)體模型.但是螺旋線的計(jì)算需要花費(fèi)大量的時(shí)間,不利于該技術(shù)的推廣使用.本文通過(guò)利用Visual Basic和solidworks聯(lián)合編程,建立平面二包環(huán)面蝸桿的參數(shù)化軟件.利用實(shí)例驗(yàn)證軟件的正確性,證明該方法正確可靠.該方法簡(jiǎn)化了復(fù)雜的建模過(guò)程,提高了蝸桿的設(shè)計(jì)效率,有利于該類蝸桿的推廣使用.
參數(shù)化建模就是在一般的優(yōu)化技術(shù)的基礎(chǔ)之上,通過(guò)將模型參數(shù)化,通過(guò)簡(jiǎn)單地改變模型中的參數(shù)值就能夠建立和分析新的模型.本文中用戶可以運(yùn)用Visual Basic編程語(yǔ)言編制好的平面二包環(huán)面蝸桿界面,輸入蝸桿的基本參數(shù),程序就能計(jì)算出蝸桿的幾何尺寸和蝸桿的螺旋線公式,再調(diào)用solidworks對(duì)蝸桿的三維實(shí)體進(jìn)行參數(shù)化建模.
平面二包環(huán)面蝸桿建模過(guò)程大致可以分為以下三個(gè)步驟:
(1)旋轉(zhuǎn)基體形成蝸桿胚體
(2)利用蝸桿螺旋線參數(shù)方程生成螺旋線
(3)引用四條蝸桿螺旋線對(duì)蝸桿胚體切除,點(diǎn)擊控件直接生成蝸桿三維實(shí)體
圖1中填充部分為蝸桿除去材料后的軸線剖面圖,1、2、3、4四個(gè)端點(diǎn)分別為齒形的四個(gè)端點(diǎn)即蝸桿四條螺旋線.現(xiàn)在使蝸桿齒頂圓弧繞x軸旋轉(zhuǎn),同時(shí)1、2、3、4形成的填充部分相對(duì)于y-z平面移動(dòng),為保證四條曲線的起點(diǎn)、終點(diǎn)在同一平面內(nèi),引入相位角的變化.根據(jù)參考文獻(xiàn)[1]同時(shí)結(jié)合solidworks對(duì)系統(tǒng)參數(shù)的要求,對(duì)螺旋線方程進(jìn)行進(jìn)一步推導(dǎo)變化,得到如下的螺旋線方程:
其中:j=1,2,3,4;t大于二倍的蝸桿包圍蝸輪的工作半角.
圖1
solidworks中為了方便用戶對(duì)其進(jìn)行二次開(kāi)發(fā),提供了幾百個(gè)API函數(shù),這些API是solidworks的OLE或COM接口,用戶可以使用高級(jí)語(yǔ)言對(duì)其進(jìn)行二次開(kāi)發(fā),建立用戶需要的專用功能模塊.API中的函數(shù)可以被Visual Basic、C/C++、VBA等程序調(diào)用,很大程度上加強(qiáng)了 solidworks的功能擴(kuò)展.Solidworks的API函數(shù),可以完成零件的造型、修改;零件特征的建立、修改、刪除等控制;零件的裝配信息;零件工程圖紙中的各項(xiàng)信息等.
Visual Basic是在Windows操作系統(tǒng)下一種常用的編程語(yǔ)言,通過(guò)Visual Basic可以建立良好的用戶界面和數(shù)據(jù)庫(kù)查詢、讀取等功能,同時(shí)solidworks所提供的API函數(shù),可以用Visual Basic對(duì)其進(jìn)行二次開(kāi)發(fā).本文就是通過(guò)在 Visual Basic中直接引用 solidworks的宏命令實(shí)現(xiàn) Visual Basic調(diào)用solidworks的功能.以下對(duì)部分代碼給予介紹解釋:
3.2.1 SoldWorks連接
通過(guò)命令后臺(tái)啟動(dòng)solidworks
Dim swApp As Object
Dim Part As Object
Set swApp = CreateObject("SldWorks.Application")
swApp.Visible (True)
3.2.2 讀取蝸桿模型以及尺寸變量信息
Set Part = swApp.OpenDoc("D:蝸桿.sldprt", swDocPART)
Set Part = swApp.ActivateDoc("蝸桿.sldprt")
3.2.3 通過(guò)尺寸驅(qū)動(dòng)生成蝸桿草圖,然后利用旋轉(zhuǎn)命令生成毛坯
Part.Parameter("D1@草圖 1").SystemValue = Val(Text1.Text)
Part.Parameter("D2@旋轉(zhuǎn)").SystemValue = 360
采用宏命令的方法,對(duì)平面二包環(huán)面蝸桿進(jìn)行參數(shù)化建模,Visual Basic語(yǔ)言能夠自動(dòng)記錄蝸桿建模生成過(guò)程,這樣大大提高了對(duì)蝸桿實(shí)體建模的效率,同時(shí)使蝸桿實(shí)體建模方法得到大量簡(jiǎn)化,給用戶提供了一種簡(jiǎn)單、高效的建模手段.但是在Visual Basic語(yǔ)言自動(dòng)記錄過(guò)程中,會(huì)產(chǎn)生許多冗雜的代碼,針對(duì)這些多余的代碼,對(duì)其進(jìn)行刪減、優(yōu)化.
圖2
現(xiàn)以文獻(xiàn)[2]中的參數(shù)中心距a=250mm,傳動(dòng)比i=40,蝸桿頭數(shù)Z1=1,蝸桿分度圓直徑d1=82mm,蝸輪分度圓直徑d2=418mm為例建立蝸桿模型.
3.4.1 建立蝸桿胚體
輸入相關(guān)參數(shù),利用軟件計(jì)算出蝸桿截面數(shù)據(jù),繪制蝸桿截面,運(yùn)用旋轉(zhuǎn)生成蝸桿胚體.
生成的蝸桿胚體如圖3所示.
3.4.2 生成蝸桿螺旋線
程序根據(jù)計(jì)算結(jié)果,結(jié)合公式1繪制出滿足要求的4條螺紋線,如圖4所示.
圖3 蝸桿胚體
圖4 螺旋線
3.4.3 生成蝸桿實(shí)體
程序通過(guò)相關(guān)宏命令執(zhí)行以下操作:連接四條螺旋線的端點(diǎn),使其形成一個(gè)閉合的實(shí)體,通過(guò)掃描切除對(duì)蝸桿胚體切除,形成蝸桿齒槽,生成蝸桿的實(shí)體模型,如圖5所示.
圖5 參數(shù)后的蝸桿實(shí)體模型
通過(guò)分析平面二包環(huán)面蝸桿螺旋線的公式,同時(shí)利用Visual Basic編程語(yǔ)言和solidworks自帶的API函數(shù)進(jìn)行聯(lián)合編程,生成平面二包環(huán)面蝸桿參數(shù)化軟件,達(dá)到了對(duì)其進(jìn)行參數(shù)化建模的目的.同時(shí)通過(guò)實(shí)例對(duì)軟件進(jìn)行驗(yàn)證,證明軟件是正確可靠的.因此可以得到如下結(jié)論:
1)利用平面二包環(huán)面蝸桿螺旋線參數(shù)方程,對(duì)蝸桿實(shí)體模型進(jìn)行參數(shù)化建模是正確可靠的.
2)運(yùn)用Visual Basic語(yǔ)言調(diào)用solidworks API聯(lián)合編程進(jìn)行二次開(kāi)發(fā),可以實(shí)現(xiàn)輸入蝸桿參數(shù),輸出蝸桿三維實(shí)體模型,能夠大幅度提高對(duì)于蝸桿三維建模的效率.
3)該方法簡(jiǎn)化了復(fù)雜的建模過(guò)程,提高了蝸桿的設(shè)計(jì)效率,有利于該類蝸桿的推廣使用.
[1]高華中,何邦貴.平面二次包絡(luò)環(huán)面蝸桿傳動(dòng)的實(shí)體建模研究[J].機(jī)械設(shè)計(jì)與制造,2009(3).
[2]董學(xué)朱.環(huán)面蝸桿傳動(dòng)設(shè)計(jì)和修形[M].北京:機(jī)械工業(yè)出版社,2004.
[3]胡建生,李衛(wèi)民,劉玉浩.基于solidworks參數(shù)化實(shí)體造型的方法研究[J].遼寧工學(xué)院學(xué)報(bào),2007(4).