用Java中的AutoCAD库来读取.dwg文件?

use*_*544 3 java autocad dwg dxf

是否有任何开源Java或JavaScript库可用于解析.dwg文件并从中获取对象.

我想从我的项目的文本表中提取数据.

似乎AutoCAD开发人员社区更喜欢.NET和C/C++而不是JAVA.

我找到的唯一免费替代方法是首先将.dwg转换为.dxf并使用Kabeja lib从中读取.

Ogn*_*rov 9

从Teigha库opendesignalianceC++,C#和Java接口.Teigha是RealDWG的替代品,它被许多CAD软件供应商广泛使用.它是稳定的,有能力读取/编辑/写入dwgs没有问题.我们有超过3年的经验,我可以说它非常好而且便宜很多.当我们在RealDWG和Teigha之间做出选择时,我们选择了Teigha,我很高兴我们做到了.

利用SWIG为Java创建Teigha

2013年,ODA使用SWIG提供的Java支持创建"Teigha for Java".Teigha for Java包括以下内容:

Java访问.dwg和.dgn文件的完整Teigha API.支持Windows,Linux和Mac平台.API与Teigha.NET非常相似,简化了语言之间的转换.


use*_*544 8

对所有已回答的人表示感谢,我已经测试了你所有的命题,这是我发现的,截至2015年:

目前还没有免费且可靠的解决方案来读取和操作.dwg和.dxf文件.这尤其适用于最新版本的AutoCAD,例如:Autocad 2010,Autocad 2013等,RF 2013,RF 2010.

可靠(昂贵)的解决方案将是ODA的Teigha(每年2000美元)和Autocad的C#RealDWG(每年5000美元)......

更便宜的替代品是这样的:

  • AutoCAD I/O每月10美元(由Augusto Gonclaves建议),但目前功能有限.
  • 编写LISPS例程并在AutoCAD 2015/2016的付费实例中使用SCRIPT文件运行它们.
  • 等待更完整的AutoCad核心控制台实施..

像Kabeja和YCad这样的开源库可能能够处理较旧的AutoCAD版本,但对它们的期望并不高,因为这些项目自几年前就处于非活动状态.值得关注的是Apache Tika,因为他们开始为.dwg文件编写解析器,但开发速度很慢.

在个人方面,我认为AutoDesk现在在CAD市场上拥有强大而自私的垄断,并且他们很难让其他人加入.格式的.dwg文件版本经常变化,我想开源开发人员会必须在某些时候放弃并使用官方产品.

让我们希望在未来几年内有更多的开源解决方案