WPF读取DXF文件(一)——DXF文件的分段存储

本文介绍了如何使用WPF读取DXF文件,特别是关注于文件的分段结构和如何将内容解析到不同的链表中。通过创建Data结构体来存储DXF文件的'代码关联值对',并定义了6个链表对应DXF的7个段。文章详细阐述了读取过程,从文件头开始,直至提取出ENTITIES段,为后续将DXF图元显示在WPF的canvas上奠定了基础。
摘要由CSDN通过智能技术生成

最近做的一个项目,需要一个功能就是用WPF读取DXF文件。查找了很多文献都没有这方面的东西。于是不得不亲手打造一个。下面介绍一下自己的思路。

首先,DXF文件的格式必须的明白。

DXF格式是AutoCAD图形的一种格式,DXF 文件可以是 ASCII 格式,也可以是二进制格式。 ASCII DXF 文件格式比二进制文件格式更常用,它可以用记事本打开。

打开一个DXF文件:DXF文件的最小单位是"代码关联值对",两行为一对。第一个值都是数字,表示组码,每个组码有其不同的意义;第二个值即为这个组码的值。由于是两行为一个单位,所以DXF文件都是偶数行的。开始是笔者遇到了空行(没有任何值),还以为是有意空出一行,其实不是,空行的原因是这组组码的值为空。

为了方便表达,本文均以{code,data}形式表示一组代码。code为组码,data为改组的值。

 

DXF文件以{0,EOF}结尾,一共有7个段,分别是:

 

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

APPID(应用程序标识表)

BLOCK_RECORD(块参照表)

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值