ymcui 发表于 2013-11-1 11:12:36

用ESC退出恢复系统变量出错问题

(defun *error*(msg)
(setvar "osmode" os)
(princ)
)
提示出错:
错误: *error* 函数中出错AutoCAD 变量设置被拒绝: "osmode" nil
因为有一些程序没有用到这个("osmode" os)保存,所以出现上面的情况
那要如何写(*error*)这个程序呢?
谢谢!!!

peraperson 发表于 2013-11-1 11:16:01

程序开始时
(sys_var)
while等语句结束时
(*error* nil)

子程序如下
(defun sys_var ()
(setq e_lst (mapcar (function (lambda (n) (list 'setvar n (getvar n))))
'("cecolor" "clayer" "LUPrec" "autosnap" "osmode" "aperture" "hpspace" "hpassoc" "mirrtext" "auprec" "luprec" "dimzin" )))
(defun *error* (msg) (mapcar 'eval e_lst))
)

ymcui 发表于 2013-11-1 13:37:42

peraperson 发表于 2013-11-1 11:16 static/image/common/back.gif
程序开始时
(sys_var)
while等语句结束时


非常好用.
谢谢

yeahyeah 发表于 2013-11-4 23:09:58

peraperson 发表于 2013-11-1 11:16:01 static/image/common/back.gif
程序开始时
(sys_var)
while等语句结束时
(*error* nil)

子程序如下
(defun sys_var ()
(setq e_lst (mapcar (funct

好牛的程序,非常专业的语句,谢谢!
页: [1]
查看完整版本: 用ESC退出恢复系统变量出错问题