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