获取节点坐标的问题 Abaqus Python API

Issues getting nodal coordinates Abaqus Python API

我在下面的代码中检查表面下的元素的标签和节点坐标,

mySurf = mdb.models['Model-1'].rootAssembly.surfaces['Surf-1']
surfEls = mySurf.elements[:]

surfNodes = []
for eNode in mySurf.nodes:
    surfNodes.append(eNode.coordinates)

这有些作用,但是当我检查每个列表的大小时,我得到的元素标签比我得到的节点坐标集多!

我还尝试了以下方法来获取节点坐标,

surfNodes = mySurf.nodes[:]
surfNodesCoords = surfNodes.coordinates[:]

但这只是抛出一个错误,

AttributeError: 'MeshSequence' 对象没有属性 'coordinates'

我承认这让我目瞪口呆。有没有人对上面使用的方法有更深入的了解,谁能给我解释一下这种行为?

问题是 MeshSequenceObject 没有方法 'coordinates'。但是,如果序列包含节点,MeshSequenceObject 的成员可能具有此方法。只需将它应用于序列的每个成员:

surfNodesCoords = [Node.coordinates for Node in SurfNodes]

后者将生成包含所有节点坐标的列表。

P.S。问题的第一部分工作正常。节点数大于元素数