首页/文章/ 详情

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

1年前浏览3099

上一篇推文《ABAQUS插件之GUI参数化建模和文件清理》,我制作了一个梁的GUI参数化建模和文件清理的1.0版本插件,意犹未尽。1.0版本的插件,文件清理时必须选择文件夹,而不能选择文件。此外在不运行建模程序时,参数化建模板块依然是可编辑的,总是缺点韵味,我期望在不选择运行模型时,参数化建模板块不可编辑。针对上述问题,这一篇推文将推出2.0版本插件。在点击Yes按钮时,参数化模块激活,此模块控件可编辑,反之,参数化模块控件不可编辑,例如下图所示。第二个是在删除文件时,增添了文件名的删除方式,此方法只需要随意选择目录下的一个文件就可删除该文件目录下的目标文件。

上一篇推文提到插件可由RSG对话框构造器和GUI工具包来制作。1.0版本在RSG中可完成大部分,但2.0版本则需要完全调用GUI工具包来完成了,通过修改图形界面文件DB来完成!

         


ABAQUS GUI二次开发中控制控件状态有两种方式,一个是使用函数


addTransition(target,op,value,tgt,sel,ptr=None)
此方法需要结合函数

MKUINT(msgID,msgType)
这种方法适用控制单一控件的状态。若存在一个控件控制两个及以上控件的状态,则需要使用processUpdates()函数来完成。processUpdates结合enable和disable两个命令来控制控件状态是否可编辑。不过该函数在GUI插件中的接口尚不清楚,但是必须定义这样一个函数,也没见引用位置!
processUpdates()函数定义如下:











def processUpdates(self):        if self.form.radiobuttonKw1.getValue()==279:#279为Yes按钮的sel            self.length.enable()#激活,可编辑            self.radius.enable()            self.force.enable()            self.slider.enable()        else:            self.length.disable()#不激活,不可编辑            self.radius.disable()            self.force.disable()            self.slider.disable()

   

对于文件清理模块,删除函数下添加如下判断代码,便可实现文件夹和文件的两种选择方式。需要提醒的是,选择的文件在该路径下必须存在,若不存在则会报UnboundLocalError,此bug先留着,后续再在3.0版本里改进吧。







if os.path.isdir(foldName):        files = os.listdir(foldName)        thisDir = foldName    elif os.path.isfile(foldName):        thisDir = os.path.dirname(foldName)        files = os.listdir(thisDir)

 源码后台回复:beamAnalysis2.0


 
在仿真秀平台,查看历史文章

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

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

3、Abaqus二次开发|如何使用XZ、YZ草绘平面进行建模?

4、Abaqus|基于Python脚本的参数优化

5、Abaqus|模拟纤维缠绕

6、AbaPy|如何使用Python查阅Abaqus脚本的对象、方法和调用路径?

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