从另一个选择中获取
大家好,我想知道是否有可能从另一个选择集获得一个选择集过滤器。
(ssget“P”'((0。“ATTDEF”))从最后一个选择集中获取所有属性
以前的sset也包含多段线,但我现在无法执行
(ssget“P”'((0。“LWPOLYLINE”))因为上一个集合只包含属性。
也许我可以做一个(ssget“P”((0。“LWPOLYLINE,ATTDEF”))但是我必须做一个循环来选择不同的元素。
我的问题是,是否可以从这样的选择集中获取对象:
(defun c:esplodi_cordoli (/ )
;explode all blocks
(setq sel1 (ssget '((0 . "INSERT"))))
(setvar "qaflags" 1)
(command "_explode" sel1 "")
(setvar "qaflags" 0)
;select polylines and attributes
(setq index 0
sel2 (ssget "P" '((0 . "LWPOLYLINE,attdef")))
sel3 (ssget sel2 '((0 . "LWPOLYLINE")))
sel4 (ssget sel2 '((0 . "ATTDEF")))
)
;;change color to polylines
(repeat (sslength sel3)
(setq modificato (SUBST (CONS 62 253) (ASSOC 62 (entget (ssname sel3 index))) (entget (ssname sel3 index))))
(entmod modificato)
(setq index (1+ index))
)
(setq sel4 (ssget "P" '((0 . "ATTDEF"))))
(setq i -1)
(repeat (sslength sel4)
(entdel (ssname sel4 (setq i (1+ i))))
)
)
谢谢大家!!!
丹尼斯 当然,请逐步完成您的选择集,例如ss1(使用ssname/sslength),并为每个元素检查新条件,然后使用ssadd,例如:if(=(setq ent(ssname ss1 i))(您的条件))(setq ss2(ssadd ent)
我想你知道如何处理sslength(setq len(sslength ss1)I 0)(而(
gr.Rlx 请阅读代码发布指南并编辑您的帖子,将代码包含在代码标签中。
Your Code Here=
Your Code Here
或者李的网站上列出的许多其他方式
页:
[1]