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