当前位置:主页   - 电脑 - 图形图像 - AutoCAD
DIESEL的概念及其函数
来源:网络   作者:   更新时间:2012-03-09
收藏此页】    【字号    】    【打印】    【关闭

  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

 ceval

  $(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”参数中逗号必须放在引号中,否则它将被当作参数分隔符。

其它资源
来源声明

版权与免责声明
1、本站所发布的文章仅供技术交流参考,本站不主张将其做为决策的依据,浏览者可自愿选择采信与否,本站不对因采信这些信息所产生的任何问题负责。
2、本站部分文章来源于网络,其版权为原权利人所有。由于来源之故,有的文章未能获得作者姓名,署“未知”或“佚名”。对于这些文章,有知悉作者姓名的请告知本站,以便及时署名。如果作者要求删除,我们将予以删除。除此之外本站不再承担其它责任。
3、本站部分文章来源于本站原创,本站拥有所有权利。
4、如对本站发布的信息有异议,请联系我们,经本站确认后,将在三个工作日内做出修改或删除处理。
请参阅权责声明