【几乎解决】求可以选中多个图层所有元素的插件
本帖最后由 不来白不来 于 2014-12-12 15:40 编辑比如在图纸中选中两个两条线a,b,分别位于A,B图层;
执行命令;
自动选中A,B图层所有元素。
找了好几个插件,都没有这样的功能。
-------------------------------------------------------
在外网找到了一个,输入命令sellay或是sellays,然后单选或多选元素,确定,然后就会自动将已选中的元素所在图层的所有元素全部选中。
但是有一个问题,比如我在0图层新建了一个块A,把它移到1图层,用这个命令的话选中的是0图层的所有元素(理应选择图块A所在的1图层)。求解决;(C) 2008 CAD Studio -
;select objects on a picked layer(s)
(defun C:SELLAY ( / e ss i)
(setq i (ssget "_I"))
(setq e (nentsel "Select entity on a layer: "))
(if e (setq ss (ssget (if i "_I" "_X") (list(cons 8 (cdr (assoc 8 (entget (car e)))))))))
(if (zerop (getvar "CMDACTIVE"))
(progn (sssetfirst ss ss)(princ "Use 'P' for this selection set: ")(princ))
ss
)
)
(defun C:SELLAYS ( / e lay ss layl i)
(setq i (ssget "_I"))
(setq layl ""ss (ssadd))
(while (setq e (nentsel "\nSelect entity on a layer <exit>: "))
(setq layl (strcat layl "," (cdr (assoc 8 (entget (car e))))))
(princ (substr layl 2))
);while
(setq layl (substr layl 2))
(if (> layl "") (setq ss (ssget (if i "_I" "_X") (list (cons 8 layl)))))
(if (zerop (getvar "CMDACTIVE"))
(progn (sssetfirst ss ss)(princ "Use 'P' for this selection set: ")(princ))
ss
)
)
(princ "\nXanadu SELLAY + SELLAYS commands loaded.")(princ)居然被我找到一个更好用的,见三楼,命令是sel。
顶一下不错,可以快速选择多个图层 不错,可以快速选择多个图层 这个历害,感谢分享~~~~~ 在选中的时候不能显示成虚线,不能框选,求高手完善 我去,居然被我找到另一个更好的脚本(defun c:sel (/ ss i layer lst)
(if (setq ss (ssget))
(progn
(repeat (setq i (sslength ss))
(if (not (member (setq layer (cdr (assoc 8 (entget (ssname ss (setq i (1- i))))))) lst))
(setq lst (cons "," (cons layer lst)))
)
)
(sssetfirst nil (ssget "_A" (list (cons 8 (apply 'strcat (cdr lst))))))
)
)
(princ)
) 不来白不来 发表于 2014-12-12 15:38 static/image/common/back.gif
我去,居然被我找到另一个更好的脚本
非常感谢,也正是我非常想要的,以前一直用快速选择!!! 这尼玛不顶不行啊!太感谢了。 好东西 学习下
好东西 学习下
好东西 学习下 感谢分享学习!!!!
页:
[1]
2