nadaloveluna 发表于 2015-3-16 09:56:22

求批量删除某图层上所有方框内的内容的LSP

如图,删除矩形框内的文字和直线,以及其他的东西,最好能批量删除~~~~



琴剑江山_10184 发表于 2015-3-16 10:52:20

本帖最后由 琴剑江山_10184 于 2015-3-16 11:00 编辑

;;;;琴剑江山 2015.3.16
(defun c:ta (/ ADD DXF-10 ENT GET GET2 LEN LEN2 NN NN2)
(setvar "cmdecho" 0)
(princ "\n功能 [批量删除多段内所有对象]")
(setq get (ssget (list '(0 . "LWPOLYLINE") (cons 8 "bend"))));删除"bend"层的,自行修改你的层
(setq Len (sslength get) add (ssadd))
(repeat Len
    (setq nn(ssname get (setq Len (1- Len)))
    ent (entget nn))
    (if (= (cdr (assoc 0 ent)) "LWPOLYLINE")
      (progn
    (setq dxf-10 (vl-remove-if '(lambda (x) (/= (car x) 10)) ent)
    get2   (ssget "_WP" (mapcar 'cdr dxf-10))
    Len2   (sslength get2))
    (repeat Len2
      (setq nn2 (ssname get2 (setq Len2 (1- Len2))))
      (ssadd nn2 add)
      )
    )
      )
    )
(vl-cmdf "_.ERASE" add "")
(princ)
)

ZZXXQQ 发表于 2015-3-16 21:04:21

;;;;琴剑江山 2015.3.16
(defun c:ta (/ ADD PLST ENT GET GET2 I)
(setvar "cmdecho" 0)
(princ "\n功能 [批量删除多段内所有对象]")
(setq get (ssget (list '(0 . "LWPOLYLINE") (cons 8 "bend"))));删除"bend"层的,自行修改你的层
(repeat (setq i (sslength get))
    (setq nn (ssname get (setq i (1- i))) plst nil)
    (foreach x (entget nn) (if (= (car x) 10) (setq plst (cons (cdr x) plst))))
    (setq get2 (ssget "WP" plst))
    (command "_.ERASE" get2 "R" nn "")
)
(setvar "cmdecho" 1)
(princ)
)

琴剑江山_10184 发表于 2015-3-16 21:13:24

ZZXXQQ 发表于 2015-3-16 21:04 static/image/common/back.gif


老大出手。如此精简,学习下

琴剑江山_10184 发表于 2015-3-16 21:21:58

琴剑江山_10184 发表于 2015-3-16 10:52 static/image/common/back.gif


封闭的距形啊

xyp1964 发表于 2015-3-16 21:22:05


琴剑江山_10184 发表于 2015-3-16 21:24:22

xyp1964 发表于 2015-3-16 21:22 static/image/common/back.gif


楼主下了也用不了

nadaloveluna 发表于 2015-3-16 21:41:23

琴剑江山_10184 发表于 2015-3-16 21:24 static/image/common/back.gif
楼主下了也用不了

哈哈,知道院长的需要院长自己的函数支持,哈哈哈~~

nadaloveluna 发表于 2015-3-16 21:42:20

ZZXXQQ 发表于 2015-3-16 21:04 static/image/common/back.gif


谢谢Z版前辈,我好好学习下源码,试着理解下。。

nadaloveluna 发表于 2015-3-16 21:42:55

琴剑江山_10184 发表于 2015-3-16 10:52 static/image/common/back.gif


谢谢江山前辈的LSP,帮了一个大忙。。。。谢谢您!!!
页: [1] 2
查看完整版本: 求批量删除某图层上所有方框内的内容的LSP