鄧 峰,呂彥明,王 晨,張 祝
(江南大學(xué) 機(jī)械工程學(xué)院,江蘇 無(wú)錫 214122)
葉片是航空發(fā)動(dòng)機(jī),汽輪機(jī)的重要組成部分,有“汽輪機(jī)心臟”的稱號(hào)。但是葉片的型面復(fù)雜,截面寬厚比大,而且各個(gè)截面之間有一定的轉(zhuǎn)角,這就造成了葉片是三維造型中最難生成的零件之一。葉片尤其是葉根部分結(jié)構(gòu)的復(fù)雜性給手動(dòng)建模帶來(lái)了很大的困難,降低了工作效率?;谝陨显?,本文利用被企業(yè)廣泛利用的CAD/CAM/CAE 軟件UG6.0 和編程開發(fā)軟件VC6.0 作為平臺(tái),研究一套適合工廠實(shí)際需要的葉根輔助生成系統(tǒng),提高產(chǎn)品的設(shè)計(jì)效率。
目前,絕大多數(shù)的企業(yè)還是利用手動(dòng)建模的方式來(lái)解決葉根的造型問題,手動(dòng)建模的方式很直觀,直接根據(jù)所需葉根的圖紙進(jìn)行造型,但是,由于葉根的截面很復(fù)雜,而且有很多葉根類型相似,只需修改其中的參數(shù)即可,手動(dòng)建模既費(fèi)時(shí)又費(fèi)力,而且效率低。任欽海等人提出來(lái)利用UG 二次開發(fā)工具UG/OPEN Grip 語(yǔ)言,構(gòu)建一套葉根自動(dòng)生成系統(tǒng)[1]。但是UG/OPEN Grip[2-3]語(yǔ)言是一種解釋性的語(yǔ)言,雖然簡(jiǎn)單通俗易懂,但是它沒有后續(xù)開發(fā)的可能性,也不能和UISTYLER 或MFC[4]對(duì)話框聯(lián)合使用,交互操作性較差。本文提出了利用UG/OPEN API 與MFC 聯(lián)合開發(fā)的方法,生成交互界面和* . dll 可執(zhí)行程序,并結(jié)合UIStyler 來(lái)構(gòu)建UG 風(fēng)格的對(duì)話框,而后用Menu Script 菜單調(diào)用* . dll 程序驅(qū)動(dòng)利用UG 參數(shù)化功能制作成的模版文件中的參數(shù),生成所需的葉根和葉根加工數(shù)控代碼以及檢驗(yàn)樣板和三坐標(biāo)檢測(cè)程序。UG/OPEN API 與MFC 聯(lián)合開發(fā),并結(jié)合UIStyler 構(gòu)建UG 風(fēng)格的對(duì)話框的方法充分利用了UG/OPEN API,MFC 和UIStyler 的優(yōu)點(diǎn):API 和UISTYLER 的聯(lián)合使用,可以編寫出有圖形界面的程序,方便快捷;而擁有豐富控件的MFC 的加入很好的彌補(bǔ)了UISTYLER 在控件數(shù)量不足的缺點(diǎn);相比較GRIP 語(yǔ)言,API 語(yǔ)言在后續(xù)開發(fā)的問題上較之有很大的優(yōu)勢(shì)[5]。
結(jié)合企業(yè)的實(shí)際需要,本文采用參數(shù)化[6]設(shè)計(jì)的方法,在造型的時(shí)候,對(duì)葉根模型進(jìn)行參數(shù)化,然后保存成模板文件,通過執(zhí)行程序驅(qū)動(dòng)修改其中的參數(shù)來(lái)實(shí)現(xiàn)新的葉根的生成。因?yàn)槿~根截面結(jié)構(gòu)復(fù)雜,數(shù)據(jù)繁多,而且,后續(xù)工裝會(huì)使用到這些數(shù)據(jù),所以,本文引入數(shù)據(jù)庫(kù)的方法來(lái)管理葉根的截面參數(shù)數(shù)據(jù),避免了數(shù)據(jù)的重復(fù)輸入。
由于葉片的使用數(shù)量大,設(shè)計(jì)廠家繁多,所以葉片的種類也很多,常見的分類有:按用途分可分為工業(yè)汽輪機(jī)葉片、燃汽輪機(jī)葉片、電站汽輪機(jī)葉片等;按照工作狀態(tài)分可分為靜葉片和動(dòng)葉片;按照葉冠類型葉片可分成帶冠葉片、減薄葉片和自由葉片;按照葉根類型可分為隔葉件式葉片,整體式葉片和常用嵌入式葉片。本文利用企業(yè)普遍應(yīng)用的常用嵌入式葉片分類方法,并結(jié)合葉根形狀對(duì)葉根進(jìn)行分類:直榫齒葉根、圓弧榫齒葉根、圓柄葉根、方鋼葉根、菌型葉根、叉形葉根、燕尾型葉根。這樣就對(duì)后面葉根截面數(shù)據(jù)庫(kù)的建立和葉根的輔助造型帶來(lái)了很大的方便。
首先通過UG 的參數(shù)化的方式對(duì)葉根進(jìn)行參數(shù)化造型,構(gòu)建模板文件。然后利用API 和MFC 技術(shù)生成的程序驅(qū)動(dòng)模板文件中的參數(shù)得到所需葉根,同時(shí)通過數(shù)據(jù)庫(kù)技術(shù)把葉根截面數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫(kù)備用。由于葉根來(lái)自于不同的廠家,所以葉根的標(biāo)注方式也會(huì)很大的不同,為了便于實(shí)際使用,建立模版之前還得選擇具有代表性的標(biāo)注方式,便于數(shù)據(jù)的統(tǒng)一管理和葉根輔助生成系統(tǒng)的實(shí)現(xiàn)。方案流程圖如圖1 所示。
圖1 葉根輔助生成系統(tǒng)模塊方案設(shè)計(jì)
如圖1 顯示,得到新產(chǎn)品二維圖,選擇合適的標(biāo)注方式,建立參數(shù)化的模板并保存在特定路徑下。同時(shí)生成的還有數(shù)控加工程序,檢測(cè)樣板和三坐標(biāo)測(cè)量程序一并保存在相同的路徑下。主程序運(yùn)行后,選擇所需造型的葉片葉根類型和標(biāo)注方式,然后進(jìn)入葉根截面生成對(duì)話框,輸入或者從數(shù)據(jù)庫(kù)中導(dǎo)入葉根截面數(shù)據(jù)。在得到葉根截面數(shù)據(jù)后,進(jìn)入葉根生成模塊,填入葉根中間體參數(shù),生成完整的葉根。同時(shí)生成的還有數(shù)控加工程序[7],檢測(cè)模板和三坐標(biāo)檢測(cè)程序,這樣,一整套葉根建模,加工程序,檢測(cè)程序和檢測(cè)模板都在一個(gè)程序中實(shí)現(xiàn),提高了工作效率。
2.3.1 參數(shù)化方式的選擇
本文采用基于模板的思路,所以必須要選擇好參數(shù)化的方式以便生成模板文件。參數(shù)化設(shè)計(jì)是指,在零件或部件形狀的基礎(chǔ)上,利用一組尺寸參數(shù)和約束來(lái)定義該集合圖形的形狀。尺寸參數(shù)和集合圖形之間建立顯式對(duì)應(yīng)關(guān)系,改變其中的尺寸或約束時(shí),對(duì)應(yīng)的幾何圖形也會(huì)隨著改變,通過驅(qū)動(dòng)幾何模型來(lái)反應(yīng)設(shè)計(jì)過程中設(shè)計(jì)者的思想。API 前提下的參數(shù)化方法比較流行的有下面這幾種:
(1)由API 直接驅(qū)動(dòng)三維實(shí)體
(2)API 驅(qū)動(dòng)UG 表達(dá)式參數(shù)化的三維實(shí)體
UG 本身就帶有表達(dá)式的功能,可在設(shè)計(jì)的時(shí)候就將零件參數(shù)化,通過改變零件的參數(shù)化表達(dá)式數(shù)值來(lái)改變零件形狀。而API 為開發(fā)者提供了操作表達(dá)式的函數(shù),只要提前做好模板,通過程序修改參數(shù)表達(dá)式數(shù)值就可以實(shí)現(xiàn)新零件的生成。
(3)API 調(diào)用GRIP 參數(shù)化驅(qū)動(dòng)的三維實(shí)體
GRIP 編程比較簡(jiǎn)單,但是不能制作操作界面,用MFC 或者UISTYLER 制作可視對(duì)話框,然后通過API 調(diào)用GRIP 程序,就可實(shí)現(xiàn)參數(shù)化。但API 只能通過絕對(duì)路徑來(lái)調(diào)用GRIP,在程序使用的時(shí)候要做很多的設(shè)置才能實(shí)現(xiàn)。
綜合各種優(yōu)缺點(diǎn)和企業(yè)的實(shí)際需求,采用API驅(qū)動(dòng)UG 表達(dá)式參數(shù)化的三維實(shí)體的方法來(lái)實(shí)現(xiàn)葉根輔助系統(tǒng)的建立。
2.3.2 模板的建立
UG 模板[8]是利用UG 參數(shù)化建模的功能,建立零件母體的過程,調(diào)用實(shí)質(zhì)是克隆UG 的模板部件,更新UG 模板部件參數(shù)來(lái)實(shí)現(xiàn)控制零件的幾何形狀和尺寸的變更。使用3.1 中所提到的葉根分類的方法作為模板的命名規(guī)則,在UG 中新建一個(gè)PART 文件,進(jìn)入草圖模塊,確定標(biāo)注方式后按照葉根二維圖畫好截面參數(shù)并參數(shù)化,然后拉伸得到三維實(shí)體,由于要考慮到后續(xù)工序的安裝等問題,要把實(shí)體旋轉(zhuǎn)一定角度并移到相應(yīng)的位置。同樣,旋轉(zhuǎn)的角度和移動(dòng)的距離也進(jìn)行參數(shù)化。因?yàn)槿~根起到把葉片固定到汽輪機(jī)上的作用,有很高的裝配要求,這對(duì)葉根的加工工藝提出了很高的要求,所以,在生成葉根的同時(shí)生成檢測(cè)模板,以后加工完葉根后對(duì)葉根作必要的檢測(cè)?,F(xiàn)在企業(yè)生產(chǎn)都用的是數(shù)控加工,UG 功能全面,有數(shù)控加工模塊,在生成三維實(shí)體后可以生成數(shù)控程序。所以,本文提出的思路是在制作完模板后,生成數(shù)控加工程序的模板,保存在和葉根相同的路徑下。
在制作模板的時(shí)候遇到的難題是葉根的種類很多,有些葉根會(huì)涉及到樣條曲線的問題,由于樣條曲線的樣條點(diǎn)不一樣,很難參數(shù)化,在此,采用一種實(shí)體求差的方法來(lái)實(shí)現(xiàn)。樣條在葉根截面坐標(biāo)系的最底部,在制作模板的時(shí)候,先忽略樣條曲線,直接把兩條直線延長(zhǎng)后生成實(shí)體。如圖2 所示。在執(zhí)行程序的時(shí)候,通過程序生成帶樣條的實(shí)體并與模板文件求差,得到需要的實(shí)體,如圖3 所示。
圖2 模板三維圖
圖3 生成的葉根三維圖
模板制作完成后,程序只需打開保存在特定路徑下的參數(shù)化零件,然后提取其中的參數(shù)并修改其值,更新模型后就得到所需的葉根。主要API 程序:
UF_PART_open:用來(lái)打開模板文件。
UF_PART_save_as:用來(lái)另存生成的葉根零件。
UF_MODL_eval_exp:用來(lái)提取表達(dá)式的值。
PRO_DESIGN_edit_exp:通過這個(gè)命令來(lái)實(shí)現(xiàn)表達(dá)式數(shù)值的修改。
UF_CURVE_create_spline_thru_pts:樣條曲線的生成。
UF_CURVE_create_line:生成直線。
UF_CURVE_intersect:求曲線交點(diǎn)。
UF_MODL_create_extruded:拉伸求差。
uf5947:旋轉(zhuǎn)實(shí)體。
葉根截面數(shù)據(jù)庫(kù)作為葉根輔助生成系統(tǒng)的一個(gè)重要的組成部分,主要是解決設(shè)計(jì)人員重復(fù)輸入繁多的數(shù)據(jù)的問題。葉根截面的復(fù)雜性導(dǎo)致往往需要四五十個(gè)參數(shù)才能將葉根外形表達(dá)清楚,而且這些參數(shù)在以后相同葉根的生成和后續(xù)的工裝中會(huì)常被使用到,使用數(shù)據(jù)庫(kù)管理系統(tǒng),這些參數(shù)只需要輸入一次,以后需要使用時(shí)直接從庫(kù)中調(diào)用即可,提高了設(shè)計(jì)的效率,減輕了工藝人員的壓力。因?yàn)槊糠N葉片的葉根截面已經(jīng)系列化,也就是每種葉根只有幾種截面,不同的葉片也可以選擇相同的葉根截面來(lái)設(shè)計(jì),葉根截面數(shù)據(jù)庫(kù)就是將產(chǎn)品廠家所采用的截面類型歸類,管理,在用戶對(duì)葉跟進(jìn)行參數(shù)化設(shè)計(jì)時(shí),只需通過程序選擇,查詢所需截面數(shù)據(jù)即可,同時(shí)也可將廠家新設(shè)計(jì)的葉根截面插入葉根截面數(shù)據(jù)庫(kù)。圖4 所示為某產(chǎn)品對(duì)應(yīng)的部分?jǐn)?shù)據(jù)表。同時(shí)為了便于管理,將數(shù)據(jù)保存在局域網(wǎng)的服務(wù)器上,通過ADO[9]技術(shù)操作服務(wù)器上數(shù)據(jù)庫(kù)完成數(shù)據(jù)的查詢,插入,編輯以及刪除等操作。本文利用Micrsoft SQL 2000 服務(wù)器數(shù)據(jù)管理系統(tǒng)來(lái)實(shí)現(xiàn)以上操作。主要程序:
查詢語(yǔ)句:SELECT <目標(biāo)列表達(dá)式> FROM <表名>[WHERE <條件表達(dá)式>];
插入語(yǔ)句:INSERT[INTO] <表名>[(<屬性列1 >[,<屬性列2 >]…)]VALUES(<常量1 > [,<常量2 >]…);
修改語(yǔ)句:UPDATE <表名>SET <列名>= <表達(dá)式>[WHERE <條件>];
刪除語(yǔ)句:DELETE[FROM] <表名>[WHERE <條件>];
圖4 某產(chǎn)品對(duì)應(yīng)的部分?jǐn)?shù)據(jù)表
本文以某公司的實(shí)例為例子來(lái)說明葉根輔助生成系統(tǒng)的整個(gè)過程。
圖5 為葉根輔助設(shè)計(jì)模塊的主對(duì)話框,選擇葉根和截面類型后點(diǎn)擊下一步出現(xiàn)標(biāo)注方式的選擇對(duì)話框,如圖6 所示。
確定標(biāo)注方式后,出現(xiàn)葉根截面生成對(duì)話框,輸入或者從數(shù)據(jù)庫(kù)中導(dǎo)入葉根截面數(shù)據(jù),如圖7 所示。
點(diǎn)擊下一步出現(xiàn)葉根生成對(duì)話框,輸入葉根中間體參數(shù)(如圖8 顯示),生成所需葉根實(shí)體。如圖9顯示。在圖8 中,點(diǎn)擊生成數(shù)控代碼按鈕可以生成數(shù)控加工所需的NC 代碼;點(diǎn)擊生成檢測(cè)樣板按鈕,生成對(duì)應(yīng)的樣板三維圖;點(diǎn)擊三坐標(biāo)檢測(cè)程序按鈕,生成相應(yīng)的檢測(cè)程序。
圖5 葉根輔助設(shè)計(jì)模塊主對(duì)話框
圖6 葉根標(biāo)注方式選擇對(duì)話框
圖7 葉根截面生成對(duì)話框
圖8 葉根生成對(duì)話框
圖9 最后生成的葉根
在圖7 所示的葉根截面生成系統(tǒng)中,有數(shù)據(jù)庫(kù)管理模塊,點(diǎn)擊查找可從數(shù)據(jù)庫(kù)中導(dǎo)入已有的數(shù)據(jù),如圖10 所示,點(diǎn)擊添加可以把界面上的數(shù)據(jù)添加到數(shù)據(jù)庫(kù)中,如圖11 所示,點(diǎn)擊刪除可以把數(shù)據(jù)庫(kù)中不再使用的數(shù)據(jù)刪除,如圖12 所示。
圖10 查找數(shù)據(jù)
圖11 添加數(shù)據(jù)
圖12 刪除數(shù)據(jù)
本文提出了一種葉根生成的方法,通過利用UG/OPEN API 與MFC 技術(shù)驅(qū)動(dòng)UG 參數(shù)來(lái)實(shí)現(xiàn)葉根的生成。利用該方案,大大節(jié)省了葉根造型的時(shí)間,降低了葉根造型的困難,而且數(shù)據(jù)庫(kù)的利用,給企業(yè)的產(chǎn)品數(shù)據(jù)的管理帶來(lái)了很大的方便。
[1]任欽海,呂彥明,史亞聞. UG 二次開發(fā)技術(shù)在實(shí)現(xiàn)葉根和葉冠自動(dòng)生成中的應(yīng)用[J]. 機(jī)械制造,2007,45(12):19-21.
[2]許朝陽(yáng),黃筱調(diào),方成剛,等. 基于UG/Grip 的斜齒輪盤銑刀齒廓截形計(jì)算與參數(shù)化建模研究[J]. 組合機(jī)床與自動(dòng)化加工技術(shù),2011(1):13-17.
[3]韓玉林,王晶. 基于UG 平臺(tái)的圓錐齒輪參數(shù)化造型的實(shí)現(xiàn)[J]. 組合機(jī)床與自動(dòng)化加工技術(shù),2009(2):35-36.
[4]江本赤. UG/OPEN 與MFC 的接口設(shè)計(jì)策略[J]. 制造技術(shù)與機(jī)床,2011(11):95-96.
[5]金麗華. GRIP、API 和KF 建立零件模型方法之比較[J].鹽城工學(xué)院學(xué)報(bào):自然科學(xué)版,2011,24(4):30-33.
[6]莫容,常智勇,劉紅軍,等. 圖表詳解UGNX 二次開發(fā)[M]. 北京:電子工業(yè)出版社,2008.
[7]何晶昌,夏銘,黃志勇. 三次樣條曲線回轉(zhuǎn)面的車削加工[J]. 組合機(jī)床與自動(dòng)化加工技術(shù),2011(4):94-96.
[8]張?chǎng)危瑥堈衩?,田錫天,等. 具有模板零件的夾具三維標(biāo)準(zhǔn)件庫(kù)的研究與開發(fā)[J]. 科學(xué)技術(shù)與工程,2007,7(7):1486-1489.
[9]李鐵剛. 基于UG 的工裝標(biāo)準(zhǔn)件庫(kù)開發(fā)[J]. 組合機(jī)床與自動(dòng)化加工技術(shù),2009(8):22-25.