ABAQUS 二次开发入门实例 详解(2) 插件Plug-in简介

2010-05-21 21:22:55 作者:huright 来源:www.mememama.cn 浏览次数:0

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-insToolboxesExamples,Abaqus/CAE显示了相关的例子。你可以点击按钮,开始一个plug-in,如图所示

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)文件名不能以数字开头;
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(
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,点击可以得到下图。就可以使用这个插件了。

 


进入资源下载页面 丰富资源 共同分享

相关文章

最新图片文章

最新文章