明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1160|回复: 1

[讨论] 新人求助 Lisp程序删除指定块

[复制链接]
发表于 2014-8-6 20:34 | 显示全部楼层 |阅读模式
现在我有几百个cad文件图纸,里面有一个块名叫"签名",现在要求打印出来的图纸不要"签名"这个块。我有个cad批量处理程序,可以对某个文件夹中的所有cad文件一个一个运行某个Lisp程序后自动保存。现在我想有个删除指定块名Lisp程序,下面所示程序的删除块Lisp程序要在cad中选择一个块,然后删除cad中所有相同名字的块。我想在它基础上修改成删除指定块名Lisp程序,就是在Lisp程序里就指定删除所有块名为"签名"的块,不用我在cad中点击块名,即一运行这个Lisp程序,马上删除所打开cad中的块名为"签名"的所有块。
望那位高手可以解决小弟的问题,万分感谢!

(defun c:ek(/ xx a xzj gs);选择块确认后,删除所有同名块
(setq xzj (ssget '((0 . "INSERT"))))
(setq gs (sslength xzj))
(if (/= gs 1) (exit))
(setq xx (entget(ssname xzj 0)))
(setq a (cdr (assoc 2 xx)))
(setq xzj (ssget "x" (list(cons 2 a))))
(command "_erase" xzj "")
)

发表于 2014-8-6 21:20 | 显示全部楼层
(defun ek (/ xx a xzj gs)
   (command "_erase" (ssget "X" '((0 . "INSERT") (2 . "簽名"))) "")
)
回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-4 09:54 , Processed in 0.339774 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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