导读:近日,笔者收到仿真秀专栏作者陈开伟老师编著的专业图书《Abaqus二次开发:内核与GUI应用实例详解》。这是我今年获赠的第三本CAE专业图书,内容夯实,强烈推荐读者朋友订阅和收藏。该书作者在仿真秀有对应的辅导视频,大家可在仿真秀官网搜索陈开伟 或点击文尾阅读原文,即可关注其专栏视频教程。
即日起到5月31日,仿真秀APP公众 号粉丝在公众 号文章下方点赞并留言,且邀请好友为自己点赞前3名将免费获得图书1本。此外,还将选出2位精彩评论的用户获得此书(每人仅限一本,总计5本),欢迎朋友们分享助力传播,大家可以在京东搜索购买。
以下是正文:
Abaqus作为一款高度可扩展的有限元仿真软件,提供了多种编程语言的API接口。我们通常所说的Abaqus二次开发,是基于Python语言的开发,开发流程一般是先进行实际操作,对自动生成的rpy文件进行适当修改。这些修改包括使用变量、判断语句、循环语句等方式,以及将其整理成函数形式,从而形成一个灵活可用的内核脚本。如果结合RSG对话框生成器,还能制作出带有对话框界面的插件,更加便于操作使用。
实际上,Abaqus二次开发功能十分强大。达索公司提供了一套完整的开发工具,涵盖了从内核开发到插件GUI开发,再到主窗口GUI开发的全套体系,形成了一个从内到外的开发链。具体开发流程可以参照以下图示:
内核开发
1. Kernels:内核语句和代码。
2. Functions:内核语句构成的函数。
插件GUI开发
3. Widgets:插件对话框中的控件,如单选按钮、复选按钮、文本框等。
4. Layout Managers:对话框中各种控件的布局。
5. Dialog Boxes:插件程序对话框。
6. Forms/Procedures:Forms模式和Procedures模式。Forms模式允许通过对话框输入字符来收集参数,如泊松比或模型名称等;Procedures模式则通过在视口中用鼠标点选来收集参数,如选择几何、单元或节点等。
7. Modes:负责收集用户输入参数和处理命令的模式。
主窗口GUI开发
8. Menus/Icons:修改、增加菜单,以及自定义图标。
9. Modules/Toolsets:自定义模块和工具集。
10. AFXMainWindow:注册标准的和自定义的Abaqus模块和工具集。
11. AFXApp:创建一个Abaqus应用程序。
《Abaqus二次开发:内核与GUI应用实例详解》(陈开伟编著,机械工业出版社出版)是一本关于通用有限元仿真软件Abaqus二次开发的书籍,详尽介绍了基于Python语言的内核开发和GUI开发知识,并辅以丰富的实例加以阐释。
2)对单元集 合自动截图后进行处理。脚本能够打开文件选择对话框,选中并打开一个odb文件后,对指定的单元集 合以四个不同角度进行截图并保存。
3)自动生成PPT版仿真报告。其功能包括:
A. 自动获取装配体和每个部件实例在仿真过程中的最大应力。
B. 自动对最大应力界面截图,每张图片的右下角都会显示当前模型的信息。
C. 将装配体和部件实例的最大应力、部件名称、增量步等信息写入csv文件。
D. 自动创建一个PPT,其页数会根据图片的数量自动生成。截取的图片和收集的最大应力值会一一对应地添加到PPT中。装配体单独占据一页PPT,每4个部件占据一页,从而实现仿真报告的自动生成。
这三个实例分别从前处理和后处理的角度展示了如何进行内核开发。
第三篇:GUI开发篇
GUI开发分为两个部分,即插件GUI开发和主窗口GUI开发。
谈到创建插件对话框,Abaqus自带的RSG对话框生成器是一个常用工具。它集成了15种控件和6种布局,提供了简单易用的界面。尽管操作简便,但功能相对有限,有时无法满足一些复杂的开发需求。Abaqus提供了功能强大的GUI工具包——Abaqus GUI Toolkit,它提供了丰富的函数和接口,是Abaqus GUI开发的核心,所有与GUI开发相关的都与之紧密相关。
书中首先制作了一个对话框,它不仅囊括了RSG所提供的全部控件和布局选项,还新增了三种RSG未收录的控件。书中从代码层面详细介绍了每种控件和布局的创建方法、各参数的含义及作用,并辅以一些控件的实例方法,帮助开发者更好地理解与实践。此外,文中还对原有代码进行了适当修改与拓展,可以让开发者能够更全面灵活地掌握这些控件的使用技巧。
在Abaqus GUI Toolkit中,不同的控件需与特定关键字配合使用。Abaqus提供了八种类型的关键字,它们用于收集用户在对话框中输入或获取的数据信息。在对话框脚本的开发中,tgt和sel这两个参数尤为关键,它们的作用是将控件、实例方法和自定义类得以有效联接,实现复杂功能。书中详细讲解了tgt和sel参数的三种设置方式,帮助开发者更灵活地创建功能丰富、交互性强的对话框。
有关控件相关内容介绍完毕后,本书提供五个插件对话框的实例,分为5章进行详细阐述。这些实例的核心功能是RSG无法实现的,有较高的实用性。以下是对这些实例的简要介绍:
实例一:创建方钢/方管插件的GUI实例。通过下拉列表的选项,能够实时切换其他控件的可用状态,为用户提供更加灵活的操作体验,如下图所示。
实例三的对话框界面
实例五:悬臂梁一键前处理插件升级实例,对原RSG对话框进行了升级与改进,通过修改脚本增添了一些功能。此外,还新增一个按钮,用于打开子插件,丰富了插件的原有功能。
以上实例中还加入了一些实用功能,比如若在对话框中输入的内容有误或相互关系不正确,会弹出错误提示、提示所选的元素重合、识别当前模块、自动切换至指定模块等。
以及把插件安放在一个已有的工具条中,如下图所示。还添加了一个刷新按钮,当调试脚本时,开发者只需点击这个刷新按钮,无需重启Abaqus,即可打开更新后的插件对话框,减少了因修改脚本而需要频繁重启软件的麻烦。
以上是本书的一些主要内容概览,书中还包含了更多详细、深入的知识点和实例,其应用领域十分广泛,并不局限于某一特定行业,无论是有限元仿真专业人士还是高校学生,相信都能从中获取实用的参考和帮助。期待各位读者通过阅读本书,能够进一步提升自己的Abaqus二次开发能力。
(完)