插件和定制
ANSYS Workbench 构建在一个模块化体系结构上,允许使用外接程序开发扩展框架的功能
ANSYS Workbench Software Developer 的工具包(SDK)设计用于管理数据和工作流,允许用户
在框架级别将 ANSYS 工具与第三方应用程序集成。相反,应用程序定制工具包(ACT)的设计
目的是允许在应用程序级别进行定制。这些定制的目的是在一个通用过程中插入特定的需
求。在 ANSYS 机械应用程序中使用 ACT,定制包括专用负载和后处理。还可以使用 ACT 定
制 ANSYS Design Modeler、ANSYS DesignXplorer 和 ANSYS AIM。ACT 和 SDK 都是 ANSYS 定制
套件的一部分。
ACT 提供了内部机制,允许您定制 ANSYS Workbench 应用程序,而无需编译外部代码或与现
有 ANSYS 库链接。
ACT 管理标准应用程序和额外定制之间的接口,以便它们能够准确地交互。
本文档描述了使用 ACT 创建自定义应用程序或扩展的步骤。这些示例使用 ANSYS Mechanical、
ANSYS DesignModeler、ANSYS DesignXplorer 和 ANSYS AIM 作为目标应用程序,因为它们代表
了 16.0 版本中 ACT 的主要焦点。
所示的示例都是基本示例,作为入门参考。注意,扩展的开发需要一些 IronPython 和 XML
知识。对于定制 ANSYS 求解器的扩展,还需要 APDL 知识。
所包含的示例是在所有 Windows 平台上编写和测试的。
定义扩展概念
ACT 提供了创建扩展的能力,将一组定制特性与标准应用程序集成在一起。本指南主要针对
那些开发为 ANSYS 工具提供额外功能的扩展的人。然而,本指南还包含了将管理扩展的最
终用户的信息。
ACT 可以管理整个扩展集。如果需要,可以通过加载一组扩展来定制 ANSYS Mechanical、
Design Modeler、DesignXplorer 和 AIM 应用程序。在这种情况下,每个扩展都提供自己的定
制级别,最终用户可以根据 ANSYS Workbench 中先前加载的扩展定义个人配置。因此,定制
的级别直接取决于最终用户在打开定制应用程序之前所做的选择。
有关定义扩展的详细信息,请参阅定义扩展。
项目和扩展
在使用 ACT 开发的扩展创建和保存 ANSYS Workbench 项目之后,任何对项目的进一步使用
都必须集成以前使用过的扩展。如果这些扩展是可用的,那么 ANSYS Workbench 会在项目打
开时自动加载这些扩展。如果没有检测到预期的扩展,则会出现错误消息。在定义扩展时将
更详细地讨论扩展的可用性。
基本扩展定义
本节引用一个简单的扩展示例,它定制了 ANSYS 机械应用程序。根据需要定制的应用程序
的不同,扩展的内容不同,但是 ACT 扩展的主要组织结构与本节中介绍的目标应用程序保
持一致。
这个扩展在 ANSYS Mechanical 的用户界面上添加了一个带有一个按钮的工具栏。单击此按钮
时,将出现一个对话框并显示“High five! ExtSample1 is a success”
图 1:扩展配置文件层次结构演示了 ExtSample1 配置。注意,XML 文件 ExtSample1.xml 和
ExtSample1 文件夹位于给定文件夹的同一层。XML 文件和扩展名的文件夹都必须使用公共名
称。
图 1:扩展配置文件层次结构
下一个图显示 ExtSample1 文件夹的内容。sample1 的文件。py 包含完成示例扩展的行为所
需的 Python 脚本,images 文件夹中保存扩展的 GUI 使用的图标文件
图 2:扩展文件夹内容
图 3:Images 文件夹内容显示了 Images 文件夹的内容。图标文件手。示例扩展使用 bmp 从工
具栏中公开特定按钮。BMP 图像格式是 ACT 支持的唯一格式。
图 3:Images 文件夹内容
XML 扩展定义
用于配置 ExtSample1 扩展的 XML 文件名为 ExtSample1. XML。下面列出了这个文件的内容。
e0e0f6c2-b50f-425e-a778-5b3e527f65c1
images
init
HighFiveOut
XML 文件的关键元素包括:
第 1 行中的扩展名
第 2 行扩展的 GUID
Python 脚本文件名在第 3 行
第 4 行中的应用程序上下文
第 7 行中的 oninit 回调方法名称
第 9 行到第 15 行中的工具栏和工具栏按钮定义
标签定义了 HighFive 工具栏按钮,它使用了 file hand.bmp 中的图标图像。
标记定义选择按钮时要调用的回调函数的名称。下一节将介绍函数 HighFiveOut 的 Python 脚
本定义.
在使用扩展时,将更详细地讨论 XML 扩展定义.
有关 GUID 的更多信息,请参见安装和卸载扩展、编译扩展和元素。有关 GUID
的更多信息,请参见安装和卸载扩展、编译扩展和元素。
Python 对扩展的回调
Python 脚本函数用于响应用户/GUI 交互并实现扩展的行为。如前所述,ExtSample1 的 Python
脚本位于文件 sample1.py 中。下面是脚本文件内容。
clr.AddReference("Ans.UI.Toolkit")
clr.AddReference("Ans.UI.Toolkit.Base")
from Ansys.UI.Toolkit import *
def init(context):
ExtAPI.Log.WriteMessage("Init ExtSample1...")
def HighFiveOut(analysis_obj):
MessageBox.Show("High five! ExtSample1 is a success!")
该脚本包含两个函数:
当应用程序(例如,Mechanical)被打开时,函数 init()被调用。参数上下文包含应用程序的名
称(“Mechanical”)。
当用户单击工具栏按钮 HighFive 时,将调用函数 HighFiveOut()。与所有回调函数一
样,应用程序将活动分析对象的实例作为参数传递。
对于任何函数,全局变量 ExtAPI 表示 ACT 提供的所有服务的主要入口点。例如,init()函数
使用 ACT 的 ILog 接口在日志文件中写入一条消息。有关可用接口的更多信息,请参阅
Application Customization Toolkit 参考指南。