明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: tengte

[源码] 【TB原创】自定义快速选择,简单实用,事半功倍

  [复制链接]
发表于 2013-11-3 17:23 | 显示全部楼层
顶上来         
发表于 2013-10-30 17:45 | 显示全部楼层
tengte 发表于 2013-10-30 17:30
这个与调用TB:QS 时,DXF列表中加入62有区别吗?

当然是有区别了,这样子的,如果同一图层中有不同颜色这个就只选一种,而你那个是选整个图层不管有几种色

点评

我测试了,你说的是对的。我的程序,若选择的模板对象的颜色是随层的,过滤时会忽略颜色这一项。同理,对于其它默认值不会出现的DXF组码也存在类似的情况!  发表于 2013-10-31 12:40
 楼主| 发表于 2013-10-30 17:30 | 显示全部楼层
luyu9635 发表于 2013-10-28 16:25
小改了一下,个人觉行这样更方便,可以选择到同图层中的同一颜色

;;快速选择

这个与调用TB:QS 时,DXF列表中加入62有区别吗?
发表于 2013-10-30 14:37 | 显示全部楼层
luyu9635 发表于 2013-10-28 16:25
小改了一下,个人觉行这样更方便,可以选择到同图层中的同一颜色

;;快速选择

改了之后好象是要好用得多,谢谢分享
 楼主| 发表于 2013-10-30 12:53 | 显示全部楼层
lite 发表于 2013-10-28 23:10
那个模板对象可以一次选多个吗,这样的话可以提高选择的效率和减少选择的次数?

21楼的程序可能是你想要的,你可以看看
发表于 2013-10-28 23:10 | 显示全部楼层
那个模板对象可以一次选多个吗,这样的话可以提高选择的效率和减少选择的次数?
发表于 2013-10-28 16:25 | 显示全部楼层
小改了一下,个人觉行这样更方便,可以选择到同图层中的同一颜色

;;快速选择
(defun QSel (new ids / GetPat filter dx62)
  (defun GetPat (ids / SS en lst)
    (and
      (setq SS (entsel "\n请选择模板对象:"))
      (setq en (entget (car SS))
     lst (vl-remove-if-not '(lambda (e) (member (car e) ids)) en)
      )
    ) ;and
     (if (member 62 ids)
                         (progn
                           (or (setq dx62 (assoc 62 en))(setq dx62 (cons '62 256)))
                           (setq lst (append lst (list dx62)))
                         )
       )
  lst

  ) ;defun
  (and new (sssetfirst nil nil)) ;new为T时,重新选择
  (and
    (setq filter (GetPat ids))
    (sssetfirst nil (ssget filter))
  ) ;and
  (princ)
)
回复 支持 1 反对 0

使用道具 举报

发表于 2013-10-27 21:07 | 显示全部楼层
谢了              
发表于 2013-10-27 21:06 | 显示全部楼层
很感谢 群主好人
发表于 2013-10-27 08:11 | 显示全部楼层
tengte 发表于 2013-10-25 19:39
最近比较忙,没时间写程序!

这个肯定是要等不忙的时候再慢慢写的.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-18 21:47 , Processed in 0.292928 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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