Drawing Exchange Format (DXF)

Drawing Exchange Format (DXF) は、AutoCAD の交換形式です。この形式は、ベクトル・グラフィック (多角形、円弧、線、点など) およびレイヤーをサポートします。さまざまな AutoCAD リリースに対応した DXF 形式仕様の多様なエディションは、次の URL からアクセスできます。http://usa.autodesk.com/adsk/servlet/item?siteID=123112&id=5129239

DXF リーダーの使用

DXF ファイルを IlvManager に読み込む』は、DXF ファイルのコンテンツを IlvManager オブジェクトに読み込む方法を示します。
DXF ファイルを IlvManager に読み込む
IlvManager manager = new IlvManager(0); //with no layer
IlvDXFReader reader = new IlvDXFReader();
try {
  reader.read("myDXFFile.dxf", manager);
} catch (IOException e) {
  e.printStackTrace();
}
DXF ファイルは、マネージャーの read メソッドを使用して直接読み込むこともできます。最初に、「DXF ファイルをマネージャーで読み込むための準備」に説明されているように、マネージャーとストリーム・ファクトリーを作成します。
DXF ファイルをマネージャーで読み込むための準備
IlvManager manager = new IlvManager(0); // with no layer
IlvDXFStreamFactory factory = new IlvDXFStreamFactory();
manager.setStreamFactory(factory);
ストリーム・ファクトリーを設定したら、 read を呼び出し、Rogue Wave JViews IVL ファイルの代わりに DXF ファイルを読み込みます。「DXF ファイルのロード」を参照してください。
DXF ファイルのロード
try {
  manager.read("myDXFFile.dxf");
} catch (IOException ex) {
  ex.printStackTrace();
}

DXF ファイルの内容は、 IlvManager オブジェクト、または IlvGraphicSet などのような任意の IlvGraphicBag インターフェースの実装に読み込むことができます。ファイルが IlvManager オブジェクト以外に読み込まれると、DXF ファイルのレイヤー情報は無視されます。
IlvDXFReader は、DXF ファイルを読み込み、DXF ファイルで定義されたグラフィック・オブジェクトをマネージャーに追加します。この過程でエラーが発生した場合、タイプ IOException の例外が発生するため、それをキャッチする必要があります。
リーダーの使用例は、デモ・ソフトウェアの一部にあります。詳細については、 <installdir> /jviews-framework89/samples/dxfreader/index.html を参照してください。

DXF リーダーのカスタマイズ

構成オプションは、 IlvDXFReaderConfigurator で設定できます。デフォルト・コンフィギュレーターは、 IlvDXFReader のデフォルト・コンストラクターを使用する際に作成されます。コンフィギュレーターの独自のインスタンスは、コンストラクター IlvDXFReader(IlvDXFReaderConfigurator) に渡すこともできます。コンフィギュレーターの現在のインスタンスは、IlvDXFReader.getConfigurator() により取得できます。
リーダーは、DXF エンティティーから Rogue Wave JViews グラフィック・オブジェクトへの変換を、ファクトリー IlvDXFGraphicFactory に委ねます。
次のデフォルト実装が提供されています。
ilog.views.dxf.IlvDefaultDXFGraphicFactory 
独自の実装を行うこともできますし、デフォルト実装を専門化することもできます。
新しいファクトリーの設定には、次のメソッドを使用します。
IlvDXFReaderConfigurator.setGraphicFactory(IlvDXFGraphicFactory)
次の DXF エンティティーを読み込みます。
  • 3DFACE
  • ARC
  • 寸法
  • ポリライン
  • ライト・ウェイト・ポリライン
  • テキスト
  • マルチテキスト
  • ソリッド
  • トレース

制限

DXF ファイルの 2D 情報のみを読み込み、3D 情報は無視されます。
リーダーは、多くの一般的な属性を認識しますが、エンティティーのすべての属性を処理するものではありません。一部の属性は、Autodesk® AutoCAD と同じ方法ではレンダリングされません。