(57)【要約】【課題】モデルの凹形状部の選択を容易にする。【解決手段】水源から水が流れ落ちるイメージを想起し得る水源モデル３２により、ここから鉛直方向に向かうベクトル３２Ａを定義する。そして、図形要素の選択対象たるモデル３０の上方まで水源モデル３０を移動させたときに、モデル３０を構成するすべての面の中からベクトル３２Ａと交差する交差面３０Ａを１つ特定する。また、モデル３０を取り囲む最小の直方体（エクステント）３４を求め、これからモデル３０を引く差集合演算により両者の差分を示す差分モデル３６を作成する。その後、すべての差分モデル３６の中から、交差面３０Ａと幾何的かつ位置的に一致する面を含むものを特定し、特定された差分モデル３６とモデル３０とのすべての面を比較して幾何的かつ位置的に一致する面を、凹形状部として選択する。【選択図】  図２
2004295566.tif 000002
【特許請求の範囲】
【請求項１】
水源から水が流れ落ちるイメージを想起し得る水源モデルにより、ここから鉛直下方に向かうベクトルを定義し、モデルを構成するすべての面の中から該ベクトルと交差する交差面を１つ特定し、該交差面を含む凹形状部を構成する少なくとも１つの面を選択する機能をコンピュータに実現させるための図形要素選択プログラム。
【請求項２】
前記水源モデルは、任意形状のモデルに対して、図形要素の選択対象たるモデルと区別するための属性を付したものであることを特徴とする請求項１記載の図形要素選択プログラム。
【請求項３】
前記水源モデルは、蛇口形状のモデルから構成されることを特徴とする請求項２記載の図形要素選択プログラム。
【請求項４】
前記交差面を含む凹形状部を構成する少なくとも１つの面を選択する機能は、前記モデルを取り囲む最小の直方体からモデルを引く差集合演算により差分モデルを作成し、該差分モデルの中から交差面と幾何的かつ位置的に一致する面を含むものを特定し、特定された差分モデルとモデルとのすべての面を比較して幾何的かつ位置的に一致する面を選択することを特徴とする請求項１〜請求項３のいずれか１つに記載の図形要素選択プログラム。
【請求項５】
前記交差面を含む凹形状部を構成する少なくとも１つの面が選択されたときには、その表示色を変えることを特徴とする請求項１〜請求項４のいずれか１つに記載の図形要素選択プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
三次元ＣＡＤ（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｄｅｓｉｇｎ）において、モデルの凹形状部の選択を容易にする技術に関する。
【０００２】
【従来の技術】
三次元ＣＡＤでは、モデルを構成する面や稜線などの各要素について、単一要素だけではなく複数要素に対して、属性付加，削除，移動などの一括処理を行う操作が様々な場面で必要である。複数要素の選択方法としては、キーボードやマウスなどの入力デバイスで要素を１つずつ選択する操作を複数回繰り返し、処理対象となるすべての要素を選択する方法が一般的である。しかし、処理対象となる要素が多いとき、このような方法で複数要素を選択することは、その労力が極めて大であり、操作性が良くないという問題があった。このため、モデルの凸形状部の選択を容易にすべく、特許文献１に記載されるように、法線ベクトルと視線ベクトルとの内積を正負判定することで、光源からの光が当たっている面を選択する技術が提案された。
【０００３】
【特許文献１】
特開２００１−９２９９２号公報
【０００４】
【発明が解決しようとする課題】
しかしながら、かかる技術においては、モデルの凸形状部を容易に選択できるものの、凹形状部を選択することはできなかった。このため、モデルの凹形状部を選択するときには、その構成要素を１つずつ選択する処理を繰り返さなければならず、その操作性が相変わらず良くなかった。そして、複数要素の選択を容易かつ迅速に行うことは、モデリングの作成効率を高めること、つまり、設計上最も重要視されている「設計期間短縮」に大きな影響を与えるため、効果的な複数要素の選択方法の出現が望まれていた。
【０００５】
そこで、本発明は以上のような従来の問題点に鑑み、水源から水が流れ落ちるイメージを想起し得る水源モデルを導入し、モデルからその水が溜まる凹形状部を選択することで、モデルの凹形状部の選択を容易にした図形要素選択プログラムを提供することを目的とする。
【０００６】
【課題を解決するための手段】
このため、本発明に係る図形要素選択プログラムでは、水源から水が流れ落ちるイメージを想起し得る水源モデルにより、ここから鉛直下方に向かうベクトルを定義し、モデルを構成するすべての面の中からベクトルと交差する面を１つ特定し、交差面を含む凹形状部を構成する少なくとも１つの面を選択するようにする。このとき、水源モデルは、任意形状のモデルに対して、図形要素の選択対象たるモデルと区別するための属性を付すようにすればよい。また、水源モデルとしては、操作者がイメージを想起し易いように、蛇口形状とすることが望ましい。そして、交差面を含む凹形状部を構成する少なくとも１つの面を選択するときには、モデルを取り囲む最小の立方体からモデルを引く差集合演算により差分モデルを作成し、差分モデルの中から交差面と幾何的かつ位置的に一致する面を含むものを特定し、特定された差分モデルとモデルとのすべての面を比較して幾何的かつ位置的に一致する面を凹形状部として選択すればよい。
【０００７】
かかる構成によれば、水源モデルをモデルの上方まで移動させると、そこから鉛直下方に流れ落ちる水が溜まる部分の中から、水が触れる面が凹形状部として選択される。このとき、水源モデルは、任意形状のモデルに対して属性を付したものであることから、その移動操作はモデルと同様であり、操作習得が極めて容易である。また、水源モデルを蛇口形状としたときには、そこから水が流れ落ちるイメージを容易に想起できるので、水源モデルの操作を直感的にできるようになる。
【０００８】
また、交差面を含む凹形状部を構成する少なくとも１つの面が選択されたときには、その表示色を変えることが望ましい。このようにすれば、三次元ＣＡＤの操作者に対して、希望する図形要素が選択されたか否かを判断する材料を提供することができる。
【０００９】
さらに、モデルの中から凹形状部を選択する処理は、コンピュータの処理能力に応じて、水源モデルの移動に伴ってリアルタイムに、水源モデルが移動後停止したときに、又は、水源モデルの移動中には交差面を明示し、その確定処理があったときに、夫々実行されるようにすればよい。
【００１０】
【発明の実施の形態】
以下、添付された図面を参照して本発明を詳述する。
図１は、少なくともメモリと中央処理装置とを備えたコンピュータに対して、本発明に係る図形要素選択プログラムをインストールし、三次元ＣＡＤシステムを構築した全体構成を示す。
【００１１】
三次元ＣＡＤシステムは、入力デバイス１０と、入力処理部１２と、要素選択処理部１４と、形状作成／編集処理部１６と、表示制御部１８と、モニタ２０と、モデラカーネル２２と、モデルＤＢ（データベース）２４と、を含んで構成される。なお、要素選択処理部１４，形状作成／編集処理部１６及び表示制御部１８は、メモリにロードされたプログラムにより夫々実現される。
【００１２】
入力処理部１２では、キーボードやマウスなどの入力デバイス１０からの信号を、要素選択処理部１４及び形状作成／編集処理部１６で処理可能なデータ形式に変換する機能が提供される。要素選択処理部１４では、一般的な三次元ＣＡＤシステムにおける図形要素の選択機能に加え、後述する処理により、モデルの凹形状部を選択する機能が提供される。形状作成／編集処理部１６では、要素選択処理部１４により選択された図形要素に対して、入力デバイス１０からのコマンド（作成，属性付加，削除，移動など）に対応した各種処理を実行する機能が提供される。ここで、各種コマンドに対応した各種処理は、モデラカーネル２２を参照することで実現される。表示制御部１８では、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）やＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）などのモニタ２０に対して、モデルを表わす画像を拡大，縮小又は全体表示させる機能が提供される。モデルＤＢ２４には、必要に応じて、作成／編集されたモデルが登録される。
【００１３】
ここで、モデルから凹形状部を選択する処理について、図２を参照しつつ、その原理を説明する。本発明では、「水源モデル」という概念を導入する。水源モデルでは、例えば、水道の蛇口から鉛直下方に水が流れ落ちるように、鉛直下方へと向かうベクトルが定義される。このとき、水源モデルを直感的に操作可能とすべく、例えば、蛇口形状を有するモデルを用意し、これに対して図形要素の選択対象たるモデルと区別するための属性を付しておくことが望ましい。なお、水源モデルとしては、蛇口形状に限らず、任意形状のモデルに対して属性を付すことで実現するようにしてもよい。そして、このように、水源モデルという概念を導入することで、ベクトルをそのまま用いるよりも、図形要素の選択処理を直感的に行うことができるようになり、操作性を向上させることができる。
【００１４】
最初に、入力デバイス１０を操作することで、図２（Ａ）に示すように、選択対象となるモデル３０の凹形状部の上方まで水源モデル３２を移動させる。すると、モデル３０を構成する各構成要素の中から、水源モデル３２から鉛直下方に向かうベクトル３２Ａと交差する面（図中の陰影を付した面、以下「交差面」という）３０Ａが検索され、これを特定するＩＤなどの交差面情報が記憶される。また、同図（Ｂ）に示すように、モデル３０を取り囲む最小の立方体（エクステント）３４が求められる。エクステント３４は、三次元ＣＡＤシステムのモデリングを担当するＰａｒａｓｏｌｉｄなどのモデラカーネルに標準装備されている機能を利用することで、同図に示すモデル形状だけではなく、図３に示すような各種形状についても容易に求められる。
【００１５】
そして、同図（Ｃ）に示すように、エクステント３４からモデル３０を引く差集合演算により、両者の差分を示す差分モデル３６（図示の例では３６Ａ及び３６Ｂ）が作成される。ここで、差分モデル３６は、モデル３０を取り囲む最小のエクステント３４からモデル３０を引いたものであることから、モデル３０の凹形状部に溜まる水の形状を表わしている。次に、差分モデル３６の中から、交差面３０Ａと幾何的かつ位置的に一致する面を含むものが検索され、同図（Ｄ）に示すように、交差面３０Ａがどの差分モデル３６に含まれているかが絞り込まれる。差分モデル３６の絞り込みが行われると、差分モデル３６及びモデル３０を構成するすべての面についてマッチングが行われ、幾何的かつ位置的に一致するすべての面が、同図（Ｅ）に示すように、凹形状部を構成する面３８として選択される。
【００１６】
図４は、かかる原理を適用し、モデル３０から凹形状部を選択する処理のフローチャートを示す。
ステップ１（図では「Ｓ１」と略記する。以下同様）では、水源モデル３２から鉛直下方に向かうベクトル３２Ａと交差する交差面３０Ａを検索し、その交差面３０Ａを特定する交差面情報を記憶する。
【００１７】
ステップ２では、モデル３０のエクステント３４を求める。
ステップ３では、エクステント３４からモデル３０を引く差集合演算により、両者の差分を示す差分モデル３６を作成する。また、作成した差分モデル３６の個数を、変数Ｍｎにセットする。
【００１８】
ステップ４では、変数Ｍｎが１ではないか否かを判定する。そして、変数Ｍｎが１でなければステップ５へと進み（Ｙｅｓ）、記憶した交差面情報を参照することで、複数の差分モデル３６の中から、交差面３０Ａと幾何的かつ位置的に一致する面を含むモデルαを特定する。即ち、交差面３０Ａをその一面とするモデルαを特定する。一方、変数Ｍｎが１であればステップ６へと進む（Ｎｏ）。
【００１９】
ステップ６では、モデルαから面を１つ取り出す。
ステップ７では、取り出した面（以下「取出面」という）とモデル３０のすべての面とを順次マッチングし、幾何的かつ位置的に一致する面を検索する。そして、取出面に一致する面が検索できたらステップ８へと進み（一致）、その面を特定するＩＤなどの面情報をリストに登録する。一方、取出面に一致する面が検索できなかったらステップ９へと進む（不一致）。
【００２０】
ステップ９では、モデルαのすべての面について、モデル３０とのマッチングが行われたか否かを判定する。そして、マッチングが完了したならばステップ１０へと進む（Ｙｅｓ）。一方、マッチングが完了していなければステップ１１へと進み（Ｎｏ）、モデルαからマッチングが行われていない次の面（取出面）を取り出す。
【００２１】
ステップ１０では、リストに登録された面情報を取得する。即ち、リストには、モデルαを構成する面と幾何的かつ位置的に一致する面が登録されているので、これらはモデル３０の凹形状部を構成する面であるとみなすことができる。
【００２２】
かかる処理によれば、水源モデル３２から鉛直下方に流れ落ちる水が溜まる部分の中から、水が触れる面が凹形状部として選択される。このため、新たな概念を導入したにもかかわらず、複雑な形状を有するモデル３０であっても、簡単かつ直感的に図形要素を選択することができる。このとき、水源モデル３２の移動操作はモデル３０と同様であるので、操作習得が極めて容易であり、モデリング期間を短縮することができる。そして、モデリング期間の短縮により、設計上で最も重要視されている設計期間の短縮を実現することができるようになる。
【００２３】
凹形状部選択処理は、コンピュータの処理能力に応じて、水源モデル３２の移動に伴いリアルタイムに、水源モデル３２が移動後停止したときに、又は、水源モデル３２の移動中には交差面３０Ａを明示し、その確定操作があったときに夫々実行される。以下、これらの実行タイミングについて説明する。
【００２４】
図５は、水源モデル３２の移動に伴いリアルタイムに、凹形状部選択処理を実行する処理を示す。
ステップ２１では、確定操作があるか否かを判定する。確定操作としては、コマンド入力，水源モデルをドラッグしているマウスボタンの開放などがある。そして、確定操作があれば処理を終了し（Ｙｅｓ）、凹形状部選択処理で選択された面を凹形状部とみなす。一方、確定操作がなければステップ２２へと進む（Ｎｏ）。
【００２５】
ステップ２２では、入力デバイス１０のイベントメッセージなどに基づいて、水源モデル３２が移動したか否かを判定する。そして、水源モデル３２が移動したならばステップ２３へと進み（Ｙｅｓ）、図４に示す凹形状部選択処理を実行する。一方、水源モデル３２が移動していなければステップ２１へと戻る（Ｎｏ）。
【００２６】
かかる処理によれば、水源モデル３２の移動に伴い、その下方に位置するモデル３０の凹形状部を構成する面がリアルタイムに選択される。そして、その位置で確定操作を行えば、選択された面を凹形状部として、三次元ＣＡＤシステムにおける各種処理を即時実行することができる。
【００２７】
図６は、水源モデル３２が移動後停止したときに、凹形状部選択処理を実行する処理を示す。
ステップ３１では、確定操作があるか否かを判定する。そして、確定操作があれば処理を終了し（Ｙｅｓ）、凹形状部選択処理で選択された面を凹形状部とみなす。一方、確定操作がなければステップ３２へと進む（Ｎｏ）。
【００２８】
ステップ３２では、水源モデル３２が移動したか否かを判定する。そして、水源モデル３２が移動したならばステップ３３へと進み（Ｙｅｓ）、水源モデル３２が移動していなければステップ３１へと戻る（Ｎｏ）。
【００２９】
ステップ３３では、入力デバイス１０のイベントメッセージなどに基づいて、水源モデル３２が停止したか否かを判定する。そして、水源モデル３２が停止したならばステップ３４へと進み（Ｙｅｓ）、図４に示す凹形状部選択処理を実行する。一方、水源モデル３２が停止していなければ、移動中であるとみなすことができるので、停止するまで待機する（Ｎｏ）。
【００３０】
かかる処理によれば、水源モデル３２が移動後停止したときのみ、凹形状部選択処理が実行されるので、処理負荷が比較的低く、処理能力が多少劣るコンピュータであっても問題なく実装することができる。
【００３１】
図７は、水源モデル３２の移動中には交差面３０Ａを明示し、その確定操作があったときに、凹形状部選択処理を実行する処理を示す。
ステップ４１では、水源モデル３２が移動したか否かを判定する。そして、水源モデル３２が移動したならばステップ４２へと進み（Ｙｅｓ）、水源モデル３２が移動しなければ待機する（Ｎｏ）。
【００３２】
ステップ４２では、水源モデル３２が停止したか否かを判定する。そして、水源モデル３２が停止したならばステップ４３へと進み（Ｙｅｓ）、水源モデル３２から鉛直下方に向かうベクトル３２Ａと交差する交差面３０Ａの表示色を変える。一方、水源モデル３２が停止していなければ、移動中であるとみなすことができるので、停止するまで待機する（Ｎｏ）。
【００３３】
ステップ４４では、確定操作があるか否かを判定する。即ち、本ルーチンでは、水源モデル３２が移動しても交差面３０Ａの表示色が変わるだけであるので、凹形状部選択処理を実行させることを明示的に指示する必要がある。このため、確定操作があるか否かを判定することで、その交差面３０Ａを含む凹形状部を選択してよいか否かが判定されることとなる。そして、確定操作があればステップ４５へと進み（Ｙｅｓ）、図４に示す凹形状部選択処理を実行する。一方、確定操作がなければステップ４１へと戻る（Ｎｏ）。
【００３４】
かかる処理によれば、水源モデル３２を移動させるたびに、その下方に位置するモデル３０の交差面３０Ａの表示色が変わる。このため、現在着目している凹形状部が一目瞭然となり、その位置で確定操作を行うことで、初めて凹形状部選択処理が実行される。従って、凹形状部選択処理が本当に必要なときに実行されることとなり、処理負荷を最小とすることができる。
【００３５】
なお、モデル３０から凹形状部が選択されたときには、その表示色を変えることで、どの部分が選択されたかを明確にすることが望ましい。このようにすれば、三次元ＣＡＤの操作者に対して、希望する図形要素が選択されたか否かを判断する材料を提供することができる。
【００３６】
（付記１）水源から水が流れ落ちるイメージを想起し得る水源モデルにより、ここから鉛直下方に向かうベクトルを定義し、モデルを構成するすべての面の中から該ベクトルと交差する交差面を１つ特定し、該交差面を含む凹形状部を構成する少なくとも１つの面を選択する機能をコンピュータに実現させるための図形要素選択プログラム。
【００３７】
（付記２）前記水源モデルは、任意形状のモデルに対して、図形要素の選択対象たるモデルと区別するための属性を付したものであることを特徴とする付記１記載の図形要素選択プログラム。
【００３８】
（付記３）前記水源モデルは、蛇口形状のモデルから構成されることを特徴とする付記２記載の図形要素選択プログラム。
【００３９】
（付記４）前記交差面を含む凹形状部を構成する少なくとも１つの面を選択する機能は、前記モデルを取り囲む最小の直方体からモデルを引く差集合演算により差分モデルを作成し、該差分モデルの中から交差面と幾何的かつ位置的に一致する面を含むものを特定し、特定された差分モデルとモデルとのすべての面を比較して幾何的かつ位置的に一致する面を選択することを特徴とする付記１記載の図形要素選択プログラム。
【００４０】
（付記５）前記交差面を含む凹形状部を構成する少なくとも１つの面が選択されたときには、その表示色を変えることを特徴とする付記１記載の図形要素選択プログラム。
【００４１】
（付記６）前記機能は、前記水源モデルの移動に伴ってリアルタイムに実行されることを特徴とする付記１記載の図形要素選択プログラム。
【００４２】
（付記７）前記機能は、前記水源モデルが移動後停止したときに実行されることを特徴とする付記１記載の図形要素選択プログラム。
【００４３】
（付記８）前記機能は、前記水源モデルの移動中には交差面を明示し、その確定処理があったときに実行されることを特徴とする付記１記載の図形要素選択プログラム。
【００４４】
【発明の効果】
以上説明したように、本発明に係る図形要素選択プログラムによれば、水源モデルをモデルの上方まで移動させると、そこから鉛直下方に流れ落ちる水が溜まる部分の中から、水が触れる面が凹形状部として選択される。このため、新たな概念を導入したにもかかわらず、複雑な形状を有するモデルであっても、簡単かつ直感的に図形要素を選択することができる。そして、水源モデルの移動操作がモデルと同様であることから、その操作習得が極めて容易であり、モデリング期間を短縮することができる。また、モデリング期間の短縮により、設計上で最も重要視されている設計期間の短縮を実現することができるようになる。
【図面の簡単な説明】
【図１】本発明を適用した三次元ＣＡＤシステムの全体構成図
【図２】モデルから凹形状部を選択する原理を示し、（Ａ）〜（Ｅ）は夫々選択処理の各ステップの説明図
【図３】エクステントの一例を示し、（Ａ）は球モデルの説明図、（Ｂ）は凸形状部を有するモデルの説明図
【図４】凹形状部選択処理を示すフローチャート
【図５】同上の実行タイミングの第１実施例を示すフローチャート
【図６】同上の実行タイミングの第２実施例を示すフローチャート
【図７】同上の実行タイミングの第３実施例を示すフローチャート
【符号の説明】
１４    要素選択処理部
１８    表示制御部
３０    モデル
３０Ａ  交差面
３２    水源モデル
３２Ａ  ベクトル
３４    エクステント
３６    差分モデル
【図１】
2004295566.tif 000003
【図２】
2004295566.tif 000004
【図３】
2004295566.tif 000005
【図４】
2004295566.tif 000006
【図５】
2004295566.tif 000007
【図６】
2004295566.tif 000008
【図７】
2004295566.tif 000009