找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1824|回复: 27

[每日一码] 删除图中(包括图块内)所有的WIPEOUT实体

[复制链接]

已领礼包: 40个

财富等级: 招财进宝

发表于 2016-9-3 14:42:14 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
下面代码删除图中所有(包括图块内)的WIPEOUT实体,考虑了冻结层和锁定层的情况。

程序框架如下,稍加修改,你也可以删除其他类的实体。

[it618postdisplay>0]
  1. (vl-load-com)(defun _prelayers (adoc / item layers prop tmp)
  2.   (vlax-for item (vla-get-layers adoc)
  3.     (if (not (wcmatch (vla-get-name item "*|*")))
  4.       (setq layers (cons (append (list item)
  5.                                  (mapcar (function (lambda (prop / tmp)
  6.                                                      (setq tmp (vlax-get-property item prop))
  7.                                                      (vl-catch-all-apply (function (lambda () (vlax-put-property item prop :vlax-false))))
  8.                                                      (cons prop tmp)
  9.                                                      ) ;_ end of lambda
  10.                                                    ) ;_ end of function
  11.                                          '("freeze" "lock")
  12.                                          ) ;_ end of mapcar
  13.                                  ) ;_ end of append
  14.                          layers
  15.                          ) ;_ end of cons
  16.             ) ;_ end of setq
  17.       ) ;_ end of if
  18.     ) ;_ end of vlax-for
  19. )


[/it618postdisplay]
  1. (defun c:remove-wipeout (/ adoc layers count err)
  2.   (vla-startundomark (setq adoc (vla-get-activedocument (vlax-get-acad-object))))
  3.   (setq layers (_prelayers adoc))
  4.   (setq count 0
  5.         err 0
  6.         ) ;_ end of setq
  7.   (vlax-for blk_def (vla-get-blocks adoc)
  8.     (if (equal (vla-get-isxref blk_def) :vlax-false)
  9.       (vlax-for ent blk_def
  10.         (if (wcmatch (strcase (vla-get-objectname ent)) "*WIPEOUT*")
  11.           (if (vl-catch-all-error-p (vl-catch-all-apply (function (lambda () (vla-erase ent)))))
  12.             (setq err (1+ err))
  13.             (setq count (1+ count))
  14.             ) ;_ end of if
  15.           ) ;_ end of if
  16.         ) ;_ end of vlax-for
  17.       ) ;_ end of if
  18.     ) ;_ end of vlax-for
  19.   (foreach item layers
  20.     (foreach prop (cdr item)
  21.       (vl-catch-all-apply (function (lambda () (vlax-put-property (car item) (car prop) (cdr prop)))))
  22.       ) ;_ end of foreach
  23.     ) ;_ end of foreach
  24.   (princ (strcat "\nErased wipeout : " (itoa count) "\nError erasing  : " (itoa err)))
  25.   (vla-endundomark adoc)
  26.   (princ)
  27. ) ;_ end of defun


论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 3198个

财富等级: 富可敌国

发表于 2016-9-3 16:37:42 | 显示全部楼层
看看,学习
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

已领礼包: 2476个

财富等级: 金玉满堂

发表于 2016-9-3 17:26:21 | 显示全部楼层
块内做比较麻烦..删除还好吧..
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 5591个

财富等级: 富甲天下

发表于 2016-9-3 17:52:17 | 显示全部楼层
程序实用,感谢版主!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 4个

财富等级: 恭喜发财

发表于 2016-9-4 21:49:39 | 显示全部楼层
haohaohaohaohaohaohao
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 8745个

财富等级: 富甲天下

发表于 2016-9-5 07:14:13 | 显示全部楼层
学习!看一看!!!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 2963个

财富等级: 家财万贯

发表于 2016-9-5 09:03:12 | 显示全部楼层
学习学习学习
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 194个

财富等级: 日进斗金

发表于 2016-9-11 10:53:05 | 显示全部楼层
测试下效果!!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 67个

财富等级: 招财进宝

发表于 2016-9-17 12:01:35 | 显示全部楼层
學習了~
感謝樓主分享!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 30个

财富等级: 恭喜发财

发表于 2016-10-26 09:06:05 | 显示全部楼层
我有一些图是反复加了很多wipeout ,在需要一次性的把它们清掉的时候非常有用!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2017-2-23 15:58:16 | 显示全部楼层
我来学习学习这个东西
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1410个

财富等级: 财源广进

发表于 2017-2-23 17:11:38 | 显示全部楼层
正需要,支持楼主大人了!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2017-2-27 14:40:05 | 显示全部楼层
我要看看怎么写的
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 217个

财富等级: 日进斗金

发表于 2017-2-28 22:31:58 | 显示全部楼层
本帖最后由 yufeng37 于 2017-2-28 22:39 编辑

报告楼主,我运行下来有报错!

[检查文字 <未命名-0> 正在加载... SELECTION]
..
; 警告: 参数太少: (WCMATCH (vla-get-Name ITEM "*|*"))
.
; 检查完成.

命令: remove-wipeout
; 错误: 实参太多
; 出错后重置

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 5个

财富等级: 恭喜发财

发表于 2017-3-15 13:03:57 | 显示全部楼层
看看,学习

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-5-27 06:18 , Processed in 0.382166 second(s), 59 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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