ABAQUS二次开发中如何避免掩码方式索引

在做ABAQUS二次开发时,借助rpy文件进行参考,是一个很好的开发方式,但在使用中会发现对一个线、面、体等几何特征索引时,出现的表现方式总是用#号开头的字母数字表示的。比如:
f1 = a.instances['Part-rigid-1'].faces
faces1 = f1.getSequenceFromMask(mask=('[#20]',),)
getSequenceFromMask里面给出的是掩码编码,一般不具备通用性,在参数化建模时应尽量避免使用它。
其实ABAQUS提供了三种对单个对象或者多个对象的索引方式:
1. getSequenceFromMask的方式(默认的方式)
2. findAt()+坐标值的方式
3. 元素实际索引号的方式
那实际操作时怎么切换索引方式呢?我们接着往下看:
1.在命令交互行(Abaqus/CAE最下方)输入以下指令:
session.journalOptions.setValues(replayGeometry=COORDINATE,recoverGeometry= COORDINATE)
这种方式在rpy文件中输出的索引格式为findAt()+坐标值。即第二种方式。
2.在命令交互行(Abaqus/CAE最下方)输入以下指令 :
session.journalOptions.setValues(replayGeometry=INDEX,recoverGeometry=INDEX
该方式会以元素的实际索引号作为对象的索引方式,即第三种方式。
2012年我刚开始做二次开发时,写的好几个参数化建模的脚本都是采用掩码表示的,可能是模型比较规律,所以一直没有出错,自己当时也没意识到这个问题。现在知道有这个问题了,开发时就大多采用findAt的方式来进行索引了。希望在做二次开发的小伙伴们注意切换一下索引方式,看起来会更方便,索引更准确。

工程师必备
- 项目客服
- 培训客服
- 平台客服
TOP
