(57)【特許請求の範囲】
【請求項１】
２次元３角法に基づいて表示部に描かれた板金構成体の２次元図形の三面図における矢視図の線分の座標情報に基づいて立体図を生成する方法において、
３次元（Ｘ，Ｙ，Ｚ）座標系のＸ−Ｙ面、Ｙ−Ｚ面、Ｘ−Ｚ面が定義された記憶手段を備え、
前記コンピュータが、
前記矢視図である側面図、平面図、正面図の座標情報を全て読み込み、これらを該当の前記Ｙ−Ｚ面、前記Ｘ−Ｚ面、前記Ｘ−Ｙ面に定義する矢視図読込処理工程と、
前記定義された矢視図毎に、その矢視図の最も外側の輪郭を所定方向廻りでなぞったときのループを外ループとして抽出した後に、当該矢視図の外ループを構成する各線分から逆廻りでなぞったときのループを内ループとして全て抽出する閉領域抽出処理工程と、
前記矢視図毎に、前記内ループの互いに平行な線分の間の距離が所定の条件を満足している第１の内ループに対しては、その線分の間を前記板金構成体の板厚として求め、この板厚から当該矢視図の前記第１の内ループの中央を通る線を該内ループの縁を表す縁線成分として定義し、これらの縁線成分を、該当の前記Ｙ−Ｚ面、前記Ｘ−Ｚ面、前記Ｘ−Ｙ面のいずれかに定義する縁線成分生成処理工程と、
前記縁線成分を、その縁線成分が定義されている前記Ｙ−Ｚ面、前記Ｘ−Ｚ面又は前記Ｘ−Ｙ面に対して、垂直な方向に掃引してそれぞれの掃引面を生成し、
これらの掃引面に対して垂直方向に対向する前記Ｙ−Ｚ面、前記Ｘ−Ｚ面又は前記Ｘ−Ｙ面に存在する前記矢視図の前記内ループの内で前記第１の内ループを除く第２の内ループを、当該掃引面に投影して前記立体図を作成して表示する処理工程と
を行なう板金ＣＡＤ図面からの立体図作成方法。
【請求項２】
前記処理工程は、
前記コンピュータが、
前記掃引面に対向する前記矢視図が当該掃引面に対して平行な場合は、当該平行な矢視図の前記第２の内ループを当該掃引面に投影した仮の立体面を生成する工程と、
この仮の立体面に対して対応する適切な縁線成分を、投影していない面に定義された他方の矢視図内に見つけることによって前記仮の立体面の有効性を確認する工程と
を行なう請求項１記載の板金ＣＡＤ図面からの立体図作成方法。
【請求項３】
前記処理工程は、
前記コンピュータが
前記面に定義された矢視図に対向する前記掃引面が斜めな面或いは閉路しない円筒である場合は、当該矢視図の前記第２の内ループを当該掃引面に投影した仮の立体面を生成する工程と、
この仮の立体面と該仮の立体面に垂直方向に対向する面に定義された他方の矢視図の前記外ループとを照合することによって前記仮の立体面の有効性を確認する工程と
を行なうことを特徴とする請求項１記載の板金ＣＡＤ図面からの立体図作成方法。
【請求項４】
前記有効性が確認できた後に、前記板厚を前記仮の立体面に付加して前記立体面を前記表示部に表示することを行なうこと特徴とする請求項２又は３記載の板金ＣＡＤ図面からの立体図作成方法。
【請求項５】
前記コンピュータが、
前記矢視図の内ループが全て抽出されたとき、矢視図毎に、各内ループ内の一対の平行線分を順次抽出する工程と、
その平行線分同士の垂直距離を求める工程と、
前記各内ループの各垂直距離同士を比較し、最も距離間隔が狭い内ループを前記第１の内ループとする工程と
を含む板厚算出処理工程と
を行なうことを特徴とする請求項１乃至３記載の板金ＣＡＤ図面からの立体図作成方法。
【請求項６】
２次元３角法に基づいて表示部に描かれた板金構成体の２次元図形の三面図における矢視図の線分の座標情報に基づいて立体図を生成するプログラムを記憶した記憶媒体において、
３次元（Ｘ，Ｙ，Ｚ）座標系のＸ−Ｙ面、Ｙ−Ｚ面、Ｘ−Ｚ面が定義された記憶手段を備え、
前記コンピュータに、
前記矢視図である側面図、平面図、正面図の座標情報を全て読み込み、これらを該当の前記Ｙ−Ｚ面、前記Ｘ−Ｚ面、前記Ｘ−Ｙ面に定義する矢視図読込処理工程と、
前記定義された矢視図毎に、その矢視図の最も外側の輪郭を所定方向廻りでなぞったときのループを外ループとして抽出した後に、当該矢視図の外ループを構成する各線分から逆廻りでなぞったときのループを内ループとして全て抽出する閉領域抽出処理工程と、
前記矢視図毎に、前記内ループの互いに平行な線分の間の距離が所定の条件を満足している第１の内ループに対しては、その線分の間を前記板金構成体の板厚として求め、この板厚から当該矢視図の前記第１の内ループの中央を通る線を該内ループの縁を表す縁線成分として定義し、これらの縁線成分を、該当の前記Ｙ−Ｚ面、前記Ｘ−Ｚ面、前記Ｘ−Ｙ面のいずれかに定義する縁線成分生成処理工程と、
前記縁線成分を、その縁線成分が定義されている前記Ｙ−Ｚ面、前記Ｘ−Ｚ面又は前記Ｘ−Ｙ面に対して、垂直な方向に掃引してそれぞれの掃引面を生成し、
これらの掃引面に対して垂直方向に対向する前記Ｙ−Ｚ面、前記Ｘ−Ｚ面又は前記Ｘ−Ｙ面に存在する前記矢視図の前記内ループの内で前記第１の内ループを除く第２の内ループを、当該掃引面に投影して前記立体図を作成して表示する処理工程と
を実行させるための板金ＣＡＤ図面からの立体図を作成させるプルグラムを記憶した記憶媒体。
【請求項７】
前記処理工程は、
前記コンピュータに、
前記掃引面に対向する前記矢視図が当該掃引面に対して平行な場合は、当該平行な矢視図の前記第２の内ループを当該掃引面に投影した仮の立体面を生成する工程と、
この仮の立体面に対して対応する適切な縁線成分を、投影していない面に定義された他方の矢視図内に見つけることによって前記仮の立体面の有効性を確認する工程と
を実行させるための請求項６記載の板金ＣＡＤ図面からの立体図を作成させるプログラムを記憶した記憶媒体。
【請求項８】
前記処理工程は、
前記コンピュータに、
前記面に定義された矢視図に対向する前記掃引面が斜めな面或いは閉路しない円筒である場合は、当該矢視図の前記第２の内ループを当該掃引面に投影した仮の立体面を生成する工程と、
この仮の立体面と該仮の立体面に垂直方向に対向する面に定義された他方の矢視図の前記外ループとを照合することによって前記仮の立体面の有効性を確認する工程と
を実行させるための請求項６記載の板金ＣＡＤ図面からの立体図を作成させるプログラムを記憶した記憶媒体。
【請求項９】
前記処理工程は、
コンピュータに、
前記有効性が確認できた後に、前記板厚を前記仮の立体面に付加して前記立体面を前記表示部に表示を実行させる請求項７又は８記載の板金ＣＡＤ図面からの立体図を作成するプログラムを記憶した記憶媒体。
【請求項１０】
前記コンピュータが、
前記矢視図の内ループが全て抽出されたとき、矢視図毎に、各内ループ内の一対の平行線分を順次抽出する工程と、
その平行線分同士の垂直距離を求める工程と、
前記各内ループの各垂直距離同士を比較し、最も距離間隔が狭い内ループを前記第１の内ループとする工程と
を含む板厚算出処理工程と
を実行させるための請求項６乃至９記載の板金ＣＡＤ図面からの立体図を作成するプログラムを記憶した記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、板金ＣＡＤ図面からの立体図作成方法及び板金ＣＡＤ図面から立体図を作成させるプログラムを記憶した記憶媒体に関する。
【０００２】
【従来の技術】
古くから加工や建築の作業現場等では立体形状の伝達をする必要があった。しかし、まだ実物のない概念的な立体形状の伝達手段には、紙などの二次元媒体しかなかった。
【０００３】
つまり、三次元である立体形状を、いかにうまく二次元に縮退（表現）させるかが、立体形状伝達の効率に関わってきた。このような効率のよい縮退（表現）方法としてよく知られているものの一つに、投影法がある。
【０００４】
この複数の投影図によって立体形状を表現する方法は、図面に応用され、長きにわたって、また現在も、設計や生産のための情報伝達手段として工業的に大きな役割を果たしている。これらの図面情報はＣＡＤの普及にともなって電子データに置き換えられることにより、さらに情報処理的にも広がりを見せている。
【０００５】
一方、立体形状をコンピュータの内部に論理的に表現する方法はこの３０年あまりの間に飛躍的な進歩を遂げ、三次元ＣＡＤという立体形状を可視化、応用できる環境により、コンピュータ内部の立体形状の実用上の価値も飛躍的に増大した。
【０００６】
ここで、図面から立体形状を作成する意義を考えてみると、以下の二つがあげられる。
【０００７】
まず一つ目は、図面が表している立体形状の理解の助けである。投影法がいかに効率のよい方法であろうとも、三次元形状を二次元で表すため、曲げ線等の情報が欠落しているし、複数の投影図にわたって情報が拡散している。このため、複雑な図面になればなるほど、図面を見慣れていない者にとっては図面が表している立体形状が理解し難くなる。
【０００８】
二つ目として、二次元の情報、つまり図面から三次元形状を作り出すことができれば、過去に確立された工業的な体系やその資産を否定することなく三次元技術につなげることができる。
【０００９】
この二次元情報から３次元の立体形状を生成する方法には、いろいろ有るが大別するとボトムアップ的なアプローチによるものとトップダウン的なアプローチによるものに分けることができる。
【００１０】
＜ボトムアップ的アプローチ＞
このボトムアップ的アプローチの基本概念は、投影図として数学的に正しい図面（幾何図形）を基に、各頂点座標、稜線を入力して自動的に立体作成を行うことである。
【００１１】
すなわち、三次元形状モデリング特有のブーリアン演算や局所的な形状変更などを必要としない。基本的には、投影図面の正面図、側面図、平面図などの頂点と稜線を互いに照合させて立体を構築する。このため、入力の各投影図に対して要求される条件は数学的に正しい投影位置だけであり、それ以外の条件、例えば位相等といった高度な関係は必要としない。
【００１２】
この方法では、図２６に示すように、まず図面の複数の矢視投影図を照合して、空間上に頂点、稜線からなるワイヤーフレームを作成する。作成されたワイヤーフレームから隣り合う二本の稜線を取り出し、その組み合わせから二本の稜線を含む局面のタイプを決定する。局面のタイプは、二本の稜線の曲線の組み合わせや位置関係から決定することができる。この後に他の稜線に関してこれらの曲面にのるものを抽出して順次ループ化し、これらのループ化された稜線から曲面の具体的な形状を決定する。
【００１３】
このボトムアップ的アプローチの利点は、適用する図面の表している立体図形に制限がないこと、立体作成の途中でオペレータの操作が必要ないことなどである。
【００１４】
＜トップダウン的アプローチ＞
トップダウン的アプローチの基本概念は、各矢視投影図に対してそれぞれの単純な閉領域を考え、各矢視間で関連図形をパターン的に照合させて複数の基本立体を作成する。
【００１５】
さらに、これらの基本立体の包含関係や接続状態をみながら、基本立体の集合体として最終的な立体を完成する。この手法は投影図の段階で面やループ等の概念を用い、さらに進行の過程でブーリアンオペレーション等の処理を行う。
【００１６】
上述のボトムアップ的アプローチは、頂点と稜線の照合によってワイヤーフレームをつくり、その後に面を生成しているが、それに対しこの手法では、はじめから面、または基本立体の存在を仮定し、その仮定を前提に結果の立体を探索していくのが特徴である。ここでいうトップダウンとは、適当な頂点や稜線の集合を閉領域として基礎図形を形成することの他に、必要に応じてオペレータが判断に介入することも含んでいる。
【００１７】
トップダウン的手法のひとつである自動掃引法では、図２７に示すように図面の複数の各閉領域にそれぞれ任意の厚みを与えて階段状の立体や多孔板を作成することができる。
【００１８】
このトップダウン的アプローチの利点として、一つ目は、オペレータの介入等もあり、図面のあいまいさ、省略、微妙な間違いをある程度吸収できること、また、最終的な立体を得るまでの候補立体の探索空間が狭いことである。
【００１９】
二つ目は、ボトムアップ的アプローチが頂点と稜線との照合を基本にしているのに対して、この手法は面を基本に照合を行っている点である。
【００２０】
【発明が解決しようとする課題】
しかしながら、ボトムアップ的アプローチの問題点は大きく分けて二つある。一つは虚物体の排除を目的とした計算量の増大である。
【００２１】
ボトムアップ的アプローチのように頂点と稜線を照合させてまずワイヤーフレームを作る方法では、図２８に示すように実際には存在しない虚の頂点、稜線、面を作成してしまう。
【００２２】
最終的に正しい立体を作成するためには、これらの虚物体を位相関係、元の投影図との照合などによって排除する必要がある。
【００２３】
ときとして組み合わせの爆発を起こしたり、位相を決定できずに立体作成できないなどの可能性があるという問題点がある。
【００２４】
もう一つの問題点は、このアプローチの入力として、正しい投影図を求めることである。図面にあいまいな部分があったり、図２９に示すように、各矢視の頂点と稜線が、人間が見ても分からないほど微妙にずれていたり、Ａの箇所の稜線が省略されていたりすると、照合の途中のワイヤーフレームが正しく生成されず、結果として立体図形が作成されないという問題点があった。
【００２５】
いずれにしてもボトムアップ的アプローチは、立体の成立に関わる全体の位相の決定が一連の演算の最後になるため、大量の面のなかの一つでも作成しそこなうと長い計算時間の後に最終的にまったく解が得られないことがある。
【００２６】
特にＣＡＤ図面の頂点や稜線のデータが微妙にずれている場合、その多くは立体が作成できないが、図面自体は人間の目には正しく映るので立体作成ができない原因が発見できず、実用上大きな障害となる。
【００２７】
一方、トップダウン的アプローチにおいては、オペレータが立体作成時にシステムに情報を与えて立体作成するため、オペレータが図面を理解していなければならないので、熟練したオペレータでなければトップダウン的アプローチ方式を使いこなせないという問題点があった。
【００２８】
例えば基本概念で述べた自動掃引法にしても、図面の各閉領域に対してどのくらい掃引長さを与えたらよいのかオペレータが理解していなければならない。
【００２９】
もう一つの問題点として、適応できる図面の表している立体図形に対して制限があることである。例えば自動掃引法であれば、図面の表している立体図形が、ある矢視図面を掃引して仮の立体を作った後にブーリアン演算を施して作成できるような物でなければならない。
【００３０】
本発明は以上の問題点を解決するためになされたもので、オペレータの介入がなくとも２次元の展開図から自動的に立体図を生成できる方法を得ることを目的とする。
【００３１】
【課題を解決するための手段】
本発明の板金ＣＡＤ図面からの立体図作成方法は、２次元３角法に基づいて表示部に描かれた板金構成体の２次元図形の三面図における矢視図の線分の座標情報に基づいて立体図を生成する方法である。
【００３２】
３次元（Ｘ，Ｙ，Ｚ）座標系のＸ−Ｙ面、Ｙ−Ｚ面、Ｘ−Ｚ面が定義された記憶手段を備え、
前記コンピュータが、
前記矢視図である側面図、平面図、正面図の座標情報を全て読み込み、これらを該当の前記Ｙ−Ｚ面、前記Ｘ−Ｚ面、前記Ｘ−Ｙ面に定義する矢視図読込処理工程と、
【００３３】
前記定義された矢視図毎に、その矢視図の最も外側の輪郭を所定方向廻りでなぞったときのループを外ループとして抽出した後に、当該矢視図の外ループを構成する各線分から逆廻りでなぞったときのループを内ループとして全て抽出する閉領域抽出処理工程と、
【００３４】
前記矢視図毎に、前記内ループの互いに平行な線分の間の距離が所定の条件を満足している第１の内ループに対しては、その線分の間を前記板金構成体の板厚として求め、この板厚から当該矢視図の前記第１の内ループの中央を通る線を該内ループの縁を表す縁線成分として定義し、これらの縁線成分を、該当の前記Ｙ−Ｚ面、前記Ｘ−Ｚ面、前記Ｘ−Ｙ面のいずれかに定義する縁線成分生成処理工程と、
【００３５】
前記縁線成分を、その縁線成分が定義されている前記Ｙ−Ｚ面、前記Ｘ−Ｚ面又は前記Ｘ−Ｙ面に対して、垂直な方向に掃引してそれぞれの掃引面を生成し、
これらの掃引面に対して垂直方向に対向する前記Ｙ−Ｚ面、前記Ｘ−Ｚ面又は前記Ｘ−Ｙ面に存在する前記矢視図の前記内ループの内で前記第１の内ループを除く第２の内ループを、当該掃引面に投影して前記立体図を作成して表示する処理工程と
を行なうことを要旨とする。
【００３６】
本発明の板金ＣＡＤ図面から立体図を作成させるプログラムを記憶した記憶媒体は、２次元３角法に基づいて表示部に描かれた板金構成体の２次元図形の三面図における矢視図の線分の座標情報に基づいて立体図を生成するプログラムを記憶した記憶媒体である。
【００３７】
３次元（Ｘ，Ｙ，Ｚ）座標系のＸ−Ｙ面、Ｙ−Ｚ面、Ｘ−Ｚ面が定義された記憶手段を備え、
前記コンピュータに、
前記矢視図である側面図、平面図、正面図の座標情報を全て読み込み、これらを該当の前記Ｙ−Ｚ面、前記Ｘ−Ｚ面、前記Ｘ−Ｙ面に定義する矢視図読込処理工程と、
前記定義された矢視図毎に、その矢視図の最も外側の輪郭を所定方向廻りでなぞったときのループを外ループとして抽出した後に、当該矢視図の外ループを構成する各線分から逆廻りでなぞったときのループを内ループとして全て抽出する閉領域抽出処理工程と、
前記矢視図毎に、前記内ループの互いに平行な線分の間の距離が所定の条件を満足している第１の内ループに対しては、その線分の間を前記板金構成体の板厚として求め、この板厚から当該矢視図の前記第１の内ループの中央を通る線を該内ループの縁を表す縁線成分として定義し、これらの縁線成分を、該当の前記Ｙ−Ｚ面、前記Ｘ−Ｚ面、前記Ｘ−Ｙ面のいずれかに定義する縁線成分生成処理工程と、
前記縁線成分を、その縁線成分が定義されている前記Ｙ−Ｚ面、前記Ｘ−Ｚ面又は前記Ｘ−Ｙ面に対して、垂直な方向に掃引してそれぞれの掃引面を生成し、
これらの掃引面に対して垂直方向に対向する前記Ｙ−Ｚ面、前記Ｘ−Ｚ面又は前記Ｘ−Ｙ面に存在する前記矢視図の前記内ループの内で前記第１の内ループを除く第２の内ループを、当該掃引面に投影して前記立体図を作成して表示する処理工程と
を実行させることを要旨とする。
【００３８】
このプログラムのインストール、実行を容易にすると共に、流通性を高めることになる。
【００３９】
【発明の実施の形態】
上記課題で説明したように、ボトムアップ的アプローチでは図面のあいまいさ、省略、ある程度の間違いおよび精度上の問題を吸収できない。しかし、図面から立体形状を作ることはそう簡単なことではない。
【００４０】
三次元ＣＡＤにおいては、形状の入力方法が従来の二次元ＣＡＤ製図とは大幅に異なり、複雑で立体的な思考が要求されるため、作業者の負担が非常に多くなる。
【００４１】
このため、仮に図面から立体作成を自動的に行うシステムができれば、上記の二つの意義を満たすとともに、作業者の負担を著しく軽減することができる。
【００４２】
このようなシステムの扱うことのできる図面にはどのような特徴があるだろうか。まず、上で述べたような情報の欠如、拡散があるが、さらに、多くの約束事や暗黙の了解、さらには大小の間違い（精度上の問題も含む）が含まれている。人間はこれらをその都度解釈して情報をおぎなったり修正したりして図面を理解するが、コンピュータがそれを行うのは非常に難しい。このため、人間が書いた図面から立体を自動で作成する技術は産業界で強く実現が望まれているにも関わらず、実用化の例はない 。
【００４３】
（１）人間の書いた図面は、完全に正確なわけではなく、あいまいな表現、間違い、省略を含んでいる。どのようにしてそれらの表現を吸収するような堅牢（ロバスト）なシステムを作るか、また、その核となるアルゴリズムはどのようなものであるべきか。
【００４４】
（２）図面に表示された形状や精度と出来上がった立体の形状や精度と出来上がった立体の形状や精度が対応していなければならない。すなわち期待した立体形状と出来上がった立体形状が違う場合にその原因が図面上で容易に認識できるアルゴリズムでなければならない。ほとんど完全に近い図面がたった一つの間違いで全く立体が作成されないようなものでは困るのである。
が、あげられる。
【００４５】
今まで一般的に用いられてきた、ボトムアップ的アプローチ（各矢視図面間の頂点と稜線の照合による立体図形作成）では、前提として完全な図面が求められ、人間の書いたあいまいな図面には適用することが難しい。
【００４６】
そこで、本発明は、たとえ投影図としては正しくなくても、実用上の図面としては問題のないあいまいな表現でも扱えるようなトップダウン的アプローチ方式を用いる。
【００４７】
この方式では、頂点と稜線の照合ではなく、より大きな単位である図形と図形の照合を行う。すなわち領域単位の大域的な照合により、多少の誤差は吸収されてしまう。そのため、実際の図面を問題なく扱えることになるが、領域の厚み方向の形状は保証されない。しかし、厚みが一定の板金には重要である。そのため扱う図面の対象を「板金」を表した三面図に限る。
【００４８】
また、図面の表している立体図形が、
（３）法線ベクトルがＸ、Ｙ、Ｚ軸のいずれかと垂直な平面
（４）中心軸がＸ、Ｙ、Ｚ軸のいずれかと平行な円筒面
で構成されていなければならない。また、立体の投影図としての図面が、直線および円弧で構成された幾何形状のみのＣＡＤ上の三面図とする。
【００４９】
さらに、板金は板厚が一定なため、完成した立体形状を立体面の集合で表現する。これらの前提を設けることにより、オペレータの介入なしで、計算機の判断だけで多少の間違いや省略を含む図面から立体を作成する。
【００５０】
この計算機の判断だけで三面図から立体を作成する方法の概要を以下に説明する。
【００５１】
＜発明の概要＞
図１は本発明の実施の形態の概略を説明する説明図である。また、本実施の形態では、トップダウン的アプローチとは、オペレータの介入のない、計算機の判断による立体作成をいう。また、ＣＡＤ上の板金三面図とする。
【００５２】
本発明は図１に示すように、初めに、まず三面図（正面図、側面図、平面図）において、それぞれの面の最小閉領域（Ａ、Ｂ、ａ、ｂ、ｃ、ｄ）を抽出し、その情報をもとに板金の板厚を予測する。その後もとめた板厚の値を使い、縁をあらわす縁線分を抽出する。
【００５３】
後は最小閉領域が立体面の形をあらわし、縁線分が立体面の位置をあらわすと考えて、最小閉領域と縁線分との照合（面領域照合という）を行い、立体面を作成するものである。
【００５４】
すなわち、本発明は板厚が一定の板金の「曲げと切断」に限定した立体図作成方法である。
【００５５】
一方、加工方法が上記のように限定された板金図面の特徴は以下のように述べることができる。
【００５６】
・板厚が一定であるから、基本的に図面の幾何図形に現れる線分の閉ループ（以下これを閉領域と称する）は、立体面（虚の平面としての穴も含む）    と、その側面（以下これを「縁」と称する）、およびこれらの閉領域が重なっ  たものを表している。
【００５７】
・面はある立体面の形状を、縁はその面の位置と姿勢を表している。
・元が一枚の板であるから立体図形の形状が限定される。
このような特徴のもとでさらに次のような制限を加える。
（イ）．図面が、直線および円弧で構成されていること。
（ロ）．図面の表す立体図形が、法線ベクトルがＸ、Ｙ、Ｚ軸のいずれかと垂直な平面および、中心軸がＸ、Ｙ、Ｚ軸のいずれかと平行な円筒面で構成されていること。
【００５８】
以上により、板金の図面はかなり形状が限定され、立体図形の形状を捕えやすくなっている。しかし以上のような図面であるがゆえに逆に、あいまいな点も多い。例えば、板厚が一定であることから、板厚を正確に書かなったり、穴の側面を省略するなどである。これらの場合は従来からのボトムアップ的アプローチではほとんど立体作成ができなかった。
【００５９】
以下にＣＡＤ板金三面図から立体図を作成する方法を図２の構成図を用いて説明する。
【００６０】
本実施の形態の方法は、図２に示すように、２次元のＣＡＤ板金三面図データを、各面毎に読み込んでメモリ２に記憶する矢視図読込処理部１と、矢視図読込処理部１が各矢視図データを読み込んだ後に、メモリ２の各矢視図データから閉領域を抽出する閉領域抽出処理部３と、抽出された閉領域同士を比較して図面の板厚を求める板厚算出処理部４と、板厚の算出に伴って、この板厚に該当する閉領域を縁成分（線）に変換する縁線分生成処理部５とを備えている。
【００６１】
また、面となる最小閉領域と、縁線成分とを、その矢視図に対応づけた座標系に定義し、それぞれの座標系の縁線成分及最小閉領域とを所定の方向に掃引した面を作成し、この面に対して垂直方向に縁成分が存在するかどうかを照合して立体の一部を生成する照合処理部６と、照合処理部６で立体図の一部とされた面と、その面に対応する座標系上の面とを比較し、両面に同じ物体（虚物体）があれば立体図の一部とされた面からその物体を排除する虚物体排除処理部７と、照合処理部６で生成された立体図の各面において虚物体が排除されると、立体図の一部の面同士を組み合わせて表示部（図示せず）又は印刷部（図示せず）に出力する立体図生成処理部８とを備えている。
【００６２】
上記のように構成されたＣＡＤ板金三面図から立体図を作成する方法を図３のフローチャートに従って説明する。
【００６３】
初めに、ＣＡＤ板金三面図の各矢視データ（正面図、側面図、平面図）から最小閉領域を抽出する（Ｓ１）。この領域の抽出は、孤立線分（両端点のうちのいずれかが他のどの線分ともつながっていないような線分）を抽出し、可能ならば除去する。また、最小閉領域の抽出を容易にするために、交差した線分の交点にＣＡＤ内のデータとして頂点を発生させている。
【００６４】
すなわち、図２に示す矢視図読込処理部１が２次元の板金三面図の各面（正面図、側面図、平面図）に対して、図４に示すようにそれぞれ座標系を定めて（第三角法の場合）、取り込む。
【００６５】
そして、閉領域抽出処理部３が図５に示すようにこの各矢視図面から最小閉領域を抽出する。まず、図５の（ａ）に示すように、ある矢視の一番外側の頂点Ａｉを探す。この頂点Ａｉから右回りに、図面の輪郭をなぞるようにループをとる。このループをこの矢視の「最大外ループ」と称する。次に、図５の（ｂ）に示すようにこの後、最大外ループがたどった各線分から、今度は左回りにループをとっていく。この最大外ループから左廻りにループをとって得られたこれらのループを最小閉領域とする。
【００６６】
また、最大外ループがたどった線分からはたどれない。そこで、図５の（ｃ）に示すように、他のループからは独立したループがあれば、それまでに得られた最小閉領域でそのループを含有しているものを見つけ、この独立ループを追加する。さらに、図６に示すように、これらのループ（最大外ループ、最小閉領域）がもし作成できなければその図面は間違っていることを知らせる。
【００６７】
次に、板厚算出処理部４は、抽出した最小閉領域のデータをもとに、図面の表している板金の板厚を予測する（Ｓ２）。この板厚の算出は、最小閉領域を構成する各線分を「辺」と呼ぶことにする。
【００６８】
上記閉領域抽出処理部３で求めたすべての矢視の各最小閉領域から板厚算出処理部４が図７の（ａ）に示すように、平行線分のペアを抽出する。例えば、それぞれの最小閉領域の辺に対して、直線の辺には直線、円弧の辺には円弧である対応する辺を見つけ、辺のペアとする。この時、図７の（ｂ）に示すように、互いの辺は逆むきで向かい合っているという条件の下に対応する辺を探索する。
【００６９】
このようにして求めた辺のペアについて、図７の（ｃ）に示すように、２本の辺の長さの平均をＬｉ  、辺の間の距離をＴｉ  とする。ここである値Ｔｔ  を定め、
【数１】
Ｔｔ  ・（１−ｄｔ）＜Ｔｉ  ＜Ｔｔ  ・（１＋ｄｔ）（ｄｔ：定数）
となるようなすべてのｉに対してＬｉ  の総和を求めＬｔ  とする。このようにして求めたＬｔ  のうちの最大のものをＬｔｍａｘすると、
Ｌｔ  ＜Ｌｔｍａｘ・Ｃ（Ｃ：１に近い定数。本実施例では便宜上０．７）
を満たすＬｔ  のうちでＴｔ  が最も小さいものを求め、その最小のＴｔ  を板厚とする。この板厚を以降ｔとする。
【００７０】
この板厚ｔをもとに、縁線成分作成処理部５がステップＳ１で得られた最小閉領域から縁を表す線分（以後この線分を縁線分と称する）を抽出する（Ｓ３）。
【００７１】
例えば、求まった板厚ｔを、今度は逆に図７の（ａ）の各最小閉領域の平行な辺のペアに適用させる。あるペアの辺の距離をＴｉ  とすると、板厚ｔに対して、      ｔ・（１−ｄｔ）＜Ｔｉ  ＜ｔ・（１＋ｄｔ）（ｄｔ：図７の（ｃ）で用いた定数）となるような辺のペアに対して、図８の（ａ）に示すように、その二つの辺の間を通るような線分を生成し、それを単体縁線分とする。これをすべての矢視の最小閉領域から求まった辺のペアに対して行う。このようにして、直線および円弧の縁線分を抽出する。
【００７２】
次に、縁線成分生成処理部５は、単体縁線分の合成を行う。例えば、前述の板厚算出処理部４で求まった単体縁線分について、図８の（ｂ）に示すように、同一線上にあって互いに隣り合っているような複数の直線の単体縁線分を合成する。
【００７３】
また、二つの単体縁線分が板厚程度の隙間で隣り合っている場合に、これらの縁線分を合成し、一本の合成縁線分とする。以下で縁線分というときには、特に断らない限り合成縁線分を表す。円弧の単体縁線分は合成を行わない。
【００７４】
次に、縁線成分生成処理部５は、面切断フラグの決定を行う。面切断フラグの決定は、平面と円筒面が滑らかにつながっているような図９の（ａ）のような立体図形の場合（一般には曲面同士が滑らかにつながっている場合）、図面においてはそれらの面の間に境界線を描かない。しかし、この境界線が正しく描かれていない場合は、従来で説明したように、板金の３面図からは立体図を生成することができない。
【００７５】
そこで、平面と円筒面を表す最小閉領域（図９の（ａ）のＡ）を他の矢視の直線と円弧の縁線分とに照合させて立体平面と円筒面を同時に生成することはせず、平面と円筒面を別々に生成する。このように分けて立体面を作成することにより、アルゴリズムに一貫性が保たれる。
【００７６】
このとき、図９の（ａ）のＡでは、他の矢視の対応する直線および円弧の縁線分よりも最大長さが大きい。そこで縁線分の各端点に、面切断フラグを定義することによって、図９の（ｂ）に示すように、縁線分の大きさに最小閉領域を切断し、適切な大きさにしてから照合を行う。
【００７７】
具体的には、縁線分の各端点が以下のような状態の時に面切断フラグを立てる。
・縁線分が円弧の場合
・縁線分が直線でかつ、その端点で円弧の縁線分と滑らかにつながっている場合
ただしこの方法の欠点として、図１０に示すように、円筒面を表していない最小閉領域に対しても、切断フラグを適用させるため、不必要な面ができてしまう恐れがある。
【００７８】
次に、照合処理部６は、ステップＳ１で得られた各矢視の最小領域を他の矢視の縁線分を掃引した面に投影した立体図の一部の面（仮の面ともいう）を作成する（Ｓ４）。
【００７９】
この照合処理は、ステップＳ１で得られた最小閉領域と、ステップＳ３で得られた縁線分とを照合して立体図形を作成するものである。但し、法線ベクトルがＸ、Ｙ、Ｚ軸のいずれかと垂直な平面および中心軸がＸ、Ｙ、Ｚ軸のいずれかと平行な円筒面である。
【００８０】
いずれの場合も、図１１に示すように、まず図面上にある矢視の最小閉領域を対応する他のどちらかの矢視の縁線分と照合して立体面を作成し、次に残りの矢視のデータにより立体面の有効性を確かめるという照合方法をとる。
【００８１】
また、始めの矢視と縁線分との照合によってできた三次元面の種類によって処理方法を変える。例えば、法線ベクトルがＸ、Ｙ、Ｚ軸のいずれかと平行な面の有効性の確認は最後の矢視の縁線分によって行う。法線ベクトルがＸ、Ｙ、Ｚ軸のいずれとも平行でない平面（以後これを斜めの面と称する）および円筒面の有効性の確認は最後の矢視の最大外ループによって行う。よって考えられる照合方法は表１のようになる。以下に照合処理の手順を詳細を説明する。
【００８２】
【表１】
0004011172.tif 000002
（１）初めに最小閉領域の投影を行う。まず、最小閉領域と縁線分を照合して仮の立体面を作成する際、最小閉領域と縁線分との対応検査を行う。この検査が終って初めて仮の面が作成でき、この仮の面は最終立体図形の一部分の候補となる。
【００８３】
まず、縁線分の端点における面切断フラグを調べる。もし面切断フラグがたっていたならば、その位置で最小閉領域を切断する。これを例を用いて説明する。仮に正面図の最小閉領域を側面図の縁線分と照合させることを考える。例えば、図１２の場合、側面図の縁線分ａの端点の位置により、正面図の最小閉領域Ａが切断されている。縁線分ａのもう一方の端点には面切断フラグが立っていないので切断は行わない。
【００８４】
次に、最小閉領域を切断した後、切断された最小閉領域と縁線分が対応するかどうかを、それらの位置によって検査する。図１３のように、切断された最小閉領域のＹ座標値の最大値、最小値をそれぞれＹRMAXとＹRMINとし、縁線分のＹ座標値の最大値、最小値をそれぞれＹFMAX、ＹFMINとすると、以下が成り立つとき、最小閉領域と縁線分は対応するものとする。
【００８５】
ＹＲＭＡＸ＜ＹＦＭＡＸ＋（ＹＦＭＡＸ−ＹＦＭＩＮ）・α
ＹＲＭＩＮ＞ＹＦＭＩＮ−（ＹＦＭＡＸ−ＹＦＭＩＮ）・α
（ただしαは定数であり、本実施例では０．１とする）
【００８６】
（２）次に合成縁の掃引を行う。（１）で検査され、条件が満たされた場合、縁線分を適切な方向に掃引して仮の面を作る基になる面を作成する。縁線分の掃引方向は、図４で示した座標系にしたがって、図１４に示すように、正面図の縁線分はＺ軸方向、側面図の縁線分はＸ軸方向、平面図の縁線分はＹ軸方向とする。この掃引の結果、直線の縁線分を掃引した場合は平面ができ、円弧の縁線分を掃引した場合は円筒面ができる。図１４の例で説明すると、縁線分ａは側面図の縁線分であるから、図１５に示すように、Ｘ軸方向に掃引して面を作成する。
【００８７】
（３）次に、掃引面への投影を行う。
（２）で得られた掃引面に、図１６に示すように最小閉領域を投影する。この投影を施すことによって、最終結果の立体面の候補となる仮の立体面ができる。つまり結果の立体の一部分の候補である。
【００８８】
そして、仮の面の有効性の確認を行う。表１で示したように、上記の最小閉領域の投影処理で生成された仮の面の種類によって二種類の有効性の確認方法を取る。
【００８９】
（１）垂直、水平面（法線ベクトルがＸ、Ｙ、Ｚ軸のどれかと平行な面）の場合の確認。
この場合、仮の面の有効性の確認は、図１７に示すように、最後の矢視において適切な縁線分を見つけることによって行われる。例として正面図の最小閉領域を側面図の縁線分と照合し、平面図の矢視で仮の面の有効性を確かめるとする。この場合、縁線分がＹ軸と平行であるとすると仮の面はＸＹ平面に平行である。この仮の面のＺ座標をＺp とし、Ｘ座標の最大値をＸpmax、最小値をＸpminとする。この面が有効であるか確かめるために、まず平面図で、Ｘ軸と平行でＺ座標がＺp 付近である縁線分を探す。見つかった縁線分のＸ座標の最大値をＸfmax、最小値をＸfminとする。
【００９０】
このとき、以下の条件が満たされる場合は仮の面は有効であるとする。
縁線分の端点でＸ座標がＸｐｍａｘであるものについて、
・面切断フラグが立っている場合：
【数２】
Ｘｆｍａｘ＋（１＋α）・（Ｘｐｍａｘ−Ｘｐｍｉｎ）
＞Ｘｐｍａｘ      （αは定数）
・面切断フラグが立っていない場合：
Ｘｆｍａｘ＞Ｘｐｍａｘ
縁線分の端点でＹ座標がＸｐｍｉｎであるものについて、
・面切断フラグが立っている場合：
Ｘｆｍｉｎ＋（１−α）・（Ｘｐｍａｘ−Ｘｐｍｉｎ）
＜Ｘｐｍｉｎ      （αは定数。４−６−２節と同じ）
・面切断フラグが立っていない場合：
Ｘｆｍｉｎ＜Ｘｐｍｉｎ
（２）仮の面、および円筒面の場合
この場合、仮の面の有効性の認識は、図１８に示すように、仮の面を最後の矢視が表す平面（正面図なら平面、側面図ならばＹＺ平面、平面図ならばＺＸ平面）に投影し、そのシルエットとその矢視の最大外ループを比較することによって行われる。具体的には、シルエットが最大外ループの内部にあればその面は有効であるとする。
【００９１】
例として正面図の最小閉領域を側面図の縁線分と照合し、矢視で仮の面の有効性を確かめるとする。側面図の縁線分が円弧である場合、は円筒面になる。この円筒面を平面図の矢視（ＸＺ平面）に投影する。またここで、平面図の最大外ループを、最大外ループの頂点の平面位置を中心にしてαだけ拡大しておく。これは、あいまいさをある程度吸収する上で必要である。図１９に示すように、仮の面を投影したシルエットを拡大した最大外ループの内部にあるならば、仮の面は有効であるとする。
【００９２】
次に、虚物体排除処理部７は、穴の部分及び虚物体を排除する（Ｓ５）。以上の方法で構築された立体図形には、図２０の（ａ）に示すように、穴の形をした面および虚物体も含まれている場合が多い。そこで、立体図形と三面図を照合させることにより、これらを排除する。この穴を排除するためのアルゴリズムを以下に述べる。ただし、本説明では、図２０の（ｂ）に示すように、三面図において孤立ループによって表現される、法線ベクトルがＸ、Ｙ、Ｚ軸のいずれかと垂直な面に開いた穴にのみ対応しているとする。
【００９３】
１．内部の最小閉領域から立体面を作るとき、図２１の（ａ）に示すように、その最小閉領域をもとにした立体面が１枚しか生成されなければ、その面は穴を表す虚物体であるとして排除する。
【００９４】
２．また、図２１の（ｂ）に示すように、立体面が複数作られた場合、各面の照合に使われた合成縁線分を調べる。
【００９５】
例えば、立体面の座標の最大値および最小値と合成縁線分のもとになった単体縁線分の端点を比較することにより、その立体面が排除すべきかどうか判断する。
【００９６】
例として、図２２に示す正面図の最小閉領域Ａと、側面図、平面図の縁線分を合わせて面を生成した場合について説明する。立体面のＸ座標の最大値をＸＭＡＸ  、最小値を ＸＭＩＮ  、Ｙ座標の最大値をＹＭＡＸ  、最小値をＹＭＩＮ  とする。
【００９７】
ここで側面の合成縁線分について、それのもととなった単体縁線分の中で、端点のＹ座標がＹMAX およびＹMIN のものがあるかどうか調べる。また、平面の合成縁線分について、それのもととなった単体縁線分の中で、端点のＸ座標がＸMAX およびＸMIN のものがあるかどうか調べる。すべての場合（４種類）において適切な単体縁線分の端点が見つかれば、この立体面は穴を表す虚物体であるとして排除する。
【００９８】
すなわち、図２３に示すように、最小領域Ａからできた仮の面Ａａを３次元座標系のＹ−Ｚ面に定義し、この仮の面Ａａの座標と合成縁成分に含まれている単体縁成分の端点とを比較して排除する。
【００９９】
次に、立体図生成処理部８は、平面又は円筒面を組み合わせて立体図を作成する（Ｓ６）。
【０１００】
この立体図の生成は、ＣＡＤ上に立体面の集合で表現された立体図形を生成するが、この後にこれらの図形を利用する場合、ソリッド化をした方が望ましい場合もある。本例では、立体面の集合で表現した立体図形を生成しているので、ソリッド化は比較的容易である。もしソリッド化を行うならば、図２４に示すように、これらの立体面に板厚の厚みをつけて、ブーリアン演算のＯＲを実行すればよい。本例では生成した立体面の間には、立体面に板厚の厚みを与えることを考慮して、あらかじめ隙間を空けてある。すなわち、図２５に示すように、板金の３面ＣＡＤ図面から自動的に立体図が生成されることになる。
【０１０１】
従って、頂点と稜線の照合による手法では、頂点と稜線による手法では各矢視の頂点と稜線の座標がわずかにずれていたり、稜線が省略してあったりする場合、図面が簡単な場合でも立体図形の元となるワイヤーフレームモデルが正確に構築できず、その結果立体図形が生成できなかったが、本実施の形態ではトップダウン的手法により、面と線の照合によって立体図を生成するので、あいまいさをある程度吸収して立体を作成することができてる。
【０１０２】
なお、上記実施の形態では、板厚算出処理部４が板厚を自動的に求めるとしたがオペレータにより、予め板厚を入力させる場合は、その板厚を直接、縁線分生成処理部５に設定するようにしてもよい。
【０１０３】
【発明の効果】
以上のように、本発明によれば、図面の頂点と稜線の照合による立体作成では図面の持つあいまいさを克服するのは難しく、実際の図面への適用は困難であったが、トップダウン的一手法で各矢視の最小閉領域と縁線分の照合による立体図形生成手法−面領域照合法によって立体図を生成する。
【０１０４】
このため、
（１）板金図面から面単位の照合を行い、自動で立体図形を作成できた。
（２）多少の矢視間の位置の誤差を補って立体図形を作成できた。
（３）多少の図面の省略、データ不足を補って立体図形を作成できた。
（４）照合の単位を頂点と稜線から面単位にすることの有効性を確認できた。
【０１０５】
また、ボトムアップ的アプローチは頂点と稜線の照合により、ワイヤーフレームモデルを作成するが面領域照合法では、最小閉領域と縁線分を照合して立体図形を作成するので、それぞれの探索上の計算量を概算すると、明らかに計算量が少なくなる。
【０１０６】
さらに、ボトムアップ的アプローチでは、照合の結果ワイヤーフレームモデルを作成し、その後に面を生成してソリッドモデルとする。この場合、もしワイヤーフレームモデルが不完全だったならば、結果の物体は生成されない。つまり、図面に少しでも間違いがあると、結果の物体がまったく生成されなくなる。これに対し面領域照合法ではトップダウン的アプローチとして、先に面の存在を仮定してからそれを削除しながら最終立体を探索するアルゴリズムであり、面を削除する方法も完全に削除すべき理由がない限り削除しない。
【０１０７】
このため、結果として立体面が生成される可能性が高くなり、もし図面にボトムアップ的アプローチでは致命的な間違いが存在しても、面領域照合法の場合は図面が表す立体図形の一部分だけでも出力することが可能となる。
【図面の簡単な説明】
【図１】本発明の実施の形態の概略を説明する説明図である。
【図２】本発明のＣＡＤ板金三面図データから立体図を生成する方法の概略構成図である。
【図３】本実施の形態のＣＡＤ板金三面図データから立体図を生成する概略フローチャートである。
【図４】三面図の各矢視図の座標系を説明する説明図である。
【図５】最大外ループと最小閉領域のループを説明する説明図である。
【図６】図面誤りの検出を説明する説明図である。
【図７】平行線成分から板厚を求める手順を説明する説明図である。
【図８】縁線分の生成の手順を説明する説明図である。
【図９】円弧が存在する板金の縁線分の生成の手順を説明する説明図である。
【図１０】下板に円弧が存在する場合の面切断フラグの適用を説明する説明図である。
【図１１】照合の概略を説明する説明図である。
【図１２】最小閉領域の切断と照合とを説明する説明図である。
【図１３】座標系における照合条件を説明する説明図である。
【図１４】照合における３軸上の縁線成分の掃引を説明する説明図である。
【図１５】掃引による面の生成を説明する説明図である。
【図１６】最小領域の投影を説明する説明図である。
【図１７】面の有効性を説明する説明図である。
【図１８】平面図の投影を説明する説明図である。
【図１９】仮の面の有効性の確認の手法を説明する説明図である。
【図２０】虚物体を含む場合を説明する説明図である。
【図２１】生成された立体図に垂直面、水平面の穴ができる例を説明する説明図である。
【図２２】穴を表す面を削除する手順を説明する説明図である。
【図２３】平面に穴を定義する手法を説明する説明図である。
【図２４】本実施の形態によって生成された立体図を説明する説明図である。
【図２５】本実施の形態の手法によって生成される立体図の例を示す図である。
【図２６】従来の三面図の照合を説明する説明図である。
【図２７】従来における自動掃引法を説明する説明図である。
【図２８】従来の三面図の照合によって生成される虚像を説明する説明図である。
【図２９】従来における立体作成できない図面例を示す図である。
【符号の説明】
１  矢視図読込処理部
３  閉領域抽出処理部
４  板厚算出処理部
５  縁線分生成処理部
６  照合処理部
７  虚物体排除処理部
８  立体図生成処理部
【図１】
0004011172.tif 000003
【図２】
0004011172.tif 000004
【図３】
0004011172.tif 000005
【図４】
0004011172.tif 000006
【図５】
0004011172.tif 000007
【図６】
0004011172.tif 000008
【図７】
0004011172.tif 000009
【図８】
0004011172.tif 000010
【図９】
0004011172.tif 000011
【図１０】
0004011172.tif 000012
【図１１】
0004011172.tif 000013
【図１２】
0004011172.tif 000014
【図１３】
0004011172.tif 000015
【図１４】
0004011172.tif 000016
【図１５】
0004011172.tif 000017
【図１６】
0004011172.tif 000018
【図１７】
0004011172.tif 000019
【図１８】
0004011172.tif 000020
【図１９】
0004011172.tif 000021
【図２０】
0004011172.tif 000022
【図２１】
0004011172.tif 000023
【図２２】
0004011172.tif 000024
【図２３】
0004011172.tif 000025
【図２４】
0004011172.tif 000026
【図２５】
0004011172.tif 000027
【図２６】
0004011172.tif 000028
【図２７】
0004011172.tif 000029
【図２８】
0004011172.tif 000030
【図２９】
0004011172.tif 000031