UIDL簡介
標準ANSYS互動圖形界面可以驅動ANSYS命令,提供命令的各類輸入參數接口和控制開關,用戶在圖形驅動的級別上進行有限元分析,整個過程變得直觀輕鬆。用戶圖形界面設計語言(UIDL)就是編寫或改造ANSYS圖形界面的專用設計語言,主要完成以下三種圖形界面的設計:主選單系統及選單項、對話框和拾取對話框、對話框幫助系統。
通過用戶界面設計語言(UIDL),用戶可以在擴充ANSYS功能的同時建立起對應的圖形驅動界面,如在主選單的某位置增加選單項,設計對應的對話框、拾取對話框,實現參數的輸入和其它程式運行的控制,同時提供相應的在線上幫助,使操作者能方便地獲取系統幫助。
UIDL的功用
①組織強大的選單系統。我們在ANSYS中也能輕鬆做出可以和VC,VB之類主流GUI開發工具媲美的選單回響效果。
②構建功能豐富的對話框。用戶可根據需要在ANSYS的界面中輕鬆架構起自身的實用且美觀易用的ContactWizard對話框級聯界面和對話框,有了它,能構建一流的工程算例。
③建立自己的在線上幫助。ANSYS中的在線上幫助非常實用,可以說是有限元平台中最為好用的幾種幫助平台之一。若想構建自己完善的幫助系統,UIDL是這方面不可或少的理想開發工具。
Ansys調用UIDL的過程
ANSYS在調用GUI界面時會自動調用menulist55.ans檔案,該檔案中描述了UIDL前處理器到哪裡去尋找UIDL控制檔案。ANSYS在其docu/目錄中有一個基本的menulist55.ans檔案和對應的基本UIDL控制檔案。默認情況下,ANSYS就調用這一menulist55.ans檔案。
下面是這一基本menulist55.ans檔案的內容:
----------------------------------------------------------
/ansys55/docu/UIMENU.GRN
/ansys55/docu/UIFUNC1.GRN
/ansys55/docu/UIFUNC2.GRN
/ansys55/docu/UICMDS.HLP
/ansys55/docu/UICMDS.HPS
/ansys55/docu/UIELEM.HLP
/ansys55/docu/UIELEM.HPS
/ansys55/docu/UIGUID.HLP
/ansys55/docu/UIGUID.HPS
/ansys55/docu/UITHRY.HLP
/ansys55/docu/UITHRY.HPS
/ansys55/docu/UIOTHR.HLP
/ansys55/docu/UIOTHR.HPS
----------------------------------------------------------
可見,正是因為這一menulist55.ans檔案的指定,ANSYS系統將默認調用對應的基本UIDL控制檔案。
由此,我們可以產生一個想法:只要我們改變這一基本menulist55.ans中的指定,就能使用我們自己的UIDL控制檔案。
但其實我們有更加好的方法,一般來說我們不建議改變系統ansys55目錄里任何檔案內容,以避免不必要的失誤。ANSYS本身在調用menulist55.ans檔案的方式上就提供了便於進行UIDL開發的機制:
通常ANSYS按照以下順序尋找menulist55.ans檔案: 用戶工作目錄(可以在Interactive啟動方式中設定)->用戶根目錄->/ansys/docu目錄,可見只要我們在用戶工作目錄中編輯自己的menulist55.ans檔案,ANSYS將優先使用我們自己的menulist55.ans檔案。如果生成了自己的UIDL控制檔案,並在我們自己的menulist55.ans檔案中指向它們,我們就能實現對UIDL的全控制。
最後要指出的是,UIDL前處理器在處理UIDL控制檔案後,將自動在:I行(控制檔案頭部分)和:S行(結構塊的頭部分)中填入相應的位置信息,並在整個檔案最後寫入一系列:X行(索引行)。
編輯UIDL應注意事項
1.建立工作目錄,例d:\user,把你安裝目錄下的\ansys11\v110\ANSYS\gui\en-us\UIDL中.ans和.GRN檔案(三個)copy到你的工作目錄下,並修改.ans檔案,裡面的路徑為d:\user\*.GRN(三個).下載一個ultraedit軟體,用此對.GRN編輯,當用此打開時,會提示是否轉換.GRN檔案到DOS格式,你點擊是.(非常重要,不要用寫字板修改,否則ansys不能正常運行)
2,如果不用上面方法,可以進入DOS,用d:\user\edit .GRN,也可,但這個編輯比較麻煩.
3.在編輯.GRN時,你所修改的那部分結構塊的S行置為0,且0放置在正確的位置,ansys在初次運行時會自動分配,
4.ansys的版本沒有太大影響,ansys8和ansys11都是可以的.