明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2137|回复: 4

[讨论] 系统变量备份和恢复

[复制链接]
发表于 2014-5-23 09:23:08 | 显示全部楼层 |阅读模式
本帖最后由 llsheng_73 于 2014-5-23 09:31 编辑

  1. (defun dfl_var(var / a)
  2.   (setq a(list(car var)(mapcar'getvar(car var))))
  3.   (mapcar'setvar(car var)(last var))a)
  4. (defun *error*(msg)
  5.   (dfl_var var)
  6.   (while(>(getvar'CMDACTIVE)0)(command ""));;此处可以参照G版出错处理帖子加一些处理
  7.   (setq var nil))

  8. (defun C:tt()
  9. (setq var(dfl_var'(('cecolor'clayer'osmode'autosnap)("250""0" 16384 63)));;修改系统变量需要修改哪些系统变量参照此表修改,前边一个子表为系统变量名,后边一个子表为对应的系统变量值
  10. ;;;
  11. ;;;加上自己的处理过程
  12. ;;;
  13. (*error* nil);;恢复系统变量
  14. )

"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2014-5-23 09:27:38 | 显示全部楼层
(while(>(getvar'CMDACTIVE)0)(command ""))
遇到FILLET命令时,进入到第二选择时双引号是结束不掉掉的,直接(command)强制结束就行了
 楼主| 发表于 2014-5-23 09:30:36 | 显示全部楼层
本帖最后由 llsheng_73 于 2014-5-23 09:33 编辑
liu22737 发表于 2014-5-23 09:27
(while(>(getvar'CMDACTIVE)0)(command ""))
遇到FILLET命令时,进入到第二选择时双引号是结束不掉掉的,直 ...

对CAD的命令不是太清楚了,谢谢指出问题
现在我把恢复系统变量弄前边去,后边再来结果未结束的命令,总之恢复系统变量是大事,至于命令是否结束,反正程序已经出错了,那么结束不了的情况自己结束它也一样?

点评

涉及到错误函数就可能遇到UNDO编组问题,CAD命令不能结束,后续的编组结束命令就无法执行  发表于 2014-5-23 10:07
发表于 2014-5-23 11:26:21 | 显示全部楼层
要先中断command函数,不然变量会出问题。
发表于 2014-12-31 20:27:10 | 显示全部楼层
llsheng_73 发表于 2014-5-23 09:30
对CAD的命令不是太清楚了,谢谢指出问题
现在我把恢复系统变量弄前边去,后边再来结果未结束的命令,总之 ...

新手一般不写错误处理。。。。因为程序只是自己用  哈哈。。
可以看看我发的贴
http://bbs.xdcad.org/thread-673304-1-1.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-23 17:35 , Processed in 0.178508 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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