明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: 浴火鸟TYTYJ

[讨论] 关于SSGET颜色筛选对像是BYLAYER无法选中

[复制链接]
发表于 2017-9-12 14:32 | 显示全部楼层
本帖最后由 易云网络 于 2017-9-12 14:37 编辑

  • 我以前写的自己用的
    1. ;按照颜色选取图元
    2. (DEFUN C:cff(/ co color enlst n s1 ss x)

    3. ;,| - - - - - - - - - - - - - - - - - - - -
    4. ;,| 函数编号:g0001
    5. ;,| - - - - - - - - - - - - - - - - - - - - -
    6. ;,|功能: 返回图元真实颜色
    7. ;,|参数:“ent”——图元名
    8. ;,|示例语句:   (color (car (entsel "\n选择: ")))
    9. ;,|示例返回:   颜色码
    10. (defun color (ent / c62 ent1)
    11.   (setq ent1 (entget ent))
    12.   (if (setq c62 (cdr (assoc 62 ent1)))
    13.       (if (= 0 c62)
    14.         7
    15.         c62
    16.       )
    17.      (cdr (assoc  62 (entget (tblobjname "layer" (cdr(assoc  8 ent1))))))
    18.   )
    19. )
    20.   
    21.   (redraw (setq s1 (car (entsel "\n选择: "))) 3)
    22.   (setq co  (color s1))
    23.   (setq enlst (ssadd))
    24.   (if (setq ss (ssget))
    25.     (repeat (setq n  (sslength ss)) ; fixed
    26.       (cond ((= co (color (setq x (ssname ss (setq n (1- n)))))) (ssadd x enlst)))
    27.     ))
    28.   (ssadd s1 enlst)
    29.   (sssetfirst nil enlst)
    30.   (princ )
    31. )

 楼主| 发表于 2017-9-12 17:08 | 显示全部楼层
易云网络 发表于 2017-9-12 14:32
  • 我以前写的自己用的

  • 程式运行完美,达到了筛选效果!感谢易云网络!
     楼主| 发表于 2017-9-13 10:40 | 显示全部楼层
    浴火鸟TYTYJ 发表于 2017-9-12 17:08
    程式运行完美,达到了筛选效果!感谢易云网络!
    1. 整理了一下程式,完全达到效果.
    复制代码
     楼主| 发表于 2017-9-13 10:41 | 显示全部楼层
    1. ;按照颜色选取图元
    2. ;,| - - - - - - - - - - - - - - - - - - - -
    3. ;,| 函数编号:g0001
    4. ;,| - - - - - - - - - - - - - - - - - - - - -
    5. ;,|功能: 返回图元真实颜色
    6. ;,|参数:“ent”——图元名
    7. ;,|示例语句:   (color (car (entsel "\n选择: ")))
    8. ;,|示例返回:   颜色码

    9. (DEFUN C:CV(/ co color enlst n s1 ss x)
    10. (defun color (ent / c62 ent1)
    11.   (setq ent1 (entget ent))
    12.   (if (setq c62 (cdr (assoc 62 ent1)))
    13.       (if (= 0 c62)
    14.         7
    15.         c62
    16.       )
    17.      (cdr (assoc  62 (entget (tblobjname "layer" (cdr(assoc  8 ent1))))))
    18.   )
    19. )
    20.   
    21.   (redraw (setq s1 (car (entsel "\n选择要筛选的目标对像颜色: "))) 3)
    22.   (setq co  (color s1))
    23.   (setq enlst (ssadd))
    24.   (princ "\n选择目标窗口: ")
    25.   (if (setq ss (ssget ))
    26.     (repeat (setq n  (sslength ss)) ; fixed
    27.       (cond ((= co (color (setq x (ssname ss (setq n (1- n)))))) (ssadd x enlst)))
    28.     ))
    29.   (ssadd s1 enlst)
    30.   (sssetfirst nil enlst)
    31.   (COMMAND "ERASE" ENLST "" "")
    32.   (princ )
    33. )
    回复 支持 1 反对 0

    使用道具 举报

    发表于 2017-9-20 16:47 | 显示全部楼层
    9楼太牛啦,看上去很高端
    发表于 2017-10-7 09:54 | 显示全部楼层
    回帖是一种美德!感谢楼主的无私分享 谢谢
    发表于 2017-10-7 10:02 | 显示全部楼层
    这个好牛,厉害
    发表于 2018-1-29 17:14 | 显示全部楼层
    太好了,终于知道怎样获取图层的颜色,在颜色ByLayer下。谢谢@易云网络!
    发表于 2023-10-24 15:04 | 显示全部楼层

    (62.256)筛选不出来了
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

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

    GMT+8, 2024-3-29 02:48 , Processed in 0.185840 second(s), 19 queries , Gzip On.

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

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