找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1489|回复: 12

[求助] [求助]:高手帮我看看为什么不能在ssget后输入"u"啊?

[复制链接]

已领礼包: 6个

财富等级: 恭喜发财

发表于 2006-5-17 12:51:16 | 显示全部楼层 |阅读模式

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

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

×
高手帮我看看为什么不能在ssget后输入"u"啊?是不是程序错了啊?
[php]
(defun c:er ()
  (while (progn        (initget "U")
                (setq ss (ssget ":S"))
                (if (= ss "U")
                  (command "u")
                )
                ss
         )
    (command "erase" ss "")
  )
  (princ)
)
[/php]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2006-5-18 20:26:41 | 显示全部楼层
想要达到什么目的?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 6个

财富等级: 恭喜发财

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

使用道具 举报

已领礼包: 10249个

财富等级: 富甲天下

发表于 2006-5-18 23:06:48 | 显示全部楼层
SSGET不支持INITGET。楼主可以这样用:
[php]
(defun c:er ()
(while (progn
   (initget "U")
   (setq ss (GETPOINT "\n选择对象:"))
  )
  (if (= ss "U")
   (command "u")
   (command "erase" ss "")
  )
)
(princ)
)
[/php]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

已领礼包: 6个

财富等级: 恭喜发财

 楼主| 发表于 2006-5-19 10:56:37 | 显示全部楼层
不会吧!
如果这样(setq ss (GETPOINT "\n选择对象:"))
真是一次只能选一个对像了啦!
我用(setq ss (ssget ":S")) 我是想可以框选的啦!
还想问下为什么ssget不支持initget啊???
帮助上可是还说可以用的啊???
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-5-19 21:21:34 | 显示全部楼层
我也不懂楼主提的问题,也希望高手们教一下,不过按照雨箭风刀兄的提议,采用grread,
假如选不中东西的话,自动恢复一步,当然要是能改成中键什么的应该会更好

记得以前好像哪个版主的一堆命令就是采用这种在屏幕上选取某个内容实现函数功能的,大概是gr函数把,忘记是哪个帖子了
[php]
;;;; Main by fsxm
;;;; modify by qjchen
;;;; 左键若选择不到东西,自动恢复一步
(defun c:er2 (/ ss ent ent1)
  (setq i 0)
  (while (or
           (setq ss (ssget ":S"))
           (= (car (grread nil 2)) 3)
         )

    (if (/= ss nil)
      (progn
        (setq ent (ssname ss 0))
        (setq entlist (append entlist (list ent)))
        (entdel ent)
      )
      
      (progn
      (setq ent1 (last entlist))
      (setq entlist (deletelast entlist))
      (entdel ent1)
      
      )
    )
  )
)

;;;return the lst delete the last member
(defun deletelast (lst / a b i)
  (setq a (length lst)
        b nil
  )
  (setq i 0)
  (repeat (1- a)
    (setq b (append
              b
              (list (nth i lst))
            )
    )
    (setq i (1+ i))
  )
  b
)

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

使用道具 举报

已领礼包: 6个

财富等级: 恭喜发财

 楼主| 发表于 2006-5-30 12:23:08 | 显示全部楼层
受到启发ssget不接受关键字但是可以接受nil的:
[php](defun c:er ()
  (princ "\n选取要删除对像:[恢复(回车/空格/空选)退出(Esc键)]")
  (if (null (ssget ":s"))
    (command "u")
    (command "erase" "p" "")
  )
  (c:er)
)[/php]
效果不用说了吧!!
呵呵!!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

发表于 2006-5-31 21:17:10 | 显示全部楼层
ssget不能带keyword
最好重写一个(ssget ":s")

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

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

发表于 2006-5-31 22:38:45 | 显示全部楼层
搭个框子

  1. (defun ssget_single(keyword filter)
  2.   (setq keynow "")  ;;记录按键
  3.   (setq p1(grread nil 14 2))
  4.   (cond ((or(member p1 '((2 13)(2 32)))(= 11(car p1)))
  5.              (if(is_keyword keynow);;判断 按了回车或空格时就可以了.
  6.                   keynow                  ;;返回keyword
  7.                   (if (= keynow "")       ;;如果没按键,退出
  8.                         nil
  9.                         (setq keynow "");;(princ "Not A KeyWord")  ;;按过键,清空,可以提示没有键值
  10.                   )
  11.              )
  12.         )
  13.         ((= (car p1)3)
  14.           (setq p1(cadr p1))
  15.           (if (setq ss(ssget p1 filter))
  16.                ss
  17.               (get_other_pt p1) ;;grread另外一个点 ,左边虚线,右边实线.返回选到实体
  18.           )                     ;;(grread t) 拖个框子,应该很简单,自己写
  19.         )
  20.         ((= (car p1) 2)
  21.            (setq keynow(strcat keynow (chr (cadr p1)))) ;;按键 组合
  22.         )
  23.   )
  24. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-5-31 23:11:55 | 显示全部楼层
[php]
;; by 雨箭风刀.2006.5
(defun c:er ()
  (princ "\n选取要删除对像:[恢复(U)/<退出>]:")
  (while (progn (initget "U")
           (setq k (getpoint))
           )
    (cond
      ((= "U" k)(command "U"))
      ((setq a(nentselp k)) (command ".erase" (car a) ""))
      ((setq pt2(getcorner k))
       (if (< (car k)(car pt2))
         (command ".erase" (ssget "w" k pt2) "")
         (command ".erase" (ssget "c" k pt2) "")
       )
       )
    )
  )(princ)
)
[/php]
用grread写:
[php]
;; 响应关键字的ssget(一次选择一次操作)
;; by 雨箭风刀.2006.5
(defun c:er ()
  (princ "\n选取要删除对像:[恢复(U)/<退出>]:")
  (setq ocs (getvar "CURSORSIZE"))
  (setvar "CURSORSIZE" 1)
  (setq roop T)
  (while roop
    (setq gr (grread 4 2)
          a  (car gr)
          b  (cadr gr))
    (cond
      ((and (= 2 a)(= "U" (strcase(chr b))))(command "U"))
      ((and (= 3 a)(setq e(nentselp b)))
       (command ".erase" (car e) ""))
      ((= 3 a)
       (setq pt2(getcorner b))
       (if (< (car b)(car pt2))
         (command ".erase" (ssget "w" b pt2) "")
         (command ".erase" (ssget "c" b pt2) "")
       )
       )
      ((or (= 11 a)(member gr '((2 32)(2 13)))) (setq roop nil))
      (T nil)
    )
  )
  (setvar "CURSORSIZE" ocs)
  (princ)
)
[/php]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 6个

财富等级: 恭喜发财

 楼主| 发表于 2006-6-4 18:55:06 | 显示全部楼层
谢谢有这么多的高人帮助!
用了效果都很不错!
偶还有很多的函数不会用比如
nentselp gr grread 等等%今天才知道有这么个用法!
多谢了!!!!!!!!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2013-5-25 23:29:56 | 显示全部楼层
fsxm 发表于 2006-6-4 18:55
谢谢有这么多的高人帮助!
用了效果都很不错!
偶还有很多的函数不会用比如

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-25 14:28 , Processed in 0.280861 second(s), 54 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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