找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1343|回复: 15

[求助] [求助]:ssx只以一个对象,为过滤对象;能否编一多重过滤,并同时加亮的Program

[复制链接]
发表于 2004-3-20 19:27:53 | 显示全部楼层 |阅读模式

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

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

×
ssx只以一个对象,为过滤对象;
能否编一多重过滤,并同时加亮的Program
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2004-3-20 21:27:06 | 显示全部楼层
ssx是什么?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2004-3-20 23:20:12 | 显示全部楼层
类似entsel的单选函数
声明:函数系根据“明经通道”的类似代码改编而成
[PHP]
;----------------------------------------------------------------------
;类似entsel的单选函数(在2002版本测试通过)
;特点:
;  1、当鼠标移动到满足过滤条件的像素上时,像素会闪动
;  2、支持过滤表
;  3、支持关键词列表
;用法:
; (Entsel_Highlight "\n选择Polyline:" '((0."*Polyline")) "Option Mode")
;----------------------------------------------------------------------
(defun Entsel_Highlight (STR FILTER KeyStr / PT SS_NAME SS_NAME1 SS
                         str1 st1 loop_id lst_out)
  (if (and (= (type STR) 'STR)
           (= (type KeyStr) 'STR)
           (= (type FILTER) 'list))(progn
   (princ STR)
   (setq str1 "" loop_id T)
   (while loop_id
     (setq PT (grread t 4 2))
     (cond
       ((= 5 (car PT)) ;移动光标
        (setq PT (cadr PT))
        (if (setq SS (ssget PT FILTER))
          (progn
            (setq SS_NAME1 (ssname SS 0))
            (if (not (equal SS_NAME1 SS_NAME))(progn
              (if SS_NAME (redraw SS_NAME 4))
              (setq SS_NAME SS_NAME1)
              (redraw SS_NAME 3)
            ));if
          );progn
          (progn
            (if SS_NAME (redraw SS_NAME 4))
            (setq SS_NAME NIL)
          );progn
        );if
       ); part 1
       ((= 3 (car PT)) ;鼠标点了一下.
        (setq PT (cadr PT) str1 "")
        (if (setq SS (ssget PT FILTER))(progn
           (if SS_NAME (redraw SS_NAME 4))
           (setq SS_NAME (ssname SS 0)
                 lst_out (list SS_NAME PT)
                 loop_id nil)
        ));if
        (if loop_id (princ STR))
       ); part 2
       ((= 25 (car PT)) ;鼠标右键.
            (if (= str1 "")
              (progn
                (setq loop_id nil)
                (if SS_NAME (redraw SS_NAME 4))
              );progn
              (progn
                (setq key (QAEC_STR->Key KeyStr str1))
                (cond
                  ( (= key "")
                    (princ "\nNeed more option.")
                  );
                  ( key
                    (if SS_NAME (redraw SS_NAME 4))
                    (setq loop_id nil)
                    (setq lst_out key)
                  );
                  ( T
                    (setq str1 "")
                    (princ STR)
                  );
                );if
              );progn
            );if
       );enter with mouse
       ((= 2 (car PT)) ;键盘输入
        (if (= 13 (cadr PT)) ;键盘的回车键.
          (progn
            (if (= str1 "")
              (progn
                (setq loop_id nil)
                (if SS_NAME (redraw SS_NAME 4))
              );progn
              (progn
                (setq key (QAEC_STR->Key KeyStr str1))
                (cond
                  ( (= key "")
                    (princ "\nNeed more option.")
                  );
                  ( key
                    (if SS_NAME (redraw SS_NAME 4))
                    (setq loop_id nil)
                    (setq lst_out key)
                  );
                  ( T
                    (setq str1 "")
                    (princ STR)
                  );
                );if
              );progn
            );if
          );progn
          (if (and (> (cadr PT) 32)(< (cadr PT) 127))(progn
            (setq st1 (chr (cadr PT))
                  str1 (strcat str1 st1))
            (princ st1)
          ));if
        );if
       );
     );cond
   );while
  ));if
  lst_out
);end
[/PHP]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

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

使用道具 举报

发表于 2004-3-22 13:52:06 | 显示全部楼层
最初由 eachy 发布
[B]QAEC_STR->Key KeyStr ? [/B]


Sorry,忘记了。
这个函数用来模拟lisp的getkword函数,另外,我也有个问题:
能否获取上一个initget函数的输入值?若能的话就能同其它GET*函数的用法保持一致了。

[php]
;比较返回Keyword关键字.
;  返回""表示有一个以上的关键字匹配.
(defun QAEC_STR->Key (key_str test_str / k_lst str1 str2 chr1 index str_out)
  (setq index 1 str1 "")
  (repeat (strlen key_str)
    (setq chr1 (substr key_str index 1))
    (if (= chr1 " ")
      (setq k_lst (cons str1 k_lst) str1 "")
      (setq str1 (strcat str1 chr1))
    );if
    (setq index (1+ index))
  );repeat
  (setq k_lst (cons str1 k_lst)) ; add last one
  
  (setq str2 (strcat (strcase test_str) "*"))
  (foreach x k_lst
    (setq str1 (strcase x))
    (if (wcmatch str1 str2)
      (if str_out
        (setq str_out "")
        (setq str_out x)
      );if
    );if
  );foreach
  (if (= key_str "")
    nil
    str_out
  );if
);end QAEC_STR->KeyList
[/php]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 23个

财富等级: 恭喜发财

发表于 2004-3-22 17:46:33 | 显示全部楼层
lk-select:ByObject和 lk-select:InLayer 就是满足你要求的程序,不仅可以按多个选定的对象过滤,而且支持对话框(使用了DOSLib函数)

lk-select:InLayer
Specify a object or [in Current/Dialog/Select/0(1)/DEFPOINTS(2)/XXX-图框(3)/XXX-院标(4)/板.填充(5)/尺寸标注(6)/构造柱(7)/剪力墙(8)/剪力墙.填充(9)/梁.实线(10)/梁.虚线(11)/楼梯洞口(12)/
文字(13)/虚图框(14)/轴标(15)/轴线(16)/柱.填充(17)]:

Select objects:

Select objects in layer : "板.填充,柱.填充,轴线,梁.虚线,梁.实线,剪力墙"

....


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

使用道具 举报

 楼主| 发表于 2004-3-23 20:47:36 | 显示全部楼层
2F--有expresstools可command:ssx是过滤,但Dim等不行
4F--似乎与我求不同;7F--我的层不固定,不同于楼上,是否象
by object
qselect能激活,但仍然是单选; 多重过滤:
以先选实体(>=1)作过滤条件,对后选的实体过滤、并激活.
以备编辑
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 23个

财富等级: 恭喜发财

发表于 2004-3-24 15:12:26 | 显示全部楼层
我的这个程序就是解决你的需求的啊

上面的只是我举例说明一下而已,实际上这些图层就是你当前文档中的所有图层名称列表.这是由程序动态生成的...8-)

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

使用道具 举报

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

使用道具 举报

已领礼包: 23个

财富等级: 恭喜发财

发表于 2004-3-26 12:55:12 | 显示全部楼层
从来就没有什么版本问题,支持AutoCAD 2002~2005
当然,最新版的目前还只是在我的机器的硬盘上...8-Q
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-6-20 11:27:55 | 显示全部楼层
最初由 Qlin 发布
[B]类似entsel的单选函数
声明:函数系根据“明经通道”的类似代码改编而成
[PHP]
;----------------------------------------------------------------------
;类似entsel的单选函数(在2002版本测试通过)
... [/B]


以前和龙龙仔在一个帖子里面讨论过相同问题,grread的缺点是不能在执行过程中透明使用命令,如‘zoom,’pan等。那个帖子已经基本上解决了这个问题。懒得找链接了,有兴趣的搜索一下吧,用“entsel”或“xentsel”
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2005-11-2 17:54:52 | 显示全部楼层
多重过滤,有用的功能!!遗憾的是还没有解决
多选实体,同范围过滤
实体、层、颜色、线形,随层的区别于不随层的
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-11-2 19:05:33 | 显示全部楼层
[PHP]
要下班了,我先回去试试!

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-28 19:06 , Processed in 0.279090 second(s), 60 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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