2009-05-13 17 views
5

Qualsiasi idea sull'interfacciamento con AutoCAD tramite un programma JAVA. Sto cercando una soluzione che possa interfacciarsi direttamente con una sessione di AutoCAD (anche se ne inizi una), il modo in cui funziona con le estensioni .NET di AutoCAD. O qualsiasi modo di lavorare con ObjectARX attraverso JAVA, sicuramente non scrivere su di esso un wrapper JNI completo.Interfacciamento di AutoCAD con JAVA

Aggiunto: Stiamo cercando qualcosa in open-source. Se non ce ne sono, siamo pronti a crearne uno in open-source se qualcuno può dare una mano spiegando come farlo. Abbiamo dato un'occhiata a JNA e JaWin. JNA bastonato con JNI potrebbe aiutare ma è troppo brutto. JaWin d'altra parte non è stato aggiornato negli ultimi 4 anni, quindi è un po 'scettico usarlo.

risposta

1

Stiamo lavorando a un progetto simile. Quello che stiamo facendo è scrivere il codice di integrazione in C# e la logica di business per il nostro progetto in Java.

Stiamo utilizzando un bridge C++ che utilizza JNI per portare le chiamate Java a C++ e quindi le traduce in C# e viceversa. Ogni funzione che deve passare da C# a Java deve essere implementata nel codice bridge. Questo è abbastanza coinvolto, e ci sono alcuni problemi con il fatto che il codice C++ non gestito funzioni con C#, così come il sovraccarico standard della traduzione di Jstrings in stringhe C# e simili. Il risultato è relativamente veloce, dopo aver fatto alcune ottimizzazioni per assicurare che non stiamo avviando e fermando la JVM per ogni chiamata nel livello Java.

Abbiamo utilizzato in precedenza gli oggetti COM chiamati dal plug-in AutoCAD, quindi questo sarebbe un altro approccio.

2

L'unica cosa che posso pensare è usare un ponte Java < -> .Net come JNBridge. L'ho usato in altri scenari e funziona bene. Non abbiamo mai lavorato con Java e AutoCad, quindi potrebbero esserci altre soluzioni più economiche.

+0

Grazie, ma JNBridge è un'implementazione commerciale. In secondo luogo, passare da Java a .NET ad ARX in AutoCAD rallenterà molto le cose. :( – sangupta

+0

Scusami amico migliore che potrei fare :) – willcodejavaforfood

+0

Non essere dispiaciuto - Grazie mille per il suggerimento. Infatti, stiamo pensando di lavorare per colmare questa lacuna nell'open source. Qualche acquirente? – sangupta

2

Se si sta tentando di interagire con l'applicazione AutoCAD si avrà un momento difficile. Se vuoi interagire con i file dwg c'è l'Open Design Alliance che ha librerie che permettono di lavorare con i file dwg senza AutoCAD.

+0

Grazie - stiamo davvero guardando un modo per interfacciare con l'applicazione AutoCAD :( – sangupta

2

È possibile provare a utilizzare il ponte ActiveX JavaBeans e l'automazione COM per aprire AutoCAD e manipolarlo.

Detto questo, il ponte JavaBeans ActiveX non si è evoluto da un po '(l'ho usato nel 2003) e Autodesk sta investendo seriamente in .Net per tutto ciò che riguarda estensioni e automazione in AutoCAD.