任國棟,鄭 峰,葛春榮,周德釗,歐陽翔,王 霄
(1.江蘇大學(xué) 機械工程學(xué)院,江蘇 鎮(zhèn)江 212013;2.金壇市飛承候機械有限公司,江蘇 常州213200)
基于UG的汽輪機葉片CAD系統(tǒng)二次開發(fā)
任國棟1,鄭 峰1,葛春榮2,周德釗2,歐陽翔2,王 霄1
(1.江蘇大學(xué) 機械工程學(xué)院,江蘇 鎮(zhèn)江 212013;2.金壇市飛承候機械有限公司,江蘇 常州213200)
文章以汽輪機葉片為研究對象,以某企業(yè)實際生產(chǎn)需求為導(dǎo)向,基于UG軟件和Visual Studio 2010軟件平臺,采用了C語言和UG/open API函數(shù)聯(lián)合編程的二次開發(fā)方法,開發(fā)了一套汽輪機葉片參數(shù)化模型快速造型系統(tǒng),提高了設(shè)計人員的工作效率,縮短了企業(yè)產(chǎn)品開發(fā)周期,加強了企業(yè)的競爭力。
汽輪機葉片;UG;二次開發(fā);快速造型系統(tǒng)
葉片是汽輪機的核心部件,其型面復(fù)雜,截面寬厚比大等特點使其難于成形[1]。隨著計算機技術(shù)的發(fā)展,類似葉片這樣的難成形零件開始采用三維軟件進行輔助設(shè)計。UG作為當(dāng)今世界上最先進的CAD/ CAM/CAE高端軟件平臺之一,不僅擁有強大的曲面造型功能,還提供了功能強大的二次開發(fā)工具UG/ OPEN供用戶自己擴展所需功能,使設(shè)計工作得到簡化。在UG軟件中,葉片的設(shè)計一般可分為由葉頂、葉身和葉根三部分。葉身部分型面相對較復(fù)雜,設(shè)計時需將型值點數(shù)據(jù)去噪優(yōu)化后生成若干條樣條曲線,再由這些樣條曲線擬合成曲面[2]。然而,型值點數(shù)據(jù)處理這種機械性重復(fù)勞動確實耗時耗力,且容易出錯,企業(yè)設(shè)計人員對此也經(jīng)常抱怨,查錯糾錯等工作也會降低企業(yè)的工作效率。根據(jù)某葉片廠家壓縮產(chǎn)品設(shè)計周期,提高前期設(shè)計效率的實際需要,在UG軟件中編寫一套高效的汽輪機葉片CAD系統(tǒng)便有了一定的意義。
汽輪機葉片是一種小批量、多品種的產(chǎn)品[3],其葉身按截面形狀可分為直葉片和扭葉片,葉根按外形分可分為T型葉根、叉形葉根、縱樹型葉根等,每一種葉根也可分出不同的小類,有時還會根據(jù)特殊需要設(shè)計特別的葉片,因此系統(tǒng)很難囊括所有的葉片種類。本文經(jīng)過對該企業(yè)以往大量產(chǎn)品的總結(jié),將汽輪機葉片CAD系統(tǒng)設(shè)計成如圖1所示的結(jié)構(gòu)。
圖1 汽輪機葉片CAD系統(tǒng)結(jié)構(gòu)圖
UG二次開發(fā)工具的總稱叫做UG/OPEN,它主要包含UG/Open MenuScript、UG/Open UIStyler、UG/ Open API和UG/Open Grip等[4]。結(jié)合這些工具,用戶可以根據(jù)企業(yè)或用戶的實際需要來開發(fā)面向企業(yè)或用戶的專用軟件模塊,從而提高設(shè)計人員的工作效率。
UG/Open MenuScript是UG提供定制菜單的專用模塊,可以根據(jù)需要生成自己的菜單,替換原有菜單,也可以編輯UG某個菜單從而生成自己的菜單。
UG/Open UIStyler是開發(fā)UG交互式對話框的可視化設(shè)計工具,相比于MFC生成對話框的方式有個很大的優(yōu)點是可以避免復(fù)雜的圖形用戶接口的編程,可以利用軟件提供基本控件組合生成不同的對話框,生成的對話框美觀,缺點就是控件數(shù)量較少,功能有限。
UG/Open API是UG軟件提供的與外部應(yīng)用程序之間的接口,是一系列過程和程序的集合。通過UG/ Open API編程,用戶可以通過C語言來調(diào)用這些函數(shù)實現(xiàn)幾乎所有交互式環(huán)境下的操作,達到實現(xiàn)用戶化的需求。
UG/Open Grip語言是一種解釋性的語言,與UG集成,具有通俗易懂的特點。利用Grip語言也可以實現(xiàn)與UG的各種交互式操作。例如調(diào)用一些曲線、曲面生成實體等,也可以控制UG系統(tǒng)參數(shù),實現(xiàn)文件管理功能,還可以編輯修改已經(jīng)存在的幾何體的幾何參數(shù)等。但其不能支持后續(xù)開發(fā),不能與UIStyler聯(lián)合使用,可視性、交互性較差。
本文將應(yīng)用UG/OPEN API和C語言在Microsoft Visual Studio 2010軟件平臺上進行汽輪機葉片CAD系統(tǒng)的二次開發(fā)。分析汽輪機葉片的結(jié)構(gòu)特點,分別編寫葉頂、葉身和葉根三部分的程序以生成外部dll文件,利用UG/OPEN UIStyler生成美觀的對話框和UG/ OPEN MenuScript生成系統(tǒng)所需的菜單文件,通過編寫的系統(tǒng)實現(xiàn)汽輪機葉片的快速造型,縮短葉片開發(fā)周期,提高葉片生產(chǎn)效率。
2.1 開發(fā)環(huán)境設(shè)置
在Microsoft Visual Studio 2010平臺中原本是沒有UG二次開發(fā)模塊的,需要復(fù)制UGSNX 7.5UGOPEN vs_files下所有文件夾(VB、VC、VC#)到VS的安裝目錄下,合并覆蓋原有的vs_files文件夾,記事本打開Microsoft Visual Studio 10.0VCVCProjects下的NX_ VC.vsz,修改行Wizard=VsWizard.VsWizardEngine. 9.0為Wizard=VsWizard.VsWizardEngine.10.0,至此,32位的系統(tǒng)就可以創(chuàng)建NX的項目了。如果是64位的系統(tǒng),就必須在VCVCWizardsNX7_Open scripts1033目錄下編輯default.js文件,搜索CLTool. Detect64BitPortabilityProblems=true,將這一行注釋掉。原因是這句的作用是設(shè)置一個編譯器開關(guān),指定編譯器在編譯過程中檢查程序的64位可移植性,但這種設(shè)置方式已經(jīng)不適用于VS2010。
新建一個名稱為“UGII_VENDOR_DIR”的系統(tǒng)環(huán)境變量,變量值為將要放置dll文件的文件夾。在這個文件夾下新建application文件夾以放置dll文件和對話框dlg文件,新建startup文件夾放置菜單的men文件,這樣設(shè)置后就可以在UG軟件中看到用戶定制的功能模塊。
2.2 葉身自動造型模塊
隨著市場競爭壓力的加大,企業(yè)不愿意再將大量的人力放在機械的重復(fù)性勞動上。因此,葉身截面型值點數(shù)據(jù)文件的處理成了企業(yè)急需解決的首要問題。葉身設(shè)計模塊需要實現(xiàn)數(shù)據(jù)文件處理和通過葉身截面型線生成葉身實體兩部分功能。由于不同的客戶對葉身截面的描述方式有所不同,通過對企業(yè)以往接觸的案例進行分析,總結(jié)出對葉身截面的描述方式大致有通過離散的型值點、通過型值點和內(nèi)背弧曲線和通過圓弧段三種。
圖2 型值點處理對話框
通常的葉身造型思路是將型值點數(shù)據(jù)處理成四個單獨的數(shù)據(jù)文件,對型值點采用3次B樣條進行擬合,再通過橋接或者草圖編輯以切線連續(xù)的方式連接這四條已生成的曲線使其成為閉合樣條,由已經(jīng)構(gòu)造出的曲線直接生成自由曲面。葉片型面的造型需至少幾十條型線,每條型線的型值點都需要用四個dat文件來處理,構(gòu)建每條線時都需要重復(fù)橋接曲線的工作,如此操作確實繁瑣[5]。型值點處理是葉身造型模塊的關(guān)鍵,借助它可以使得過去一個設(shè)計人員一天甚至兩天的工作量在分秒間完成。通過使用C語言實現(xiàn)對數(shù)據(jù)初始文件打開、刪減、合并等操作,結(jié)合UIstyler設(shè)計出如圖2所示的對話框,點擊打開源文件的位置,軟件會根據(jù)源文件的信息自動更新型線條數(shù)和型線出汽邊圓弧的點數(shù)數(shù)值,設(shè)置好目標(biāo)文件存儲路徑后,軟件會自動添加與此源文件名稱相同的文件夾,方便與其他文件夾區(qū)分,點擊確定將每條型線的離散型指點坐標(biāo)數(shù)據(jù)以單獨的dat文件的形式存放在上面新建的文件夾中。通過型值點功能則是利用UG/open API提供的接口函數(shù)讀取生成的離散數(shù)據(jù)點文件生成一條條封閉的3次B樣條曲線,對生成的樣條曲線進行光順操作,然后用通過曲線組相對應(yīng)的函數(shù)實現(xiàn)葉身型面的快速造型。通過型值點和圓弧以及通過圓弧段盡管在API函數(shù)的使用上與通過型值點略有不同,但功能實現(xiàn)的原理和方法相類似,就不再贅述了[6-9]。
2.3 葉頂和葉根參數(shù)化造型模塊
葉頂部分與葉根部分的建模思路比較相似,都是通過UG/open API提供的接口函數(shù)進行編程直接實現(xiàn)參數(shù)化造型,在C語言程序中設(shè)置多個參數(shù)來和UI-styler生成的對話框中的驅(qū)動參數(shù)鏈接,通過修改對話框內(nèi)參數(shù)的數(shù)值來修改模型的形狀[10]。如圖3所示的對話框就是葉根設(shè)計模塊的叉形葉根設(shè)計對話框,在對話框中最上方配了一張圖來說明各參數(shù)所表示的意義,下方的叉數(shù)、臺階數(shù)以及一系列驅(qū)動參數(shù)窗口中的數(shù)值可以根據(jù)設(shè)計人員的需要自行修改,界面設(shè)計比較友好美觀。
圖3 叉形葉根設(shè)計對話框
在上述的例子中,主要運用了如下的API接口函數(shù):
(1)UF_CURVE_create_line(),此函數(shù)用以創(chuàng)建直線來生成葉根截面草圖。
(2)UF_MODL_create_revolved(),旋轉(zhuǎn)功能函數(shù)。
(3)UF_MODL_create_extruded(),拉伸功能函數(shù)。
(4)UF_MODL_intersect_bodies(),用此功能來求旋轉(zhuǎn)體和拉伸實體的相交部分。
(5)UF_MODL_create_mirror_body(),鏡像體功能。
(6)在叉形葉根設(shè)計功能中除了上述所用于創(chuàng)建參數(shù)化模型的API函數(shù)外,當(dāng)然還有一系列起輔助功能的函數(shù),如設(shè)置視圖的函數(shù)UF_VIEW_fit_view(),UF_VIEW_set_visualization(),設(shè)置圖層的函數(shù)UF_ LAYER_set_status(),UF_LAYER_set_all_but_work()等,利用C語言編程來調(diào)用這些API接口函數(shù),可以輕易實現(xiàn)葉頂和葉根參數(shù)化造型模塊其他類似功能[11]。
系統(tǒng)設(shè)計好后,通過正確配置環(huán)境變量可以在UG軟件的菜單欄中看到如圖4所示的汽輪機葉片CAD設(shè)計模塊。以某葉片公司提供的Q156型汽輪機動葉片圖紙為例,使用本系統(tǒng)實現(xiàn)Q156二級動葉片模型的快速建模。
圖4 UG軟件菜單欄中的葉片CAD系統(tǒng)
首先修改葉頂設(shè)計模塊葉片總長、圍帶軸向?qū)挾鹊闰?qū)動參數(shù),生成葉頂參數(shù)化模型。然后用型值點處理功能處理企業(yè)提供的型值點數(shù)據(jù)文件,生成等同于型線截面條數(shù)的dat數(shù)據(jù)文件,利用通過型值點功能生成Q156的葉身。最后通過葉根設(shè)計模塊的雙T型葉根設(shè)計功能實現(xiàn)葉根部分模型的模型創(chuàng)建,完成三個部分的自動倒圓角,生成如圖5所示的Q156動葉片的參數(shù)化模型。
圖5 Q156型動葉片的三維模型
企業(yè)以往對一個類似動葉片的三維模型的建立,就葉身曲面型值點的處理工作就要耗費一個設(shè)計工作人員兩個工作日的時間,再加上葉頂和葉根部分的建模,完成一個葉片的三維模型大概需耗時3~4天。然而,借助于上述完成的汽輪機葉片CAD快速設(shè)計系統(tǒng),設(shè)計人員可以通過輸入關(guān)鍵尺寸在兩個小時內(nèi)完成三維模型的創(chuàng)建工作,極大提高了設(shè)計人員的工作效率。
本文主要利用C語言和UG/open API接口函數(shù)對汽輪機葉片計算機輔助設(shè)計模塊進行了二次開發(fā),編寫了一套高效的汽輪機葉片CAD快速造型系統(tǒng)。通過此設(shè)計系統(tǒng)可快速處理廠家提供的葉身截面型值點初始數(shù)據(jù),避免了機械枯燥的重復(fù)勞動,由于葉片葉根品種繁雜,此系統(tǒng)沒有囊括所有的類型,只是根據(jù)企業(yè)的實際要求,開發(fā)了T型、叉形和縱樹型葉根的三維模型快速設(shè)計功能??s短了創(chuàng)建葉片三維模型所需的時間,極大地提高了設(shè)計人員的工作效率。
[1]蓋超,陳偉,呂彥明,等.葉片鍛件余量加放技術(shù)的研究[J].熱加工工藝,2006,23(13):51-53.
[2]王剛,趙萬生,狄士春.扭曲葉片CAD造型方法的研究[J].哈爾濱工業(yè)大學(xué)學(xué)報,1999(5):94-97.
[3]王鋒鋒,陳光明.UG二次開發(fā)在汽輪機葉片造型中的應(yīng)用[J].中國制造業(yè)信息化,2010(11):39-41.
[4]周臨震,李青祝,秦珂.基于UG NX系統(tǒng)的二次開發(fā)[M].鎮(zhèn)江:江蘇大學(xué)出版社,2012.
[5]毛銳,呂彥明,秦忠.基于UG的汽輪機葉片葉身自動造型系統(tǒng)[J].機械設(shè)計與制造,2009(8):114-116
[6]黃勇,張博林.UG二次開發(fā)與數(shù)據(jù)庫應(yīng)用基礎(chǔ)與典型范例[M].北京:電子工業(yè)出版社,2008.
[7]柴橋,張永何,汪波,等.基于Solidworks的飛機發(fā)動機葉片造型[J].現(xiàn)代機械,2003(5):11-12.
[8]謝永慧,劉象拯,張荻.汽輪機葉片三維參數(shù)化特征造型研究[J].汽輪機技術(shù),2005(1):52-54.
[9]馬志新,季源源,馬建忠.基于UG/Open GRIP的汽輪機葉片三維自動建模研究[J].機械制造與自動化,2011,40(5):98-100.
[10]王永志,張衛(wèi)民,康傳明,等.基于CATIA二次開發(fā)的風(fēng)力機葉片參數(shù)化建模[J].太陽能學(xué)報,2012,33(5):723-726.
[11]季源源,王隆太,錢文明,等.基于UG的汽輪機葉片CAD/CAM系統(tǒng)開發(fā)研究[J].中國制造業(yè)信息化,2007,36(23):40-43
(編輯 李秀敏)
CAD System of Blade of the Steam Turbine Based on UG/OPEN
REN Guo-dong1,ZHENG Feng1,GE Chun-rong2,ZHOU De-zhao2,OUYANG Xiang2,WANG Xiao1
(1.School of Mechanical Engineering,Jiangsu University,Zhenjiang Jiangsu 212013,China;2.Jintan Fei Chenghou Machinery Company Limited,Changzhou Jiangsu 213200,China)
This paper regards blade of the steam turbine as the research object,the producing need of some enterprise as the direction,have developed the parameter fast model system of blade with C language and UG/open API function,based on UG software and Visual Studio 2010 software.Working with this system can raise the designer′s working efficiency and shorten the product development cycle of a enterprise,which have strengthened the competitiveness of enterprises.
blade of the steam turbine,UG,UG/OPEN,CAD system
TH164;TG506
A
1001-2265(2015)01-0046-03 DOI:10.13462/j.cnki.mmtamt.2015.01.013
2014-03-18;
2014-06-13
任國棟(1977—),男,江蘇昆山人,江蘇大學(xué)講師,碩士,主要從事數(shù)字化設(shè)計與制造技術(shù)研究,(E-mail)guodongren@ujs.edu.cn。