使用abaqus 软件 进行二次开发,往往在.rpy文件自动生成的代码基础上进行修改。
然而,在对点、线、面、体进行选择时,abaqus默认生成的代码为
cells = c.getSequenceFromMask(mask=('[#1 ]', ), )
这种形式的mask掩码,显然不利于 参数化建模 操作。
此时,可以通过在下图所示abaqus界面的命令行中,输入 命令 更改abaqus自动生成代码的索引类型:

1. 将rpy文件中的代码索引形式更改为:“实际特征索引号”
session.journalOptions.setValues(replayGeometry=INDEX,recoverGeometry=INDEX)2. 将rpy文件中的代码索引形式更改为:“findAt()函数配合点坐标”
session.journalOptions.setValues(replayGeometry=COORDINATE,recoverGeometry=COORDINATE)以下图所示纤维-基体结构对应的三种不同索引结果对三种索引类型进行说明:

对图示结构中纤维赋予 材料属性 :

此时getSequenceFromMask生成的掩码为 [#7fe],难以从几何意义上进行编程。
p = mdb.models['Model-1'].parts['Part-1']c = p.cellscells = c.getSequenceFromMask(mask=('[#7fe ]', ), )region = p.Set(cells=cells, name='Set-1')p = mdb.models['Model-1'].parts['Part-1']p.SectionAssignment(region=region, sectionName='Section-1', offset=0.0, offsetType=MIDDLE_SURFACE, offsetField='', thicknessAssignment=FROM_SECTION)转化为特征索引号后,代码如下:
p = mdb.models['Model-1'].parts['Part-1']c = p.cellscells = c[1:11]region = p.Set(cells=cells, name='Set-2')p = mdb.models['Model-1'].parts['Part-1']p.SectionAssignment(region=region, sectionName='Section-2', offset=0.0, offsetType=MIDDLE_SURFACE, offsetField='', thicknessAssignment=FROM_SECTION)c[1:11] 表示结构中的十根纤维,该特征索引号与纤维和基体的生成顺序相关。显然,此时纤维基体对应的特征索引号为c[0]
转化为findAt类型后,代码如下:
p = mdb.models['Model-1'].parts['Part-1']c = p.cellscells = c.findAt(((18.962994, 14.585984, 0.0), ), ((48.349822, 22.238453, 100.0), ), ((64.427994, 34.070985, 0.0), ), ((82.989822, 24.403453, 100.0), ), ((18.962994, 68.710983, 0.0), ), ((35.359821, 91.518456, 100.0), ), (( 34.117994, 42.730985, 0.0), ), ((52.679821, 74.198453, 100.0), ), (( 78.659823, 69.868454, 100.0), ), ((73.087995, 75.205986, 0.0), ))region = p.Set(cells=cells, name='Set-3')p = mdb.models['Model-1'].parts['Part-1']p.SectionAssignment(region=region, sectionName='Section-1', offset=0.0, offsetType=MIDDLE_SURFACE, offsetField='', thicknessAssignment=FROM_SECTION)findAt()内为十根纤维所对应的坐标位置,该方法适用于明确知晓结构几何分布的情况。
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删