2009-05-13 2 views
5

Любая идея по взаимодействию с AutoCAD через JAVA-программу. Я ищу решение, которое может напрямую взаимодействовать с сеансом AutoCAD (даже запускать один), как оно работает с расширениями AutoCAD .NET. Или любой способ работы с ObjectARX через JAVA, определенно не писать полную обертку JNI над ним.Интерфейс AutoCAD с JAVA

Добавлено: Мы ищем что-то в open-source. Если их нет, мы готовы создать их в open-source, если кто-то может протянуть руку помощи, объясняя, как это можно сделать. Мы посмотрели JNA и JaWin. JNA, связанная с JNI, может помочь, но слишком уродлива. С другой стороны, JaWin не обновлялся за последние 4 года, поэтому он скептически относился к нему.

ответ

1

Мы работаем над аналогичным проектом. Что мы делаем, это написать код интеграции в C# и бизнес-логику для нашего проекта на Java.

Мы используем мост C++, который использует JNI для переноса вызовов Java на C++, а затем переводит их обратно на C# и наоборот. Каждая функция, которая должна перейти от C# к Java, должна быть реализована в коде моста. Это довольно сложно, и есть некоторые проблемы с получением неуправляемого кода на C++ для работы с C#, а также стандартных накладных расходов на перевод Jstrings в строки C# и т. П. Результат был относительно быстрым, после того, как мы сделали некоторые оптимизации, чтобы гарантировать, что мы не запускаем и не останавливаем JVM для каждого вызова на уровне Java.

Ранее мы использовали COM-объекты, которые были вызваны плагином AutoCAD, так что это был бы другой подход.

2

Единственное, что я могу придумать, это использовать Java < -> .Net-мост, например JNBridge. Я использовал это в других сценариях, и он отлично работает. Никогда не работал с Java и AutoCad, хотя, возможно, были и другие более дешевые решения.

+0

Спасибо, но JNBridge - это коммерческая реализация. Во-вторых, переход от Java к .NET в ARX в AutoCAD значительно замедлит работу. :( – sangupta

+0

Прошу прощения, что я мог бы сделать :) – willcodejavaforfood

+0

Не пожалеете - Большое спасибо за предложение. Infact, мы сейчас думаем о работе по устранению этого пробела в open source. Любые берущие? – sangupta

2

Если вы пытаетесь взаимодействовать с приложением AutoCAD, у вас будет непростое время. Если вы хотите взаимодействовать с самими файлами dwg, есть Open Design Alliance, в котором есть библиотеки, которые позволяют работать с dwg-файлами без AutoCAD.

+0

Спасибо, мы действительно смотрим на способ взаимодействия с приложением AutoCAD :( – sangupta

2

Вы можете использовать мост JavaBeans ActiveX и COM Automation, чтобы открыть AutoCAD и управлять им.

Тем не менее, мост JavaBeans ActiveX не развился через некоторое время (я использовал его еще в 2003 году), и Autodesk серьезно инвестирует в .Net для всего, что связано с расширениями и автоматизацией в AutoCAD.

 Смежные вопросы

  • Нет связанных вопросов^_^