明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1393|回复: 5

[求助]程序运行时被ESC取消怎样恢复系统变量

[复制链接]
发表于 2008-11-27 07:57 | 显示全部楼层 |阅读模式

例如,我运行se画样条曲线,突然我又不想画了,但是

(setvar "osmode" 0)
  (setvar "orthomode" 0)
已经执行了,后面的

 (setvar "osmode" osm)
  (setvar "orthomode" 1)
没被执行到,怎么弄

(
  defun c:se(/ osm)
  (setq osm (getvar "osmode"))
  (setvar "osmode" 0)
  (setvar "orthomode" 0)
  (command "spline")
  (
    while(= (getvar "cmdnames") "SPLINE");此过程中按ESC后其后语句不被执行,变量不能被恢复,寻求解决
    (command pause)
  )
  (setvar "osmode" osm)
  (setvar "orthomode" 1)
  (princ)
)

发表于 2008-11-27 08:19 | 显示全部楼层

定义出错处理函数

 楼主| 发表于 2008-11-27 10:04 | 显示全部楼层
小弟不才,lisp只学了皮毛,请高手赐教,说详细点
发表于 2008-11-27 10:27 | 显示全部楼层
本帖最后由 作者 于 2008-11-27 10:51:02 编辑

Ref Link:
http://www.faqs.org/faqs/CAD/autolisp-faq/part2/

search
(setq *olderr* *error* *error* my-error)

详参此段的说明

or
http://www.afralisp.net/lispa/lisp6.htm

Error Trapping

 楼主| 发表于 2008-11-27 10:42 | 显示全部楼层
靠,全英文,还好我有英文基础,自已先琢磨一下,不懂再请教大侠
 楼主| 发表于 2008-11-28 07:43 | 显示全部楼层
原来就那么简单,多谢Andyhon,那样的网站都被你找到了,不简单,讲解得也详细,易懂
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-6-16 12:36 , Processed in 0.120291 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表