cnks 发表于 2011-8-30 13:33:11

小菜123 发表于 2011-8-30 13:22 static/image/common/back.gif
有时图中有错误,导致CAD经常崩溃,怎么recover都没用处,不知道有没有什么工具能处理?

用其他的dwg浏览软件打开然后保存估计可以

cjrun 发表于 2011-8-30 21:42:15

本帖最后由 cjrun 于 2011-8-30 21:43 编辑

没那么复杂,只要注释比例重置下,文件就只有30K左右!
(command "-scalelistedit" "reset" "y" "e")
附:是不是大为的图?

小菜123 发表于 2011-8-30 21:59:16

是搞他的图的时候发现的问题,不过后来生成了一张到现在也搞不好的坏图

cjrun 发表于 2011-8-30 22:39:18

注释比例重置是可以解决粘贴时死机的问题!cad2008每次拷贝都会把注释比例对象加进新的文件,而且一样的比例也不会覆盖,而是重命名继续增加,文件就会越来越大,任何文件只要经常粘贴,最终会变成无比巨大的文件。这时候即使删除所有内容并purge,也无法去除注释比例对象。只能使用命令行重置。2010则改进了这个问题,会自动提示你重置注释比例。

上次已经帮他弄过两个文件了,估计拷了别人的图!

byghbcx 发表于 2011-8-31 09:37:18

(dictremove (namedobjdict) "ACAD_SCALELIST")就只有30几K了,怎样把ACAD_SCALELIST词典里的东西取出来?

小菜123 发表于 2011-8-31 14:21:12

本帖最后由 小菜123 于 2011-8-31 15:56 编辑

函数:(defun getkeys (dictName / tmp)
(if (setq tmp (dictsearch (namedobjdict) dictName))
    (massoc 350 tmp)
)
)
(defun massoc (key alist / x nlist)
(foreach x alist
    (if (eq key (car x))
      (setq nlist (cons (cdr x) nlist))
    )
)
(reverse nlist)
)


用(getkeys "ACAD_SCALELIST")取出所有实体,用(mapcar 'entdel (getkeys "ACAD_SCALELIST"))可删除
不清楚对于有许多内容的图,执行这个以后有什么副作用

mokson 发表于 2011-9-4 23:17:36

让我也看看,能不能搞定。

jackynine 发表于 2011-9-5 10:09:43

学习了,程序小而有用

d-day 发表于 2011-9-5 11:37:06

Autodesk 官方有修复工具 Scale List Cleanup Utility for AutoCAD 2010

http://usa.autodesk.com/adsk/servlet/ps/dl/item?siteID=123112&id=13723349&linkID=9240618

不过需要安装 acad 2010 及以上版本才能运行。
过去官方提供有 for AutoCAD 2008 的工具,不知为何官方删除了,传上来大家可以试试,各取所需
文件列表如下:
cleanupscales_chs.html
cleanupscales_eng.html
scale_list_cleanup_utility_32bit.exe
scale_list_cleanup_utility_64bit.exe





d-day 发表于 2011-9-5 11:40:14

还有一个老外的 lisp 程序,提供了一堆相关的命令
用 SCALELISTDELALL 可以搞定




页: 1 [2] 3
查看完整版本: 一张没有内容的图却有16M,请教如何清理