求助,copy命令与*error*出错处理的用法
本帖最后由 啵浪鼓 于 2012-9-14 10:51 编辑(defun c:c (/ s)
(command "undo" "be")
(defun *error*(msg)
(command "undo" "e")
(setq *error* nil)
(princ)
)
(setq s (ssget))
(if s
(command "copy" s "" "m") ; (command "copy" s "" "m" pause)
)
(*error* "")
)
程序中,必须要有"undo" "be"与"e",上面的命令运行后
选择对象: 指定对角点: 找到 1516 个
选择对象:
需要点或选项关键字。
需要点或选项关键字。
; 错误: *error* 函数中出错函数被取消
(command "copy" s "" "m" pause) 这样也会会显示出错
选择对象: 指定对角点: 找到 1516 个
选择对象:
点无效。
点无效。
; 错误: *error* 函数中出错函数被取消
如果copy命令里加上坐标点pt1与pt2可以解决,但是这样不能动态显示物体移动效果
请大侠帮忙找到出错问题的解决方法!
参考旧帖:
http://www.google.com/search?as_q=setq&as_epq=%28getvar+%22CmdActive%22%29&as_oq=&as_eq=&as_nlo=&as_nhi=&lr=&cr=&as_qdr=all&as_sitesearch=http%3A%2F%2Fbbs.mjtd.com
*error* 的用法讨论也是一搜即有 查看了楼上提供的搜索,将*error*加进去,运行是ok的
(defun c:cc ()
(command "undo" "be")
(defun *error*(msg)
(command "undo" "e")
(setq *error* nil)
(princ)
)
(command "pline")
(while (= (logand (getvar "CmdActive") 1) 1) (command pause))
(*error* "")
)
将 (= (logand (getvar "CmdActive") 1) 1) (command pause) 加到copy里面,运行问题依据,不知道怎么弄了,晕!
(defun c:c (/ s)
(command "undo" "be")
(defun *error*(msg)
(command "undo" "e")
(setq *error* nil)
(princ)
)
(setq s (ssget))
(if s
(command "copy" s "" "m" (= (logand (getvar "CmdActive") 1) 1) (command pause))
)
(*error* "")
)
Another one:
http://www.google.com/search?as_qdr=all&biw=1015&bih=583&q=Copy+%22%28getvar+%22CmdActive%22%29%22+site%3Ahttp%3A%2F%2Fbbs.mjtd.com&oq=Copy+%22%28getvar+%22CmdActive%22%29%22+site%3Ahttp%3A%2F%2Fbbs.mjtd.com Andyhon 发表于 2012-9-14 11:53 static/image/common/back.gif
Another one:
http://www.google.com/search?as_qdr=all&biw=1015&bih=583&q=Copy+%22%28getvar+%22CmdAct ...
这样搞定了
(command "copy" s "" "m" (while (> (getvar "CMDACTIVE") 0) (command PAUSE)))
懂了,谢谢Another 大侠!
页:
[1]