logo资料库

abaqus二次开发实例.pdf

第1页 / 共4页
第2页 / 共4页
第3页 / 共4页
第4页 / 共4页
资料共4页,全文预览结束
ABAQUS 二次开发入门实例 详解(2) Plug-in 1.Plug-in 简介 plug-in 插件是一种软件,它安装到另一个应用程序扩展其应用能力。 Abaqus 中插件执行 Abaqus 中的脚本接口和 ABAQUS 的 GUI 工具包的命令,从而 为您提供了一种特殊需要或个人偏好的定制。例如,一个简单的插件可以自动打 印根据预先设定的方案在当前视口的内容。更复杂的插件,可以提供一个图形用 户界面来一个专门后处理例程。 一个典型的 plug-in 包含两个要件: (1)一个包含一个 或多个 Python 函数的 Python 模块; (2)注册命令,它定义了用户激活插件时有关的执行动作。一个注册命令 添加一个菜单项目或一个按钮在 Abaqus 窗口上。另外,一个注册指令同时连接 了菜单或按钮与 Python 模块或函数。当用户选择菜单或按钮时,Abaqus/CAE 将 调用 Python 模块中的函数。 有两种类型的 plug-in 插件:kernel 和 GUI。Kernel 插件由一个包含函数 的文件组成,函数采用 ABAQUS 脚本接口编写。与 Kernel 插件不同,GUI 插件采 用 ABAQUS GUI 软件包编写,包含了创建用户界面的指令,向 Kernel 插件发出指 令。 两者都可以添加在 Plug-ins 菜单中或一个插件工具条中。默认情况下,几 个实例在 Plug-ins 菜单中。你可以通过这几个实例学习一下 Plug-ins 是如何创 建的,如何与 Abaqus/CAE 交互的。此外,你可以通过 Plug-ins 工具箱找到两个 实例。当你选择 Plug-ins Toolboxes Examples,Abaqus/CAE 显示了相关的 例子。你可以点击按钮,开始一个 plug-in,如图所示 ********************更多学习教程尽在 www.mememama.cn***************
2.Plug-in 添加注册 为了把编写的 Plug-in 程序添加到系统中,必须如下: l)必须把编写的程序放置到规定的目录下,这是因为在每次启动 ABAQUS/CAE 时,系统都将自动的搜索一列路径: a)安装 ABAQUS 软件目录下的 abaqus_plugins 文件夹; b)当前目录下的 abaqus_plugins 文件夹; c)主目录下的 abaqus_plugins 文件夹; d)在 abaqus_v6.env 文件中由用户指定的目录。加入语句 plugin_central_dir=”**:\Plugin” 只有程序放在以上的四个目录下,ABAQus 系统才会自动把开发的 plug-ins 加载到 Plug-ins 工具条中。 2)对包含编程文件的命名必须符合以下的规则: a)文件名最多由 38 个字符组成; b)文件名可以包括空格、大部分标点符号和其它的特殊字符; c)文件名不能以数字开头; ********************更多学习教程尽在 www.mememama.cn***************
d)文件名的开头和结尾不能是一个下划线或空格; e)文件名中不能包括句号和双引号。 而且必须在首先被调入的文件名后加上‘_plugin’,如文件 名”X_plugin.Py”,这是 ABAQUS 系统关于 Plug-in 文件的一个习惯做法。 3)在”X_plugin.Py”文件中必须包含注册命令,如 registerGuiMenuButton、registerKernelMenuButton、registerGuiToolButton 等命令。 4)对于不包括对话框的 Plug-in 菜单,它的注册命令必须和功能函数的程序 在不同的文件中。但是,包含对话框的 Plug-in 菜单,它的注册命令既可以和含 GUI 程序放在同一个文件中也可以放在不同的文件中。 2.Plug-in 添加实例 (1)将以下程序存为 myUtils.py def printCurrentVp(): from abaqus import session, getInputs from abaqusConstants import PNG name = getInputs( (('File name:', ''),), 'Print current viewport to PNG file')[0] vp = session.viewports[session.currentViewportName] session.printToFile( fileName=name, format=PNG, canvasObjects=(vp, )) (2)将以下程序存为 myUtils_plugin.py from abaqusGui import getAFXApp toolset = getAFXApp().getAFXMainWindow().getPluginToolset() toolset.registerKernelMenuButton( ********************更多学习教程尽在 www.mememama.cn***************
buttonText='Print Current Viewport', moduleName='myUtils', functionName='printCurrentVp()' ) (3)将 myUtils.py 和 myUtils_plugin.py 存入安装 ABAQUS 软件目录下的 abaqus_plugins 文件夹。 (4)启动 ABAQUS/CAE,点击 plug-in 菜单,可以看到 plug-in 菜单中增加了 Print Current Viewport,点击可以得到下图。就可以使用这个插件了。 ********************更多学习教程尽在 www.mememama.cn***************
分享到:
收藏