获得节点的问题协调Abaqus Python API

时间:2016-07-07 11:39:30

标签: python indexing abaqus

我正在检查表面下方的元素是否有标签和&以下代码中的节点坐标

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'对象没有属性'坐标'

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

1 个答案:

答案 0 :(得分:1)

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

surfNodesCoords = [Node.coordinates for Node in SurfNodes]

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

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