Python 如何在ABAQUS中获取顶点类型对象的索引?

Python 如何在ABAQUS中获取顶点类型对象的索引?,python,abaqus,vertex-array,Python,Abaqus,Vertex Array,背景: 我试图在Abaqus中创建一个脚本,该脚本将自动为所有面在顶点之间创建分区。分区并不完美,但用户可以轻松删除额外的分区 问题: v1看起来像一本字典 ({'featureName':'Solid extrude-1','index':1,'instanceName':None,'isReferenceRep':False,'pointOn':((10.0,-10.0,20.0),))}所以我尝试按其索引对其排序(第5行) 如何获取ABAQUS中顶点类型对象的索引,即“索引”:1 >

背景: 我试图在Abaqus中创建一个脚本,该脚本将自动为所有面在顶点之间创建分区。分区并不完美,但用户可以轻松删除额外的分区

问题: v1看起来像一本字典
({'featureName':'Solid extrude-1','index':1,'instanceName':None,'isReferenceRep':False,'pointOn':((10.0,-10.0,20.0),))}
所以我尝试按其索引对其排序(第5行)

如何获取ABAQUS中顶点类型对象的索引,即“索引”:1

>>> p = mdb.models[myString].parts[myPart] 
>>> f = p.faces 
>>> pickedFaces = f[:] 
>>> v1, e1, d1 = p.vertices, p.edges, p.datums 
>>> pickedFaces_r=sorted(pickedFaces, key = lambda k:k['index'], reverse=True) 
#reverse picked faces due to additional faces and nodes problem
TypeError: 'Face' object has no attribute '__getitem__'
我的调试尝试

打印(v1[1]) ({'featureName':'Solid extrude-1','index':1,'instanceName':无,'isReferenceRep': False,'pointOn':((10.0,-10.0,20.0),)} #它看起来像一本字典,所以我以为它是一本。 >>>打印(v1[1]。获取['index']) **AttributeError:“顶点”对象没有属性“get”** >>>a=v1[1] >>>打印(a.get['index']) **AttributeError:“顶点”对象没有属性“get”** >>>打印(a.值()) **AttributeError:“顶点”对象没有属性“值”** >>>印刷品(a型)
所有Abaqus的内部对象都是专门开发的类,这些类可能(在某种程度上)与标准Python类型类似。例如,正如您所发现的,如果您试图打印其中的一些,您可能会有一个类似于字典的表示,这并不意味着它是一个字典

了解如何处理对象的两种最佳方法是:

  • 看看这个世界
  • 使用标准python库中的方法
  • 因此,在您的特殊情况下,您可以:

    pickedFaces\u r=sorted(pickedFaces,key=lambda k:k.index,reverse=True)
    
    此外,这一行是不必要的:

    pickedFaces=f[:]
    
    谢谢。我最终使用字符串操作来提取坐标。但是你的方法更有效。如果它解决了你的问题,请接受答案。另加评论。
    >>> print(v1[1])
    ({'featureName': 'Solid extrude-1', 'index': 1, 'instanceName': None, 'isReferenceRep': 
    
    False, 'pointOn': ((10.0, -10.0, 20.0),)}) 
    #It looks like a dictionary so I thought it was one.
    
    >>> print(v1[1].get['index'])
    **AttributeError: 'Vertex' object has no attribute 'get'**
    
    >>> a=v1[1]
    >>> print(a.get['index'])
    **AttributeError: 'Vertex' object has no attribute 'get'**
    
    >>> print(a.values())
    **AttributeError: 'Vertex' object has no attribute 'values'**
    
    >>> print(type(a))
    <type 'Vertex'>