天天看点

CAD—dxf & dwg格式解析库

作为一名CAD软件工作者,最近碰到dwg读取问题,搜索了一番dwg格式的数据读写以及转换工具,通过查找比对,主要研究了两个开源库,分别是libdxfrw和libredwg。

dwg格式的数据是CAD内部工作格式,以二进制方式存储,格式不开源。格式设计规范参照dwg格式设计规范:( https://blog.csdn.net/Caoyang_He/article/details/80343945 )

1、libdxfrw:是一个开源的c++库,可以读写ascii和二进制格式的DXF文件。支持R14 到 V2015版本的dwg读取。

(github地址:https://github.com/codelibs/libdxfrw )

2、libredwg:是纯C写的开源库,支持最新的dwg格式的读写。这个程序是GNU项目的一部分,在GNU的庇护下发布。

(github地址:https://github.com/LibreDWG/libredwg )

优缺点对比分析:

  • libdxfrw出来较早,是比较成熟的dwg格式的解析库,bug少,windows系统下,下载下来直接用VS2013版本及以上的IDE打开,目前在github上几乎不怎么更新了。
  • libredwg目前一直在持续更新中,但bug多,windows PC上,得先采用交叉编译的方式编译成想要的执行代码。不过libredwg因为是纯C写的,解析速度比libdxfrw快很多。

此外,还有一个收费的Delphi库,可以提供dxf、dwg的读写SDK:

https://cn.cadsofttools.com/products/cad-vcl-enterprise/

dxf是开源格式,附上dxf的格式规范文档:

http://docs.autodesk.com/ACD/2011/CHS/filesDXF/WSfacf1429558a55de185c428100849a0ab7-5df0.htm

继续阅读