.dwg ファイルを解析してそこからオブジェクトを取得するために利用できるオープンソースの Java または JavaScript ライブラリはありますか。
プロジェクトのテキスト テーブルからデータを抽出したいと考えています。
AutoCAD 開発者コミュニティは、JAVA よりも .NET と C/C++ を好むようです。
私が見つけた唯一の無料の代替手段は、最初に .dwg を .dxf に変換し、Kabeja lib を使用してそれから読み取ることです。
opendesignalianceの Teigha ライブラリには、C++、C#、および Javaインターフェイスがあります。Teigha は RealDWG の代替であり、多くの CAD ソフトウェア ベンダーによって広く使用されています。安定しており、dwg の読み取り/編集/書き込みを問題なく行うことができます。3年以上の経験があり、優れており、はるかに安いと言えます. RealDWG と Teigha のどちらかを選択する段階にあったとき、Teigha を選択しました。
SWIG を活用して Teigha for Java を作成
2013 年、ODA は SWIG が提供する Java サポートを使用して「Teigha for Java」を作成しました。Teigha for Java には以下が含まれます。
.dwg ファイルと .dgn ファイルの両方に対する完全な Teigha API への Java アクセス。Windows、Linux、および Mac プラットフォームのサポート。API は Teigha.NET に非常に似ており、言語間の移行を簡素化します。
2015年現在、私はあなたの提案をすべてテストしました。これが私が見つけたものです。
現在、.dwg および .dxf ファイルを読み取って操作するための無料で信頼できるソリューションはありません。これは、Autocad 2010、Autocad 2013 など、RF 2013、RF 2010 など、AutoCAD の最新バージョンに特に当てはまります。
信頼できる (そして高価な) ソリューションは、ODA による Teigha (年間 2000 ドル) と Autocad による C# の RealDWG (年間 5000 ドル) です...
より安価な代替手段は次のとおりです。
Kabeja や YCad などのオープンソース ライブラリは、古いバージョンの AutoCAD を処理できる可能性がありますが、これらのプロジェクトは数年前から非アクティブであるため、あまり期待できません。Apache Tika は .dwg ファイル用のパーサーの作成を開始しましたが、開発は遅々として進んでいないため、注目する価値があります。
個人的には、AutoDesk は現在、CAD 市場で強力かつ利己的な独占を行っており、他社が参入するのを困難にしていると思います。.dwg ファイルの形式のバージョンは頻繁に変更されるため、オープンソース開発者は今後も変更を続けると思います。ある時点であきらめて、代わりに公式製品を使用する必要があります。
今後数年間で、より多くのオープンソース ソリューションに期待しましょう
Autodesk は、主に C++ を使用して AutoCAD を開発し、C++、.NET、JavaScript、VBA、および LISP のプラグイン サポートを提供しています。そのため、Java のネイティブ サポートはありません。これらはすべて、マシンに AutoCAD がインストールされている必要があります。
または、基本的にクラウド上で実行されているインスタンスである AutoCAD I/O Web サービスを使用して、カスタム コードを実行し、データを抽出したり、新しい図面を作成したりできます。これにより、すべての DWG 機能がサポートされます。http://developer.autodesk.com を確認してください
ご指摘のとおり、代わりに DXF 形式を使用してください。オープン ソースの Java ライブラリ YCAD も使用でき、非常に使いやすいです。