明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: tengte

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

  [复制链接]
 楼主| 发表于 2013-10-25 19:39:26 | 显示全部楼层
xiongqunan 发表于 2013-10-23 11:30
的确挺不错的!但有个问题就是在选择矩形或多义线时无法认识矩形的大小及多义线的长短!!!希望楼主改进一 ...

最近比较忙,没时间写程序!
 楼主| 发表于 2013-10-24 13:52:24 | 显示全部楼层
xiongqunan 发表于 2013-10-23 11:30
的确挺不错的!但有个问题就是在选择矩形或多义线时无法认识矩形的大小及多义线的长短!!!希望楼主改进一 ...

矩形或多义线大小及、长短没有直接的DXF组码,要通过计算才能得出,这个程序只是针对DXF组码来选择的。

点评

那能不能在帮忙写一个类似的程序出来用用!我现在用你这个筛选其它的都是多理想的!就缺筛选不能相同的多边形!如果能加上一个以多边形的线长及面积应进过滤的话就太完美了……。  发表于 2013-10-24 14:53
发表于 2013-10-23 11:30:59 | 显示全部楼层
的确挺不错的!但有个问题就是在选择矩形或多义线时无法认识矩形的大小及多义线的长短!!!希望楼主改进一下!!!
发表于 2013-9-10 08:34:27 | 显示全部楼层
顶一下,谢谢楼主分享
发表于 2013-8-28 16:41:10 | 显示全部楼层
顶一下~~~~~~~~~~~~
发表于 2013-8-27 15:15:12 | 显示全部楼层
谢谢楼主提供!设计思路非常好,看的出是经过艰苦思考过后的
发表于 2013-8-27 13:22:58 | 显示全部楼层
找了好久今天终于找到了。谢谢楼主。
 楼主| 发表于 2013-8-27 11:40:32 | 显示全部楼层
crazylsp 发表于 2013-8-26 17:27
;哈哈,终于修改大师的代码为并集的(图层)选择! at 20130826

(defun c:tt() (QS T '(8)))

(setq n(sslength ss) lst'() )
这里没有必要初始化lst为nil('()其实就是nil),因为lst已经定义为函数的局部变量,其初值已经为nil了。当然这样用也没有错!

评分

参与人数 1明经币 +2 收起 理由
crazylsp + 2 神马都是浮云 nil()真神奇

查看全部评分

发表于 2013-8-26 17:27:22 | 显示全部楼层
;哈哈,终于修改大师的代码为并集的(图层)选择! at 20130826

(defun c:tt() (QS T '(8)))

(defun QS (new ids / filter)

  (defun GetPat (ids / SS n e en lst)

      (and
       (princ "\n请选择模板对象:")
       (setq SS (ssget ) )
      )

      (setq n(sslength ss) lst'() )

      (repeat n
        (setq n(- n  1 )
              e(ssname ss n)
              en(entget e)
              lst(append(vl-remove-if-not '(lambda (e) (member (car e) ids)) en)lst)
        )
      )

      (setq lst(append '((-4 . "<OR")) lst '((-4 .  "OR>")) ) )

  ) ;defun

  (sssetfirst nil (ssget(GetPat ids)))

  (princ)

) ;defun

点评

不好意思!之前没有细看你的代码,以为你只是增加了(setq lst(append '((-4 . "<OR")) lst '((-4 . "OR>")) ) ) 这一句呢!  发表于 2013-8-27 11:36
我的原函数是取的交集,只会选择与模板对象的图层颜色都相同的对象。  发表于 2013-8-27 09:44
(defun c:tt() (QS T '(8))) 这个只是选择了与模板对象相同图层的对象,交集并集不都一样吗? 如果这样调用(defun c:tt() (QS T '(8 62))) 表示选择与模板对象的图层或颜色相同的对象,这才是并集的。  发表于 2013-8-27 09:42
发表于 2013-8-25 11:59:57 | 显示全部楼层
学习了 谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-18 14:54 , Processed in 0.176156 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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