About Using AutoLISP in Macros
Creating commands that use AutoLISP is a more advanced way to use the program’s customization
You can use AutoLISP variables and expressions to create macros that perform complex
tasks. When the program loads a CUI/CUIx file, it also loads a MNL file with the same
name and in the same location. Placing AutoLISP code in a MNL file is an efficient
way to load custom commands that can be used in a macro.
User Interface (CUI) Editor. Creating commands that use AutoLISP is a more advanced
way to use the program’s customization feature. Experimentation and practice will
help you use this feature effectively.
- Preset Values
This example is composed of three command macros that are used to insert a block.
Command macro prompts for the window width.
^C^C^P(setq WINWID (getreal " Enter window width: ")) ^P
Command macro prompts for the wall thickness.
^C^C^P(setq WALLTHK (getreal " Enter wall thickness: ")) ^P
Command macro inserts a block named “window” and prompts for the insertion point and
^C^C_INSERT window XScale !WINWID YScale !WALLTHK
The X axis of the block is to the current window width and its Y axis to the current wall thickness.
- Resize Grips
This example contains two command macros that increase or decrease the current value
of the GRIPSIZE system variable.
Command macro increases the value of the GRIPSIZE system variable by 1.
^P(setvar "gripsize"(1+ (getvar "gripsize")))(redraw)(princ)
Command macro decreases the value of the GRIPSIZE system variable by 1.
^P(setvar "gripsize"(1- (getvar "gripsize")))(redraw)(princ)
To add validity checking to these command macros, values less than 0 and greater than
255 cannot be used for the GRIPSIZE system variable.
- Prompt for User Input
The following example prompts for two points and draws a rectangular polyline with
the specified points as its corners.
^P(setq a (getpoint "Enter first corner: "));+ (setq b (getpoint "Enter opposite corner: "));+ pline !a (list (car a)(cadr b)) !b (list (car b)(cadr a)) c;^P
- Call a Macro Assigned to a Pull-down Menu Item (Windows only)
Using the following syntax, you can programmatically execute a pull-down menu item’s
The previous syntax works only if the menu item is part of a menu that is on the program’s
menu bar and is available for use.