Взаимодействие AutoCAD с JAVA - PullRequest
5 голосов
/ 13 мая 2009

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

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

Ответы [ 4 ]

2 голосов
/ 19 мая 2009

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

2 голосов
/ 23 июля 2009

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

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

2 голосов
/ 13 мая 2009

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

1 голос
/ 15 января 2010

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

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

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

...