上一篇推文《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)
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)
os.listdir(thisDir) =
源码后台回复:beamAnalysis2.0
1、ABAQUS插件之GUI参数化建模和文件清理
2、Abaqus二次开发|后处理360°视角动态展示模型
3、Abaqus二次开发|如何使用XZ、YZ草绘平面进行建模?
4、Abaqus|基于Python脚本的参数优化
5、Abaqus|模拟纤维缠绕
6、AbaPy|如何使用Python查阅Abaqus脚本的对象、方法和调用路径?