1 引言
由于小模數(shù)齒輪滾刀的模數(shù)小(m≤1mm)、滾刀尺寸相對(duì)較小且精度要求高,因而其設(shè)計(jì)有別于普通齒輪滾刀的設(shè)計(jì),其結(jié)構(gòu)具有以下特點(diǎn):①小模數(shù)剃前齒輪滾刀由于凸角很小難以加工,因此需采用小壓力角,以非均勻留剃形式減少磨損;②滾刀采用整體式結(jié)構(gòu),而不是鑲齒或裝配式結(jié)構(gòu);③無(wú)需鍵槽;④容屑槽采用直槽型式。
采用傳統(tǒng)方法設(shè)計(jì)小模數(shù)齒輪滾刀時(shí)計(jì)算量和繪圖量大,其中還有許多繁瑣的重復(fù)性工作。而將以O(shè)bjectARX的應(yīng)用工具為載體、用VC++編寫(xiě)對(duì)話框以及使用數(shù)據(jù)庫(kù)管理技術(shù)開(kāi)發(fā)的 AutoCAD 系統(tǒng)用于小模數(shù)齒輪滾刀的設(shè)計(jì),可大大簡(jiǎn)化小模數(shù)齒輪滾刀的設(shè)計(jì)計(jì)算,并可自動(dòng)校核鏟背曲線。
2 參數(shù)化設(shè)計(jì)的特點(diǎn)
AutoCAD 是一種開(kāi)放體系結(jié)構(gòu)的應(yīng)用程序,用戶可以利用它進(jìn)行定制和編程,是參數(shù)化設(shè)計(jì)常用的開(kāi)發(fā)平臺(tái),其主要的開(kāi)發(fā)系統(tǒng)有AutoLISP、ADS及 ObjectARX等。AutoLISP是CAD早期版本的編程語(yǔ)言,是一種解釋性編程語(yǔ)言,不必編譯,通俗易懂,但缺點(diǎn)是運(yùn)行速度慢;由C 語(yǔ)言和提供給開(kāi)發(fā)者用來(lái)創(chuàng)建應(yīng)用程序的C程序庫(kù)組成的ADS(AutoCAD Development System)隨著AutoCAD R11被我們所認(rèn)知,現(xiàn)已以ADSRX 的形式被集成到ARX中。ObjectARX應(yīng)用程序是一個(gè)動(dòng)態(tài)鏈接庫(kù)(DLL),其運(yùn)行速度快,能共享AutoCAD的地址空間并可直接調(diào)用 AutoCAD的函數(shù),同時(shí)能提供一個(gè)面向?qū)ο蟮腃++應(yīng)用程序設(shè)計(jì)接口,是AutoCAD推出的新一代二次開(kāi)發(fā)工具。因此,本系統(tǒng)程序采用ARX應(yīng)用程序進(jìn)行參數(shù)化設(shè)計(jì),其程序結(jié)構(gòu)具有以下特點(diǎn):
- 利用ARX 開(kāi)發(fā)工具,可方便地使用MFC 開(kāi)發(fā)ObjectARX 應(yīng)用程序;提供了AutoCAD內(nèi)部實(shí)體和其他對(duì)象的數(shù)據(jù)結(jié)構(gòu),使應(yīng)用程序和AutoCAD完全結(jié)合在一起。
- ObjectARX環(huán)境提供了一組類,使開(kāi)發(fā)者能夠創(chuàng)建基于MFC的用戶界面,其外觀和內(nèi)建與AutoCAD的用戶界面完全相同,因此具有良好的人機(jī)對(duì)話功能。
3 滾刀外徑參數(shù)優(yōu)化及鏟磨可能性校核
- 滾刀外徑參數(shù)優(yōu)化
- 通常,滾刀外徑可按式(1)計(jì)算。
Ded=S02 sinafn/(4∆cos2bf) |
(1) |
式中:∆——被切齒輪齒面波度(µm)
- S0——工件每轉(zhuǎn)一轉(zhuǎn)時(shí)滾刀沿工件軸向的進(jìn)給量(mm/n)
- afn——滾刀分度圓法向齒形角
- bf——被切齒輪分度圓上的螺旋角
圖1 滾刀外徑對(duì)齒輪齒面波度的影響(afn= 20°,bf= 15°)
|
- 由式(1)可得被切齒輪齒面波度與滾刀外徑的關(guān)系曲線(見(jiàn)圖1)。
- 由圖1可知,隨著滾刀外徑的增大,被切齒輪沿齒向表面的波度將逐漸減小。故對(duì)精度要求高的齒輪,應(yīng)選外徑較大的滾刀。但外徑的增大應(yīng)有度,不宜過(guò)大:一方面,在加工小模數(shù)齒輪時(shí),軸向進(jìn)給量一般不大于0.5mm/r,過(guò)分增大滾刀外徑對(duì)減少齒面波度無(wú)顯著效果;另一方面,當(dāng)滾刀外徑大于50mm時(shí),外徑對(duì)波度的影響已經(jīng)很小。因而外徑取值宜控制在25~63mmm 之間。
- 外徑初始化程序如下:
- void InitGunDao { ……
- (if m fmodule > 0 && m fmodule <= 0.15)m_uouterdia = 25;
- else (if m fmodule > 0.15 && m fmodule <= 0.4)m_uouterdia = 32;
- else (if m fmodule > 0.4 && m fmodule <= 0.6)m_uouterdia= 40;
- else (if m fmodule > 0.6 && m fmodule <= 0.8)m_uouterdia= 50;
- else(m fmodule > 0.8 && m fmodule <= 1.0)m_uouterdia= 63;
- ……}
圖2 鏟磨校核流程
|
- 鏟磨可能性校核
- 用傳統(tǒng)方法設(shè)計(jì)滾刀時(shí),通常采用人工作圖法對(duì)于滾刀鏟磨可能性進(jìn)行判別,其準(zhǔn)確性無(wú)法保證,常導(dǎo)致鏟磨滾刀輪齒齒背時(shí),砂輪和下一個(gè)齒發(fā)生干涉。因此在小模數(shù)齒輪滾刀CAD 系統(tǒng)中需要編制自動(dòng)校核鏟磨可能性的程序,其流程如圖2 所示。使用時(shí),通過(guò)對(duì)話框交互修改參數(shù),完成鏟磨校核,具體程序如下:
- void Check { ……
- BOOL flag = TRUE;
- while(flag) { flag = FALSE;
- for(len = 4/7*len1;len<= 6/7*len1;len + = 1/14*len1) / / 確定鏟背曲線與砂輪的交點(diǎn)
- {
- …… . / / 作圖以準(zhǔn)備校核
- (if dist1>dist2)break;} / / 有干涉嗎?若無(wú)干涉,跳出循環(huán)
- (if dist1 <= dist2){
-
- CanShuDlg. Domode(l); / / 對(duì)話框交互修改鏟背量K、外徑Ded
- flag = TRUE;}} ……}
圖3 面向?qū)ο蟮臐L刀CAD 系統(tǒng)信息模型
|
4 小模數(shù)齒輪滾刀CAD程序結(jié)構(gòu)分析
滾刀CAD系統(tǒng)由刀具圖紙標(biāo)題欄參數(shù)輸入、刀具選擇、被切齒輪參數(shù)輸入、刀具參數(shù)輸入等模塊組成。通過(guò)面向?qū)ο蟮姆治龇椒▽?duì)滾刀CAD系統(tǒng)進(jìn)行分析,建立如圖3 所示的信息模型。在此基礎(chǔ)上,再采用面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言對(duì)對(duì)象和對(duì)象間的關(guān)系進(jìn)行分析。
為便于拓展齒輪刀具設(shè)計(jì)的通用性,通過(guò)歸納,將齒輪刀具的共性作為基類。此基類依附于各具體齒輪刀具,不必有具體實(shí)體,故可設(shè)為抽象類。其部分屬性如下所示:
class Cutter{
private:
string Cutter_ID; / / 刀具編號(hào)
string CutterName; / / 刀具名稱
string Material; / / 刀具材質(zhì)
string Product_ID; / / 對(duì)應(yīng)產(chǎn)品編號(hào)
string Designer; / / 設(shè)計(jì)者
string DesignDate / / 設(shè)計(jì)日期
……
};
滾刀類為刀具類的派生類,自動(dòng)繼承了刀具的一切屬性,同時(shí)又具有模數(shù)、齒數(shù)、頭數(shù)、前角、后角等獨(dú)有屬性,其部分屬性如下:
class GunDao :public Cutter{
private:
float GD_Module; / / 滾刀模數(shù)
UINT GD_Number; / / 滾刀齒數(shù)
UINT GD_TouShu; / / 滾刀頭數(shù)
……
public:
void OnCalculation();
void OnDraw();
};
加工機(jī)床和工具含有若干具有內(nèi)在聯(lián)系的數(shù)據(jù)項(xiàng),將其歸納為一種結(jié)構(gòu)體,說(shuō)明滾刀加工的一些基本屬性,以便在滾刀類中定義:
struct MACHINE{
string machine_ID; / / 機(jī)床型號(hào)
string machine_name; / / 機(jī)床名稱
string machine_cutter_ID; / / 加工刀具編號(hào)
……
}
通過(guò)建立以上類的對(duì)象及定義結(jié)構(gòu)體,便可著手按如下步驟編制軟件:
- 定義對(duì)象。
- 定義計(jì)算函數(shù):
- void GunDaoDlg::OnCalculation()
- [UpdateData(TRUE);
-
- dlg.m_fgdpmodule = m_fgearmodule;
-
- dlg.m_fgdpyalijiao = m_fgearyalijiao;
-
- dlg.m dgdpluojiao =(180*FengYuanLouJiao Ca(l)/ PI);
-
- ……
-
- dlg.m_fgdpzhouchixingjiao = m_fgearyalijiao;
-
- dlg.m_dgdpzhouchiju = ZhouXiangChiJu Ca(l);
-
- dlg.m_dgdpzhouchihou = ZhouXiangChiHou Ca(l);
-
- int ret = dlg.DoModa(l);
- }
- 消息鏈接。
- 在Object ARX環(huán)境中調(diào)用Object ARX全局函數(shù)編寫(xiě)繪圖函數(shù)。
5 結(jié)語(yǔ)
小模數(shù)齒輪滾刀AutoCAD系統(tǒng)采用全參數(shù)化設(shè)計(jì),實(shí)現(xiàn)了參數(shù)優(yōu)化及齒背曲線自動(dòng)校核,可顯著提高設(shè)計(jì)的科學(xué)性和可靠性;同時(shí)對(duì)表面粗糙度、形位公差等可直接進(jìn)行插入標(biāo)注,大大減少了工作量,提高了設(shè)計(jì)效率!