第二章:Abaqus GUI Toolkit 快速入门¶
本章概述¶
本章提供定制 GUI 应用程序的概述。
本章内容¶
内核与 GUI¶
Abaqus/CAE 以两个独立的进程执行:内核(Kernel)和 GUI。
内核的作用是提供对 Abaqus 数据库以及创建和修改这些数据库的命令的访问。GUI 的作用是收集用户输入,然后将其打包为命令字符串并发送到内核以执行。GUI 对于 Abaqus 的执行不是必需的——可以通过使用内核脚本构建、分析和后处理整个模型,而无需调用 GUI。
通常,当您开发某些自定义功能时,您首先创建实现该功能的内核命令。这些命令可以通过在 Abaqus/CAE 的命令行界面(CLI)中执行来调试。一旦您确定内核命令在 CLI 中正常工作,您就可以设计一个 GUI 来收集命令所需的用户输入。
Abaqus GUI 应用程序的组件¶
创建 GUI 应用程序涉及许多组件。
下图显示这些组件的概述及其连接方式。本节简要概述每个组件。这些组件将在后续章节中详细讨论。

Widgets(控件)¶
在应用程序的最低层级,您使用控件通过图形用户界面从用户那里收集输入。例如,文本字段控件呈现一个用户可以输入数字的框。类似地,复选框控件呈现一个小框,用户可以单击它来切换选项的开关状态。
Layout managers(布局管理器)¶
布局管理器通过提供对齐选项来排列控件。例如,水平框架将控件排列成一行。垂直框架将控件排列成一列。
Dialog boxes(对话框)¶
对话框将控件分组在布局管理器内,并呈现特定功能所需的所有输入。例如,打印对话框呈现所有允许用户指定应打印什么以及如何打印的控件。
Modes(模式)¶
模式是控制特定用户界面显示的 GUI 机制。模式还负责发出与该用户界面关联的命令。例如,当您选择 File->Print 时,会启动一个模式。此模式会显示打印对话框,当用户点击确定时发出打印命令。
Modules and toolsets(模块和工具集)¶
模块和工具集将功能分组在一起。GUI 模块是类似功能的分组,例如 Abaqus/CAE 中的 Part 模块。GUI 工具集类似于 GUI 模块,因为它将类似功能分组在一起,但通常包含更具体的功能,可被一个或多个 GUI 模块使用。Abaqus/CAE 中的 Datum 工具就是 GUI 工具集的一个例子。
The application(应用程序)¶
应用程序负责高级活动,例如管理应用程序使用的 GUI 进程和更新控件的状态。此外,应用程序负责与桌面窗口管理器交互。
插件和定制应用程序¶
您可以通过两种方式使用 Abaqus GUI Toolkit——通过插件架构或创建自定义应用程序。
插件(Plug-in)¶
插件工具集层叠在 Abaqus/CAE 之上。首先,构建 Abaqus/CAE 应用程序,然后插件工具集搜索特定目录,查找将项目添加到顶级插件菜单的文件。如果您只打算向标准 Abaqus/CAE 应用程序添加功能,并且通过主菜单栏中的插件菜单访问此功能就足够了,那么插件工具集可能会满足您的需求。插件的详细内容请参阅使用插件。
自定义应用程序(Customized application)¶
相比之下,要创建自定义应用程序,您需要从头开始构建应用程序。如果您除了向 Abaqus/CAE 添加功能外还想修改 Abaqus/CAE 的某些标准功能,则应该编写自定义应用程序。虽然创建自定义应用程序提供了最大的灵活性,但它比使用插件工具集需要更多的工作。但是,自定义应用程序允许您修改插件工具集无法控制的应用程序方面。具体来说,自定义应用程序允许您执行以下操作:
-
移除 Abaqus/CAE 模块或工具集:创建自定义应用程序时,您可以确定哪些模块和工具集加载到应用程序中以及它们出现的顺序。
-
修改 Abaqus/CAE 模块或工具集:如果您想向 Abaqus/CAE 模块添加或删除功能,必须从 Abaqus/CAE 模块派生模块,然后注册您的模块而不是 Abaqus/CAE 模块。如果要向 Abaqus/CAE 工具集添加或删除功能,请遵循类似的步骤。
-
更改应用程序名称和版本号:创建自定义应用程序时,您创建一个启动脚本来使用应用程序的名称及其版本号初始化应用程序对象。
-
控制启动命令和使用的许可证令牌:创建自定义应用程序时,您可以修改定义用于启动应用程序的命令的站点配置文件。您还可以修改相同的站点配置文件以指定应用程序启动时检出的许可证令牌。
运行原型应用程序¶
SIMULIA 社区提供了一个名为原型应用程序(prototype application)的自定义应用程序。原型应用程序允许您尝试对话框的内容,直到您产生满意的设计。您可以启动原型应用程序,更改控制对话框内容的代码,并立即在应用程序中看到这些更改。
SIMULIA 社区(SIMULIA Community > Learning Resources > 3DEXPERIENCE and Traditional Products > Abaqus > Plug-ins/Scripts)提供插件和自定义应用程序的示例,以及促进 Abaqus Scripting Interface 和 Abaqus GUI Toolkit 发展的用户社区访问。在该社区中搜索"Prototype Example"以下载原型应用程序的 zip 文件,然后解压缩文件并转到包含下载文件的目录。要使用原型应用程序,请在文本编辑器中打开文件 testDB.py。从系统提示符输入以下内容:
-custom 参数表示您正在执行 Abaqus/CAE 的自定义版本。-noStartup 参数表示您要启动 Abaqus/CAE 而不显示启动屏幕。有关更多信息,请参阅 Abaqus/CAE Execution。
应用程序在工具箱中创建两个图标,如图 1 所示。

- 图标重新加载表单代码(testForm.py)
- 图标重新加载对话框代码(testDB.py)
如果您对表单代码进行了更改,请单击图标重新加载该文件。如果对对话框代码进行了更改,请单击图标重新加载该文件。您不需要退出并重新启动 Abaqus/CAE 即可在表单或对话框中看到更改。
例如,尝试以下操作:
- 单击图标以显示对话框,并记下对话框中显示的文本标签。
- 单击对话框中的取消以关闭它。
- 更改 testDB.py 中的一个标签并保存文件。
- 再次单击图标以显示对话框。您将在对话框中看到修改后的标签。
当您在对话框中单击确定时,对话框发出的内核命令会被写入消息区域,而不是由 Abaqus/CAE 执行。这允许您在尝试在内核中执行命令之前调试命令。
调试完表单和对话框代码后,您可以按照表单示例中的示例修改表单以向内核发出命令。您可以按照检查 GUI 模块示例中所示的示例将表单连接到您的 GUI,而不是连接到图标。