田啟華 李 慧 杜義賢 向兵飛 王 偉
(三峽大學(xué)機(jī)械與材料學(xué)院,湖北 宜昌 443002)
漸開線齒輪是各種機(jī)械傳動(dòng)設(shè)備中常用的零件,在機(jī)械設(shè)計(jì)和制造領(lǐng)域?yàn)榱藵M足機(jī)構(gòu)運(yùn)動(dòng)學(xué)與動(dòng)力學(xué)仿真分析、數(shù)控加工仿真及有限元分析的需要,常常需要精確建立漸開線齒輪的三維實(shí)體模型.在機(jī)械設(shè)計(jì)計(jì)算時(shí),經(jīng)常要引用一系列的數(shù)據(jù)資料,如查詢有關(guān)的實(shí)驗(yàn)曲線、圖表以及各種標(biāo)準(zhǔn)和規(guī)范等.在傳統(tǒng)的設(shè)計(jì)中,這些數(shù)據(jù)資料通常是以手冊的形式提供的.而在CAD中,只要事先把設(shè)計(jì)所需的數(shù)據(jù)資料加以處理與組織并輸入計(jì)算機(jī),以計(jì)算機(jī)能夠接受的形式存儲起來,使用時(shí)就能靈活方便地檢索和調(diào)用,即可實(shí)現(xiàn)數(shù)據(jù)信息的自動(dòng)檢索[1].
文章基于Pro/Engineer軟件平臺,利用Pro/E提供的二次開發(fā)包工具Pro/Toolkit和VC++6.0程序設(shè)計(jì)語言,設(shè)計(jì)、開發(fā)齒輪類零件三維參數(shù)化造型系統(tǒng).本文還探討了在齒輪傳動(dòng)設(shè)計(jì)中常用圖表、資料的程序化處理方法.充分發(fā)揮計(jì)算機(jī)繪圖的準(zhǔn)確和快速性,提高效率,減少重復(fù)性勞動(dòng),從而帶來更大的經(jīng)濟(jì)效益.
筆者開發(fā)的基于精確模型的齒輪參數(shù)化CAD系統(tǒng)所包括的齒輪類型有:直齒輪、斜齒輪、錐齒輪、內(nèi)齒輪、齒條、蝸輪、蝸桿.本文僅以圓柱斜齒建模為例.
在運(yùn)用參數(shù)化技術(shù)對齒輪零件進(jìn)行實(shí)體建模時(shí),首先設(shè)置基本參數(shù),并把參數(shù)加入到關(guān)系式中以控制齒輪零件的結(jié)構(gòu)特征[2].大致步驟如下:
(1)分別給齒輪的一些基本參數(shù)賦以初值:模數(shù)MN 、齒數(shù)Z、壓力角 ALPHA 、螺旋角 BETA 、齒寬B、齒頂高系數(shù) HAX、頂隙系數(shù)CX、變位系數(shù) X.
(2)添加以下方程,創(chuàng)建漸開線,如圖1所示.
圖1 生成一條漸開線
(3)根據(jù)齒廓方程生成精確的齒廓,利用可變截面掃描命令沿著螺旋線精確地掃描出一個(gè)斜齒,如圖2所示.用陣列生成其它的齒后添加輔特征,得到斜齒圓柱齒輪圖,如圖3所示.
Pro/Toolkit是采用面向?qū)ο蟮某绦蛟O(shè)計(jì)方法.用戶開發(fā)的應(yīng)用程序和Pro/E之間主要是通過特定的數(shù)據(jù)結(jié)構(gòu)來傳遞信息的,應(yīng)用程序需要通過Pro/Toolkit提供的函數(shù)來訪問這些數(shù)據(jù)結(jié)構(gòu).在Pro/Toolkit中,最基本的概念是對象和動(dòng)作,其應(yīng)用程序主要包括3個(gè)部分:頭文件、主程序和自定義函數(shù).
要建立Pro/Toolkit應(yīng)用程序,在程序中必須使用Pro/Toolkit的初始化函數(shù)user_initialize(),其作用相當(dāng)于main().函數(shù)user-initialize()是Pro/Toolkit應(yīng)用程序的初始化函數(shù),在該函數(shù)中設(shè)置與用戶的交互接口,如添加用戶設(shè)置的菜單、直接調(diào)用對話框等,它必須包含Pro/Toolkit應(yīng)用程序所需的任何初始化,在用戶和Pro/Engineer交互之前被調(diào)用[3].其函數(shù)為:
建立同步模式的 Pro/Toolkit應(yīng)用程序必須包括初始化函數(shù)user_initialize()和user_terminate(),而且它們應(yīng)位于同一個(gè).cpp文件中,一般在工程文件命名的.cpp文件中.
Pro/E系統(tǒng)、Pro/Toolkit應(yīng)用程序與MFC應(yīng)用程序的通信方式是接口實(shí)現(xiàn)的關(guān)鍵之一.本文采用動(dòng)態(tài)鏈接庫(DLL)方式實(shí)現(xiàn)三者之間的通信,如圖4所示.采用VC++6.0作為Pro/Toolkit調(diào)試有兩種方法,一種是根據(jù)Makefile文件,直接編譯和調(diào)試;另一種則不需要編寫Makefile文件,直接由VC++6.0建立Pro/Toolkit應(yīng)用程序項(xiàng)目,并進(jìn)行編譯和連接等工作[3].本文采用在創(chuàng)建好應(yīng)用程序框架后或是編寫完所有程序后完成Pro/E與VC++6.0的編譯和鏈接,比如:設(shè)置庫文件,設(shè)置頭文件等.隨后進(jìn)行程序調(diào)試,生成相應(yīng)的應(yīng)用程序文件(.dll或.exe).
圖4 接口實(shí)現(xiàn)
齒輪傳動(dòng)是機(jī)械傳動(dòng)中的一種主要傳動(dòng)形式,其設(shè)計(jì)方法已相當(dāng)規(guī)范,但設(shè)計(jì)過程卻相當(dāng)復(fù)雜,往往需要從有關(guān)的工程手冊或設(shè)計(jì)規(guī)范中查找各種系數(shù)或數(shù)據(jù).在常規(guī)齒輪傳動(dòng)設(shè)計(jì)計(jì)算中要確定的參數(shù)主要有齒數(shù)Z,模數(shù)M,齒寬 B等.在設(shè)計(jì)過程中,一般先選取大小齒輪的材料、熱處理情況及硬度、精度等級并初選齒數(shù)Z.后由已知條件查找有關(guān)的線表確定,按照齒根彎曲疲勞強(qiáng)度計(jì)算公式(1)或齒面接觸疲勞強(qiáng)度設(shè)計(jì)公式(2)進(jìn)行計(jì)算所需系數(shù),最后進(jìn)行驗(yàn)算校核[4].
接觸強(qiáng)度設(shè)計(jì)公式
齒根彎曲強(qiáng)度設(shè)計(jì)公式
筆者應(yīng)用CAD系統(tǒng)將人工查找各種系數(shù)或數(shù)據(jù)轉(zhuǎn)變成高效快速的自動(dòng)查詢.主要處理技術(shù)有:(1)程序化.在應(yīng)用程序內(nèi)部對這些數(shù)表及線圖進(jìn)行查表、處理或計(jì)算.具體處理方法有兩種,第1種將數(shù)表中的數(shù)據(jù)或線圖經(jīng)離散化后存入一維、二維或三維數(shù)組,用查表、插值等方法檢索所要的數(shù)據(jù);第2種將數(shù)表或線圖擬合成公式,編入程序計(jì)算出所需數(shù)據(jù).(2)數(shù)據(jù)庫存儲.將數(shù)表及線圖(經(jīng)離散化)中的數(shù)據(jù)按數(shù)據(jù)庫中的規(guī)定進(jìn)行文件結(jié)構(gòu)化,存放在數(shù)據(jù)庫中,數(shù)據(jù)獨(dú)立于應(yīng)用程序,但又能為所有應(yīng)用程序提供服務(wù),使用比較方便可靠.(3)數(shù)據(jù)文件法.
4.1.1 線圖的程序化處理
如圖5中的彎曲疲勞系數(shù)曲線圖的處理,主要運(yùn)用曲線擬合的方法求出經(jīng)驗(yàn)公式,再將公式編入程序.選擇圖中第1條線,得出的各段擬合公式見式(3)
圖5 彎曲疲勞系數(shù)曲線圖
4.1.2 列表函數(shù)的插值
根據(jù)機(jī)械設(shè)計(jì)中的要求,齒形系數(shù)Yfa及應(yīng)力校正系數(shù)Ysa的選擇需要對表格數(shù)據(jù)進(jìn)行線性插值.齒輪1的齒形系數(shù)Yfa1及應(yīng)力校正系數(shù)Ysa1的線性插值的部分程序如下:
依照以上方法,可以將齒輪傳動(dòng)設(shè)計(jì)計(jì)算全部程序化.
利用VC++6.0高級語言設(shè)計(jì)了齒輪傳動(dòng)設(shè)計(jì)人機(jī)交互界面,如圖6所示.通過輸入相應(yīng)參數(shù),最后得出傳動(dòng)齒輪的基本參數(shù):模數(shù)、齒數(shù)和齒寬,并傳輸?shù)烬X輪的參數(shù)對話框中,如圖7所示,即可生產(chǎn)所對應(yīng)的齒輪模型.因此,只需改變齒輪傳動(dòng)的設(shè)計(jì)參數(shù)及工作條件,可以得到相應(yīng)的三維齒輪圖.
圖6 齒輪傳動(dòng)設(shè)計(jì)人機(jī)交互界面
圖7 傳動(dòng)齒輪1對話框
筆者通過在Pro/E中添加了齒輪種類的菜單,并利用VC++6.0高級語言設(shè)計(jì)了多個(gè)友好的用戶界面,解決了齒輪種類繁多的問題.系統(tǒng)的具體操作流程如圖8所示.
圖8 系統(tǒng)的具體操作流程
注冊后在Pro/E齒輪的特征建模菜單條下點(diǎn)擊圓柱斜齒齒輪菜單按鈕,如圖9所示,彈出如圖10所示對話框,點(diǎn)擊打開模型按鈕就可得到初始斜齒模型.
通過改變對話框中的齒輪參數(shù),系統(tǒng)將生成相應(yīng)的斜齒輪,如圖11所示.在圓柱直齒斜齒統(tǒng)一建模對話框中通過控制參數(shù)螺旋角BETA,可以實(shí)現(xiàn)圓柱斜齒與直齒的統(tǒng)一三維建模[5],如圖12所示.
基于Pro/E開發(fā)平臺,根據(jù)齒輪類零件各自的特點(diǎn),參考機(jī)械設(shè)計(jì)手冊的設(shè)計(jì)參數(shù),結(jié)合 Pro/T oolkit、參數(shù)化等技術(shù),在VC++6.0的集成開發(fā)環(huán)境中使用MFC開發(fā)Pro/E的應(yīng)用程序,進(jìn)行人機(jī)交互界面的可視化設(shè)計(jì),實(shí)現(xiàn)了大部分齒輪類零件的參數(shù)化建模.同時(shí),在直齒圓柱齒輪傳動(dòng)設(shè)計(jì)中,完成了曲線圖和表格的程序化,將人工查找轉(zhuǎn)變成在CAD進(jìn)程中高效處理.提高了產(chǎn)品開發(fā)效率,縮短了開發(fā)時(shí)間,具有一定的市場全景和經(jīng)濟(jì)效益.可為后續(xù)的齒輪CAE、CAM等提供精確的三維實(shí)體,更好地為仿真、有限分析、虛擬裝配和NC加工等打下了良好的基礎(chǔ),并給CAD/CAPP/CAM的集成研究提供了可行的方法與經(jīng)驗(yàn).
[1]庫 蘭,周江林,吉玉祥.機(jī)械設(shè)計(jì)在CAD中圖表資料的處理[J].新疆大學(xué)學(xué)報(bào):自然科學(xué)版,2002(5):246-250.
[2]周四新.Pro/E Wildfire 3.0工業(yè)設(shè)計(jì)范例教程[M].北京:人民郵電出版社,2005.
[3]李世國.Pro/Toolkit程序設(shè)計(jì)[M].北京:北京機(jī)械工業(yè)出版社,2003.
[4]濮良貴,紀(jì)名剛.機(jī)械設(shè)計(jì)[M].7版.北京:高等教育出版社,2001:198-204.
[5]王 魁,吳正佳,張利平.基于參數(shù)化技術(shù)的圓柱直齒斜齒統(tǒng)一建模方法[J].三峽大學(xué)學(xué)報(bào):自然科學(xué)版,2008,30(6):74-76.