1.删除单元
删除单元:普通的画网格方式画出的网格,不能删除。自下而上划分的网格才可以删除。如下图。
普通的画网格方式画出的网格,不可删除单元element
自下而上划分的网格,可删除单元element
2.单元label
网格单元的label可用查询功能查询出来。整数int类型12633即为高亮显示单元的label,如下图。Label是单元特有标签(类似于名称),各单元的label均不同。后续可以按照label删除相应的单元。
单元标签:element label
3.根据单元label寻找单元的函数:getFromLabel(...)函数
mdb.models['Model-1'].parts['TplateB'].elements.getFromLabel(label=label)
需要的变量:单元的label(int整数型数据)
返回的数据类型:MeshElement object
getFromLabel函数使用方法介绍
4.删除多个单元的代码
删除单元的函数:deleteElement()。
p.deleteElement(elements=elements_array,deleteUnreferencedNodes=ON)
需要的变量:A sequence of MeshElement objects (即MeshElementArray object)
deleteElement()函数使用方法介绍
MeshElementArray object类型:A sequence of MeshElement objects( MeshElement objects的序列)。
MeshElementArray object数据类型介绍
将MeshElement objects转为MeshElementArray object的函数:MeshElementArray(...)
需要的变量:MeshElement的列表类型。
MeshElementArray(...)函数介绍
5.附:完整代码
int_list=[11,22,33] #int_list为列表,存放int整数||即单元label
p = mdb.models['Model-1'].parts['part-1'] #针对某part进行删除网格操作
e = p.elements
elements_num=[]
for i in range(len(int_list)):
label=int_list[i]
elements=mdb.models['Model-1'].parts['part-1'].elements.getFromLabel(label=label) #按照label选取element,并存入列表elements_num
elements_num.append(elements)
elements_array=mesh.MeshElementArray(elements_num) #将列表elements_num转为elements_array类型
p.deleteElement(elements=elements_array, deleteUnreferencedNodes=ON) #删除相应单元
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删