是否有用于解析AutoCAD文件(DWG或DXF)的库(最好是开源)?
好吧,对于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格式,您可以使用来自opensource foundation的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支持不能轻易完成.
与C#和.Net CAD组件中的开源cad绘图(dwg)库重复(或至少相关),可以读取/写入dxf/dwg文件
没有任何东西可用于免费解析DWG,我认为这是可靠的.与AutoDesk的RealDWG产品相比,开放式设计联盟往往更便宜,运行的操作系统更多.对于尚未发送代码的初创公司,官方发展援助有一个价格层 - RealDWG没有.ODA和AutoDesk都在论坛中提供支持 - 您必须是ODA的成员,但AutoDesk的论坛位于http://discussion.autodesk.com/forums/,您可以免费加入.
DXF是一种文本文件格式(类似于XML),您可以使用您喜欢的任何内容进行解析 - 如果您知道自己在寻找什么.你可能有更多的运气找到一个库(我没有看过它),但这将涉及从DWG格式转换.请注意,DXF格式有各种版本
您可以尝试使用Autodesk的DWG Trueview(免费),但它是最终用户查看器 - 它不会正式提供API.有些人在过去自动化方面取得了不同程度的成功.我没有尝试过自己,我强烈怀疑最新版本是否已经强化了.
最终,如果您正在为那些可能会坚持的高端客户工作,或者至少对缺乏"官方"AutoCAD库和"Trusted DWG"BS而感到犹豫,那么您可能需要投资一个Autodesk开发者网络的成员资格.
作为一个长期的最终用户,我可以告诉你,官方发展援助的开发人员对错误报告的反应比对AutoCAD更敏感.