首页/文章/ 详情

详解Abaqus插件脚本中的8种关键字(AFXKeyword)(下)

1年前浏览6867

上一贴(详解Abaqus插件脚本中的8种关键字(AFXKeyword)(上)) (注:此处有超链接)中,我们谈到了关键字的定义、共有8种类型,以及在不同脚本中的用法。

 

这一帖来讨论这8种类型关键字的创建方法,以及各用于何种控件。

 

1、整型关键字 AFXIntKeyword    

构造方法:

AFXIntKeyword(command, name, isRequired=False, defaultValue=INT_DEFAULT, evalExpression=True)

参数解释:

command:GUI命令,或None。

在注册脚本中定义时,通常赋值为AFXGuiCommand的实例对象。

在对话框脚本中定义时,赋值为None。

name:关键字名称。

此名称为字符串,须与内核脚本中的参数同名。

isRequired:布尔值,是否为命令的必须参数。默认值为False,但使用时都改为True。

8种类型关键字都有以上三个参数。

defaultValue:默认值,在大多数类型的关键字中都有该参数。比如在文本框控件中,我们将defaultValue设为5,那么打开对话框时,默认则会出现5。


18.png


6.png


7.png


evalExpression:是否支持表达式,布尔值,默认为True。如果输入的值是5+3,那么在文本框中,则会出现8。


19.png


9.png


详解Abaqus插件脚本中的关键字(AFXKeyword)(下)的图6详解Abaqus插件脚本中的关键字(AFXKeyword)(下)的图7

使用整型关键字的典型控件有:文本框控件、单选框控件等。

 

这里需提到参数tgt和sel的设置。通常有三种设置方式,具体见我另一个帖子《Abaqus插件对话框二次开发,参数tgt和sel的设置方法》

本贴只讨论第一种,tgt= 关键字,sel = 0 或非0

其中,tgt(消息目标)即为在注册脚本中创建关键字的变量,通过form. 来调用。

sel(消息ID)则根据关键字的类型不同,而有不同的赋值。

如何选择sel的赋值,需要看下表:

10.png

详解Abaqus插件脚本中的关键字(AFXKeyword)(下)的图9

这里是AFXIntKeyword,则sel一般设为0。但如果是用于单选框控件,sel则采用大于0的整数

 

2、浮点型关键字 AFXFloatKeyword       

构造方法:

AFXFloatKeyword(command, name, isRequired=False, defaultValue=FLOAT_DEFAULT, precision=6)

参数解释:

前四个参数,与AFXIntKeyword中是一样的,以下就不重复解释了。

precision:将关键字的浮点值转换为文本字符串的精度。


11.png


使用浮点型关键字的典型控件有:文本框控件、下拉列表控件、微调控件等。

使用浮点型关键字的控件,参数sel的赋值为0

 

3、字符串类型关键字 AFXStringKeyword   

构造方法:

AFXStringKeyword(command, name, isRequired=False, defaultValue='')


12.png


使用字符串类型关键字的典型控件有:文本框控件、列表控件、下拉列表控件等。

使用字符串类型关键字的控件,参数sel的赋值为0

 

4、布尔类型关键字 AFXBoolKeyword    

构造方法:

AFXBoolKeyword(command, name, booleanType=ON_OFF, isRequired=False, defaultValue=False)

参数解释:

booleanType:布尔值,一般赋值为AFXBoolKeyword.TRUE_FALSE


13.png


使用布尔类型关键字的典型控件有:复选框控件。

使用布尔类型关键字的控件,参数sel的赋值为0

 

5、符号常数类型关键字 AFXSymConstKeyword

构造方法:

AFXSymConstKeyword(command, name, isRequired=False, defaultValue=0)

abaqus自带有大量的符号常数,用from abaqusConstants import *导入后,可以使用。比如THREE_D、DEFORMABLE_BODY等

我们也可以人为定义一个符号常数,这样使用起来很直观。


14.png


使用符号常数类型关键字的典型控件有:列表控件和下拉列表,此时sel赋值为0;也可以用于单选框控件,此时sel赋值是大于0的整数。

 

6、元组类型关键字 AFXTupleKeyword  

构造方法:

AFXTupleKeyword(command, name, isRequired=False, minLength=0, maxLength=-1, opts=0)

minLength:最小元组长度,默认为0

maxLength:最大元组长度,为-1表示无限制

这个关键字没有默认值。


15.png


使用元组类型关键字的典型控件有:文本框控件。

当从一个文本框中收集大于1个数据时,比如一个坐标为(10,20,30),相当于收集了3个数据,则可以用元组类型关键字,等同于从三个文本框中分别收集。此时sel赋值为大于零的整数。如果只收集1个数据,sel则为0.

 

7、表格关键字 AFXTableKeyword     

构造方法:

AFXTableKeyword(command, name, isRequired=False, minLength=0, maxLength=-1, opts=0)

minLength:表格中最小行数,默认为0

maxLength:表格中最大行数,为-1表示无限制

这个关键字没有默认值。


16.png


使用表格类型关键字的典型控件有:表格控件。

使用表格类型关键字的控件,参数sel的赋值为0

 

8、对象类型关键字 AFXObjectKeyword 

构造方法:

AFXObjectKeyword(command, name, isRequired=False, defaultValue='')


17.png


使用表格类型关键字的典型控件有:拾取控件。

使用表格类型关键字的控件,参数sel的赋值为0

 

虽然这些关键字可以用RSG自动创建出来,但它们本身也都有各自的方法和属性。加以灵活运用,可以让插件GUI具有更加方便和丰富的功能。

Abaqus二次开发通用
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2023-10-06
最近编辑:1年前
陈开伟
硕士 Abaqus和HW二次开发
获赞 55粉丝 86文章 7课程 5
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈