明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1102|回复: 7

各位好!!!帮忙看看

[复制链接]
发表于 2005-11-4 20:49 | 显示全部楼层 |阅读模式

请教大家,怎样在AutoLisp程式控制“对象捕捉”的开与关?

我的是2005版, Thanks very much!

发表于 2005-11-4 21:03 | 显示全部楼层

先说好我是新手,我觉得把用(setvar "osmode" 0)

和(setvar "osmode" oc)应该可以吧,oc是程序运行前的osmode值

 楼主| 发表于 2005-11-4 21:21 | 显示全部楼层

谢谢二楼的朋友,我也很菜啊

(setvar "osmode" 0)可以把它关掉,但我想在程式结束时又恢复原来的一些的捕捉,请教该怎么做啊?

 

发表于 2005-11-4 21:46 | 显示全部楼层

程序开头加句(setq oc (getvar "osmode"))

结束的时候用(setvar "osmode" oc)改回去就可以了

 楼主| 发表于 2005-11-5 07:32 | 显示全部楼层

谢谢,搞定了。

发表于 2005-11-5 11:33 | 显示全部楼层

这样保存或恢复变量,当程序运行至中途按ESC强行退出,系统变量不会被恢复。也就是说(setq oc (getvar "osmode"))所保存下来的值,还来不及使用(setvar "osmode" oc)时程序就退出了。而且大部分使用AutoCAD的用户都习惯了在命令已经发布了,又想取消时用ESC。造成程序出错。

建议大家使用ap-api函数,它可以解决这一系列的问题。

发表于 2005-11-5 12:57 | 显示全部楼层

自定义一下错误处理函数,在错误处理函数中也恢复这个变量就可以了...

发表于 2005-11-5 13:42 | 显示全部楼层

请问 meflying:

  你所说的 "自定义一下错误处理函数,在错误处理函数中也恢复这个变量就可以了..."

是不是  acet-error-init   和  (acet-error-restore) 有关?

但是我这里说这个函数未定义呢,那怎么办?? 请赐教!

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-4 05:09 , Processed in 0.365096 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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