明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 9148|回复: 30

[源码] 源码,分享两个清理程序

    [复制链接]
发表于 2014-3-25 22:51:14 | 显示全部楼层 |阅读模式
本帖最后由 lucas_3333 于 2014-3-28 08:04 编辑




哈哈,不多说了,上附件了



本帖子中包含更多资源

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

x

评分

参与人数 3明经币 +3 金钱 +10 收起 理由
mhx999 + 1 + 10 赞一个!
flyfox1047 + 1 神马都是浮云
自贡黄明儒 + 1 很给力!

查看全部评分

"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2022-3-26 04:48:38 | 显示全部楼层
我这有个更简单的。

(defun c:11()
(dictremove(namedobjdict)"ACAD_DGNLINESTYLECOMP")
(vl-cmdf "-SCALELISTEDIT" "R" "Y" "E"
"_audit" "Y"
"_purge" "A" "" "N"
)
(princ))
回复 支持 1 反对 0

使用道具 举报

发表于 2014-3-26 15:42:08 | 显示全部楼层
感觉这个更好用些
;;清理图层 www.xdcad.net
(defun c:PU(/ thisdrawing ss lyrlst olderr myerr)
(setvar"clayer""0")         ;; 当前层为0层
  (defun myerr (msg)
    (if (/= msg "取消")
      (princ "\*取消*")
    )
    (vla-endundomark thisdrawing)
    (setq *error* olderr
  myerr   nil
    )
    (princ)
  )
  (setvar "cmdecho" 0)
  (setq thisdrawing
(vlax-get-property
   (vlax-get-acad-object)
   'activedocument
)
  )
  (vla-startundomark thisdrawing)
  (setq olderr *error*
*error* myerr
  )
  (vlax-map-collection
    (vlax-get-property thisdrawing 'layers)
    '(lambda (lyr / name s tf)
       (setq name (vla-get-name lyr))
       (if (or (setq tf (= (vla-get-freeze lyr) :vlax-true))
       (= (vla-get-layeron lyr) :vlax-false)
   )
(progn
   (if (= (vla-get-lock lyr) :vlax-true)
     (vla-put-lock lyr :vlax-false)
   )
   (if tf
     (setq lyrlst (cons name lyrlst))
   )
   (vla-put-freeze lyr :vlax-false)
   (if (setq s (ssget "X" (list (cons 8 name))))
     (vl-cmdf ".erase" s "")
   )
)
       )
     )
  )
  ;|(if lyrlst
    (vlax-map-collection
      (vlax-get-property thisdrawing 'blocks)
      '(lambda (b / bn)
(setq bn (vla-get-name b))
(if (and (/= bn "*MODEL_SPACE")
  (/= bn "*PAPER_SPACE")
  (not (wcmatch bn "`*PAPER_SPACE?"))
     )
   (vlax-map-collection
     b
     '(lambda (x)
(if (vl-position (vla-get-layer x) lyrlst)
  (vla-delete x)
)
      )
   )
)
       )
    )
  )|;
  (if (setq ss (ssget "x" '((2 . "*网易*,*土木在线*,*园林站图块*"))))
    (vl-cmdf ".erase" ss "")
  )
  (vla-purgeall thisdrawing)
  (vla-purgeall thisdrawing)
  (vla-purgeall thisdrawing)
;  (vla-zoomextents (vla-get-application thisdrawing))
  (vla-save thisdrawing)
  (vla-endundomark thisdrawing)
  (setq *error* olderr
myerr nil
  )

;删除空组及数量为1的组定义 狂刀lxx 2011-5-10 2005.10 http://bbs.mjtd.com/thread-86821-1-1.html
(vlax-for obj (vla-get-groups (vla-get-activedocument(vlax-get-acad-object)))
(if (< (vla-get-count obj)2)(vla-delete obj)))
;删除匿名组
(vlax-for obj (vla-get-groups (vla-get-activedocument(vlax-get-acad-object)))
(if (wcmatch (vla-get-name obj)"'**")(vla-delete obj)))

(princ))
回复 支持 0 反对 1

使用道具 举报

发表于 2014-3-25 23:05:39 | 显示全部楼层
清理什么啊??
发表于 2014-3-26 07:07:09 | 显示全部楼层
无法下载,不知能清理什么啊
发表于 2014-3-26 08:11:43 | 显示全部楼层
本帖最后由 自贡黄明儒 于 2014-3-26 08:28 编辑

第一个要安装ET,调用了overkill
LZ你应该整理一下
发表于 2014-3-26 09:39:37 | 显示全部楼层
LZ你应该整理一下,亲水?
发表于 2014-3-26 12:34:36 | 显示全部楼层
好用不,能清理什么呢,楼主最好说明哈
 楼主| 发表于 2014-3-28 08:08:54 | 显示全部楼层
再上一个

本帖子中包含更多资源

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

x

评分

参与人数 1明经币 +1 收起 理由
USER2128 + 1 赞一个!

查看全部评分

发表于 2017-10-24 16:21:06 | 显示全部楼层
回帖是一种美德!感谢楼主的无私分享 谢谢
发表于 2017-10-27 23:44:00 | 显示全部楼层
都很好用,学习了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-17 07:20 , Processed in 0.207341 second(s), 34 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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