(57)【要約】【課題】ハーネス曲線のバウンディングボックスの体積を小さくして、無駄の少ない干渉計算を行うこと。【解決手段】ハーネスを組み込まれた設計対象装置における該ハーネスの経路設計を支援するハーネス設計支援装置であって、前記ハーネスの曲線と前記ハーネス以外の部品の３次元モデルデータを予め格納する格納手段２０と、前記３次元モデルデータの前記ハーネス曲線と前記部品間の干渉をバウンディングボックスを作成して計算する干渉計算部１４とを備え、前記干渉計算部１４は、前記バウンディングボックス作成時に座標変換により前記ハーネス曲線のバウンディングボックスの体積を小さくし、前記部品に対しても同様の座標変換を行い、その後、前記ハーネス曲線と前記部品間の干渉計算を行う。【選択図】図２
2009086842.tif 000002
【特許請求の範囲】
【請求項１】
ハーネスを組み込まれた設計対象装置における該ハーネスの経路設計を支援するハーネス設計支援装置であって、
前記ハーネスの曲線と前記ハーネス以外の部品の３次元モデルデータを予め格納する格納手段と、
前記３次元モデルデータの前記ハーネス曲線と前記部品間の干渉をバウンディングボックスを作成して計算する干渉計算部とを備え、
前記干渉計算部は、前記バウンディングボックス作成時に座標変換により前記ハーネス曲線のバウンディングボックスの体積を小さくし、前記部品に対しても同様の座標変換を行い、その後、前記ハーネス曲線と前記部品間の干渉計算を行うことを特徴としたハーネス設計支援装置。
【請求項２】
前記座標変換により作成する前記ハーネス曲線のバウンディングボックスの角を座標原点に移動することを特徴とする請求項１記載のハーネス設計支援装置。
【請求項３】
前記干渉計算部は、前記ハーネス曲線のバウンディングボックスと前記部品間で干渉があると判定した場合、該干渉があった前記ハーネス曲線を近似多辺形に分割し、該分割した近似多辺形の各線分と前記干渉があった部品間で干渉計算を行うことを特徴とした請求項１又は２記載のハーネス設計支援装置。
【請求項４】
ハーネスを組み込まれた設計対象装置における該ハーネスの経路設計を支援するハーネス設計支援方法であって、
前記ハーネスの曲線と前記ハーネス以外の部品の３次元モデルデータを予め格納する格納手段と、
前記３次元モデルデータの前記ハーネス曲線と前記部品間の干渉をバウンディングボックスを作成して計算する干渉計算部とを備え、
前記干渉計算部で、前記バウンディングボックス作成時に座標変換により前記ハーネス曲線のバウンディングボックスの体積を小さくし、前記部品に対しても同様の座標変換を行い、その後、前記ハーネス曲線と前記部品間の干渉計算を行うことを特徴としたハーネス設計支援方法。
【請求項５】
ハーネスを組み込まれた設計対象装置における該ハーネスの経路設計を支援する機能をコンピュータに実現させるためのハーネス設計支援プログラムであって、
格納手段に格納されている前記ハーネスの曲線と前記ハーネス以外の部品の３次元モデルデータに基づいて、前記ハーネス曲線と前記部品間の干渉をバウンディングボックスを作成して計算する際、前記ハーネス曲線のバウンディングボックス作成時に座標変換により前記ハーネス曲線のバウンディングボックスの体積を小さくし、前記部品に対しても同様の座標変換を行い、その後、前記ハーネス曲線と前記部品間の干渉計算を行う干渉計算部として、コンピュータを機能させるためのハーネス設計支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
機械製品や装置（設計対象装置）の開発において、ワイヤ、ハーネス、ケーブルなどの線状柔軟物の配線経路を決めることをハーネス設計と呼び、このハーネス設計に関して、計算機上のデジタルモックアップ（模型）上で仮想的にハーネスの形状をモデリングし、ハーネスの経路や長さを設計するシステムをハーネス設計支援システムと呼ぶ。
【０００２】
図１はハーネス設計の説明図である。図１において、計算機上のデジタルモックアップ上で仮想的にハーネスの形状をモデリングしたものである。機械製品や装置の開発において、複数のワイヤやケーブル等のハーネスを部品モデル間で配線する場合、ハーネスの経路や長さを設計する必要がある。本発明は、このようなハーネス設計を支援する技術であるハーネス設計支援装置及び方法及びプログラムに関する。
【背景技術】
【０００３】
従来技術としては以下のようなものが存在する。
【０００４】
ハーネス設計では、ハーネスが他部品と干渉しないように経路を決めるので、ハーネス設計支援システムでハーネスモデルと部品モデルの干渉計算を行う。この干渉計算を高速に処理することが必要であった。
【０００５】
ハーネスモデルとしては、ベジエ曲線などの自由曲線を用いてハーネス形状をモデリングすることが多い（特許文献１参照）。また、部品モデルは、形状の表面を三角形ポリゴンの集合で表現することが多い。この場合、干渉計算は自由曲線と三角形ポリゴンの間の交差計算（衝突判定）を行うことになる。自由曲線と三角形の交差計算は処理量が多いので、自由曲線を多辺形で近似し、線分と三角形の交差計算とすることで処理量を減らすことができる。
【０００６】
図８は従来の線分を用いる干渉計算方法の説明図である。図８において、上図のハーネスモデルとしての自由曲線Ａと部品モデルＤの交差（干渉）計算を行う必要がある。この干渉計算を高速に処理するため、下図のように、自由曲線Ａは線分ａ（ａ１、ａ２、・・・）の多辺形（線分数：Ｎ）で近似し、部品モデルＤは、形状の表面を三角形ポリゴンｄ（ｄ１、ｄ２、・・・）の集合（三角形数：Ｍ）で表現する。交差（干渉）計算は、各線分ａと各三角形ｄで行う。これによる計算量は、Ｎ×Ｍとなる。
【０００７】
また、自由曲線と部品の間で粗い干渉計算を行う方法として、それぞれを囲む最小の直方体であるバウンディングボックス（Bounding Box）を生成し、バウンディングボックスの間で干渉を計算することで、干渉計算対象を絞ることができ、計算量を減らすことができる（特許文献２参照）。
【０００８】
図９は従来のバウンディングボックスによる干渉計算の説明図である。図９において、自由曲線ＡのバウンディングボックスをＢ３とし、部品モデルＤのバウンディングボックスをＢ４とする。そして、バウンディングボックスＢ３とＢ４の間で交差（干渉）計算を行う。なお、バウンディングボックスの算出は、自由曲線又は部品の構成点のそれぞれの座標（ｘ，ｙ，ｚ）の最大値及び最小値を算出し、該最大値及び最小値の組み合わせからなる直方体（各座標軸に平行な）を生成すればよい。
【０００９】
このような、従来例により、次のような干渉計算を行うことができる。図１０は従来の干渉計算の説明図である。図１０において、先ず、自由曲線ＡのバウンディングボックスＢ３と部品モデルＤのバウンディングボックスＢ４を作成し、バウンディングボックスＢ３とＢ４の間で交差（干渉）計算を行う。この計算で、交差すると判定された自由曲線Ａと部品モデルＤについて、自由曲線Ａは線分ａ（ａ１、ａ２、・・・）の多辺形（線分数：Ｎ）で近似し、部品モデルＤは、形状の表面を三角形ポリゴンｄ（ｄ１、ｄ２、・・・）の集合（三角形数：Ｍ）で表現する。交差（干渉）計算は、各線分ａと各三角形ｄで行う。これによる計算量は、Ｎ×Ｍとなるが、図１０の上段のバウンディングボックスの交差計算で交差なしと判定された自由曲線Ａと部品モデルＤについては、線分を用いる干渉計算を行う必要はなく全体としての計算量を少なくすることができる。
【００１０】
図１１は従来の干渉計算の処理フローである。以下、図１１の処理Ｓ２１〜Ｓ２９に従って説明する。ここで、ハーネスモデルデータを曲線データとし、部品モデルデータをポリゴンデータとする。
【００１１】
Ｓ２１：ハーネス設計支援装置にハーネスモデルデータを入力して、処理Ｓ２２に移る。
【００１２】
Ｓ２２：ハーネス設計支援装置に部品モデルデータを入力して、処理Ｓ２３に移る。
【００１３】
Ｓ２３：ハーネス設計支援装置は、ハーネスモデルのバウンディングボックス(Bounding Box)を計算し、処理Ｓ２４に移る。
【００１４】
Ｓ２４：ハーネス設計支援装置は、部品モデルのバウンディングボックス(Bounding Box)を計算し、処理Ｓ２５に移る。
【００１５】
Ｓ２５：ハーネス設計支援装置は、ハーネスモデルのバウンディングボックスと部品モデルのバウンディングボックスの間で、交差計算をし、処理Ｓ２６に移る。
【００１６】
Ｓ２６：ハーネス設計支援装置は、ハーネスモデルのバウンディングボックスと部品モデルのバウンディングボックスの間で交差があるかどうかを判断する。この判断で、交差がある場合は処理Ｓ２７に移り、ない場合は交差なしと判定する。
【００１７】
Ｓ２７：ハーネス設計支援装置は、ハーネスモデルを多辺形に変換し、処理Ｓ２８に移る。なお、ハーネスモデルを多辺形に変換する時、非常に細かく分割すれば、より正確な交差計算ができることになる。
【００１８】
Ｓ２８：ハーネス設計支援装置は、ハーネスモデルの多辺形を構成する各辺と部品モデルの表面を構成する各ポリゴンの間で、交差計算をし、処理Ｓ２９に移る。
【００１９】
Ｓ２９：ハーネス設計支援装置は、ハーネスモデルの多辺形を構成する各辺と部品モデルの表面を構成する各ポリゴンの間で交差があるかどうかを判断する。この判断で、交差がある場合は交差ありと判定し、交差がない場合は交差なしと判定する。
【特許文献１】特許第３０５９４９５号公報
【特許文献２】特開２００１−２２２５５９号公報
【発明の開示】
【発明が解決しようとする課題】
【００２０】
上記従来のものは次のような課題があった。
【００２１】
干渉計算を、自由曲線を多辺形で近似し、線分と三角形ポリゴンの間で行う場合は、多辺形の辺の数をＮ、三角形の数をＭとすると、Ｎ×Ｍの回数だけ交差計算する必要があるので、ハーネス数や部品数、ポリゴン数が多くなると膨大な計算量となっていた。
【００２２】
また、干渉計算を、ハーネスモデルのバウンディングボックスと部品モデルのバウンディングボックスの間で行うものは、通常はワールド座標系（絶対座標系）の直交座標に合わせて直方体を生成するので、自由曲線を直方体で近似した精度は悪いものであった。
【００２３】
本発明はこのような従来の課題を解決し、自由曲線とポリゴンデータ間の交差計算に関して、自由曲線のバウンディングボックスとして無駄の少ないバウンディングボックスを生成するために座標変換を行うことで、無駄の少ない近似を行うことを目的とする。
【課題を解決するための手段】
【００２４】
図２は本発明のハーネス設計支援装置の機能構成を示す説明図である。図２中、１０はＣＰＵ（中央処理装置）、１１はハーネス情報設定部、１２はシミュレーション部、１３は表示制御部、１４は検証部（干渉計算部）、１５は展開部、２０はメモリ（格納手段）、２２は３次元モデルデータ、２３はハーネス情報、３０はディスプレイ、１２１は機構部品位置算出部、１２２はハーネス位置・形状算出部、１２３は三次元像作成部である。
【００２５】
本発明は、上記従来の課題を解決するため、次のように構成した。
【００２６】
（１）：ハーネスを組み込まれた設計対象装置における該ハーネスの経路設計を支援するハーネス設計支援装置であって、前記ハーネスの曲線と前記ハーネス以外の部品の３次元モデルデータを予め格納する格納手段２０と、前記３次元モデルデータの前記ハーネス曲線と前記部品間の干渉をバウンディングボックスを作成して計算する干渉計算部１４とを備え、前記干渉計算部１４は、前記バウンディングボックス作成時に座標変換により前記ハーネス曲線のバウンディングボックスの体積を小さくし、前記部品に対しても同様の座標変換を行い、その後、前記ハーネス曲線と前記部品間の干渉計算を行う。このため、ハーネス曲線のバウンディングボックスの体積が小さく、無駄の少ない干渉計算を行うことができる。
【００２７】
（２）：前記（１）のハーネス設計支援装置において、前記座標変換により作成する前記ハーネス曲線のバウンディングボックスの角を座標原点に移動する。このため、原点以下（例えば、座標ｘ軸の負の値）では干渉しないため、符号により計算を省略することができる。
【００２８】
（３）：前記（１）又は（２）のハーネス設計支援装置において、前記干渉計算部１４は、前記ハーネス曲線のバウンディングボックスと前記部品間で干渉があると判定した場合、該干渉があった前記ハーネス曲線を近似多辺形に分割し、該分割した近似多辺形の各線分と前記干渉があった部品間で干渉計算を行う。このため、線分と部品間での干渉計算の計算量を少なくすることができる。
【発明の効果】
【００２９】
本発明は、以下に記載されているような効果がある。
【００３０】
（１）：干渉計算部で、バウンディングボックス作成時に座標変換によりハーネス曲線のバウンディングボックスの体積を小さくし、部品に対しても同様の座標変換を行い、その後、前記ハーネス曲線と前記部品間の干渉計算を行うため、ハーネス曲線のバウンディングボックスの体積が小さく、無駄の少ない干渉計算を行うことができる。
【００３１】
（２）：座標変換により作成する前記ハーネス曲線のバウンディングボックスの角を座標原点に移動するため、原点以下（例えば、座標ｘ軸の負の値）では干渉しないため、符号により計算を省略することができる。
【００３２】
（３）：干渉計算部で、ハーネス曲線のバウンディングボックスと部品間で干渉があると判定した場合、該干渉があった前記ハーネス曲線を近似多辺形に分割し、該分割した近似多辺形の各線分と前記干渉があった部品間で干渉計算を行うため、線分と部品間での干渉計算の計算量を少なくすることができる。
【発明を実施するための最良の形態】
【００３３】
本発明は、ハーネス設計支援において、機械部品の３次元モデルと３次元曲線の間で干渉計算を行う場合に、３次元曲線のバウンディングボックス（Bounding Box）が３次元曲線を無駄なく含むように３次元空間を座標変換する。これにより３次元曲線をバウンディングボックスで近似する精度が向上し、バウンディングボックスを使った干渉計算の絞込みの効果を高めることができるので、干渉計算全体の処理量を減らすことができる。
【００３４】
（１）：ハーネス設計支援装置の説明
図２は本発明のハーネス設計支援装置の機能構成を示す説明図、図３は図２に示すハーネス設計支援装置を実現するためのコンピュータシステムのハードウェア構成を示す説明図である。
【００３５】
図２および図３に示すコンピュータシステム（例えば、パーソナルコンピュータ）１は、ハーネスを組み込まれた設計対象装置（例えば、プリンタ、自動車、工作機械、産業用ロボット等）におけるハーネスの配置設計を支援するための装置として機能するものである。
【００３６】
図３に示すように、コンピュータシステム１においては、ＣＰＵ（中央処理装置）１０とこのＣＰＵ１０に接続されるバスライン５０とが備えられている。バスライン５０には、メモリ（ＲＯＭ，ＲＡＭ等）２０が接続されるとともに、入出力インタフェース５１を介してディスプレイ（例えば、ＣＲＴ、ＬＣＤ、ＰＤＰ等）３０、キーボード４０およびマウス４１が接続されている。また、バスライン５０に、入出力インタフェース５２を介して３次元ＣＡＤ装置６０や外部記憶装置７０が接続されている。
【００３７】
ここで、メモリ２０（または外部記憶装置７０）には、アプリケーションプログラム（ハーネス設計支援プログラム）２１が格納されている。また、メモリ２０は、ＣＰＵ１０がアプリケーションプログラム２１を実行する際のワーキングメモリとしても機能するもので、このメモリ２０には、機構部品の３次元モデルデータ（ポリゴンデータ）２２、ハーネス情報２３などが格納される格納手段である。
【００３８】
ディスプレイ（表示部）３０は、ＣＰＵ１０（後述する表示制御部１３としての機能）によってその表示状態が制御され、ＣＰＵ１０（後述するシミュレーション部１２としての機能）によるシミュレーション結果をハーネスの動作および機構部品の動作として表示するものである。
【００３９】
また、キーボード４０およびマウス（ポインティングデバイス）４１は、ディスプレイ３０における画面を参照したオペレータ（ユーザ）によって操作され、ＣＰＵ１０（コンピュータシステム１）に対して各種指示や各種情報を入力するもので、本実施形態では、例えば、ハーネス情報２３を入力したり、ディスプレイ３０の画面上に表示されたハーネスの形状を操作したりする場合に用いられる。
【００４０】
このとき、ハーネス情報２３としては、ハーネスの始点位置、終点位置および各位置での姿勢（ベクトル情報）のほか、ハーネスの長さ、断面形状、曲率情報、ハーネスモデリング情報（ハーネスを複数の小部品であるハーネスパーツとしてモデル化する際の各種データ）などが含まれ、このようなハーネス情報２３は、例えば、キーボード４０からＣＰＵ１０（後述するハーネス情報設定部１１）に入力されるようになっている。
【００４１】
また、マウス４１を用いて、ディスプレイ３０上に表示された、ハーネスの３次元像をドラッグ操作することにより、ハーネスの形状を変更することができるほか、機構部品の３次元像をドラッグ操作することにより、機構部品（３次元像）の操作量と操作方向がＣＰＵ１０（後述するシミュレーション部１２）に入力されるようになっている。
【００４２】
さらに、３次元ＣＡＤ装置６０は、設計対象装置におけるハーネス以外の機構部品を設計するものである。そして、この３次元ＣＡＤ装置６０による設計結果である、機構部品についての３次元モデルデータ２２は、よりデータ量の少ないポリゴンデータに変換された上で、入出力インタフェース５２およびバスライン５０を介してメモリ（機構情報保持部）２０に予め保持される。
【００４３】
外部記憶装置７０は、アプリケーションプログラム２１やハーネス情報２３を保持するものとして機能してもよいが、本実施形態では、ハーネスを連結されるコネクタ部品に関する情報を、そのコネクタ部品におけるハーネスの連結位置およびその位置での姿勢に関する情報とともに保持するライブラリや、ハーネスを固定するクランプ部品に関する情報を、そのクランプ部品におけるハーネスの固定位置およびその位置での姿勢に関する情報とともに保持するライブラリが予め作成されており、これらのライブラリを予め保持しておくためのものとして、外部記憶装置７０が用いられる。
【００４４】
一方、メモリ２０には、図２に示すハーネス情報設定部１１、シミュレーション部１２（機構部品位置算出部１２１、ハーネス位置・形状算出部１２２、三次元像作成部１２３を含む）、表示制御部１３、検証部１４および展開部１５としての機能を実現するためのアプリケーションプログラム（ハーネス設計支援プログラム）２１が格納されている。
【００４５】
そして、ＣＰＵ１０がバスライン５０を介してメモリ２０から上記アプリケーションプログラム２１を読み出して実行することにより、ハーネス情報設定部１１、シミュレーション部１２、表示制御部１３、検証部１４および展開部１５としての機能（その詳細については後述）、つまりは、本発明のハーネス設計支援装置としての機能が実現されるようになっている。
【００４６】
上述したアプリケーションプログラム２１は、例えば、フレキシブルディスク、ＣＤ−ＲＯＭ等の、コンピュータ読み取り可能な記録媒体に記録された形態で提供される。そして、コンピュータシステム１はその記録媒体からアプリケーションプログラム２１を読み取って内部記憶装置（メモリ２０）または外部記憶装置７０に転送し格納して用いる。また、そのアプリケーションプログラム２１を、例えば磁気ディスク、光ディスク、光磁気ディスク等の記憶装置（記録媒体）に記録しておき、その記憶装置から通信経路を介してコンピュータシステム１に提供するようにしてもよい。
【００４７】
ハーネス情報設定部１１、シミュレーション部１２、表示制御部１３、検証部１４および展開部１５としての機能を実現する際には、内部記憶装置（本実施形態ではメモリ２０）に格納されたアプリケーションプログラム２１がコンピュータのマイクロプロセッサ（本実施形態ではＣＰＵ１０）によって実行される。このとき、記録媒体に記録されたアプリケーションプログラム２１をコンピュータシステム１が直接読み取って実行するようにしてもよい。
【００４８】
なお、本実施形態において、コンピュータとは、ハードウェアとオペレーションシステムとを含む概念であり、オペレーションシステムの制御の下で動作するハードウェアを意味している。また、オペレーションシステムが不要でアプリケーションプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウェアは、少なくとも、ＣＰＵ等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取るための手段とを備えている。
【００４９】
アプリケーションプログラム２１は、このようなコンピュータ（コンピュータシステム１）にハーネス情報設定部１１、シミュレーション部１２、表示制御部１３、検証部１４および展開部１５としての機能を実現させるためのプログラムコードを含んでいる。また、その機能の一部は、アプリケーションプログラム２１ではなくオペレーションシステムによって実現されてもよい。
【００５０】
さらに、本実施形態における記録媒体としては、上述したフレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ、磁気ディスク、光ディスク、光磁気ディスクのほか、ＩＣカード、ＲＯＭカートリッジ、磁気テープ、パンチカード、コンピュータの内部記憶装置（ＲＡＭやＲＯＭなどのメモリ）、外部記憶装置等や、バーコードなどの符号が印刷された印刷物等の、コンピュータ読み取り可能な種々の媒体を利用することができる。
【００５１】
さて、次に、ＣＰＵ１０により実現される各種機能（ハーネス情報設定部１１、シミュレーション部１２、表示制御部１３、検証部１４および展開部１５としての機能）について、詳細に説明する。
【００５２】
ハーネス情報設定部１１は、上述したハーネス情報２３を予め設定するもので、実際には、キーボード４０等を用いて外部から入力された各種値をハーネス情報２３としてメモリ２０に書き込むか、もしくは、シミュレーション部１２に出力するものである。また、上述したように外部記憶装置７０にコネクタ部品やクランプ部品についてのライブラリが予め保存されている場合には、キーボード４０やマウス４１を用いて外部から入力された情報に応じて、ハーネス情報設定部１１が、外部記憶装置７０のライブラリから、コネクタ部品もしくはクランプ部品を選択することにより、ハーネスの始点位置または終点位置とその位置での姿勢とをハーネス情報２３として設定するようにしてもよい。
【００５３】
シミュレーション部１２は、ハーネス情報設定部１１により設定されたハーネス情報２３とメモリ２０における機構部品の３次元モデルデータ２２とに基づいて、ハーネスおよび機構部品の３次元機構モデルを構築し、その３次元機構モデルによりハーネスの動作を機構部品の動作と連動させてシミュレートするものである。
【００５４】
機構部品位置算出部１２１は、機構部品の動作をシミュレートすべく、機構部品の３次元モデルデータ２２に基づいて機構部品の位置を所定周期で算出するものである。
【００５５】
ハーネス位置・形状算出部１２２は、機構部品位置算出部１２１により算出された機構部品の位置とハーネス情報２３とに基づいて、ハーネスの位置および形状を算出するもので、ハーネス情報２３に含まれるハーネスの始点位置および終点位置と各位置での姿勢情報とに基づいて、ハーネスの位置および形状をベジエ曲線（Bezier Curve）で近似して算出している。
【００５６】
三次元像作成部１２３は、機構部品位置算出部１２１により算出された機構部品の位置と、ハーネス位置・形状算出部１２２により算出されたハーネスの位置および形状と、ハーネス情報２３と、機構部品の３次元モデルデータ２２とに基づいて、機構部品およびハーネスの３次元像を作成し、この３次元像をシミュレーション結果として表示制御部１３へ出力するもので、表示制御部１３が、三次元像作成部１２３からの３次元像をディスプレイ３０に表示させるようになっている。
【００５７】
検証部１４は、シミュレーション部１２によるシミュレーション結果又は機構部品の位置変更やハーネスの経路変更に基づいて、随時、ハーネスの動的検証を行なう干渉チェック機能（干渉計算部）であり、本実施形態では、ハーネスと該機構部品との干渉、ハーネスの長さ、ハーネスの曲率を検証（曲率が大きいところを検出）する。この検証部１４による検証結果は、例えば、表示制御部１３によりディスプレイ３０に表示される。
【００５８】
展開部１５は、シミュレーション部１２によるシミュレーション結果として得られたハーネスの３次元モデルを２次元レイアウト図（平面図）に変換・展開し、その２次元レイアウト図を外部へ出力するか、メモリ２０もしくは外部記憶装置７０に保存するものである。
【００５９】
（２）：ハーネス設計支援装置の干渉計算処理の説明
干渉計算処理の無駄を少なくする方法として、ワールド座標の座標変換（アフィン変換）を行うことにより、自由曲線のバウンディングボックスの近似精度を上げることができ、干渉計算対象を絞り込むことができるようになる。
【００６０】
例えば、自由曲線の両端の点を結ぶ直線をＸ軸と一致させ、その直線から最も遠い自由曲線上の点をＸＹ平面上に合わせ、端点の一方を座標原点とする座標系を生成し、ワールド座標系がこの座標系になるように回転並進変換を行うことができる。自由曲線がベジエ曲線で、全ての制御点（例えば、３次のベジエ曲線は４つの点により一意に決まり、この点が制御点となる）が同じ平面の上にほぼ乗っている場合、この変換によりバウンディングボックスは薄い板のように（バウンディングボックスの体積が小さく）なり、無駄の少ない近似を行うことができる。また、Ｙ軸方向を決める際、制御点の情報を使い、制御点を含むようにＸＹ平面を決めることもできる。
【００６１】
図４は座標変換によるバウンディングボックスの説明図である。図４において、上側のバウンディングボックスＢ１は、上記の座標変換をすることにより、バウンディングボックスは下側のバウンディングボックスＢ２のように薄い板のようになる。これにより無駄の少ない近似を行うことができる。但し、自由曲線Ａがベジエ曲線で、全ての制御点が同じ平面の上にほぼ乗っている場合、この変換でバウンディングボックスは薄い板のようにすることができ、近似精度を向上することができる。
【００６２】
（３）：干渉計算方法の説明
図５は干渉計算方法の説明図である。図５において、入力データは、部品モデルデータＤと曲線データＡである。部品モデルデータＤは、ワールド座標系に対する表面三角形の頂点位置と、三角形と頂点との対応データである。また、曲線データＡは、ベジエ曲線の場合、制御点の数（ベジエ曲線の次数）とワールド座標系に対する制御点の位置である。
【００６３】
まず、曲線データＡから座標変換行列を求める。曲線データの両端位置は、両端の制御点の位置である。先に述べたような手順で両端の位置から座標変換行列（回転並進変換；変換後の曲線データＡ１）を求めることができる。次に、この座標変換行列を使って、部品モデルの全ての三角形頂点位置および制御点位置に対して座標変換（変換後の部品モデルＤ１）を行う。
【００６４】
次に、変換後の部品モデルＤ１と曲線データＡ１に対して、バウンディングボックス（Bounding Box）Ｂを計算する。このバウンディングボックスＢを使って、曲線データＡ１に対して全ての部品モデルＤ１の干渉計算を行う（これはバウンディングボックスＢ同志の干渉計算は簡単であるため）。この計算で干渉と判定された部品に対し、次に、曲線データＡ１のバウンディングボックスＢと部品モデルＤ１の各表面三角形ｄの間で干渉計算を行う。
【００６５】
この計算で干渉と判定された表面三角形ｄに対して、次に、曲線データＡ１の近似多辺形（ａ１、ａ２、・・・）の各辺ａと表面三角形ｄの干渉計算を行う。なお曲線データＡ１の近似多辺形は、各辺がほぼ直線になるように分割（曲率が大きい所はより細かく分割）する。この計算で干渉と判定されたならば、さらに、多辺形で近似しない曲線データＡと表面三角形ｄの間で正確に干渉計算を行う。
【００６６】
このように、多辺形の辺の数をＮ、三角形の数をＭとすると、交差（干渉）していた数をＣとすると、計算量はＭ＋Ｎ×Ｃとなる。
【００６７】
なお、干渉計算で干渉ありと判定された場合は、その曲線データ（配線等）の経路又はその部品モデルの位置を自動又は手動で変更（移動）して再度干渉計算を行うことになる。
【００６８】
（４）：フローチャートによる説明
図６は干渉計算の処理フロー（１）、図７は干渉計算の処理フロー（２）である。以下、図６、図７の処理Ｓ１〜Ｓ１５に従って説明する。
【００６９】
Ｓ１：ハーネス設計支援装置１の入出力インタフェース５１又は５２よりハーネスモデルデータを入力して、処理Ｓ２に移る。
【００７０】
Ｓ２：入出力インタフェース５１又は５２より部品モデルデータを入力して、処理Ｓ３に移る。
【００７１】
Ｓ３：ハーネス設計支援装置１の検証部（干渉計算部）１４は、ハーネスモデルから座標変換行列を計算し、処理Ｓ４に移る。
【００７２】
Ｓ４：検証部１４は、ハーネスモデルを座標変換（バウンディングボックスの体積が小さくなるように座標変換）し、処理Ｓ５に移る。
【００７３】
Ｓ５：検証部１４は、部品モデルを座標変換し、処理Ｓ６に移る。
【００７４】
Ｓ６：検証部１４は、ハーネスモデルのバウンディングボックス(Bounding Box)を計算し、処理Ｓ７に移る。
【００７５】
Ｓ７：検証部１４は、部品モデルのバウンディングボックス(Bounding Box)を計算し、処理Ｓ８に移る。
【００７６】
Ｓ８：検証部１４は、ハーネスモデルのバウンディングボックスと部品モデルのバウンディングボックスの間で交差計算をし、処理Ｓ９に移る。
【００７７】
Ｓ９：検証部１４は、ハーネスモデルのバウンディングボックスと部品モデルのバウンディングボックスの間で交差があるかどうかを判断する。この判断で、交差がある場合は処理Ｓ１０に移り、交差がない場合は交差なしと判定する。
【００７８】
Ｓ１０：検証部１４は、ハーネスモデルのバウンディングボックスと部品モデルの表面を構成する各ポリゴンの間で交差計算をし、処理Ｓ１１に移る。
【００７９】
Ｓ１１：検証部１４は、ハーネスモデルのバウンディングボックスと部品モデルの表面を構成する各ポリゴンの間で交差があるかどうかを判断する。この判断で、交差がある場合は処理Ｓ１２に移り、交差がない場合は交差なしと判定する。
【００８０】
Ｓ１２：検証部１４は、交差していたポリゴンを記憶（メモリ２０等）し、処理Ｓ１３に移る。
【００８１】
Ｓ１３：検証部１４は、ハーネスモデルを多辺形に変換（各辺がほぼ直線になるように）し、処理Ｓ１４に移る。
【００８２】
Ｓ１４：検証部１４は、ハーネスモデルの多辺形を構成する各辺と前記処理Ｓ１２で記憶した各ポリゴンの間で交差計算をし、処理Ｓ１５に移る。
【００８３】
Ｓ１５：検証部１４は、ハーネスモデルの多辺形を構成する各辺と前記処理Ｓ１２で記憶した各ポリゴンの間で交差があるかどうかを判断する。この判断で、交差がある場合は交差ありと判定し、交差がない場合は交差なしと判定する。
【００８４】
なお、前記座標変換により作成する前記ハーネスモデル（曲線）のバウンディングボックスの角を座標原点に移動することにより、原点以下（例えば、座標ｘ軸の負の値）では干渉しないため、負の値の計算を省略することができる。
【図面の簡単な説明】
【００８５】
【図１】本発明のハーネス設計の説明図である。
【図２】本発明のハーネス設計支援装置の機能構成を示す説明図である。
【図３】本発明のハーネス設計支援装置を実現するためのコンピュータシステムのハードウェア構成を示す説明図である。
【図４】本発明の座標変換によるバウンディングボックスの説明図である。
【図５】本発明の干渉計算方法の説明図である。
【図６】本発明の干渉計算の処理フロー（１）である。
【図７】本発明の干渉計算の処理フロー（２）である。
【図８】従来の線分を用いる干渉計算方法の説明図である。
【図９】従来のバウンディングボックスによる干渉計算の説明図である。
【図１０】従来の干渉計算の説明図である。
【図１１】従来の干渉計算の処理フローである。
【符号の説明】
【００８６】
１０  ＣＰＵ（中央処理装置）
１１  ハーネス情報設定部
１２  シミュレーション部
１３  表示制御部
１４  検証部（干渉計算部）
１５  展開部
２０  メモリ（格納手段）
２２  ３次元モデルデータ
２３  ハーネス情報
３０  ディスプレイ
１２１  機構部品位置算出部
１２２  ハーネス位置・形状算出部
１２３  三次元像作成部
【図１】
2009086842.tif 000003
【図２】
2009086842.tif 000004
【図３】
2009086842.tif 000005
【図４】
2009086842.tif 000006
【図５】
2009086842.tif 000007
【図６】
2009086842.tif 000008
【図７】
2009086842.tif 000009
【図８】
2009086842.tif 000010
【図９】
2009086842.tif 000011
【図１０】
2009086842.tif 000012
【図１１】
2009086842.tif 000013