張聚濤
基于CATIA的圓柱凸輪參數(shù)化設(shè)計(jì)系統(tǒng)的設(shè)計(jì)及實(shí)現(xiàn)
張聚濤
(唐山學(xué)院 教務(wù)處,河北 唐山 063000)
文章以建立凸輪輪廓曲線參數(shù)方程為理論基礎(chǔ),通過(guò)CATIA的曲線功能生成凸輪輪廓曲線,結(jié)合CATIA零件設(shè)計(jì)工作臺(tái)建立凸輪的工作廓面,利用CATIA的宏錄制命令記錄空間凸輪的設(shè)計(jì)過(guò)程,并提取宏程序,以CATIA作為參數(shù)化設(shè)計(jì)的平臺(tái),使用VB語(yǔ)言結(jié)合提取的宏程序代碼設(shè)計(jì)不同的功能模塊對(duì)CATIA進(jìn)行二次開(kāi)發(fā),建立了圓柱凸輪參數(shù)化設(shè)計(jì)系統(tǒng),開(kāi)發(fā)的系統(tǒng)可在不啟動(dòng)CATIA的情況下對(duì)圓柱凸輪進(jìn)行參數(shù)化設(shè)計(jì),不僅提高了設(shè)計(jì)的精度還提高了設(shè)計(jì)效率。
圓柱凸輪;輪廓曲線;宏錄制;參數(shù)化設(shè)計(jì);CATIA;系統(tǒng)設(shè)計(jì)
與平面凸輪機(jī)構(gòu)相比,圓柱凸輪機(jī)構(gòu)具有傳力性能好、運(yùn)動(dòng)精度高,相比平面凸輪機(jī)構(gòu)其工作輪廓面是空間曲面,如果采用設(shè)計(jì)平面凸輪輪廓的方法,把圓柱凸輪廓面展成矩形平面,用平面凸輪廓線的設(shè)計(jì)方法進(jìn)行設(shè)計(jì),此種方法設(shè)計(jì)的凸輪廓面不僅精度較低,而且計(jì)算工作量大,不能自動(dòng)生成廓面,圓柱凸輪廓面的空間坐標(biāo)的計(jì)算也比較困難。隨著計(jì)算機(jī)輔助設(shè)計(jì)技術(shù)的發(fā)展,為了降低圓柱凸輪廓面的設(shè)計(jì)難度,計(jì)算機(jī)輔助設(shè)計(jì)也由原先的平面設(shè)計(jì)轉(zhuǎn)向基于特征的三維參數(shù)化設(shè)計(jì),通過(guò)改變模型中的一個(gè)或幾個(gè)設(shè)計(jì)參數(shù)的約束量,可以自動(dòng)改變模型中的關(guān)聯(lián)變量,生成新的模型?;趨?shù)化的設(shè)計(jì)方法,不僅提高了設(shè)計(jì)精度,還縮短了設(shè)計(jì)周期[1]。當(dāng)前人們對(duì)UG、Solidworks、Proe等[1-3]三維軟件進(jìn)行參數(shù)化建模研究較多,二次開(kāi)發(fā)較少,CATIA與其它三維軟件相比是集設(shè)計(jì)、組裝、運(yùn)動(dòng)仿真、加工仿真、有限元分析為一體的三維設(shè)計(jì)軟件,對(duì)CATIA的二次開(kāi)發(fā)可充分發(fā)揮其設(shè)計(jì)到加工制造的一體化功能,提高設(shè)計(jì)制造的精度,此軟件的開(kāi)發(fā)對(duì)凸輪機(jī)構(gòu)的設(shè)計(jì)制造具有一定的現(xiàn)實(shí)意義。本文通過(guò)CATIA的宏錄制命令記錄空間凸輪的設(shè)計(jì)過(guò)程,再對(duì)宏程序的變量進(jìn)行修改,實(shí)現(xiàn)空間圓柱凸輪的參數(shù)化設(shè)計(jì)。
本文以單滾子直動(dòng)從動(dòng)件空間圓柱凸輪機(jī)構(gòu)的參數(shù)化設(shè)計(jì)為例進(jìn)行說(shuō)明,設(shè)計(jì)的關(guān)鍵是如何生成圓柱凸輪的輪廓曲線。先建立輪廓曲線的參數(shù)化方程,通過(guò)參數(shù)方程求得輪廓曲線的坐標(biāo),再通過(guò)CATIA的曲線功能生成凸輪輪廓曲線,利用CATIA零件設(shè)計(jì)工作臺(tái)的掃掠、開(kāi)槽等操作在圓柱表面建立凹槽或者凸緣作為凸輪的工作廓面,在凸輪繪制的同時(shí)啟用CATIA的宏錄制命令,錄制凸輪繪制的宏指令,最后通過(guò)修改宏指令完成對(duì)CATIA的二次開(kāi)發(fā)。
建立如圖1所示的柱面坐標(biāo)系[4],從動(dòng)件做與凸輪軸線同方向的上下往復(fù)運(yùn)動(dòng),根據(jù)從動(dòng)件的運(yùn)動(dòng)規(guī)律確定從動(dòng)件的行程、推程角0、遠(yuǎn)休止角01、回程角0、近休止角02,設(shè)凸輪的轉(zhuǎn)角為,可得從動(dòng)件的行程方程(),設(shè)凸輪外徑,推程的起始位置與凸輪底面的距離為,從動(dòng)件滾子外端面中心點(diǎn)為,在平面內(nèi)投影的極坐標(biāo)為R和φ,點(diǎn)到軸的距離為,那么點(diǎn)的柱面坐標(biāo)為
將此方程轉(zhuǎn)換為坐標(biāo)參數(shù)方程為
此方程即為凸輪輪廓曲線的參數(shù)化方程,根據(jù)已知的基礎(chǔ)參數(shù)通過(guò)此方程可求得輪廓曲線各點(diǎn)的坐標(biāo)。
圖1 柱狀坐標(biāo)系
在凸輪建模前,先啟用CATIA軟件,在工具菜單下啟動(dòng)宏錄制命令,然后在CATIA零件設(shè)計(jì)工作臺(tái)建立圓柱凸輪機(jī)構(gòu)的實(shí)體操作,點(diǎn)擊全部更新和停止錄制即完成建模過(guò)程及模型特征順序和關(guān)系的所有程序代碼的錄制。
以設(shè)計(jì)一個(gè)從動(dòng)件運(yùn)動(dòng)規(guī)律為余弦加速度的圓柱凸輪,設(shè)基圓半徑為80 mm,高180 mm從動(dòng)件行程80 mm,槽寬24 mm,槽深20 mm,推程角60°,遠(yuǎn)休止角01160°,回程角060°、近休止角0280°,為例進(jìn)行說(shuō)明,凸輪各階段的行程公式為[3][4]
推程:
遠(yuǎn)休:=+(4)
回程:
近休:=(6)
在CATIA開(kāi)始菜單下選擇機(jī)械設(shè)計(jì)模塊—零件設(shè)計(jì)工作臺(tái)——凸臺(tái)命令,輸入長(zhǎng)180 mm,在輪廓工具欄草圖命令中建立半徑為80 mm的圓,點(diǎn)擊確定即可建立半徑為=80 mm,高度= 180 mm的凸輪實(shí)體,如圖2所示。通過(guò)輸入不同的值和值,就可得到不同的凸輪實(shí)體。
圖2 凸輪實(shí)體
凸輪實(shí)體建立后,需要建立包絡(luò)凸輪實(shí)體的輪廓曲線,首先根據(jù)設(shè)計(jì)的行程值、推程值、遠(yuǎn)休角、近休角、回程值,在凸輪不同轉(zhuǎn)角下利用式(2)—(6)來(lái)計(jì)算輪廓曲線上某一點(diǎn)的坐標(biāo),根據(jù)轉(zhuǎn)角值的不同可得到相應(yīng)的坐標(biāo)值。編制計(jì)算凸輪輪廓曲線上點(diǎn)的坐標(biāo)程序,把不同的點(diǎn)坐標(biāo)值寫(xiě)入CATIA安裝文件Dassault Systemes B21intel_acodecommand下自帶excel宏文件GSD_PointSplineLoftFromExcel中,如圖3所示。
圖3 excel宏文件
圖3中startcurve和endcurve之間的每組數(shù)值是點(diǎn)的坐標(biāo)值,每一組點(diǎn)可連成一條樣條曲線。當(dāng)把excel中的點(diǎn)坐標(biāo)換成輪廓曲線的點(diǎn)坐標(biāo)值后,打開(kāi)CATIA,在excel中運(yùn)行宏,在顯示的對(duì)話框中運(yùn)行宏Feuill.Mail,根據(jù)提示選擇2運(yùn)行如圖4所示,此曲線即為生成的凸輪輪廓曲線。
圖4 凸輪輪廓曲線
根據(jù)已建立的凸輪輪廓曲線,使用CATIA機(jī)械設(shè)計(jì)模塊下零件設(shè)計(jì)工作臺(tái)的開(kāi)槽命令,在開(kāi)槽命令中繪制槽寬24 mm和槽深20 mm矩形作為開(kāi)槽輪廓,以輪廓曲線為中心曲線,在圖4的凸輪實(shí)體上開(kāi)槽,生成圓柱凸輪,如圖5所示。
圖5 圓柱凸輪
至此圓柱凸輪的設(shè)計(jì)過(guò)程已完成,點(diǎn)擊CATIA工具菜單下宏命令的停止錄制,即完成錄制圓柱凸輪設(shè)計(jì)過(guò)程的程序代碼,在CUsers ThinkAppdataLocalemp可找到已命名保存的宏程序,提取程序代碼以備后用。
使用VB語(yǔ)言對(duì)CATIA進(jìn)行二次開(kāi)發(fā),能對(duì)CATIA 進(jìn)行操作及數(shù)據(jù)的共享和面向?qū)ο缶幊?,采用Automation技術(shù)面向?qū)ο缶幊趟_(kāi)發(fā)的應(yīng)用程序可在不啟動(dòng) CATIA 的情況下對(duì)圓柱凸輪進(jìn)行參數(shù)化設(shè)計(jì),不僅提高了設(shè)計(jì)的精度,還提高了設(shè)計(jì)效率[6]。
對(duì)CATIA進(jìn)行操作先要連接CATIA的COM接口,程序如下:
Dim CATIA As Object
On Error Resume Next
Set CATIA=GetObject(,”CATIA.Application”)
IF Err.Number<>0 Then
Set CATIA=CreateObject(“CATIA.Application”)
CATIA.Visible=True
End If
On Error GoTo 0
在獲取 Application 對(duì)象后就可以對(duì)文檔進(jìn)行相應(yīng)的操作。一般通過(guò)add加一個(gè)文檔,使用add添加文件可以分別對(duì)應(yīng)零件文檔、產(chǎn)品文檔和工程圖文檔,程序如下:
Dim oPartDoc As Document
Set oPartDoc=CATIA.Documents.Add(“Part”)
不同類型的文檔具有不同的屬性和操作方法,空間凸輪是實(shí)體和線框曲面組成,是創(chuàng)建混合元素,基本操作流程如圖6所示。
圖6 編程流程圖
運(yùn)用VB對(duì)CATIA進(jìn)行二次開(kāi)發(fā),對(duì)系統(tǒng)的功能進(jìn)行分析,根據(jù)需求對(duì)界面、菜單、模塊數(shù)量進(jìn)行設(shè)定,從最基本的模塊進(jìn)行編程,其結(jié)構(gòu)如圖7所示[7-8]。
圖7 編程模塊圖
根據(jù)結(jié)構(gòu)圖,對(duì)系統(tǒng)的功能進(jìn)行開(kāi)發(fā):
(1)為了讓系統(tǒng)運(yùn)行簡(jiǎn)便,我們需要在VB中建立一個(gè)“標(biāo)準(zhǔn)EXE”文件;
(2)為了直接調(diào)用CATIA類型庫(kù)的文件,并預(yù)防后續(xù)編程引用類型庫(kù)錯(cuò)誤,我們需要打開(kāi)在VB界面菜單中的引用對(duì)話框,選中所有CATIA開(kāi)頭的庫(kù),如圖8所示,通過(guò)編寫(xiě)VB鏈接CATIA的啟動(dòng)代碼,就可以使用VB代碼自動(dòng)啟動(dòng)CATIA軟件。
(3)為了使用方便,根據(jù)設(shè)計(jì)的功能模塊,我們需要對(duì)界面進(jìn)行設(shè)計(jì),將空間凸輪機(jī)構(gòu)分為圓柱凸輪和圓錐凸輪,再對(duì)圓柱凸輪進(jìn)行更詳細(xì)的模塊劃分,如圖8所示,其設(shè)計(jì)的模塊簡(jiǎn)潔易操作。
圖8 凸輪系統(tǒng)模塊圖
打開(kāi)VB編譯功能模塊,在窗體上添加標(biāo)簽和文本框,編寫(xiě)VB的源文件與CATIA的類型庫(kù)建立數(shù)據(jù)通訊、輸入、輸出,通過(guò)調(diào)用 CATIA 中的 API 函數(shù),與 CATIA 進(jìn)行交互,建立的人機(jī)交互界面如圖9所示。
圖9 空間凸輪參數(shù)化設(shè)計(jì)系統(tǒng)
(4)工程文件的調(diào)試。文件的程序是VBScript語(yǔ)言編寫(xiě)的程序,VBScript是VB語(yǔ)言的一個(gè)子集,API對(duì)象、屬性及API對(duì)象的方法在宏文件中都以實(shí)例形式存在,使用VB對(duì)已錄制的宏程序文件的腳本代碼進(jìn)行重新定義,刪除冗余代碼,把修改后的腳本代碼放到VB查看代碼中,使界面模塊與相應(yīng)程序建立正確的對(duì)應(yīng)關(guān)系,點(diǎn)擊“開(kāi)始生成”按鈕,通過(guò)運(yùn)行宏程序在CATIA中可直接生成零部件,最終設(shè)計(jì)界面如圖10所示,通過(guò)在系統(tǒng)中輸入不同的數(shù)值,即可生成相應(yīng)的圓柱凸輪。
圖10 圓柱凸輪設(shè)計(jì)操作界面
(5)不同參數(shù)圓柱凸輪的設(shè)計(jì),可在不打開(kāi) CATIA 程序的情況下通過(guò) VB 編寫(xiě)的窗口輸入預(yù)設(shè)計(jì)的數(shù)值,再次點(diǎn)擊“開(kāi)始生成”,即可完成凸輪的設(shè)計(jì)。
用 VB修改該零件尺寸的程序如下:
Dim partDoc as PartDocument
Dim pa as Part
Dim paras as Parameters
Dim para As Parameter
Set partDoc =CATIA.ActiveDocument
Set pa =partDoc.Part
Set paras=pa.Parameters
Set para=paras.Item(“r”)
Para.ValuateformeString(r)
Set para=paras.Item(“H”)
Para.ValuateformeString(H)
Set para=paras.Item(“h”)
Para.ValuateformeString(h)
Set para=paras.Item(“a”)
Para.ValuateformeString(a)
Set para=paras.Item(“b”)
Para.ValuateformeString(b)
Set para=paras.Item(“δ0”)
Para.ValuateformeString(δ0)
Set para=paras.Item(“δ01”)
Para.ValuateformeString(δ01)
Set para=paras.Item(“δ'0”)
Para.ValuateformeString(δ'0)
Set para=paras.Item(“δ02”)
Para.ValuateformeString(δ02)
Set para=paras.Item(“”)
Para.ValuateformeString()
利用空間凸輪參數(shù)化設(shè)計(jì)系統(tǒng)設(shè)計(jì)一個(gè)滾子直動(dòng)件圓柱凹槽凸輪,基圓直徑120 mm,高度140 mm,滾子的形成=30 mm,凸輪的凹槽深 20 mm、寬25 mm,從動(dòng)件為余弦加速度運(yùn)動(dòng),推程角60o、回程角60o、遠(yuǎn)休止角160o、近休止角80o,把上述數(shù)據(jù)輸入到系統(tǒng)中,點(diǎn)擊開(kāi)始生成,可得到如圖11所示的圓柱凸輪。
圖11 空間圓柱凸輪
通過(guò)建立圓柱凸輪輪廓曲線的理論公式,結(jié)合CATIA的曲線、零件建模和宏錄制功能,利用VB對(duì)CATIA二次開(kāi)發(fā)的空間凸輪參數(shù)化設(shè)計(jì)系統(tǒng),通過(guò)實(shí)例驗(yàn)證可知,對(duì)于不同凸輪的設(shè)計(jì)只需更改相應(yīng)參數(shù)便可生成三維模型,節(jié)省了設(shè)計(jì)的步驟,提高了設(shè)計(jì)精度,保證了設(shè)計(jì)的精確性,具有實(shí)際的應(yīng)用價(jià)值,為后期空間凸輪機(jī)構(gòu)的運(yùn)動(dòng)仿真、加工制造、有限元分析奠定了基礎(chǔ)。
[1] 高東強(qiáng),黎忠炎,毛志云.基于UG的圓柱凸輪參數(shù)化建模與仿真加工[J].機(jī)械設(shè)計(jì)與制造.2010(10)207- 209.
[2] 桑華希,張小新.基于 VB 語(yǔ)言下Solidworks凸輪參數(shù)化修改的二次開(kāi)發(fā)應(yīng)用[J].現(xiàn)代工業(yè)經(jīng)濟(jì)和信息化.2020(10):42-43.
[3] 申鵬.基于Pro/E5.0的圓柱凸輪多種建模方法及其多軸仿真加工研究[J].內(nèi)燃機(jī)與配件.2020(23)128- 130.
[4] 李建功黃永強(qiáng).用柱面坐標(biāo)計(jì)算圓柱滾子直動(dòng)從動(dòng)件圓柱凸輪的輪廓曲面[J].機(jī)械工程師.1997(6)23- 24.
[5] 陶維利.基于工作過(guò)程的圓柱凸輪參數(shù)化造型與數(shù)控加工[J].應(yīng)用工程技術(shù).2021(4)137-143.
[6] 賈帥帥.基于CATIA的非標(biāo)零件庫(kù)參數(shù)化設(shè)計(jì)系統(tǒng)的研究[D].長(zhǎng)春:長(zhǎng)春理工大學(xué).2016.
[7] 李俊.Visual Basic 6.0程序設(shè)計(jì)與應(yīng)用教程[M].北京:電子工業(yè)出版社,2013.
[8] 胡挺,吳立軍.CATIA二次開(kāi)發(fā)技術(shù)基礎(chǔ)[M].北京:電子工業(yè)出版社,2006.
Design and Realize of Cylindrical Cam Parametric Design System Based on CATIA
ZHANG Jutao
( Academic Affairs Office, Tangshan University, Tangshan 063000, China )
Based on the theory of establishing the parameter equation of cam profile curve, this paper re-developedCATIA, with the object-oriented program of Automation technology and the cam profile curve generated by the CATIA curve function. The re-development adopted a variety of function modules of VB language and used CATIA as parameter design platform with the design process of macro recording command to record the design process of spacecam and extracting macro program. The developed system can carry out parametric design of parts without starting CATIA, it can improveboth the design precision and the design efficiency.
Ylindrical Cam; Cam profile curve; Macro recording; Parametric design; CATIA; System design
TH122
A
1671-7988(2022)21-53-06
TH122
A
1671-7988(2022)21-53-06
10.16638/j.cnki.1671-7988.2022.021.010
張聚濤(1980—),男,實(shí)驗(yàn)師,碩士,研究方向?yàn)闄C(jī)械工程教學(xué)與科研工作。
河北省高等學(xué)校科學(xué)技術(shù)研究項(xiàng)目:空間凸輪機(jī)構(gòu)參數(shù)化設(shè)計(jì)系統(tǒng)及數(shù)控加工研究(Z2020239),主持人:張聚濤。