Использование условных выражений в макросах
 
 
 

Условные выражения можно добавлять в макрос путем использования команды, содержащей макровыражения на языке DIESEL.

Для этого используется формат:

$M=выражение

При использовании в начале макроса $M= программа AutoCAD интерпретирует строку как выражение DIESEL, а выражение - как выражение DIESEL. В следующем примере приведено определение условного выражения в макросе:

FILLMODE $M=$(-,1,$(getvar,fillmode))

Макрос переключает состояние переменной FILLMODE. Для этого текущее значение FILLMODE вычитается из 1, а полученное значение затем возвращается в переменную FILLMODE. Можно использовать этот метод, чтобы переключать системные переменные, допустимыми значениями для которых являются 1 или 0.

Прерывание выполнения макроса, содержащего условные выражения

Если для выполнения проверок “если-то” используется строка на языке DIESEL, условия могут возникать в тех случаях, когда нельзя использовать обычные, прерывающие работу пробел или точку с запятой (в результате нажатия ENTER). Если в конец макроса добавлены символы ^Z, AutoCAD не будет добавлять пробел (ENTER) в конец выражения.

Как и другие управляющие символы, символ ^Z, используемый здесь, является строкой, состоящей из символа крышки ^ и буквы Z . Символ не является результатом нажатия клавиш CTRL+Z.

В следующих примерах символ ^Z используется в качестве указателя конца макроса.

^C^C$M=$(if,$(=,$(getvar,tilemode),0),$S=mview _mspace )^Z
^C^C$M=$(if,$(=,$(getvar,tilemode),0),$S=mview _pspace )^Z

Если бы в конце макроса не стоял символ ^Z, AutoCAD автоматически добавляла бы пробел (ENTER) для повтора последней введенной команды.

См. также