linux g++编译dxf文件C++解析库dxflib
DXFLIB是一个用于读取和写入AutoCAD(R)DXF文件的开源C++库。它提供读取和写入许多基本实体的功能,以及有关层和块的信息。来自QCAD的作者。
官方定义:https://www.ribbonsoft.com/en/what-is-dxflib
最新版本下载地址:https://www.ribbonsoft.com/en/dxflib-downloads
旧版本下载:https://sourceforge.net/projects/dxflib/ https://github.com/clothbot/dxflib
使用手册:http://www.ribbonsoft.com/dxflib/manual.pdf
中文翻译:https://www.xuebuyuan.com/2019623.html
我们下载当前版本:3.17.0
下载解压:
其中,提供了qt creator项目文件,方便使用qt进行构建。src中存放源码,examples中包含三个例子。
在linux发行版中,如果安装了qt,可直接打开dxflib.pro进行构建,如果没有,则使用g++命令行来进行构建。
使用g++编译dxflib
1 cd ./src 2 ls -l 3 g++ -c dl_dxf.cpp -o dl_dxf.o 4 g++ -c dl_writer_ascii.cpp -o dl_writer_ascii.o 5 ar -rsc dxflib.a dl_dxf.o dl_writer_ascii.o 6 ls -l
至此,静态库dxflib.a编译成功!
使用dxflib.a
readwrite例子中直接将dxflib的源码包含进去了,可以不用链接dxflib.a直接编译,当然也可以链接。
cd ../examples ls cd ./readwrite ls g++ *.cpp ../../src/dxflib.a -o readwrite -I ../../src/ ls ./readwrite demo.dxf
同样的另外两个写dxf文件的例子
cd ../writedimension ls g++ *.cpp ../../src/dxflib.a -o writedimension -I ../../src/ ls
./writedimension
在当前目录下写生成dimension.dxf文件,如果文件存在,则覆盖重写。
类似地,在当前目录下写生成hatch.dxf文件,如果文件存在,则覆盖重写。
QCAD是一个免费的开源应用程序,基于dxflib库,用于二维(2D)的计算机辅助制图(CAD),可以算是AutoCAD软件的一个替代品。
dxflib库examples中用到的dxf文件,用QCAD软件打开: