|
せっかく作った図を他のソフトでも利用したいケースは多々あります。画像ソフトにデータを渡したければBMP形式で保存すれば良いです。Imageコンポーネントを使用して画面表示している場合には、そのImageコンポーネントのSaveToFileメソッドを使う事で、現在の表示状態を簡単にBMP形式で保存する事が出来ます。スクリーンキャプチャ(ALT+PrintScreen)を行ってWindowsの「ペイント」で貼り付けて、という事も可能です。メタファイル(EMF形式、WMF形式)で保存したい場合には、WindowsAPIの機能を利用する必要はありますが、やり方が分かってしまえばそう難しくは無いと思います。
[BMP/EMFファイルを出力するサンプル]
次に、CADなのだから、CADデータとして他のソフトに受け渡せる方が良いでしょう。という事で、AutoCAD DXF形式で保存出来るようにします。単純なデータですので、GX3形式にします。
[DXFファイルについて]
メニュー「ファイル(F)」の中に、「DXF形式で保存 (D)...」を追加し、そのNameを、MnuFileDXFout、とし、保存用ダイアログ画面を出してファイル名を指定させて、関数 EntDXFSave() を呼び出し、この関数でDXFファイルを作成するようにします。
まずは、色ですが、DXFの基本色は7色、16色、256色、とあります。最新のAutoCADではフルカラー対応との事ですが、ここでは GX3形式にしますので、最大256色となります。このソフトでは基本15色+拡張15色+任意フルカラー、となっていますが、基本7色はDXFの7色モードに対応させるとして、問題は、基本残り8色+拡張15色+任意フルカラーの部分をどうするか、です。DXFのカラー指定は少しややこしいです。ここでは、基本残り8色は明るい7色で出力、その他の色は、白/黒の7番で出力、という事にします。
次に線種ですが、これは、ちゃんと対応させるようにします。
そして、レイヤ(画層)ですが、AutoCADには、レイヤ毎の尺度というのはありませんので、尺度分、要素データに倍率を掛けて出力する事にします。見た目が同じになるように保存する訳です。BYLAYERはそのまま出来るようにします。
線幅は、GX3形式にはありませんので、無視します。つまり、線幅情報は欠落します。データ欠落、とくれば、文字要素の文字間隔も欠落します。
変換規則が決まれば、実際のプログラミングを行います。
この「CAD作ろ!」コーナーは、今回で最終回です。
テスト用に設けてあった、文字背景色:灰色を白色に戻しています。また、要素選択などで表示していた別画面も、表示させないようにしています。
この後にも、いろいろなコマンドを追加していかないと実用的なCADとは言えないでしょう。しかし、後は、欲しいコマンドを追加するだけで、メイン部分はもうほとんど完了しています。どんなコマンドが欲しいのかは、人それぞれによって違うでしょう。コマンドはいくらでも増やせます。際限がなくなってしまいます。ですのでそれらは、皆さんに委ねます。
このまま機能を追加していって、自分好みのCADに仕上げていくか、又は、参考にする程度にして、1から自分なりのCADを作っていくか、パーツ取りだけするにとどめるか、単なる話のネタにするか、等々、あると思いますので、ご自由にしてください。
こういうサンプルプログラム作りによって、どういう要素や機能が必要になるのか、欲しいのか、等々、分かってくると思います。これを「叩き台」にして、より良いものを作って頂けたら、と思います。
|
|
CAD装置(1)
CAD装置(2)
メディア
AutoCADの
DIESELマクロ
CSV
DXF
PCES
IGES
STEP
数学とCAD
CAD作ろ!
▲PREV
|