2015-08-07 10 views
3

Есть ли открытая Java-библиотека или библиотека JavaScript для анализа файлов .dwg и получения из нее объектов.Библиотека AutoCAD в Java для чтения .dwg-файлов?

Я хотел бы извлечь данные из таблицы текста для моего проекта.

Кажется, сообщество разработчиков AutoCAD предпочитает .NET и C/C++ по сравнению с JAVA.

Единственная свободная альтернатива, которую я нашел, - это преобразование .dwg в ​​.dxf и использование библиотеки Kabeja для чтения.

+0

попробовать этот http://sourceforge.net/projects/jdwglib/ –

+0

я думаю, что этот проект мертв ... я связался с автором, но не имел ответ через несколько дней ... Кроме того, формат .dwg развивается очень часто, а последний фиксация для библиотеки - несколько лет назад. – user3336544

+0

вы можете проверить проект и выполнить модификацию слайда, или вы делаете наоборот, как мы сделали здесь, обработка файлов является родной (C/C++) и использовать JNI для inetract с java –

ответ

7

кредиты всем, кто ответил, я проверил все ваши предложения, и вот что я нашел, что в 2015 году:

Там в настоящее время нет свободных и надежное решение, чтобы читать и манипулировать .dwg и. dxf. Это относится, в частности, к последним версиям AutoCAD, например: Autocad 2010, Autocad 2013 и т. Д., RF 2013, RF 2010.

Надежными (и дорогостоящими) решениями будут Teigha ODA (2000 $ в год) и RealDWG в C# Autocad (5000 $ в год) ...

Дешевле альтернативы, как, например:

  • AutoCAD I/O 10 $ в месяц (в соответствии с рекомендацией Аугусто Gonclaves), но ограниченными функциональными возможностями на данный момент.
  • Запись LISPS-подпрограммы и запуск их с помощью файла SCRIPT в платном экземпляре AutoCAD 2015/2016.
  • ждут более полной реализации AutoCad Core Console ..

Библиотеки с открытым исходным кодом, такие как Kabeja и YCad, могут иметь дело со старыми версиями AutoCAD, но не ожидайте от них многого, поскольку эти проекты неактивны с тех пор, как несколько лет назад. Однако стоит обратить внимание на Apache Tika, поскольку они начали писать парсеры для файлов .dwg, но разработка была медленной.

На мой взгляд, я считаю, что AutoDesk имеет сильную и эгоистичную монополию на рынке САПР сейчас, и они затрудняют участие других. Версия .dwg-файлов формата меняется так часто, и я думаю, -source разработчикам придется отказаться в какой-то момент и использовать официальный продукт.

Будем надеяться, более открытым исходным кодом решений в ближайшие годы

2

Autodesk разработал AutoCAD в основном с C++ и предлагает плагиновую поддержку для C++, .NET, JavaScript, VBA и LISP, поэтому нет родной поддержки Java. Все они потребуют установки AutoCAD на машине.

В качестве альтернативы вы можете использовать веб-сервис ввода-вывода AutoCAD, который является в основном исполняемым экземпляром в облаке, для запуска собственного кода и извлечения данных или создания новых чертежей. Это будет поддерживать все функции DWG. Check http://developer.autodesk.com

+0

Да, AutoCAD, похоже, ненавидит Java ... Я пытаюсь разработать плагин для системы управления документами Nuxeo tp parse и читать .dwg-файлы, но все библиотеки, доступные сейчас на Java, похоже, не работают ... единственным решением теперь будет пройти через .dxf конвертировать и использовать Kabeja для получения объектов – user3336544

+0

Если у вас установлен AutoCAD на машине, вы можете использовать версию разработчика accoreconsole.exe, которая представляет собой версию AutoCAD с командной строкой, которая может быть автоматизирована с любого языка (через командная строка). Проверьте этот exe в папке установки. Обратите внимание: вы не можете копировать и вставлять на другую папку, для этого требуется полная установка AutoCAD. –

+0

отзыв о accoreconsole.exe: нулевое руководство, нулевая поддержка, очень ограниченное использование ... я попробовал DATAEXTRACTION, но консоль просто сработала ... ATTOUT не поддерживается .. очень мало руководств в Интернете ... кажется, что AutoCAD aren 't дает дерьмо об этой новой функциональности на данный момент ... – user3336544

8

В библиотеке Teigha от opendesignaliance есть интерфейс Java. Teigha является альтернативой RealDWG и широко используется многими поставщиками программного обеспечения САПР. Он стабилен и имеет возможность читать/редактировать/писать dwg без проблем. У нас есть более чем 3-летний опыт работы с ним, и я могу сказать, что он отличный и намного дешевле. Когда мы были в состоянии выбирать между RealDWG и Teigha, мы выбрали Teigha, и я рад, что мы это сделали.

Использование SWIG создать Teigha для Java

В 2013 году ОПР используется поддержка Java, предоставляемой SWIG, чтобы создать "Teigha для Java". Teigha для Java включает в себя следующее:

Доступ Java к полному API Teigha для файлов .dwg и .dgn. Поддержка платформ Windows, Linux и Mac. API очень похож на Teigha.NET, упрощая переход между языками.

+0

Сколько стоит «Teigha for Java»? для исследовательского проекта конкретно .. – user3336544

+1

[Здесь] (http://www.opendesign.com/join) вы можете найти все различные варианты подключения. [Здесь] (http://www.opendesign.com/education) предназначен для обучения/исследования. Говорят, что для этой цели это бесплатно. Однако вам нужно подать заявку. –

+0

ok Я загляну в него .. спасибо !! – user3336544

2

Как вы указали, используйте формат DXF вместо этого, есть Java-библиотека с открытым исходным кодом, YCAD также, которую вы можете использовать и очень проста в использовании.

+0

Я пробовал использовать Ycad, и это путать с компиляцией и импортом .... Кроме того, он не читает значение Attribut в блоках ... автор, возможно, уже отказался от проекта ... примеров использования в любом месте нет. ПРИМЕЧАНИЕ: Kabeja и Ycad не читают значение Attribut, подразумевается, что они могут, но мои тесты возвращают нулевое значение каждый раз ... Я пробовал с несколькими версиями AutoCad (R10, R13, 2010, 2013) – user3336544

+0

Если вы обратитесь к спецификациям DXF pdf, вы можете проверить сущности Attribut и понять их и написать быстрый анализатор файлов, и вы можете уйти от своих требований. – Yoku