找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1181|回复: 11

[求助] [求助]:如何用lisp来实现动态的监视系统变量的值?

[复制链接]
发表于 2006-7-3 19:14:10 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
(defun c:oh()
(if (= (getvar "osnaphatch") 0)
        (setvar "osnaphatch" 1)
        (princ "\n* 打开图案填充捕捉 *")
)
   (if (=(getvar "osnaphatch") 1)
         (setvar "osnaphatch" 0)
         (princ "\n* 关闭图案填充捕捉 *")
   )
  (princ)
)

上面的代码明显就是错的?但是我又不知道怎么办?深怪自己学艺不精?


如何用lisp来实现理正中的组选开关的功能?
比如输入GS后,picksytle值为1,提示组选开关打开。再次输入GS后,pickstyle的值为0,提示组选开关关闭?
因为在CAD2006中捕捉填充图案是因系统变量osnaphatch控制的,就想用理正这个gs的形式来写个控制填充图案捕捉的lisp?


谢谢!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2006-7-3 20:00:29 | 显示全部楼层
小HUA这样写

  1. (defun c:oh()
  2. (cond
  3.   ((=(getvar "osnaphatch")0)(setvar "osnaphatch" 1)(princ "\n* 关闭图案填充捕捉*"))
  4.   ((=(getvar "osnaphatch")1)(setvar "osnaphatch" 0)(princ "\n* 打开图案填充捕捉*"))
  5.   )(princ)
  6.   )

或者

  1. (defun c:oh()
  2. (if(progn
  3.      (=(getvar "osnaphatch")0)(setvar "osnaphatch" 1)(princ "\n* 关闭图案填充捕捉*"))
  4.   (progn
  5.     (=(getvar "osnaphatch")1)(setvar "osnaphatch" 0)(princ "\n* 打开图案填充捕捉*"))
  6.   );;;|if结束
  7.   (princ)
  8.   )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-7-3 20:20:41 | 显示全部楼层
你怎么又变回去了?
(if  ...
  1
  0
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-7-3 20:25:21 | 显示全部楼层
(setvar "osnaphatch" (- 1 (getvar "osnaphatch")))
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-7-3 20:45:08 | 显示全部楼层
谢谢楼上的大哥们!
真是感动!
顺便问问武汉的斑竹,我们老乡哈!
-1,这个如何理解?
谢谢!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-7-3 21:42:34 | 显示全部楼层
最初由 andyhua5240 发布
[B]谢谢楼上的大哥们!
真是感动!
顺便问问武汉的斑竹,我们老乡哈!
-1,这个如何理解?
谢谢! [/B]

"-1"中的"-",这里等同于“减号”。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-7-5 01:19:16 | 显示全部楼层
这样就做成一个开关函数了。
[php]
(defun c:oh ()
  (setvar "osnaphatch" (abs(1- (getvar "osnaphatch"))))
)
[/php]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-7-5 08:36:30 | 显示全部楼层
请问你是什么版本CAD,怎么没有这个变量?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-7-5 12:35:16 | 显示全部楼层
最初由 橄榄滋味 发布
[B]请问你是什么版本CAD,怎么没有这个变量? [/B]


我用的是CAD2006,所以当中有这个变量!
其实CAD2005也有这个变量的,只是CAD的帮助中没有说明,算是一个隐藏的变量吧,但是到了CAD2006后,这个变量就出现在帮助中了!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-7-8 20:27:53 | 显示全部楼层
请问有无办法监示CAD的所有变量?
或列表CAD现有的变量
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 6个

财富等级: 恭喜发财

发表于 2006-7-8 21:06:12 | 显示全部楼层
可以用set命令查看CAD的所有变量~
(defun c:oh ()
  (setvar "osnaphatch" (abs(1- (getvar "osnaphatch"))))
)
用if也可以这样写:
(defun c:oh ()
(setvar "osnaphatch" ( if (= (getvar "osnaphatch") 0) 1 0))
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-7-11 17:41:00 | 显示全部楼层
没想过开关的写法还有这么多。。。汗。。。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-18 17:52 , Processed in 0.334592 second(s), 53 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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