范 蓉
(天津市第一商業(yè)學(xué)校,天津 300180)
隨著機(jī)械工業(yè)技術(shù)的不斷進(jìn)步,包括羅茨鼓風(fēng)機(jī)、羅茨壓縮機(jī)、羅茨流量計(jì)和羅茨真空泵等設(shè)備由于其優(yōu)良的工作特性,使其在現(xiàn)代工業(yè)中得到廣泛的應(yīng)用。而相關(guān)設(shè)備的運(yùn)行狀態(tài)在很大程度上取決于其最關(guān)鍵的核心部件——羅茨轉(zhuǎn)子。通常使用的轉(zhuǎn)子有雙葉和多葉等不同的形式,型線有圓弧齒形、漸開線齒形和擺線齒型等[1]。羅茨轉(zhuǎn)子的設(shè)計(jì)對于設(shè)備的性能起到至關(guān)重要的作用。由于羅茨轉(zhuǎn)子的線形比較復(fù)雜,并且其設(shè)計(jì)的精度及合理性決定了相關(guān)設(shè)備的氣密性、流量等諸多工作參數(shù),即便在借助UG這種功能強(qiáng)大的軟件情況下,其設(shè)計(jì)周期也通常較長。根據(jù)羅茨轉(zhuǎn)子的工作要求開發(fā)一款符合其設(shè)計(jì)特點(diǎn)的專業(yè)化和個(gè)性化的工具,將能夠在很大程度上拓展軟件的應(yīng)用范圍,提高設(shè)計(jì)效率,滿足設(shè)計(jì)人員的各種特殊需求,以達(dá)到事半功倍的效果。本文利用UG軟件的二次開發(fā)功能,就實(shí)現(xiàn)羅茨轉(zhuǎn)子的參數(shù)化設(shè)計(jì)提出一種新的設(shè)計(jì)方法。
UG NX中的菜單是利用Menu Script編寫的,使用UG/Open二次開發(fā)軟件包中的 Menu Script腳本語言可以自由、方便的添加、刪除和定制菜單[2],以及改變菜單的顯示文本或響應(yīng)行為等。菜單腳本文件的擴(kuò)展名為*.men(文本文件),另外,此功能還可以用來定制工具條,其擴(kuò)展名為*.thr(文本文件)。
在UG的安裝目錄中找到custom_dirs.dat文件,用記事本打開,并在最后一行輸入D:\Program Files\UGS\UGAPI\startup,完成UG開發(fā)目錄的注冊[3]。利用Windows中的記事本建立腳本文件,并將其命名為roots,并保存在指定的目錄中,如:D:\Program Files\UGS\UGAPI\startup。定制完成的用戶界面如圖1所示。其腳本文件代碼如下:
VERSION 120
EDIT UG_GATEWAY_M(jìn)AIN_M(jìn)ENUBAR
!創(chuàng)建一級菜單
BEFORE UG_HELP
CASCADE_BUTTON MENU_ID_1
LABEL羅茨機(jī)構(gòu)
圖1
END_OF_BEFORE
!創(chuàng)建二級菜單
MENU MENU_ID_1
CASCADE_BUTTON MENU_ID_1_1
LABEL轉(zhuǎn)子設(shè)計(jì)
BUTTONMENU_ID_1_2
LABEL運(yùn)動(dòng)仿真
SEPARATOR
BUTTONMENU_ID_1_3
LABEL技術(shù)手冊
END_OF_M(jìn)ENU
!創(chuàng)建三級菜單
MENU MENU_ID_1_1
BUTTONMENU_ID_1_1_1
LABEL雙葉轉(zhuǎn)子
ACTIONS LC_Block.dlg
BUTTONMENU_ID_1_1_2
LABEL三葉轉(zhuǎn)子
END_OF_M(jìn)ENU
UIStyler作為UG NX/OPEN二次開發(fā)包中用于開發(fā)用戶界面的工具,它提供了全部NX的標(biāo)準(zhǔn)可視控件。用戶可以根據(jù)需要添加各種控件,制作用戶交互界面。完成后會(huì)自動(dòng)生成擴(kuò)展名為*.dlg、*_template.c和*_template.h三個(gè)文件,第一個(gè)是對話框資源文件,后兩個(gè)是UF的C源碼模板文件。將*.dlg、*_template.c和*_template.h文件添加到工程中,然后在向C源碼模板中的各回調(diào)函數(shù)框架內(nèi)添加實(shí)現(xiàn)用戶功能的代碼,便可編譯、鏈接動(dòng)態(tài)鏈接庫*.dlg文件[4]。
打開用戶界面編輯器,進(jìn)入U(xiǎn)IStyler可視化界面。在對話框標(biāo)題中輸入“創(chuàng)建羅茨轉(zhuǎn)子”。在回調(diào)界面內(nèi),在取消和確定的后面輸入“cancel_cb”和“ok_cb”。依次添加實(shí)數(shù)輸入框,在標(biāo)簽中輸入“轉(zhuǎn)子回轉(zhuǎn)直徑”、“中心距”和“壓力角”。
制作完成的用戶對話框如圖2所示。保存文件至D:\Program Files\UGS\UGAPI\application目錄中,文件名為LC_Block.dlg。
圖2
圖3
下面以雙葉羅茨轉(zhuǎn)子為例說明參數(shù)化建模的過程。雙葉羅茨漸開線轉(zhuǎn)子在工作時(shí)的相位角為90°,既在1/4圓內(nèi)相互嚙合,并互不干涉[5]。
如圖3所示,轉(zhuǎn)子截面輪廓線A-B段為圓弧,B-C段為漸開線,C-D段為圓弧。
設(shè)轉(zhuǎn)子回轉(zhuǎn)直徑為D,中心距為L,節(jié)圓壓力角為α,則有
其中漸開線的標(biāo)準(zhǔn)方程為
式中β為漸開線的展開角,圖中的漸開線是以直線O-E為水平軸繪制的,所以還需將利用上式繪制的漸開線沿順時(shí)針方向旋轉(zhuǎn)一個(gè)角度φ,對應(yīng)的旋轉(zhuǎn)方程為
實(shí)現(xiàn)旋轉(zhuǎn)有多種方法,可以先完成曲線的繪制,再旋轉(zhuǎn),也可以先旋轉(zhuǎn)坐標(biāo)系在繪制曲線。由于漸開線的公式比較復(fù)雜,若再代入旋轉(zhuǎn)方程,則會(huì)造成后期程序的編制比較繁瑣,并且UG OPEN提供了比較方便的坐標(biāo)系功能,所以本文利用坐標(biāo)系的旋轉(zhuǎn)功能實(shí)現(xiàn)漸開線的繪制工作。
啟動(dòng)VC6.0,創(chuàng)建Win32Dynamic Link Library工程。保存名稱為LC_Block。為了在鏈接時(shí)調(diào)用UF函數(shù)的代碼,在Output file name文本框中填入最終編譯鏈接成的DLL文件名,在Object/Library modules文本框中加入需要的libufun.lib、libugopenint.lib和libvmathpp.lib庫名。將前面保存的“LC_Block.h”和“LC_Block_template.c”復(fù)制到“LC_Block”工程文件目錄內(nèi),并把這兩個(gè)文件加入工程。打開“LC_Block_template.cpp”文件,在文件開始編譯文件頭命令處把#include<LC_Block.h>修改成#include“LC_Block.h”,并添加到#include<uf_modle.h>中[6]。由于需要調(diào)用生成LC_Block的 UF函數(shù),所以要找到入口函數(shù)的定義,將條件編譯宏屏蔽:
在LC_Block_template.cpp文件中,將用戶輸入的數(shù)值傳遞到定義的全局變量中去,并檢查數(shù)值是否符合要求。部分代碼如下所示:
完成上述初始化、屬性設(shè)置及賦值工作后,便可以根據(jù)已有數(shù)學(xué)模型編制轉(zhuǎn)子型線的程序。漸開線的部分關(guān)鍵程序如下:
根據(jù)數(shù)學(xué)模型很容易得出兩處圓弧的半徑,再利用函數(shù)UF_CURVE_creat_acr便可以畫出兩個(gè)圓弧。接下來,可以利用鏡像功能得到完整的封閉輪廓。至此,便完成了羅茨轉(zhuǎn)子型線的繪制。運(yùn)用函數(shù)UF_NULLSIGN創(chuàng)建拉伸特征。
最后對編輯完成的程序進(jìn)行編譯,再鏈接程序,則生成可執(zhí)行的動(dòng)態(tài)鏈接庫文件。將此動(dòng)態(tài)鏈接文件放入D:\Program Files\UGS\UGAPI\startup目錄中,該文件將自動(dòng)加載至UG程序中。
在UG的菜單欄中點(diǎn)擊【羅茨機(jī)構(gòu)】,依次在下拉菜單中選擇【轉(zhuǎn)子設(shè)計(jì)】,【雙葉轉(zhuǎn)子】。彈出創(chuàng)建羅茨轉(zhuǎn)子對話框,輸入相應(yīng)的設(shè)計(jì)參數(shù),便可自動(dòng)生成如圖4所示的實(shí)體模型。
圖4
單一的轉(zhuǎn)子模型對于機(jī)構(gòu)設(shè)計(jì)來講是不夠的。利用UG/OPEN的裝配API可以對轉(zhuǎn)子進(jìn)行裝配操作。結(jié)合UG的分析功能,還可以進(jìn)一步檢查相互嚙合的兩個(gè)轉(zhuǎn)子之間的配合間隙及干涉情況,顯示干涉區(qū)域及生成運(yùn)動(dòng)分析圖表。
以羅茨機(jī)構(gòu)為基礎(chǔ)的各種通用設(shè)備在科學(xué)技術(shù)高速發(fā)展的今天在機(jī)械制造、石油、電力、冶金、化工和食品加工等行業(yè)都有著極為廣泛的應(yīng)用。作為核心部件的羅茨轉(zhuǎn)子的設(shè)計(jì)及加工水平直接影響著相關(guān)設(shè)備的各項(xiàng)工作性能。根據(jù)羅茨轉(zhuǎn)子的結(jié)構(gòu)特點(diǎn)及其設(shè)計(jì)要求,運(yùn)用UG/OPEN二次開發(fā)工具和Visual C開發(fā)的羅茨轉(zhuǎn)子設(shè)計(jì)系統(tǒng),能夠方便、快速的實(shí)現(xiàn)轉(zhuǎn)子的參數(shù)化建模。與傳統(tǒng)設(shè)計(jì)過程相比,大大提高了工作效率,并能夠避免因人為原因造成的設(shè)計(jì)缺陷。其中的運(yùn)動(dòng)仿真模塊還能夠直觀的驗(yàn)證羅茨轉(zhuǎn)子在嚙合狀態(tài)下的工作情況,并為轉(zhuǎn)子的優(yōu)化設(shè)計(jì)提供了可靠的理論依據(jù)。
[1]劉林林,初嘉鵬,胡建中.羅茨真空泵轉(zhuǎn)子型線的研究[J].機(jī)械設(shè)計(jì),2007,(03).
[2]莫蓉,常智勇,劉紅軍,等.圖表詳解UG NX二次開發(fā)[M].北京:電子工業(yè)出版社2008.
[3]黃勇.UG/Open API、MFC和COM開發(fā)實(shí)例精解[M].北京:國防工業(yè)出版社2009.
[4]黃勇,張博林,薛運(yùn)鋒.UG二次開發(fā)與數(shù)據(jù)庫應(yīng)用[M].北京:電子工業(yè)出版社,2008.
[5]楊曉斌.羅茨泵轉(zhuǎn)子簡明設(shè)計(jì)[J].機(jī)械工程師,2010,(04).
[6]張王全.基于UG的弧面分度凸輪機(jī)構(gòu)的參數(shù)化設(shè)計(jì)及仿真分析[D].青島大學(xué)學(xué)位論文,2004.