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 可以搞定