Autodesk CAD帮助文档总结二 DXF 概述
关于 ASCII DXF 文件
本节介绍 ASCII DXF 文件的格式。只有自行编写程序处理 DXF 文件,或者使用由 AutoLISP ® 和 ObjectARX ® 应用程序获得的图元信息时,才需要使用本节中包含的信息。
相关参考
- 关于图形交换文件格式 (DXF)
- 关于 DXF 文件的基本结构 (DXF)
- 关于 DXF 文件中的组码 (DXF)
- DXF 文件中的标题组码 (DXF)
- DXF 文件中的类组码 (DXF)
- DXF 文件中的符号表组码 (DXF)
- DXF 文件中的块组码 (DXF)
- DXF 文件中的图元组码 (DXF)
- DXF 文件中的对象组码 (DXF)
- 关于编写 DXF 接口程序
关于图形交换文件格式 (DXF)
AutoCAD ® 使用各种格式的文件与其他应用程序交换图形数据。这些格式包括图形交换文件 (DXF™)、二进制 DXF、幻灯片 (SLD) 和幻灯片库 (SLB) 文件格式。
DXF 文件可以是 ASCII 格式,也可以是二进制格式。由于 ASCII DXF 文件格式比二进制文件格式更常用,因此术语 DXF 文件用来表示 ASCII DXF 文件,而术语二进制 DXF 文件则用来表示二进制格式。
相关参考
- 关于 ASCII DXF 文件
- 关于二进制 DXF 文件 (DXF)
- 幻灯片文件 (DXF)
- 关于幻灯片库文件 (DXF)
关于 DXF 文件的基本结构 (DXF)
DXF 文件本质上由代码及关联值对组成。代码(通常称为组码)表明其后的值的类型。使用这些组码和值对,可以将 DXF 文件组织到由记录组成的区域中,这些记录由组码和数据项目组成。在 DXF 文件中,每个组码和值都各占一行。
每段都以一个后跟字符串 SECTION 的组码 0 开始,其后是组码 2 和表示该段名称的字符串(例如,HEADER)。每段都由定义其元素的组码和值组成。每段都以一个后跟字符串 ENDSEC 的组码 0 结束。
从小图形中生成 DXF 文件,打印出来并在阅读本文时参考,可能会有助于用户理解本文的内容。
- HEADER 段。包含图形的基本信息。它由 AutoCAD 数据库版本号和一些系统变量组成。每个参数都包含一个变量名称及其关联的值。
- CLASSES 段。包含应用程序定义的类的信息,这些类的实例出现在数据库的 BLOCKS、ENTITIES 和 OBJECTS 段中。类定义在类的层次结构中是固定不变的。
- TABLES 段。包含以下符号表的定义:
- BLOCKS 段。包含构成图形中每个块参照的块定义和图形图元。
- ENTITIES 段。包含图形中的图形对象(图元),其中包括块参照(插入图元)。
- OBJECTS 段。包含图形中的非图形对象。除图元、符号表记录以及符号表以外的所有对象都存储在此段。OBJECTS 段中的条目样例是包含多线样式和组的词典。
- THUMBNAILIMAGE 段。包含图形的预览图像数据。此段为可选。
如果使用 SAVE 或 SAVEAS 命令的“选择对象”选项,那么所得到的 DXF 文件的 ENTITIES 区域将只包含选择的图元。
相关参考
- 关于 ASCII DXF 文件
关于 DXF 文件中的组码 (DXF)
组码和关联值定义对象或图元的特定方面。紧接着组码的一行是关联值。该值可以是字符串、整数或浮点值,例如点的 X 坐标。组中第二行后面的行(如果存在)由组定义和与组关联的数据确定。
特殊组码用作文件分隔符,例如用于表示段和表的开始和结束,以及文件本身结束的标记。
图元、对象、类、表和表条目以及文件分隔符通过 0 组码(其后是用于描述该组的名称)引入。
DXF 文件字符串的最大长度是 256 个字符。如果 AutoCAD 图形中包含的字符串超出了此数字,则在执行 SAVE、SAVEAS 和 WBLOCK 时将截断那些字符串。如果 DXF 文件包含的字符串超出了此长度,OPEN 和 INSERT 命令将失败。
相关参考
- 关于 ASCII DXF 文件
- 关于 DXF 文件中的 ASCII 控制字符
DXF 文件中的标题组码 (DXF)
应用程序可以使用 AutoLISP getvar 函数检索这些变量的值。
0 2 | HEADER 段的开始 |
$<变量> <值> | |
0 |
相关参考
- 关于 ASCII DXF 文件
DXF 文件中的类组码 (DXF)
0 2 | CLASSES 段的开始 |
CLASS <类 dxf 记录> <类名> <应用程序名> <标志> <标志> <标志> | |
0 |
相关参考
- 关于 ASCII DXF 文件
DXF 文件中的符号表组码 (DXF)
0 2 | TABLES 段的开始 |
TABLE <表类型> <句柄> AcDbSymbolTable <最大条目数量> | |
0 5 100 . . | |
0 | 表的结束 |
ENDSEC |
相关参考
- 关于 ASCII DXF 文件
- 符号表样例 (DXF)
DXF 文件中的块组码 (DXF)
0 2 | BLOCKS 段的开始 |
BLOCK <句柄> AcDbEntity <图层> AcDbBlockBegin <块名> <标志> <X 值> <Y 值> <Z 值> <块名> <外部参照路径> | |
0 . . | |
0 5 100 | 每个块条目的结束(endblk 图元定义) |
ENDSEC |
相关参考
- 关于 ASCII DXF 文件
DXF 文件中的图元组码 (DXF)
0 2 | ENTITIES 段的开始 |
<图元类型> <句柄> <指向所有者的指针> AcDbEntity <图层> AcDb<类名> . <数据> | 每个图元定义一个条目 |
ENDSEC |
相关参考
- 关于 ASCII DXF 文件
DXF 文件中的对象组码 (DXF)
0 2 | OBJECTS 段的开始 |
DICTIONARY <句柄> AcDbDictionary | |
3 350 | 为每个条目重复一次 |
<对象类型> . <数据> | 对象数据组 |
ENDSEC |
相关参考
- 关于 ASCII DXF 文件
关于编写 DXF 接口程序
通过 DXF 文件编写与 AutoCAD 通信的程序似乎比实际情况要难。使用 DXF 格式可以轻松地忽略不需要的信息,而只读取需要的信息。
相关参考
- 关于 ASCII DXF 文件
- 读取 DXF 文件 (DXF)
- 编写 DXF 文件 (DXF)
关于 DXF 格式惯例
如果 DXF 文件和应用程序具有相同的代码说明,说明前面将不显示任何标识符。
相关概念
- 关于 DXF 格式 (DXF)
关于对象和图元代码 (DXF)
在 DXF™ 格式中,对象的定义与图元的定义不同:对象没有图形表示,而图元则有图形表示。例如,词典是对象而不是图元。图元也称为图形对象,而对象称为非图形对象。
图元出现在 DXF 文件的 BLOCK 和 ENTITIES 段。组码在这两段中的用法相同。
定义图元的某些组码始终显示;其他组码是可选的,仅当其值与默认值不同时才显示。
编写程序时请不要按照此处显示的次序。图元的结尾由下一个 0 组表示,该组表示下一个图元的开始或指示此段已结束。
注意:如果以表驱动的方式编写 DXF 处理程序,忽略未定义的组码,且对图元中的组码次序不做任何假定,那么将比较容易在 AutoCAD ® 以后的版本中调整 DXF 文件。在每个新的 AutoCAD 发行版中,都会在图元中添加一些新组码,以提供更多功能。
相关概念
- 关于 DXF 格式 (DXF)