Abaqus通过.rpy文件提取CAE界面的操作命令

        这是 Abaqus 通过 Python 命令(getSequenceFromMask)记录几何体选择时使用的默认语法。对于没有变化的几何体来说,这种语法也许足够了,但如果几何体发生变化,这种语法就毫无用处了。
        但是在Python二次开发过程中,这个命令无法批量化处理模型的信息。比如下面是一个例子,就单看黄色字体的一串‘莫名’的编号,除了Abaqus自己,设能知道这是啥,这样的检索方式在二次开发过程中是很复杂的!
a = mdb.models['new_write_data'].rootAssembly
e1 = a.instances['PART-2-1'].elements
elements1 = e1.getSequenceFromMask(mask=(
    '[#db885445 #1ffa #e102ff00 #7fdf7e21 #5f000000 #e5e03ce7 #1fccc1', 
    ' #90c633e8 #1ddc3e0e #8dd21792 #8854455c #1ffadb #2ff0000 #df7e21e1', 
    ' #7f #e03ce75f #1fccc1e5 #c633e800 #dc3e0e90 #d217921d #54455c8d', 
    ' #1ffadb88 #ff000000 #7e21e102 #7fdf #3ce75f00 #ccc1e5e0 #33e8001f', 
    ' #3e0e90c6 #17921ddc #455c8dd2 #fadb8854 #1f #21e102ff #7fdf7e', 
    ' #e75f0000 #c1e5e03c #e8001fcc #e90c633 #921ddc3e #5c8dd217 ]', ), )
leaf = dgm.LeafFromMeshElementLabels(elementSeq=elements1)
        这个时候我们需要修改Abaqus默认的命令输出格式,我个人习惯按照单元的编号(Label)输出,在CAE界面命令行输入如下命令:

Get sequence from mask is not helpful for scripting.

If you want to extract meaningful commands from an interactive abaqus session to use for scripting, you should use the following commands in cae:

>>> from abaqusConstants import *

>>> session.journalOptions.setValues(replayGeometry=INDEX)
        或者如下的命令:
session.journalOptions.setValues(replayGeometry=INDEX,recoverGeometry=INDEX)
i = 53
f1 = a.instances['PART-2-1'].elements
f_tmp = f1[i:i+1]
surf_tmp = a.Surface(face1Elements=f_tmp, name='Surf-5')

参考:

[1] How can identify element number(or index) in ABAQUS scripting instead of using mask?

[2] abaqus二次开发中getSequenceFromMask的避免方式-CSDN博客

[3] 1. The 5 ways to select geometry with Python

  • 7
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值