获取节点坐标的问题 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。问题的第一部分工作正常。节点数大于元素数
我在下面的代码中检查表面下的元素的标签和节点坐标,
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。问题的第一部分工作正常。节点数大于元素数