|
DIESEL的概念及其函数 DIESEL(Direct Interpretively Evaluated String Expression Language)是指“直接解释求值的字符串表达式语言”。使用的DIESEL可以控制AutoCAD系统变量MODEMACRO的值,也可用来编写菜单宏,但只能用来处理字符串。 DIESEL的宏表达式格式如下: $(字符串函数名,函数参数1,函数参数2…) 其中,根据函数的不同,函数参数的个数可以为零或者多个,但最多为9个。在宏表达式的不同元素之间,不可以有任何空格。所有的宏表达式都必须以“$”符号开头。 可以在DIESEL中使用的函数如表35-1所示。 表35-1 DIESEL函数一览表 函数名 | 格式 | 说明 | + | $(+,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-1 DIESEL函数一览表 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 | 勘测单位 |
注2 该函数返回基于指定图片的格式化的日期和时间。 其中,“time”参数为给定的AutoCAD日期,通常使用函数“$(getvar,date)”来获取; “picture”参数由日期和时间的特定表示法替代的格式短语组成。格式短语的定义如表35-3所示。所有不能解释为格式短语的字符将被完整地复制到函数返回结果中。 表35-3 “edtime”函数格式短语定义 格式 | 输出示例 | 格式 | 输出示例 | D | 9 | H | 5 | DD | 09 | HH | 05 | DDD | Tue | MM | 47 | DDDD | Tuesday | SS | 17 | ^M | 6 | MSEC | 506 | MO | 06 | AM/PM | AM | MON | Jun | am/pm | pm | MONTH | June | A/P | P | YY | 01 | a/p | p | YYYY | 2001 | | |
例如以如下格式使用该函数:下例使用上表中的日期和时间。 $(edtime,$(getvar,date),DDD"," DD MON YYYY - H:MMam/pm) 它可能的返回结果为: Tue, 9 Jun 2001 - 5:47pm 注重 “picture”参数中逗号必须放在引号中,否则它将被当作参数分隔符。 返回类别: AuotoCAD教程 上一教程: 菜单文件的类型、结构和使用 下一教程: DIESEL表达式的调试
您可以阅读与"DIESEL的概念及其函数"相关的教程: · 为AUTOLISP建立缺省输入函数 · 利用DIESEL定制状态栏 · DIESEL表达式的调试 · Web浏览器的概念与使用 · 幻灯片文件的概念与创建
|