在ABAQU中自动删除部分的整个单元格的脚本

2024-07-03 05:58:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试编写一个脚本来删除ABAQUS中某个部分中的单元,如果单元体积小于给定值。 有没有一个简单的命令来删除单元格?在

这就是我所尝试的:

# Keeps cells bigger than a certain minimum value 'paramVol': paramVol=volCell/part_volume_r
cellsVolume = []
pfacesInter_clean = []
allCells = pInterName.cells
mask_r = pInter.cells.getMask();
cellobj_sequence_r = pInter.cells.getSequenceFromMask(mask=mask_r);
part_volume_r = pInterName.getVolume(cells=cellobj_sequence_r);
volume_sliver = 0
# get faces
for i in range(0, len(allCells)):
    volCell = allCells[i].getSize()
    cellsVolume.append(volCell)
    paramVol = volCell / part_volume_r
    print 'paramVol= '+str(paramVol)
    if paramVol < 0.01:
        print 'liver Volume'
        #session.viewports['Viewport: 1'].setColor(initialColor='#FF0000') #-->RED
        faces = allCells[i].getFaces()
        highlight(allCells[i].getFaces())
        #pfacesInter_clean = [x for i, x in enumerate(pfacesInter) if i not in faces]
        volume_sliver += volCell
    else:
        print 'Not an sliver Volume'

谢谢!在


Tags: incleanmask单元printcellspartvolume
1条回答
网友
1楼 · 发布于 2024-07-03 05:58:43

假设pInter是一个Part对象,这个怎么样:

pInter.RemoveFaces(faceList=[pInter.faces[j] for j in pInter.cells[i].getFaces()])

更新:一旦两个单元的公共面被删除,这两个单元将不再存在。因此,我们需要做一些工作:

^{pr2}$

相关问题 更多 >