DXF文件结构(在线等!!!!)

麻烦知道DXF结构的大哥给解决一下:用AutoCAD绘制一个长方体,规格:500*150*10,保存为DXF文件格式,把其中无关的信息去掉,只保留和所绘制的长方体有关的信息,并适当的给些注释,并且修改后的信息还能够用CAD打开正确显示。由于刚学习DXF有些不太懂,在线等,希望知道的给解决一下,如果只是绘制了图形,没有修改代码或者乱改的请不用回答了,谢谢!!

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 个字符)(可选)

下面的是500*150*10的长方体ENTITIES 段代码,可能难看懂了,呵呵

0
SECTION
2
ENTITIES
0
3DSOLID
5
B51
330
1F
100
AcDbEntity
8
0
100
AcDbModelerGeometry
70
1
1
mogoo gi m o
1
ni ^ *+0;:,4 ^ *+0\^ [ nh ^ LR iqoqjqhook QK mk L*1 [:< mg nkekgeln moog
1
n fqfffffffffffffffj:rooh n:rono
1
>,27:>;:- {rn rn _nm mogqoqjqhook |
1
=0;& {rn rn {rn {m {rn {rn |
1
3*2/ {rn rn {rn {rn {l {n |
1
,7:33 {rn rn {rn {rn {rn {k {rn {m |
1
9><: {rn rn {rn {j {i {l {rn {h 90-(>-; ,6183: |
1
9><: {rn rn {rn {g {f {l {rn {no -:):-,:; ,6183: |
1
300/ {rn rn {rn {rn {nn {k |
1
/3>1:r,*-9><: {rn rn {rn mjkqjlknojiglkjmij flqnkggiklojhohlm no o o n n o o 90-(>-;@) V V V V |
1
9><: {rn rn {rn {nm {nl {l {rn {nk -:):-,:; ,6183: |
1
300/ {rn rn {rn {rn {nj {j |
1
/3>1:r,*-9><: {rn rn {rn mjkqjlknojiglkjmij flqnkggiklojhohlm o o o n n o o 90-(>-;@) V V V V |
1
<0:;8: {rn rn {rn {ni {nh {ng {nf 90-(>-; {i {rn |
1
9><: {rn rn {rn {mo {mn {l {rn {mm -:):-,:; ,6183: |
1
300/ {rn rn {rn {rn {ml {g |
1
/3>1:r,*-9><: {rn rn {rn mjkqjlknojiglkjmij ngqnkggiklojhohlm j o n o o o n 90-(>-;@) V V V V |
1
<0:;8: {rn rn {rn {mk {mj {mi {mh 90-(>-; {f {rn |
1
<0:;8: {rn rn {rn {mg {nn {mf {lo 90-(>-; {i {rn |
1
<0:;8: {rn rn {rn {nn {mg {ln {lm 90-(>-; {i {rn |
1
<0:;8: {rn rn {rn {ll {lk {nn {nf -:):-,:; {lj {rn |
1
:;8: {rn rn {rn {li rhj {lh hj {ng {lg 90-(>-; _h *1410(1 |
1
9><: {rn rn {rn {lf {ko {l {rn {kn -:):-,:; ,6183: |
1
300/ {rn rn {rn {rn {km {nm |
1
/3>1:r,*-9><: {rn rn {rn kqjlknojiglkjmijnm flqnkggiklojhohlm j n o o o o rn 90-(>-;@) V V V V |
1
<0:;8: {rn rn {rn {kl {ln {kk {kj 90-(>-; {nl {rn |
1
<0:;8: {rn rn {rn {ki {nj {kl {kh 90-(>-; {f {rn |
1
<0:;8: {rn rn {rn {nj {ki {kg {kf 90-(>-; {f {rn |
1
<0:;8: {rn rn {rn {lk {ll {nj {mh -:):-,:; {lj {rn |
1
:;8: {rn rn {rn {jo rhj {jn hj {mi {jm 90-(>-; _h *1410(1 |
1
<0:;8: {rn rn {rn {nh {ni {jl {jk 90-(>-; {i {rn |
1
<0:;8: {rn rn {rn {jj {ji {ni {lo -:):-,:; {ko {rn |
1
:;8: {rn rn {rn {lh rmjo {jh mjo {mf {jg 90-(>-; _h *1410(1 |
1
<0:;8: {rn rn {rn {ml {jf {nh {lm -:):-,:; {nl {rn |
1
:;8: {rn rn {rn {io rmjo {li mjo {ln {in 90-(>-; _h *1410(1 |
1
<0:;8: {rn rn {rn {mi {ng {jf {im 90-(>-; {lj {rn |
1
<0:;8: {rn rn {rn {ng {mi {jj {il -:):-,:; {lj {rn |
1
300/ {rn rn {rn {rn {ll {lf |
1
):-+:' {rn rn {rn {nf {ik |
1
):-+:' {rn rn {rn {nf {ij |
1
,+->687+r<*-): {rn rn {rn jokqjlknojiglkjmij flqnkggiklojhohlm no o n o V V |
1
9><: {rn rn {rn {rn {lj {l {rn {ii -:):-,:; ,6183: |
1
300/ {rn rn {rn {rn {jj {mo |
1
/3>1:r,*-9><: {rn rn {rn mjkqjlknojiglkjmij nigqnkggiklojhohlm j o rn o o o rn 90-(>-;@) V V V V |
1
<0:;8: {rn rn {rn {ih {jl {ji {ig 90-(>-; {mn {rn |
1
<0:;8: {rn rn {rn {jf {ml {mk {kh -:):-,:; {nl {rn |
1
<0:;8: {rn rn {rn {jl {ih {ml {kj -:):-,:; {mn {rn |
1
:;8: {rn rn {rn {io rj {if j {kk {ho 90-(>-; _h *1410(1 |
1
<0:;8: {rn rn {rn {mj {mk {ih {hn 90-(>-; {f {rn |
1
:;8: {rn rn {rn {jn rmjo {if mjo {kl {hm 90-(>-; _h *1410(1 |
1
<0:;8: {rn rn {rn {ji {jj {mj {kf -:):-,:; {ko {rn |
1
:;8: {rn rn {rn {hl rmjo {jo mjo {kg {hk 90-(>-; _h *1410(1 |
1
):-+:' {rn rn {rn {mh {hj |
1
):-+:' {rn rn {rn {im {hi |
1
,+->687+r<*-): {rn rn {rn jokqjlknojiglkjmij flqnkggiklojhohlm o o rn o V V |
1
<0:;8: {rn rn {rn {km {kk {mg {jk -:):-,:; {mn {rn |
1
:;8: {rn rn {rn {jh rhj {io hj {jl {hh 90-(>-; _h *1410(1 |
1
<0:;8: {rn rn {rn {kg {mf {lk {il 90-(>-; {ko {rn |
1
<0:;8: {rn rn {rn {mf {kg {km {ig -:):-,:; {ko {rn |
1
):-+:' {rn rn {rn {lo {hg |
1
,+->687+r<*-): {rn rn {rn mjkqjlknojiglkjmij nigqnkggiklojhohlm no rn o o V V |
1
<0:;8: {rn rn {rn {ln {kl {ll {im -:):-,:; {nl {rn |
1
):-+:' {rn rn {rn {jk {hf |
1
,+->687+r<*-): {rn rn {rn mjkqjlknojiglkjmij ngqnkggiklojhohlm no n o o V V |
1
:;8: {rn rn {rn {li rj {jn j {ll {go 90-(>-; _h *1410(1 |
1
:;8: {rn rn {rn {lh rj {jo j {lk {gn 90-(>-; _h *1410(1 |
1
/061+ {rn rn {rn jokqjlknojiglkjmij ngqnkggiklojhohlm no |
1
/061+ {rn rn {rn jokqjlknojiglkjmij nigqnkggiklojhohlm no |
1
/3>1:r,*-9><: {rn rn {rn jokqjlknojiglkjmij flqnkggiklojhohlm j rn o o o o n 90-(>-;@) V V V V |
1
<0:;8: {rn rn {rn {kk {km {ki {hn -:):-,:; {mn {rn |
1
:;8: {rn rn {rn {jh rj {hl j {ji {gm 90-(>-; _h *1410(1 |
1
):-+:' {rn rn {rn {hn {gl |
1
,+->687+r<*-): {rn rn {rn kqjlknojiglkjmijnm ngqnkggiklojhohlm j o o rn V V |
1
:;8: {rn rn {rn {if rhj {hl hj {ih {gk 90-(>-; _h *1410(1 |
1
,+->687+r<*-): {rn rn {rn mjkqjlknojiglkjmij ngqnkggiklojhohlm o rn o o V V |
1
):-+:' {rn rn {rn {kf {gj |
1
,+->687+r<*-): {rn rn {rn mjkqjlknojiglkjmij nigqnkggiklojhohlm o n o o V V |
1
/061+ {rn rn {rn jokqjlknojiglkjmij nigqnkggiklojhohlm o |
1
/061+ {rn rn {rn jokqjlknojiglkjmij ngqnkggiklojhohlm o |
1
,+->687+r<*-): {rn rn {rn kqjlknojiglkjmijnm flqnkggiklojhohlm no o rn o V V |
1
/061+ {rn rn {rn kqjlknojiglkjmijnm nigqnkggiklojhohlm no |
1
/061+ {rn rn {rn kqjlknojiglkjmijnm ngqnkggiklojhohlm no |
1
,+->687+r<*-): {rn rn {rn jokqjlknojiglkjmij ngqnkggiklojhohlm j o o rn V V |
1
,+->687+r<*-): {rn rn {rn jokqjlknojiglkjmij nigqnkggiklojhohlm j o o rn V V |
1
,+->687+r<*-): {rn rn {rn kqjlknojiglkjmijnm nigqnkggiklojhohlm j o o rn V V |
1
/061+ {rn rn {rn kqjlknojiglkjmijnm ngqnkggiklojhohlm o |
1
,+->687+r<*-): {rn rn {rn kqjlknojiglkjmijnm flqnkggiklojhohlm o o n o V V |
1
/061+ {rn rn {rn kqjlknojiglkjmijnm nigqnkggiklojhohlm o |
0
ENDSEC
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-06-14
DXF 文件的基本组成如下:
●HEADER 部分 - 图的总体信息。每个参数都有一个变量名和相应的值。

●CLASSES 部分 - 包括应用程序定义的类的信息,这些实例将显示在 BLOCKS、ENTITIES 以及OBJECTS 部分。通常不包括用于充分用于与其它应用程序交互的信息。

●TABLES 部分 - 这部分包括命名条目的定义。

Application ID (APPID) 表

Block Recod (BLOCK_RECORD) 表

Dimension Style (DIMSTYPE) 表

Layer (LAYER) 表

Linetype (LTYPE) 表

Text style (STYLE) 表

User Coordinate System (UCS) 表

View (VIEW)表

Viewport configuration (VPORT) 表

●BLOCKS 部分- 这部分包括 Block Definition 实体用于定义每个 Block 的组成。

●ENTITIES 部分 - 这部分是绘图实体,包括 Block References 在内。

●OBJECTS 部分 -- 包括非图形对象的数据,供 AutoLISP 以及 ObjectARX应用程序所使用。

●THUMBNAILIMAGE 部分 -- 包括 DXF 文件的预览图。

●END OF FILE