郭術(shù)義 白蒙蒙
(華北水利水電大學(xué)機(jī)械學(xué)院,河南鄭州 450045)
基于Autolisp的蝸輪蝸桿傳動(dòng)參數(shù)化繪圖在裝配圖中的應(yīng)用
郭術(shù)義 白蒙蒙
(華北水利水電大學(xué)機(jī)械學(xué)院,河南鄭州 450045)
為介紹在繪制裝配圖時(shí)參數(shù)化繪制標(biāo)準(zhǔn)件的一種方法,以蝸輪蝸桿傳動(dòng)為例,在AutoCAD2007平臺(tái)上,應(yīng)用Autolisp語言參數(shù)化繪制標(biāo)準(zhǔn)零部件,使用者可以快速生成不同類型的蝸輪蝸桿圖形。
裝配圖;參數(shù)化繪圖;蝸輪蝸桿傳動(dòng)
Autolisp是一種面向?qū)ο蟮娜斯ぶ悄苷Z言,內(nèi)嵌安裝于AutoCAD內(nèi)部。AutoCAD是在國(guó)際上廣為流行的繪圖工具,其具有完善的圖形繪制功能、強(qiáng)大的圖形編輯功能。應(yīng)用lisp語言調(diào)用CAD的繪圖命令和相關(guān)內(nèi)部函數(shù)就可以編寫一定功能的應(yīng)用程序[1]。
傳動(dòng)機(jī)構(gòu)是機(jī)械系統(tǒng)中非常重要的一環(huán),在原動(dòng)件與從動(dòng)件之間傳遞運(yùn)動(dòng)和動(dòng)力。在機(jī)械結(jié)構(gòu)設(shè)計(jì)過程中,傳動(dòng)機(jī)構(gòu)的設(shè)計(jì)占很大一部分比例。針對(duì)機(jī)械設(shè)計(jì)2D圖中的標(biāo)準(zhǔn)件傳動(dòng)機(jī)構(gòu),以蝸輪蝸桿傳動(dòng)的主視圖和左視圖剖視圖為例,介紹了基于CAD的傳動(dòng)機(jī)構(gòu)的參數(shù)化繪圖方法。
標(biāo)準(zhǔn)件的變化量不大,給定一定的參數(shù)即可確定其形狀結(jié)構(gòu)。手動(dòng)繪圖耗費(fèi)時(shí)間長(zhǎng),且容易出錯(cuò),浪費(fèi)了本可以用在結(jié)構(gòu)設(shè)計(jì)上的時(shí)間,拖延了產(chǎn)品開發(fā)的節(jié)奏,是不必浪費(fèi)的腦力勞動(dòng)。參數(shù)化繪圖會(huì)節(jié)省設(shè)計(jì)過程中耗費(fèi)在標(biāo)準(zhǔn)件上的時(shí)間,縮短新產(chǎn)品開發(fā)周期,提高研發(fā)設(shè)計(jì)效率。
參數(shù)化繪圖即是由一定參數(shù)為約束條件,完整地反映結(jié)構(gòu)的其他尺寸,從而繪制完整的結(jié)構(gòu)圖形的方法。使用者只需要給出繪圖需要的參數(shù)數(shù)值,就可以得到所需要的整個(gè)圖形,而后可以在給出圖形的基礎(chǔ)上進(jìn)行所需的修改,節(jié)省時(shí)間。
蝸桿輪蝸桿機(jī)構(gòu)常被用于減速機(jī)兩軸交錯(cuò)、傳動(dòng)比大、傳動(dòng)功率不大或間歇工作的場(chǎng)合。蝸輪蝸桿傳動(dòng)結(jié)構(gòu)常見參數(shù)主要有模數(shù)、壓力角、直徑系數(shù)、導(dǎo)程角、蝸桿頭數(shù)、蝸輪齒數(shù)、齒頂高系數(shù)(取1)及頂隙系數(shù)(取0.2)[2]。其中,模數(shù)m和壓力角是指蝸桿軸面的模數(shù)和壓力角,亦即渦輪端面的模數(shù)和壓力角,且均為標(biāo)準(zhǔn)值;蝸桿直徑系數(shù)q為蝸桿分度圓直徑與其模數(shù)m的比值。
采用CAD自帶的Vlisp語言來參數(shù)化繪制蝸輪蝸桿機(jī)構(gòu),其可讀性和簡(jiǎn)便性,使該語言對(duì)設(shè)計(jì)者的編程水平要求不高。程序主要包括對(duì)話框部分、數(shù)學(xué)模型部分、標(biāo)
注部分、繪圖環(huán)境部分、繪圖部分和菜單部分幾個(gè)部分。具體的參數(shù)化繪圖設(shè)計(jì)流程見圖1,程序主要針對(duì)于繪制裝配圖時(shí)蝸輪蝸桿傳動(dòng)結(jié)構(gòu)的繪制,裝配圖中繪圖環(huán)境是已定的,程序不應(yīng)改變?cè)械沫h(huán)境設(shè)定。程序中應(yīng)用圖層名稱在裝配圖中不一定存在,在切換圖層時(shí)應(yīng)先判斷圖層是否存在,如不存在,則切換使用默認(rèn)“0”圖層,圖形生成完畢后由設(shè)計(jì)者對(duì)線型進(jìn)行后續(xù)調(diào)整。以“粗實(shí)線”圖層為例,其程序語句為:
對(duì)于繪圖環(huán)境的其他部分,比如設(shè)置捕捉因子,在程序結(jié)束時(shí)應(yīng)改回原有設(shè)定值。以捕捉因子為例,其程序語句為:
(setq osmode_bak(getvar"osmode"))(Setvar"osmode" 0);設(shè)置捕捉因子為0,即關(guān)閉對(duì)象捕捉
……(Setvar"osmode"osmode_bak);恢復(fù)對(duì)象捕捉為初始狀態(tài)。
圖1 參數(shù)化繪圖設(shè)計(jì)流程
對(duì)話框的作用是方便用戶輸入?yún)?shù),程序讀取后通過數(shù)學(xué)模型計(jì)算得到所繪制圖形的各個(gè)尺寸參數(shù),以便接下來繪制圖形。采用與lisp配套的DCL語言編寫對(duì)話框,結(jié)構(gòu)呈樹狀結(jié)構(gòu),以row橫向排列和column豎向排列作為分支點(diǎn),編輯文本框和命令按鈕等控件。DCL常見的控件有按鈕、編輯框、圖像按鈕、列表框、下拉列表框、單選按鈕、滑動(dòng)條和切換開關(guān)等。以普通蝸輪蝸桿為例,如圖2所示。應(yīng)用了文本編輯框和命令按鈕2種控件,需要使用者輸入的參數(shù)有模數(shù)、蝸桿頭數(shù)、蝸輪齒數(shù)、蝸桿直徑系數(shù)、整體旋轉(zhuǎn)角度和中心定位點(diǎn)。其中,定位點(diǎn)指的是蝸桿的中心點(diǎn),當(dāng)然不同的繪圖情況下用戶可以確定的定位點(diǎn)不同,定位點(diǎn)不同的用戶可以在圖形生成后將其移動(dòng)到合適的位置。
圖2 對(duì)話框執(zhí)行結(jié)果
文本框用于收集參數(shù)信息,通過屬性設(shè)置中的“LA?BEL”來進(jìn)行提示用戶參數(shù)類別,通過自定義設(shè)置的“key”屬性與驅(qū)動(dòng)程序鏈接,驅(qū)動(dòng)程序根據(jù)key值不同來區(qū)分各個(gè)參數(shù),并進(jìn)行設(shè)置初始值和提取參數(shù)數(shù)值等操作。
主程序主要包括對(duì)話框的調(diào)用及初始化函數(shù)、控件動(dòng)作函數(shù)、參數(shù)賦值函數(shù)、控件狀態(tài)函數(shù)、調(diào)用繪圖函數(shù)的主調(diào)函數(shù)、各視圖的繪圖函數(shù)和其他一些命令語句[3]。
3.1 數(shù)學(xué)模型的建立
用戶輸入的參數(shù)有模數(shù)m、蝸桿頭數(shù)z1、蝸輪齒數(shù)z2、蝸桿直徑系數(shù)q、整體旋轉(zhuǎn)角度alf、中心定位點(diǎn)P、蝸輪軸孔直徑dm、鍵槽寬度B1和鍵槽轂深T1,根據(jù)這些參數(shù)計(jì)算其他一些必要的參數(shù),得到參數(shù)后,確定繪圖時(shí)需要的點(diǎn)(見圖3)。
蝸桿尺寸計(jì)算的數(shù)學(xué)模型如下:①分度圓直徑d= mq;②齒頂高h(yuǎn)a=m;③齒根高h(yuǎn)f=1.2m;④齒頂圓直徑da= d1+2×ha=m(q+2);⑤切制螺紋部分長(zhǎng)度L=16m,此時(shí)z1= 1、2;L=20m,此時(shí)z1=3、4。
蝸輪尺寸計(jì)算的數(shù)學(xué)模型如下:①中心距a=m(q+ z2);②分度圓直徑d1=m×z2;③寬度B=0.75(d+2×ha),此時(shí)z1=2、3、4;B=0.67(d+2×ha)。
圖3 計(jì)算蝸輪蝸桿結(jié)構(gòu)尺寸數(shù)學(xué)模型
3.2 編寫繪圖函數(shù)
編寫參數(shù)化繪圖程序所用的函數(shù)命令不多,大概有以下幾種。
3.2.1 定位函數(shù)。通過起始已知點(diǎn)坐標(biāo)和極坐標(biāo)位置關(guān)系點(diǎn)位點(diǎn)的方式。例如:(setq p4(polar p2(*1.5 pi) (+d(*ha 2)))),其中p2為已知點(diǎn),1.5pi是p4相對(duì)于p2的角度,(+d(*ha 2))為兩點(diǎn)間距,函數(shù)結(jié)果為點(diǎn)p4的坐標(biāo)。
3.2.2 CAD命令函數(shù)。調(diào)用CAD繪圖或修改命令等。例如:(command"clayer""粗實(shí)線"),切換當(dāng)前圖層為“粗實(shí)線”圖層;(command"line"p5 p6""),調(diào)用直線命令,畫以點(diǎn)p5、p6為端點(diǎn)的一段直線;(command"circle"pt0 "d"d1),調(diào)用圓命令,以pt0為圓心,d1為直徑畫圓;(com?mand"trim"pt6""pt5 pt4""),調(diào)用剪切命令,以點(diǎn)pt6選中剪切邊界,點(diǎn)pt5、pt4框選中要剪切的圖形,執(zhí)行剪切操
作;(command"bhatch""p""ansi31"0.5 0 pm1 pm2""""),調(diào)用圖形填充命令,填充ANSI31圖形,邊界范圍由pm1、pm2點(diǎn)確定。
3.3 其他主要函數(shù)的編寫
對(duì)話框程序的加載函數(shù)、對(duì)話框的啟動(dòng)、對(duì)話框中控件的基本屬性設(shè)置。
(setq id(load_dialog"E∶\蝸輪蝸桿\試驗(yàn).DCL")),通過路徑加載DCL對(duì)話框文件。
(if(<id 0)(exit)),如果加載失敗就退出程序。
(if(not(new_dialog"ptwg"id))(exit)),初始化對(duì)話框。
設(shè)置一些控件的初始值,應(yīng)用的函數(shù)為set_tile函數(shù),蝸桿齒數(shù)z1設(shè)置如下:
(setq z1 2)(set_tile"Z1_box"(rtos z1 2 2)),設(shè)置其初始值顯示為2,其中Z1_box是控件的“key”值。
設(shè)置必要的控件動(dòng)作,應(yīng)用的函數(shù)為action_tile函數(shù),“確認(rèn)”控件的動(dòng)作設(shè)置如下:
(action_tile"accept""(getdata)(done_dialog 1)"),點(diǎn)擊“確認(rèn)”控件后調(diào)用getdata子函數(shù),退出對(duì)話框界面。
提取控件的數(shù)值并賦給設(shè)定的變量,應(yīng)用的函數(shù)為get_tile和setq函數(shù),提取蝸桿齒數(shù)并賦值給變量z1如下:
(setq z1(atof(get_tile"Z1_box")))。
3.4 繪圖結(jié)果
繪圖程序模塊主要包括主視圖和左視圖剖視圖兩大部分,運(yùn)行程序并輸入合適的參數(shù)值,得到的結(jié)果如圖4所示。
圖4 蝸輪蝸桿傳動(dòng)示意圖
要畫出不同類型的蝸輪蝸桿圖形,需要加載相應(yīng)的蝸輪蝸桿程序,這個(gè)過程需要對(duì)使用程序進(jìn)行挑選,選擇需要的程序(見圖5)。這個(gè)過程,本文通過創(chuàng)建自定義CUI文件進(jìn)行實(shí)現(xiàn)。CUI指馮諾依曼體系機(jī)構(gòu)。在電子技術(shù)領(lǐng)域表示為Command User Interface,命令行用戶交互。指應(yīng)用命令行和電腦交互,從而達(dá)到控制和利用電腦的目的。通過創(chuàng)建合適的CUI文件,將諸多l(xiāng)isp文件及其主函數(shù)名添加到菜單里,就可以方便地調(diào)用需要的繪圖程序。當(dāng)然,創(chuàng)建菜單的方法不止這一種,2008版CAD及以上的使用者可以使用objectarx.net來創(chuàng)建CUI,可以省去一些不必要的信息。
圖5 菜單效果圖
CUI文件編輯完成后,保存為.cui和.mnr文件。需要使用時(shí),在命令行中輸入cuiload。在“加載/卸載自定義設(shè)置”對(duì)話框的“文件名”框中,輸入要加載的CUI文件的路徑,或單擊“瀏覽”查找該文件。單擊“加載”,然后單擊“關(guān)閉”。
本文用Auto lisp語言開發(fā)傳動(dòng)結(jié)構(gòu)中蝸輪蝸桿結(jié)構(gòu)的參數(shù)化繪圖程序,為裝配圖中傳動(dòng)結(jié)構(gòu)的選擇和設(shè)計(jì)提供了一條更為方便、快捷的途徑。參數(shù)化繪圖程序有以下特點(diǎn):程序可讀性好、操作簡(jiǎn)單,從漢字提示進(jìn)行下一步操作,使用者可以按照提示進(jìn)行操作,不必記憶數(shù)量繁多的操作命令;在對(duì)話框提示中輸入一定的參數(shù),就可以自動(dòng)繪制需要的圖形,圖形隨參數(shù)的變化而變化,可以有效輸出各種尺寸的蝸輪蝸桿傳動(dòng)結(jié)構(gòu),極大地方便設(shè)計(jì)者使用蝸輪蝸桿結(jié)構(gòu),提高了工作效率。
[1]吳永進(jìn),林美櫻.AutoCAD程序設(shè)計(jì)魔法書[AutoLISP DCL基礎(chǔ)篇][M].北京:中國(guó)鐵道出版社,2003.
[2]成大先.機(jī)械設(shè)計(jì)手冊(cè)[M].北京:化學(xué)工業(yè)出版社,2008.
[3]汪勝蓮,關(guān)航健.AutoCAD2008二次開發(fā)在螺釘繪制程序中的應(yīng)用[J].現(xiàn)代機(jī)械,2009(4):50-52.
Application of Parametric Drawing of Worm Gear and Worm Gear Based on Autolisp in Assembly Drawing
Guo ShuyiBai Mengmeng
(Machinery College of North China University of Water Resources and Electric Power,Zhengzhou Henan 450045)
In order to introduce a method of parametric drawing standard parts in drawing assembly drawing,taking the worm gear as an example,on the AutoCAD2007 platform,standard parts and components were parameterized drawing by using Autolisp language,users could quickly generate different types of worm gear and worm graphics.
assembly drawing;parametric drawing;worm drive
TH126.2
A
1003-5168(2016)10-0067-04
2016-09-23
郭術(shù)義(1971-),男,博士,副教授,研究方向:現(xiàn)代機(jī)械設(shè)計(jì)理論及技術(shù);白蒙蒙(1992-),女,碩士,研究方向:機(jī)械設(shè)計(jì)及理論方面的研究。