基于ANSYS的VB計(jì)算程序開(kāi)發(fā)
基于ANSYS的VB計(jì)算程序開(kāi)發(fā)
1 概述
Visual Basic適用性較強(qiáng),能夠與很多軟件進(jìn)行對(duì)接,通過(guò)VB設(shè)計(jì)GUI界面結(jié)合相關(guān)計(jì)算軟件能夠?qū)崿F(xiàn)某些計(jì)算的重復(fù)進(jìn)行,相比修改計(jì)算源程序而言工作量減少很多,對(duì)工程設(shè)計(jì)尤其方便。某一類相同的結(jié)構(gòu),當(dāng)結(jié)構(gòu)尺寸不同,載荷大小不同,只需要通過(guò)設(shè)計(jì)的程序稍作參數(shù)修改就可以再次計(jì)算。
本次采用VB程序語(yǔ)言,結(jié)合大型通用有限元計(jì)算軟件ANSYS,開(kāi)發(fā)一個(gè)簡(jiǎn)單的計(jì)算程序,設(shè)計(jì)時(shí)盡量讓程序界面清晰。最終實(shí)現(xiàn)的界面如圖1所示。

圖1 程序界面
2 需求
如圖1中所示,界面中的圖表示將要進(jìn)行計(jì)算的兩根垂直的梁結(jié)構(gòu),長(zhǎng)度分別為a和b,梁的截面為矩形,尺寸為h×w,在水平梁的左端承受集中載荷f的作用,需要求解梁的剪力和彎矩,該問(wèn)題屬于典型的材料力學(xué)問(wèn)題,采用經(jīng)典材料力學(xué)就可以求解,在這里采用有限元的方法進(jìn)行計(jì)算。
開(kāi)發(fā)的程序主要有5個(gè)部分:基本設(shè)置(包括項(xiàng)目名稱和工作目錄,也就是計(jì)算后的文件保存的位置)、材料和載荷參數(shù)的設(shè)置、幾何尺寸的設(shè)置、示意圖以及求解。
3 方法
針對(duì)設(shè)計(jì)需求,先利用VB設(shè)計(jì)程序的GUI部分。
(1)從VB控件庫(kù)里添加三個(gè)GroupBox、一個(gè)Button和一個(gè)PictureBox,如圖2所示。

圖2 基本控件
(2)設(shè)置各容器組件的名稱,并分別添加Label標(biāo)簽和Textbox對(duì)話框,用于參數(shù)設(shè)置。如圖3所示,分別設(shè)置Label的名稱和Textbox的名稱。

圖3 控件屬性設(shè)置
(3)設(shè)置PictureBox的圖片。在PictureBox控件屬性選項(xiàng)了點(diǎn)擊image選項(xiàng),彈出如圖4所示的界面,點(diǎn)擊import即可選取需要加載的圖片。完成前面步驟之后的界面便如圖1所示。

圖4 圖片加載
(4)完成程序界面設(shè)計(jì)之后,需要將界面與語(yǔ)言進(jìn)行綁定。該次程序主要的功能是通過(guò)自動(dòng)讀取界面的參數(shù)實(shí)行ANSYS的自動(dòng)運(yùn)行,因而主要功能使通過(guò)按鈕button完成的。雙擊Button(計(jì)算)按鈕,進(jìn)入vb代碼界面,如圖5所示,該段代碼為VB自動(dòng)加載的,為一個(gè)函數(shù),點(diǎn)擊計(jì)算按鈕之后便運(yùn)行此函數(shù)。

圖5 VB自動(dòng)生成的代碼
(5)編寫(xiě)計(jì)算按鈕的程序。VB調(diào)用ANSYS采用的使shell函數(shù),通過(guò)shell函數(shù)啟動(dòng)ANSYS后,ANSYS自動(dòng)讀入批處理文件,然后進(jìn)行批處理計(jì)算。而批處理文件需要先生成。VB采用PrintLine函數(shù)向打開(kāi)的文件里面逐行輸出APDL命令,具體實(shí)現(xiàn)代碼如圖6所示,在此段代碼中需要借助界面輸入的參數(shù)需要進(jìn)行替換,如圖中黑色字體部分所示。其中FileOpen函數(shù)用于打開(kāi)一個(gè)txt文件。

圖6 VB輸出批處理文件代碼
(6)程序運(yùn)行。程序編寫(xiě)完成之后,即可運(yùn)行測(cè)試。點(diǎn)擊Start,在彈出的程序界面輸入?yún)?shù),如圖7所示。

圖7 參數(shù)設(shè)置
(7)運(yùn)行結(jié)果。參數(shù)設(shè)置完畢,點(diǎn)擊“計(jì)算”,發(fā)現(xiàn)ANSYS啟動(dòng)了一個(gè)黑色的框,直到計(jì)算完畢,黑框關(guān)閉,設(shè)置的工作目錄下生產(chǎn)結(jié)果文件,如圖8所示。

圖8 生成的結(jié)果文件
打開(kāi)其中的db文件,即可顯示計(jì)算結(jié)果如圖9所示。其實(shí)計(jì)算結(jié)果可以在VB編寫(xiě)的程序界面顯示,此次僅就計(jì)算進(jìn)行設(shè)計(jì)。

圖9 ANSYS計(jì)算結(jié)果
工程師必備
- 項(xiàng)目客服
- 培訓(xùn)客服
- 平臺(tái)客服
TOP




















