bonny
发表于 2023-9-22 12:42:34
测试
飞雪神光
发表于 2023-9-22 12:43:16
bonny 发表于 2023-9-22 12:40
需要从大到小先排序下,否则....
否则什么 小的删大的么
bonny
发表于 2023-9-22 12:46:03
飞雪神光 发表于 2023-9-22 12:43
否则什么 小的删大的么
对啊:P-:P-:P-:P-:P-
qazxswk
发表于 2023-9-22 22:27:14
bonny 发表于 2023-9-22 12:31
(defun c:tt (/ pp s x xx)
;;本例是特例,矩形不相交
(if (and (setq s (ssget '((0 . "*PO*"))))
如果我想选中这些最外矩形框并删除,怎么写?
qazxswk
发表于 2023-9-22 22:37:27
飞雪神光 发表于 2023-9-22 12:37
我也发个
你们把我的要求看反了;P
woxin168
发表于 2023-9-22 23:21:58
高手,受教了。
飞雪神光
发表于 2023-9-23 15:08:27
bonny 发表于 2023-9-22 12:46
对啊
矩形不相交的话 用"cp"模式也不会小的选中大的
qazxswk
发表于 2023-9-23 17:00:35
飞雪神光 发表于 2023-9-23 14:35
一个原理 把删图行改成删选择集
语法错误。
飞雪神光
发表于 2023-9-23 19:00: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)
)
bai2000
发表于 2023-9-23 21:14:59
楼上的很完美,给下部批量“”框内删“”除提供了条件,希望能继续下去