选择指定的图层对象
Hii,我有层名称,如“地线”、“钢线”、“混凝土线”等。。
所以我需要选择所有提到的层命名包含对象,并删除它们。
这个任务有代码吗?
谢谢你。。
试试看。。 未测试:
(defun C:test ( / acDoc SS )
(cond
( (not (ssget "X" '((8 . "Earth Line',Steel Line,Concrete Line")))) (prompt "\nNo Selection.") )
( (setq acDoc (vla-get-ActiveDocument (vlax-get-acad-object)))
(vla-EndUndoMark acDoc) (vla-StartUndoMark acDoc)
(vlax-map-collection (setq SS (vla-get-ActiveSelectionSet acDoc)) ''((x) (vl-catch-all-apply 'vla-Delete (list x))))
(vla-Delete SS)
(vla-EndUndoMark acDoc)
)
)
(princ)
)
(vl-load-com)(princ) 非常感谢。它正在工作。
您能否仅提供选择对象?而不是删除。
非常感谢。
感谢您的确认,
这应该限制对活动视口的选择(因为我之前的建议选择了所有视口中的对象,这可能是不需要的):
(defun C:test nil
(sssetfirst nil
(ssget "X"
(list
'(8 . "Earth Line',Steel Line,Concrete Line")
(if (= 1 (getvar 'cvport)) (cons 410 (getvar 'ctab)) '(410 . "Model"))
)
)
)
(princ)
)
我的错。。我以为你想删除图层本身。。 Grrr谢谢,它也工作得很好。
哈哈,没关系,谢谢你。。
页:
[1]