用户在AutoCAD系统中使用DIESEL表达式时,如果系统变量MACROTRACE的值置为1,则执行DIESEL表达式,会在命令提示行显示运行结果及错误信息。该变量的缺省值为0。
例如,将变量MACROTRACE置为1后,在用DIESEL表达式给MODEMACRO赋值时,如果在“getvar”和“dwgname”之间不加“,”,则系统提示如下:
Enter new value for MODEMACRO, or . for none <"">: $(getvar dwgname)
Eval: $(GETVAR DWGNAME)
Err: $(GETVAR DWGNAME)??
提示中给出了DIESEL的错误信息,具体意义见表35-4。
表35-4 DIESEL错误信息一览表
错误信息
意义
$?
语法错误(通常是由于括号不匹配或字符串太长)
$(func,??)
func 的参数错误
$(func)??
未知函数func
$(++)
输出字符串太长,计算值被截断
可以在菜单文件中执行 DIESEL 字符串表达式,并可以将它们用作创建宏的方法。这些表达式可以返回字符串值,以响应标准的 AutoCAD 命令、AutoLISP 和 ObjectARX 例行程序以及其他菜单宏。它们也可以将字符串值返回给菜单本身,藉此改变菜单标签的外观或内容。
菜单项中使用的DIESEL表达式的格式为:
$section=submenu
其中,“section”名称为M,“submenu ”为所需的 DIESEL表达式。
例如,下面的菜单项定义用于在图形中以单行文字的形式插入当前的日期:
[Insert Current Date]^C^Ctext+\\\$M=$(edtime,$(getvar,date),DDD", "D MON YYYY);
关于菜单定义请参见第34章。
小 结
本章主要介绍了DIESEL的概念、作用和函数调用,并讲述了通过DIESEL定制状态栏的方法。此外,本章还介绍了在AutoCAD中对DIESEL表达式的调试方式,以及在菜单定义中的应用。