(57)【特許請求の範囲】
【請求項１】
コンピュータが、
複数の部品からなる三次元モデルを画面に表示する工程と、
前記画面に表示されるカーソルの位置を入力する工程と、
前記カーソルの位置が前記三次元モデル上にあるか否かを判断する工程と、
前記カーソルの位置が前記三次元モデル上にある場合、前記カーソルの位置を通過する前記画面の法線上に存在する複数の部品を抽出する工程と、
前記カーソルの位置が前記三次元モデル上にあるときに前記カーソルの移動量を検出する工程と、
前記カーソルの移動量が所定の閾値以上である場合に、前記抽出された複数の部品のうち、前記画面の最前に存在する部品を当該画面から削除する工程と、
を実行する部品選択方法。
【請求項２】
前記コンピュータが、
前記カーソルの位置が前記三次元モデル上にあるときにマウスカーソル及びマウスホイールが無操作である期間を検出する工程をさらに実行し、
前記画面から部品を削除する工程として、
前記無操作である期間が所定の閾値以上である場合に、前記抽出された複数の部品のうち、前記画面の最前に存在する部品を当該画面から削除する処理を実行することを特徴とする請求項１に記載の部品選択方法。
【請求項３】
前記コンピュータが、
前記カーソルの位置が前記三次元モデル上にあるときにマウスホイールの回転方向および回転量を検出する工程と、
前記マウスホイールの第１の方向への回転量が所定の閾値以上である場合に、前記画面に表示中の部品よりも奥側に位置する部品を前記画面の最前に表示し、前記マウスホイールの第１の方向とは異なる第２の方向への回転量が所定の閾値以上である場合に、前記画面に表示中の部品よりも手前側に位置する部品を前記画面の最前に表示する工程とをさらに実行することを特徴とする請求項１に記載の部品選択方法。
【請求項４】
前記コンピュータが、
前記抽出された複数の部品のうち前記画面の最前に存在する部品の表示輝度を他の部品の表示輝度よりも高くする工程をさらに実行することを特徴とする請求項１、２または３に記載の部品選択方法。
【請求項５】
前記コンピュータが、
前記カーソルの位置を記録する工程と、
前記三次元モデルの拡大率を調節する指令を検出する工程と、
前記指令が検出された場合に、前記拡大率が調節された後のカーソル位置を前記拡大率が調節される前のカーソル位置に戻す工程と
をさらに実行することを特徴とする請求項１〜４のいずれか１つに記載の部品選択方法。
【請求項６】
複数の部品からなる三次元モデルを画面に表示する表示部と、
前記画面に表示されるカーソルの位置を入力する入力部と、
前記カーソルの位置が前記三次元モデル上にあるか否かを判断する判断部と、
前記カーソルの位置が前記三次元モデル上にある場合、前記カーソルの位置を通過する前記画面の法線上に存在する複数の部品を抽出する抽出部と、
前記カーソルの位置が前記三次元モデル上にあるときに前記カーソルの移動量を検出する検出部と、
前記カーソルの移動量が所定の閾値以上である場合に、前記抽出された複数の部品のうち、前記画面の最前に存在する部品を当該画面から削除する削除部と、
を具備する部品選択装置。
【請求項７】
複数の部品からなる三次元モデルを画面に表示する表示部と、
前記画面に表示されるカーソルの位置を入力する入力部と、
前記カーソルの位置が前記三次元モデル上にあるか否かを判断する判断部と、
前記カーソルの位置が前記三次元モデル上にある場合、前記カーソルの位置を通過する前記画面の法線上に存在する複数の部品を抽出する抽出部と、
前記カーソルの位置が前記三次元モデル上にあるときに前記カーソルの移動量を検出する検出部と、
前記カーソルの移動量が所定の閾値以上である場合に、前記抽出された複数の部品のうち、前記画面の最前に存在する部品を当該画面から削除する削除部と、
を具備するＣＡＤ装置。
【請求項８】
複数の部品からなる三次元モデルを画面に表示する手順と、
前記画面に表示されるカーソルの位置を入力する手順と、
前記カーソルの位置が前記三次元モデル上にあるか否かを判断する手順と、
前記カーソルの位置が前記三次元モデル上にある場合、前記カーソルの位置を通過する前記画面の法線上に存在する複数の部品を抽出する手順と、
前記カーソルの位置が前記三次元モデル上にあるときに前記カーソルの移動量を検出する手順と、
前記カーソルの移動量が所定の閾値以上である場合に、前記抽出された複数の部品のうち、前記画面の最前に存在する部品を当該画面から削除する手順と、
をコンピュータに実行させる部品選択プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、部品選択方法、部品選択装置、ＣＡＤ装置及び部品選択プログラムに関する。
【背景技術】
【０００２】
近年、部品や製品などの各種設計の作業効率を高めるために設計支援用アプリケーション（Application）が利用されている。このような設計支援用アプリケーションの一例としては、三次元ＣＡＤ（Computer  Aided  Design）やデジタルモックアップ（ＤＭＵ：Digital  Mock−Up）などが挙げられる。なお、以下では、設計支援用アプリケーションを設計支援アプリと略記する。
【０００３】
かかる設計支援アプリを使用する際には、三次元モデル（Model）の内部に存在する部品を選択する操作が以降に派生する操作を行うための基本操作として使用される。このように三次元モデル（Model）の内部に存在する部品を以下では「内部部品」と呼ぶ。一例としては、三次元モデルの内部にハーネス（harness）などを配置する場合、三次元モデルに隠されている機構構造を設定する場合や機構構造のモータのパラメータを変更する場合などが挙げられる。このように、表層としての外装に覆われる内部部品のみならず、内部にあっても露出を避けてカバーが使用される内部部品についても、選択操作が実行される。
【０００４】
ところが、三次元モデルを所定の視点方向から画面表示したとき、三次元モデルに含まれる部品は、三次元モデルの表側に近いほど画面の手前に、言い換えれば三次元モデルの裏側に近いほど画面の奥に配置された状態で仮想的に表現される。このため、設計支援アプリでは、三次元モデルの表側から遠い内部部品の手前にそれよりも表側の近くに存在する部品が表示される。それゆえ、手前側に表示される部品が奥側の部品の表示の妨げとなる。仮に、三次元モデルに含まれる部品を透明表示したとしてもそれぞれの部品が前後に重ね表示されることに変わりはない。このため、設計支援アプリでは、操作者によってカーソル（cursor）指定がなされても前後の部品のいずれの部品が選択されたのかが判別できない。
【０００５】
このように奥側の内部部品の選択操作が困難な状況下で内部部品を選択するためには、操作者は、手前部品の非表示、断面表示、部品検索などの機能を用いて、内部部品を選択可能な状態にする必要がある。しかし、いずれの機能を使用する場合においても、操作者は、内部部品が選択可能な状態となるまでに予備操作、すなわち部品選択を行うために前段階としてなされる操作を行う必要があるので、内部部品の選択操作が煩雑となる。
【０００６】
これらの機能を１つずつ説明すると、手前部品の非表示とは、画面上で手前側に表示される部品を選択し、その部品を非表示にする機能を指す。かかる機能を使用する場合には、操作者は、手前側に表示される部品を非表示にする設定を行って奥側に存在する内部部品を手前に露出させる操作を目的の内部部品が現れるまで繰り返し行う必要がある。
【０００７】
また、断面表示とは、表示中の視点方向とは異なる方向で三次元モデルを切断した場合の内部構造を断面図として表示する機能を指す。かかる機能を使用する場合には、操作者は、断面図を表示させるための操作、例えば入力デバイス（Input  Device）を介してタブ（tub）を表示させた上で断面図の表示コマンド（command）を指定する操作を行う必要がある。
【０００８】
また、部品検索とは、操作者が選択しようとする部品の名前などの検索キーを用いて検索を行う機能を指す。例えば、部品構成ツリーを用いる場合には、操作者は、三次元モデルが含む部品の階層構成が登録された部品構成ツリーを表示させる指示操作を行った上でその中から目的の内部部品の名称と同じものを探し出して指定する操作が必要となる。また、検索画面を用いる場合には、操作者は、検索を行うための検索画面を呼び出す操作を行った上で部品の名称を検索キーワードとして入力する操作を行い、その検索キーワードをもとに得られた検索結果の中から目的の内部部品を指定する操作を行う必要がある。さらに、部品一覧リストを使用する場合には、操作者は、カーソルで指定した部品よりも奥側に存在する部品を一覧形式で生成させる指示操作を行う。そして、操作者は、設計支援アプリに生成させた部品一覧リストの中から目的の内部部品の名称と同じものを探し出して指定する操作が必要となる。これらの３種の部品検索を行う場合には、操作者が得られる情報は、部品の名称だけとなり、実際の部品の形状を確認せずに選択を行わねばならないので、誤った部品を選択してしまうおそれがある。
【０００９】
これらのことから、内部部品の選択操作を支援するための技術として、図形オブジェクト表示制御装置が提案されている。この図形オブジェクト表示制御装置は、画面上に表示した操作タブレット（tablet）上でマウス（mouse）のポインタ（pointer）が所定の方向に移動された場合に手前側に位置する図形オブジェクト（object）を非表示にする。この図形オブジェクト表示制御装置によれば、操作タブレット上でのマウス操作により、裏側に隠れている図形オブジェクトを顕にすることができる。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２０００−５７３５９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら、上記の図形オブジェクト表示制御装置は、依然として、内部部品が選択可能な状態となるまでの予備操作が複雑であるので、内部部品の選択操作が煩雑であるという問題が残る。
【００１２】
これを説明すると、目的の内部部品の手前側に存在する部品を非表示にするには、操作者は、三次元モデルが表示される三次元モデル画像上の部品からカーソルの照準をはずし、操作タブレット上にカーソルを合わせる必要がある。その後、目的の内部部品が表示された時には、操作者は、操作タブレットから目的の内部部品までカーソルを戻す必要がある。このように、操作者は、画面上で目的の内部部品が所在する位置及び操作タブレットの間でカーソルを往復させるという複雑な予備操作を行わねばならない。
【００１３】
開示の技術は、上記に鑑みてなされたものであって、内部部品の選択操作を簡単に行うことができる部品選択方法、部品選択装置、ＣＡＤ装置及び部品選択プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
本願の開示する部品選択方法は、複数の部品からなる三次元モデルを画面に表示する工程と、前記画面に表示されるカーソルの位置を入力する工程と、前記カーソルの位置が前記三次元モデル上にあるか否かを判断する工程とを含む。前記部品選択方法は、前記カーソルの位置が前記三次元モデル上にある場合、前記カーソルの位置を通過する前記画面の法線上に存在する複数の部品を抽出する工程をさらに含む。前記部品選択方法は、前記カーソルの位置が前記三次元モデル上にあるときに入力される外部からの指示の有無を検出する工程をさらに含む。前記部品選択方法は、前記指示の有無に基づき、前記抽出された複数の部品のうち、前記画面の最前に存在する部品を当該画面から削除する工程をさらに含む。
【発明の効果】
【００１５】
本願の開示する部品選択方法の一つの態様によれば、内部部品の選択操作を簡単に行うことができるという効果を奏する。
【図面の簡単な説明】
【００１６】
【図１】図１は、実施例１に係る部品選択装置の構成を示すブロック図である。
【図２】図２は、実施例２に係るＣＡＤ装置の構成を示すブロック図である。
【図３】図３は、カーソル移動量データの一例を示す図である。
【図４】図４は、ハイライト部品座標データの一例を示す図である。
【図５】図５は、選択対象部品リストの一例を示す図である。
【図６】図６は、選択対象外部品リストの一例を示す図である。
【図７Ａ】図７Ａは、三次元モデル画像の一例を示す図である。
【図７Ｂ】図７Ｂは、三次元モデル画像の一例を示す図である。
【図７Ｃ】図７Ｃは、三次元モデル画像の一例を示す図である。
【図７Ｄ】図７Ｄは、三次元モデル画像の一例を示す図である。
【図７Ｅ】図７Ｅは、三次元モデル画像の一例を示す図である。
【図８】図８は、ホイール操作に伴う非表示化部品の再表示および手前側部品の非表示化を説明するための説明図である。
【図９】図９は、実施例２に係る全体処理の手順を示すフローチャートである。
【図１０】図１０は、実施例２に係るマウス移動処理の手順を示すフローチャートである。
【図１１】図１１は、実施例２に係るホイール操作処理の手順を示すフローチャートである。
【図１２】図１２は、実施例２に係るタイムアウト処理の手順を示すフローチャートである。
【図１３】図１３は、実施例３に係る部品選択プログラムを実行するコンピュータの一例について説明するための図である。
【発明を実施するための形態】
【００１７】
以下に、本願が開示する部品選択方法、部品選択装置、ＣＡＤ装置及び部品選択プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例は開示の技術を限定するものではない。
【実施例１】
【００１８】
図１は、実施例１に係る部品選択装置の構成を示すブロック図である。図１に示す部品選択装置１は、表示部２と、入力部３と、判断部４と、抽出部５と、検出部６と、削除部７とを有する。
【００１９】
このうち、表示部２は、複数の部品からなる三次元モデルを画面に表示する。入力部３は、画面に表示されるカーソルの位置を入力する。また、判断部４は、カーソルの位置が三次元モデル上にあるか否かを判断する。
【００２０】
抽出部５は、カーソルの位置が前記三次元モデル上にある場合、カーソルの位置を通過する画面の法線上に存在する複数の部品を抽出する。検出部６は、カーソルの位置が三次元モデル上にあるときに入力される外部からの指示の有無を検出する。また、削除部７は、指示の有無に基づき、抽出された複数の部品のうち、画面の最前に存在する部品を画面から削除する。
【００２１】
このように、部品選択装置１では、カーソルの位置が三次元モデル上にあり、外部からの指示入力がない場合には、部品選択の意思がない状況であると推定する。このような状況下で、部品選択装置１は、三次元モデル上でカーソルの法線方向に位置する複数の部品のうち手前の部品を非表示とする。このため、部品選択装置１では、操作者が部品選択を行うために前段階として特段の操作を意識的に行わずとも、無意識のうちに目的の内部部品が手前に表示される。それゆえ、操作者は、内部部品が選択可能な状態となるまでに複雑な予備操作を行う必要がない。したがって、本実施例に係る部品選択装置１によれば、内部部品の選択操作を簡単に行うことが可能になる。
【実施例２】
【００２２】
［ＣＡＤ装置の構成］
続いて、実施例２に係るＣＡＤ装置１０について説明する。図２は、実施例２に係るＣＡＤ装置の構成を示すブロック図である。このＣＡＤ装置１０は、部品や製品などの設計を支援するアプリケーションであるＣＡＤシステム１５が搭載されたコンピュータであり、図２に示すように、入力部１１と、表示部１２と、記憶部１３と、制御部１４とを有する。
【００２３】
このうち、入力部１１は、各種情報、例えば後述のＣＡＤシステム１５に対する指示入力を受け付ける入力デバイスであり、例えば、キーボードやマウスなどである。なお、後述の表示部１２も、マウスと協働して、ポインティングデバイス機能を実現する。また、表示部１２は、各種の情報、例えば三次元モデル画像を表示する表示デバイスであり、例えば、モニタ、ディスプレイやタッチパネルなどである。
【００２４】
記憶部１３は、例えば、フラッシュメモリ（flash  memory）などの半導体メモリ素子、または、ハードディスク、光ディスクなどの記憶装置である。なお、記憶部１３は、上記の種類の記憶装置に限定されるものではなく、ＲＡＭ（Random  Access  Memory)、ＲＯＭ（Read  Only  Memory)であってもよい。
【００２５】
この記憶部１３は、制御部１４で実行される各種プログラム、例えばＯＳ（Operating  System）やＣＡＤ（Computer  Aided  Design）システム１５などを記憶する。さらに、記憶部１３は、先のプログラムの実行に必要なデータ、例えば三次元モデル及びその部分部品の製図情報であるＣＡＤデータなどを記憶する。このほか、記憶部１３は、カーソル移動量データ１３ａと、ハイライト部品座標データ１３ｂと、選択対象部品リスト１３ｃと、選択対象外部品リスト１３ｄとを記憶する。
【００２６】
カーソル移動量データ１３ａは、マウスカーソルの移動量を示すデータである。このカーソル移動量データ１３ａは、後述の操作情報取得部１５ａによって移動量の加算または消去が行われる。例えば、操作者が入力部１１を介してマウスカーソルを移動させた場合には、その移動量が操作情報取得部１５ａによって累積加算される。このマウスカーソルの移動量が所定値を超えた場合には、後述の表示制御部１５ｄによって三次元モデルの表側に近い部品を非表示とする非表示制御がなされる。このとき、それまでに累積加算された移動量は操作情報取得部１５ａによってクリアされる。
【００２７】
図３は、カーソル移動量データの一例を示す図である。図３の例では、１ピクセル（pixel）を移動量「１」として計測が行われた場合のカーソル移動量の累積加算値を示す。この図３に示す例では、前回に移動量がクリアされた後にマウスカーソルが３２ピクセル分の距離を移動したことを示す。なお、ここでは、マウスによってポインティングデバイス機能が実現される場合を説明したが、タッチパッドなどの他の入力デバイスによりポインティングデバイス機能が実現される場合にも同様に適用できる。
【００２８】
ハイライト部品座標データ１３ｂは、表示部１２の表示画面上におけるハイライト部品の座標及び最終更新時間を示すデータである。ここで言うハイライト部品とは、マウスカーソルが載置されている部品であり、ある時点で表示中の三次元モデル画像上で操作者が入力部１１を介して選択することをＣＡＤシステム１５が認める部品を指す。このハイライト部品は、ＣＡＤシステム１５によって選択が認められない他の部品を表示する輝度よりも高い輝度でハイライト表示される。このハイライト部品にマウスカーソルの照準が合わせられた状態で左クリックや「Enter」キー操作などの特定の操作がなされた場合には、ハイライト部品の選択がＣＡＤシステム１５で有効と判断される。
【００２９】
このハイライト部品座標データ１３ｂとして保持する座標の一態様としては、水平方向の座標をＸ座標とし、垂直方向の座標をＹ座標とした場合の座標（ｘ，ｙ）を使用する。例えば、マウスカーソルが移動されるか、マウスホイールが回転移動されるか、或いは後述の表示制御部１５ｄによって手前側の部品の非表示制御がなされた場合には、表示画面でハイライト表示される部品が他の部品に変更された可能性がある。この場合、ハイライト部品の座標として、ハイライト部品が有する形状で重心位置となる座標が操作情報取得部１５ａによって更新される。なお、座標の原点としては、画面内または画面外の任意の点を使用することができる。
【００３０】
このように、ハイライト部品の座標を記憶部１３に保持するのは、特定の操作コマンドにより操作者がカーソル移動を行っていないにもかかわらずにマウスカーソルが移動した場合に、その操作コマンドが実行される前の位置にマウスカーソルを戻すためである。例えば、三次元モデルに対する拡大または縮小を行うズーム機能が使用される場合には、「ctrl」キーの押下とともにマウス移動がなされるので、ズーム機能の使用前後でマウスカーソルの位置が変わってしまう。また、三次元モデルの視点方向、いわゆる注視点を変更する場合には、「ctrl」キー及びマウスホイールを押下した状態でマウス移動がなされるので、この場合も注視点の変更前後でマウスカーソルの位置が変わってしまう。それゆえ、ＣＡＤ装置１０では、ズーム機能の使用や視点方向の変更などの操作コマンドが行われた場合に、操作コマンド使用前のマウスカーソル位置へ戻せるようにハイライト部品の座標を逐次保持する。
【００３１】
このハイライト部品座標データ１３ｂとして保持する最終更新時間の一態様としては、時刻が使用される。ここで、最終更新時間とは、操作情報取得部１５ａ又は表示制御部１５ｄによるデータ更新が行われた最後の時刻であり、マウスカーソルの移動操作、マウスホイールの回転移動操作、或いは後述の表示制御部１５ｄによる非表示制御が最後に行われた時刻を指す。この最終更新時間は、表示制御部１５ｄが手前側の部品の非表示制御を行う判断基準の１つとして使用される。
【００３２】
図４は、ハイライト部品座標データの一例を示す図である。図４に示す例では、ハイライト部品の重心位置が座標（３３１，２５１）であることを示す。さらに、図４に示す例では、最後にマウスカーソルの移動操作、マウスホイールの回転移動操作または非表示制御が行われたのが１８時３１分２９秒１５３・・・であることを示す。なお、ここでは、ハイライト部品の座標として重心位置の座標を採用する場合を説明したが、ハイライト部品もしくはその周辺の任意の座標をハイライト部品座標データ１３ｂとして登録することとしてもよい。また、ここでは、最終更新時間として時刻を登録することとしたが、外部装置との間で整合が取れる客観的な時間である必要はなく、ＣＡＤ装置１０へのログイン時を基点として計測する経過時間などローカルな時間であってもかまわない。
【００３３】
選択対象部品リスト１３ｃは、マウスカーソルの位置を起点としてそこから三次元モデルの投影面の法線方向に所在する部品のうち選択操作の対象として表示させる部品のリストを示すデータである。この選択対象部品リスト１３ｃに登録されている部品は、表示制御部１５ｄによって表示対象とされる。なお、以下では、マウスカーソルの位置を基点としてそこから三次元モデルの投影面の法線方向に所在する部品群を「カーソル所在部品」と呼ぶこととする。
【００３４】
図５は、選択対象部品リストの一例を示す図である。図５に示す「Ｎｏ．」は、本リスト内における部品の連番を示す。この「Ｎｏ．」には、本リストに登録される部品のうち三次元モデルの表側に近い部品から昇順に連番が採番される。また、図５に示す「部品ＩＤ」は、部品を一意に特定するための識別子である。図５に示す例で言えば、図中の部品ＩＤを持つ３つの部品が後述の表示制御部１５ｄによる表示対象とされ、「Ｎｏ．」の小さい部品ＩＤ「１００１０」、部品ＩＤ「２６７３９」、部品ＩＤ「１２０８４」の順に画面の手間側から各部品が表示される。
【００３５】
選択対象外部品リスト１３ｄは、カーソル所在部品のうち選択操作の対象から除外して非表示とする部品のリストを示すデータである。この選択部品リスト１３ｄに登録されている部品は、表示制御部１５ｄによって非表示とされる。
【００３６】
図６は、選択対象外部品リストの一例を示す図である。図６に示す「Ｎｏ．」は、本リスト内における部品の連番を示す。この「Ｎｏ．」には、三次元モデルの表側に近い部品から昇順に連番が採番される。図６に示す「部品ＩＤ」は、部品を一意に特定するための識別子である。また、図６に示す「表示フラグ」は、選択対象外とした部品を再び選択対象として表示させるか否かを示すフラグである。
【００３７】
この表示フラグは、フラグがＯＦＦである場合、すなわち「０」である場合には部品を非表示とし、一方、フラグがＯＮである場合、すなわち「１」である場合には部品を表示対象に復帰することを示す。この表示フラグは、マウスホイールの回転に連動してフラグのＯＮまたはＯＦＦが後述の部品リスト更新部１５ｃによって切り替えられる。例えば、マウスホイールの下方向への回転量が所定量を超える度に、フラグがＯＦＦである部品のうち連番が最後尾である部品のフラグが１つずつＯＮに設定される。また、マウスホイールの上方向への回転量が所定量を超える度に、フラグがＯＮである部品のうち連番が先頭である部品のフラグが１つずつＯＦＦに設定される。つまり、ＣＡＤ装置１０では、マウスホイールを下方向に回転させる操作が行われた場合に、元々は画面の手前に存在していたが非表示となっている部品を再び表示するように表示フラグの切り替えを行う。また、ＣＡＤ装置１０では、マウスホイールを上方向に回転させる操作が行われた場合に、画面の最も手前に存在する部品を非表示とするように表示フラグの切り替えを行う。
【００３８】
図６に示す例で言えば、表示フラグが全てＯＦＦである場合には図中の部品ＩＤを持つ３つの部品が後述の表示制御部１５ｄによる非表示対象とされるが、この例では「Ｎｏ．３」の部品ＩＤ「１２０８４」の表示フラグがＯＮである。このため、「Ｎｏ．１」の部品ＩＤ「５８２０１」及び「Ｎｏ．２」の部品ＩＤ「３３６５７」の部品は非表示対象とされるものの、「Ｎｏ．３」の部品ＩＤ「１２０８４」の部品は表示対象とされる。さらに、図６に示す例を図５に示した例と併せて説明すると、部品ＩＤ「１２０８４」、部品ＩＤ「１００１０」、部品ＩＤ「２６７３９」、部品ＩＤ「１２０８４」の順に画面の手前側から各部品が表示される。
【００３９】
制御部１４は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などの集積回路、または、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などの電子回路である。
【００４０】
この制御部１４は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。制御部１４は、図２に示すように、三次元モデルの設計を支援するアプリケーションであるＣＡＤシステム１５を搭載し、ＣＡＤシステム１５が操作情報取得部１５ａと、部品情報取得部１５ｂと、部品リスト更新部１５ｃと、表示制御部１５ｄとを有する。
【００４１】
操作情報取得部１５ａは、入力部１１に含まれるマウスの操作情報を取得する処理部である。このマウスの操作情報の一例として、操作情報取得部１５ａは、マウスカーソルの移動量やハイライト部品の座標位置などを取得する。
【００４２】
これを説明すると、操作情報取得部１５ａは、マウスカーソルの移動を検出した場合には、前回に計測を終了した地点の画素から移動が終了するまでの軌跡に存在する画素数を足し合わせることにより移動量を計測する。このとき、操作情報取得部１５ａは、マウスカーソルが同一の画素を複数回通過したとしてもそれぞれの通過イベント個別に画素数を足し合わせる。そして、操作情報取得部１５ａは、記憶部１３にカーソル移動量データ１３ａとして記憶された移動量に今回計測した移動量を加算する更新を行う。
【００４３】
また、操作情報取得部１５ａは、マウスカーソルの移動が検出されるか、或いは後述の表示制御部１５ｄによって手前側の部品の非表示制御がなされた場合に、マウスカーソルが載置されたハイライト部品の重心位置の座標を取得する。そして、操作情報取得部１５ａは、記憶部１３にハイライト部品座標データ１３ｂとして記憶された重心位置の座標を今回取得した重心位置の座標に更新する。このとき、操作情報取得部１５ａは、記憶部１３にハイライト部品座標データ１３ｂとして記憶された記憶された最終更新時刻をタイムスタンプ等から得られた現在時刻に書き換える更新をさらに行う。なお、非表示制御は、マウスホイールを回転させる操作によって発動される場合と、最終更新時間からの経過時間が所定時間を超えて実行される場合との複数のケースが含まれる。
【００４４】
部品情報取得部１５ｂは、カーソル所在部品の部品情報を取得する処理部である。一例としては、部品情報取得部１５ｂは、マウスカーソルの移動が検出された場合に、記憶部１３に記憶されたＣＡＤデータを参照して、移動後のマウスカーソルの位置を起点としてそこから三次元モデルの投影面の法線方向に所在する部品の部品ＩＤを取得する。このようにしてカーソル所在部品の部品ＩＤを取得する際には、部品情報取得部１５ｂは、表示画面から奥行き方向にかけての深度を表示順序としてさらに取得する。
【００４５】
部品リスト更新部１５ｃは、記憶部１３に記憶された選択対象部品リスト１３ｃ及び選択対象外部品リスト１３ｄの更新を行う処理部である。この部品リスト更新部１５ｃでは、操作者によってマウスを介してなされるマウスカーソルの操作履歴から、操作者が目的とする部品が現段階では画面の手前側に表示されておらず、その部品を選択する意思がないことを推定する。そして、操作者に手前側の部品を選択する意思がないと推定した場合には、部品リスト更新部１５ｃは、選択対象部品リスト１３ｃに登録された手前側の部品を選択対象外部品リスト１３ｄへ移行登録する。これによって、目的とする内部部品の表示を妨げていた部品が後述の表示制御部１５ｄによって非表示対象とされる。このようにして、部品リスト更新部１５ｃは、目的とする内部部品が画面の手前に現れるまで手前側の部品の非表示制御を繰り返し実行させる。
【００４６】
ここで、かかる部品選択の意思推定について説明する。操作者に部品選択の意思がある場合には、操作者は、目的とする部品上にマウスカーソルの照準を合わせた上でクリック操作を行うことにより選択操作を実行する。よって、操作者は、目的の部品が存在する箇所及びその周辺にマウスカーソルを移動したとしても、目的の部品がその手前側に存在する部品などで遮られている場合には選択操作を実行しない。つまり、マウスカーソルが目的の部品が存在する箇所及びその周辺を素通りしたり、或いは静止したりしている場合には、その位置に目的の部品が存在するものの、手前側に存在する部品を選択する意思がないものと推定できる。
【００４７】
このような知見に基づき、部品リスト更新部１５ｃは、マウスカーソルの移動が検出された場合には、記憶部１３にカーソル移動量１３ａとして記憶されたカーソルの移動量が所定の閾値、例えば５０ピクセル以上であるか否かを判定する。このとき、カーソルの移動量が５０ピクセル以上である場合には、部品リスト更新部１５ｃは、マウスカーソルが目的の部品が存在する箇所及びその周辺を素通りしており、手前側に存在する部品を選択する意思がないものと推定する。
【００４８】
また、部品リスト更新部１５ｃは、マウスカーソル及びマウスホイールのいずれの操作もなされていない場合には、記憶部１３にハイライト部品座標データ１３ｂとして記憶された最終更新時間と、現在時刻との差を計算することにより静止時間を算出する。そして、部品リスト更新部１５ｃは、このようして算出した静止時間が所定の閾値、例えば３秒以上であるか否かを判定する。このとき、静止時間が３秒以上である場合には、部品リスト更新部１５ｃは、マースカーソルが目的の部品が存在する箇所及びその周辺に停止しており、手前側に存在する部品を選択する意思がないものと推定する。
【００４９】
このようにして部品選択の意思がないと推定した場合には、部品リスト更新部１５ｃは、記憶部１３に記憶された選択対象部品リスト１３ｃのうち先頭に登録されている部品ＩＤを削除するとともにその部品ＩＤを選択対象外部品リスト１３ｄの最後尾に登録する。その上で、部品リスト更新部１５ｃは、部品情報取得部１５ｂに取得させたカーソル所在部品の部品ＩＤのうち選択対象外部品リスト１３ｄに登録されている部品ＩＤを除外したものを選択対象部品リスト１３ｃへ登録する。ただし、選択対象部品リスト１３ｃに部品ＩＤが１つしか登録されていない場合、或いは画面の最も裏側にある部品ＩＤが先頭にある場合には、部品リスト更新部１５ｃは、選択対象部品リスト１３ｃから選択対象外部品リスト１３ｄへの移行登録は行わない。
【００５０】
これによって、手前側に存在していた部品が非表示対象となり、その奥側に存在する部品が表示対象となる。なお、ここでは、カーソルの移動量と比較する閾値を５０ピクセルとし、また、静止時間と比較する閾値を３秒とした場合を説明したが、これらの閾値には任意の数値を設定することができる。例えば、操作者が自身の希望する値を入力することにより閾値を設定してもよいし、ＣＡＤシステム１５の開発段階で開発者が試験により得た経験的な値を設定することとしてもよい。
【００５１】
一方、部品リスト更新部１５ｃは、カーソルの移動量が所定の閾値未満である場合には、手前側に存在する部品を選択する意思が残されているものと推定する。この場合には、カーソル位置が移動することによりカーソル所在部品が変化した可能性がある。このため、部品リスト更新部１５ｃは、部品情報取得部１５ｂに取得させたカーソル所在部品の部品ＩＤのうち選択対象外部品リスト１３ｄに登録されている部品ＩＤを除外したものを選択対象部品リスト１３ｃへ登録する。
【００５２】
ここで、図７Ａ〜図７Ｅを用いて、三次元モデル画像上でのカーソル操作と連動させながら部品リスト更新部１５ｃの処理内容を説明する。なお、ここでは、マウスカーソルの操作が図７Ａ〜図７Ｅの順に遷移する場合を想定して以下の説明を行う。
【００５３】
図７Ａ〜図７Ｅは、三次元モデル画像の一例を示す図である。図７Ａ〜図７Ｅに示す符号７０Ａ〜７０Ｅは、ＡＴＭ（現金自動預け入れ払い機：Automated  Teller  Machine）の三次元モデル画像を示す。図７Ａ〜図７Ｅに示す符号Ｃはマウスカーソルを示す。図７Ａ、図７Ｂ及び図７Ｅに示す符号７０ａは、ＡＴＭの部分部品である側面パネルである。図７Ｃに示す符号７０ｂは、ＡＴＭの内部部品である横フレームである。図７Ｄに示す符号７０ｃは、ＡＴＭの内部部品であるねじである。
【００５４】
また、図７Ａ〜図７Ｅに示す符号１３ｃは、先に説明した選択対象部品リストである。これら図７Ａ〜図７Ｅに示す選択対象部品リスト１３ｃでは、説明の便宜上、図５で示した部品ＩＤの代わりに部品名を表記するものとし、連番を省略している。なお、図７Ａ〜図７Ｅに示す選択対象部品リスト１３ｃは、図５と同様に、リストの先頭に近付くほど画面の手前側に存在する部品がリスト登録されるものとする。さらに、図７Ａ〜図７Ｅに示す符号１３ｄは、先に説明した選択対象外部品リストである。これら図７Ａ〜図７Ｅに示す選択対象外部品リスト１３ｄでは、説明の便宜上、図６で示した部品ＩＤの代わりに部品名を表記するものとし、連番及び表示フラグを省略している。なお、図７Ａ〜図７Ｅに示す選択対象外部品リスト１３ｄは、図６と同様に、リストの先頭に近付くほど画面の手前側に存在する部品がリスト登録されるものとする。
【００５５】
図７Ａに示す例では、マウスカーソルＣがＡＴＭの三次元モデル上に載置されておらず、空白部分に載置されている。この段階では、カーソル所在部品はなく、選択対象部品リスト１３ｃ及び選択対象外部品リスト１３ｄのいずれにも部品は登録されてない。ここから、操作者によってマウスカーソルＣが側面パネル７０ａへ近付けられるものとする。
【００５６】
図７Ｂに示すように、マウスカーソルＣが側面パネル７０ａに移動されると、部品リスト更新部１５ｃは、マウスカーソルＣの位置を起点としてそこから三次元モデルの投影面の法線方向に所在する部品を部品情報取得部１５ｂに取得させる。このようにマウスカーソルＣが初めて三次元モデルに載置された段階では、選択対象外部品リスト１３ｄには部品の登録がない。このため、部品リスト更新部１５ｃは、部品情報取得部１５ｂにカーソル所在部品として取得させた側面パネル７０ａ、横フレーム７０ｂ及びねじ７０ｃを表示順序にしたがって選択対象部品リスト１３ｃへ登録する。このようにして選択対象部品リスト１３ｃの先頭に側面パネル７０ａが登録されると、後述の表示制御部１５ｄによって側面パネル７０ａの表示輝度を他の部品の表示輝度よりも高くするハイライト表示が実行される。その後、マウスカーソルＣが移動されず、マウスカーソルＣの静止時間が所定の閾値を超えたものとする。
【００５７】
図７Ｃに示すように、マウスカーソルＣの静止時間が所定の閾値を超えると、部品リスト更新部１５ｃは、選択対象部品リスト１３ｃのうち先頭にある側面パネル７０ａを削除するとともにその側面パネル７０ａを選択対象外部品リスト１３ｄの最後尾に登録する。このような移行登録が行われると、選択対象外部品リスト１３ｄへ登録された側面パネル７０ａを非表示とする非表示制御が後述の表示制御部１５ｄによって実行される。これによって、選択対象部品リスト１３ｃの先頭に繰り上がった横フレーム７０ｂが手前側に表示される。このように横フレーム７０ｂが最も手前側に表示される場合には、横フレーム７０ｂの表示輝度を他の部品の表示輝度よりも高くするハイライト表示が表示制御部１５ｄによって実行される。その後、マウスカーソルＣが移動されず、マウスカーソルＣの静止時間が所定の閾値を超えたものとする。
【００５８】
図７Ｄに示すように、マウスカーソルＣの静止時間が所定の閾値を超えると、部品リスト更新部１５ｃは、選択対象部品リスト１３ｃのうち先頭にある横フレーム７０ｂを削除するとともにその横フレーム７０ｂを選択対象外部品リスト１３ｄの最後尾に登録する。このような移行登録が行われると、選択対象外部品リスト１３ｄへ登録された横フレーム７０ｂを非表示とする非表示制御が後述の表示制御部１５ｄによって実行される。これによって、選択対象部品リスト１３ｃの先頭に繰り上がったねじ７０ｃが手前側に表示される。このようにねじ７０ｃが最も手前側に表示される場合には、ねじ７０ｃの表示輝度を他の部品の表示輝度よりも高くするハイライト表示が表示制御部１５ｄによって実行される。その後、マウスカーソルＣが移動して三次元モデルが存在しない空白部分に載置されるものとする。
【００５９】
図７Ｅに示すように、マウスカーソルＣが空白部分に載置されると、部品情報取得部１５ｂによって取得されるカーソル所在部品がなくなる。この場合には、部品リスト更新部１５ｂは、選択対象部品リスト１３ｃ及び選択対象外部品リスト１３ｄから全ての部品を削除する。
【００６０】
また、部品リスト更新部１５ｃは、マウスホイールが回転操作された場合には、選択対象外部品リスト１３ｄの表示フラグを更新する。これを説明すると、部品リスト更新部１５ｃは、マウスホイールの下方向への回転量が所定量に達する度に、表示フラグがＯＦＦである部品のうち連番が最後尾である部品のフラグを１つずつＯＮに設定する。また、部品リスト更新部１５ｃは、マウスホイールの上方向への回転量が所定量に達する度に、表示フラグがＯＮである部品のうち連番が先頭である部品のフラグを１つずつＯＦＦに設定する。
【００６１】
表示制御部１５ｄは、表示部１２の表示制御を行う処理部である。例えば、部品リスト更新部１５ｃによって選択対象部品リスト１３ｃから選択対象外部品リスト１３ｄへの移行登録が行われた場合には、表示制御部１５ｄは、選択対象外部品リスト１３ｄへ登録された部品ＩＤの部品を非表示とする。すなわち、表示制御部１５ｄは、表示部１２で表示されている三次元モデル画像からそれまでに表示させていた非表示対象の部品を透明化または半透明化する。かかる非表示とともに、表示制御部１５ｄは、選択対象部品リスト１３ｃの先頭に繰り上がった部品ＩＤの部品の表示輝度を他の部品の表示輝度よりも高くするハイライト表示を実行する。
【００６２】
また、表示制御部１５ｄは、部品リスト更新部１５ｃによって選択対象外部品リスト１３ｄの表示フラグが更新された場合には、更新後の表示フラグの設定状況に基づき、非表示化された部品の再表示または手前側部品の非表示化を行う。例えば、表示フラグがＯＦＦからＯＮに更新された場合には、表示制御部１５ｄは、表示フラグがＯＮに更新された部品の非表示を解除することによりその部品を再表示させるとともに表示フラグがＯＮである先頭の部品をハイライト表示させる。一方、表示フラグがＯＮからＯＦＦに更新された場合には、表示制御部１５ｄは、表示フラグがＯＦＦに更新された部品を非表示化するとともに表示フラグがＯＮである先頭の部品をハイライト表示させる。
【００６３】
ここで、図８を用いて、三次元モデル画像上でのホイール操作と連動させながら部品リスト更新部１５ｃの処理内容を説明する。図８は、ホイール操作に伴う非表示化部品の再表示および手前側部品の非表示化を説明するための説明図である。図８に示す符号８０ａ〜８０ｃは、ＡＴＭの三次元モデル画像を示す。図８に示す符号Ｃは、マウスカーソルを示す。図８に示す符号７０ａは、ＡＴＭの部分部品である側面パネルである。図８に示す７０ｂは、ＡＴＭの内部部品である横フレームである。図８に示す符号７０ｃは、ＡＴＭの内部部品であるねじである。
【００６４】
図８に示す三次元モデル画像８０ａでは、元々はねじ７０ｃの手前に存在していた横フレーム７０ｂ及び側面パネル７０ａが非表示となっている。このとき、マウスホイールの下方向への回転量が所定量、例えば１／１６回転に達すると横フレーム７０ｂの表示フラグがＯＮに更新される。このため、表示制御部１５ｄは、三次元モデル画像８０ｂに示すように、横フレーム７０ｂの非表示化を解除するとともに再表示された横フレーム７０ｂをハイライト表示させる。その後、マウスホイールが下方向へさらに１／１６回転すると、側面パネル７０ａの表示フラグがＯＮに更新される。このため、表示制御部１５ｄは、三次元モデル画像８０ｃに示すように、側面パネル７０ａの非表示化を解除するとともに再表示された側面パネル７０ａをハイライト表示させる。
【００６５】
一方、図８に示す三次元モデル画像８０ｃでは、画面の手前から順に側面パネル７０ａ、横フレーム７０ｂ、ねじ７０ｃが表示されている。このとき、マウスホイールの上方向への回転量が所定量、例えば１／１６回転に達すると側面パネル７０ａの表示フラグがＯＦＦに更新される。このため、表示制御部１５ｄは、三次元モデル画像８０ｂに示すように、側面パネル７０ａを非表示化するとともに横フレーム７０ｂをハイライト表示させる。その後、マウスホイールが上方向へさらに１／１６回転すると、横フレーム７０ｂの表示フラグがＯＦＦに更新される。このため、表示制御部１５ｄは、三次元モデル画像８０ａに示すように、横フレーム７０ｂを非表示化するとともにねじ７０ｃをハイライト表示させる。
【００６６】
また、表示制御部１５ｄは、マウス移動を伴う特定の操作コマンドを受け付けた場合には、操作コマンドを実行した後のカーソル位置を記憶部１３にハイライト部品座標データ１３ｂとして記憶されたハイライト部品の座標に戻す。このような操作コマンドの一例としては、「ctrl」キーの押下とともにマウス移動がなされるズームの調節コマンドや「ctrl」キー及びマウスホイールを押下した状態でマウス移動がなされる視点方向の変更コマンドが該当する。
【００６７】
これによって、特定の操作コマンドが実行された場合でもカーソル位置が移動することがなくなり、操作者の意識がカーソルから途切れるのを防止できる。なお、ここでは、マウスホイールの回転量と比較する閾値を１／１６回転とした場合を説明したが、これらの閾値には任意の数値を設定することができる。例えば、操作者が自身の希望する値を入力することにより閾値を設定してもよいし、ＣＡＤシステム１５の開発段階で開発者が試験により得た経験的な値を設定することとしてもよい。
【００６８】
なお、上記の操作情報取得部１５ａ、部品情報取得部１５ｂ、部品リスト更新部１５ｃ及び表示制御部１５ｄの各機能は、既知のＣＡＤシステム１５にアドオンすることで実現される。また、ＣＡＤシステム１５は、既知のパーソナルコンピュータ、ワークステーション、携帯電話、ＰＨＳ端末、移動体通信端末またはＰＤＡなどの情報処理装置に搭載することができる。
【００６９】
［処理の流れ］
次に、本実施例に係るＣＡＤ装置１０の処理の流れについて説明する。なお、ここでは、ＣＡＤ装置１０が実行する（１）全体処理を説明した後に、全体処理に含まれるサブフローとして（２）マウス移動処理、（３）ホイール操作処理、（４）タイムアウト処理を説明する。
【００７０】
（１）全体処理
図９は、実施例２に係る全体処理の手順を示すフローチャートである。図９に示す全体処理は、ＣＡＤ装置１０でＣＡＤシステム１５が起動されている場合に再帰的に行われる処理である。
【００７１】
図９に示すように、マウスカーソルの移動が検出された場合（ステップＳ１０１  Ｙｅｓ）には、ＣＡＤシステム１５は、後述する「マウス移動処理」を行い（ステップＳ１０２）、上記のステップＳ１０１へ戻る。また、マウスホイールの回転が検出された場合（ステップＳ１０３  Ｙｅｓ）には、ＣＡＤシステム１５は、後述する「ホイール操作処理」を行い（ステップＳ１０４）、上記のステップＳ１０１へ戻る。
【００７２】
また、マウスカーソルの移動およびマウスホイールの回転がいずれも検出されない場合（ステップＳ１０１  ＮｏかつステップＳ１０３  Ｎｏ）には、部品リスト更新部１５ｃは、マウスカーソルの静止時間を算出する（ステップＳ１０５）。
【００７３】
このとき、マウスカーソルの静止時間が所定の閾値以上である場合（ステップＳ１０６  Ｙｅｓ）には、ＣＡＤシステム１５は、後述する「タイムアウト処理」を行い（ステップＳ１０７）、ステップＳ１０１へ戻る。一方、静止時間が所定の閾値未満である場合（ステップＳ１０６  Ｎｏ）には、ステップＳ１０１に戻る。このようにして、ＣＡＤシステム１５は、上記のステップＳ１０１〜Ｓ１０７までの処理を繰り返し行う。
【００７４】
（２）マウス移動処理
続いて、本実施例に係るマウス移動処理について説明する。図１０は、実施例２に係るマウス移動処理の手順を示すフローチャートである。このマウス移動処理は、図９に示したステップＳ１０１でマウスカーソルの移動が検出された場合に起動される処理である。
【００７５】
図１０に示すように、カーソル操作が他の入力操作と複合した特定の操作コマンドである場合（ステップＳ２０１  Ｙｅｓ）に、操作情報取得部１５ａは、ハイライト部品座標データ１３ｂの最終更新時刻を現在時刻に書き換える更新を行う（ステップＳ２０２）。
【００７６】
そして、表示制御部１５ｄは、操作コマンドの入力が継続する限り（ステップＳ２０３  Ｙｅｓ）、バックグラウンドで操作コマンドに対応する処理を実行する。その後、操作コマンドの入力が終了すると（ステップＳ２０３  Ｎｏ）、表示制御部１５ｄは、操作コマンドを実行した後のカーソル位置を記憶部１３にハイライト部品座標データ１３ｂとして記憶されたハイライト部品の座標に復元し（ステップＳ２０４）、処理を終了する。
【００７７】
一方、特定の操作コマンドでない場合（ステップＳ２０１  Ｎｏ）には、操作情報取得部１５ａは、カーソルの移動軌跡から移動量を計測し、計測した移動量を記憶部１３にカーソル移動量データ１３ａとして記憶された移動量に加算する（ステップＳ２０５）。
【００７８】
このとき、カーソルの移動量が所定の閾値以上である場合（ステップＳ２０６  Ｙｅｓ）には、部品リスト更新部１５ｃは、選択対象部品リスト１３ｃから選択対象外部品リスト１３ｄへの移行登録を行う（ステップＳ２０７）。つまり、部品リスト更新部１５ｃは、選択対象部品リスト１３ｃのうち先頭に登録されている部品ＩＤを削除するとともにその部品ＩＤを選択対象外部品リスト１３ｄの最後尾へ登録する。
【００７９】
その後、部品リスト更新部１５ｃは、部品情報取得部１５ｂに取得させたカーソル所在部品の部品ＩＤのうち選択対象外部品リスト１３ｄに登録されていない部品ＩＤを除外したものを選択対象部品リスト１３ｃへ登録する（ステップＳ２０８）。
【００８０】
そして、表示制御部１５ｄは、選択対象外部品リスト１３ｄへ登録された部品ＩＤの部品を非表示とし、選択対象部品リスト１３ｃの先頭に繰り上がった部品ＩＤの部品の表示輝度を他の部品の表示輝度よりも高くするハイライト表示を行う（ステップＳ２０９）。続いて、操作情報取得部１５ａは、カーソル移動量データ１３ａのカーソルの移動量をクリアする（ステップＳ２１０）。その後、操作情報取得部１５ａは、記憶部１３に記憶されたハイライト部品座標データ１３ｂに対して、ハイライト部品の座標の更新を行うとともに最終更新時刻を現在時刻に書き換える更新を行い（ステップＳ２１１）、処理を終了する。
【００８１】
一方、カーソルの移動量が所定の閾値未満である場合（ステップＳ２０６  Ｎｏ）には、部品リスト更新部１５ｃは、カーソル位置の移動によりカーソル所在部品が変化した可能性があるので、選択対象部品リスト１３ｃの更新を行う（ステップＳ２１２）。つまり、部品情報取得部１５ｂに取得させたカーソル所在部品の部品ＩＤのうち選択対象外部品リスト１３ｄに登録されている部品ＩＤを除外したものを選択対象部品リスト１３ｃへ登録する。
【００８２】
その後、操作情報取得部１５ａは、記憶部１３に記憶されたハイライト部品座標データ１３ｂに対して、ハイライト部品の座標の更新を行うとともに最終更新時刻を現在時刻に書き換える更新を行い（ステップＳ２１１）、処理を終了する。
【００８３】
（３）ホイール操作処理
次に、本実施例に係るホイール操作処理について説明する。図１１は、実施例２に係るホイール操作処理の手順を示すフローチャートである。このホイール操作処理は、図９に示したステップＳ１０３でマウスホイールの回転が検出された場合に起動される処理である。
【００８４】
図１１に示すように、部品リスト更新部１５ｃは、マウスホイールの回転方向及び回転量に基づき、選択対象外部品リスト１３ｄの表示フラグを更新する（ステップＳ３０１）。例えば、部品リスト更新部１５ｃは、マウスホイールの下方向への回転量が所定量に達する度に、表示フラグがＯＦＦである部品のうち連番が最後尾である部品のフラグを１つずつＯＮに設定する。また、部品リスト更新部１５ｃは、マウスホイールの上方向への回転量が所定量に達する度に、表示フラグがＯＮである部品のうち連番が先頭である部品のフラグを１つずつＯＦＦに設定する。
【００８５】
続いて、表示制御部１５ｄは、更新後の表示フラグの設定状況に基づき、非表示化された部品の再表示または手前側部品の非表示化を行う（ステップＳ３０２）。例えば、表示フラグがＯＦＦからＯＮに更新された場合には、表示制御部１５ｄは、表示フラグがＯＮに更新された部品の非表示を解除することによりその部品を再表示させるとともに表示フラグがＯＮである先頭の部品をハイライト表示させる。一方、表示フラグがＯＮからＯＦＦに更新された場合には、表示制御部１５ｄは、表示フラグがＯＦＦに更新された部品を非表示化するとともに表示フラグがＯＮである先頭の部品をハイライト表示させる。
【００８６】
その後、操作情報取得部１５ａは、記憶部１３に記憶されたハイライト部品座標データ１３ｂに対して、ハイライト部品の座標の更新を行うとともに最終更新時刻を現在時刻に書き換える更新を行い（ステップＳ３０３）、処理を終了する。
【００８７】
（４）タイムアウト処理
次に、本実施例に係るタイムアウト処理について説明する。図１２は、実施例２に係るタイムアウト処理の手順を示すフローチャートである。このタイムアウト処理は、図９に示したステップＳ１０６でマウスカーソルの静止時間が所定の閾値以上である場合に起動される処理である。
【００８８】
図１２に示すように、部品リスト更新部１５ｃは、選択対象部品リスト１３ｃのうち先頭に登録されている部品ＩＤを削除するとともにその部品ＩＤを選択対象外部品リスト１３ｄの最後尾へ登録する（ステップＳ４０１）。
【００８９】
その後、部品リスト更新部１５ｃは、部品情報取得部１５ｂに取得させたカーソル所在部品の部品ＩＤのうち選択対象外部品リスト１３ｄに登録されていない部品ＩＤを除外したものを選択対象部品リスト１３ｃへ登録する（ステップＳ４０２）。
【００９０】
そして、表示制御部１５ｄは、選択対象外部品リスト１３ｄへ登録された部品ＩＤの部品を非表示とし、選択対象部品リスト１３ｃの先頭に繰り上がった部品ＩＤの部品の表示輝度を他の部品の表示輝度よりも高くするハイライト表示を行う（ステップＳ４０３）。続いて、操作情報取得部１５ａは、カーソル移動量データ１３ａのカーソルの移動量をクリアする（ステップＳ４０４）。
【００９１】
その後、操作情報取得部１５ａは、記憶部１３に記憶されたハイライト部品座標データ１３ｂに対して、ハイライト部品の座標の更新を行うとともに最終更新時刻を現在時刻に書き換える更新を行い（ステップＳ４０５）、処理を終了する。
【００９２】
［実施例２の効果］
上述してきたように、本実施例に係るＣＡＤ装置１０では、操作者が部品選択を行うために前段階として特段の操作を意識的に行わずとも、無意識のうちに目的の内部部品が手前に表示される。それゆえ、操作者は、内部部品が選択可能な状態となるまでに複雑な予備操作を行う必要がない。したがって、本実施例に係るＣＡＤ装置１０によれば、内部部品の選択操作を簡単に行うことが可能である。さらに、手前側の部品の非表示を進めることにより最も奥側に存在する部品を表示させることができるので、内部部品のみならず、三次元モデル画像の視点方向の変更に制約がある場合でも裏側部分にある部品を手軽に選択できる。
【００９３】
また、本実施例に係るＣＡＤ装置１０では、マウスカーソルが載置された部品であって選択対象部品リスト１３ｃの先頭に繰り上がった部品の表示輝度を他の部品の表示輝度よりも高くするハイライト表示を実行する。したがって、本実施例に係るＣＡＤ装置１０によれば、カーソル位置の周辺に複数の部品が密集している場合でもカーソルが指し示す部品を明示することが可能である。
【００９４】
さらに、本実施例に係るＣＡＤ装置１０では、マウス移動を伴う特定の操作コマンドを受け付けた場合には、操作コマンドを実行した後のカーソル位置を記憶部１３にハイライト部品座標データ１３ｂとして記憶されたハイライト部品の座標に戻す。したがって、本実施例に係るＣＡＤ装置１０によれば、特定の操作コマンドが実行された場合でもカーソル位置が移動することがなくなり、操作者の意識がカーソルから途切れるのを防止することが可能である。
【実施例３】
【００９５】
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
【００９６】
例えば、上記の実施例２では、選択対象部品リスト１３ｃ及び選択対象外部品リスト１３ｄの両方を用いて表示制御を行う場合を説明したが、開示の装置はこれに限定されるものではない。例えば、開示の装置では、部品情報取得部１５ｂに取得させたカーソル所在部品から選択対象外部品リスト１３ｄに登録された部品を除外することにより、非表示対象とする手前側の部品を特定することもできる。
【００９７】
また、上記の実施例２では、カーソル所在部品として、マウスカーソルの位置を起点としてそこから三次元モデルの投影面の法線方向に所在する部品の部品情報を部品情報取得部１５ｂに取得させる場合を説明したが、開示の装置はこれに限定されるものではない。例えば、開示の装置では、マウスカーソルの位置を起点として三次元モデルの投影面に交わる法線と直交する方向に向かってその法線から所定の距離以内に存在する部品をカーソル所在部品として部品情報を取得するようにしてもよい。
【００９８】
また、上記の実施例２では、ＣＡＤシステム１５に搭載された操作情報取得部１５ａ、部品情報取得部１５ｂ、部品リスト更新部１５ｃ及び表示制御部１５ｄの部品選択補助機能を常時使用する場合を説明したが、開示の装置はこれに限定されるものではない。例えば、開示の装置では、操作者に部品選択補助機能のＯＮまたはＯＦＦを選択させることもできる。
【００９９】
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、操作情報取得部１５ａ、部品情報取得部１５ｂ、部品リスト更新部１５ｃ又は表示制御部１５ｄの全部または一部の機能をＣＡＤ装置１０の外部装置としてネットワーク経由で接続するようにしてもよい。そして、ＣＡＤ装置１０のＣＡＤシステム１５が外部装置を呼び出すことにより、部品選択補助機能を発揮することとしてもよい。また、操作情報取得部１５ａ、部品情報取得部１５ｂ、部品リスト更新部１５ｃ又は表示制御部１５ｄの一部を別の装置がそれぞれ有し、ネットワーク接続されて協働することで、上記の設計支援装置１０の機能を実現するようにしてもよい。
【０１００】
［部品選択プログラム］
また、上記の実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図１３を用いて、上記の実施例と同様の機能を有する部品選択プログラムを実行するコンピュータの一例について説明する。なお、図１３は、実施例３に係る部品選択プログラムを実行するコンピュータの一例について説明するための図である。
【０１０１】
図１３に示すように、実施例３におけるコンピュータ１００は、操作部１１０ａと、マイク１１０ｂと、スピーカ１１０ｃと、ディスプレイ１２０と、通信部１３０とを有する。さらに、このコンピュータ１００は、ＣＰＵ１５０と、ＲＯＭ１６０と、ＨＤＤ（Hard  Disk  Drive）１７０と、ＲＡＭ（Random  Access  Memory）１８０と有する。これら１１０〜１８０の各部はバス１４０を介して接続される。
【０１０２】
ＲＯＭ１６０には、上記の実施例２で示した操作情報取得部１５ａと、部品情報取得部１５ｂと、部品リスト更新部１５ｃと、表示制御部１５ｄとを搭載したＣＡＤシステム１５と同様の機能を発揮する制御プログラムが予め記憶される。つまり、ＲＯＭ１６０には、図１３に示すように、操作情報取得プログラム１６０ａと、部品情報取得プログラム１６０ｂと、部品リスト更新プログラム１６０ｃと、表示制御プログラム１６０ｄとを含むＣＡＤプログラム１６１が記憶される。なお、これらのプログラム１６０ａ〜１６０ｄについては、図２に示したＣＡＤ装置１０の各構成要素と同様、適宜統合又は分離しても良い。
【０１０３】
そして、ＣＰＵ１５０が、これらのプログラム１６０ａ〜１６０ｄを含むＣＡＤプログラム１６１をＲＯＭ１６０から読み出して実行する。これによって、ＣＰＵ１５０は、図１３に示すように、ＣＡＤプログラム１６１については、操作情報取得プロセス１５０ａ及び部品情報取得プロセス１５０ｂを含むＣＡＤシステム１５１として機能するようになる。さらに、ＣＡＤプログラム１６１は、部品リスト更新プロセス１５０ｃ及び表示制御プロセス１５０ｄを含むＣＡＤシステム１５１として機能するようになる。なお、各プロセス１５０ａ〜１５０ｄは、図２に示した、操作情報取得部１５ａと、部品情報取得部１５ｂと、部品リスト更新部１５ｃと、表示制御部１５ｄとにそれぞれ対応する。
【０１０４】
そして、ＨＤＤ１７０には、図示しない三次元モデル及びその部分部品の製図情報であるＣＡＤデータが設けられる。
【０１０５】
そして、ＣＰＵ１５０は、ＨＤＤ１７０からＣＡＤデータを読み出してカーソル移動量データ１８０ａ、ハイライト部品座標データ１８０ｂ、選択対象部品リスト１８０ｃ及び選択対象外部品リスト１８０ｄを生成し、生成したデータをＲＡＭ１８０に格納する。さらに、ＣＰＵ１５０は、ＲＡＭ１８０に格納されたカーソル移動量データ１８０ａと、ハイライト部品座標データ１８０ｂと、選択対象部品リスト１８０ｃと、選択対象外部品リスト１８０ｄとを用いて、部品選択の補助機能を実現する。
【符号の説明】
【０１０６】
１    部品選択装置
２    表示部
３    入力部
４    判断部
５    抽出部
６    検出部
７    削除部
１０    ＣＡＤ装置
１１    入力部
１２    表示部
１３    記憶部
１３ａ  カーソル移動量データ
１３ｂ  ハイライト部品座標データ
１３ｃ  選択対象部品リスト
１３ｄ  選択対象外部品リスト
１４    制御部
１５    ＣＡＤシステム
１５ａ  操作情報取得部
１５ｂ  部品情報取得部
１５ｃ  部品リスト更新部
１５ｄ  表示制御部
【図１】
0005471454.tif 000002
【図２】
0005471454.tif 000003
【図３】
0005471454.tif 000004
【図４】
0005471454.tif 000005
【図５】
0005471454.tif 000006
【図６】
0005471454.tif 000007
【図７Ａ】
0005471454.tif 000008
【図７Ｂ】
0005471454.tif 000009
【図７Ｃ】
0005471454.tif 000010
【図７Ｄ】
0005471454.tif 000011
【図７Ｅ】
0005471454.tif 000012
【図８】
0005471454.tif 000013
【図９】
0005471454.tif 000014
【図１０】
0005471454.tif 000015
【図１１】
0005471454.tif 000016
【図１２】
0005471454.tif 000017
【図１３】
0005471454.tif 000018