denghui002006 发表于 2019-5-17 13:47:24

一次性选择不规则区域内对象

一般选择的时候 能wp cp 选择,能否对不规则的多段线 啥的区域,进行一次性选择,如点击多段线,会自动选择多段线内区域的所有对象

taoyi0727 发表于 2019-5-17 14:33:52

(defun c:tt (/ en get n pt-lst ss xh)
        (command ".PLINE")
        (setq xh t)
        (while (and
                                       xh
                                       (setq get (grread 1 7 0))
                               )
                (cond
                        ((= 3 (car get));变量为3开头时为点击左键
                                (command (cadr get))
                        )
                        ((or
                               (= 25 (car get));变量为25开头时为点击右键
                               (equal '(2 32) get);变量为'(2 32)开头时为空格键
                               (equal '(2 13) get);变量为'(2 13)开头时为回车键
                       )
                                (setq xh nil);退出程序
                        )
                )
        )
        (command "")
        (setq en (entlast))
        (foreach x (entget en)
                (if (= (car x) 10)
                        (setq pt-lst (append pt-lst (list (cdr x))))
                )
        )
       
        (if (> (length pt-lst) 2)
                (progn
                        (setq ss (ssget "wp" pt-lst))
                        (repeat (setq n (sslength ss))
                                (entdel (ssname ss (setq n (1- n))))
                        )
                )
        )
        (entdel en)
)

taoyi0727 发表于 2019-5-17 13:50:32

WP 圈围(多边形正选)

与 CP 参数语法及用法类似,但只有被多边形窗口包围的对象才会被加入选择集。仅选绘图区可见对象。
参数语法: (ssget "wp" <pt-list> )

denghui002006 发表于 2019-5-17 13:57:51

taoyi0727 发表于 2019-5-17 13:50
WP 圈围(多边形正选)

与 CP 参数语法及用法类似,但只有被多边形窗口包围的对象才会被加入选择集。仅 ...

不会写lisp:'(

taoyi0727 发表于 2019-5-17 14:34:23

写的不好大概就是这样的
页: [1]
查看完整版本: 一次性选择不规则区域内对象