基于C++的开源库dxflib读取dxf文件上手笔记

来源:互联网 发布:jdbc数据库配置 编辑:程序博客网 时间:2024/05/20 07:37

dxflib is an open source C++ library mainly for parsing DXFTM files. QCAD, CAM Expert and vec2web all use dxflib to import DXF files. dxflib can also write DXF files, but you need to have good knowledge of the DXF format to produce valid output.


dxflib是一个开源的C++库,用于处理dxf文件。dxf文件是一种通用的CAD数据交换格式,使用广泛。


首先在官网下载的源代码,很小只有98KB。

http://www.ribbonsoft.com/en/dxflib-downloads


由于第一次使用这种开源的包,所以读完手册之后,经历了曲折的过程。按照手册,先是下载CYGWIN,折腾好之后编译出现各种权限等问题,然后下载MinGW32,结果在线安装包每次在最后网络连不上,准备用第三方包尝试的。

网上的资料有的是把官方手册直译的一遍,有的主要是介绍了dxf文件格式,而对于如何调用这个源文件没有细致的说明,对于第一次使用开源库的人来说,很容易摸不着头脑。后来发现没有make文件,不用编译,直接带入工程稍微调试修改就可以使用,下面我给出详细过程。


软件环境:VS2013、dxflib-3.17.0-src

1.新建项目:选择Visual C++的空项目。

2.将dxflib-3.17.0-src\src下的cpp与h文件分别添加进源文件和头文件,编译可能会报错:

错误         1       error C4996: 'fopen': This function orvariable may be unsafe. Consider using fopen_s instead. To disable deprecation,use _CRT_SECURE_NO_WARNINGS. See online help for details.   c:\users\hao\desktop\project1\dxflib-3.17.0-src\src\dl_dxf.cpp         115  1       Project1


这是因为打开安全开发生命周期(SDL)的原因,在项目属性->配置属性->C/C++里将SDL检查关掉,如图:



3.将dxflib-3.17.0-src\examples\readwrite中的test_creationclass和main函数分别添加进工程,主函数中对命令是以输入命令参数的方式进行的,这里我们注释掉第一个参数的检测,将第二个参数直接修改为要读取的dxf文件的路径,生成之后运行即可得到读取到的实体信息。



得到的实体信息,四条直线:



对应的dxf原图形:



原创粉丝点击