吳艷華,郝艷華
(華僑大學(xué)機(jī)電及自動化學(xué)院,福建泉州362021)
ANSYS有限元分析軟件憑借強(qiáng)大的前后處理和求解功能,在工程分析的各領(lǐng)域得到廣泛應(yīng)用。但ANSYS軟件自身的建模系統(tǒng)功能較弱,一般采用外部軟件建模導(dǎo)入ANSYS軟件進(jìn)行有限元分析,一旦生成圖形就不能進(jìn)行大的尺寸修改。即所建立的模型只有1次使用效率,遇到類似圖形也必須重新建立模型。在ANSYS軟件中建立1類模型的參數(shù)化接口,可以實(shí)現(xiàn)參數(shù)的界面化載入,有效地減少了工程計(jì)算的工作量。
本文以ANSYS11.0軟件為開發(fā)平臺,結(jié)合VC++6.0及UIDL 2次開發(fā)語言,開發(fā)了專用于榫連接結(jié)構(gòu)的有限元分析工作平臺。
ANSYS軟件的2次開發(fā)工作平臺的建立,實(shí)質(zhì)上是在該軟件的用戶界面中調(diào)用外部程序。VC++參數(shù)界面的調(diào)用是通過創(chuàng)建專用ANSYS軟件啟動路徑文件來實(shí)現(xiàn)的。
榫連接結(jié)構(gòu)工作平臺的目標(biāo)是實(shí)現(xiàn)參數(shù)的窗口式導(dǎo)入、接觸分析及優(yōu)化、優(yōu)化參數(shù)下的接觸分析檢驗(yàn)等。要實(shí)現(xiàn)這些功能添加只需在ANSYS軟件窗口界面中添加榫連接結(jié)構(gòu)對應(yīng)的菜單工具條即可。榫連接結(jié)構(gòu)菜單功能控制文件的流程如圖1所示。
上述菜單Design System是添加到ANSYS軟件界面MainMenu下,包含Compressor和Tubine 2個子菜單,分別表示使用榫連接結(jié)構(gòu)的2種機(jī)械:壓氣機(jī)和渦輪。本文主要對壓氣機(jī)中的2維榫連接結(jié)構(gòu)進(jìn)行開發(fā)。在最后的“功能項(xiàng)”中是各外部程序塊的調(diào)用按鈕。
編寫ANSYS軟件路徑的目的是在該軟件啟動時的菜單環(huán)境中使用榫連接結(jié)構(gòu)所需的專用環(huán)境。首先,創(chuàng)建用戶運(yùn)行路徑,如:(E:UIDL);其次,復(fù)制ANSYS軟件安裝目錄下的文件menulist110.ans、UIMENU.GRN、UIFUNC1.GRN、UIFUNC2.GRN、MECHTOOL.AUI到新建的用戶運(yùn)行路徑下。最后,用UitraEdit方式修改menulist110.ans文件中各文件的路徑為新建的路徑即可。如:(X:······ANSYSIncv110ANSYSguien-usuidlUIMENU.GRN)修改為(E:UIDLUIMENU.GRN)。
完成上述步驟后,保存文件,自定義的ANSYS軟件運(yùn)行路徑就生成了。
上述路徑下運(yùn)行的ANSYS軟件界面與系統(tǒng)環(huán)境下的界面相同,這是因?yàn)闆]有加入用戶自定義的菜單結(jié)構(gòu)塊和功能結(jié)構(gòu)塊等內(nèi)容。
結(jié)構(gòu)塊部分是對ANSYS軟件圖形用戶界面各部分內(nèi)容的具體定義。分為2類:1類是菜單結(jié)構(gòu)塊,用于建立主菜單及各級子菜單;另1類是功能結(jié)構(gòu)塊,用于建立主菜單或子菜單下的各功能菜單的命令,主要建立一些對話框、拾取框和隱含操作(如讀入文件等)[2-4]。
所有結(jié)構(gòu)塊都必須有結(jié)構(gòu)塊頭部、數(shù)據(jù)控制部分和結(jié)構(gòu)塊尾部3部分。結(jié)構(gòu)塊頭部的作用是定義該結(jié)構(gòu)塊的名稱、位置以及功能描述。本文的界面需要編寫的有2部分,分別在控制文件UIMENU.GRN和UIFUNC2.GRN中完成。
2.3.1 菜單結(jié)構(gòu)塊
在控制文件UIMENU.GRN中需要添加1個菜單結(jié)構(gòu)塊,以實(shí)現(xiàn)在ANSYS軟件菜單上添加菜單項(xiàng)Design System。該菜單結(jié)構(gòu)塊中描述了新添加的菜單的作用及內(nèi)容:包含2個子菜單項(xiàng)-Compressor和Turbine,是子菜單的容器。
菜單結(jié)構(gòu)塊的定義一般包含5條命令,即菜單結(jié)構(gòu)塊的內(nèi)部名、ANSYS軟件索引行、菜單結(jié)構(gòu)塊的類型、菜單結(jié)構(gòu)塊標(biāo)題和結(jié)束命令。在菜單結(jié)構(gòu)塊標(biāo)題后可加入菜單結(jié)構(gòu)塊要實(shí)現(xiàn)的內(nèi)容。如圖2所示。
在建立用戶自定義的控制文件UIMENU.GRN時,必須注意以下3點(diǎn)[5]。
(1)菜單結(jié)構(gòu)塊的定義必須在結(jié)束命令(:E END)或分隔符(!)之后,結(jié)構(gòu)必須完整。
(2)菜單結(jié)構(gòu)塊定義完成后,控制文件的修改并未完成,還需在“MenuRoot”后的菜單描述中加入該菜單結(jié)構(gòu)塊的內(nèi)部名。
(3)刪除該文件中“:X INDEX ADDED BY ANSYS”命令后的所有內(nèi)容,以便在運(yùn)行時,ANSYS軟件重新分配各菜單結(jié)構(gòu)塊的索引值。
執(zhí)行上述操作后,ANSYS軟件執(zhí)行文件中的主菜單文件完成,在運(yùn)行時,ANSYS軟件主菜單中將添加Design System菜單項(xiàng)。添加后的菜單如圖3所示。
2.3.2 功能結(jié)構(gòu)塊
對子菜單的進(jìn)一步定義在控制文件UIFUNC2.GRN中完成。子菜單中包含下1級子菜單和功能項(xiàng)菜單。功能結(jié)構(gòu)塊的編寫規(guī)則與菜單結(jié)構(gòu)塊的規(guī)則相似,實(shí)現(xiàn)的功能有Compressor、Turbine、Dovetail、2D、3D、Plan Contact Area、Contact Analysis、Check Analysis、Cylinder Contact Area、Cylinder ANSYS Analysis等10個。其含義如圖4所示。
功能結(jié)構(gòu)塊的定義類似于菜單結(jié)構(gòu)塊,也是由結(jié)構(gòu)塊的內(nèi)部名、ANSYS軟件索引行、結(jié)構(gòu)塊類型、結(jié)構(gòu)塊標(biāo)題和結(jié)束命令組成。
功能結(jié)構(gòu)塊在定義時,只需完成相應(yīng)功能即可。不需要對UIFUNC.GRN文件的其它部分進(jìn)行修改。
2.3.3 榫連接結(jié)構(gòu)的工作平臺
完成上述工作后,榫連接結(jié)構(gòu)接觸分析工作平臺基本建成。運(yùn)行工作平臺的方法不同于傳統(tǒng)的ANSYS軟件,用戶要進(jìn)入ANSYS product launcher窗口,選擇Work directory為用戶創(chuàng)建的目錄(注意必須是ANSYS 110.ans文件所在目錄),然后運(yùn)行,此時ANSYS軟件ANSYS軟件界面才是用戶創(chuàng)建的界面。榫連接結(jié)構(gòu)工作平臺界面如圖5所示。
以Plan Contact Area功能菜單為例,在點(diǎn)擊該項(xiàng)時,ANSYS軟件界面將調(diào)用外部程序VC++參數(shù)化模型程序,其
界面如圖6所示。
榫連接結(jié)構(gòu)工作平臺實(shí)現(xiàn)了圓弧形和圓柱形榫結(jié)構(gòu)的參數(shù)化、接觸分析、校驗(yàn)分析等功能。適用所有同類型不同尺寸的榫結(jié)構(gòu)的分析,簡化了用戶對榫連接結(jié)構(gòu)分析的建模過程(直接輸入?yún)?shù)即可),在很大程度上縮短了工程人員在分析過程中的時間消耗。
[1] 段志東,張克華.ANSYS圖形用戶界面二次開發(fā)[J].蘭州鐵道學(xué)院學(xué)報(bào),2002(2):44-46.
[2] 劉曜,王高平.UIDL語言在ANSYS參數(shù)化建模中的應(yīng)用[J].機(jī)電產(chǎn)品開發(fā)與創(chuàng)新,2008(1).
[3] 吳鵬,曾紅,韓邁.基于ANSYS的二次開發(fā)技術(shù)的實(shí)現(xiàn)方法[J].遼寧工學(xué)院學(xué)報(bào),2004(10).
[4] 程進(jìn),江見鯨,肖汝誠,等.基于ANSYS的程序界面設(shè)計(jì)及應(yīng)用[J].四川建筑科學(xué)研究,2002(6).
[5] 美國ANSYS公司.UIDL使用指南[Z].U.S.A:ANSYS INC,2001.