• ベストアンサー

DXFファイルをVBで取り込み、図形を表示することは可能でしょうか?

DXFファイルをVBで取り込み、図形を表示することは可能でしょうか? 教えて!で検索しても上記のような要件は見つからず、困っています。 VBでDXFファイルを読み込むようなライブラリが用意されているのかも 調べていますが、なかなか良い情報が見つかりません。 ご存知の方がいたら、教えて下さい。 環境は、winXPまたはwin7 VisualBasic2008 もしも、C#やC++でなら実現可能という情報もお待ちしております。

質問者が選んだベストアンサー

  • ベストアンサー
  • -iloVoli-
  • ベストアンサー率76% (185/241)
回答No.4

No3です。 補足説明です。 AcadRemoconでは、dxfファイル内のほぼ全ての情報を、配列として取得できます。(2000形式以下のdxfの場合) 同じ配列に全てを格納することもできますし、項目・オブジェクト毎に別々の配列に格納することもできます。 例えば、下の様なプログラムがあります。 http://www.acadremocon.net/cgi-bin/thread.asp?thread=200609280000 このプログラムの内容は、 (1)AutoCADに表示されている任意のオブジェクトをdxfファイルに書き出す。 (2)そのdxfファイルをExcelVBA上でAcadRemoconを使用して解析する。 (3)その解析結果より、Excelシート上にオートシェイプの図を描画する。 と、なっています。 それを今回の用途に改造するなら、 すでにdxfファイルが有るので(1)は不要。(と言う事は、AutoCADも不要) (2)はVBA=VBと置き換えれば、ほぼそのまま。 (3)は、オートシェイプを描画する部分を、VBのフォーム上に描画する様に変更。 以上で出来ると思います。 ちなみに、エクスプローラ上で、dxfをサムネイル表示させるプラグインを、 インターネット上で見つけることができます。 それらを利用する手もありそうですね。

Bradlly
質問者

お礼

iloVoliさん、詳しく有難うございます。 実際試してみようと思いましたが、サンプルソースは有料のようなので保留にします。 DXFからPDFに変換して、PDFをVBで取り込む方法を検討することになりましたので この質問はクローズとさせて頂きます。 せっかくの機会なのでDXFファイルを解析してみようと思っているので また質問させて頂くかと思います。 また宜しくお願いします。

その他の回答 (3)

  • -iloVoli-
  • ベストアンサー率76% (185/241)
回答No.3

「acadremocon.net」 http://www.acadremocon.net/cgi-bin/index.asp こちらの、AcadRemocon.dllを使えば、簡単にdxfの解析・編集ができます。 VB,(VBA,VBS)でのサンプルが多いですが、他の言語でも使える様な事が書いています。 AcadRemocon.dllのダウンロードは無料で出来ますが、サンプルプログラムのダウンロードは、 有料(登録料?)です。 サンプルプログラムをダウンロードしなくても、掲示板内に例文が沢山有りますし、 ヘルプも有りますから、簡単に自分で作成する事ができます。

  • net0303
  • ベストアンサー率14% (1/7)
回答No.2

今日は、 文面からは目的がわかりませんが単に趣味で表示したいのならDXFの解析と 画面描画のツールを自分で作るしかないでしょうね。 ただ図形は線だけではなく円、文字、記号なども入ってますのでちょっと骨かも。 図形の画面表示、操作、拡大縮小、要素の移動削除などを行うツールをライブラリで提供する CADエンジンと言うのが販売されていますが多くはプロ向けで安くはありません。 これらのエンジンは大抵DXF(R12)くらいは読めるようになっているようです。 DXF解析と言っても読み込んで表示用に変換したり他のCADフォーマットに変換したり するわけですから、図形表示のライブラリはあってもDXFの解析ツール単体のライブラリと いうのは無いような気がします。

Bradlly
質問者

お礼

色々検索して、CADエンジンありましたが、それをVBでどう扱うのかも分からず断念しました。 DXFからPDFに変換してそれを利用する方法で検討します。 この世に無いものは自分で作るしかないので、DXFファイルを解析する書籍とか みてみようと思います。

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.1

DXFはただのテキストファイルですから、テキストファイルとしてアクセスし内容を読み込み、内容にしたがって線画を画面に表示させてやれば良いです。 DXFの仕様については書籍が発売されていますのでそれを購入するか、インターネットでDXFで検索したら何か仕様が見つかるかもしれません。 とりあえずメモ帳ででもDXFファイルを読み込んでみたらどういうものかはなんとなく把握できます。

Bradlly
質問者

お礼

回答ありがとうございます。 DXFの内容にしたがって線画を画面に表示する方法しか無いでしょうか? .net frameworkとか、何か別のライブラリにDXFを解読するようなものは無いでしょうか? VB以外でも開発言語は何でも良いです。 DXFの内容については調べてみます。