本技術の実施の形態に係るシステムについて図1を用いて説明する。本実施の形態では、三次元CADシステム300において、剛体の三次元ソリッドモデルを生成して三次元モデルデータ格納部400に格納することで、設計すべきモデルのデータを一元管理する。一方、三次元CADシステム300において生成し且つハーネスなどの柔軟物を含む三次元ソリッドモデルについて設計検証を行う場合、三次元CADシステム300は、IGES(Initial Graphics Exchange Specification)、STEP(STandard for the Exchange of Product model data)といった汎用の中間フォーマットに従った中間ファイルを生成して、中間ファイル格納部200に格納する。
一方、DMU等の設計検証装置1000は、中間ファイル格納部200から所定のフォーマットの中間ファイルを読み出して、設計検証装置1000のハーネスモデル構築部1200によって、設計検証装置1000において柔軟物の検証を行う際に用いられるハーネスモデルデータを生成し、ハーネスモデルデータ格納部1500に格納する。
逆に、設計検証装置1000におけるハーネスモデルを三次元CADシステム300に戻す場合には、出力データ生成部1100が、ハーネスモデルデータ格納部1500のハーネスモデルデータを処理して上で述べたような中間ファイルを生成して、中間ファイル格納部200に格納する。三次元CADシステム300は、中間ファイル格納部200に格納された中間ファイルを読み込むことで、三次元CADシステム300においてソリッドモデルとして使用することができるようになる。なお、図1に示すように、出力データ生成部1100は、分割部1110を含む。
また、ハーネスモデル構築部1200は、図2に示すような処理部を有する。ハーネスモデル構築部1200は、形状解析部1210と、統合処理部1220と、アセンブリ構築部1230と、制御点データ生成部1240と、結束区間処理部1250とを有する。これらの処理部については、以下図3乃至図36を用いて、処理フローを用いて説明する。
まず、図3に、図1に示したシステムのおおまかな処理の流れを示す。まず、設計検証装置1000におけるハーネスモデルを三次元CADシステム300に戻すために、設計検証装置1000の出力データ生成部1100は、ハーネスモデルデータ格納部1500に格納されているハーネスモデルの中間ファイルを生成し、中間ファイル格納部200に格納する(ステップS1)。この処理の詳細については、後に説明する。
そうすると、三次元CADシステム300は、中間ファイル格納部200から中間ファイルを読み込み、中間ファイルに含まれる中間フォーマットのデータから従来と同様にソリッドモデル化を行って、設計者からの指示に応じて処理を行う(ステップS3)。紐状又は帯状の柔軟物であるハーネスを複数の区間に分割することで生成される複数の部品として三次元CADシステム300に取り込む。各部品は、始点端面と終点端面と上側面と下側面との4面のモデルとして取り扱われる。
三次元CADシステム300において、設計者からの指示に応じた処理が完了して、再度設計検証装置1000への出力が設計者から指示されると、三次元CADシステム300は、上で述べたように所定の中間フォーマットの中間ファイルを生成して、中間ファイル格納部200に格納する(ステップS5)。このステップにおける処理は従来と同様であり、部品毎に上で述べたような始点端面、終点端面と上側面と下側面とを予め定められたルールに沿った順番で中間ファイルに書き込むものである。
その後、設計検証装置1000は、中間ファイル格納部200から中間ファイルを読み出して、ハーネスモデル構築部1200が、ハーネスモデル構築処理を実施する(ステップS7)。このハーネスモデル構築処理については、以下で詳しく述べる。
以上のような処理を処理終了が設計者に指示されるまで繰り返される(ステップS9)。なお、ステップS3の後に終了する場合もある。
このように、一般的な中間フォーマットの中間ファイルを利用して三次元CADシステム300にデータを戻して、三次元CADシステム300側でデータを一元管理し、そしていつでも三次元CADシステム300におけるソリッドモデルから、設計検証装置1000において柔軟物であるハーネスモデルが再現できるので、異種ツール間のデータ管理の手間を削減できる。
次に、図4乃至図7を用いて中間ファイル生成処理(ステップS1)について説明する。
まず、図4に示すようなハーネスモデルが存在するものとする。すなわち、ハーネスモデルは、以下で述べるような1つの直線状の連続形状経路s1であり、元々3つの部品m1乃至m3がつなぎ合わされたものとする。この場合には、両端面の重心に制御点c1及びc4が設定されており、部品m1と部品m2の接合部分の制御点c2と、部品m2と部品m3の接合部分の制御点c3も設けられている。そして、図5に示すようなハーネスモデルデータが、ハーネスモデルデータ格納部1500に格納されている。図5の例では、図4に示したハーネスがHarness1であり、制御点毎に、制御点位置の座標(X,Y,Z)、制御点の姿勢データ(RX,RY,RZ)、区間長、及び制御点位置からのオフセット値(X,Y,Z)と形状経路長と径とが登録されるようになっている。
制御点の姿勢データとしては、基準となる方向に対する相対値が登録される。また、図4の例の場合、区間長は、次の制御点までの長さが登録される。制御点位置からのオフセット値については、制御点とその連続形状経路の端面の重心とが異なっている場合には、制御点に対する相対値が登録される。図4の例では0となる。さらに、形状経路長は、図4の場合には区間長と同じであり、次の制御点との長さである。曲がっている場合もあるので、単純な直線距離ではない。径は、制御点を含む端面における部品の径である。ここでは端面は円であるから径だけで端面を特定できるが、円ではない場合には端面を規定するためのデータが登録される。
次に、図6を用いて、中間ファイル生成処理(ステップS1)を説明する。まず、出力データ生成部1100は、ハーネスモデルデータ格納部1500において未処理のハーネスモデルを1つ特定する(図6:ステップS11)。出力データ生成部1100の分割部1110は、特定されたハーネスモデルを、各制御点の位置で区間に分割する(ステップS13)。図4の例では、3つの区間に分割される。
その後、出力データ生成部1100は、未処理の区間を1つ特定する(ステップS15)。そして、分割部1110は、特定された区間についての制御点のデータから、始点端面と終点端面と上側面と下側面とに分解してそれらのデータを生成し、所定のルールに従って中間フォーマットのファイルに書き出す(ステップS17)。より具体的には、円柱のような閉じたソリッドモデルとなるように分割されるので、図7に示すように4つの面p1乃至p4にさらに分割する。この際、始点端面p1に含まれる制御点の姿勢データから、当該始点端面p1の法線を特定し、終点端面p4に含まれる制御点の姿勢データから、当該終点端面p4の法線を特定する。さらに、形状経路長が、制御点間の長さと一致するように側面の形状を決定する。そして、制御点の始点端面の法線を正とした座標系の向きに従って上側面と下側面とに分割する。例えば、図7に示すように、始点端面の法線方向をZ軸のプラスとして、始点端面の上側をY軸のプラス側とマイナス側として、側面を上側面p2と下側面p3とに分割する。そして、例えば始点端面p1、上側面p2、下側面p3、終点端面p4の順番で、中間ファイルに書き出す。フォーマットは上で述べたようにIGESやSTEPに従う。
そして、出力データ生成部1100は、未処理の区間が存在しているか判断する(ステップS19)。未処理の区間が存在している場合には、ステップS15に戻る。一方、未処理の区間が存在していない場合には、出力データ生成部1100は、未処理のハーネスモデルが存在するか判断する(ステップS21)。未処理のハーネスモデルが存在する場合にはステップS11に戻る。一方、未処理のハーネスモデルが存在しない場合には、出力データ生成部1100は、生成した中間ファイルを中間ファイル格納部200に格納する(ステップS23)。
このような処理を実施することで、三次元CADシステム300は、従来と同様の処理にて、区間分割された部品としてソリッドモデルを構築することができるようになる。
一般的には、複数のワイヤが被覆で束ねられたり、被覆なしで結束されていたり、分岐したりするが、基本的な処理内容は上で述べたとおり、制御点で区間分割して区間を閉モデルとして面に分割することで、三次元CADシステム300において復元できる。
また、三次元CADシステム300から中間フォーマットの中間ファイルを出力して、設計検証装置1000でハーネスモデルを構築する際にも、上で述べたような各部品が4面に分割された形のデータを処理することになる。
次に、図8乃至図36を用いてハーネスモデル構築処理(ステップS7)について説明する。まず、ハーネスモデル構築部1200は、設計者などから、処理すべき三次元モデルの選択を受け付ける(図8:ステップS31)。個別に選択を受け付けるようにしても良いし、指定された検索条件に合致する三次元モデルを選択したものとして取り扱うようにしても良い。以下、三次元モデルに含まれる各部品について処理を行う。
次に、ハーネスモデル構築部1200の形状解析部1210は、位置及び姿勢データ生成処理を実施する(ステップS33)。この位置及び姿勢データ生成処理については、図9乃至図15を用いて説明する。
まず、形状解析部1210は、4つの面で形成されている未処理の部品を1つ特定する(図9:ステップS51)。図7とほぼ同様であるが、ここでは、部品model1が図10に示すような平面の始点端面p11、上側面p12、下側面p13及び平面の終点端面p14のデータを読み出したものとする。
そして、形状解析部1210は、4面の内2端面について重心を算出して、ハーネスモデルデータ格納部1500に始点位置データ及び終点位置データとして格納する(ステップS53)。図11に模式的に示すように、始点端面p11の重心g11と、終点端面p14の重心g14とを既知の方法で算出する。円であれば円の中心が重心となる。
さらに、形状解析部1210は、始点端面p11の径を算出し、ハーネスモデルデータ格納部1500に格納する(ステップS55)。また、形状解析部1210は、側面と始点端面から、始点端面の姿勢データを特定し、ハーネスモデルデータ格納部1500に格納する(ステップS57)。例えば、図12に示すように、2側面のうち面の番号が若い上側面p12と、始点端面p11に隣接するエッジの端点を結び、その線と直角に始点端面p11の輪郭線と交わる方向をY方向と設定し、始点端面p11の法線方向をZ方向と設定し、この2軸から例えば右手系に従ってX方向を特定して設定する。なお、図12左側に示すように、基準となる軸の方向がgX、gY及びgZとして設定されており、姿勢データとしては、これらの方向に対する相対値が算出され、格納される。すなわち、これらの方向と同じ場合には(0,0,0)となる。
さらに、形状解析部1210は、終点端面p14の姿勢データを特定し、ハーネスモデルデータ格納部1500に格納する(ステップS59)。図13Aに示すように端面p11及びp14の法線はそれぞれ部品の外側を向いているが、本実施の形態では、終点端面p14の法線n1を反転させた法線n2を姿勢データとして特定する。始点端面p11と同様に、基準となる方向との相対値を、ハーネスモデルデータ格納部1500に格納する。
また、形状解析部1210は、側面のエッジを用いて形状経路を特定し、その形状経路の長さである形状経路長を算出し、ハーネスモデルデータ格納部1500に格納する(ステップS61)。図14A(斜視図)及び図14B(上面図)に模式的に示すように、例えば上側面p12のエッジe12上の点(例えば単位長毎に分割した点。又はエッジe12上のポリゴンの頂点)を、法線とは反対方向に(すなわち円柱の中心方向に)径(2r)の半分rだけオフセットして、オフセット後の点を連結した線の長さを算出し、それを加算することで形状経路長を算出する。
そして、形状解析部1210は、未処理の部品が中間ファイルに含まれているか判断し(ステップS63)、未処理の部品が存在している場合にはステップS51に戻る。一方、未処理の部品が存在していない場合には、呼出元の処理に戻る。
ここまで処理を実施すると、例えば図15に示すようなモデル位置姿勢データがハーネスモデルデータ格納部1500に格納されることになる。図15の例では、18個の部品が含まれている例であり、各々について、始点位置(X,Y,Z)と、始点姿勢データ(RX,RY,RZ)と、終点位置(X,Y,Z)と、終点姿勢データ(RX,RY,RZ)と、径と、形状経路長とが登録されるようになっている。位置データについては絶対座標値である。また、始点位置及び始点姿勢データのセットと終点位置及び終点姿勢データのセットとは制御点候補データである。制御点を算出するのに用いられ、又は制御点としてそのまま用いられる場合もある。径は端面を規定するデータである。また、形状経路長は、制御点候補間の経路候補を表すデータである。制御点間の区間長を算出するのに用いられ、又は形状経路長がそのまま区間長として用いられる場合もある。
図8の処理の説明の戻って、次に、統合処理部1220は、連続形状経路生成処理を実施する(ステップS35)。この処理は、部品に分割されているが、同じワイヤについての部品と推定される部品を収集して統合するための処理である。連続形状経路生成処理については、図16乃至図18を用いて説明する。
統合処理部1220は、モデル位置姿勢データから絶対座標原点に最も近い部品を抽出する(図16:ステップS71)。そして、統合処理部1220は、抽出された部品の終点端面の位置、姿勢及び径と、始点端面の位置、姿勢及び径と一致する部品を、モデル位置姿勢データにおいて探索して抽出する(ステップS73)。図17に模式的に示すように、部品m100の終点端面p104の位置、姿勢及び径と、部品m200の始点端面p201の位置、姿勢及び径と一致する部品m200を探索する。
ステップS71で部品が抽出できた場合(ステップS75:Yesルート)には、統合処理部1220は、抽出された部品を、連続形状経路の要素として、ハーネスモデルデータ格納部1500に格納する(ステップS76)。そしてステップS73に戻る。
一方、ステップS71で部品が抽出できない場合(ステップS75:Noルート)、ステップS76で連続形状経路の要素として抽出部品を登録していれば、当該連続形状経路についての部品登録をやめて、ステップS71及びS73で抽出された部品を検索対象から除外する。その後、統合処理部1220は、次に原点に最も近い部品を抽出する(ステップS77)。そして、ステップS77で部品が抽出できた場合(ステップS79:Yesルート)には、ステップS73に戻る。一方、ステップS77で部品が抽出できない、すなわち全ての部品について処理した場合(ステップS79:Noルート)には、呼出元の処理に戻る。
このような処理を実施することで、ワイヤ毎に部品がまとめられ、連続形状経路データとして、図18に示すようなデータが、ハーネスモデルデータ格納部1500に格納される。図18の例では、連続形状経路の識別子と、径と、その連続形状経路の要素である部品の識別子とが登録されるようになっている。この例では、10本のワイヤが特定されている。なお、1つの連続形状経路に1つの部品が登録される場合もある。径のデータについては、例えば、最初に連続形状経路のデータを図18のテーブルに登録する際に、モデル位置姿勢データから読み出したデータを登録する。
図8の処理の説明に戻って、次に、アセンブリ構築部1230は、内包関係抽出処理を実施する(ステップS37)。内包関係抽出処理については、図19乃至図21を用いて説明する。
内包関係抽出処理は、図19に模式的に示すように、連続形状経路s303の始点端面p303と同一の平面上(姿勢データ及び位置データから判断)に終点端面を有する他の連続形状経路であって、連続形状経路s303の始点端面p303内に内包される終点端面を有する連続形状経路を探索するものである。図19の例では、分かりやすいように離して配置されているが連続形状経路s301及びs302が該当する。
具体的には、アセンブリ構築部1230は、連続形状経路データにおいて未処理の連続形状経路を1つ特定する(図20:ステップS81)。そして、アセンブリ構築部1230は、連続形状経路データ及びモデル位置姿勢データから、特定された連続形状経路の始点の姿勢データと一致する終点姿勢データを有する連続形状経路を探索し、抽出する(ステップS83)。具体的には、連続形状経路データから1つずつ他の連続形状経路の終点側の部品を特定し、当該終点側の部品の終点における姿勢データをモデル位置姿勢データから特定して、特定された連続形状経路の始点の姿勢データと比較する。1つも同じ姿勢の部品がない場合もあれば、複数の部品が抽出される場合もある。
同一の姿勢データを有する他の連続形状経路が抽出されなかった場合には(ステップS85:Noルート)、ステップS93に移行する。一方、同一姿勢データを有する他の連続形状経路が抽出された場合には(ステップS85:Yesルート)、アセンブリ構築部1230は、径が大きい方の連続形状経路の端面(始点端面又は終点端面)と同一平面上に他方の連続形状経路の端面の重心(モデル位置姿勢データに含まれる始点又は終点)が含まれ且つその径の端面内に他方の連続形状経路の端面が含まれるか確認する(ステップS87)。図19で示したように、連続形状経路s303の始点端面p303に、連続形状経路s301及びs302の終点端面p301及びp302が含まれるのかを、連続形状経路s303の始点位置及び径で特定される範囲内に、連続形状経路s301の終点位置及び径で把握される終点端面が入っているか、連続形状経路s302の終点位置及び径で把握される終点端面が入っているかをチェックする。
このような条件を満たす他の連続形状経路がなければ(ステップS89:Noルート)、ステップS93に移行する。一方、このような条件を満たす他の連続形状経路が抽出されれば(ステップS89:Yesルート)、アセンブリ構築部1230は、特定された連続形状経路と、抽出された他の連続形状経路とについて内包関係を、ハーネスモデルデータ格納部1500に格納する(ステップS91)。
例えば、ハーネスモデルデータ格納部1500には図21に示すような内包関係データが登録される。図21の例では、終点側の連続形状経路の識別子と、始点側の連続形状経路の識別子と、いずれが包含しているのかを表すデータとを登録するようになっている。
例えば、連続形状経路s303がSection4で、連続形状経路s301がSection2であり、連続形状経路s302がSection3である場合には、図21のうち上2行のレコードが登録される。すなわち、終点側の連続形状経路がSection2で、始点側の連続形状経路がSection4と登録されると共に、包含する方は連続形状経路Section4の始点側であるから包含側を表すデータ「Section4-start」も登録される。また、終点側の連続形状経路がSection3で、始点側の連続形状経路がSection4と登録されると共に、包含する方は連続形状経路Section4の始点側であるから包含側を表すデータ「Section4-start」も登録される。
そして、アセンブリ構築部1230は、連続形状経路データにおいて未処理の連続形状経路が存在するか判断する(ステップS93)。未処理の連続形状経路が存在する場合にはステップS81に戻る。一方、未処理の連続形状経路が存在しない場合には、呼出元の処理に戻る。
このように被覆で束ねられたワイヤが、被覆部分から出て行くという状態を抽出することができるようになる。
図8の説明に戻って、アセンブリ構築部1230は、グループ化処理を実施する(ステップS39)。グループ化処理については、図22及び図23を用いて説明する。
まず、アセンブリ構築部1230は、包含関係データにおいて、未処理のレコードを1つ特定する(図22:ステップS101)。そして、アセンブリ構築部1230は、特定されたレコードにおける包含側と同一の包含側を含むレコードが存在しているか判断する(ステップS103)。存在していない場合には、ステップS109に移行する。
一方、特定されたレコードにおける包含側と同一の包含側を含むレコードが存在している場合には、アセンブリ構築部1230は、それらのレコードで表される包含関係をグループとして、ハーネスモデルデータ格納部1500に格納する(ステップS105)。例えば図23に示すようなグループデータを格納する。図23の例では、グループの識別子と、包含側の識別子と、当該包含側に関連する内包関係の識別子とが登録されるようになっている。図21の例では、上2行と下2行がそれぞれグループ化される。
そして、アセンブリ構築部1230は、グループ化されたレコードを処理対象から除外する(ステップS107)。そして、アセンブリ構築部1230は、包含関係データにおいて、未処理のレコードが存在しているか判断する(ステップS109)。未処理のレコードが存在している場合にはステップS101に戻る。一方、未処理のレコードが存在しない場合には、アセンブリ構築部1230は、ハーネスモデルデータ格納部1500に格納されている連続形状経路データ、内包関係データ及びグループデータから、モデル位置姿勢データに基づき連続する物体であるハーネスアセンブリを特定して、ハーネスアセンブリデータを生成し、ハーネスモデルデータ格納部1500に格納する(ステップS111)。そして、呼出元の処理に戻る。
例えば、図18に示した連続形状経路データにおいて、連続形状経路Section1は、図21に示した包含関係データに含まれないので、1つのハーネスアセンブリであると判断して、登録する。連続形状経路Section7及びSection8についても同様である。
一方、連続形状経路Section2及びSection3は、図21に示した内包関係データの終点側に含まれ、当該内包関係データにおける内包関係の識別子が、図23に示したグループデータでグループ化されているため、グループを優先して関係を特定する。同様に、連続形状経路Section5及びSection6も、内包関係データの始点側に含まれ、当該内包関係データにおける内包関係の識別子が、グループデータでグループ化されているため、グループを優先して関係を特定する。
グループデータにおいて、包含側の識別子に含まれる連続形状経路が同一のグループを特定すると、グループGroup1及びGroup2が特定され、それらは包含側であるSection4の両端に接続されるグループであることが特定される。従って、Group1、Section4、Group2という順番で接続されているハーネスとして、登録する。
そうすると、例えば図24に示すようなハーネスアセンブリデータがハーネスモデルデータ格納部1500に格納される。図24の例では、ハーネスアセンブリの識別子と、当該ハーネスアセンブリに含まれる連続形状経路又は連続形状経路のグループとが登録されるようになっている。
以上のような処理を実施することで、一体化されているハーネスアセンブリを特定することができたことになる。但し、被覆を用いずに複数のワイヤを結束する場合もある。
図8の処理の説明に戻って、アセンブリ構築部1230は、内包関係が無く全区間同一経路の連続形状経路を探索し、存在すれば一致連続経路として、ハーネスモデルデータ格納部1500に格納する(ステップS41)。
例えば、図24に示すようなハーネスアセンブリデータにおいて、グループの識別子が登録されているレコードは内包関係があるので除外して、それ以外のハーネスアセンブリについて、モデル位置姿勢データに含まれる始点位置及び始点姿勢データから始点側が同一平面上にある複数のハーネスアセンブリを抽出して、複数のハーネスアセンブリが存在する場合には、そのハーネスアセンブリの中から、終点側も同様に同一平面上にあるハーネスアセンブリを抽出すればよい。
図24の場合、ハーネスアセンブリHarness5及びHarness6は、それぞれ連続形状経路Section9及びSection10に該当する。そして、図18の連続形状経路データから、始点側の部品Model17と部品Model18とが特定される。さらに、図15のモデル位置姿勢データから、部品Model17の始点位置(30,0,0)及び始点姿勢(0,0,0)が特定され、部品Model18の始点位置(30,1,0)及び(0,0,0)が特定されて、最初の条件を満たすと判断される。また、図18の連続形状経路データから、終点側の部品Model17と部品Model18とが特定される。さらに、図15のモデル位置姿勢データから、部品Model17の終点位置(30,0,100)及び終点姿勢(0,0,0)が特定され、部品Model18の終点位置(30,1,100)及び(0,0,0)が特定されて、2番目の条件も満たすと判断される。すなわち、図25に模式的に示すように、連続形状経路Section9及びSection10は、全区間同一経路であることが分かる。このような全区間同一経路となっているハーネスアセンブリは同一のコネクタに接続されているワイヤ群であると推定される。
従って、図26に示すようなレイアウトデータを格納する。図26の例では、一致連続経路の識別子と、抽出された連続形状経路の識別子とを登録するようになっている。さらに、ハーネスアセンブリデータにも、このように抽出された関係を登録しておく。すなわち、図24に示したハーネスアセンブリについても、図27に示すように更新する。すなわち、別個のハーネスアセンブリとして識別されていた状態から、一体のものとして2つのハーネスアセンブリを統合する。
その後、制御点データ生成部1240は、制御点生成処理を実施する(ステップS43)。制御点生成処理については、図28乃至図33を用いて説明する。
まず、制御点データ生成部1240は、ハーネスアセンブリデータにおいて、未処理のハーネスアセンブリを1つ特定する(図28:ステップS121)。そして、制御点データ生成部1240は、特定されたハーネスアセンブリに内包関係が含まれているか又は一致連続経路であるかを判断する(ステップS123)。例えば、図27の例では、ハーネスアセンブリHarness2の場合には、グループの識別子が含まれているので、このような場合には条件を満たしていることになる。ハーネスアセンブリに内包関係が含まれる場合又は一致連続経路の場合には、端子Aを介して図30の処理に移行する。
例えば、ハーネスアセンブリHarness1を処理する場合には、図4に示すようなハーネスアセンブリであるから、条件を満たさないと判断される。なお、図4において、s1はここでは連続経路形状Section1であり、m1はここでは部品Model1であり、m2はここでは部品Model2であり、m3はここでは部品Model3である。
特定されたハーネスアセンブリに内包関係が含まれておらず且つ一致連続経路でもないと判断された場合には、制御点データ生成部1240は、特定されたハーネスアセンブリに含まれる連続形状経路の部品の端面で制御点を設定する(ステップS125)。図4の例では、部品Model1乃至Model3の始点及び終点の位置データ及び姿勢データを、モデル位置姿勢データから抽出して、ハーネスモデルデータ格納部1500に格納する。
さらに、制御点データ生成部1240は、制御点間の区間長、各部品の端面における重心の、制御点からのオフセット、各部品の始点から終点までの経路長及び部品の径を算出して、ハーネスモデルデータ格納部1500に格納する(ステップS127)。
なお、制御点間の区間長は、複数の部品又は連続形状経路が束ねられている状態であれば、それらの経路長の平均値である。図4の例では1本しかないので、部品の経路長と同じ値となる。さらに、各部品の端面における重心の、制御点からのオフセットは、端面における重心と制御点が異なっている場合には値が算出されるが、図4の例では一致しているので(0,0,0)となる。経路長は、部品の経路長及び部品の径は、元々の値と同じである。これによって、図5に示すようなデータが生成され、ハーネスモデルデータ格納部1500に格納される。
そして、制御点データ生成部1240は、ハーネスアセンブリデータにおいて、未処理のハーネスアセンブリが存在しているか判断する(ステップS129)。未処理のハーネスモデルが存在する場合には、ステップS121に戻る。一方、未処理のハーネスアセンブリが存在しない場合には、呼出元の処理に戻る。
次に、端子Aの後の処理を、図29乃至図32を用いて説明する。例えば、図29に示すようなハーネスアセンブリHarness2について処理する場合を考える。ハーネスアセンブリHarness2は、図27、図23、図15及び図18から、連続形状経路Section2,Section3,Section4,Section5及びSection6を含む。各連続形状経路は、複数の部品を含む場合もある。
まず、制御点データ生成部1240は、原点に近い順に、処理に係るハーネスアセンブリにおいて、未処理の連続形状経路を1つ特定する(図30:ステップS131)。そして、制御点データ生成部1240は、特定された連続形状経路に含まれる未処理の部品を1つ特定する(ステップS133)。そして、制御点データ生成部1240は、特定された部品の始点側において、同一姿勢且つ同一平面上の端面を有する他の部品を探索する(ステップS135)。図29の場合、連続形状経路Section2の部品Model4の始点端面の位置データ及び姿勢データに基づき、同一姿勢及び同一平面上の他の部品を探索すると、図15のモデル位置姿勢データにおいて連続形状経路Section3の部品Model5の始点端面が該当することが分かる。
ステップS135の探索において該当する部品が見つからなかった場合には(ステップS137:Noルート)、制御点データ生成部1240は、特定された部品の始点端面の重心を制御点に設定し、当該制御点のデータを、ハーネスモデルデータ格納部1500に格納する(ステップS139)。
この場合には、特定された部品の始点端面の重心をそのまま制御点に設定するので、制御点の位置データ及び姿勢データは同じデータである。また、区間長も部品の経路長と同じになる。さらに、当該制御点に関連する連続経路形状のデータについても、位置及び姿勢については制御点からの、重心のオフセットが「0」であり、形状経路長及び径は、その部品の値そのものになる。そして、処理は端子Bを介して図33の処理に移行する。
一方、ステップS135の探索において該当する部品が見つかった場合には(ステップS137:Yesルート)、制御点データ生成部1240は、同一姿勢且つ同一平面上と判断された、複数の部品の端面における重心から、それらの重心を算出し、処理に係る端面の姿勢データと共に、ハーネスモデルデータ格納部1500に格納する(ステップS141)。図31に示すように、部品m401の端面の重心g401と、部品m402の端面の重心g402との端面の重心g403を算出する。姿勢データについては、同一なのでそのままハーネスモデルデータ格納部1500に格納する。図29の例では、連続形状経路Section2の部品Model4の始点端面の位置データと連続形状経路Section3の部品Model5の始点端面の位置データとから、重心を算出する。
また、制御点データ生成部1240は、上記複数の部品の経路長から区間長を算出し、ハーネスモデルデータ格納部1500に格納する(ステップS142)。例えば、経路長の平均値にて区間長を算出する。部品Model4とModel5の場合には、経路長が同じであるから、区間長も同じ値になる。
さらに、制御点データ生成部1240は、上記複数の部品の各々について、制御点位置からの重心のオフセット、経路長及び径のデータを、ハーネスモデルデータ格納部1500に格納する(ステップS143)。これによって、制御点に関連する連続経路形状(又は部品)のデータを抽出することができるようになる。そして、処理は端子Bを介して図33の処理に移行する。
例えば、図32に示すようなハーネスモデルデータが生成されるようになる。図32の例では、制御点毎に、制御点位置データと、制御点姿勢データと、区間長とが登録されるようになっている。さらに、制御点毎に、関連する部品又は連続形状経路のデータとして、制御点からの、重心のオフセット値と、形状経路長と、径とが登録されるようになっている。上で説明した例では、1番目の制御点についてのデータが、登録される例を示している。
図33の処理の説明に移行して、制御点データ生成部1240は、特定された部品の終点側において、同一平面且つ同一姿勢の端面を有する他の部品を探索する(ステップS145)。このような条件を満たす他の部品が存在しない場合には(ステップS147:Noルート)、特定された部品の終点端面の重心を制御点に設定し、当該重心のデータ及び姿勢のデータを登録する(ステップS149)。そしてステップS157に移行する。
図29の例では、連続形状経路Section5の部品Model9と、連続形状経路Section6の部品Model10の場合が、ステップS149で処理される。これらは末端の制御点であるから、部品Model9及びModel10の終点端面の重心の位置データ及び姿勢データがそれぞれ制御点5c及び6cの位置データ及び姿勢データとして登録される。終点側の場合には区間長は登録されない。また、当該制御点に関連する重心のオフセット値は(0,0,0)であり、末端であるから形状経路長も0であり、径は該当する値が登録される。
一方、ステップS145の条件を満たすような他の部品が存在する場合には、制御点データ生成部1240は、当該端面について内包関係が存在しているか判断する(ステップS151)。具体的には、特定された部品の終点端面の重心が他の連続形状経路の始点端面に内包されているか、又は他の部品又は連続形状経路の始点端面を包含しているか否かを判断する。この判断については、重心位置及び径の大きさから判断する。
内包関係が存在していない場合には、径が同じ連結している部品が見つかったケース、図25に示すように複数本のワイヤが並列して配置されている場合の末端部分のケース、複数本のワイヤについて径が同じ連結している部品が見つかったケースのいずれかである。この場合には、制御点データ生成部1240は、同一姿勢且つ同一平面上と判断された、複数の部品の端面における重心から、それらの重心を算出し、処理に係る端面の姿勢データと共に、ハーネスモデルデータ格納部1500に格納する(ステップS153)。上で述べた3つのケースのうち最初の場合には、重心データ及び姿勢データは同じになる。残りの2つのケースの場合には、ステップS141と同じである。そしてステップS157に移行する。
一方、内包関係が存在している場合には、制御点データ生成部1240は、包含する側の重心を制御点に設定し、姿勢データと共にハーネスモデルデータ格納部1500に格納する(ステップS155)。図29の場合には、連続形状経路Section4の始点端面が、連続形状経路Section2及びSection3の終点端面を包含するので、この場合には、連続形状経路Section4の始点端面についての重心データ及び姿勢データを、ハーネスモデルデータ格納部1500に格納する。なお、包含される側の端面の重心と、包含する側の端面の重心とから、新たに重心を算出して制御点位置として設定するようにしても良い。そしてステップS157に移行する。
その後、制御点データ生成部1240は、処理に係る複数の部品の各々について、制御点位置からの重心のオフセット、経路長及び径のデータを、ハーネスモデルデータ格納部1500に格納する(ステップS157)。経路長については、終点端面の方には0を設定するが、始点端面の方については部品の形状経路長を設定する。これによって、制御点に関連する連続経路形状(又は部品)のデータを抽出することができるようになる。
なお、区間長を設定していない部分があるが、1つの部品のみである場合には経路長と同じ数値を設定し、複数の部品が束ねられている場合には形状経路長の平均値を設定するようにしてもよい。
図29の例では、図32に示したハーネスモデルデータの2番目の制御点c2については、関係する3つの連続形状経路(すなわち部品)について、それらの連続形状経路についてのデータが登録される。
その後、制御点データ生成部1240は、処理の中で特定された連続形状経路において、両端面のうち少なくともいずれかが未処理の部品が存在しているか判断する(ステップS159)。図29の例であれば、連続形状経路Section4の部品Model6の終点端面が未処理となっている。未処理となっている端面を有する部品が存在する場合には、制御点データ生成部1240は、未処理の端面は始点端面であるか判断する(ステップS161)。両方の場合には始点端面を優先する。未処理の端面が始点端面である場合には、端子Dを介してステップS135に戻る。
一方、未処理の端面が始点端面ではない場合には、端子Bを介してステップS145に戻る。さらに、処理の中で特定された連続形状経路において、未処理の端面を有する部品が存在しない場合には、制御点データ生成部1240は、両端面の少なくともいずれかが未処理の連続形状経路が存在するか判断する(ステップS163)。存在する場合には、その連続形状経路を処理対象に切り替えた上で、ステップS161に移行する。一方、存在しない場合には、端子Cを介して図28の処理に戻る。
図29の例では、次に、連続形状経路Section4の部品Model6の終点端面についての処理に移行する。この場合、連続形状経路Section5の部品Model7と連続形状経路Section6の部品Model8の始点端面について内包関係が検出されるので、ステップS155及びS157において処理が行われて、図32のハーネスモデルデータにおいては、3番目の制御点c3についてのデータが設定される。さらに、部品Model7及びModel8の終点端面について処理する場合には、同一平面且つ同一姿勢の端面が存在するが、内包関係は存在しないと判断されて、ステップS153及びS157で処理が行われて、制御点c4についてのデータが設定される。さらに、部品Model9及び部品Model10の終点端面の処理を行うが、この場合、いずれについても、同一平面且つ同一姿勢の端面を有する他の部品は見つからないので、それぞれについてステップS149及びS157で処理されて、制御点のデータが設定される。
以上のような処理を実施することで、1本のワイヤであっても、被覆がなされているワイヤであっても、コネクタに接続されている複数のワイヤが並行して含まれるような場合においても、ハーネスアセンブリ毎に、ハーネスモデルデータが生成されて、ハーネスモデルデータ格納部1500に格納されることになる。
ハーネスモデルデータに含まれる制御点位置とその姿勢データ並びに区間長又は経路長のデータがあれば、設計検証装置では柔軟物として処理することができるようになる。
図8の処理の説明に戻って、次に、結束区間処理部1250は、結束区間処理を実施する(ステップS45)。結束区間処理については図34A乃至図36を用いて説明する。
図34Aに模式的に示すように、内包関係が無い場合においても、結束点において複数のハーネスアセンブリを結束させる場合もある。図34Aの例では、ハーネスアセンブリHarness3とハーネスアセンブリHarness4との一部が同一区間(すなわち結束点1及び2の間)となっている。具体的には、図27、図15及び図18のデータから、部品Model12とModel15が同一区間となっていることが分かる。このような結束区間については、別途以下に示すようなデータを生成する。
すなわち、結束区間処理部1250は、図27に示すようなハーネスアセンブリデータにおいて未処理のハーネスアセンブリを特定する(図34B:ステップS171)。そして、結束区間処理部1250は、特定されたハーネスアセンブリについてのハーネスモデルデータにおいて、未処理の制御点を1つ特定する(ステップS173)。その後、結束区間処理部1250は、ハーネスモデルデータ格納部1500において、特定された制御点と同一平面且つ同一姿勢の制御点を含む他のハーネスアセンブリを探索する(ステップS175)。条件に合致する他のハーネスアセンブリが存在していない場合(ステップS177:Noルート)には、端子Eを介して図35の処理に移行する。
一方、条件に合致する他のハーネスアセンブリが存在する場合(ステップS177:Yesルート)には、結束区間処理部1250は、処理に係る制御点と検出された制御点との制御点位置の重心位置を算出し、メインメモリなどの記憶装置に格納する(ステップS179)。これで区間の仮の始点が特定されたことになる。
さらに、結束区間処理部1250は、特定されたハーネスアセンブリにおける次の制御点と同一平面且つ同一姿勢の制御点が、ステップS175で検出された他のハーネスアセンブリで出現するかチェックする(ステップS181)。最小限1部品分の長さで一致するかを判断する。ここで条件が満たされないと判断される(ステップS183:Noルート)と、区間の終点が検出できないので、ステップS179で生成したデータを破棄して、端子Fを介して図35の処理に移行する。一方、条件が満たされたと判断される(ステップS183:Yesルート)と、端子Fを介して図35の処理に移行する。
図35の処理の説明に移行して、端子Fの後に、結束区間処理部1250は、処理に係る制御点と検出された制御点との制御点位置の重心位置を算出し、メインメモリなどの記憶装置に格納する(ステップS185)。これで区間の仮の終点が特定されたことになる。
そして、結束区間処理部1250は、存在が確定した結束制御点のデータを生成して、ハーネスモデルデータ格納部1500に格納する(ステップS187)。最初にステップS187を実行する場合には、2点の結束制御点のデータが登録されることになる。始点の結束制御点については、ステップS179で算出された重心の位置データと、ステップS175で使用した姿勢データと、上で述べた条件を満たす制御点間の経路長(又は区間長)の平均値である区間長とを生成して登録する。さらに、関連するハーネスアセンブリにおける制御点の、結束制御点からのオフセットと、当該制御点の識別子とを含むデータを生成して登録する。次の結束制御点については、ステップS185で算出された重心の位置データと、ステップS181又はS189で使用した姿勢データと、上で述べた条件を満たす制御点間の経路長(又は区間長)の平均値である区間長とを生成して登録する。但し、次の結束制御点が見つかっていない場合には、区間長は計算できないので、1つ手前の区間について区間長を計算する。
例えば、図36に示すような結束制御点データが、ハーネスモデルデータ格納部1500に格納される。図36の例では、結束制御点毎に、結束制御点位置データと、結束制御点姿勢データと、区間長とが登録される。さらに、関連する各ハーネスアセンブリについて結束制御点からの制御点のオフセット値及びハーネスアセンブリにおける該当制御点識別子とが登録されるようになっている。
図34Aの例では1部品区間で一致する区間が終わってしまうので、ステップS187を最初に実行すると、2つの結束制御点のデータが登録されて、処理が終わってしまう。
その後、結束区間処理部1250は、特定されたハーネスアセンブリにおけるさらに次の制御点と同一平面且つ同一姿勢の制御点が、ステップS175で検出された他のハーネスアセンブリで出現するかチェックする(ステップS189)。この条件を満たしている場合には、一致する区間が継続したことになるので、ステップS185に戻って処理を行う。一方、この条件を満たしていない場合には、一致区間が終了したことになる。従って、結束区間処理部1250は、未処理の制御点が残っているかを判断する(ステップS193)。未処理の制御点が残っている場合には端子Gを介して図34BのステップS173に戻る。一方、未処理の制御点が残っていない場合には、結束区間処理部1250は、未処理のハーネスアセンブリが存在するか判断する(ステップS195)。未処理のハーネスアセンブリが残っている場合には端子Hを介して図34BのステップS171に戻る。一方、未処理のハーネスアセンブリが残っていない場合には呼出元の処理に戻る。すなわち処理を完了する。
以上のような処理を実施することで、被覆なしで結束されている状態をも取り扱うことができるようになる。
以上述べた本実施の形態に従えば、三次元CADシステム300と設計検証装置1000との間でデータ交換を行う場合においても、設計検証装置1000側に上で述べた機能を持たせることで、設計者の手間を削減でき、スムーズにデータをやりとりできるようになる。
特に、三次元CADシステム300が、ハーネスのデータを単純な1つのソリッドデータとして出力する場合に、当該ソリッドデータから設計検証装置1000において制御点から新たに生成するとすると、経路の近似曲線に沿った形で制御点を配置することになる。そうすると、その都度制御点が異なる位置に配置されると共に、近似曲線に沿った形であるとすると制御点の個数が非常に増加する恐れがある。
しかし上で述べたような本実施の形態に従えば、設計検証装置1000で設定した制御点でハーネス等の柔軟物が分割されて分割された部品単位で、三次元CADシステム300に渡され、三次元CADシステム300からも、同様の部品単位で設計検証装置1000に戻される。そして設計検証装置1000において、部品単位で制御点を設定し直して、部品を上で述べたような処理で統合してゆけば柔軟物を復元でき、制御点が増加したりすることはない。また、連結状態、内包関係、結束状態、分岐なども柔軟に対応できるようになる。
従って、設計検証装置1000と三次元CADシステム300とのデータ交換において手間が削減され、作業に伴うミスをなくすことができる。
さらに、設計検証装置1000と三次元CADシステム300とのデータ交換には、一般的な中間フォーマットの中間ファイルを用いているので、様々な三次元CADシステム300との間でデータ交換ができるようになる。
なお、上の説明ではハーネスを例として説明しているが、柔軟物として扱う紐状又は帯状の物体や、断面形状が一定の物(パイプなど)も対象となる。
また、断面形状は円だけではなく、断面外郭の2点を結ぶ線分が中心を通る多角形であれば、側面を上で述べたような2つに分割できるので、適用可能である。
以上本技術の実施の形態を説明したが、本技術はこれに限定されるものではない。例えば、図1及び図2に示した機能ブロック図は一例であって、必ずしも実際のプログラムモジュールと一致しない場合もある。各処理部で共用する処理を実施するモジュールを用意しておき、各処理部でそのモジュールを呼び出すような構成を採用する場合もある。
さらに、データフォーマットについても一例であり、同様のデータを保持できれば、他のデータフォーマットを採用するようにしても良い。
また、処理フローについても同様の機能を実現できるものであれば、他の処理フローを採用しても良い。特に、処理順番の入れ替えや並列処理についても、処理結果が変わらない限りにおいて可能である。
なお、三次元CADシステム300と、設計検証装置1000とを別のコンピュータで実装しても良いし、同一のコンピュータにて実装するようにしても良い。さらに、それぞれが複数のコンピュータで実現されるような場合もある。
なお、上で述べた三次元CADシステム300及び設計検証装置1000は、コンピュータ装置であって、図37に示すように、メモリ2501とCPU2503とハードディスク・ドライブ(HDD)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティング・システム(OS:Operating System)及び本実施例における処理を実施するためのアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。CPU2503は、アプリケーション・プログラムの処理内容に応じて表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ2501に格納されるが、HDD2505に格納されるようにしてもよい。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエアとOS及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
以上述べた本実施の形態をまとめると、以下のようになる。
本実施の形態に係る方法は、(A)端面と側面とにより形成される紐状又は帯状の複数の部品のデータを格納する第1のデータ格納部に格納されているデータから、複数の部品の各々について、上記端面内の制御点候補についての制御点候補データと上記端面を規定する端面データと制御点候補間の経路候補についての経路候補データとを含む第1のデータを生成して、第2のデータ格納部に格納するステップと、(B)第2のデータ格納部に格納されている同一の制御点候補データ及び同一の端面データを有する部品を探索することで連続する部品を表す連続形状経路のデータを生成し、第2のデータ格納部に格納するステップと、(C)第2のデータ格納部に格納されているデータから、連続形状経路又は当該連続形状経路の集合について、部品の端面部分において決定される制御点のデータと当該制御点間の経路のデータとを含む第2のデータを生成し、第2のデータ格納部に格納するデータ生成ステップとを含む。
このような処理を実施すれば、例えば三次元CADシステムから出力された部品のデータから、設計検証装置において柔軟物を取り扱うための第2のデータが自動的に生成されるので、三次元CADシステムからのデータ復元が容易になり、設計者の手間が削減される。
なお、上で述べた第2のデータが、制御点に関連する連続形状経路についてのデータとを含むようにしてもよい。そして、本方法は、第2のデータ格納部に格納されている第2のデータに含まれる制御点のデータに従って連続経路形状を分割して、分割後の各区間について第2のデータに従った端面と側面とを有する部品のデータを生成し、第1のデータ格納部に格納するステップをさらに含むようにしても良い。
このような処理を実施すれば、例えば設計検証装置で取り扱った柔軟物についての第2のデータから、例えば三次元CADシステムにおいて処理できる部品のデータに変換することができるようになる。すなわち、三次元CADシステムと設計検証装置とのデータ交換が容易になる。
さらに、上で述べたデータ生成ステップが、第2のデータ格納部に格納されている第1のデータから、第1の連続形状経路と当該第1の連続形状経路の第1の端面に包含される第2の端面を有する第2の連続形状経路とを連鎖的に探索して収集することで連続形状経路の集合を特定し、当該連続形状経路の集合についてのデータを、第2のデータ格納部に格納するステップを含むようにしてもよい。このようにすれば被覆を用いて複数のワイヤなどを束ねているような状態に対処することができるようになる。
また、上で述べたデータ生成ステップが、少なくとも第1の連続形状経路の第1の端面についての制御点候補の位置から、制御点の位置を算出するステップと、制御点間において複数の連続形状経路が配置されている場合には、当該複数の連続形状経路についての経路候補データから、制御点間の経路のデータを生成するステップとを含むようにしてもよい。例えば制御点候補の位置の重心を制御点の位置に設定したり、経路候補データに含まれる経路長の平均値を経路のデータとして設定するようにしても良い。
さらに、上で述べたデータ生成ステップが、第2のデータ格納部に格納されている第2のデータから、連続形状経路の集合に含まれない複数の連続形状経路が同一レイアウトになっていることを検出した場合、当該複数の連続形状経路を特定するためのデータを第2のデータ格納部に格納するステップをさらに含むようにしても良い。コネクタに接続されている複数のワイヤのように、同一経路を通る複数の連続形状経路を纏めて管理するようにしても良い。
なお、制御点候補データが制御点候補の法線方向を表すデータを含むようにしても良い。そして、集合特定ステップにおいて、第3の連続形状経路と当該第3の連続形状経路の始点端面と同一平面且つ同一法線方向の始点端面を有する第4の連続形状経路であって、第3の連続形状経路と当該第3の連続形状経路の終点端面と同一平面且つ同一法線方向の終点端面を有する第4の連続形状経路を探索して、連続形状経路の集合として特定し、当該連続形状経路の集合についてのデータを、第2のデータ格納部に格納するステップを含むようにしてもよい。
また、本方法が、第2のデータ格納部に格納されている第2のデータから、複数の連続形状経路、連続形状経路の複数の集合又は連続形状経路と連続形状経路の集合との組み合わせの一部区間が同一レイアウトになっていることを検出した場合に、当該一部区間に含まれる制御点のデータから、結束制御点のデータを生成し、第2のデータ格納部に格納するステップと、第2のデータ格納部に格納されている第2のデータから、一部区間に含まれている制御点間の経路のデータから、結束制御点間の経路のデータを生成し、第2のデータ格納部に格納するステップとをさらに含むようにしてもよい。例えば、内包関係になく且つ被覆されているわけでもない複数のワイヤが一部区間結束されているような場合にも対処できるようになる。
なお、上で述べたような処理をコンピュータに実施させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブル・ディスク、CD−ROMなどの光ディスク、光磁気ディスク、半導体メモリ(例えばROM)、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。なお、処理途中のデータについては、RAM等の記憶装置に一時保管される。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
端面と側面とにより形成される紐状又は帯状の複数の部品のデータを格納する第1のデータ格納部に格納されているデータから、前記複数の部品の各々について、前記端面内の制御点候補についての制御点候補データと前記端面を規定する端面データと前記制御点候補間の経路候補についての経路候補データとを含む第1のデータを生成して、第2のデータ格納部に格納するステップと、
前記第2のデータ格納部に格納されている同一の制御点候補データ及び同一の端面データを有する部品を探索することで連続する部品を表す連続形状経路のデータを生成し、前記第2のデータ格納部に格納するステップと、
前記第2のデータ格納部に格納されているデータから、前記連続形状経路又は当該連続形状経路の集合について、前記部品の端面部分において決定される制御点のデータと当該制御点間の経路のデータとを含む第2のデータを生成し、前記第2のデータ格納部に格納するデータ生成ステップと、
を、コンピュータに実行させるためのプログラム。
(付記2)
前記第2のデータが、前記制御点に関連する連続形状経路についてのデータとを含み、
前記第2のデータ格納部に格納されている前記第2のデータに含まれる前記制御点のデータに従って前記連続経路形状を分割して、分割後の各区間について前記第2のデータに従った端面と側面とを有する部品のデータを生成し、前記第1のデータ格納部に格納するステップ、
をさらに、前記コンピュータに実行させるための付記1記載のプログラム。
(付記3)
前記データ生成ステップが、
前記第2のデータ格納部に格納されている前記第1のデータから、第1の連続形状経路と当該第1の連続形状経路の第1の端面に包含される第2の端面を有する第2の連続形状経路とを連鎖的に探索して収集することで前記連続形状経路の集合を特定し、当該連続形状経路の集合についてのデータを、前記第2のデータ格納部に格納するステップ
を含む付記1又は2記載のプログラム。
(付記4)
前記データ生成ステップが、
少なくとも前記第1の連続形状経路の第1の端面についての前記制御点候補の位置から、前記制御点の位置を算出するステップと、
前記制御点間において複数の連続形状経路が配置されている場合には、当該複数の連続形状経路についての前記経路候補データから、前記制御点間の経路のデータを生成するステップと、
を含む付記3記載のプログラム。
(付記5)
前記データ生成ステップが、
前記第2のデータ格納部に格納されている前記第2のデータから、前記連続形状経路の集合に含まれない複数の連続形状経路が同一レイアウトになっていることを検出した場合、当該複数の連続形状経路を特定するためのデータを前記第2のデータ格納部に格納するステップ
をさらに含む付記3記載のプログラム。
(付記6)
前記第2のデータ格納部に格納されている前記第2のデータから、複数の連続形状経路、連続形状経路の複数の集合又は前記連続形状経路と前記連続形状経路の集合との組み合わせの一部区間が同一レイアウトになっていることを検出した場合に、当該一部区間に含まれる制御点のデータから、結束制御点のデータを生成し、前記第2のデータ格納部に格納するステップと、
前記第2のデータ格納部に格納されている前記第2のデータから、前記一部区間に含まれている制御点間の経路のデータから、前記結束制御点間の経路のデータを生成し、前記第2のデータ格納部に格納するステップと、
を、さらに前記コンピュータに実行させるための付記1乃至5のいずれか1つ記載のプログラム。
(付記7)
端面と側面とにより形成される紐状又は帯状の複数の部品のデータを格納する第1のデータ格納部に格納されているデータから、前記複数の部品の各々について、前記端面内の制御点候補についての制御点候補データと前記端面を規定する端面データと前記制御点候補間の経路候補についての経路候補データとを含む第1のデータを生成して、第2のデータ格納部に格納するステップと、
前記第2のデータ格納部に格納されている同一の制御点候補データ及び同一の端面データを有する部品を探索することで連続する部品を表す連続形状経路のデータを生成し、前記第2のデータ格納部に格納するステップと、
前記第2のデータ格納部に格納されているデータから、前記連続形状経路又は当該連続形状経路の集合について、前記部品の端面部分において決定される制御点のデータと当該制御点間の経路のデータとを含む第2のデータを生成し、前記第2のデータ格納部に格納するデータ生成ステップと、
を含み、コンピュータにより実行される設計支援方法。
(付記8)
前記第2のデータが、前記制御点に関連する連続形状経路についてのデータとを含み、
前記第2のデータ格納部に格納されている前記第2のデータに含まれる前記制御点のデータに従って前記連続経路形状を分割して、分割後の各区間について前記第2のデータに従った端面と側面とを有する部品のデータを生成し、前記第1のデータ格納部に格納するステップ、
をさらに含む付記7記載の設計支援方法。
(付記9)
端面と側面とにより形成される紐状又は帯状の複数の部品のデータを格納する第1のデータ格納部と、
前記第2のデータ格納部に格納されているデータから、前記複数の部品の各々について、前記端面内の制御点候補についての制御点候補データと前記端面を規定する端面データと前記制御点候補間の経路候補についての経路候補データとを含む第1のデータを生成して、第2のデータ格納部に格納する第1の処理部と、
前記第2のデータ格納部に格納されている同一の制御点候補データ及び同一の端面データを有する部品を探索することで連続する部品を表す連続形状経路のデータを生成し、前記第2のデータ格納部に格納する第2の処理部と、
前記第2のデータ格納部に格納されているデータから、前記連続形状経路又は当該連続形状経路の集合について、前記部品の端面部分において決定される制御点のデータと当該制御点間の経路のデータとを含む第2のデータを生成し、前記第2のデータ格納部に格納する第2の処理部と、
を有する設計検証装置。
(付記10)
前記第2のデータが、前記制御点に関連する連続形状経路についてのデータとを含み、
前記第2のデータ格納部に格納されている前記第2のデータに含まれる前記制御点のデータに従って前記連続経路形状を分割して、分割後の各区間について前記第2のデータに従った端面と側面とを有する部品のデータを生成し、前記第1のデータ格納部に格納する第4の処理部、
をさらに有する付記9記載の設計検証装置。