VB平台下ANSYS二次开发实例:孔板静力与温度场分析

用户开发界面

用户界面的设计既要考虑到操作者友好的操作,也要保证为 ANSYS 提供有效的计算参数。在本例中,为了实现孔板的参数化分析, 选用孔板的有限元分析参数作为输入的内容,同时操作者还必须按工程要求输入相应的材料参数信息。

1.png



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”格式保存在工作目录中,以便进一步的查看。

2.png

VB调用ANSYS结束提示框



3.png

孔板静力分析云图



5.png

孔板温度场分析云图

免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空