利用VB 的shell命令,調(diào)用ansys.exe文件。 由于shell是異步調(diào)用,VB主程序不會等到ANSYS運行結(jié)束再執(zhí)行下一個命令。關(guān)鍵就是要讓主程序等待ansys結(jié)束以后,在執(zhí)行其他程序。
引用三個API 過程
‘ 打開一個過程,返回句柄
Private Declare Function OpenProcess Lib "kernel32" _
(ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, _
ByVal dwProcessId As Long) As Long
‘ 等待過程
Private Declare Function WaitForSingleObject Lib "kernel32" _
(ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long
‘ 關(guān)閉過程句柄
Private Declare Function CloseHandle Lib "kernel32" _
(ByVal hObject As Long) As Long
具體的代碼如下:
100 pid = Shell(ANSYSEXEPATH & " -b -i C:ANSYSCAUansysinputlog.txt -o ANSYSDEBUG.txt", 0)
hProcess = OpenProcess(&H1F0FFF, 0, pid)
If hProcess <> 0 Then
WaitForSingleObject hProcess, INFINITE
Call CloseHandle(hProcess)
Else
GoTo 100
End If
怎么判斷ansys 計算結(jié)束了呢?
網(wǎng)上很多人采用ansys自帶的ERROR文件來判斷,但我覺得,由于error文件的存儲路徑隨著不同的初始路徑而變化,在代碼的實現(xiàn)上,無法用一個絕對路徑來表示,對軟件的封裝不合適,所以:
我在log輸入文件的最后一行建立了一個文件(err.txt),如果該文件存在,說明ansys已經(jīng)運行到最后,表示運行成功;如果沒有生成,則說明,ansys在中途有退出,出現(xiàn)了錯誤。這個文件存儲路徑可以用絕對路徑來表示,這樣就不會出現(xiàn)引用問題了
相關(guān)文章
- 2021-09-08BIM技術(shù)叢書Revit軟件應用系列Autodesk Revit族詳解 [
- 2021-09-08全國專業(yè)技術(shù)人員計算機應用能力考試用書 AutoCAD2004
- 2021-08-30從零開始AutoCAD 2014中文版機械制圖基礎培訓教程 [李
- 2021-08-30從零開始AutoCAD 2014中文版建筑制圖基礎培訓教程 [朱
- 2021-08-30電氣CAD實例教程AutoCAD 2010中文版 [左昉 等編著] 20
- 2021-08-30電影風暴2:Maya影像實拍與三維合成攻略PDF下載
- 2021-08-30高等院校藝術(shù)設計案例教程中文版AutoCAD 建筑設計案例
- 2021-08-29環(huán)境藝術(shù)制圖AutoCAD [徐幼光 編著] 2013年P(guān)DF下載
- 2021-08-29機械AutoCAD 項目教程 第3版 [繆希偉 主編] 2012年P(guān)DF
- 2021-08-29機械制圖與AutoCAD [李志明 主編] 2014年P(guān)DF下載