以下、本発明の補間面生成方法が適用されたドローモデル生成システムの好ましい一実施形態について、図面を参照しながら説明する。
[ドローモデル生成システムの概要]
初めに、図1を参照して、本発明のドローモデル生成システムの概要について説明する。ドローモデル生成システムでは、CAD(Computer Aided Design)を用いて生成した製品部91とダイフェース部95とから、プレス成形品のドローモデル9を生成する。具体的には、ドローモデル生成システムでは、図1(B)に示すように、製品部91及びダイフェース部95を含むドローモデル9に相当する領域に、夫々が個別のXY座標により規定される複数の特徴点101により構成される平面格子10を投影する。そして、図1(C)に示すように、投影した特徴点101を繋ぎポリゴン102とすることで、ドローモデル9を生成する。
このとき、図1(A)に示すように、製品部91及びダイフェース部95は、予め形状が規定されているため、製品部91及びダイフェース部95に投影した特徴点101の座標(Z座標)は、容易に取得することができる。一方、余肉部93は、形状が規定されていないため、余肉部93に投影した特徴点101の座標(Z座標)は、取得することができない。
この点、本発明のドローモデル生成システムでは、余肉部93に投影した特徴点101の座標(Z座標)を後述する方法により補間し、補間面を生成することによって、ドローモデル9を生成することとしている。
なお以下では、製品部91の輪郭線を基準線BLといい、この基準線BLと対向するダイフェース部95の輪郭線を対岸線OLという。一般的には、これら基準線BL及び対岸線OLは閉曲線となっていることから、余肉部93の面形状はこれら線BL,OLの間を結ぶ複数の断面線によって特定することができる。上述のように製品部91及びダイフェース部95の形状は、細密なCADデータによって規定されていることから、これら基準線BL及び対岸線OLの3次元形状は、これらCADデータから取得することができる。
[ドローモデル生成システムの構成]
続いて、図2を参照して、本発明のドローモデル生成システム1の構成について説明する。図2は、本発明の一実施形態に係るドローモデル生成システム1の機能構成を示すブロック図である。
ドローモデル生成システム1は、作業者が各種データや指令を入力する入力装置2と、この入力装置2からの入力に応じて各種演算処理を実行する演算装置4と、画像を表示する表示装置6と、各種データを記憶する記憶装置8と、を備えたメイン計算機PC0と、このメイン計算機PC0と相互通信可能な並列計算機PCCと、を含んで構成される。
入力装置2は、作業者が操作可能なキーボードやマウスなどのハードウェアで構成される。この入力装置2を操作することにより入力されたデータや指令は、演算装置4に入力される。
表示装置6は、画像を表示可能なCRTや液晶ディスプレイなどのハードウェアで構成される。この表示装置6の表示部には、演算装置4による処理結果として、例えば、ドローモデルの立体画像が表示される。
記憶装置8は、ハードディスクドライブやソリッドステートドライブなどのハードウェアで構成され、CADを用いて生成された製品部91の形状データ及びダイフェース部95の形状データを含むCADデータを記憶する。なお、記憶装置8に記憶されるCADデータには、余肉部93の形状データは含まれない。また、記憶装置8は、平面格子10を構成する特徴点101のデータ(XY座標)を含む平面格子データを記憶する。また、記憶装置8は、余肉部93などに設定された断面の形状を規定するパラメータを含む断面データを記憶する。
演算装置4は、CPUなどのハードウェアで構成され、所定のソフトウェアと協働して平面格子生成部41と、親断面設定部42と、子断面生成部43と、座標算出部44と、ドローモデル生成部45と、並列計算マネージメント部49と、を含んで構成される。
並列計算機PCCは、N台(Nは、2以上の整数)の計算機PC1,PC2,…PCNで構成される。各計算機PC1,PC2,…PCNは、それぞれ、少なくとも上述のメイン計算機PC0の子断面生成部43と同じ機能を有する演算装置を備えている。また、各計算機PC1,PC2,…PCNは、それぞれ、メイン計算機PC0から送信される後述の部分CADデータを記憶する独立した記憶装置を備えている。したがって、各計算機PC1,PC2,…PCNは、個々の記憶装置に記憶された部分CADデータを適宜読み込むことによって、他の計算機との間での容量の大きなCADデータの送受信を経ることなく独立した演算を実行することができる。
メイン計算機PC0の演算装置4の機能の説明について戻り、平面格子生成部41は、入力装置2を介した作業者からの指令に応じて図3に示す平面格子10を生成する。平面格子生成部41が生成した平面格子10は、記憶装置8に記憶される。なお、平面格子10は、作業者の操作に応じて生成するのではなく、予め記憶装置8に記憶しておき、適宜必要に応じて記憶装置8から読み出すこととしてもよい。
ここで、図3を参照して、平面格子10について説明する。図3(A)に示すように、平面格子10は、夫々が個別のXY座標により規定される複数の特徴点101を所定間隔で格子状に配置することで構成される。
特徴点101の間隔は任意であるが、演算負荷と精度との兼ね合いを考慮して、対象とするパネル製品に応じて実験を行うことによって最適な間隔Doptを決定することができる。このような最適な間隔Doptを決定する手順について、図3(B)(C)を参照して、具体的に説明する。なお、図3(B)は、製品部91の断面形状を示す模式図であり、図3(C)は、自動車のアウタパネルやルーフパネルなどのパネル製品のうち最もポリゴンの折れ角が大きくなる部位における、特徴点101の間隔とポリゴンの折れ角との関係を示す図である。
上述のように、本発明のドローモデル生成システム1では、製品部91などに平面格子10(特徴点101)を投影し、特徴点101のZ座標を取得することとしている。ここで、製品部91に投影した特徴点101の間隔は、XY座標に対する製品部91の傾斜度合いに応じて異なることになる。
図3(B)を参照して、製品部91が、XY座標と略平行な平面911、913と、XY座標に対して所定の角度傾斜した斜面912とから構成される断面形状を考える。このとき、平面911、913に投影した特徴点101の間隔L1と、斜面912に投影した特徴点101の間隔L2とを比較すると、間隔L2の方が広くなる。この特徴点101の間隔は、特徴点101を繋いでポリゴン102を取得する場合にポリゴン102の折れ角となってあらわれる。ポリゴン102の折れ角が大きいとCAEによるモデル形状評価においてエラーの原因となるため、エラーとならない範囲に収める必要がある。
図3(C)に示すように、CAEによるモデル形状評価では、ポリゴン102の折れ角が所定の許容値θmaxを超えると、エラーや不正な解などの不具合となる。この点、自動車のパネル製品では、特徴点101の間隔をDmaxとすることでポリゴン102の折れ角が約θmaxとなる。このような場合、特徴点101の最適な間隔Doptは、許容値θmaxに対応する最大許容間隔Dmaxよりも、0.数mm程度のマージン分を減算した値に設定される。以上のようにして、対象とするパネル製品に対して、特徴点101の最適な間隔Doptを決定することができる。尚θmaxは経験的な閾値であり、各CAEソフトで夫々異なる。
図2に戻り、親断面設定部42は、入力装置2を介した作業者からの指令に応じて、基準線BLと対岸線OLとの間(すなわち、余肉部93)に、Z軸に対して平行な複数の断面(以下、親断面設定部42が設定する断面を「親断面」と呼ぶ)を設定する。親断面設定部42が設定した複数の親断面は、断面の形状を規定するパラメータと対応付けて記憶装置8に記憶される。なお、親断面の設定方法は任意であり、例えば、作業者が手動で設定することとしてもよく、また、上述の特許文献1のように予め設定された断面テンプレートを用いて設定することとしてもよい。
ここで、図4を参照して、余肉部93に設定される親断面について説明する。図4(A)に示すように、親断面設定部42は、形状データが生成された製品部91とダイフェース部95との間の余肉部93に、複数の親断面931A,931B,931C(以下、総称して「親断面931」と呼ぶ)を生成する。
この親断面931は、図4(B)に示すように、基準線BLの所定の基準点BPから対岸線OLの所定の対岸点OPまでを接続する断面線によって構成される。また、この断面線は、複数の直線と複数の曲線とを繋ぎ合わせて構成され、各直線と各曲線との具体的な形状を示す複数のパラメータにより規定される。親断面931を規定するパラメータには、適宜必要な情報を含めることができるが、少なくとも親断面931上の任意の位置におけるXYZ座標を算出可能な情報を含むものとする。本実施形態では、これらパラメータとして、各直線の線長を示すパラメータL1,L2,L3,L4(mm)と、各曲線の曲率半径を示すパラメータR1,R2,R3(mm)と、各曲線の壁角度を示すパラメータA1,A2,A3(deg)と、親断面931の開始位置(基準線BL上の基準点BPの位置)及び終了位置(対岸線OL上の対岸点OPの位置)を示すXYZ座標と、親断面931と基準線BLとが成す角度θ(deg)と、を含むこととしている。また、図4(A)に示すように、親断面設定部42は、互いに交錯しないように、基準点BP及び対岸点OPをそれぞれ所定の間隔だけ離間させながら複数の親断面931A,931B,931Cを設定する。なお以下では、親断面931の基準点BLや対岸点OPを親基準点BPや親対岸点OPといい、親断面931と基準線BLとが成す角度θを親基準角度θという。
図2に戻り、子断面生成部43は、複数の親断面931のうち隣接する親断面の対の間に、上記親断面と同様にZ軸に対して平行な複数の断面(以下、子断面生成部43が生成する断面を「子断面」と呼ぶ)を生成する。上述のように、基準線BL及び対岸線OLはそれぞれ閉曲線となっており、各親断面は互いに交錯しないように基準点BP及び対岸点OPの間隔を空けながら設定される。したがって、互いに隣接する2つの親断面の対が設定されると、これら一対の親断面、基準線及び対岸線を辺とした閉曲線が形成される。子断面生成部43は、これら親断面の形状に基づいて、これら親断面によって形成される閉曲線内に、互いに交錯しないような複数の子断面を生成する。なお、このような複数の子断面の生成は、公知のパラメトリックなCADソフトウェアにおける通常の機能により実現することができる。以下、複数の子断面を生成する具体的な手順について説明する。
図5(A)に示すように、製品部91に定義される基準線BLとダイフェース部95に定義される対岸線OLとの間の余肉部93には、複数の親断面931A,931Bが設定される。なお、図5の例では、親断面931は、1段の断面形状であり、親断面931Bは、2段の断面形状であるものとする。
これら親断面931A,931Bは、作業者からの指令に応じて、図5(B)に示すように所定の間隔を空けて設定される。子断面生成部43は、親断面931A,931Bの間に、親断面931A,931Bと類似の形状を有する子断面を複数生成することによって、これら親断面931A,931Bの間を埋める。このとき、子断面生成部43は、親断面931Aに基づく子断面と、親断面931Bに基づく子断面との2種類の子断面を生成する。
具体的には、子断面生成部43は、基準線BLのうち各親断面931A,931Bの親基準点BP1,BP2によって挟まれた区間を、所定のピッチで分割することによって、各子断面の始点に相当する子基準点BPC1,BPC2,BPC3,BPC4と、終点に相当する子対岸点OPC1,OPC2,OPC3,OPC4を設定する(図5(C)参照)。次に子断面生成部43は、各子基準点BPC1…BPC4に対し、各子断面と基準線BLとの成す角度に相当する子基準角度θC1,θC2,θC3,θC4を設定する(図5(D)参照)。なお、各子断面が他の断面と交錯しないように、各子断面の子基準点BPC1…BPC4、子対岸点OPC1…OPC4や子基準角度θC1…θC4を設定する具体的な手順については、後に図6〜図9を参照して説明する。
次に子断面生成部43は、図5(C)に示すように、一方の親断面931Aと類似する形状を有しかつ子基準角度θC1…θC4で基準線BLと交錯する複数の子断面933A,933B,933C,933D(以下、これらを総称して「子断面群933」という)を、子基準点BPC1…BPC4及び子対岸点OPC1…OPC4の間に生成する。ここで、子断面生成部43は、上記子基準角度θC1…θC4、子基準点BPC1…BPC4、及び子対岸点OPC1…OPC4の他、図示しない処理によって定められた条件を拘束条件として、この拘束条件の下で既知のアルゴリズムを用いることによって、親断面931Aと類似する形状を有する子断面群933を生成する。
次に子断面生成部43は、図5(E)に示すように、他方の親断面931Bと類似する形状を有しかつ子基準角度θC1…θC4で基準線BLと交錯する複数の子断面935A,935B,935C,935D(以下、これらを総称して「子断面群935」という)を、子基準点BPC1…BPC4及び子対岸点OPC1…OPC4の間に生成する。ここで、子断面生成部43は、上記子基準角度θC1…θC4、子基準点BPC1…BPC4、及び子対岸点OPC1…OPC4の他、図示しない処理によって定められた条件を拘束条件とし、この拘束条件の下で既知のアルゴリズムを用いることによって、親断面931Bと類似する形状を有する子断面群935を生成する。
次に、子断面が他の子断面又は親断面と交錯しないように、子基準点、子対岸点、及び子基準角度を設定する具体的な手順について、図6〜図9を参照しながら説明する。
図6は、複数の子断面を生成する領域を、Z軸方向に沿って平面視した図である。ここで、子断面を生成する領域とは、図6に示すように、一対の隣接する親断面931A,931Bと、基準線BLと、対岸線OLとで囲まれた領域である。なお、上述のように親断面及び子断面は、それぞれZ軸と平行な面内に設定することから、これら断面は図6のように平面視すると直線となる。子断面生成部43は、図6において破線で示すように生成される子断面が他の断面と交錯しないように、複数の子基準点BPC1,BPC2…と、複数の子対岸点OPC1,OPC2…と、複数の子基準角度θC1,θC2…と、を決定する。
図7は、選択された一対の親断面に基づいて、子基準点、子対岸点、及び子基準角度を設定する具体的な手順を示すフローチャートである。
始めにステップS51では、子断面生成部43は、選択された親断面931A,931Bと基準線BL対岸線OLの3次元座標情報を取得し、この情報に基づいて、親基準点BP1,BP2及び親対岸点OP1,OP2と、親基準角度θ1,θ2とを算出する(図6参照)。
ステップS52では、子断面生成部43は、以下の処理で用いる設定パラメータである初期ピッチPdef(mm)、ピッチ上限Pmax(mm)、及びピッチ下限Pmin(mm)の値を決定する。これら設定パラメータPdef、Pmax、及びPminの値は、作業者から入力された値を用いてもよいし、予め定められた値を用いてもよい。ピッチ上限は、隣接する子基準点又は子対岸点の間隔の上限に相当し、例えば、8mmである。以下の処理では、子基準点又は子対岸点の間隔は、できるだけこのピッチ上限を超えないように設定される。ピッチ下限は、隣接する子基準点又は子対岸点の間隔の下限に相当し、例えば、0.1mmである。以下の処理では、子基準点又は子対岸点の間隔は、できるだけこのピッチ下限を下回らないように設定される。初期ピッチは、2つの子基準点の間の初期の間隔に相当し、例えば、5mmである。
ステップS53では、子断面生成部43は、基準角度の大きい方の親断面の親基準点(図6の例では、親断面931Aの親基準点BP1)を開始点として、この開始点から他方の親断面の親基準点(図6の例では、親断面931Bの親基準点BP2)へ向かって、基準線BL上に初期ピッチPdefごとに、n個の子基準点BPC1,BPC2…,BPCnを設定する。
ステップS54では、子断面生成部43は、2つの親基準角度θ1,θ2に基づいて、各子基準点BPC1…BPCnに対応する子基準角度θC1…θCnを設定する。より具体的には、子断面生成部43は、各子基準角度θC1…θCnを、親基準角度θ1とθ2との間で決定するとともに、親基準角度θ1に近い角度から親基準角度θ2に近い角度になるように変化させる。すなわちθ1>θC1>…>θCn>θ2となる。これにより、各子基準点BPC1…BPCnに設定される子断面が他の子断面又は親断面と交錯しないように、異なる角度を割り振ることができる。
このような子基準角度の割り振りは、2つの親基準角度θ1,θ2に基づいて、図8に示すようなマップを構築することによって実現することができる。
図8に示すように、縦軸を基準角度(deg)とし横軸を基準線に沿った距離(mm)とした2次元座標系に、2つの親基準点BP1,BP2を特定する2点をプロットし、これら2点を直線又は滑らかな曲線で補間すると、親基準点BP1からの距離と、その地点における基準角度とのを一意的に特定するためのマップを構成することができる。
図7に戻って、ステップS54では、子断面生成部43は、例えば、上述のようなマップを用いることによって、各子基準点BPC1…BPCnに対し、子基準角度θC1…θCnを設定する。
ステップS55では、子断面生成部43は、子基準角度θC1…θCnに基づいて、各子基準点BPC1…,BPCnに対し子対岸点OPC1…,OPCnを設定する。上述のように、子断面はZ軸を含む面に対して平行に設定される。したがって、各子基準点BPC1…BPCnに対する子対岸点OPC1…OPCnは、子断面の詳細な形状の演算を経ることなく、これら子基準点BPC1…BPCnから子基準角度θC1…θCnで延びる直線と対岸線OLとの交点として、容易に算出することができる(図6参照)。
以上のS51〜S55の処理を実行することにより、選択された2つの親断面931A,931Bに対し、n+2個の基準点BP1,BPC1,…,BPCn,BP2と、これら基準点に対応するn+2個の対岸点OP1,OPC1,…,OPCn,OP2及びn+2個の基準角度θ1,θC1,…,θCn,θ2と、が設定される(図6参照)。これ以降のS56〜S58の処理は、S52で定めたピッチ上限Pmax及びピッチ下限Pminの下で必要に応じて各基準点の間に新たに基準点を生成する処理となっている。
ステップS56では、子断面生成部43は、上記n+2個の基準点のうち互いに隣接する2つの基準点を選択する。なお以下では、ここで選択した一組の基準点を選択基準点BS1,BS2とする。また、これら選択基準点BS1,BS2に対応する対岸点及び基準角度をそれぞれ選択対岸点OS1,OS2及び選択基準角度θS1,θS2とする(図9参照)。また、θS1>θS2とする。
ステップS57では、子断面生成部43は、上記ステップS56で選択した1組の選択基準点BS1,BS2に対し、再分割処理(後述の図10参照)を施すことにより、これら選択基準点BS1,BS2の間に必要に応じて定められる数であるm個(mは、0以上の整数)の孫基準点を生成する。
図10は、再分割処理の具体的な手順を示すフローチャートである。この再分割処理は、互いに隣接する一組の選択基準点BS1,BS2に対し、これら基準点BS1,BS2の間をさらに分割する必要があるか否か)を判断し、必要があると判断した場合には、これら基準点BS1,BS2の間に1つの孫基準点BPDを新たに生成する処理である。なお、2つの基準点BS1、BS2の間に1つの孫基準点BPDを生成すると、2組の互いに隣接する基準点が生成される。したがって、新たに1つの孫基準点BPDを生成すると、これら2組の選択基準点(基準点BS1,BPDの組と、基準点BPD,BS2の組)に対してさらに再分割処理を実行する必要がある。このため、図10の再分割処理は、自己と同じ処理を2つ(S70及びS72参照)含んだ再帰的なアルゴリズムとなっている。
ステップS61では、子断面生成部43は、選択基準点BS1,BS2の距離D1と、これら選択基準点に対応する選択対岸点OS1,OS2の距離D2を算出する(図9参照)。
ステップS62及びS63では、子断面生成部43は、算出した基準点間距離D1及びD2に基づいて、分割の要否を判断する。より具体的には、ステップS62では、子断面生成部43は、基準点間距離D1及び対岸点間距離D2の何れかがピッチ下限Dminより小さいか否かを判別する。またステップS63では、子断面生成部43は、基準点間距離D1及び対岸点間距離D2の両方がピッチ上限Dmaxより小さいか否かを判別する。子断面生成部43は、これらステップS62,S63の両方がNOである場合には、ステップS64に移り、選択基準点BS1,BS2をさらに分割する必要があると判断する。また、子断面生成部43は、これらステップS62、S63の何れかがYESである場合には、分割は不要であると判断し(ステップS65参照)、この処理を直ちに終了する。
ステップS66〜S68では、子断面生成部43は、選択基準点BS1,BS2の間を分割する。より具体的には、ステップS66では、子断面生成部43は、選択基準点BS1,BS2について、基準線BL上のこれら基準点BS1,BS2の中心位置に孫基準点BPDを設定する。ステップS67では、子断面生成部43は、設定した孫基準点BPDに対し、ステップS54と同じ手順に従って孫基準角度θDを設定する。すなわち、図8のようなマップを利用して、θS1>θD>θS2となるような孫基準角度θDを設定する。ステップS68では、子断面生成部43は、ステップS55と同じ手順に従って孫基準点BPDに対応する孫対岸点OPDを設定する。
ステップS69では、子断面生成部43は、3つの基準点BS1,BPD,BS2のうち互いに隣接する2つの基準点を選択する。ここでは、比較的基準角度が大きい2つの基準点BS1,BPDを選択基準点として設定する。ステップS70では、子断面生成部43は、ステップS69で選択した1組の選択基準点BS1,BPDに対し、再分割処理を施すことにより、これら選択基準点BS1,BPDの間に必要に応じて定められる数であるn個(nは、0以上の整数)の孫基準点を生成する。
ステップS72では、子断面生成部43は、3つの基準点BS1,BPD,BS2のうち互いに隣接する2つの基準点を選択する。ここでは、比較的基準角度が小さい2つの基準点BPD、BS2を選択基準点として設定する。ステップS73では、子断面生成部43は、ステップS72で選択した1組の選択基準点BPD,BS2に対し、再分割処理を施すことにより、これら選択基準点BPD,BS2の間に必要に応じて定められる数であるl個(lは、0以上の整数)の孫基準点を生成する。
図7に戻って、ステップS58では、子断面生成部43は、全ての組み合わせについてS57の再分割処理を実行したか否かを判別する。ステップS58の判別がNOである場合には、ステップS57に移り他の基準点の組み合わせを選択し、YESである場合には、この処理を終了する。子断面生成部43は、以上のような処理を行うことによって、ピッチ上限Pmaxとピッチ下限Pminによって指定される範囲内に収まる程度に密な子断面を、互いに交錯しないように設定することができる。また、子断面生成部43は、以上の処理によって設定した複数の子基準点、子対岸点、及び子基準角度に基づいて、図5を参照して説明した手順に従って子断面群を生成する。
図2に戻り、座標算出部44は、CADデータ上に平面格子10を投影し、特徴点101のXY座標と一致するCADデータ上のZ座標を、特徴点101のZ座標として算出する。これにより、XY平面上に配置された特徴点101にZ座標が与えられる。
ここで、図11を参照して座標算出部44についてより詳細に説明する。図11は、CADデータの断面形状を示す模式図である。図11を参照して、製品部91やダイフェース部95は、記憶装置8に形状データが予め記憶されているため、製品部91やダイフェース部95に投影された特徴点101のZ座標は、製品部91やダイフェース部95の形状データから容易に取得することができる。一方、余肉部93は、形状データが設定されていないため、余肉部93に投影された特徴点101のZ座標を適切に取得するための工夫が求められる。
図2に戻り、そこで、座標算出部44は、判定部46と、第1のZ座標算出部47と、第2のZ座標算出部48と、を含んで構成される。
判定部46は、投影した特徴点101のXY座標と一致するCADデータ上の位置に、形状データが設定されているか否かを判定する。ここで、余肉部93であっても、親断面931又は子断面群933,935が設定されている部分については断面を規定するパラメータが設定されているため、特徴点101が投影された場合にZ座標を容易に取得することができる。そのため、形状データが設定されているか否かとは、特徴点101のXY座標と一致する位置に製品部91、ダイフェース部95、親断面931又は子断面群933,935が存在するか否かを判定することと同義である。
より詳しくは、判定部46は、特徴点101がCAD面(製品部91及びダイフェース部95)上に投影されたか否かを判定する。また、判定部46は、特徴点101が断面領域(親断面931又は子断面群933,935が設定されている余肉部93と、製品部91のうち成形困難な箇所Qで中間形状の断面915が設定されている位置)内に投影されたか否かを判定する。
第1のZ座標算出部47は、特徴点101のXY座標と一致する位置に製品部91、ダイフェース部95、親断面931又は子断面群933,935が存在する場合に機能し、製品部91、ダイフェース部95、親断面931又は子断面群933,935の形状データ(断面のパラメータ)に基づいて特徴点101のZ座標を算出する。具体的には、第1のZ座標算出部47は、特徴点101のXY座標と一致する位置における製品部91、ダイフェース部95、親断面931又は子断面群933,935のZ座標を、特徴点101のZ座標として算出する。
ここで、子断面群933,935は、同一のピッチで生成されるため、子断面群933に投影した特徴点101が、子断面群935にも同時に投影される場合がある。この点、図12を参照して、子断面群933,935の双方に投影された特徴点101AのZ座標の算出方法について説明する。
図12(A)を参照して、子断面群933に投影された特徴点101AのZ座標をZaとし、子断面群935に投影された特徴点101AのZ座標をZbとする。子断面群933は、親断面931Aのパラメータに基づいて生成される一方で、子断面群935は、親断面931Bのパラメータに基づいて生成されるため、Z座標Za、Zbは夫々異なる場合がある。そこで、第1のZ座標算出部47は、Z座標Za、Zbに対して、親断面931A、931Bまでの距離に基づく重み付けを行い、特徴点101AのZ座標を算出する。
具体的には、図12(B)に示すように、第1のZ座標算出部47は、特徴点101Aを通過するZ方向に平行な無限直線と親断面931Aとの距離D1、無限直線と親断面931Bとの距離D2を算出し、以下の式(1)により特徴点101AのZ座標Z1を算出する。なお、無限直線と親断面931A,931Bとの距離とは、無限直線から無限直線に対する親断面931A,931B上の最近点までの距離である。
図2に戻り、第2のZ座標算出部48は、特徴点101のXY座標と一致する位置に製品部91、ダイフェース部95、親断面931及び子断面群933,935が存在しない場合に機能し、この特徴点101の周辺の形状から、この特徴点101のZ座標を算出する。なお、周辺の形状とは、Z座標を特定可能な任意の位置をいい、例えば、特徴点101を通過するZ方向に平行な無限直線の周囲の製品部91、ダイフェース部95、親断面931又は子断面群933,935をいう。
この第2のZ座標算出部48は、候補断面取得部481と、最近点取得部482と、座標演算部483と、を含んで構成される。
候補断面取得部481は、特徴点101を通過するZ方向に平行な無限直線を跨ぐ2つ以上の子断面を候補断面として取得する。このとき、候補断面取得部481は、子断面群933,935の夫々について、2つ以上の候補断面を取得する。なお、無限直線を跨ぐ2つ以上の子断面とは、無限直線の近傍の2つ以上の子断面をいう。最近点取得部482は、取得した複数の候補断面の夫々について、特徴点101を通過する無限直線に対する最近点を算出し、この最近点のZ座標を取得する。座標演算部483は、候補断面上の最近点のZ座標を、無限直線との距離に基づいて重み付けすることで、特徴点101のZ座標を算出する。
ここで、図13を参照して、第2のZ座標算出部48によるZ座標の算出方法の一例について具体的に説明する。第2のZ座標算出部48によるZ座標の算出は、子断面群933に基づくZ座標(第1候補座標)の算出(図13(A))、及び子断面群935に基づくZ座標(第2候補座標)の算出(図13(B))の後に、これら第1候補座標と第2候補座標とに基づくZ座標の算出(図13(C))により行われる。
図13(A)を参照して、特徴点101Bは、対応するXY座標に製品部91、ダイフェース部95、親断面931及び子断面群933,935が存在しない特徴点である。
初めに、第2のZ座標算出部48(候補断面取得部481)は、特徴点101Bを通過し、Z方向に平行な無限直線を設定する。そして、第2のZ座標算出部48(候補断面取得部481)は、複数の子断面群933の中からZ方向視でこの無限直線を跨ぐ2つの子断面群933A,933Bを候補断面として取得する。
続いて、第2のZ座標算出部48(最近点取得部482)は、候補断面として取得した子断面群933A,933Bについて、無限直線に対する最近点を算出し、この最近点のZ座標を取得する。図13(A)では、子断面群933Aについて、最近点P1を算出し、この最近点P1のZ座標Z3を取得している。また、子断面群933Bについて、最近点P2を算出し、この最近点P2のZ座標Z4を取得している。
続いて、第2のZ座標算出部48(座標演算部483)は、最近点P1,P2のZ座標Z3,Z4を、無限直線から最近点P1,P2までの距離に基づいて重み付けをし、第1候補座標Zaを算出する。一例として、第2のZ座標算出部48(座標演算部483)は、無限直線から最近点P1までの距離がD3、無限直線から最近点P2までの距離がD4である場合、以下の式(2)により第1候補座標Zaを算出する。
図13(B)を参照して、続いて、第2のZ座標算出部48は、子断面群935についても同様に候補断面(子断面群935A,935B)を取得すると共に、この候補断面上の最近点(最近点P3,P4)のZ座標(Z座標Z5,Z6)を取得する。そして、第2のZ座標算出部48は、無限直線からの距離に基づく重み付けを行い、第2候補座標Zbを算出する。一例として、第2のZ座標算出部48は、無限直線から最近点P3までの距離がD5、無限直線から最近点P4までの距離がD6である場合、以下の式(3)により第2候補座標Zbを算出する。
これにより、子断面群933に基づく第1候補座標Zaと、子断面群935に基づく第2候補座標Zbとが算出される。
ここで、子断面群933,935は、親断面931A,931Bの間に生成されるところ、子断面群933は、親断面931Aの断面パラメータに基づいて親断面931Aから親断面931Bに向かって生成され、子断面群935は、親断面931Bの断面パラメータに基づいて親断面931Bから親断面931Aに向かって生成される。パネル製品は、連続性を持った形状を有することから、親断面931Aに近い子断面群933は、親断面931Aから遠い(親断面931Bに近い)子断面群933よりも精度良く生成されていると考えられる。親断面931Bと子断面群935についても同様である。
そこで、第2のZ座標算出部48は、子断面群933に基づく第1候補座標Zaと、子断面群935に基づく第2候補座標Zbと、に対して親断面931A,931Bからの距離に基づく重み付けを行い特徴点101BのZ座標Z7を算出する。
具体的には、図13(C)を参照して、特徴点101Bを通過する無限直線と親断面931Aとの距離がD7、無限直線と親断面931Bとの距離がD8である場合、以下の式(4)により特徴点101BのZ座標Z7を算出する。
このように第1のZ座標算出部47により製品部91、ダイフェース部95、親断面931又は子断面群933,935に投影された特徴点101のZ座標が算出され、また、第2のZ座標算出部47により親断面931及び子断面群933,935が設定されていない余肉部93に投影された特徴点101のZ座標が算出される。なお、夫々の特徴点101には、予めXY座標が規定されているため、Z座標の算出に伴い、夫々の特徴点101のXYZ座標が算出されることになる。
図2に戻り、ドローモデル生成部45は、XYZ座標が得られた特徴点101同士を繋ぎポリゴン化することによって、複数の親断面と複数の子断面とに基づいて生成される面を含むような補間面をポリゴン面として生成する。例えば、隣接する特徴点101同士を繋いだ場合には、三角形状のポリゴン102を作成することができる(図1(C)参照)。これにより、CADデータが存在しない余肉部93を含むプレス成形品のドローモデル9(例えば、図20参照)が生成される。
なお、特徴点101の間隔(XY座標)は、上述のようにパネル製品のうち最もポリゴンの折れ角が大きくなる部位においてエラーとならないように定められた最適な間隔Doptに設定されている。そのため、部位によっては特徴点101の間隔が必要以上に細かくなってしまい計算量が膨大になるおそれがあることから、ドローモデル生成部45は、不要な特徴点101を削除する(間引く)こととしてもよい。一例として、隣接する特徴点101のZ座標の差が閾値未満である場合、言い換えると隣接する特徴点101においてZ座標の変化が小さい場合、特徴点101を削除することとしてもよい。
図2に戻って、並列計算マネージメント部49の機能について説明する。以上説明したメイン計算機PC0の演算装置4に構成された機能のうち、子断面生成部43における演算は、仕事量が多く時間がかかる。特に子断面生成部43における演算のうち、所定の拘束条件の下で親断面931A,931Bと類似する形状を有する子断面群933,935を生成する演算は、とりわけ負荷が高い。そこで、本実施形態に係るドローモデル生成システム1では、この子断面生成部43における子断面群の生成に係る演算を並列計算機PCCの複数の計算機PC1…PCNで並列して実行させることにより、これら子断面群の生成に係る時間を短縮する。並列計算マネージメント部49は、並列計算機PCCをできるだけ短時間で効率的に稼働させるために必要な準備処理や、並列列計算機PCCにおける演算結果の統合処理を実行する。並列計算マネージメント部49は、上記準備処理や統合処理を実行するモジュールとして、仕事量見積演算部491と、分担領域設定部492と、分割データ生成部493と、子断面データ統合部494と、を備える。以下、これらモジュール491〜494の機能について順に説明する。
仕事量見積演算部491は、生成する必要のある子断面の総数と相関のある仕事量パラメータWの値を算出する。上述のように、子断面生成部43における演算では、所定の拘束条件の下で親断面から、これと類似する形状を有する子断面を生成する演算の負荷が高い。従って、子断面群の生成に必要な仕事量は、生成する必要のある子断面の総数に略比例する。仕事量見積演算部491は、実際に子断面群の生成を開始する前に、上述のように定義された仕事量パラメータWの値を算出し、子断面群の生成に必要な仕事量を見積もる。
この仕事量パラメータWとしては、様々なパラメータを採用し得る。先ず、図7を参照して説明したように、子断面は基準線に沿って所定の間隔で生成する。従って、基準線が長いほど生成する必要のある子断面の数も多くなる傾向がある。よって、仕事量見積演算部491は、基準線の長さを算出し、これを仕事量パラメータWの値としてもよい。なお、この基準線の長さは、3次元空間内における基準線の長さとしてもよいし、図6に示すように平面視での基準線の長さとしてもよい。見積にかかる時間を少しでも短くするためには、平面視での基準線の長さを仕事量パラメータWとすることが好ましい。
また、このように基準線の長さを仕事量パラメータWと定義することにより、比較的短時間で仕事量パラメータWの値を算出できる、という利点がある。しかしながら、図7を参照して説明したように、子断面は、基準線に沿って一定の初期ピッチPdefで生成した後、さらに分割することによって生成される場合もあることから、仕事量の見積精度は低い。そこで、仕事量見積演算部491は、全ての親断面について図7に示す演算を、平面視で実行することによって、子基準点の数のみを簡易的に算出し、これを仕事量パラメータWの値としてもよい。ここで、図7に示す演算を平面視で実行するとは、3次元形状を有する基準線及び対岸線をXY座標面に投影し、この2次元平面内でステップS51〜S66の処理を実行することを意味する。このように、2次元平面内で簡易的な演算を実行することにより、短時間で仕事量パラメータWの値を、より正確に算出することができる。
分担領域設定部492は、子断面群を生成する領域を子断面群の生成を担う計算機PC1〜PCNの数であるN個の領域に分割し、各計算機PC1〜PCNで子断面群を生成する領域を振り分ける。
図14は、分担領域設定部492によってN台の計算機に対して振り分けられるN個の領域AR1〜ARNを模式的に示す図である。分担領域設定部492は、各計算機PC1〜PCNの計算負荷が均等に振り分けられるように、換言すれば領域AR1〜ARNごとに対応する領域仕事量パラメータW1〜WNが均等になるように(W1≒W2≒…WN≒W/N)、子断面群を生成する領域を分割する。ここで、領域仕事量パラメータW1〜WNとは、仕事量パラメータWを基準線の長さで定義した場合には対応する領域に含まれる基準線の長さに相当し、仕事量パラメータWを基準点の数で定義した場合には対応する領域に含まれる基準点の数に相当する。
分割データ生成部493は、計算機PC1〜PCNによって、振り分けられた領域AR1〜ARN内の子断面群を生成するために必要なデータを準備し、これを各計算機PC1〜PCNに送信する。ここで、各領域AR1〜ARN内の子断面群を生成するために必要なデータには、少なくとも各領域AR1〜ARNに属する親断面の形状パラメータ等に関するデータと、領域に属する基準線及び対岸線の長さや形状等を特定するために必要なCADデータとが含まれる。
特にここで、分割データ生成部493は、各計算機PC1〜PCNへ送信するCADデータは、各領域AR1〜ARNに属する分だけ切り取ることによって、容量が最小限になるように個別に生成した部分CADデータを送信することが好ましい。各計算機PC1〜PCNでは、各々の記憶装置に記憶されたCADデータを逐次参照することによって子断面群を生成する。ここで、各計算機PC1〜PCNが参照するCADデータに、自身が担う領域とは無関係の領域に関するCADデータが含まれていた場合、CADデータの参照に思わぬ時間を消費してしまう場合がある。そこで、分割データ生成部493は、このようなCADデータの参照にかかる時間のロスを最小限にするため、領域ごとに切り取って生成した部分CADデータを各計算機へ送信することが好ましい。
各計算機PC1〜PCNは、分割データ生成部493から送信されたデータに基づいて、自身が担う領域AR1〜ARN内の子断面群を上述の子断面生成部43と同じ手順に従い、同時に生成する。
子断面データ統合部494は、各計算機PC1〜PCNによって生成された子断面群の形状パラメータ等に関するデータを受信し、これを上述の座標算出部44及びドローモデル生成部45における演算で参照できる形式で合成し、記憶装置8に記憶する。
[中間形状のドローモデル生成]
ところで、プレス加工する板材の材料特性の関係から、製品形状を一度のプレス加工で成形できない場合があり、このような場合には、まず板材を中間形状までプレス加工した後に中間形状を加工し製品形状を得ることとしている。製品形状に先立ち中間形状をプレス加工する場合、CAEによるモデル形状評価では、製品形状ではなく中間形状が加工可能であるか否かの評価を行う必要がある。
そこで、本発明のドローモデル生成システム1では、必要に応じて中間形状のドローモデルも生成することとしている。
即ち、親断面設定部42は、材料特性の関係から一度のプレス加工で成形することが困難な製品部91の任意の位置に中間形状の親断面を複数設定し、子断面生成部43は、これら親断面の間に子断面を生成する。そして、座標算出部44は、製品部91に設定された中間形状の親断面及び子断面に対して平面格子10を投影し、特徴点101のXY座標と一致する中間形状の断面のZ座標を、特徴点101のZ座標として算出する。そして、ドローモデル生成部45は、XYZ座標が得られた特徴点101同士を繋ぎポリゴン化する。これにより、プレス加工過程で生成される中間形状を取得することができる。
なお、特徴点101のXY座標によっては、対応する位置に中間形状の断面が設定されていない場合がある。このような場合には、上述のように所定の重み付けを行うことで、中間形状の断面が設定されていない位置に投影する特徴点101のZ座標を算出することができる。
ここで、図15を参照して、中間形状のドローモデルを生成する場合の流れについて具体的に説明する。図15(A)は、ドローモデル9の断面を模式的に示す図である。また、図15(B)(C)は、中間形状の断面に対して投影した特徴点101のZ座標の算出方法を示す図であり、図15(B)は、投影した位置に中間形状の断面(親断面又は子断面)が設定されている場合の算出方法を示す断面図であり、図15(C)は、投影した位置に中間形状の断面(親断面及び子断面)が設定されていない場合の算出方法を示す斜視図である。
図15(A)を参照して、製品部91には、板材の材料特性の関係から一度のプレス加工で成形困難な箇所Qが存在している。そこで、図15(B)に示すように、親断面設定部42は、この箇所Qに中間形状の親断面を複数設定し、子断面生成部43は、これら親断面の間に中間形状の子断面を複数生成する。なお、中間形状の親断面又は子断面を以下「中間形状の断面915」と呼ぶ。中間形状の断面915の設定(生成)方法は、余肉部93に設定(生成)する断面(親断面又は子断面)と同じであるため、省略する。
なお、箇所Qに設定する断面(中間形状の断面915)と、余肉部93に設定する断面(親断面931、子断面群933,935)とは、一体であってもよく、また、夫々個別の断面であってもよい。
中間形状の断面915を設定すると、座標算出部44は、平面格子10を投影する。ここで、中間形状の断面915は、製品部91に対して設定されるため、特徴点101のXY座標が中間形状の断面915の任意の位置と一致する場合、当該特徴点101は、中間形状の断面915及び製品部91の双方に投影されることになる。図15(B)では、特徴点101は、中間形状の断面915のZ座標Z8及び製品部91のZ座標Z9に投影されている。
このような場合、座標算出部44(第1のZ座標算出部47)は、特徴点101のXY座標と一致する位置の中間形状の断面915のZ座標Z8と、製品部91のZ座標Z9とのうち、より大きな値のZ座標を特徴点101のZ座標として算出する。なお、中間形状の断面915は、製品部91に対してZ方向の上方に設定されるため、より大きな値のZ座標は、基本的には、中間形状の断面915のZ座標(Z8)となる。
一方、特徴点101が、中間形状の断面915が設定されていない位置に投影された場合、座標算出部44は、第2のZ座標算出部48として機能し、周辺に設定された中間形状の断面915を用いて特徴点101のZ座標を算出する。
即ち、図15(C)に示すように、座標算出部44(第2のZ座標算出部48)は、特徴点101を通るZ方向に平行な無限直線を跨ぐ2つの中間形状の断面915A,915Bを取得し、この中間形状の断面915A,915Bのうち、特徴点101を通る無限直線との最近点P5,P6を算出する。そして、この最近点P5,P6のZ座標Z10,Z11に対して、無限直線からの距離に基づく重み付けを行い、特徴点101のZ座標を算出する。なお、詳細については上述の通りである。
[ドローモデル生成システムの処理]
図16〜図18は、ドローモデル生成システム1の処理の流れを示すフローチャートである。図16に示すように、ドローモデルの生成は、製品部91やダイフェース部95などの形状データ及び平面格子10を設定する準備工程と、この準備工程において準備したデータを用いてドローモデル9を生成するドローモデル生成工程と、を含む。より具体的には、準備工程は、ステップS1〜S4の処理で構成され、ドローモデル生成工程は、ステップS5〜S8の処理で構成される。
ステップS1では、作業者による入力装置2の操作に基づいて、メイン計算機PC0は、製品部91及びダイフェース部95の形状データを生成し、記憶装置8に記憶する。ステップS2では、メイン計算機PC0の親断面設定部42は、作業者による入力装置2の操作に基づいて、上述のように互いに交錯しないように複数の親断面(余肉部93の親断面、中間形状の親断面)を設定し、記憶装置8に記憶する。
ステップS3では、メイン計算機PC0及び並列計算機PCCは、作業者による入力装置2の操作及び上述のようにして設定された複数の親断面の断面パラメータを用いて、各親断面の間に子断面群を生成する子断面群生成処理を実行する。ここで、図17のフローチャートを参照して子断面群生成処理の詳細な手順について説明する。
ステップS31では、メイン計算機PC0の仕事量見積演算部491は、仕事量パラメータWの値を算出する。ここで、仕事量パラメータWは、上述のように基準線の長さ又は子基準点の数である。
ステップS32では、メイン計算機PC0の分担領域設定部492は、各計算機PC1〜PCNの負荷が均等になるように、子断面群を生成する領域を、各計算機PC1〜PCNで担う領域AR1〜ARNに分割する。
ステップS33では、メイン計算機PC0の分割データ生成部943は、各計算機PC1〜PCNで各領域AR1〜ARN内の子断面群を生成するのに必要な親断面の形状パラメータに関するデータや部分CADデータを生成し、これを各計算機PC1〜PCNに送信する。
ステップS34では、並列計算機PCCの各計算機PC1〜PCNは、メイン計算機PC0から送信されたデータに基づいて、各々が分担する領域AR1〜ARN内の子断面群を生成する。
ステップS35では、メイン計算機PC0の子断面データ統合部494は、各計算機PC1〜PCNによって生成された子断面群の形状パラメータ等に関するデータを統合し、記憶装置8に記憶する。
ここで、子断面群を生成するための並列計算を実行する計算機PC1〜PCNの好ましい数について説明する。生成すべき子断面の総数、すなわち総仕事量が一定であれば、各計算機に分担される仕事量は計算機の数を増やすほど少なくなり、ステップS34の並列処理にかかる時間は短くなる。しかしながら、計算機の数を増やすほど、ステップS31〜S33の準備にかかる時間が長くなる。したがって計算機の数Nは、これら並列処理時間と準備処理時間とを合わせたトータルの処理時間が最小になるように実験によって定められる。
図16に戻って、ステップS4では、メイン計算機PC0の平面格子生成部41は、作業者による入力装置2の操作に基づいて平面格子10を生成し、記憶装置8に記憶する。ステップS5において、メイン計算機PC0の座標算出部44は、製品部91、ダイフェース部95、親断面及び子断面の形状データ(CADデータ)に対して平面格子10を投影する。続く、ステップS6において、座標算出部44は、Z座標算出処理を行う。ここで、図18を参照して、Z座標算出処理について説明する。
ステップS11において、判定部46は、特徴点101がCAD面上に投影されたか否かを判定する。ここで、CAD面とは、製品部91及びダイフェース部95をいう。即ち、特徴点101が製品部91やダイフェース部95に投影された場合、ステップS11においてYESとなり、特徴点101が製品部91及びダイフェース部95以外の位置、即ち、後述する断面領域内に投影された場合、ステップS11においてNOとなる。
ステップS11においてYESのとき、ステップS12において、第1のZ座標算出部47は、投影した位置の製品部91及びダイフェース部95のZ座標を取得し、処理をステップS13に移す。
ステップS13において、判定部46は、特徴点101が断面領域内に投影されたか否かを判定する。ここで、断面領域とは、断面が設定されている領域であり、具体的には、親断面931又は子断面群933,935が設定されている余肉部93と、製品部91のうち成形困難な箇所Qで中間形状の断面915が設定されている位置をいう。即ち、特徴点101が余肉部93や中間形状の断面915が設定されている位置に投影された場合、ステップS13においてYESとなり、処理をステップS14に移す。一方、ステップS13においてNOの場合、処理をステップS19に移す。
ステップS14において、判定部46は、特徴点101のXY座標と一致する位置に断面が存在するか否かを判定する。即ち、特徴点101のXY座標と一致する位置に、余肉部93に設定された親断面931又は子断面群933,935や、製品部91のうち成形困難な箇所Qに設定された中間形状の断面915が存在しない場合には、ステップS14においてNOとなり、処理をステップS15に移す。
ステップS15において、第2のZ座標算出部48は、特徴点101を通過するZ方向に平行な無限直線を跨ぐ子断面群933,935を取得すると共に、この子断面群933,935上の無限直線との最近点を抽出する。続く、ステップS16において、第2のZ座標算出部48は、最近点のZ座標を無限直線までの距離に基づいて重み付けし、子断面群933に基づく第1候補座標及び子断面群935に基づく第2候補座標を算出する。続くステップS17において、第2のZ座標算出部48は、第1候補座標及び第2候補座標を、親断面931までの距離に基づいて重み付けし、特徴点101のZ座標を算出して取得する。Z座標を取得後、処理をステップS19に移す。
なお、上述の式(2)、(3)は、ステップS16における第1候補座標及び第2候補座標の算出に用いられ、上述の式(4)は、ステップS17におけるZ座標の算出に用いられる。
また、上述のステップS15〜17の説明では、親断面931又は子断面群933,935が設定されている余肉部93においてZ座標を取得する場合について説明したが、製品部91のうち中間形状の断面915が設定されている位置においてZ座標を取得する場合も同様である。
ステップS14に戻り、特徴点101のXY座標と一致する位置に、余肉部93に設定された親断面931又は子断面群933,935や、製品部91のうち成形困難な箇所Qに設定された中間形状の断面915が存在する場合には、ステップS14においてYESとなり、処理をステップS18に移す。
ステップS18において、第1のZ座標算出部47は、各断面の断面パラメータに基づいてZ座標を算出して取得する。具体的には、親断面931、子断面群933,935又は中間形状の断面915のZ座標を、特徴点101のZ座標として算出して取得し、処理をステップS19に移す。
ここで、子断面群933,935の双方に特徴点101が投影された場合には、子断面群933に投影された特徴点101のZ座標Zaと、子断面群935に投影された特徴点101のZ座標Zbとに対して、親断面931A,931Bまでの距離に基づく重み付けを行い、特徴点101のZ座標を算出する。なお、上述の式(1)は、このような場合におけるZ座標の算出に用いられる。
また、上述のステップS18の説明では、余肉部93に設定された子断面群933,935の断面パラメータに基づいてZ座標を算出する場合について説明したが、製品部91のうち中間形状の断面915が設定されている位置において、子断面に基づいてZ座標を取得する場合も同様である。
ステップS19において、取得したZ座標が2つある場合には、大きい方のZ座標を特徴点101のZ座標として取得する。ここで、取得したZ座標が2つある場合とは、ステップS11及びステップS13のいずれにおいてもYESであり、特徴点101を、製品部91のうち成形困難な箇所Qで中間形状の断面915が設定されている位置に投影した場合である。この場合には、ステップS12により取得されたZ座標と、ステップS17又は18により取得されたZ座標の2つが存在する。従って、これらのうち大きい方(基本的にはステップS17又は18により取得されたZ座標)を特徴点101のZ座標として取得し、処理をステップS20に移す。
ところで、CAD面と断面いずれも存在しない領域は原則として無い。従って、ステップS11又はステップS13の少なくともいずれかにおいて、必ずYESとなり、Z座標が取得されることとなる。なお、安全のため、既に公知のソフトウェアにより、3辺以上のフェースを自動的に作成し、ポリゴンメッシュ上の穴の開いた領域を埋めるポリゴン穴埋め処理、もしくはポリゴン格子と連携してもよい。
ステップS20では、ステップS19で取得したZ座標を、特徴点101のXY座標と結びつけて記憶装置8に記憶する。その後、ステップS21に移り、全ての特徴点101について処理を行い、Z座標算出処理を終了する。
図16に戻り、全ての特徴点101についてZ座標を算出(即ちXYZ座標を取得)すると、ステップS6において、ドローモデル生成部45は、不要な特徴点101を削除する。具体的には、ドローモデル生成部45は、隣接する特徴点101においてZ座標の変化が小さい場合、特徴点101を削除する。続いて、ステップS7において、ドローモデル生成部45は、隣接する特徴点101同士を繋いでポリゴン化し、処理を終了する。
以上、本発明のドローモデル生成システム1の好ましい一実施形態につき説明したが、本発明は、上述の実施形態に制限されるものではなく、適宜変更が可能である。
例えば、本実施形態では、特徴点101を格子状に配置することとしているが、これに限られるものではない。即ち、特徴点101はXY座標が規定されていれば足り、不規則に配置されていても本発明は適用可能である。
また、本実施形態では、特徴点101が製品部91に投影された場合(図18のステップS12でYES)、中間形状の断面915を用いたZ座標の算出を行うこととしている。この点、中間形状の生成は、プレス加工が困難な箇所Qに対してのみ行えば足りるものであり、製品部91の全てについて中間形状の生成を行う必要はない。即ち、製品部91の所定領域(箇所Q)に投影された特徴点101については、製品部91のZ座標と中間形状の断面915のZ座標とのうち大きい値をZ座標として算出し、製品部91の所定領域(箇所Q)以外に投影された特徴点101については、製品部91のZ座標を特徴点101のZ座標として算出する。
また、本実施形態では、図9を参照して説明したように、基準点間距離D1及び対岸点間距離D2を用いて分割の要否を判断したが、本発明はこれに限らない。分割の要否は、これら距離D1,D2の代わりに、サグ値や曲率を用いてもよい。ここでサグ値とは、メッシュの分割精度を判断するために用いられるパラメータであり、図18に示すように、3つの点P1,P2,P3が与えられると下記式によって算出することができる。
h=a・b・sinθ/(a2+b2−2a・b・cosθ)1/2
また、本実施形態では、図15のステップS3の子断面群生成処理を実行する際に並列計算機PCCを用いた場合について説明したが、本発明はこれに限らない。ステップS3に限らず、他のステップS4〜S8の処理を実行する際にも並列計算機PCCを用いてもよい。