2012

Table Of Contents
expression
Introducing the macro with $M= tells AutoCAD for Mac to evaluate a string as
a DIESEL expression, and that expression is the DIESEL expression. The following
example defines a conditional expression in a macro:
FILLMODE $M=$(-,1,$(getvar,fillmode))
The macro switches the FILLMODE system variable on and off by subtracting
the current value of FILLMODE from 1 and returning the resulting value to
the FILLMODE system variable. You can use this method to toggle system
variables whose valid values are 1 or 0.
Termination of Macros That Contain Conditional Expressions
If you use the DIESEL string language to perform if-then tests, conditions
might exist where you do not want the normal terminating space or semicolon
(resulting in Enter). If you add ^Z to the end of the macro, AutoCAD for Mac
does not automatically add a space (Enter) to the end of the macro expression.
As with other control characters in commands, the ^Z used here is a string
composed of ^ (a caret) and Z and is not equivalent to pressing Ctrl-Z.
In the following examples, ^Z is used as a macro terminator.
^C^C$M=$(if,$(=,$(getvar,tilemode),0),$S=mview _mspace )^Z
^C^C$M=$(if,$(=,$(getvar,tilemode),0),$S=mview _pspace )^Z
If these macros did not end with ^Z, AutoCAD for Mac would automatically
add a space (Enter), repeating the last command entered.
See also:
Use Special Control Characters in Menu Macros (page 40)
DIESEL (page 61)
Use AutoLISP in Macros
Creating commands that use AutoLISP is a more advanced way to use the
AutoCAD for Mac customization feature.
You can use AutoLISP variables and expressions to create macros that perform
complex tasks. To use AutoLISP efficiently in macros, place AutoLISP code in
46 | Chapter 4 User Interface Customization