详解Abaqus插件脚本中的关键字(AFXKeyword)(上)

Abaqus插件的脚本往往有3个,内核脚本(xxx.py)、对话框脚本(xxxDB.py)和注册脚本(xxx_plugin.py)。打开注册脚本(xxx_plugin.py)后,经常可以发现诸如AFXStringKeyword、AFXIntKeyword、AFXBoolKeyword等构造方法。

 

从名称看,我们知道它们是某某类型的关键字。那它们是什么意思?不同类型的关键字的区别是什么?怎么使用?用在何处?

 

今天,我们来聊聊Abaqus GUI二次开发中的关键字(AFXKeyword)。

 

在帮助文档(6.14)Abaqus GUI Toolkit User's Guide中6.5.8,有关于AFXKeyword的定义。但说实话,说的不清楚,不好理解。

 

说大白话,关键字大多创建在注册脚本,而用于对话框脚本中。关键字对象赋值给tgt参数,专门收集用户的数据,作为参数发送给内核脚本。

 

关键字(AFXKeyword)的构造方法为:

AFXKeyword(command, name, isRequired=False)

参数解释:

command:GUI命令,或None。

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

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

name:关键字名称。

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

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

 

实际使用时,我们并不会用AFXKeyword()创建关键字对象,因为关键字一共有8种类型,分别是:

整型关键字:              AFXIntKeyword    

浮点型关键字:           AFXFloatKeyword      

字符串类型关键字:    AFXStringKeyword   

布尔类型关键字:        AFXBoolKeyword    

符号常数类型关键字: AFXSymConstKeyword

元组类型关键字:        AFXTupleKeyword  

表格关键字:                AFXTableKeyword    

对象类型关键字:         AFXObjectKeyword 

 

对话框中,不同的控件,对应的关键字类型是不一样的。所以要依照控件,来创建相应类型的关键字。

 

这8种关键字在创建时,都具备以上三个参数,不同类型的关键字还都有自己的参数。

 

刚才说了,关键字在注册脚本创建,而应用于对话框脚本中,我们分开讨论。

 

注册脚本:

创建一个字符串类型的关键字

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

4.png

第23行,需要以AFXGuiCommand创建一个GUI命令,以它作为关键字的第一个参数。这个参数可以给所有关键字共用。

第26行,构造方法AFXStringKeyword(),创建关键字对象,赋值给self.keyword01Kw

 

对话框脚本:

字符串类型关键字使用于特定的控件中,比如文本框控件:

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

2.png

参数tgt的赋值,即为刚才创建的关键字对象。因为处于不同的脚本,需要用form来调用该关键字。

由于关键字的类型是字符串,所以sel的赋值为0,这是固定格式。

 

如此一来,文本框控件创建好了。文本框中输入的字符串(Part-1),会被赋值给参数 keyword01,传递给内核脚本。

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

3.png

参数tgt和sel通常有三种设置方式,在《Abaqus插件对话框二次开发,参数tgt和sel的设置方法》帖子中有详细阐述,这里使用的是第一种方式。

在下一贴中,我们继续讨论8种关键字的具体创建方法,以及用于何种控件: 

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


Abaqus GUI二次开发三部曲:

Abaqus 主窗口GUI的二次开发

Abaqus插件程序GUI的二次开发 初、中级篇

Abaqus插件程序GUI的二次开发 高级篇

ABAQUS二次开发Abaqus GUI程序开发对话框关键字ABAQUSAbaqus GUI二次开发AFXKeyword

详解Abaqus插件脚本中的关键字(AFXKeyword)(上)的评论5条

详解Abaqus插件脚本中的关键字(AFXKeyword)(上)的相关案例教程

前言 Python具有以下特点。Python语言是一种动态解释型编程语言,其功能强大,简单易学,支持面向对象编程((object-oriented programming),虽然由于其动态性致使程序解释执行速度比编译语言慢,但是随着Python语言的不断优化以及计算机硬件的迅猛发展,Python语言将会受到越来越多用户的关注。Python具有开源、自由等特征。它的简洁性和易用性使程序的开发过程变得
前言 Python具有以下特点。Python语言是一种动态解释型编程语言,其功能强大,简单易学,支持面向对象编程((object-oriented programming),虽然由于其动态性致使程序解释执行速度比编译语言慢,但是随着Python语言的不断优化以及计算机硬件的迅猛发展,Python语言将会受到越来越多用户的关注。Python具有开源、自由等特征。它的简洁性和易用性使程序的开发过程变得
Abaqus提供了一套极其详尽的在线帮助文档,其全部手册内容如表1所示。如果读者不清楚各手册的具体内容,可以在Abaqus/CAE的help菜单下,打开所有的帮助文档(图1),将鼠标放在每个手册旁边,几秒钟后关于该手册的详细信息就会显示出来。 对于所有的Abaqus初高级用户,使用软件之前都应该安装帮助文档,它是所有人的“老师”,当我们建模遇到困难时,都会从帮助文档中得到所需信息,后面会教给大家使
1、背景说明 当前大部分油气通过埋地管道运输。管道施工时,一般过程为挖土、放管、埋管,该过程中土壤应力改变,管道受到土壤重力作用产生位移;管道使用过程中,管道内部介质产生压强,对管道产生影响;当有车辆经过管道上方时,车辆通过接触地面产生的压强对管道产生影响;同时,随着管道的材料、直径、厚度、埋地深度、管内压强的不同,管道受影响的程度不同;复合材料材管道因其轻量、寿命长等特点,可被用于工程项目,而复
以ABAQUS自带的带孔平板为例,详细说明整个插件程序的实现过程,即使是新手也能轻松掌握。 一、python建模 1、辅助程序PythonReader: 在ABAQUS CAE中的每一个菜单或按钮操作都是被解释为Python语句,然后才提交上去。而这些Python语句被适时地保存在工作目录(/temp)下的abaqus.rpy文件中,PythonRead程序会适时的读取abaqus.rpy文件,以
硕士/CAE工程师
影响力
粉丝
内容
获赞
收藏
    项目客服
    培训客服
    5 29