选择集二次筛选
例如,先用(setq ss1 (ssget))获取选择集,然后再用ssget筛选出其中的图层layer2上的多段线作为ss2,筛选出其中的直线作为ss3,如果不使用遍历选择集中的所有实体可以做到吗?以下用法cad不支持:(setq ss2 (ssget "X" (list (cons 0 "LWPOLYLINE") (cons 8 "Layer2")) ss1))(defun c:tt ()
(if (setq ss (ssget))
(progn
(setq ss2 (ssget "p" '((0 . "LWPOLYLINE") (8 . "Layer2"))))
(command "select" ss "")
(setq ss3 (ssget "p" '((0 . "LINE"))))
)
)
(princ)
) 把X换成P试试 (defun c:tt(/ ss ss1 ss2 )
(setq ss (ssget));多选
(command "select" ss"");选中所有
(setq ss1 (ssget "p" '((0 . "LINE"))))
(command "select" ss "");选中所有
(setq ss2 (ssget "p" '((0 . "CIRCLE"))))
(setq v1(sslength ss1) v2(sslength ss2))
)
参考一下 统一网名 发表于 2025-3-21 13:57
(defun c:tt(/ ss ss1 ss2 )
(setq ss (ssget));多选
(command "select" ss"");选中所有
选中所有是可以,不过这个就达不到想要的效果了。这需要全图筛选 holypower2011 发表于 2025-3-21 16:06
选中所有是可以,不过这个就达不到想要的效果了。这需要全图筛选
做个参考,自己改一下就可以了
页:
[1]