本人利用VB来启动ANSYS分析的课题。现在ANSYS分析过程(APDL)已有了(.txt文件)怎样通过VB传递给ANSYS?
已经可以利用VB打开ANSYS了PrivateSubCommand1_Click()Dimxx=Shell("C:\ProgramFiles\ANSYSInc\v110\...
已经可以利用VB打开ANSYS了
Private Sub Command1_Click()
Dim x
x = Shell("C:\Program Files\ANSYS Inc\v110\ANSYS\bin\intel\ansys110.exe - g - i F:\My work\J55-L.txt - o F:\My work\JB2.log")
End Sub
但是不会继续算下去,ANSYS的output窗口显示:
RUN SETUP PROCEDUER FROM FILE=C:\Program Files\ANSYS Inc\v110\ANSYS\apdl\start110.ans
/INPUT FILE=C:\Program Files\ANSYS Inc\v110\ANSYS\apdl\start110.ans LINE=0
是不是需要将现有的APDL文件(.txt)转换成.ans文件啊??怎么办??
我是想用VB软件打开APDL文档(txt文件),然后在界面上修改APDL文件里的参数,之后将APDL文件导入ANSYS软件且让其自动运算。不知怎么实现啊?? 展开
Private Sub Command1_Click()
Dim x
x = Shell("C:\Program Files\ANSYS Inc\v110\ANSYS\bin\intel\ansys110.exe - g - i F:\My work\J55-L.txt - o F:\My work\JB2.log")
End Sub
但是不会继续算下去,ANSYS的output窗口显示:
RUN SETUP PROCEDUER FROM FILE=C:\Program Files\ANSYS Inc\v110\ANSYS\apdl\start110.ans
/INPUT FILE=C:\Program Files\ANSYS Inc\v110\ANSYS\apdl\start110.ans LINE=0
是不是需要将现有的APDL文件(.txt)转换成.ans文件啊??怎么办??
我是想用VB软件打开APDL文档(txt文件),然后在界面上修改APDL文件里的参数,之后将APDL文件导入ANSYS软件且让其自动运算。不知怎么实现啊?? 展开
3个回答
展开全部
用txt文件就行了,我成功的用vb调用过ansys。
会不会是你的命令行里面没有设置工作目录,这种情况下计算结果好像是保存在安装目录的,又或者你的命令流里面就只包含了前处理的信息,没涉及到计算...
要不这样试试:先手动计算一次(设置好工作目录),把log文件修改一下作为输入文件,然后在Launcher里面点击Tools->Display Command Line,把这个作为shell的参数。
再分享一下经验,有两个api:OpenProcess、WaitForSingleObject,两个函数组合起来使用,使你的程序在ansys进程计算结束前一直处于阻塞状态
会不会是你的命令行里面没有设置工作目录,这种情况下计算结果好像是保存在安装目录的,又或者你的命令流里面就只包含了前处理的信息,没涉及到计算...
要不这样试试:先手动计算一次(设置好工作目录),把log文件修改一下作为输入文件,然后在Launcher里面点击Tools->Display Command Line,把这个作为shell的参数。
再分享一下经验,有两个api:OpenProcess、WaitForSingleObject,两个函数组合起来使用,使你的程序在ansys进程计算结束前一直处于阻塞状态
更多追问追答
追问
你好,你能把你的原代码给我看下吗?我毕业论文要用,比较急了。
我的txt文件就是手动运行一次之后的log文件改过来的。/PREP7开头,solve结尾,复制黏贴到ansys里可以计算。还有我的Display Command Line是:"D:\Program Files\ANSYS Inc\v110\ANSYS\bin\Intel\ansys110.exe" -g -p ANE3FL -dir "D:\My Work\" -j "NO1" -s read -l en-us -t -d win32 ,把这个全部复制到shell之下替换我原来的内容吗??
怎样使ansys读入txt?
追答
得先在Launcher中把Simulation Environment设置为ANSYS Batch,然后在分别设置好Working Directory、Job Name等等,这是我的代码:
S = Chr(34) & "D:\Ansys Inc\v100\ANSYS\bin\intel\ansys100.exe" & Chr(34) & _
" -p ANE3FLDS -dir " & _
Chr(34) & WorkPath & Chr(34) & _
" -j " & _
Chr(34) & "TxIn" & Chr(34) & _
" -s read -l en-us -b -i " & _
Chr(34) & WorkPath & "TxIn.txt" & Chr(34) & _
" -o " & _
Chr(34) & WorkPath & "TxIn.out" & Chr(34)
iDnum = Shell(S)
If iDnum 0 Then
iDnum = OpenProcess(SYNCHRONIZE, 0&, iDnum)
Call WaitForSingleObject(iDnum, INFINITE)
End If
展开全部
无须转换。
start110.ans是初始化文件,就是我们在clear之后选择是否读取的start文件。
确定你指定的apdl没有得到执行吗?
start110.ans是初始化文件,就是我们在clear之后选择是否读取的start文件。
确定你指定的apdl没有得到执行吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我感觉应该转换下成ans,再用vb执行ansys来调用这个ans即可
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询