明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3632|回复: 8

求一个批量删除同名块的程序

[复制链接]
发表于 2008-3-1 22:34:00 | 显示全部楼层 |阅读模式

图里面的块重复插入很多次,名字知道了,有几百副这样的图。要删除这里面指定名字的所有块。

发表于 2008-3-7 16:52:00 | 显示全部楼层

是都要删除吗?

(defun c:sb (/ en lst typ blkn ss n ret)

  (setq en (entsel "\n请选择一个块:"))
  (if en
    (progn
      (setq lst (entget (car en)))
      (setq typ (cdr (assoc 0 lst)))
      (if (= "INSERT" typ)
 (progn
   (setq blkn (cdr (assoc 2 lst)))
   (setq ss (ssget "x" (list (cons 2 blkn))))
   (setq n -1)
   (repeat (sslength ss)
     (setq en (ssname ss (setq n (1+ n))))
     (redraw en 3)
   )
   (initget "Move Erase eXplode")
   (setq ret
   (getpoint
     "\n选择基点或选择一种操作方式\"移动<Move>,删除<Erase>,打碎<eXplode>,<右键取消>\"]:"
   )
   )
   (cond
     ((= "Move" ret)
      (command "move" ss "")
     )
     ((= "Erase" ret)
      (command "erase" ss "")
     )
     ((= "eXplode" ret)
      (setq n -1)
      (command "undo" "be")
      (repeat (sslength ss)
        (setq en (ssname ss (setq n (1+ n))))
        (command "explode" en)
      )
      (command "undo" "e")
     )
     ((listp ret)
      (if ret
        (progn
   (command "move" ss "" ret)
        )
        (progn
   (setq n -1)
   (repeat (sslength ss)
     (setq en (ssname ss (setq n (1+ n))))
     (redraw en 4)
   )
        )
      )
     )
   )

 )
 (alert "\n请选择块!")
      )
    )
  )

  (princ)
)

里面供了3种选择方式,如果你只要删除,你修改一下程序即可

发表于 2008-3-12 13:00:00 | 显示全部楼层

用过滤选择后删除就好啦~

没必要特地写一个程序吧~

发表于 2008-3-12 19:26:00 | 显示全部楼层
能用框选的方式来删除吗?
发表于 2008-3-13 12:22:00 | 显示全部楼层

当然~不然就没啥意义了~

发表于 2008-3-13 21:49:00 | 显示全部楼层
用框选的方式如何来删除?
发表于 2008-3-24 09:04:00 | 显示全部楼层
如果要框选,只要将(setq ss (ssget "x" (list (cons 2 blkn))))
改成(setq ss (ssget  (list (cons 2 blkn))))就行了,不过有一点,不支持无名块,如果要支持,得修改程序。
发表于 2008-5-20 23:26:00 | 显示全部楼层

请英雄无敌大侠改下程序吧。其实实际应用中,很多情况就是要删除无名块。

感谢英雄无敌大侠了!

发表于 2008-5-27 10:10:00 | 显示全部楼层
怎样过滤选择无名块
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-2-27 23:14 , Processed in 0.187126 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表