目录

DXF 概述与基本概念

什么是 DXF

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

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

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

DXF 的两种格式

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

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

组码(Group Code)的概念

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

例如,以下两组数据表示一个圆的圆心坐标为 (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)是两个不同的概念:

组码的固定与可变

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

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

编写 DXF 处理程序的原则

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

本章小结

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