首页/文章/ 详情

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

1年前浏览2704

一键完成有限元前处理和后处理是一件令人兴奋的事情,让自动化解放你的双手。这不,基于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函数来定义:          

        defdeleteFunc(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探索者
        获赞 199粉丝 482文章 87课程 5
        点赞
        收藏
        作者推荐
        未登录
        还没有评论
        课程
        培训
        服务
        行家
        VIP会员 学习 福利任务 兑换礼品
        下载APP
        联系我们
        帮助与反馈