dxf文件读取
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了dxf文件读取相关的知识,希望对你有一定的参考价值。
vc2005开发
我只要调用定义一个对象或指针,调用ReadDxf可获得二维平面的数据。
我怎么知道是里面的图形是连续的还是不连续的
我怎么按顺序读出。
fan_tan@163.com
DXF分为几个段,编程处理DXF中简单的实体(不包括Block之类),主要针对其ENTITIES段,实体数据的几何信息基本都在这个段中。每段以
0
SECTION
开始,接下来是ENTITIES段的标志
2
ENTITIES
代表从此之后为ENTITIES部分数据。每段以
0
ENDSEC
结束,整个文件以
0
EOF
作为结束符。在ENTITIES中,每类实体都有自己的实体名,以0作为组码开始,比如
0
LWPOLYLINE 代表多段线
0
CIRCLE 代表圆
实体数据没有结束符,以遇到下一个实体组码作为结束标志。
常用的与实体相关的组码还有,5句柄,8层名,10横坐标,20纵坐标等,具体组码可参考AutoCAD的帮助文件“AutoLISP、Visual LISP 和 DXF
-DXF 参考”(AutoCAD2004)。
其中一些组码不是必须的,可以忽略。
纯原创回答,希望对你有帮助。 参考技术A dxf是AutoCAD ® DXFTM (Drawing eXchange Format) 向量图型文件。
JPEG 是 JPEG 工作组的 图像 文件 格式。
Opengl 可以读取 SGI 图像文件 和 BMP 图像文件,不直接支持 dxf和JPEG。
你需要自己写程序。
dxf文件是 ASCII, 可识别,例如 读 Arc (弧)和弧线参数,然后你用Opengl画弧线,读 Spline (样条曲线),和样条曲线参数,然后你用Opengl画曲线,读 3DLine,然后你用Opengl画三维线,。。。。
工作量很大。不如买现成软件。
如何为POLYLINE编写DXF代码?
您好我正在尝试创建一个基于C ++的程序来计算给定范围内的函数值,然后程序继续创建一个DXF文件,以便将其绘制成图形。
我在DXF部分遇到的问题是我的C ++程序生成的代码,但它似乎无法被Autocad读取。任何有关该问题的见解将不胜感激。
0
SECTION
2
ENTITIES
0
POLYLINE
8
0
62
1
66
1
70
8
0
VERTEX
8
0
70
32
10
1
20
2
30
0
0
VERTEX
8
0
70
32
10
1.2
20
2.13688
30
0
0
VERTEX
8
0
70
32
10
1.4
20
2.28024
30
0
0
VERTEX
8
0
70
32
10
1.6
20
2.42929
30
0
0
VERTEX
8
0
70
32
10
1.8
20
2.58329
30
0
0
VERTEX
8
0
70
32
10
2
20
2.74166
30
0
0
91
0
0
SEQEND
0
ENDSEC
0
EOF
答案
最后一个VERTEX出错:
0
VERTEX
8
0
70
32
10
2
20
2.74166
30
0
0 <---- This 0 is too much, starts a structural group tag (0, 91)
91
0
0
SEQEND
0
ENDSEC
0
EOF
如果您有任何组织代码91(顶点标识符)的信息,请告诉我,我很感兴趣。
另一答案
在我应该使用关于POLYLINE的DXF时,我似乎认为我正在使用DXF代码进行LWPOLYLINE。差异是微妙的,但如果正在阅读这个问题的人正在逐一回溯问题,那么GROUP CODES会确保所有这些都是同一个ENTITY的一部分。我将分享最终能够在AutoCad 2018上创建OUTPUT的代码(请记住,根据您的情况,AutoCad版本上DXF格式的更改)
0
SECTION
2
ENTITIES
0
POLYLINE
8
0
62
1
66
1
70
8
0
VERTEX
8
0
70
32
10
0
20
0
30
0
0
SEQEND
0
ENDSEC
0
EOF
以上是关于dxf文件读取的主要内容,如果未能解决你的问题,请参考以下文章