二次开发,也包括交互式工作。Abaqus Python API中提供3个交互式窗口函数:getInput、getInputs和getWarningReply。
getInput函数显示一个对话框,提示用户在文本框中输入特定的值,若点击“OK”,则以字符串形式返回,若点击“Cancel”,getInput函数返回None。
在命令区KCLI中输入代码:
>>>a=getInput(‘Enter a number’),
则显示如下对话框。

getInput函数只能返回单个字符串结果,而getInputs函数能返回多个字符串结果,同时它还能设定默认值,当点击“Cancel”后,getinputs函数将返回由None值构成的列表。
在命令区KCLI中输入代码:
>>>fields=((‘width:’,’10’),(‘Length:’,’20’),(‘Height:’,’30’))
>>>length,width,height=getInputs(fields=fields,label=’Dimensions:’,dialogTitle=’create block’)
显示如下对话框:

getInput和getInputs函数都不具备数值检校功能。可使用判断语句鉴别输入内容的质量。
在命令区KCLI中输入代码:
>>>reply=getWarningReply(message=’Okay to continue?’,buttons=(YES,NO))
则getWarningReply函数对话框如下所示:

除了这三个函数以外,Abaqus还有一种更为复杂的交互模式:GUI插件。在Plug-ins菜单里可以找到很多插件。除了Abaqu自带的插件,使用者也可以按照使用第三方插件。安装目录为:
abaqus_dir\abaqus_plugins(该插件可被所有用户使用)
home_dir\abaqus_plugins(该插件仅被特定用户使用)
current_dir\abaqus_plugins(该插件可以被有当前目录权限的用户使用)
abaqus_v6.env文件中定义的plugin_dir(该插件可以被有该目录访问权限的用户调用)
Abaqus中的插件可以通过两种方式得到,一是直接编写脚本;二是通过Really Simple GUI(RSG)Dialog Builder可视化设计得到。使用RSG比较直观,主要介绍RSG Dialog Builder编写插件。
RSG插件编写工作内容包括两个部分:一部分是编辑对话框,用于收集用户提供的参数;另一部分是编写Kernel函数,接收来自GUI对话框的输入信息并执行相应的功能。两者之间的连接由Abaqus自动实现。
从菜单栏Plug-ins|Abaqus|RSG Dialog Builder打开RSG编辑界面如下所示:

GUI标签页中,左边一列主要是建立对话框的部件:布局管理工具、文字和图标工具、输入框和文件选择对话框、按钮、多行列表、下拉选框等;中间部分为布局修改工具;右边区域是当前对象的属性编辑框。
Kernel编辑界面比较简单,包括打开文件按钮和函数选择下拉列表。

编写一个完成焊接分析流程的插件,插件使用自定义的GUI界面输入参数。

在该插件中,可根据需要修改模型的几何参数、热力参数和网格参数。上述只展示了部分参数,可继续添加。使用该界面即可自动建立模型和需要的DFLUX子程序。

Kernel部分的代码为:
def creat_part(banjing,kuandu,houdu,timeoutputRelease,s_Q,globalSize):
开发过程中,注意整个Python代码的缩进,改变插件参数代码后,需重启Abaqus软件方可生效。
夜雨聆风