Запись выражений с условным оператором «If/Else» в менеджере параметров

Аватар пользователя Druzhinin
0 1313

Иногда в расчетах приходится применять параметрические величины, меняющие свое значение в зависимости от некоторых условий. Это, например, могут быть нагрузки или граничные условия, появляющиеся, исчезающие или меняющие свое значение при удовлетворении заданных условий.

Ниже на нескольких примерах будет показано как это можно сделать.

В первом случае выражение для параметра P3 определяет, какой из двух радиусов отверстия будет выбран в зависимости от его местоположения. Обратите внимание также на конвертацию единиц измерения.

Будьте внимательными с единицами измерения. Если записать их некорректно, то программа выдаст ошибку.

 

Допускается также запись и более сложных выражений с if/else. Поскольку поле ввода не позволяет записывать выражения через точку с запятой, то пользователю придется записать длинное выражение одной строчкой. Этот подход рекомендуется использовать для задания входных параметров, ступенчато изменяющихся в зависимости от каких-то других параметров. Во втором примере количество отверстий в детали задается в соответствии с последовательностью Фибоначчи. Более близким к реальности примером может служить выбор стандартных размеров.

Обратите внимание, что формат записи имеет следующий вид: «значение1 (если True) if условие1 else значение1 (если False)  значение2 (если True) if условие2 ... else значение n (если False)».

 

Выражения, конечно же, можно записывать и с участием выходных параметров. В следующем примере задан новый выходной параметр. Затем он был использован для записи условия, выдающего пользователю в результате ответ «Да» или «Нет».

Ниже приведены несколько примеров с условным оператором if/else:

Простое выражение

  • 500 if P1 == 15 else 250

С несколькими параметрами

  • 500 if P1 + P3 < 15 else 250

С единицами измерения

  • 500 [N] if P1 == 15 [mm] else 250 [N]

С интервалом

  • 500 [N] if 5 [mm] < P1 < 15 [mm] else 250 [N]

С операторами и/или

  • 500 [MPa] if P1 < 15 [mm] and P3 >= 50 [m s^-1] else 250 [MPa]
  • 500 [MPa] if P1 < 15 [mm] or P3 >= 50 [m s^-1] else 250 [MPa]

С несколькими условиями

  • 2 if P1 >= 8 else 2.25 if P1 == 7 else 2.5 if P1 == 6 else 

 

 

Материал статьи взят с сайта http://www.ansys-blog.com/

 

 

Добавить комментарий

Войдите или зарегистрируйтесь, чтобы отправлять комментарии