加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

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

(2017-08-08 09:15:48)
标签:

python

abaqus二次开发

分类: 我的学习生活


原创 2017-03-11 李华伟 ABAQUS


What         ABAQUS

在做ABAQUS二次开发时,借助rpy文件进行参考,是一个很好的开发方式,但在使用中会发现对一个线、面、体等几何特征索引时,出现的表现方式总是用#号开头的字母数字表示的。比如:

              f1 = a.instances['Part-rigid-1'].faces

              faces1 = f1.getSequenceFromMask(mask=('[#20]',),)

getSequenceFromMask里面给出的是掩码编码,一般不具备通用性,在参数化建模时应尽量避免使用它。



Why

其实ABAQUS提供了三种对单个对象或者多个对象的索引方式:

1. getSequenceFromMask的方式(默认的方式)

2. findAt()+坐标值的方式

3. 元素实际索引号的方式



How

那实际操作时怎么切换索引方式呢?我们接着往下看:

 

1.在命令交互行(Abaqus/CAE最下方)输入以下指令:

session.journalOptions.setValues(replayGeometry=COORDINATE,recoverGeometry= COORDINATE)

这种方式在rpy文件中输出的索引格式为findAt()+坐标值。即第二种方式。

 

2.在命令交互行(Abaqus/CAE最下方)输入以下指令 :

session.journalOptions.setValues(replayGeometry=INDEX,recoverGeometry=INDEX

该方式会以元素的实际索引号作为对象的索引方式,即第三种方式。

 



Todo

2012年我刚开始做二次开发时,写的好几个参数化建模的脚本都是采用掩码表示的,可能是模型比较规律,所以一直没有出错,自己当时也没意识到这个问题。现在知道有这个问题了,开发时就大多采用findAt的方式来进行索引了。希望在做二次开发的小伙伴们注意切换一下索引方式,看起来会更方便,索引更准确。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有