找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2075|回复: 5

[LISP程序]:让GETPOINT,ENTSEL支持KW

[复制链接]
发表于 2006-10-20 18:13:17 | 显示全部楼层 |阅读模式

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

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

×
[PHP]
多功能按键的GETPOINT和ENTSEL
;;;|多功能一键完成 ,支持捕捉            
;;;|在getpoint情况下支持按键            
;;;|kw:语言描述LST:支持按键列表'("A" "B")
;;;|def:回车或空格时的缺省值            
;;;|作者:SNSJ 2006.10.20                 
(defun apple-getpt (kw lst def / tf gd ch lst1 ptt p cor)
(setq cor(vla-get-AutoSnapMarkerColor(vla-get-drafting
   (vla-get-preferences(vlax-get-acad-object))))
        )
(princ kw)(setq tf 0)
(setq lst1(mapcar 'strcase lst))
(while tf
(setq gd(grread t 4 0))
(setq p(cadr gd))
(redraw)
(if(and(=(car gd)5)(/=(setq ptt(apple-grdsp p cor))nil))
  (setq p ptt)
  )
(cond((and(=(car gd)2)(member (setq ch(strcase(chr p)))lst1))
      (setq tf nil))
    ((or(= p 32)(= p 13))(setq tf nil ch def))
    ((and(=(car gd)3)(=(type p) 'LIST))(setq ch p tf nil))
    )
  )(redraw)
   ch  
  )
;;;|多功能一键完成                       
;;;|在ENTSEL情况下支持按键               
;;;|kw:语言描述LST:支持按键列表'("A" "B")
;;;|def:回车或空格时的缺省值            
;;;|作者:SNSJ 2006.10.20                 
(defun apple-enl (kw lst def / tf gd ch lst1 p)
(princ kw)(setq tf 0)
  (setq lst1(mapcar 'strcase lst))
  (while tf
  (setq gd(grread t 4 2))
  (setq p(cadr gd))
(cond((and(=(car gd)2)(member (setq ch(strcase(chr p)))lst1))
     (setq tf nil))
     ((or(= p 32)(= p 13))(setq tf nil ch def))
     ((and(=(car gd)3)(=(type p) 'LIST))(setq ch(nentselp p) tf nil))
     )
    )ch  
  )  )[/PHP]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
 楼主| 发表于 2006-10-20 18:14:19 | 显示全部楼层
测试:(apple-getpt "A/B/<GETPOINT>:" '("A" "B") nil)
测试:(apple-enl "A/B/<GETPOINT>:" '("A" "B") nil)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2006-10-21 12:16:48 | 显示全部楼层
捕捉模拟不知道是怎么实现的,还有两点:1、F3不起作用,2、捕捉框的大小好像不能调整大小
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2007-1-24 00:20:47 | 显示全部楼层
那还得研究一下greead函数怎么实现捕捉功能吧
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-17 19:49 , Processed in 0.180841 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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