汉语大全>软件应用使用操作>modemacro命令与DIESEL语言的妙

modemacro命令与DIESEL语言的妙

详细内容

这几天闲了下来,对AutoCAD研究了一番,发现状态行也可以自定义,用modemacro命令与DIESEL语言相结合便可以做到,DIESEL是Direct Interpretively eva luated String Expression Language的缩写,它是一种宏语言,可以用来修改状态行,也可以在菜单中应用,在某种程度上可以取代AutoLISP。在命令行上输入modemacro,再输入$(getvar,clayer),当前图层名就显示在状态行左侧上了,同样输入 $(getvar, textstyle) ,便会显示当前的文本样式。如果你只想显示一些文字,如“你好!”也可。

这种设置的不足之处在于不能自动保存,你可以在acad.lsp文件中加入如下S::STARTUP函数,AutoCAD就会自动执行这些命令了。

(defun-q S::STARTUP ( )

(mand "modemacro" "$(getvar,clayer)")

)

因为有可能已在多个文件里定义了S::STARTUP函数,这样就会发生冲突,而在acad.lsp文件中加入如下语句便会避免这种情况:

(defun-q MYSTARTUP ( )

(mand "modemacro" "$(getvar,clayer)")

)

(setq S::STARTUP (append S::STARTUP MYSTARTUP))

是不是有点意思?AutoCAD真是博大精深,只要钻进去便会觉得其乐无穷。