About-DIESEL-Expressions-in-Macros

About DIESEL Expressions in Macros

About DIESEL Expressions in Macros

You can use DIESEL string expressions in customization (CUI/CUIx) files as an additional
method of creating macros and a way to change a pull-down menu label.

A DIESEL expression can be used with a user interface element and must follow the
$section=submenu format; where the section name is M and the submenu is the DIESEL expression you want.

Consider the following example:

^C^C^P$M=$(if,$(=,$(getvar,cvport),1),mspace,pspace)

This DIESEL expression provides a way to toggle between model space and paper space
based on the current value of the CVPORT system variable. When CVPORT is set to 1,
the MSPACE command is executed; otherwise, the PSPACE command is executed. This expression
is evaluated transparently. If the special character ^P (which toggles MENUECHO on
and off) is omitted, the expression displays only the issued command.

The DIESEL expression in the following example is used to multiply the current value
of DIMSCALE by a value of 0.5 to calculate the scale factor when inserting the Note
block with the -INSERT command.

^C^C-insert;note;0,0;$M=$(*,$(getvar,dimscale),0.5);;0;

DIESEL expressions can also be used to define the label of a pull-down menu item,
so that you can make menus unavailable or otherwise alter the way they are displayed.
Make sure that the first character is the $ character when using a DIESEL expression in a pull-down menu label.

In this example, the current layer is set to BASE and the following DIESEL expression
is used as the label for a pull-down menu.

$(eval,"Current layer: " $(getvar,clayer))

The result is that the appropriate pull-down menu is displayed and updated whenever
the current layer changes.

Current Layer: BASE

NOTE:The width of pull-down and shortcut menus is determined when the customization file
is being loaded. Menu labels generated or changed by DIESEL expressions after a menu
is loaded are truncated to fit within the existing menu width.

If you anticipate that a DIESEL-generated menu label will be too wide, you can use
the following example to ensure that the menu width will accommodate your labels.
This example displays the first 10 characters of the current value of the CLAYER system
variable.

$(eval,"Current value: " $(substr,$(getvar,clayer),1,10))

You cannot use trailing spaces in a menu label to increase the menu width, because
trailing spaces are ignored while the menu is being loaded. Any spaces you use to
increase the width of a menu label must be within a DIESEL expression.

The next example uses the same DIESEL expression as the label and a portion of the
menu item. It provides a practical way to enter the current day and date into a drawing.

Menu label

$(edtime,$(getvar,date),DDD", "D MON YYYY)

Macro

^C^Ctext  $M=$(edtime,$(getvar,date),DDD", "D MON YYYY);

Also, you can use a DIESEL macro to mark pull-down menu labels or make them unavailable.
The following pull-down menu label displays as unavailable while a command is active.
The text is displayed normally when a command is not active.

$(if,$(eq,$(getvar,tilemode),1),~)&Polygonal Viewport

You can use a similar approach to place a mark beside a pull-down menu item or to
interactively change the character used for the mark.

$(if,$(and,$(getvar,ucsicon),1),!.)&On

Learning AutoCad

u can use DIESEL string expressions in customization (CUI/CUIx) files as an additional method of creating macros and a way to change a pull-down menu …DIESEL string expressions in customization (CUI) files as an additional method of creating macros. These expressions can return string values (text …DIESEL expressions return string values (text strings) that can be used as a response to … commands, AutoLISP, and ObjectARX ® routines, and other macros.expressions to a macro by using a command that introduces macro expressions written in DIESEL (Direct Interpretively Evaluated …macro for a custom command that creats an … What I would like to do is add a Diesel expression to this to evaluate the …DIESEL copies its input directly to the output until a macro character, “$” or quoted string is encountered. Quoted strings may be used to suppress evaluation of …… The DIESEL programming language. … You don't do LISP and you don't do menu macros. OK, maybe … You enter a DIESEL expression.… DIESEL ("Dumb Interpretively Evaluated String Expression … It's sometimes called a "macro language". … Using the Diesel Macro Languagediesel expression"+"increment" …to find examples of diesel macros that increment numbers? "I have only come here seeking knowledge.DIESEL string expressions in customization (CUI/CUIx) files as an additional method of creating macros and a way to change a pull-down menu …