CAD中只有一根线,使得这个文件很大,操作很卡!删除这根线又好了。这根线上隐藏了大量的图元,如何清理?


网友答: 本帖最后由 尘缘一生 于 2023-11-30 17:20 编辑

  • ;;选择集去除120组码----(一级)----
  • ;;三领设计  BY 尘缘一生  QQ 15290049
  • (defun ss-re120 (ss / n nam entl entn)
  •   (repeat (setq n (sslength ss))
  •     (setq nam (ssname ss (setq n (1- n))) entl (entget nam) entn nil)
  •     (foreach m entl
  •       (if (and (/= (car m) 102) (/= (car m) 360))
  •         (setq entn (cons m entn))
  •       )
  •     )
  •     (if entn
  •       (progn
  •         (setq entn (reverse entn))
  •         (entdel nam)
  •         (entmake entn)
  •       )
  •     )
  •   )
  • )
  • ;;测试----
  • (defun c:tt (/ ss)
  •   (setq ss (ssget ":S"))
  •   (ss-re120 SS)
  • )


网友答:
看看这个命令可以吗,一般超大的文件我是怎么办的。
;万能清理(清除所有无用数据为文件减负,同时解决多丛属对象,或是无故打不开,或是复制粘贴很卡)
(defun c:pu1()
(princ "\n 正在清除……!请稍候片刻!")
(if (dictremove (namedobjdict) "ACAD_DGNLINESTYLECOMP") (command "_.PURGE" "A" "" "N" ))
(command "_.PURGE" "A" "" "N" )
(princ "\n 清除完成!!及时保存文件!!")
(princ))

网友答: 有一个专门清理的工具

网友答: 好像不行 楼主这个文件确实有点古怪

网友答:
  1. (defun c:tt ()
  2.   (setq e (car (entsel "\n选择卡的线条")))
  3.   (if e
  4.     (progn
  5.       (setq ent (entget e))
  6.       (entdel e)
  7.       (entmake ent)
  8.     )
  9.   )
  10. )


测试有效

网友答: 本帖最后由 panliang9 于 2023-11-30 12:28 编辑

图面上只有一根线,但是用 “核查”  

核查了 “246500” 个对象,这是什么意思?

楼上(四楼)的试用了一下,但依然体积没有减小。


试想一下,图纸在各专业手上拷来拷去,中间你知道哪根线有这样的问题,完全没招啊。


网友答: dxfout输出看了下,这个 LINE 带个 dictionary,该 dictionary 带有无数个 TSSDPRO_ 打头的 xrecord ,删除了 dictionary 后保存下,文件是 200KB多。TSSDPRO 网上搜了下,探索者结构软件,不是这个专业的,没用过它,不知道它出什么状况了。出现这个情况,好像没简单的办法,只有针对性地删除,象这个图里是从 dxf 文件知道的句柄,(entdel (handent "3C4C2")) 删除的。

网友答: 下载安装这个插件
Drawing Purge(https://apps.autodesk.com/ACD/en ... &autostart=true)后,运行命令dwg-purge,即可清除。

网友答:
sysu-沼泽 发表于 2023-11-30 14:03
下载安装这个插件
Drawing Purge(https://apps.autodesk.com/ACD/en/Detail/Index?id=377313817697463467 ...

试过了,对这个图形不起作用。
  • 上一篇:打造自己的工具集
  • 下一篇:没有了