加载中…
个人资料
莫一剑
莫一剑
  • 博客等级:
  • 博客积分:0
  • 博客访问:1,073,262
  • 关注人气:104
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

DXF文件结构

(2012-10-11 15:28:19)
标签:

杂谈

分类: 图形图像及3D
DXF文件实际上是ASCII编码文件,可以用记事本打开。 

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

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

完整的结构如下:

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

BLOCK_RECORD(块参照表)

DIMSTYLE(标注样式表)

LAYER(图层表)

LTYPE(线型表)

STYLE(文字样式表)

UCS(用户坐标系表)

VIEW(视图表)

VPORT(视口配置表)

BLOCKS 段。包含构成图形中每个块参照的块定义和图形图元。
ENTITIES 段。包含图形中的图形对象(图元),其中包括块参照(插入图元)。一般屏幕上显示的图形对像如直线,圆,弧等都在ENTITIES 段
OBJECTS 段。包含图形中的非图形对象。 除图元、符号表记录以及符号表以外的所有对象都存储在此段。 OBJECTS 段中的条目样例是包含多线样式和组的词典。
THUMBNAILIMAGE 段。包含图形的预览图像数据。 此段为可选

你所问的是立体(3DSOLID),它的编码比较复杂,建议你先把平面图元的DXF格式搞明白,再研究三维图元的格式,以下是一个500*150的矩形ENTITIES 段代码:

0
SECTION 段
2 段名称
ENTITIES 实体段
0 图元名称
LWPOLYLINE 优化多段线
5 图元名柄
B51
330
1F
100 子类标记
AcDbEntity
8 图层名
0
100 子类标记
AcDbPolyline
90 顶点数
4
70 多段线标志(按位编码);默认值为 0。1 = 闭合;128 = Plinegen

1
43 固定宽度(可选;默认值 = 0)。

0.0
10 顶点坐标X值(在 OCS 中),多个条目;每个顶点一个条目
134.0867442224547
20 顶点坐标Y值
111.6472309466625
10
634.0867442224547
20
111.6472309466625
10
634.0867442224547
20
-38.35276905333746
10
134.0867442224547
20
-38.35276905333746
0 段结束标记
ENDSEC
上面4组10,20的值分别是矩形的4个顶点的X和Y坐标




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

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有