VB调用ANSYS软件的实现
*主要思想:
VB为ANSYS应用的自动化提供了可视化操作平台,可用于参数化编程等应用。
其基本原理是,VB通过其内部函数shell()函数实现对Windows应用程序的调用。利用VB向打开的ANSYS程序写入APDL文件,实现对ANSYS的控制。
对ANSYS调用的具体代码及注释:
Option Explicit
‘变量强制定义控制语句
Private Sub Command1_Click()
‘进入Command1_Click()事件过程
Dim aa
‘定义一变量,用来存放shell()函数的返回值,shell带括号时必须有‘变量存放其返回值,不带参数是不需要
aa=
Shell("C:\Program Files\ANSYS Inc\v110\ANSYS\bin\ -b -p ane3fl - -o sh.log", 1)
‘shell函数调用ANSYS的语句,最关键语句,详解见下文
Timer1.Enabled = True
‘使用Timer控件,实现对调用结果的检测
End Sub
Private Sub Timer1_Timer()
If Dir(App.Path & "\") <> "" Then
‘App.Path为当前目录路径,语句功能:如果有文件产生,
‘则说明VB的shell函数对ANSYS的调用成功。
MsgBox ("ANSYS运行完毕!")
End If
Timer1.Enabled = False
End Sub
*对语句shell(……,1)的说明:
aa=
Shell("C:\Program Files\ANSYS Inc\v110\ANSYS\bin\ -b -p ane3fl - -o sh.log", 1)
说明:
* 变量aa只是用来存放shell函数的返回值
* C:\Program Files\ANSYS Inc\v110\ANSYS\bin\ 为ANSYS的安装目录。此处为绝对路径,下文中的和sh.log均为相对路径,其相对路径为:
(1)不设置-dir参数时,其相对路径是当前VB工程目录路径;
(2)设置-dir参数时,其相对路径是-dir参数所设置的路径。!!!!!!!!下面的参数设置均与ANSYS Product Launcher 中的设置一一对应。* -b为设置ANSYS的Simulation Environment为ANSYS Batch
* -p 为设置ANSYS的License为对应的Product/Feature Names(ANSYS不同模块的产品特征代码,参见Ansys-product-feature.wps文档),本文用的是ane3fl,为Multiphsics模块的特征代码。即为-p ane3fl (-p ANE3FL)。
图1 ANSYS Product Launcher界面
图2 设置Simulation Environment为ANSYS Batch
* -i (Input File)对应于ANSYS的Input File栏的设置,即所输入的APDL文档(txt文本文件或dat,此处用txt文本文件),见图1。
图3 ANSYS Batch选项下的设置栏
* -o (Output File)对应于ANSYS的Output File栏的设置,为输出的文档,一般为*.log文件。
* shell(……,1)参见shell函数的说明。
*设置*.db文件存放名称:
shell界面
Shell("C:\Program Files\ANSYS Inc\v110\ANSYS\bin\ -b -p ane3fl -j nnnn - -o sh.log", 1)
此段代码与上面的代码相比,只加了一个设置代码:-j nnnn 。-j代表对ANSYS 工程文件的Job name 的设置。此处设置的ANSYS的工程文件名为nnnn,则将会在工程目录下产生名为nnnn.db的ANSYS文件。
*设置工作路径,即ANSYS结果文件的存放路径:
图4 代码图
Shell("C:\Program Files\ANSYS Inc\v110\ANSYS\bin\ -b -p ane3fl -dir G:\ANSYS建模-j nnnn - -o sh.log", 1)
此段代码与上面的代码相比,只加了一个设置代码:-dir G:\ANSYS建模。-dir 代表对ANSYS计算结果文件的保存路径进行设置,设置路径为其后跟的路径,此处为“G:\ANSYS建模”。
注意,此时和sh.log文件的相对路径指的就是“G:\ANSYS建模”了,而不是原来的VB工程文件的目录了。
*VB调用ANSYS的流程图:
1、代码编辑及窗体设计
图5
2、APDL文件编写
熟练的人可以直接写ANSYS工程的APDL文件,不熟悉的人可以先在ANSYS
中操作,然后在保存的.log文件中提取APDL命令流。
图6

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。