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

楼上的很完美,给下部批量“”框内删“”除提供了条件,希望能继续下去
页: 1 [2] 3 4
查看完整版本: 批量选择最外矩形框