用C读取DXF文件

本文介绍了ASCII格式的DXF文件结构,并展示了如何使用C语言读取DXF文件中的实体信息。内容包括DXF文件的组成部分,如HEADER、CLASSES、TABLES、BLOCKS、ENTITIES、OBJECTS等段,以及读取DXF文件的流程和C语言实现的示例代码,特别关注了实体段的处理和数据存储方式。
摘要由CSDN通过智能技术生成

C读取DXF文件

Author: eryar@163.com

 

摘要:本文简要介绍了一下DXF文件的组成。重点讲述了怎样使用C语言来读取DXF文件中的实体信息。

关键字:CDXF

 

Abstract: The paper present the basic parts of DXF file. And focus on how to use C read the entity’s information from DXF file.

Key Words: C, DXF

 

DXFDrawing eXchange File的缩写,意思为图形交换文件,在工程制图中有广泛的应用,掌握了DXF文件的读写对编写CAD软件时的图形信息的交换有重要意义。它有两种格式:一种是ASCII DXF格式;一种是二进制DXF格式。ASCII DXF文件格式是ASCII 文字格式的AutoCAD图形的完整表示,这种文件格式易于被其它程序处理。二进制格式的DXF文件与ASCII格式的DXF文件包含的信息相同,但格式上二进制格式比ASCII格式更精简,能够节省百分之二十五的文件空间。AutoCAD能够更快地对其执行读写操作(通常能快五倍)。这可能是对ASCII格式的DXF文件操作时有ASCII与二进制形式的转换,因而花费时间较多。本文主要讨论ASCII格式的DXF文件,因为它可读性强。

一、ASCII格式的DXF文件的组成

先来介绍一下ASCII格式的DXF文件的组成。(小提示:打开AutoCAD,新建一个空的文件,然后再输出为DXF文件,并用记事本打开DXF文件,就可以看到它的所有代码了,这样有助于你更好地理解DXF文件的组成。还有按一下F1,打开AutoCAD的帮助文件,找到DXF参考,它是权威具体的资料。)

用记事本打开一个DXF文件,你可以发现它里面有这样一些代码:

  0

SECTION

  2

HEADER

  9

$ACADVER

  1

AC1015

……

即里面总是数字和字符串/数字在交替的出现。数字就叫做代码(通常称为组码),紧跟组码数字的称为关联值对。(以下内容来自DXF参考)DXF文件本质上由代码及关联值对组成。代码(通常称为组码)表明其后的值的类型。使用这些组码和值对,可以将DXF文件组织到由记录组成的区域中,这些记录由组码和数据项目组成。在DXF文件,每个组码和值各占一行。表1为组码值类型表的部分:

1 组码值类型表(部分)

 

一个完整的ASCII格式的DXF文件结构如下:

l         HEADER段。它包含图形的基本信息。它由AutoCAD数据库版本号和一些系统变量组成。每个参数都包含一个变量名称及其关联的值。

l         CLASSES段。包含应用程序定义的类的信息,这些类的实例出现在数据库的BLOCKSENTITIESOBJECTS段中。类定义在类的层次结构中是固定不变的。

l         TABLES段。包含以下符号表的定义:

APPID(应用程序标识表)

BLOCK_RECORD(块参照表)

DIMSTYLE(标注样式表)

LAYER(图层表)

LTYPE(线型表)

STYLE(文字样式表)

UCS(用户坐标系表)

VIE

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值