ABAQUS python二次开发更改mask掩码方法
·
在使用python对ABAQUS进行前后处理的二次开发时,常常会利用到记录GUI操作的rpy文件,但默认的rpy文件是使用掩码的方式进行索引的,这种代码一般并不能直接使用。为了获得我们能直接使用的代码,需要在Kernel交互式命令行中输入一行代码。不同的代码会产生不同的效果,主要有以下两种:
第一种,在Kernel交互式命令行输入以下指令:
session.journalOptions.setValues(replayGeometry=COORDINATE,recoverGeometry=COORDINATE)
运行上述代码后,重新在GUI界面中进行操作,再打开rpy文件,就会发现代码更改为下面的形式:
p = mdb.models['Model-1'].parts['Part-1']
f = p.faces
faces = f.findAt(((10.0, 10.0, 10.0), ))
p.Set(faces=faces, name='Set-method1')
可以发现,此时便是使用.findAt()函数来获取part.face对象索引。
第二种:在Kernel交互式命令行输入以下指令:
session.journalOptions.setValues(replayGeometry=INDEX,recoverGeometry=INDEX)
运行上述代码后,重新在GUI界面中进行操作,再打开rpy文件,就会发现代码更改为下面的形式:
p = mdb.models['Model-1'].parts['Part-1']
f = p.faces
faces = f[1:2]
p.Set(faces=faces, name='Set-method2')
可以发现,此时便是直接使用数字来索引part.face对象。
第二种方法可能会随着代码复杂度的升高而逐渐失效。因此,更为推荐第一种方法。但即便是第一种方法也不能解决所有的问题,还是需要我们对ABAQUS各种对象的获取以及Set、surface等有一定的认识才能解决我们大部分问题。
更多推荐
所有评论(0)