ansys定制用户化的图形交互界面 下载本文

内容发布更新时间 : 2024/6/29 2:51:44星期一 下面是文章的全部内容请认真阅读。

大概有7种

1.单参数输入对话框 2.多参数输入对话框

3.调用ANSYS程序已有的对话框 4.宏中实现拾取操作 5.程序运行进度对话框 6.宏运行的消息机制

7.定义工具条按钮与缩写 1.单参数输入对话框 *ask,par,query,dval

par:参数名称

query:向用户提示输入信息的字符串,最多可以包含54个字符

dval:用户用空响应时程序自动赋给该参数的值,该值可以包括在单引号中的包含1-8个字符串,数值,或者字符变量或者数值的

表达式等.如果不赋值直接单击按钮则赋缺省值,用户用空格响应时则表示删除该参数. 实例:

建立一个中心位于坐标原点,半径等于radius_sphere的球,每次执行该宏文件都会提示输入球半径尺寸的对话框.不输入时候, 默认为1. finsih /clear /prep7

*ask,radius_sphere,input the radius of sphere,1 !*ask命令提示输入变量 sphere,radius_sphere

!参数化创建球体

2.多参数输入的对话框

需要用MULTIPRO命令构造一个简单的多行提示对话框,一次最多可以包含10个参数的输入提示和赋值.允许使用UIDL中的*CSET

命令来产生提示,并为每个提示指定缺省值.

MULTIPRO命令必须与以下命令联合使用:1.1~10个*CSET命令 2.最多两个*CSET命令,用来供用户填写提示信息内容. MULTIPRO命令使用格式: multipro,'strat',prompt_num

*cset,strt_loc,end_loc,param_name,'prompt_string',def_value multipro,'end'

'start':第一个参数,该标识符用于标识multipro结构开始,固定不变且必须包括在单引号中. prompt_num:一个整型数,等于multipro命令后*cset参数输入提示行的数目,至少有一个*cset命令省略了def_value参数或

def_value为0时候,才必须用到该参数.

str_loc,end_loc:初始化参数提示信息的起始与终止位置参数,对于第一个*cset命令的设置是strt_loc参数的初始值为

1,end_loc的值为strt_loc+2(对第一个*cset命令,值为3),接下来的*cset命令的strt_loc是前一

个*cset命令的end_loc加上1, 其他类推.

param_name:参数名,用来存储用户输入的参数值,若用户不输入任何值,则采用缺省def_value值

'prompt_string':字符串,最多可包含32字符,用来描述参数意义,必须括在单引号内,做提示信息.

'end':最后一个参数,用来标识multipro结构结束,固定不变,并必须包含在单引号中.

多参数输入语句块在运行时,弹出一个多参数输入对话框,同时窗口包含3个按钮,即ok,cancel和help.运行过程中,选择那个按钮时通过检查对话框按钮_button参数的值来确定按钮的状态.

下面时_button参数的取值及其对应的按钮状态.0-表示按下了ok,1-表示按下了cancel

利用按钮_button参数的值可以编写选择不同按钮时程序应当做出的不同的操作,就可以实现不同的流程,保证宏文件具有完整的分析处理流程.

另外,该参数输入对话框最多可以向该结构中添加2行字符(共64个字符),用力提示*cset命令.这种特殊的*cset命令使用格式如下: *cset,61,62,'help_string','help_string' *cset,63,64,'help_string','help_string'

其中'help_string'最多可以包含32个字符的字符串,如果提示超过32个字符,可以使用第二个help_string参数 实例:

利用多参数输入对话框分别输入材料的弹性模量,泊松比,密度大小,然后自动定义1号材料属性. finish /clear /prep7

multipro,'start',3 !多参数输入对话框

*cset,1,3,ex_mat,'youngs modulus(pa)',2.1e11 *cset,4,6,nuxy_mat,'poissons ration',0.3 *cset,7,9,dens_mat,'density(kg/m^3)'7800 *cset,61,62,'enter the attributes of','material 1' *cset,63,64,'note:unit of each parameter!','' multipro,'end' mp,ex,1,ex_mat mp,nuxy,1,nuxy_mat mp,dens,1,dens_mat mplist,all,,,evlt

!列表显示材料属性

3.调用ansys中已有的对话框

在宏文件中,ansys如果碰到一个对话框UIDL函数名(如fnc_uimp_iso)时,就会显示对应的对话框.所以,可以通过在宏中把该函数名写为单独的一行来调用ansys程序已有的对话框,关闭弹出对话框后程序举行执行宏的下一行命令.在调用ansys已有的对话框时候要记住,许多对话框都有一个独立的关联号,包括激活有效的处理器和该对话框有效时候应当具备的条件等. 注意:如果宏中包含有GUI函数,该宏中的第一条命令应为/pmacro命令.该命令将使宏的内容

被写入日志文件中,这一点很重要.

如果省略了/pmacro命令,ansys并不将任务日志文件读到ansys任务重执行环境中去. 范例:

下面使test_fnc.mac的内容,在该宏的内部调用了ansys中已有的GUI函数fnc_block,从而实现调用长方体定义对话框定义长方体的目的.test_fnc.mac的内容如下: finish /clear /pmacro

!这命令将宏的内容写入日志文件中,没有改行则出错. /prep7 fnc_block

!create block by dimensions

在命令输入窗口运行宏teat_fnc.mac

4,宏中实现拾取操作

如果在宏中包含一条拾取命令,就可以调用ansys的GUI拾取菜单,许多ansys命令(例如K,,P)接受输入\参数,一鞭进行图形拾取操作,当ansys碰到这样一条命令时,就将显示正确的拾取对话框,在用户单击ok或cancel后,ansys将继续运行该宏,不过,有些拾取命令在有些ansys处理器中不可用,因此在调用这些命令之前需要先转换到合适的处理器中.

实例:宏test_pick.mac中调用拾取关键点建立3条直线,然后通过3条直线创建一个面.宏文件内容如下: finish /clear /pmacro

!该命令将宏内容写入日志内容中,没有该行将出错. /prep7 k,1 k,2,2 k,3,0,2 l,p

!弹出拾取关键点1对话框,选择关键点1和2,单击apply按键 !接着选择关键点2和3对话框,单击apply按键 !al,p

!弹出拾取线对话框,选择1,2,3,单击ok

5,程序运行进度对话框

在宏中可以通过插入命令来定义一个ansys对话框,该对话框包含一个显示运行进程的状态条,一个可用来终止运行的stop按钮,或者两者都包含,

通过*abset命令来定义状态对话框,其使用格式如下: *abset,title40,item

title40:文本串,显示在状态条的对话框中,最多可包含40个字符. item:显示项控制参数,可以取以下的值: 1-bar表示显示状态条,不显示stop按键