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 と同じ方法ではレンダリングされません。