错误处理问题
本帖最后由 作者 于 2005-2-21 10:01:30 编辑 <br /><br /> 在连续运行(点 pt1 0,0)
(点 pt2 5,0)
(command "line" 0,0 100,0 "")
(repeat 100
(command "move" (entlast) pt1 pt2)
(setq pt1 pt2)
(Setq pt2 (polar pt2 pi 5))
想按ESC删除所有,用下面这样是不是不行呀
(Defun *error* ()<BR> (princ "\n程序终止")<BR> (command)<BR> (Setq ss_get (ssget "X" '((8 . "ghost_1"))))<BR> (command "erase" ss_get "")<BR> (setvar "clayer" "0")<BR> (princ)<BR> ) setq pt1 0,0) (setq pt2 5,0)是不对的
在错误处理函数中,最好用UNDO命令,并且程序要短,要快,避免错误处理程序也被中断。 明白意思就行了,
我觉得不是在*error*中不能调用带参数的"command"函数呀 可以使用的,你确认你的每一步都正确,并且已经调用了错误处理函数 调用?
不是出错了就自动调用*error*函数了吗? 可我从你楼顶给的代码中看不出会出错的地方,我让你保证调用,就是保证程序中途出错 zhanghong发表于2005-2-21 11:55:00static/image/common/back.gif调用?
不是出错了就自动调用*error*函数了吗?
<BR> 没错,
回meflying
我的程序没有问题,只是这段动画有点长,我让它在一打开CAD时运行,有时如果想跳过动画,就在程序运行中按"ESC"键 程序开始设 undomark, 出错就"u"回去.
如果是在开始的时候,undomark也不用做了,直接undo /b 回去 是undomarks变量吗?它是不是只读的吗?
页:
[1]