测试
bonny 发表于 2023-9-22 12:40
需要从大到小先排序下,否则....
否则什么 小的删大的么
飞雪神光 发表于 2023-9-22 12:43
否则什么 小的删大的么
对啊:P-:P-:P-:P-:P-
bonny 发表于 2023-9-22 12:31
(defun c:tt (/ pp s x xx)
;;本例是特例,矩形不相交
(if (and (setq s (ssget '((0 . "*PO*"))))
如果我想选中这些最外矩形框并删除,怎么写?
飞雪神光 发表于 2023-9-22 12:37
我也发个
你们把我的要求看反了;P
高手,受教了。
bonny 发表于 2023-9-22 12:46
对啊
矩形不相交的话 用"cp"模式也不会小的选中大的
飞雪神光 发表于 2023-9-23 14:35
一个原理 把删图行改成删选择集
语法错误。
qazxswk 发表于 2023-9-23 17:00
语法错误。
(defun c:tt(/ ptlst ss ss2)
(setq ss(ssget '((0 . "LWPOLYLINE")(90 . 4))))
(foreach ty (vl-remove-if-not '(lambda (x) (= (type x) 'ENAME)) (mapcar 'cadr (ssnamex ss)))
(if (entget ty)
(progn
(setq ptlst nil)
(foreach x (entget ty) (if (= (car x) 10) (setq ptlst (cons (cdr x) ptlst))))
(setq ss2 (ssget "CP" ptlst))
(if(ssmemb ty ss2)(ssdel ty ss2))
(foreach ty (vl-remove-if-not '(lambda (x) (= (type x) 'ENAME)) (mapcar 'cadr (ssnamex ss2)))
(if(ssmemb ty ss)(ssdel ty ss))
)
)
)
)
(sssetfirst nil ss)
(princ)
)
楼上的很完美,给下部批量“”框内删“”除提供了条件,希望能继续下去