如何修复 abaqus python 中的循环错误?
How to fix this loop error in python for abaqus?
我创建了一个包含不同部分的 abaqus 模型,每个部分都有相同的节点编号。我正在尝试制作一个包含标签为 180 的所有节点的集合。
我写了这个循环,但它只需要最后一部分的节点。我如何更正此脚本以从所有部分获取标签为 180 的所有节点?
for j in range(1,n):
mdb.models['Model-1'].rootAssembly.SetFromNodeLabels(nodeLabels=(('part-'+str(j), (180, )), ), name='SETofNode180')
通过 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')
我创建了一个包含不同部分的 abaqus 模型,每个部分都有相同的节点编号。我正在尝试制作一个包含标签为 180 的所有节点的集合。 我写了这个循环,但它只需要最后一部分的节点。我如何更正此脚本以从所有部分获取标签为 180 的所有节点?
for j in range(1,n):
mdb.models['Model-1'].rootAssembly.SetFromNodeLabels(nodeLabels=(('part-'+str(j), (180, )), ), name='SETofNode180')
通过 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')