DXF文件的结构很清楚,具体如下: 1. 标题段(HEADER )
有关图形的一般信息都可以DXF 文件的这一节找到,每一个参数具有一个变量名和一个相关值。 2. 表段
这一段包含的指定项的定义,它包括: a、线形表(LTYPE) b、层表(LYER) c、字体表(STYLE) d、视图表(VIEW)
e、用户坐标系统表(UCS) f、视窗配置表(VPORT) g、标注字体表(DIMSTYLE) h、申请符号表(APPID) 3. 块段(BLOCKS)
这一段含有块定义实体,这些实体描述了图形种组成每个块的实体。 4. 实体段(ENTITIES )
这一段含有实体,包括任何块的调用。 5. END OF FILE(文件结束)
下面是对DXF的基本结构举一实例进行说明: 0 0 后接SECTION
SECTION 表明这是一个段的开始 2 2 后接的是段名
HEADER 说明该段是HEADER 段(标题段) 9
$ACADVER 文件是由AUTOCAD 产生的 1
AC1008
9 9 后接 $UCSORG
$UCSORG 用户坐标系原点在世界坐标系中的坐标 10 10 对应 X 0.0 X 的值 20 20 对应 Y 0.0 Y 的值 30 0 对应 Z 0.0 Z 的值 9
$UCSXDIR 这是一段不太相关的部分,略去 10 1.0 ... ....
9 9 后接 $EXTMIN
$EXTMIN 说明三维实体模型在世界坐标系中的最小值
10 10 对应 X -163.925293 X 的值 20 20 对应 Y
-18.5415860.0 Y 的值 30 30 对应 Z 78.350945 Z 的值
9 9 后接 $EXTMAN
$EXTMAX 说明三维实体模型在世界坐标系中的最大值 10 10 对应 X 202.492279 X 的值 20 20 对应 Y 112.634300 Y 的值 30 30 对应 Z 169.945602 Z 的值 0 0 后接 ENDSEC
ENDSEC 说明这一段结束了 0 0 后接SECTION
SECTION 表明这是一个段的开始 2 2 后接的是段名
TABLES 说明该段是TABLES 段(表段)
... ... ... ... 该段对我们不太相关,此处略去不进行说明 0 0 后接 ENDSEC ENDSEC 说明这一段结束了 0 0 后接SECTION
SECTION 表明这是一个段的开始 2 2后接的是段名
ENTITIES 说明该段是ENTITIES 段(实体段)这是我 0 们要详细说明的段,该段包含了所有实体的 POLYLINE 点的坐标和组成面的点序。0后接POLYLINE 8 表明以下数据是对于一个新的实体; OBJECT01 8后接的字符串是这个实体的名称 66 1
70 从66 1 到70 64
64 说明该实体是由许多小平面组成的 71
38 71 38说明该实体共有38 个点 72
72 72 72 说明该实体由72 个三角形构成 0 0 VERTEX
VERTEX 表明后面紧跟着的是实体的数据 8
OBJECT01
10 对应X 坐标
-163.925293 X 的值 20 对应Y 坐标 -17.772665 Y 的值 30 对应Z 坐标 128.929947 Z 的值 70 70 192
192 表明上面的数据信息是点的坐标 0 每一个从0 VERTEX 到70 192 之间 VERTEX 的一小段是点的坐标 ... ... ... 70 192 0
VERTEX 8
OBJECT01 10 0 20 0 30
0 70 128 71 2 72 1 73 -4 0
VERTEX ... ... ... ...
0 SEQEND 8
OBJECT01 0
POLYLINE ... ... ... ... 0
ENDSEC 0
EOF 当70 后跟128 时,表明该实体的每个点的坐标数据已经记录完了,下面紧跟着的是记录这些点是以什么样的方式组合成各个三角形。
71、72、73 后面跟着的值表明某一个三角形是第二个、第 一个、第四个点构成的,点的顺序是按照记入DXF 文件的顺 序。当某一值为负数时,则表明该点到下一点的线不要画出,如果要画三维实体的线型图,就必须使用这一特性,否则线条 将会出现紊乱。 0 后接SEQEND 表明该实体的数据已经全部记录完了 0 后接POLYLINE 表明以下又是一个新的实体 0 后接ENDSEC 表明这是该段的结尾 0后接EOF 表明这个DXF 文件结束了