Создание набора Abaqus в Python - PullRequest
0 голосов
/ 26 февраля 2019

Я хотел бы создать геометрический набор с ребрами в Abaqus, используя Python.Я не буду знать заранее количество ребер.Попытка поместить ребра в массив, а затем создать набор.

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')

Очень хотелось бы получить несколько советов о том, как я могу сделать Набор с неизвестным количеством функций.

Спасибо!

1 Ответ

0 голосов
/ 26 февраля 2019

Я решил проблему.Если у кого-то есть такая же проблема:

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')
...