指南

DXF 与 DWG 有什么区别?

DWG 是 AutoCAD 的原生格式,DXF 是公开的交换格式。两者到底差在哪、你需要哪一个,以及别人发来 DWG 时该怎么拿到 DXF。

KulmanLab · · 4 分钟阅读

DWG 是 AutoCAD 的原生文件格式——二进制、私有,且 Autodesk 并未公开其规范。DXF 则是 Autodesk 公开发布的交换格式,好让别的程序也能读到同样的图纸。几何内容相同,装它的容器不同;而这两者之中,只有一个是为了把文件交给你自己软件之外的人而设计的。

最后这一点就是全部的实际差别,也正是它决定了你该开口要哪一种。

一句话对照

DXFDWG
全称Drawing Exchange FormatDrawing
公开规范有,由 Autodesk 发布没有
编码文本(也有二进制变体)二进制
用途在程序之间搬运图纸AutoCAD 自己的工作格式
文件体积较大较小
其他软件的读取非常广泛参差不齐,靠逆向工程的库
承载 AutoCAD 的全部能力否——一个有文档的子集

为什么会有两种格式

Autodesk 1982 年推出 AutoCAD,工作格式就是 DWG。它是为一个程序自身的便利而造的:紧凑、二进制,AutoCAD 需要时随时可以改。

这也让它并不适合发给别人。于是 Autodesk 另外公开了 DXF——同一张图纸,写成有文档、可读的形式,任何开发者都能照着实现。用文本编辑器打开一个 .dxf,你会看到清清楚楚的 ASCII 组码和段名。

两者是同步版本化的。每个 AutoCAD 版本都会带来一次 DWG 修订和与之对应的 DXF 修订;你有时在文件头里看到的 AC1032 标记,指的就是 AutoCAD 2018 这一代。

所以 DXF 并不是更旧或更低一等的格式。它就是同一张图纸,只是被刻意做成了可读的样子。

实际使用中真正的差别

**开放性。**Autodesk 公开 DXF 的文档,不公开 DWG 的。能读 DWG 的程序不少,但它们依赖的是通过逆向工程还原格式而写成的库。这样做效果不错,也完全正当,但意味着 DWG 支持总是滞后于新版本,且各家软件参差不齐;而 DXF 的支持任何人都能照着规范直接实现。

**体积。**同一张图纸,二进制 DWG 通常比 ASCII 的 DXF 小得多。做大项目时这有意义;就一个零件则无所谓。

**保真度。**DWG 装得下 AutoCAD 能表达的一切,包括别的程序压根没有对应概念的对象类型。DXF 覆盖的是一个有文档的子集。对普通的二维制图而言——直线、圆弧、圆、多段线、文字、标注、图层——这个子集已经够用。若模型大量依赖 AutoCAD 的专有对象,导出成 DXF 就会丢掉一部分。

**支持面。**几乎所有 CAD、CAM 和矢量工具都能读 DXF。能读 DWG 的要少一些,而且往往支持得不够完整。

你到底需要哪一个?

**别人发来一个文件,你打不开。**先看真实的后缀名。大多数人把两者都叫“DWG”,而有一半的情况,你下载文件夹里那个其实是 .dxf,本来就能打开。参见不用 AutoCAD 打开 DXF

**你要发给激光切割、CNC 车间或加工厂。**基本上一律用 DXF。机器软件和切割服务都是围绕它建立的,二维切割几何也舒舒服服地落在有文档的子集之内。参见为激光切割准备 DXF

**你要发给用 AutoCAD 的建筑师或工程师。**问一下。很多人偏好 DWG,因为他们的流程就是这么预期的;如果不是,他们打开 DXF 也毫无问题。

**你要长期存档。**用 DXF。一个有文档的文本格式,二十年后只要有人手里有规范和一个文本编辑器,就仍然读得出来。交换格式存在的意义正在于此。

**别人只是想看一眼。**两个都不用——发 PDF。参见把 DXF 转成 PDF

拿到 DWG 时怎么换到 DXF

可靠的办法是开口要。发文件给你的人在自己的 CAD 程序里打开,然后另存为导出 → DXF。前后大约十秒,任何桌面 CAD 软件都能做到,而且文件是从当初创建它的软件里出来的,而不是第三方对它的猜测。

如果没法开口问,转换器是有的。有两点要掂量:转换正是保真度流失的地方,而且你是把别人的图纸上传到一个你无法掌控的服务上。做个人项目没问题;接客户的活,还是问一句。

真要索取时,最好指明版本。DXF R12 最稳妥——它非常老、支持无处不在,而且只要图纸是朴素的二维几何,就不会丢掉任何要紧的东西。尤其是老一些的机器软件,跟它相处融洽得多。

两个常见的误解

**“DXF 会丢数据。”**只是在“它不携带 AutoCAD 专有对象类型”这个意义上成立。直线、圆弧、圆、多段线、文字、标注和图层都会完整保留。对二维制图工作来说,损失通常为零。

**“DXF 是老格式。”**它从 1982 年起就与 DWG 并行版本化,至今仍是。这个误会源于 R12 被当作兼容目标用得太广,以致于让人以为 DXF 停在了那里。

这个工具处在什么位置

KulmanLab 只读 DXF,不读 DWG——这一点值得说明缘由,而不是当成疏漏:DXF 有文档,实现只要照着规范就能做对。DWG 则意味着要在浏览器里依赖一个逆向工程得来的库,去应对一个按 Autodesk 自己的节奏变动的格式。

如果你手上是 .dwg,它打不开。如果是 .dxf,你可以在浏览器标签页里打开,什么都不用装:app.kulmanlab.com

它写回去的是整张图——直线、圆、圆弧、椭圆、多段线、样条曲线、带格式的文字、标注、引线和填充,连同图层和线型。在这里打开再导出的文件,会带着标注一起出去,而不是被剥回纯几何。


相关:Import 说明 KulmanLab 究竟能从 DXF 中读到什么,Export Manager 说明各导出格式分别包含什么。

在浏览器中试用 KulmanLab

免费的二维 CAD 和 DXF 编辑 — 无需安装、无需账户,不上传任何文件到服务器。

打开应用
← 全部文章