基于VB的ANSYS二次開發之孔板靜力、溫度場分析實例
用戶開發界面
用戶界面的設計既要考慮到操作者友好的操作,也要保證為 ANSYS 提供有效的計算參數。在本例中,為了實現孔板的參數化分析, 選用孔板的有限元分析參數作為輸入的內容,同時操作者還必須按工程要求輸入相應的材料參數信息。
VB與ANSYS之間的數據交互
1、利用ANSYS生成命令流的方法
利用VB 生成命令流的方法利用VB 對ANSYS進行二次開發,其基本原理就是利用VB 語言提供的OPEN 函數打開和建立一個ANSYS 的命令流文件,在流文件中寫入相應的APDL 語句;然后,利用VB 程序來調用ANSYS 時將命令流文件讀入,運行出用戶需要的結果。生成命令流的程序代碼可以用下面的VB 程序來實現。
Open "VB_ANSYS.inp" For Output As #1............. .............(1)
Print #1, "/CLEAR"..........................................(2)
程序中第一條語句的作用是新建一個名稱為"VB_ANSYS.inp"宏文件;第二條語句的作用是在上述建立的宏文件中寫入APDL 命令流語句/ CLEAR (當ANSYS 讀入該語句時,清空以前的數據,開始一個新的分析)。
2、VB對ANSYS的調用
在宏文件生成后,需要在VB 中調用ANSYS 進行處理。目前,雖然調用方法有很多種,但是常采用shell 函數的方法。其基本調用方法如下:
X = Shell("D:\ANSYS Inc\v160\ansys\bin\winx64\ANSYS160.exe -b -p ansys -i VB_ANSYS.inp -o file.out")
Timer1.Enabled = True
其中“D:\ANSYS Inc\v160\ansys\bin\winx64 ”為ANSYS 軟件的運行路徑;“ansys160.exe”中的160 表示ANSYS 的版本代號;“-b -p ”為特殊字符,表示對ANSYS 進行后臺調用,即在整個調用ANSYS 時,不出現它的運行界面,只小窗體顯示其在運行計算中;“ane3fl”為產品特征代碼,不同的ANSYS 版本也不相同,“-i VB_ANSYS.inp”表示要輸入的命令流文件及存放位置;“-o file.out”表示輸出的結果文件的文件名及存放位置。
3、時間函數
為了使研究者能夠清晰地知道優化分析完成的時間,通常需要設定一個時間控件設計器,來輔助完成上述功能。基本表現為:Timer 控件開始的Enable 屬性設置為False,Interval 屬性設為3000。調用ANSYS 完畢后(即ANSYS 運算結束后),Timer 控件被激活,彈出“ANSYS 運算完畢!”的對話框。則整個調用運行代碼如下:
Private Sub Timer1_Timer()
If Dir(App.Path & "\file.err") <> "" Then
其中App.Path為當前目錄路徑,語句功能:如果有file.err文件產生,則說明VB的shell函數對ANSYS的調用成功。
MsgBox ("ANSYS運行完畢!")
End If
Timer1.Enabed = False
End Sub
4、參數輸入模塊
本次設計包括7個參數設計,主要有孔數、單元類型、彈性模量、泊松比、比熱容、導熱系數及材料密度。對于參數的調用,具體程序如下:
Print #1, "*set, ET,"; Text2.Text
Print #1, "*set, ET,"; Text2.Text
Print #1, "*set, EX,"; Text3.Text
Print #1, "*set, PRXY,"; Text4.Text
Print #1, "*set, DENS,"; Text7.Text
可以繼續在名為VB_ANSYS 的宏文件中接著寫入引號中的語句并實現相應操作。這樣,就可以同在代碼窗口中寫入多條Print 語句的方法來實現自動生成宏文件并自動輸入APDL 命令流語句的作用。
對于二次開發而言,許多參數是人為控制的,需要從VB 界面中輸入。然后再把界面中輸入的參數轉化到所生成的APDL 命令流中。為此需要用到一些基本APDL 語言命令。例如:利用“*set”來進行參數賦值。
Print # 1,“*SET, n,”; Text1. Text
其中n 為設定的變量名稱(要符合APDL 命名規則,可以為任何名稱);Text1. Text 將自動指向你在窗口中輸入的參數,并將參數值賦給變量n。
5、VB對ANSYS計算結果提取
利用VB 生成的APDL 語言對ANSYS 計算結果進行后處理,將需要的結果文件以“.txt”文件的形式或者直接將所需要的圖形保存到工作路徑中,利用VB 的字符串處理和圖片處理的功能在前臺顯示分析結果。下面為保存優化分析生成的圖片和利用VB 中load 語句從結果文件中提取優化分析結果圖的程序。
Print #1, "/SHOW, JPEG"
Print #1, "JPEG, DEFAULT"
Print #1, "/GFILE, 400"
Print #1, "PLNSOL, B, Y"
Print #1, "/SHOW, CLOSE"
Picture1.Picture=LoadPicture("結果路徑")
6、分析結果與查看
要實現VB對ANSYS結果的查看,首先應在輸入文件中用APDL語言編寫相應的后處理命令,將工程所需的數據結果以“*.out”文件形式或者圖形文件保存到工作目錄中,再利用 VB 的讀取功能顯示相應的圖形文件或數據結果。由于本文主要目的是對孔板進行有限元分析,所以界面的開發應滿足對基本指標的查看,最終的結果顯示界面如下圖所示。同時,用戶也可以將完整的ANSYS文件以“*.db”格式保存在工作目錄中,以便進一步的查看。
VB調用ANSYS結束提示框
孔板靜力分析云圖
孔板溫度場分析云圖
下述付費內容為本案例源碼程序,如有需要,可購買!!
以下內容為付費內容,請購買后觀看
15人購買
案例源碼程序
工程師必備
- 項目客服
- 培訓客服
- 平臺客服
TOP




















