当前位置: 首页 > 面试题库 >

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

尉迟华翰
2023-03-14
问题内容

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

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

与JAVA相比,似乎AutoCAD开发人员社区更喜欢.NET和C / C ++。

我发现的唯一免费替代方法是,先将.dwg转换为.dxf,然后使用Kabeja lib进行读取。


问题答案:

感谢所有回答过的人,我已经测试了您的所有命题,以下是截至2015年的发现:

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

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

便宜的替代品是这样的:

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

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

就个人而言,我认为AutoDesk现在在CAD市场上具有强大而自私的垄断地位,这使其他人很难加入。.dwg文件的格式版本经常更改,我想开源开发人员将必须放弃某些地方,改用官方产品。

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



 类似资料:
  • 嗨,我正在阅读文件使用FileReader和BuffeReader只和它是完美的工作 但我想读取并将这些文件放在某个地方,这样我就可以将它们放在参考库中,这样我就可以在任何没有路径的机器上读取它们,但它不起作用:/ 有什么帮助吗?

  • 问题内容: 我有一个文本文件。我想从一行到另一行检索内容。例如,文件可以是200K行。我想从第78行到第2735行读取内容。由于文件可能很大,所以我不想将整个内容读取到内存中。 问题答案: 这是一个可能的解决方案的开始:

  • 问题内容: 我需要在Java应用程序中读取Excel 2007 XLSX文件。有谁知道一个很好的API来完成这项任务? 问题答案: AFAIK还没有可用的xlsx库。但是有些旧的xls: 一个库是jxls,它内部使用已经提到的POI。 其他2个链接:处理Excel文件,用于读写Excel XLS文档文件的Java库 。

  • 问题内容: 我需要非常了解Java和内存问题的人的建议。我有一个大文件(大约1.5GB),我需要将此文件切成许多小文件(例如100个小文件)。 我通常知道如何做到这一点(使用),但是我想知道你是否对内存有任何建议,或者提示如何更快地做到这一点。 我的文件包含文本,它不是二进制文件,每行大约有20个字符。 问题答案: 首先,如果你的文件包含二进制数据,则使用将是一个大错误(因为你会将数据转换为Str

  • 问题内容: 我正在尝试将.MID文件读入Java程序,并希望将每个音符/和弦分开,以便在某种UI上显示它们。我在Java中使用Sequencer API的运气并不好,尝试直接使用MidiFileReader也不适合我。如果有人想看的话,我将附上我在这里使用的代码: 问题答案: 我从来没有深入研究过Java对MIDI的支持,而上一次我认真地进行MIDI编程是在Commodore Amiga成为国王的

  • 问题内容: 我会尽量保持清楚,但如果我的问题不完美,请原谅我。我有一个包含多行数据的txt文件。例: 123拉尔夫·玻色20000 200 1 2 256 ed shane 30000 100 2 4 … 我需要按顺序读取每一行,并将其传递回单独类中的方法进行处理。我知道如何通过使用StringTokenizer将每一行分解为元素。 但是,我不确定如何一次读取一行,将元素传递回另一类,然后在完成处