vs编译libredwg和libdxfrw 原创

CAD版本

AutoCAD的图形格式版本代号主要用于标识DWG文件的版本,这些代号与AutoCAD软件的各个版本相对应。以下是AutoCAD图形格式版本代号的详细列表:

代号 对应DWG版本/AutoCAD版本
MC0.0 DWG Release 1.1(非常早期的版本)
AC1.2 DWG R1.2
AC1.4 DWG R1.4
AC1.50 DWG Release 2.0
AC2.10 DWG Release 2.10
AC1002 DWG Release 2.5
AC1003 DWG R2.6
AC1004 DWG R9
AC1006 DWG R10
AC1009 DWG R11/12(LT R1/R2)
AC1012 DWG R13(LT95)
AC1014 DWG R14、14.01(LT97/LT98)
AC1015 DWG AutoCAD 2000/2000i/2002
AC1018 DWG AutoCAD 2004/2005/2006
AC1021 DWG AutoCAD 2007/2008/2009
AC1024 DWG AutoCAD 2010/2011/2012
AC1027 DWG AutoCAD 2013/2014/2015/2016/2017
AC1032 DWG AutoCAD 2018/2019/2020/2021/2022/2023/2024(当前及未来一段时间内的版本)

这些代号帮助用户识别和兼容不同版本的DWG文件。例如,如果您正在使用AutoCAD 2024,它默认生成的DWG文件将使用AC1032作为版本代号。然而,AutoCAD软件也支持打开和编辑旧版本的DWG文件,尽管在某些情况下可能需要进行格式转换或兼容性修复。

要查看特定DWG文件的版本代号,可以使用文本编辑器(如记事本)打开DWG文件的头信息部分(注意:直接打开DWG文件通常无法直接看到文本内容,因为DWG是二进制格式;但可以通过特定软件或插件来查看或修改其头信息)。然而,对于大多数用户来说,直接通过AutoCAD软件打开DWG文件并查看其属性信息中的版本信息更为方便和准确。

请注意,随着AutoCAD软件的不断更新和升级,新的版本代号可能会被引入以支持新的功能和改进。因此,建议用户定期更新AutoCAD软件以确保与最新版本的DWG文件兼容。

前言

libredwg和libdxfrw是两个不同的开源解析库,它们各自具有独特的功能和特性,主要用于处理CAD文件(如DWG和DXF格式)。以下是对这两个解析库的详细解析:

libredwg
1. 简介

libredwg是一个开源的C语言编写的库,旨在提供对AutoCAD DWG文件格式的读取和写入功能,无需依赖任何商业软件。
它是一个强大的开源项目,设计目标是实现高效、轻量级的DWG文件处理。

2. 功能与特性

支持从R12到2023版本的DWG文件,涵盖了广泛的AutoCAD历史文件格式。
开发者可以通过一组清晰的函数接口来操作DWG文件,包括打开、读取、写入和关闭文件等基本操作,以及更高级别的几何对象处理。
具有良好的跨平台能力,可以在Linux、Windows、MacOS及各种嵌入式操作系统上运行。
遵循LGPLv3许可,允许自由使用、修改和分发代码。
项目活跃且有社区支持,不断修复bug并增加新功能。

3. 应用场景

CAD软件开发:开发者可以利用libredwg作为基础组件,快速构建自己的CAD工具,无论是简单的看图工具还是复杂的建模软件。
文件转换服务:自动化的DWG到其他格式(如PDF、SVG)的转换工具可以基于libredwg轻松实现。
数据分析与可视化:在工程或科研领域,DWG文件的数据提取和分析可以借助libredwg进行。
云协作平台:对于需要在Web环境下处理DWG文件的应用,libredwg的轻量化特性使其成为理想选择。

libdxfrw
1. 简介

libdxfrw是一个免费的C++库,可以读写ascii和二进制格式的DXF文件,同时也可以读取从R14到V2015版本的DWG文件。
它是由libreCAD的一位开发者创建,libreCAD使用了该库来解析CAD文件。

2. 功能与特性

提供了对DXF文件的全面支持,包括读写操作。
对于DWG文件,虽然支持版本范围较旧(R14到V2015),但仍能满足许多基本需求。
遵循GNU通用公共许可版本2(或更高版本)的条款许可,允许自由使用和分发。
提供了丰富的API接口,方便开发者集成和使用。

3. 应用场景

CAD软件开发:开发者可以将libdxfrw集成到CAD软件中,用于处理DXF文件和较旧版本的DWG文件。
文件转换服务:基于libdxfrw,可以实现DWG到DXF或DXF到其他格式的转换。
数据提取与分析:在需要提取CAD文件中的文本或几何数据时,libdxfrw可以作为一个有用的工具。
总结
libredwg和libdxfrw都是处理CAD文件的优秀开源解析库,但它们各自有不同的侧重点和优势。libredwg在DWG文件的支持上更为全面和先进,适合需要处理较新版本DWG文件的开发者;而libdxfrw则在DXF文件的处理上更为专业,同时提供了对较旧版本DWG文件的读取支持。开发者可以根据自己的具体需求选择合适的解析库进行集成和使用。

编译

vs编译libredwg

源码网站:网址
在这里插入图片描述

下载jsmn:网址
在这里插入图片描述
在这里插入图片描述
解压缩
在这里插入图片描述
将jsmn解压后的文件放置libredwg中
在这里插入图片描述
然后用cmake编译
在这里插入图片描述
编译后打开项目
在这里插入图片描述

重新生成
在这里插入图片描述
生成后会报错
在这里插入图片描述
然后根据报错格式 修改文件编码格式至Utf8即可

vs编译libdxfrw

源码网址:网址
在这里插入图片描述
用 CMake编译即可

mkdir build
cd build
cmake ..  -DCMAKE_BUILD_TYPE=Release
cmake --build . --config Release  --target install
posted @ 2024-07-03 14:52  一点灯  阅读(0)  评论(0编辑  收藏  举报  来源