利用VB 的shell命令,調用ansys.exe文件。 由于shell是異步調用,VB主程序不會等到ANSYS運行結束再執行下一個命令。關鍵就是要讓主程序等待ansys結束以后,在執行其他程序。
引用三個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
‘ 關閉過程句柄
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 計算結束了呢?
網上很多人采用ansys自帶的ERROR文件來判斷,但我覺得,由于error文件的存儲路徑隨著不同的初始路徑而變化,在代碼的實現上,無法用一個絕對路徑來表示,對軟件的封裝不合適,所以:
我在log輸入文件的最后一行建立了一個文件(err.txt),如果該文件存在,說明ansys已經運行到最后,表示運行成功;如果沒有生成,則說明,ansys在中途有退出,出現了錯誤。這個文件存儲路徑可以用絕對路徑來表示,這樣就不會出現引用問題了
相關文章
- 2021-09-08BIM技術叢書Revit軟件應用系列Autodesk Revit族詳解 [
- 2021-09-08全國專業技術人員計算機應用能力考試用書 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高等院校藝術設計案例教程中文版AutoCAD 建筑設計案例
- 2021-08-29環境藝術制圖AutoCAD [徐幼光 編著] 2013年PDF下載
- 2021-08-29機械AutoCAD 項目教程 第3版 [繆希偉 主編] 2012年PDF
- 2021-08-29機械制圖與AutoCAD [李志明 主編] 2014年PDF下載