明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3382|回复: 15

【几乎解决】求可以选中多个图层所有元素的插件

[复制链接]
发表于 2014-12-12 10:39:22 | 显示全部楼层 |阅读模式
本帖最后由 不来白不来 于 2014-12-12 15:40 编辑

比如在图纸中选中两个两条线a,b,分别位于A,B图层;
执行命令;
自动选中A,B图层所有元素。
找了好几个插件,都没有这样的功能。

-------------------------------------------------------
在外网找到了一个,输入命令sellay或是sellays,然后单选或多选元素,确定,然后就会自动将已选中的元素所在图层的所有元素全部选中。
但是有一个问题,比如我在0图层新建了一个块A,把它移到1图层,用这个命令的话选中的是0图层的所有元素(理应选择图块A所在的1图层)。求解决
  1. ;(C) 2008 CAD Studio -
  2. ;select objects on a picked layer(s)

  3. (defun C:SELLAY ( / e ss i)
  4. (setq i (ssget "_I"))
  5. (setq e (nentsel "Select entity on a layer: "))
  6. (if e (setq ss (ssget (if i "_I" "_X") (list(cons 8 (cdr (assoc 8 (entget (car e)))))))))
  7. (if (zerop (getvar "CMDACTIVE"))
  8.   (progn (sssetfirst ss ss)(princ "Use 'P' for this selection set: ")(princ))
  9.    ss
  10. )
  11. )

  12. (defun C:SELLAYS ( / e lay ss layl i)
  13. (setq i (ssget "_I"))
  14. (setq layl ""  ss (ssadd))
  15. (while (setq e (nentsel "\nSelect entity on a layer <exit>: "))
  16.   (setq layl (strcat layl "," (cdr (assoc 8 (entget (car e))))))
  17.   (princ (substr layl 2))
  18. );while
  19. (setq layl (substr layl 2))
  20. (if (> layl "") (setq ss (ssget (if i "_I" "_X") (list (cons 8 layl)))))
  21. (if (zerop (getvar "CMDACTIVE"))
  22.   (progn (sssetfirst ss ss)(princ "Use 'P' for this selection set: ")(princ))
  23.    ss
  24. )
  25. )

  26. (princ "\nXanadu SELLAY + SELLAYS commands loaded.")(princ)
居然被我找到一个更好用的,见三楼,命令是sel。

本帖子中包含更多资源

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

x
发表于 2018-1-9 16:23:09 | 显示全部楼层
顶一下  不错,可以快速选择多个图层
发表于 2017-11-8 10:13:58 | 显示全部楼层
不错,可以快速选择多个图层
发表于 2019-9-20 10:01:29 | 显示全部楼层
这个历害,感谢分享~~~~~
 楼主| 发表于 2014-12-12 15:29:18 | 显示全部楼层
在选中的时候不能显示成虚线,不能框选,求高手完善
 楼主| 发表于 2014-12-12 15:38:49 | 显示全部楼层
我去,居然被我找到另一个更好的脚本
  1. (defun c:sel (/ ss i layer lst)
  2.   (if (setq ss (ssget))
  3.     (progn
  4.       (repeat (setq i (sslength ss))
  5.         (if (not (member (setq layer (cdr (assoc 8 (entget (ssname ss (setq i (1- i))))))) lst))
  6.           (setq lst (cons "," (cons layer lst)))
  7.         )
  8.       )
  9.       (sssetfirst nil (ssget "_A" (list (cons 8 (apply 'strcat (cdr lst))))))
  10.     )
  11.   )
  12.   (princ)
  13. )

本帖子中包含更多资源

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

x
发表于 2015-1-26 23:45:27 | 显示全部楼层
不来白不来 发表于 2014-12-12 15:38
我去,居然被我找到另一个更好的脚本

非常感谢,也正是我非常想要的,以前一直用快速选择!!!
发表于 2015-9-4 17:14:38 | 显示全部楼层
这尼玛不顶不行啊!太感谢了。
发表于 2017-11-9 08:53:27 | 显示全部楼层
好东西 学习下
发表于 2017-11-14 14:21:19 | 显示全部楼层

好东西 学习下
发表于 2017-12-25 13:06:00 | 显示全部楼层

好东西 学习下
发表于 2017-12-27 18:03:01 | 显示全部楼层
感谢分享学习!!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 07:44 , Processed in 0.206956 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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