DXF文件格式——DXF 格式

DXF 格式
 
 
 

DXF™ 格式是 AutoCAD® 图形文件中包含的所有信息的一种带标记数据的表示方式。带标记数据是指文件中的每个数据元素前面都带有一个称为组码的整数。组码的值表明了随后的数据元素的类型。还指出了数据元素对于给定对象(或记录)类型的含义。实际上,图形文件中所有用户指定的信息都可以用 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 参考手册》的版本号为 u19.1.01。

本参考的格式惯例
 
 
 

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

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

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

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

对象和图元代码
 
 
 

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

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

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

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

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

组码值类型
 
 
 

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

组码值类型

代码范围

组值类型

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

双精度标量浮点值

160-169

64 位整数值

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

字符串

480-481

表示 16 进制句柄值的字符串

999

注释(字符串)

1000-1009

字符串(与 0-9 代码范围的限制相同)

1010-1059

双精度浮点值

1060-1070

16 位整数值

1071

32 位整数值


按数字次序排列的组码
 
 
 

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

按数字次序排列的组码

组码

说明

-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

字符串

480-481

硬指针句柄;指向同一个 DXF 文件或图形中的其他对象的任意硬指针。在 INSERT 和 XREF 操作期间进行转换

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 位有符号长整数

  • 3
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
DXF文件格式是AutoCAD绘图软件中常用的文件格式之一。它是一种开放的向量文件格式,用于存储二维和三维CAD数据。DXF文件格式的全称是Drawing Exchange Format。 DXF文件采用ASCII编码,它以文本形式存储图形数据和相关的属性信息。DXF文件可以包含实体、图层、线段、圆弧、多边形、文本等各种图形元素,并通过标记标签进行描述和区分。此外,DXF文件还允许定义CAD数据中的块和块引用,以及CAD文件中的各种属性和参数。 DXF文件的优点是易于读取和修改,以及与其他软件的兼容性强。许多CAD软件都支持导入和导出DXF文件,因此可以很方便地与其他CAD软件和图形设计软件进行数据交换和共享。 DXF文件的结构比较复杂,文件内容按照特定的层次结构进行组织。DXF文件由多个节(header、tables、blocks、entities、objects、thumbnailimage)组成。其中,header节包含文件的全局属性和设置;tables节包含图层、线型和字体等相关信息;blocks节定义了块和块引用;entities节包含实体元素的描述;objects节描述了一些高级对象的属性和参数;thumbnailimage节用于存储缩略图。 总的来说,DXF文件格式是一种用于存储CAD数据的文件格式,它具有开放的特性、易于读取和修改的优点,并且与其他CAD软件和图形设计软件兼容性强。这使得它成为许多CAD用户进行数据交换、共享和迁移的标准文件格式

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值