王鴻鈞
(紅河學(xué)院,蒙自 661100)
在機(jī)械設(shè)計(jì)過程中,經(jīng)常會(huì)用到典型的機(jī)械零件如齒輪、螺栓、螺母、銷、鍵及帶輪等,而這些零件或是結(jié)構(gòu)相同而尺寸不同,或是有些零件多一些特征,有些零件少一些特征。傳統(tǒng)的設(shè)計(jì)方法是將每個(gè)零件都單獨(dú)設(shè)計(jì),占用了設(shè)計(jì)人員大部分的時(shí)間和精力,嚴(yán)重影響了新產(chǎn)品的開發(fā)周期,從而制約了企業(yè)的技術(shù)進(jìn)步和持續(xù)發(fā)展。隨著計(jì)算機(jī)輔助設(shè)計(jì)(CAD)技術(shù)的不斷發(fā)展,參數(shù)化設(shè)計(jì)也得到了飛速發(fā)展,改變了原有的二維工程圖設(shè)計(jì)的工作量大部分由設(shè)計(jì)人員做,而現(xiàn)在可由CAD軟件自動(dòng)控制完成,大大提高了產(chǎn)品設(shè)計(jì)的效率。根據(jù)典型機(jī)械零件的實(shí)際特點(diǎn),參數(shù)化技術(shù)應(yīng)用到典型機(jī)械零件的設(shè)計(jì)領(lǐng)域中將有效地縮短新產(chǎn)品的開發(fā)周期,快速響應(yīng)市場(chǎng)需求,為機(jī)械行業(yè)帶來巨大效益。鑒于此,利用AutoCAD軟件支持的對(duì)話框控制語言DCL及內(nèi)嵌的二次開發(fā)工具Visual LISP開發(fā)典型機(jī)械零件參數(shù)化設(shè)計(jì)系統(tǒng)。
程序結(jié)構(gòu)表明了程序各組成部分的組織情況,它通常表現(xiàn)為一種樹狀或網(wǎng)狀的結(jié)構(gòu),同時(shí)還體現(xiàn)了程序控制上的層次關(guān)系。通常樹狀結(jié)構(gòu)具有層次分明、結(jié)構(gòu)清淅的特點(diǎn),而網(wǎng)狀結(jié)構(gòu)控制及數(shù)據(jù)結(jié)構(gòu)較為復(fù)雜。因此,本程序采用樹狀的分層結(jié)構(gòu),樹狀結(jié)構(gòu)分為:齒輪類、標(biāo)準(zhǔn)件類、普通V型帶輪類等。
開發(fā)的典型機(jī)械零件參數(shù)化設(shè)計(jì)系統(tǒng)均采用模塊式方式進(jìn)行程序設(shè)計(jì)。一是繪圖模塊,包括齒輪類繪圖模塊、標(biāo)準(zhǔn)件類繪圖模塊及普通V型帶輪類繪圖模塊。二是尺寸標(biāo)注示模塊,包括尺寸公差標(biāo)注模塊、形位公差標(biāo)注模塊及表面粗糙度標(biāo)注模塊。編寫設(shè)計(jì)程序的語言采用AutoCAD內(nèi)嵌的Visual LISP和DCL兩種。整個(gè)過程均用對(duì)話框進(jìn)行參數(shù)輸入,在設(shè)計(jì)過程出現(xiàn)問題時(shí),都由對(duì)話框提示各種結(jié)果。
典型機(jī)械零件參數(shù)化設(shè)計(jì)系統(tǒng)程序結(jié)構(gòu)如圖1所示。
1.2.1 機(jī)械零件結(jié)構(gòu)參數(shù)[1,2]
首先,當(dāng)選定了機(jī)械零件的種類后,就可確定所選零件的主要參數(shù)。但由于零件結(jié)構(gòu)有所不同,因此,只有再確定了其結(jié)構(gòu)后,才能建立輔助參數(shù)與主要參數(shù)之間的約束關(guān)系。從而確定圖形結(jié)構(gòu)形狀所需的參數(shù)并對(duì)其進(jìn)行數(shù)學(xué)建模,即找出相對(duì)應(yīng)的數(shù)學(xué)公式。
1.2.2 對(duì)話框的設(shè)計(jì)
圖1 典型機(jī)械零件參數(shù)化設(shè)計(jì)系統(tǒng)程序結(jié)構(gòu)圖
對(duì)話框程序可利用AutoCAD的PDB管理功能來編寫,文件類型為dcl。DCL對(duì)話框包含下列組件:標(biāo)簽、按鈕、單選鈕、復(fù)選框、編輯框、列表框、下拉列表框、滾動(dòng)條、圖像框、圖像按鈕、錯(cuò)誤信息等。利用對(duì)話框控制語言( DCL)設(shè)計(jì)組成機(jī)械零件種類的選擇對(duì)話框(主對(duì)話框)、齒輪類、標(biāo)準(zhǔn)件類、普通V型帶輪類以及尺寸公差、形位公差和表面粗糙度類型選擇對(duì)話框(子對(duì)話框)。
1)主對(duì)話框程序設(shè)計(jì)
其程序代碼如下,執(zhí)行結(jié)果如圖 2所示。
圖 2 選擇“典型機(jī)械零件”對(duì)話框
典型機(jī)械零件:dialog{label= "典型機(jī)械零件";
當(dāng)選擇“齒輪類”,按“確定”按鈕后將出現(xiàn)子對(duì)話框。
2)子對(duì)話框程序設(shè)計(jì)
本參數(shù)化設(shè)計(jì)子對(duì)話框包括:齒輪類子對(duì)話框、標(biāo)準(zhǔn)件類子對(duì)話框、普通V型 帶輪類子對(duì)話框以及尺寸標(biāo)注子對(duì)話框。以齒輪類子對(duì)話框?yàn)槔?,其程序代碼如下,執(zhí)行結(jié)果如圖3所示。
1.2.3 驅(qū)動(dòng)程序的編寫
對(duì)話框驅(qū)動(dòng)程序可直接引用Visual LISP語言中的標(biāo)準(zhǔn)函數(shù)或者由用戶自定義函數(shù)。驅(qū)動(dòng)程序主要包括:對(duì)話框的調(diào)用及初始化函數(shù)、控件動(dòng)作函數(shù)、參數(shù)賦值函數(shù)、控件狀態(tài)函數(shù)、對(duì)話上框顯示幻燈片的函數(shù)、調(diào)用繪圖函數(shù)的主調(diào)函數(shù)、各視圖的繪圖函數(shù)、其他命令語句和判斷語句以及其他一些函數(shù) (根據(jù)用戶所要實(shí)現(xiàn)的一些特殊功能來編寫)。
運(yùn)行按上述方法編寫的典型機(jī)械零件參數(shù)化設(shè)計(jì)程序(由于篇幅有限,典型機(jī)械零件參數(shù)化設(shè)計(jì)程序略。)。
1)當(dāng)加載運(yùn)行所開發(fā)的“典型機(jī)械零件參數(shù)化系統(tǒng)”,彈出選擇“典型機(jī)械零件種類”主對(duì)話框如圖2所示。
圖3 選擇“齒輪類型”對(duì)話框
2)選擇齒輪類,單擊“確定”按鈕,彈出“選擇齒輪類型”對(duì)話框如圖3所示。
3)選擇直齒圓柱齒輪,單擊“繼續(xù)”按鈕,彈出選擇“齒輪結(jié)構(gòu)類型”對(duì)話框如圖4所示。
圖4 選擇“齒輪結(jié)構(gòu)類型”對(duì)話框
4)選定齒輪結(jié)構(gòu)類型為第III種類型,單擊“繼續(xù)”按鈕,彈出“輸入齒輪參數(shù)”對(duì)話框如圖5所示。
圖5 “輸入齒輪參數(shù)”對(duì)話框
5)輸入?yún)?shù)后,單擊“確定”按鈕,運(yùn)行結(jié)果如圖6所示。此時(shí),彈出“尺寸標(biāo)注”對(duì)話框如圖7所示。通過選擇標(biāo)注類型并輸入所需參數(shù),最后其結(jié)果如圖8所示。
整個(gè)程序的運(yùn)行從參數(shù)輸入、工作環(huán)境選擇、使用要求的確定、設(shè)計(jì)計(jì)算直至零件圖繪制、尺寸標(biāo)注只需很短的時(shí)間,充分體現(xiàn)了參數(shù)化設(shè)計(jì)的優(yōu)勢(shì)。
圖6 直齒圓柱結(jié)構(gòu)類型III
圖7 選擇“標(biāo)注種類”對(duì)話框
圖8 運(yùn)行后得到的直齒圓柱齒輪
本系統(tǒng)通過運(yùn)用Visual LISP語言對(duì)AutoCAD繪圖軟件的二次開發(fā),實(shí)現(xiàn)對(duì)典型機(jī)械零件參數(shù)化設(shè)計(jì)。編寫的參數(shù)化設(shè)計(jì)程序,采用對(duì)話框?qū)崿F(xiàn)交互操作和信息輸入,界面友好,操作簡(jiǎn)單方便,根據(jù)用戶選擇和輸入的參數(shù)值,為典型機(jī)械零件提供了一種快捷的設(shè)計(jì)方法,提高了工作效率。
[1] 成大先.機(jī)械設(shè)計(jì)手冊(cè)(第三版,第3卷)[M].北京:化學(xué)工業(yè)出版社,1994.
[2] 徐灝.機(jī)械設(shè)計(jì)手冊(cè)(第二版,第4卷)[M].北京:機(jī)械工業(yè)出版社,2000.