首页/文章/ 详情

ABAQUS插件之GUI参数化建模和文件清理

1年前浏览3186

一键完成有限元前处理和后处理是一件令人兴奋的事情,让自动化解放你的双手。这不,基于Python的ABAQUS参数化建模满足你的小心心。本期带你制作一个一键生成梁的GUI插件。经常使用ABAQUS的伙伴就知道,随着模型运行,结果文件夹中会产生大量我们并不关心的文件,例如.prt、.sim、.sta等等,很是抓狂!别急,在上述插件中将会上线一个文件清理的功能。温馨提示,阅读本文需要稍微有一些ABAQUS基础!

ABAQUS中插件可通过RSG对话框构造器(RSG Dialog Builder)和GUI工具包来制作。RSG是GUI界面的高效辅助工具,但是其控件的种类很少,若要实现复杂的功能界面通常还需要使用GUI工具包来添加。制作插件时先用RSG完成部分控件的布局、设置,然后使用GUI工具包是常用的方法。插件由注册文件plugin,图形界面文件DB和内核函数文件组成。

本文插件如图所示,由四部分组成:第一部分判断是否需要运行模型;第二部分是梁的参数化建模和有限元分析;第三部分为梁的几何模型的图示;第四部分则为文件清理。

         

第一部分:两个单选按钮来选择是否运行模型;

第二部分:通过输入梁的长、半径、集中力完成参数化建模,使用滑动条来设置提交模型所用的cpu个数;

第三部分:梁的参考图,对输入参数进行了标识;

第四部分:清理多余文件,可在不运行模型的情况下单独使用。

     
本插件可在RSG中完成设置,对应的注册文件beamAnalysis_plugin.pybeamAnalysisDB.py内核文件ModelFunc.py为了给此插件添加一个标识图标,如下图所示:
需在注册命令toolset前添加如下图标提示命令,图片格式可为bmp、png、GIF等。

afxCreateIcon(fileName)
















...前面代码省略icon = afxCreateIcon(os.path.join(thisDir,'label.png'))toolset = getAFXApp().getAFXMainWindow().getPluginToolset()toolset.registerGuiMenuButton(    buttonText='BeamAnalysis',     object=BeamAnalysis_plugin(toolset),    messageId=AFXMode.ID_ACTIVATE,    icon=icon,    kernelInitString='import ModelFunc',    applicableModules=ALL,    version='N/A',    author='N/A',    description='N/A',    helpUrl='N/A')

文件清理函数通过deleteFunc函数来定义:          


















def deleteFunc(foldName):        files = os.listdir(foldName)    ex1 = []    for i in range(1,30):        ex1.append('.'+str(i))        ex2 = ['.com','.dat','.ipm','.msg','.prt','.sim','.sta','.jnl']    file_set = set(ex1+ex2)    for item in files:        fileSuffix = os.path.splitext(item)[1]        filePath = os.path.join(foldName,item)        if os.path.isfile(filePath):            if fileSuffix in file_set:                os.remove(filePath)                print('file %s was deleted'%item)        else:            False

 



 
查看历史消息,更多文章在仿真秀搜索

1、Abaqus二次开发|后处理360°视角动态展示模型

2、一张表掌握hypermesh快捷键

3、tcl/tk学习笔记(4)|一个案例带你玩懂主题组件ttk::notebook

4、tcl/tk学习笔记(3)|快速入局菜单menu组件

5、tcl/tk学习笔记(2)|一个简单计算器的GUI教给你的不只是计算

6、tcl/tk学习笔记(1)|8行代码实现列表框和滚动条联动


来源:仿真社
ACTAbaqus二次开发
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2023-03-30
最近编辑:1年前
仿真社
硕士 ABAQUS/LS-DYNA探索者
获赞 213粉丝 531文章 92课程 5
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈