Status retrieval, computation, and display are performed by DIESEL functions. The available functions are described in the table.
Note: All functions have a limit of 10 parameters, including the function name itself. If this limit is exceeded, you get a DIESEL error message.
+ (addition)
Returns the sum of the numbers val1, val2, ..., val9.
$(+, val1 [, val2, ..., val9] )
If the current thickness is set to 5, the following DIESEL string returns 15.
$(+, $(getvar,thickness),10)
- (subtraction)
Returns the result of subtracting the numbers val2 through val9 from val1.
$(-, val1 [, val2 , ..., val9] )
*(multiplication)
Returns the result of multiplying the numbers val1, val2, ..., val9.
$(*, val1 [, val2, ..., val9] )
/ (division)
Returns the result of dividing the number val1 by val2, ..., val9.
$(/, val1 [, val2, ..., val9] )
= (equal to)
If the numbers val1 and val2 are equal, the string returns 1; otherwise, it returns 0.
$(=, val1, val2)
< (less than)
If the number val1 is less than val2, the string returns 1; otherwise, it returns 0.
$(< , val1, val2)
The following expression gets the current value of the HPANG system variable; if the value is less than the value stored in the USERR1 system variable, it returns 1. If the value 10.0 is stored in USERR1 and the current setting of HPANG is 15.5, the following string returns 0.
$(<, $(getvar,hpang),$(getvar,userr1))
> (greater than)
If the number val1 is greater than val2, the string returns 1; otherwise, it returns 0.
$(>, val1, val2)
!= (not equal to)
If the numbers val1 and val2 are not equal, the string returns 1; otherwise, it returns 0.
$(!=, val1, val2)
<= (less than or equal to)
If the number val1 is less than or equal to val2, the string returns 1; otherwise, it returns 0.
$(<=, val1, val2)
>= (greater than or equal to)
If the number val1 is greater than or equal to val2, the string returns 1; otherwise, it returns 0.
$(>=, val1, val2)
and
Returns the bitwise logical AND of the integers val1 through val9.
$(and, val1 [, val2,..., val9] )
angtos
Returns the angular value in the format and precision specified.
$(angtos, value [, mode, precision] )
Edits the given value as an angle in the format specified by the mode and precision. (For mode values, see Example: Angular Units Values.) If mode and precision are omitted, it uses the current values chosen by UNITS.
edtime
Returns a formatted date and time based on a given picture.
$(edtime, time, picture)
Edits the AutoCAD LT Julian date given by time (obtained, for example, from $(getvar,date) according to the given picture). The picture consists of format phrases replaced by specific representations of the date and time. Characters not interpretable as format phrases are copied literally into the result of $(edtime). See Example: Edtime Format Phrases.
eq
If the strings val1 and val2 are identical, the string returns 1; otherwise, it returns 0.
$(eq, val1, val2)
The following expression gets the name of the current layer; if the name matches the string value stored in the USERS1 system variable, it returns 1. Assume the string "PART12" is stored in USERS1 and the current layer is the same.
$(eq, $(getvar,users1),$(getvar,clayer))
eval
Passes the string str to the DIESEL evaluator and returns the result of evaluating it.
$(eval, str)
fix
Truncates the real number value to an integer by discarding any fractional part.
$(fix, value)
getenv
Returns the value of the environment variable varname.
$(getenv, varname)
If no variable with that name is defined, it returns the null string.
getvar
Returns the value of the system variable with the given varname.
$(getvar, varname)
if
Conditionally evaluates expressions.
$(if, expr, dotrue [, dofalse] )
If expr is nonzero, it evaluates and returns dotrue. Otherwise, it evaluates and returns dofalse. Note that the branch not chosen by expr is not evaluated.
index
Returns the specified member of a comma-delimited string.
$(index, which, string)
Assumes that the string argument contains one or more values delimited by the macro argument separator character, the comma. The which argument selects one of these values to be extracted, with the first item numbered 0. This function is most frequently used to extract X, Y, or Z coordinates from point coordinates returned by $(getvar).
Applications can use this function to retrieve values stored as comma-delimited strings from the USERS15 system variables.
linelen
Returns the length, in characters, of the longest status line that the display can present to the user.
$(linelen)
You can use this to vary the format of the status line, depending on the display capacity. This is useful for MODEMACRO status-line configuration only.
nth
Evaluates and returns the argument selected by which.
$(nth, which, arg0 [, arg1,..., arg7] )
If which is 0, nth returns arg0, and so on. Note the difference between $(nth) and $(index); $(nth) returns one of a series of arguments to the function, while $(index) extracts a value from a comma-delimited string passed as a single argument. Arguments not selected by which are not evaluated.
or
Returns the bitwise logical OR of the integers val1 through val9.
$(or, val1 [, val2,..., val9] )
rtos
Returns the real value in the format and precision specified.
$(rtos, value [, mode, precision] )
Edits the given value as a real number in the format specified by mode and precision. If mode and precision are omitted, it uses the current values selected with the UNITS command.
strlen
Returns the length of string in characters.
$(strlen, string)
substr
Returns the substring of string, starting at character start and extending for length characters.
$(substr, string, start [, length] )
Characters in the string are numbered from 1. If length is omitted, it returns the entire remaining length of the string.
upper
Returns the string converted to uppercase according to the rules of the current locale.
$(upper, string)
xor
Returns the bitwise logical XOR of the integers val1 through val9.
$(xor, val1 [, val2,..., val9] )