打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Abaqus二次开发系列(一):使用RSG对话框构造器快速创建插件程序

公众号以往推送过大量基于Python开发的Abaqus插件程序,插件程序可以快速辅助我们进行有限元的前后处理,使大量重复性工作自动化,简化工作提升效率的同时,也能避免手动建模出现的错误。尤其是对于复合材料结构建模,过程异常繁琐,当铺层数量很多时,某一个铺层的角度设置错误是难以检查的,而插件程序可以很大程度上避免这些操作失误。另外,插件程序可以实现一些手动无法实现的功能,比如,在任意四面体或者六面体单元之间插入0厚度内聚力单元来实现裂纹的随机开裂,这种模型是手工建模无法创建的。

一个插件程序一般有注册代码、GUI图形界面代码和内核执行代码三部分组成。我们看到的GUI界面就是由图形界面代码来实现。

在Abaqus GUI程序开发时,可以采用以下两种方式创建GUI图形界面:
1)使用RSG对话框构造器创建。
2)使用Abaqus GUI工具包创建。

RSG对话框构造器(RSG dialog Builder)是Abaqus/CAE内嵌的GUI插件开发辅助工具,位于Abaqus/CAE主视图【Plug-ins】菜单下的【Abaqus】子菜单中,如下图所示。


点击该菜单即可进入下图所示的工作界面。在该界面下,用户可以创建新的对话框,选择并编辑控件,查看对话框效果,关联插件执行的内核文件等。该工具使用方便快捷,是很高效的插件程序开发辅助工具,但是RSG对话框构造器自身包含的控件种类较少,一共只有下图左下方所示的22种控件,对于简单的GUI程序基本可以满足需求。

1 RSG对话框构造器示意图

需要在GUI界面中添加控件时,仅需要在控件区鼠标左键单击即可将被选控件加入到界面中.

当控件数量较多时,可以通过控件布局管理器来排列各类控件

在已添加的控件树中选中某一控件时,右侧会出现该控件的属性,包括显示文本、数据类型、关键字、缺省值等信息。其中,关键字Keyword是该控件的唯一标识,不能出现重复的关键字。关键字数据类型又分为字符串、整型、浮点型三类。

控件在控件树中的位置、层级可以通过上下左右四个箭头来调整,另外也可以删除控件,如下图所示。

插件的GUI 界面构造完成以后,从GUI切换到Kernel内核代码管理界面,如下图所示,点击打开文件按钮可以调用本地已编辑的内核指令文件以及其内部函数。也可以在此界面下新建、编辑并保存内核代码。此时的内核指令会自动与GUI程序关联。


上述GUI界面及内核指令编写完成之后,点击保存按钮,即可将插件予以保存。


使用RSG对话框构造器创建插件程序后,在保存的时候会提示两种保存方式,RSG plug-inStandard plug-in,如下图所示。

RSG plug-in可以在重新启动RSG对话框构造器时再次加载并编辑图形界面,Standard plug-in无法进行重新加载,无法快速预览插件的图形界面,控件的增加、修改以及排列布置都需要手动输入代码来完成。

但是RSG plug-in所包含的控件种类有很大局限性,而Standard plug-in控件类别以及库函数丰富,可以实现较大规模复杂程序的开发,Abaqus帮助文档中的资料基本是按照Standard plug-in方式提供的。

另外,插件的保存目录又分为Home directoryCurrent directory两种,两者分别代表用户主目录和Abaqus当前的工作目录,两者示例如下:
Home directoryC:\Documents and Settings\Administrator\Abaqus_plugins
Current directoryD:\temp\Abaqus_plugins

使用RSG创建插件并保存以后,会自动生成插件注册文件,再次重启Abaqus,插件菜单中即可看到新建的插件程序。

但是对于复杂的GUI程序,需要用到更多的控件,比如Abaqus/CAE中常用的飞出按钮(flyout button)以及树控件(FXTreeList)等,此时RSG对话框构造器已经无法满足需求,需要采用第二种GUI图形界面的创建方式,即直接在源程序文件中编辑GUI命令。该方法所能创建的控件种类丰富,功能齐全,但是所创建的GUI图形界面不能像RSG对话框构造器那样直观显示,建议初学者采用RSG对话框构造器创建GUI图形界面。

另外,推荐几本口碑还不错的Abaqus二次开发书籍,好评度均在99%以上,直接点击下方购买链接可享受京东、当当同等优惠价格。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
不用重启Abaqus,手把手教你快速调试插件程序GUI
3D打印软件Cura的二次开发(GUI)
Abaqus python二次开发书籍推荐
python桌面开发,为什么选择PyQt或wxPython,而不使用Tkinter?
出色图形用户界面(GUI)设计规范
MFC使用教程
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服