首页/文章/ 详情

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

1年前浏览2181

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

 


来源:CAE之家
ACT
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2023-04-18
最近编辑:1年前
CAE之家
硕士 | CAE仿真负责人 个人著作《汽车NVH一本通》
获赞 1089粉丝 5569文章 870课程 19
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈