为什么我的图层恢复不到原始默认图层
额 这几天问的有点多 见谅是这样的
(defun c:vv ()
(setq rtd (getvar "clayer"))
(command "layer" "s" "AP" "")
(while
...
)
(command "layer" "s" rtd "")
)
可是当我按esc退出循环结束程序后 layer还是AP,没有回到原来的rtd,请问问题出在哪里呢 您得研究下 *ERROR* 函式
论坛内有很多资料滴... 试一下 (setvar "clayer" rtd)
Andyhon 发表于 2013-10-24 12:50 static/image/common/back.gif
您得研究下 *ERROR* 函式
论坛内有很多资料滴...
恩恩 我去查了一下 但是还是看不太懂
(defun c:ffss( / *error* e_lst)
(setq e_lst (mapcar (function (lambda (n) (list 'setvar n (getvar n))))
'("clayer" "cecolor")))
(defun *error* (msg)
(mapcar 'eval e_lst)
(if (not (member
msg
'(nil "函数被取消" ";错误:quit / exit abort")
)
)
(princ (strcat ";错误:" msg))
)
)
(setvar "clayer" "AP")
(setq p1 (getpoint "\n 1:"))
(setq p2 (getpoint "\n 2:"))
(command "line" p1 p2 "")
(*error* nil)
)
这里的
(defun *error* (msg)
(if (not (member
msg
'(nil "函数被取消" ";错误:quit / exit abort")
)
)
(princ (strcat ";错误:" msg))
)
)
是什么意思?能否详细的分解一下?msg又是什么?谢谢 自贡黄明儒 发表于 2013-10-24 12:57 static/image/common/back.gif
试一下 (setvar "clayer" rtd)
之前就是用的这个不行 后来才改command试一下的。。 都不行 我想问题是出在了循环结构按esc上面 相关的讨论讯息还很多...
多实战自能体悟...
=================
如果您是打算架构自己的工作系统
建议您参研这位前辈的分享
http://vnestr.tripod.com/error.lsp Andyhon 发表于 2013-10-24 14:45 static/image/common/back.gif
相关的讨论讯息还很多...
多实战自能体悟...
=================
恩恩 thx anyway.. 简单的就这样
(defun *error* (msg)
(setvar "clayer" rtd)
) 本帖最后由 peraperson 于 2013-10-24 16:25 编辑
自贡黄明儒 发表于 2013-10-24 15:22 static/image/common/back.gif
简单的就这样
(defun *error* (msg)
(setvar "clayer" rtd)
哦哦 搞懂了 谢谢各位 自贡黄明儒 发表于 2013-10-24 15:22 static/image/common/back.gif
简单的就这样
(defun *error* (msg)
(setvar "clayer" rtd)
额 还有一处不明白 为什么4楼的那个代码 最后需要加一行(*error* nil)? 强烈想知道。。。 谢谢
页:
[1]
2