(二)自己也能开发ABAQUS复合材料层合板自动建模工具?
2025年11月13日 15:46前文我们介绍了基于“厚度”推进策略生成网格,并自动定义铺层、材料的层合板建模算法。
为了提高展示度,同时也是方便给别人使用。我们可以开发一个界面,并封装成一个软件。
作为一个小的案例,同样采用MATLAB实现。
很多人都用过MATLAB的GUI模块,然而这个东西适合做一些小的工具,稍微复杂一点的功能,就完全无法开展。
GUI模块
一个最简单的例子,就是选项卡,通过选项切换不同的页面。在以前的GUI中,你只能再画一个界面,然后在两个界面之间传递变量。使用的时候,当切换页面时候会弹出预设的界面,体验很差。如果有了选项卡,就不存在界面跳转的问题了,都在一个页面就完成了。
为了解决这个痛点,MATLAB推出了APP designer,它和QT十分相似,尤其是新的容器和网格布局的引入,大大提升了实用性。而经典的GUI模块在以后的版本中,将被删除。
APP designer
我现在遇到的一些不大不小的开发需求,就会采用APP designer。当然,更复杂的需求的话,还是用QT更加方便。
本期我们就大致介绍一下基于APP designer实现工具开发的基本路线。
网格布局
QT中提供了多种多样的自动对齐、填充方式。而在MATLAB中,这个是通过“网格布局”实现。
众所周知,MATLAB是基于矩阵思想开发的平台,这个“网格布局”就是这个路子。通过定义纵横分块和尺寸,实现界面分区,组件放进去以后它们就会自动对齐、适应分区大小,保证了界面的美观性。
本次界面整体设计为左右布局,左侧放置参数定义和二维绘图区,右侧为三维绘图区。
组件填充
几何参数和材料参数,用表格组件。铺层数据,考虑到铺层可能很多,我们直接通过导入指定路径的txt文件实现。
两个绘图窗口还是基础的AXIS。组件填充后效果如下:
代码嵌入
将之前开发好的算法嵌入到界面中。APP designer通过点击右上角的视图,可以方便的切换界面视图和代码视图,这个切实提升了开发效率,也是我个人认为远胜于QT的地方。
嵌入代码后,运行效果如下:
至此我们完成了一个小工具的开发。
这个案例虽然简单,如果我们更换为更复杂的结构,再加入调用ABAQUS自动计算、后处理的部分,它就进化成了一个软件平台。
很多项目包装的很花哨,从逻辑上来讲,借助商用求解器,自己开发前后处理模块,本质上就是上面的路子。
麻雀虽小五脏俱全,如果能嵌入自己的求解器,那么它就是一个专用的有限元软件了。
工程师必备
- 项目客服
- 培训客服
- 平台客服
TOP




















