如何使用Abaqus python获取表面节点?

问题描述

如果外表面是平坦的,我曾经使用 getBoundingBox() 来获取表面节点。现在如果表面不平坦,我可以使用什么替代方法来选择外表面上的节点?非常感谢

    bottom_face=modelInstane.nodes.getByBoundingBox(xMin=X_tolernce*-1,xMax=Model_Width_I+X_tolernce,yMin=Y_tolernce*-1,yMax=Model_Width_J+Y_tolernce,zMin=ZBot_Under-Z_tolernce,zMax=ZBot_Under+Z_tolernce)

解决方法

如果模型中已经存在网格曲面,则可以使用:

# Considering "mesh_surf" is the mesh surface name.
inst = mdb.models['Model-1'].rootAssembly.instances['Part-1-1']
surf = inst.surfaces['mesh_surf']
surf_nodes = surf.nodes

网格表面是与网格相关的表面,而不是与几何体相关联的表面。
网格面是内部使用单元面创建的,几何面是使用几何面创建的。