Условные выражения можно добавлять в макрос путем использования команды, содержащей макровыражения на языке DIESEL.
Для этого используется формат:
$M=выражение
$M= программа AutoCAD интерпретирует строку как выражение DIESEL, а выражение - как выражение DIESEL. В следующем примере приведено определение условного выражения в макросе:
При использовании в начале макросаFILLMODE $M=$(-,1,$(getvar,fillmode))
FILLMODE. Для этого текущее значение FILLMODE вычитается из 1, а полученное значение затем возвращается в переменную FILLMODE. Можно использовать этот метод, чтобы переключать системные переменные, допустимыми значениями для которых являются 1 или 0.
Макрос переключает состояние переменнойПрерывание выполнения макроса, содержащего условные выражения
^Z, AutoCAD не будет добавлять пробел (ENTER) в конец выражения.
Если для выполнения проверок “если-то” используется строка на языке DIESEL, условия могут возникать в тех случаях, когда нельзя использовать обычные, прерывающие работу пробел или точку с запятой (в результате нажатия 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) для повтора последней введенной команды.
Если бы в конце макроса не стоял символ