(57)【要約】【課題】ユーザにとって機構の動作が直感的に分かり易く設定が行い易いＧＵＩを有する機構モデルシミュレータを提供する。【解決手段】ＧＵＩ部１２は、部品情報記憶部１１に格納されている情報に基づいて、各部品の３次元形状や可動部を表現するモデルを表示する。そして、任意の複数の可動部のモデルを、マウスのドラッグ操作等により連結することにより、駆動部と従動部を指定させる。また、各可動部の拘束条件や、連動する動きの伝播する方向を表示し、また幾何学的拘束条件を定める形状を抽出して強調表示する。【選択図】　　　図１
2004062435.tif 000002
【特許請求の範囲】
【請求項１】
各部品の３次元形状・位置情報と、該各部品の可動部に関する情報とを格納する部品情報記憶手段と、
該部品情報記憶手段の格納内容に基づいて、各部品の３次元形状を表示すると共に各部品の可動部を表現するモデルを表示し、任意の複数の可動部のモデルをポインティングデバイスで指定させることにより駆動部と該駆動部と連動する従動部とを指定させるユーザ・インタフェース手段と、
を有することを特徴とする機構モデルシミュレータ。
【請求項２】
前記ユーザ・インタフェース手段は、更に、前記各可動部の拘束条件と、前記連動する動きの伝播する方向とを表示することを特徴とする請求項１記載の機構モデルシミュレータ。
【請求項３】
前記ユーザ・インタフェース手段は、更に、幾何学的拘束条件を指定させ、該幾何学的拘束条件を表示すると共に、該指定された幾何学的拘束条件を定める形状を抽出して強調表示することを特徴とする請求項１または２記載の機構モデルシミュレータ。
【請求項４】
コンピュータに、
予め格納されている各部品の３次元形状・位置情報と、該各部品の可動部に関する情報とに基づいて、各部品の３次元形状を表示すると共に各部品の可動部を表現するモデルを表示し、任意の複数の可動部のモデルをポインティングデバイスで指定させることにより駆動部と該駆動部と連動する従動部とを指定させる機能を実現させるためのプログラム。
【請求項５】
前記各可動部の拘束条件と前記連動する動きの伝播する方向とを表示する機能、あるいは前記幾何学的拘束条件を指定させ、該指定された幾何学的拘束条件を定める形状を抽出して強調表示する機能、
を更に有することを特徴とする請求項４記載のプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、機構モデルシミュレータに係わり、特に連動関係をシミュレートするためのシステム、方法、プログラム等に関する。
【０００２】
【従来の技術】
近年、三次元ＣＡＤシステムを用いて装置の機構設計を行うことが多くなってきている。この機構設計用の三次元ＣＡＤシステムにおいては、各部品の形状、大きさ、取り付け位置／相対方向等を設定するが、一般的に、可動部を有する部品が幾つか存在するものであり、装置を組み立て後、設計者が望むように動作するかどうか、あるいは部品同士が干渉しないかどうか等を確認する必要があった。これについて、最近は、コンピュータグラフィックス（ＣＧ）とシミュレーション技術の発達により、シミュレーションによって可動部を動かし、それをＣＧ画面に表示することにより、装置の試作を行わなくても動作確認ができるようになってきている。
【０００３】
図１７〜図２９に、このような機構設計用の三次元ＣＡＤシステム（機構モデルシミュレータ）のＧＵＩ画面、及びユーザによる設定手順の様子を示す。
まず、初期状態では、図１７に示す各部品の３Ｄ形状データ（形状、大きさ、相対位置、方向等）が、既に作成されていて、任意の記憶領域に格納されている。但し、初期状態では、未だ、図示の３Ｄ構成データは作成されていない。よって、初期状態においては、図１８に示すＧＵＩ画面（初期画面）８０の図上左側のツリー図表示領域８１に示す各部品の３Ｄ形状データ・ファイル（ｈｉｋｉ＿ｌｅｖｅｒ＿２＿ｐｒｔ〜ｇｅａｒ＿ａ１＿ｐｒｔ）に基づいて、図上右側の３次元ＣＧ表示領域８２に示すように、単に各部品が各々の位置に表示されるだけの状態となっている。
【０００４】
この状態において、ユーザ等は、可動部（関節）の設定を行うべき部品を１つ選択する。これは、上記ツリー図表示領域８１でファイルを選択してもよいし、３次元ＣＧ表示領域８２上で直接部品を指定してもよい。
【０００５】
これより、図１９のＧＵＩ画面９０のように、３次元ＣＧ表示領域９１に、選択された部品が表示される。尚、この図１９は、３Ｄ形状データ・ファイル“ｈｉｋｉ＿ｌｅｖｅｒ＿２＿ｐｒｔ”を選択した状態を表す。そして、「次へ」ボタン９２をクリックすると、図２０に示すＧＵＩ画面１００に移り、ユーザは、このＧＵＩ画面１００上で上記選択した部品における可動部を指定する。そして、この可動部について各種設定を行う。この設定の仕方については、特に説明しないが、設定結果として、３次元ＣＧ表示領域１０１に示すように、可動部（この例では“穴”１０３）と、その軸１０４が設定される。また特に図示しないが回転方向等も設定される。
【０００６】
設定完了したら、「次へ」ボタン１０２をクリックすると、図２１に示すＧＵＩ画面１１０に移り、ユーザは、この画面１１０上で、上記部品の可動部を取り付ける部品（以下、ベース部品と呼ぶ）を選択する。尚、図２１は、３Ｄ形状データ・ファイル“１４０ｋａｄａｉ＿ｕｅ＿２＿ｐｒｔ”を選択した状態を表す。
【０００７】
ベース部品を選択したら、「次へ」ボタン１１１をクリックして、不図示の画面上でベース部品上での可動部の取り付け位置を設定させる等すると、図２２に示すＧＵＩ画面１２０が表示される。
【０００８】
これも特に詳細には説明しないが、ユーザは、この画面１２０上で、必要に応じて、可動範囲の設定項目である「最小値」、「最大値」を選択すると共に、それらの値を指定することで、ベース部品上における可動部（関節）の可動範囲を設定する。可動範囲は、例えば可動部の軸を中心とした回転角度として設定する。勿論、これに限らず、例えば直線的に移動する場合には、移動可能な位置を設定することになる。
【０００９】
そして、「完了」ボタン１２１をクリックすることで、可動部の設定作業は完了する。この設定作業により、例えば図２３のＧＵＩ画面１３０のツリー図表示領域１３１に示すように、可動部に関する情報が作成・追加される。すなわち、図示のように、ベース部品“１４０ｋａｄａｉ＿ｕｅ＿２＿ｐｒｔ”上における部品“ｈｉｋｉ＿ｌｅｖｅｌ＿２＿ｐｒｔ”の可動部の取り付け位置、可動方向／範囲等の設定情報である“Ｒｏｔａｔｅ００１７”が、図示の通り追加される（これが、図１７に示す３Ｄ構成データとツリー構造である）。尚、ベース部品“１４０ｋａｄａｉ＿ｕｅ＿２＿ｐｒｔ”と設定情報“Ｒｏｔａｔｅ００１７”は、図２２で指定される関節名“ＪｏｉｎｔＡｓｙ００１６”に関する情報として管理される。
【００１０】
以上の処理を、他の部品についても順次実行していくことで、最終的には、図２４のＧＵＩ画面１４０のツリー図表示領域１４１に示すように、部品情報（各部品の３次元形状・位置データや、その可動部の情報）が、ベース部品と部品とその可動部との関係を示すツリー構造で格納されることになる。
【００１１】
更に、通常、上記設定作業により作成・格納された上記部品情報を用いて、各部品（駆動部品）と、この駆動部品の動作に連動して動く他の部品（従動部品）との連動関係をシミュレーションする。尚、連動することを、リレーションと呼ぶ場合もある。
【００１２】
この連動関係のシミュレーションについて、以下、図２５〜図２９を参照して説明する。
まず最初は、図２５に示すリレーション種別設定画面１５０上で、任意のリレーション種別を示すボタンを選択する。そして、「次へ」ボタン１５１をクリックすると、図２６に示すリレーション駆動部品指定画面１６０に移る。この画面１６０の３次元ＣＧ表示領域１６１には、上記部品情報を用いて、図示の通り、ベース部品以外の全ての部品を表示する。そして、この３次元ＣＧ表示領域１６１上で、ユーザに、連動関係の定義対象とする駆動部品を指定させる。そして、ユーザが「次へ」ボタン１６２をクリックすると、図２７に示す従動部品設定画面１７０に移り、駆動部品と連動して動く従動部品を指定させる。すると、図示のリレーション設定対象表示領域１７２に、指定された駆動部品、従動部品のみが、他の部品とは切り離されて表示される。この例では、上記“ｈｉｋｉ＿ｌｅｖｅｒ＿２＿ｐｒｔ”が駆動部品として選択され、これに連動する従動部品として略円盤状の部品が選択されている。そして、「次へ」ボタン１７３をクリックして、次の画面に移り、上記選択した駆動部品−従動部品間の連動関係を定義することになる。
【００１３】
まず、図２８に示す可動範囲設定画面１８０上で可動範囲を設定する。続いて自動計算または手作業により連動関係を定義する。手作業により連動関係を設定する場合には、図２９に示す連動関係設定画面１９０上で、ユーザが手作業で設定を行う。
【００１４】
ここで、図２２において、既に可動範囲の設定を行っているが、これはベース部品上における駆動部品単体の可動範囲であり、従動部品と連動する際には、通常、可動範囲が狭まる場合が多い。よって、まず、図２８の画面１８０上で、駆動部品−従動部品で連動する場合の可動範囲を設定した上で、次に、この可動範囲内での連動関係を定義する。
【００１５】
まず、図２８の可動範囲設定画面１８０上では、ユーザは、まず、３次元ＣＧ表示領域１８１上で各部品を初期位置へと動かして、「始点取込み」ボタン１８３をクリックし、各部品の初期位置を設定する。同様に、３次元ＣＧ表示領域１８１上で各部品を終点位置へと動かして、「終点取込み」ボタン１８４をクリックし、各部品の終点位置を設定する。以上で、可動範囲が設定される。
【００１６】
可動範囲を設定したら、例えば干渉チェックアルゴリズムを用いて連動動作を自動計算して、連動関係を自動的に定義させてもよいし、あるいは手動で設定してもよい。
【００１７】
手動設定する場合には、図２９の連動関係設定画面１９０上において、ユーザは、例えば初期位置から少しずつ駆動部品を動かして、動かす毎に、その位置に対応する従動部品の位置を手作業で決定する。すなわち、従動部品を動かしつつ、目視により、例えばそのときの溝の位置にピンが嵌まる位置を見つけて位置決定する（決定したら、「取込み」ボタンをクリックすれば、図上右側に示すように、駆動部品の位置と従動部品の位置（連動関係）が登録される）。この作業を、繰り返し実行することで、連動関係が定義されて保存されることになる。
【００１８】
【発明が解決しようとする課題】
ところで、ユーザにとっては、例えば可動範囲設定画面１８０の３次元ＣＧ表示領域１８１に示すような表示では、連動関係の定義対象である２つの部品の３次元ＣＧが表示されているだけであり、例えばこれら部品が何に基づいて動作するのか（可動部が何処か）、どの様な拘束条件でどのように動きが伝播しているのか、他の部品との関係がどのようになっているのか等が、直感的に分かり易い表示になっているとは言い難かった。また、駆動部−従動部を設定する為の操作手順が煩雑であった。
【００１９】
尚、上述したことは、例えば本出願人の製品（ＦＪＶＰＳ／Ｄｉｇｉｔａｌ　Ｍｏｃｋｕｐ　　Ｖ１０Ｌ１４ａ）の技術である。
本発明の課題は、ユーザにとって機構の動作が直感的に分かり易い表示を行い、また駆動部−従動部の指定操作等の操作を行い易くする機構モデルシミュレータ、そのプログラム等を提供することである。
【００２０】
【課題を解決するための手段】
本発明の機構モデルシミュレータは、各部品の３次元形状・位置情報と、該各部品の可動部に関する情報とを格納する部品情報記憶手段と、該部品情報記憶手段の格納内容に基づいて、各部品の３次元形状を表示すると共に各部品の可動部を表現するモデルを表示し、任意の複数の可動部のモデルをポインティングデバイスで指定させることにより駆動部と該駆動部と連動する従動部とを指定させるユーザ・インタフェース手段とを有するように構成する。
【００２１】
上記のように可動部を表現するモデルを表示して、これをマウス等で指定させる手法のほうが、従来に比べて、機構の動作が直感的に分かり易く且つ駆動部−従動部の指定操作等が行い易くなる。
【００２２】
更に、例えば、前記ユーザ・インタフェース手段が、前記各可動部の拘束条件と、前記連動する動きの伝播する方向とを表示したり、幾何学的拘束条件を指定させ、該幾何学的拘束条件を表示すると共に、該指定された幾何学的拘束条件を定める形状を抽出して強調表示するように構成してもよい。
【００２３】
このような表示を行うことで、特に、複雑な機構の連動動作等でも直感的に分かり易くなる。
なお、上述した本発明の各構成により行なわれる機能と同様の制御をコンピュータに行なわせるプログラムを記憶したコンピュータ読み取り可能な記憶媒体から、そのプログラムをコンピュータに読み出させて実行させることによっても、前述した課題を解決することができる。
【００２４】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて説明する。
図１は、本実施の形態による機構モデルシミュレータの機能ブロック図である。
【００２５】
図１に示す機構モデルシミュレータ１０は、部品情報記憶部１１と、ＧＵＩ部１２とを有する。部品情報記憶部１１は、各部品の３次元形状・位置情報と、該各部品の可動部に関する情報とを格納する。つまり、上記図１８〜図２４の処理により設定された情報が格納されている。
【００２６】
ＧＵＩ部（グラフィカル・ユーザ・インタフェース部）１２は、この部品情報記憶部１１に格納されている上記各種情報に基づいて、各部品の３次元形状を表示すると共に各部品の可動部を表現するモデルを表示する。そして、任意の複数の可動部のモデルをポインティングデバイスで指定させる（例えばドラッグ操作等）ことにより、駆動部と、この駆動部と連動する従動部とを指定させる。
【００２７】
また、ＧＵＩ部１２は、更に、前記各可動部の拘束条件と、上記連動する動きの伝播する方向とを表示する。可動部の拘束条件とは、例えば可動部の並進／回転等の動作と、その方向等である。連動する動きの伝播する方向の表示は、例えば、駆動部から従動部へ向かう矢印を表示する。
【００２８】
また、ＧＵＩ部１２は、更に、上記駆動部−従動部を連動動作させる為の幾何学的な拘束条件を指定させ、この幾何学的拘束条件を文字表示すると共に、指定された幾何学的拘束条件を定める形状を抽出して強調表示する。幾何学的な拘束条件は、例えば、歯車、溝、カム等の形状によって定まるものであり、例えば溝を例にすると、「溝」である旨を表示すると共に、この溝の形状を強調表示（ハイライト表示等）する。
【００２９】
図２は、上記機構モデルシミュレータによる処理手順を説明する為のフローチャート図である。
図３〜図１１は、コンピュータのディスプレイ等に表示されるＧＵＩ（Ｇｒａｐｈｉｃａｌ　ＵｓｅｒＩｎｔｅｒｆａｃｅ）画面の推移を示す図である。
【００３０】
以下、図３〜図１１を参照しつつ、図２の処理手順について説明する。
まず、最初に、特に図示しないが、従来と同様に、機構モデルシミュレータ（以下、単にシステムと呼ぶ）は、まず、設定すべき連動関係（リレーション）の種類をユーザに選択させ、これより、図３に示すＧＵＩ画面２０（初期画面）を表示する。
【００３１】
図示のＧＵＩ画面２０の３次元ＣＧ表示領域２１には、上記部品情報記憶部１１に格納されている部品情報に基づいて各部品のＣＧ画像を該当位置に表示すると共に、更に各部品の可動部を表現するモデルを表示する。すなわち、部品Ａ、部品Ｂ、部品Ｃ、部品Ｄを表示すると共に、部品Ａの可動部ａ、部品Ｂの可動部ｂ、部品Ｃの可動部ｃ、部品Ｄの可動部ｄを表現するモデルを表示する。各可動部を表現するモデル（３次元ＣＧ）は、予め設定して登録しておくものであり、その形状は何でもよいが、図示の例は略円柱形状である。尚、これは、各部品の可動部が何処にあるのかがユーザにとって分かり易くなるようにする為に表示しているのであり、実際に略円柱形状の部品が存在しているわけではない。
【００３２】
３次元ＣＧ表示領域２１には、更に、各可動部の拘束条件（並進または回転と、その方向）を表示する。図示の例では、どの可動部も回転動作するので、可動部ａの回転方向ｅ、可動部ｂの回転方向ｆ、可動部ｃの回転方向ｇ、可動部ｄの回転方向ｈを、表示している。尚、部品Ａは溝ｍを有し、部品Ｂはこの溝ｍに嵌まるピンｎを有している。
【００３３】
このような初期画面上において、ユーザは、任意の部品間の連動関係を設定する為に、マウス等のポインティングデバイスを用いて、まず、連動関節指定ボタン２２をクリックした後、３次元ＣＧ表示領域２１上で、マウスポインタ（カーソル）を任意の可動部から他の任意の可動部まで移動させる操作（ドラッグ操作）を行うことで（図２のステップＳ１）、駆動部、従動部を指定する。尚、このような操作に限らず、例えば任意の２つの可動部を順次指定（ダブルクリック等）するように操作してもよい。
【００３４】
システムは、最初に指定した可動部を駆動部、移動先の可動部を従動部と認識し、駆動部、従動部の部品情報（図２では、Ｊ１、Ｊ２と記す）を取得する（ステップＳ２）。そして、この取得したデータに基づいて、駆動部の位置から従動部の位置に向かう矢印を表示する（ステップＳ３）。この矢印は、駆動部、従動部と、これらの連動する動きの伝播する方向を表現するものである。
【００３５】
例えば、部品Ａの可動部ａから部品Ｂの可動部ｂへのドラッグ操作を行った場合には、図４のＧＵＩ画面３０の３次元ＣＧ表示領域３１に示す矢印３２が追加表示されることになる。尚、ユーザには、この矢印の根元側が駆動部を意味し、この矢印の先側が従動部を意味するものであることを、予め操作マニュアル等で知らせておく。更に、各可動部ａ、ｂの回転方向ｅ，ｆを、それぞれ、強調表示（例えば図３では白色表示であったのを、赤色表示にする等）してもよい。尚、後に、この矢印３２上に、幾何学的な拘束条件を説明する文字が表示されるが、現段階では「未定義」と表示されている（これは表示しなくてもよい）。
【００３６】
次に、歯車／溝／カムなどの形状によって定まる幾何学的な拘束条件について設定する。まず、ユーザにより動作条件の指定が行われる（ステップＳ４）。これは、ＧＵＩ画面３０の「従動部品の動作条件」設定領域３３において選択・指定する。初期状態では「歯車」になっている為、ＧＵＩ画面３０の図上右側に示す表示状態となっているが、ここではユーザは「溝／外周に沿った動き」を選択することになるので、ＧＵＩ画面は図５に示す表示状態となる。
【００３７】
図５のＧＵＩ画面４０において３次元ＣＧ表示領域４１の内容は変化していない。ＧＵＩ画面４０の図上右側に示すように、ユーザが「従動部品の動作条件」設定領域３３において“溝／外周に沿った動き”を選択・指定した場合には、「駆動部品動作範囲」設定領域４３、「溝／外周指定」ボタン４４、「溝に沿って動く部分」設定領域４５が、表示される。この状態において、まず、ユーザに、「駆動部品動作範囲」設定領域４３の設定を行わせる。つまり、駆動部品の可動範囲（開始位置、終了位置）、及びステップ数を指定させる（ステップＳ５）。
【００３８】
尚、可動範囲は、デフォルトでは、予め図１８等で設定・登録してある値が、自動的に初期設定されるので、通常は、ステップ数のみを設定すればよいが、ユーザの判断で可動範囲を設定し直しても良い。
【００３９】
システム側では、上記開始位置、終了位置、ステップ数を、各々、変数ｍｉｎ、ｍａｘ、Ｎに代入して、記憶しておく（ステップＳ６）。これらは、後にステップＳ１２の処理で用いる。
【００４０】
次に、ユーザに、幾何学的な拘束形状の指定を行わせる（ステップＳ７）。
これは、図５に示すように、「溝／外周指定」ボタン４４をクリックした後、３次元ＣＧ表示領域４１上において、指定すべき溝または外周の近傍にマウス・ポインタを移動させた後、クリックする等の操作を行うことで、指定できる（この例では、溝ｍを指定）。
【００４１】
この指定に応じて、詳しくは図１３で説明する処理を行うことで、図７に示すように、拘束形状（溝ｍの輪郭）を強調表示（ハイライト表示等）する（ステップＳ８）。
【００４２】
尚、図面では（図７に限らず、他の図面も同様）、カラーが使えない都合上、ハイライト表示することを、太線で表現するものとする。
続いて、ユーザに、被拘束物の指定を行わせて（ステップＳ９）、この被拘束形状を強調表示（ハイライト表示等）する（ステップＳ１０）。
【００４３】
この例では、被拘束物は、部品Ｂに設けられたピンｎであるので、図８に示すように、ユーザに、「溝に沿って動く部分」設定領域４５において、ピンを指定して、「指定」ボタン４６をクリックする操作を行わせる。この指定に応じて、詳しくは図１３で説明する処理を行うことで、図８に示すように、被拘束形状（ピンｎの輪郭）も強調表示（ハイライト表示等）する。
【００４４】
以上の設定が完了したら、ユーザは、図９に示す「計算」ボタン４７を操作する（ステップＳ１１）。これに応じて、システムは、駆動部と従動部の連動動作を、溝ｍによる制約に従って計算する。これは、図２のステップＳ１２〜ステップＳ１５に示すように、まず、ステップＳ６で取得したｍｉｎ、ｍａｘ、Ｎを用いて、ｄ＝（ｍａｘ−ｍｉｎ）÷　Ｎを算出する。そして、変数ｉの初期値を０とし、ステップＳ１３〜ステップＳ１５の処理を実行する毎にｉ＝ｉ＋１（＋１インクリメント）し、この処理をｉ＝Ｎになるまで繰り返し実行する。ステップＳ１３〜Ｓ１５の処理は、駆動部（Ｊ１）をｉ×ｄだけ移動させて（ステップＳ１３）、被拘束形状の位置計算を行い（ステップＳ１４）、従動部（Ｊ２）の移動量を計算する（ステップＳ１５）だけであり、例えば従来より行われていた干渉チェックアルゴリズムを用いた連動関係の自動計算処理やその他既存の計算処理を実行するだけであるので、特に詳細には説明しない。
【００４５】
以上、連動動作の自動計算処理が完了したら、ユーザは、「設定」ボタン４８を操作する（ステップＳ１６）。これより、システムは、図１２（ａ）に示すような可動部ａと可動部ｂとの連動関係テーブルを作成する（ステップＳ１７）。つまり、可動部ａがどの位置にあるときに可動部ｂがどの位置にあるのかを示すテーブルを作成する。更に、図１０に示すように、Ｊ１からＪ２への矢印３２上に、上記幾何学的な拘束条件を説明する文字（この例では“溝”４９）を表示する（ステップＳ１８）。この文字は、「従動部品の動作条件」設定領域４２における選択に応じて、予め登録されている文字が表示されるものである。
【００４６】
以上説明したように、本システムによれば、他の部品も一緒に表示した状態のままで、各可動部の拘束条件（並進／回転、方向等）や、幾何学的拘束条件、動きの伝播の仕方などが分かり易くなるように表示でき、複雑な機構の動作が直感的に分かり易くなるという効果が得られる。また、簡単な操作（上記ドラッグ操作等）により、連動関係定義対象（駆動部、従動部）を指定することができる。
【００４７】
以上で可動部ａ−ｂ間の連動関係の設定は完了する。更に、他の連動関係を設定したい場合には、ステップＳ１から同様の処理を実行していけばよい。例えば、更に、可動部ｂと可動部ｃとの連動関係の設定を行うと、図１１に示すような表示内容となる。
【００４８】
図１１に示す通り、可動部ｂから可動部ｃへの矢印５２と、幾何学的な拘束条件を説明する文字（この場合は“歯車”）が表示されるが、尚且つ、可動部ａから可動部ｂへの矢印３２と“溝”の表示は、そのまま残されている。
【００４９】
このように表示することで、可動部ａの拘束条件（回転）から幾何学的な拘束条件「溝」に従って可動部ｂが連動動作（回転）し、更にこの可動部ｂの動作から幾何学的な拘束条件「歯車」に従って可動部ｃが連動動作するというような、３つ以上の部品の連動関係が、ユーザにとって理解し易くなる。特に、この例より更に複雑な形状／連動関係を有する機構の場合、この効果は顕著なものとなる。
【００５０】
尚、可動部ｂと可動部ｃとの連動関係テーブルも、図１２（ｂ）に示すように作成され、記憶される。
次に、以下に、上記ステップＳ８またはＳ９の処理、すなわち幾何学的な拘束を規定している形状（拘束形状、被拘束形状）をハイライト表示する処理について、図１３、図１４を参照して、詳細に説明する。
【００５１】
例えば、図７で説明したような部品Ａの溝ｍの形状をハイライト表示する為には、この溝ｍの形状を示す輪郭線を抽出する必要がある。つまり、元々、各部品の形状データは、図１４（ａ）に示すように、そのオブジェクト形状の表面を構成する多数の三角形のデータ群より成る。よって、各部品の形状の３次元ＣＧは、実際には図１４（ｂ）に示すように、そのオブジェクト形状の表面を表す多数の三角形（三角パッチ）により表わされる。よって、ユーザにとっては視覚的に溝ｍの形状が認識できるが、システム内部のデータとしては、溝ｍの形状自体を示すデータを保持しているわけではないので、溝形状をハイライト表示する為には、溝ｍの輪郭形状を示すデータを抽出する必要がある。
【００５２】
以下、図１４（ｂ）に示す例を参照しながら、図１３の処理について説明する。
まず、ユーザは、図６で説明したように、マウス等により溝ｍの近傍の任意の位置を指定する。ここでは、図１４（ｂ）に示す座標Ｐが指定されたものとする。
【００５３】
これより、システムは、まず、そのオブジェクト形状（部品Ａ）の表面を表す三角形の集合（Ｓ１）を取得する（ステップＳ２２）。例えば、サイコロを例にすると、そのオブジェクト形状の表面を表す三角形の集合（Ｓ１）とは、‘１’の面の表面を表す全ての三角形、‘２’の面の表面を表す全ての三角形、・・・、‘６’の面の表面を表す全ての三角形、という全ての三角形を意味する。
【００５４】
次に、この三角形の集合（Ｓ１）の中から、上記ユーザにより指定された座標Ｐの位置にある三角形（Ｔ）を取得する（ステップＳ２３）。これは、図１４（ｂ）の例では斜線で示す三角形である。
【００５５】
続いて、上記三角形の集合（Ｓ１）の中から、三角形（Ｔ）と同一平面上にある三角形を抽出し、これを三角形の集合（Ｓ２）とする（サイコロの例でいえば、例えば座標Ｐが‘２’の面にあった場合は、‘２’の面の表面を表す全ての三角形を抽出する）。図１４（ｂ）には、この集合（Ｓ２）に含まれる全ての三角形を示している。
【００５６】
そして、この集合（Ｓ２）に含まれる全ての三角形の各辺のデータに基づいて、共有されていない辺を抽出し、この辺の集合（Ｓ３）を作成する（ステップＳ２５）。共有されていない辺の集合（Ｓ３）は、図１４（ｂ）の例では、実線で示す各辺である。逆に共有されている辺とは、図１４（ｂ）において点線で示す辺であり、つまり、２つの三角形で共有されている辺のことである。
【００５７】
続いて、集合（Ｓ３）の各辺を、連結可能なもの同士を連結することで多角形を構成する。連結可能なものとは、頂点を共有する（同一の頂点座標を持つ）２つの辺のことである。これにより、図１４（ｂ）の例では、外周を示す多角形ＰＦと、溝ｍを示す多角形ＰＧが作成される（ステップＳ２６）。
【００５８】
そして、ステップＳ２６で作成された各多角形の中で、ステップＳ２１で指定された座標Ｐに最も近い多角形を判定し（この例では、溝ｍを示す多角形ＰＧ）、この多角形ＰＧのデータ（連結された辺のデータ）を取得・保存する（ステップＳ２７）。
【００５９】
後は、以上の処理により得られた多角形ＰＧを、ハイライト表示すればよい（ステップＳ２８）。
図１５は、上記機構モデルシミュレータを実現するコンピュータのハードウェア構成の一例を示す図である。
【００６０】
図１５に示すコンピュータ６０は、ＣＰＵ６１、メモリ６２、入力装置６３、出力装置６４、外部記憶装置６５、媒体駆動装置６６、ネットワーク接続装置６７等を有し、これらがバス６８に接続された構成となっている。同図に示す構成は一例であり、これに限るものではない。
【００６１】
ＣＰＵ６１は、当該コンピュータ６０全体を制御する中央処理装置である。
メモリ６２は、プログラム実行、データ更新等の際に、外部記憶装置６５（あるいは可搬記録媒体６９）に記憶されているプログラムあるいはデータを一時的に格納するＲＡＭ等のメモリである。ＣＰＵ６１は、メモリ６２に読み出したプログラム／データを用いて、上述した各種処理を実行する。
【００６２】
入力装置６３は、例えばキーボード、マウス、タッチパネル等である。
出力装置６４は、例えばディスプレイ、プリンタ等である。
外部記憶装置６５は、例えばハードディスク装置等であり、上記各種機能を実現させる為のプログラム／データ等（例えば図２、図１３に示す各処理をコンピュータに実行させるプログラム、図１７に示すデータ等）が格納されている。また、当該プログラム／データ等は、可搬記録媒体６９に記憶されており、媒体駆動装置６６が、可搬記録媒体６９に記憶されているプログラム／データ等を読み出して、上記各種処理をコンピュータ６０に実行させるようにしてもよい。可搬記録媒体６９は、例えば、ＦＤ（フレキシブルディスク）、ＣＤ−ＲＯＭ、その他、ＤＶＤ、光磁気ディスク等である。
【００６３】
ネットワーク接続装置６７は、ネットワーク（インターネット等）に接続して、外部の情報処理装置とプログラム／データ等の送受信を可能にする構成である。
【００６４】
図１６は、上記プログラムを記録した記録媒体又はプログラムのダウンロードの一例を示す図である。
図示のように、上記本発明の機能を実現するプログラム／データが記憶されている可搬記録媒体６９を情報処理装置６０の本体に挿入する等して、当該プログラム／データを読み出してメモリ６２に格納し実行するものであってもよいし、また、上記プログラム／データは、ネットワーク接続装置６７により接続しているネットワーク７３（インターネット等）を介して、外部のプログラム／データ提供者側のサーバ７０に記憶されているプログラム／データ７１をダウンロードするものであってもよい。
【００６５】
また、本発明は、装置／方法に限らず、上記プログラム／データを格納した記録媒体（可搬記録媒体６９等）自体として構成することもできるし、これらプログラム自体として構成することもできる。
【００６６】
（付記１）　各部品の３次元形状・位置情報と、該各部品の可動部に関する情報とを格納する部品情報記憶手段と、
該部品情報記憶手段の格納内容に基づいて、各部品の３次元形状を表示すると共に各部品の可動部を表現するモデルを表示し、任意の複数の可動部のモデルをポインティングデバイスで指定させることにより駆動部と該駆動部と連動する従動部とを指定させるユーザ・インタフェース手段と、
を有することを特徴とする機構モデルシミュレータ。
【００６７】
（付記２）　前記ユーザ・インタフェース手段は、更に、前記各可動部の拘束条件と、前記連動する動きの伝播する方向とを表示することを特徴とする付記１記載の機構モデルシミュレータ。
【００６８】
（付記３）　前記ユーザ・インタフェース手段は、更に、幾何学的拘束条件を指定させ、該幾何学的拘束条件を表示すると共に、該指定された幾何学的拘束条件を定める形状を抽出して強調表示することを特徴とする付記１または２記載の機構モデルシミュレータ。
【００６９】
（付記４）　コンピュータに、
予め格納されている各部品の３次元形状・位置情報と、該各部品の可動部に関する情報とに基づいて、各部品の３次元形状を表示すると共に各部品の可動部を表現するモデルを表示し、任意の複数の可動部のモデルをポインティングデバイスで指定させることにより駆動部と該駆動部と連動する従動部とを指定させる機能を実現させるためのプログラム。
【００７０】
（付記５）　前記各可動部の拘束条件と前記連動する動きの伝播する方向とを表示する機能、あるいは前記幾何学的拘束条件を指定させ、該指定された幾何学的拘束条件を定める形状を抽出して強調表示する機能、
を更に有することを特徴とする付記４記載のプログラム。
【００７１】
（付記６）　コンピュータに、
予め格納されている各部品の３次元形状・位置情報と、該各部品の可動部に関する情報とに基づいて、各部品の３次元形状を表示すると共に各部品の可動部を表現するモデルを表示し、任意の複数の可動部のモデルをポインティングデバイスで指定させることにより駆動部と該駆動部と連動する従動部とを指定させる機能を実現させるプログラムを記録した前記コンピュータ読取り可能な記録媒体。
【００７２】
（付記７）　前記各可動部の拘束条件と前記連動する動きの伝播する方向とを表示する機能、あるいは前記幾何学的拘束条件を指定させ、該指定された幾何学的拘束条件を定める形状を抽出して強調表示する機能、
を更に有することを特徴とする付記６記載の記録媒体。
【００７３】
（付記８）　予め格納されている各部品の３次元形状・位置情報と、該各部品の可動部に関する情報とに基づいて、各部品の３次元形状を表示すると共に各部品の可動部を表現するモデルを表示し、任意の複数の可動部のモデルをポインティングデバイスで指定させることにより駆動部と該駆動部と連動する従動部とを指定させることを特徴とする連動関係設定方法。
【００７４】
【発明の効果】
以上詳細に説明したように、本発明の機構モデルシミュレータ、そのプログラム等によれば、ユーザにとって機構の動作が直感的に分かり易い表示を行い、また駆動部−従動部の指定操作等の操作を行い易くすることができる。
【図面の簡単な説明】
【図１】本実施の形態による機構モデルシミュレータの機能ブロック図である。
【図２】図１の機構モデルシミュレータによる処理手順を説明する為のフローチャート図である。
【図３】表示されるＧＵＩ画面の推移を示す図（その１）である。
【図４】表示されるＧＵＩ画面の推移を示す図（その２）である。
【図５】表示されるＧＵＩ画面の推移を示す図（その３）である。
【図６】表示されるＧＵＩ画面の推移を示す図（その４）である。
【図７】表示されるＧＵＩ画面の推移を示す図（その５）である。
【図８】表示されるＧＵＩ画面の推移を示す図（その６）である。
【図９】表示されるＧＵＩ画面の推移を示す図（その７）である。
【図１０】表示されるＧＵＩ画面の推移を示す図（その８）である。
【図１１】表示されるＧＵＩ画面の推移を示す図（その９）である。
【図１２】（ａ）、（ｂ）は、連動関係テーブルの一例を示す図である。
【図１３】幾何学的な拘束を規定している形状をハイライト表示する処理を説明する為のフローチャート図である。
【図１４】（ａ）は各部品の形状データの一部の詳細を示す図、（ｂ）は形状の表面を表す多数の三角形（三角パッチ）と、これより抽出される溝ｍの輪郭を示す図である。
【図１５】機構モデルシミュレータを実現するコンピュータのハードウェア構成の一例を示す図である。
【図１６】プログラムを記録した記録媒体又はプログラムのダウンロードの一例を示す図である。
【図１７】各部品の形状データ等の部品情報の一例を示す図である。
【図１８】可動部の設定を行う際のＧＵＩ画面の推移を示す図（その１）である。
【図１９】可動部の設定を行う際のＧＵＩ画面の推移を示す図（その２）である。
【図２０】可動部の設定を行う際のＧＵＩ画面の推移を示す図（その３）である。
【図２１】可動部の設定を行う際のＧＵＩ画面の推移を示す図（その４）である。
【図２２】可動部の設定を行う際のＧＵＩ画面の推移を示す図（その５）である。
【図２３】可動部の設定を行う際のＧＵＩ画面の推移を示す図（その６）である。
【図２４】可動部の設定を行う際のＧＵＩ画面の推移を示す図（その７）である。
【図２５】連動関係の設定を行う場合の初期画面である。
【図２６】連動関係の設定を行う際のＧＵＩ画面の推移を示す図（その１）である。
【図２７】連動関係の設定を行う際のＧＵＩ画面の推移を示す図（その２）である。
【図２８】連動関係の設定を行う際のＧＵＩ画面の推移を示す図（その３）である。
【図２９】連動関係の設定を行う際のＧＵＩ画面の推移を示す図（その４）である。
【符号の説明】
１０　機構モデルシミュレータ
１１　部品情報記憶部
１２　ＧＵＩ部
２０　ＧＵＩ画面
２１　３次元ＣＧ表示領域
２２　連動関節指定ボタン
３０　ＧＵＩ画面
３１　３次元ＣＧ表示領域
３２　矢印
３３　「従動部品の動作条件」設定領域
４０　ＧＵＩ画面
４１　３次元ＣＧ表示領域
４２　「従動部品の動作条件」設定領域
４３　「駆動部品動作範囲」設定領域
４４　「溝／外周指定」ボタン
４５　「溝に沿って動く部分」設定領域
４６　「指定」ボタン
４７　「計算」ボタン
４８　「設定」ボタン
５０　ＧＵＩ画面
５１　３次元ＣＧ表示領域
６０　コンピュータ
６１　ＣＰＵ
６２　メモリ
６３　入力装置
６４　出力装置
６５　外部記憶装置
６６　媒体駆動装置
６７　ネットワーク接続装置
６８　バス
６９　可搬記録媒体
７０　プログラム／データ提供者側のサーバ
７１　プログラム／データ
７３　ネットワーク
【図１】
2004062435.tif 000003
【図２】
2004062435.tif 000004
【図３】
2004062435.tif 000005
【図４】
2004062435.tif 000006
【図５】
2004062435.tif 000007
【図６】
2004062435.tif 000008
【図７】
2004062435.tif 000009
【図８】
2004062435.tif 000010
【図９】
2004062435.tif 000011
【図１０】
2004062435.tif 000012
【図１１】
2004062435.tif 000013
【図１２】
2004062435.tif 000014
【図１３】
2004062435.tif 000015
【図１４】
2004062435.tif 000016
【図１５】
2004062435.tif 000017
【図１６】
2004062435.tif 000018
【図１７】
2004062435.tif 000019
【図１８】
2004062435.tif 000020
【図１９】
2004062435.tif 000021
【図２０】
2004062435.tif 000022
【図２１】
2004062435.tif 000023
【図２２】
2004062435.tif 000024
【図２３】
2004062435.tif 000025
【図２４】
2004062435.tif 000026
【図２５】
2004062435.tif 000027
【図２６】
2004062435.tif 000028
【図２７】
2004062435.tif 000029
【図２８】
2004062435.tif 000030
【図２９】
2004062435.tif 000031