DXF 格式

DXF™ 格式是 AutoCAD® 图形文件中包含的所有信息的一种带标记数据的表示方式。 带标记数据是指文件中的每个数据元素前面都带有一个称为组码的整数。 组码的值表明了随后的数据元素的类型。 还指出了数据元素对于给定对象（或记录）类型的含义。 实际上，图形文件中所有用户指定的信息都可以用 DXF 格式表示。

本节内容包括：

  • 本参考的结构
  • 对 DXF 参考的修订
  • 本参考的格式惯例
  • 对象和图元代码
  • 组码值类型
  • 按数字次序排列的组码
请将关于此页的评论发送给我们


本参考的结构

DXF 格式
DXF 格式
本参考的结构

DXF 参考介绍了在 DXF 文件中找到的 DXF™ 组码以及 AutoLISP® 和 ObjectARX® 应用程序遇到的 DXF™ 组码。 本章介绍了基本的 DXF 惯例。 后面的章节将列出按对象类型组织的组码。 组码按其在 DXF 文件中出现的次序显示，且每章根据 DXF 文件的相关部分命名。 尽管使用了 DXF 文件格式作为本参考的组织机制，但有关实际 DXF 文件格式的特定信息，请参见图形交换文件格式。有关适用于应用程序和 DXF 文件并与 DXF 组码相关的高级概念，请参见高级 DXF 问题。

有关使用组码的 AutoLISP 函数的说明，请参见《AutoLISP Developer's Guide》中的“使用 AutoLISP 操作 AutoCAD 对象”。


对 DXF 参考的修订

DXF 格式
DXF 格式
对 DXF 参考的修订

本主题列出了自上次更新 DXF 参考后的修订。 本 DXF 参考的版本号为 u19.1.01。

  • ENTITIES 段
  • OBJECTS 段


本参考的格式惯例

DXF 格式
DXF 格式
本参考的格式惯例

本参考中列出的每个组码都包含数字组码值和说明两部分。 所有组码都可以应用于 DXF™ 文件和/或应用程序（AutoLISP 或 ObjectARX）。 如果应用程序与 DXF 文件具有不同的代码说明（代码说明只适用于二者之一），说明前面将添加以下标识符：

  • APP。应用程序特定的说明。
  • DXF。DXF 文件特定的说明。

如果 DXF 文件和应用程序具有相同的代码说明，说明前面将不显示任何标识符。

可选代码的说明中有“可选”字样。


对象和图元代码

DXF 格式
DXF 格式
对象和图元代码

在 DXF™ 格式中，对象的定义与图元的定义不同：对象没有图形表示，而图元则有图形表示。 例如，词典是对象而不是图元。 图元也称为图形对象，而对象称为非图形对象。

图元出现在 DXF 文件的 BLOCK 和 ENTITIES 段。 组码在这两段中的用法相同。

定义图元的某些组码始终显示；其他组码是可选的，仅当其值与默认值不同时才显示。

编写程序时请不要按照此处显示的次序。 图元的结尾由下一个 0 组表示，该组表示下一个图元的开始或指示此段已结束。

注意 如果以表驱动的方式编写 DXF 处理程序，忽略未定义的组码，且对图元中的组码次序不做任何假定，那么将比较容易在 AutoCAD® 以后的版本中调整 DXF 文件。 在每个新的 AutoCAD 发行版中，都会在图元中添加一些新组码，以提供更多功能。


组码值类型

DXF 格式
DXF 格式
组码值类型

根据下面的组码范围表，组码将相关值的类型定义为整数、浮点数或字符串。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

组码值类型
代码范围 | 组值类型
0-9 | 字符串（随着从 AutoCAD 2000 起引入了扩展符号名称，字数限制已由 255 个字符扩大到 2049 个单字节字符，不包括行末的换行符）
10-39 | 双精度三维点值
40-59 | 双精度浮点值
60-79 | 16 位整数值
90-99 | 32 位整数值
100 | 字符串（最多 255 个字符；对于 Unicode 字符串，字符数要少一些）
102 | 字符串（最多 255 个字符；对于 Unicode 字符串，字符数要少一些）
105 | 表示 16 进制 (hex) 句柄值的字符串
110-119 | 双精度浮点值
120-129 | 双精度浮点值
130-139 | 双精度浮点值
140-149 | 双精度标量浮点值
170-179 | 16 位整数值
210-239 | 双精度浮点值
270-279 | 16 位整数值
280-289 | 16 位整数值
290-299 | 布尔标志值
300-309 | 任意字符串
310-319 | 表示二进制数据块的十六进制值的字符串
320-329 | 表示 16 进制句柄值的字符串
330-369 | 表示十六进制对象 ID 的字符串
370-379 | 16 位整数值
380-389 | 16 位整数值
390-399 | 表示 16 进制句柄值的字符串
400-409 | 16 位整数值
410-419 | 字符串
420-429 | 32 位整数值
430-439 | 字符串
440-449 | 32 位整数值
450-459 | 长整数
460-469 | 双精度浮点值
470-479 | 字符串
999 | 注释（字符串）
1000-1009 | 字符串（与 0-9 代码范围的限制相同）
1010-1059 | 双精度浮点值
1060-1070 | 16 位整数值
1071 | 32 位整数值


按数字次序排列的组码

DXF 格式
DXF 格式
按数字次序排列的组码

下表列出了组码或组码范围以及组码值的解释。 在此表中，“固定”表明组码始终具有相同的用途。 如果组码不固定，则其用途取决于上下文。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

按数字次序排列的组码
组码 | 说明
-5 | APP：永久反应器链
-4 | APP：条件运算符（仅与 ssget 一起使用）
-3 | APP：扩展数据 (XDATA) 标记（固定）
-2 | APP：图元名参照（固定）
-1 | APP：图元名。 每次打开图形时，图元名都会发生变化， 从不保存（固定）
0 | 表示图元类型的字符串（固定）
1 | 图元的主文字值
2 | 名称（属性标记、块名等）
3-4 | 其他文字或名称值
5 | 图元句柄；最多 16 个十六进制数字的字符串（固定）
6 | 线型名（固定）
7 | 文字样式名（固定）
8 | 图层名（固定）
9 | DXF：变量名称标识符（仅在 DXF 文件的 HEADER 段中使用）
10 | 主要点；直线或文字图元的起点、圆的圆心，等等 DXF：主要点的 X 值（后跟 Y 和 Z 值代码 20 和 30） APP：三维点（三个实数的列表）
11-18 | 其他点 DXF：其他点的 X 值（后跟 Y 值代码 21-28 和 Z 值代码 31-38） APP：三维点（三个实数的列表）
20, 30 | DXF：主要点的 Y 值和 Z 值
21-28, 31-37 | DXF：其他点的 Y 值和 Z 值
38 | DXF：如果非零，则为图元的标高
39 | 如果非零，则为图元的厚度（固定)
40-48 | 双精度浮点值（文字高度、缩放比例等）
48 | 线型比例；双精度浮点标量值；默认值适用于所有图元类型
49 | 重复的双精度浮点值。 一个图元的可变长度表（例如，LTYPE 表中的虚线长度）中可能会出现多个 49 组。 7x 组始终出现在第一个 49 组之前，用以指定表的长度
50-58 | 角度（在 DXF 文件中以度为单位，在 AutoLISP 和 ObjectARX 应用程序中以弧度为单位）
60 | 图元可见性；整数值；未赋值或值为 0 时表示可见；值为 1 时表示不可见
62 | 颜色号（固定）
66 | “图元跟随”标志（固定）
67 | 空间 — 模型空间或图纸空间（固定）
68 | APP：指示视口是处于打开状态但在屏幕上完全不可见，还是未激活或处于关闭状态
69 | APP：视口标识号
70-78 | 整数值，例如重复计数、标志位或模式
90-99 | 32 位整数值
100 | 子类数据标记（将派生类名作为字符串） 从其他具体类派生的所有对象和图元类必须具有此标记。 子类数据标记用于分离由同一对象的继承链中的不同类定义的数据。 对于从 ObjectARX 派生的每个不同的具体类的 DXF 名称来说，这是必须满足的额外要求（参见子类标记）
102 | 控制字符串，后跟“{<任意名称>”或“}”。 与扩展数据 1002 组码类似，不同之处在于当字符串以“{”开始时，其后可跟任意字符串，字符串的解释取决于应用程序。 唯一允许的另外一个控制字符串是作为组结束符的“}”。 除了执行图形核查操作期间外，AutoCAD 不会解释这些字符串。 它们供应用程序使用
105 | DIMVAR 符号表条目的对象句柄
110 | UCS 原点（仅当将代码 72 设置为 1 时才显示） DXF：X 值；APP：三维点
111 | UCS X 轴（仅当将代码 72 设置为 1 时才显示） DXF：X 值；APP：三维矢量
112 | UCS Y 轴（仅当将代码 72 设置为 1 时才显示） DXF：X 值；APP：三维矢量
120-122 | DXF：UCS 原点的 Y 值，UCS X 轴和 UCS Y 轴
130-132 | DXF：UCS 原点的 Z 值，UCS X 轴和 UCS Y 轴
140-149 | 双精度浮点值（例如点、标高和 DIMSTYLE 设置）
170-179 | 16 位整数值，例如表示 DIMSTYLE 设置的标志位
210 | 拉伸方向（固定） DXF：拉伸方向的 X 值 APP：三维拉伸方向矢量
220, 230 | DXF：拉伸方向的 Y 值和 Z 值
270-279 | 16 位整数值
280-289 | 16 位整数值
290-299 | 布尔标志值
300-309 | 任意字符串
310-319 | 具有相同表示和 1004 组码限制的任意二进制块：用最大长度为 254 个字符的十六进制字符串表示最大长度为 127 个字节的数据块
320-329 | 任意对象句柄；“按原样”获取的句柄值。 它们在 INSERT 和 XREF 操作期间不进行转换
330-339 | 软指针句柄；指向同一个 DXF 文件或图形中的其他对象的任意软指针。 在 INSERT 和 XREF 操作期间进行转换
340-349 | 硬指针句柄；指向同一个 DXF 文件或图形中的其他对象的任意硬指针。 在 INSERT 和 XREF 操作期间进行转换
350-359 | 软所有者句柄；指向同一个 DXF 文件或图形中的其他对象的任意软所有者指针。 在 INSERT 和 XREF 操作期间进行转换
360-369 | 硬所有者句柄；指向同一个 DXF 文件或图形中的其他对象的任意硬所有者指针。 在 INSERT 和 XREF 操作期间进行转换
370-379 | 线宽枚举值 (AcDb::LineWeight)。 作为 16 位整数存储和移动。 自定义非图元对象可以使用整个范围内的组码，但图元类只能在其表示中使用 371-379 DXF 组码，因为 AutoCAD 和 AutoLISP 都始终假定 370 组码是图元的线宽。 这使 370 组码与其他“通用”图元字段具有相同的行为
380-389 | PlotStyleName 类型枚举 (AcDb::PlotStyleNameType)。 作为 16 位整数存储和移动。 自定义非图元对象可以使用整个范围内的组码，但图元类只能在其表示中使用 381-389 DXF 组码，原因与上述线宽范围相同
390-399 | 表示 PlotStyleName 对象的句柄值的字符串，本质上是硬指针，但范围不同，更容易处理向后兼容。 作为对象 ID（在 DXF 文件中为句柄）和 AutoLISP 中的特殊类型存储和移动。 自定义非图元对象可以使用整个范围内的组码，但图元类只能在其表示中使用 391-399 DXF 组码，原因与上述线宽范围相同
400-409 | 16 位整数
410-419 | 字符串
420-427 | 32 位整数值。 与真彩色一同使用时，表示 24 位颜色值的 32 位整数。 高阶字节（8 位）为 0；低阶字节为包含“蓝色”值 (0-255)、然后是“绿色”值的无符号字符；次高阶字节是“红色”值。 将此整数值转换为十六进制值将得到以下位掩码：0x00RRGGBB。 例如，红色==200、绿色==100 和蓝色==50 的真彩色为 0x00C86432，而在 DXF 中以十进制表示则为 13132850
430-437 | 字符串；用于真彩色时，则为表示颜色名称的字符串
440-447 | 32 位整数值。 用于真彩色时，表示透明度值
450-459 | 长整数
460-469 | 双精度浮点值
470-479 | 字符串
999 | DXF：999 组码指示后面的行是注释字符串。 SAVEAS 不会在 DXF 输出文件中包含这样的组，但 OPEN 则包括这些组并忽略注释。 可以使用 999 组在您编辑的 DXF 文件中包含注释
1000 | 扩展数据中的 ASCII 字符串（最多可以包含 255 个字节）
1001 | 扩展数据的注册应用程序名（最多可以包含 31 个字节的 ASCII 字符串）
1002 | 扩展数据控制字符串（“{”或“}”）
1003 | 扩展数据图层名
1004 | 扩展数据中的字节数据块（最多可以包含 127 个字节）
1005 | 扩展数据中的图元句柄；最多可以包含 16 个十六进制数字的字符串
1010 | 扩展数据中的点 DXF：X 值（后跟 1020 和 1030 组） APP：三维点
1020, 1030 | DXF：点的 Y 值和 Z 值
1011 | 扩展数据中的三维世界空间位置 DXF：X 值（后跟 1021 和 1031 组） APP：三维点
1021, 1031 | DXF：世界空间位置的 Y 值和 Z 值
1012 | 扩展数据中的三维世界空间位移 DXF：X 值（后跟 1022 和 1032 组） APP：三维矢量
1022, 1032 | DXF：世界空间位移的 Y 值和 Z 值
1013 | 扩展数据中的三维空间方向 DXF：X 值（后跟 1022 和 1032 组） APP：三维矢量
1023, 1033 | DXF：世界空间方向的 Y 和 Z 值
1040 | 扩展数据双精度浮点值
1041 | 扩展数据距离值
1042 | 扩展数据缩放比例
1070 | 扩展数据 16 位有符号整数
1071 | 扩展数据 32 位有符号长整数


HEADER 段

本章介绍的组码特定于 DXF™ 文件。 DXF 文件的 HEADER 段包含与图形关联的变量的设置。 每个变量由给出变量名称的组码 9 指定，其后是提供变量值的组。 本章仅列出图形文件中保存的变量。

本节内容包括：

  • HEADER 段组码


HEADER 段组码

HEADER 段
HEADER 段
HEADER 段组码

下表列出了在 DXF™ 文件的 HEADER 区域中表示的变量。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

DXF 标题变量
变量 | 组码 | 说明
$ACADMAINTVER | 70 | 维护版本号（应忽略）
$ACADVER | 1 | AutoCAD 图形数据库版本号： AC1006 = R10；AC1009 = R11 和 R12； AC1012 = R13；AC1014 = R14；AC1015 = AutoCAD 2000； AC1018 = AutoCAD 2007
$ANGBASE | 50 | 0 角度方向
$ANGDIR | 70 | 1 = 顺时针角度 0 = 逆时针角度
$ATTMODE | 70 | 属性的可见性： 0 = 无 1 = 普通 2 = 全部
$AUNITS | 70 | 角度的单位格式
$AUPREC | 70 | 角度的单位精度
$CECOLOR | 62 | 当前图元颜色号： 0 = 随块；256 = 随层
$CELTSCALE | 40 | 当前图元线型比例
$CELTYPE | 6 | 图元线型名称、随块或随层
$CELWEIGHT | 370 | 新对象的线宽
$CEPSNID | 390 | 新对象的打印样式句柄。如果 CEPSNTYPE 为 3，则此值代表该句柄
$CEPSNTYPE | 380 | 新对象的打印样式类型： 0 = 随层打印样式 1 = 随块打印样式 2 = 词典默认的打印样式 3 = 随对象 ID/句柄打印样式
$CHAMFERA | 40 | 第一个倒角距离
$CHAMFERB | 40 | 第二个倒角距离
$CHAMFERC | 40 | 倒角长度
$CHAMFERD | 40 | 倒角角度
$CLAYER | 8 | 当前图层名
$CMLJUST | 70 | 当前多线对正： 0 = 顶端对正；1 = 居中对正；2 = 底端对正
$CMLSCALE | 40 | 当前多线比例
$CMLSTYLE | 2 | 当前多线样式名称
$CSHADOW | 280 | 三维对象的阴影模式： 0 = 投射和接收阴影 1 = 投射阴影 2 = 接收阴影 3 = 忽略阴影
$DIMADEC | 70 | 角度标注中显示的精度位的位数
$DIMALT | 70 | 非零时执行的换算单位标注
$DIMALTD | 70 | 换算单位小数位
$DIMALTF | 40 | 换算单位比例因子
$DIMALTRND | 40 | 确定换算单位的舍入值
$DIMALTTD | 70 | 换算单位标注的公差值的小数位数
$DIMALTTZ | 70 | 控制是否对换算公差值做消零处理： 0 = 消除零英尺和零英寸 1 = 包含零英尺和零英寸 2 = 包含零英尺，消除零英寸 3 = 包含零英寸，消除零英尺
$DIMALTU | 70 | 所有标注样式族成员（角度标注除外）的换算单位的单位格式： 1 = 科学；2 = 小数；3 = 工程； 4 = 建筑（堆叠）；5 = 分数（堆叠）； 6 = 建筑；7 = 分数
$DIMALTZ | 70 | 控制是否对换算单位标注值做消零处理： 0 = 消除零英尺和零英寸 1 = 包含零英尺和零英寸 2 = 包含零英尺，消除零英寸 3 = 包含零英寸，消除零英尺
$DIMAPOST | 1 | 换算标注后缀
$DIMASO | 70 | 1 = 创建关联标注 0 = 绘制单独图元
$DIMASSOC | 280 | 控制标注对象的关联性 0 = 创建分解标注；即标注的各元素之间没有任何关联，直线、圆弧、箭头及标注文字均作为单独的对象进行绘制 1 = 创建无关联标注对象；将标注的各种元素组成单一对象，如果对象上的定义点移动，标注值将被更新 2 = 创建关联标注对象；标注的各种元素组成单一对象，并且标注的一个或多个定义点与几何对象上的关联点相联结
$DIMASZ | 40 | 标注箭头尺寸
$DIMATFIT | 70 | 当尺寸界线的空间不足以同时放置标注文字和箭头时用来控制两者的位置： 0 = 将文字和箭头均置于尺寸界线之外 1 = 先移动箭头，然后移动文字 2 = 先移动文字，然后移动箭头 3 = 移动文字和箭头中较合适的一个 如果 DIMTMOVE 设置为 1，AutoCAD 将为被移动的标注文字添加一条引线
$DIMAUNIT | 70 | 角度标注的角度格式： 0 = 十进制度数；1 = 度/分/秒； 2 = 百分度；3 = 弧度；4 = 勘测单位
$DIMAZIN | 70 | 控制是否对角度标注做消零处理： 0 = 显示所有前导零和后续零 1 = 消除十进制标注中的前导零 2 = 消除十进制标注中的后续零 3 = 消除前导零和后续零
$DIMBLK | 1 | 箭头块名称
$DIMBLK1 | 1 | 第一箭头块名称
$DIMBLK2 | 1 | 第二箭头块名称
$DIMCEN | 40 | 中心标记/中心线的大小
$DIMCLRD | 70 | 尺寸线颜色： 范围是：0 = 随块；256 = 随层
$DIMCLRE | 70 | 尺寸界线颜色： 范围是：0 = 随块；256 = 随层
$DIMCLRT | 70 | 标注文字的颜色： 范围是：0 = 随块；256 = 随层
$DIMDEC | 70 | 主单位标注的公差值的小数位数
$DIMDLE | 40 | 尺寸线超出尺寸界线的距离
$DIMDLI | 40 | 尺寸线增量
$DIMDSEP | 70 | 创建单位格式为小数的标注时使用的单字符小数分隔符
$DIMEXE | 40 | 尺寸界线延伸
$DIMEXO | 40 | 尺寸界线偏移
$DIMFAC | 40 | 用于计算标注分数和公差的文字高度的比例因子。 AutoCAD 将 DIMTFAC 与 DIMTXT 相乘，以设置分数或公差的文字高度
$DIMGAP | 40 | 尺寸线间距
$DIMJUST | 70 | 水平标注文字位置： 0 = 在尺寸线上方，且在尺寸界线之间居中对正 1 = 在尺寸线上方，且紧邻第一条尺寸界线 2 = 在尺寸线上方，且紧邻第二条尺寸界线 3 = 在第一条尺寸界线上方且居中对正 4 = 在第二条尺寸界线上方且居中对正
$DIMLDRBLK | 1 | 引线的箭头块名
$DIMLFAC | 40 | 线性测量的比例因子
$DIMLIM | 70 | 非零时生成的标注界限
$DIMLUNIT | 70 | 为所有标注类型（除角度标注外）设置单位： 1 = 科学；2 = 小数；3 = 工程； 4 = 建筑；5 = 分数；6 = Windows 桌面
$DIMLWD | 70 | 尺寸线线宽： -3 = 标准 -2 = 随层 -1 = 随块 0-211 = 表示百分之几毫米的整数
$DIMLWE | 70 | 尺寸界线线宽： -3 = 标准 -2 = 随层 -1 = 随块 0-211 = 表示百分之几毫米的整数
$DIMPOST | 1 | 基本标注后缀
$DIMRND | 40 | 标注距离的舍入值
$DIMSAH | 70 | 非零时使用单独的箭头块
$DIMSCALE | 40 | 全局标注比例因子
$DIMSD1 | 70 | 收缩第一条尺寸界线： 0 = 不收缩；1 = 收缩
$DIMSD2 | 70 | 收缩第一条尺寸界线： 0 = 不收缩；1 = 收缩
$DIMSE1 | 70 | 非零时收缩第一条尺寸界线
$DIMSE2 | 70 | 非零时收缩第二条尺寸界线
$DIMSHO | 70 | 1 = 拖动时重计算标注 0 = 拖动原始图像
$DIMSOXD | 70 | 非零时收缩位于尺寸界限之外的尺寸线
$DIMSTYLE | 2 | 标注样式名
$DIMTAD | 70 | 非零时文字在尺寸线上方
$DIMTDEC | 70 | 显示公差值的小数位数
$DIMTFAC | 40 | 标注公差显示比例因子
$DIMTIH | 70 | 非零时将文字水平放在内侧
$DIMTIX | 70 | 非零时将文字强制放在尺寸界线的内侧
$DIMTM | 40 | 下偏差
$DIMTMOVE | 70 | 标注文字移动规则： 0 = 尺寸线和标注文字一起移动 1 = 移动标注文字时添加引线 2 = 允许标注文字自由移动而不添加引线
$DIMTOFL | 70 | 如果文字放在尺寸界线的外侧，非零时则强制在尺寸界线之间画直线
$DIMTOH | 70 | 非零时将文字水平放在外侧
$DIMTOL | 70 | 非零时生成标注公差
$DIMTOLJ | 70 | 公差值的垂直对正： 0 = 顶端对正；1 = 居中对正；2 = 底端对正
$DIMTP | 40 | 上偏差
$DIMTSZ | 40 | 标注标记大小： 0 = 无标记
$DIMTVP | 40 | 文字的垂直位置
$DIMTXSTY | 7 | 标注文字样式
$DIMTXT | 40 | 标注文字高度
$DIMTZIN | 70 | 控制是否对公差值做消零处理： 0 = 消除零英尺和零英寸 1 = 包含零英尺和零英寸 2 = 包含零英尺，消除零英寸 3 = 包含零英寸，消除零英尺
$DIMUPT | 70 | 用户定位文字的光标功能： 0 = 仅控制尺寸线的位置 1 = 控制文字位置和尺寸线位置
$DIMZIN | 70 | 控制是否对主单位值做消零处理： 0 = 消除零英尺和零英寸 1 = 包含零英尺和零英寸 2 = 包含零英尺，消除零英寸 3 = 包含零英寸，消除零英尺
$DISPSILH | 70 | 控制“线框”模式下体对象轮廓曲线的显示： 0 = 关；1 = 开
$DRAGVS | 349 | 创建三维实体图元时，视觉样式的硬指针 ID。 默认值为“空”
$DWGCODEPAGE | 3 | 图形代码页；创建新图形时设置为系统代码页，但不再由 AutoCAD 维护
$ELEVATION | 40 | 由 ELEV 命令设置的当前标高
$ENDCAPS | 280 | 新对象的线宽封口设置： 0 = 无；1 = 圆形；2 = 角度；3 = 方形
$EXTMAX | 10, 20, 30 | X、Y 和 Z 图形范围右上角（在 WCS 中）
$EXTMIN | 10, 20, 30 | X、Y 和 Z 图形范围左下角（在 WCS 中）
$EXTNAMES | 290 | 控制符号表命名： 0 = R14 兼容。 名称最多可以包含 31 个字符。 其中可以包括字母 A 到 Z、数字 0 到 9 以及特殊字符，例如，美元符号 ($)、下划线 (_) 和连字符 (-)。 1 = AutoCAD 2000。 名称中最多可以包含 255 个字符，可以包含字母 A 到 Z，数字 0 到 9，空格以及未被 Microsoft Windows 和 AutoCAD 用于其他目的的特殊字符
$FILLETRAD | 40 | 圆角半径
$FILLMODE | 70 | 非零时启用填充模式
$FINGERPRINTGUID | 2 | 在创建时设置，用于唯一标识特定图形
$HALOGAP | 280 | 指定在某一对象被另一对象隐藏处显示的间距；该值被指定为一种单位的百分数，并且不受缩放级别的影响。 使用 HIDE 或 SHADEMODE 的 Hidden 选项时，在晕圈行的隐藏点处缩短晕圈行
$HANDSEED | 5 | 下一个可用的句柄
$HIDETEXT | 290 | 指定 HIDETEXT 系统变量： 0 = 在生成隐藏视图时 HIDE 忽略文字对象 1 = HIDE 不忽略文字对象
$HYPERLINKBASE | 1 | 图形中所有相对超链接的路径。 如果为空，则使用图形路径
$INDEXCTL | 280 | 控制是否创建图层和空间索引并保存到图形文件中： 0 = 不创建索引 1 = 创建图层索引 2 = 创建空间索引 3 = 创建图层和空间索引
$INSBASE | 10, 20, 30 | 由 BASE 命令设置的插入基点（在 WCS 中）
$INSUNITS | 70 | AutoCAD 设计中心块的默认图形单位： 0 = 无单位；1 = 英寸；2 = 英尺；3 = 英里；4 = 毫米； 5 = 厘米；6 = 米；7 = 千米；8 = 微英寸； 9 = 密耳；10 = 码；11 = 埃；12 = 纳米； 13 = 微米；14 = 分米；15 = 十米； 16 = 百米；17 = 百万公里；18 = 天文单位； 19 = 光年；20 = 秒差距
$INTERFERECOLOR | 62 | 表示在执行干涉命令期间创建的“干涉对象”的 ACI 颜色索引。默认值为 1
$INTERFEREOBJVS | 345 | 干涉对象的视觉样式的硬指针 ID。 默认视觉样式为“概念”。
$INTERFEREVPVS | 346 | 在检查干涉期间视口的视觉样式的硬指针 ID。 默认视觉样式为“三维线框”。
$INTERSECTIONCOLOR | 70 | 指定相交多段线的图元颜色： 1 到 255 的值可以指定 AutoCAD 颜色索引 (ACI) 0 = 颜色“随块” 256 = 颜色“随层” 257 = 颜色“随图元”
$INTERSECTIONDISPLAY | 290 | 指定相交多段线的显示： 0 = 关闭相交多段线的显示 1 = 打开相交多段线的显示
$JOINSTYLE | 280 | 新对象的线宽接头设置： 0 = 无；1= 圆形；2 = 角度；3 = 平面
$LIMCHECK | 70 | 如果打开了界限检查则为非零值
$LIMMAX | 10, 20 | XY 图形界限右上角（在 WCS 中）
$LIMMIN | 10, 20 | XY 图形界限左下角（在 WCS 中）
$LTSCALE | 40 | 全局线型比例
$LUNITS | 70 | 坐标和距离的单位格式
$LUPREC | 70 | 坐标和距离的单位精度
$LWDISPLAY | 290 | 控制“模型”选项卡或“布局”选项卡中线宽的显示： 0 = 不显示线宽 1 = 显示线宽
$MAXACTVP | 70 | 设置要重生成的视口的最大数目
$MEASUREMENT | 70 | 设置图形单位：0 = 英制；1 = 公制
$MENU | 1 | 菜单文件名
$MIRRTEXT | 70 | 非零时镜像文字
$OBSCOLOR | 70 | 指定遮挡线的颜色。 遮挡线是通过更改颜色和线型使其可见的隐藏线，并且仅在使用 HIDE 或 SHADEMODE 命令时才可见。 仅当 OBSCUREDLTYPE 的值设置为非 0，打开它时，OBSCUREDCOLOR 设置才可见。 0 和 256 = 图元颜色 1-255 = AutoCAD 颜色索引 (ACI)
$OBSLTYPE | 280 | 指定遮挡线的线型。 与通常的 AutoCAD 线型不同，遮挡线的线型不受缩放级别的影响。 默认值，即 0 值，将关闭遮挡线的显示。 线型值定义如下： 0 = 关 1 = 实线 2 = 虚线 3 = 点 4 = 短划 5 = 中划 6 = 长划 7 = 双短划 8 = 双中划 9 = 双长划 10 = 中长划 11 = 疏点
$ORTHOMODE | 70 | 非零时启用正交模式
$PDMODE | 70 | 点显示模式
$PDSIZE | 40 | 点显示尺寸
$PELEVATION | 40 | 当前图纸空间标高
$PEXTMAX | 10, 20, 30 | 图纸空间的 X、Y 和 Z 的最大范围
$PEXTMIN | 10, 20, 30 | 图纸空间的 X、Y 和 Z 的最小范围
$PINSBASE | 10, 20, 30 | 图纸空间插入基点
$PLIMCHECK | 70 | 非零时图纸空间中的界限检查
$PLIMMAX | 10, 20 | 图纸空间中 X 和 Y 的最大界限
$PLIMMIN | 10, 20 | 图纸空间中 X 和 Y 的最小界限
$PLINEGEN | 70 | 控制是否围绕二维多段线的顶点生成线型图案： 1 = 围绕多段线顶点生成连续的线型图案 0 = 多段线的每一段都以虚线开始和结束
$PLINEWID | 40 | 默认的多段线宽度
$PROJECTNAME | 1 | 为当前图形指定工程名称。 在原始路径中没有找到外部参照或图像时使用。 此工程名称指向注册表中的一段，其中包含每个已定义工程名称的一个或多个搜索路径。 工程名称及其搜索路径可以在“选项”对话框的“文件”选项卡中设置
$PROXYGRAPHICS | 70 | 控制代理对象图像的保存
$PSLTSCALE | 70 | 控制图纸空间的线型比例： 1 = 无特殊线型比例 0 = 视口比例缩放决定线型比例缩放
$PSTYLEMODE | 290 | 指示当前图形处于“颜色相关打印样式”还是“命名打印样式”模式： 0 = 使用当前图形中的命名打印样式表 1 = 使用当前图形中的颜色相关打印样式表
$PSVPSCALE | 40 | 新视口的视图比例因子： 0 = 按图纸空间缩放 >0 = 比例因子（正实数值）
$PUCSBASE | 2 | 定义正交 UCS 设置（仅用于图纸空间）的原点和方向的 UCS 名称。
$PUCSNAME | 2 | 当前图纸空间 UCS 名称
$PUCSORG | 10, 20, 30 | 当前图纸空间 UCS 原点
$PUCSORGBACK | 10, 20, 30 | 将 PUCSBASE 设置为 WORLD 并将图纸空间 UCS 改为 BACK 后成为新的 UCS 原点的点
$PUCSORGBOTTOM | 10, 20, 30 | 将 PUCSBASE 设置为 WORLD 并将图纸空间 UCS 改为 BOTTOM 后成为新的 UCS 原点的点
$PUCSORGFRONT | 10, 20, 30 | 将 PUCSBASE 设置为 WORLD 并将图纸空间 UCS 改为 FRONT 后成为新的 UCS 原点的点
$PUCSORGLEFT | 10, 20, 30 | 将 PUCSBASE 设置为 WORLD 并将图纸空间 UCS 改为 LEFT 后成为新的 UCS 原点的点
$PUCSORGRIGHT | 10, 20, 30 | 将 PUCSBASE 设置为 WORLD 并将图纸空间 UCS 改为 RIGHT 后成为新的 UCS 原点的点
$PUCSORGTOP | 10, 20, 30 | 将 PUCSBASE 设置为 WORLD 并将图纸空间 UCS 改为 TOP 后成为新的 UCS 原点的点
$PUCSORTHOREF | 2 | 如果图纸空间 UCS 为正交（PUCSORTHOVIEW 不等于 0），该名称即为与正交 UCS 相关的 UCS 的名称。 如果为空，则 UCS 与 WORLD 相关
$PUCSORTHOVIEW | 70 | 图纸空间 UCS 的正交视图类型： 0 = UCS 为非正交视图； 1 = 俯视图；2 = 仰视图； 3 = 主视图；4 = 后视图； 5 = 左视图；6 = 右视图
$PUCSXDIR | 10, 20, 30 | 当前图纸空间的 UCS X 轴
$PUCSYDIR | 10, 20, 30 | 当前图纸空间的 UCS Y 轴
$QTEXTMODE | 70 | 非零时启用“快速文字”模式
$REGENMODE | 70 | 非零时启用 REGENAUTO 模式
$SHADEDGE | 70 | 0 = 表面着色，边不亮显 1 = 表面着色，边亮显为黑色 2 = 表面不填充，边以图元的颜色绘制 3 = 表面为图元颜色，边为黑色
$SHADEDIF | 70 | 以百分比表示的环境光/漫射光；范围从 1 到 100；默认值为 70
$SHADOWPLANELOCATION | 40 | 地面阴影平面的位置。 这是 Z 轴坐标。
$SKETCHINC | 40 | 徒手画记录增量
$SKPOLY | 70 | 0 = 徒手画直线；1 = 徒手画多段线
$SORTENTS | 280 | 控制对象的排序方式；可从通过“选项”对话框的“用户系统配置”选项卡访问。 SORTENTS 使用下列位码值： 0 = 禁用 SORTENTS 1 = 为选择的对象排序 2 = 为捕捉的对象排序 4 = 为重画的图形排序 8 = 为 MSLIDE 命令创建的幻灯片排序 16 = 为 REGEN 命令排序 32 = 为打印的对象排序 64 = 为 PostScript 输出的对象排序
$SPLFRAME | 70 | 样条曲线控制多边形显示：1 = 开；0 = 关
$SPLINESEGS | 70 | 每个样条曲线曲面的直线段数目
$SPLINETYPE | 70 | PEDIT 样条曲线的样条曲线类型
$SURFTAB1 | 70 | 在第一个方向上的网格平移数目
$SURFTAB2 | 70 | 在第二个方向上的网格平移数目
$SURFTYPE | 70 | PEDIT 平滑的曲面类型
$SURFU | 70 | 在 M 方向上的曲面密度（用于 PEDIT 平滑）
$SURFV | 70 | 在 N 方向上的曲面密度（用于 PEDIT 平滑）
$TDCREATE | 40 | 创建图形的本地日期/时间（参见日期/时间变量的特殊处理）
$TDINDWG | 40 | 此图形的累计编辑时间（参见日期/时间变量的特殊处理）
$TDUCREATE | 40 | 创建图形的通用日期/时间（参见日期/时间变量的特殊处理）
$TDUPDATE | 40 | 上次更新图形的本地日期/时间（参见日期/时间变量的特殊处理）
$TDUSRTIMER | 40 | 用户消耗时间计时器
$TDUUPDATE | 40 | 上次更新/保存图形的通用日期/时间（参见日期/时间变量的特殊处理）
$TEXTSIZE | 40 | 默认文字高度
$TEXTSTYLE | 7 | 当前文字样式名
$THICKNESS | 40 | 由 ELEV 命令设置的当前厚度
$TILEMODE | 70 | 1 表示以前版本的兼容模式；0 表示其他模式
$TRACEWID | 40 | 默认宽线宽度
$TREEDEPTH | 70 | 指定空间索引的最大深度
$UCSBASE | 2 | 定义正交 UCS 设置的原点和方向的 UCS 名称
$UCSNAME | 2 | 当前 UCS 的名称
$UCSORG | 10, 20, 30 | 当前 UCS 的原点（在 WCS 中）
$UCSORGBACK | 10, 20, 30 | 将 UCSBASE 设置为 WORLD 并将模型空间 UCS 改为 BACK 后成为新的 UCS 原点的点
$UCSORGBOTTOM | 10, 20, 30 | 将 UCSBASE 设置为 WORLD 并将模型空间 UCS 改为 BOTTOM 后成为新的 UCS 原点的点
$UCSORGFRONT | 10, 20, 30 | 将 UCSBASE 设置为 WORLD 并将模型空间 UCS 改为 FRONT 后成为新的 UCS 原点的点
$UCSORGLEFT | 10, 20, 30 | 将 UCSBASE 设置为 WORLD 并将模型空间 UCS 改为 LEFT 后成为新的 UCS 原点的点
$UCSORGRIGHT | 10, 20, 30 | 将 UCSBASE 设置为 WORLD 并将模型空间 UCS 改为 RIGHT 后成为新的 UCS 原点的点
$UCSORGTOP | 10, 20, 30 | 将 UCSBASE 设置为 WORLD 并将模型空间 UCS 改为 TOP 后成为新的 UCS 原点的点
$UCSORTHOREF | 2 | 如果模型空间 UCS 为正交（UCSORTHOVIEW 不等于 0），该名称即为与正交 UCS 相关的 UCS 的名称。 如果为空，则 UCS 与 WORLD 相关
$UCSORTHOVIEW | 70 | 模型空间 UCS 的正交视图类型： 0 = UCS 为非正交视图； 1 = 俯视图；2 = 仰视图； 3 = 主视图；4 = 后视图； 5 = 左视图；6 = 右视图
$UCSXDIR | 10, 20, 30 | 当前 UCS X 轴的方向（在 WCS 中）
$UCSYDIR | 10, 20, 30 | 当前 UCS Y 轴的方向（在 WCS 中）
$UNITMODE | 70 | 低位集 = 按照输入的格式显示分数、英尺-英寸和勘测角度
$USERI1 - 5 | 70 | 供第三方开发商使用的五个整数变量
$USERR1 - 5 | 40 | 供第三方开发商使用的五个实数变量
$USRTIMER | 70 | 0 = 关闭计时器；1 = 打开计时器
$VERSIONGUID | 2 | 唯一标识图形的特定版本。 修改图形时更新
$VISRETAIN | 70 | 0 = 不保留外部参照相关的可见性设置 1 = 保留外部参照相关的可见性设置
$WORLDVIEW | 70 | 1 = 在 DVIEW/VPOINT 期间将 UCS 设置为 WCS 0 = 不更改 UCS
$XCLIPFRAME | 290 | 控制外部参照剪裁边界的可见性： 0 = 剪裁边界不可见 1 = 剪裁边界可见
$XEDIT | 290 | 控制当前图形被其他图形参照时是否可以在位编辑。 0 = 无法使用在位参照编辑 1 = 可以进行在位参照编辑

本节内容包括：

  • 修订的 VPORT 标题变量
  • 日期/时间变量的特殊处理


修订的 VPORT 标题变量

HEADER 段
HEADER 段
修订的 VPORT 标题变量

以下标题变量在 AutoCAD® 11 之前就存在，但是现在对于每个活动的视口都具有独立的设置。 从 DXF™ 文件中读取变量时，OPEN 将使用这些变量。 如果提供了带 *ACTIVE 条目的 VPORT 符号表（任何由 R11 或更高版本生成的 DXF 文件都包含该符号表），VPORT 表条目中的值将代替这些标题变量值。

修订的 VPORT 标题变量
变量 | 组码 | 说明
$FASTZOOM | 70 | 非零时启用快速缩放
$GRIDMODE | 70 | 非零时启用栅格模式
$GRIDUNIT | 10, 20 | 栅格的 X 和 Y 间距
$SNAPANG | 50 | 捕捉栅格旋转角度
$SNAPBASE | 10, 20 | 捕捉/栅格基点（在 UCS 中）
$SNAPISOPAIR | 70 | 等轴测平面：0 = 左；1 = 上；2 = 右
$SNAPMODE | 70 | 非零时启用捕捉模式
$SNAPSTYLE | 70 | 捕捉样式：0 = 标准；1 = 等轴测
$SNAPUNIT | 10, 20 | 捕捉栅格的 X 和 Y 间距
$VIEWCTR | 10, 20 | 屏幕上当前视图的 XY 中心
$VIEWDIR | 10, 20, 30 | 查看方向（WCS 中目标的方向）
$VIEWSIZE | 40 | 视图高度


日期/时间变量的特殊处理

HEADER 段
HEADER 段
日期/时间变量的特殊处理

CDATE 和 DATE 系统变量提供对当前日期和时间的访问。 TDCREATE、TDINDWG、TDUPDATE 和 TDUSRTIMER 系统变量（以及 $TDCREATE、$TDUCREATE、$TDUPDATE 和 $TDUUPDATE DXF 标题变量）提供对与当前图形关联的时间和日期的访问。 返回的值为实数，具有特定的意义，如下所述。

DATE 是以实数形式的公历日期和小数天的形式表示的当前日期和时间。

<公历日期>。<小数天>

例如，对于格林尼治标准时间 1999 年 12 月 31 日晚上 9:58:35，DATE 变量为

2451544.91568287

读取变量时，从计算机时钟上提取日期和时间。 时间表示为小数天，将 DATE 返回的时间相减可以计算出时差。 要从 DATE 返回的值中提取自午夜起的秒数，请使用 AutoLISP 表达式

(setq s (getvar "DATE"))
(setq seconds (* 86400.0 (- s (fix s))))

注意，如果将系统时钟设置为 UTC/Zulu（格林尼治标准时间），DATE 将只返回实际的公历日期。 系统变量 TDCREATE 和 TDUPDATE 与 DATE 格式相同，但这两个变量的值分别表示当前图形的创建时间和最后更新的时间。

TDINDWG 和 TDUSRTIMER（以及 $TDINDWG 和 $TDUSRTIMER DXF 标题变量）使用与 DATE 相似的格式，但它们的值表示消耗的时间，即

<天数>.<小数天>

CDATE 是以日历和时钟格式表示的当前日期和时间。 该值作为实数以下列格式返回：

YYYYMMDD.HHMMSShsec

其中

YYYY = 年

MM = 月 (01-12)

DD = 日 (01-31)

HH = 小时 (00-23)

MM = 分钟 (00-59)

SS = 秒 (00-59)

hsec = 百分之一秒 (00-99)

例如，如果当前日期是 2005 年 12 月 31 日晚上 9:58:35.75，CDATE 将返回值：

20051231.21583575

请注意，可以将之前和之后的 CDATE 值进行比较，但它们之间的差值没有意义。


CLASSES 段

本章介绍的组码只能在 DXF™ 文件中找到。 CLASSES 段包含的信息适用于应用程序定义的类，这些类的实例出现在数据库的 BLOCKS、ENTITIES 和 OBJECTS 段。 假定类定义在类的层次结构中是永远固定的。 所有字段都是必需的。

本节内容包括：

  • CLASSES 段组码


CLASSES 段组码

CLASSES 段
CLASSES 段
CLASSES 段组码

CLASSES 段的每个条目都包含下表描述的组。

CLASSES 段组码
组码 | 说明
0 | 记录类型 (CLASS)。 标识 CLASS 记录的开始
1 | 类 DXF 记录名；始终唯一
2 | C++ 类名。 用于与定义对象类行为的软件绑定；始终唯一
3 | 应用程序名。 当前未加载本段列出的某个类定义时出现在“警告”框中
90 | 代理功能标志。 指示该对象作为代理时的功能的按位编码值： 0 = 不允许操作 (0) 1 = 允许删除 (0x1) 2 = 允许转换 (0x2) 4 = 允许更改颜色 (0x4) 8 = 允许更改图层 (0x8) 16 = 允许更改线型 (0x10) 32 = 允许更改线型比例 (0x20) 64 = 允许更改可见性 (0x40) 128 = 允许克隆 (0x80) 256 = 允许更改线宽 (0x100) 512 = 允许更改打印样式名 (0x200) 895 = 允许除克隆以外的所有操作 (0x37F) 1023 = 允许所有操作 (0x3FF) 1024 = 禁用代理警告对话框 (0x400) 32768 = R13 格式代理 (0x8000)
91 | 自定义类的实例计数
280 | “是代理”标志。 如果创建此 DXF 文件时未加载类，则设置为 1，否则设置为 0
281 | “是图元”标志。 如果类从 AcDbEntity 类派生并可能位于 BLOCKS 或 ENTITIES 段中，则设置为 1。 如果设置为 0，则实例可能仅出现在 OBJECTS 段中

本节内容包括：

  • 默认类值


默认类值

CLASSES 段
CLASSES 段
默认类值

AutoCAD® 注册下表中列出的类。 （可能并没有列出 DXF 文件中的所有类。 取决于 AutoCAD 当前使用的应用程序。）

默认类值
DXF 记录名 代码 1 | C++ 类名 代码 2 | 代码 90 | 代码 280 | 代码 281
ACDBDICTIONARYWDFLT | AcDbDictionaryWithDefault | 0 | 0 | 0
ACDBPLACEHOLDER | AcDbPlaceHolder | 0 | 0 | 0
ARCALIGNEDTEXT | AcDbArcAlignedText | 0 | 0 | 1
DICTIONARYVAR | AcDbDictionaryVar | 0 | 0 | 0
HATCH | AcDbHatch | 0 | 0 | 1
IDBUFFER | AcDbIdBuffer | 0 | 0 | 0
IMAGE | AcDbRasterImage | 127 | 0 | 1
IMAGEDEF | AcDbRasterImageDef | 0 | 0 | 0
IMAGEDEF_REACTOR | AcDbRasterImageDefReactor | 1 | 0 | 0
LAYER_INDEX | AcDbLayerIndex | 0 | 0 | 0
LAYOUT | AcDbLayout | 0 | 0 | 0
LWPOLYLINE | AcDbPolyline | 0 | 0 | 1
OBJECT_PTR | CAseDLPNTableRecord | 1 | 0 | 0
OLE2FRAME | AcDbOle2Frame | 0 | 0 | 1
PLOTSETTINGS | AcDbPlotSettings | 0 | 0 | 0
RASTERVARIABLES | AcDbRasterVariables | 0 | 0 | 0
RTEXT | RText | 0 | 0 | 1
SORTENTSTABLE | AcDbSortentsTable | 0 | 0 | 0
SPATIAL_INDEX | AcDbSpatialIndex | 0 | 0 | 0
SPATIAL_FILTER | AcDbSpatialFilter | 0 | 0 | 0
WIPEOUT | AcDbWipeout | 127 | 0 | 1
WIPEOUTVARIABLES | AcDbWipeoutVariables | 0 | 0 | 0


TABLES 段

本章介绍的组码可以在 DXF™ 文件中找到，并且可以由应用程序使用。 TABLES 段包含若干个表，每个表都包含多个条目。 图元定义列表中的 AutoLISP® 和 ObjectARX® 应用程序也使用这些代码。

本节内容包括：

  • 符号表组码
  • 常用符号表组码
  • APPID
  • BLOCK_RECORD
  • DIMSTYLE
  • LAYER
  • LTYPE
  • STYLE
  • UCS
  • VIEW
  • VPORT


符号表组码

TABLES 段
TABLES 段
符号表组码

表的次序可以更改，但 LTYPE 表总是位于 LAYER 表之前。 每个表都由带有 TABLE 标签的 0 组码引入。 其后是一个标识特定表（APPID、DIMSTYLE、LAYER、LTYPE、STYLE、UCS、VIEW、VPORT 或 BLOCK_RECORD）的 2 组码、一个 5 组码（句柄）、一个 100 组码（AcDbSymbolTable 子类标记）和一个 70 组码（用于指定后面的表条目的最大数目）。 表名称以大写字母输出。 DIMSTYLE 句柄是 105 组码，而不是 5 组码。

图形中的表可以包含已删除的项目，但这些项目并不写入 DXF 文件。 这样，表标题后面的表条目可能少于 70 组码指示的数目，因此不要使用 70 组码中的计数作为索引在表中执行读取操作。 提供此组码是为了使读取 DXF 文件的程序能够分配足以容纳其后的全部表条目的数组。

每个表中此标题的后面都是表条目。 每个表条目都包含以下内容：一个标识项目类型（与表名相同，例如 LTYPE 或 LAYER）的 0 组、一个提供表条目名称的 2 组、一个指定与表条目（为随后的每个表定义）相关的标志的 70 组以及提供表条目值的其他组。 每个表的结尾由 0 组指定，组值为 ENDTAB。

符号表记录和符号表都是数据库对象。 对于 AutoCAD® 中的所有主要应用而言，这至少意味着存在一个句柄，它位于符号表记录对象和符号表对象的 2 个组码之后。

DIMSTYLE 表是系统中句柄代码为 105 的唯一记录类型，因为它早期使用的是组码 5。 原则上，程序员不必担心此异常，除非它出现在 DIMSTYLE 表段的上下文中。 因为只有在此上下文中才可能出现这种异常。


常用符号表组码

TABLES 段
TABLES 段
常用符号表组码

下表显示了适用于所有符号表的组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

适用于所有符号表的组码
组码 | 说明
-1 | APP：图元名（每次打开图形时都会发生变化）
0 | 对象类型 (TABLE)
2 | 表名
5 | 句柄
102 | “{ACAD_XDICTIONARY”表示扩展词典组的开始。 仅当将永久反应器附加到此对象时，此组才存在（可选）
360 | 所有者词典的硬所有者 ID/句柄（可选）
102 | 组的结束“}”（可选）
330 | 所有者对象的软指针 ID/句柄
100 | 子类标记 (AcDbSymbolTable)
70 | 表中条目的最大数目

本节内容包括：

  • 符号表条目的常用组码


符号表条目的常用组码

TABLES 段
TABLES 段
符号表条目的常用组码

下表显示了适用于所有符号表条目的组码。 请记住，在按照图元类型参照组码表（该表列出了与特定图元关联的代码）时，也可以显示此处所示的代码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

适用于所有符号表条目的组码
组码 | 说明
-1 | APP：图元名（每次打开图形时都会发生变化）
0 | 图元类型（表名）
5 | 句柄（DIMSTYLE 除外）
105 | 句柄（仅适用于 DIMSTYLE 表）
102 | 应用程序定义的组的开始“{application_name”。 例如，“{ACAD_REACTORS”表示 AutoCAD 永久反应器组的开始（可选）
应用程序定义的代码 | 102 组中的代码和值由应用程序定义（可选）
102 | 组的结束“}”（可选）
102 | “{ACAD_REACTORS”表示 AutoCAD 永久反应器组的开始。 仅当将永久反应器附加到此对象时，此组才存在（可选）
330 | 所有者词典的软指针 ID/句柄（可选）
102 | 组的结束“}”（可选）
102 | “{ACAD_XDICTIONARY”表示扩展词典组的开始。 仅当将永久反应器附加到此对象时，此组才存在（可选）
360 | 所有者词典的硬所有者 ID/句柄（可选）
102 | 组的结束“}”（可选）
330 | 所有者对象的软指针 ID/句柄
100 | 子类标记 (AcDbSymbolTableRecord)


APPID

TABLES 段
TABLES 段
APPID

以下组码适用于 APPID 符号表条目。 除此处所述的组码以外，另请参见符号表条目的常用组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

APPID 组码
组码 | 说明
100 | 子类标记 (AcDbRegAppTableRecord)
2 | 用户提供（或应用程序提供）的应用程序名称（用于扩展数据）。 这些表条目用于维护注册的所有应用程序的名称
70 | 标准标记值（按位编码值）： 1 = 如果设置了此位，则在执行 SAVEASR12 时不写入与此 APPID 关联的扩展数据 16 = 如果设置了此位，则表条目外部依赖于外部参照 32 = 如果同时设置了此位和位 16，则表明已成功融入了外部依赖的外部参照 64 = 如果设置了此位，则表明在上次编辑图形时，图形中至少有一个图元参照了表条目。 （此标志对 AutoCAD 命令很有用。 大多数读取 DXF 文件的程序都可以忽略它，并且无需由写入 DXF 文件的程序对其进行设置）


BLOCK_RECORD

TABLES 段
TABLES 段
BLOCK_RECORD

以下组码适用于 BLOCK_RECORD 符号表条目。 除此处所述的组码以外，另请参见符号表条目的常用组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

BLOCK_RECORD 组码
组码 | 说明
100 | 子类标记 (AcDbBlockTableRecord)
2 | 块名
340 | 关联的 LAYOUT 对象的硬指针 ID/句柄
70 | 块插入单位。
280 | 块分解性
281 | 块可测量性
310 | DXF：位图预览的二进制数据（可选）
1001 | 扩展数据应用程序名称“ACAD”（可选）
1000 | 扩展数据字符串数据“设计中心数据”（可选）
1002 | 扩展数据的开始“{”（可选）
1070 | Autodesk 设计中心版本号
1070 | 插入单位： 0 = 无单位；1 = 英寸；2 = 英尺；3 = 英里；4 = 毫米； 5 = 厘米；6 = 米；7 = 千米；8 = 微英寸； 9 = 密耳；10 = 码；11 = 埃；12 = 纳米； 13 = 微米；14 = 分米；15 = 十米； 16 = 百米；17 = 百万公里；18 = 天文单位； 19 = 光年；20 = 秒差距
1002 | 扩展数据的结束“}”


DIMSTYLE

TABLES 段
TABLES 段
DIMSTYLE

以下组码适用于 DIMSTYLE 符号表条目。 《命令参考》中的“系统变量”部分介绍了 DIMSTYLE 系统变量。 除此处所述的组码以外，另请参见符号表条目的常用组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

DIMSTYLE 组码
组码 | 说明
100 | 子类标记 (AcDbDimStyleTableRecord)
2 | 标注样式名
70 | 标准标记值（按位编码值）： 16 = 如果设置了此位，则表条目外部依赖于外部参照 32 = 如果同时设置了此位和位 16，则表明已成功融入了外部依赖的外部参照 64 = 如果设置了此位，则表明在上次编辑图形时，图形中至少有一个图元参照了表条目。 （此标志对 AutoCAD 命令很有用。 大多数读取 DXF 文件的程序都可以忽略它，并且无需由写入 DXF 文件的程序对其进行设置）
3 | DIMPOST
4 | DIMAPOST
5 | DIMBLK（已废弃，现在为对象 ID）
6 | DIMBLK1（已废弃，现在为对象 ID）
7 | DIMBLK2（已废弃，现在为对象 ID）
40 | DIMSCALE
41 | DIMASZ
42 | DIMEXO
43 | DIMDLI
44 | DIMEXE
45 | DIMRND
46 | DIMDLE
47 | DIMTP
48 | DIMTM
140 | DIMTXT
141 | DIMCEN
142 | DIMTSZ
143 | DIMALTF
144 | DIMLFAC
145 | DIMTVP
146 | DIMTFAC
147 | DIMGAP
148 | DIMALTRND
71 | DIMTOL
72 | DIMLIM
73 | DIMTIH
74 | DIMTOH
75 | DIMSE1
76 | DIMSE2
77 | DIMTAD
78 | DIMZIN
79 | DIMAZIN
170 | DIMALT
171 | DIMALTD
172 | DIMTOFL
173 | DIMSAH
174 | DIMTIX
175 | DIMSOXD
176 | DIMCLRD
177 | DIMCLRE
178 | DIMCLRT
179 | DIMADEC
270 | DIMUNIT（已废弃，现在使用 DIMLUNIT 和 DIMFRAC）
271 | DIMDEC
272 | DIMTDEC
273 | DIMALTU
274 | DIMALTTD
275 | DIMAUNIT
276 | DIMFRAC
277 | DIMLUNIT
278 | DIMDSEP
279 | DIMTMOVE
280 | DIMJUST
281 | DIMSD1
282 | DIMSD2
283 | DIMTOLJ
284 | DIMTZIN
285 | DIMALTZ
286 | DIMALTTZ
287 | DIMFIT（已废弃，现在使用 DIMATFIT 和 DIMTMOVE)
288 | DIMUPT
289 | DIMATFIT
340 | DIMTXSTY（参照的 STYLE 的句柄）
341 | DIMLDRBLK（参照的 BLOCK 的句柄）
342 | DIMBLK（参照的 BLOCK 的句柄）
343 | DIMBLK1（参照的 BLOCK 的句柄）
344 | DIMBLK2（参照的 BLOCK 的句柄）
371 | DIMLWD（线宽枚举值）
372 | DIMLWE（线宽枚举值）


LAYER

TABLES 段
TABLES 段
LAYER

以下组码适用于 LAYER 符号表条目。 除此处所述的组码以外，另请参见符号表条目的常用组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

LAYER 组码
组码 | 说明
100 | 子类标记 (AcDbLayerTableRecord)
2 | 图层名
70 | 标准标记（按位编码值）： 1 = 冻结图层，否则解冻图层 2 = 默认情况下在新视口中冻结图层 4 = 锁定图层 16 = 如果设置了此位，则表条目外部依赖于外部参照 32 = 如果同时设置了此位和位 16，则表明已成功融入了外部依赖的外部参照 64 = 如果设置了此位，则表明在上次编辑图形时，图形中至少有一个图元参照了表条目。 （此标志对 AutoCAD 命令很有用。 大多数读取 DXF 文件的程序都可以忽略它，并且无需由写入 DXF 文件的程序对其进行设置）
62 | 颜色编号（如果为负值，则表明图层处于关闭状态）
6 | 线型名
290 | 打印标志。 如果设置为 0，则不打印此图层
370 | 线宽枚举值
390 | PlotStyleName 对象的硬指针 ID/句柄
347 | Material 对象的硬指针 ID/句柄

在执行 SAVEAS 期间，外部参照相关的图层被输出。 对于这些图层，DXF 文件中关联的线型名始终为 CONTINUOUS。


LTYPE

TABLES 段
TABLES 段
LTYPE

以下组码适用于 LTYPE 符号表条目。 除此处所述的组码以外，另请参见符号表条目的常用组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

LTYPE 组码
组码 | 说明
100 | 子类标记 (AcDbLinetypeTableRecord)
2 | 线型名
70 | 标准标记值（按位编码值）： 16 = 如果设置了此位，则表条目外部依赖于外部参照 32 = 如果同时设置了此位和位 16，则表明已成功融入了外部依赖的外部参照 64 = 如果设置了此位，则表明在上次编辑图形时，图形中至少有一个图元参照了表条目。 （此标志对 AutoCAD 命令很有用。 大多数读取 DXF 文件的程序都可以忽略它，并且无需由写入 DXF 文件的程序对其进行设置）
3 | 线型的说明文字
72 | 对齐代码；值通常为 65，A 的 ASCII 代码
73 | 线型元素的数目
40 | 图案总长度
49 | 虚线、点或空间长度（每个元素一个条目）
74 | 复杂线型元素类型（每个元素一种类型）。 默认值为 0（无嵌入的形/文字） 以下代码是位值： 1 = 如果设置了此位，则代码 50 指定绝对旋转；如果未设置此位，则代码 50 指定相对旋转 2 = 嵌入元素是字符串 4 = 嵌入元素是形
75 | 如果代码 74 指定嵌入的形，则表示形编号（每个元素一个编号） 如果代码 74 指定嵌入的字符串，此值将设置为 0 如果代码 74 设置为 0，则省略代码 75
340 | 指向 STYLE 对象的指针（如果代码 74 > 0，则每个元素一个指针）
46 | S = 比例值（可选）；可存在多个条目
50 | R = 嵌入的形或文字的相对旋转值（以弧度为单位），A = 嵌入的形或文字的绝对旋转值（以弧度为单位）；如果代码 74 指定了嵌入的形或字符串，则每个元素一个
44 | X = X 偏移值（可选）；可存在多个条目
45 | Y = Y 偏移值（可选）；可存在多个条目
9 | 字符串（如果代码 74 = 2，则每个元素一个字符串）

tblsearch 或 tblnext 函数不返回组码 74、75、340、46、50、44、45 和 9。 在应用程序中，必须使用 tblobjname 检索这些值。


STYLE

TABLES 段
TABLES 段
STYLE

以下组码适用于 STYLE 符号表条目。 除此处所述的组码以外，另请参见符号表条目的常用组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

STYLE 组码
组码 | 说明
100 | 子类标记 (AcDbTextStyleTableRecord)
2 | 样式名
70 | 标准标记值（按位编码值）： 1 = 如果设置了此位，则此条目用于说明形 4 = 垂直文字 16 = 如果设置了此位，则表条目外部依赖于外部参照 32 = 如果同时设置了此位和位 16，则表明已成功融入了外部依赖的外部参照 64 = 如果设置了此位，则表明在上次编辑图形时，图形中至少有一个图元参照了表条目。 （此标志对 AutoCAD 命令很有用。 大多数读取 DXF 文件的程序都可以忽略它，并且无需由写入 DXF 文件的程序对其进行设置）
40 | 固定的文字高度；如果文字高度未固定，则为 0
41 | 宽度比例
50 | 倾斜角度
71 | 文字生成标志： 2 = 文字反向（在 X 轴方向镜像） 4 = 文字倒置（在 Y 轴方向镜像）
42 | 上次使用的高度
3 | 主要字体文件名
4 | 大字体文件名；如果无，则为空

STYLE 表项目也可用来记录 LOAD 命令请求的形文件。 这种情况下，在 70 组标志中设置第一位 (1)，并且只有 3 组（形文件名）有意义（其他所有组均为输出）。


UCS

TABLES 段
TABLES 段
UCS

以下组码适用于 UCS 符号表条目。 除此处所述的组码以外，另请参见符号表条目的常用组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

UCS 组码
组码 | 说明
100 | 子类标记 (AcDbUCSTableRecord)
2 | UCS 名称
70 | 标准标记值（按位编码值）： 16 = 如果设置了此位，则表条目外部依赖于外部参照 32 = 如果同时设置了此位和位 16，则表明已成功融入了外部依赖的外部参照 64 = 如果设置了此位，则表明在上次编辑图形时，图形中至少有一个图元参照了表条目。 （此标志对 AutoCAD 命令很有用。 大多数读取 DXF 文件的程序都可以忽略它，并且无需由写入 DXF 文件的程序对其进行设置）
10 | 原点（在 WCS 中） DXF：X 值；APP：三维点
20, 30 | DXF：原点的 Y 值和 Z 值（在 WCS 中）
11 | X 轴方向（在 WCS 中） DXF：X 值；APP：三维矢量
21, 31 | DXF：X 轴方向的 Y 值和 Z 值（在 WCS 中）
12 | Y 轴方向（在 WCS 中） DXF：X 值；APP：三维矢量
22, 32 | DXF：Y 轴方向的 Y 值和 Z 值（在 WCS 中）
79 | 总是为 0
146 | 标高
346 | 基准 UCS 的 ID/句柄（如果为正交）。 如果 79 代码为 0，则不显示此代码。 如果未显示此代码，且 79 代码不为零，则假定基准 UCS 为 WORLD
71 | 正交类型（可选；通常与 13、23 和 33 代码成对出现）： 1 = 俯视图；2 = 仰视图 3 = 主视图；4 = 后视图 5 = 左视图；6 = 右视图
13 | 与此 UCS 相关的正交类型的原点 DXF：原点的 X 值；APP：三维点
23, 33 | DXF：原点的 Y 值和 Y 值

每个 71/13、71/23 和 71/33 组码对都定义了与此 UCS 相关的特定正交类型的 UCS 原点。 例如，如果存在下列组码对，则在将 UCSBASE 设置为此 UCS 时调用 UCS/LEFT 命令，将导致新的 UCS 原点变为 (1,2,3)。

71: 5
13: 1.0
23: 2.0
33: 3.0

如果不存在此组码对，则调用 UCS/LEFT 命令将使得新的 UCS 原点被设置为此 UCS 的原点。


VIEW

TABLES 段
TABLES 段
VIEW

以下组码适用于 VIEW 符号表条目。 除此处所述的组码以外，另请参见符号表条目的常用组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

VIEW 组码
组码 | 说明
100 | 子类标记 (AcDbViewTableRecord)
2 | 视图名称
70 | 标准标记值（按位编码值）： 1 = 如果设置了此位，则为图纸空间视图 16 = 如果设置了此位，则表条目外部依赖于外部参照 32 = 如果同时设置了此位和位 16，则表明已成功融入了外部依赖的外部参照 64 = 如果设置了此位，则表明在上次编辑图形时，图形中至少有一个图元参照了表条目。 （此标志对 AutoCAD 命令很有用。 大多数读取 DXF 文件的程序都可以忽略它，并且无需由写入 DXF 文件的程序对其进行设置）
40 | 视图高度（在 DCS 中）
10 | 视口中心点（在 DCS 中） DXF：X 值；APP：二维点
20 | DXF：视图中心点的 Y 值（在 DCS 中）
41 | 视图宽度（在 DCS 中）
11 | 来自目标的观察方向（在 WCS 中） DXF：X 值；APP：三维矢量
21, 31 | DXF：来自目标的观察方向的 Y 值和 Z 值（在 WCS 中）
12 | 目标点（在 WCS 中） DXF：X 值；APP：三维点
22, 32 | DXF：目标点的 Y 值和 Z 值（在 WCS 中）
42 | 焦距
43 | 前向剪裁平面（距目标点的偏移）
44 | 后向剪裁平面（距目标点的偏移）
50 | 扭曲角度
71 | 视图模式（参见 VIEWMODE 系统变量）
281 | 渲染模式： 0 = 二维优化（传统二维） 1 = 线框图 2 = 隐藏线 3 = 平面着色 4 = 体着色 5 = 带线框平面着色 6 = 带线框体着色 所有非二维优化渲染模式均使用新三维图形管道。 这些值直接与 SHADEMODE 命令和 AcDbAbstractViewTableRecord::RenderMode 枚举相对应
72 | 如果存在与此视图相关联的 UCS，则为 1；否则为 0
73 | 如果相机可打印，则为 1
332 | 背景对象的软指针 ID/句柄（可选）
334 | 活动剖切对象的软指针 ID/句柄（可选）
348 | 视觉样式对象的硬指针 ID/句柄（可选）

仅当将代码 72 设置为 1 时才显示以下代码。 这些代码定义了与此视图关联的 UCS。 恢复此视图时，此 UCS 将成为当前 UCS（如果代码 72 为 0，UCS 将保持不变）。

包含 UCS 组码的 VIEW
组码 | 说明
110 | UCS 原点（仅当将代码 72 设置为 1 时才显示） DXF：X 值；APP：三维点
120, 130 | DXF：UCS 原点的 Y 值和 Z 值
111 | UCS X 轴（仅当将代码 72 设置为 1 时才显示） DXF：X 值；APP：三维矢量
121, 131 | DXF：UCS X 轴的 Y 值和 Z 值
112 | UCS Y 轴（仅当将代码 72 设置为 1 时才显示） DXF：X 值；APP：三维矢量
122, 132 | DXF：UCS Y 轴的 Y 值和 Z 值
79 | UCS 的正交类型（仅当将代码 72 设置为 1 时才显示）： 0 = UCS 为非正交视图 1 = 俯视图；2 = 仰视图 3 = 主视图；4 = 后视图 5 = 左视图；6 = 右视图
146 | UCS 标高（仅当将代码 72 设置为 1 时才显示）
345 | 如果 UCS 是命名 UCS，则为 AcDbUCSTableRecord 的 ID/句柄。 如果未提供，UCS 则为未命名 UCS（仅当将代码 72 设置为 1 时才显示）
346 | 如果 UCS 为正交 UCS，则为基准 UCS 的 AcDbUCSTableRecord 的 ID/句柄（代码 79 非零）。 如果未提供，且 79 代码为非零值，则基准 UCS 将作为 WORLD（仅当将代码 72 设置为 1 时才显示）


VPORT

TABLES 段
TABLES 段
VPORT

以下组码适用于 VPORT 符号表条目。 VPORT 表是唯一的：它可能包含多个同名的条目（表示多视口配置）。 与活动视口配置相对应的条目名称均为 *ACTIVE。 第一个这种条目说明了当前视口。 除此处所述的组码以外，另请参见符号表条目的常用组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

VPORT 组码
组码 | 说明
100 | 子类标记 (AcDbViewportTableRecord)
2 | 视口名
70 | 标准标记值（按位编码值）： 16 = 如果设置了此位，则表条目外部依赖于外部参照 32 = 如果同时设置了此位和位 16，则表明已成功融入了外部依赖的外部参照 64 = 如果设置了此位，则表明在上次编辑图形时，图形中至少有一个图元参照了表条目。 （此标志对 AutoCAD 命令很有用。 大多数读取 DXF 文件的程序都可以忽略它，并且无需由写入 DXF 文件的程序对其进行设置）
10 | 视口的左下角 DXF：X 值；APP：二维点
20 | DXF：视口左下角的 Y 值
11 | 视口右上角 DXF：X 值；APP：二维点
21 | DXF：视口右上角的 Y 值
12 | 视口中心点（在 DCS 中） DXF：X 值；APP：二维点
22 | DXF：视图中心点的 X 值（在 DCS 中）
13 | 捕捉基点（在 DCS 中） DXF：X 值；APP：二维点
23 | DXF：捕捉基点的 Y 值（在 DCS 中）
14 | 捕捉间距 X 和 Y DXF：X 值；APP：二维点
24 | DXF：捕捉间距 X 和 Y 的 Y 值
15 | 栅格间距 X 和 Y DXF：X 值；APP：二维点
25 | DXF：栅格间距 X 和 Y 的 Y 值
16 | 相对于目标点的观察方向（在 WCS 中） DXF：X 值；APP：三维点
26, 36 | DXF：相对于目标点的观察方向的 Y 值和 Z 值 （在 WCS 中）
17 | 观察目标点（在 WCS 中） DXF：X 值；APP：三维点
27, 37 | DXF：观察目标点的 Y 值和 Z 值（在 WCS 中）
42 | 焦距
43 | 前向剪裁平面（距目标点的偏移）
44 | 后向剪裁平面（距目标点的偏移）
45 | 视图高度
50 | 捕捉旋转角度
51 | 视图扭转角度
72 | 圆形边
331 或 441 | 冻结图层对象的软指针 ID/句柄或硬指针 ID/句柄；为每个冻结图层重复
70 | 位标志和透视模式
1 | 打印样式表
281 | 渲染模式： 0 = 二维优化（传统二维） 1 = 线框图 2 = 隐藏线 3 = 平面着色 4 = 体着色 5 = 带线框平面着色 6 = 带线框体着色 所有非二维优化渲染模式均使用新三维图形管道。 这些值直接与 SHADEMODE 命令和 AcDbAbstractViewTableRecord::RenderMode 枚举相对应
71 | 视图模式（参见 VIEWMODE 系统变量）
74 | UCSICON 设置
110 | UCS 原点 DXF：X 值；APP：三维点
120, 130 | DXF：UCS 原点的 Y 值和 Z 值
111 | UCS X 轴 DXF：X 值；APP：三维矢量
121, 131 | DXF：UCS X 轴的 Y 值和 Z 值
112 | UCS Y 轴 DXF：X 值；APP：三维矢量
122, 132 | DXF：UCS Y 轴的 Y 值和 Z 值
345 | 如果 UCS 是命名 UCS，则为 AcDbUCSTableRecord 的 ID/句柄。 如果不存在，则为未命名 UCS
346 | 如果 UCS 为正交 UCS，则为基准 UCS 的 AcDbUCSTableRecord 的 ID/句柄（代码 79 非零）。 如果不存在，且代码 79 非零，则将基准 UCS 作为 WORLD
79 | UCS 的正交类型 0 = UCS 为非正交视图 1 = 俯视图；2 = 仰视图 3 = 主视图；4 = 后视图 5 = 左视图；6 = 右视图
146 | 标高
170 | 着色打印设置
61 | 主栅格线
332 | 背景对象的软指针 ID/句柄（可选）
333 | 着色打印对象的软指针 ID/句柄（可选）
348 | 视觉样式对象的硬指针 ID/句柄（可选）
292 | 标志上的默认光源
282 | 默认光源类型 0 = 一条平行光 1 = 两条平行光
141 | Brightness
142 | Contrast
63, 421, 431 | 环境色（仅当不是黑色时输出）


BLOCKS 段

本章介绍的组码可以在 DXF™ 文件中找到，并且可以由应用程序使用。 BLOCKS 段包含图形中每个块所参照的条目。

本节内容包括：

  • BLOCKS 段组码
  • BLOCK
  • ENDBLK


BLOCKS 段组码

BLOCKS 段
BLOCKS 段
BLOCKS 段组码

DXF 文件的 BLOCKS 区域包含所有的块定义，其中包括由 HATCH 命令和由关联标注生成的匿名块。 每个块定义都包含在图形中使用该块时构成该块的图元。 此段中的图元格式与 ENTITIES 段中的图元格式相同。 BLOCKS 段中的所有图元都出现在 BLOCK 和 ENDBLK 图元之间。 BLOCK 和 ENDBLK 图元仅出现在 BLOCKS 段。 尽管块定义可以包含插入图元，但不允许嵌套块定义（即 BLOCK 和 ENDBLK 图元之间不允许出现另一对 BLOCK 和 ENDBLK 图元）。

外部参照被作为块定义写入 DXF 文件，除非外部参照还包含指定外部参照路径和文件名的字符串（组码 1）。

在每个块定义中，紧接着 BLOCK 记录后出现的是块表句柄和任何扩展数据以及永久反应器，BLOCK 记录包含块表记录存储的所有指定信息。


BLOCK

BLOCKS 段
BLOCKS 段
BLOCK

下列组码适用于块图元。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

块组码
组码 | 说明
0 | 图元类型 (BLOCK)
5 | 句柄
102 | 应用程序定义的组的开始“{application_name”。 例如，“{ACAD_REACTORS”表示 AutoCAD 永久反应器组的开始（可选）
应用程序定义的代码 | 102 组中的代码和值由应用程序定义（可选）
102 | 组的结束“}”（可选）
330 | 所有者对象的软指针 ID/句柄
100 | 子类标记 (AcDbEntity)
8 | 图层名
100 | 子类标记 (AcDbBlockBegin)
2 | 块名
70 | 块类型标志（按位编码值，可以组合使用）： 0 = 表示不应用下列任何标志 1 = 由图案填充、关联标注、其他内部操作或应用程序生成的匿名块 2 = 块具有非固定属性定义（如果块具有任何固定属性定义或根本没有属性定义，则不设置此位） 4 = 块是外部参照 (xref) 8 = 块是外部参照覆盖 16 = 块依赖外部参照 32 = 块是融入的外部参照，或者依赖外部参照（输入时被忽略） 64 = 定义是被引用的外部参照（输入时 被忽略）
10 | 基点 DXF：X 值；APP：三维点
20, 30 | DXF：基点的 Y 值和 Y 值
3 | 块名
1 | 外部参照路径名
4 | 块说明（可选）

创建块定义时使用的 UCS 成为块定义中所有图元的 WCS。 移动这些图元的新原点以匹配为块定义而定义的基点。 转换所有图元数据以适合新的 WCS。

模型空间和图纸空间块定义

BLOCKS 段中始终出现三个空定义。 即 *Model_Space、*Paper_Space 和 *Paper_Space0。 这些定义在内部将模型空间和图纸空间的表示显示为块定义。 第一个图纸空间布局的内部名称是 *Paper_Space，第二个是 *Paper_Space0，第三个是 *Paper_Space1，依此类推。

模型空间和图纸空间图元分离

模型空间和图纸空间之间不会再出现交错现象。 总是先输出所有图纸空间图元，再输出模型空间图元。 区分这些图元的标志是组码 67。


ENDBLK

BLOCKS 段
BLOCKS 段
ENDBLK

下列组码适用于 ENDBLK 对象。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

ENDBLK 组码
组码 | 说明
0 | 图元类型 (ENDBLK)
5 | 句柄
102 | 应用程序定义的组的开始“{application_name”。 例如，“{ACAD_REACTORS”表示 AutoCAD 永久反应器组的开始（可选）
应用程序定义的代码 | 102 组中的代码和值由应用程序定义（可选）
102 | 组的结束“}”（可选）
330 | 所有者对象的软指针 ID/句柄
100 | 子类标记 (AcDbEntity)
8 | 图层名
100 | 子类标记 (AcDbBlockEnd)


ENTITIES 段

本章介绍适用于图形对象的组码。 这些代码可以在 DXF™ 文件的 ENTITIES 区域中找到，并且由 AutoLISP® 和 ObjectARX® 应用程序在图元定义列表中使用。

本节内容包括：

  • 常用图元组码
  • 3DFACE
  • 3DSOLID
  • ACAD_PROXY_ENTITY
  • ARC
  • ATTDEF
  • ATTRIB
  • BODY
  • CIRCLE
  • DIMENSION
  • ELLIPSE
  • HATCH
  • HELIX
  • IMAGE
  • INSERT
  • LEADER
  • LIGHT
  • LINE
  • LWPOLYLINE
  • MLINE
  • MTEXT
  • OLEFRAME
  • OLE2FRAME
  • POINT
  • POLYLINE
  • RAY
  • REGION
  • SECTION
  • SEQEND
  • SHAPE
  • SOLID
  • SPLINE
  • SUN
  • SURFACE
  • TABLE
  • TEXT
  • TOLERANCE
  • TRACE
  • UNDERLAY
  • VERTEX
  • VIEWPORT
  • WIPEOUT
  • XLINE


常用图元组码

ENTITIES 段
ENTITIES 段
常用图元组码

下表列出了适用于几乎所有图形对象的组码。 此处显示的某些组码仅在图元特性具有非默认值时才包含在图元定义中。 请记住，在按照图元类型（与特定图元关联的代码列表）参照组码时，此处显示的代码也将出现。

注意 编写程序时不要依赖这些 DXF 代码表中显示的次序。 尽管这些表显示了组码通常出现的次序，但这个次序在某些条件下或在 AutoCAD® 以后的版本中可能会改变。 控制图元的代码应该由事例（开关）或表驱动，这样即使组未按预期的次序显示，仍可以得到正确的处理。

如果省略某个组，则使用 OPEN 输入时它的默认值显示在第三列中。 如果组码值等于默认值，则使用 SAVEAS 输出时该值将被省略。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

适用于所有图形对象的组码
组码 | 说明 | 如果省略， 默认为 …
-1 | APP：图元名（每次打开图形时都会发生变化） | 未省略
0 | 图元类型 | 未省略
5 | 句柄 | 未省略
102 | 应用程序定义的组的开始 “{application_name”（可选） | 无默认值
应用程序定义的代码 | 102 组中的代码和值由应用程序定义（可选） | 无默认值
102 | 组的结束“}”（可选） | 无默认值
102 | “{ACAD_REACTORS”表示 AutoCAD 永久反应器组的开始。 仅当将永久反应器附加到此对象时，此组才存在（可选） | 无默认值
330 | 所有者词典的软指针 ID/句柄（可选） | 无默认值
102 | 组的结束“}”（可选） | 无默认值
102 | “{ACAD_XDICTIONARY”表示扩展词典组的开始。 仅当将扩展词典附加到此对象时，此组才存在（可选） | 无默认值
360 | 所有者词典的硬所有者 ID/句柄（可选） | 无默认值
102 | 组的结束“}”（可选） | 无默认值
330 | 所有者 BLOCK_RECORD 对象的软指针 ID/句柄 | 未省略
100 | 子类标记 (AcDbEntity) | 未省略
67 | 不存在或零表示图元位于模型空间中。 1 表示图元位于图纸空间中（可选） | 0
410 | APP：布局选项卡名 | 未省略
8 | 图层名 | 未省略
6 | 线型名（如果不是“随层”，则出现）。 特殊名称“随块”表示可变的线型（可选） | BYLAYER
347 | 材质对象的硬指针 ID/句柄（如果不是“随层”，则出现） | BYLAYER
62 | 颜色号（如果不是“随层”，则出现）；零表示“随块”（可变的）颜色；256 表示“随层”；负值表示层已关闭（可选） | BYLAYER
370 | 线宽枚举值。 作为 16 位整数存储和移动。 | 未省略
48 | 线型比例（可选） | 1.0
60 | 对象可见性（可选）：0 = 可见；1 = 不可见 | 0
92 | 后面的 310 组（二进制数据块记录）中表示的代理图元图形中的字节数（可选） | 无默认值
310 | 代理图元图形数据（多行；每行最多 256 个字符）（可选） | 无默认值
420 | 一个 24 位颜色值，应按照值为 0 到 255 的字节进行处理。 最低字节是蓝色值，中间字节是绿色值，第三个字节是红色值。 最高字节始终为 0。 该组码不能用于自定义图元本身的数据，因为该组码是为 AcDbEntity 类级别颜色数据和 AcDbEntity 类级别透明度数据保留的。 | 无默认值
430 | 颜色名。 该组码不能用于自定义图元本身的数据，因为该组码是为 AcDbEntity 类级别颜色数据和 AcDbEntity 类级别透明度数据保留的。 | 无默认值
440 | 透明度值。 该组码不能用于自定义图元本身的数据，因为该组码是为 AcDbEntity 类级别颜色数据和 AcDbEntity 类级别透明度数据保留的。 | 无默认值
390 | 打印样式对象的硬指针 ID/句柄 | 无默认值
284 | 阴影模式 0 = 投射和接收阴影 1 = 投射阴影 2 = 接收阴影 3 = 忽略阴影 | 无默认值


3DFACE

ENTITIES 段
ENTITIES 段
3DFACE

以下组码适用于三维面图元。 除此处所述的组码以外，另请参见常用图元组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

三维面组码
组码 | 说明
100 | 子类标记 (AcDbFace)
10 | 第一角点（在 WCS 中） DXF：X 值；APP：三维点
20, 30 | DXF：第一角点的 Y 值和 Z 值（在 WCS 中）
11 | 第二角点（在 WCS 中） DXF：X 值；APP：三维点
21, 31 | DXF：第二角点的 Y 值和 Z 值（在 WCS 中）
12 | 第三角点（在 WCS 中） DXF：X 值；APP：三维点
22, 32 | DXF：第三角点的 Y 值和 Z 值（在 WCS 中）
13 | 第四角点（在 WCS 中）。 如果只输入了三个角点，则第四角点与第三角点相同 DXF：X 值；APP：三维点
23, 33 | DXF：第四角点的 Y 值和 Z 值（在 WCS 中）
70 | 不可见边标志（可选；默认值 = 0）： 1 = 第一条边不可见 2 = 第二条边不可见 4 = 第三条边不可见 8 = 第四条边不可见


3DSOLID

ENTITIES 段
ENTITIES 段
3DSOLID

以下组码适用于三维实体图元。 除此处所述的组码以外，另请参见常用图元组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

三维实体组码
组码 | 说明
100 | 子类标记 (AcDbModelerGeometry)
70 | 建模格式版本号（当前值 = 1）
1 | 所有权数据（多行，每行 < 255 个字符）
3 | 所有权数据的附加行（如果前一个组 1 的字符串长度大于 255 个字符）（可选）
100 | 子类标记 (AcDb3dSolid)
350 | 历史记录对象的软所有者 ID/句柄


ACAD_PROXY_ENTITY

ENTITIES 段
ENTITIES 段
ACAD_PROXY_ENTITY

以下组码适用于代理图元。 除此处所述的组码以外，另请参见常用图元组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

Acad_proxy_entity 组码
组码 | 说明
100 | DXF：AcDbProxyEntity
90 | DXF：代理图元类 ID（始终为 498）
91 | DXF：应用程序图元的类 ID。 类 ID 基于 CLASSES 段中类的次序。 第一个类的 ID 是 500，下一个是 501，依此类推
92 | DXF：图形数据的大小（以字节为单位）
310 | DXF：二进制图形数据（可能会出现多个条目）（可选）
93 | DXF：图元数据的大小（以位为单位）
310 | DXF：二进制图元数据（可能会出现多个条目）（可选）
330、340、 350 或 360 | DXF：对象 ID（可能会出现多个条目）（可选）
94 | DXF：0（表示对象 ID 段的结束）
95 | DXF：对象成为代理时的对象图形格式（32 位无符号整数）： 低位字是 AcDbDwgVersion 高位字是 MaintenanceReleaseVersion
70 | DXF：原始自定义对象数据格式： 0 = DWG 格式 1 = DXF 格式


ARC

ENTITIES 段
ENTITIES 段
ARC

以下组码适用于圆弧图元。 除此处所述的组码以外，另请参见常用图元组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

圆弧组码
组码 | 说明
100 | 子类标记 (AcDbCircle)
39 | 厚度（可选；默认值 = 0）
10 | 中心点（在 OCS 中） DXF：X 值；APP：三维点
20, 30 | DXF：中心点的 Y 值和 Z 值（在 OCS 中）
40 | 半径
100 | 子类标记 (AcDbArc)
50 | 起点角度
51 | 端点角度
210 | 拉伸方向（可选；默认值 = 0, 0, 1） DXF：X 值；APP：三维矢量
220, 230 | DXF：拉伸方向的 Y 值和 Z 值（可选）


ATTDEF

ENTITIES 段
ENTITIES 段
ATTDEF

以下组码适用于属性定义图元。 除此处所述的组码以外，另请参见常用图元组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

属性定义组码
组码 | 说明
100 | 子类标记 (AcDbText)
39 | 厚度（可选；默认值 = 0）
10 | 第一对齐点（在 OCS 中） DXF：X 值；APP：三维点
20, 30 | DXF：文字起点的 Y 值和 Z 值（在 OCS 中）
40 | 文字高度
1 | 默认值（字符串）
100 | 子类标记 (AcDbAttributeDefinition)
50 | 文字旋转角度（可选；默认值 = 0）
41 | X 相对缩放比例（宽度）（可选；默认值 = 1）。 使用拟合类型的文字时，该值也将进行调整。
51 | 倾斜角（可选；默认值 = 0）
7 | 文字样式名（可选；默认值 = 标准）
71 | 文字生成标志（可选；默认值 = 0）；参见 TEXT 组码
72 | 文字水平对正类型（可选；默认值 = 0）；参见 TEXT 组码
11 | 第二对齐点（在 OCS 中）（可选） DXF：X 值；APP：三维点 仅当 72 或 74 组值非零时才有意义
21, 31 | DXF：第二对齐点的 Y 值和 Z 值（在 OCS 中）（可选）
210 | 拉伸方向（可选；默认值 = 0, 0, 1） DXF：X 值；APP：三维矢量
220, 230 | DXF：拉伸方向的 Y 值和 Z 值
100 | 子类标记 (AcDbAttributeDefinition)
3 | 提示字符串
2 | 标签字符串（不能包含空格）
70 | 属性标记： 1 = 属性不可见（不出现） 2 = 固定属性 4 = 输入属性时要求进行验证 8 = 属性为预置（插入时无提示）
73 | 字段长度（可选；默认值 = 0）（当前未使用）
74 | 文字垂直对正类型（可选；默认值 = 0）；参见 TEXT 中的组码 73
280 | 锁定位置标志。 锁定块参照中属性的位置

如果组 72 和/或 74 的值非零，则第一对齐点的值将被忽略，根据第二对齐点和文字字符串的长度和高度（应用文字样式之后），AutoCAD 将计算新值。 如果 72 和 74 值为零或缺失，则第二对齐点将没有意义。


ATTRIB

ENTITIES 段
ENTITIES 段
ATTRIB

以下组码适用于属性图元。 除此处所述的组码以外，另请参见常用图元组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

属性组码
组码 | 说明
100 | 子类标记 (AcDbText)
39 | 厚度（可选；默认值 = 0）
10 | 文字起点（在 OCS 中） DXF：X 值；APP：三维点
20, 30 | DXF：文字起点的 Y 值和 Z 值（在 OCS 中）
40 | 文字高度
1 | 默认值（字符串）
100 | 子类标记 (AcDbAttribute)
2 | 属性标签（字符串；不能包含空格）
70 | 属性标记： 1 = 属性不可见（不出现） 2 = 固定属性 4 = 输入属性时要求进行验证 8 = 属性为预置（插入时无提示）
73 | 字段长度（可选；默认值 = 0）（当前未使用）
50 | 文字旋转角度（可选；默认值 = 0）
41 | X 相对缩放比例（宽度）（可选；默认值 = 1）。 使用拟合类型的文字时，该值也将进行调整。
51 | 倾斜角（可选；默认值 = 0）
7 | 文字样式名（可选；默认值 = 标准）
71 | 文字生成标志（可选；默认值 = 0）。参见 TEXT 组码
72 | 文字水平对正类型（可选；默认值 = 0）。 参见 TEXT 组码
74 | 文字垂直对正类型（可选；默认值 = 0）。参见 TEXT 中的组码 73
11 | 对齐点（在 OCS 中）（可选） DXF：X 值；APP：三维点 只有当 72 或 74 组出现且非零时才出现
21, 31 | DXF：对齐点的 Y 值和 Z 值（在 OCS 中）（可选）
210 | 拉伸方向。 仅当图元的拉伸方向与 WCS 的 Z 轴不平行时才出现（可选；默认值 = 0, 0, 1） DXF：X 值；APP：三维矢量
220, 230 | DXF：拉伸方向的 Y 值和 Z 值（可选）
280 | 锁定位置标志。 锁定块参照中属性的位置

如果组 72 和/或 74 的值非零，则文字插入点的值将被忽略，根据文字对齐点和文字字符串的长度（应用文字样式之后），AutoCAD 将计算新值。 如果 72 和 74 值为零或缺失，则文字对齐点被忽略，并且 AutoCAD 根据文字插入点和文字字符串本身的长度（在应用文字样式之后）重新计算该文字对齐点。


BODY

ENTITIES 段
ENTITIES 段
BODY

以下组码适用于体图元。 除此处所述的组码以外，另请参见常用图元组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

体组码
组码 | 说明
100 | 子类标记 (AcDbModelerGeometry)
70 | 建模格式版本号（当前值 = 1）
1 | 所有权数据（多行，每行 < 255 个字符）
3 | 所有权数据的附加行（如果前一个组 1 的字符串长度大于 255 个字符）（可选）


CIRCLE

ENTITIES 段
ENTITIES 段
CIRCLE

以下组码适用于圆图元。 除此处所述的组码以外，另请参见常用图元组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

圆组码
组码 | 说明
100 | 子类标记 (AcDbCircle)
39 | 厚度（可选；默认值 = 0）
10 | 中心点（在 OCS 中） DXF：X 值；APP：三维点
20, 30 | DXF：中心点的 Y 值和 Z 值（在 OCS 中）
40 | 半径
210 | 拉伸方向（可选；默认值 = 0, 0, 1） DXF：X 值；APP：三维矢量
220, 230 | DXF：拉伸方向的 Y 值和 Z 值（可选）


DIMENSION

ENTITIES 段
ENTITIES 段
DIMENSION

标注图元定义包括两部分，第一部分是所有标注类型的通用组码，其后是特定于该标注类型的代码。

本节内容包括：

  • 常用标注组码
  • 对齐标注组码
  • 线性标注和转角标注组码
  • 半径标注和直径标注组码
  • 角度标注组码
  • 坐标标注组码
  • 标注样式替代


常用标注组码

ENTITIES 段
ENTITIES 段
常用标注组码

以下组码适用于所有标注图元类型。 除此处所述的组码以外，另请参见常用图元组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

常用标注组码
组码 | 说明
100 | 子类标记 (AcDbDimension)
2 | 包含构成标注图片的图元的块的名称
10 | 定义点（在 WCS 中） DXF：X 值；APP：三维点
20, 30 | DXF：定义点的 Y 值和 Z 值（在 WCS 中）
11 | 标注文字的中点（在 OCS 中） DXF：X 值；APP：三维点
21, 31 | DXF：标注文字中点的 Y 值和 Z 值（在 OCS 中）
70 | 标注类型： 值 0-6 是表示标注类型的整数值。 值 32、64 和 128 是添加到整数值中的位值（在 R13 及以后的版本中始终设置值 32） 0 = 旋转、水平或垂直；1 = 对齐 2 = 角度；3 = 直径；4 = 半径 5 = 三点角度；6 = 坐标 32 = 表示块参照（组码 2）仅由该标注参照。 64 = 坐标类型。 这是一个位值（位 7），仅与整数值 6 一起使用。 如果设置该值，则坐标为 X 类型；如果不设置，则坐标为 Y 类型。 128 = 这是一个添加到其他组 70 值的位值（位 8）（如果标注文字已放置到用户定义的位置，而不是放置到默认位置）
71 | 附着点： 1 = 左上；2 = 中上；3 = 右上 4 = 左中；5 = 正中；6 = 右中 7 = 左下；8 = 中下；9 = 右下
72 | 标注文字行距样式（可选）： 1（或缺少）= 至少（将替代为较高的字符） 2 = 精确（将不替代为较高的字符）
41 | 标注文字行距比例（可选）： 要应用的行距的默认百分比（五分之三）。 有效值的范围从 0.25 到 4.00
42 | 实际测量（可选；只读值）
1 | 由用户明确输入的标注文字。 可选；默认值为测量。 如果为空或为“<>”，标注测量将绘制为文字；如果为“ ”（一个空格），文字将被隐藏。 其他内容绘制为文字
53 | 可选组码 53 是标注文字与其默认方向所成的旋转角度（尺寸线方向）（可选）
51 | 所有标注类型均有可选的 51 组码，表示标注图元的水平方向。 标注图元决定水平、垂直和旋转线性标注的标注文字和直线的方向 该组值是 OCS X 轴和 UCS X 轴之间的负角度。 它始终位于 OCS 的 XY 平面上
210 | 拉伸方向（可选；默认值 = 0, 0, 1） DXF：X 值；APP：三维矢量
220, 230 | DXF：拉伸方向的 Y 值和 Z 值（可选）
3 | 标注样式名

如果对标注图元应用了标注替代，则为属于应用程序 ID“ACAD”的扩展数据，后跟该标注图元。 请参见标注样式替代。

对于所有标注类型，以下组码表示三维 WCS 点：

  • (10, 20, 30)
  • (13, 23, 33)
  • (14, 24, 34)
  • (15, 25, 35)

对于所有标注类型，以下组码表示三维 WCS 点：

  • (11, 21, 31)
  • (12, 22, 32)
  • (16, 26, 36)


对齐标注组码

ENTITIES 段
ENTITIES 段
对齐标注组码

以下组码适用于对齐标注。 除此处所述的组码以外，还可能会出现常用图元组码和常用标注组码中列出的组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

对齐标注组码
组码 | 说明
100 | 子类标记 (AcDbAlignedDimension)
12 | 标注复制的插入点 — 基线和连续（在 OCS 中） DXF：X 值；APP：三维点
22, 32 | DXF：标注复制的插入点的 Y 值和 Z 值 — 基线和连续（在 OCS 中）
13 | 线性标注和角度标注的定义点（在 WCS 中） DXF：X 值；APP：三维点
23, 33 | DXF：线性标注和角度标注的定义点的 Y 值和 Z 值（在 WCS 中）
14 | 线性标注和角度标注的定义点（在 WCS 中） DXF：X 值；APP：三维点
24, 34 | DXF：线性标注和角度标注的定义点的 Y 值和 Z 值（在 WCS 中）

点 (13,23,33) 指定了第一尺寸界线的起点，点 (14,24,34) 指定了第二尺寸界线的起点。 点 (10,20,30) 指定了尺寸线的位置。 点 (11,21,31) 指定标注文字的中点。


线性标注和转角标注组码

ENTITIES 段
ENTITIES 段
线性标注和转角标注组码

以下组码适用于线性标注和转角标注（注意，线性标注和转角标注属于 AcDbAlignedDimension 子类）。 除此处所述的组码以外，还可能会出现常用图元组码和常用标注组码中列出的组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

线性标注和转角标注组码
组码 | 说明
100 | 子类标记 (AcDbAlignedDimension)
12 | 标注复制的插入点 — 基线和连续（在 OCS 中） DXF：X 值；APP：三维点
22, 32 | DXF：标注复制的插入点的 Y 值和 Z 值 — 基线和连续（在 OCS 中）
13 | 线性标注和角度标注的定义点（在 WCS 中） DXF：X 值；APP：三维点
23, 33 | DXF：线性标注和角度标注的定义点的 Y 值和 Z 值（在 WCS 中）
14 | 线性标注和角度标注的定义点（在 WCS 中） DXF：X 值；APP：三维点
24, 34 | DXF：线性标注和角度标注的定义点的 Y 值和 Z 值（在 WCS 中）
50 | 转角标注、水平标注或垂直标注的角度
52 | 带倾斜角的线性标注类型有可选组码 52。 当添加到线性标注的旋转角度（组码 50）时，将给出尺寸界线的角度。
100 | 子类标记 (AcDbRotatedDimension)


半径标注和直径标注组码

ENTITIES 段
ENTITIES 段
半径标注和直径标注组码

以下组码适用于半径标注和直径标注。 除此处所述的组码以外，还可能会出现常用图元组码和常用标注组码中列出的组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

半径标注和直径标注组码
组码 | 说明
100 | 子类标记（AcDbRadialDimension 或 AcDbDiametricDimension）
15 | 直径标注、半径标注和角度标注的定义点（在 WCS 中） DXF：X 值；APP：三维点
25, 35 | DXF：直径标注、半径标注和角度标注的定义点的 Y 值和 Z 值（在 WCS 中）
40 | 半径标注和直径标注的引线长度

点 (15,25,35) 指定圆/弧上尺寸线的第一点，点 (10,20,30) 指定与第一个点相对的点。 点 (11,21,31) 指定标注文字的中点。

点 (15,25,35) 指定圆/弧上尺寸线的第一点，点 (10,20,30) 指定圆/弧的中点。 点 (11,21,31) 指定标注文字的中点。


角度标注组码

ENTITIES 段
ENTITIES 段
角度标注组码

以下组码适用于角度标注。 除此处所述的组码以外，还可能会出现常用图元组码和常用标注组码中列出的组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

角度标注组码
组码 | 说明
100 | 子类标记 (AcDb3PointAngularDimension)
13 | 线性标注和角度标注的定义点（在 WCS 中） DXF：X 值；APP：三维点
23, 33 | DXF：线性标注和角度标注的定义点的 Y 值和 Z 值（在 WCS 中）
14 | 线性标注和角度标注的定义点（在 WCS 中） DXF：X 值；APP：三维点
24, 34 | DXF：线性标注和角度标注的定义点的 Y 值和 Z 值（在 WCS 中）
15 | 直径标注、半径标注和角度标注的定义点（在 WCS 中）DXF：X 值；APP：三维点
25, 35 | DXF：直径标注、半径标注和角度标注的定义点的 Y 值和 Z 值（在 WCS 中）
16 | 定义角度标注的标注圆弧的点（在 OCS 中） DXF：X 值；APP：三维点
26, 36 | DXF：为角度标注定义标注圆弧的点的 Y 值和 Z 值（在 OCS 中）

点 (13,23,33) 和 (14,24,34) 指定用于确定第一尺寸界限的直线的端点。 点 (10,20,30) 和 (15,25,35) 指定用于确定第二尺寸界限的直线的端点。 点 (16,26,36) 指定尺寸线圆弧的位置。 点 (11,21,31) 指定标注文字的中点。

点 (15,25,35) 指定角度顶点。 点 (13,23,33) 和 (14,24,34) 指定尺寸界限的端点。 点 (10,20,30) 指定尺寸线圆弧的位置，点 (11,21,31) 指定标注文字的中点。


坐标标注组码

ENTITIES 段
ENTITIES 段
坐标标注组码

以下组码适用于坐标标注。 除此处所述的组码以外，还可能会出现常用图元组码和常用标注组码中列出的组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

坐标标注组码
组码 | 说明
100 | 子类标记 (AcDbOrdinateDimension)
13 | 线性标注和角度标注的定义点（在 WCS 中） DXF：X 值；APP：三维点
23, 33 | DXF：线性标注和角度标注的定义点的 Y 值和 Z 值（在 WCS 中）
14 | 线性标注和角度标注的定义点（在 WCS 中） DXF：X 值；APP：三维点
24, 34 | DXF：线性标注和角度标注的定义点的 Y 值和 Z 值（在 WCS 中）

点 (13,23,33) 指定特征位置，点 (14,24,34) 指定引线端点。 点 (11,21,31) 指定标注文字的中点。 创建标注时，点 (10,20,30) 置于当前 UCS 的原点处。


标注样式替代

ENTITIES 段
ENTITIES 段
标注样式替代

标注样式替代可适用于标注、引线和公差图元。 适用于这些图元的所有替代都将作为扩展数据存储在图元中。 替代标注变量组码和相关值包含在组 1002 控制字符串中。 下例显示 DIMTOL 和 DIMCLRE 变量已被替代的标注图元的扩展数据。

(setq diment (car (entsel)))          ; 选择标注图元
(setq elst (entget diment '("ACAD"))) ; 获取图元定义列表
(assoc -3 elst)                       ; 仅提取扩展数据

此段代码返回下列内容：

(-3 ("ACAD"                        扩展数据的 ACAD APPID 段的开始
  (1000 . "DSTYLE") (1002 . "{")   标注样式小节的开始
  (1070 . 177) (1070 . 3)          DIMCLRE（代码 177）替代 + 值 (3)
  (1070 . 71) (1070 . 1)           DIMTOL（代码 71）替代 + 值 (1)
  (1002 . "}") ))                  标注样式小节和 ACAD 段的结束


ELLIPSE

ENTITIES 段
ENTITIES 段
ELLIPSE

以下组码适用于椭圆图元。 除此处所述的组码以外，另请参见常用图元组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

椭圆组码
组码 | 说明
100 | 子类标记 (AcDbEllipse)
10 | 中心点（在 WCS 中） DXF：X 值；APP：三维点
20, 30 | DXF：中心点的 Y 值和 Z 值（在 WCS 中）
11 | 相对于中心的长轴端点（在 WCS 中） DXF：X 值；APP：三维点
21, 31 | DXF：相对于中心的长轴端点的 Y 值和 Z 值（在 WCS 中）
210 | 拉伸方向（可选；默认值 = 0, 0, 1） DXF：X 值；APP：三维矢量
220, 230 | DXF：拉伸方向的 Y 值和 Z 值（可选）
40 | 短轴与长轴的比例
41 | 开始参数（对于闭合椭圆，该值为 0.0）
42 | 结束参数（对于闭合椭圆，该值为 2pi）


HATCH

ENTITIES 段
ENTITIES 段
HATCH

以下组码适用于图案填充和 MPolygon 图元。 除此处所述的组码以外，另请参见常用图元组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

图案填充组码
组码 | 说明
100 | 子类标记 (AcDbHatch)
10 | 标高点（在 OCS 中） DXF：X 值 = 0；APP：三维点（X 和 Y 始终等于 0，Z 表示标高）
20, 30 | DXF：标高点的 Y 值和 Z 值（在 OCS 中） Y 值 = 0，Z 表示标高
210 | 拉伸方向（可选；默认值 = 0, 0, 1） DXF：X 值；APP：三维矢量
220, 230 | DXF：拉伸方向的 Y 值和 Z 值
2 | 填充图案名
70 | 实体填充标志（实体填充 = 1；图案填充 = 0）；对于 MPolygon，为 Mpolygon 的版本
63 | 对于 Mpolygon，图案填充颜色为 ACI
71 | 关联性标志（关联 = 1；无关联 = 0）；对于 Mpolygon，为实体填充标志（有实体填充 = 1；无实体填充 = 0）
91 | 边界路径（环）数
多种 | 边界路径数据。 重复代码 91 指定的次数。 参见边界路径数据
75 | 图案填充样式： 0 = 填充“奇数奇偶校验”区域（普通样式） 1 = 仅填充最外层区域（“外部”样式） 2 = 填充整个区域（“忽略”样式）
76 | 填充图案类型： 0 = 用户定义；1 = 预定义；2 = 自定义
52 | 填充图案角度（仅限图案填充）
41 | 填充图案比例或间距（仅限图案填充）
73 | 对于 Mpolygon，为边界注释标志（边界是注释边界 = 1；边界不是注释边界 = 0）
77 | 填充图案双向标志（仅限图案填充）： 0 = 非双向；1 = 双向
78 | 图案定义直线数
多种 | 图案直线数据。 代码 78 指定的重复次数。 参见图案数据
47 | 在相关图案填充和使用图案填充的“填充”方法创建的图案填充的填充图案计算中，用于确定执行各种相交和射线法操作的密度的像素大小。
98 | 种子点数
11 | 对于 MPolygon，为偏移矢量
99 | 对于 MPolygon，为退化边界路径（环）数（退化边界路径是图案填充忽略的边框）
10 | 种子点（在 OCS 中） DXF：X 值；APP：二维点（多个条目）
20 | DXF：种子点的 Y 值（在 OCS 中）；（多个条目)
450 | 表示实体图案填充或渐变色；如果是实体图案填充，则剩余代码的值将被忽略，但必须存在。 可选；如果代码 450 在文件中，下列代码也必须在文件中：451、452、453、460、461、462 和 470。 如果代码 450 不在文件中，下列代码也必须不在文件中：451、452、453、460、461、462 和 470 0 = 实体图案填充 1 = 渐变色
451 | 保留零供以后使用
452 | 记录定义颜色的方法，仅用于对话框代码： 0 = 双色渐变色 1 = 单色渐变色
453 | 颜色数： 0 = 实体图案填充 2 = 渐变色
460 | 以弧度表示的渐变色的旋转角度（默认值 = 0, 0）
461 | 渐变色定义；对应于“边界图案填充”对话框“渐变色”选项卡中的“居中”选项。 每个渐变色有两个定义，移动和非移动。 “移动”值描述了应使用的两种定义的过渡。 值 0.0 表示应仅使用非移动版本，值 1.0 表示应仅使用移动版本。
462 | 对话框代码使用的色调值（默认值 = 0, 0；范围从 0.0 到 1.0）。 色调值是一个渐变色，用于当图案填充组码 452 设置为 1 时，控制对话框中的色调度。
463 | 保留供以后使用： 0 = 第一个值 1 = 第二个值
470 | 字符串（默认值 = 线性）

本节内容包括：

  • 边界路径数据
  • 图案数据


边界路径数据

ENTITIES 段
ENTITIES 段
边界路径数据

每个图案填充对象的边界由包含一条或多条线段的路径（或环）定义。 路径线段数据取决于构成路径的图元类型。 每条路径线段由它自己的组码集定义。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

图案填充边界路径数据组码
组码 | 说明
92 | 边界路径类型标志（按位编码）： 0 = 默认；1 = 外部；2 = 多段线 4 = 导出；8 = 文本框；16 = 最外层
多种 | 多段线边界类型数据（仅当边界 = 多段线时）。 参见下面的多段线边界数据表
93 | 该边界路径中的边数（仅当边界不是多段线时）
72 | 边类型（仅当边界不是多段线时）： 1 = 直线；2 = 圆弧；3 = 椭圆弧；4 = 样条曲线
多种 | 边类型数据（仅当边界不是多段线时）。 参见下面的相应边数据表
97 | 源边界对象数
330 | 源边界对象的参照（多个条目）

多段线边界数据组码
组码 | 说明
72 | “有凸度”标志
73 | “关闭”标志
93 | 多段线顶点数
10 | 顶点位置（在 OCS 中） DXF：X 值；APP：二维点（多个条目）
20 | DXF：顶点位置的 Y 值（在 OCS 中）（多个条目）
42 | 凸度（可选；默认值 = 0）

直线边数据组码
组码 | 说明
10 | 起点（在 OCS 中） DXF：X 值；APP：二维点
20 | DXF：起点的 Y 值（在 OCS 中）
11 | 端点（在 OCS 中） DXF：X 值；APP：二维点
21 | DXF：端点的 Y 值（在 OCS 中）

弧边数据组码
组码 | 说明
10 | 中心点（在 OCS 中） DXF：X 值；APP：二维点
20 | DXF：中心点的 Y 值（在 OCS 中）
40 | 半径
50 | 起点角度
51 | 端点角度
73 | “逆时针”标志

椭圆边数据组码
组码 | 说明
10 | 中心点（在 OCS 中） DXF：X 值；APP：二维点
20 | DXF：中心点的 Y 值（在 OCS 中）
11 | 相对于中心点的长轴端点（在 OCS 中） DXF：X 值；APP：二维点
21 | DXF：长轴端点的 Y 值（在 OCS 中）
40 | 短轴的长度（占长轴长度的比例）
50 | 起点角度
51 | 端点角度
73 | “逆时针”标志

样条曲线边数据组码
组码 | 说明
94 | 阶数
73 | 有理
74 | 周期
95 | 节点数
96 | 控制点数
40 | 节点值（多个条目）
10 | 控制点（在 OCS 中） DXF：X 值；APP：二维点
20 | DXF：控制点的 Y 值（在 OCS 中）
42 | 权值（可选；默认值 = 1）


图案数据

ENTITIES 段
ENTITIES 段
图案数据

各图案定义行重复使用以下图案数据代码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

填充图案数据组码
组码 | 说明
53 | 图案直线角度
43 | 图案直线基点，X 分量
44 | 图案直线基点，Y 分量
45 | 图案直线偏移，X 分量
46 | 图案直线偏移，Y 分量
79 | 虚线长度项目数
49 | 虚线长度（多个条目）


HELIX

ENTITIES 段
ENTITIES 段
HELIX

以下组码适用于螺旋图元。 除此处所述的组码以外，另请参见常用图元组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

螺旋组码
组码 | 说明
 | 样条曲线数据
100 | 子类标记 (AcDbHelix)
90 | 主版本号
91 | 维护版本号
10, 20, 30 | 轴基点
11, 21, 31 | 起点
12, 22, 32 | 轴矢量
40 | 半径
41 | 圈数
42 | 圈高
290 | 左右手习惯；0 = 左手，1 = 右手
280 | 约束类型 0 = 约束圈高 1 = 约束圈数 2 = 约束高度


IMAGE

ENTITIES 段
ENTITIES 段
IMAGE

以下组码适用于图像图元。 除此处所述的组码以外，另请参见常用图元组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

图像组码
组码 | 说明
100 | 子类标记 (AcDbRasterImage)
90 | 类版本
10 | 插入点（在 WCS 中） DXF：X 值；APP：三维点
20, 30 | DXF：插入点的 Y 值和 Z 值（在 WCS 中）
11 | 单像素的 U 矢量（沿图像可见底部的点，从插入点开始）（在 WCS 中） DXF：X 值；APP：三维点
21, 31 | DXF：U 矢量的 Y 值和 Z 值（在 WCS 中）
12 | 单像素的 V 矢量（沿图像可见左侧的点，从插入点开始）（在 WCS 中） DXF：X 值；APP：三维点
22, 32 | DXF：V 矢量的 Y 值和 Z 值（在 WCS 中）
13 | 以像素为单位的图像尺寸 DXF：U 值；APP：二维点（U 值和 V 值）
23 | DXF：图像尺寸的 V 值（以像素为单位）
340 | imagedef 对象的硬参照
70 | 图像显示特性： 1 = 显示图像 2 = 当与屏幕不对齐时显示图像 4 = 使用剪裁边界 8 = 透明度打开
280 | 剪裁状态：0 = 关；1 = 开
281 | 亮度值（0-100；默认值 = 50）
282 | 对比度值（0-100；默认值 = 50）
283 | 褪色度值（0-100；默认值 = 0）
360 | imagedef_reactor 对象的硬参照
71 | 剪裁边界类型。 1 = 矩形；2 = 多边形
91 | 后面的裁剪边界顶点数
14 | 裁剪边界顶点（在 OCS 中） DXF：X 值；APP：二维点（多个条目） 注意 1) 对于矩形剪裁边界类型，必须指定两个对角。 默认值为 (-0.5,-0.5)，(size.x-0.5,size.y-0.5)。 2) 对于多边形剪裁边界类型，必须指定三个或更多顶点。 多边形顶点必须按顺序列出
24 | DXF：剪裁边界顶点的 Y 值（在 OCS 中）（多个条目）


INSERT

ENTITIES 段
ENTITIES 段
INSERT

以下组码适用于插入（块参照）图元。 除此处所述的组码以外，另请参见常用图元组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

插入组码
组码 | 说明
100 | 子类标记 (AcDbBlockReference)
66 | 可变属性跟随标志（可选；默认值 = 0）；如果属性跟随标志的值为 1，则跟随插入的将是一系列属性图元，并以一个 seqend 图元终止
2 | 块名
10 | 插入点（在 OCS 中） DXF：X 值；APP：三维点
20, 30 | DXF：插入点的 Y 值和 Z 值（在 OCS 中）
41 | X 缩放比例（可选；默认值 = 1）
42 | Y 缩放比例（可选；默认值 = 1）
43 | Z 缩放比例（可选；默认值 = 1）
50 | 旋转角度（可选；默认值 = 0）
70 | 列计数（可选；默认值 = 1）
71 | 行计数（可选；默认值 = 1）
44 | 列间距（可选；默认值 = 0）
45 | 行间距（可选；默认值 = 0）
210 | 拉伸方向（可选；默认值 = 0, 0, 1） DXF：X 值；APP：三维矢量
220, 230 | DXF：拉伸方向的 Y 值和 Z 值（可选）


LEADER

ENTITIES 段
ENTITIES 段
LEADER

以下组码适用于引线图元。 除此处所述的组码以外，另请参见常用图元组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

引线组码
组码 | 说明
100 | 子类标记 (AcDbLeader)
3 | 标注样式名
71 | 箭头标志：0 = 禁用；1 = 启用
72 | 引线路径类型：0 = 直线段；1 = 样条曲线
73 | 引线创建标志（默认值 = 3）： 0 = 使用文字注释创建 1 = 使用公差注释创建 2 = 使用块参照注释创建 3 = 不使用任何注释创建
74 | 钩线方向标志： 0 = 钩线（或样条曲线引线的切线端）与水平矢量的方向相反 1 = 钩线（或样条曲线引线的切线端）与水平矢量的方向相同（参见代码 75）
75 | 钩线标志：0 = 无钩线；1 = 有钩线
40 | 文字注释高度
41 | 文字注释宽度
76 | 引线顶点数（如果为 OPEN，则忽略）
10 | 顶点坐标（每个顶点一个条目） DXF：X 值；APP：三维点
20, 30 | DXF：顶点坐标的 Y 值和 Z 值
77 | 引线的 DIMCLRD = 随块时使用的颜色
340 | 相关注释的硬参照（多行文字、公差或插入图元）
210 | 法向矢量 DXF：X 值；APP：三维矢量
220, 230 | DXF：法向矢量的 Y 值和 Z 值
211 | 引线的“水平”方向 DXF：X 值；APP：三维矢量
221, 231 | DXF：引线的“水平”方向的 Y 值和 Z 值
212 | 上一个引线顶点距块参照插入点的偏移 DXF：X 值；APP：三维矢量
222, 232 | DXF：偏移的 Y 值和 Z 值
213 | 上一个引线定点距注释位置点的偏移 DXF：X 值；APP：三维矢量
223, 233 | DXF：偏移的 Y 值和 Z 值

如果对引线图元应用了标注替代，则为属于应用程序 ID“ACAD”的扩展数据，后面该引线图元。 请参见标注样式替代。


LIGHT

ENTITIES 段
ENTITIES 段
LIGHT

以下组码适用于光源图元。 除此处所述的组码以外，另请参见常用图元组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

光源组码
组码 | 说明
100 | 子类标记 (AcDbLight)
90 | 版本号
1 | 光源名称
70 | 光源类型（平行光 = 1；点光源 = 2；聚光灯 = 3）
290 | 状态
291 | 打印轮廓
40 | 强度
10 | 光源位置 DXF：X 值；APP：三维点
20, 30 | DXF：光源位置的 X、 Y 和 Z 值
11 | 目标位置 DXF：X 值；APP：三维点
21, 31 | DXF：目标位置的 X、 Y 和 Z 值
72 | 衰减类型 0 = 无 1 = 线性反比 2 = 平方反比
292 | 使用衰减界限
41 | 衰减起始界限
42 | 衰减结束界限
50 | 聚光角角度
51 | 照射角角度
293 | 投射阴影
73 | 阴影类型 0 = 光线跟踪阴影 1 = 阴影贴图
91 | 阴影贴图尺寸
280 | 阴影贴图柔和度


LINE

ENTITIES 段
ENTITIES 段
LINE

以下组码适用于直线图元。 除此处所述的组码以外，另请参见常用图元组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

直线组码
组码 | 说明
100 | 子类标记 (AcDbLine)
39 | 厚度（可选；默认值 = 0）
10 | 起点（在 WCS 中） DXF：X 值；APP：三维点
20, 30 | DXF：起点的 Y 值和 Z 值（在 WCS 中）
11 | 端点（在 WCS 中） DXF：X 值；APP：三维点
21, 31 | DXF：端点的 Y 值和 Z 值（在 WCS 中）
210 | 拉伸方向（可选；默认值 = 0, 0, 1） DXF：X 值；APP：三维矢量
220, 230 | DXF：拉伸方向的 Y 值和 Z 值（可选）


LWPOLYLINE

ENTITIES 段
ENTITIES 段
LWPOLYLINE

以下组码适用于优化多段线图元。 除此处所述的组码以外，另请参见常用图元组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

优化多段线组码
组码 | 说明
100 | 子类标记 (AcDbPolyline)
90 | 顶点数
70 | 多段线标志（按位编码）；默认值为 0： 1 = 关闭；128 = Plinegen
43 | 固定宽度（可选；默认值 = 0）。 如果设置为可变宽度（代码 40 和/或 41），则不使用
38 | 标高（可选；默认值 = 0）
39 | 厚度（可选；默认值 = 0）
10 | 顶点坐标（在 OCS 中），多个条目；每个顶点一个条目 DXF：X 值；APP：二维点
20 | DXF：顶点坐标的 Y 值（在 OCS 中），多个条目；每个顶点一个条目
40 | 起点宽度（多个条目；每个顶点一个条目）（可选；默认值 = 0；多个条目）。 如果设置为固定宽度（代码 43），则不使用
41 | 端点宽度（多个条目；每个顶点一个条目）（可选；默认值 = 0；多个条目）。 如果设置为固定宽度（代码 43），则不使用
42 | 凸度（多个条目；每个顶点一个条目）（可选；默认值 = 0）
210 | 拉伸方向（可选；默认值 = 0, 0, 1） DXF：X 值；APP：三维矢量
220, 230 | DXF：拉伸方向的 Y 值和 Z 值（可选）


MLINE

ENTITIES 段
ENTITIES 段
MLINE

以下组码适用于多线图元。 除此处所述的组码以外，另请参见常用图元组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

多线组码
组码 | 说明
100 | 子类标记 (AcDbMline)
2 | 最大长度为 32 个字符的字符串。 该多线使用的样式名。 MLINESTYLE 词典中必须存在此样式的条目。 如果不同时更新 MLINESTYLE 词典中的相关条目，则不要修改该字段。
340 | MLINESTYLE 对象的指针句柄/ID
40 | 比例因子
70 | 对正：0 = 上；1 = 无；2 = 下
71 | 标志（按位编码值）： 1 = 至少有一个顶点（代码 72 大于 0） 2 = 关闭 4 = 禁止起点封口 8 = 禁止端点封口
72 | 顶点数
73 | MLINESTYLE 定义中的元素数
10 | 起点（在 WCS 中） DXF：X 值；APP：三维点
20, 30 | DXF：起点的 Y 值和 Z 值（在 WCS 中）
210 | 拉伸方向（可选；默认值 = 0, 0, 1） DXF：X 值；APP：三维矢量
220, 230 | DXF：拉伸方向的 Y 值和 Z 值（可选）
11 | 顶点坐标（多个条目；每个顶点一个条目）DXF：X 值；APP：三维点
21, 31 | DXF：顶点坐标的 Y 值和 Z 值
12 | 从该顶点开始的线段的方向矢量（多个条目；每个顶点一个条目） DXF：X 值；APP：三维矢量
22, 32 | DXF：从此顶点开始的线段的方向矢量的 Y 值和 Z 值
13 | 此顶点处的斜接方向矢量（多个条目；每个顶点一个条目） DXF：X 值；APP：三维矢量
23, 33 | DXF：斜接方向矢量的 Y 值和 Z 值
74 | 该元素的参数数目（对线段中的每个元素重复）
41 | 元素参数（根据上一个代码 74 重复）
75 | 该元素的区域填充参数的数目（对线段中的每个元素重复）
42 | 区域填充参数（根据前一个代码 75 重复）

参数化组码 41 是一个实数值列表，其中的每个组码 41 对应一个实数值。 该列表可能包含零个或更多项目。 第一个组码 41 值是沿斜接矢量从线段顶点到直线元素的路径与斜接矢量交点的距离。 第二个组码 41 值是沿直线元素的路径从第一个组码 41 定义的点到直线元素的实际起点的距离。 第三个组码 41 值是从直线元素的起点到直线元素中第一个打断（或剪切）的距离。 连续组码 41 值继续列出该多线段中的直线元素的起点和端点。 线型不影响组 41 列表。

参数化组码 42 也是一个实数值列表。 它与参数化组码 41 类似，说明了该多线段填充区域的参数化。 这些值的含义与 41 参数相同，将其作为一个整体来表示多线段中的所有直线元素时，可定义多线段填充区域的边界。

组码 42 机制的一个典型用法是：当未填充多线与填充多线交叉时，使用编辑多线使填充多线在交叉区域显示为未填充。 这将导致受影响的多线段的每个直线元素有两个组 42：一个表示填充停止，一个表示填充开始。

MLINE 图元和 MLINESTYLE 对象中的 2 组码是冗余字段。 虽然可以安全地读取这些组并使用它们的值，但是在任何情况下都不应修改这些组码。 要修改的正确字段是：

多线

同一个对象中的 340 组，表示正确的 MLINESTYLE 对象。

多线样式

MLINESTYLE 词典中的 3 组值，位于具有当前多线样式的句柄或图元名的 350 组之前。


MTEXT

ENTITIES 段
ENTITIES 段
MTEXT

以下组码适用于多行文字图元。 除此处所述的组码以外，另请参见常用图元组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

多行文字组码
组码 | 说明
100 | 子类标记 (AcDbMText)
10 | 插入点 DXF：X 值；APP：三维点
20, 30 | DXF：插入点的 Y 值和 Z 值
40 | 标称（初始）文字高度
41 | 参照矩形宽度
71 | 附着点： 1 = 左上；2 = 中上；3 = 右上 4 = 左中；5 = 正中；6 = 右中 7 = 左下；8 = 中下；9 = 右下
72 | 图形方向： 1 = 从左到右 3 = 从上到下 5 = 随样式（从相关文字样式继承走向）
1 | 字符串。 如果字符串长度小于 250 个字符，所有字符均出现在组 1 中。 如果字符串长度大于 250 个字符，该字符串将分成长度为 250 个字符的数据块，并显示在一个或多个组 3 代码中。 如果使用组 3 代码，最后一个组将是组 1 并且字符数少于 250 个
3 | 附加文字（始终在长度为 250 个字符的数据块中）（可选）
7 | 文字样式名（如果未提供，则为“标准”）（可选）
210 | 拉伸方向（可选；默认值 = 0, 0, 1） DXF：X 值；APP：三维矢量
220, 230 | DXF：拉伸方向的 Y 值和 Z 值（可选）
11 | X 轴方向矢量（在 WCS 中） DXF：X 值；APP：三维矢量 将作为 DXF 输入传递的组码 50（以弧度为单位的旋转角）转换为相等的方向矢量（如果同时传递代码 50 和代码 11、21、31，则对最后一个代码进行转换）。 这是从文字对象转换的一种简便方法。
21, 31 | DXF：X 轴方向矢量的 Y 值和 Z 值（在 WCS 中）
42 | 构成多行文字图元的字符的水平宽度。 该值始终等于或小于组码 41 的值（只读，如果提供则忽略）
43 | 多行文字图元的垂直高度（只读，如果提供则忽略）
50 | 以弧度为单位的旋转角度
73 | 多行文字的行距样式（可选）： 1= 至少（将替代为较高的字符） 2 = 精确（将不替代为较高的字符）
44 | 多行文字的行距比例（可选）： 要应用的行距的默认百分比（五分之三）。 有效值的范围从 0.25 到 4.00
90 | 背景填充设置： 0 = 背景填充关 1 = 使用背景填充颜色 2 = 使用图形窗口颜色作为背景填充颜色
63 | 背景色（颜色索引编号）
420-429 | 背景色（RGB 颜色）
430-439 | 背景色（颜色名）
45 | 填充框大小（可选）： 确定文字周围的边框大小。
63 | 背景填充颜色（可选）： 组码 90 为 1 时要用于背景填充的颜色。
441 | 背景填充颜色的透明度（未实现）

多行文字图元后面可能会跟随应用程序 ID 为“DCO15”的扩展数据。 它包含与 dbConnect 功能有关的信息。


OLEFRAME

ENTITIES 段
ENTITIES 段
OLEFRAME

以下组码适用于 oleframe 图元。 除此处所述的组码以外，另请参见常用图元组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

Oleframe 组码
组码 | 说明
100 | 子类标记 (AcDbOleFrame)
70 | OLE 版本号
90 | 二进制数据的长度
310 | 二进制数据（多行）
1 | OLE 数据的结束（字符串“OLE”）


OLE2FRAME

ENTITIES 段
ENTITIES 段
OLE2FRAME

以下组码适用于 ole2frame 图元。 该信息是只读信息。 这些值在执行 OPEN 时将被忽略，因为它们是 OLE 二进制对象的一部分，并通过访问功能获得。 除此处所述的组码以外，另请参见常用图元组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

Ole2frame 组码
组码 | 说明
100 | 子类标记 (AcDbOle2Frame)
70 | OLE 版本号
3 | 二进制数据的长度
10 | 左上角 (WCS) DXF：X 值；APP：三维点
20, 30 | DXF：左上角的 Y 值和 Z 值（在 WCS 中）
11 | 右下角 (WCS) DXF：X 值；APP：三维点
21, 31 | DXF：右下角的 Y 值和 Z 值（在 WCS 中）
71 | OLE 对象类型，1 = 链接；2 = 嵌入；3 = 静态
72 | 平铺模式描述符： 0 = 对象驻留在模型空间中 1 = 对象驻留在图纸空间中
90 | 二进制数据的长度
310 | 二进制数据（多行）
1 | OLE 数据的结束（字符串“OLE”）

DXF 的输出示例：

    OLE2FRAME
      5
    2D
    100
    AcDbEntity
     67
         1
      8
    0
    100
    AcDbOle2Frame
     70
         2
      3
    Paintbrush Picture
     10
    4.43116
     20
    5.665992
     30
    0.0
     11
    6.4188
     21
    4.244939
     31
    0.0
     71
         2
     72
         1
     90
        23680
    310 0155764BD60082B91140114B08C8F9A916400000000000000000506DC0D0D9AC

    310

    1940114B08C8F9A916400000000000000000506DC0D0D9AC194002303E5CD1FA

    310

    10400000000000000000764BD60082B9114002303E5CD1FA1040000000000000

    ...

    ...

AutoLISP entnext 函数输出示例：

命令：(setq e (entget e3))

    ((-1 . <Entity name: 7d50428>) (0 . "OLE2FRAME") (5 . "2D")

    (100 . "AcDbEntity") (67 . 1) (8 . "0") (100 . "AcDbOle2Frame")

    (70 . 2) (3 "Paintbrush Picture") (10 4.43116 5.66599 0.0)

    (11 6.4188 4.24494 0.0) (71 . 2) (72 . 1))


POINT

ENTITIES 段
ENTITIES 段
POINT

以下组码适用于点图元。 除此处所述的组码以外，另请参见常用图元组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

点组码
组码 | 说明
100 | 子类标记 (AcDbPoint)
10 | 点位置（在 WCS 中） DXF：X 值；APP：三维点
20, 30 | DXF：点位置的 Y 值和 Z 值（在 WCS 中）
39 | 厚度（可选；默认值 = 0）
210 | 拉伸方向（可选；默认值 = 0, 0, 1） DXF：X 值；APP：三维矢量
220, 230 | DXF：拉伸方向的 Y 值和 Z 值（可选）
50 | 绘制点时所使用的 UCS 的 X 轴的角度（可选；默认值 = 0）；当 PDMODE 非零时使用


POLYLINE

ENTITIES 段
ENTITIES 段
POLYLINE

以下组码适用于多段线图元。 除此处所述的组码以外，另请参见常用图元组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

多段线组码
组码 | 说明
100 | 子类标记（AcDb2dPolyline 或 AcDb3dPolyline）
66 | 已废弃；以前是“后跟图元标志”（可选；如果存在则忽略）
10 | DXF：始终为 0 APP：“虚拟”点；X 值和 Y 值始终为 0，Z 值是多段线的标高（二维时在 OCS 中，三维时在 WCS 中）
20 | DXF：始终为 0
30 | DXF：多段线的标高（二维时在 OCS 中，三维时在 WCS 中）
39 | 厚度（可选；默认值 = 0）
70 | 多段线标志（按位编码；默认值 = 0）： 1 = 这是一个闭合多段线（或按 M 方向闭合的多边形网格） 2 = 已添加曲线拟合顶点 4 = 已添加样条曲线拟合顶点 8 = 这是一条三维多段线 16 = 这是一个三维多边形网格 32 = 多边形网格以 N 方向闭合 64 = 多段线是一个多面网格 128 = 线型图案在该多段线顶点的周围连续生成
40 | 默认起点宽度（可选；默认值 = 0）
41 | 默认端点宽度（可选；默认值 = 0）
71 | 多边形网格 M 顶点计数（可选；默认值 = 0）
72 | 多边形网格 N 顶点计数（可选；默认值 = 0）
73 | 平滑曲面 M 密度（可选；默认值 = 0）
74 | 平滑曲面 N 密度（可选；默认值 = 0）
75 | 曲线和平滑曲面类型（可选；默认值 = 0）；整数代码，非按位编码： 0 = 不拟合平滑曲面 5 = 二次 B 样条曲面 6 = 三次 B 样条曲面 8 = Bezier 曲面
210 | 拉伸方向（可选；默认值 = 0, 0, 1） DXF：X 值；APP：三维矢量
220, 230 | DXF：拉伸方向的 Y 值和 Z 值（可选）

多段线图元后面将跟随应用程序 ID 为“AUTOCAD_POSTSCRIPT_FIGURE”的扩展数据。 它包含与 PostScript 图像和 PostScript 填充信息相关的信息。

本节内容包括：

  • 多面网格


多面网格

ENTITIES 段
ENTITIES 段
多面网格

多面网格在 DXF 中是由各种多段线图元来表示的。 多段线标题通过在多段线标志 (70) 组中显示 64 位编码来引入多面网格。 71 组指定网格中的顶点数，72 组指定面数。 尽管这些计数对于使用 PFACE 命令创建的所有网格都是正确的，但应用程序不必在这些字段中放置正确的值。 多段线标题之后是指定顶点坐标的一系列顶点图元，随后是组成网格的曲面。

AutoCAD 图元结构限制了给定面图元可以指定的顶点数。 可以将复杂的多边形分成一些三角形楔体来表示。 它们的边应为不可见，以防将此细化部分的可见内容绘制出来。 PFACE 命令自动执行此细化操作，但是当应用程序直接生成多面网格时，应用程序必须自行执行此操作。 在此细化处理中，每个面上的顶点数是关键参数。 PFACEVMAX 系统变量为应用程序提供每个面图元的顶点数。 该值为只读，设置为 4。

使用 PFACE 命令创建的多面网格始终是通过先使用所有顶点坐标图元，然后使用曲面定义图元的方法来生成的。 AutoCAD 中处理多面网格的代码要求按照此顺序进行。 生成 DXF 格式的多面网格的程序应先生成所有顶点，然后生成所有面。 而读取 DXF 格式多面网格的程序应忽略顶点和面的生成顺序。


RAY

ENTITIES 段
ENTITIES 段
RAY

以下组码适用于射线图元。 除此处所述的组码以外，另请参见常用图元组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

射线组码
组码 | 说明
100 | 子类标记 (AcDbRay)
10 | 起点（在 WCS 中） DXF：X 值；APP：三维点
20, 30 | DXF：起点的 Y 值和 Z 值（在 WCS 中）
11 | 单位方向矢量（在 WCS 中） DXF：X 值；APP：三维矢量
21, 31 | DXF：单位方向矢量的 Y 值和 Z 值（在 WCS 中）


REGION

ENTITIES 段
ENTITIES 段
REGION

以下组码适用于面域图元。 除此处所述的组码以外，另请参见常用图元组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

面域组码
组码 | 说明
100 | 子类标记 (AcDbModelerGeometry)
70 | 建模格式版本号（当前值 = 1）
1 | 所有权数据（多行，每行 < 255 个字符）
3 | 所有权数据的附加行（如果前一个组 1 的字符串长度大于 255 个字符）（可选）


SECTION

ENTITIES 段
ENTITIES 段
SECTION

以下组码适用于截面图元。 除此处所述的组码以外，另请参见常用图元组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

截面组码
组码 | 说明
100 | 子类标记 (AcDbSection)
90 | 截面状态
91 | 截面标志
1 | Name
10, 20, 30 | 垂直方向
40 | 顶部高度
41 | 底部高度
70 | 指示器透明度
63, 411 | 指示器颜色
92 | 顶点数
11, 21, 31 | 顶点（根据顶点数重复）
93 | 背面线顶点数
12, 22, 32 | 背面线顶点（根据背面线顶点数重复）
360 | 几何图形设置对象的硬指针 ID/句柄


SEQEND

ENTITIES 段
ENTITIES 段
SEQEND

以下组码适用于 seqend 图元。 除此处所述的组码以外，另请参见常用图元组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

Sequend 组码
组码 | 说明
-2 | APP：开始序列的图元的名称。 该图元标记多段线顶点的结束（顶点类型名），或具有属性（由插入图元中出现的非零 66 组表示）的插入图元的属性图元的结束（属性类型名）。 该代码不保存在 DXF 文件中。


SHAPE

ENTITIES 段
ENTITIES 段
SHAPE

以下组码适用于形图元。 除此处所述的组码以外，另请参见常用图元组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

形组码
组码 | 说明
100 | 子类标记 (AcDbShape)
39 | 厚度（可选；默认值 = 0）
10 | 插入点（在 WCS 中） DXF：X 值；APP：三维点
20, 30 | DXF：插入点的 Y 值和 Z 值（在 WCS 中）
40 | 大小
2 | 形名称
50 | 旋转角度（可选；默认值 = 0）
41 | X 相对缩放比例（可选；默认值 = 1）
51 | 倾斜角（可选；默认值 = 0）
210 | 拉伸方向（可选；默认值 = 0, 0, 1） DXF：X 值；APP：三维矢量
220, 230 | DXF：拉伸方向的 Y 值和 Z 值（可选）


SOLID

ENTITIES 段
ENTITIES 段
SOLID

以下组码适用于实体图元。 除此处所述的组码以外，另请参见常用图元组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

实体组码
组码 | 说明
100 | 子类标记 (AcDbTrace)
10 | 第一角点 DXF：X 值；APP：三维点
20, 30 | DXF：第一角点的 Y 值和 Z 值
11 | 第二角点 DXF：X 值；APP：三维点
21, 31 | DXF：第二角点的 Y 值和 Z 值
12 | 第三角点 DXF：X 值；APP：三维点
22, 32 | DXF：第三角点的 Y 值和 Z 值
13 | 第四角点。 如果只输入三个角点来定义 SOLID，则第四个角点坐标与第三个角点坐标相同。 DXF：X 值；APP：三维点
23, 33 | DXF：第四角点的 Y 值和 Z 值
39 | 厚度（可选；默认值 = 0）
210 | 拉伸方向（可选；默认值 = 0, 0, 1） DXF：X 值；APP：三维矢量
220, 230 | DXF：拉伸方向的 Y 值和 Z 值（可选）


SPLINE

ENTITIES 段
ENTITIES 段
SPLINE

以下组码适用于样条曲线图元。 除此处所述的组码以外，另请参见常用图元组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

样条曲线组码
组码 | 说明
100 | 子类标记 (AcDbSpline)
210 | 法向矢量（如果样条曲线为非平面型，则省略） DXF：X 值；APP：三维矢量
220, 230 | DXF：法向矢量的 Y 值和 Z 值（可选）
70 | 样条曲线标志（按位编码）： 1 = 闭合样条曲线 2 = 周期性样条曲线 4 = 有理样条曲线 8 = 平面 16 = 线性（同时还设置平面位）
71 | 样条曲线的阶数
72 | 节点数
73 | 控制点数
74 | 拟合点数（如果有）
42 | 节点公差（默认值 = 0.0000001）
43 | 控制点公差（默认值 = 0.0000001）
44 | 拟合公差（默认值 = 0.0000000001）
12 | 起点切向 — 可以省略（在 WCS 中） DXF：X 值；APP：三维点
22, 32 | DXF：起点切向的 Y 值和 Z 值 — 可以省略（在 WCS 中）
13 | 端点切向 — 可以省略（在 WCS 中） DXF：X 值；APP：三维点
23, 33 | DXF：端点切向的 Y 值和 Z 值 — 可以省略（在 WCS 中）
40 | 节点值（每个节点一个条目）
41 | 权值（如果不为 1）；对于多组对，如果均不为 1，则出现。
10 | 控制点（在 WCS 中）；每个控制点一个条目 DXF：X 值；APP：三维点
20, 30 | DXF：控制点的 Y 值和 Z 值（在 WCS 中）；每个控制点一个条目
11 | 拟合点（在 WCS 中）；每个拟合点一个条目 DXF：X 值；APP：三维点
21, 31 | DXF：拟合点的 Y 值和 Z 值（在 WCS 中）；每个拟合点一个条目


SUN

ENTITIES 段
ENTITIES 段
SUN

以下组码适用于太阳图元。 除此处所述的组码以外，另请参见常用图元组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

太阳组码
组码 | 说明
100 | 子类标记 (AcDbSun)
90 | 版本号
290 | 状态
63 | Color
40 | 强度
291 | 阴影
91 | 公历日期
92 | 时间（以午夜过后的秒数表示）
292 | 夏令时时间
70 | 阴影类型 0 = 光线跟踪阴影 1 = 阴影贴图
71 | 阴影贴图尺寸
280 | 阴影柔和度


SURFACE

ENTITIES 段
ENTITIES 段
SURFACE

曲面图元定义包括两部分，第一部分是所有曲面类型的通用组码，其后是特定于该曲面类型的代码。

常用曲面组码
组码 | 说明
100 | 子类标记 (AcDbModelerGeometry)
70 | 建模格式版本号（当前值 = 1）
1 | 所有权数据（多行，每行 < 255 个字符）
3 | 所有权数据的附加行（如果前一个组 1 的字符串长度大于 255 个字符）（可选）
100 | 子类标记 (AcDbSurface)
71 | U 素线数
72 | V 素线数

本节内容包括：

  • 拉伸曲面
  • 放样曲面
  • 旋转曲面
  • 扫掠曲面


拉伸曲面

ENTITIES 段
ENTITIES 段
拉伸曲面

以下组码适用于拉伸曲面。 除此处所述的组码以外，另请参见常用图元组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

拉伸曲面组码
组码 | 说明
100 | 子类标记 (AcDbExtrudedSurface)
90 | 类 ID
90 | 二进制数据大小
310 | 二进制数据
10, 20, 30 | 扫掠矢量
40 | 拉伸图元的转换矩阵（16 个实数；行主要格式；默认值 = 标识矩阵）
42 | 拔模斜度（以弧度为单位）
43 | 拔模起点距离
44 | 拔模终点距离
45 | 扭曲角度
48 | 比例因子
49 | 对齐角度（以弧度为单位）
46 | 扫掠图元的转换矩阵（16 个实数；行主要格式；默认值 = 标识矩阵）
47 | 路径图元的转换矩阵（16 个实数；行主要格式；默认值 = 标识矩阵）
290 | 实体标志
70 | 扫掠对齐选项 0 = 不对齐 1 = 将扫掠图元与路径对齐 2 = 将扫掠图元转换为路径 3 = 将路径转换为扫掠图元
292 | 对齐起点标志
293 | 倾斜标志
294 | 基点设置标志
295 | 已计算的扫掠图元转换标志
296 | 已计算的路径图元转换标志
11, 21, 31 | 用于控制扭曲的参照矢量


放样曲面

ENTITIES 段
ENTITIES 段
放样曲面

以下组码适用于放样曲面。 除此处所述的组码以外，另请参见常用图元组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

放样曲面组码
组码 | 说明
100 | 子类标记 (AcDbLoftedSurface)
40 | 放样图元的转换矩阵（16 个实数；行主要格式；默认值 = 标识矩阵）
 | 横截面的图元数据
 | 导向曲线的图元数据
 | 路径曲线的图元数据
70 | 平面法线放样类型
41 | 开始拔模斜度（以弧度为单位）
42 | 结束拔模斜度（以弧度为单位）
43 | 开始斜角幅值
44 | 结束斜角幅值
290 | 弧长参数化标志
291 | 不扭曲标志
292 | 对齐方向标志
293 | 创建简单曲面标志
294 | 创建闭合曲面标志
295 | 实体标志
296 | 创建直纹曲面标志
297 | 虚拟导向标志


旋转曲面

ENTITIES 段
ENTITIES 段
旋转曲面

以下组码适用于旋转曲面。 除此处所述的组码以外，另请参见常用图元组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

旋转曲面组码
组码 | 说明
100 | 子类标记 (AcDbRevolvedSurface)
90 | 旋转图元 ID
90 | 二进制数据大小
310 | 二进制数据
10, 20, 30 | 轴点
11, 21, 31 | 轴矢量
40 | 旋转角度（以弧度为单位）
41 | 起点角度（以弧度为单位）
42 | 旋转图元的转换矩阵（16 个实数；行主要格式；默认值 = 标识矩阵）
43 | 拔模斜度（以弧度为单位）
44 | 起点拔模距离
45 | 终点拔模距离
46 | 扭曲角度（以弧度为单位）
290 | 实体标志
291 | 接近轴标志


扫掠曲面

ENTITIES 段
ENTITIES 段
扫掠曲面

以下组码适用于扫掠曲面。 除此处所述的组码以外，另请参见常用图元组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

扫掠曲面组码
组码 | 说明
100 | 子类标记 (AcDbSweptSurface)
90 | 扫掠图元 ID
90 | 二进制数据大小
310 | 二进制数据
90 | 路径图元 ID
90 | 二进制数据大小
310 | 特性数据
40 | 扫掠图元的转换矩阵（16 个实数；行主要格式；默认值 = 标识矩阵）
41 | 路径图元的转换矩阵（16 个实数；行主要格式；默认值 = 标识矩阵）
42 | 拔模斜度（以弧度为单位）
43 | 拔模起点距离
44 | 拔模终点距离
45 | 扭曲角度
48 | 比例因子
49 | 对齐角度（以弧度为单位）
46 | 扫掠图元的转换矩阵（16 个实数；行主要格式；默认值 = 标识矩阵）
47 | 路径图元的转换矩阵（16 个实数；行主要格式；默认值 = 标识矩阵）
290 | 实体标志
70 | 扫掠对齐选项 0 = 不对齐 1 = 将扫掠图元与路径对齐 2 = 将扫掠图元转换为路径 3 = 将路径转换为扫掠图元
292 | 对齐起点标志
293 | 倾斜标志
294 | 基点设置标志
295 | 已计算的扫掠图元转换标志
296 | 已计算的路径图元转换标志
11, 21, 31 | 用于控制扭曲的参照矢量


TABLE

ENTITIES 段
ENTITIES 段
TABLE

以下组码适用于表图元。 除此处所述的组码以外，另请参见常用图元组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

表组码
组码 | 说明
0 | 图元名 (ACAD_TABLE)
5 | 图元句柄
330 | 所有者词典的软指针 ID
100 | 子类标记。 子类标记有三个，依次为：AcDbEntity、AcDbBlockReference、AcDbTable
92 | 代理图元图形中的字节数
310 | 代理图元图形的数据（多行；每行最多 256 个字符）
2 | 块名；无名块以 *T 值开始
10,20,30 | 插入点
342 | TABLESTYLE 对象的硬指针 ID
343 | 属主 BLOCK 记录的硬指针 ID
11,21,31 | 水平方向矢量
90 | 表值的标志（无符号整数）
91 | 行数
92 | 列数
93 | 替代的标志
94 | 边界颜色的替代的标志
95 | 边界线宽的替代的标志
96 | 边界可见性的替代的标志
141 | 行高；此值不断重复，每行 1 个值
142 | 列高；此值不断重复，每行 1 个值
171 | 单元类型；此值不断重复，每单元 1 个值： 1 = 文字类型 2 = 块类型
172 | 单元标志值；此值不断重复，每单元 1 个值
173 | 单元合并值；此值不断重复，每单元 1 个值
174 | 布尔标志指示是否为单元设置自动调整选项；此值不断重复，每单元 1 个值
175 | 单元边框宽度（仅适用于合并单元）；此值不断重复，每单元 1 个值
176 | 单元边框高度（适用于合并单元）；此值不断重复，每单元 1 个值
177 | 单元替代标志；此值不断重复，每单元 1 个值
178 | 虚拟边的标志值
145 | 旋转角度值（实数；适用于块类型单元和文字类型单元）
344 | FIELD 对象的硬指针 ID 此 ID 仅适用于文字类型单元。 如果单元中的文字包含一个或多个字段，则仅保存 FIELD 对象的 ID。 忽略文字字符串（组码 1 和 3）
1 | 单元中的文字字符串。 如果字符串长度小于 250 个字符，所有字符均显示在代码 1 中。 如果字符串长度大于 250 个字符，该字符串将分成长度为 250 个字符的数据块。 这些数据块将包含在一个或多个代码 3 代码中。 如果使用代码 3 代码，最后一个组将为代码 1 并且其长度小于 250 个字符。 此值仅适用于文字类型单元并不断重复，每单元 1 个值
3 | 单元中的文字字符串，在长度为 250 个字符的数据块中；可选。 此值仅适用于文字类型单元并不断重复，每单元 1 个值
340 | 块表记录的硬指针 ID。 此值仅适用于块类型单元并不断重复，每单元 1 个值
144 | 块的缩放比例（实数）。 此值仅适用于块类型单元并不断重复，每单元 1 个值
179 | 块表记录中的属性定义数（仅适用于块类型单元）
331 | 块表记录中属性定义的软指针 ID，由组码 179 参照（仅适用于块类型单元）。 每出现一个属性定义此值便重复一次
300 | 属性定义的文字字符串值，每出现一个属性定义便重复一次并仅适用于块类型单元
7 | 文字样式名（字符串）；应用于单元级别的替代
140 | 文字高度值；应用于单元级别的替代
170 | 单元对齐值；应用于单元级别的替代
64 | 单元内容的颜色值；应用于单元级别的替代
63 | 单元内容的背景（填充）色的值；应用于单元级别的替代
69 | 单元上边框的真彩色值；应用于单元级别的替代
65 | 单元右边框的真彩色值；应用于单元级别的替代
66 | 单元下边框的真彩色值；应用于单元级别的替代
68 | 单元左边框的真彩色值；应用于单元级别的替代
279 | 单元上边框的线宽；应用于单元级别的替代
275 | 单元右边框的线宽；应用于单元级别的替代
276 | 单元下边框的线宽；应用于单元级别的替代
278 | 单元左边框的线宽；应用于单元级别的替代
283 | 是否打开填充色的布尔标志；应用于单元级别的替代
289 | 单元上边框可见性的布尔标志；应用于单元级别的替代
285 | 单元右边框可见性的布尔标志；应用于单元级别的替代
286 | 单元下边框可见性的布尔标志；应用于单元级别的替代
288 | 单元左边框可见性的布尔标志；应用于单元级别的替代
70 | 流向；应用于表图元级别的替代
40 | 水平单元边距；应用于表图元级别的替代
41 | 垂直单元边距；应用于表图元级别的替代
280 | 是否隐藏标题的标志；应用于表图元级别的替代
281 | 是否隐藏标题行的标志；应用于表图元级别的替代
7 | 文字样式名（字符串）；应用于表图元级别的替代。 每个单元类型可能有一个条目
140 | 文字高度（实数）；应用于表图元级别的替代。 每个单元类型可能有一个条目
170 | 单元对齐（整数）；应用于表图元级别的替代。 每个单元类型可能有一个条目
63 | 表的垂直左边框或单元背景的颜色值；应用于表图元级别的替代。 每个单元类型可能有一个条目
64 | 表的水平上边框或单元内容的颜色值；应用于表图元级别的替代。 每个单元类型可能有一个条目
65 | 水平内部边框线的颜色值；应用于表图元级别的替代
66 | 水平下边框线的颜色值；应用于表图元级别的替代
68 | 垂直内部边框线的颜色值；应用于表图元级别的替代
69 | 垂直右边框线的颜色值；应用于表图元级别的替代
283 | 是否启用背景色的标志（默认值 = 0）；应用于表图元级别的替代。 每个单元类型可能有一个条目： 0 = 禁用 1 = 启用
274-279 | 每个单元边框类型的线宽（默认值 = kLnWtByBlock）；应用于表图元级别的替代。 每个单元类型可能有一个组
284-289 | 每个单元边框类型的可见性标志（默认值 = 1）；应用于表图元级别的替代。 每个单元类型可能有一个组： 0 = 不可见 1 = 可见

组码 178 是一条虚拟边的标志值。 两个单元共享一条栅格线时使用虚拟边。 例如，如果一个表包含一行和两列并包含单元 A 和单元 B，则中心栅格线包含单元 A 的右边和单元 B 的左边。一条边为实边，另一个条边为虚边。 虚边指向实边；两条边都具有一组相同的特性（其中包括颜色、线宽和可见性）。


TEXT

ENTITIES 段
ENTITIES 段
TEXT

以下组码适用于文字图元。 除此处所述的组码以外，另请参见常用图元组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

文字组码
组码 | 说明
100 | 子类标记 (AcDbText)
39 | 厚度（可选；默认值 = 0）
10 | 第一对齐点（在 OCS 中） DXF：X 值；APP：三维点
20, 30 | DXF：第一对齐点的 Y 值和 Z 值（在 OCS 中）
40 | 文字高度
1 | 默认值（字符串本身）
50 | 文字旋转角度（可选；默认值 = 0）
41 | 相对 X 比例因子 — 宽度（可选；默认值 = 1） 使用拟合类型的文字时，该值也将进行调整。
51 | 倾斜角（可选；默认值 = 0）
7 | 文字样式名（可选；默认值 = 标准）
71 | 文字生成标志（可选；默认值 = 0）： 2 = 文字反向（在 X 轴方向镜像） 4 = 文字倒置（在 Y 轴方向镜像)
72 | 文字水平对正类型（可选；默认值 = 0）整数代码（非按位编码） 0 = 左对正；1 = 居中对正；2 = 右对正 3 = 对齐（如果垂直对齐 = 0） 4 = 中间（如果垂直对齐 = 0） 5 = 拟合（如果垂直对齐 = 0） 详细信息请参见组 72 和 73 整数代码表
11 | 第二对齐点（在 OCS 中）（可选） DXF：X 值；APP：三维点 只有当 72 或 73 组的值非零时，该值才有意义（如果对正不是基线对正/左对正）
21, 31 | DXF：第二对齐点的 Y 值和 Z 值（在 OCS 中）（可选）
210 | 拉伸方向（可选；默认值 = 0, 0, 1） DXF：X 值；APP：三维矢量
220, 230 | DXF：拉伸方向的 Y 值和 Z 值（可选）
100 | 子类标记 (AcDbText)
73 | 文字垂直对正类型（可选；默认值 = 0）整数代码（不是按位编码） 0 = 基线对正；1 = 底端对正；2 = 居中对正；3 = 顶端对正 详细信息请参见组 72 和 73 整数代码表

下表详细说明了组码 72（水平对齐）和组码 73（垂直对齐）。

组 72 和 73 整数代码
组 73 | 组 72 0 | 1 | 2 | 3 | 4 | 5
3（顶端对正） | 左上 | 中上 | 右上 |  |  |
2（居中对正） | 左中 | 正中 | 右中 |  |  |
1（底端对正） | 左下 | 中下 | 右下 |  |  |
0（基线对正） | 左 | 中心 | 右 | 对齐 | 中间 | 拟合

如果组 72 和/或 73 的值非零，则第一对齐点的值将被忽略，AutoCAD 将根据第二对齐点和文字字符串的长度和高度（应用文字样式之后）计算新值。 如果组 72 和 73 的值为零或缺失，第二对齐点将没有意义。


TOLERANCE

ENTITIES 段
ENTITIES 段
TOLERANCE

以下组码适用于公差图元。 除此处所述的组码以外，另请参见常用图元组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

公差组码
组码 | 说明
100 | 子类标记 (AcDbFcf)
3 | 标注样式名
10 | 插入点（在 WCS 中） DXF：X 值；APP：三维点
20, 30 | DXF：插入点的 Y 值和 Z 值（在 WCS 中）
1 | 表示公差的形象化表示的字符串
210 | 拉伸方向（可选；默认值 = 0, 0, 1） DXF：X 值；APP：三维矢量
220, 230 | DXF：拉伸方向的 Y 值和 Z 值（可选）
11 | X 轴方向矢量（在 WCS 中） DXF：X 值；APP：三维矢量
21, 31 | DXF：X 轴方向矢量的 Y 值和 Z 值（在 WCS 中）


TRACE

ENTITIES 段
ENTITIES 段
TRACE

以下组码适用于跟踪图元。 除此处所述的组码以外，另请参见常用图元组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

跟踪组码
组码 | 说明
100 | 子类标记 (AcDbTrace)
10 | 第一角点（在 OCS 中） DXF：X 值；APP：三维点
20, 30 | DXF：第一角点的 Y 值和 Z 值（在 OCS 中）
11 | 第二角点（在 OCS 中） DXF：X 值；APP：三维点
21, 31 | DXF：第二角点的 Y 值和 Z 值（在 OCS 中）
12 | 第三角点（在 OCS 中） DXF：X 值；APP：三维点
22, 32 | DXF：第三角点的 Y 值和 Z 值（在 OCS 中）
13 | 第四角点（在 OCS 中） DXF：X 值；APP：三维点
23, 33 | DXF：第四角点的 Y 值和 Z 值（在 OCS 中）
39 | 厚度（可选；默认值 = 0）
210 | 拉伸方向（可选；默认值 = 0, 0, 1） DXF：X 值；APP：三维矢量
220, 230 | DXF：拉伸方向的 Y 值和 Z 值（可选）


UNDERLAY

ENTITIES 段
ENTITIES 段
UNDERLAY

以下组码适用于参考底图。 除此处所述的组码以外，另请参见常用图元组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

参考底图组码
组码 | 说明
100 | 子类标记 (AcDbUnderlayReference)
340 | AcDbUnderlayDefinition 对象的 ID
10,20,30 | 参考底图插入点的 X、Y 和 Z 坐标。 这些是 OCS/ECS 坐标
41,42,43 | DXF：X、Y 和 Z 比例因子
50 | 旋转角度（在 OCS/ECS 中。 从坐标系 X 轴开始绕 Z 轴逆时针旋转）
210,220,230 | 法向矢量（在 WCS 中）
280 | 标志 1 = 剪裁处于打开状态 2 = 参考底图处于打开状态 4 = 单色 8 = 调整背景
281 | 对比度（值介于 20 和 100 之间）
282 | 褪色度（值介于 0 和 80 之间）
11, 21 | 重复：OCS/ECS 中的二维点。 如果只有两个二维点，则它们就是剪裁矩形的左下角点和右上角点。 如果多于两个二维点，则它们就是剪裁多边形的顶点


VERTEX

ENTITIES 段
ENTITIES 段
VERTEX

以下组码适用于顶点图元。 除此处所述的组码以外，另请参见常用图元组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

顶点组码
组码 | 说明
100 | 子类标记 (AcDbVertex)
100 | 子类标记（AcDb2dVertex 或 AcDb3dPolylineVertex）
10 | 位置点（二维时在 OCS 中，三维时在 WCS 中） DXF：X 值；APP：三维点
20, 30 | DXF：位置点的 Y 值和 Z 值（二维时在 OCS 中，三维时在 WCS 中）
40 | 起点宽度（可选；默认值为 0）
41 | 端点宽度（可选；默认值为 0）
42 | 凸度（可选；默认值为 0）。 凸度是四分之一弧线段角的切线，如果从起点到终点，弧为顺时针，则为负数。 凸度为 0 表示一条直线段，凸度为 1 表示一个半圆
70 | 顶点标志： 1 = 由曲线拟合创建的额外顶点 2 = 为该顶点定义的曲线拟合切线。 如果曲线拟合切线方向为 0，则在 DXF 输出时被省略，但是如果设值了该位，则不能省略 4 = 未使用 8 = 由样条曲线拟合创建的样条曲线顶点 16 = 样条曲线框架控制点 32 = 三维多段线顶点 64 = 三维多边形网格 128 = 多面网格顶点
50 | 曲线拟合切线方向
71 | 多面网格顶点索引（可选；非零时出现）
72 | 多面网格顶点索引（可选；非零时出现）
73 | 多面网格顶点索引（可选；非零时出现）
74 | 多面网格顶点索引（可选；非零时出现）

多面网格每个顶点的顶点标志均设置为 128 位。 如果图元提供网格顶点的坐标，则同时设置它的 64 位，10、20、30 组给出顶点坐标。 顶点索引值按顶点图元在多段线中出现的顺序确定，第一个值编号为 1。

如果顶点定义网格的一个面，则它的顶点标志组设置为 128 位，而不是 64 位。 这种情况下，曲面图元的 10、20、30（位置）组不相关，并且在 DXF 文件中始终写为 0。 定义网格的顶点索引由 71、72、73 和 74 组码给出，其值指定了先前由索引定义的某一顶点。 如果索引为负，则从该顶点开始的边不可见。 第一个 0 顶点标记面顶点的结束。


VIEWPORT

ENTITIES 段
ENTITIES 段
VIEWPORT

以下组码适用于视口图元。 除此处所述的组码以外，另请参见常用图元组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

视口组码
组码 | 说明
100 | 子类标记 (AcDbViewport)
10 | 中心点（在 WCS 中） DXF：X 值；APP：三维点
20, 30 | DXF：中心点的 Y 值和 Z 值（在 WCS 中）
40 | 宽度，以图纸空间单位为测量单位
41 | 高度，以图纸空间单位为测量单位
68 | 视口状态字段： -1 = 开，但是在屏幕上完全不可见，或者因为当前已超出 $MAXACTVP 计数，而成为一个不活动的视口。 0 = 关 <正值> = 开并处于活动状态。 该值表示视口堆栈的次序，其中 1 是活动视口，下一个是 2，依此类推
69 | 视口 ID
12 | 视口中心点（在 DCS 中） DXF：X 值；APP：二维点
22 | DXF：视口中心点的 Y 值（在 DCS 中）
13 | 捕捉基点 DXF：X 值；APP：二维点
23 | DXF：捕捉基点的 Y 值
14 | 捕捉间距 DXF：X 值；APP：二维点
24 | DXF：捕捉间距的 Y 值
15 | 栅格间距 DXF：X 值；APP：二维点
25 | DXF：栅格间距的 Y 值
16 | 视图方向矢量（在 WCS 中） DXF：X 值；APP：三维矢量
26, 36 | DXF：观察方向矢量的 Y 值和 Z 值（在 WCS 中）
17 | 观察目标点（在 WCS 中） DXF：X 值；APP：三维矢量
27, 37 | DXF：观察目标点的 Y 值和 Z 值（在 WCS 中）
42 | 透视焦距
43 | 前向剪裁平面的 Z 值
44 | 后向剪裁平面的 Z 值
45 | 视图高度（以模型空间单位为测量单位）
50 | 捕捉角度
51 | 视图扭转角度
72 | 圆的缩放百分比
331 | 冻结图层对象 ID/句柄（可能存在多个条目）（可选）
90 | 视口状态按位编码标志： 1 (0x1) = 启用透视模式 2 (0x2) = 启用前向剪裁 4 (0x4) = 启用后向剪裁 8 (0x8) = 启用 UCS 跟随 16 (0x10) = 如果不可见则启用前向剪裁 32 (0x20) = 启用 UCS 图标可见性 64 (0x40) = 启用 UCS 图标（位于原点） 128 (0x80) = 启用快速缩放 256 (0x100) = 启用捕捉模式 512 (0x200) = 启用栅格模式 1024 (0x400) = 启用等轴测捕捉样式 2048 (0x800) = 启用消隐出图模式 4096 (0x1000) = kIsoPairTop。 如果设置了 kIsoPairTop，但未设置 kIsoPairRight，则启用 isopair top。 如果同时设置了 kIsoPairTop 和 kIsoPairRight，则启用 isopair left 8192 (0x2000) = kIsoPairRight。 如果设置了 kIsoPairRight，但未设置 kIsoPairTop，则启用 isopair right 16384 (0x4000) = 启用视口缩放锁定 32768 (0x8000) = 当前始终启用 65536 (0x10000) = 启用非矩形剪裁 131072 (0x20000) = 关闭视口
340 | 用作视口剪裁边界的图元的硬指针 ID/句柄（仅当视口为非矩形时才出现）
1 | 指定给该视口的打印样式表名
281 | 渲染模式： 0 = 二维优化（传统二维） 1 = 线框图 2 = 隐藏线 3 = 平面着色 4 = 体着色 5 = 带线框平面着色 6 = 带线框体着色 所有非二维优化渲染模式均使用新三维图形管道。 这些值直接与 SHADEMODE 命令和 AcDbAbstractViewTableRecord::RenderMode 枚举相对应
71 | 每个视口标志的 UCS： 0 = 该视口处于活动状态时，UCS 不会改变。 1 = 该视口存储自己的 UCS，只要视口被激活，UCS 将变成当前 UCS。
74 | 在 UCS 原点标志处显示 UCS 图标： 控制 UCS 图标表示视口 UCS 还是当前 UCS（如果 UCSVP 为 1 且视口不活动，则两者存在差别）。 但是，该字段当前被忽略，且图标始终表示视口 UCS
110 | UCS 原点 DXF：X 值；APP：三维点
120, 130 | DXF：UCS 原点的 Y 值和 Z 值
111 | UCS X 轴 DXF：X 值；APP：三维矢量
121, 131 | DXF：UCS X 轴的 Y 值和 Z 值
112 | UCS Y 轴 DXF：X 值；APP：三维矢量
122, 132 | DXF：UCS Y 轴的 Y 值和 Z 值
345 | 如果 UCS 是命名 UCS，则为 AcDbUCSTableRecord 的 ID/句柄。 如果不存在，则为未命名 UCS
346 | 如果 UCS 为正交 UCS，则为基准 UCS 的 AcDbUCSTableRecord 的 ID/句柄（代码 79 非零）。 如果不存在，且代码 79 非零，则将基准 UCS 作为 WORLD
79 | UCS 的正交类型： 0 = UCS 为非正交视图 1 = 俯视图；2 = 仰视图 3 = 主视图；4 = 后视图 5 = 左视图；6 = 右视图
146 | 标高
170 | 着色打印模式： 0 = 按显示 1 = 线框图 2 = 隐藏 3 = 渲染
61 | 主栅格线与次栅格线比较的频率
332 | 背景 ID/句柄（可选）
333 | 着色打印 ID/句柄（可选）
348 | 视觉样式 ID/句柄（可选）
292 | 默认光源标志。 没有指定用户光源时处于打开状态。
282 | 默认光源类型： 0 = 一条平行光 1 = 两条平行光
141 | 视图亮度
142 | 视图对比度
63,421,431 | 环境光颜色。 只有不是黑色时才为白色。
361 | 阳光 ID/句柄（可选）

注意 ZOOM XP 比例的计算公式如下：group_41/group_45（或 pspace_height/mspace_height）。


WIPEOUT

ENTITIES 段
ENTITIES 段
WIPEOUT

以下组码适用于擦除图元。 除此处所述的组码以外，另请参见常用图元组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

擦除组码
组码 | 说明
100 | 子类标记 (AcDbRasterImage)
90 | 类版本
10 | 插入点（在 WCS 中） DXF：X 值；APP：三维点
20, 30 | DXF：插入点的 Y 值和 Z 值（在 WCS 中）
11 | 单像素的 U 矢量（沿图像可见底部的点，从插入点开始）（在 WCS 中） DXF：X 值；APP：三维点
21, 31 | DXF：U 矢量的 Y 值和 Z 值（在 WCS 中）
12 | 单像素的 V 矢量（沿图像可见左侧的点，从插入点开始）（在 WCS 中） DXF：X 值；APP：三维点
22, 32 | DXF：V 矢量的 Y 值和 Z 值（在 WCS 中）
13 | 以像素为单位的图像尺寸 DXF：U 值；APP：二维点（U 值和 V 值）
23 | DXF：图像尺寸的 V 值（以像素为单位）
340 | imagedef 对象的硬参照
70 | 图像显示特性： 1 = 显示图像 2 = 当与屏幕不对齐时显示图像 4 = 使用剪裁边界 8 = 透明度打开
280 | 剪裁状态：0 = 关；1 = 开
281 | 亮度值（0-100；默认值 = 50）
282 | 对比度值（0-100；默认值 = 50）
283 | 褪色度值（0-100；默认值 = 0）
360 | imagedef_reactor 对象的硬参照
71 | 剪裁边界类型。 1 = 矩形；2 = 多边形
91 | 后面的裁剪边界顶点数
14 | 裁剪边界顶点（在 OCS 中） DXF：X 值；APP：二维点（多个条目） 注意 1) 对于矩形剪裁边界类型，必须指定两个对角。 默认值为 (-0.5,-0.5)，(size.x-0.5,size.y-0.5)。 2) 对于多边形剪裁边界类型，必须指定三个或更多顶点。 多边形顶点必须按顺序列出
24 | DXF：剪裁边界顶点的 Y 值（在 OCS 中）（多个条目）


XLINE

ENTITIES 段
ENTITIES 段
XLINE

以下组码适用于构造线图元。 除此处所述的组码以外，另请参见常用图元组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

构造线组码
组码 | 说明
100 | 子类标记 (AcDbXline)
10 | 第一点（在 WCS 中） DXF：X 值；APP：三维点
20, 30 | DXF：第一点的 Y 值和 Z 值（在 WCS 中）
11 | 单位方向矢量（在 WCS 中） DXF：X 值；APP：三维矢量
21, 31 | DXF：单位方向矢量的 Y 值和 Z 值（在 WCS 中）


OBJECTS 段

本章介绍适用于非图形对象的组码。 这些代码可以在 DXF™ 文件的 OBJECTS 区域中找到，并且由 AutoLISP® 和 ObjectARX® 应用程序在图元定义列表中使用。

本节内容包括：

  • OBJECT 段组码
  • 常用对象组码
  • ACAD_PROXY_OBJECT
  • ACDBDICTIONARYWDFLT
  • ACDBPLACEHOLDER
  • DATATABLE
  • DICTIONARY
  • DICTIONARYVAR
  • DIMASSOC
  • FIELD
  • GROUP
  • IDBUFFER
  • IMAGEDEF
  • IMAGEDEF_REACTOR
  • LAYER_INDEX
  • LAYER_FILTER
  • LAYOUT
  • LIGHTLIST
  • MATERIAL
  • MLINESTYLE
  • OBJECT_PTR
  • PLOTSETTINGS
  • RASTERVARIABLES
  • RENDER
  • SECTION
  • SPATIAL_INDEX
  • SPATIAL_FILTER
  • SORTENTSTABLE
  • TABLESTYLE
  • UNDERLAYDEFINITION
  • VISUALSTYLE
  • VBA_PROJECT
  • WIPEOUTVARIABLES
  • XRECORD


OBJECT 段组码

OBJECTS 段
OBJECTS 段
OBJECT 段组码

对象与图元类似，唯一不同的是对象没有图形或几何意义。 除图元、符号表记录以及符号表以外的所有对象都存储在此段。 此段通过所有权表示了一个具有对象的拓扑次序的对象同类堆，因此所有者始终出现在它们所拥有的对象之前。

本节内容包括：

  • 对象所有权


对象所有权

OBJECTS 段
OBJECTS 段
对象所有权

OBJECTS 段中出现的大多数对象的根所有者都是命名对象词典，因此，命名对象词典始终是该段中出现的第一个对象。 不属于命名对象词典的对象属于其他图元、对象或符号表条目。 此区域中的对象可以由 AutoCAD® 或有权访问 ObjectARX® API 的应用程序定义。 应用程序定义的对象类型的 DXF 名称应该始终与 DXF 文件的 CLASS 段中的类名关联，否则对象记录将无法绑定到用来解释它的应用程序。

与其他词典一样，命名对象词典记录只包含关联的条目名称对和对关联对象的硬所有权指针参照。

为了避免对象之间的名称冲突，开发人员应始终对条目使用已注册的开发人员前缀。


常用对象组码

OBJECTS 段
OBJECTS 段
常用对象组码

下表显示了实际适用于所有非图形对象的组码。 请记住，当通过对象类型参照组码表以及与特定对象关联的代码列表时，也可以显示此处所示的代码。 仅当对象的组码特性具有非默认值时，对象中才可能包含某些组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

常用对象组码
组码 | 说明
0 | 对象类型
5 | 句柄
102 | 应用程序定义的组的开始“{application_name”（可选）
应用程序定义的代码 | 102 组中的代码和值由应用程序定义（可选）
102 | 组的结束“}”（可选）
102 | “{ACAD_REACTORS”表示 AutoCAD 永久反应器组的开始。 仅当将永久反应器附加到此对象时，此组才存在（可选）
330 | 所有者词典的软指针 ID/句柄（可选）
102 | 组的结束“}”（可选）
102 | “{ACAD_XDICTIONARY”表示扩展词典组的开始。 仅当将永久反应器附加到此对象时，此组才存在（可选）
360 | 所有者词典的硬所有者 ID/句柄（可选）
102 | 组的结束“}”（可选）
330 | 所有者对象的软指针 ID/句柄


ACAD_PROXY_OBJECT

OBJECTS 段
OBJECTS 段
ACAD_PROXY_OBJECT

以下组码适用于 ACAD_PROXY_OBJECT 对象。 除此处所述的组码以外，另请参见常用对象组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

ACAD_PROXY_OBJECT 组码
组码 | 说明
100 | DXF：子类标记 (AcDbProxyObject)
90 | DXF：代理对象类 ID（始终为 499）
91 | DXF：应用程序对象的类 ID。 类 ID 基于 CLASSES 段中类的次序。 第一个类的 ID 是 500，下一个是 501，依此类推
93 | DXF：对象数据的大小（以位为单位）
310 | DXF：二进制对象数据（可能会出现多个条目）（可选）
330、340、350 或 360 | DXF：对象 ID（可能会出现多个条目）（可选）
94 | DXF：0（表示对象 ID 段的结束）
95 | DXF：对象成为代理时的对象图形格式（32 位无符号整数）： 低位字是 AcDbDwgVersion 高位字是 MaintenanceReleaseVersion
70 | DXF：原始自定义对象数据格式： 0 = DWG 格式 1 = DXF 格式

92 字段不能用于 AcDbProxyObject。 此类的对象从不包含图形。


ACDBDICTIONARYWDFLT

OBJECTS 段
OBJECTS 段
ACDBDICTIONARYWDFLT

以下组码由 ACDBDICTIONARYWDFLT 对象使用。 除此处所述的组码以外，另请参见常用对象组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

ACDBDICTIONARYWDFLT 组码
组码 | 说明
0 | 对象名 (ACDBDICTIONARYWDFLT)
5 | 句柄
102 | 永久反应器组的开始，始终为“{ACAD_REACTORS”
330 | 所有者词典的软指针 ID/句柄
102 | 永久反应器组的结束，始终为“}”
330 | 所有者对象的软所有者 ID/句柄
100 | 子类标记 (AcDbDictionary)
281 | 重复记录克隆标志（决定如何合并重复条目）： 0 = 不适用 1 = 保留现有 2 = 使用克隆 3 = <外部参照>$0$<名称> 4 = $0$<名称> 5 = 未损坏名称
3 | 条目名称（每条目一个）
350 | 条目对象的软所有者 ID/句柄（每条目一个）
100 | 子类标记 (AcDbDictionaryWithDefault)
340 | 默认对象 ID/句柄的硬指针（当前仅用于名为“普通”的打印样式词典的默认条目）


ACDBPLACEHOLDER

OBJECTS 段
OBJECTS 段
ACDBPLACEHOLDER

以下组码由 ACDBPLACEHOLDER 对象使用。 除此处所述的组码以外，另请参见常用对象组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

ACDBPLACEHOLDER 组码
组码 | 说明
0 | 对象名 (ACDBPLACEHOLDER)
5 | 句柄
102 | 永久反应器组的开始，始终为“{ACAD_REACTORS”
330 | 所有者词典的软指针 ID/句柄
102 | 永久反应器组的结束，始终为“}”
330 | 所有者对象的软指针 ID/句柄


DATATABLE

OBJECTS 段
OBJECTS 段
DATATABLE

以下组码由 DATATABLE 对象使用。 除此处所述的组码以外，另请参见常用对象组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

DATATABLE 组码
组码 | 说明
0 | 对象名 (DATATABLE)
5 | 句柄
102 | 永久反应器组的开始，始终为“{ACAD_REACTORS”
330 | 所有者词典的软指针 ID/句柄
102 | 永久反应器组的结束，始终为“}”
330 | 所有者对象的软指针 ID/句柄
100 | 子类标记 (AcDbDataTable)
70 | 版本
90 | 列数
91 | 有效行数
1 | 表名
92, 2 | 列类型和名称；为每列重复
 | 为每列中的每一行写入一个值
71 | 布尔值
93 | 整数值
40 | 双精度值
3 | 字符串值
10, 20, 30 | 二维点
11, 21, 31 | 三维点
331 | 对象值的软指针 ID/句柄（可选）
360 | 硬指针所有权 ID
350 | 软指针所有权 ID
340 | 硬指针 ID/句柄
330 | 软指针 ID/句柄


DICTIONARY

OBJECTS 段
OBJECTS 段
DICTIONARY

以下组码由 DICTIONARY 对象使用。 除此处所述的组码以外，另请参见常用对象组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

DICTIONARY 组码
组码 | 说明
0 | 对象名 (DICTIONARY)
5 | 句柄
102 | 永久反应器组的开始，始终为“{ACAD_REACTORS”
330 | 所有者词典的软指针 ID/句柄
102 | 永久反应器组的结束，始终为“}”
330 | 所有者对象的软指针 ID/句柄
100 | 子类标记 (AcDbDictionary)
280 | 硬所有者标志。 如果设置为 1，则表示词典元素将被作为硬所有处理
281 | 重复记录克隆标志（决定如何合并重复条目）： 0 = 不适用 1 = 保留现有 2 = 使用克隆 3 = <外部参照>$0$<名称> 4 = $0$<名称> 5 = 未损坏名称
3 | 条目名称（每条目一个）（可选）
350 | 条目对象的软所有者 ID/句柄（每条目一个）（可选）

AutoCAD® 将多线样式和组定义等项目作为词典中的对象进行维护。 以下各节介绍在词典中维护的 AutoCAD 对象组码，其他应用程序可以酌情创建和使用自己的词典。 前缀“ACAD_”被保留，由 AutoCAD 应用程序使用。


DICTIONARYVAR

OBJECTS 段
OBJECTS 段
DICTIONARYVAR

以下组码由 DICTIONARY 对象使用。 除此处所述的组码以外，另请参见常用对象组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

DICTIONARYVAR 组码
组码 | 说明
0 | 对象名 (DICTIONARYVAR)
5 | 句柄
102 | 永久反应器组的开始，始终为“{ACAD_REACTORS”
330 | 所有者词典的软指针 ID/句柄 (ACDBVARIABLEDICTIONARY)
102 | 永久反应器组的结束，始终为“}”
100 | 子类标记 (DictionaryVariables)
280 | 对象模式编号（当前设置为 0）
1 | 变量值

DICTIONARYVAR 对象由 AutoCAD 使用，用于在数据库中存储命名值以实现 setvar/getvar，而无需在 DXF™ HEADER 区域中添加条目。 作为 DICTIONARYVAR 对象存储的系统变量如下：DEFAULTVIEWCATEGORY、DIMADEC、DIMASSOC、DIMDSEP、DRAWORDERCTL、FIELDEVAL、HALOGAP、HIDETEXT、INDEXCTL、INDEXCTL、INTERSECTIONCOLOR、INTERSECTIONDISPLAY、MSOLESCALE、OBSCOLOR、OBSLTYPE、OLEFRAME、PROJECTNAME、SORTENTS、UPDATETHUMBNAIL、XCLIPFRAME 和 XCLIPFRAME。


DIMASSOC

OBJECTS 段
OBJECTS 段
DIMASSOC

以下组码由 DIMASSOC 对象使用。 除此处所述的组码以外，另请参见常用对象组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

DIMASSOC 组码
组码 | 说明
0 | 对象名 (DIMASSOC)
5 | 句柄
102 | 永久反应器组；始终为“{ACAD_REACTORS}”
330 | 软指针 ID
100 | 子类标记 (AcDbDimAssoc)
330 | 标注对象的 ID
90 | 关联性标志 1 = 第一点参照 2 = 第二点参照 4 = 第三点参照 8 = 第四点参照
70 | 转换空间标志（真/假）
71 | 旋转标注类型（平行、垂直）
1 | 类名 (AcDbOsnapPointRef)
72 | 对象捕捉类型 0 = 无 1 = 终点 2 = 中点 3 = 中心 4 = 节点 5 = 象限点 6 = 交点 7 = 插入点 8 = 垂足 9 = 切点 10 = 最近点 11 = 外观交点 12 = 平行 13 = 起点
331 | 主对象 ID（几何图形）
73 | 主对象的 SubentType（边、面）
91 | 主对象的 GsMarker（索引）
301 | 外部参照对象的句柄（字符串）
40 | 近距离对象捕捉的几何参数
10 | WCS 中的对象捕捉点；X 值
20 | WCS 中的对象捕捉点；Y 值
30 | WCS 中的对象捕捉点；Z 值
332 | 相交对象的 ID（几何图形）
74 | 相交对象的 SubentType（边/面）
92 | 相交对象的 GsMarker（索引）
302 | 相交外部参照对象的句柄（字符串）
75 | hasLastPointRef 标志（真/假）

DIMASSOC 对象通过在标注对象和图形几何对象之间指定关联来实现关联标注。 关联标注即修改关联几何图形时自动更新的标注。


FIELD

OBJECTS 段
OBJECTS 段
FIELD

以下组码由 FIELD 对象使用。 除此处所述的组码以外，另请参见常用对象组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

FIELD 组码
组码 | 说明
0 | 对象名 (ACAD_FIELD)
1 | 计算器 ID
2 | 字段代码字符串
3 | 字段代码字符串溢出
90 | 子字段数
360 | 子字段 ID (AcDbHardOwnershipId)；根据子字段数重复
97 | 字段代码中使用的对象 ID 数
331 | 字段代码中使用的对象 ID (AcDbSoftPointerId)；根据字段代码中使用的对象 ID 数重复
93 | 字段中的数据集数
6 | 字段数据的主键字符串；根据字段中的数据集数重复使用主键字段对
7 | 计算缓存的主键字符串；此键硬编码为 ACFD_FIELD_VALUE
90 | 字段值的数据类型
91 | 长整数值（如果字段值的数据类型为长整数）
140 | 双精度值（如果字段值的数据类型为双精度）
330 | ID 值，AcDbSoftPointerId（如果字段值的数据类型为 ID）
92 | 二进制数据缓冲区大小（如果字段值的数据类型为二进制）
310 | 二进制数据（如果字段值的数据类型为二进制）
301 | 格式字符串
9 | 格式字符串的溢出
98 | 格式字符串的长度


GROUP

OBJECTS 段
OBJECTS 段
GROUP

以下组码由 GROUP 对象使用。 除此处所述的组码以外，另请参见常用对象组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

GROUP 组码
组码 | 说明
0 | 对象名 (GROUP)
5 | 句柄
102 | 永久反应器组的开始，始终为“{ACAD_REACTORS”（永久反应器组出现在除主词典以外的所有词典中）
330 | 所有者词典的软指针 ID/句柄。 对于 GROUP 对象，此组码始终是命名对象词典的 ACAD_GROUP 条目
102 | 永久反应器组的结束，始终为“}”
330 | 所有者对象的软指针 ID/句柄
100 | 子类标记 (AcDbGroup)
300 | 组说明
70 | “未命名”标志：1 = 未命名；0 = 已命名
71 | 可选择性标志：1 = 可选择；0 = 不可选择
340 | 组中图元的硬指针句柄（每个对象一个条目）


IDBUFFER

OBJECTS 段
OBJECTS 段
IDBUFFER

以下组码由 IDBUFFER 对象使用。 除此处所述的组码以外，另请参见常用对象组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

IDBUFFER 组码
组码 | 说明
100 | 子类标记 (AcDbIdBuffer)
330 | 图元的软指针参照（可能存在多个条目）

IDBUFFER 对象是实用程序对象，它只是对象参照的列表。


IMAGEDEF

OBJECTS 段
OBJECTS 段
IMAGEDEF

以下组码由 IMAGEDEF 对象使用。 除此处所述的组码以外，另请参见常用对象组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

IMAGEDEF 组码
组码 | 说明
0 | 对象名 (IMAGEDEF)
5 | 句柄
102 | 永久反应器组的开始，始终为“{ACAD_REACTORS”
330 | ACAD_IMAGE_DICT 词典的软指针 ID/句柄
330 | IMAGEDEF_REACTOR 对象的软指针 ID/句柄（多个条目；每个实例一个条目）
102 | 永久反应器组的结束，始终为“}”
100 | 子类标记 (AcDbRasterImageDef)
90 | 类版本 0
1 | 图像的文件名
10 | 以像素为单位的图像尺寸 DXF：U 值；APP：二维点（U 值和 V 值）
20 | DXF：图像尺寸的 V 值（以像素为单位）
11 | AutoCAD 单位中一个像素的默认大小 DXF：U 值；APP：二维点（U 值和 V 值）
12 | DXF：像素大小的 V 值
280 | “图像被加载”标志。 0 = 未加载；1 = 已加载
281 | 分辨率单位。 0 = 无单位；2 = 厘米；5 = 英寸


IMAGEDEF_REACTOR

OBJECTS 段
OBJECTS 段
IMAGEDEF_REACTOR

以下组码由 IMAGEDEF_REACTOR 对象使用。 除此处所述的组码以外，另请参见常用对象组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

IMAGEDEF_REACTOR 组码
组码 | 说明
0 | 对象名 (IMAGEDEF_REACTOR)
5 | 句柄
100 | 子类标记 (AcDbRasterImageDefReactor)
90 | 类版本 2
330 | 关联图像对象的对象 ID


LAYER_INDEX

OBJECTS 段
OBJECTS 段
LAYER_INDEX

以下组码由 LAYER_INDEX 对象使用。 除此处所述的组码以外，另请参见常用对象组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

LAYER_INDEX 组码
组码 | 说明
0 | 对象名 (LAYER_INDEX)
5 | 句柄
102 | 永久反应器组的开始，始终为“{ACAD_REACTORS”
330 | 所有者词典的软指针 ID/句柄
102 | 永久反应器组的结束，始终为“}”
100 | 子类标记 (AcDbIndex)
40 | 时间戳记（公历日期）
100 | 子类标记 (AcDbLayerIndex)
8 | 图层名（可能存在多个条目）
360 | IDBUFFER 的硬所有者参照（可能存在多个条目）
90 | IDBUFFER 列表中的条目数（可能存在多个条目）


LAYER_FILTER

OBJECTS 段
OBJECTS 段
LAYER_FILTER

以下组码由 LAYER_FILTER 对象使用。 除此处所述的组码以外，另请参见常用对象组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

LAYER_FILTER 组码
组码 | 说明
0 | 对象名 (LAYER_FILTER)
5 | 句柄
102 | 永久反应器组的开始，始终为“{ACAD_REACTORS”
330 | 所有者词典的软指针 ID/句柄
102 | 永久反应器组的结束，始终为“}”
100 | 子类标记 (AcDbFilter)
100 | 子类标记 (AcDbLayerFilter)
8 | 图层名（可能存在多个条目）


LAYOUT

OBJECTS 段
OBJECTS 段
LAYOUT

以下组码由 LAYOUT 对象使用。 除此处所述的组码以外，另请参见常用对象组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

LAYOUT 组码
组码 | 说明
0 | 对象名 (LAYOUT)
5 | 句柄
102 | 永久反应器组的开始，始终为“{ACAD_REACTORS”
330 | 所有者词典的软指针 ID/句柄
102 | 永久反应器组的结束，始终为“}”
330 | 所有者对象的软指针 ID/句柄
100 | 子类标记 (AcDbPlotSettings)
Plotsettings 对象组码 | 有关 AcDbPlotSettings 标记后的组码和说明，请参见 PLOTSETTINGS
100 | 子类标记 (AcDbLayout)
1 | 布局名
70 | 控制以下各项的标志（按位编码）： 1 = 表示当此布局处于当前状态时的 PSLTSCALE 值 2 = 表示当此布局处于当前状态时的 LIMCHECK 值
71 | 选项卡次序。 此数字表示该布局在附着到 AutoCAD 图形框窗口的选项卡控件上的次序。 注意，不管选项卡次序如何，“模型”选项卡始终出现在第一位
10 | 此布局的最小界限（当此布局处于当前状态时由 LIMMIN 定义） DXF：X 值；APP：二维点
20 | DXF：最小界限的 Y 值
11 | 此布局的最大界限（当此布局处于当前状态时由 LIMMAX 定义） DXF：X 值；APP：二维点
21 | DXF：最大界限的 Y 值
12 | 此布局的插入基点（当此布局处于当前状态时由 INSBASE 定义）： DXF：X 值；APP：三维点
22, 32 | DXF：插入基点的 Y 值和 Z 值
14 | 此布局的最小范围（当此布局处于当前状态时由 EXTMIN 定义） DXF：X 值；APP：三维点
24, 34 | DXF：最小范围的 Y 值和 Z 值
15 | 此布局的最大范围（当此布局置处于当前状态时由 EXTMAX 定义） DXF：X 值；APP：三维点
25, 35 | DXF：最大范围的 Y 值和 Z 值
146 | 标高
13 | UCS 原点 DXF：X 值；APP：三维点
23, 33 | DXF：UCS 原点的 Y 值和 Z 值
16 | UCS X 轴 DXF：X 值；APP：三维矢量
26, 36 | DXF：UCS X 轴的 Y 值和 Z 值
17 | UCS Y 轴 DXF：X 值；APP：三维矢量
27, 37 | DXF：UCS Y 轴的 Y 值和 Z 值
76 | UCS 的正交类型 0 = UCS 为非正交视图 1 = 俯视图；2 = 仰视图 3 = 主视图；4 = 后视图 5 = 左视图；6 = 右视图
330 | 此布局的关联图纸空间块表记录的 ID/句柄
331 | 当此布局处于当前状态时，在布局中最后激活的视口的 ID/句柄
345 | 如果 UCS 是命名 UCS，则为 AcDbUCSTableRecord 的 ID/句柄。 如果不存在，则为未命名 UCS
346 | 如果 UCS 为正交 UCS，则为基准 UCS 的 AcDbUCSTableRecord 的 ID/句柄（76 代码非零）。 如果不存在，且 76 代码非零，则基准 UCS 将作为 WORLD
333 | 着色打印 ID


LIGHTLIST

OBJECTS 段
OBJECTS 段
LIGHTLIST

以下组码由 LIGHTLIST 对象使用。 除此处所述的组码以外，另请参见常用对象组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

LIGHTLIST 组码
组码 | 说明
0 | 对象名 (LIGHTLIST)
5 | 句柄
102 | 永久反应器组的开始，始终为“{ACAD_REACTORS”
330 | 所有者词典的软指针 ID/句柄。 对于 LIGHTLIST 对象，此组码始终是命名对象词典的 ACAD_LIGHT 条目
102 | 永久反应器组的结束，始终为“}”
330 | 所有者对象的软指针 ID/句柄
100 | 子类标记 (AcDbLightList)
90 | 版本号
90 | 光源数
5 | 光源句柄（每个光源一个）
1 | 光源名称（每个光源一个）


MATERIAL

OBJECTS 段
OBJECTS 段
MATERIAL

以下组码由 MATERIAL 对象使用。 除此处所述的组码以外，另请参见常用对象组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

MATERIAL 组码
组码 | 说明
0 | 对象名 (MATERIAL)
5 | 句柄
102 | 永久反应器组的开始，始终为“{ACAD_REACTORS”（永久反应器组出现在除主词典以外的所有词典中）。
330 | 所有者词典的软指针 ID/句柄。 对于 MATERIAL 对象，此组码始终是命名对象词典的 ACAD_MATERIAL 条目
102 | 永久反应器组的结束，始终为“}”
100 | 子类标记 (AcDbMaterial)
1 | 材质名（字符串）
2 | 说明（字符串，默认空字符串）
70 | 环境色方法（默认值 = 0）： 0 = 使用当前颜色 1 = 替代当前颜色
40 | 环境色因子（实数，默认值 = 1.0，有效范围为 0.0 至 1.0）
90 | 环境色值（表示 AcCmEntityColor 的无符号 32 位整数）
71 | 漫射色方法（默认值 = 0）： 0 = 使用当前颜色 1 = 替代当前颜色
41 | 漫射色因子（实数，默认值 = 1.0，有效范围为 0.0 至 1.0）
91 | 漫射色值（表示 AcCmEntityColor 的无符号 32 位整数）
42 | 漫射贴图过渡因子（实数，默认值 = 1.0）
72 | 漫射贴图源（默认值 = 1）： 0 = 使用当前场景 1 = 使用图像文件（由文件名定义；空文件名不指定贴图）
3 | 漫射贴图文件名（字符串，默认值 = 空字符串）
73 | 漫射贴图的投影方法（默认值 = 1）： 1 = 平面 2 = 长方体 3 = 圆柱体 4 = 球体
74 | 漫射贴图的排列方法（默认值 = 1）： 1 = 平铺 2 = 修剪 3 = 堆
75 | 漫射贴图的自动转换方法（按位设置，默认值 = 1）： 1= 无自动转换 2 = 将贴图缩放到当前图元范围；将贴图转换到图元原点 4 = 在贴图转换中包括当前块转换
43 | 漫射贴图的转换矩阵（16 个实数；行主要格式；默认值 = 标识矩阵）
44 | 镜面反射光泽因子（实数，默认值 = 0.5）
76 | 镜面反射色方法（默认值 = 0）： 0 = 使用当前颜色 1 = 替代当前颜色
45 | 镜面反射色因子（实数，默认值 = 1.0；有效范围为 0.0 至 1.0）
92 | 镜面反射色值（表示 AcCmEntityColor 的无符号 32 位整数）
46 | 镜面反射贴图过渡因子（实数；默认值 = 1.0）
77 | 镜面反射贴图源（默认值 = 1）： 0 = 使用当前场景 1 = 使用图像文件（由文件名定义；空文件名不指定贴图）
4 | 镜面反射贴图文件名（字符串；默认值 = 空字符串）
78 | 镜面反射贴图的投影方法（默认值 = 1）： 1 = 平面 2 = 长方体 3 = 圆柱体 4 = 球体
79 | 镜面反射贴图的排列方法（默认值 = 1）： 1 = 平铺 2 = 修剪 3 = 堆
170 | 镜面反射贴图的自动转换方法（按位设置；默认值 = 1）： 1= 无自动转换 2 = 将贴图缩放到当前图元范围；将贴图转换到图元原点 4 = 在贴图转换中包括当前块转换
47 | 镜面反射贴图的转换矩阵（16 个实数；行主要格式；默认值 = 标识矩阵）
48 | 反射贴图过渡因子（实数，默认值 = 1.0）
171 | 反射贴图源（默认值 = 1）： 0 = 使用当前场景 1 = 使用图像文件（由文件名定义；空文件名不指定贴图）
6 | 反射贴图文件名（字符串；默认值 = 空字符串）
172 | 反射贴图的投影方法（默认值 = 1）： 1 = 平面 2 = 长方体 3 = 圆柱体 4 = 球体
173 | 反射贴图的排列方法（默认值 = 1）： 1 = 平铺 2 = 修剪 3 = 堆
174 | 反射贴图的自动转换方法（按位设置，默认值 = 1）： 1= 无自动转换 2 = 将贴图缩放到当前图元范围；将贴图转换到图元原点 4 = 在贴图转换中包括当前块转换
49 | 反射贴图的转换矩阵（16 个实数；行主要格式；默认值 = 标识矩阵）
140 | 不透明百分比（实数；默认值 = 1.0）
141 | 不透明贴图的过渡因子（实数；默认值 = 1.0）
175 | 不透明贴图源（默认值 = 1）： 0 = 使用当前场景 1 = 使用图像文件（由文件名定义；空文件名不指定贴图）
7 | 不透明贴图文件名（字符串；默认值 = 空字符串）
176 | 不透明贴图的投影方法（默认值 = 1）： 1 = 平面 2 = 长方体 3 = 圆柱体 4 = 球体
177 | 不透明贴图的排列方法（默认值 = 1）： 1 = 平铺 2 = 修剪 3 = 堆
178 | 不透明贴图的自动转换方法（按位设置；默认值 = 1）： 1= 无自动转换 2 = 将贴图缩放到当前图元范围；将贴图转换到图元原点 4 = 在贴图转换中包括当前块转换
142 | 不透明贴图的转换矩阵（16 个实数；行主要格式；默认值 = 标识矩阵）
143 | 凹凸贴图的过渡因子（实数；默认值 = 1.0）
179 | 凹凸贴图源（默认值 = 1）： 0 = 使用当前场景 1 = 使用图像文件（由文件名定义；空文件名不指定贴图）
8 | 凹凸贴图文件名（字符串；默认值 = 空字符串）
270 | 凹凸贴图的投影方法（默认值 = 1）： 1 = 平面 2 = 长方体 3 = 圆柱体 4 = 球体
271 | 凹凸贴图的排列方法（默认值 = 1）： 1 = 平铺 2 = 修剪 3 = 堆
272 | 凹凸贴图的自动转换方法（按位设置；默认值 = 1）： 1= 无自动转换 2 = 将贴图缩放到当前图元范围；将贴图转换到图元原点 4 = 在贴图转换中包括当前块转换
144 | 凹凸贴图的转换矩阵（16 个实数；行主要格式；默认值 = 标识矩阵）
145 | 折射索引（实数；默认值 = 1.0）
146 | 折射贴图的过渡因子（实数；默认值 = 1.0）
273 | 折射贴图源（默认值 = 1）： 0 = 使用当前场景 1 = 使用图像文件（由文件名定义；空文件名不指定贴图）
9 | 折射贴图文件名（字符串；默认值 = 空字符串）
274 | 折射贴图的投影方法（默认值 = 1）： 1 = 平面 2 = 长方体 3 = 圆柱体 4 = 球体
275 | 折射贴图的排列方法（默认值 = 1）： 1 = 平铺 2 = 修剪 3 = 堆
276 | 折射贴图的自动转换方法（按位设置；默认值 = 1）： 1= 无自动转换 2 = 将贴图缩放到当前图元范围；将贴图转换到图元原点 4 = 在贴图转换中包括当前块转换
147 | 折射贴图的转换矩阵（16 个实数；行主要格式；默认值 = 标识矩阵）


MLINESTYLE

OBJECTS 段
OBJECTS 段
MLINESTYLE

以下组码由 MLINESTYLE 对象使用。 除此处所述的组码以外，另请参见常用对象组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

MLINESTYLE 组码
组码 | 说明
0 | 对象名 (MLINESTYLE)
5 | 句柄
102 | 永久反应器组的开始，始终为“{ACAD_REACTORS”（永久反应器组出现在除主词典以外的所有词典中）
330 | 所有者词典的软指针 ID/句柄。 对于 MLINESTYLE 对象，此组码始终是命名对象词典的 ACAD_MLINESTYLE 条目
102 | 永久反应器组的结束，始终为“}”
100 | 子类标记 (AcDbMlineStyle)
2 | 多线样式名
70 | 标志（按位编码）： 1 =填充 2 = 显示斜接 16 = 开始矩形结束（直线）封口 32 = 开始内弧封口 64 = 开始圆（外弧）封口 256 = 结束矩形（直线）封口 512 = 结束内弧封口 1024 = 结束圆（外弧）封口
3 | 样式说明（字符串，最多为 255 个字符）
62 | 填充颜色（整数，默认值 = 256）
51 | 起点角度（实数，默认值为 90 度）
52 | 端点角度（实数，默认值为 90 度）
71 | 元素数
49 | 元素偏移（实数，无默认值）。 可以存在多个条目；每个元素一个条目
62 | 元素颜色（整数，默认值 = 0）。 可以存在多个条目；每个元素一个条目
6 | 元素线型（字符串，默认值 = 随层）。 可以存在多个条目；每个元素一个条目

多线图元和 MLINESTYLE 对象中的 2 组码是冗余字段。 虽然可以安全地读取这些组并使用它们的值，但是在任何情况下都不应修改这些组码。 要修改的正确字段是

多线

同一个对象中的 340 组，表示正确的 MLINESTYLE 对象。

多线样式

MLINESTYLE 词典中的 3 组值，位于具有当前多线样式的句柄或图元名的 350 组之前。


OBJECT_PTR

OBJECTS 段
OBJECTS 段
OBJECT_PTR

以下组码由 OBJECT_PTR 对象使用。 除此处所述的组码以外，另请参见常用对象组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

OBJECT_PTR 组码
组码 | 说明
0 | 对象名 (OBJECT_PTR)
5 | 句柄
102 | 永久反应器组的开始，始终为“{ACAD_REACTORS”
330 | 所有者词典的软指针 ID/句柄
102 | 永久反应器组的结束，始终为“}”
1001 | 开始 ASE 外部数据 (DC015)


PLOTSETTINGS

OBJECTS 段
OBJECTS 段
PLOTSETTINGS

以下组码由 PLOTSETTINGS 对象使用。 除此处所述的组码以外，另请参见常用对象组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

PLOTSETTINGS 组码
组码 | 说明
0 | 对象名 (PLOTSETTINGS)
5 | 句柄
102 | 永久反应器组的开始，始终为“{ACAD_REACTORS”
330 | 所有者词典的软指针 ID/句柄
102 | 永久反应器组的结束，始终为“}”
330 | 所有者对象的软指针 ID/句柄
100 | 子类标记 (AcDbPlotSettings)
1 | 页面设置名
2 | 系统打印机或打印配置文件的名称
4 | 图纸尺寸
6 | 打印视图名
40 | 图纸左侧无法打印的页边距尺寸（以毫米为单位）
41 | 图纸底部无法打印的页边距尺寸（以毫米为单位）
42 | 图纸右侧无法打印的页边距尺寸（以毫米为单位）
43 | 图纸顶部无法打印的页边距尺寸（以毫米为单位）
44 | 打印图纸尺寸：实际图纸宽度（以毫米为单位）
45 | 打印图纸尺寸：实际图纸高度（以毫米为单位
46 | 打印原点：原点偏移的 X 值（以毫米为单位）
47 | 打印原点：原点偏移的 Y 值（以毫米为单位）
48 | 打印窗口区域：窗口左下角的 X 值
49 | 打印窗口区域：窗口右上角的 Y 值
140 | 打印窗口区域：窗口左下角的 X 值
141 | 打印窗口区域：窗口右上角的 Y 值
142 | 自定义打印比例的分子：实际（图纸）单位
143 | 自定义打印比例的分母：图形单位
70 | 打印布局标志： 1 = PlotViewportBorders 2 = ShowPlotStyles 4 = PlotCentered 8 = PlotHidden 16 = UseStandardScale 32 = PlotPlotStyles 64 = ScaleLineweights 128 = PrintLineweights 512 = DrawViewportsFirst 1024 = ModelType 2048 = UpdatePaper 4096 = ZoomToPaperOnUpdate 8192 = 初始化 16384 = PrevPlotInit
72 | 打印图纸单位： 0 = 按英寸打印 1 = 按毫米打印 2 = 按像素打印
73 | 打印旋转： 0 = 无旋转 1 = 逆时针旋转 90 度 2 = 颠倒 3 = 顺时针旋转 90 度
74 | 打印样式（输出到介质的图纸空间的一部分）： 0 = 上一个屏幕显示 1 = 图形范围 2 = 图形界限 3 = 代码 6 指定的视图 4 = 代码 48、49、140 和 141 指定的窗口 5 = 布局信息
7 | 当前样式表
75 | 标准比例类型： 0 = 按图纸空间缩放 1 = 1/128"=1'；2 = 1/64"=1'；3 = 1/32"=1' 4 = 1/16"=1'；5 = 3/32"=1'；6 = 1/8"=1' 7 = 3/16"=1'；8 = 1/4"=1'；9 = 3/8"=1' 10 = 1/2"=1'；11 = 3/4"=1'；12 = 1"=1' 13 = 3"=1'；14 = 6"=1'；15 = 1'=1' 16= 1:1；17= 1:2；18 = 1:4；19 = 1:8；20 = 1:10；21= 1:16 22 = 1:20；23 = 1:30；24 = 1:40；25 = 1:50；26 = 1:100 27 = 2:1；28 = 4:1；29 = 8:1；30 = 10:1；31 = 100:1；32 = 1000:1
76 | 着色打印模式： 0 = 按显示 1 = 线框图 2 = 隐藏 3 = 渲染
77 | 着色打印分辨率级别： 0 = 草图 1 = 预览 2 = 普通 3 = 演示 4 = 最大值 5 = 自定义
78 | 着色打印自定义 DPI： 有效范围：100 到 32767 仅当着色打印分辨率级别设置为 5（自定义）时适用
147 | 浮点比例因子，表示在代码 75 中指定的标准比例值
148 | 图纸图像原点：X 值
149 | 图纸图像原点：Y 值
333 | 着色打印 ID/句柄（可选）


RASTERVARIABLES

OBJECTS 段
OBJECTS 段
RASTERVARIABLES

以下组码由 RASTERVARIABLES 对象使用。 除此处所述的组码以外，另请参见常用对象组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

RASTERVARIABLES 组码
组码 | 说明
0 | 对象名 (RASTERVARIABLES)
5 | 句柄
102 | 永久反应器组的开始，始终为“{ACAD_REACTORS”
330 | 所有者词典的软指针 ID/句柄。 对于 RASTERVARIABLES 对象，此组码始终是命名对象词典的 ACAD_IMAGE_VARS 条目
102 | 永久反应器组的结束，始终为“}”
100 | 子类标记 (AcDbRasterVariables)
90 | 类版本 0
70 | “显示图像边框”标志：0 = 无边框；1 = 显示边框
71 | 图像显示质量（仅用于屏幕）：0 = 草稿；1 = 高
72 | 用于插入图像的 AutoCAD 单位。 这是一个 AutoCAD 单位，用于使用关联的分辨率插入图像和缩放图像： 0 = 无；1 = 毫米；2 = 厘米 3 = 米；4 = 千米；5 = 英寸 6 = 英尺；7 = 码；8 = 英里


RENDER

OBJECTS 段
OBJECTS 段
RENDER

渲染相关的组码。

本节内容包括：

  • RENDERENVIRONMENT
  • MENTALRAYRENDERSETTINGS
  • RENDERGLOBAL


RENDERENVIRONMENT

OBJECTS 段
OBJECTS 段
RENDERENVIRONMENT

以下组码由 RENDERENVIRONMENT 对象使用。 除此处所述的组码以外，另请参见常用对象组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

RENDERENVIRONMENT 组码
组码 | 说明
0 | 对象名 (RENDERENVIRONMENT)
5 | 句柄
102 | 永久反应器组的开始，始终为“{ACAD_REACTORS”
330 | 所有者词典的软指针 ID/句柄。 对于 RENDERENVIRONMENT 对象，此组码始终是命名对象词典的 ACAD_RENDER_ENVIRONMENT 条目
102 | 永久反应器组的结束，始终为“}”
100 | 子类标记 (AcDbRenderEnvironment)
90 | 类版本 1
290 | 启用雾化标志；如果启用，则为 1
290 | 在背景中雾化标志；如果启用，则为 1
280, 280, 280 | 雾化颜色；红色、绿色和蓝色通道值
40, 40 | 雾化密度；近处和远处密度的百分比
40, 40 | 近处和远处距离，以相机和远处剪裁平面之间距离的百分比表示
290 | 环境图像标志
1 | 环境图像文件名（如果上一个标志为 0，则文件名可以为空）


MENTALRAYRENDERSETTINGS

OBJECTS 段
OBJECTS 段
MENTALRAYRENDERSETTINGS

以下组码由 MENTALRAYRENDERSETTINGS 对象使用。 除此处所述的组码以外，另请参见常用对象组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

MENTALRAYRENDERSETTINGS 组码
组码 | 说明
0 | 对象名 (MENTALRAYRENDERSETTINGS)
5 | 句柄
102 | 永久反应器组的开始，始终为“{ACAD_REACTORS”
330 | 所有者词典的软指针 ID/句柄
102 | 永久反应器组的结束，始终为“}”
100 | 子类标记 (AcDbRenderSettings)
90 | 类版本 1
1 | 渲染预设名称
290 | 渲染材质标志
90 | 纹理采样质量
290 | 渲染后向面标志
290 | 渲染阴影标志
1 | 预览图像文件名（可以为空）
100 | 子类标记 (AcDbMentalRayRenderSettings)
90 | 类版本 1
90 | 采样率（最小值）
90 | 采样率（最大值）
70 | 采样过滤器类型 0 = 长方体 1 = 三角形 2 = Gauss 3 = Mitchell 4 = Lanczos
40, 40 | 过滤器宽度, 高度
40, 40, 40, 40 | 采样对比颜色；红色、绿色、蓝色和 alpha 通道值
70 | 阴影模式 0 = 简单 1 = 排序 2 = 分段
290 | 阴影贴图标志；仅适用于使用贴图阴影的光源
290 | 光线跟踪标志
90, 90, 90 | 反射、折射的光线跟踪深度和最大深度
290 | 全局照明标志
90 | 光子/样例计数
290 | 全局照明半径标志
40 | 全局照明样例半径
90 | 每个光源的光子数
90, 90, 90 | 反射、折射的全局照明光子跟踪深度和最大深度
290 | 最终采集标志
90 | 最终采集光线计数
290, 290 | 最终采集最小半径和最大半径标志
290 | 最终采集像素标志
40, 40 | 最终采集最小样例半径和最大样例半径
40 | 亮度比例（能量乘数）
70 | 诊断模式 0 = 关 1 = 栅格 2 = 光子 4 = BSP
70 | 诊断栅格模式 0 = 对象 1 = 世界 2 = 相机
40 | 栅格尺寸
70 | 诊断光子模式 0 = 密度 1 = 发光度
70 | 诊断 BSP 模式 0 = 深度 1 = 尺寸
290 | 输出 MI 统计信息标志
1 | MI 统计信息文件名（可以为空）
90 | 平铺尺寸
70 | 平铺次序 0 = Hilbert 1 = 螺旋 2 = 从左到右 3 = 从右到左 4 = 从上到下 5 = 从下到上
90 | 内存限制


RENDERGLOBAL

OBJECTS 段
OBJECTS 段
RENDERGLOBAL

以下组码由 RENDERGLOBAL 对象使用。 除此处所述的组码以外，另请参见常用对象组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

RENDERGLOBAL 组码
组码 | 说明
0 | 对象名 (RENDERGLOBAL)
5 | 句柄
102 | 永久反应器组的开始，始终为“{ACAD_REACTORS”
330 | 所有者词典的软指针 ID/句柄。 对于 RENDERGLOBAL 对象，此组码始终是命名对象词典的 ACAD_RENDER_GLOBAL 条目
102 | 永久反应器组的结束，始终为“}”
100 | 子类标记 (AcDbRenderGlobal)
90 | 类版本 2
90 | 渲染过程： 0 = 视图 1 = 修剪 2 = 选择
90 | 渲染目标 0 = 渲染窗口 1 = 视口
290 | 保存为文件标志
1 | 渲染图像保存文件名
90 | 图像宽度
90 | 图像高度
290 | 预定义的预设首标志
290 | 高信息级别标志


SECTION

OBJECTS 段
OBJECTS 段
SECTION

截面管理器和截面设置组码。

本节内容包括：

  • 截面管理器
  • 截面设置
  • 截面类型设置
  • 截面几何图形设置


截面管理器

OBJECTS 段
OBJECTS 段
截面管理器

下列组码适用于 SECTIONMANAGER 对象。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

SECTIONMANAGER 组码
组码 | 说明
0 | 对象名 (SECTIONMANAGER)
5 | 句柄
102 | 永久反应器组的开始，始终为“{ACAD_REACTORS”
330 | 所有者词典的软指针 ID/句柄
102 | 永久反应器组的结束，始终为“}”
330 | 所有者对象的软所有者 ID/句柄
100 | 子类标记 (AcDbSectionManager)
70 | 需要完全更新标志
90 | 截面数
330 | 截面图元的软指针 ID/句柄（根据截面数重复）


截面设置

OBJECTS 段
OBJECTS 段
截面设置

下列组码适用于 SECTIONSETTINGS 对象。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

SECTIONSETTINGS 组码
组码 | 说明
0 | 对象名 (SECTIONSETTINGS)
5 | 句柄
102 | 永久反应器组的开始，始终为“{ACAD_REACTORS”
330 | 所有者词典的软指针 ID/句柄
102 | 永久反应器组的结束，始终为“}”
330 | 所有者对象的软所有者 ID/句柄
100 | 子类标记 (AcDbSectionSettings)
90 | 截面类型
91 | 生成设置数
 | 截面类型设置数据遵循


截面类型设置

OBJECTS 段
OBJECTS 段
截面类型设置

以下组码适用于截面类型设置。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

截面类型设置组码
组码 | 说明
1 | “SectionTypeSettings”标记
90 | 截面类型
91 | 生成选项标志
92 | 源对象数
330 | 源对象的软指针 ID/句柄（根据源对象数重复）
331 | 目标块对象的软指针 ID/句柄
1 | 目标文件名
93 | 生成设置数
2 | “SectionGeometrySettings”数据标记
 | 截面几何图形设置数据
3 | “SectionTypeSettingsEnd”标记


截面几何图形设置

OBJECTS 段
OBJECTS 段
截面几何图形设置

以下组码适用于截面几何图形设置。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

截面几何图形设置组码
组码 | 说明
90 | 截面类型
91 | 几何图形计数
92 | 位标志
63 | 颜色数据
8 | 图层名
6 | 线型名
40 | 线型比例
1 | 打印样式名
370 | 线宽
70 | 面透明度
71 | 边透明度
72 | 填充图案类型
2 | 填充图案名
41 | 填充角度
42 | 填充比例
43 | 填充间距
3 | “SectionGeometrySettingsEnd”数据标记


SPATIAL_INDEX

OBJECTS 段
OBJECTS 段
SPATIAL_INDEX

以下组码由 SPATIAL_INDEX 对象使用。 除此处所述的组码以外，另请参见常用对象组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

SPATIAL_INDEX 组码
组码 | 说明
0 | 对象名 (SPATIAL_INDEX)
5 | 句柄
102 | 永久反应器组的开始，始终为“{ACAD_REACTORS”
330 | 所有者词典的软指针 ID/句柄
102 | 永久反应器组的结束，始终为“}”
100 | 子类标记 (AcDbIndex)
40 | 时间戳记（公历日期）
100 | 子类标记 (AcDbSpatialIndex)

总是将 SPATIAL_INDEX 全部写入 DXF 文件。 此对象可以忽略。


SPATIAL_FILTER

OBJECTS 段
OBJECTS 段
SPATIAL_FILTER

以下组码由 SPATIAL_FILTER 对象使用。 除此处所述的组码以外，另请参见常用对象组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

SPATIAL_FILTER 组码
组码 | 说明
0 | 对象名 (SPATIAL_FILTER)
5 | 句柄
102 | 永久反应器组的开始，始终为“{ACAD_REACTORS”
330 | 所有者词典的软指针 ID/句柄 (SPATIAL)
102 | 永久反应器组的结束，始终为“}”
100 | 子类标记 (AcDbFilter)
100 | 子类标记 (AcDbSpatialFilter)
70 | 剪裁边界上的点数 2 = 矩形剪裁边界（左下和右上） 大于 2 = 多段线剪裁边界
10 | 基于外部参照比例 1 的剪裁边界定义点（在 OCS 中）（始终为 2 或更多） DXF：X 值；APP：二维点
20 | DXF：边界定义点的 Y 值（始终为 2 或更大）
210 | 包含剪裁边界的平面的法向 DXF：X 值；APP：三维矢量
220, 230 | DXF：拉伸方向的 Y 值和 Z 值
11 | 用于定义剪裁边界的本地坐标系的原点 DXF：X 值；APP：三维点
21, 31 | 用于定义剪裁边界的本地坐标系的原点 DXF：Y 值和 Z 值
71 | “启用剪裁边界显示”标志 0 = 禁用；1 = 启用
72 | 前向剪裁平面标志；0 = 否；1 = 是
40 | 前向剪裁平面距离（如果代码 72 = 1）
73 | 后向剪裁平面标志；0 = 否；1 = 是
41 | 后向剪裁平面距离（如果代码 73 = 1）
40 | 按列主要次序写出的 4x3 转换矩阵。 此矩阵是原始块参照（插入图元）转换的反向矩阵。 原始块参照转换是重生成块参照时（始终为 12 个条目）适用于块中所有图元的参照
40 | 按列主要次序写出的 4x3 转换矩阵。 此矩阵将点转换到剪裁边界的坐标系（12 个条目）中


SORTENTSTABLE

OBJECTS 段
OBJECTS 段
SORTENTSTABLE

以下组码由 SORTENTSTABLE 对象使用。 除此处所述的组码以外，另请参见常用对象组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

SORTENTSTABLE 组码
组码 | 说明
0 | 对象名 (SORTENTSTABLE)
5 | 句柄
102 | 永久反应器组的开始，始终为“{ACAD_REACTORS”
330 | 所有者词典的软指针 ID/句柄 (ACAD_SORTENTS)
102 | 永久反应器组的结束，始终为“}”
100 | 子类标记 (AcDbSortentsTable)
330 | 所有者的软指针 ID/句柄（当前仅为 *MODEL_SPACE 或 *PAPER_SPACE 块）
331 | 图元的软指针 ID/句柄（可能不存在或存在更多条目）
5 | 排序句柄（可能不存在或存在多个条目）

如果设置了 SORTENTS 重生成标志（位码值 16），AutoCAD 将按句柄升序重生成图元。 使用 DRAWORDER 命令时，SORTENTSTABLE 对象将附着到 *Model_Space 或 *Paper_Space 块的扩展词典中，放在 ACAD_SORTENTS 名下。 与此词典相关的 SORTENTSTABLE 对象将每个图元与不同的句柄关联起来，该句柄重新定义了图元的重生成顺序。


TABLESTYLE

OBJECTS 段
OBJECTS 段
TABLESTYLE

以下组码由 TABLESTYLE 对象使用。 除此处所述的组码以外，另请参见常用对象组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

TABLESTYLE 组码
组码 | 说明
0 | 对象名 (TABLESTYLE)
5 | 句柄
102 | 永久反应器组的开始，始终为“{ACAD_REACTORS”（永久反应器组出现在除主词典以外的所有词典中）。
330 | 所有者词典的软指针 ID/句柄。 对于 TABLESTYLE 对象，此代码始终是命名对象词典的 ACAD_TABLESTYLE 条目
102 | 永久反应器组的结束，始终为“}”
100 | 子类标记 (AcDbTableStyle)
3 | 表样式说明（字符串；最多为 255 个字符）
70 | 流向（整数）： 0 = 下 1 = 上
71 | 标志（按位编码）
40 | 水平单元边距（实数；默认值 = 0.06）
41 | 垂直单元边距（实数；默认值 = 0.06）
280 | 是否隐藏标题的标志： 0 = 不隐藏 1 = 隐藏
281 | 是否隐藏列标题的标志： 0 = 不隐藏 1 = 隐藏
 | 为表中的每个单元重复以下组码
7 | 文字样式名（字符串；默认值 = 标准）
140 | 文字高度（实数）
170 | 单元对齐（整数）
62 | 文字颜色（整数；默认值 = 随块）
63 | 单元填充颜色（整数；默认值 = 7）
283 | 是否启用背景色的标志（默认值 = 0）： 0 = 禁用 1 = 启用
90 | 单元数据类型
91 | 单元单位类型
274-279 | 与每个单元边框类型相关联的线宽（默认值 = kLnWtByBlock）
284-289 | 与每个单元边框类型相关联的可见性的标志（默认值 = 1）： 0 = 不可见 1 = 可见
64-69 | 与每个单元边框类型相关联的颜色值（默认值 = 随块）


UNDERLAYDEFINITION

OBJECTS 段
OBJECTS 段
UNDERLAYDEFINITION

以下组码适用于 UNDERLAYDEFINITION 符号表条目。 除此处所述的组码以外，另请参见符号表条目的常用组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

UNDERLAYDEFINITION 组码
组码 | 说明
0 | 对象名 (UNDERLAYDEFINITION)
5 | 句柄
102 | 永久反应器组的开始，始终为“{ACAD_REACTORS”
330 | 所有者词典的软指针 ID/句柄
102 | 永久反应器组的结束，始终为“}”
100 | 子类标记 (AcDbUnderlayDefinition)
1 | 参考底图路径和文件名
2 | 参考底图名称


VISUALSTYLE

OBJECTS 段
OBJECTS 段
VISUALSTYLE

以下组码适用于 VISUALSTYLE 对象。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

VISUALSTYLE 组码
组码 | 说明
0 | 对象名 (VISUALSTYLE)
5 | 句柄
102 | 永久反应器组的开始，始终为“{ACAD_REACTORS”
330 | 所有者词典的软指针 ID/句柄
102 | 永久反应器组的结束，始终为“}”
330 | 所有者对象的软所有者 ID/句柄
100 | 子类标记 (AcDbVisualStyle)
2 | 说明
70 | Type
71 | 面光源模型 0 = 不可见 1 = 可见 2 = 冯氏 3 = 古氏
72 | 面光源质量 0 = 没有光源 1 = 经面光源 2 = 经顶点光源
73 | 面颜色模式 0 = 没有颜色 1 = 对象颜色 2 = 背景颜色 3 = 自定义颜色 4 = 单色 5 = 彩色 6 = 降低饱和度
90 | 面修改器 0 = 没有修改器 1 = 不透明 2 = 镜面
40 | 面不透明级别
41 | 面镜面级别
62, 63 | Color
421 | 面样式单色
74 | 边样式模型 0 = 没有边 1 = 素线 2 = 镶嵌面边
91 | 边样式
64 | 边交点颜色
65 | 遮挡边颜色
75 | 遮挡边线型
175 | 边交点线型
42 | 边折缝角度
92 | 边修改器
66 | 边颜色
43 | 边不透明级别
76 | 边宽
77 | 边外伸
78 | 边抖动
67 | 边轮廓颜色
79 | 边轮廓宽
170 | 边光晕间隔
171 | 边素线数
290 | 边隐藏精度标志
174 | 边样式应用标志
93 | 边样式显示设置
44 | Brightness
173 | 阴影类型
291 | 仅内部使用标志


VBA_PROJECT

OBJECTS 段
OBJECTS 段
VBA_PROJECT

以下组码由 VBA_PROJECT 对象使用。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

VBA_PROJECT 组码
组码 | 说明
0 | 对象名 (VBA_PROJECT)
5 | 句柄
102 | 永久反应器组的开始，始终为“{ACAD_REACTORS”
330 | 所有者词典的软指针 ID/句柄
102 | 永久反应器组的结束，始终为“}”
330 | 所有者对象的软所有者 ID/句柄
100 | 子类标记 (AcDbVbaProject)
90 | 二进制数据块数据的字节数（包含在其后的组码 310 记录中）
310 | DXF：二进制对象数据（包含 VBA 工程数据的多个条目）


WIPEOUTVARIABLES

OBJECTS 段
OBJECTS 段
WIPEOUTVARIABLES

以下组码由 WIPEOUTVARIABLES 对象使用。 除此处所述的组码以外，另请参见常用对象组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

WIPEOUTVARIABLES 组码
组码 | 说明
0 | 对象名 (WIPEOUTVARIABLES)
5 | 句柄
102 | 永久反应器组的开始，始终为“{ACAD_REACTORS”
330 | 所有者词典的软指针 ID/句柄。 对于 WIPEOUTVARIABLES 对象，此组码始终是命名对象词典的 ACAD_IMAGE_VARS 条目
102 | 永久反应器组的结束，始终为“}”
100 | 子类标记 (AcDbRasterVariables)
90 | 类版本 0
70 | “显示图像边框”标志：0 = 无边框；1 = 显示边框


XRECORD

OBJECTS 段
OBJECTS 段
XRECORD

以下组码是所有 XRECORD 对象共有的组码。 除此处所述的组码以外，另请参见常用对象组码。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

XRECORD 组码
组码 | 说明
100 | 子类标记 (AcDbXrecord)
280 | 重复记录克隆标志（决定如何合并重复条目）： 0 = 不适用 1 = 保留现有 2 = 使用克隆 3 = <外部参照>$0$<名称> 4 = $0$<名称> 5 = 未损坏名称
1–369（5 和 105 除外） | 这些值可由应用程序以任何方式使用

XRECORD 对象可用于存储和管理任意数据。 它们由 DXF 组码和“普通对象”组码（即非扩展数据组码）构成，支持的范围为 1 到 369。 此对象在概念上与扩展数据类似，但没有尺寸或次序的限制。

XRECORD 对象的工作方式使得在 R13c0 到 R13c3 版本之间不会发生冲突。 但是，如果读入到 AutoCAD® R13c4 之前的版本中，XRECORD 对象将消失。


THUMBNAILIMAGE 段

本章介绍了 DXF™ 文件的 THUMBNAILIMAGE 区域中的组码。 仅当将预览图像与 DXF 文件一同保存时，该段才存在。

本节内容包括：

  • THUMBNAILIMAGE 段组码


THUMBNAILIMAGE 段组码

THUMBNAILIMAGE 段
THUMBNAILIMAGE 段
THUMBNAILIMAGE 段组码

下列组码可以在 THUMBNAILIMAGE 段找到。 关于此表中使用的缩写和格式方面的信息，请参见本参考的格式惯例。

THUMBNAILIMAGE 组码
组码 | 说明
90 | 图像中的字节数（以及后续二进制数据块记录）
310 | 预览图像数据（多行；每行最多 256 个字符）


图形交换文件格式

本附录介绍了 AutoCAD® 与其他应用程序交换图形数据时使用的各种文件格式。 这些格式包括图形交换文件 (DXF™)、二进制 DXF、幻灯片 (SLD) 和幻灯片库 (SLB) 文件格式。

DXF 文件可以是 ASCII 格式，也可以是二进制格式。 由于 ASCII DXF 文件格式比二进制文件格式更常用，因此术语 DXF 文件用来表示 ASCII DXF 文件，而术语二进制 DXF 文件则用来表示二进制格式。

本节内容包括：

  • ASCII DXF 文件
  • 二进制 DXF 文件
  • 幻灯文件
  • 幻灯库文件


ASCII DXF 文件

图形交换文件格式
图形交换文件格式
ASCII DXF 文件

本节介绍 ASCII DXF 文件的格式。 只有自行编写程序处理 DXF 文件，或者使用由 AutoLISP® 和 ObjectARX® 应用程序获得的图元信息时，才需要使用本节中包含的信息。

本节内容包括：

  • DXF 文件的基本结构
  • DXF 文件中的组码
  • DXF 文件中的标题组码
  • DXF 文件中的类组码
  • DXF 文件中的符号表组码
  • DXF 文件中的块组码
  • DXF 文件中的图元组码
  • DXF 文件中的对象组码
  • 编写 DXF 接口程序


DXF 文件的基本结构

图形交换文件格式
图形交换文件格式
DXF 文件的基本结构

DXF 文件本质上由代码及关联值对组成。 代码（通常称为组码）表明其后的值的类型。 使用这些组码和值对，可以将 DXF 文件组织到由记录组成的区域中，这些记录由组码和数据项目组成。 在 DXF 文件中，每个组码和值都各占一行。

每段都以一个后跟字符串 SECTION 的组码 0 开始， 其后是组码 2 和表示该段名称的字符串（例如，HEADER）。 每段都由定义其元素的组码和值组成。 每段都以一个后跟字符串 ENDSEC 的组码 0 结束。

从小图形中生成 DXF 文件，打印出来并在阅读本文时参考，可能会有助于用户理解本文的内容。

DXF 文件完整的结构如下：

  • HEADER 段。包含图形的基本信息。 它由 AutoCAD 数据库版本号和一些系统变量组成。 每个参数都包含一个变量名称及其关联的值。
  • CLASSES 段。包含应用程序定义的类的信息，这些类的实例出现在数据库的 BLOCKS、ENTITIES 和 OBJECTS 段中。 类定义在类的层次结构中是固定不变的。
  • TABLES 段。包含以下符号表的定义：

    • APPID（应用程序标识表）

    BLOCK_RECORD（块参照表）

    DIMSTYLE（标注样式表）

    LAYER（图层表）

    LTYPE（线型表）

    STYLE（文字样式表）

    UCS（用户坐标系表）

    VIEW（视图表）

    VPORT（视口配置表）

  • BLOCKS 段。包含构成图形中每个块参照的块定义和图形图元。
  • ENTITIES 段。包含图形中的图形对象（图元），其中包括块参照（插入图元）。
  • OBJECTS 段。包含图形中的非图形对象。 除图元、符号表记录以及符号表以外的所有对象都存储在此段。 OBJECTS 段中的条目样例是包含多线样式和组的词典。
  • THUMBNAILIMAGE 段。包含图形的预览图像数据。 此段为可选。

如果使用 SAVE 或 SAVEAS 命令的“选择对象”选项，那么所得到的 DXF 文件的 ENTITIES 区域将只包含选择的图元。


DXF 文件中的组码

图形交换文件格式
图形交换文件格式
DXF 文件中的组码

组码和关联值定义对象或图元的特定方面。 紧接着组码的一行是关联值。 该值可以是字符串、整数或浮点值，例如点的 X 坐标。 组中第二行后面的行（如果存在）由组定义和与组关联的数据确定。

特殊组码用作文件分隔符，例如用于表示段和表的开始和结束，以及文件本身结束的标记。

图元、对象、类、表和表条目以及文件分隔符通过 0 组码（其后是用于描述该组的名称）引入。

DXF 文件字符串的最大长度是 256 个字符。 如果 AutoCAD 图形中包含的字符串超出了此数字，则在执行 SAVE、SAVEAS 和 WBLOCK 时将截断那些字符串。 如果 DXF 文件包含的字符串超出了此长度，OPEN 和 INSERT 命令将失败。

本节内容包括：

  • DXF 文件中的 ASCII 控制字符


DXF 文件中的 ASCII 控制字符

图形交换文件格式
图形交换文件格式
DXF 文件中的 ASCII 控制字符

SAVEAS 处理文字字符串中的 ASCII 控制字符的方法是在相应的字母前面加一个插入符号 (^)。 例如，将 ASCII 控制字符 G（BEL，十进制代码 7）写为 ^G。如果文字本身包含插入符，插入符将扩展为插入符和空格 (^ )。 OPEN 和 INSERT 用于执行补充转换。


DXF 文件中的标题组码

图形交换文件格式
图形交换文件格式
DXF 文件中的标题组码

应用程序可以使用 AutoLISP getvar 函数检索这些变量的值。

以下是 DXF™ 文件的 HEADER 区域的样例：

0 SECTION 2 HEADER | HEADER 段的开始
9 $<变量> <组码> <值> | 为每个标题变量重复一次
0 ENDSEC | HEADER 段的结束


DXF 文件中的类组码

图形交换文件格式
图形交换文件格式
DXF 文件中的类组码

以下是 DXF 文件 CLASSES 段的样例：

0 SECTION 2 CLASSES | CLASSES 段的开始
0 CLASS 1 <类 dxf 记录> 2 <类名> 3 <应用程序名> 90 <标志> 280 <标志> 281 <标志> | 为每个条目重复一次
0 ENDSEC | CLASSES 段的结束


DXF 文件中的符号表组码

图形交换文件格式
图形交换文件格式
DXF 文件中的符号表组码

以下是 DXF 文件 TABLES 段的样例。

0 SECTION 2 TABLES | TABLES 段的开始
0 TABLE 2 <表类型> 5 <句柄> 100 AcDbSymbolTable 70 <最大条目数> | 常用表组码；为每个条目重复一次
0 <表类型> 5 <句柄> 100 AcDbSymbolTableRecord . . <数据> . | 表条目数据；为每个表记录重复一次
0 ENDTAB | 表的结束
0 ENDSEC | TABLES 段的结束

本节内容包括：

  • 符号表样例


符号表样例

图形交换文件格式
图形交换文件格式
符号表样例

此 DXF 序列表示三个完整的对象：符号表和两个条目。

0 |
TABLE | 表示符号表条目
2 |
STYLE | 文字样式符号表条目。 这是代码 0 完全定义类型这一规则的例外情况
5 |
1C | STYLE 表句柄；与图元和其他对象的句柄相同
70 |
3 | 可跟随的 STYLE 表记录的最大数目（R13 版本之前的字段）
1001 |
APP_X | APP_X 已在符号表中放置了扩展数据
1040 |
42.0 | 只是一个浮点数
0 |
STYLE | STYLE 符号表中第一个元素的开始
5 |
3A | 第一个条目的句柄（此处，DIMSTYLE 条目将为 105）
2 |
ENTRY_1 | 第一个条目的文字名称
70 |
64 | 标准标志值
40 |
.4 | 文字高度
41 |
1.0 | 宽度比例因子
50 |
0.0 | 倾斜角度
71 |
0 | 文字生成标志
42 |
0.4 | 上次使用的高度
3 |
BUFONTS.TXT | 主要字体文件名
0 |
STYLE | 第二个条目开始。 第一个条目中无扩展数据或永久反应器
5 |
C2 | 第二个条目的句柄
2 |
ENTRY_2 | 第二个条目的文字名称
... |
... | 组码 3 下的其他字段
3 |
BUFONTS.TXT | 主要字体文件名和最后一个对象类型 - 特定的组
102 |
{ACAD_REACTORS | 此条目有两个永久反应器
330 |
3C2 | 第一个反应器对象的软 ID
330 |
41B | 第一个反应器对象的软 ID
102 |
} | 表示反应器集的结束
1001 |
APP_1 | 此条目上附着的扩展数据
1070 |
45 |
1001 |
APP_2 |
1004 |
18A5B3EF2C199A |
0 |
UCS | UCS 表的开始（以及上一个记录和表的结束）


DXF 文件中的块组码

图形交换文件格式
图形交换文件格式
DXF 文件中的块组码

以下是 DXF 文件 BLOCKS 段的样例：

0 SECTION 2 BLOCKS | BLOCKS 段的开始
0 BLOCK 5 <句柄> 100 AcDbEntity 8 <图层> 100 AcDbBlockBegin 2 <块名> 70 <标志> 10 <X 值> 20 <Y 值> 30 <Z 值> 3 <块名> 1 <外部参照路径> | 每个块条目的开始（块图元定义）
0 <图元类型> . . <数据> . | 块中的每个图元定义有一个条目
0 ENDBLK 5 <句柄> 100 AcDbBlockEnd | 每个块条目的结束（endblk 图元定义）
0 ENDSEC | BLOCKS 段的结束


DXF 文件中的图元组码

图形交换文件格式
图形交换文件格式
DXF 文件中的图元组码

以下是 DXF 文件 ENTITIES 段的样例：

0 SECTION 2 ENTITIES | ENTITIES 段的开始
0 <图元类型> 5 <句柄> 330 <指向所有者的指针> 100 AcDbEntity 8 <图层> 100 AcDb<类名> . . <数据> . | 每个图元定义一个条目
0 ENDSEC | ENTITIES 段的结束


DXF 文件中的对象组码

图形交换文件格式
图形交换文件格式
DXF 文件中的对象组码

以下是 DXF 文件 OBJECTS 段的样例：

0 SECTION 2 OBJECTS | OBJECTS 段的开始
0 DICTIONARY 5 <句柄> 100 AcDbDictionary | 命名对象词典（根词典对象）的开始
3 <词典名> 350 <子对象句柄> | 为每个条目重复一次
0 <对象类型> . . <数据> . | 对象数据组
0 ENDSEC | OBJECTS 段的结束


编写 DXF 接口程序

图形交换文件格式
图形交换文件格式
编写 DXF 接口程序

通过 DXF 文件编写与 AutoCAD 通信的程序似乎比实际情况要难。 使用 DXF 格式可以轻松地忽略不需要的信息，而只读取需要的信息。

本节内容包括：

  • 读取 DXF 文件
  • 写入 DXF 文件


读取 DXF 文件

图形交换文件格式
图形交换文件格式
读取 DXF 文件

以下是一个简单的 Visual Basic 6 程序样例，它读取 DXF 文件，并且从给定段的给定对象中提取特定代码和值。

' ReadDXF 从 DXF 文件中提取指定的代码/值对。
' 此函数需要四个字符串参数、一个有效的 DXF
' 文件名、一个 DXF 段名、该段中对象的
' 名称以及由逗号分隔的代码列表。
'
Function ReadDXF( _
        ByVal dxfFile As String, ByVal strSection As String, _
        ByVal strObject As String, ByVal strCodeList As String)
    Dim tmpCode, lastObj As String
    Open dxfFile For Input As #1
    ' 获取第一个代码/值对
    codes = ReadCodes
    ' 遍历整个文件，直到“EOF”行
    While codes(1) <> "EOF"
        ' 如果组码为“0”，并且值为“SECTION”，则
        If codes(0) = "0" And codes(1) = "SECTION" Then
            ' 这必须是一个新的段，以便获取下一个
            ' 代码/值对。
            codes = ReadCodes()
            ' 如果此段是要获取的段，则
            If codes(1) = strSection Then
                ' 获取下一个代码/值对，并
                codes = ReadCodes
                ' 遍历此段，直到“ENDSEC”
                While codes(1) <> "ENDSEC"
                    ' 在某段中，所有的“0”代码都表示
                    ' 对象。 如果找到了“0”代码，则存储
                    ' 对象名称，供以后使用。
                    If codes(0) = "0" Then lastObj = codes(1)
                    ' 如果此对象是用户所需的对象，
                    If lastObj = strObject Then
                        ' 则在代码前后加上逗号
                        tmpCode = "," & codes(0) & ","
                        ' 如果此代码位于代码列表中，
                        If InStr(strCodeList, tmpCode) Then
                            ' 则附加返回值。
                            ReadDXF = ReadDXF & _
                                codes(0) & "=" & codes(1) & vbCrLf
                        End If
                    End If
                    ' 读取其他代码/值对
                    codes = ReadCodes
                Wend
            End If
        Else
            codes = ReadCodes
        End If
    Wend
    Close #1
End Function

' ReadCodes 从打开的文件中读取两行，并返回一个包含两个项目

' 的数组、一个组码及其组码值。 只要一次读取 DXF 文件中的两行代码，

' 所有程序应该都能够顺利运行。 但为了使代码

' 更可靠，应该添加一些进行错误检查和其他

' 检查的代码。

'

Function ReadCodes() As Variant

    Dim codeStr, valStr As String

    Line Input #1, codeStr

    Line Input #1, codeStr

    ' 修剪代码中的前导空格和后续空格

    ReadCodes = Array(Trim(codeStr), valStr)

End Function


写入 DXF 文件

图形交换文件格式
图形交换文件格式
写入 DXF 文件

与编写读取 DXF 文件的程序相比，编写创建 DXF 文件的程序更困难，因为必须保持图形的一致性，这样 AutoCAD 才能找到可接受的文件。 AutoCAD 使您可以省略 DXF 文件中的很多内容，而仍然能够获得可用的图形。

  • 如果不设置标题变量，则可以省略整个 HEADER 区域。
  • 如果不需要创建条目，则可以省略 TABLES 区域中的任何表；如果不需要 TABLES 区域中的任何内容，则可以省略整个 TABLES 区域。
  • 如果在 LTYPE 表中定义了线型，则此表必须显示在 LAYER 表之前。
  • 如果图形中未使用任何块定义，则可以省略 BLOCKS 段。
  • 如果 BLOCKS 段存在，则该段必须出现在 ENTITIES 段之前。
  • 在 ENTITIES 区域中，即使未在 LAYER 表中定义图层名，也可以参照这些图层名。 系统自动使用颜色 7 和 CONTINUOUS 线型来创建此类图层。
  • 文件结尾处必须存在 EOF 项目。

以下 Visual Basic 6 子例程创建了表示多边形的 DXF 文件。

' WriteDXFPolygon 创建一个最小的 DXF 文件，其中只
' 包含 ENTITIES 段。 此子例程需要五个参数：
' DXF 文件名、多边形的边数、最右侧
' 一条边（这条边为竖直方向）底部端点的 X 坐标和 Y 坐标
' 以及每条边的
' 长度。 注意，因为这里只要求二维点，所以
' 不包含 Z 坐标（代码 30 和 31）。 直线
' 置于“多边形”图层中。
'
Sub WriteDXFPolygon( _
        dxfFile As String, iSides As Integer, _
        dblX As Double, dblY As Double, dblLen As Double)
    Dim i As Integer
    Dim dblA1, dblA, dblPI, dblNX, dblNY As Double
    Open dxfFile For Output As #1
    Print #1, 0
    Print #1, "SECTION"
    Print #1, 2
    Print #1, "ENTITIES"
    dblPI = Atn(1) * 4
    dblA1 = (2 * dblPI) / iSides
    dblA = dblPI / 2
    For i = 1 To iSides
        Print #1, 0
        Print #1, "LINE"
        Print #1, 8
        Print #1, "Polygon"
        Print #1, 10
        Print #1, dblX
        Print #1, 20
        Print #1, dblY
        dblNX = dblLen * Cos(dblA) + dblX
        dblNY = dblLen * Sin(dblA) + dblY
        Print #1, 11
        Print #1, dblNX
        Print #1, 21
        Print #1, dblNY
        dblX = dblNX
        dblY = dblNY
        dblA = dblA + dblA1
    Next i
    Print #1, 0
    Print #1, "ENDSEC"
    Print #1, 0
    Print #1, "EOF"
    Close #1
End Sub

只要在需要数据的行上写入了格式正确的项目，DXFIN 就会接受该项目。 （当然，字符串项目不应该包含前导空格，除非这些空格是字符串的一部分。） 此 BASIC 程序利用了输入格式的灵活性，它生成的文件与 AutoCAD 生成的文件并不完全相同。

如果使用 DXFIN 进行加载时出现错误，AutoCAD 将通过一条信息报告该错误，指明错误的性质以及检测到错误之前在 DXF 文件中处理的最后一行数据。 错误可能并不出现在这一行，尤其是当出现省略所需组这样的错误时更是如此。


二进制 DXF 文件

图形交换文件格式
图形交换文件格式
二进制 DXF 文件

ASCII DXF 文件格式是 ASCII 文字格式的 AutoCAD 图形的完整表示，这种格式易于被其他程序处理。 此外，AutoCAD 可以生成或读取二进制格式的完整 DXF 文件，并接收其他二进制文件格式的有限输入。

SAVE 和 SAVEAS 命令提供了“二进制”选项，可用来写入二进制 DXF 文件。 二进制格式的 DXF 文件与 ASCII 格式的 DXF 文件包含的信息相同，但格式上前者比后者更精简，能够节省百分之二十五的文件空间。 AutoCAD 能够更快地对其进行读写操作（通常能够快五倍）。 与 ASCII DXF 文件（该文件需要在文件大小和浮点运算精度之间权衡）不同，二进制 DXF 文件能够在图形数据库中保持精度。 （AutoCAD R10 是支持这种格式的 DXF 文件的第一个版本，以前的版本无法读取这种格式的 DXF 文件。）

二进制 DXF 文件以 22 个字节的标记开始，此标记包含下列内容：

AutoCAD Binary DXF<CR><LF><SUB><NULL>

标记之后是位于 ASCII DXF 文件中但以二进制格式表示的数据对（组、值）。 组码是双字节的二进制值（在 AutoCAD Release 14 之前的 DXF 文件中是单字节），其后的值为下列值之一：

  • 双字节整数，低位字节在前，高位字节在后
  • 存储的 8 字节 IEEE 双精度浮点数，低位字节在前，高位字节在后
  • 以 0（空）字节结束的 ASCII 字符串

组后面的数据类型由组码决定，所依据的规则与解码 ASCII DXF 文件时使用的规则相同。 二进制文件和 ASCII DXF 文件中都可以进行角度到度的转换和日期到分数形式的公历日期表示的转换。 在二进制 DXF 文件中，不使用注释组 999。

在二进制 DXF 文件中，扩展数据组代码表示为值为 255 的单字节数据，后面是双字节的整数值，其中包含实际组码（后跟实际值）。

扩展数据长值（组码 1071）占据 4 个数据字节。 扩展数据二进制数据块（组码 1004）表示为单字节无符号整数长度，后跟指定字节数目的数据块数据。 例如，要转换扩展数据长值组，将出现以下值，分别占据 1 个字节、2 个字节和 4 个字节。

255        换码组码
1071       真组码
999999     1071 组码的值

SAVEAS 写入二进制 DXF 文件的文件类型 (.dxf) 与写入 ASCII DXF 文件的文件类型相同。 OPEN 和 INSERT 命令会根据文件的标记字符串自动识别二进制文件。 用户不需要将其标识为二进制文件。

如果在二进制 DXF 文件中执行 OPEN 和 INSERT 命令时出错，AutoCAD 将报告文件中检测到错误的字节地址。


幻灯文件

图形交换文件格式
图形交换文件格式
幻灯文件

注意 此信息适用于有经验的程序员，如有更改，恕不另行通知。

AutoCAD 幻灯片文件是由 MSLIDE 命令写入并由 VSLIDE 命令读取的屏幕图像。 本节介绍幻灯文件的格式，以便于希望在程序中融入幻灯支持的开发人员进行开发。

幻灯文件由标题部分（31 字节）以及一个或多个可变长度的数据记录组成。 写入幻灯文件的所有坐标和大小都基于创建幻灯时显示设备的图形区，点 (0,0) 位于图形区的左下角。 对于 AutoCAD R9 以及更高版本，幻灯文件标题由以下字段组成：

幻灯文件标题
字段 | 字节 | 说明
ID 字符串 | 17 | “AutoCAD 幻灯片”CR LF ^Z NUL
类型标识符 | 1 | 当前设置为 56（十进制）
层指示器 | 1 | 当前设置为 2
高 X 点 | 2 | 图形区域的宽度：1，以像素为单位
高 Y 点 | 2 | 图形区域的高度：1，以像素为单位
宽高比 | 4 | 绘图区域宽高比（以英寸为单位的水平尺寸/竖直尺寸），按 10,000,000 缩放。 通常以低位字节在前的方式写入此数值
硬件填充 | 2 | 0 或 2（值不重要）
测试数字 | 2 | 一个数字（十六进制值 1234），用于确定是以高阶字节在前的顺序（适用于 Intel 8086 系列 CPU）还是以低阶字节在前的顺序（适用于 Motorola 68000 系列 CPU）写入幻灯片中所有的双字节值

标题后面是数据记录。 每个数据记录的开头为双字节的字段，其高位字节表示记录的类型。 记录的其余部分可由单字节或双字节的字段组成，如下表所述。 要确定双字节字段是以高阶字节在前的顺序还是以低阶字节在前的顺序写入，请查看上表说明的标题的“测试数字”字段。

幻灯文件数据记录
记录类型 （十六进制） | 字节 | 含义 | 说明
00-7F | 8 | 矢量 | 普通矢量的 from-X 坐标。 并按照后面是 from-Y、to-X 和 to-Y 坐标的顺序作为双字节值。 from- 点保存为上一点
80-FA | — | 未定义 | 保留以供将来使用
FB | 5 | 偏移矢量 | 低阶字节和其后的三个字节根据距保存的上一点的偏移量（-128 到 +127）来指定矢量的端点 (from-X,from-Y,to-X,to-Y)。 将经过调整的 from- 点保存为上一点，以供后续矢量使用
FC | 2 | 文件结尾 | 低阶字节为 00
FD | 6 | 实体填充 | 低阶字节始终为零。 后面的两个双字节值指定要进行实体填充的多边形的一个顶点的 X 坐标和 Y 坐标。 会依次出现三到十个这样的记录。 Y 坐标值为负的实体填充记录表示这种填充序列的开始或结束。 在起点记录中，X 坐标指示要跟随的顶点记录的数目
FE | 3 | 常用 端点 矢量 | 这是一个以上一点作为起点的矢量。 低阶字节和其后的字节根据距保存的上一点的偏移量（-128 到 +127）来指定 to-X 和 to-Y。 将经过调整的 to- 点保存为上一点，以供后续矢量使用
FF | 2 | 新建颜色 | 使用由低阶字节指示的颜色号绘制后续矢量

只要幻灯片包含矢量，“新建颜色”记录将是第一个数据记录。 幻灯片中矢量的顺序和这些矢量端点的顺序可能会变化。

例如，以下是在安装有 IBM 增强型图形适配器的 IBM PC/AT 上创建的简单幻灯文件的十六进制转储（标有注释）。 幻灯片包含一条从绘图区域左下角到右上角的白色对角线、一条位于左下角附近的绿色垂直线以及一个在左下角处的红色小矩形。

41 75 74 6F 43 41 ID         字符串（“AutoCAD 幻灯片”CR LF ^Z NUL）
44 20 53 6C 69 64
65 0D 0A 1A 00
56                           类型标识符 (56)
02                           层指示器 (2)
3C 02                        高 X 点 (572)
24 01                        高 Y 点 (292)
0B 80 DF 00                  宽高比 (14,647,307 / 10,000,000 = 1.46)
02 00                        硬件填充 (2)
34 12                        测试数字 (1234 十六进制)
07 FF                        新建颜色（7 = 白色）
3C 02 24 01 00 00 00 00      从 572,292 到 0,0 的矢量。 (572,292) 成为“上一个”点
3 FF                         新建颜色（3 = 绿色）
0F 00 32 00 0F 00 13 00      从 15,50 到 15,19 的矢量。 \x1115,50 成为 “上一个”点
01 FF                        新建颜色（1 = 红色）
12 FB E7 12 CE               从 15+18,50-25 (33,25) 到 15+18,50-50 (33,0) 的偏移矢量。50-50 (33,0). (33,25)成为“上一个”点
DF FE 00                     从 33,25 到 33-33，25+0 (0,25) 的公共端点矢量。(0,25). (0,25)成为“上一个”点
00 FE E7                     从 (0,25) 到 0+0,25-25 (0,0) 公共端点的矢量。(0,0). (0,0)成为“上一个”点
21 FE 00                     从 (0,0) 到 0+33，0+0 (33,0) 公共端点矢量。(33,0)成为“上一个”点
00 FC                        文件结尾

本节内容包括：

  • 旧幻灯片标题


旧幻灯片标题

图形交换文件格式
图形交换文件格式
旧幻灯片标题

上节介绍的幻灯片格式由 AutoCAD R9 及更高版本生成，并且可以移植到运行 AutoCAD R9 及更高版本的所有计算机中。 以前版本的 AutoCAD（以及 AutoShade® 1.0 和 AutoSketch® 1.02）可以生成具有不同标题的幻灯片，如下表所示。

旧的幻灯文件标题
字段 | 字节 | 说明
ID 字符串 | 17 | “AutoCAD 幻灯片”CR LF ^Z NUL
类型标识符 | 1 | 56（十进制）
层指示器 | 1 | 1（旧格式）
高 X 点 | 2 | 图形区域的宽度：1，以像素为单位
高 Y 点 | 2 | 图形区域的高度：1，以像素为单位
宽高比 | 8 | 以浮点数写入的绘图区域宽高比（以英寸度量的水平尺寸/竖直尺寸）
硬件填充 | 2 | 0 或 2（值不重要）
填充字节 | 1 | 未使用

注意，旧格式标题不包含“测试数字”字段。 浮点宽高比值和所有双字节的整数均以用于创建文件的 CPU 的本地格式写入（对于 8086 系列的 CPU，为 IEEE 双精度，且低阶字节在前）。 旧格式的幻灯文件不能在不同的计算机类型之间移植，但是可以由任何版本的 AutoCAD 读取（运行该版本的 CPU 类型需要与创建该幻灯文件的 CPU 类型相同）。


幻灯库文件

图形交换文件格式
图形交换文件格式
幻灯库文件

本节介绍 AutoCAD 幻灯库（R9 及更高版本）的格式，以便于希望在程序中融入幻灯库支持的开发人员进行开发。

幻灯库的基本格式如下：

"AutoCAD Slide Library 1.0”CR LF ^Z NUL NUL NUL NUL 标题（32 个字节）
一个或多个幻灯片目录条目（每个条目 36 个字节）
一个或多个幻灯片（可变长度）

幻灯片目录条目包含以下格式：

幻灯片名称（以 NUL 结束）（32 个字节）
幻灯片在库文件中的地址（4 个字节）

幻灯片地址通常以低阶字节在前的格式写入。 目录所指向的每个幻灯片是前一节所述的完整幻灯文件。 幻灯目录的结尾由带有空幻灯片名称的条目标记（第一个字节为 NUL）。 幻灯库可以同时包含旧格式和新格式的幻灯片。


高级 DXF 问题

本附录讨论关于 DXF™ 组码的高级概念。

本节内容包括：

  • 数据库对象
  • 永久对象间参照句柄
  • 子类标记
  • 扩展词典和永久反应器
  • 扩展数据
  • 对象坐标系 (OCS)
  • 任意轴算法


数据库对象

高级 DXF 问题
高级 DXF 问题
数据库对象

AutoCAD® 图形主要由数据库对象的结构化容器构成。 每个数据库对象都具有以下特征：

  • 句柄，其值在图形/DXF 文件中是唯一的，并且在图形的生命期内固定不变。 此格式从 AutoCAD R10 开始就存在；在 AutoCAD R13 中，句柄一直处于启用状态。
  • 可选扩展数据表，因为从 AutoCAD R11 开始起就有图元。
  • 可选永久反应器表。
  • 扩展词典的可选所有权指针，扩展词典拥有应用程序放置在辞典中的子对象。

符号表和符号表记录是数据库对象，因此具有句柄。 它们的 DXF 记录中还可以包含扩展数据和永久反应器。


永久对象间参照句柄

高级 DXF 问题
高级 DXF 问题
永久对象间参照句柄

组码范围集允许对象直接指定同一图形/DXF 文件中其他对象的参照。 为四种可指定的参照句柄类型提供了四种范围：

  • 软指针句柄
  • 硬指针句柄
  • 软所有者句柄
  • 硬所有者句柄

这些句柄类型在 AutoLISP® 中表示为图元名，在 ObjectARX® 中表示为 ads_name 值，还可以表示为从 ObjectARX 派生的相似命名类。 这些值在插入、外部参照和写块操作中始终保持不变，这样所复制的集合中对象之间的参照将更新以指向复制的对象，同时其他对象的参照将保持不变。

此外，为“任意”句柄定义组码范围还为存储句柄值带来了方便：句柄值不用先转换成图元名，然后在插入、外部参照或写块中进行转换。

注意 如果使用 1005 扩展数据组码存储句柄，句柄将作为软指针句柄进行处理。也就是说，将对象组复制或插入到另一图形时，所涉及的对象之间的参照将被转换。 尽管 1005 扩展数据项在 AutoLISP 和 ObjectARX 中始终作为句柄返回，但所有参照句柄组码范围在 AutoLISP 中都表示为“图元名”，在 ObjectARX 中表示为 ads_name 结构。

本节内容包括：

  • 指针和所有权参照
  • 硬参照和软参照
  • 任意句柄
  • 1005 组码


指针和所有权参照

高级 DXF 问题
高级 DXF 问题
指针和所有权参照

指针表示对另一对象的参照，表示使用该对象而不拥有该对象或对其负责。 指针参照是指对象以某种方式使用其他对象，并共享对该对象的访问。

所有权参照是指所有者对象对拥有其所有者句柄的对象负责。 所有权参照以一般方式控制对所有 DWG 和 DXF 文件的写操作，例如，从几个关键根对象开始操作。

一个对象可以有任意多个相关联的指针参照，但只能有一个所有者。


硬参照和软参照

高级 DXF 问题
高级 DXF 问题
硬参照和软参照

硬参照（无论是指针还是所有者）可以保护对象免受清理， 而软参照则不能。

在 AutoCAD 中，块定义和复杂图元是其元素的硬所有者。 符号表和词典是其元素的软所有者。 多段线图元是其顶点和 seqend 图元的硬所有者。 插入图元是其属性和 seqend 图元的硬所有者。

建立另一对象的参照时，建议考虑一下参照是否应保护对象不受 PURGE 命令的影响。


任意句柄

高级 DXF 问题
高级 DXF 问题
任意句柄

任意句柄的独特之处在于，它们在内部并不被转换为永久部分标识符，或在 AutoLISP 中转换为图元名等等。 它们以句柄的形式进行存储。 在合并图形操作中转换句柄值时，任意句柄将被忽略。

任何情况下，都可以通过 handent 函数将任意句柄转换成当前图形的图元名。 任意句柄的通常用法是参照外部 DXF 和 DWG 文件中的对象。


1005 组码

高级 DXF 问题
高级 DXF 问题
1005 组码

1005 扩展数据组码与软指针的行为和语法相同，这意味着该组码将在主对象合并到不同的图形时进行转换。 但是，1005 项在 AutoLISP 和 ObjectARX 中并不转换为永久部分标识符或内部图元名。 它们以句柄的形式进行存储。


子类标记

高级 DXF 问题
高级 DXF 问题
子类标记

将组数据流归档时，单个对象可能由多个文件处理器成员组成，归档完成处的每个继承层都有一个文档处理器成员。 由于派生类和继承层可以单独发展，因此每个类的文件处理器成员必须与其他成员分开。 使用子类标记可以实现此目的。

所有类文件处理器成员都应该用“子类”标记处理实例数据中与该成员的类有关的部分（100 组码，后跟具有实际类名的字符串）。 这不影响定义对象状态所需的状态，但它为 DXF 文件分析器提供了一种方法，可以将组码导入到相应的应用程序软件中。

例如，如果对象包含来自不同派生类的数据，对象将显示为：

999
FOOGRANDCHILD，由 AcDbSonOfSonOfFoo 类定义，它
999
 由从 AcDbSonOfFoo 派生
  0
FOOGRANDCHILD
  5
C2
100
AcDbFoo
999
使用 10/20/30 组码
 10
1.1
 20
2.3
 30
7.3
100
AcDbSonOfFoo
999
还使用 10/20/30 组码，但将其用于其他目的
 10
1.1
 20
2.3
 30
7.3
100
AcDbSonOfSonOfFoo
999
还使用 10/20/30 组码，但将其用于另一个目的
 10
13.2
 20
23.1
 30
31.2
999
现在用于扩展数据
1001
APP_1
1070
45
1001
APP_2
1004
18A5B3EF2C199A


扩展词典和永久反应器

高级 DXF 问题
高级 DXF 问题
扩展词典和永久反应器

扩展词典是存储属于当前对象的词典对象句柄的可选序列，当前对象反过来可能包含条目。 该功能允许将任意数据库对象附加到任何数据库对象中。 任何对象或图元都可能包含此部分。

永久反应器是一个可选序列，用于存储将自身注册为当前对象上的反应器的对象的对象句柄。 任何对象或图元都可能包含此部分。


扩展数据

高级 DXF 问题
高级 DXF 问题
扩展数据

扩展数据 (xdata) 由 AutoLISP 或 ObjectARX 应用程序创建。 如果图元包含扩展数据，则扩展数据将跟随在图元的普通定义数据之后。 组码 1000 至 1071 描述了扩展数据。 下面是一个包含 DXF 格式扩展数据的图元样例。

普通图元定义数据：

  0
INSERT
  5
F11
100
AcDbEntity
  8
TOP
100
AcDbBlockReference
 2
BLOCK_A
 10
0.0
 20
0.0
 30
0.0

扩展图元定义数据：

1001
AME_SOL
1002
{
1070
 0
1071
 1.95059E+06
1070
 519
1010
2.54717
1020
2.122642
1030
2.049201
1005
ECD
1005
EE9
1005
0
1040
0.0
1040
1.0
1000
MILD_STEEL

组码 1001 表示扩展数据的开始。 与普通图元数据相比，具有扩展数据的同一组码可以出现多次，而且出现次序很重要。

扩展数据按注册的应用程序名分组。 每个注册的应用程序组始于 1001 组码，并将程序名作为字符串值。 注册的应用程序名对应于 APPID 符号表条目。

应用程序可以根据需要使用任意多的 APPID 名。 APPID 名是固定不变的，但是，如果当前未在图形中使用 APPID 名，则可以将它们删除。 每个 APPID 名只能向每个图元附加一个数据组。 在应用程序组中，扩展数据组的顺序和含义由应用程序定义。

下表列出了扩展数据组码。

扩展数据组码和说明
图元名 | 组码 | 说明
字符串 | 1000 | 扩展数据中字符串的最大长度为 255 个字节（第 256 个字节是为空字符保留的）
应用程序名称 | 1001 也是字符串值 | 应用程序名的最大长度为 31 个字节（第 32 个字节是为空字符保留的） 注意 不要将 1001 组添加到扩展数据中，因为 AutoCAD 假定它是新应用程序扩展数据组的开始
控制字符串 | 1002 | 扩展数据控制字符串可以是“{”或“}”。 这两个大括号使应用程序可以通过将数据细分为表来组织数据。 左大括号开始一个列表，右大括号结束最近的列表。 列表可以嵌套。 读取特定应用程序的扩展数据时，AutoCAD 会进行检查以确保大括号是成对的
图层名 | 1003 | 与扩展数据关联的图层名
二进制数据 | 1004 | 二进制数据组织成可变长度的数据块。 每个数据块的最大长度为 127 个字节。 在 ASCII 格式的 DXF 文件中，二进制数据以十六进制数字字符串的形式表示，每个二进制字节由两个数字字符表示
数据库句柄 | 1005 | 图形数据库中的图元句柄 注意 使用 INSERT、INSERT *、XREF BIND、XBIND 或 PARTIAL OPEN 将带有句柄和扩展数据句柄的图形输入到另一个图形时，扩展数据句柄将使用其相应图元句柄的转换方式进行转换，从而使两者之间的绑定保持不变。 EXPLODE 块操作或任何其他 AutoCAD 操作也是如此。 如果 AUDIT 检测出扩展数据句柄与图形文件中的图元句柄不匹配，将认为存在错误。 AUDIT 修复图元时，将句柄设置为 0。
3 个实数 | 1010, 1020, 1030 | 按 X、Y、Z 次序排列的三个实数值。 可将它们用作点或矢量记录。 AutoCAD 永远不会改变它们的值
世界空间位置 | 1011, 1021, 1031 | 与简单的三维点不同，世界空间坐标随扩展数据所属的父图元进行移动、缩放、旋转和镜像。 对父图元使用 STRETCH 命令并且此点位于选择窗口中时，世界空间位置也会被拉伸。
世界空间位移 | 1012, 1022, 1032 | 也是一个随着父图元进行缩放、旋转和镜像（而不是移动或拉伸）的三维点
世界方向 | 1013, 1023, 1033 | 也是一个随着父图元旋转和镜像（而不是移动、缩放或拉伸）的三维点
实数 | 1040 | 一个实数值
距离 | 1041 | 一个随着父图元进行缩放的实数值
比例因子 | 1042 | 也是一个随着父图元进行缩放的实数值。 距离和缩放因子的差别由应用程序定义
整数 | 1070 | 一个 16 位整数（有符号或无符号）
长整数 | 1071 | 一个 32 位有符号（长）整数


对象坐标系 (OCS)

高级 DXF 问题
高级 DXF 问题
对象坐标系 (OCS)

要节省图形数据库（和 DXF 文件）的空间，可以按照图元自己的对象坐标系 (OCS) 来表示与每个图元关联的点。 使用 OCS，描述图元在三维空间中的位置所需的唯一附加信息是描述 OCS 的 Z 轴和标高值的三维矢量。

对于给定的 Z 轴（或拉伸）方向，有无限个坐标系。这些坐标系是通过在三维空间中转换原点并围绕 Z 轴旋转 X 和 Y 轴而定义的。 但对于同一个 Z 轴方向，只有一个 OCS。 其特性如下：

  • 它的原点与 WCS 原点重合。
  • XY 平面中的 X 和 Y 轴的方向以任意但一致的方式计算。 AutoCAD 使用任意轴算法（参见任意轴算法）执行此计算。

对于某些图元，OCS 等同于 WCS，所有点（DXF 组 10-37）都用世界坐标表示。 参见下表。

与图元类型关联的坐标系
图元 | 注意
三维图元，例如直线、点、三维面、三维多段线、三维顶点、三维网格、三维网格顶点， | 这些图元不在特定平面上。 所有点都用世界坐标表示。 这些图元中，只有直线和点可以拉伸。 它们的拉伸方向可以不同于世界 Z 轴
二维图元，如圆、圆弧、实面、宽线、文字、属性、属性定义、形、插入、二维多段线、二维顶点、优化多段线、图案填充、图像 | 这些图元本质上是平面。 所有点都用对象坐标表示。 这些图元可以拉伸。 它们的拉伸方向可以不同于世界 Z 轴
标注 | 有些标注点用 WCS 表示，有些用 OCS 表示
视口 | 用世界坐标表示

一旦 AutoCAD 为给定图元建立了 OCS，则 OCS 将按如下方式工作：与图元一起存储的标高值表示沿 Z 轴移动 XY 平面（从 WCS 原点）多少距离可以使其和包含图元的平面重合。 用户定义的标高值并不重要。

通过 UCS 输入的任何二维点将转换为相对于 UCS 移动和旋转的 OCS 中相应的二维点。

以下是该过程的几个结果：

  • 获得图元时，不一定会找到所用的 UCS。
  • 在给定的 UCS 中输入图元的 XY 坐标，然后执行 SAVEAS 后，可能无法识别 DXF 文件中的这些 XY 坐标。 必须知道 AutoCAD 计算 X 和 Y 轴的方法才能使用这些值。
  • 与 DXF 文件的图元和输出一起存储的标高值是 UCS XY 平面和 OCS XY 平面之间 Z 坐标差别和绘制图元时用户指定的标高值总和。


任意轴算法

高级 DXF 问题
高级 DXF 问题
任意轴算法

AutoCAD 在内部使用任意轴算法，以便为使用对象坐标的所有图元生成任意但一致的对象坐标系。

假定一个作为坐标系的 Z 轴的单位长度矢量，任意轴算法将为坐标系生成相应的 X 轴。 Y 轴可以通过应用右手定则来确定。

可以使用该方法检查给定的 Z 轴（也称为普通矢量）。 如果它距离正向或负向世界 Z 轴很近，可以用给定的 Z 轴跨越世界 Y 轴到达任意 X 轴。 如果不是很近，可以用给定的 Z 轴跨越世界 Z 轴到达任意 X 轴。 所选的边界应该既便于计算又能在不同计算机上使用。 为此，可以通过安装一种“方形”极轴封口来实现，该封口的边界是 1/64，可以用六位十进制分数和六位二进制分数精确指定。

算法如下（假定所有矢量都在三维空间中并在世界坐标系中指定）：

假定普通矢量为 N。
假定世界 Y 轴为 Wy，它总是位于点 (0,1,0)。
假定世界 Z 轴为 Wz，它总是位于点 (0,0,1)。

现在我们寻找任意 X 和 Y 轴以便与普通 N 匹配。 它们将被称为 Ax 和 Ay。 N 也可以按如下方式称为 Az（任意 Z 轴）：

如果 (abs (Nx) < 1/64) 且 (abs (Ny) < 1/64)，则
     Ax = Wy X N（其中“X”是跨产品运算符）。
否则，
     Ax = Wz X N。
将 Ax 缩放到单位长度。

获得 Ay 矢量的方法如下：

Ay = N X Ax。将 Ay 缩放到单位长度。


评论？

请使用该表格将注释发送至负责该文档的 Autodesk 技术出版组。

主题标题和位置（请勿编辑）：
姓名（可选）：
         电子邮件（可选）：
评论：

注意：该表并不作为用户接收反馈或技术支持的途径。用户提供的信息可使我们将来更好地更新该文档。谢谢！