Abaqus自动化建模对Region的处理

对region的处理中通常会遇到要求的输入是Geomsequence类型,而很容易传入Feature类型导致报错,关于这两种类型的解释和用法可以参考如下:
http://t.csdn.cn/IYnYZ
http://t.csdn.cn/O1KH2

特别注意的是通常的边、面不可以像参考点那样直接调id的方式来写
例如如下创建了参考点:
rp1=mdb.models[‘Model-1’].rootAssembly.ReferencePoint(point=(0.0, 20.0, 0.0))
rp2=mdb.models[‘Model-1’].rootAssembly.ReferencePoint(point=(20.0, 0.0, 0.0))
如下操作则创建了一条边,在这个过程中通过对rp1(feature类型)调用id,然后在repository类型的referencePoints通过利用索引index(对于参考点来说id和index是一致的)
wire1=mdb.models[‘Model1’].rootAssembly.WirePolyLine(mergeType=IMPRINT, meshable=OFF,
points=((mdb.models[‘Model-1’].rootAssembly.referencePoints[rp1.id], mdb.models[‘Model-1’].rootAssembly.referencePoints[rp2.id]), ))

但边的index和id则不一致
myedges=mdb.models[‘Model-1’].rootAssembly.edges
mdb.models[‘Model-1’].rootAssembly.SectionAssignment(region=Region(
edges=myedges[wire1.id]+myedges[wire2.id] ), sectionName=‘ConnSect-1’)
则会报错超出索引
这是因为myedges(edgearray类型)的index是从0按照顺序排列的,和feature的id并不一致
这样操作即可
mdb.models[‘Model-1’].rootAssembly.SectionAssignment(region=Region(
edges=myedges ), sectionName=‘ConnSect-1’)
另外,sequence支持利用index加法:
cells=c[4:5]+c[6:7]+c[14:15]+c[16:18]+c[19:20]

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值