大家好,
我想知道是否有可能从另一个选择集获得一个选择集过滤器。
(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
- [b](setq index 0
- sel2 (ssget "P" '((0 . "LWPOLYLINE,attdef")))
- sel3 (ssget sel2 '((0 . "LWPOLYLINE")))
- sel4 (ssget sel2 '((0 . "ATTDEF")))
- )[/b]
- ;;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))))
- )
- )
谢谢大家!!!
丹尼斯 |