Скрипты Abaqus: создание набора из объекта FacePython

Программы на Python
Anonymous
Скрипты Abaqus: создание набора из объекта Face

Сообщение Anonymous »

Я создал в Abaqus сценарий вытянутой детали p с помощью BaseSolidExtrume, которая затем представляет собой цилиндр (не обязательно круглый). Я хочу создать три набора: один для верхней и нижней поверхности и один для боковой поверхности.
Первые два легко выполнить с помощью

Код: Выделить всё

faces = p.faces
face_bot = faces.findAt((p_center_bot,))
face_top = faces.findAt((p_center_top,))
p.Set(faces=face_bot, name='Set-face-bot')
p.Set(faces=face_top, name='Set-face-top')
Но я не смог найти способ создать набор для боковой грани, даже если на данный момент у меня есть то преимущество, что это единственные 3 грани .
Я попробовал извлечь индексы face_bot, face_top с помощью

Код: Выделить всё

face_bot_idx = face_bot[0].index
face_top_idx = face_top[0].index
(обратите внимание, что face_bot и face_top имеют тип Sequence и содержат только один элемент каждый, поэтому я извлекаю элемент 0 в каждом случае) и исключая их из списка индексов трех лиц, поэтому я получаю индекс моего face_lat_0 с помощью

Код: Выделить всё

# Of the 3 faces, get the one not being bottom or top
face_lat_idx = [idx for idx in range(len(faces)) if ((idx!=face_bot_idx) and (idx!=face_top_idx))][0]
Но учитывая этот объект Face, мне не удалось создать необходимую последовательность face_lat.
Обратите внимание, что именованный аргумент face< /code> требует последовательности и, похоже, не принимает кортеж, например (face_lat_0,) или список, например [face_lat_0].
Если я прав, что список или кортеж использовать нельзя, мне нужно создать последовательность.
Я нашел метод getSequenceFromMask(. ..), но я не знаю, как сгенерировать маску для face_lat_0, учитывая его индекс.
В качестве альтернативы я мог бы попробовать использовать именованный аргумент xFaces , но я думаю, мне понадобится исключить последовательность, содержащую face_bot[0] и face_top[0], которую я опять же не знаю, как создать.
Есть идеи?
Возможно, связано (хотя я не нашел там ответа):

[*]Abaqus Surface getSequenceFromMask
[*]Abaqus получает объект лица
[*]Abaqus: скрипт для выбора элементов поверхность
[*]как выбрать part.surface в abaqus с помощью скрипта Python
[*]https://imechanica.org/node/15852


Подробнее здесь: https://stackoverflow.com/questions/788 ... ace-object

Вернуться в «Python»