|
★どんなCADを作りたいのかを決める
どんなCADが欲しいのかを、まず、決めましょう。最初はおおよそでも構いませんが、基本的な部分を後から追加・修正を行うとかなりの負担を強いられます。特に、どんな要素を登録するのか、要素にはどんな属性を付けるのか、どんなデータ構造にするのか、は重要になってきます。
例えば、DXFでのデータ変換をスムーズに行いたい場合には、DXFの資料を読み、DXFがサポートする要素や属性、データ構造と出来るだけ同じにすると良いです。「SXF対応」でも同じです。勿論、単純な機能だけを持つという事でも構いませんし、自分の使い易いように、自由に決めて下さい。
また、アンドゥ/リドゥ(やり直し/戻す)に対応するためには、どのようにするか、等のようなアルゴリズムを考えておき、その内容によって、データ構造が変わる場合も多々ありますので注意が必要です。
★どんな操作を行うようにするのかを決める
まずは、いろんなCADソフト、ドローソフト、ペイントソフト等を使って、ここの、こういう機能・こういう操作が欲しい、実現したい、というのがあれば、ピックアップするのも良いでしょう。
・入力装置
キーボード、マウス、タブレット/デジタイザ
音声入力なんてものも有りかもしれません
・キーボード入力
コマンド入力モード
ショートカットキー/アクセスキー
ダイレクトキー
座標値入力
オフセット値入力
ダイアログボックスでの入力
等
・マウス入力
メニュー/ツールバー/その他によるコマンド指定
座標指定
等
特に、コマンド指定は、どのような手段を出来るようにするのか、座標指示はどのようにするのか、画面の拡大・縮小等はどのように行うか、色や線種等をどのようにするのか、等、普段よく使うであろう機能は特に重要です。作った後でいろいろ変更する事も勿論可能ですが、メインな部分が固まった後で仕様変更があると、かなりの負担が来る可能性があります。プログラムのあちこちに問題が波及してしまい不具合の原因になる事もよくありますので、最初にどこまで考えておくかでプログラミングがスムーズに行くかどうか決まってきます。
★対応する要素
最も基本なものは、
直線(線分)、円、円弧、点(マーク)、文字
です。
直線は、無限線の事です。線分は2点を結ぶ線の事で、長さが決定される線です。直線の例としては、AutoCADの「構築線」のようなもので、画面の端から端まで作図する補助線のような扱われ方をするかもしれません。
円は、○、円弧は、○の一部。円を中心角360°の円弧として扱い、円という要素が無いCADもあります。
点は、単に1つの座標を示す場合もあれば、いろんな形状を持つマークとして扱われる場合もあります。例えば、○、●、+、×、□、◇、*、等で、その大きさを持つ場合もあれば、CADで固定的に大きさが設定されている場合もあります。線端の矢印等もこのマークで実現させているCADもあります。
文字は、1行文字、複数行文字、がありますが、複数行文字は、複数の1行文字要素があると考える事で、要素としては1行文字があればいい、という場合もあれば、行間や文字揃え等の指定をさせたいから複数行を1要素で扱いたい、というような場合もあるでしょう。
これ以外には何があるでしょうか?考えてみてください。
例えば、AutoCAD(DXFファイル)では、寸法(DIMENSION)、楕円(ELLIPSE)、ハッチング(HATCH)、イメージ(IMAGE)、ブロック(INSERT&BLOCKセクション)、引出線(LEADER)、ポリライン(POLYLINE、LWPOLYLINE)、マルチライン(MLINE)、塗り潰し(SOLID)、スプライン(SPLINE)、等があります。
それらのほとんどは、線・円・円弧・点・文字で表現する事が出来るでしょう(出来ないものもあります)。にも関わらず、何故あるのか?それは、作図した後の変更を円滑に出来るようにするためであり、ファイルサイズ(バイト数)を小さくするためであったり、いろんな機能を付加させたい為であったり、など、いろいろな理由があります。例えば、寸法線を描いた後に、その対象となる図形を変更したら寸法値も変わって欲しい場合、寸法を計算し直しして、文字要素の内容をプログラムで自動的に書き換える必要がありますが、寸法要素として用意されている方が、線・文字・円でバラバラに登録されているよりもプログラミングが簡単かもしれません。勿論、バラバラに登録されていても、それらが「グループ化」されていてひとまとめとして扱われている場合にはさほど難しくないかもしれません。
ただ、最初から、起きるであろう問題が分かっていて、あらかじめ対策を取りやすいようにしておく方が、いろいろとやりやすく、問題が後から後から噴出してきてパニックに陥ってしまうともう悲惨としか言うより仕方がありません。
簡単CADを作ろう、というのは、それによって、どんな問題があるのか、どういう風に対処すれば良いのか、を考える1つの材料にしてもらう、という目的もあります。
★対応する属性
最も基本なものは、レイヤ、色、線種、線幅、です。
古いタイプのCADでは、色と線幅は印刷時に1:1で対応させて線幅の個別指定は出来ないようになっていますが、最近のCADでは、線1本1本毎に線幅を指定出来るようになっているものが多いです。これもGUI(グラフィック・ユーザー・インターフェイス)の重要な要素である、WYSIWIG(ウィズィウィグ;見たままその通りに印刷しよう)に根差すものです。
勿論、線幅等を忠実に表現するために表示速度が遅くなってしまう場合もあり得ます。例えばワープロソフト等では、高速表示モードと詳細表示モードが出来るものもあります。普段は簡易だが高速な表示モードで作業を行い、印刷する前に詳細表示をして確認をする、等。しかしそれも、コンピュータの性能が上がるに従って、常に詳細表示をする場合も多くなってきました。
あと、特殊なものでは、線端コード(開始点に黒丸、終了点に矢印、を付ける等の指示を数字で与える)を持つものもありますし、塗り潰し要素をサポートする場合には、塗り潰す色や塗り潰しパターン等を持つ場合もあるでしょう。
それ以外に、見えてこない属性、例えば、これは寸法を示す線であるとか、ハッチング線を示す線であるとか、というような要素識別コードを持つ場合もあります。例えば、寸法線だけを選択したい、とか、ハッチング線だけを選択したい、等で利用されます。尤も、これらは、寸法要素やハッチング要素を扱えるようになっているのなら必要はありません。
|
|
CAD装置(1)
CAD装置(2)
メディア
AutoCADの
DIESELマクロ
CSV
DXF
PCES
IGES
STEP
数学とCAD
CAD作ろ!
▲PREV
▼NEXT
|