首页/文章/ 详情

仿真干货丨基于APDL命令流实现ANSYS参数化建模(附实例代码)

1年前浏览1684

ANSYS是应用很广的工程分析软件,其中建立完整的分析对象模型是实现工程分析的前提。ANSYS常用的建模方法在GUI(graphical user in— terface)模式下由设计者操作鼠标和键盘来实现, 该方法建模方式难以掌握、效率较低、修改困难。ANSYS中的APDL (ANSYS parametric design language) 是ANSYS系统提供的一种将在GUI模式下鼠标操作方式转化为指令的语言,它与其他语言一样有顺序、选择、循环、宏等结构。张磊等运用APDL建立了轴承的模型。杨旭等运用 APDL建立了渐开线齿轮模型。本文运用APDL实现了一种操作简便的ANSYS命令流建模方法,将 GUI模式下鼠标建模过程编写成APDL代码并形成文件,用ANSYS命令,将文件内容自动拷贝到命令行中执行并生成模型。为了使用户操作简便,本文利用VC语言设计了交互式用户界面,通过VC 语言调用ANSYS,并运用对话框的形式给APDL代码中的变量赋值,实现ANSYS参数化建模。该方法建模快速、准确、易于修改,减少了建模工作量。


 
     
         ANSYS命令流实现参数化建模        
   
1.ANSYS建模方法   
工程分析对象的几何模型是有限元分析的基础,ANSYS为用户提供了3种分析对象的建模方法,即直接建模、几何建模加网格划分、混合建模。

 
直接建模。直接建模是指在ANSYS中直接建立有限元模型,而不必先建几何模型。即直接确定每个结点的位置,以及每个单元的大小、形状和连接关系。该方法适用于小型简单模型。缺点是改变网格模型十分困难,易出错,当模型复杂时,该方法令人无法忍受。

 
几何建模加网格划分。该方法主要是在ANSYS中建立几何模型再进行网格划分,也可以通过其他三维软件建立几何模型,通过相应的接口导入ANSYS,然后在ANSYS中进行网格划分。该方法优点:适用于任何结构的对象,便于修改几何参数、单元类型、网格密度;便于使用优化设计功能。缺点:在将几何模型导人到ANSYS时,有时会出现错误,尤其当模型复杂时, 更容易出现模型信息的丢失。

 
混合建模。混合建模方法是在几何建模并网格划分后,再增加其他单元或特征的方法。该方法通常用于对已生成的有限元模型进行编辑时使用,如添加少量的单元等。

 
2.ANSYS实现建模的两种途径   
ANSYS中实现以上3种建模方法可以通过两种途径,即GUI操作方式和APDL命令流方式。为了叙述方便,现以建立一个圆柱体几何模型为例, 说明实现建模的途径。

 
GUI操作方式:  
通过鼠标依次单击下列菜单,弹出创建圆柱模型参数输入窗口  
MainMenu>Preprocessor>Modeling>Create>Volumes>Cylinder>By Dimensions   

 
APDL命令流方式:  
CYLIND,RADl,RAD2,Z1,Z2,THETAl,THE- TA2
其中:CYLIND是圆柱体的简称;RADl为圆柱体的内径,RAD2为圆柱体的外径,可按顺序输入;z1和z2是圆柱体在工作平面上Z的坐标变化范围值;THETAl和THETA2是圆柱的起始角、终结角,可产生部分圆柱体。

 
对比两种ANSYS建模的实现方式,显而易见APDL命令流方式更简便。对于一些较为复杂的常用件,如弹簧、齿轮、螺栓等,若能直接使用APDL实现几何建模,便可以简化建模过程。

 
3.命令流建模的流程   
首先借助VC平台建立交互式界面,通过界面中的对话框输入模型参数,运用APDL模块生成命令流文件;其次,启动ANSYS批处理操作自动执行命令流文本文档,进行分析计算,当运行成功时,单击“查看三维模型按钮”会在系统输出界面上显示三维模型建模结果。运行流程如图1所示。    
 

 


     
         螺栓建模举例       

 
1.六角头螺栓和螺纹的几何尺寸  
对于螺纹部分,可以通过ANSYS提供的拖拉命令将封闭的图形按指定轨迹拉伸成实体。螺栓详细参数及符号可参考图2。六角头螺栓实体参数化建模的关键是要生成一条螺栓上的螺纹的螺旋线,可通过APDL编写相应的命令流建立螺旋线,然后通过VDRAG命令沿螺旋线拖拉绘制螺纹截面。  

 
 
2.几何特征参数化   
参数化建模的关键是将待建模型的几何特征参数化。六角头螺栓的结构参数符号见表1,参数对应的螺栓结构如图2所示。

 


3.螺栓命令流建模步骤  
第一步创建螺旋线,由于ANSYS中不能直接建立螺旋线,所以可以首先通过函数建立点,然后通过*DO循环指令创建螺旋线(*DO的使用格式是:*DO,Par,IVAL,FVAL,INC。其中Par是循环变量名称,IVAL是循环变量名初值,FVAL循环变量名的终值,INC是循环变量增量。);第二步在当前工作平面创建齿截面,通过VDRAG拖拉指令将齿截面沿螺旋线拉伸;第三步创建圆柱体,通过布尔加运算将圆柱体和螺纹体结合;第四步创建部分螺杆的圆柱体及头部正六边形,通过布尔运算操作对螺栓部分进行倒角;第五步用VGLUE命令将螺栓的分段模型进行粘接。

 
4.VC用户界面介绍  
根据建模过程的需要,在VC环境中建立图形用户界面,如图3所示。编辑框中显示的是螺栓参数化建模所需要的参数,选择相应的规格,点击“确定”按钮,将自动生成命令流并保存。然后通过批处理程序生成模型。点击“查看”按钮,可以在图片控件内显示模型的图片。    
 

 
 

 
1)VC向ANSYS传递参数。先将生成的命令流保存到指定文件夹,再用批处理操作调用ANSYS应用程序。在VC中形成文本文件的关键代码如下:

 
fstream outfile:
outfile open("E:\\work \\VS-ansys \\ Blot\\Blot.txt”,ios:out);
outfile<<"FINISH"<<endl;
outfile<<"/CLEAR"<<endl;
outfile<<"/PREP7”<<endl;
……  
outfile<</SHOW,JPEG<<endl;
outfile<<VPLOT<<endl;
outfile<</SHOW,CLOSE<<endl;
ouffile<<"SAVE"<<endl;

 
E:\\work\\VS—ansys\\Blot\\Blot.txt是本文中命令流文件的工作目录。通过以上代码可将螺栓的命令流写入到Blot.txt文件中,从而实现参数的传递。

 
2)VC调用ANSYS。在VC中调用别的应用程序,有多个函数可以使用,例如ShellExecute、CreateProcess和WinExec等。通过WinExec函数调用一个批处理文件,文件名为APDL。格式如下:

 
WinExec(“E:\\work\\VS-ansys\\Blot\\AP-DL.bat",SW-SHOW);

 
其中E:\\work\\VS-ansys\\Blot\\是APL.bat 文件所在的路径。

 
APDL文本内的内容有以下两部分:

 
CD E:\work\VS-ansys\Blot

 
这是用来存放运行结果的文件夹。

 
"D:\Program Files(x86)\3Dmodeling\ansys\ ANSYSInc\v150\ANSYS\bin\winx64\ANSYSl50.exe”-B-I Blot.txt一O OUT.TXT

 
其中:Blot.txt和OUT.txt分别是螺栓的命令流和输出结果;D:\Program Files(x86)\ 3Dmodeling\ansys|ANSYSInc|v150|ANSYS|bin| winx64\ANSYSl50.exe是ANSYS15.0软件的安装目录。编写完代码后,在编译之前,必须将预处理命令#include“fstream”using namesapce std;和#in— clude
     
         结束语        

来源:CAE仿真学社
螺栓ANSYS
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2023-04-02
最近编辑:1年前
CAE仿真学社
硕士 | CAE仿真工程师 万物皆可仿,关注CAE仿真学社
获赞 151粉丝 285文章 296课程 0
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈