2012
Table Of Contents
- Contents
- Basic Customization
- Overview of Customization
- Organize Program and Support Files
- Customize a Publish to Web Template
- Define Custom Commands
- Record and Modify Action Macros
- Custom Linetypes
- Custom Hatch Patterns
- User Interface Customization
- Understand User Interface Customization
- Work with the Customize User Interface (CUI) Editor
- Create and Manage Customization Files
- Customize Commands
- Overview of Commands
- Create, Edit, and Reuse Commands
- Create Macros
- Overview of Macros
- Use Special Control Characters in Macros
- Pause for User Input in Macros
- Provide International Support in Macros
- Use Built-in Commands in Macros
- Repeat Commands in Macros
- Use Single Object Selection Mode in Macros
- Use Macros to Swap User Interface Elements
- Use Conditional Expressions in Macros
- Use AutoLISP in Macros
- Control the Display of Command Items
- Assign Search Tags
- Create Tooltips and Extended Help for Commands
- Create Status Line Help Messages
- Create and Manage Images for Commands
- Customize User Interface Elements
- Load an AutoLISP File
- Customize Workspaces
- Transfer and Migrate Customization
- Customize User Interface (CUI) Editor FAQs
- DIESEL
- Slides and Command Scripts
- Introduction to Programming Interfaces
- Shapes and Shape Fonts
- Overview of Shape Files
- Create Shape Definition Files
- Shape Descriptions
- Vector Length and Direction Code
- Special Codes
- Use Special Codes
- Codes 0, 1, and 2: End of Shape and Draw Mode Control
- Codes 3 and 4: Size Control
- Codes 5 and 6: Location Save/Restore
- Code 7: Subshape
- Codes 8 and 9: X-Y Displacements
- Code 00A: Octant Arc
- Code 00B: Fractional Arc
- Codes 00C and 00D: Bulge-Specified Arcs
- Code 00E: Flag Vertical Text Command
- Text Font Descriptions
- Sample Files
- Big Font Descriptions
- Unicode Font Descriptions
- Superscripts and Subscripts in SHX Files
- Migrate and Transfer Custom Settings and Files
- Index
DIESEL Expressions in Macros
You can use DIESEL string expressions in customization (CUI) files as an
additional method of creating macros.
These expressions can return string values (text strings) in response to standard
AutoCAD commands, AutoLISP and ObjectARX
®
routines, and other macros.
They can also return string values to the menu itself, thereby altering the
appearance or content of a menu label.
A DIESEL expression that you use in a menu item must follow the
$section=submenu format where the section name is M and the submenu is
the DIESEL expression you want. Frequently, you can implement a macro
more easily with AutoLISP.
The following examples show two menu items that produce the same result;
one uses DIESEL, and the other uses AutoLISP.
This menu item uses the DIESEL expression:
^C^C^P$M=$(if,$(=,$(getvar,cvport),1),mspace,pspace)
This menu item uses the AutoLISP expression:
^C^C^P(if (= (getvar "cvport") 1)(command "mspace")+
(command "pspace"))(princ) ^P
Both menu items provide a way to switch between paper space and model
space (if TILEMODE is set to 0), but the DIESEL expression is shorter and is
evaluated transparently, not requiring the call to the AutoLISP princ function.
If the special character ^P (which switches MENUECHO on and off) is omitted
in both cases, the DIESEL expression displays only the issued command,
whereas the AutoLISP expression displays the entire line of code.
Because the value returned by a DIESEL expression is a text string, it can be
used in response to an AutoLISP getxxx function call. This functionality
enables menu items to evaluate current drawing conditions and to return a
value to an AutoLISP routine.
The next example is based on these assumptions:
■ The AutoLISP routine is loaded into memory.
■ The CUI excerpt is included in the current customization file.
■ The symbols to insert are one unit high by one unit wide.
DIESEL Expressions in Macros | 393