VB.net参数化界面调用ANSYS求解的详细步骤及错误提示的解决办法
微软旗下.net平台凭其易操作性、功能强大备受现代码农的喜爱,vb作为一门面向对象的程序语言,有着强大的功能和相对简单的操作,vb.net作为基于vb语言的面向对象的开发平台,同样有着优秀的操作体验以及更加强大的功能。
博主总结自己失败的经验,为了帮助更多需要的人避坑,特在此介绍一下vb.net在引用ANSYS Batch批处理功能时详细的步骤以及新手常常会出现的一些错误以及解决办法,尽管网上关于这方面的帖子很多,但都不够详细具体,希望能够对一些新手有些许的帮助!下面是干货:
**一 >vb.net调用ansys的方式:**vb.net并不能够直接打开ANSYS程序界面进行求解,而是通过调用ANSYS BATCH批处理模块在后台进行命令流文件的导入及求解等步骤,最终在指定的工作目录文件夹中生成相应的DB文件及其他文件(包括结果文件和错误文件等)。
**二 >认识批处理界面:**点击“开始”菜单→找到ANSYS17.0(对应版本)→找到Mechanical APDL Product Launcher,打开界面如下:


✳输入文件及输出文件的格式一般默认为 “.dat”、“.log”等,也可以是mac及其他文本格式。

三 >vb.net输入参数然后输出带参数值的命令流文件:
此处需要用到三个vb.net的函数:

1.“fileopen()”函数:Fileopen(filenumber,filename,mode,openaccess),定义文件编号及定义读取\写入\追加 操作。

  • filenumber:文件编号(自定义)
  • filename:需要描述文件的详细路径,例 “c:\users\Mycomputer\Desktop\Auto_modeling.mac”
  • mode:调用文件读取函数,默认“Openmode”
  • openaccess:要对文件执行的操作,有3种:input-读取;output-写入;append-追加。
    2."printline()"函数:Printline(filenumber,paramArray),向文件逐行写入双引号内的内容。
  • filenumber:要写入的文件的编号
  • paramArray:输入文件某行的内容,例 “hello world!”(输出内容需要双引号)
    3."EOF()"函数:EOF(filenumber),这是一个布尔型函数,编号对应的文件进行逐行读取或写入,如果未到达文本末则返回True,若到达文本末则返回False。
  • filenumber:文件编号

在vb.net中新建一个参数输入框textbox,假设为textbox1,最终目的是要输出带有textbox1中输入参数值的文本文件,所以需要向文本文件中逐句写入APDL命令,
可利用以下代码:

dim a as integer=1
'设置ansys.mac文件编号为1,设置对文件1执行的操作为写入
fileopen(a,c:\users\mycoumperter\Desktop\ansys.mac,openmode,output)
'向文件1中逐行写入内容
if EOF(1)=true then
printline(a,"/prep7")
'textbox1输入的参数值赋值给关键点1的x坐标值
printline(a,"k,1,"+textbox1.text+",0,0")
printline(a,"k,2,50,0,0")
printline(a,"lstr,1,2")
printline(a,"fini")
end if
'写入完成,关闭文件
fileclose(a)

假设输入textbox1的值为 20,即textbox1.text=“20”,则最终的输出文件内容为:

✳由于写入的文件往往需要新建,在这里附上一些新建文件的小tips:
对文件执行新建删除等一系列操作首先引入System.IO,最好以filestream的形式进行文件的新建等操作,而尽量避免使用静态”file.creat“的操作。以下是例子:
假设我需要在桌面上新建一个ansys.mac的文件,路径为:C:\users\mMycomputer\Desktop\ansys.mac

i*mports system.IO
'将路径地址以字符串形式赋值给字母a,主要是简化
dim a as string = "C:\users\mMycomputer\Desktop\ansys.mac"
dim aaa as filestream
'判断桌面是否已经有ansys.mac文件,如果有则询问是否重建If New FileInfo(a).Exists = True ThenDim aa As DialogResult = MsgBox("文件已存在,是否覆盖?", MessageBoxButtons.OKCancel)If aa = DialogResult.OK Then
'如果返回值为ok,则重建该文件,creat可以覆盖原文件aaa = New FileStream(macname, FileMode.Create)'这里不使用静态的文件操作”file.create()“,原因是创建后无法执行文件关闭操作
',后续对该文件的操作会提示该文件已被其他进程占用的错误
'用filestream形式可以关闭该文件  ElseExit SubEnd IfElseaaa = New FileStream(macname, FileMode.Create)End If'创建后关闭文件,不会出现文件占用进程的错误aaa.Close()*

四 >调用ansys的batch执行APDL命令流文件:

  1. 首先先了解一下ansys batch的执行代码,在批处理界面中选择tools→Display Command Line,出现如下图的内容:

对应本文第一张的批处理界面图片里的各项设置,本机的批处理执行代码对应命令符全称如下:
D:\APP\ANSYS17.0\ANSYS Inc\v170\ansys\bin\winx64\MAPDL.exe-p ane3fl -dirD:\APP\ANSYS17.0\APDLlauncher-j “Auto_modeling” -s noread -l en-us -b -iD:\APP\ANSYS17.0\APDLlauncher\Auto_modeling.mac-oD:\APP\ANSYS17.0\APDLlauncher\Auto_modeling.mac”**
接下来一个个介绍当中字符串的含义:

  • “D:\APP\ANSYS17.0\ANSYS Inc\v170\ansys\bin\winx64\MAPDL.exe”
    :此为绝对路径,这段的重点是MAPDL.exe,是ansys17.0的命令流求解程序,找到该程序的位置,复制全部路径进行替换即可,不同版本可能会有些许的不同,这个需要自行百度。
  • -p:指定license ane3fl:对应”-p“的答案,选择license为多重场模式”ANSYS Multiphysics“
  • -dir:即工作目录,intputfile 和 outputfile 的存放文件夹,是相对路径
  • -j:即jobname,后接项目名称,即"Auto_modeling"
  • -s:read start.ans file at start -up?
  • noread:对应”-s“的答案
  • -l:语言环境选择 ansys language
  • en-us: 对应 ”-l“ 的答案,可不写,不影响
  • -b:选择Ansys Batch批处理模式
  • -i:inputfile 的详细路径,即"D:\APP\ANSYS17.0\APDLlauncher\Auto_modeling.mac"
  • -o:outputfile 的详细路径及定义输出文件名称、后缀,即"D:\APP\ANSYS17.0\APDLlauncher\Auto_modeling.mac"(文件名称、类型可自定义,此处为与intputfile相同)

✳license与input file、output file不可缺少,其余不填则为默认
2. vb.net调用执行代码进行ANSYS求解:
vb.net中调用其他应用程序用”shell()“函数,shell返回值为double,执行代码为:

dim  x as double
'将各路径分别赋值,方便替换或设置参数化
dim x1 as string = "D:\APP\ANSYS17.0\ANSYS Inc\v170\ansys\bin\winx64\MAPDL.exe"
dim x2 as string = "D:\APP\ANSYS17.0\APDLlauncher"
dim x3 as string= "Auto_modeling"
dim x4 as string = "D:\APP\ANSYS17.0\APDLlauncher\Auto_modeling.mac"
dim x5 as string = "D:\APP\ANSYS17.0\APDLlauncher\Auto_modeling.mac"
x=shell(x1 +" -p ane3fl -dir "+ x2 + " -j "+ x3 +" -s noread -l en-us -b -i "+ x4 +" -o " + x5)

✳执行过程中可能会出现 找不到文件 或者下列错误提示:

原因是:

  • shell(x1 +" -p ane3fl -dir “+ x2 + " -j “+ x3 +” -s noread -l en-us
    -b -i “+ x4 +” -o " + x5)在该句命令中,引号内与引号外衔接中间无空格,如 x1 +”-p ane3fl -dir ",-p前没有空格与x1分隔,造成命令无法识别,此时会提示找不到文件。

  • 如若出现上述图片中的错误提示,如果路径确保正确,则在 ” -i “ ,” -o “中可能多加了空格,如 ” - i “ ,” - o “,-跟i,-跟o中间多了空格会造成无法识别文件路径。

以上就是VB.NET调用ansys批处理功能的详细步骤及常见错误及解决办法,希望对您有所帮助!

VB.net参数化界面调用ANSYS求解的详细步骤及错误提示的解决办法相关推荐

  1. [转]Silverlight在调用wcf时传输数据过大返回Not Found的解决办法

    原文地址:http://www.cnblogs.com/gavinyao/archive/2012/04/17/2454495.html Silverlight在调用wcf时传输数据过大返回Not F ...

  2. 谷歌翻译退出中国市场,想要免费的调用谷歌翻译的接口,有什么好的解决办法呢?

    谷歌翻译退出中国市场,想要免费的调用谷歌翻译的接口,有什么好的解决办法呢? https://translate.googleapis.com/translate_a/single?client=gtx ...

  3. jquery 异步调用方法中不能给全局变量赋值的原因及解决办法

    在调用一个jquery的ajax方法时我们有时会需要该方法返回一个值或者给某个全局变量赋值,可是我们发现程序执行完后并没有获取到我们想要的值,这时很有可能是因为你用的是ajax的异步调用async:t ...

  4. SpringCache @Cacheable 在同一个类中调用方法,导致缓存不生效的问题及解决办法...

    由于项目需要使用SpringCache来做一点缓存,但自己之前没有使用过(其实是没有听过)SpringCache,于是,必须先学习之. 在网上找到一篇文章,比较好,就先学习了,地址是: https:/ ...

  5. ANSYS Workbench扫掠划分网格出现网格扭曲解决办法

    开发环境:Win10系统,16G内存,ANSYS Workbench18.0. 问题描述:扫掠sweep划分网格时,当扫掠几何包含许多扭曲/弯曲时, 扫掠划分器会产生扭曲单元导致网格划分失败.如图1和 ...

  6. tp管理界面找不到服务器,TP-LINK路由器无法登陆管理界面的解决办法

    TP-Link的TL-WR类型无线迷你路由器无法登陆路由器的管理界面192.168.1.253是因为默认出厂设置DHCP服务器关闭,电脑需要手动配置IP地址,才能登陆设备的管理界面.网络中如果存在多个 ...

  7. android实现调用科大讯飞语音识别功能详细步骤

    一.申请注册科大用户和下载SDK(里面的appid要和自己的一样才可以使用) 详细步骤就不写了,注册网址:http://www.xfyun.cn 二.注册完之后,点击创建应用-选择要使用的平台和选择自 ...

  8. Java 的main方法中无法调用自身所在类的其他方法的两种解决办法

    前言 编程时我们会发现有时main方法中调用自身所在的类的其他方法时,发现无法调用,错误调用情况如下 错误情况代码 此处第3行调用test方法报错 public class Demo1{public ...

  9. python调用cplex求解装箱问题_使用cplex(python)解决限制背包(01背包)问题

    问题描述: 对于01背包问题,简历数学模型,使用python的cplex模块解决问题,找到最大解. 代码实现: # -*- coding: utf-8 -*- # The MIP problem so ...

最新文章

  1. hive Illegal Operation state transition from CLOSED to ERROR的处理
  2. Java oracle查询语句无法赋值给_java.sql.SQLException: 无法转换为内部表示 -〉java 查询oracle数据库返回错误信息...
  3. SQL SERVER提供了大量的WINDOWS和SQLSERVER专用的排序规则
  4. StoryBoard和代码结合 按比例快速兼容iPhone6/6 Plus教程
  5. oracle 11g xdb.,Oracle 11g升级到11.2.0.3过程中XDB.DBMS_XMLSCHEMA相关报错
  6. docker启动镜像命令
  7. 缠论中第49课:没必要参与操作级别及以上级别的下跌与超过操作级别的盘整,如何理解与应用?
  8. 时代正燃 | 全民健身运动意图大数据报告
  9. 人力资源数据分析师前景_5-数据分析师前景怎么样
  10. AI全自动原创视频生成器-震撼来袭
  11. 扫码枪回车键条码_扫描枪怎么设置自动换行 条码扫描枪不自动回车怎么设置...
  12. linux can 总线socket接口测试使用
  13. Python 动态加载并下载梨视频短视频
  14. 亚马逊AWS·优维科技EASYOPS企业云计算研讨会 邀请函
  15. 华为云灾备,让数据风险无处遁形
  16. web开发指南_成为专业Web开发人员的实用指南
  17. 实习日志_2022/3/11
  18. VS2013 编译错误类型: 必须定义入口点
  19. 64位和32位程序性能差别
  20. k8s部署-41-对POD进行重新认识(下)

热门文章

  1. CCF python 门禁系统
  2. 基于白名单的Payload
  3. MoveIt教程[20]:TRAC-IK Kinematics Solver
  4. Qt发布exe软件及修改exe应用程序图标
  5. c#中正则表达式屏蔽一些特殊字符
  6. 系统主数据管理之物料(Item)五 Item 的制造商部件号(MPN)
  7. JavaWeb使用百度云文字识别上传图片内容
  8. oracle中的flag,MMT 表中的 Cost_Flag=E,如何解决?
  9. Git系列:管理、撤销以及删除
  10. java 16进制格式化_hutool系列教材 (三)- 编码工具 - Java 16进制工具