用户开发界面
用户界面的设计既要考虑到操作者友好的操作,也要保证为 ANSYS 提供有效的计算参数。在本例中,为了实现孔板的参数化分析, 选用孔板的有限元分析参数作为输入的内容,同时操作者还必须按工程要求输入相应的材料参数信息。
VB与ANSYS之间的数据交互
1、利用ANSYS生成命令流的方法
利用VB 生成命令流的方法利用VB 对ANSYS进行二次开发,其基本原理就是利用VB 语言提供的OPEN 函数打开和建立一个ANSYS 的命令流文件,在流文件中写入相应的APDL 语句;然后,利用VB 程序来调用ANSYS 时将命令流文件读入,运行出用户需要的结果。生成命令流的程序代码可以用下面的VB 程序来实现。
Open "VB_ANSYS.inp" For Output As #1............. .............(1)
Print #1, "/CLEAR"..........................................(2)
程序中第一条语句的作用是新建一个名称为"VB_ANSYS.inp"宏文件;第二条语句的作用是在上述建立的宏文件中写入APDL 命令流语句/ CLEAR (当ANSYS 读入该语句时,清空以前的数据,开始一个新的分析)。
2、VB对ANSYS的调用
在宏文件生成后,需要在VB 中调用ANSYS 进行处理。目前,虽然调用方法有很多种,但是常采用shell 函数的方法。其基本调用方法如下:
X = Shell("D:\ANSYS Inc\v160\ansys\bin\winx64\ANSYS160.exe -b -p ansys -i VB_ANSYS.inp -o file.out")
Timer1.Enabled = True
其中“D:\ANSYS Inc\v160\ansys\bin\winx64 ”为ANSYS 软件的运行路径;“ansys160.exe”中的160 表示ANSYS 的版本代号;“-b -p ”为特殊字符,表示对ANSYS 进行后台调用,即在整个调用ANSYS 时,不出现它的运行界面,只小窗体显示其在运行计算中;“ane3fl”为产品特征代码,不同的ANSYS 版本也不相同,“-i VB_ANSYS.inp”表示要输入的命令流文件及存放位置;“-o file.out”表示输出的结果文件的文件名及存放位置。
3、时间函数
为了使研究者能够清晰地知道优化分析完成的时间,通常需要设定一个时间控件设计器,来辅助完成上述功能。基本表现为:Timer 控件开始的Enable 属性设置为False,Interval 属性设为3000。调用ANSYS 完毕后(即ANSYS 运算结束后),Timer 控件被激活,弹出“ANSYS 运算完毕!”的对话框。则整个调用运行代码如下:
Private Sub Timer1_Timer()
If Dir(App.Path & "\file.err") <> "" Then
其中App.Path为当前目录路径,语句功能:如果有file.err文件产生,则说明VB的shell函数对ANSYS的调用成功。
MsgBox ("ANSYS运行完毕!")
End If
Timer1.Enabed = False
End Sub
4、参数输入模块
本次设计包括7个参数设计,主要有孔数、单元类型、弹性模量、泊松比、比热容、导热系数及材料密度。对于参数的调用,具体程序如下:
Print #1, "*set, ET,"; Text2.Text
Print #1, "*set, ET,"; Text2.Text
Print #1, "*set, EX,"; Text3.Text
Print #1, "*set, PRXY,"; Text4.Text
Print #1, "*set, DENS,"; Text7.Text
可以继续在名为VB_ANSYS 的宏文件中接着写入引号中的语句并实现相应操作。这样,就可以同在代码窗口中写入多条Print 语句的方法来实现自动生成宏文件并自动输入APDL 命令流语句的作用。
对于二次开发而言,许多参数是人为控制的,需要从VB 界面中输入。然后再把界面中输入的参数转化到所生成的APDL 命令流中。为此需要用到一些基本APDL 语言命令。例如:利用“*set”来进行参数赋值。
Print # 1,“*SET, n,”; Text1. Text
其中n 为设定的变量名称(要符合APDL 命名规则,可以为任何名称);Text1. Text 将自动指向你在窗口中输入的参数,并将参数值赋给变量n。
5、VB对ANSYS计算结果提取
利用VB 生成的APDL 语言对ANSYS 计算结果进行后处理,将需要的结果文件以“.txt”文件的形式或者直接将所需要的图形保存到工作路径中,利用VB 的字符串处理和图片处理的功能在前台显示分析结果。下面为保存优化分析生成的图片和利用VB 中load 语句从结果文件中提取优化分析结果图的程序。
Print #1, "/SHOW, JPEG"
Print #1, "JPEG, DEFAULT"
Print #1, "/GFILE, 400"
Print #1, "PLNSOL, B, Y"
Print #1, "/SHOW, CLOSE"
Picture1.Picture=LoadPicture("结果路径")
6、分析结果与查看
要实现VB对ANSYS结果的查看,首先应在输入文件中用APDL语言编写相应的后处理命令,将工程所需的数据结果以“*.out”文件形式或者图形文件保存到工作目录中,再利用 VB 的读取功能显示相应的图形文件或数据结果。由于本文主要目的是对孔板进行有限元分析,所以界面的开发应满足对基本指标的查看,最终的结果显示界面如下图所示。同时,用户也可以将完整的ANSYS文件以“*.db”格式保存在工作目录中,以便进一步的查看。
VB调用ANSYS结束提示框
孔板静力分析云图
孔板温度场分析云图
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删