是否有用于解析 AutoCAD 文件的库?
Posted
技术标签:
【中文标题】是否有用于解析 AutoCAD 文件的库?【英文标题】:Are there any libraries for parsing AutoCAD files? 【发布时间】:2011-02-08 14:27:11 【问题描述】:是否有用于解析 AutoCAD 文件(DWG 或 DXF)的库(最好是开源的)?
【问题讨论】:
我知道这是一个很老的问题,但是我想问你,你知道并使用一个好的工具(最好是免费的)在java中读取autocad文件吗?所以我可以将所有的线条(或形状)存储在一个数组列表中等等? 【参考方案1】:嗯, 对于 DXF 文件格式,该规范可在线获得,因此您可以为此文件格式编写自己的解析器,可以在此处找到文档: http://images.autodesk.com/adsk/files/acad_dxf0.pdf
但是,如果您不想这样做,可以使用 libdxf 一个开源库来解析 dxf 文件,但根据开发人员的说法,这是一个“正在进行的工作”,您可以在这里找到它: https://github.com/bert/libdxf 或者你可以使用命令在 ubuntu 中安装它:
sudo apt-get install libdxflib-dev
另外一个由 coin3d 提供的库(可以单独使用)被命名为 dime,可能是 freecad 使用的库,可以在这里找到:https://bitbucket.org/Coin3D/dime 它也可以使用以下命令安装在 ubuntu 中:
sudo apt-get install libdime-dev
对于 DWG 格式,您可以使用来自开源基金会的 libredwg 库,您可以在此处找到它: http://www.gnu.org/software/libredwg/
但请注意,根据***,它有自己的许可问题。 http://en.wikipedia.org/wiki/LibreDWG
libredwg 的一个分支以 libDWG 的名义提供,它能够读取 DWG 文件格式 R13、R14、R2000 和 R2004,可以在以下位置找到:http://libdwg.sourceforge.net/en/ 我测试了库,问题是大多数在线示例文件的版本比库可以加载的版本更新,这不是很实用。
另一个关于如何读取 autocad 文件的好页面(带有一些代码示例)可以在 ibm 网站上找到:http://www.ibm.com/developerworks/opensource/library/os-autocad/
底线是使用 dxf 是更好的选择,因为它是开放的并且可以支持 dwg 支持不容易做到。
【讨论】:
【参考方案2】:与Open source cad drawing (dwg) library in C# & .Net CAD component that can read/write dxf/ dwg files 重复(或至少相关)
没有任何我认为可靠的可免费解析 DWG 的东西。与 AutoDesk 的 RealDWG 产品相比,开放式设计联盟往往更便宜且可在更多操作系统上运行。 ODA 为尚未发布代码的初创公司提供了一个价格层——RealDWG 没有。 ODA 和 AutoDesk 都在论坛中提供支持 - 您必须是 ODA 的成员,但 AutoDesk 的论坛位于 http://discussion.autodesk.com/forums/,您可以免费加入。
DXF 是一种文本文件格式(类似于 XML),如果您知道要查找的内容,您可以使用您喜欢的任何内容对其进行解析。您可能更幸运地找到了一个库(我还没有研究过),但这将涉及从 DWG 格式转换。请注意,DXF 格式有多种版本
您可以试用 Autodesk 的 DWG Trueview(免费),但它是最终用户查看器 - 它没有正式提供 API。过去,有些人在自动化方面取得了不同程度的成功。我自己没有尝试过,我强烈怀疑最新版本已经对此进行了强化。
最终,如果您正在为可能会坚持或至少对缺少“官方”AutoCAD 库和与之配套的“受信任的 DWG”BS 犹豫不决的知名客户工作,那么您可能需要投资成为 Autodesk 开发人员网络的成员。
作为一名长期的最终用户,我可以告诉您,ODA 的开发人员比 AutoCAD 对错误报告的响应速度更快。
【讨论】:
虽然它对我的目的不起作用,但这可能是最好的通用答案,所以我会接受它。【参考方案3】:Ivan CAD 库与 DWG R15、R18、R21 和 R24 配合得非常好。我在 www.ivancad.com 上找到了它
【讨论】:
【参考方案4】:不要以为你会找到比 DWGdirect 更好的东西。看这里
http://www.opendwg.org/
特别是这里:
http://www.opendesign.com/the_oda_platform/dwgdirect
【讨论】:
我检查了,除了我的应用程序是开源的,而且似乎与 ODA 的许可协议不允许应用程序的开源分发使用他们的库。以上是关于是否有用于解析 AutoCAD 文件的库?的主要内容,如果未能解决你的问题,请参考以下文章
打开CAD软件,弹出‘Auto CAD信息’对话框:菜单加载失败。是怎么回事?
是否有任何 .NET Core 兼容库用于读取 Excel 电子表格文件? [关闭]
AutoCAD卸载不干净,auto Uninstaller需要密钥,请问谁有auto Uninstaller注册机或者免密的软件