什么是 DWF 文件?
设计 Web 格式 (DWF) 以压缩格式表示 2D/3D 绘图,用于查看、审查或打印设计文件。它包含作为设计数据一部分的图形和文本,并且由于其压缩格式而减小了文件的大小。减小的文件大小使丰富的设计数据的分发和通信变得高效。 DWF 不要求收件人了解创建原始图形的 CAD 软件的使用情况。 DWF 文件格式的内容可以很简单,只包括一张纸,也可以复杂到足以包含字体、颜色和图像。
历史简介 ##
Autodesk 在 1995 年引入了 DWF 文件格式,作为 Netscape Navigation 插件 WHIP 的一部分。随着时间的推移,该格式从纯 2D 格式演变为包含 3D 内容。许多第三方应用程序也使用这种格式。
DWF 文件格式##
DWF 是一种开放、安全的格式,专为共享丰富的工程设计数据而设计。它独立于用于创建该设计数据的原始应用软件、硬件和操作系统。这使不使用 CAD 应用程序的团队成员能够通过查看建筑、GIS 或产品设计来参与数字化流程。 DWF 文件存档由多个 XML 和二进制文件组成,这些文件一起打包在使用 ZIP 压缩创建的压缩存档中。您可以将 DWF 文件扩展名重命名为 ZIP 并查看文件的内容。 DWF 包可以包含多种设计数据,例如 2D 图形、3D 图形、包和截面元数据以及其他资源文件。
DWF 元数据文件 – XML 文件包含与元数据和结构(作者、标题、创建时间、部分相关性、部分顺序、资源文件描述、角色、mimetypes 等)以及与部分(页面信息、设计元数据等)。结构元数据用于创建逻辑对象(表示部分或页面的文件集合等)。
资源文件 – 从包/部分元数据中引用的媒体或其他内容文件,通常以各种格式(ZGL、W2D、JPG、[PNG] 表示设计数据(/zh/image/png/)、AVI、XML、TXT、DOC等)
文件格式详细信息###
DWF 文件分为三个主要部分,如下所示。
- 文件标识头
- 文件数据块
- 文件终止预告片
文件标识符标题####
文件标识符标题允许应用程序识别 DWF 文件。它还标识用于对文件进行编码的 DWF 规范版本。它是一个 12 字节的标头,排列如下:
字节 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
字符 | ( | D | W | F | (空格) | V | 0 | 0 | . | 3 | 0 | ) |
以下是该表的摘要:
- 标头的前六个字节始终代表 ASCII 字符“(DWF V"
- 以下 5 个字节包含有关版本号的信息,例如“00.30"以及格式的主要和次要版本值
创建 DWF 文件的应用程序应指定阅读器应用程序需要支持的最低版本号,以便正确使用数据。
文件数据块####
文件数据块从 DWF 文件的第 13 个字节开始,是一系列操作码和操作数对,如下表所示。
字段 1 | 字段 2 | 字段 3 | 字段 4 | 字段 5 | 字段 5 |
---|---|---|---|---|---|
操作码 | 操作数 | 操作码 | 操作数 | 操作码 | 操作数 |
DWF 文件可以包含操作码-操作数对作为可读的 ASCII 码以及二进制代码或两者的混合。所有 DWF 操作都具有可读的 ASCII 操作码/操作数形式,并且大多数操作也具有编码的二进制操作码/操作数形式。操作码是单字节的,允许超过 200 次操作。扩展 ASCII 和扩展二进制是例外情况。 Opcodes 的值可以在 0-255 之间,但有一些例外。除了扩展 ASCII 和扩展二进制这两种特殊类型的操作码外,文件阅读器必须知道如何计算操作数长度。
禁止操作码#####
以下的 ASCII 表示不能用作操作码:
以下 ASCII 表示不能用作操作码:
- 空间 (0x20)
- 标签 (0x09)
- 连字符 (0x2D)
- ASCII 数字 0-9 (0x30 - 0x39)
- 回车 (0x0D)
- 换行 (0x0A)
- 单引号 (0x27)
- 双引号 (0x22)
- 周期 (0x2E)
- 括号(0x28 和 0x29)
- 大括号(0x7B 和 0x7D)
- 方括号(0x5B 和 0x5D)
- 反斜杠 (0x5C)
文件终止预告片####
DWF 的文件终止预告片只是一个指示文件结尾的特殊操作码。一些应用程序可以在终止操作码之后存储非 DWF 数据。预告片如下所示:
字节 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
---|---|---|---|---|---|---|---|---|---|---|
字符 | ( | E | n | d | 0 | f | D | W | F | ) |