(58)【調査した分野】(Int.Cl.,DB名)
前記延長線形成部は、所定の方向をZ軸方向とする2次元座標系で、前記代表点を起点として前記延長方向に延長した延長線であって、前記領域線との交点を終点とする延長線を形成し、前記代表点グレード確定部によって付したグレードが確定していない場合には、当該グレードが確定していない前記代表点を起点として前記延長方向に延長し、他の延長線との交点を終点とする延長線を再形成する、
ことを特徴とする請求項1に記載の金型形状作成システム。
前記自由曲線作成部は、前記代表点を含む面の法線ベクトルと、前記3次元座標系終点を含む面の法線ベクトルとを補間して、前記自由曲線上の点を含む面の法線ベクトルを付与し、前記自由曲線を作成する、
ことを特徴とする請求項5に記載の金型形状作成システム。
前記3次元座標勾配ベクトル算出部は、前記2次元座標系終点から、前記延長線に沿った2次元座標系勾配ベクトルを定義し、前記2次元座標系終点を含む面の法線ベクトルに垂直な平面に、前記2次元座標系勾配ベクトルを投影して前記3次元座標勾配ベクトルを算出する、
ことを特徴とする請求項5または請求項6に記載の金型形状作成システム。
前記延長方向指定部により指定される前記延長方向は、前記製品形状外周線データにおける所定の曲率の定義面同士で作成されたメッシュのグループ間の境界線であって、前記外周線上の前記境界線の方向である、
ことを特徴とする請求項1ないし請求項7のいずれか1項に記載の金型形状作成システム。
【発明を実施するための形態】
【0032】
以下、本発明の一実施形態に係る金型形状作成システムについて、図面を参照しながら詳細に説明する。
【0033】
[概略構成]
図1は、本実施形態に係る金型形状作成システム100の概略構成を示す図である。
図1に示すように、本実施形態の金型形状作成システム100は、中央演算装置1、表示装置2、記憶装置3、入力装置4、および出力装置5を備えている。
【0034】
中央演算装置1は、パーソナルコンピュータ等のプログラムを実行可能な装置であり、CPUおよびメモリ等を含む。表示装置2は、液晶ディスプレイ等の文字および画像を表示可能な装置である。記憶装置3は、HDD(Hard Disk Drive)等のプログラムおよびデータを記憶可能な装置であり、外部のデータベースサーバ等を用いてもよい。本発明の金型形状作成プログラムは、記憶装置3に格納されているものとする。入力装置4は、キーボード等のユーザによるデータまたは指示入力が可能な装置である。出力装置5は、プリンタ等の文字および画像を出力可能な装置である。本実施形態の金型形状作成システム100においては、出力装置5は省略してもよい。
【0035】
[機能ブロック]
図2は、中央演算装置1が本発明の金型形状作成プログラムを実行することにより機能する機能ブロックを示す図である。
図2に示すように、中央演算装置1は制御部10として機能する。また、制御部10は、本発明の金型形状作成プログラムに応じて、製品形状外周線データ格納部11、領域線入力部12、代表点指定部13、延長方向指定部14、延長線形成部15、代表点グレード確定部16、2次元座標系終点決定部17、および自由曲面作成部18として機能する。
【0036】
製品形状外周線データ格納部11は、予め作成された製品のCADデータに基づいて、製品形状外周線データを、記憶装置3に格納する。製品形状外周線データを作成するには、まず初めに、製品のCAD定義面単位で、四辺、または三辺で囲まれた四角形や三角形など小さいメッシュデータに分割して形状を表現する。これを製品メッシュデータと呼ぶ。同一のCAD定義面で作られたメッシュのグループをパートと呼ぶ。次に、製品形状外周線データ格納部11は、使用する製品部分の外周にある区分化されたメッシュの辺(エッジと呼ぶ)で、他のメッシュと共有されない辺を、製品を取り囲むようにつないだ外周線を特定し、製品形状外周線データとして記憶装置3に格納する。また、製品形状外周線データ格納部11は、外周線上の面の法線ベクトルを求め、記憶装置3に格納する。
【0037】
領域線入力部12は、充てん形状および延長形状の少なくともいずれか一方の形状の領域を定める領域線を入力する。本実施形態では、一例として、充てん形状の領域を定める領域線を入力し、記憶装置3に格納する。また、領域線入力部12は、領域線上の面の法線ベクトルを求め、記憶装置3に格納する。
【0038】
代表点指定部13は、製品形状外周線データのうち、製品の外周線上の複数の代表点を指定する。本実施形態では、代表点指定部13は、エッジ上のパート境界点を代表点として指定し、記憶装置3に格納する。
【0039】
延長方向指定部14は、代表点に対応する延長方向を指定する。本実施形態では、延長方向指定部14は、エッジ上のパート境界線の方向を、代表点に対応する延長方向として指定し、記憶装置3に格納する。このように延長方向指定部14により指定される延長方向は、製品形状外周線データにおける所定の曲率の定義面同士で作成されたメッシュのグループ間の境界線であって、外周線上の前記境界線の方向である。なお、代表点に対応する延長方向ベクトルは、1つのみとする。つまり、1つの代表点が、複数の延長方向を持つことはない。
【0040】
延長線形成部15は、所定の方向をZ軸方向とする2次元座標系で、代表点を起点として延長方向に延長した延長線であって、領域線との交点または他の延長線との交点を終点とする延長線を形成する。また、延長線形成部15は、後述する代表点グレード確定部16によって付したグレードが確定していない場合には、グレードが確定していない代表点を起点として延長方向に延長し、他の延長線との交点を終点とする延長線を再形成する。
【0041】
代表点グレード確定部16は、延長線に対して所定のルールでグレードを付ける。グレードとは、2次元座標系終点を決定する際の優先順位のことを言う。代表点グレード確定部16における所定のルールは、一例として、次のようなルールが挙げられる。
(1)所定の条件に合致する延長線の起点となる代表点のグレードを最も高いグレードとして確定する。
(2)所定の条件に合致しない延長線の起点となる代表点については、確定したグレードよりも低いグレードを付す。
(3)延長線形成部15により再形成された延長線のうち、所定の条件に合致する延長線の起点となる代表点のグレードを確定する処理と、再形成された延長線のうち、所定の条件に合致しない延長線の起点となる代表点については、確定したグレードよりも低いグレードを付す処理とを、全ての代表点についてグレードが確定されるまで繰り返す。
【0042】
また、所定の条件としては、一例として、延長線が他の延長線と交差しない、または、延長線が他の延長線と交差し、交差する延長線のうちで最小の長さとなる、という条件が挙げられる。
【0043】
2次元座標系終点決定部17は、グレードの高い代表点を起点に延長された延長線から順に、延長線の2次元座標系終点を領域線との交点または延長線との交点に決定する。
【0044】
自由曲面作成部18は、2次元座標系終点、および2次元座標系終点からの延長線に沿った2次元座標系勾配ベクトルを、Z軸方向を含む3次元座標系に置き換えて自由曲面を作成する。自由曲面作成部18は、3次元座標終点定義部18a、3次元座標勾配ベクトル算出部18b、自由曲線作成部18c、および閉領域自由曲面作成部18dを備えている。
【0045】
3次元座標終点定義部18aは、2次元座標系終点を、Z軸方向を含む3次元座標系における3次元座標終点として定義する。
【0046】
3次元座標勾配ベクトル算出部18bは、3次元座標終点から、法線ベクトルに基づいて、延長線に沿った3次元座標勾配ベクトルを算出する。本実施形態では、一例として、3次元座標勾配ベクトル算出部18bは、2次元座標系終点から、延長線に沿った2次元座標系勾配ベクトルを定義し、2次元座標系終点を含む面の法線ベクトルに垂直な平面に、2次元座標系勾配ベクトルを投影して3次元座標勾配ベクトルを算出する。
【0047】
自由曲線作成部18cは、代表点の座標と、延長方向と法線ベクトルに基づく3次元座標延長方向ベクトルと、3次元座標終点と、3次元座標勾配ベクトルとにより、代表点と3次元座標終点とをつなぐ自由曲線を作成する。一例として、自由曲線作成部18cは、代表点を含む面の法線ベクトルと、3次元座標系終点を含む面の法線ベクトルとを補間して、自由曲線上の点を含む面の法線ベクトルを付与し、自由曲線を作成する。より具体的には、始点と終点の座標と周囲の勾配ベクトル、例えば接線ベクトルより求められる補間関数を規定し、曲線を生成する。補間関数としては、例えば、3次のベジェ曲線が用いられる。
【0048】
閉領域自由曲面作成部18dは、外周線、領域線、および自由曲線で囲まれた閉領域ごとに、閉領域の辺上の法線ベクトルを用いて、自由曲面を作成する。
【0049】
[動作]
次に、本実施形態の金型形状作成システム100における動作について、図面を参照しつつ説明する。
図3は、本実施形態の金型形状作成システム100における動作を示すフローチャートである。本実施形態の金型形状作成システム100は、記憶装置3に予め記憶された金型形状作成プログラムを中央演算装置1が実行することにより以下のように動作する。
【0050】
まず、製品形状外周線データ格納部11、領域線入力部12、代表点指定部13、および延長方向指定部14として機能する中央演算装置1は、データ入力処理を行う(
図1:S1)。より詳しくは、以下のように、データ入力処理を行う。
【0051】
製品形状外周線データ格納部11は、製品のCADデータを用いて、上述した製品メッシュデータを作成する。次に、製品形状外周線データ格納部11は、使用する製品部分の外周にある区分化されたメッシュのエッジであって、他のメッシュと共有されないエッジを、製品を取り囲むようにつないで外周線を特定し、製品形状外周線データとして記憶装置3に格納する。製品形状外周線データは、製品を取り囲む全ての外周線である必要はなく、後述する充てん面および延長面の少なくともいずれか一方を形成する箇所の外周線についての製品形状外周線データであればよい。製品形状外周線データは、3次元座標のデータである。また、製品形状外周線データ格納部11は、外周線上の面の法線ベクトルを求め、記憶装置3に格納する。
【0052】
領域線入力部12は、後述する充てん面および延長面の少なくともいずれか一方の形状の領域を定める領域線のデータを入力する。領域線は、金型形状作成システム100の使用者により指定された領域線のデータを入力してもよいし、所定のプログラムにより作成された領域線のデータを入力してもよい。領域線入力部12は、入力した領域線のデータを、記憶装置3に格納する。領域線のデータは、3次元座標のデータである。また、領域線入力部12は、領域線上の面の法線ベクトルを求め、記憶装置3に格納する。
【0053】
代表点指定部13は、製品形状外周線データのうち、製品の外周線上における複数のパート境界点を抽出し、それらの点の座標を代表点の座標として記憶装置3に格納する。代表点のデータは、3次元座標のデータである。
【0054】
延長方向指定部14は、製品の外周線上におけるパート境界線の方向を抽出し、代表点に対応する延長方向として、記憶装置3に格納する。
【0055】
次に、延長線形成部15、および代表点グレード確定部16として機能する中央演算装置1は、延長する代表点のグレード付け処理を行う(
図3:S2)。延長する代表点のグレード付け処理の詳細については後述する。
【0056】
代表点グレード確定部16は、それぞれの代表点に対して上述した所定のルールでグレードを付ける。
【0057】
次に、2次元座標系終点決定部17、および自由曲面作成部18として機能する中央演算装置1は、3次元座標延長線を作成する(
図3:S3)。より詳しくは、以下のようにして3次元座標延長線を作成する。
【0058】
2次元座標系終点決定部17は、グレードの高い代表点を起点として延長された延長線から順に、延長線の2次元座標系終点を領域線との交点に決定する。また、2次元座標系終点決定部17は、領域線とは交差せず、他の延長線と交差する延長線については、2次元座標系終点を他の延長線との交点に決定する。
【0059】
自由曲面作成部18の3次元座標終点定義部18aは、2次元座標系終点を、Z軸方向を含む3次元座標系における3次元座標終点として定義する。
【0060】
自由曲面作成部18の3次元座標勾配ベクトル算出部18bは、2次元座標系終点から、延長線に沿った2次元座標系勾配ベクトルを定義し、2次元座標系終点を含む面の法線ベクトルに垂直な平面に、2次元座標系勾配ベクトルを投影して3次元座標勾配ベクトルを算出する。
【0061】
自由曲面作成部18の自由曲線作成部18cは、代表点の3次元座標と、延長方向に基づく3次元座標延長方向ベクトルと、3次元座標終点と、3次元座標勾配ベクトルとにより、代表点と3次元座標終点とをつなぐ自由曲線である3次元座標延長線を作成する。一例として、自由曲線作成部18cは、代表点を含む面の法線ベクトルと、3次元座標系終点を含む面の法線ベクトルとを補間して、自由曲線上の点を含む面の法線ベクトルを付与し、自由曲線を作成する。より具体的には、始点と終点の座標と周囲の勾配ベクトル、例えば接線ベクトルより求められる補間関数を規定し、曲線を生成する。補間関数としては、例えば、3次のベジェ曲線が用いられる。
【0062】
そして、自由曲面作成部18として機能する中央演算装置1は、自由曲面を作成し(
図3:S4)、データを出力して製品メッシュデータとマージする(
図3:S5)。より詳しくは、以下のように、自由曲面を作成し、データを出力する。
【0063】
自由曲面作成部18の閉領域自由曲面作成部18dは、外周線、領域線、および自由曲線である3次元座標延長線で囲まれた複数の閉領域ごとに、各閉領域の辺上に定義された面の法線ベクトルを使用することで、各閉領域を埋めるパッチメッシュを、互いに接線連続となる滑らかな自由曲面として作成する。閉領域自由曲面作成部18dは、パッチメッシュのデータを出力し、製品メッシュデータにマージする。
【0064】
[各工程の具体例]
以下、
図3に示すフローチャートの各工程の具体例を、添付図面を参照しつつ説明する。
【0065】
(充てん面・延長面)
前記フローチャートの各工程の具体例を説明する前に、各工程の前提となる充てん面および延長面について説明する。
【0066】
プレス金型の設計手順は、工法や製品の形状の違いによって、おおまかに2通りあるが、そのうちの1つとして、製品のみを使い、製品の周囲の形状を参考にして外向きに形状を延長する処理を行い、金型面を作るという手順について説明する。
【0067】
図4および
図5は、この延長処理による金型の設計手順を説明するための図である。
図4(A)は、製品の形状を示し、
図4(B)は充てん面を示し、
図4(C)は、
図4(B)の点線で囲んだ部分Aを拡大したところを示している。また、
図4(D)は、
図4(B)の点線で囲んだ部分Bを拡大したところを示している。さらに、
図5(A)は、延長面を示し、
図5(B)は、
図5(A)の点線で囲んだ部分Cを拡大したところを示している。また、
図5(C)は、
図5(A)の点線で囲んだ部分Dを拡大したところを示している。
【0068】
図4(A)に示すように、製品の形状20の外周には、複雑な凹部などの形状部20aが存在している。このような製品の形状20に対する、延長処理による金型の設計手順において、品質の良い延長面を作成するためには、製品の形状20の外周の複雑な凹部などの形状部20aを、予め充てんする部分を作成する作業が必要となる。特に、製品の形状20がフィレット(円弧の一部)を多数含む箇所や、複雑な凹凸形状がある箇所を有する場合には、充てん後の外周が滑らかになるような充てん面を作成することが求められる。
【0069】
そこで、製品の形状20の外周の複雑な凹部などの形状部20aを充てんするために、
図4(B),(C),(D)に示すような充てん面21を作成する。
【0070】
次に、充てん面21を作成した製品の形状20の外周に、
図5(A),(B),(C)に示す延長面23,24を作成する。このようにして、製品の形状20の外周に、充てん面21および延長面23,24を作成し、金型形状を作成している。
【0071】
もう1つの金型の設計手順として、製品と、しわ押え面との間に、余肉面を作り、金型面にするという手順があるが、この場合においても、余肉面の作成前に、製品の外周の複雑な凹部などの形状部を充てん面で充てんする必要がある。
【0072】
延長処理だけで金型形状を作成する手順においては、充てん面の形状が延長面の形状に影響を与え、余肉面を作成して金型形状を作成する手順においては、充てん面の形状が余肉面の形状に影響を与える。
【0073】
つまり、いずれの手順においても、充てん後の製品の外周が滑らかになるような充てん面を作成することが求められる。また、延長処理だけで金型形状を作成する手順においては、延長面についても、製品の外周と連続した滑らかな延長面を作成することが求められる。
【0074】
以下に説明する本実施形態における金型形状作成処理の各工程の具体例は、以上のような充てん面および延長面を作成するために用いられる。なお、ここでは、一例として、充てん面を作成する工程について説明する。
【0075】
(データ入力)
まず、製品形状外周線データ格納部11は、製品のCADデータを用いて、製品メッシュデータを作成する。
図6は、充てん面を形成すべき箇所の周辺の製品メッシュデータ30を示す図である。
図6において、製品メッシュデータ30は、一部を白塗りで省略して示しているが、製品の形状の全体に亘って連続して形成されている。メッシュは、この例では、三角形や四角形等の多角形のメッシュである。
【0076】
次に、製品形状外周線データ格納部11は、充てん面を形成すべき箇所において、製品メッシュデータ30の外周にある区分化されたメッシュのエッジであって、他のメッシュと共有されないエッジを、製品を取り囲むようにつないで外周線31を特定する。
図6において、外周線31の始端点はPsで、また、外周線31の終端点はPeで示している。
【0077】
製品形状外周線データ格納部11は、特定した外周線31のデータを、製品形状外周線データとして記憶装置3に格納する。製品形状外周線データは、3次元座標のデータである。
【0078】
図7は、
図6に領域線を作成した図である。領域線入力部12は、この例では、
図7に示すように、充てん面の形状の領域を定める領域線33のデータを入力する。領域線33は、金型形状作成システム100の使用者により指定された領域線33のデータを入力してもよいし、所定のプログラムにより作成された領域線33のデータを入力してもよい。領域線入力部12は、入力した領域線33のデータを、記憶装置3に格納する。領域線33のデータは、3次元座標のデータである。
【0079】
図8は、外周線31上の面の法線ベクトルと、領域線33上の面の法線ベクトルとを示す図である。製品形状外周線データ格納部11は、
図8に示すような外周線31上の面の法線ベクトルを求め、記憶装置3に格納する。また、領域線入力部12は、
図8に示すような領域線33上の面の法線ベクトルを求め、記憶装置3に格納する。
【0080】
図9は、外周線31上の代表点と、代表点の延長方向ベクトルを示す図である。代表点指定部13は、
図9に示すように、製品メッシュデータ30のうち、外周線31上における複数のパート境界点を抽出し、それらの点の座標を代表点Pdの座標として記憶装置3に格納する。代表点Pdのデータは、3次元座標のデータである。
【0081】
延長方向指定部14は、外周線31上におけるパート境界線の方向を抽出し、代表点Pdに対応する延長方向として、
図9に示すように3次元座標延長方向ベクトルVexを特定し、記憶装置3に格納する。3次元座標延長方向ベクトルVexは、3次元座標のデータである。なお、代表点Pdに対応する3次元座標延長方向ベクトルVexは、1つのみとし、1つの代表点Pdが、複数の3次元座標延長方向ベクトルVexを持つことはない。
【0082】
(グレード付け)
図10および
図11は、代表点Pdのグレード付け処理の詳細を示すフローチャートである。
図12から
図23は、本実施形態における代表点Pdのグレード付けを説明するための図である。
図12から
図23においては、説明を簡略化するために、7個の代表点(Pd,1)
2から(Pd,7)
2までを示している。「,」以降の1〜7の数字は、代表点IDであり、各代表点を識別するために用いられる。
【0083】
代表点グレード確定部16は、
図12に示す代表点(Pd,1)
2から(Pd,7)
2までの集合をFとし、集合Fに含まれる全ての代表点のグレードとして、最も高いグレードであるグレード1を付与する(
図10:S10)。なお、代表点(Pd,1)
2から(Pd,7)
2における小文字の「2」は、各代表点の3次元座標が、2次元座標系に置き換えられていることを示している。
【0084】
延長線形成部15は、
図12に示すように、所定の方向、例えばプレス方向をZ軸方向とする2次元座標系で、集合Fに含まれる各代表点Pdを起点とし、3次元座標延長方向ベクトルVexに沿って延長した延長線であって、領域線34との交点を終点とする延長線41〜47を形成する(
図10:S11)。
図12から
図22においては、外周線32、領域線34、代表点(Pd,1)
2〜(Pd,7)
2、延長線41〜47は、2次元座標系で示されている。本実施形態では、3次元座標の外周線を外周線31と表し、2次元座標系の外周線を外周線32と表している。同様に、3次元座標の領域線を領域線33と表し、2次元座標系の領域線を領域線34と表している。
【0085】
次に、代表点グレード確定部16は、各代表点のグレード確定処理を行う(
図10:S12)。
図11は、グレード確定処理の詳細を示すフローチャートである。以下、
図11を参照して、代表点(Pd,1)
2〜(Pd,7)
2ごとにグレード確定処理について説明する。
【0086】
<代表点(Pd,1)
2>
代表点グレード確定部16は、集合Fに含まれる代表点の代表点IDのうち、最小の代表点IDをカウンタkに代入する(
図11:S20)。
図12に示す例では、代表点(Pd,1)
2の代表点IDである1が最小なので、1をカウンタkに代入する。
【0087】
代表点グレード確定部16は、カウンタkの値が、集合Fに含まれる代表点の代表点IDのうち、最大の代表点IDを超えたかどうかを判断する(
図11:S21)。
図12に示す例では、代表点(Pd,7)
2の代表点IDである7が最大なので、この場合には、カウンタkの値が、最大の代表点IDを超えていないと判断する(
図11:S21;NO)。
【0088】
代表点グレード確定部16は、各代表点Pdを起点として延長した延長線のうち、グレード値が1以下、かつ、外周線32に到達する延長線が存在するかどうかを判断する(
図11:S22)。ここでは、外周線32上の代表点Pdを起点として延長した延長線が、再び外周線32と交差し、その終点が外周線32上の点となる延長が存在するかどうかを判断している。
図12の例に場合には、延長線41〜47は、全て領域線34と交差しており、起点となる代表点Pd以外の点で、外周線32とは交差していない。したがって、この場合には、代表点グレード確定部16は、各代表点Pdを起点として延長した延長線のうち、グレード値が1以下、かつ、外周線32に到達する延長線は存在しないと判断し(
図11:S22;NO)、次の処理へ進む。
【0089】
しかし、代表点グレード確定部16は、各代表点Pdを起点として延長した延長線のうち、グレード値が1以下、かつ、外周線32に到達する延長線が存在すると判断した場合には(
図11:S22;YES)、グレード値をインクリメントする(
図11:S25)。
図11においてGは、グレードの値を示している。したがって、外周線32上の代表点Pdを起点として延長した延長線が、再び外周線32と交差する場合には、その延長線の起点となる代表点Pdのグレードとして、グレード2が付与される。このように、本実施形態では、延長線の交差の有無に関わらず、延長線が外周線32と交差する場合は、その延長線の起点となる代表点のグレードを強制的にグレード2にしている。本実施形態の金型形状作成処理は、外周線から領域線まで滑らかに連続する充てん面を形成するのが目的であるが、外周線から外周線に延長される延長線、およびその起点と終点は、このような充てん面を形成するには重要ではないと考えられるため、以上のようにグレードを強制的に低下させている。
【0090】
代表点グレード確定部16は、ステップS22にてNOと判断した場合には、代表点(Pd,k)
2の延長線が、集合Fに含まれる点を起点とする他の延長線と交差するかどうかを判断する(
図11:S23)。この段階では、カウンタkが1なので、代表点(Pd,1)
2を起点とする延長線41が、集合Fに含まれる点を起点とする他の延長線と交差するかどうかを判断する。
図12に示すように、延長線41は、集合Fに含まれる点を起点とする他の延長線42〜47と交差していない。したがって、代表点グレード確定部16は、代表点(Pd,1)
2を起点とする延長線41が、集合Fに含まれる点を起点とする他の延長線と交差しないと判断し(
図11:S23;NO)、延長線41の起点となる代表点(Pd,1)
2のグレードを、初期設定されたグレード1に確定する(
図11:S27)。そして、代表点グレード確定部16は、カウンタkに、集合Fに含まれる次の代表点IDを代入する(
図11:S26)。
図13において、代表点(Pd,1)
2の上に、ドットの背景の楕円で(G1)と示されているのは、代表点(Pd,1)
2のグレードをグレード1に確定したことを示している。
【0091】
<代表点(Pd,2)
2>
集合Fに含まれる次の代表点IDは、代表点(Pd,2)
2の2なので、代表点グレード確定部16は、ステップS26においてカウンタkに2を代入する。次に、代表点グレード確定部16は、カウンタkの値が、集合Fに含まれる代表点の代表点IDのうち、最大の代表点IDを超えたかどうかを判断する(
図11:S21)。本実施形態の例では、代表点(Pd,7)
2の代表点IDである7が最大なので、この場合には、代表点グレード確定部16は、カウンタkの値が、最大の代表点IDを超えていないと判断する(
図11:S21;NO)。
【0092】
代表点グレード確定部16は、各代表点Pdを起点として延長した延長線のうち、グレード値が1以下、かつ、外周線32に到達する延長線が存在するかどうかを判断する(
図11:S22)。本実施形態の例では、このような延長線は存在していないので、代表点グレード確定部16は、外周線32に到達する延長線は存在しないと判断し(
図11:S22;NO)、代表点(Pd,k)
2の延長線が、集合Fに含まれる点を起点とする他の延長線と交差するかどうかを判断する(
図11:S23)。この段階では、カウンタkが2なので、代表点(Pd,2)
2を起点とする延長線42が、集合Fに含まれる点を起点とする他の延長線と交差するかどうかを判断する。
図13に示すように、延長線42は、集合Fに含まれる点を起点とする他の延長線43〜46と交差している。したがって、代表点グレード確定部16は、代表点(Pd,2)
2の延長線42が、集合Fに含まれる点を起点とする他の延長線と交差すると判断し(
図11:S23;YES)、代表点(Pd,k)
2を起点とする延長線が、交差する他の延長線と比較して、最短であるかどうかを判断する(
図11:S24)。本実施形態の例の場合には、代表点グレード確定部16は、代表点(Pd,2)
2を起点とする延長線42が、交差する他の延長線43〜46と比べて最短であるかどうかを判断する。
【0093】
図13に示すように、それぞれの延長線の終点を、延長線と領域線との交差する点とした場合には、代表点(Pd,2)
2を起点とする延長線42の長さは、交差する他の延長線43〜46の長さに比べて最も長く、最短ではない。したがって、代表点グレード確定部16は、代表点(Pd,2)
2を起点とする延長線42が、交差する他の延長線43〜46と比べて最短ではないと判断し(
図11:S24;NO)、延長線42の起点となる代表点(Pd,2)
2のグレード値をインクリメントする(
図11:S25)。この段階では、代表点(Pd,2)
2のグレードは、初期設定のグレード1からグレード2に更新される。この時点で、代表点グレード確定部16は、延長線42の起点となる代表点(Pd,2)
2のグレードを確定していない。
図14において、代表点(Pd,2)
2の上に、白色の背景の楕円で(G2)と示されているのは、代表点(Pd,2)
2のグレードとしてグレード2が付されたことを示している。
【0094】
<代表点(Pd,3)
2>
代表点グレード確定部16は、カウンタkに、集合Fに含まれる次の代表点IDを代入する(
図11:S26)。集合Fに含まれる次の代表点IDは、代表点(Pd,3)
2の3なので、代表点グレード確定部16は、ステップS26においてカウンタkに3を代入する。次に、代表点グレード確定部16は、カウンタkの値が、集合Fに含まれる代表点の代表点IDのうち、最大の代表点IDを超えたかどうかを判断する(
図11:S21)。本実施形態の例では、代表点(Pd,7)
2の代表点IDである7が最大なので、この場合には、代表点グレード確定部16は、カウンタkの値が、最大の代表点IDを超えていないと判断する(
図11:S21;NO)。
【0095】
代表点グレード確定部16は、各代表点Pdを起点として延長した延長線のうち、グレード値が1以下、かつ、外周線32に到達する延長線が存在するかどうかを判断する(
図11:S22)。本実施形態の例では、このような延長線は存在していないので、代表点グレード確定部16は、グレード値が1以下、かつ、外周線32に到達する延長線は存在しないと判断し(
図11:S22;NO)、代表点(Pd,k)
2の延長線が、集合Fに含まれる点を起点とする他の延長線と交差するかどうかを判断する(
図11:S23)。この段階では、カウンタkが3なので、代表点(Pd,3)を起点とする延長線43が、集合Fに含まれる点を起点とする他の延長線と交差するかどうかを判断する。
図14に示すように、延長線43は、集合Fに含まれる点を起点とする他の延長線42,44〜46と交差している。したがって、代表点グレード確定部16は、代表点(Pd,3)
2の延長線43が、集合Fに含まれる点を起点とする他の延長線と交差すると判断し(
図11:S23;YES)、代表点(Pd,k)
2を起点とする延長線が、交差する他の延長線と比較して、最短であるかどうかを判断する(
図11:S24)。本実施形態の例の場合には、代表点グレード確定部16は、代表点(Pd,3)
2を起点とする延長線43が、交差する他の延長線42,44〜46と比べて最短であるかどうかを判断する。
【0096】
図14に示すように、それぞれの延長線の終点を、延長線と領域線との交差する点とした場合には、代表点(Pd,3)
2を起点とする延長線43の長さは、交差する他の延長線42よりは短いが、延長線44〜46の長さに比べて長く、最短ではない。したがって、代表点グレード確定部16は、代表点(Pd,3)
2を起点とする延長線43が、交差する他の延長線42,44〜46と比べて最短ではないと判断し(
図11:S24;NO)、延長線43の起点となる代表点(Pd,3)
2のグレード値をインクリメントする(
図11:S25)。この段階では、代表点(Pd,3)
2のグレードは、初期設定のグレード1からグレード2に更新される。この時点で、代表点グレード確定部16は、延長線43の起点となる代表点(Pd,3)
2のグレードを確定していない。
図15において、代表点(Pd,3)
2の上に、白色の背景の楕円で(G2)と示されているのは、代表点(Pd,3)
2のグレードとしてグレード2が付されたことを示している。
【0097】
<代表点(Pd,4)
2>
代表点グレード確定部16は、カウンタkに、集合Fに含まれる次の代表点IDを代入する(
図11:S26)。集合Fに含まれる次の代表点IDは、代表点(Pd,4)
2の4なので、代表点グレード確定部16は、ステップS26においてカウンタkに4を代入する。次に、代表点グレード確定部16は、カウンタkの値が、集合Fに含まれる代表点の代表点IDのうち、最大の代表点IDを超えたかどうかを判断する(
図11:S21)。本実施形態の例では、代表点(Pd,7)
2の代表点IDである7が最大なので、この場合には、代表点グレード確定部16は、カウンタkの値が、最大の代表点IDを超えていないと判断する(
図11:S21;NO)。
【0098】
代表点グレード確定部16は、各代表点Pdを起点として延長した延長線のうち、グレード値が1以下、かつ、外周線32に到達する延長線が存在するかどうかを判断する(
図11:S22)。本実施形態の例では、このような延長線は存在していないので、代表点グレード確定部16は、グレード値が1以下、かつ、外周線32に到達する延長線は存在しないと判断し(
図11:S22;NO)、代表点(Pd,k)
2の延長線が、集合Fに含まれる点を起点とする他の延長線と交差するかどうかを判断する(
図11:S23)。この段階では、カウンタkが4なので、代表点(Pd,4)
2を起点とする延長線44が、集合Fに含まれる点を起点とする他の延長線と交差するかどうかを判断する。
図15に示すように、延長線44は、集合Fに含まれる点を起点とする他の延長線42,43と交差している。したがって、代表点グレード確定部16は、代表点(Pd,4)
2の延長線44が、集合Fに含まれる点を起点とする他の延長線と交差すると判断し(
図11:S23;YES)、代表点(Pd,k)
2を起点とする延長線が、交差する他の延長線と比較して、最短であるかどうかを判断する(
図11:S24)。本実施形態の例の場合には、代表点グレード確定部16は、代表点(Pd,4)
2を起点とする延長線44が、交差する他の延長線42,43と比べて最短であるかどうかを判断する。
【0099】
図15に示すように、それぞれの延長線の終点を、延長線と領域線との交差する点とした場合には、代表点(Pd,4)
2を起点とする延長線44の長さは、交差する他の延長線42,43より短く、最短となっている。したがって、代表点グレード確定部16は、代表点(Pd,4)
2を起点とする延長線44が、交差する他の延長線42,43と比べて最短であると判断し(
図11:S24;YES)、延長線44の起点となる代表点(Pd,4)
2のグレードを、初期設定されたグレード1に確定する(
図11:S27)。そして、代表点グレード確定部16は、カウンタkに、集合Fに含まれる次の代表点IDを代入する(
図11:S26)。
図16において、代表点(Pd,4)
2の上に、ドットの背景の楕円で(G1)と示されているのは、代表点(Pd,4)
2のグレードをグレード1に確定したことを示している。
【0100】
<代表点(Pd,5)
2>
集合Fに含まれる次の代表点IDは、代表点(Pd,5)
2の5なので、代表点グレード確定部16は、ステップS26においてカウンタkに5を代入する。次に、代表点グレード確定部16は、カウンタkの値が、集合Fに含まれる代表点の代表点IDのうち、最大の代表点IDを超えたかどうかを判断する(
図11:S21)。本実施形態の例では、代表点(Pd,7)
2の代表点IDである7が最大なので、この場合には、代表点グレード確定部16は、カウンタkの値が、最大の代表点IDを超えていないと判断する(
図11:S21;NO)。
【0101】
代表点グレード確定部16は、各代表点Pdを起点として延長した延長線のうち、グレード値が1以下、かつ、外周線32に到達する延長線が存在するかどうかを判断する(
図11:S22)。本実施形態の例では、このような延長線は存在していないので、代表点グレード確定部16は、グレード値が1以下、かつ、外周線32に到達する延長線は存在しないと判断し(
図11:S22;NO)、代表点(Pd,k)
2の延長線が、集合Fに含まれる点を起点とする他の延長線と交差するかどうかを判断する(
図11:S23)。この段階では、カウンタkが5なので、代表点(Pd,5)
2を起点とする延長線45が、集合Fに含まれる点を起点とする他の延長線と交差するかどうかを判断する。
図16に示すように、延長線45は、集合Fに含まれる点を起点とする他の延長線42,43と交差している。したがって、代表点グレード確定部16は、代表点(Pd,5)
2の延長線45が、集合Fに含まれる点を起点とする他の延長線と交差すると判断し(
図11:S23;YES)、代表点(Pd,k)
2を起点とする延長線が、交差する他の延長線と比較して、最短であるかどうかを判断する(
図11:S24)。本実施形態の例の場合には、代表点グレード確定部16は、代表点(Pd,5)
2を起点とする延長線45が、交差する他の延長線42,43と比べて最短であるかどうかを判断する。
【0102】
図16に示すように、それぞれの延長線の終点を、延長線と領域線との交差する点とした場合には、代表点(Pd,5)
2を起点とする延長線45の長さは、交差する他の延長線42,43の長さに比べて短く、最短である。したがって、代表点グレード確定部16は、代表点(Pd,5)
2を起点とする延長線45が、交差する他の延長線42,43と比べて最短であると判断し(
図11:S24;YES)、延長線45の起点となる代表点(Pd,5)
2のグレードを、初期設定されたグレード1に確定する(
図11:S27)。そして、代表点グレード確定部16は、カウンタkに、集合Fに含まれる次の代表点IDを代入する(
図11:S26)。
図17において、代表点(Pd,5)
2の上に、ドットの背景の楕円で(G1)と示されているのは、代表点(Pd,5)
2のグレードをグレード1に確定したことを示している。
【0103】
<代表点(Pd,6)
2>
集合Fに含まれる次の代表点IDは、代表点(Pd,6)
2の6なので、代表点グレード確定部16は、ステップS26においてカウンタkに6を代入する。次に、代表点グレード確定部16は、カウンタkの値が、集合Fに含まれる代表点の代表点IDのうち、最大の代表点IDを超えたかどうかを判断する(
図11:S21)。本実施形態の例では、代表点(Pd,7)
2の代表点IDである7が最大なので、この場合には、代表点グレード確定部16は、カウンタkの値が、最大の代表点IDを超えていないと判断する(
図11:S21;NO)。
【0104】
代表点グレード確定部16は、各代表点Pdを起点として延長した延長線のうち、グレード値が1以下、かつ、外周線32に到達する延長線が存在するかどうかを判断する(
図11:S22)。本実施形態の例では、このような延長線は存在していないので、代表点グレード確定部16は、グレード値が1以下、かつ、外周線32に到達する延長線は存在しないと判断し(
図11:S22;NO)、代表点(Pd,k)
2の延長線が、集合Fに含まれる点を起点とする他の延長線と交差するかどうかを判断する(
図11:S23)。この段階では、カウンタkが6なので、代表点(Pd,6)
2を起点とする延長線46が、集合Fに含まれる点を起点とする他の延長線と交差するかどうかを判断する。
図17に示すように、延長線46は、集合Fに含まれる点を起点とする他の延長線42,43と交差している。したがって、代表点グレード確定部16は、代表点(Pd,6)
2の延長線46が、集合Fに含まれる点を起点とする他の延長線と交差すると判断し(
図11:S23;YES)、代表点(Pd,k)
2を起点とする延長線が、交差する他の延長線と比較して、最短であるかどうかを判断する(
図11:S24)。本実施形態の例の場合には、代表点グレード確定部16は、代表点(Pd,6)
2を起点とする延長線46が、交差する他の延長線42,43と比べて最短であるかどうかを判断する。
【0105】
図17に示すように、それぞれの延長線の終点を、延長線と領域線との交差する点とした場合には、代表点(Pd,6)
2を起点とする延長線46の長さは、交差する他の延長線42,43の長さに比べて短く、最短である。したがって、代表点グレード確定部16は、代表点(Pd,6)
2を起点とする延長線46が、交差する他の延長線42,43と比べて最短であると判断し(
図11:S24;YES)、延長線46の起点となる代表点(Pd,6)
2のグレードを、初期設定されたグレード1に確定する(
図11:S27)。そして、代表点グレード確定部16は、カウンタkに、集合Fに含まれる次の代表点IDを代入する(
図11:S26)。
図18において、代表点(Pd,6)
2の右上に、ドットの背景の楕円で(G1)と示されているのは、代表点(Pd,6)
2のグレードをグレード1に確定したことを示している。
【0106】
<代表点(Pd,7)
2>
集合Fに含まれる次の代表点IDは、代表点(Pd,7)
2の7なので、代表点グレード確定部16は、ステップS26においてカウンタkに7を代入する。次に、代表点グレード確定部16は、カウンタkの値が、集合Fに含まれる代表点の代表点IDのうち、最大の代表点IDを超えたかどうかを判断する(
図11:S21)。本実施形態の例では、代表点(Pd,7)
2の代表点IDである7が最大なので、この場合には、代表点グレード確定部16は、カウンタkの値が、最大の代表点IDを超えていないと判断する(
図11:S21;NO)。
【0107】
代表点グレード確定部16は、各代表点Pdを起点として延長した延長線のうち、グレード値が1以下、かつ、外周線32に到達する延長線が存在するかどうかを判断する(
図11:S22)。本実施形態の例では、このような延長線は存在していないので、代表点グレード確定部16は、グレード値が1以下、かつ、外周線32に到達する延長線は存在しないと判断し(
図11:S22;NO)、代表点(Pd,k)
2の延長線が、集合Fに含まれる点を起点とする他の延長線と交差するかどうかを判断する(
図11:S23)。この段階では、カウンタkが7なので、代表点(Pd,7)
2を起点とする延長線47が、集合Fに含まれる点を起点とする他の延長線と交差するかどうかを判断する。
図18に示すように、延長線47は、集合Fに含まれる点を起点とする他の延長線42と交差している。したがって、代表点グレード確定部16は、代表点(Pd,7)
2の延長線47が、集合Fに含まれる点を起点とする他の延長線と交差すると判断し(
図11:S23;YES)、代表点(Pd,k)
2を起点とする延長線が、交差する他の延長線と比較して、最短であるかどうかを判断する(
図11:S24)。本実施形態の例の場合には、代表点グレード確定部16は、代表点(Pd,7)
2を起点とする延長線47が、交差する他の延長線42と比べて最短であるかどうかを判断する。
【0108】
図18に示すように、それぞれの延長線の終点を、延長線と領域線との交差する点とした場合には、代表点(Pd,7)
2を起点とする延長線47の長さは、交差する他の延長線42の長さに比べて短く、最短である。したがって、代表点グレード確定部16は、代表点(Pd,7)
2を起点とする延長線46が、交差する他の延長線42と比べて最短であると判断し(
図11:S24;YES)、延長線46の起点となる代表点(Pd,7)
2のグレードを、初期設定されたグレード1に確定する(
図11:S27)。そして、代表点グレード確定部16は、カウンタkに、集合Fに含まれる次の代表点IDを代入する(
図11:S26)。
図19において、代表点(Pd,7)
2の上に、ドットの背景の楕円で(G1)と示されているのは、代表点(Pd,7)
2のグレードをグレード1に確定したことを示している。
【0109】
<グレード2の代表点>
この段階では、集合Fに含まれる全ての代表点Pdについて
図11に示す処理を行い、次の代表点IDは存在しない。この場合には、例えば、代表点グレード確定部16は、ステップS26においてカウンタkの値をインクリメントして、カウンタkの値を8とする。次に、代表点グレード確定部16は、カウンタkの値が、集合Fに含まれる代表点の代表点IDのうち、最大の代表点IDを超えたかどうかを判断する(
図11:S21)。本実施形態の例では、代表点(Pd,7)
2の代表点IDである7が最大なので、この場合には、代表点グレード確定部16は、カウンタkの値が、最大の代表点IDを超えたと判断し(
図11:S21;YES)、
図11に示す処理を抜ける。
【0110】
説明を
図10に戻す。代表点グレード確定部16は、グレード確定処理(
図10:S12)が終了すると、グレードの値が更新された代表点Pdがあるかどうかを判断する(
図10:S13)。上述した例の場合には、代表点(Pd,2)
2と代表点(Pd,3)
2のグレードの値がグレード2に更新されている。したがって、代表点グレード確定部16は、グレードの値が更新された代表点Pdがあると判断し(
図10:S13;YES)、グレードの値が更新された代表点Pdの集合を新たにFとする(
図10:S14)。この例の場合には、代表点(Pd,2)
2と代表点(Pd,3)
2が集合Fに含まれる。
【0111】
延長線形成部15は、集合Fに含まれる代表点を起点とする延長線を再形成する(
図10:S15)。言い換えれば、延長線形成部15は、代表点グレード確定部16によって付したグレードが確定していない場合には、所定の方向をZ軸方向とする2次元座標系で、当該グレードが確定していない代表点を起点として延長方向に延長し、集合Fに含まれない点を起点とする他の延長線との交点を終点とする延長線を再形成する。
【0112】
延長線形成部15は、この例では、
図20に示すように、代表点(Pd,2)
2を起点とする延長線と、代表点(Pd,3)
2を起点とする延長線とが、集合Fに含まれない点を起点とする他の延長線と交差する点を終点とした場合に、それらの長さが最短となるように、延長線44と交差する延長線42aおよび延長線43aを再形成する。そして、代表点グレード確定部16は、再び、グレード確定処理を実行する(
図10:S12)。
【0113】
<代表点(Pd,2)
2:グレード2>
図11に示すように、代表点グレード確定部16は、新たな集合Fに含まれる代表点の代表点IDのうち、最小の代表点IDをカウンタkに代入する(
図11:S20)。
図20に示す例では、代表点(Pd,2)
2の代表点IDである2が最小なので、2をカウンタkに代入する。
【0114】
代表点グレード確定部16は、カウンタkの値が、集合Fに含まれる代表点の代表点IDのうち、最大の代表点IDを超えたかどうかを判断する(
図11:S21)。
図20に示す例では、代表点(Pd,3)
2の代表点IDである3が最大なので、この場合には、カウンタkの値が、最大の代表点IDを超えていないと判断する(
図11:S21;NO)。
【0115】
代表点グレード確定部16は、各代表点Pdを起点として延長した延長線のうち、グレード値が1以下、かつ、外周線32に到達する延長線が存在するかどうかを判断する(
図11:S22)。本実施形態の例では、このような延長線は存在しないので、代表点グレード確定部16は、各代表点Pdを起点として延長した延長線のうち、グレード値が1以下、かつ、外周線32に到達する延長線は存在しないと判断し(
図11:S22;NO)、代表点(Pd,k)
2の延長線が、集合Fに含まれる点を起点とする他の延長線と交差するかどうかを判断する(
図11:S23)。この段階では、カウンタkが2なので、代表点(Pd,2)
2を起点として再形成された延長線42aが、集合Fに含まれる点を起点とする他の延長線と交差するかどうかを判断する。
図20に示すように、延長線42aは、集合Fに含まれる点を起点とする他の延長線43aと交差している。したがって、代表点グレード確定部16は、代表点(Pd,2)
2の延長線42aが、集合Fに含まれる点を起点とする他の延長線と交差すると判断し(
図11:S23;YES)、代表点(Pd,k)
2を起点とする延長線が、交差する他の延長線と比較して、最短であるかどうかを判断する(
図11:S24)。本実施形態の例の場合には、代表点グレード確定部16は、代表点(Pd,2)
2を起点とする延長線42aが、交差する他の延長線43aと比べて最短であるかどうかを判断する。
【0116】
図20に示すように、それぞれの延長線の終点を、集合Fに含まれない延長線44と交差する点とした場合には、代表点(Pd,2)
2を起点とする延長線42aの長さは、交差する他の延長線43aの長さに比べて短く、最短である。したがって、代表点グレード確定部16は、代表点(Pd,2)
2を起点とする延長線42aが、交差する他の延長線43aと比べて最短であると判断し(
図11:S24;YES)、延長線42aの起点となる代表点(Pd,2)
2のグレードを、現在のグレード2に確定する(
図11:S27)。そして、代表点グレード確定部16は、カウンタkに、集合Fに含まれる次の代表点IDを代入する(
図11:S26)。
図21において、代表点(Pd,2)
2の上に、ドットの背景の楕円で(G2)と示されているのは、代表点(Pd,2)
2のグレードをグレード2に確定したことを示している。
【0117】
<代表点(Pd,3)
2:グレード2>
集合Fに含まれる次の代表点IDは、代表点(Pd,3)
2の3なので、代表点グレード確定部16は、ステップS26においてカウンタkに3を代入する。次に、代表点グレード確定部16は、カウンタkの値が、集合Fに含まれる代表点の代表点IDのうち、最大の代表点IDを超えたかどうかを判断する(
図11:S21)。本実施形態の例では、代表点(Pd,3)
2の代表点IDである3が最大なので、この場合には、代表点グレード確定部16は、カウンタkの値が、最大の代表点IDを超えていないと判断する(
図11:S21;NO)。
【0118】
代表点グレード確定部16は、各代表点Pdを起点として延長した延長線のうち、グレード値が1以下、かつ、外周線32に到達する延長線が存在するかどうかを判断する(
図11:S22)。本実施形態の例では、このような延長線は存在していないので、代表点グレード確定部16は、グレード値が1以下、かつ、外周線32に到達する延長線は存在しないと判断し(
図11:S22;NO)、代表点(Pd,k)
2の延長線が、集合Fに含まれる点を起点とする他の延長線と交差するかどうかを判断する(
図11:S23)。この段階では、カウンタkが3なので、代表点(Pd,3)を起点とする延長線43aが、集合Fに含まれる点を起点とする他の延長線と交差するかどうかを判断する。
図21に示すように、延長線43aは、集合Fに含まれる点を起点とする他の延長線42aと交差している。したがって、代表点グレード確定部16は、代表点(Pd,3)
2の延長線43aが、集合Fに含まれる点を起点とする他の延長線と交差すると判断し(
図11:S23;YES)、代表点(Pd,k)
2を起点とする延長線が、交差する他の延長線と比較して、最短であるかどうかを判断する(
図11:S24)。本実施形態の例の場合には、代表点グレード確定部16は、代表点(Pd,3)
2を起点とする延長線43aが、交差する他の延長線42aと比べて最短であるかどうかを判断する。
【0119】
図21に示すように、それぞれの延長線の終点を、延長線と領域線との交差する点とした場合には、代表点(Pd,3)
2を起点とする延長線43aの長さは、交差する他の延長線42aの長さに比べて長く、最短ではない。したがって、代表点グレード確定部16は、代表点(Pd,3)
2を起点とする延長線43aが、交差する他の延長線42aと比べて最短ではないと判断し(
図11:S24;NO)、延長線43aの起点となる代表点(Pd,3)
2のグレード値をインクリメントする(
図11:S25)。この段階では、代表点(Pd,3)
2のグレードは、現在のグレード2からグレード3に更新される。この時点で、代表点グレード確定部16は、延長線43の起点となる代表点(Pd,3)
2のグレードを確定していない。
図21において、代表点(Pd,3)
2の上に、白色の背景の楕円で(G3)と示されているのは、代表点(Pd,3)
2のグレードとしてグレード3が付されたことを示している。
【0120】
<グレード3の代表点>
また、代表点グレード確定部16は、カウンタkに、集合Fに含まれる次の代表点IDを代入する(
図11:S26)。この段階では、新たな集合Fに含まれる全ての代表点Pdについて
図11に示す処理を行い、次の代表点IDは存在しない。この場合には、例えば、代表点グレード確定部16は、ステップS26においてカウンタkの値をインクリメントして、カウンタkの値を4とする。次に、代表点グレード確定部16は、カウンタkの値が、集合Fに含まれる代表点の代表点IDのうち、最大の代表点IDを超えたかどうかを判断する(
図11:S21)。本実施形態の例では、代表点(Pd,3)
2の代表点IDである3が最大なので、この場合には、代表点グレード確定部16は、カウンタkの値が、最大の代表点IDを超えたと判断し(
図11:S21;YES)、
図11に示す処理を抜ける。
【0121】
説明を
図10に戻す。代表点グレード確定部16は、グレード確定処理(
図10:S12)が終了すると、グレードの値が更新された代表点Pdがあるかどうかを判断する(
図10:S13)。上述した例の場合には、代表点(Pd,3)
2のグレードの値がグレード3に更新されている。したがって、代表点グレード確定部16は、グレードの値が更新された代表点Pdがあると判断し(
図10:S13;YES)、グレードの値が更新された代表点Pdの集合を新たにFとする(
図10:S14)。この例の場合には、代表点(Pd,3)
2が集合Fに含まれる。
【0122】
延長線形成部15は、集合Fに含まれる代表点を起点とする延長線を再形成する(
図10:S15)。言い換えれば、延長線形成部15は、代表点グレード確定部16によって付したグレードが確定していない場合には、所定の方向をZ軸方向とする2次元座標系で、当該グレードが確定していない代表点を起点として延長方向に延長し、集合Fに含まれていない点を起点とする他の延長線との交点を終点とする延長線を再形成する。
【0123】
延長線形成部15は、この例では、
図22に示すように、代表点(Pd,3)
2を起点とする延長線が、集合Fに含まれていない点を起点とする他の延長線と交差する点を終点とした場合に、その長さが最短となるように、延長線42aと交差する延長線43bを再形成する。そして、代表点グレード確定部16は、再び、グレード確定処理を実行する(
図10:S12)。
【0124】
<代表点(Pd,3)
2:グレード3>
図11に示すように、代表点グレード確定部16は、新たな集合Fに含まれる代表点の代表点IDのうち、最小の代表点IDをカウンタkに代入する(
図11:S20)。
図22に示す例では、代表点(Pd,3)
2の代表点IDである3が最小なので、3をカウンタkに代入する。
【0125】
代表点グレード確定部16は、カウンタkの値が、集合Fに含まれる代表点の代表点IDのうち、最大の代表点IDを超えたかどうかを判断する(
図11:S21)。
図22に示す例では、代表点(Pd,3)
2の代表点IDである3が最大なので、この場合には、カウンタkの値が、最大の代表点IDを超えていないと判断する(
図11:S21;NO)。
【0126】
代表点グレード確定部16は、各代表点Pdを起点として延長した延長線のうち、グレード値が1以下、かつ、外周線32に到達する延長線が存在するかどうかを判断する(
図11:S22)。本実施形態の例では、このような延長線は存在しないので、代表点グレード確定部16は、各代表点Pdを起点として延長した延長線のうち、グレード値が1以下、かつ、外周線32に到達する延長線は存在しないと判断し(
図11:S22;NO)、代表点(Pd,k)
2の延長線が、集合Fに含まれる点を起点とする他の延長線と交差するかどうかを判断する(
図11:S23)。この段階では、カウンタkが3なので、代表点(Pd,3)
2を起点として再形成された延長線43bが、集合Fに含まれる点を起点とする他の延長線と交差するかどうかを判断する。
図22に示すように、延長線43bは、集合Fに含まれていない点を起点とする他の延長線42aと交差する点を終点としており、延長線42a以外の他の延長線とは交差していない。したがって、代表点グレード確定部16は、代表点(Pd,3)
2の延長線43bが、集合Fに含まれる点を起点とする他の延長線と交差しないと判断し(
図11:S23;NO)、延長線43bの起点となる代表点(Pd,3)のグレードを、現在のグレードであるグレード3に確定する(
図11:S27)。そして、代表点グレード確定部16は、カウンタkに、集合Fに含まれる次の代表点IDを代入する(
図11:S26)。
図23において、代表点(Pd,3)
2の上に、ドットの背景の楕円で(G3)と示されているのは、代表点(Pd,3)
2のグレードをグレード3に確定したことを示している。
【0127】
この段階では、新たな集合Fに含まれる全ての代表点Pdについて
図11に示す処理を行い、次の代表点IDは存在しない。この場合には、例えば、代表点グレード確定部16は、ステップS26においてカウンタkの値をインクリメントして、カウンタkの値を4とする。次に、代表点グレード確定部16は、カウンタkの値が、集合Fに含まれる代表点の代表点IDのうち、最大の代表点IDを超えたかどうかを判断する(
図11:S21)。本実施形態の例では、代表点(Pd,3)
2の代表点IDである3が最大なので、この場合には、代表点グレード確定部16は、カウンタkの値が、最大の代表点IDを超えたと判断し(
図11:S21;YES)、
図11に示す処理を抜ける。
【0128】
説明を
図10に戻す。代表点グレード確定部16は、グレード確定処理(
図10:S12)が終了すると、グレードの値が更新された代表点Pdがあるかどうかを判断する(
図10:S13)。上述した例の場合には、グレードの値が更新された代表点Pdは存在していない。したがって、代表点グレード確定部16は、グレードの値が更新された代表点Pdがないと判断し(
図10:S13;NO)、
図10に示す処理を終了する。
【0129】
(3次元座標延長線作成)
図24は、延長線の2次元座標系終点の決定処理を説明するための図である。
図25は、延長線の2次元座標系終点を3次元座標系における3次元座標終点として定義する処理を説明するための図である。
【0130】
2次元座標系終点決定部17は、グレードの高い代表点を起点として延長された延長線から順に、延長線の2次元座標系終点を領域線または他の延長線との交点に決定する。例えば、
図24に示す例では、2次元座標系終点決定部17は、まず、グレードが最も高いグレード1の代表点(Pd,1)
2を起点として延長された延長線41の2次元座標系終点を、2次元座標系における領域線34との交点(Pde,1)
2に決定する。交点(Pde,1)
2における小文字の「2」は、交点(Pde,1)
2の座標が、2次元系座標で表されることを示している。
【0131】
次に、自由曲面作成部18の3次元座標終点定義部18aは、2次元座標系終点を、Z軸方向を含む3次元座標系における3次元座標終点として定義する。例えば、
図25に示す例では、3次元座標終点定義部18aは、延長線41と2次元座標系における領域線34との交点(Pde,1)
2を、3次元座標系における領域線33との交点(Pde,1)
3に対応させ、延長線41の3次元座標終点(Pde,1)
3として定義する。3次元座標終点(Pde,1)
3における小文字の「3」は、3次元座標終点(Pde,1)
3の座標が、3次元座標で表されることを示している。
【0132】
図26は、延長線の終点側からの2次元座標系勾配ベクトルを定義する処理を説明するための図である。
図27は、延長線の終点側からの3次元座標勾配ベクトルを定義する処理を説明するための図である。
【0133】
自由曲面作成部18の3次元座標勾配ベクトル算出部18bは、
図26に示すように、延長線41の2次元座標系終点(Pde,1)
2から、延長線41に沿った2次元座標系勾配ベクトルVg
2を定義する。
【0134】
次に、3次元座標勾配ベクトル算出部18bは、
図27に示すように、2次元座標系終点(Pde,1)
2を含む面の法線ベクトルNsに垂直な平面Mに、2次元座標系勾配ベクトルVg
2を投影して、3次元座標勾配ベクトルVg
3を算出する。より具体的には、3次元座標勾配ベクトル算出部18bは、2次元座標系終点(Pde,1)
2の法線ベクトルNsと垂直な平面Mを仮定し、その平面M上に、2次元座標系勾配ベクトルVg
2を単位長さ伸ばして投影した位置から、2次元座標系勾配ベクトルVg
2のZ軸方向成分を算出し、3次元座標勾配ベクトルVg
3を算出する。
【0135】
図28は、代表点と3次元座標終点とをつなぐ自由曲線である3次元座標延長線を作成する処理を説明するための図である。
自由曲面作成部18の自由曲線作成部18cは、代表点(Pd,1)
3の3次元座標と、延長方向指定部14により
図9に示すように特定した3次元座標延長方向ベクトルVexと、3次元座標終点(Pde,1)
3と、3次元座標勾配ベクトルVg
3とにより、代表点(Pd,1)
3と3次元座標終点(Pde,1)
3とをつなぐ自由曲線である3次元座標延長線51を作成する。
【0136】
自由曲線は、始点と終点の座標、および、周囲の勾配ベクトル、例えば接線ベクトルにより求められる補間関数を規定することにより生成する。補間関数としては、例えば、3次元のベジェ曲線が用いられる。
図37は、その作成方法を説明するための図である。
図37(A)に示すように、点aの座標と、点aの接線ベクトルである勾配ベクトルVaとが与えられ、さらに点bの座標と、点bの接線ベクトルである勾配ベクトルVbとが与えられているとする。この場合には、まず、点aと点bとの二点間の距離Hを求める。次に、
図37(B)に示すように、点aから勾配ベクトルVaの方向に距離αH(αは定数。以下、同様とする。)だけ離れた位置に、制御点cを配置する。また、点bから勾配ベクトルVbの方向に距離αHだけ離れた位置に、制御点dを配置する。そして、
図37(C)に示すように、点aおよび点bと、制御点cおよび制御点dとにより補間を行って、3次元のベジェ曲線を求める。
【0137】
本実施形態の例では、同様にして、代表点(Pd,1)
3と3次元座標終点(Pde,1)
3と二点間の距離Hを求め、代表点(Pd,1)
3から3次元座標延長方向ベクトルVexの方向に距離αHだけ離れた位置に、制御点(Pdc,1)
3を配置する。また、3次元座標終点(Pde,1)
3から3次元座標勾配ベクトルVg
3の方向に距離αHだけ離れた位置に、制御点(Pdd,1)
3を配置する。そして、代表点(Pd,1)
3および3次元座標終点(Pde,1)
3と、制御点(Pdc,1)
3および(Pdd,1)
3とにより補間を行って、3次元のベジェ曲線である3次元座標延長線51を作成する。
【0138】
図29は、2次元座標系においてグレード1の代表点Pdを起点とする2次元座標系の延長線41,44〜47を示す図である。
図30は、3次元座標系においてグレード1の代表点Pdを起点とする3次元座標延長線51,54〜57を示す図である。
【0139】
以上のようにして、グレード1の代表点(Pd,1)
2を起点とする2次元座標系の延長線41に対応する3次元座標延長線51を作成した後は、
図29に示す残りのグレード1の代表点である、代表点(Pd,4)
2〜代表点(Pd,7)
2についても、これらの代表点を起点とする2次元座標系の延長線44〜47に対応させて、
図30に示す3次元座標延長線54〜57を上述した工程と同様の工程で作成する。
【0140】
図31は、3次元座標延長線の両端点の面の法線ベクトルNsを補間して、3次元座標延長線に面の法線ベクトルを与える処理を説明する図である。
全てのグレード1の代表点(Pd,1)
3,(Pd,4)
3〜(Pd,7)
3を起点とする3次元座標延長線51,54〜57を作成した後は、
図31に示すように、3次元座標延長線51,54〜57の両端点の面の法線ベクトルNsを補間して、3次元座標延長線51,54〜57に、面の法線ベクトルNsを与える。
【0141】
図32は、2次元座標系においてグレード2およびグレード3の代表点Pdを起点とする2次元座標系の延長線42,43を示す図である。
図33は、3次元座標系においてグレード2およびグレード3の代表点Pdを起点とする3次元座標延長線52,53を示す図である。
【0142】
以上に説明した処理が終了した後は、
図32に示すグレード2およびグレード3の代表点である、代表点(Pd,2)
2,(Pd,3)
2についても、これらの代表点を起点とする2次元座標系の延長線42,43に対応させて、
図33に示すような3次元座標延長線52,53を上述した工程と同様の工程で作成する。
【0143】
但し、グレード2の代表点(Pd,2)
3を起点とする3次元座標延長線52を作成する場合、グレード1の代表点(Pd,4)
3を起点とする3次元座標延長線54と交差した位置を3次元座標終点(Pde,2)
3として3次元座標延長線52を作成する。
また、グレード3の代表点(Pd,3)
3を起点とする3次元座標延長線53を作成する場合、グレード2の代表点(Pd,2)
3を起点とする3次元座標延長線52と交差した位置を3次元座標終点(Pde,3)
3として3次元座標延長線53を作成する。
【0144】
グレード4など、それ以降のグレードの代表点があった場合も同様に、この代表点よりもグレードの低い代表点を起点とする3次元座標延長線と交差した位置を3次元座標終点として3次元座標延長線を作成する。
【0145】
(自由曲面作成)
図34は、3次元座標系の外周線31上、3次元座標系の領域線33上、および3次元座標延長線51〜57上のそれぞれの面の法線ベクトルを示す図である。
図35は、3次元座標系の外周線、3次元座標系の領域線、および3次元座標延長線で囲まれた閉領域ごとに作成された自由曲面を示す図である。
【0146】
自由曲面作成部18の閉領域自由曲面作成部18dは、3次元座標系の外周線31、3次元座標系の領域線33、および3次元座標延長線51〜57で囲まれた閉領域ごとに、
図34に示すこれらの閉領域の辺上の法線ベクトルNsを用いて、
図35に示すような自由曲面を作成する。
【0147】
閉領域自由曲面作成部18dは、自由曲面の作成の際には、前記閉領域を埋める
図35に示すように、各閉領域の辺上に定義された面の法線ベクトルNsを使用することで、互いに接線連続となる滑らかな自由曲面を作成することができる。
図36は、3次元座標系の外周線、3次元座標系の領域線、および3次元座標延長線で囲まれた閉領域を埋めるパッチメッシュを示す図である。閉領域自由曲面作成部18dは、
図36に示すように、パッチメッシュを作成する。
【0148】
なお、閉領域を埋めるようなパッチメッシュを作成する方法としては、例えば以下のような方法がある。
(1)閉領域の辺上や内部に複数の点列を配置し、それらの点列を含む母面を作成する方法
(2)閉領域の交点をコーナー点とし、Coons等の自由曲面を作成する方法
上記(1),(2)の判別や、(2)の方法を採る場合のコーナー点の判別については、各線の交点や代表点間の辺長、角度、グレード値等を用いることで、自動で設定することができる。また、手動で設定することもできる。
【0149】
(データ出力)
自由曲面作成部18の閉領域自由曲面作成部18dは、上述のようにして作成したパッチメッシュのデータを出力し、製品メッシュデータとマージする。このようにして、製品メッシュデータに存在する複雑な凹凸等の形状を含む部分を充てんする充てん面を形成することができる。
【0150】
以上のように、本実施形態によれば、製品の外周線、外周線上の代表点、および充てん面の外形を規定する領域線を、一旦、2次元座標系に置き換えて処理することにより、3次元座標系では一意に決定することが困難な、外周線上の代表点から領域線上の終点までの延長線を、容易かつ一意に決定することができる。
【0151】
また、本実施形態によれば、2次元座標系において作成した延長線が、代表点の3次元座標と、延長方向に基づく3次元座標延長方向ベクトルと、3次元座標終点と、3次元座標勾配ベクトルとにより、自由曲線である3次元座標延長線として作成される。したがって、製品形状の特徴を反映して、外周線から領域線または延長線に至るまで、滑らかかつ複雑な形状の充てん形状や延長形状を、容易に作成することができる。
【0152】
さらに、本実施形態によれば、外周線、領域線、および自由曲線で囲まれた閉領域ごとに、当該閉領域の辺上の法線ベクトルを用いて、自由曲面が作成される。したがって、外周線から領域線または延長線に至るまで、互いに接線連続となる滑らかな自由曲面を作成することができる。
【0153】
その結果、本実施形態によれば、CADの作業者の経験や勘に依存することなく、また、CADの操作に習熟していなくても、多大な工数を必要せずに、適切な充てん面や延長面を作成することができる。
【0154】
本実施形態による効果を以下にまとめて説明する。
(1)時間・コストの削減
本実施形態によれば、充てん面または延長面として延長する形状の領域を定める線、つまり外周線(製品エッジ)および領域線と、それに対応する面の法線ベクトルに基づいて、自由曲線である3次元座標延長線の作成において優先する延長方向を自動で判別することができる。また、充てん面または延長面として延長する形状の領域を、外周線、領域線、および3次元座標延長線で囲まれる複数の閉領域に分割することで、充てん面または延長面として延長する形状を一括作成することができる。したがって、充てん面または延長面として延長する形状が、複雑に入り組んでいる形状であっても、形状を得るまでの過程における複雑な操作を必要とせず、簡便に作成することができる。その結果、金型形状の作成時間および作成コストを削減することができる。
【0155】
(2)設計者の意図の反映性
本実施形態によれば、延長方向、自由曲線である3次元座標延長線の作成における優先順位など、形状作成に必要な基本的なパラメータは一括で自動作成することができる。また、充てん面または延長面として延長する領域が複雑な形状であっても、この領域を複数の閉領域に自動で分割することができる。したがって、パラメータを変更するだけで、設計者の意図を反映した、形状の柔軟な修正が可能である。その結果、形状を作成する順番を緻密に考慮しなくてもよい。また、充てん面または延長面として延長する領域が、複数の閉領域に分割されるため、より詳細に編集したい場合には、個別に修正することもできる。
【0156】
(3)形状の品質
本実施形態によれば、パッチメッシュを生成するすべてのパートの境界線で、面の法線方向が保持される。したがって、全ての面で接線連続性が保持され、滑らかな形状の充てん面および延長面を生成することが可能である。
【0157】
(変形例)
以上の実施形態は例示であり、この発明の範囲から離れることなく様々な変形が可能である。
【0158】
上述した実施形態では、充てん面の形成に本発明を適用したが、本発明は延長面の形成にも同様に適用することができる。充てん面の外側に延長面が形成される場合には、充てん面の領域線として定義した線を外周線とし、あるいは外周線の一部とし、延長面の外側の形状を規定する線を領域線として定義すればよい。
【0159】
上述した実施形態では、グレード付けを行う際に、まず全ての代表点のグレードをグレード1とし、所定の条件に合致しない代表点のグレードを低下させる態様について説明した。しかし、本発明はこのような態様に限定される訳ではなく、最初に全ての代表点のグレードを任意に設定し、所定の条件に合致する代表点のグレードを高くするような態様であってもよい。
【0160】
上述した実施形態では、グレード付けの際に、2次元座標系において外周線から領域線まで長さが最短となる延長線の起点となる代表点を優先する態様について説明した。しかし、本発明はこのような態様に限定される訳ではなく、例えば、外周線または領域線との角度が直角に近い延長線の起点となる代表点を優先する態様、あるいは、代表点と終点との高さのギャップが小さい延長線の起点となる代表点を優先する態様も考えられる。また、フィレット(円弧の一部)を含む箇所の代表点を優先する態様、もしくは、代表点が含まれる面の曲率が大きい代表点を優先する態様も考えられる。また、グレードを手動で決めるようにしてもよい。
【0161】
以上の態様に係る金型形状作成システムのプログラムは、コンピュータが読取可能な記録媒体に格納された形態で提供されてコンピュータにインストールされ得る。記録媒体は、例えば非一過性(non-transitory)の記録媒体であり、CD-ROM等の光学式記録媒体が好例であるが、半導体記録媒体や磁気記録媒体等の公知の任意の形式の記録媒体を包含し得る。なお、通信網を介した配信の形態で前述のプログラムを提供してコンピュータにインストールすることも可能である。
【0162】
以上、本発明の実施形態に係る金型形状作成システム、および金型形状作成システムのプログラムについて説明したが、本発明は、これに限定されるものではなく、本発明の要旨を逸脱しない範囲で、種々の変更が可能である。
【解決手段】製品形状外周線データを格納する製品形状外周線データ格納部11と、充てん形状等の領域線を入力する領域線入力部12と、外周線上の代表点を指定する代表点指定部13と、延長方向を指定する延長方向指定部14と、2次元座標系で代表点を起点とし領域線又は他の延長線との交点を終点とする延長線を形成する延長線形成部15と、代表点にグレードを付す代表点グレード確定部16と、グレードの高い代表点が起点の延長線から順に延長線の2次元座標系終点を領域線又は延長線との交点に決定する2次元座標系終点決定部17と、2次元座標系終点及び2次元座標系終点からの2次元座標系勾配ベクトルを3次元座標系に置き換えて自由曲面を作成する自由曲面作成部18とを備える。