在Python中创建Abaqus集

时间:2019-02-26 08:13:00

标签: python abaqus

我想使用Python在Abaqus中创建带有边缘的几何集。我不会事先知道边缘的数量。尝试将边缘放入数组中,然后创建Set。

myEdgesForSet = []

for i in range(0, len(mdb.models['Model'].parts['Part'].edges)):
    if 'something' in mdb.models['Model'].parts['Part'].edges[i].featureName:
        myEdgesForSet.append(mdb.models['Model'].parts['Part'].edges[i])     

mdb.models['Model'].parts['Part'].Set(edges=myEdgesForSet, name='Set')

所以此代码无效,我也不明白为什么。即使我尝试以下操作,也无法正常工作:

mdb.models['Model'].parts['Part'].Set(edges=myEdgesForSet[0], name='Set')

所以我尝试了另一种方法:

myEdgesForSet = []

for i in range(0, len(mdb.models['Model'].parts['Part'].edges)):
    if 'something' in mdb.models['Model'].parts['Part'].edges[i].featureName:
        myEdgesForSet.append(mdb.models['Model'].parts['Part'].edges[i].pointOn[0])     

mdb.models['Model'].parts['Part'].Set(edges=mdb.models['Model'].parts['Part'].edges.findAt((myEdgesForSet, )), name='Set')

哪个无效,但这可行:

mdb.models['Model'].parts['Part'].Set(edges=mdb.models['Model'].parts['Part'].edges.findAt((myEdgesForSet[0], )), name='Set')

真的很想提出一些建议,说明如何制作功能未知的Set。

谢谢!

1 个答案:

答案 0 :(得分:1)

我解决了这个问题。如果其他人有同样的问题:

myEdgesForSet = []

for i in range(0, len(mdb.models['Model'].parts['Part'].edges)):
    if 'something' in mdb.models['Model'].parts['Part'].edges[i].featureName:
        myEdgesForSet.append(mdb.models['Model'].parts['Part'].edges[i:i+1])     

mdb.models['Model'].parts['Part'].Set(edges=myEdgesForSet, name='Set')