DWG文件不大,打开却慢的要死?

news/2024/12/22 9:16:00/

在我们的印象中,几十兆甚至上百兆的DWG文件用CAD打开和操作速度慢很正常,但偶尔会碰到这种文件,大小只有一两兆,可是用CAD打开时非常慢,打开后操作也相当慢,如果之前打开了其他文件,再打开这种文件时还会因为内存不足导致CAD闪退,这是为什么呢?

我正好碰到了几张这样的图纸,研究了一下,发现他们有一个共同点,就是有非常非常密集的填充,出现这种情况的原因有两种:一是本来应该用SOLID填充,但却是用了其他有线条组成的填充样式,由于要得到类似SOLID填充的效果,填充比例设置得非常小;二是确实需要用线条填充图案,但填充区域面积非常大,从而导致填充的线非常多。无论哪种情况下,如果这样的填充在图中只有一两个,可能还没什么关系,但问题就出在有时这些填充被定义成图块,会在图中反复插入,或者规划图中有很多大区域需要填充,这类密集填充一旦数量比较多,就会造成CAD打开和操作慢。

上面说的只是现象,既然有这种情况,为什么保存的CAD文件那么小,为什么在打开和操作的时候又会占用内存非常多,而且反应特别慢呢?

要弄清楚这个问题我们需要从CAD保存图形的格式和处理文件的模式说起。对于一个填充图案,在图纸中只需要保存一些参数,例如原点、图案样式名、比例等等,使用SOLID填充或图形填充对于保存文件大小基本没有影响,只是图案样式名不同而已。而要打开和显示这个填充图案就不一样了,如果是SOLID填充的话,CAD会根据边界形状将填充分解为一个或多个实线(SOLID)来进行显示,即使非常复杂的形状显示数据量也不会太大,如果是线型填充图案,就要计算所有线的显示数据,保证每条线都能显示出来。

可能这么讲大家还是不太理解,我用我手头的一张图纸跟大家讲一下就很容易理解了。我这儿有一张给排水的图,图纸不大,2MB多一点。截图如下:
在这里插入图片描述
当初拿到这张图,打开巨慢,有时还会退出。我一点点的查,终于找到问题所在。问题出在其中一个消火栓,如下图所示。在这里插入图片描述
这里肯定应该用SOLID填充,结果用的是ANSI37,比例设置成0.01。我将这个填充复制到一张新图中炸开,你知道有多少条线吗?90多万条,图中只有这么一个消火栓还好,这一张图中这样的消火栓有六七十个,想想这得有多少条线啊!几千万条线,CAD吃不消也很正常了。

遇到这种图应该怎么解决呢?图纸能打开的话还好说,找到问题所在,将填充图案改成SOLID。如果上面的消火栓是图块还比较简单,对一个图块参照编辑后,其他图块就自动修改了。如果图很复杂,要从中找出问题来很费劲,或者由于内存不足根本就打不开图纸,那该怎么办呢?有没有更好的方法呢?

方法倒有一个,在CAD(仅适用于AUTOCAD)中有一个变量,可以设置单个填充线数量的最大值。当填充的线数量超过这个数值时,填充直接显示为SOLID填充。这个变量是HPMAXLINES,默认值是1000000。当遇到图纸很小,但打开很慢或打开时内存溢出的图纸时,可以先适当调低这个设置,然后再打开图纸。比如说,输入HPMAXLINES命令,回车,将这个数值设置成300000,然后打开上面那张图纸,由于消火栓的填充的线数超过300000,打开时被显示为SOLID填充,因此就可以很轻松就打开,缩放、做其他操作也很顺畅。

这种方法只能暂时解决你打开和操作的问题,如果确认是使用了错误的填充图案,最好能找出来并进行修改,修改后保存图纸,这样以后自己或其他人在使用这张图纸的时候就不会面临相同的问题了。

大家要注意,如果没有特殊需要,做设备图块、公司LOGO等图形时,尽量使用SOLID填充,避免出现类似问题。如果做图的时候不注意,后面再想找出问题出在什么地方很困难。

当然文件打不开原因还有很多种,比如说文件数据错误,文件损坏等等,这些情况都应该会有相应的提示。小文件、打开慢、内存占用大很有可能是这个原因,可以试试这样的方法。

AUTOCAD及同类CAD软件都会遇到类似问题,但HPMAXLINES这个变量并不是所有CAD都有,只有AUTOCAD有这个变量。


http://www.ppmy.cn/news/591750.html

相关文章

如何使用python提取dwg文件中的坐标信息

如果要使用 Python 提取 DWG 文件中的坐标信息,你需要使用专业的 CAD 读取工具,例如 Autodesk AutoCAD、Teigha File Converter 等。这些工具可以将 DWG 文件转换成其他可读格式,如 DXF、PDF 等,然后再使用 Python 读取其中的坐标…

ObjectARX如何打开一个dwg文件

一 ObjectARX打开文件的几种方式 目前,发现在ARX打开文件的三种方式: Acad::ErrorStatus acedSyncFileOpen(const ACHAR * pszFileToOpen, const wchar_t* wszPassword NULL); 这个函数要求CAD为单文档模式、不要求命令处于应用程序上下文。SDI为CAD中…

C# 实现预览dwg文件完整源代码(无需autocad环境)

using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; using System.IO; namespace WindowsApplication3 { /// <summary> /// Form1 的摘要说明。 /// </sum…

arcGIS加载cad的dwg文件

从知乎看到的&#xff0c;确实可行;https://www.zhihu.com/question/34799374 作者&#xff1a;问题天天多多 链接&#xff1a;https://www.zhihu.com/question/34799374/answer/63359893 来源&#xff1a;知乎 著作权归作者所有。商业转载请联系作者获得授权&#xff0c;非商业…

如何将dwg文件转成kml文件

第一步&#xff1a; 在CAD中将DWG另存为 DXF&#xff0c;如下&#xff1a; 注意&#xff1a;&#xff08;中文乱码&#xff09;为了打开的中文不出现乱码&#xff0c;保存DXF文件请选择如下的选项 第二步&#xff1a; 下载安装Bigemap GIS Office download.bigemap.com/bmset…

dwg文件怎么打开?如何查看dwg图纸?

dwg文件怎么打开&#xff1f;如何查看dwg图纸&#xff1f;想必不少刚刚开始接触CAD的小伙伴都会有这样的疑问&#xff0c;那么为什么dwg图纸的打开不那么容易呢&#xff1f;这就需要从dwg图纸的格式属性说起了&#xff01; dwg是电脑辅助设计软件AutoCAD以及基于AutoCAD的软件…

dwg格式的计算机图,电脑上怎么打开dwg文件?

原标题&#xff1a;电脑上怎么打开dwg文件&#xff1f; 在我们日常学习和日常工作中&#xff0c;常常和图纸打交道的工作者们&#xff0c;会遇到一种是dwg格式的文件&#xff0c; 其实dwg文件是cad图形,不是图片文件&#xff0c;那怎么样我们才能打开它呢进行浏览查看并进行编辑…

dwg格式的计算机图,dwg是什么文件 怎么打开【图文】

现在用电脑的地方也越来越多&#xff0c;而且为了方便工作&#xff0c;电脑上面安装的软件也是很多&#xff0c;有的软件我们可能不需要了就会删掉&#xff0c;但是电脑上面还会有一些文件&#xff0c;我们都不知道是什么文件&#xff0c;而且也打不开&#xff0c;例如dwg&…