|
|
DIESEL(DirectInterpretivelyEvaluatedStringExpressionLanguage)是指“直接解释求值的字符串表达式语言”。使用的DIESEL可以控制AutoCAD系统变量MODEMACRO的值,也可用来编写菜单宏,但只能用来处理字符串。 DIESEL的宏表达式格式如下: $(字符串函数名,函数参数1,函数参数2…) 其中,根据函数的不同,函数参数的个数可以为零或者多个,但最多为9个。在宏表达式的不同元素之间,不可以有任何空格。所有的宏表达式都必须以“$”符号开头。 可以在DIESEL中使用的函数如表35-1所示。 表35-1DIESEL函数一览表函数名 格式 说明 |
$( ,val1,val2,…) 返回字符串为全部数字之和 |
- $(-,val1,val2,…) 返回字符串为val1减去其他所有数字之差 |
* $(*,val1,val2,…) 返回字符串为全部数字之积 |
/ $(/,val1,val2,…) 返回字符串为val1除以其他所有数字之商 |
= $(=,val1,val2) 如果两个数字val1和val2相等,则返回字符串为1,否则为0 |
< $(<,val1,val2) 如果数字val1小于数字val2,则返回字符串为1,否则为0 |
> $(>,val1,val2) 如果数字val1大于数字val2,则返回字符串为1,否则为0 |
!= $(!=,val1,val2) 如果两个数字val1和val2不相等,则返回字符串为1,否则为0 |
<= $(<=,val1,val2) 如果数字val1小于等于数字val2,则返回字符串为1,否则为0 |
>= $(>=,val1,val2) 如果数字val1大于等于数字val2,则返回字符串为1,否则为0 |
and $(and,val1[,val2,...,val9]) 返回整数val1~val9的按位逻辑与 |
angtos $(angtos,value[,mode,precision]) 按指定的格式和精度返回角度值(注1) |
| 表35-1DIESEL函数一览表 edtime $(edtime,time,picture) 返回基于指定图片的格式化的日期和时间(注2) |
eq $(eq,str1,str2) 如果两个字符串str1和str2相同,则字符串返回1;否则返回0 |
eval $(eval,str) 将一个字符串传给DIESEL计算器,并返回计算结果 |
fix $(fix,value) 返回一个实数数字的整数部分 |
getenv $(getenv,varname) 返回环境变量varname的当前值;对于未定义的环境变量,则返回空字符串 |
getvar $(getvar,varname) 返回系统变量varname的值 |
if $(if,expr,dotrue[,dofalse]) 如果expr非零,则计算并返回dotrue的值;否则,计算并返回dofalse的值 |
index $(index,which,string) 返回由which选定的、以逗号分隔的字符串中指定的成员,其中第一项编号为0 |
linelen $(linelen) 返回用户所能见到的最长状态栏的字符长度。 |
nth $(nth,which,arg0[,arg1,...,arg7]) 计算并返回由which选定的参数的值,其中第一项编号为0 |
or $(or,val1[,val2,...,val9]) 返回整数val1~val9的按位逻辑或 |
rtos $(rtos,value[,mode,precision]) 按指定的格式和精度返回实数值 |
strlen 返回字符串的字符长度 |
substr $(substr,string,tart[,length]) 返回字符串string的子串,该子串从字符start开始,长度为length。 字符串中的字符从1开始编号;如果length被省略,则返回从字符start开始、到string末尾为止的子串 |
upper $(upper,string) 返回字符串string的大写 |
xor $(xor,val1[,val2,...,val9]) 返回整数val1~val9的按位逻辑异或 |
| 注1该函数根据参数“mode”和“precision”指定的格式,给定的参数“value”作为角度值进行编辑,如果参数“mode”和“precision”被省略,则使用由“unites”命令指定的当前值。参数“mode”的取值及其含义见表35-2。 表35-2“mode”的取值及其含义 Mode值 字符串格式 |
0度 1度/分/秒 2百分度 3弧度 4勘测单位 |