(57)【特許請求の範囲】
【請求項１】
複数の部品およびこれら複数の部品が組み立てられてなる製品をあらわす情報に基づいて、該製品を分解している途中の状態における、分解中の部品と残存する部品との間の、最接近距離と干渉の発生の判定とを含む演算を実行する干渉演算手段と、前記干渉演算手段に前記演算を実行させながら、部品どうしの干渉の発生を免れた分解経路を探索する分解経路探索手段とを備え、前記分解経路探索手段が、所定の部品の、干渉の発生を免れた分解経路の検出に失敗した場合に、該所定の部品の寸法を所定の縮小率だけ縮小した上で該所定の部品の分解経路の探索を行なうものであることを特徴とする分解経路生成装置。
【請求項２】
複数の部品およびこれら複数の部品が組み立てられてなる製品をあらわす情報に基づいて、該製品を分解している途中の状態における、分解中の部品と残存する部品との間の、最接近距離と干渉の発生の判定とを含む演算を実行する干渉演算手段と、前記干渉演算手段に前記演算を実行させながら、部品どうしの干渉の発生を免れた分解経路を探索する分解経路探索手段とを備え、前記分解経路探索手段が、分解しようとしている所定の部品と他の部品との間に干渉が発生した場合に、該所定の部品の、干渉が発生した面の寸法を縮めるとともに該面を該所定の部品の内側に移動させた上で、該所定の部品と前記他の部品との間の干渉の発生の有無を調べるものであることを特徴とする分解経路生成装置。
【請求項３】
複数の部品およびこれら複数の部品が組み立てられてなる製品をあらわす情報に基づいて、該製品を分解している途中の状態における、分解中の部品と残存する部品との間の、最接近距離と干渉の発生の判定とを含む演算を実行する干渉演算手段と、前記干渉演算手段に前記演算を実行させながら、部品どうしの干渉の発生を免れた分解経路を探索する分解経路探索手段とを備え、前記分解経路探索手段が、干渉の発生を免れた分解経路の検出に失敗した部品が複数存在する場合に、これら複数の部品を移動可能な範囲で移動した上で、これら複数の部品について再度分解経路を探索するものであることを特徴とする分解経路生成装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数の部品からなる製品を各部品に分解する分解経路をシミュレーションにより探索する分解経路生成装置、この分解経路生成装置を用い、求められた分解経路を逆向きに辿る組立経路を生成する部品の組立経路生成装置、および、この分解経路生成装置を用い、部品どうしの干渉を生じることなく組み立てることのできる部品からなる製品の設計を支援する機械系設計支援システムに関する。
【０００２】
【従来の技術】
近年、三次元ＣＡＤシステムを使用して製品設計を行なうことが多くなってきているが、部品点数の多い複雑な製品の場合、製品を組み立てるための組立操作も複雑となり、熟練者であっても設計段階で他の部品と干渉してしまって組み立てることが不可能になってしまう事態を見落としてしまう事態が生じる恐れがある。
【０００３】
ところが、従来の機構設計用ＣＡＤシステムでは、設計した各部品を、製品が一見組み立てられたかのように任意の位置、姿勢に配置することはできるが、上記のような見落しがないことの確認は、その製品を構成する各部品ないし各部品のモデルを実際に試作して組み立てて見る必要がある。
このような背景から、実際に試作することなく、設計した製品が実際に組立可能、分解可能であるか否かをシミュレートすることのできる自動組立経路生成システムの構築が望まれている。
【０００４】
シミュレーションによって組立が可能であるか否かを検証するシステムは、未だ実用段階にはなく、研究が行なわれている段階であるが、一般的には、三次元ＣＡＤシステムを用いて設計された部品および部品の組立配置に関する情報を基に、組み立てた後の製品の状態から出発し、干渉（部品どうしの接触）の発生しない分解経路を探索し、そのような干渉の発生のない分解経路を、その分解経路を逆方向に辿る組立経路とする手法が採用されている（「ＧＥＯＭＥＴＲＩＣＲＥＡＳＯＮＩＮＧ  ＡＢＯＵＴ  ＭＥＣＨＡＮＩＣＡＬ  ＡＳＳＥＭＢＬＹ，  Ｒａｎｄａｌｌ  Ｈ．Ｗｉｌｓｏｎ  Ｊｅａｎ−Ｃｌａｕｄｅ  Ｌａｔｏｍｂｅ，Ｓｔａｎｆｏｒｄ  Ｕｎｉｖｅｒｓｉｔｙ，  Ａｒｔｉｆｉｃａｌ  Ｉｎｔｅｌｉｇｅｎｃｅ  ７１（２），  Ｄｅｃ  １９９４」，「ＡＮ  ＥＦＦＩＣＩＥＮＴ  ＳＹＳＴＥＭ  ＦＯＲ  ＧＥＯＭＥＴＲＩＣＡＳＳＥＭＢＬＹ  ＳＥＱＵＥＮＣＥ  ＧＥＮＥＲＡＴＩＯＮ  ＡＮＤ  ＥＶＡＬＵＴＩＯＮ，  ＢｒｕｃｅＲｏｍｎｅｙ，  Ｓｔａｎｆｏｒｄ  Ｕｎｉｖｅｒｓｉｔｙ，  Ｐｒｏｃ．  １９９５  ＡＳＭＥ．  Ｉｎｔｌ  Ｃｏｍｐｕｔｅｒｓ  ｉｎ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｃｏｎｆ．，  ｐｐ．６９９−７１２  参照）。
【０００５】
また、干渉チェックを行い、干渉の発生の有無や、部品どうしの最接近距離を求める方法は、特開平７−１３４７３５号公報、特開平８−７７２１０号公報、特開平９−２７０４６号公報等に提案されている。
【０００６】
【発明が解決しようとする課題】
このようにシミュレーションにより組立経路を生成するための研究がなされているが、そのような組立経路を生成する装置を実際に構築しようとする場合、いかにして操作者の意思を受け取りながら高速なシミュレーションを実行し、シミュレーションの結果をいかにして操作者にわかりやすい形で提示するかが問題となる。
【０００７】
本発明は、上記事情に鑑み、使い勝手の良い分解経路生成装置、組立経路生成装置、および機械系設計支援システムを提供することを目的とする。
【０００８】
【課題を解決するための手段】
図１は、本発明の原理説明図である。
本発明の分解経路生成装置は、複数の部品およびこれら複数の部品が組み立てられてなる製品をあらわす情報に基づいて、その製品を分解している途中の状態における、分解中の部品と残存する部品との間の、最接近距離と干渉の発生の判定とを含む演算を実行する干渉演算手段１１と、干渉演算手段１１に上記演算を実行させながら、部品どうしの干渉の発生を免れた分解経路を探索する分解経路探索手段１２とを備え、干渉の発生を免れた分解経路を求める、という基本構成を有する分解経路生成装置に関するものである。
【０００９】
上記基本構成を有する本発明の分解経路生成装置のうちの、本発明の第１の分解経路生成装置は、分解経路探索手段１２が、分解中の部品を、分解途中である現時点における最接近距離に対応した距離だけ次に移動させて、移動後の状態について干渉演算手段１１に上記演算を実行させるものであることを特徴とする。
また、本発明の第２の分解経路生成装置は、上記基本構成を有し、さらに、干渉演算手段１１が、最接近距離が所定距離以下である危険状態の発生の判定を含む演算を実行するものであって、上記危険状態における、製品の図形もしくは危険状態にまで接近した２つの部品の図形を表示する第１の表示手段１３を備えたことを特徴とする。
【００１０】
また、本発明の第３の分解経路生成装置は、上記基本構成を有し、さらに分解経路探索手段１２による分解経路の探索に際して製品の分解途中の状態をあらわす図形を表示する第２の表示手段１４を備え、その第２の表示手段１４が、干渉の発生を免れて分解することのできた部品を非表示とする手段１４ａを含むものであることを特徴とする。
【００１１】
また、本発明の第４の分解経路生成装置は、上記基本構成を有し、さらに、分解経路探索手段１２による分解経路の探索に際して製品の分解途中の状態をあらわす図形を表示する第３の表示手段１５と、
分解経路探索手段１２による分解経路探索方向の順序を、第３の表示手段１５に表示される図形上の方向で指定する探索方向指定手段１６と、
製品の、複数の視点から見た複数の図形の中から第３の表示手段１５に表示させる１つの図形を選択する図形選択手段１７とを備え、
分解経路探索手段１２が、図形選択手段１７により選択された図形と、探索方向指定手段１６により指定された分解経路探索方向順序とにより定められる順序で分解方向の探索を行なうものであることを特徴とする。
【００１２】
また、本発明の第５の分解経路生成装置は、上記基本構成を有し、さらに分解経路探索手段１２が、所定の部品の、干渉の発生を免れた分解経路の検出に失敗した場合に、その所定の部品の寸法を所定の縮小率だけ縮小した上でその所定の部品の分解経路の探索を行なうものであることを特徴とする。
また、本発明の第６の分解経路生成装置は、上記基本構成を有し、上記情報が、複数の部品の形状情報と、これら複数の部品の組立配置情報とを含む部品ツリー構造をあらわす情報であって、分解経路探索手段１２が、部品ツリー構造の端末側に配置された部品ほど早い順序で部品の分解経路の探索を行なうものであることを特徴とする。
【００１３】
また、本発明の第７の分解経路生成装置は、上記基本構成を有し、上記情報が、組立配置が一体的に行なわれる１つ以上の部品の組合せからなるサブアセンブリの情報を含むものであって、分解経路探索手段１２が、製品をサブアセンブリ単位で分解する分解経路を探索する手段１２ａを含むものであることを特徴とする。
【００１４】
また、本発明の第８の分解経路生成装置は、上記基本構成を有し、さらに、分解経路探索手段１２による分解経路の探索に際して製品の分解途中の状態をあらわす図形を表示する第４の表示手段１８を備え、その第４の表示手段１８が、その製品を構成する複数の部品について同時に、それら複数の部品の分解途中の状態をあらわす図形を表示する手段１８ａを含むものであることを特徴とする。
【００１５】
また、本発明の第９の分解経路生成装置は、上記基本構成を有し、さらに、分解経路探索手段１２による分解経路の探索を同時に行なわせる複数の部品を指定する部品指定手段１９を備えたことを特徴とする。
また、本発明の第１０の分解経路生成装置は、上記基本構成を有し、さらに、製品を構成する部品の名称の一覧を表示する第５の表示手段２０を備え、その第５の表示手段２０が、少なくとも一部の部品について、部品の名称とともにその部品をあらわす図形を表示する手段２０ａとを含むものであることを特徴とする。
【００１６】
また、本発明の第１１の分解経路生成装置は、上記基本構成を有し、さらに、部品の分解経路を手動で指定するための第１の分解経路指定手段２１を備え、分解経路探索手段１２が、ある部品についての分解経路の検出に失敗した場合に分解経路の探索を中断し、第１の分解経路指定手段２１によるその部品の分解経路の指定を受けて、次の部品の分解経路の探索を開始するものであることを特徴とする。
【００１７】
本発明の第１２の分解経路生成装置は、上記基本構成を有し、分解経路探索手段１２が、ある部品についての分解経路の検出に失敗した場合に、その部品を残したまま次の部品の分解経路の探索に移行するものであって、分解経路探索手段１２が分解経路の検出に失敗した部品の分解経路を手動で指定するための第２の分解経路指定手段を備えたことを特徴とする。
【００１８】
さらに、本発明の第１３の分解経路生成装置は、上記基本構成を有し、さらに、部品の分解経路を手動で指定するための第３の分解経路指定手段２３と、その第３の分解経路指定手段２３による所定の部品の分解経路の指定中において該所定の部品が残存する部品から一旦所定距離以上離れた場合に、その所定の部品が、残存する部品から所定距離未満の領域に再進入することを禁止する再接近禁止手段２４とを備えたことを特徴とする。
【００１９】
さらに、本発明の第１４の分解経路生成装置は、上記基本構成を有し、分解経路探索手段１２が、ある部品についての分解経路の検出に失敗した場合に、その部品を残したまま次の部品の分解経路の探索に移行するものであるとともに、すべての部品についての分解経路の探索が終了した後に残存する部品のうちの複数の部品を、組立てが一体的に行なわれるサブアセンブリと看做して、そのサブアセンブリについて分解経路の探索を行なうものであることを特徴とする。
【００２０】
ここで、上記第１４の分解経路生成装置は、分解経路探索手段１２が、すべての部品についての分解経路の探索が終了した後に残存する部品のうちの相互に接触する複数の部品をサブアセンブリと看做すものであることが好ましい。
本発明の第１５の分解経路生成装置は、上記基本構成を有し、さらに、分解しようとする部品の分解不能方向を、その部品の分解に先立って検出する分解不能方向検出手段２５を備え、分解経路探索手段１２が、その分解不能方向検出手段２５により検出された分解不能方向を除く方向について分解経路を探索するものであることを特徴とする。
【００２１】
本発明の第１６の分解経路生成装置は、上記基本構成を有し、分解経路探索手段１２が、所定の部品の、干渉の発生を免れた分解経路の検出に失敗した場合に、その部品を干渉が発生した位置に配置し、その位置を始点として再度その部品の分解経路を探索することにより方向を変えて分解することを特徴とする。
【００２２】
本発明の第１７の分解経路生成装置は、上記基本構成を有し、分解経路探索手段１２が、分解しようとしている所定の部品と他の部品との間に干渉が発生した場合に、その所定の部品の、干渉が発生した面の寸法を縮めるとともにその面をその所定の部品の内側に移動させた上で、その所定の部品と上記他の部品との間の干渉の発生の有無を調べるものであることを特徴とする。
【００２３】
ここで、「面」は、部品のある１つの平面全域を１つの面としてもよいが、ここにいう「面」は、それのみに限られるものではなく、例えば１つの平面であっても複数のポリゴンの集合の形で定義されている場合はそのポリゴン１つずつが１つの面として観念される。
さらに、本発明の第１８の分解経路生成装置は、上記基本構成を有し、分解経路探索手段１２がが、干渉の発生を免れた分解経路の検出に失敗した部品が複数存在する場合に、これら複数の部品を移動可能な範囲で移動した上で、これら複数の部品について再度分解経路を探索するものであることを特徴とする。
【００２４】
本発明の第１９の分解経路生成装置は、上記基本構成を有し、さらに、分解しようとする部品に、その部品の分解に先立って分解のための補助部品を付する補助部品付与手段２６を備え、分解経路探索手段１２が、分解しようとする部品とその部品に付された補助部品とを一体の部品とみなしてその一体の部品について分解経路を探索するものであることを特徴とする。
【００２５】
本発明の第２０の分解経路生成装置は、上記基本構成を有し、上記製品を構成する部品の中に関節を有する可動部品が存在する場合において、分解経路探索手段１２が、所定の部品の分解途上で該所定の部品と可動部品との間に干渉が発生した場合に、その所定の部品をさらに移動させるとともに、該可動部品を、その所定の部品の移動量に応じた移動量だけ移動させるものであることを特徴とする。
【００２６】
ここで、可動部品を移動させるにあたっては、上記所定の部品を移動させ可動部品との干渉が発生した場合に、その所定の部品は移動後の位置においたまま、可動部品を、その所定の部品の移動量に応じた移動量だけ移動させてもよく、上記所定の部品を移動させて可動部品との干渉が発生した場合に、その所定の部品を一旦戻しておいて、可動部品の方を所定の移動量だけ移動させ、その所定の部品と可動部品との最近接距離を求め、その所定の部品を、あらためて、その最近接距離だけ移動させてもよい。
【００２７】
本発明の第２１の分解経路生成装置は、上記基本構成を有し、さらに、製品を構成する全部品のうち分解中の部品およびその部品に対し最近接距離にある部品のみからなる図形を表示する第６の表示手段２７を備えたことを特徴とする。
本発明の第２２の分解経路生成装置は、上記構成を有し、さらに、製品の分解途中の状態をあらわす図形を表示する第７の表示手段２８を備え、その第７の表示手段２８が、製品を構成する全部品のうち分解中の部品のみ再描画する手段２８ａを含むものであることを特徴とする。
ここで、本発明の第２２の分解経路生成装置において、分解中の部品の描画手法と、分解中の部品以外の部品の描画手法は同一であっても異なっていてもよく、例えば双方とも三次元コンピュータグラフィックス描画であって、分解中の部品以外の部品は一度描画したらそのままにしておき、分解中の部品のみその移動に従って再描画してもよく、あるいは、分解中の部品以外の部品は二次元の各画素に対応するデータを持つイメージとして表示しておき、分解中の部品のみ三次元コンピュータグラフィックスで、その移動に従って再描画してもよい。
【００２８】
また、再描画にあたり、それ以前に表示されていた分解中の部品の図形を消去してから再描画してもよく、消去せずに重ねがきしてもよい。
さらに、本発明の第２３の分解経路生成装置は、上記基本構成を有し、さらに、製品の分解途中の状態をあらわす図形を表示する第８の表示手段２９を備え、その第８の表示手段２９が、製品を構成する全部品のうち、分解中の部品と、その部品を除く他の部品を、異なる描画態様で描画する手段２９ａを含むものであることを特徴とする。
【００２９】
異なる描画態様としては、例えば、分解中の部品のみ、高画質の描画態様（例えばＯｐｅｎ  ＧＬ等）、他の部品は、分解中の部品と比べ画質の劣る、ただし高速の描画態様（例えばＤｉｒｅｃｔ３Ｄ等）という区別であってもよく、あるいは、分解中の部品のみシェーディング（部品の面を塗りつぶす）描画、他の部品は線画という区別であってもよく、あるいは、分解中の部品のみ三次元コンピュータグラフィック描画、他の部品はイメージ描画という区別であってもよい。
【００３０】
さらに、本発明の第２４の分解経路生成装置は、上記基本構成を有し、さらに、分解経路探索手段１２による分解経路の探索に際して分解中の製品の状態をあらわすアニメーションを作成するアニメーション作成手段３０と、そのアニメーション作成手段３０により作成されたアニメーションを表示する第９の表示手段３１とを備えたことを特徴とする。
【００３１】
尚、第１〜第９の表示手段１３，１４，１５，１８，２０，２７，２８，２９，３１は機能により分けたものであり、上記本発明の第１〜第２４の分解経路生成装置のうちの複数の分解経路生成装置の特徴を兼ね備えた１つの装置を構成する場合、それら第１〜第９の表示手段１３，１４，１５，１８，２０，２７，２８，２９，３１は別々に備える必要はなく、ハードウェア上は１つの表示部（例えば図２に示す１つのＣＲＴ表示部１０４）であってもよい。また、これと同様に、第１〜第３の分解経路指定手段２１〜２３、さらには、それら第１〜第３の分解経路指定手段２１〜２３に加え、探索方向選択手段１６、図形選択手段１７、部品選択手段１９、および補助部品付与手段２６もハードウェア上は１つの操作子等（例えば図２に示すキーボード１０１ないしマウス１０３）で構成してもよい。
【００３２】
また、本発明の組立経路生成装置は、本発明の分解経路生成装置における分解経路探索手段１２に代えて、この分解経路探索手段１２の機能をそのまま含み、さらに部品どうしの干渉の発生を免れた分解経路を逆向きに辿る組立て経路を生成する組立経路生成手段を備えたものである。他の構成要件は、本発明の分解経路生成装置と同一である。以下、分解経路探索手段１２に代えて組立経路生成手段を備えたこと以外の、上述した第１〜第２４の各分解経路生成装置の構成要件をそのまま含む組立経路生成装置を、第１〜第２４の各分解経路生成装置それぞれに対応づけて、第１〜第２４の組立経路生成装置と称する。
【００３３】
例えば、本発明の第１の組立経路生成装置は本発明の第１の分解経路生成装置と対応づけられ、本発明の第１の組立経路生成装置は、複数の部品およびこれら複数の部品が組み立てられてなる製品をあらわす情報に基づいて、該製品を分解している途中の状態における、分解中の部品と残存する部品との間の、最接近距離と干渉の発生の判定とを含む演算を実行する干渉演算手段１１と、干渉演算手段１１に上記演算を実行させながら部品どうしの干渉の発生を免れた分解経路を探索して干渉の発生を免れた分解経路を求めることにより、その求められた分解経路を逆向きに辿る組立経路を生成する組立経路生成手段１２とを備え、この組立経路生成手段１２が、分解中の部品を、分解途中である現時点における最接近距離に対応した距離だけ次に移動させて、移動後の状態について干渉演算手段１１に上記演算を実行させるものであることを特徴とする。
【００３４】
本発明の第２〜第２４の組立経路生成装置についても同様である。
また、本発明の機械系設計支援システムは、本発明の分解経路生成装置をそのまま包含し、部品どうしの干渉の発生を免れた分解経路を求めることにより、干渉の発生を免れて組み立てることのできる部品からなる製品の設計を支援するシステムである。具体的な構成要件は本発明の分解経路生成装置と同一である。以下、上述した第１〜第２４の各分解経路生成装置の構成要件をそのまま含む機械系設計支援システムを、第１〜第２４の各分解経路生成装置それぞれに対応づけて、第１〜第２４の機械系設計支援システムと称する。
【００３５】
例えば、本発明の第１の機械系設計支援システムは本発明の第１の分解経路生成装置と対応づけられ、本発明の第１の機械系設計支援システムは、複数の部品およびこれら複数の部品が組み立てられてなる製品をあらわす情報に基づいて、部品どうしの干渉の発生を免れた分解経路を求めることにより、干渉の発生を免れて組み立てることのできる部品からなる製品の設計を支援する機械系設計支援システムにおいて、上記情報に基づいて、製品を分解している途中の状態における、分解中の部品と残存する部品との間の、最接近距離と干渉の発生の判定とを含む演算を実行する干渉演算手段１１と、干渉演算手段１１に上記演算を実行させながら部品どうしの干渉の発生を免れた分解経路を探索する分解経路探索手段１２とを備え、分解経路探索手段１２が、分解中の部品を、分解途中である現時点における最接近距離に対応した距離だけ次に移動させて、移動後の状態について干渉演算手段１１に上記演算を実行させるものであることを特徴とする。
【００３６】
本発明の第２〜第２４の機械系設計支援システムについても同様である。
尚、本発明の分解経路生成装置と、本発明の組立経路生成装置との相違点は、分解経路を求めるか、あるいは求めた分解経路を逆に辿る組立経路を生成するかという、ほとんど表現上の相違に過ぎず、また、本発明の機械系設計支援システムも分解経路を求めることで製品の設計を支援するという、これもほとんど表現上の相違に過ぎず、したがって、以下、分解経路生成装置と、組立経路生成装置と、さらに機械系設計支援システムとを特に区別せずにいずれかの名称で他を代表させるものとする。
【００３７】
【発明の実施の形態】
以下、本発明の実施形態について説明する。ここでは、先ず本発明の第１〜第２４の組立経路生成装置に共通の構成について説明し、ついで組立経路生成装置それぞれに特徴的な構成部分について説明する。
図２は、本発明の第１〜第２４の組立経路生成装置の各実施形態を内包した組立経路生成装置の外観図である。
【００３８】
この図２に示すように、この組立経路生成装置１はコンピュータシステムで構成されており、ＣＰＵが内蔵された本体部１０１、キーボード１０２、マウス１０３、およびＣＲＴ表示部１０４が備えられている。本体部１０１には、ＣＰＵのほか、フロッピィディスクが装填され、フロッピィディスクに記録されたデータを読み込んだり、フロッピィディスクにデータを記録したりするフロッピィディスクドライブ装置、大容量のデータを保存しておく磁気ディスク装置等も内蔵されている。
【００３９】
本実施形態では、図示しない三次元ＣＡＤシステムを使って設計した組立経路解析用製品を構成する各部品の三次元形状を表わすデータと、それら複数の部品の組立配置の位置や姿勢を表わす組立配置データと、さらには、必要に応じて、組立配置が一体的に行なわれる部品の組合せからなるサブアセンブリを表わすデータが、三次元ＣＡＤ側でフロッピィディスクにダウンロードされ、そのフロッピィディスクがこの図２に示す組立経路生成装置１００に装填され、そのフロッピィディスクから必要なデータが読み込まれる。
【００４０】
尚、三次元ＣＡＤシステムとこの組立経路生成装置１００は通信ラインで接続されていて、三次元ＣＡＤシステムからその通信ラインを経由して入力されたデータを、この組立経路生成装置１００に内蔵された磁気ディスク装置に格納してもよく、あるいはこの組立経路生成装置１００に三次元ＣＡＤシステムが組み込まれていてもよい。
【００４１】
図２に示すＣＲＴ表示部１０４には、種々の画面が開かれるが、そのうちの主な画面として、後に参照されるいくつかの図面に示されるように、分解前および分解途中の製品の三次元形状をあらわすグラフィックス画面、およびそのグラフィックス画面に重畳された形で開かれる、各種のメニュー画面や製品を構成する複数の部品の分解組立系統を表わす部品ツリー構造画面等が存在する。
【００４２】
図３は、図１に示す干渉演算手段１３の演算内容の説明のためのグラフィックス画面の一例を示す図である。但し、この図３や、後に参照する、各図面においては、画面を構成する図形のみでなく、説明のための図、文章、記号等も同時に示されている。例えば、図３においては、各部品をあらわすＡ，Ｂ，Ｃの文字、「移動方向」の文字、移動方向をあらわす矢印、「Ｐ：干渉点」の文字、「最接近距離Ｄs 」の文字は、説明のために示されたものであり、ＣＲＴ表示部１０４（図２参照）には表示されないものである。以下、後に参照する各図においてどれが説明のための図、文字、記号等であるかの説明は省略する。  ここでは、「製品」は図示のような３つの部品Ａ，Ｂ，Ｃから構成されており、部品Ａが図示の移動方向に移動したものとする。このとき、干渉演算手段１１では、図３（ａ）に示すように、部品どうしの干渉（接触）の発生の有無の判定の演算および図３（ｂ）に示すように、部品間の最も近い最接近距離の演算が行なわれる。これら干渉の有無の判定と最接近距離の演算には、例えば特願平８−１２７４３８号にて提案された演算アルゴリズムが好適に採用される。
【００４３】
図４は、分解経路と組立経路との関係を説明するためのグラフィックス画面の一例を示す図である。
図４（ａ）は、３つの部品Ａ，Ｂ，Ｃからなる製品が組立られた状態を示すグラフィックス画面例を示しており、この状態から、親部品Ｃを残し、先ず、部品Ａを微小距離ｄだけ動かしては干渉の有無がチェックされ、これを繰り返すことにより、干渉が発生しなければ部品Ａが部品Ｃから十分遠くに離れた状態にまで移動される。次に部品Ｂについても同様に親部品Ｃから十分離れた状態にまで移動され、図４（ｂ）に示すように３つの部品Ａ，Ｂ，Ｃが互いにばらばらに離れた状態となる。親部品Ｃを基準としたときの部品Ａ，Ｂの分解経路が確定すると、それら部品Ａ，Ｂの分解経路を逆に辿ることによりばらばらな部品Ａ，Ｂ，Ｃを組立てて製品を完成させることができる。本実施形態では、このように、干渉の発生のない分解経路が探索され、そのような干渉の発生のない分解経路を逆に辿る経路がすなわち干渉の発生のない組立経路であると認識される。
【００４４】
本実施形態では、分解経路を探索するにあたり、部品を任意の方向に少しだけ移動してみて干渉チェックを行ない、干渉の発生がなければさらに少しだけ移動してみて干渉チェックを行なうという、いわゆる”Ｇｅｎｅｒａｔｅ  ａｎｄ  Ｔｅｓｔ”方式が適用されている。
図５は、本実施形態の分解方向探索の基本の手順を示すフローチャートである。
【００４５】
先ず、分解しようとする部品を選択する部品選択ルーチン１００が実行され、次いで、その選択された部品について自動分解経路生成ルーチン２００が実行される。この自動分解経路生成ルーチン２００においては、先ず、その選択された部品の分解方向が設定される（ステップ２００＿１）。ここでは、分解方向の探索は、＋Ｚ方向、−Ｚ方向、＋Ｙ方向、−Ｙ方向、＋Ｘ方向、−Ｘ方向の順に行なうように、あらかじめ指定されているものとする（ステップ２００＿１０のブロック参照）。
【００４６】
ステップ２００＿２では、選択されている部品が、現在指定されている分解方向（ここでは＋Ｚ方向）に微小移動量ｄだけ微小移動され、ステップ２００＿３に進んで干渉チェック（干渉の発生の有無の判定）が行なわれる。干渉の発生がなければ（ステップ２００＿４）、ステップ２００＿５に進み、現在分解中の部品についての、製品として組み立てられた状態からの累積の移動距離Ｄがある一定距離Ｄc 以上であるか否かが求められ、Ｄ＜Ｄc のときは、ステップ２００＿２に戻り、その部品がさらに微小移動量ｄだけ移動される。これを繰り返しステップ２００＿５においてＤ≧Ｄc であると判定されると、すなわち、その部品が十分な遠方まで分解されたと判定されると、ステップ２００＿６に進み、その部品についての、干渉の発生のなかった分解経路が記録され、部品選択ルーチン１００に戻り、未だ分解されていない部品があれば未分解の部品の中の１つの部分が次の分解対象の部品として選択される。
【００４７】
図６は、微小移動量ｄ、移動距離Ｄ、および最接近距離Ｄs の説明図である。図６（２），（３）には解り易さのため二次元的な図形を示す。
ここでは、部品Ａを、図６（ｂ）に示す移動前の状態から図６の上方に微小移動量ｄずつ移動し、図６（ｃ）に示す移動途中の状態に至ったものとする。このときの、図６（ｂ）に示す移動前の状態からの微小移動量ｄの累積値Σｄが移動距離Ｄである。これに対し最接近距離Ｄs は、移動途中の部品（ここでは部品Ａ）と残存する部品（ここでは部品Ｂと部品Ｃ）との間の、互いに最も接近した最近接点どうしの間の距離（ここでは部品Ａと部品Ｂとの間の距離）である。
【００４８】
図５に戻って説明を続行する。
ステップ２００＿４において干渉の発生があったことが判定されると、ステップ２００＿７に進み、その部品について既にあらゆる方向への分解が試みられたか否か、すなわち、現在設定されている分解方向が最終の−Ｘ方向であるか否かが判定され、現在−Ｘ方向に分解を試みていたのであれば、ステップ２００＿８に進み、分解不可能であることをシステムに通知して、部品選択ルーチン１００に戻る。分解不可能であることが通知されたシステム側の対応についての説明は後にまわす。
【００４９】
ステップ２００＿７で、現在設定されている分解方向が、最終の分解方向である−Ｘ方向ではないと判定された場合、ステップ２００＿９に進んで現在分解中であった部品を元の組立て位置に戻し、ステップ２００＿１０において分解方向が変更され、ステップ２００＿２に戻って、変更された新たな分解方向についてその部品が微小移動量ｄだけ移動される。以下同様にして分解経路の探索が行なわれる。
【００５０】
以上の、分解経路探索を行なっている間、図２に示すＣＲＴ表示部１０４には、分解対象の製品の、分解途中の状態をあらわす、例えば図６（ａ）に示すようなグラフィックス画面が表示される。
図７は、自動分解経路生成設定メニュー画面の一例を示した図である。
このメニュー画面は、図２に示すマウス１０３を操作して、図示しないメインメニューの、対応するアイコンをクリックすることにより、ＣＲＴ表示部１０４に表示される。
【００５１】
この自動分解経路生成設定メニュー画面には、「レベル」、「分解方向探索順序」、「メッセージ」、「実行ボタン」が表示されている。「レベル」は、分解対象としている製品を個々の部品にまで完全に分解するか、それとも１つ以上の部品が組み立てられたサブアセンブリの段階にまで分解するかを設定する欄であり、デフォルト値は、個々の部品にまで完全に分解することを指示する「部品」に設定されている。「分解方向探索順序」は、図２に示すＣＲＴ表示部１０４の表示画面上でどの方向から順に分解方向の探索を行なうかを指定する欄であり、この図７に示す例では「垂直」（上下方向）、「水平」（左右方向）、「奥行き」（画面に垂直な方向）の順が指定されている。
【００５２】
「メッセージ」は、分解経路探索前は表示されず、分解経路探索後に、そのときの状態に応じたメッセージが表示される欄であり、この図７に示す例では、分解経路探索が行なわれた結果、部品３、部品６、部品８が自動分解できなかったことが表示されている。
「実行ボタン」は、「レベル」もしくは「分解方向探索順序」を変更したときにクリックされるアイコンであり、この実行ボタンのクリックにより、「レベル」もしくは「分解方向探索順序」の変更が確定する。
【００５３】
図８は、経路記録操作メニュー画面の一例を示した図である。
このメニュー画面も、図２に示すマウス１０３を操作して、図示しないメインメニューの、対応するアイコンをクリックすることにより、ＣＲＴ表示部１０４に表示される。
製品として組み立てられた組立状態をあらわす初期位置と、分解が完了した分解状態をあらわす最終位置との間をカーソル２１１が移動する。そのカーソル２１１の移動は、一時停止ボタン２２１、巻戻しボタン２３１、逆再生ボタン２４１、停止ボタン２５１、再生ボタン２６１、および早送りボタン２７１をマウス１０３でクリックすることにより行なわれる。
【００５４】
一時停止ボタン２２１をクリックすると、そのときに移動中のカーソル２１１の動きが一時的に停止され、一時停止ボタン２２１が再度クリックされると、カーソル２１１は、その一時停止ボタン２２１が１回目にクリックされる直前の移動を再開する。巻戻しボタン２３１は、カーソル２１１を瞬時に初期位置に移動させるボタンである。逆再生ボタン２４１は、カーソル２１１を、最終位置側から初期位置側へと所定のゆっくりとした速度で移動させるボタンである。停止ボタン２５１は移動中のカーソル２１１の移動を停止させるボタンである。停止ボタン２５１をクリックすると、一時停止ボタン２２１とは異なり、停止ボタン２５１を再度押してもカーソル２１１は停止したままの状態にとどまる。再生ボタン２６１は、カーソル２１１を、初期位置側から最終位置側へと所定のゆっくりとした速度で移動させるボタンである。さらに、早送りボタン２７１は、カーソル２１１を、瞬時に最終位置に移動させるボタンである。
【００５５】
例えば、この図８に示すメニュー画面と同時に表示されているグラフィックス画面上で所望の部品をクリックすることにより部品を指定し、次いでこの図８に示すメニュー画面上でカーソル２１１を所望の位置に移動させると、その指定された部品がそのカーソル２１１が移動された位置に対応する位置まで分解された状態のグラフィックス画面が表示される。例えば、図６に示す部品Ａ，Ｂ，Ｃ，からなる製品について部品Ａを指定し、カーソル２１１を適当な位置に動かすと、図６（ａ）に示すような、部品Ａがカーソル２１１の移動位置に対応する位置まで移動したグラフィックス画面が表示される。このようにして、部品の指定とカーソル２１１の移動とにより、製品の分解もしくは組立ての過程における任意の途中状態を再現することができる。
【００５６】
図９は、本実施形態における、本発明の第１の組立経路生成装置の特徴点の説明図である。
部品Ａが微小移動量ｄずつ図の上方に移動され、その結果現時点における最接近距離が図９（ａ）に示すＤ２であったとする。このとき、部品Ａの次の移動量ｄ＝ｄ３がｄ３＝Ｄ２に設定され、部品ＡがＤ２だけ移動されて干渉チェックが行なわれ、最接近距離Ｄ３が求められる。干渉が発生していなければ、次には、部品Ａの移動距離ｄ＝ｄ４としてｄ４＝Ｄ３が設定される。
【００５７】
このように、分解中の部品を、分解途中である現時点における最接近距離と同じ距離だけ次に移動させ、移動後の状態について干渉チェックを行なうようにすることにより、分解中の部品が残存する部品から遠く離れるに従って一回のステップの移動量が増し、単に同一の移動量ずつ移動させる場合と比べ高速の分解経路探索が可能となる。
【００５８】
図１０は、図９に示す特徴的な構成を実現するルーチンを示すフローチャートである。図５に示す基本的なルーチンのフローチャートとの相違点について説明する。
この図１０に示すフローチャートには、図５に示すフローチャートに比べ、ステップ２００＿１１とステップ２００＿１２が追加されている。ステップ２００＿１１では最接近距離Ｄｓの計算が行なわれ、ステップ２００＿１２では部品の移動量ｄとしてｄ＝Ｄｓが設定される。
【００５９】
次に、本実施形態における、本発明の第２の組立経路生成装置の特徴について説明する。
図１１は、図７に示す自動分解経路設定メニュー画面に代えて採用される操作メニュー画面を示した図である。図７に示すメニュー画面との相違点について説明する。
【００６０】
この図１１に示すメニュー画面には、図７に示すメニュー画面と比べ「危険距離」が追加されている。この危険距離は、ある部品を分解していて、その部品は他の部品とは干渉はしないものの、他の部品に近づき過ぎ、実際の組立作業の際に接触する危険を有すると判定される距離である。図１１に示す例では、「危険距離」として０．１ｍが設定されており、分解経路探索の際に分解中の部品と他の部品との最接近距離が０．１ｍ以上か否かがモニタされる。
【００６１】
図１２は、図８と同様の、経路記録操作メニュー画面の例を示した図である。
この図１２に示すメニュー画面には、図８に示すメニュー画面との相違点として、初期位置と最終位置との途中に赤色で経路警告表示が示されている。この経路警告表示は分解経路探索が終了すると、この操作メニュー上に表示される。この経路警告表示は、分解中の部品が、その警告表示位置に対応する分解経路途中で、他の部品に、危険距離（ここでは０．１ｍ）以内に接近したことを意味している。
【００６２】
分解経路探索終了後、逆再生ボタン２４１ないし再生ボタン２６１を押してカーソル２１１を移動させると、カーソル２１１が経路警告表示の位置に達する度にそのカーソル２１１に対応する状態のグラフィックス画面が表示され、オペレータにその状態を視覚的に伝達する。
図１３は、このときのグラフィックス画面の表示順序の説明図である。
【００６３】
ここでは、カーソル２１１の、経路警告表示の存在しない位置に対応するグラフィックス画面は表示されず、図１３に示すように、経路警告表示が行なわれた危険状態のグラフィックス画面のみが順次切り換わるように表示される。このように危険状態のみ表示することにより、高速な描画が可能となり、かつオペレータに危険状態を強く印象づけることができる。
【００６４】
図１４は、危険状態のグラフィックス画面を表示する際の表示態様を示す図である。
図１４（ａ）は、危険状態にある２つの部品だけでなく、そのときの分解状態にある全ての部品が表示されており、図１４（ｂ）は危険状態にある２つの部品のみが表示されている。
【００６５】
図１４（ａ）は、危険状態における分解状態の全体の把握に適しており、図１４（ｂ）は一層の高速描画、および危険状態のオペレータへの一層強い印象づけに適している。
図１５は、本発明の第２の組立経路生成装置の特徴的な構成を実現するルーチンのうちの、図５に示す基本的なルーチンに追加される部分のフローチャートである。
【００６６】
図５に示す干渉発生の有無の判定を行なうステップ２００＿４において干渉の発生がない旨判定されると、ステップ２００＿５には直接には進まずに、図１５に示すステップ２００＿１１に進み、最接近距離Ｄｓの計算が行なわれ、ステップ２００＿１３において、最接近距離Ｄｓが図１１に示す「危険距離」で設定された危険状態にあるか否かのしきい値である一定距離Ｄｄと比較され、Ｄｓ＞Ｄｄのときは直接に、Ｄｓ≦Ｄｄのときはステップ２００＿１４に進んで危険状態であることを記録した上で、図５にも示すステップ２００＿５に進む。
【００６７】
ステップ２００＿１４で記録された事項は、前述したように、図１２に示す経路記録操作メニュー画面に反映される。
次に、本実施形態における、本発明の第３の組立経路生成装置の特徴について説明する。
図１６は、本発明の第３の組立経路生成装置の特徴を説明するためのグラフィックス画面例を示す図である。
【００６８】
ここでは、図１６（ａ）に示すように部品Ａが所定距離だけ分解されると、図１６（ｂ）に示すように部品Ａがそのグラフィックス画面から消し去られ、次いで、今度は、図１６（ｃ）に示すように、部品Ｂが所定距離だけ分解されると、図１６（ｄ）に示すように部品Ｂがそのグラフィクス画面から消し去られる。逆に、組立を行なうときは、図１６（ｄ）の状態から出発し、図１６（ｃ）に示すように親部品Ｃから離れた位置に部品Ｂが現れ、図１６（ｂ）に示すようにその部品Ｂが組み立てられ、さらに図１６（ａ）に示すように部品Ａが現れ、その部品Ａが組み立てられる。
【００６９】
このように、分解の終了した部品を非表示とすることにより、グラフィック画面の描画速度が速められ、また、分解の終了した部品を干渉チェックの対象から外すこともでき、演算速度も速められ、さらに、無用の部品が表示されていない、見やすい画面が提供される。
図１７は、本発明の第３の組立経路生成装置の特徴的な構成を実現するルーチンの内の、図５に示す基本的なルーチンに追加される部品のフローチャートである。
【００７０】
ステップ２００＿５で移動距離Ｄが一定距離Ｄｓ以上であると判定されると、ステップ２０＿１５に進んで現在分解中の部品の表示が消去された後、ステップ２００＿６に進んで分解経路が記録される。
次に本実施形態における、本発明の第４の組立経路生成装置の特徴について説明する。
【００７１】
図１８は、部品や製品の形状を表わすデータの基準座標系を元に分解方向の探索順序を定めた場合に生じる問題点を説明するためのグラフィックス画面例を示した図である。
図１８に基準座標系を示すように、この図１８に示すグラフィックス画面の奥行き方向が＋Ｚ方向、左から右に向かう方向が＋Ｙ方向、下向きの方向が＋Ｘ方向であるとし、分解方向探索の順序がその基準座標系に基づいて、＋Ｚ方向、−Ｚ方向、＋Ｙ方向、−Ｙ方向、＋Ｘ方向、−Ｘ方向の順であるとする。その場合、図１８に示すように、＋Ｚ方向に分解することが可能な部品は全て＋Ｚ方向、すなわちこのグラフィックス画面の奥側に移動することになり、部品が重なったりして見にくい画面となる恐れがある。
【００７２】
図１９は、この問題点を改善した、本実施形態における、本発明の第４の組立経路生成装置の特徴点の説明のためのグラフィックス画面を示した図である。
ここでは、基準座標系とは無関係に、そのグラフィックス画面上で「垂直方向」、「水平方向」、「奥行き」の順序で分解方向の探索順序が定められる。図２に示すＣＲＴ表示部１０４に、例えば複数の視点それぞれから見た複数のグラフィックス画面を表示しておき、図２に示すマウス１０３のカーソルを、それら表示された複数のグラフィックス画面のうちの所望の１つに移動させてマウス１０３をクリックすると、そのグラフィックス画面が選択され、分解経路探索方向が、以下に例示するように、そのグラフィックス画面上での垂直な方向、水平な方向、奥行き方向の順に決定される。
【００７３】
図２０は、選択されたグラフィックス画面の一例を示す図、図２１は、分解方向探索の順序決定ルーチンのフローチャートである。
選択されたグラフィックス画面の基準座標系が、図２０に示すように、垂直方向がＺ軸方向、水平方向がＸ軸方向、奥行き方向がＹ方向の場合、図２１に示すように分解方向探索順序が定められる。
【００７４】
すなわち、ステップ３００＿１において画面の垂直方向の座標軸の判定が行なわれる。ここではＺ軸が垂直方向であると判定される。次に、ステップ３００＿２において、画面の水平方向の座標軸の判定が行なわれる。ここではＸ軸が水平方向であると判定される。次にステップ３００＿３において、分解方向探索の順序が設定される。すなわち、ここでは、図５に示すとおり、先ずステップ２００＿１において＋Ｚ方向が設定され、ステップ２００＿１０において探索順序が順次−Ｚ方向、＋Ｘ方向、−Ｘ方向、＋Ｙ方向、−Ｙ方向の順に変更されるように、分解方向探索順序が設定される。
【００７５】
図２２は、選択されたグラフィックス画面の他の例を示す図、図２３は、図２２のグラフィックス画面が選択された場合の分解方向探索順序決定ルーチンのフローチャートである。
選択されたグラフィックス画面の基準座標系が図２２に示す向きの場合、分解方向探索順序は図２３に示すように定められる。
【００７６】
すなわち、ステップ３００＿１において画面の垂直方向の座標軸の判定が行なわれる。ここではＸ軸が垂直方向であると判定される。次いでステップ３００＿２において、画面の水平方向の座標軸の判定が行なわれる。ここではＹ軸が水平方向であると判定される。次いでステップ３００＿３において分解方向の探索順序が設定される。ここでは、図５に示すステップ２００＿１において、＋Ｘ方向が設定され、ステップ２００＿１０において、探索順序が順次−Ｘ方向、＋Ｙ方向、−Ｙ方向、＋Ｚ方向、−Ｚ方向の順に変更されるように、分解方向探索順序が設定される。
【００７７】
図２４は、分解方向探索順序の変更操作を示す説明図である。
図２に示すマウス１０３の操作により、図７に示す自動分解経路生成設定メニュー画面上の「分解方向探索順序」の欄の「垂直」「水平」「奥行き」のうちのいずれかの文字をつまんで移動させ、その後図７に示す「実行ボタン」をクリックすることにより、分解方向探索順序を変更することができる。
【００７８】
次に、本実施形態における、本発明の第５の組立経路生成装置の特徴について説明する。
ここには、図５に示す基本的なルーチンに加え、縮小済であるか否かの判定のステップ２００＿１６、および部品形状を収縮するステップ２００＿１７が追加されている。
【００７９】
すなわち、現在分解対象としている部品について設計どおりの寸法のままで分解経路の探索を行ない、いずれの方向にも分解できなかったとき、ステップ２００＿１６でその部品について寸法を縮小したか否かが判定され、寸法の縮小が行なわれていないときは、ステップ２００＿１７に進んで所定の縮小パラメータ（ここでは０．０１％とする）分だけその部品の寸法が縮小され（ここでは０．９９倍とする）、再度、その縮小した部品について分解方向の探索が行なわれる。部品の寸法を縮小しても干渉の発生なしに分解することのできる方向が見つからなかったときは、ステップ２００＿８に進む。
【００８０】
このように、分解しようとしている部品の寸法を縮小すると、例えば強く嵌合させる目的で嵌合相手の穴の径よりも太い径の棒を設計した場合など、そのままではいずれの方向にも分解することができない部品であっても、分解することができる可能性が増すことになる。尚、この図２５に示す縮小パラメータ０．０１％は固定的に定めておいてもよいが、例えば、図７に示す自動分解経路生成設定メニュー画面に縮小パラメータ設定部分を追加して、縮小パラメータを任意に設定できるように構成してもよい。
【００８１】
次に、本実施形態における、本発明の第６の組立経路生成装置の特徴について説明する。
図２６は、部品ツリー構造を示す図である。
三次元ＣＡＤシステムを用いて設計された製品は、通常、この図２６に示すように、各部品の形状データの他、それらの部品の親子関係（どの親部品にどの子部品が固定されるかを示す）を含む組立配置情報を持っている。
【００８２】
そこで、ここでは、図５に１つのブロックで示す部品選択ルーチン１００において、分解経路探索を行なう部品を図２６に示す部品ツリー構造の端末側に配置された部品ほど早い順序で選択する。この図２６に示すような部品ツリー構造は、図示しないメインメニューで選択することにより、ＣＲＴ表示部１０４（図２参照）に表示することができる。
【００８３】
図２７は、このときの部品選択ルーチン１００の内容を示すフローチャートである。
部品選択ルーチン１００では、最初に、および自動分解経路生成ルーチン２００（自動分解経路生成ルーチン２００の内容については図５を参照）から戻る度に、図２６に示す部品ツリー構造の検索が行なわれ、子部品を持っていない端末部品が選択される。
【００８４】
図２８は、部品選択の具体例を示す図である。
図２８（ａ）に示す部品ツリー構造では、子部品を持っていない部品として、部品２１，部品２２１，部品３１１，部品３２，部品４１，部品４２１，部品５が存在する。そこで最初に部品選択ルーチン１００が実行された段階、およびその後自動分解経路生成ルーチン２００から部品選択ルーチン１００に戻るたびに、これら子部品を持っていない部品が順次１つずつ選択される。一旦選択され分解することのできた部品をここでは分解済みを表わすフラグとして’０’を代入することとする。すると、図２８（ｂ）の状態に達する。そこで今度は、この図２８（ｂ）の状態で子部品を持っていない部品、すなわち部品２２，部品３１，部品４，部品４２が順次選択される。ここではフラグ’０’を持っている部品は親子関係から外されている。
【００８５】
ここで、部品２２および部品３１は分解できたものの、部品４および部品４２は分解不可能であったとする。このときは部品２２および部品３１にはフラグ’０’が代入され、部品４および部品４２には分解不可能であった旨、タグが付される。
次には、図２８（ｃ）に示すように、部品２，部品３が順次選択され、図２８（ｄ）に示すように、ベースとなる部品１と、分解不可能であった部品４および部品４２とを除き、他の全ての部品に分解済みを表わすフラグ’０’が代入された状態となる。
【００８６】
ここでは、このように、部品ツリー構造の端末側の部品から先に分解経路の探索が行なわれる。これは端末側の部品ほど後から組み立てられる可能性が高く、したがって分解の際は早い段階で分解を行なった方が分解することができる可能性が高いからである。
尚、分解不可能であった部品の取り扱いについては後述する。
【００８７】
次に、本実施形態における、本発明の第７の組立経路生成装置の特徴について説明する。
図２９は、サブアセンブリの情報を有する部品ツリー構造を示す図である。
サブアセンブリは、複数の部品が組み立てられた１つの構造体をいい、サブアセンブリ単位で組立て、分解が行なわれるものである。
【００８８】
図２９に示す例では、部品２，部品２１，部品２２，部品２２１がサブアセンブリ１を構成し、部品３，部品３１，部品３１１，部品３２がサブアセンブリ２を構成し、部品４，部品４１，部品４２，部品４２１がサブアセンブリ３を構成している。部品５は独立している。あるいは、部品５は、それ１つのみで１つのサブアセンブリを構成しているものとみなしてもよい。
【００８９】
図３０は、このときの部品選択ルーチン１００の内容を示すフローチャートである。
部品選択ルーチン１００では、最初に、および自動分解経路生成ルーチン２００から戻る度に、図２９に示す部品ツリー構造の検索が行なわれ、サブアセンブリについてはそのサブアセンブリを構成する部品全てを一括して選択し、サブアセンブリを構成しない部品については、その部品を単独に選択する。
【００９０】
図７に示す自動分解経路生成設定メニューにおいて「部品」が選択されていたときは、サブアセンブリは、サブアセンブリとして一括して分解された後、そのサブアセンブリを構成する各部品に分解される。図７に示す自動分解経路生成設定メニューにおいて「サブアセンブリ」が選択されていたときは、サブアセンブリ単位で一括して分解された段階で分解は停止しそれ以上の分解は行なわれない。
【００９１】
サブアセンブリはまとまった複数の部品の集合であり、サブアセンブリ単位で分解すると分解することのできる可能性が高いため、この例に示すようにサブアセンブリの情報が存在するときは、先ずはサブアセンブリ単位で分解することが好ましい。
次に、本実施形態における、本発明の第８の組立経路生成装置の特徴について説明する。
【００９２】
図２８に参照した前述の説明では、部品ツリー構造の端末側の部品から順次１つずつ分解する旨説明したが、本実施形態には複数の部品を同時に分解するモードも存在する。ここでは、再度図２８を参照して、複数の部品を同時に分解するモードについて説明する。
図２８（ａ）の段階では子部品を持たない部品２１，部品２２１，部品３３１，部品３２，部品４１，部品４２１，部品５が同時に選択され、グラフィックス画面上同時に分解移動が行なわれる。但し、同時移動は表示のみであって、内部の演算では各部品１つずつについて順次に分解経路探索が行なわれ、その結果各部品について定められた分解経路に沿って、それら複数の部品が同時に分解移動するように表示される。
【００９３】
次に、図２８（ｂ）の段階では部品２２および部品３１が、表示上、同時に分解される。但し、前述したように部品４および部品４２は分解不可能なため、分解されずにそのまま残されることになる。
図２８（ｃ）の段階では、部品２および部品３が表示上同時に分解される。
通常は、各部品が１つずつ順次に分解されるが、例えばピン、ネジ等を分解する場合は、同時に分解した方が解り易いし、分解、組立の表示時間を短縮できるという利点がある。
【００９４】
次に、本実施形態における、本発明の第９の組立経路生成装置の特徴について説明する。
図３１は、部品分解順序を示す図である。
図示しないメインメニューで対応するアイコンをクリックすると、図２６に示すような部品ツリー構造に基づいて予め部品の分解順序が求められ、その求められた部品分解順序が、この図３１に示すように表示される。
【００９５】
そこで、マウス１０３（図２参照）を操作して、その表示画面上の部品をつまんで移動することにより、図３１（ａ）に示す部品が直列に並んだ状態を、図３１（ｂ）に示すような、複数の部品が並列に並んだ状態に変更することができる。
また、それとは逆に、図３１（ｂ）のように複数の部品が並列に並んだ状態から、図３１（ａ）のように直列に並んだ状態に変更することもできる。
【００９６】
このように、部品を並列、直列に並べ直すと、並列に並べられた複数の部品については同時に、直列に並べられた部品については順次に、分解経路が生成される。
このように分解順序を変更することにより、図２８を参照して説明した、部品ツリー構造上の部品の配置位置に基づいて機械的に並列分解動作を行なう場合と比べ、例えば複数のネジのみ同時に分解し、それらのネジと比べ部品ツリー構造上同格の位置にあるネジ以外の部品はそれらのネジとは異なるタイミングで分解するなど、きめの細かな対応が可能となる。
【００９７】
次に本実施形態における、本発明の第１０の組立経路生成装置の特徴について説明する。
図３２は、部品ツリー構造の一例を示した図である。
図２に示すＣＲＴ表示部１０４に部品ツリー構造を表わす画面を表示するにあたり、ここでは、図３２に示すように、各部品に対応した概略のグラフィックス画像も同時に表示される。
【００９８】
このような部品グラフィックス画像を含む部品ツリー構造画面を表示すると、部品の名称のみの部品ツリー構造を表示する場合と比べ、その部品を直感的に把握することができ、解り易い画面表示となる。
ここで、全ての部品についてグラフィックス画像を表示することはかえって煩わしい場合もあるため、ここでは、例えばマウス１０３（図２参照）を用いて部品名をダブルクリックする毎に、その部品名に対応するグラフィックス画像を、表示、非表示に交互に変化させる。
【００９９】
図３３は、部品属性メニュー画面を示した図である。
図３２に示すような部品ツリー構造画面が表示されている段階でマウス１０３を用いて図示しないメインメニューの対応するアイコンをクリックすることにより、部品ツリー構造画面の他、この図３３に示す部品属性メニュー画面が開かれる。
【０１００】
図３２に示す部品ツリー構造画面上の所望の部品名をクリックし、更に図３３に示す部品属性メニュー画面上の「部品イメージ表示」をクリックすると、ツリー構造画面上でクリックした部品の形状データを元にその部品の概略のグラフィックス画像が描かれ、部品属性メニュー画面内、および部品ツリー構造画面内の部品名に対応した領域に表示される。部品属性メニュー画面内のバリュエータ２８をマウス１０３でつまんで動かすと、そのバリュエータ３８の動きに応じて部品グラフィックス画像内の部品が回転する。このようにして所望の方向から見た部品グラフィックス画像を得、「イメージデータ保存」を押すと、その方向から見た部品グラフィックス画像が保存され、以後、部品ツリー構造画面内の対応する部品名をダブルクリックする毎に、その保存された部品グラフィックス画像が表示、非表示となる。
【０１０１】
次に本実施形態における、本発明の第１１の組立経路生成装置の特徴について説明する。
図３４は、ここに説明するモードにおける分解経路操作の手順を示すフローチャートである。
例えば、図５に示す自動分解経路生成ルーチン２００に従って各部品を順次分解していき、ある部品がいずれの方向にも分解できなかったとき、ここに説明するモードでは、いずれの方向にも分解できない部品に直面した段階で分解経路の自動探索が一旦中断され、自動分解経路生成が不能である旨提示される。
【０１０２】
図３５は、自動分野経路生成が不能である旨の提示方法の説明図である。
図３５（ａ），（ｂ），（ｃ）および（ｄ）は、それぞれ、自動分解経路生成設定メニュー画面、グラフィックス画面、部品ツリー構造画面、および経路記録操作メニュー画面を示しており、図３４に示すように、自動分解経路生成設定メニュー画面上には、自動分解経路生成が不能であった旨のメッセージが表示され、グラフィックス画面上には、自動分解経路生成が不能であった部品（ここでは部品３）が他の部品とは異なる態様で表示（ここではハイライト表示）され、部品ツリー構造画面においても、自動分解経路生成が不能であった部品の部品名および部品グラフィックス画像がハイライト表示され、経路記録操作メニュー画面上には、分解経路中の干渉が発生した位置に赤色の経路警告表示があらわれる。
【０１０３】
この状態に至ると、図２に示す組立経路生成装置は、その状態で待機する。その段階において、オペレータは、マウス１０３を操作してボタン２１１を経路警告表示の位置に移動させることにより、図３５（ｂ）のグラフィックス画面上でその干渉の状態を確認することができる。マウス１０３を用いて、図３５（ｂ）のグラフィックス画面の、今問題にしている部品（ここでは部品３）をつまんで動かすと、その移動経路の各点で干渉チェックが行なわれ、その部品を十分な遠方まで移動させる間干渉が発生しなければ、その部品についてマニュアルで分解経路が生成されたことになる。
【０１０４】
このようにしてマニュアルで分解経路を生成し、マウス１０３を用いて、図３５（ａ）の自動分解経路生成設定メニュー画面中の「実行ボタン」をクリックすると、その部品についてマニュアルで生成された分解経路が確定し、次の部品以降の自動的な分解経路探索が再開される。
このような操作手順を経ることにより、自動的には分解経路生成が不可能な部品が存在している製品についても分解経路を生成することができる。
【０１０５】
次に、本実施形態における、本発明の第１２の組立経路生成装置の特徴について説明する。
図３６は、ここに説明するモードにおける分解経路探索の手順を示すフローチャートである。
ここでは、例えば図５に示すルーチンに従って各部品を順次分解していき、分解不可能な部品が見つかったときは、その部品を分解せずに元の位置に戻し次の部品の分解経路検索に移る。このようにして自動的な分解が不能な部品を残し分解できる部品は全て分解し、その後自動的には分解できなかった部品全てについて、自動分解経路生成が不能である旨提示される。
【０１０６】
図３７は、このモードにおける、自動分解経路生成が不能である旨の提示方法の説明図である。
複数の部品について分解できなかった旨表示されている点を除き、図３５に示す提示方法と同様であるため、説明は省略する。
このような自動分解経路生成が不能である旨提示されると、オペレータは、マウス１０３を操作して図３７（ｄ）の経路記録操作メニュー画面上のカーソル２１１を赤色の複数の経路警告表示のうちのいずれか１つに合わせる。すると図３７（ｂ）のグラフィック画面上に他の部品と干渉した状態の分解途中の部品を含む、分解途中の製品のグラフィックス画面が現れる。そこで今度は、マウス操作により、そのグラフィックス画面上の分解途中の部品を干渉の発生しない方向に移動させる。この移動の間、装置内では干渉が発生していないか否か干渉チェックの演算が行なわれる。干渉を生じることなく十分遠方まで移動することができた場合、これにより、その部品についてマニュアルで分解経路が生成されたことになる。マウス操作により、図３７（ａ）の自動分解経路生成設定メニュー画面中の「実行ボタン」をクリックすると、その部品についてマニュアルで生成された分解経路が確定する。分解不可能な部品の数だけ上記の操作を繰り返す。一応全ての部品の分解が終了すると、今度は、図３７（ｄ）の経路記録操作メニュー画面中の逆再生ボタン２４１を押してカーソル２１１を「最終」から「初期」まで移動させ、グラフィックス画面上での各部品の組立て状況を確認する。その間、装置内では、再度の干渉チェックが行なわれる。複数の部品についてのマニュアル操作による分解経路生成を後でまとめて行なったため、順番に組立て、あるいは分解を行なうと、干渉が発生する可能性があるからである。干渉が発生した時は、再度自動分解経路生成が行なわれる。この再度の自動分解経路生成にあたっては、分解経路がマニュアルで指定された部品については、そのマニュアルで指定された分解経路が適用される。
【０１０７】
図３４，図３５を参照して説明したモードは、自動分解不可能な部品が見つかる度に自動分解経路生成ルーチンの実行が中断したが、その場合、オペレータは常に装置のそばにいる必要がある。部品点数が少ない場合はこれでもよいが、部品点数が多いときは、ここで説明したように、自動分解不可能な部品を飛ばして次の部品の自動分解経路を生成し、マニュアル操作はあとでまとめて行なうようにした方が便利である。
【０１０８】
次に、本実施形態における、本発明の第１３の組立て経路生成装置の特徴について説明する。
図３８は、グラフィックス画面上の部品Ａが分解されている途中の状態を示す図である。図３８（ａ）は三次元グラフィックス画面であるが、解り易さのため、図３８（ｂ），（ｃ）は側方から見た二次元画面を示してある。
【０１０９】
図３４および図３５を参照した説明した分解経路生成方法、あるいは図３６および図３７を参照して説明した分解経路生成方法では、マニュアルによる分解経路指定が行なわれるが、ここでは、そのマニュアル操作で部品Ａが分解されている途中であるとする。このとき、図３８（ｂ）に示すように、部品Ａが、残りの部品Ｂ，Ｃとの間の最接近距離ｄ１が所定距離Ｄｍ以上となる位置まで部品Ａが離れた場合、例えば図３８（ｃ）に示すようなその所定距離未満の領域への再進入、すなわち最接近距離ｄ２がｄ２＜Ｄｍとなる位置への部品Ａの移動を禁止する。
【０１１０】
このように、分解中の部品の移動可能領域を一定距離Ｄｍ以上離れた領域内に制限すると、干渉チェックの高速化が図られる。
図３９は、図３８に示す特徴的な構成を実現するためのルーチンを示すフローチャートである。
分解しようとする部品が選択されると、マニュアル経路生成ルーチン４００では、先ずマウス操作による、分解しようとする部品の移動方向、移動量が入力され（ステップ４００＿１）、干渉チェックが行なわれ（ステップ４００＿２）、干渉の発生の有無が判定され（ステップ４００＿３）、干渉が発生していたときは、グラフィックス画面上に干渉が発生したポイント（干渉点：図３（ａ）参照）が表示される。ステップ４００＿３で干渉が発生していないと判定されたときは、最接近距離Ｄｓが計算され、その最接近距離Ｄｓが上記の所定距離Ｄｍ以下か否かが判定され（ステップ４００＿６）、Ｄｓ＞Ｄｍのときはその分解中の部品（図３８の例では部品Ａ）が他の部品から離れているので、ステップ４００＿７に進んで、その部品（図３８の例では部品Ａ）の移動距離Ｄが分解が終了したとみなすことのできる距離Ｄｃ以上であるか否か判定される。ステップ４００＿７でＤ≧Ｄｃであると判定されるとその部品について分解が終了したものとみなされ、ステップ４００＿８において、その部品の分解経路が記録され、次の部品の選択に移る。一方、ステップ４００＿７においてＤ＜Ｄｃであると判定されると、次のマウス操作待ちの状態となる。ステップ４００＿６においてＤｓ≦Ｄｍ、即ち、分解中の部品が再進入禁止の領域内に移動するようマウス操作が行なわれた場合は、ステップ４００＿９に進み、今回のマウス操作が行なわれる前の段階に戻され、次のマウス操作待ちとなる。
【０１１１】
このようにして分解中の部品の、残りの部品からの距離Ｄｍ以内の領域への再進入が禁止される。
次に、本実施形態における、本発明の第１４の組立経路生成装置の特徴について説明する。
図４０は、本発明の第１４の組立経路生成装置の特徴的な構成を実現するためのルーチンを示すフローチャートである。図５に示す基本的なルーチンとの相違点について説明する。
【０１１２】
ステップ２００＿７において最終の探索方向である−Ｘ方向まで探索してもなお干渉が発生していると判定されると、ステップ２００＿１８に進んで分解経路探索中の部品が初期位置に戻され、次にステップ２００＿１９において、その分解経路探索中の部品が他のいずれか１つもしくは複数の部品とサブアセンブリを構成しているものとみなして、それらサブアセンブリを構成するものとみなされた複数の部品を同時に同方向に移動させて分解経路の探索を行なう。分解不能であったときは、その分解経路探索中の部品が、今度は他の部品とサブアセンブリを構成しているものとみなして、それら複数の部品を同時に同方向に移動させて分解経路探索を行なう。これを繰り返してもなお分解不可能であったときにステップ２００＿８に進む。
【０１１３】
以上のルーチンは１つずつで分解できる部品については、先に全て分解しておき、残った部品について適用される。
こうすることにより、分解経路を自動生成することのできる可能性が高められる。
図４１は、図４０を参照して説明した、本発明の第１４の組立経路生成装置の特徴の変形例を示す図である。図４０に示すルーチンとの相違点について説明する。
【０１１４】
ステップ２００＿１８で分解中の部品が初期位置に戻された後、ステップ２００＿２０で、その初期位置に戻された、分解しようとしていた部品と他の部品との干渉チェックが行なわれ、ステップ２００＿２１ではその分解しようとしていた部品とでサブアセンブリを構成する部品として、その分解しようとしている部品に接触する部品が選択される。あるいは、分解しようとしていた部品とサブアセンブリを構成する複数の部品を選択する場合は、その分解しようとしていた部品と直接には接触する部品と、その分解しようとしていた部品とは直接には接触していなくても、その直接に接触している部品に接触する部品とが選択される。
【０１１５】
ここでは、このように、順次接触した複数の部品がサブアセンブリを構成するものとみなされる。接触している部品の集まりが実際のサブアセンブリである可能性が高く、また、一体的に分解方向が決まる可能性が高いからである。
図４２，図４３は、本実施形態における本発明の第１５の組立経路生成装置の特徴点の説明図である。
【０１１６】
ここでは、図４２に示すように、３つの部品１，２，３からなる製品を考え、基準座標系は、図４２に示すように定められているものとする。
ここで、部品３を分解しようとするとき、この部品３は、この部品３からみて部品１が配置されている方向である−Ｚ方向および部品２が配置されている方向である−Ｘ方向には移動することができない。そこで、ここでは、分解経路探索に入る前に、分解（移動）することのできない方向を検出し、その分解不能な方向については、分解経路の探索そのものを行なわないようにする。そうすることより、分解経路探索の高速化が図られる。
【０１１７】
ここでは、製品を構成する各部品は、部品３について図４３に示すように、三角形ポリゴンの集合体として定義されている。
そこで、ここでは、これから分解しようとする部品について、その部品を構成する三角形ポリゴンのうち、他の部品を構成するいずれかの三角形ポリゴンと干渉している三角形ポリゴンを検出し、その三角形ポリゴンの向き（その三角形ポリゴン面に垂直であって、その三角形ポリゴンが構成している部品に対し外向きの方向をその三角形ポリゴンの向きといい、この向きのベクトルを「外向き法線ベクトル」と称する。）には、分解経路の探索を試みないようにする。
【０１１８】
図４４は、図４２，図４３を参照して説明した本発明の第１５の組立経路生成装置の特徴的な構成を実現するルーチンを示すフローチャートである。図５に示す基本的なルーチンとの相違点について説明する。
この図４４には、図５に示す基本的なルーチンと比べ、移動方向限定ルーチン５００が付加されており、さらに自動分解経路生成ルーチン中、分解方向フラグ判定のステップ２００＿２２が付加されている。
【０１１９】
移動方向限定ルーチン５００では、部品選択ルーチン１００で選択された部品について、その部品を構成する三角形ポリゴンと他の部品を構成する三角形ポリゴンとの間の干渉チェックを行ないこれから、分解しようとする部品の、他の部品と干渉している三角形ポリゴンを検出する（ステップ５００＿１，５００＿２）。分解方向フラグ設定ルーチン５００＿３では、先ず、その干渉している三角形ポリゴンの外向き法線ベクトルが分解方向（±Ｚ方向，±Ｙ方向，±Ｘ方向のいずれかの方向）と一致しているか否かが判定される（ステップ５００＿３＿１）。
【０１２０】
ここでは、分解方向は±Ｚ方向，±Ｙ方向，±Ｘ方向の合計６方向に限定されており、ここでは、外向き法線ベクトルが分解方向と一致している場合のみ、分解経路探索から除外することとしている。換言すれば、外向き法線ベクトルが上記６方向のいずれとも一致しない斜めの方向を向いているときは、その外向き法線ベクトルを持つ三角形ポリゴンが干渉していても、分解経路探索からは除外されない。
【０１２１】
ステップ５００＿３＿１において、外向き法線ベクトルと分解方向とが一致していると判定されると、その外向き法線ベクトルの方向には分解経路の探索を行なわないようにするため、その外向き法線ベクトルに対応した分解不能フラグが立てられる（ステップ５００＿３＿２）。このステップ５００＿３＿２には、省略して記載されているが、各分解方向（＋Ｚ，−Ｚ，＋Ｙ，−Ｙ，＋Ｘ，−Ｘ）の各方向に対応してそれぞれ分解不能フラグ（ｆｌａｇＺ，ｆｌａｇ−Ｚ，ｆｌａｇＹ，ｆｌａｇ−Ｙ，ｆｌａｇＸ，ｆｌａｇ−Ｘ）が定義されている。
【０１２２】
自動分解経路生成ルーチン２００に入ると、先ず分解方向が＋Ｚ方向に設定され、その＋Ｚ方向のフラグｆｌａｇＺがｆｌａｇＺ＝１であるか否かが判定される。ｆｌａｇＺ＝１のときは、＋Ｚ方向への分解経路の探索は省略してステップ２００＿１０へ進む。ステップ２００＿１０では、分解方向検索規則に従って、次の分解経路が定められるが、そのときも分解不能フラグが参照され、分解不能な方向に関しては、次の分解経路として指定しないようにしている。
【０１２３】
図４２，図４３に示す部品３の例では、−Ｚ方向と−Ｘ方向には分解経路の探索は行なわれず、探索回数が削減され、分解経路探索の高速化が図られる。
次に、本実施形態における、本発明の第１６の組立経路生成装置の特徴について説明する。
図４５は、本実施形態における、本発明の第１６の組立経路生成装置の特徴の説明図である。
【０１２４】
図４５に示すように、複雑な形状の内部空間を有する部品Ｂの、その内部空間の中に部品Ａが入り込んでおり、その部品Ａを部品Ｂの内部空間から取り出すための分解経路の探索について考える。図５に示す基本的なルーチンにおいては、いずれかの分解方向について分解経路を探索し、他の部品と干渉するとその分解経路探索を中の部品を元の位置に戻し、他の分解方向について分解経路の探索を行なうということを繰り返しており、この図４５に示すように途中で分解方向が変化する分解経路については自動探索は不可能であり、分解不可能という結論に達する。そこで、ここでは、一旦、＋Ｚ方向、−Ｚ方向、＋Ｙ方向、−Ｙ方向、＋Ｘ方向、−Ｘ方向の６方向について、初期位置から、他の部品との干渉が発生した位置までの移動距離を記録しておき、いずれかの方向にも分解不可能であった場合、今度は、それら６方向のうち最大距離移動することのできた方向に、その最大距離だけ移動し、その最大距離移動後の位置を始点として再度分解経路の探索を行なう。この再度の探索に際しては、その最大距離移動した方向、およびその方向とは逆の元の位置に戻る方向については探索の対象から除外される。以上のような方向転換処理を何回行なうかは、本実施形態ではＴＵＲＮ＿ＤＥＦＡＵＬＴにより定義されており、そこに定義された回数まで上記の方向転換処理が繰り返される。
【０１２５】
図４６は、図４５を参照して説明した本発明の第１６の組立経路生成装置の特徴的な構成を実現するルーチンを示すフローチャートである。図５に示す基本的なルーチンとの相違点について説明する。
ここでは、各分解方向について干渉が発生すると（ステップ２００＿４）、その分解中の部品の、その干渉が発生する迄の移動距離が各分解方向毎に記録される（ステップ２００＿２３）。今回発生した干渉が、最後の分解方向である−Ｘ方向に分解を試みて発生した干渉であったときは（ステップ２００＿７）、方向転換処理ルーチン２００＿２４に入る。この方向転換処理ルーチン２００＿２４では、先ず、方向転換を行なった回数ｎがあらかじめ定められた回数（ＴＵＲＮ＿ＤＥＦＡＵＬＴ）と比較され、ｎ≧ＤＥＦＡＵＬＴであれば分解不可能であると判定される。ｎ＜ＴＵＲＮ＿ＤＥＦＡＵＬＴのときは、ステップ２００＿２４＿２に進み、現在分解中の部品を、ステップ２００＿２３で記録した分解方向６方向についての移動距離の中で最大移動距離を持つ方向にその最大移動距離だけ移動する。ステップ２００＿２４＿３では、その移動方向およびその移動方向とは逆方向へは分解経路探索は不要である旨記録されて、方向転換処理ルーチン２００＿２４を抜ける。すると、ステップ２００＿１０において、分解方向が指定される。このときには分解方向の方向のうち、ステップ２００＿２４＿３で記録された方向は分解方向としては指定されず、他の４方向の中から分解方向が順次指定される。
【０１２６】
この図４６に示すルーチンを採用することにおり、図４５に示すような複雑な分解経路の探索が可能となる。
次に、本実施形態における、本発明の第１７の組立経路生成装置の特徴について説明する。
図４７，図４８は、本実施形態における、本発明の第１７の組立経路生成装置の特徴点の説明図である。
【０１２７】
図４７（Ａ）は、部品Ａを部品Ｂから分解しようとしている状態を示す斜視図および側面図である。
部品Ａは、部品Ｂの階段状の部分に厳密に一致するように配置されており、このままでは、部品Ａは部品Ｂと干渉しており部品Ａを分解することはできない。そこでこのようなときは、図４７（Ｂ）に示すように、部品Ａの、部品Ｂと干渉している三角形ポリゴンを検出し、その三角形ポリゴンの寸法を縮小するとともに、その寸法を縮小した三角形ポリゴンを部品Ａの内側に移動させる。このようにして作成した部品Ａ’は部品Ｂとの間にある有限の距離ｄを持つことになり、部品Ｂとは干渉していないと判定され、部品Ａ’を部品Ｂから分解することができる。部品Ａについて干渉している三角形ポリゴンを上記のように変更してもなお、干渉状態が続いている場合は、接触しているのではなく、真に干渉しているものと判定される。
【０１２８】
図４８（Ａ）について、部品Ａは、部品Ｂの穴に嵌め込まれたあるいは螺合された、例えばピンやネジのようなものであり、ネジの場合はネジ山が部品Ｂのネジ山と重なり合い、ピンの場合は、穴に強く嵌合させるために穴の内径よりも若干太いピンを設計した場合など、図４８（Ａ）のように部品Ａと部品Ｂとが重なり合い、すなわち部品Ａと部品Ｂとが干渉し、このままでは、部品Ａを部品Ｂから分解することは不可能である。そこで、図４７（Ｂ）を参照して説明した場合と同様、部品Ａの、部品Ｂと干渉しているポリゴンについて、その形状を縮小するとともに部品Ａの内側に移動させた部品Ａ’を作成し、部品Ｂとの間に有限の距離ｄが発生すれば、真の干渉ではないとみなして部品Ａ’を部品Ｂから分解することができる。ここでは、干渉しているポリゴンのみ変更するため、分解しようとする部品（ここでは部品Ａ）の全体の寸法を縮小する方式と比べ演算量が少なくて済み、分解経路探索の高速化が図られる。
【０１２９】
ここで、本実施形態では、干渉しているポリゴンをどの程度縮小し部品内部にどの程度移動させるかを規定する属性データＴＯＬＥＲＡＮＣＥが部品毎に定義されており、デフォルト値はＴＯＬＥＲＡＮＣＥ＝１．０×１０-5である。
図４９は、干渉しているポリゴンの寸法を縮小し位置を移動させるアルゴリズムの説明図、図５０は、図４９の説明中で参照される、分解経路探索中の部品の包絡球を示す図である。
【０１３０】
ここに示す三角形ポリゴンは、その三角形の３つの頂点の座標を表わす座標ベクトルＶ０，Ｖ１，Ｖ２と、単位長さの外向き法線ベクトルｎ０のデータで規定されている。
先ず縮小する前の元の三角形ポリゴンの重心座標Ｖｇを、
Ｖｇ＝（Ｖ０＋Ｖ１＋Ｖ２）／３
により求め、Ｖ０からＶ１に向うベクトルをＶ０１，Ｖ０からＶ２に向うベクトルをＶ０２としたとき、それら２つのベクトルの外積ベクトル
ｏｕｔｅｒＶ＝Ｖ０１×Ｖ０２
を求め、その外積ベクトルｏｕｔｅｒＶを内向きに確定するためにこの外積ベクトルｏｕｔｅｒＶと外向き法線ベクトルｎ０との内積
ｉｎｎｅｒＶ＝ｏｕｔｅｒＶ・ｎ０
が求められて、
ｉｎｎｅｒＶ＝０
すなわち、ｏｕｔｅｒＶの方向が外向き法線ベクトルｎ０の方向と一致していたときは、
ｏｕｔｅｒＶ＝ｏｕｔｅｒＶ・（−１．０）
の演算により、外積ベクトルｏｕｔｅｒＶを内向き（図４９に示す向き）に確定させる。
【０１３１】
次いで、縮小基準点Ｖｇ２を、
Ｖｇ２＝Ｖｇ−ｒ・ｏｕｔｅｒＶ／｜ｏｕｔｅｒＶ｜
により求める。ここで、ｒは、図５に示すように、今問題にしている（分解しようとしている）部品を包む最小半径の球（包絡球）の半径である。
このようにして縮小基準点Ｖｇ２が求められると、各座標Ｖ０，Ｖ１，Ｖ２が、
Ｖ０’＝Ｖｇ２＋（Ｖ０−Ｖｇ２）・ｓｃａｌｅ
Ｖ１’＝Ｖｇ２＋（Ｖ１−Ｖｇ２）・ｓｃａｌｅ
Ｖ２’＝Ｖｇ２＋（Ｖ２−Ｖｇ２）・ｓｃａｌｅ
に変更される。ここでｓｃａｌｅは、上述した、部品毎の付属データとして規定されたＴＯＬＥＲＡＮＣＥと、図５０に示す包絡球半径ｒを用いて、
ｓｃａｌｅ＝（ｒ−ＴＯＬＥＲＡＮＣＥ）／ｒ
で定義される量である。
【０１３２】
図５１は、図４７〜図５０を参照し説明した本発明の第１７の組立経路生成装置の特徴的な構成を実現するルーチンを示すフローチャートである。この図５１に示すフローチャートは、その全体が図５１に示す基本的なルーチンの、干渉チェックのステップ２００＿３に対応している。
図５１に示す干渉チェックルーチン２００＿３では、先ずステップ２００＿３＿１において、分解経路探索中の部品を構成する各ポリゴンと他の部品の各ポリゴンとの、干渉している、あるいは干渉している可能性のある組み合わせが抽出される。このステップ２００＿３＿１では分解経路探索中の部品の三角形ポリゴンと他の部品の三角形ポリゴンとの全ての組合せについて順次干渉チェックを行なうものであってもよいが、より好ましくは、包絡球で多重に包み込み包絡球どうしが干渉しているか否かを調べるいわゆるＢｕｂｂｌｅ  Ｃｏｌｌｉｓｉｏｎ法（特開平９−２７０４６号公報、ＵＳＰ６６８１４５号参照）を好適に採用することができる。
【０１３３】
この干渉チェックステップ２００＿３＿１においては、例えばＢｕｂｂｌｅ  Ｃｏｌｌｉｓｉｏｎ法により、干渉している可能性のある複数の三角形ポリゴンの組み合わせが抽出され、それらの組み合わせ１つずつについて干渉が発生しているか否かが判定される（ステップ２００＿３＿２）。
いずれの組合せについても干渉が発生していないと判定されると、移動可能であるという情報を持ってこの干渉チェックルーチン２００＿３を抜ける。
【０１３４】
１つの組合せでも干渉が発生していると判定されると、ステップ２００＿３＿３に進み、その干渉が発生している組合せを構成する２つの三角形ポリゴンのうち、分解経路探索中のポリゴンが上述のアルゴリズムに従って縮小変換される。ステップ２００＿３＿４では、一度縮小変換した三角形ポリゴンについて再度同じ計算をしないで済むように、縮小した三角形ポリゴンの番号と縮小変換後の頂点Ｖ０’，Ｖ１’，Ｖ２’を記録しておく。ステップ２００＿３＿５では、このように縮小した三角形ポリゴンと、縮小変換する前のポリゴンと干渉していた他の部品の三角形ポリゴンとの干渉チェックが行なわれ、今度は干渉が発生していなければ（ステップ２００＿３＿６）、接触していただけとみなし、干渉フラグｃｏｌｆｌｇに接触をあらわすＣＯＮＴＡＣＴが格納される。
【０１３５】
ステップ２００＿３＿３〜ステップ２００＿３＿８が、ステップ２００＿３＿２で干渉が発生していると判定された全ての組み合わせについて繰り返され、全てが‘接触’であったときは（ステップ２００＿３＿９）。この干渉チェックルーチン２００＿３を抜ける。
ステップ２００＿３＿６において、縮小変換後の三角形ポリゴンについてなおも干渉が発生していると判定されると、真に干渉しているものと判定されて、干渉フラグｃｏｌｆｌｇに真の干渉をあらわす値ＴＲＵＥが格納され、この干渉チェックルーチン２００＿３を抜ける。
【０１３６】
ここで、図５に示すように、分解経路探索中の部品が微小距離ｄだけ移動する毎に干渉チェックルーチン２００＿３に入る。そのとき、例えば図４７，図４８に示すように、‘接触’とみなされた三角形ポリゴンが再びステップ２００＿３＿２で干渉していると判定される場合もある。このときは、ステップ２００＿３＿３はスキップして、ステップ２００＿３＿４において前回縮小変換済の頂点座標Ｖ０’，Ｖ１’，Ｖ２’が読み出される。
【０１３７】
以上のようなルーチンを採用すると、図４７に示すような、完全に接触している場合や、図４８に示すような部品どうしが多少重なっている場合にも正しい分解経路を探索することが可能となる。
次に、本実施形態における、本発明の第１８の組立経路生成装置の特徴について説明する。
【０１３８】
図５２は、３つの部品を示した斜視図である。
これら３つの部品はいずれもコ字状の部品であり、部品１と部品２は、各部品１、２の窪んだ部分が互いに向き合うように水平に配置されており、部品３は部品１と部品２の窪んだ部分に嵌合するように縦向きに配置されている。
図５３は、図５２に示す３つの部品が組み合わされた状態を示す上面図（Ａ）、正面図（Ｂ）、および側面図（Ｃ）である。
【０１３９】
ここでは、部品１と部品２は、他の部品Ａ，Ｂに挟まれ、それらの部品Ａ，Ｂの方向には移動不可能な状態にある。このとき部品１，部品２は、図５３に示す矢印の方向に所定距離移動することはできるが、所定距離移動した時点で部品３に干渉してしまい、分解不可能である。一方、部品３も、部品１，部品２と干渉し分解不可能である。図５に示す基本ルーチンでは、このような場合、分解不可能と判定される結果となる。
【０１４０】
図５４は、図５３に示す組合せにおいて、部品１，部品２を図５３に示す矢印方向に最大限移動した状態を示す上面図（Ａ）、正面図（Ｂ）、および側面図（Ｃ）である。
部品１，２を図５４に示すように移動すると、その状態では部品３を上方に分解することができる。ここでは、このような連携動作を可能とし、分解経路探索の柔軟性を増している。
【０１４１】
図５５は、図５３〜図５４を参照して説明した、本発明の第１８の組立経路生成装置の特徴的な構成を実現するルーチンを示すフローチャートである。図５に示す基本ルーチンとの相違点について説明する。
ここでは、各分解方向について干渉が発生すると（ステップ２００＿４）、現在分解経路探索中の部品の、その干渉が発生する迄の移動距離が各分解方向毎に記録される（ステップ２００＿２３）。
【０１４２】
ある部品について全ての方向について分解経路の探索を行ない、最終の探索方向である−Ｘ方向についての探索が終了すると（ステップ２００＿７）、今回この部品が初回に選択されたのか否かが判定され（ステップ２００＿２４）、その部品に関し１回目の部品選択であったときは次の部品選択に移る。
以上のようにして全部品について１回目の分解経路の探索が終了した後、今度は、部品選択ルーチン１００により、未だ分解することができないでいる部品が順次選択される。
その分解できなかった部品のうちの１つの部品が選択され、再度ステップ２００＿２４に達すると、今度はその部品選択は１回目ではないのでステップ２００＿２５に進み、その部品選択が２回目か否かが判定される。部品選択が２回目であると判定されると、ステップ２００＿２６に進み、現在選択されている部品が、その部品についてステップ２００＿２３で記録された６方向それぞれについての移動距離の中で最大の移動距離を持つ方向に、初期位置からその最大距離だけ移動されてステップ２００＿６に進み、その最大移動距離だけ移動したことが記録され、次の部品の選択に移る。このようにして、ある部品（例えば図５２〜図５４に示す部品１と部品２）をその最大移動距離だけ移動したとき、他の部品（例えば図５２〜図５４に示す部品３）の分解経路が見つかった（ステップ２００＿５）ときは、その分解できた部品についての分解経路が記録される（ステップ２００＿６）。
【０１４３】
それでもなお分解経路が見つからず、もう一度ステップ２００＿２４に達すると、ステップ２００＿２５に進んで部品選択が２回目ではないと判定され、さらにステップ２００＿２７に進んだ部品選択が３回目であると判定され、ステップ２００＿９に進んで、これまでの過程で未だ分解できない部品のうち初期位置から移動した状態にある部品があるときはそれらの部品が全て初期位置に戻され、未だ分解できていない部品全てについて、ステップ２００＿１０において、＋Ｚ方向を含め分解方向が順次設定されながらもう一度分解経路の探索が行なわれる。部品選択が４回目の部品が１つでも発生すると（ステップ２５０＿２７）、ステップ２００＿２８に進み、初期位置から移動している部品があるときは全て初期位置に戻されて、未だ分解できていない部品全てについて分解不可能である旨システムに通知される（ステップ２００＿２９）。
【０１４４】
その後の分解経路の探索については、例えば前述したサブアセンブリ化手法を適用するなど、他の手法が採用されることになる。
図５６，図５７は、各部品１，２，３，４，５，……の、分解可能，分解不可能の様子を示す図である。
図５６に示す例は、部品１，２，３は１回目では分解することができず、部品４，５，……は分解できたことをあらわしている。２回目では、部品１と部品２は、最大距離移動できる方向にその最大距離だけ移動され、その状態で部品３が分解でき、３回目では、部品１と部品２が元の位置に戻された上で分解ができたことを意味している。
【０１４５】
図５７に示す例では、１回目は、部品１，２，３，４が分解不可能、部品５以降は分解でき、２回目では、部品１と部品２は最大距離移動できる方向にその最大距離だけ移動され、その状態で部品３は分解できたものの部品４は引き続き分解不可能であり、３回目では部品１と部品２は元の位置に戻された後もう一度分解経路探索が行なわれたが分解不可能であり、部品４も引き続き分解不可能であったことを示している。この図５７に示す例のように、図５５のルーチンによっても分解不可能な部品が残っているときは、その後、前述したサブアセンブリ化等、他の手法による分解が試みられる。
【０１４６】
ここでは複数の部品の連携動作を可能としたため、自動分解経路探索により分解経路を検出できる可能性が高まり、より一般的な複雑な製品に、この自動分解経路探索手法を適用することができる。
次に、本実施形態における、本発明の第１９の組立経路生成装置の特徴について説明する。
【０１４７】
図５８は、本実施形態における、本発明の第１９の組立経路生成装置の特徴点の説明図である。
これまでは、分解経路探索の対象としてその製品を構成する部品（サブアセンブリを含む）のみを取り扱ってきたが、実際の分解、組立てにあたっては、分解、組立てを行なうための工具や手なども、分解、組立てしようとする部品とともに他の部品に干渉しないかどうか確認することが望ましい。
【０１４８】
そこで、ここでは、図５８に示すように例えば‘手’のモデルを部品に付けた状態で、その手のモデルとその手でつかんだ部品とを一体的な部品とみなして分解経路の探索を行なう。こうすることにより、分解、組立ての容易な経路を探索することができる。
図５９は、本実施形態における、本発明の第１９の組立経路生成装置の特徴的な構成を実現する自動分解経路生成設定メニュー画面の一例を示した図である。
【０１４９】
この図５９に示す自動分解経路生成設定メニュー画面には、図７に示す自動分解経路生成設定メニュー画面と比べ、補助部品のメニューが付加されている。
この補助部品のメニューには、補助部品なし、手、工具、自動機の別があり、デフォルト値としては補助部品なしが指定されている。手、工具、自動機のモデルは、別途用意されている。補助部品を指定するには図２に示すマウス１０３が用いられ、この図５９に示す自動分解経路設定メニュー画面上で、指定しようとする補助部品がクリックされる。
【０１５０】
図６０は、本実施形態における、本発明の第１９の組立経路生成装置の特徴点を示した部品選択ルーチンのフローチャートである。
部品選択ルーチン１００では、先ず所定のアルゴリズムに従って部品が選択され、次いで補助部品が指定されているか否かが判定される。補助部品が指定されているときは選択されている部品にその指定されている補助部品が貼り付けられ、自動分解経路生成ルーチン２００では、それら部品と補助部品とを一体の部品であるとみなして分解経路の探索が行なわれる。
【０１５１】
尚、ここでは、部品に補助部品を貼り付けるにあたり、１つの製品を構成する全ての部品について同一の補助部品を貼り付ける例を示したが、部品毎に、補助部品を貼り付けないことを含め異なる補助部品を貼り付けるように構成してもよい。また、ここでは、補助部品を貼り付ける場合にいきなり補助部品を貼り付けて分解経路の探索を行なっているが、補助部品を貼り付ける場合であっても、先ずは補助部品なしで分解経路探索を行ない、分解できたときに、今度はその部品に補助部品を貼り付けて、補助部品を貼り付けた状態でも分解できるかどうか確認するようにしてもよい。
【０１５２】
次に、本実施形態における、本発明の第２０の組立経路生成装置の特徴について説明する。
図６１は、本実施形態における、本発明の第２０の組立経路生成装置の特徴点の説明図である。
ここでは、部品１と部品２が部品３の内部に配置されており、部品２は回転関節を持ち図６１（Ａ）に示す矢印の方向に回転可能である。
【０１５３】
この状態に置いて、部品１を部品３から取り出すことを考える。
先ず、図６１（Ａ）に示すように、部品１を微小距離Δｄだけ図６１（Ａ）の下の方向に移動しては干渉チェックが行なわれ、図６１（Ｂ）に示すように部品１と部品２が干渉すると、図６１（Ｃ）に示すように、部品１の移動に合わせて部品２が回転する。
【０１５４】
図６２は、部品２の回転量Δθの演算アルゴリズムの説明図である。
部品１は、微小距離Δｄずつ移動し、図６２に示す状態で部品２との干渉が最初に発生したものとする。このとき、部品２の、部品１と干渉した各数の点のうちの一点が干渉発生点として選択される。この図６２では、部品２の１つの頂点が干渉発生点Ｂとして選択されているが、部品１と干渉している多数の点のうちのどの点が干渉発生点として選択されるかは不明である。干渉発生点Ｂが選択されると、その干渉発生点Ｂから、延びる部品１の、干渉が発生したポリゴンの外向き法線ベクトルの方向の垂線と、部品２の回転中心点Ａを通り、部品１の干渉が発生したポリゴンの面に平行な面との交点Ｃが求められ、さらに、部品１が微小距離Δｄだけさらに移動したときの部品１の表面と上記の垂線との交点Ｄが求められ、角度Δθが
Δθ＝∠ＣＡＢ−∠ＣＡＤ
により求められる。次いで、部品２が角度Δθだけ回転され、部品１の移動と部品２の回転とが並列化される（並列化については図３１およびその説明を参照）。これによりグラフィック画面上では部品１と部品２が同時に移動、回転する。
【０１５５】
このように、分解経路探索中の部品が回転関節を持った可動部品と干渉したとき、その可動部品もその可動部品の可動範囲内で一緒に動くように構成することにより、自動経路生成ルーチンの適用範囲が大きく広がることになる。
図６３は、図６１，図６２を参照して説明した、本発明の第２０の組立経路生成装置の特徴的な構成を実現するルーチンを示すフローチャートである。図５に示す基本ルーチンとの相違点について説明する。
【０１５６】
図６３に示す自動分解経路生成ルーチンには、図５に示す基本ルーチンに、干渉連鎖自動分解のステップ２００＿３３が付加されている。この干渉連鎖自動分解のステップ２００＿３３は、１つのサブルーチンを成している。
図６４は、図６３に１つのブロックで示す干渉連鎖自動分解ルーチンのフローチャートである。
【０１５７】
ここでは、図６１，図６２に示すように、現在分解中の部品を部品１と呼んでいる。
図６４に示す干渉連鎖自動分解ルーチンでは、先ずステップ２００＿３３＿１において、部品１の分解経路探索中に干渉が発生した場合に、どの部品との干渉が発生したかを調べる。ここでは干渉が発生した部品を部品２と称する。次いでステップ２００＿３３＿２では、その部品２を定義している情報を調べてその部品２に関節が設定されているか否かが調べられる。本実施形態では、関節のうち回転関節のみを対象としており、ステップ２００＿３３＿３では、部品２に関節が設定されている場合に、その設定されている関節が回転関節であるか否かが調べられる。部品２に関節が設定されていない場合、あるいは関節が設定されていても回転関節以外の関節が設定されている場合は、このままこの干渉連鎖自動分解ルーチン２００＿３３を抜ける。
【０１５８】
部品２に回転関節が設定されているときは、ステップ２００＿３３＿４に進んで前述のアルゴリズムに従って部品２の回転角度Δθが求められ、部品２がその回転角度Δθだけ回転され（ステップ２００＿３３＿５）、部品１の微小移動Δｄと部品２の回転Δθが並列化されるよう分解経路に記録される（ステップ２００＿３３＿６）。
【０１５９】
ただし、図６１〜図６４を参照して説明した手法では、厳密な意味では、部品１と部品２とは接触した状態には保たれず、部品２の一部が部品１の中に入り込むような状態が生じる。そこで次に、それらの干渉点を常に一致させる手法について説明する。
図６５は、部品１と部品２の干渉点どうしが一致するように部品１と部品２を移動、回転させるアルゴリズムの説明図である。
【０１６０】
図６５（Ａ）の状態から出発し、図６５（Ｂ）に示すように干渉が発生すると、部品１を、１ステップだけ、今移動してきた方向とは逆の方向に戻す。次いで、図６５（Ｃ）に示すように、部品２をあらかじめ決められた角度、例えば１０°だけ回転してその回転後の部品２と１ステップ戻った状態の部品１との間の最短距離ｄを求め、部品を、あらためて、その最短距離ｄだけ移動する。こうすることにより、部品２と部品１とが常に接触した状態で移動、回転することになる。
【０１６１】
図６６は、図６５を参照して説明したアルゴリズムを実現する、干渉連鎖自動分解ルーチンのフローチャートである。
ここでも、自動分解経路生成ルーチン２００の全体は図６３に示すフローがそのまま適応され、干渉連鎖自動分解のステップ２００＿３３に、図６４に示す干渉連鎖自動分解ルーチンに代えて、図６６に示す干渉連鎖自動分解ルーチンが当てはめられる。
【０１６２】
図６６に示す干渉連鎖自動分解ルーチンでは、先ず、図６４に示す干渉連鎖自動分解ルーチンと同様、干渉が発生した部品が調べられ（ここでは干渉が発生した部品を部品２とする）（ステップ２００＿３３＿１）、その部品２に関節設定があるか否か調べられ（ステップ２００＿３３＿２）、関節設定があるときは、その設定されている関節が回転関節であるか否かが判定され（ステップ２００＿３３＿３）、部品２に関節が設定されていない場合、および関節が設定されていても回転関節以外の関節が設定されているときは、この干渉連鎖自動分解ルーチンを抜ける。
【０１６３】
部品２に回転関節が設定されていたときは、ステップ２００＿３３＿７に進み、現在分解経路探索中の部品１が今進んできた方向とは逆の方向に１ステップ分（Δｄだけ）戻され、部品２が、あらかじめ定めておいた角度Δθ（例えばΔθ＝１０°）だけ回転され（ステップ２００＿３３＿８）。部品１と部品２との間の最短距離ｄが求められ（ステップ２００＿３３＿９）、その最短距離ｄだけ部品１が進行方向に移動され（ステップ２００＿３３＿１０）、部品２と部品１の今回の移動が並列化されて、分解経路に記録される（ステップ２００＿３３＿６）。
【０１６４】
これにより、干渉している部品１と部品２が常に接触した状態で同時に移動、回転することになる。
このように、分解経路探索中の部品が回転関節を持った部品と干渉したときに、それら双方の部品を同時に動かすことにより、自動経路生成ルーチンの適用範囲が大きく広がることになる。
【０１６５】
次に、本実施形態における、本発明の第２１の組立経路生成装置の特徴について説明する。
図６７は、本実施形態における、本発明の第２１の組立経路生成装置の特徴点の説明図である。
１つの製品が多数の部品から構成されている場合、あるいは複雑な部品から構成されている場合、グラフィックスの描画速度が低下し、たとえ高速動作可能のＣＰＵを用い、グラフィックス描画専用のハードウェア（グラフィックスアクセラレータボート）を使用した場合であってもこの問題は十分には解消されない。
【０１６６】
そこで、図７（Ａ）に示すように１つの製品が多数の部品から構成されている場合であっても、ここでは、移動中の部品（部品３）と、その部品３に最も近接した部品（部品２）のみグラフィックス描画を行なう。こうすることで、この組立経路生成装置を操作している操作者の、必要な部品への注目度が高められるとともに、描画量が減少するため描画速度が向上する。
【０１６７】
図６８は、図６７を参照して説明した本発明の第２１の組立経路生成装置に特徴的な構成を実現するルーチンを示すフローチャートである。
ここには、部品選択ルーチン１００および自動分解経路生成ルーチン２００と並列的に動作することのできる、グラフィックス画像を描画する分解経路再生ルーチンが示されている。
【０１６８】
この分解経路再生ルーチン６００では、自動分解経路生成ルーチン２００のステップ２００＿６で記録された部品の分解経路が参照され、分解中の部品を含む画像が描画表示される。
先ずステップ６００＿１では、分解経路表示用に選択された部品（自動分解経路生成ルーチン２００と並列的に動作させるときは、分解経路探索中の部品が分解経路表示用としても選択される）を、記録された分解経路に沿って移動し、次いで他の部品との距離が求められ（ステップ６００＿２）、選択された部品に対し最近接距離にある部品が求められる（ステップ６００＿３）。ステップ６００＿４では、このようにして求めた最近接距離にある部品が描画され、ステップ６００＿５では、選択された部品が描画され、以上の過程が、選択された部品が分解経路の最終位置へ移動するまで繰り返され（ステップ６００＿６）、最終位置へ達すると、今回選択された部品の分解経路の再生は終了し、必要に応じて次の部品の分解経路の再生に移行する。
【０１６９】
次に、本実施形態における、本発明の第２２の組立経路生成装置の特徴について説明する。
図６９は、本実施形態における、本発明の第２２の組立経路生成装置の特徴点の説明図である。
ここでは部品３について分解経路表示中であるとし、その部品３を除く他の部品は、一度描画したら、その部品３が分解経路の最終位置に達するまでそのまま表示しておき、部品３のみ、その移動する経路に沿って再描画する。この場合、再描画するのは移動中の部品のみであり、高速描画が可能となる。
【０１７０】
図６９に示す例では、部品３も、部品３を除く他の部品もグラフィックスで描画されており、部品３は、前に描画した部品３の表示を残したまま、再描画されている。
図７０は、図６９を参照して説明した本発明の第２２の組立経路生成装置に特徴的な構成を実現するルーチンを示すフローチャートである。ここには、図６８に示す分解経路再生ルーチンに代えて採用される分解経路再生ルーチンが示されている。
【０１７１】
この図７０に示す分解経路再生ルーチン６００では、選択された部品（図６９に示す例では部品３）以外の部品が描画され（ステップ６００＿７）、選択された部品が記録された分解経路に沿って移動される（ステップ６００＿８）。ステップ６００＿９は、そのモードに応じて設定されるステップであり、選択された部品について一旦描画したときに、その描画を消去せずに再描画を行なうモードのときは、そのステップ６００＿９は省かれ、その選択された移動中の部品について前の描画を消去した上で再描画を行なうモードのときは、このステップ６００＿９が挿入される。ステップ６００＿１０では、選択された部品が描画され（ステップ６００＿１０）、以上の過程が、選択された部品が分解経路の最終位置へ移動するまで繰り返され（ステップ６００＿１１）、最終位置へ達すると今回選択された部品の分解経路の再生は終了し、必要に応じて次の部品の分解経路の再生に移行する。
【０１７２】
図７１は、本実施形態における、本発明の第２２の組立経路生成装置の特徴点のもう１つの態様を示す説明図である。
図７１に示すように、表示画面上に、移動中の部品３を含む部品１〜部品５の図形が表示されており（図７１（Ａ））、さらに、これらの部品の部品ツリーが表示されている（図７１（Ｂ））。
【０１７３】
ここで、図２に示すマウス１０３を操作して部品ツリーの中から部品３を分解経路表示用に選択すると、先ず、部品３を除く他の部品が、各画素毎に画素値を持つイメージとして描画され、そのイメージ図が板形状の上に貼りつけられる。選択された部品３のみはグラフィックス描画される。このようにして、選択された部品以外の部品はイメージ図を表示したままにしておき、選択された部品のみ移動に応じてグラフィックス描画を繰り返すことで、描画時間の短縮化が実現する。移動部品を変更するときは、部品ツリー上で部品が選択し直される。
【０１７４】
図７２は、図７１を参照して説明した本発明の第２２の組立経路生成装置の特徴的な構成を実現するルーチンを示すフローチャートである。
この図７２には、図６８、図７０に示す分解経路再生ルーチンに代えて採用される分解経路再生ルーチンが示されている。ここに示す分解経路再生ルーチンは、図７０に示す分解経路再生ルーチンと同様のステップが存在するため、同様のステップについては図７０と同一の符号を付して示し、ここでは、図７０に示す分解経路再生ルーチンとの相違点について説明する。
【０１７５】
ステップ６００＿１２では、選択された部品（図７１に示す例では部品３）以外の部品がイメージで描画され、ステップ６００＿１３では選択された部品が三次元コンピュータグラフィックスで描画、ないし再描画される。
ところで、図７１では、部品ツリーを利用して分解経路を表示させる部品を選択する旨説明したが、以下のように工夫することにより、部品を表示した画面上で部品をクリックすることによっても、部品を選択し直すことができる。
【０１７６】
図７３は、イメージ図が描画された画面上で部品を選択し直すための工夫を説明するための図である。
ここでは、他の部品を選択できるようにするために、イメージ図を１枚の板に貼り付けるのではなく、図７３（Ａ）に示すように、格子状に分解された多数の板全体にイメージを貼り付ける。それと同時に、各板がマウスでピッキングされたときにどの部品を選択するかを、各板の情報として保持させる。例えば、図７３に示す番号で縦４，横３の板には、部品１の一部分が貼りつけられており、この板がピッキングされたときには部品１が選択されるように、この板には部品１を選択する旨の情報が添付される。同様に縦１横３の板には部品４が割り当てられる。部品３の分解経路を表示している途中あるいはそれが終了した後に、部品１の分解経路を表示するよう部品１を選択するときには、例えば、縦４横３の板をクリックすればよい。そうすると、今度は、部品１を除く他の部品がイメージで描画され、部品１のみ三次元コンピュータグラフィックスで描画される。その部品１を除く部品をイメージを描画する際は、やはり多数枚の板の集合にそのイメージ図の全体が貼りつけられ、選択される部品の情報が各板に割り当てられる。
【０１７７】
ここで、図７３に示す状態において、例えば縦２横３の板には、部品２と部品４との複数の部品が割り当てられるが、このように１枚の板に複数の部品が割り当てられ、その板がクリックされたときは、図７３（Ｂ）に示すように、そのクリックされた板に割り当てられた複数の部品の一覧を表示し、そこに表示された複数の部品の中から所望の部品を選択させるようにすればよい。あるいは１枚の板に必ず部品１つが割り当てられるように、板を細かく設定してもよい。
【０１７８】
次に、本実施形態における、本発明の第２３の組立経路生成装置の特徴について説明する。
図７４は、本実施形態における、本発明の第２３の組立経路生成装置の特徴点の説明図である。
ここでは部品１〜部品５からなる製品のうちの部品３が選択されているものとする。このとき、部品３は高品質なＡＰＩ（三次元コンピュータグラフィックスライブラリ）である、例えばＯｐｅｎ  ＧＬ等で描画され、その選択されている部品３以外の部品は、画質は多少劣るものの高速描画が可能なＡＰＩ、例えばＤｉｒｅｃｔ３Ｄ等で描画される。
【０１７９】
今関心のある部品は部品３であるため、部品３のみ高品質描画を行い他の部品は多少の画質低下を犠牲にして高速描画を行なうことにより、全体として高速描画が実現できる。
図７５は、図７４を参照して説明した本発明の第２３の組立経路生成装置に特徴的な構成を実現する分解経路再生ルーチンを示すフローチャートである。図７０に示す分解経路再生ルーチンとの相違点について説明する。
【０１８０】
ステップ６００＿１４では、選択された部品（図７４の例では部品３）以外の部品が高速なＡＰＩ（Ｄｉｒｅｃｔ３Ｄ等）で描画される。一方、ステップ６００＿１５では、選択された部品が高品質なＡＰＩ（Ｏｐｅｎ  ＧＬ等）で描画、ないし再描画される。
図７６は、実施形態における、本発明の第２３の組立経路生成装置の特徴点のもう１つの態様の説明図である。
【０１８１】
ここでは、部品１〜部品５からなる製品のうちの部品３が選択されており、その部品３以外の部品は線画で描画され、部品３のみ、シェーディング（面を塗りつぶす描画態様）で描画されている。
今関心のある部品３以外の部品を線画で描画することにより高速描画が可能となる。
【０１８２】
図７７は、図７６を参照して説明した、本発明の第２３の組立経路生成装置の特徴的な構成を実現する分解経路再生ルーチンを示すフローチャートである。図７５に示す分解経路再生ルーチンとの相違点について説明する。
ステップ６００＿１６では選択された部品以外の部品が線画で描画され、一方ステップ６００＿１７では選択された部品がシェーディングで描画、ないし再描画される。
【０１８３】
次に、本実施形態における、本発明の第２４の組立経路生成装置の特徴について説明する。
図７８は、本実施形態における、本発明の第２４の組立経路生成装置の特徴的な構成を実現するため分解経路再生ルーチンのフローチャートである。図７０に示す分解経路再生ルーチンとの相違点について説明する。
【０１８４】
図７７に示す分解経路再生ルーチンには、図７０に示す分解経路再生ルーチンと比べ、選択された部品の再描画に先立ってその選択された部品の前回の描画を消すステップ６００＿９が挿入され、さらにアニメーションとして保存するステップ６００＿１８が付加されている。この図７７に示す分解経路再生ルーチンは自動分解経路再生ルーチンの実行と並列的に実行される。
【０１８５】
ステップ６００＿１８では、ステップ６００＿１０で再描画された部品を含む製品全体が、簡単な図形で表現されるように模式化され、イメージで保存される。ここで、保存されたイメージ図は、後で、アニメーションとして表示される。
図７９は、アニメーション表示のための、経路記録操作メニュー画面の例を示した図である。
【０１８６】
この経路記録操作メニュー画面は図１２に示す経路記録操作メニュー画面と同様であり、この図７９に示す経路記録操作メニュー画面自体についての説明は割愛する。
逆再生ボタン２４１や再生ボタン２６１を押してカーソルを移動させると、図１２の説明では、カーソル２１１が経路警告表示の位置に達するたびにそのカーソル２１１の位置に対応する状態のグラフィックス画面が表示されると説明したが、これはグラフィックス描画には時間がかかるため、常には表示しないようにするという考え方であり、それに対し、ここでは、カーソル２１１が経路警告表示の位置にあるか否かに関わらず、図７８の分解経路再生ルーチンで作成されたイメージ図がアニメーションとして再生される。
【０１８７】
ここでは、アニメーション用のイメージ図が既に作成され保存されているために、高速表示が可能である。ただし、アニメーションのみでは、干渉しないまでも部品どうしが近づき過ぎている状態を正確には把握しにくいため、操作者の指定により例えば経路警告表示のある位置にカーソル２１１を動かしておいてグラフィックス描画を行ったり、マニュアル操作により分解経路の変更（図３９参照）を行なうことができるように構成することが望ましい。
【０１８８】
【発明の効果】
以上説明したように、本発明によれば、使い勝手のよい分解経路生成装置、組立経路生成装置、および機械系設計支援システムが実現する。
【図面の簡単な説明】
【図１】本発明の原理説明図である。
【図２】本発明の第１〜第２４の組立経路生成装置の各実施形態を内包した組立経路生成装置の外観図である。
【図３】干渉演算手段の演算内容の説明のためのグラフィックス画面の一例を示す図である。
【図４】分解経路と組立経路との関係を説明するためのグラフィックス画面の一例を示す図である。
【図５】分解方向探索の手順を示すフローチャートである。
【図６】微小移動量ｄ、移動距離Ｄ、および最接近距離Ｄｓの説明図である。
【図７】自動分解経路生成設定メニュー画面の一例を示した図である。
【図８】経路記録操作メニュー画面の一例を示した図である。
【図９】本実施形態における、本発明の第１の組立経路生成装置の特徴部分の説明図である。
【図１０】図９に示す特徴的な構成を実現するルーチンを示すフローチャートである。
【図１１】図７に示す自動分解経路設定メニューに代えて採用される自動分解経路設定メニュー画面を示した図である。
【図１２】経路記録操作メニュー画面例を示した図である。
【図１３】グラフィックス画面の表示順序の説明図である。
【図１４】危険状態のグラフィックス画面を表示する際の表示態様を示す図である。
【図１５】本発明の第２の組立経路生成装置の特徴的な構成を実現するルーチンのうちの、図５に示す基本的なルーチンに追加される部分のフローチャートである。
【図１６】本発明の第３の組立経路生成装置の特徴を説明するためのグラフィックス画面例を示す図である。
【図１７】本発明の第３の組立経路生成装置の特徴的な構成を示すルーチンの内の、図５に示す基本的なルーチンに追加される部品のフローチャートである。
【図１８】部品や製品の形状を表わすデータの基準座標系を元に分解方向の探索順序を定めた場合に生じる問題点を説明するためのグラフィックス画面例を示した図である。
【図１９】本実施形態における、本発明の第４の組立経路生成装置の特徴点の説明のためのグラフィックス画面を示した図である。
【図２０】選択されたグラフィックス画面の一例を示す図である。
【図２１】分解方向探索の順序決定ルーチンのフローチャートである。
【図２２】選択されたグラフィックス画面の他の例を示す図である。
【図２３】図２２のグラフィックス画面が選択された場合の分解方向探索順序決定ルーチンのフローチャートである。
【図２４】分解方向探索順序の変更操作を示す説明図である。
【図２５】本発明の第５の組立経路生成装置の特徴的な構成を実現するルーチンのフローチャートである。
【図２６】部品ツリー構造を示す図である。
【図２７】部品選択ルーチンの内容を示すフローチャートである。
【図２８】部品選択の具体例を示す図である。
【図２９】サブアセンブリの情報を有する部品ツリー構造を示す図である。
【図３０】部品選択ルーチンの内容を示すフローチャートである。
【図３１】部品分解順序を示す図である。
【図３２】部品ツリー構造の一例を示した図である。
【図３３】部品属性メニュー画面を示した図である。
【図３４】分解経路探索の手順を示すフローチャートである。
【図３５】自動分解経路生成が不能である旨の提示方法の説明図である。
【図３６】分解経路探索の手順を示すフローチャートである。
【図３７】自動分解経路生成が不能である旨の提示方法の説明図である。
【図３８】グラフィックス画面上の１つの部品が分解されている途中の状態を示す図である。
【図３９】図３８に示す特徴的な構成を実現するためのルーチンを示すフローチャートである。
【図４０】本発明の第１４の組立経路生成装置の特徴的な構成を実現するためのルーチンを示すフローチャートである。
【図４１】図４０を参照して説明した特徴の変形例を示す図である。
【図４２】本発明の第１５の組立経路生成装置の特徴点の説明図である。
【図４３】本発明の第１５の組立経路生成装置の特徴点の説明図である。
【図４４】本発明の第１５の組立経路生成装置の特徴的な構成を実現するルーチンを示すフローチャートである。
【図４５】本発明の第１６の組立経路生成装置の特徴点の説明図である。
【図４６】本発明の第１６の組立経路生成装置の特徴的な構成を実現するルーチンを示すフローチャートである。
【図４７】本発明の第１７の組立経路生成装置の特徴点の説明図である。
【図４８】本発明の第１７の組立経路生成装置の特徴点の説明図である。
【図４９】干渉しているポリゴンの寸法を縮小し位置を移動させるアルゴリズムの説明図である。
【図５０】分解経路探索中の部品の包絡球を示す図である。
【図５１】本発明の第１７の組立経路生成装置の特徴的な構成を実現するルーチンを示すフローチャートである。
【図５２】３つの部品を示した斜視図である。
【図５３】図５２に示す３つの部品が組み合わされた状態を示す上面図（Ａ）、正面図（Ｂ）、および側面図（Ｃ）である。
【図５４】図５２に示す３つの部品が組み合わされた状態を示す上面図（Ａ）、正面図（Ｂ）、および側面図（Ｃ）である。
【図５５】本発明の第１８の組立経路生成装置の特徴的な構成を実現するルーチンを示すフローチャートである。
【図５６】各部品の、分解可能、分解不可能の様子を示す図である。
【図５７】各部品の、分解可能、分解不可能の様子を示す図である。
【図５８】本発明の第１９の組立経路生成装置の特徴点の説明図である。
【図５９】本発明の第１９の組立経路生成装置の特徴的な構成を実現する自動分解経路生成設定メニュー画面の一例を示した図である。
【図６０】本発明の第１９の組立経路生成装置の特徴点を示した部品選択ルーチンのフローチャートである。
【図６１】本発明の第２０の組立経路生成装置の特徴点の説明図である。
【図６２】回転関節を持つ可動部品の回転量の演算アルゴリズムの説明図である。
【図６３】本発明の第２０の組立経路生成装置の特徴的な構成を実現するルーチンを示すフローチャートである。
【図６４】干渉連鎖自動分解ルーチンのフローチャートである。
【図６５】２つの部品の干渉点どうしが一致するようにそれら２つの部品を移動、回転させるアルゴリズムの説明図である。
【図６６】干渉連鎖自動分解ルーチンのフローチャートである。
【図６７】本発明の第２１の組立経路生成装置の特徴点の説明図である。
【図６８】本発明の第２１の組立経路生成装置に特徴的な構成を実現するルーチンを示すフローチャートである。
【図６９】本発明の第２２の組立経路生成装置の特徴点の説明図である。
【図７０】本発明の第２２の組立経路生成装置に特徴的な構成を実現するルーチンを示すフローチャートである。
【図７１】本発明の第２２の組立経路生成装置の特徴点のもう１つの態様を示す説明図である。
【図７２】本発明の第２２の組立経路生成装置の特徴的な構成を実現するルーチンを示すフローチャートである。
【図７３】イメージ図が描画された画面上で部品を選択し直すための工夫を説明するための図である。
【図７４】本発明の第２３の組立経路生成装置の特徴点の説明図である。
【図７５】本発明の第２３の組立経路生成装置に特徴的な構成を実現する分解経路再生ルーチンを示すフローチャートである。
【図７６】本発明の第２３の組立経路生成装置の特徴点のもう１つの態様の説明図である。
【図７７】本発明の第２３の組立経路生成装置の特徴的な構成を実現する分解経路原理ルーチンを示すフローチャートである。
【図７８】本発明の第２４の組立経路生成装置の特徴的な構成を実現するため分解経路再生ルーチンのフローチャートである。
【図７９】アニメーション表示のための、経路記録操作メニュー画面の例を示した図である。
【符号の説明】
１      組立経路生成装置
１１    干渉演算手段
１２    分解経路探索手段
１３    第１の表示手段
１４    第２の表示手段
１５    第３の表示手段
１６    探索方向選択手段
１７    図形選択手段
１８    第４の表示手段
１９    部品選択手段
２０    第５の表示手段
２１    第１の分解経路指定手段
２２    第２の分解経路指定手段
２３    第３の分解経路指定手段
２４    再接近禁止手段
２５    分解不能方向検出手段
２６    補助部品付与手段
２７    第６の表示手段
２８    第７の表示手段
２９    第８の表示手段
３０    アニメーション作成手段
３１    第９の表示手段
１０１  本体部
１０２  キーボード
１０３  マウス
１０４  ＣＲＴ表示部
【図１】
0003689226.tif 000002
【図２】
0003689226.tif 000003
【図３】
0003689226.tif 000004
【図４】
0003689226.tif 000005
【図５】
0003689226.tif 000006
【図６】
0003689226.tif 000007
【図７】
0003689226.tif 000008
【図８】
0003689226.tif 000009
【図９】
0003689226.tif 000010
【図１０】
0003689226.tif 000011
【図１１】
0003689226.tif 000012
【図１２】
0003689226.tif 000013
【図１３】
0003689226.tif 000014
【図１４】
0003689226.tif 000015
【図１５】
0003689226.tif 000016
【図１６】
0003689226.tif 000017
【図１７】
0003689226.tif 000018
【図１８】
0003689226.tif 000019
【図１９】
0003689226.tif 000020
【図２０】
0003689226.tif 000021
【図２１】
0003689226.tif 000022
【図２２】
0003689226.tif 000023
【図２３】
0003689226.tif 000024
【図２４】
0003689226.tif 000025
【図２５】
0003689226.tif 000026
【図２６】
0003689226.tif 000027
【図２７】
0003689226.tif 000028
【図２８】
0003689226.tif 000029
【図２９】
0003689226.tif 000030
【図３０】
0003689226.tif 000031
【図３１】
0003689226.tif 000032
【図３２】
0003689226.tif 000033
【図３３】
0003689226.tif 000034
【図３４】
0003689226.tif 000035
【図３５】
0003689226.tif 000036
【図３６】
0003689226.tif 000037
【図３７】
0003689226.tif 000038
【図３８】
0003689226.tif 000039
【図３９】
0003689226.tif 000040
【図４０】
0003689226.tif 000041
【図４１】
0003689226.tif 000042
【図４２】
0003689226.tif 000043
【図４３】
0003689226.tif 000044
【図４４】
0003689226.tif 000045
【図４５】
0003689226.tif 000046
【図４６】
0003689226.tif 000047
【図４７】
0003689226.tif 000048
【図４８】
0003689226.tif 000049
【図４９】
0003689226.tif 000050
【図５０】
0003689226.tif 000051
【図５１】
0003689226.tif 000052
【図５２】
0003689226.tif 000053
【図５３】
0003689226.tif 000054
【図５４】
0003689226.tif 000055
【図５５】
0003689226.tif 000056
【図５６】
0003689226.tif 000057
【図５７】
0003689226.tif 000058
【図５８】
0003689226.tif 000059
【図５９】
0003689226.tif 000060
【図６０】
0003689226.tif 000061
【図６１】
0003689226.tif 000062
【図６２】
0003689226.tif 000063
【図６３】
0003689226.tif 000064
【図６４】
0003689226.tif 000065
【図６５】
0003689226.tif 000066
【図６６】
0003689226.tif 000067
【図６７】
0003689226.tif 000068
【図６８】
0003689226.tif 000069
【図６９】
0003689226.tif 000070
【図７０】
0003689226.tif 000071
【図７１】
0003689226.tif 000072
【図７２】
0003689226.tif 000073
【図７３】
0003689226.tif 000074
【図７４】
0003689226.tif 000075
【図７５】
0003689226.tif 000076
【図７６】
0003689226.tif 000077
【図７７】
0003689226.tif 000078
【図７８】
0003689226.tif 000079
【図７９】
0003689226.tif 000080