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軟件打開: