如何在abaqus的python中修复此循环错误?

时间:2019-07-18 17:41:44

标签: python abaqus

我创建了一个包含不同部分的abaqus模型,并且每个部分具有相同的节点编号。我正在尝试制作一个包含所有节点的labale为180的集合。 我编写了此循环,但它仅占用了最后一部分的节点。如何更正此脚本以从各个部分获取所有标签均为180的节点?

for j in range(1,n):

    mdb.models['Model-1'].rootAssembly.SetFromNodeLabels(nodeLabels=(('part-'+str(j), (180, )), ), name='SETofNode180')

1 个答案:

答案 0 :(得分:0)

在for循环的每次迭代中,都会创建一个新的节点集并覆盖任何现有的节点集。这就是为什么您只看到一个列表中最后一部分包含一个节点的节点集的原因。

您应该分别构造节点标签列表,然后调用SetFromNodeLabels,并向其传递所有节点标签的列表。

nodeLabels = []

for j in range(1,n):
    nodeLabels.append( ('part-'+str(j), (180, )) )

mdb.models['Model-1'].rootAssembly.SetFromNodeLabels(nodeLabels=nodeLabels, name='SETofNode180')