• ベストアンサー

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の内容については調べてみます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • DXF ファイルがCADで読込まれない。

    商用のCADソフト AutoCAD LT 2000で自作の DXFファイルを読込み、画面に図形が表示される筈が、読込まれ ません。フリーのJwwでDXFとして読込むときちんと図形が 表示されました。そして、DXFファイルとして書込み直して、 再度、AutoCAD LT 2000で読込もうとしたら今度は 図形が描画されました。再現性が100%あるのですが、原因が わかりません。 エクセルで読取ってデータを比較すればよいのでしょうが、1万 行以上あるのでちょっと苦痛です。とりあえずは考えられる原因 をご教示ください。パソコンなどは全くの同一環境です。

  • AUTOCADでDXF変換すると図形がずれます

    AUTOCAD R14.01を使っています。 図面を書いて、ブロック図形で登録された機器等を配置し DXF変換すると、そのDXFファイルをAUTOCADで読みこむと 正しく表示されますが、JW_WINで読みこむと、回転、反転させた ブロック図形があっちこっちに飛んでしまいます。  もちろん、保存時に分解すればJWでも正しく表示されますが ブロックを保ったままJW_CADで正しく表示させるには どうしたらよいでしょうか?

  • AutoCAD LT2000でdxfファイルを開きたい

    初歩的な質問ですみません。 OSはWin XP、AutoCAD LT2000でdxfファイルを開くと、画面表示しません。 (エラーメッセージ等なし) dwgファイルは開くことが可能です。また、開けなかったdxfファイルは、他PC(別環境下)で開くことができたので、ファイルが破損している可能性は低いと思われます。 上記環境においてdxfファイルを開くにあたり、追加設定、留意する点等ありましたら、ぜひアドバイスをお願い致します。

  • AutoCADでDXFを読み込むと・・・

    Win98で"AutoCAD LT2000"を使用してます。 今日、突然DXFファイルを読み込むとグループ化が解除されている状態になってしまいました。 ※通常S/FライナーからDXFファイルを生成すると 通り芯、梁などはグループ化されています。 今までは上記の※通りに読み込みできていました。 DXFでのグループ化を再度戻すにはどうしたら良いか お分かりになる方ご教授下さい。 (他の同機種マシン、同環境で同DXFファイルを読み込みましたが、ちゃんとグループ化されています) 困っております。助けて下さい。

  • プログラミングでエクセルファイルを扱うには VB がベスト?

    プログラミングでエクセルファイルを扱うのにベストなプログラミング言語を教えてください。 VB ですか? それとも、C言語などでも便利なライブラリが用意されていますか? ちなみにエクセルのマクロは使いたくありません。

  • VB2010からコマンドの実行方法

    環境  VisualBasic2010Express  WindowsXPSP3 前提  あるプログラムをインストールしていると使えるコマンドがあります。  コマンドプロンプト上から、バッチファイルを実行すると正常動作します。  仮に j.bat とします。  内容は   dxf -o -s c:\test\test0.dxf   dxf -o -s c:\test\test1.dxf   dxf -o -s c:\test\test2.dxf  こんな感じです。  dxfの本体は、とあるフォルダにあるdxf.exeと思われます。  (同名ファイルが複数あるので、特定できていません)  パスが通っているのか、カレントディレクトリ(?)に関係なく実行可能です。  このバッチファイルを実行すると処理は正常です。 現状  VBでボタンを押したらバッチファイルと同じ処理をするプログラムを作りたいのですが  実行する内容が毎回変化します。(dxfコマンドの引数が変わる)   よって同じバッチファイルは使えません。  Dim Buffer(2) As String  Dim Ret(2) As Integer   for i =0 to 2    Buffer(i) = "dxf -o -s c:\test\test" & i & ".dxf"    Ret(i) = Shell(Buffer(i), vbNormalFocus)   next i  こんなプログラムですが、処理がされてません。  コマンドプロンプトは一瞬3個開きます。  dxfをフルパスで記述しても同じです。 質問(1)    コマンドプロンプト上にメッセージが出ているようなのですが    一瞬で消えるので読めません。    コマンドプロンプトを閉じない方法はありませんか?    なければ出力を残す方法はありますか? 質問(2)    バッチファイルを毎回生成して、    そのバッチファイルをShellコマンドで実行すれば動くのかも知れませんが    他に良い方法はありませんか? よろしくお願いします。 私は、VB2010は初めて。 VB6で2個プログラムを作った程度です。 コマンドプロンプト関連(?)は初めてです。

  • DXFファイルをTIFファイルに変換するコンバー…

    DXFファイルをTIFファイルに変換するコンバートソフトについて DXFファイルをTIF(画像ファイル)に変換するコンバートソフトを 探しています。出来れば、フリーソフトがあればベストです。 フリーでなければ、支払いの関係が有るので、 インターネットのダウンロードでの購入ではなく、 パッケージで、売っている安価なソフトが有りましたら教えて下さい。 ご協力お願いします。 使用環境は、WIN2000 JWCADを使用しております。

  • VB.NET: Microsoft.VisualBasictとは?

    VB.NET では、およそ FileOpen などの関数を使わなくてもファイル操作は可能。 極端に言えば、.NET Framework クラス ライブラリだけでも可。 でも、一般的には、My ファイル システム オブジェクトを利用する。 このオブジェクトは、Microsoft.VisualBasic.FileIOでサポートされている。 しかし、オブジェクトのメソッドには限界がある。 そういう場合には、System.IOとSystem.Text とを利用する。 VB 2008 Express をダウンロードし VB.NET とやらを学習し始めたのは1月26日。 定数やデータ型、制御文の学習に徹しています。 でも、少しでも実際的な演習に踏み込めば VB.NET のファイルアクセス手段に抵触。 で、現状では、上記のような認識を持つに至りました。 先ずは、この認識自体が怪しいもの。 そしてわからないのが次の2つの存在。 前者は、ランタイムをサポートし、後者はオブジェクトをサポートすることは書かれています。 でも、その意味している内容がわかりません。 Microsoft.VisualBasic Microsoft.VisualBasic.FileIO 少し、教えて頂ければ幸いです。

  • VisualStudio2008(VB)のパッケージングについて

    VisualStudio2008(VB)のパッケージングについて はじめまして。 今回初めてVisualStudio2008の VisualBasicでシステム開発をしています。 無事システムが完成し、納品用のセットアップCDを作成したのですが、 納品先のマシン(割と最新式)にいざセットアップすると、 VisualStudioのライブラリ(?)のセットアップに20分近くかかります。 おそらくこれらの環境をセットアップしないとシステムが動かないのでしょうが、たいしたプログラムでもないので、VB6の時のように軽い EXEファイルだけをコンパイル&配布できないものでしょうか。 よろしくおねがいいたします。

  • OFFICE2003で図形の枠が表示できません

    WinXPでOFFICE2003を入れております。 数日前から、エクセルのオートシェイプ機能を使って四角や丸などの図形を画くと、図形の枠色(図形の線の色)が表示されなくなりました。 ただし、その図形をマウスで少し動かすと、きちんと枠色が表示されるようになります。オートシェイプの規定値では線の色はきちんと黒に設定されています。 関係があるかわかりませんが、上記の現象が出るようになるのと同じ頃から、エクセル内に貼ってある、オートシェイプ図形が画面に表示されるまで時間が掛かるようになりました。(以前はファイルを開くのとほぼ同時に全ての図形が表示されていたのに、今は同じファイルを開いても各図形が表示されるのに1秒ちかく掛かります。) ちなみに、上記の現象は特定のファイルに限定されず、どのエクセルファイル上で起こります。また、数日前からの現象と申しましたが、現象の前後に特定ソフトのインストールやアップデートなど、PC環境が変化するような事は行っていないつもりです。 できれば、図形枠がきちんと出て、図形の描画にも時間が掛からなかった状態に戻したいと思うのですが、何か方法がございましたらご教授いただければ幸いです。宜しくお願いします。 ~以下、マシンの性能です~ ■CPU:Celeron M 1396 Mhz ■合計物理メモリ: 512.00 MB