DXF数据文件格式及接口

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

每个CAD系统都有自己的数据文件,数据文件分图形数据文件、几何模型文件和产品模型文件几种。

数据文件的格式与每个CAD系统自己的内部数据模式密切相关,而每个CAD系统自己内部的数据模式一般是不公开的,也是各不相同的。

由于用户使用的需要,就有数据交换文件概念的出现。

DXF为AutoCAD系统的图形数据文件,DXF虽然不是标准,但由于AutoCAD系统的普遍应用,使得DXF成为事实上的数据交换标准。

DXF是具有专门格式的ASCII 码文本文件,它易于被其它程序处理,主要用于实现高级语言编写的程序与AutoCAD系统的连接,或其它CAD系统与AutoCAD系统交换图形文件。

1 、DXF文件结构
一个完整的DXF文件是由四个段和一个文件结尾组成的。

其顺序如下:
(1)标题段,记录AutoCAD系统的所有标题变量的当前值或当前状态。

这些标题变量记录了AutoCAD系统的当前工作环境。

例如,AutoCAD版本号、插入基点、绘图界限、SNAP捕捉的当前状态、珊格间距、式样、当前图层名、当前线型和当前颜色等;
(2)表段,包含了四个表,每个表又包含可变数目的表项。

按照这些表在文件中出现的顺序,它们依次为线型表、图层表、字样表和视图表;
(3)块段,记录定义每一块时的块名、当前图层名、块的种类、块的插入基点及组成该块的所有成员。

块的种类分为图形块、带有属性的块和无名块三种。

无名块包括用HATCH命令生成的剖面线和用DIM命令完成的尺寸标注;
(4)元素段,记录了每个几何元素的名称、所在图层的名称、线型名、颜色号、基面高度、厚度以及有关几何数据;
(5)文件结束,标识文件结束。

DXF文件每个段由若干个组构成,每个组在DXF文件中占有两行。

组的第一行为组代码,它是一个非零的正整数,相当于数据类型代码,每个组代码的含义是由AutoCAD系统约定好的,以FORTRAN “I3”格式(即向右对齐并且用三字符字段填满空格的输出格式)输出。

组的第二行为组值,相当于数据的值,采用的格式取决于组代码指定的组的类型。

组代码和组值合起来表示一个数据的含义和它的值。

组代码范围见下表。

需要注意的是,在AutoCAD系统中组代码既用于指出如下表所示的组值的类型,又用来指出组的一般应用。

组代码的具体含义取决于实际变量、表项或元素描述,但“固定”的组代码总具有相同的含义,如组代码“8”总表示图层名。

组代码范围跟随值的类型
0-9 串
10-59 浮点
60-79 整数
210-239 浮点
999 注释
1000-1009 串
1010-1059 浮点
1060-1079 整数
表6.3 组代码范围
一个DXF文件的框架如下:
0 ......段开始
SECTION
2
HEADER ......该段为标题段
9
$ACADVER ......下面依次描述所有标题变量1
AC1003
.
.
.
ENDSEC ......标题段结束
SECTION ......段开始
2
TABLES ......该段为表段
TABLE ......表开始
2
LTYPE ......该表为线型表
.
.
.
ENDTAB ......线型表结束
TABLE
2
LAYER ......图层表开始
.
.
.
ENDTAB ......图层表结束
TABLE
2
STYLE ......字样表开始
.
.
.
ENDTAB ......字样表开始
TABLE
2
VIEW ......视图表开始
.
.
.
ENDTAB ......视图表结束
ENDSEC ......表段结束
SECTION
2
BLOCKS ......块段开始
BLOCK ......块开始
.
.
.
ENDBLK ......块结束
.
.
.
ENDSEC ......块段结束
SECTION
2
ENTITIES ......元素表开始
xxxxxxx ......开始的元素
.
.
.
xxxxxxx ......又一个元素开始.
.
.
ENDSEC ......元素段结束
EOF ......文件结束
2、 DXF文件接口程序设计
DXF文件格式的设计充分考虑了接口程序的需要,它能够容易地跳过没有必要关心的信息,同时又能方便地提取所需要的信息。

只要记住按何顺序处理各个组并跳过不关心的组即可。

但编写一个输出DXF文件的程序是比较困难的,因为必须保持图形的一致性以使AutoCAD系统接受它。

AutoCAD系统允许在一个DXF文件中省略许多项并且仍可获得一个合法的图形。

如果不需要设置任何标题变量,那么整个HEADER段都可以省略。

在TABLES段中的任何一个表,在不需要时也可以略去,并且事实上如果对它不作任何处理时,整个表段也可以去掉。

如果在LTYPE 表中定义了线型,则该表必须在LAYER表之前出现。

如果图中没有使用块定义,则可以省略BLOCKS段。

如果有,那么它必须出现在ENTITIES段之前。

EOF必须出现在文件的末尾。

3、 DXF文件格式存在的问题
(1)由于DXF文件制定的较早,存在很多的不足。

不能完整地描述产品信息模型,产品的公差、材料等信息根本没有涉及。

即使产品的几何模型,由于仅仅保留了原有系统数据结构中的几何和部分属性信息,大量的拓扑信息已不复存在,也是不完整的;
(2)DXF文件格式也不合理,文件过于冗长,使得文件的处理、存放、传递和交换不方便。

另外,复杂的文件格式也使得编写一个读、写完整的DXF数据文件的程序接口是件不容易的工作。

随着CAD/CAM技术的发展和CAD/CAM系统应用的日益广泛,不同系统和系统不同子系统间的数据交换问题变得重要和迫切了,直接推动国家或国际上通用的数据交换文件标准的制定。

相关文档
最新文档