(57)【要約】 【課題】  動きを伴う部品間の設計検証のために、隣接する部品間の動きを定義するための情報を入力しなくても、部品間の隣接状態に基づいて、部品間の動きを推定し、その動きを定義することができる設計検証装置、方法、プログラムおよび記録媒体を提供する。【解決手段】  隣接部品検出部１２は、ＲＡＭ２５に記憶されたアセンブリ情報に基づいて、対象部品に隣接する隣接部品を検出する。隣接面抽出部１３は、検出された各隣接部品について、対象部品の面に隣接する面を隣接面として抽出する。関節設定部１４は、対象部品の面およびその面の隣接面の形状ならびに位置および姿勢によって決まる関係に基づいて、対象部品が隣接部品に相対的に動く際の動きの種類と動く方向とを推定し、推定した動きの種類と動く方向とを設計検証のための定義情報として設定する。結果表示部１５は、設定された動きの種類と方向とを出力装置２７に表示する。【選択図】      図１
2008102628.tif 000002
【特許請求の範囲】
【請求項１】
部品の形状を表す部品形状情報を含む部品情報と、部品を配置する位置および姿勢を表すアセンブリ情報とを記憶する記憶手段と、
記憶手段に記憶された部品情報が示す部品の中から設計検証の対象とする対象部品を選択する選択手段と、
選択手段によって対象部品が選択されると、記憶手段に記憶されるアセンブリ情報が示す位置および姿勢に部品を配置したときに、対象部品に隣接し、かつ予め定める検出条件に合致する隣接部品を、記憶手段に記憶される部品情報が示す部品の中から検出する隣接部品検出手段と、
隣接部品検出手段によって検出された隣接部品の外表面を形成する各面の中から、対象部品の外表面を形成する各面に隣接する隣接面を抽出する隣接面抽出手段と、
対象部品の外表面を形成する各面とその各面に隣接する隣接面との関係であって、記憶手段に記憶される部品情報が示す部品が、アセンブリ情報が示す位置および姿勢に配置されたときに決まる関係に基づいて、隣接部品に相対的に対象部品が動く際の動きの種類および動く方向を推定し、推定した動きの種類および動く方向を、設計検証を行うための定義情報として設定する設定手段と、
設定手段によって設定された定義情報を表示する表示手段とを含むことを特徴とする設計検証装置。
【請求項２】
前記設定手段は、対象部品の外表面を形成する面およびその面に隣接する隣接面の形状が平面であると、動きの種類を平行移動と推定し、または対象部品の外表面を形成する面およびその面に隣接する隣接面の形状が円筒形であると、動きの種類を回転移動と推定することを特徴とする請求項１に記載の設計検証装置。
【請求項３】
前記予め定める検出条件は、対象部品を包含する予め定める包含球体または予め定める直方体に少なくとも一部が含まれる部品であることを特徴とする請求項１に記載の設計検証装置。
【請求項４】
前記予め定める検出条件は、対象部品の動きを抑止するための部品ではないことを特徴とする請求項１に記載の設計検証装置。
【請求項５】
コンピュータによって実行される設計検証方法であって、
部品の形状を表す部品形状情報を含む部品情報と、部品を配置する位置および姿勢を表すアセンブリ情報とを記憶する記憶工程と、
記憶工程で記憶された部品情報が示す部品の中から設計検証の対象とする対象部品を選択する選択工程と、
選択工程で対象部品が選択されると、記憶工程で記憶されたアセンブリ情報が示す位置および姿勢に部品を配置したときに、対象部品に隣接し、かつ予め定める検出条件に合致する隣接部品を、記憶工程で記憶された部品情報が示す部品の中から検出する隣接部品検出工程と、
隣接部品検出工程で検出された隣接部品の外表面を形成する各面の中から、対象部品の外表面を形成する各面に隣接する隣接面を抽出する隣接面抽出工程と、
対象部品の外表面を形成する各面とその各面に隣接する隣接面との関係であって、記憶工程で記憶された部品情報が示す部品が、アセンブリ情報が示す位置および姿勢に配置されたときに決まる関係に基づいて、隣接部品に相対的に対象部品が動く際の動きの種類および動く方向を推定し、推定した動きの種類および動く方向を、設計検証を行うための定義情報として設定する設定工程と、
設定工程で設定された定義情報を表示する表示工程とを含むことを特徴とする設計検証方法。
【請求項６】
コンピュータを、
部品の形状を表す部品形状情報を含む部品情報と、部品を配置する位置および姿勢を表すアセンブリ情報とを記憶する記憶手段、
記憶手段に記憶された部品情報が示す部品の中から設計検証の対象とする対象部品を選択する選択手段、
選択手段によって対象部品が選択されると、記憶手段に記憶されるアセンブリ情報が示す位置および姿勢に部品を配置したときに、対象部品に隣接し、かつ予め定める検出条件に合致する隣接部品を、記憶手段に記憶される部品情報が示す部品の中から検出する隣接部品検出手段、
隣接部品検出手段によって検出された隣接部品の外表面を形成する各面の中から、対象部品の外表面を形成する各面に隣接する隣接面を抽出する隣接面抽出手段、
対象部品の外表面を形成する各面とその各面に隣接する隣接面との関係であって、記憶手段に記憶される部品情報が示す部品が、アセンブリ情報が示す位置および姿勢に配置されたときに決まる関係に基づいて、隣接部品に相対的に対象部品が動く際の動きの種類および動く方向を推定し、推定した動きの種類および動く方向を、設計検証を行うための定義情報として設定する設定手段、
ならびに設定手段によって設定された定義情報を表示する表示手段として機能させるためのプログラム。
【請求項７】
請求項６に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機を利用して設計およびモデル作成を行う３次元ＣＡＤシステムによって設計されたデータに基づいて設計検証を行うことができる設計検証装置、方法、プログラムおよび記録媒体に関する。
【背景技術】
【０００２】
現在、製品設計においては、計算機支援設計装置（ＣＡＤ（Computer Aided Design）
装置）が通常用いられ、製品の形状およびレイアウトが３次元の図形データおよび座標として定義される３次元ＣＡＤデータが作成される。そしてコンピュータの性能向上に伴い、作成された３次元ＣＡＤデータを利用して、実機の製作前にシミュレータを使って設計検証を行うことが一般的になってきている。
【０００３】
３次元ＣＡＤデータを利用した設計検証としては、たとえばデジタル複合機もしくは自動車のように部品点数の多い製品の製品設計では、複数の部品から構成されるユニットまたはアセンブリと呼ばれる機能単位に設計が行われ、機能単位に設計されたデータを合体することによって、完成状態での部品どうしの重なりチェックが行われる。部品どうしの重なりは、干渉チェックとして３次元ＣＡＤデータの性質を利用したデータの和、差、および積などの演算を行うことによって検出することができる。
【０００４】
近年、更なる設計時間短縮およびコスト削減をめざして、静止状態での完成品の検証に加えて、動く部品の動作時における不具合発見が必要になってきている。
【０００５】
コンピュータの性能向上によって演算速度が向上し、より多くの演算が高速で行えるようになったため、従来は時間がかかって利用することが困難であった可動部を動かした際の対象部品の軌跡などを、コンピュータ画面に表示することが可能になっている。
【０００６】
しかし、これら機構解析つまりシミュレーションを行うためには、解析に必要な解析条件として、可動部について各種設定が必要であり、従来からある解析システムの形状入力装置あるいは３次元ＣＡＤシステムを使って入力した形状データを取り込んで動作解析するような装置は、可動部の設定が煩雑で作業に時間がかかる。
【０００７】
可動部についての設定を、簡単な操作でかつ視認性良くリンク機構の関節定義を行うことができる第１の従来の技術として、リンク機構関節データ演算装置がある。このリンク機構関節データ演算装置は、リンクおよび関節を有するリンク機構を構成する複数の部品の３次元形状を表わす形状データを入力する形状データ入力手段と、関節を種類別に３次元的にモデル化してなる複数種類の立体関節マークの中からいずれかの立体関節マークを選択して、選択した立体関節マークを、前記形状データ入力手段によって入力された部品どうしが結合される関節部分に、所定の位置および所定の姿勢に配置することによって、該部品どうしを結合する関節の種類、位置および姿勢を定義する関節定義用操作子つまり間接データを定義するための操作を行う手段と、前記形状データ入力手段によって入力された部品および前記立体関節マークを表示する表示手段と、前記立体関節マークが前記関節部分に配置されたことを受けて、該立体関節マークが配置された部品を含むリンク機構のリンクおよび関節の結合関係を表わすパラメータと該パラメータのパラメータ値とが記述された関節データを求める関節データ演算手段とを備える。
【０００８】
リンクおよび関節を有する複数種類のリンク機構モデルのそれぞれについて、順運動学の解析的解法、および各リンク機構モデルの有するリンクおよび関節をそのリンク機構モデルを駆動する駆動源としたときの逆運動学の解析的解法を、予め記憶しておく。解析を行う際に、ＧＵＩ（Graphical User Interface）を用いて所望のリンク機構モデルを選択して被解析用リンク機構と対応づける。そして、立体関節マークを、その位置および姿勢を調整して関節部分に配置することによって、関節データの生成に必要なデータを入力し、さらに駆動量を入力して、予め記憶して置いた解析的解法を数値的に解いてその結果を表示するものである。関節の種類およびその動きが直感的に解り易く表示される画面を見ながら、簡単な操作で、リンク機構の関節データを生成するために必要となる関節に関するデータを入力することができる（たとえば特許文献１参照）。
【０００９】
第２の従来の技術として、拘束部品抽出プログラムがある。この拘束部品抽出プログラムは、装置として組み立てられた部品の集合から拘束関係にある部品の識別情報を抽出する３次元ＣＡＤシステムの拘束部品抽出プログラムであって、指定された第１の部品に対して、その第１の部品に外接する外接球を生成する外接球生成手順と、前記外接球と干渉する第２の部品を検出する干渉部品検出手順と、前記第１の部品に対する前記第２の部品の組合せに対するそれぞれの形状データと組み立て位置とから指定された拘束関係を調べ、その拘束関係にある部品の識別情報を抽出する拘束部品抽出手順とをコンピュータに実行させることを特徴とする拘束部品抽出プログラムである。
【００１０】
すなわち、指定された部品に外接する外接球を生成し、その外接球に干渉する部品を検出し、さらに指定された部品と検出された部品との間に拘束関係があるとき、その拘束関係を表す拘束情報を登録するものである。組み立て配置された部品を指定すると、その近辺の部品から拘束関係にある部品の識別情報を短時間で抽出し、それらの部品間の拘束情報を登録することができる（たとえば特許文献２参照）。
【００１１】
【特許文献１】特許第３６０２５１８号公報
【特許文献２】特開２００６−１９０１８３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
従来の３次元ＣＡＤシステムでは、リンク機構の動作確認にアセンブリ機能が使われており、部品間の相対位置および姿勢のパラメータを変更して、それらの部品の再配置を繰り返すことによって、動作確認が行なわれる。しかし、これらのシステムでは、パラメータの変更に時間がかかる。さらに、システムの利用者が部品間の相対位置および姿勢を、実際に動作する際の位置および姿勢に合わせるように配置していくことは、非常に困難である。
【００１３】
第１の従来の技術は、上記事情に鑑み、簡単な操作でかつ視認性良くリンク機構の関節定義を行なうことができるようにしたものである。しかしながら、リンク機構の関節データを生成するために必要となる関節に関するデータを入力する必要がある。部品点数の多いデジタル複写機などの製品開発段階においては、確認すべき動く部品の種類は単純な平行移動もしくは回転移動であるが、その数が膨大であることから部品単位の動きの定義に時間がかかり、小さな部品の場合、設定ミスが生じる恐れがある。第２の従来の技術は、指定された部品に外接する外接球を生成し、その外接球に干渉する部品を検出し、さらに指定された部品と検出された部品との間に拘束関係があるとき、その拘束関係を表す拘束情報を登録するものである。しかしながら、拘束関係を抽出した後、部品の動きを定義するための情報を入力する必要があり、拘束関係にある他の部品との配置関係から、動く方向と動きの種類とを決定する必要がある。すなわち、いずれの従来の技術も、動きを伴う部品間の設計検証たとえば干渉チェックを行うためには、部品の動きを定義するための何らかの情報を入力する必要があるという問題がある。
【００１４】
本発明の目的は、動きを伴う部品間の設計検証のために、隣接する部品間の動きを定義するための情報を入力しなくても、部品間の隣接状態に基づいて、部品間の動きを定義することができる設計検証装置、方法、プログラムおよび記録媒体を提供することである。
【課題を解決するための手段】
【００１５】
本発明は、部品の形状を表す部品形状情報を含む部品情報と、部品を配置する位置および姿勢を表すアセンブリ情報とを記憶する記憶手段と、
記憶手段に記憶された部品情報が示す部品の中から設計検証の対象とする対象部品を選択する選択手段と、
選択手段によって対象部品が選択されると、記憶手段に記憶されるアセンブリ情報が示す位置および姿勢に部品を配置したときに、対象部品に隣接し、かつ予め定める検出条件に合致する隣接部品を、記憶手段に記憶される部品情報が示す部品の中から検出する隣接部品検出手段と、
隣接部品検出手段によって検出された隣接部品の外表面を形成する各面の中から、対象部品の外表面を形成する各面に隣接する隣接面を抽出する隣接面抽出手段と、
対象部品の外表面を形成する各面とその各面に隣接する隣接面との関係であって、記憶手段に記憶される部品情報が示す部品が、アセンブリ情報が示す位置および姿勢に配置されたときに決まる関係に基づいて、隣接部品に相対的に対象部品が動く際の動きの種類および動く方向を推定し、推定した動きの種類および動く方向を、設計検証を行うための定義情報として設定する設定手段と、
設定手段によって設定された定義情報を表示する表示手段とを含むことを特徴とする設計検証装置である。
【００１６】
本発明に従えば、記憶手段によって、部品の形状を表す部品形状情報を含む部品情報と、部品を配置する位置および姿勢を表すアセンブリ情報とが記憶され、選択手段によって、記憶手段に記憶された部品情報が示す部品の中から設計検証の対象とする対象部品が選択され、隣接部品検出手段によって、選択手段によって対象部品が選択されると、記憶手段に記憶されるアセンブリ情報が示す位置および姿勢に部品を配置したときに、対象部品に隣接し、かつ予め定める検出条件に合致する隣接部品が、記憶手段に記憶される部品情報が示す部品の中から検出され、隣接面抽出手段によって、隣接部品検出手段によって検出された隣接部品の外表面を形成する各面の中から、対象部品の外表面を形成する各面に隣接する隣接面が抽出され、設定手段によって、対象部品の外表面を形成する各面とその各面に隣接する隣接面との関係であって、記憶手段に記憶される部品情報が示す部品が、アセンブリ情報が示す位置および姿勢に配置されたときに決まる関係に基づいて、隣接部品に相対的に対象部品が動く際の動きの種類および動く方向が推定され、推定された動きの種類および動く方向が、設計検証を行うための定義情報として設定され、表示手段によって、設定手段によって設定された定義情報が表示されるので、動きを伴う部品間の設計検証のために、隣接する部品間の動きを定義するための情報を入力しなくても、部品間の隣接状態に基づいて、部品間の動きを定義することができる。
【００１７】
また本発明は、前記設定手段は、対象部品の外表面を形成する面およびその面に隣接する隣接面の形状が平面であると、動きの種類を平行移動と推定し、または対象部品の外表面を形成する面およびその面に隣接する隣接面の形状が円筒形であると、動きの種類を回転移動と推定することを特徴とする。
【００１８】
本発明に従えば、前記設定手段によって、対象部品の外表面を形成する面およびその面に隣接する隣接面の形状が平面であると、動きの種類が平行移動と推定され、または対象部品の外表面を形成する面およびその面に隣接する隣接面の形状が円筒形であると、動きの種類が回転移動と推定されるので、対象部品の外表面を形成する面およびその面の隣接面の形状ならびに位置および姿勢によって決まる関係から、動きの種類を特定し、動く方向も限定することができる。
【００１９】
また本発明は、前記予め定める検出条件は、対象部品を包含する予め定める包含球体または予め定める直方体に少なくとも一部が含まれる部品であることを特徴とする。
【００２０】
本発明に従えば、前記予め定める検出条件は、対象部品を包含する予め定める包含球体または予め定める直方体に少なくとも一部が含まれる部品であることであるので、２つの部品がお互いに近い距離にない部品つまり動きを拘束する関係にない部品を隣接部品の対象から除外することができる。さらに、単純な包含球体または直方体を用いているので、隣接部品を検出するのに要する計算時間を短縮することができる。
【００２１】
また本発明は、前記予め定める検出条件は、対象部品の動きを抑止するための部品ではないことを特徴とする。
【００２２】
本発明に従えば、前記予め定める検出条件は、対象部品の動きを抑止するための部品ではないことであるので、隣接しても検証部品と相対的な動きが発生しない部品を隣接部品から除外することができる。
【００２３】
また本発明は、コンピュータによって実行される設計検証方法であって、
部品の形状を表す部品形状情報を含む部品情報と、部品を配置する位置および姿勢を表すアセンブリ情報とを記憶する記憶工程と、
記憶工程で記憶された部品情報が示す部品の中から設計検証の対象とする対象部品を選択する選択工程と、
選択工程で対象部品が選択されると、記憶工程で記憶されたアセンブリ情報が示す位置および姿勢に部品を配置したときに、対象部品に隣接し、かつ予め定める検出条件に合致する隣接部品を、記憶工程で記憶された部品情報が示す部品の中から検出する隣接部品検出工程と、
隣接部品検出工程で検出された隣接部品の外表面を形成する各面の中から、対象部品の外表面を形成する各面に隣接する隣接面を抽出する隣接面抽出工程と、
対象部品の外表面を形成する各面とその各面に隣接する隣接面との関係であって、記憶工程で記憶された部品情報が示す部品が、アセンブリ情報が示す位置および姿勢に配置されたときに決まる関係に基づいて、隣接部品に相対的に対象部品が動く際の動きの種類および動く方向を推定し、推定した動きの種類および動く方向を、設計検証を行うための定義情報として設定する設定工程と、
設定工程で設定された定義情報を表示する表示工程とを含むことを特徴とする設計検証方法である。
【００２４】
本発明に従えば、コンピュータによって設計検証を実行するにあたって、記憶工程で、部品の形状を表す部品形状情報を含む部品情報と、部品を配置する位置および姿勢を表すアセンブリ情報とを記憶し、選択工程で、記憶工程で記憶された部品情報が示す部品の中から設計検証の対象とする対象部品を選択し、隣接部品検出工程で、選択工程で対象部品が選択されると、記憶工程で記憶されたアセンブリ情報が示す位置および姿勢に部品を配置したときに、対象部品に隣接し、かつ予め定める検出条件に合致する隣接部品を、記憶工程で記憶された部品情報が示す部品の中から検出し、隣接面抽出工程で、隣接部品検出工程で検出された隣接部品の外表面を形成する各面の中から、対象部品の外表面を形成する各面に隣接する隣接面を抽出し、設定工程で、対象部品の外表面を形成する各面とその各面に隣接する隣接面との関係であって、記憶工程で記憶された部品情報が示す部品が、アセンブリ情報が示す位置および姿勢に配置されたときに決まる関係に基づいて、隣接部品に相対的に対象部品が動く際の動きの種類および動く方向を推定し、推定した動きの種類および動く方向を、設計検証を行うための定義情報として設定し、表示工程で、設定工程で設定された定義情報を表示するので、動きを伴う部品間の設計検証のために、隣接する部品間の動きを定義するための情報を入力しなくても、部品間の隣接状態に基づいて、部品間の動きを定義することができる。
【００２５】
また本発明は、コンピュータを、
部品の形状を表す部品形状情報を含む部品情報と、部品を配置する位置および姿勢を表すアセンブリ情報とを記憶する記憶手段、
記憶手段に記憶された部品情報が示す部品の中から設計検証の対象とする対象部品を選択する選択手段、
選択手段によって対象部品が選択されると、記憶手段に記憶されるアセンブリ情報が示す位置および姿勢に部品を配置したときに、対象部品に隣接し、かつ予め定める検出条件に合致する隣接部品を、記憶手段に記憶される部品情報が示す部品の中から検出する隣接部品検出手段、
隣接部品検出手段によって検出された隣接部品の外表面を形成する各面の中から、対象部品の外表面を形成する各面に隣接する隣接面を抽出する隣接面抽出手段、
対象部品の外表面を形成する各面とその各面に隣接する隣接面との関係であって、記憶手段に記憶される部品情報が示す部品が、アセンブリ情報が示す位置および姿勢に配置されたときに決まる関係に基づいて、隣接部品に相対的に対象部品が動く際の動きの種類および動く方向を推定し、推定した動きの種類および動く方向を、設計検証を行うための定義情報として設定する設定手段、
ならびに設定手段によって設定された定義情報を表示する表示手段として機能させるためのプログラムである。
【００２６】
本発明に従えば、コンピュータを、部品の形状を表す部品形状情報を含む部品情報と、部品を配置する位置および姿勢を表すアセンブリ情報とを記憶する記憶手段、記憶手段に記憶された部品情報が示す部品の中から設計検証の対象とする対象部品を選択する選択手段、選択手段によって対象部品が選択されると、記憶手段に記憶されるアセンブリ情報が示す位置および姿勢に部品を配置したときに、対象部品に隣接し、かつ予め定める検出条件に合致する隣接部品を、記憶手段に記憶される部品情報が示す部品の中から検出する隣接部品検出手段、隣接部品検出手段によって検出された隣接部品の外表面を形成する各面の中から、対象部品の外表面を形成する各面に隣接する隣接面を抽出する隣接面抽出手段、対象部品の外表面を形成する各面とその各面に隣接する隣接面との関係であって、記憶手段に記憶される部品情報が示す部品が、アセンブリ情報が示す位置および姿勢に配置されたときに決まる関係に基づいて、隣接部品に相対的に対象部品が動く際の動きの種類および動く方向を推定し、推定した動きの種類および方向を、設計検証を行うための定義情報として設定する設定手段、ならびに設定手段によって設定された定義情報を表示する表示手段として機能させるためのプログラム、すなわち前記設計検証装置の各手段を機能させるためのプログラムとして提供することができる。
【００２７】
また本発明は、前記プログラムを記録したコンピュータ読み取り可能な記録媒体である。
【００２８】
本発明に従えば、前記プログラムを記録したコンピュータ読み取り可能な記録媒体として提供することができる。
【発明の効果】
【００２９】
本発明によれば、動きを伴う部品間の設計検証のために、隣接する部品間の動きを定義するための情報を入力しなくても、部品間の隣接状態に基づいて、部品間の動きを定義することができる。したがって、複数の設計者によって、機能ユニットごとに設計される大規模アセンブリから成る製品の設計においても、すなわち部品数が多い設計においても、動作検証するための部品の動きを短時間で定義することができ、動作検証時間を短縮することができる。
【００３０】
また本発明によれば、対象部品の外表面を形成する面およびその面の隣接面の形状ならびに位置および姿勢によって決まる関係から、動きの種類を特定し、動く方向も限定することができるので、動きの種類を短時間で定義することができ、動作検証時間を短縮することができる。
【００３１】
また本発明によれば、２つの部品がお互いに近い距離にない部品つまり動きを拘束する関係にない部品を隣接部品の対象から除外することができ、さらに、単純な包含球体または直方体を用いることによって、隣接部品を検出するのに要する計算時間を短縮することができるので、動作検証時間を短縮することができる。
【００３２】
また本発明によれば、隣接しても検証部品と相対的な動きが発生しない部品を隣接部品から除外することができるので、隣接部品を検出するのに要する時間を短縮することができ、動作検証時間を短縮することができる。
【００３３】
また本発明によれば、動きを伴う部品間の設計検証のために、隣接する部品間の動きを定義するための情報を入力しなくても、部品間の隣接状態に基づいて、部品間の動きを定義することができる。したがって、本発明による設計検証方法を用いれば、複数の設計者によって、機能ユニットごとに設計される大規模アセンブリから成る製品の設計においても、すなわち部品数が多い設計においても、動作検証するための部品の動きを短時間で定義することができ、動作検証時間を短縮することができる。
【００３４】
また本発明によれば、コンピュータに前記設計検証装置の各手段を機能させるためのプログラムとして提供することができる。
【００３５】
また本発明によれば、コンピュータに前記設計検証装置の各手段を機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体として提供することができる。
【発明を実施するための最良の形態】
【００３６】
図１は、本発明の実施の一形態である設計検証装置１の機能構成図である。設計検証装置１は、３次元ＣＡＤ（Computer Aided Design）データを利用して、動きを伴う部品を含む部品間の干渉を検証する装置であり、部品形状情報記憶部１１、隣接部品検出部１２、隣接面抽出部１３、関節設定部１４、および結果表示部１５を含む。設計検証方法は、設計検証装置１で処理される。
【００３７】
部品形状情報記憶部１１は、部品の形状を表す部品形状情報を含む部品情報と、部品を配置する位置および姿勢を表すアセンブリ情報とを後述するＲＡＭ２５に記憶する。部品形状情報は、寸法が与えられた部品の形状を表現するための頂点座標を表す頂点情報および面を表す面情報を含み、アセンブリ情報は、部品をグループ化するような親子関係、親子関係にある部品間の相対位置を示す位置情報、配置する際の部品ごとのローカル座標および配置座標を表す配置情報を含む。
【００３８】
隣接部品検出部１２は、部品形状情報記憶部１１によって記憶された部品情報およびアセンブリ情報に基づいて、設計検証の対象とする対象部品に隣接する隣接部品を検出する。具体的には、まず、部品形状情報記憶部１１によって記憶された部品情報が示す部品の中から、設計検証の対象とする対象部品を選択する。対象部品の選択は、後述するデータ入力装置２１によって指示される情報に基づいて行われる。対象部品が選択されると、アセンブリ情報が示す位置および姿勢に、部品情報が示す部品を配置した場合に、対象部品を包含する包含球体、対象部品を包含する直方体、または対象部品の外周をオフセットした形状つまり対象部品の形状を予め定める偏差分大きくした形状と、干渉する部品があるか否かをチェックする。干渉する部品があると、その部品を隣接部品として検出する。すなわち、部品形状情報記憶部１１によって記憶された部品形状情報が示す形状に基づいて、包含球体あるいは直方体などに少なくとも一部が含まれる部品を隣接部品として検出する。包含球体の大きさは、たとえばユーザが後述するデータ入力装置によって指定する変数であるが、指定を省略可能とするために、予めデフォルト値を定めて置いてもよい。たとえば対象部品を含む最小の球の大きさを基準に定め、中心がその最小の球と同じ位置にあり、かつ大きさがその最小の球の直径の１．２倍の直径の球をデフォルト値とする。直方体およびオフセットした形状の大きさについても同様に定める。
【００３９】
さらに、クリアランスチェックを行うことによって、もっとも近接している部品を隣接部品として検出してもよい。クリアランスチェックは、部品間のクリアランスが確保されているか否か、すなわち部品間の距離が適正な距離つまりクリアランス量以上離れているか否かをチェックするものである。具体的には、部品の面を表す面情報、稜線を表す稜線情報、および頂点を表す頂点情報に基づいて、２つの部品間の距離を求め、その距離がクリアランス量以上であるか否かをチェックし、その距離がクリアランス量未満であるとき、隣接部品として検出する。面情報、稜線情報、および頂点情報は、部品形状情報に含まれる情報である。クリアランス量は、たとえばユーザが後述するデータ入力装置によって指定する変数であるが、指定を省略可能とするために、予めデフォルト値を定めて置いてもよい。クリアランス量のデフォルト値は、たとえば１ｍｍであるが、部品の大きさなどによってその値を変更することができる。
【００４０】
対象部品の動きを抑止するための部品、たとえば一時的なストッパとして部品を固定するための部品は、隣接部品を検出する際に対象から除外してもよい。具体的には、たとえばストッパなどの部品の属性を部品情報に含めて記憶しておき、その属性によって、対象部品の動きを抑止するための部品か否かを判定し、該当するものを除外する。
【００４１】
隣接面抽出部１３は、隣接部品検出部１２によって検出された隣接部品の外表面を形成する面（以下、単に「面」という）の中から、対象部品の各面に隣接する隣接面を抽出する。具体的には、まず、対象部品の各面を、平面、円筒面、またはその他の面に分類する。各隣接部品の各面についても、平面、円筒面、またはその他の面に分類する。
【００４２】
次に、平面については、基準座標原点とその点における法線ベクトルとを求める。基準座標原点は、平面の重心点である。対象部品の面のうち平面である各面について、各面の法線ベクトルの方向と反対方向の法線ベクトルであり、かつ２つの基準座標原点が予め定める距離以内である隣接面を、隣接部品の面のうち平面に分類された面の中から抽出する。製品設計において、可動部品と固定部品とが対向する２つの面は、まったく同一の位置で接する面ではなく、設計マージンあるいは公差と呼ばれる小さな隙間をあけることが通例である。したがって、隣接面として、基準座標原点が一致する面のみを抽出すると漏れが生じる。そこで予め定める距離、たとえば距離Ｄを可変にし、製品の大きさあるいは設計ルールによって距離Ｄを設定することによって隣接面を漏れなく抽出することができる。
【００４３】
円筒面については、隣接部品の面のうち円筒面に分類された面の中から、中心軸ベクトルが対象部品の円筒面の中心軸ベクトルと同じ円筒面であって、それぞれの円筒形の半径が予め定める距離内の円筒面を隣接面として抽出する。中心軸ベクトルは、円筒面の中心軸方向のベクトルである。中心軸ベクトルが同じとは、２つの中心軸ベクトルが同一線上にあることである。
【００４４】
関節設定部１４は、対象部品の各面とその各面に隣接する隣接面との関係であって、部品情報が示す部品が、アセンブリ情報が示す位置および姿勢に配置されたときに決まる関係に基づいて、隣接部品に相対的に対象部品が動く際の動きの種類と動く方向とを推定する。そして、推定した動きの種類と動く方向とを、動きを伴う部品について、設計検証を行うための定義情報として設定する。動きの種類は、平行移動、回転移動、およびその他の移動である。結果表示部１５は、関節設定部１４によって設定された定義情報つまり動きの種類および動きの方向を後述する出力装置２７たとえば液晶ディスプレイに表示する。
【００４５】
図２は、図１に示した設計検証装置１のハードウエア構成図である。設計検証装置１は、たとえば情報処理装置によって構成され、データ入力装置２１、入力インタフェース２２、ＣＰＵ（Central Processing Unit）２３、記憶装置２４、ＲＡＭ（Random 
Access Memory）２５、出力インタフェース２６、出力装置２７、およびデータバス２８を含む。
【００４６】
データ入力装置２１は、たとえばキーボード、ポインティングデバイス、マウス、あるいはタッチパネルなどで構成され、ユーザが、たとえば部品を配置する位置および姿勢を表すアセンブリ情報などの情報を入力するための入力装置である。データ入力装置２１は、入力された情報を、入力インタフェース２２を介して、ＣＰＵ２３に送る。入力インタフェース２２は、データ入力装置２１をデータバス２８に接続する接続装置であり、データバス２８を介して、データ入力装置２１とＣＰＵ２３との情報の送受信を可能とする。
【００４７】
ＣＰＵ２３は、たとえば中央処理装置などで構成され、記憶装置２４に記憶されるプログラムを実行することによって、部品形状情報記憶部１１、隣接部品検出部１２、隣接面抽出部１３、関節設定部１４、および結果表示部１５の機能を実現する。記憶装置２４は、たとえばＲＯＭ（Read Only Memory）、磁気ディスク装置、光ディスク装置、あるいは光磁気ディスク装置などによって構成され、ＣＰＵ２３によって実行されるプログラムおよびＣＰＵ２３によって用いられるデータを記憶する。部品形状情報記憶部１１、隣接部品検出部１２、隣接面抽出部１３、関節設定部１４、および結果表示部１５は、記憶装置２４に記憶されるプログラムに実装されている機能である。
【００４８】
ＲＡＭ２５は、たとえば半導体メモリなどで構成されるメモリであり、部品情報を記憶するための部品形状情報メモリ領域、およびアセンブリ情報を記憶するためのアセンブリ情報メモリ領域を含む。部品形状情報メモリ領域は、ＣＰＵ２３が記憶装置２４から読み出した部品情報を記憶する領域である。アセンブリ情報メモリ領域は、データ入力装置２１によって入力された情報に基づいて、ＣＰＵ２３が設定したアセンブリ情報を記憶する領域である。
【００４９】
出力インタフェース２６は、出力装置２７をデータバス２８に接続するための接続装置であり、データバス２８を介して、出力装置２７とＣＰＵ２３との情報の送受信を可能とする。出力装置２７は、たとえば液晶ディスプレイ、タッチパネル、あるいは印刷装置などによって構成される出力装置であり、ＣＰＵ２３から出力インタフェース２６を介して送られてくる情報、たとえば干渉チェックの結果などの情報あるいは動く部品についての設計検証のための定義情報を表示する。データバス２８は、各ハードウエア間で情報を送受信するためのデータバスである。
【００５０】
図３は、図１に示した設計検証装置１が行う評価の対象部品および隣接部品の一例を示す。図３は、対象部品５０１に対して検出された隣接部品５０２を示している。対象部品５０１および隣接部品５０２ともに、３次元の立体であるが、説明をわかりやすくするために、２次元で表現している。たとえば、３次元の立体を平面に投影した形状である。シンボル５０３は、隣接部品５０２に対して対象部品５０１が動く方向を示すための球形のシンボルである。シンボル５０３は、移動不可の方向にある側の半球が塗りつぶされ、塗りつぶされていない側の半球の方向に移動可能であることを示す。この場合、塗りつぶされた半球のうち、その半球を構成する円形の平面と平行な方向は移動可能である。
【００５１】
図４は、図３に示した対象部品の動きの推定方法を説明するための図である。図４（Ａ）は、対象部品５０１を構成する面５０４と、隣接部品５０２を構成する面５０５との関係を示す。関節設定部１４は、対象部品５０１を構成する面５０４と、隣接部品５０２を構成する面５０５との関係から、対象部品５０１は、隣接面である面５０５の方向つまり矢印５１２の方向へは移動不可であると判断する。このとき、シンボル５０６は、移動不可な方向つまり方向５１２の方向にある側の半球が塗りつぶされ、移動可能な方向をわかりやすく示している。図４（Ｂ）は、対象部品５０１を構成する面５０７と、隣接部品５０２を構成する面５０８との関係を示す。関節設定部１４は、対象部品５０１を構成する面５０７と、隣接部品５０２を構成する面５０８との関係から、対象部品５０１は、隣接面である面５０８に向かう方向へは移動不可であると判断する。このとき、シンボル５０９は、左側の半球が塗りつぶされる。
【００５２】
図４（Ｃ）は、図４（Ａ）に示したシンボル５０６と図４（Ｂ）に示したシンボル５０９とを合成したシンボル５１０を示す。シンボル５１０は、右上側の部分つまり球の四分の一の方向にのみ移動可能である。図４（Ｄ）は、図４（Ｃ）に示したシンボル５１０が示す移動可能範囲５１１を示す。すなわち、関節設定部１４は、対象部品５０１が移動可能範囲５１１の方向に動くと推定する。
【００５３】
図５は、図１に示した設計検証装置１が行う評価の対象部品および隣接部品の他の例を示す。図５（Ａ）は、対象部品６０２および隣接部品６０１の斜視図である。対象部品６０２に対して検出された隣接部品６０１示している。図５（Ｂ）は、対象部品６０２および隣接部品６０１を、円柱である隣接部品６０１の中心軸の方向から見た図である。図５（Ｃ）は、対象部品６０２および隣接部品６０１を、円柱である隣接部品６０１の中心軸線に直交する方向から見た図である。
【００５４】
図６は、図５に示した対象部品の動きの推定方法を説明するための図である。図６（Ａ）は、対象部品６０２を構成する面６０４、および面６０４に隣接する隣接部品６０１を構成する隣接面６０３を示す。図６（Ｂ）は、面６０４および隣接面６０３がいずれも円筒面であるので、対象部品６０２は方向６０７には移動不可であるが、方向６０８には移動可能であることを示す。方向６０７は、円筒面の中心軸線に直交する方向で外側に向かう方向であり、方向６０８は、円筒面の中心軸を中心にして回転する方向である。対象部品６０２の隣接部品６０１に対する移動方向については、図７で補足する。
【００５５】
図６（Ｃ）は、円筒面の中心軸線に直交する方向で外側に向かう方向のうちの１つの方向に着目したとき、その方向に対象部品６０２が移動不可であることを示すシンボル６０５を示している。図６（Ｄ）は、円筒面の中心軸線に直交する方向で外側に向かう方向のうちすべての方向について、図６（Ｃ）と同様のシンボルを想定し、その想定したシンボルを合成したシンボル６０６を示す。シンボル６０６は、円筒面の中心軸線に直交する方向のいずれの方向にも、対象部品が移動不可であることを示している。この場合、塗りつぶされた半球のうち、半球を構成する円形の平面の方向は移動可能であるので、シンボル６０６は、円筒形の中心軸方向には移動可能であることを示しており、対象部品６０２は、隣接部品６０１に対して方向６０９の方向に移動可能である。すなわち、関節設定部１４は、対象部品６０２は、方向６０８の回転移動および方向６０９の平行移動を行うと推定する。
【００５６】
図７は、図６に示した例の説明を補足するための図である。隣接部品６０１を構成する面が円筒面である場合について示している。図７（Ａ）は、円筒面７１を中心軸線と平行な直線で分割した状態を示している。円筒面７１は、たとえば図６（Ａ）に示した隣接部品６０１を構成する円筒面６０３である。この例では、円筒面７１を８つに分割した例を示している。図７（Ｂ）は、円筒面７１を分割した直線のうち、隣接する２つの直線で構成される平面７２の法線ベクトル７３を示す。法線ベクトル７３は、平面７２の重心点を基準座標原点とし、平面７２に垂直な方向のベクトルである。図７（Ｂ）には、各平面についての法線ベクトル７３が示されている。法線ベクトル７３の方向が、図６（Ｂ）に示した方向６０７に対応する。対象部品を構成する面およびその面の隣接面が、円筒面であると、対象部品の移動可能な方向は、平行にスライドする方向たとえば図６（Ｄ）に示した方向６０９の方向、および円筒面の中心軸の回りに回転する方向たとえば図６（Ｂ）に示した方向６０８の方向である。図６（Ｂ）に示した方向６０７の方向には、移動不可である。
【００５７】
図８は、図１に示した設計検証装置１が処理する設計検証処理のフローチャートである。設計検証を行うための定義情報を設定する際に、ステップＳ１に移る。ステップＳ１では、部品形状情報記憶部１１は、部品形状記憶処理を行う。部品形状情報記憶部１１は、記憶装置２４から部品情報を読み出し、部品情報をＲＡＭ２５に含まれる部品形状情報メモリ領域に記憶し、データ入力装置２１から入力されたアセンブリ情報をＲＡＭ２５に含まれるアセンブリ情報メモリ領域に記憶する。部品情報は、部品を表す情報であり、製品を構成する部品の形状を表す部品形状情報を含む。部品形状情報は、部品の頂点座標を表す頂点情報、および部品を構成する面を表す面情報を含む。アセンブリ情報は、部品をグループ化したユニット間の親子関係つまり包含関係を表す情報、部品を配置したときの部品間の相対位置を表す位置情報、ならびに部品を配置する際の部品間のローカル座標および配置座標を表す配置情報を含む。
【００５８】
ステップＳ２では、隣接部品検出部１２は、隣接部品検出処理を行う。隣接部品検出部１２は、まず、少なくとも１つの対象部品を選択する。次に、部品形状情報記憶部１１によってＲＡＭ２５に記憶されたアセンブリ情報に基づいて、対象部品に隣接する隣接部品を検出する。具体的には、対象部品を包含する球体または直方体を形成し、形成した球体または直方体と干渉する部品があるか否かを、アセンブリ情報および部品形状情報に基づいてチェックする。干渉する部品があると、その部品を隣接部品として検出する。もしくは、ＲＡＭ２５に記憶される部品情報が示す各部品に対して、対象部品とのクリアランスチェックを行い、クリアランス量つまり部品間の距離の少ない部品を隣接部品として検出する。
【００５９】
ステップＳ３では、隣接面抽出部１３は、隣接面抽出処理を行う。隣接面抽出部１３は、隣接部品検出部１２によって検出された各隣接部品について、隣接部品を構成する面のうち、対象部品の面に隣接する面を隣接面として抽出する。具体的には、まず、対象部品を構成する各面を、平面、円筒面、およびその他の面に分類し、それぞれの面の法線ベクトルを求める。円筒面の法線ベクトルは、たとえば図５に示した方向７３のベクトルを法線ベクトルとする。次に、各隣接部品の面についても、平面、円筒面、およびその他の面に分類し、それぞれの面の法線ベクトルを求める。そして、対象部品の面の法線ベクトルと、隣接部品の面のうち、分類が同じ面の法線ベクトルとを比較し、２つの法線ベクトルが平行となる面のペアを抽出し、さらに抽出したペアの面のうち、対象部品の面に最も近接する面を隣接面として抽出する。
【００６０】
ステップＳ４では、関節設定部１４は、関節設定処理を行う。関節設定部１４は、対象部品の面およびその面の隣接面の形状ならびに位置および姿勢によって決まる関係に基づいて、対象部品が隣接部品に相対的に動く際の動きの種類と動く方向とを推定し、推定した動きの種類と動く方向とを、設計検証のための定義情報として設定する。動きの種類は、たとえば平行移動および回転移動があり、それぞれ図４（Ｃ）に示した紙面に垂直な方向および図６（Ｂ）に示した方向６０８の方向に動く。ステップＳ５では、結果表示部１５は、結果表示処理を行う。結果表示部１５は、関節設定部１４によって設定された動きの種類と動く方向とを、出力装置２７たとえば液晶ディスプレイに表示して、終了する。動きの種類と動く方向は、たとえば移動可能な方向を示すシンボルが対象部品に合成されることによって示される。
【００６１】
図９は、図８に示したフローチャートを詳細に示すフローチャートである。図９に示したフローチャートは、図８に示した設計検証処理のステップＳ２〜ステップＳ５を詳細に示すフローチャートである。図８に示したステップＳ１の後、ステップＴ１に移る。ステップＴ１に移る前に、部品情報およびアセンブリ情報がＲＡＭ２５に記憶される。
【００６２】
ステップＴ１では、隣接部品検出部１２は、対象部品を取り込む。たとえばデータ入力装置２１によって選択された対象部品を示す対象部品情報を取り込む。ステップＴ２では、隣接部品検出部１２は、ＲＡＭ２５に記憶されたアセンブリ情報に基づいて、取り込んだ対象部品情報が示す対象部品に隣接する隣接部品を検出する。ステップＴ３では、隣接面抽出部１３は、ステップＴ２で検出された隣接部品の中から選択された１つの隣接部品について、ＲＡＭ２５に記憶された部品情報に含まれる部品形状情報から、対象部品および隣接部品の面情報を取り込む。ステップＴ４では、ステップＴ３で取り込んだ面情報に基づいて、選択された隣接部品を構成する面の中から、対象部品を構成する各面に隣接する隣接面を抽出する。
【００６３】
ステップＴ５では、関節設定部１４は、動く方向を推定する。すなわち、ステップＴ３で取り込んだ面情報に基づいて、対象部品の面およびその面の隣接面の形状を求め、さらにアセンブリ情報に基づいて、これらの部品の位置および姿勢を求める。求めた形状ならびに位置および姿勢によって決まる関係から、選択された隣接部品に相対的に対象部品が動く方向を推定する。たとえば対象部品の面とその面の隣接面とが平面であれば、図４（Ｃ）に示した例のように、紙面に垂直な方向を、平行にスライドする方向と推定する。対象部品の面とその面の隣接面とが円筒面であれば、図６（Ｂ）に示した例のように、方向６０８を、中心軸周りに回転する方向と推定する。ステップＴ６では、関節設定部１４は、動きの種類を推定する。動きの種類は、たとえば平行移動および回転移動がある。ステップＴ５で平行にスライドする方向と推定した場合は、平行移動であると推定し、ステップＴ５で中心軸周りに回転する方向と推定した場合は、回転移動であると推定する。推定した動きの種類および動く方向を、設計検証のための定義情報として設定する。
【００６４】
ステップＴ７では、すべての隣接部品について、動きの種類と動く方向を設定したか否かを判定する。すべての隣接部品について、動きの種類および動く方向を設定すると、ステップＴ８に進み、すべての隣接部品について、動きの種類および動く方向を設定していないと、ステップＴ３に戻り、次の隣接部品を選択して、動きの種類および動く方向を設定する。ステップＴ８では、結果表示して終了する。すなわち、ステップＴ６で設定した動きの種類および動く方向を、出力装置２７たとえば液晶ディスプレイに表示して終了する。
【００６５】
図１０は、図４（Ｃ）に示したシンボル５１０および図６（Ｄ）に示したシンボル６０６の３次元での斜視図である。図１０（Ａ）は、図４（Ｃ）に示したシンボル５１０の斜視図であり、図１０（Ｂ）は、図６（Ｄ）に示したシンボル６０６の斜視図である。動きの種類および動く方向は、球、線分、および塗りつぶしを用いて、平行移動および／または回転移動として表現される。図１０（Ａ）に示したシンボル５１０の場合、対象部品は、方向５１３への平行移動が可能である。
【００６６】
図１０（Ｂ）に示したシンボル６０６の場合、対象部品は、方向６０９への平行移動および方向６０８への回転移動が可能である。この場合、平行移動を優先するか、回転移動を優先するかを予め決めておいて、順次表示してもよい。たとえば、回転移動を優先する場合、最初の候補として回転移動つまり方向６０８を表示し、ユーザによって、回転でないことが指示されると、次の候補として平行移動つまり方向６０９を表示してもよい。あるいは、平行移動および回転移動を同時に表示して、ユーザが選択することができるようにしてもよい。この例では、平行移動の場合、両方向に移動可能であるが、片方に隣接部品があるときは、矢印は、片方向のみとする。さらに、隣接部品との間に距離があるときは移動範囲が限定されるので、矢印の長さによって、移動範囲を表してもよい。このように、動きの種類および動く方向をシンボルによって表示するので、視認性がよく、ユーザは、動きの種類と動く方向とを容易に把握することができる。
【００６７】
上述した実施の形態では、部品同士の干渉について説明したが、必ずしも部品に限定されるものではなく、アセンブリツリーつまり親子関係として、機能ごとにグループ化された部品のまとまりあるいはユニットと部品との干渉の検証を行ってもよい。たとえば、検証対象が複数の部品からなるユニットである場合には、ユニットに対して、包含する球体または直方体を作成し、干渉チェックを行い、隣接部品を検出する。または、ユニットに対してクリアランスチェックを行い、隣接部品を検出する。よって隣接部品は、対象ユニットと隣り合う１つ以上の部品が検出される。さらに、グループ化された部品のまとまり間あるいはユニット間での干渉の検証を行うことも可能である。
【００６８】
このように、記憶手段によって、部品の形状を表す部品形状情報を含む部品情報と、部品を配置する位置および姿勢を表すアセンブリ情報とが記憶され、選択手段によって、記憶手段に記憶された部品情報が示す部品の中から設計検証の対象とする対象部品が選択され、隣接部品検出手段によって、選択手段によって対象部品が選択されると、記憶手段に記憶されるアセンブリ情報が示す位置および姿勢に部品を配置したときに、対象部品に隣接し、かつ予め定める検出条件に合致する隣接部品が、記憶手段に記憶される部品情報が示す部品の中から検出され、隣接面抽出手段によって、隣接部品検出手段によって検出された隣接部品の外表面を形成する各面の中から、対象部品の外表面を形成する各面に隣接する隣接面が抽出され、設定手段によって、対象部品の外表面を形成する各面とその各面に隣接する隣接面との関係であって、記憶手段に記憶される部品情報が示す部品が、アセンブリ情報が示す位置および姿勢に配置されたときに決まる関係に基づいて、隣接部品に相対的に対象部品が動く際の動きの種類および動く方向が推定され、推定された動きの種類および動く方向が、設計検証を行うための定義情報として設定され、表示手段によって、設定手段によって設定された定義情報が表示されるので、動きを伴う部品間の設計検証のために、隣接する部品間の動きを定義するための情報を入力しなくても、部品間の隣接状態に基づいて、部品間の動きを定義することができる。したがって、複数の設計者によって、機能ユニットごとに設計される大規模アセンブリから成る製品の設計においても、すなわち部品数が多い設計においても、動作検証するための部品の動きを短時間で定義することができ、動作検証時間を短縮することができる。
【００６９】
記憶手段は、たとえば部品形状情報記憶部１１であり、選択手段は、たとえば隣接部品検出部１２であり、隣接部品検出手段は、たとえば隣接部品検出部１２であり、隣接面抽出手段は、たとえば隣接面抽出部１３であり、設定手段は、たとえば関節設定部１４であり、表示手段は、たとえば結果表示部１５である。
【００７０】
さらに、前記設定手段によって、対象部品の外表面を形成する面およびその面に隣接する隣接面の形状が平面であると、動きの種類が平行移動と推定され、または対象部品の外表面を形成する面およびその面に隣接する隣接面の形状が円筒形であると、動きの種類が回転移動と推定されるので、対象部品の外表面を形成する面およびその面の隣接面の形状ならびに位置および姿勢によって決まる関係から、動きの種類を特定し、動く方向も限定することができる。したがって、動きの種類を短時間で定義することができ、動作検証時間を短縮することができる。
【００７１】
さらにまた、前記予め定める検出条件は、対象部品を包含する予め定める包含球体または予め定める直方体に少なくとも一部が含まれる部品であることであるので、２つの部品がお互いに近い距離にない部品つまり動きを拘束する関係にない部品を隣接部品の対象から除外することができる。さらに、単純な包含球体または直方体を用いているので、隣接部品を検出するのに要する計算時間を短縮することができる。したがって、動作検証時間を短縮することができる。
【００７２】
さらに、前記予め定める検出条件は、対象部品の動きを抑止するための部品ではないことであるので、隣接しても検証部品と相対的な動きが発生しない部品を隣接部品から除外することができる。したがって、隣接部品を検出するのに要する時間を短縮することができ、動作検証時間を短縮することができる。
【００７３】
さらにまた、コンピュータによって設計検証を実行するにあたって、記憶工程で、部品の形状を表す部品形状情報を含む部品情報と、部品を配置する位置および姿勢を表すアセンブリ情報とを記憶し、選択工程で、記憶工程で記憶された部品情報が示す部品の中から設計検証の対象とする対象部品を選択し、隣接部品検出工程で、選択工程で対象部品が選択されると、記憶工程で記憶されたアセンブリ情報が示す位置および姿勢に部品を配置したときに、対象部品に隣接し、かつ予め定める検出条件に合致する隣接部品を、記憶工程で記憶された部品情報が示す部品の中から検出し、隣接面抽出工程で、隣接部品検出工程で検出された隣接部品の外表面を形成する各面の中から、対象部品の外表面を形成する各面に隣接する隣接面を抽出し、設定工程で、対象部品の外表面を形成する各面とその各面に隣接する隣接面との関係であって、記憶工程で記憶された部品情報が示す部品が、アセンブリ情報が示す位置および姿勢に配置されたときに決まる関係に基づいて、隣接部品に相対的に対象部品が動く際の動きの種類および動く方向を推定し、推定した動きの種類および動く方向を、設計検証を行うための定義情報として設定し、表示工程で、設定工程で設定された定義情報を表示するので、動きを伴う部品間の設計検証のために、隣接する部品間の動きを定義するための情報を入力しなくても、部品間の隣接状態に基づいて、部品間の動きを定義することができる。したがって、本発明による設計検証方法を用いれば、複数の設計者によって、機能ユニットごとに設計される大規模アセンブリから成る製品の設計においても、すなわち部品数が多い設計においても、動作検証するための部品の動きを短時間で定義することができ、動作検証時間を短縮することができる。
【００７４】
記憶工程は、たとえば部品形状記憶処理の工程であり、選択工程は、たとえば隣接部品検出処理の工程であり、隣接部品検出工程は、たとえば隣接部品検出処理の工程であり、隣接面抽出工程は、たとえば隣接面抽出処理の工程であり、設定工程は、たとえば関節設定処理の工程であり、表示工程は、たとえば結果表示処理の工程である。
【００７５】
設計検証装置１の記憶装置２４に記憶されるプログラムは、コンピュータたとえばＣＰＵ２３に、部品形状情報記憶部１１、隣接部品検出部１２、隣接面抽出部１３、関節設定部１４、および結果表示部１５を機能させるためのプログラムである。このプログラムは、設計検証装置１の記憶装置２４たとえばＲＯＭ、磁気ディスク装置、光ディスク装置、あるいは光磁気ディスク装置などの記憶装置に記憶されているが、これらの記憶装置に限定されるものではなく、コンピュータで読取り可能な記録媒体あるいは他の装置に記録されていてもよい。
【００７６】
図１１は、図１に示した設計検証装置１と記録媒体との関連を示す。設計検証装置１は、少なくとも媒体駆動装置３２およびネットワーク接続装置３４のうちのいずれか１つを含む。媒体駆動装置３２は、記録媒体３３に記録されたプログラムおよび／またはデータ３１ａを記憶装置２４にロードする。記録媒体３３は、たとえばハードディスク、メモリカード、フロッピー（登録商標）ディスク、ＣＤ−ＲＯＭ（Compact Disk Read Only 
Memory）、光ディスク、あるいは光磁気ディスクなどの記録媒体であり、プログラムおよび／またはデータを記録する。設計検証装置１は、媒体駆動装置３２を介して、記録媒体３３に記録されたプログラムおよび／またはデータ３１ａを記憶装置２４にロードし、ロードしたプログラムおよび／またはデータ３１を用いて必要な処理を行う。
【００７７】
ネットワーク接続装置３４は、ネットワークに接続されている情報処理装置３５に記憶されたプログラムおよび／またはデータ３１ｂを記憶装置２４にロードする。ネットワーク接続装置３４は、ネットワークに接続されている他の装置とも通信し、プログラムおよび／またはデータを送受信することもできる。設計検証装置１は、ネットワーク接続装置３４を介して、情報処理装置３５に記憶されたプログラムおよび／またはデータ３１ｂを記憶装置２４にロードし、ロードしたプログラムおよび／またはデータ３１を用いて必要な処理を行う。
【００７８】
記録媒体３３に記録されたプログラムあるいは情報処理装置３５に記憶されたプログラムをロードするためのプログラムは、予め記憶装置２４に記憶しておく。記録媒体３３に記録されたプログラムあるいは情報処理装置３５に記憶されたデータをロードするプログラムは、予め記憶装置２４に記憶しておいてもよいし、記録媒体３３あるいは情報処理装置３５からロードされるプログラムに含めておいてもよい。
【００７９】
したがって、本発明は、コンピュータに、設計検証装置１の各手段、たとえば部品形状情報記憶部１１、隣接部品検出部１２、隣接面抽出部１３、関節設定部１４、および結果表示部１５を機能させるためのプログラムとして提供することができる。さらに、コンピュータに設計検証装置１の各手段を機能させるためのプログラムを記録したコンピュータ読取り可能な記録媒体としても提供することができる。
【図面の簡単な説明】
【００８０】
【図１】本発明の実施の一形態である設計検証装置１の機能構成図である。
【図２】図１に示した設計検証装置１のハードウエア構成図である。
【図３】図１に示した設計検証装置１が行う評価の対象部品および隣接部品の一例を示す。
【図４】図３に示した対象部品の動きの推定方法を説明するための図である。
【図５】図１に示した設計検証装置１が行う評価の対象部品および隣接部品の他の例を示す。
【図６】図５に示した対象部品の動きの推定方法を説明するための図である。
【図７】図６に示した例の説明を補足するための図である。
【図８】図１に示した設計検証装置１が処理する設計検証処理のフローチャートである。
【図９】図８に示したフローチャートを詳細に示すフローチャートである。
【図１０】図４（Ｃ）に示したシンボル５１０および図６（Ｄ）に示したシンボル６０６の３次元での斜視図である。
【図１１】図１に示した設計検証装置１と記録媒体との関連を示す。
【符号の説明】
【００８１】
１  設計検証装置
１１  部品形状情報記憶部
１２  隣接部品検出部
１３  隣接面抽出部
１４  関節設定部
１５  結果表示部
２１  データ入力装置
２２  入力インタフェース
２３  ＣＰＵ
２４  記憶装置
２５  ＲＡＭ
２６  出力インタフェース
２７  出力装置
２８  データバス
３２  媒体駆動装置
３３  記録媒体
３４  ネットワーク接続装置
３５  情報処理装置
５０１，６０２  対象部品
５０２，６０１  隣接部品
５０３，５０６，５０９，５１０，６０５，６０６  シンボル
５０４，６０４  対象部品の面
５０５，６０３  隣接面
５１１，６０７，６０８，６０９，７３  動きの方向
７１  円筒面
７２  円筒面の分割平面
【図１】
2008102628.tif 000003
【図２】
2008102628.tif 000004
【図３】
2008102628.tif 000005
【図４】
2008102628.tif 000006
【図５】
2008102628.tif 000007
【図６】
2008102628.tif 000008
【図７】
2008102628.tif 000009
【図８】
2008102628.tif 000010
【図９】
2008102628.tif 000011
【図１０】
2008102628.tif 000012
【図１１】
2008102628.tif 000013