DWG图纸清理lsp
本帖最后由 失眠怪兽 于 2024-7-6 20:02 编辑清理项目块/组/线型/材料/多重引线样式/形状/多线样式/表格样式/视觉样式减少文件大小
;;;;;;;;;;;;;;;;;;;;;;;;;;;清理图纸
(defun c:cca ()
(setvar "cmdecho" 0)
(dictremove (namedobjdict) "ACAD_DGNLINESTYLECOMP")
(command "-scalelistedit" "reset" "y" "e")
(command "_purge" "all" "" "n")
(command "audit" "y")
(setvar "cmdecho" 1)
(princ)
)
用我这个吧,包治百病! 就是PU清理啊
(defun CAD_START_PURGE ()
(princ "\n为保证图形质量,自动执行清理修复程序...")
(setvar "cmdecho" 0); 禁用命令回显
(setvar "AUDITCTL" 0) ; 禁用审计报告详情
(princ "\n清理程序不会清理图层、字体、标注样式,如需清理请手动清理")
(dictremove (namedobjdict) "ACAD_DGNLINESTYLECOMP") ; 移除DGN线型组件字典
(setvar "LAYEREVALCTL" 0) ; 禁用图层评估
(setvar "LAYERNOTIFY" 0); 禁用图层通知
; 清理项目列表(块/组/线型/材料/多重引线样式/形状/多线样式/表格样式/视觉样式)
(setq pur_lst (list "B" "G" "LT" "MA" "MU" "SH" "M" "T" "V" ))
; 执行清理命令
(mapcar '(lambda(p) (vl-cmdf "_.-purge" (strcat "_" p)"*" "_N")) pur_lst)
(vl-cmdf "-purge" "Z") ; 清理零长度几何图形
(vl-cmdf "-purge" "E") ; 清理空文字对象
(vl-cmdf "-purge" "R" "*" "n") ; 清理注册应用程序
; 再次执行清理命令确保彻底清理
(mapcar '(lambda(p) (vl-cmdf "_.-purge" (strcat "_" p)"*" "_N")) pur_lst)
(vl-cmdf "-purge" "Z")
(vl-cmdf "-purge" "E")
(vl-cmdf "-purge" "R" "*" "n")
; 第三次执行清理命令确保彻底清理
(mapcar '(lambda(p) (vl-cmdf "_.-purge" (strcat "_" p)"*" "_N")) pur_lst)
(vl-cmdf "-purge" "Z")
(vl-cmdf "-purge" "E")
(vl-cmdf "-purge" "R" "*" "n")
; 执行审计修复命令
(vla-AuditInfo (vla-get-ActiveDocument (vlax-get-acad-object)) :vlax-true)
; 执行比例列表编辑命令,删除所有比例列表项
(vl-cmdf "-scalelistedit" "d" "*" "e")
; 恢复变量设置
(setvar "ANNOALLVISIBLE" 0)
(setvar "cmdecho" 1) ; 恢复命令回显
(princ "\n清理完成\n") ; 打印清理完成信息
(princ)
)
和系统自带的PU有啥不一样啊 貌似有缺陷 听见天晴 发表于 2024-7-6 21:31
和系统自带的PU有啥不一样啊
PU清理不彻底
和系统自带的PU有啥不一样啊 CAD2020错误: 输入的字符串有缺陷 能不开图批量清理后保存吗? MZ_li 发表于 2024-7-7 08:38
就是PU清理啊
从代码来看,话说为什么要PU清理那么多次?这个意义是有什么意义? 自贡黄明儒 发表于 2024-7-6 22:50
PU清理不彻底
这个清理的更彻底吗我看程序里PU了几次 。。。有啥不一样吗?还是就是那些文字 标注样式没有清理,那些一般不怎么站空间吧?
页:
[1]
2