如何在Python脚本中定义圆形集

时间:2016-06-23 23:18:12

标签: python abaqus

我想在abaqus的Python脚本中定义set to circles。

for j in range (45):
    x=data[2*j]    # Coordinate X of the center of the circle 
    y=data[2*j+1]  # Coordinate X of the center of the circle
                  # r = Radius circle
    print  (mdb.models['Model-1'].rootAssembly.instances
        ['matrix-1'].edges.findAt((x+r,y,0),)) 

    mdb.models['Model-1'].rootAssembly.Set(name='Set-%d'%(j+1), edges=
    mdb.models['Model-1'].rootAssembly.instances
        ['matrix-1'].edges.findAt((x+r,y,0),))

现在我无法定义圆形

的设置

我很感激帮助

Image of the model

1 个答案:

答案 0 :(得分:0)

你需要向findAt提供一个“元组元组”,以便它返回一个序列:

edges=mdb.models['Model-1'].rootAssembly.instances
    ['matrix-1'].edges.findAt(((x+r,y,0),),)  

交替获取找到的边的索引并构建自己的序列:

 assem=mdb.models['Model-1'].rootAssembly
 instance=assem.instances['matrix-1']
 ind=instance.edges.findAt((x+r,y,0),).index
 assem.Set(name='Set-%d'%(j+1),edges=instance.edges[ind:ind+1])

我假设你的print工作了。如果你得到一个“未找到边缘”的错误则是另一回事。