dxf格式:01_dxf_intro

DXF 概述与基本概念

DXF(Drawing Exchange Format,图形交换格式)是 Autodesk 公司推出的一种开放式图形数据交换格式,用于实现 AutoCAD 与其他软件之间的图形数据交换。DXF 格式的核心思想是以带标记数据的形式来表示图形文件中包含的所有信息。

所谓带标记数据,是指文件中的每个数据元素前面都带有一个称为组码(Group Code)的整数。组码的值既指明了后面数据元素的类型(整数、浮点数、字符串等),也指明了该数据元素对于给定对象(或记录)类型的含义。

实际上,图形文件中所有用户指定的信息都可以用 DXF 格式来表示。这使得 DXF 成为 CAD/CAM 领域最广泛使用的数据交换标准之一。

DXF 文件支持两种存储格式:

  • ASCII DXF 文件(.dxf):文本格式,可直接用文本编辑器打开查看和编辑,便于二次开发调试。
  • 二进制 DXF 文件:采用二进制格式,文件更小,读写速度更快,但不易直接查看。

本教程主要针对 ASCII DXF 格式进行讲解。

组码是 DXF 格式的核心。一个组码和它后面的数据组成一个“组”,格式为:

  • 第 1 行:组码(整数)
  • 第 2 行:组码对应的值

例如,以下两组数据表示一个圆的圆心坐标为 (0,0):

 10
 0.0
 20
 0.0
 30
 0.0

其中组码 102030 分别表示点的 X、Y、Z 坐标。

根据组码的范围,可以判断其后数据值的类型:

组码范围 值类型
0 - 9 字符串
10 - 39 双精度三维点值
40 - 59 双精度浮点值
60 - 79 16 位整数值
90 - 99 32 位整数值
100 字符串(子类标记)
102 控制字符串
105 十六进制句柄值
110 - 149 双精度浮点值
170 - 179 16 位整数值
210 - 239 双精度浮点值
270 - 289 16 位整数值
290 - 299 布尔标志值
300 - 309 任意字符串
310 - 319 二进制数据块(十六进制)
320 - 369 十六进制句柄/对象ID
370 - 389 16 位整数值(线宽等)
390 - 399 十六进制句柄值
400 - 409 16 位整数值
410 - 419 字符串
420 - 429 32 位整数值(真彩色)
430 - 439 字符串
440 - 449 32 位整数值(透明度)
450 - 459 长整数
460 - 469 双精度浮点值
470 - 479 字符串
999 注释(字符串)
1000 - 1009 扩展数据字符串
1010 - 1059 扩展数据双精度浮点值
1060 - 1070 扩展数据 16 位整数
1071 扩展数据 32 位整数

在 DXF 格式中,对象(Object)和图元(Entity)是两个不同的概念:

  • 图元(Entity):有图形表示的对象,也称为图形对象,如直线、圆、圆弧、文字等。图元出现在 DXF 文件的 BLOCKS 段和 ENTITIES 段。
  • 对象(Object):没有图形表示的对象,也称为非图形对象,如词典、图层、线型定义等。对象出现在 OBJECTS 段。

部分组码在图元中是固定的,即始终具有相同的用途。例如组码 0 始终表示图元类型,组码 8 始终表示图层名。

如果组码不是固定的,则其用途取决于上下文。例如组码 10 在 LINE 图元中表示起点,在 CIRCLE 图元中表示圆心,在 TEXT 图元中则表示文字插入点。

在编写 DXF 处理程序时,建议遵循以下原则:

  • 以表驱动的方式编写,忽略未定义的组码。
  • 不对图元中组码的次序做任何假定。
  • 这样可以更容易地适配 AutoCAD 以后的新版本,因为每个新版本都可能在图元中添加新组码。

本章介绍了 DXF 格式的基本概念,包括组码的定义、值类型、对象与图元的区别等。理解这些基本概念是后续深入学习各章节的基础。下一章将介绍 DXF 文件的整体结构。

该主题尚不存在

您访问的页面并不存在。如果允许,您可以使用创建该页面按钮来创建它。

  • dxf格式/01_dxf_intro.txt
  • 最后更改: 2026/06/17 09:43
  • 张叶安