对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并不一致
这样操作即可

免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删