金牌会员
 
- 积分
- 1349
- 金钱
- 1349
- 注册时间
- 2018-10-4
- 在线时间
- 200 小时
|
前言:dxf文件是AutoCAD软件的一种文件格式,按照文件的逻辑结构分类,其属于流式文件,其形式就是一串有开头和结尾的连续字符串,不存在文件结构,故对其操作比较方便。
最近自己需要解析DXF文件,但是上网找到的解析库(dxflib)发现是c++写的,几经周转,发现用不了。无奈只有自己写。
思路:
先在STM32上建立文件系统,然后利用f_gets获取字符串,注意这里建议在ffconf.h中,将_USE_STRFUNC宏定义改成2,因为为2时可以剔除字符串中的'\r';
其次,考虑到我只需要实体段中的各个图元的参数,那么利用strcmp进行段头、段尾的判断,段头的判断只是用来开启段尾判断;
在段头之前(含段头),buff2总是让其为NULL,在段间buff2是有效数据,buff2=buff,而buff=f_gets(……);
主要就这些要注意,其他的都顺其自然的想下去就好了。
PS:
1.文件中print是我自己改写的串口打印,你们要用的话,print就是重定向的printf。
2.调用示例
附件:
myself_dxf.zip
(3.92 KB, 下载次数: 3)
|
|