2009-05-13 15 views
5

Cualquier idea sobre la interfaz con AutoCAD a través de un programa JAVA. Estoy buscando una solución que pueda interactuar directamente con una sesión de AutoCAD (incluso iniciar una), la forma en que funciona con las extensiones .NET de AutoCAD. O cualquier forma de trabajar con ObjectARX a través de JAVA, definitivamente sin escribir un contenedor completo de JNI sobre él.Interfacing AutoCAD con JAVA

Agregado: Estamos buscando algo en código abierto. En caso de que no haya ninguno, estamos listos para crear uno en código abierto si alguien puede echar una mano explicando cómo se puede hacer. Hemos echado un vistazo a JNA y JaWin. JNA golpeado con JNI podría ayudar, pero es demasiado feo. Por otro lado, JaWin no se ha actualizado en los últimos 4 años, por lo que es bastante escéptico al usarlo.

Respuesta

1

Estamos trabajando en un proyecto similar. Lo que estamos haciendo es escribir el código de integración en C# y la lógica de negocios para nuestro proyecto en Java.

Estamos utilizando un puente C++ que utiliza JNI para llevar las llamadas Java a C++, y luego las traduce una copia de seguridad a C#, y viceversa. Cada función que debe pasar de C# a Java debe implementarse en el código del puente. Esto es bastante complicado, y hay algunos problemas para hacer que el código C++ no administrado funcione con C#, así como la sobrecarga estándar de traducir Jstrings en cadenas C# y similares. El resultado es relativamente rápido, después de que hicimos algunas optimizaciones para asegurarnos de que no estamos comenzando y deteniendo la JVM para cada llamada a la capa de Java.

Anteriormente utilizábamos los objetos COM a los que llamaba el complemento AutoCAD, por lo que sería otro enfoque.

2

Lo único que se me ocurre es usar un puente Java < -> .Net como JNBridge. Lo he usado en otros escenarios y funciona bien. Nunca he trabajado con Java y AutoCad, por lo que podría haber otras soluciones más económicas.

+0

Gracias, pero JNBridge es una implementación comercial. En segundo lugar, pasar de Java a .NET a ARX a AutoCAD va a ralentizar mucho las cosas. :( – sangupta

+0

Lo siento compañero, lo mejor que puedo hacer :) – willcodejavaforfood

+0

No lo siento - Muchas gracias por la sugerencia. De hecho, ahora estamos pensando en trabajar para cerrar esta brecha en código abierto. ¿Ningún arrendatario? – sangupta

2

Si está tratando de interactuar con la aplicación AutoCAD tendrá dificultades. Si desea interactuar con los archivos dwg, existe Open Design Alliance que tiene bibliotecas que permiten trabajar con archivos dwg sin AutoCAD.

+0

Gracias - de hecho estamos buscando una forma de interactuar con la aplicación AutoCAD :( – sangupta

2

Puede intentar utilizar el puente ActiveX de JavaBeans y la automatización COM para abrir AutoCAD y manipularlo.

Dicho esto, el puente ActiveX de JavaBeans no ha evolucionado desde hace tiempo (lo utilicé en 2003) y Autodesk está invirtiendo seriamente en .Net para todo lo relacionado con las extensiones y la automatización en AutoCAD.