2009-05-13 15 views
5

Javaプログラムを使用してAutoCADとインタフェースする方法については、私は、AutoCADの.NET拡張機能で動作する方法で、AutoCADセッション(最初のものでも)と直接インターフェースできるソリューションを探しています。または、Javaを介してObjectARXを操作する方法はありますが、完全なJNIラッパーは作成しないでください。AutoCADとJAVAのインタフェース

が追加されました:私たちは、オープンソースで何かを探しています。誰もがそれを行う方法を説明する援助の手を貸すことができる場合、誰もがオープンソースで作成する準備が整っています。 JNAとJaWinを見てきました。 JNIのクラブは助けになるかもしれないが、あまりにも醜いです。一方、JaWinは過去4年間で更新されていないので、それを使用して懐疑的です。

答えて

1

私たちは似たようなプロジェクトに取り組んでいます。私たちがやっていることは、C#での統合コードとJavaでのプロジェクトのビジネスロジックを書くことです。

我々は、JavaはC++まで呼び出し、その後のC#、およびその逆にまで戻ってそれらを変換取るためにJNIを利用してC++ブリッジを利用しています。 C#からJavaに移行する必要のある各機能は、ブリッジコードで実装する必要があります。これはかなり関係しており、C#で動作するアンマネージドC++コードと、JstringをC#ストリングなどに変換する標準的なオーバーヘッドを得るためのいくつかの問題があります。結果は、Javaレイヤーへの呼び出しごとにJVMを開始したり停止したりしないように、いくつかの最適化を行った後は比較的高速です。

以前は、AutoCADプラグインによって呼び出されたCOMオブジェクトを使用していました。これは別の方法です。

2

唯一のことは、JNBridgeのようなJava < - > .Netブリッジを使用することです。私は他のシナリオでこれを使用しており、正常に動作します。しかし、JavaとAutoCadを使った作業は決してできませんでしたが、他の安価なソリューションがあるかもしれません。

+0

ありがとうございますが、JNBridgeは商用実装です。次に、Javaから.NETへのARXからAutoCADへの移行は、多くのことを遅くするでしょう。 : – sangupta

+0

申し訳ありませんが最高の私はできる: – willcodejavaforfood

+0

申し訳ありません - ご提案いただきありがとうございます。事実、私たちは現在、オープンソースでこのギャップを埋めようと努力しています。何かお手数ですか? – sangupta

2

あなたはAutoCADアプリケーションと対話しようとしている場合は、大変な時間を持つことになります。 dwgファイル自体と対話したい場合は、AutoCADなしでdwgファイルで作業できるライブラリを持つOpen Design Allianceがあります。

+0

ありがとうございます - 私たちは実際にAutoCADアプリケーションとのインターフェース方法を探しています: – sangupta

2

あなたは、AutoCADを開き、それを操作するためのJavaBeansのActiveXブリッジやCOMオートメーションを使用しようとすることができます。

JavaBeansのActiveXブリッジはしばらく進化していません(私は2003年に使用しました)、オートデスクはAutoCADの拡張機能やオートメーションに関連するすべてのものに対して.Netに真剣に投資しています。