5 Stimmen

Schnittstelle zwischen AutoCAD und JAVA

Irgendeine Idee für eine Schnittstelle mit AutoCAD durch ein JAVA-Programm. Ich bin auf der Suche nach einer Lösung, die direkt mit einer AutoCAD-Sitzung verbunden werden kann (sogar eine starten), so wie es mit den .NET-Erweiterungen von AutoCAD funktioniert. Oder irgendeine Möglichkeit, mit ObjectARX über JAVA zu arbeiten, auf jeden Fall nicht einen kompletten JNI-Wrapper darüber zu schreiben.

Hinzugefügt: Wir sind auf der Suche nach etwas im Open-Source-Bereich. Falls es keines gibt, sind wir bereit, eines in Open-Source zu erstellen, wenn jemand helfen kann, zu erklären, wie es gemacht werden kann. Wir haben einen Blick auf JNA und JaWin geworfen. JNA in Kombination mit JNI könnte helfen, ist aber zu hässlich. JaWin hingegen wurde in den letzten 4 Jahren nicht aktualisiert, so dass wir skeptisch sind, es zu verwenden.

2voto

willcodejavaforfood Punkte 41426

Das Einzige, was mir einfällt, ist die Verwendung einer Java <-> .Net-Brücke wie JNBridge . Ich habe dies in anderen Szenarien verwendet und es funktioniert gut. Ich habe allerdings noch nie mit Java und AutoCad gearbeitet, also gibt es vielleicht andere, billigere Lösungen.

2voto

mohnston Punkte 727

Wenn Sie versuchen, mit der AutoCAD-Anwendung zu interagieren, werden Sie es schwer haben. Wenn Sie mit den DWG-Dateien selbst interagieren möchten, gibt es die Open Design Alliance, die über Bibliotheken verfügt, die das Arbeiten mit DWG-Dateien ohne AutoCAD ermöglichen.

2voto

Fabio de Miranda Punkte 1086

Sie können versuchen, die JavaBeans ActiveX-Brücke und die COM-Automatisierung zu verwenden, um AutoCAD zu öffnen und zu bearbeiten.

Abgesehen davon hat sich die JavaBeans ActiveX-Brücke schon lange nicht mehr weiterentwickelt (ich habe sie 2003 benutzt) und Autodesk investiert ernsthaft in .Net für alles, was mit Erweiterungen und Automatisierung in AutoCAD zu tun hat.

1voto

Knyphe Punkte 641

Wir arbeiten gerade an einem ähnlichen Projekt. Wir schreiben den Integrationscode in C# und die Geschäftslogik für unser Projekt in Java.

Wir verwenden eine C++-Brücke, die JNI nutzt, um Java-Aufrufe nach unten zu C++ zu übertragen und sie dann wieder nach oben in C# zu übersetzen, und umgekehrt. Jede Funktion, die von C# nach Java gehen muss, muss im Bridge-Code implementiert werden. Das ist ziemlich aufwändig, und es gibt einige Probleme, wenn der nicht verwaltete C++-Code mit C# zusammenarbeiten soll, sowie den üblichen Overhead bei der Übersetzung von Jstrings in C#-Strings und dergleichen. Das Ergebnis ist relativ schnell, nachdem wir einige Optimierungen vorgenommen haben, um sicherzustellen, dass wir die JVM nicht für jeden Aufruf der Java-Schicht starten und stoppen müssen.

Wir haben früher COM-Objekte verwendet, die vom AutoCAD-Plugin aufgerufen wurden, das wäre also ein weiterer Ansatz.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X