如何在abaqus python脚本中引用findAt列表/元组

如何在abaqus python脚本中引用findAt列表/元组,python,brackets,abaqus,Python,Brackets,Abaqus,对于abaqus,我正在编写一个脚本,它使用来自不同文件的点来创建结构。为了在abaqus中创建集合,使用findAt命令 db.models['Model-1'].parts['Part-1'].Set(edges= mdb.models['Model-1'].parts['Part-1'].edges.findAt(tensionList), name='Tension') 张力列表: tensionList = [([0.75, 1.25, 0.0], ()), ([0.

对于abaqus,我正在编写一个脚本,它使用来自不同文件的点来创建结构。为了在abaqus中创建集合,使用findAt命令

    db.models['Model-1'].parts['Part-1'].Set(edges=
mdb.models['Model-1'].parts['Part-1'].edges.findAt(tensionList), name='Tension')
张力列表:

    tensionList = [([0.75, 1.25, 0.0], ()), ([0.25, 0.75, 0.0], ()), ([0.75, 0.25, 0.0], ()), ([0.5, 2.0, 0.0], ()), ([0.0, 1.5, 0.0], ()), ([0.25, 1.75, 0.0], ()), ([1.0, 1.5, 0.0], ())]
在abaqus中运行此脚本时,会发生以下错误:

TypeError:arg1;参数太多;应为1,得到7

但是,当从tensionList中删除外括号[]并将其直接放在脚本中时,脚本确实起作用:

    mdb.models['Model-1'].parts['Part-1'].Set(edges=
mdb.models['Model-1'].parts['Part-1'].edges.findAt(([0.75, 1.25, 0.0], ()), ([0.25, 0.75, 0.0], ()), ([0.75, 0.25, 0.0], ()), ([0.5, 2.0, 0.0], ()), ([0.0, 1.5, 0.0], ()), ([0.25, 1.75, 0.0], ()), ([1.0, 1.5, 0.0], ())), name='Tension')        
(脚本无法使用外括号[]粘贴脚本中的所有内容,但如果在tensionList中删除外括号并参照示例1,也会发生相同的错误)

我怎样才能解决这个问题而不必照搬过去的一切。(过程将有许多迭代和很长的列表)

编辑:通过使用边索引解决(仍然感兴趣的是如何使用findAt解决这个问题)

index=0
而索引<(len(压缩成员索引)+len(拉伸成员索引)):
mdb.模型['Model-1'].零件['Part-1'].集合(边=
mdb.模型['Model-1'].零件['Part-1'].边[index:index+1],
名称=aSetCreating[索引])
指数+=1

我想在几个地方有一组额外的括号。。。 下面的代码以所示的格式为我工作,输入为x,y,z

findAt((x, y, z),)
一种可能的解决方法是创建xyz坐标的列表,并使用findAt使用循环引用该列表

x=[1,2,3]
y=[4,5,6]
z[7,8,9]
edgeslist=[]
numedges=5
    for i in xrange(numedges)
        edgeslist.append( findAt((x[i], y[i], z[i]),) )
或者,如果边位于方便的路径上,则始终可以使用findAt获取一条边,然后使用getEdgesByEdgeAngle(…)

x=[1,2,3]
y=[4,5,6]
z[7,8,9]
edgeslist=[]
numedges=5
    for i in xrange(numedges)
        edgeslist.append( findAt((x[i], y[i], z[i]),) )