请教VB和ANSYS
本人是ANSYS初学者,正在做VB调用ANSYS的设计,我找了一个用记事本写的弹簧建模的语句如下:fini
/cle
/filname,ring,1
/prep7
*AFUN,DEG
TOT=12 !一个螺距上沿圆周分割的点数
N_num=5 !螺距数
p_dis=0.8!螺距
N=TOT*n_num !整个弹簧的点数
cic=360
et,1,45 !弹簧采用的单元
et,2,200 !给面划网格的MESH200单元
keyopt,2,1,6
DIV=cic/TOT !两点将的圆心角
DIS=p_dis/TOT !螺距
rid=1 !弹簧主半径
rid2=0.1 !弹簧截面半径
csys,1
*DO,I,1,N+1
k,I,rid,(I-1)*DIV,(I-1)*DIS
*ENDDO
flst,3,N+1,3
*do,i,1,N+1
fitem,3,i
*enddo
bsplin,,p51x
csys,0
wprot,,90
wpoff,rid
pcirc,rid2,,0,360
asel,all
lsla,s
lesi,all,,,4
type,2
mshkey,0
amesh,all
eplot
type,1
extopt,esize,300
vdrag,1,,,,,,1
eplot
在很多相关的帖子里看到VB调用ANSYS的关键语句是:
Private Sub Command1_Click()
Dim x
x = Shell("D:\ANSYS\v81\ANSYS\bin\intel\ansys81.exe - g - i E:\test\&ex1.txt& - o E:\test\&ex1.out&")
Timer1.Enabled = True
End Sub
Private Sub Timer1_Timer()
If Dir("E:\test\file.err") <> "" Then
MsgBox ("Finish")
Timer1.Enabled = False
End If
End Sub
疑问是:接下来该怎么做?在ANSYS中怎样打开刚才写的语句;输入和输出文件&ex1.txt&、&ex1.out&是怎样生成的?里面包括什么内容;file.err又是怎么生成的.
希望大家多多指教,谢谢. &ex1.txt&、&ex1.out&
&ex1.txt&是输入文件是你自己用APDL语言编写的,或者是根据第一次GUI生成的*.log文件改写的
这要根据你对APDL的熟悉程度,如果初学的话,建议后种方法
&ex1.out&是输出文件是在调用ANSYS之后的计算结果,里面包含了所有的计算过程和结果
Timer1的作用是判断ANSYS是否计算结束
也可以不用的
根据你自己程序的需要来决定
在ANSYS中怎样打开刚才写的语句
答:file>read input from ...
选择文件路径就行了
我也是做vb+ansys 的
不过已经作的查不多了
我得qq:812391310
有问题联系我
相互学习 file.err又是怎么生成的.
是你调用之后自动生成的
就和直接用ANSYS计算后生成的filename.err是一样的道理
生成位置在你的vb 程序的绝对路径里
&/App.path/&
文件路径和文件名的原因
我个人觉得是文件路径的问题:首先,输入输出文件应该在你所编写VB程序的路径下:App.Path ;
其次,输入文件的名称也很将就,必须为start100.ans。
我运行成功了,代码如下:
AnsysPath = "H:\Program Files\Ansys Inc\v100\ANSYS\bin\intel\ANSYS.exe"
InOutPath = App.Path '输入、输出文件的放置位置注意:输入文件必须放在默认的根目录下,而且名字必须为“start100.ans”
Dim X
X = Shell(AnsysPath & " - b - i " & InOutPath & "\start100.ans" & " - o " & InOutPath & "\re.out", 1)
Timer1.Enabled = True
说明:(1)AnsysPath 为ansys软件路径(根据自己实际情况进行修改)
(2)InOutPath & "\start100.ans" 为输入文件路径
(3)InOutPath & "\re.out", 为输入文件路径
我按照上述方法成功了,也许还有其他诀窍,相互讨论,请各位高手批评指教。 :)
请教”vb 调用 ansys 过程的小错误“
虽然调用成功了, 但在遇到APDL程序中如下的循环语句时就会出错:*DO,I,1,N+1
k,I,rid,(I-1)*DIV,(I-1)*DIS
*ENDDO
错误提示是:
there are too many levels of * do
但语法明显没有错的啊? 哪位高手给予解释和解答?
谢谢! 最用过VC++干过这种工作 将apdl程序中第一句finish取消即可! 单纯的做这个工作意义不大 我为ansys 初学者,不知用次软件的菜单操作热场或电场的每步截图在哪找的到?谢谢
页:
[1]