(57)【特許請求の範囲】
【請求項１】
コンピュータ支援設計モデルのデータ構造のサイズを縮小する、コンピュータにより実行される方法であって、
複数のモデリング要素から構成されるコンピュータ支援設計モデルの場合には、前記コンピュータ支援設計モデルの前記複数のモデリング要素のそれぞれを定義する１つ以上の幾何学的エンティティを提供する工程であって、前記幾何学的エンティティはそれぞれ対応するグラフィカルなエンティティを有し、これらグラフィカルなエンティティは前記コンピュータ支援設計モデルを表示するものである、幾何学的エンティティを提供する工程と、
各モデリング要素について、前記モデリング要素の可視率を決定する工程と、
前記縮小したデータ構造内に、
i）前記グラフィカルなエンティティを表現する図形データ、および
ii）該当のモデリング要素の可視率に応じて、前記幾何学的エンティティのうちの特定のエンティティのみに関する幾何学的データを格納することによって、コンピュータメモリ内に縮小したデータ構造を作成する工程とを備え、
前記複数のモデリング要素の一部のモデリング要素について、
前記コンピュータ支援設計モデルの周りに境界となる囲いを構成する点から前記境界となる囲いの中心に向かう視線ベクトルが生成され、
各視線ベクトルについて、前記一部のモデリング要素が、ある点から前記視線ベクトルに沿って前記視線ベクトルの方向に見られるときに、目に見える前記モデリング要素についての画素数が決定され、各視線ベクトルについて決定された前記画素数の総和が、前記可視率の決定に利用される、ＣＡＤモデルのデータ構造のサイズ縮小方法。
【請求項２】
コンピュータ支援設計モデルのデータ構造のサイズを縮小する、コンピュータにより実行される方法であって、
複数のモデリング要素から構成されるコンピュータ支援設計モデルの場合には、前記コンピュータ支援設計モデルの前記複数のモデリング要素のそれぞれを定義する１つ以上の幾何学的エンティティを提供する工程であって、前記幾何学的エンティティはそれぞれ対応するグラフィカルなエンティティを有し、これらグラフィカルなエンティティは前記コンピュータ支援設計モデルを表示するものである、幾何学的エンティティを提供する工程と、
各モデリング要素について、前記モデリング要素の可視率を決定する工程と、
前記縮小したデータ構造内に、
i）前記グラフィカルなエンティティを表現する図形データ、および
ii）該当のモデリング要素の可視率に応じて、前記幾何学的エンティティのうちの特定のエンティティのみに関する幾何学的データを格納することによって、コンピュータメモリ内に縮小したデータ構造を作成する工程とを備え、
前記複数のモデリング要素の一部のモデリング要素について、
前記モデリング要素のサイズと、
前記モデリング要素から前記境界となる囲いまでの距離と、
前記モデリング要素の表面の種類と、
前記モデリング要素の密度と、
前記モデリング要素の透明性と、
前記モデリング要素の質量と、
前記モデリング要素が結合の候補であるか否かと、
前記モデリング要素が参照モデリング要素であるか否かとのうちのいずれか１つまたはこれらの組み合わせを考慮されて前記可視率の決定に利用される、ＣＡＤモデルのデータ構造のサイズ縮小方法。
【請求項３】
請求項１または２において、各モデリング要素について、所定のしきい値に対する前記モデリング要素の前記可視率に応じて、該当のモデリング要素の幾何学的データを、前記縮小したデータ構造内に格納する、ＣＡＤモデルのデータ構造のサイズ縮小方法。
【請求項４】
請求項３において、前記幾何学的エンティティのうち前記特定のエンティティは、さらに、
該当のモデリング要素の物理的なサイズと、
該当のモデリング要素のユーザによる選択と、
前記所定のしきい値の前記ユーザによる変更とのうちのいずれか１つまたはこれらの組み合わせに基づいて決定される、ＣＡＤモデルのデータ構造のサイズ縮小方法。
【請求項５】
請求項１または２において、前記幾何学的エンティティのうちの前記特定のエンティティが、さらに、モデリング処理と、前記モデリング処理をサポートするのに必要な各該当のモデリング要素の可視率とに基づいて決定される、ＣＡＤモデルのデータ構造のサイズ縮小方法。
【請求項６】
請求項５において、前記モデリング処理は結合処理であり、前記幾何学的エンティティのうちの前記特定のエンティティは、外面に対応している、ＣＡＤモデルのデータ構造のサイズ縮小方法。
【請求項７】
請求項１または２において、さらに、
ある領域において、前記幾何学的エンティティのうちの前記特定のエンティティに対応するグラフィカルなエンティティのみを表示するために、前記コンピュータ支援設計モデルをフィルタ処理する工程と、
前記幾何学的エンティティのうちの前記特定のエンティティのユーザ選択を可能にする工程とを備えた、ＣＡＤモデルのデータ構造のサイズ縮小方法。
【請求項８】
請求項１または２において、各モデリング要素は、面とパーツのうちのいずれか１つまたはこれらの組み合わせである、ＣＡＤモデルのデータ構造のサイズ縮小方法。
【請求項９】
請求項１または２において、前記モデリング要素の前記可視率は、複数の方向から前記モデリング要素を見ることによって計算される、ＣＡＤモデルのデータ構造のサイズ縮小方法。
【請求項１０】
請求項１または２において、さらに、
前記幾何学的エンティティのうちの前記特定のエンティティに対応する前記グラフィカルなエンティティを引き立たせて、グラフィカルなエンティティを表示する工程を備えた、ＣＡＤモデルのデータ構造のサイズ縮小方法。
【請求項１１】
請求項１または２において、さらに、
前記幾何学的エンティティのうちの前記特定のエンティティに対応する前記グラフィカルなエンティティを削除または透過的に表示する工程を備えた、ＣＡＤモデルのデータ構造のサイズ縮小方法。
【請求項１２】
コンピュータ支援設計モデルのデータ構造のサイズを縮小する、コンピュータ支援設計システムであって、
データ記憶システムに動作可能に接続されたプロセッサであって、前記データ記憶システムは、前記データ構造内に、複数のモデリング要素から構成されるコンピュータ支援設計モデルを格納している、プロセッサと、
前記プロセッサに動作可能に接続されたデータ記憶用メモリであって、請求項１から１１のいずれか一項に記載の方法における各工程を実行する手順を前記プロセッサに設定する命令を含む、データ記憶用メモリとを備えた、ＣＡＤシステム。
【請求項１３】
命令を備えた、コンピュータ読み取り可能なデータ記憶媒体であって、
前記命令がコンピュータに、
請求項１から１１のいずれか一項に記載の方法における各工程を実行させる、コンピュータ読み取り可能なデータ記憶媒体。
【発明の詳細な説明】
【関連出願】
【０００１】
本願は、2008年1月17日出願の米国特許仮出願第61/021,775号の利益を主張するものであり、上記出願の全教示は参照により本明細書に引用したものとする。
【技術分野】
【０００２】
本願は、コンピュータ支援設計（ＣＡＤ）に関するものであり、より詳細には、可視率（visibility factor）を利用するモデルのサイズ縮小に関する。
【背景技術】
【０００３】
コンピュータ支援設計（ＣＡＤ）ソフトウェアは、ユーザが複雑な３次元（３Ｄ）モデルを構築および操作することを可能にする。数多くの異なるモデリング手法が、３次元モデルを作成するのに使用される。これらの手法には、ソリッドモデリング、ワイヤフレームモデリングおよびサーフェスモデリングが含まれる。ソリッドモデリング手法では、３次元モデルが、相互に結合したトポロジカル（位相的）なエンティティ（構成単位）（例えば、頂点、稜線（edge）および面（face））の集合であるトポロジカルな３次元モデルを提供する。トポロジカルなエンティティは、これに対応してかつ補助する幾何学的な（geometrical）エンティティ（例えば、点（座標の点）、トリム曲線およびトリム曲面）を有する。トリム曲面は、稜線によって境界が決められたトポロジ面に相当する。一方、ワイヤフレームモデリング手法は、単純な３次元の線の集合としてモデルを表すのに用いられ、サーフェスモデリングは、外面の集合としてモデルを表すのに用いることができる。ＣＡＤシステムには、上記のようなモデリング手法と、その他のモデリング手法（例えば、パラメトリックモデリング手法）を組み合わせたものも存在する。パラメトリックモデリング手法は、モデルの種々のフィーチャ（形状要素）およびコンポーネント（構成要素）についての様々なパラメータを定義し、さらに、これら様々なパラメータ間の関係に基づいてこれらフィーチャおよびコンポーネントとの関係を定義するのに用いられる。
【０００４】
設計技術者は、３次元ＣＡＤシステムの典型的なユーザである。設計技術者は、３次元モデルの物理的側面および美的側面を設計する人物であり、３次元モデリング手法に熟練している。設計技術者はパーツを作成し、パーツをサブアセンブリに組み立てる。サブアセンブリは、その他のいくつかのサブアセンブリから構成されていてもよい。アセンブリはパーツおよびサブアセンブリを用いて設計される。これ以降、パーツおよびサブアセンブリを総称してコンポーネントと称する。
【０００５】
パーツ、サブアセンブリおよびアセンブリがかなり複雑な場合もある。10,000個のパーツを含むモデルも珍しくない。農業用車両、レクリエーション用車両、および一部のプリンタ装置のＣＡＤモデルは、10,000個を越えるパーツを有することもある。設計技術者は、ＣＡＤシステムを開いてモデルを表示するのに３０分も待つ場合があり、コンピュータ画面上で、ある位置から別の位置へパーツをドラッグしたり、２つのコンポーネントを合致（結合（mate））させたりする基本的な処理を完了するのに、１分以上も待つ場合がある。モデルが複雑になるほど（例えば、モデルの中のパーツおよびフィーチャの数が多くなるほど）、ＣＡＤシステムへの負荷は大きくなる。
【０００６】
ＣＡＤモデルを表示するのに要する時間の長さは、モデリングアプリケーション（ＣＡＤソフトウェア）を実行するコンピュータシステムのコンフィグレーション（設定）を含む、多数の要因の関数である。メモリ量と、コンピュータシステムに搭載されたハードウェアプロセッサの速度とが、モデリングアプリケーションの性能に影響を与える。さらに、表示されるＣＡＤモデルの精細度レベルと、モデルのコンポーネントによってサポートされる機能とは、両方ともが、記憶され、ロードされ、処理されるデータ量に影響を及ぼすため、モデリングアプリケーションの性能に影響を与える。
【０００７】
モデルを表示するために、ＣＡＤシステムは、典型的には、ＣＡＤモデルの表面を三角測量することによって、モデルの幾何学的エンティティのグラフィック表現を作成する。そのため、一般に、ＣＡＤモデルの典型的なデータ構造は、全てのモデルコンポーネントに対する幾何学的データと図形データ（グラフィック・データ）とから成る。そして、グラフィック表現は、コンピュータモニタ上に描画される。全ての幾何学的エンティティとモデルのグラフィック表現を作成して維持すると、システムの性能を低下させる可能性がある。性能問題に対処するために、現行システムでは、ＣＡＤモデルの代替の表現形態を作成することもある。
【０００８】
米国マサチューセッツ州コンコルドのダッソー・システムズ・ソリッドワークス・コーポレーション社が開発したＳｏｌｉｄＷｏｒｋｓ（登録商標）２００３ソフトウェア製品では、アセンブリの外面つまり可視部分のみから構成されるパーツドキュメントとしてアセンブリを保存することができる。より小さいパーツドキュメントとしてアセンブリを保存すると、ファイルを共有しやすくなる。例えば、ＳｏｌｉｄＷｏｒｋｓ２００３は、複雑なモータアセンブリのデザインをパーツドキュメントとして保存することができる。この保存されたパーツドキュメントは、モータアセンブリが特定のフレームに嵌まるか否かを知りたい別の人に送信されてもよい。パーツドキュメントを別の人に送信することは、小さいファイルの送信を可能にするだけでなく、デザインの詳細の全てを共有することなくデザインを保護できる。
【０００９】
実現される可能性のあるモデルの別の代替的な表現には、表現される面を手作業で選択することによってのみ作成される幾何学的表現と、基本となる幾何学的形状の概略的表現である、モデルの外面をテセレートする（モザイク状にポリゴン分割する）ことによってのみ生成されるグラフィック表現とが挙げられる。
【００１０】
アセンブリの外面つまり可視部分のみを１つのパーツドキュメントとして保存することには欠点がある。完全なモデルに対する関連付けつまり連係が欠如しているため、パーツドキュメントに対する何らかの変化が、個々のパーツファイルまたはアセンブリファイルにそのまま反映されるわけではない。これに加えて、外面を保存する場合、いかに小さくて不明瞭であろうとも、全ての外側の面がパーツドキュメントに表現される。さらに、外面からアセンブリ内の元の面への関連付けが存在しないため、設計技術者は、選択過程中にいずれの面が実際に選択されたかについて、管理することも情報を得ることもできない。
【発明の概要】
【発明が解決しようとする課題】
【００１１】
幾何学的エンティティ自体ではなく、幾何学的エンティティのグラフィック表現のみを記憶、ロードおよび処理することによって、時間節約の利点が得られる。これは、メモリが節約され、および／または、幾何学的構造をサポート（保持）するのに十分な量のランダムアクセスメモリがなくともページングがシステムにほとんど要求されないからである。ただし、幾何学的エンティティは、フィーチァを合致させ、２次元または３次元モデルにアノテーションを加えるなどの特定の処理に必要である。したがって、ユーザがリアルタイムで対話できる複雑なモデルの表現を作成し、システムの性能に影響を与えることなく幾何学的な処理を支援するシステムまたは方法を、現行技術のＣＡＤシステムが利用すれば、利益を得ることができるであろう。
【課題を解決するための手段】
【００１２】
本発明の一実施形態の例は、コンピュータ支援設計モデルのデータ構造のサイズを縮小つまり低減する方法またはそれに対応する装置の形態で実現される。本発明の一実施形態による方法およびそれに対応する装置は、複数のモデリング要素から構成されるコンピュータ支援モデルの場合には、コンピュータ支援設計モデルの複数のモデリング要素のそれぞれを定義する１つ以上の幾何学的エンティティを提供する。幾何学的エンティティは、コンピュータ支援設計モデルを表示するように構成された、対応するグラフィカルなエンティティ（図形のエンティティ）を有する。各モデリング要素に対して、モデリング要素の可視度を決定し、縮小したデータ構造内に、（i）グラフィカルなエンティティを表現する図形データと、（ii）そのモデリング要素の可視度の関数として決定された幾何学的エンティティのうち特定のエンティティのみに関する幾何学的データとを格納することによって、コンピュータメモリ内に縮小したデータ構造を生成する。
【００１３】
別の実施形態では、可視度を決定する工程は、各モデリング要素についてそれぞれ可視率を決定する。一実施例では、コンピュータ支援設計モデルの周りの境界となる囲いつまり境界を示す囲い（bounding enclosure）を形成する点からこの囲いの中心に向かう視線ベクトルを生成することによって、可視率が決定または計算される。次に、各視線ベクトルについて、ある点から視線ベクトルに沿って視線ベクトルの方向にモデリング要素が見られる場合における、目に見えるモデリング要素についての画素数を決定する。モデリング要素の可視度は、例えば、各視線ベクトルについて決定された画素数の総和である。
【００１４】
先の実施形態の別の実施例では、可視率の決定は、モデリング要素のサイズと、モデリング要素の不明瞭度と、モデリング要素から境界となる囲いまでの距離と、モデリング要素の表面の種類と、モデリング要素の密度と、モデリング要素の透明性と、モデリング要素の質量と、モデリング要素が合致の候補であるか否かと、モデリング要素が参照モデリング要素であるか否かとのうちのいずれか１つまたはこれらの組み合わせを考慮する。
【００１５】
さらに別の実施形態では、各モデリング要素について、所定の（予め定義された）しきい値に対するモデリング要素の可視率の関数として、そのモデリング要素の幾何学的データを、縮小したデータ構造内に格納する。
【００１６】
一実施例では、幾何学的エンティティのうち特定のエンティティは、さらに、該当のモデリング要素の物理的なサイズと、該当のモデリング要素のユーザによる選択と、所定のしきい値のユーザによる変更とのうちのいずれか１つまたはこれらの組み合わせに基づいて、決定される。
【００１７】
さらに別の実施形態では、幾何学的エンティティのうち特定のエンティティは、さらに、モデリング処理と、モデリング処理をサポートするのに必要な各該当のモデリング要素の可視度に基づいて決定される。例えば、モデリング処理は合致処理であり、幾何学的エンティティのうち特定のエンティティは外面を含む。
【００１８】
別の実施形態は、さらに、ある領域においてのみ、幾何学的エンティティのうち特定のエンティティに対応するグラフィカルなエンティティを表示するために、コンピュータ支援設計モデルをフィルタ処理し、その領域に表示することによって、ユーザは、幾何学的エンティティのうちの特定のエンティティを効率的に選択することができる。このような実施形態では、グラフィカルなエンティティは、幾何学的エンティティのうちの特定のエンティティに対応するグラフィカルなエンティティが引き立てられて（その他のエンティティに対して濃淡の差が付けられて）表示されてもよい。代わりに、幾何学的エンティティのうち特定のエンティティに対応するグラフィカルなエンティティは、透過的（透明）に表示されるか、画面表示から削除されてもよい。
【００１９】
「モデリング要素」（あるいは、一般に、モデル要素と称される場合もある）は、面、パーツまたはこれらの組み合わせであってもよい。
【００２０】
本発明の１つ以上の実施形態の詳細を、添付の図面および以下の明細書に記載する。本発明の他の特徴、目的および利点は、明細書、図面および特許請求の範囲から明らかとなろう。
【図面の簡単な説明】
【００２１】
【図１】本発明の一実施形態における、コンピュータ作成（ＣＧ）モデルと、ウィンドウ内に表示されたユーザインターフェースのフィーチャ管理部（feature manager portion）とを示す図である。
【図２】本発明の一実施形態のプロセスを示すフローチャートである。
【図３】本発明の図１の実施形態における、コンピュータ作成モデルと、別のウィンドウ内に表示されたユーザインターフェースとを示す図である。
【図４】本発明の図１の実施形態における、コンピュータ作成モデルと、図１のウィンドウの次のウィンドウ内に表示されたユーザインターフェースとを示す図である。
【図５】本発明の図１の実施形態における、コンピュータ作成モデルと、図１のウィンドウの次のウィンドウ内に表示されたユーザインターフェースとを示す図である。
【図６】本発明の一実施形態のプロセスを示すフローチャートである。
【図７】本発明の実施形態が実装されるコンピュータシステムを示す概略図である。
【００２２】
上記内容は、添付図面で示されている本発明の実施形態の例についての以下のより具体的な説明から明らかとなるであろう。なお、同一の参照符号は異なる図面であっても同一部品を指す。これら図面は必ずしも縮尺どおりではなく、代わりに、本発明の実施形態を説明することに重点が置かれている。
【発明を実施するための形態】
【００２３】
本発明の例示的実施形態を以下に説明する。
【００２４】
本発明は、指定された一連の処理が必要とする可能性がある幾何学的エンティティを局所的にのみ記憶しながら、モデル全体を描画することによって、三次元モデルを効率的に更新する。３次元モデル全体が描画され、これにより、設計技術者は、ローカルな作業メモリに全幾何学的エンティティを記憶することなく、全幾何学的エンティティのグラフィック表現を見ることができる。ただし、コンポーネントを組み合わせ、最後に細部を複雑なモデルに追加する際に用いられることが多い処理をサポートするために、幾何学的エンティティのサブセットがローカルな作業メモリに記憶される。
【００２５】
幾何学的エンティティのサブセットは、サポートされている一連の処理に基づいて決定される。アセンブリを構築する場合、アセンブリを構築するのにサブアセンブリのフィーチャが合致させられることが多いので、合致処理をサポートするのが望ましい。合致処理には、外面に相当するトリム面である可能性が高い２つ以上の幾何学的エンティティの選択が必要である。（これ以降、トリム面である幾何学的エンティティを単に面と称する。ここで、面は、基本となるトポロジカルなエンティティである。）したがって、本発明の一実施形態における幾何学的エンティティのサブセットは、外面を含むが内面を含まない。外面から成る幾何学的エンティティのサブセットは、合致処理とともに、組み合わせの際に用いられることが多い、アノテーション処理もサポートする。
【００２６】
図１に、コンピュータモニタ上に表示されたウィンドウ１０２を示す。ウィンドウ１０２は、コンピュータ化されたモデリングシステムが実行するモデリングソフトウェアによって作成される。コンピュータ化されたモデリングシステムの例は、図７を参照して後述する。ウィンドウ１０２は、コンピュータで作成された（ＣＧの）従来のウィンドウであり、従来の市販されているソフトウェアプログラミングツール、例えば、米国ワシントン州レドモンドのMicrosoft Corporation社から入手可能なソフトウェアプログラミングツールを用いて当業者がプログラムできる。
【００２７】
コンピュータで作成された（ＣＧの）３次元モデル１０４が、ウィンドウ１０２のモデリング部１０６内に表示されている。図１の３次元モデル１０４は、アイオワ州ペラのVermeer Company社が設計したサブアセンブリである。３次元モデル１０４のサーフェスが表示される。代わりに、３次元モデルの見えている稜線と隠れた稜線それぞれを示すために、実線と点線を用いて、３次元モデル１０４が表示されてもよい。さらに、サーフェスを透明にして、このようなサーフェスの下にあるモデルコンポーネントを現すことができる。実装においては、ＦｅａｔｕｒｅＭａｎａｇｅｒ（登録商標）ウィンドウパネル１０８のようなその他のウィンドウ領域を有してもよい。このウィンドウ領域では、３次元モデル１０４のコンポーネントに加えて、設計技術者が３次元モデル１０４を可視化および操作するのを助けるために、コンポーネントの構造、アセンブリ、または図面がリストアップされる。
【００２８】
本発明の一実施形態では、いずれの幾何学的エンティティが合致の候補となり得るかを判定する。典型的には、合致の候補は、モデルの外面である。また、比較的小さい面とは対照的に、大きい面ほど合致の候補になる可能性が大きい。図１に示されている矩形表面１１０および円形表面１１２は、別のサブアセンブリと同心つまり同軸の合致関係を構成する、合致の候補となる可能性が高い。
【００２９】
一般に、３次元モデルの基本となるデータ構造には、幾何データおよび図形データが含まれる。ここで、図形データは３次元モデルの幾何学的形状を描画するために処理される。さらに、ソリッドモデル（中実のモデル）はトポロジカルな表現を有し、この表現に幾何学的表現が対応する。本発明は、３次元モデルに対して新しいデータ構造を作成する。この新しいデータ構造が、３次元モデルの完全なグラフィック表現の表示を可能にする。しかし、新しいデータ構造は、３次元モデルの特定のエンティティについて幾何学的形状を格納するだけである。したがって、設計技術者は、その特定のエンティティのみの幾何学的形状を変更および参照できる。
【００３０】
図２は、本発明の一実施形態の手順２００を示す。手順２００は、３次元モデルを表現するのに一般的に用いられるデータの量を減らし、特定のモデルエンティティが選択されることができる、ユーザフレンドリな手段を提供する。まず始めに、手順２００は、各面および各パーツについての可視率（visibility factor）を計算するためにモデルを前処理する（工程２１０）。これについては、図６を参照しながらより詳細に後述する。面およびパーツは、総称して、モデリング要素またはモデル要素と称される。可視率を計算した後、手順２００は、モデルの面またはパーツのサブセットを表示する（工程２２０）。これらの面またはパーツは、所定のしきい値を超える可視率の面またはパーツである。次の工程において、設計技術者は、可視度の優先値（visibility preference）を指定してもよい（工程２３０）。このように新たなしきい値を指定することにより、前記所定のしきい値が無効になる。
【００３１】
説明のために、図３には、工程２１０で可視率が計算された後のモデル１０４を示す。面のサブセットのみが図で表現される（図示される）ことになり、その結果が図３に表わされている。設計技術者がこれを容認すれば、図示された面のサブセットと図示された面のみが、縮小したデータ構造に含まれる幾何学的データを有することになる。縮小したデータ構造はまた、モデル１０４全体についての図形データを含むことになる。一般に、面のサブセットは、可視度のしきい値を満たす外面を含む。図１とは異なり、図３では、円形面１１２は示されているが矩形面１１０は示されていない。これは、矩形面１１０が、可視度のしきい値に適合していたからである。この可視度のしきい値は、サイズ基準を含んでもよい。しかし、矩形面１１０が必要な場合、設計技術者は、面１１０に関する幾何学的データを作成することを明示的に指定できる。明示的な指定の一例として、手順２００の前処理工程２１０に先立って、マウスのようなカーソルコントロールを備えた入出力（Ｉ／Ｏ）装置を用いて、矩形面１１０を選択することによって可能になる。ただし、これに限定されるわけではない。
【００３２】
面またはパーツに関する幾何学的データがサブセットに含まれるように設計技術者が指定できるその他の手段では、ユーザインターフェース制御を調節する。このような制御の例としては、図３に示されたウィンドウパネル領域３０２内の第１スライダ３０８および第２スライダ３１０である。本発明の一実施形態では、全ての面および全てのパーツに関する可視率を計算する。可視率は、個々のパーツおよび面が持つ不明瞭度（level of obscurity）を多数のビューポイント（視点）から勘案（考察）するだけでなく、パーツまたは面のサイズを考慮する。可視率は、モデルの各パーツおよび各面に割り当てられた数値である。可視度のスライダ（３０８、３１０）によって、設計技術者は、可視度のしきい値を変更することで、ウィンドウ１０２に表示されるパーツまたは面を指定することができる。例えば、第２スライダ３１０を右に移動させると、モデリングシステムに表示させる面の可視率は次第に大きくなる。すなわち、スライダがより左側に位置するときにモデリングシステムに表示させる面に比べて、より大きくて不明瞭度が小さい面をモデリングシステムに表示させる。所望の面が一旦表示されると、設計技術者は、ラジオボタン３０４、３０６またはその他の設定によって、表示された面の幾何学的データがサブセットに含まれるべきであることを指示する。図３の例示的な実施形態では、幾何学ラジオボタン３０４がセット（選択）されると、モデリングシステムは、縮小したデータ構造内の幾何学的データをサポートする図形データのみを表示する。幾何学ラジオボタン３０６がセット（選択）されると、サポートする幾何学的エンティティを縮小したデータ構造が含むか否かにかかわらず、モデリングシステムは全ての図形データを表示する。マウス（カーソル制御）装置を用いてチェックマークボタン３１２を選択することによって、設計技術者は、モデリングシステムに、面のサブセットに関する幾何学的データ（面のサブセットはモデリング要素である）と、全ての幾何学的エンティティを表示するのに必要な図形データとから構成される縮小したデータ構造を計算させる。
【００３３】
図２を再度参照すると、一例として、最初の前処理結果、またはユーザインターフェース制御が用いられた後に得られた、ユーザ調整結果（例えば、図３を参照して説明した可視度のスライダ（３０８、３１０））のいずれかを受け入れることによって、可視度優先値が特定された後に、縮小したデータ構造が生成されて表示される（工程２４０）。ただし、これに限定されるわけではない。前述のように、縮小したデータ構造には、対応する幾何学的データを有する面またはパーツのみでなく、モデル全体を表示するのに用いられる図形データが含まれる。モデル全体を表示することによって、設計技術者は、モデル全体を見ることができる。しかし、設計技術者は、いずれの面またはパーツが幾何学的に同等である、すなわち、いずれの面またはパーツが合致関係を作成する処理などに対して選択されるかを認識しなければならない。
【００３４】
典型的には、設計技術者は、マウス（カーソル制御）装置を用いてＣＡＤモデルのフィーチャおよびパーツを選択する。ウィンドウ１０２のモデリング部分１０６内のマウスに対応する位置は、ポインタ（カーソル）によって示される。しかし、本発明の一実施形態では、ポインタを表示するのみでなく、ポインタの周りの円形領域も示す。この円形領域の目的はフィルタゾーンを作成することであり、これにより、縮小したデータ構造内に対応する幾何学的エンティティを有するグラフィカルなエンティティのみが、フィルタゾーン内に表示される。手順２００の次の工程では、選択できないエンティティ（すなわち、対応する幾何学的エンティティを有しないグラフィカルなエンティティ）が、フィルタゾーンからフィルタ処理される（つまり除去される）（工程２５０）。これによって、選択可能なエンティティ（すなわち、縮小したデータ構造内に格納された図形データおよび幾何学的データの両方を有するエンティティ）のみが、フィルタゾーンに現れる。手順２００の最後の工程２６０では、設計技術者は、ＣＡＤ操作において、除去されていないエンティティ、すなわち、縮小したデータ構造内でサポートする幾何学的形状を有するエンティティを選択することができる。
【００３５】
説明のために、図４および図５は、モデル１０４において、除去されたグラフィカルなエンティティを除く全てのグラフィカルなエンティティを表示している。除去されたグラフィカルなエンティティは、サポートする幾何学的データを縮小したデータ構造内に有していないエンティティであって、フィルタゾーン４０２内にあるグラフィカルなエンティティである。フィルタゾーン４０２の位置は、図４と図５では異なる。そのため、いくつかのパーツのグラフィック表現が、図４では表示されているが図５では表示されていない。同様に、図５では表示されているが図４では表示されていないグラフィック表現がある。代わりに、一実施形態では、除去されたエンティティを全く表示しないわけではなく、除去されたエンティティを透過的に表示してもよい。本発明の一実施形態においては、マウスがモデル１０４の上（すなわち、フィルタゾーン４０２内）で動く際に、マウスポインタ周りのグラフィカルなエンティティを対話的に除去し、それによって、いずれのエンティティが選択可能であるかを、設計技術者に即座に視覚的フィードバックすることができる。この対話的なフィードバックを達成するために、マスキング技法を適用してもよい。モデルの２つの画像が作成されてもよい。一方の画像は、フィルタゾーン４０２内に選択可能であるグラフィカルなエンティティのみ（例えば、選択可能なエンティティにフラグを立てる（目印を付ける）パラメータによって表わされる）を含み、他方の画像は、全てのグラフィカルなエンティティを含む。次に、この結果として生じる２つの画像を動的に混合することにより画面上に最終画像を構成し、選択可能でないグラフィカルなエンティティがフィルタゾーン４０２内で暗くなるようにする。
【００３６】
次に図６を参照すると、手順６００は、グラフィカルなエンティティの可視度を決定するための工程を示し、手順２００の前処理工程２１０をより詳細に説明している。最初の工程では、球面の視域（viewing area）が決定される（工程６１０）。この球面の視域は、図１、３、４および５のモデル１０４のようなＣＡＤモデルを囲んでいる。球面の視域は、フィーチャおよびパーツの種々のビュー方向からの不明瞭の程度を決定するのに用いられる。次の工程では、点（ビューポイント）が球面の視域一帯に均一に分散される（工程６２０）。球上に点を分散させる方法として、E. B. SaffおよびA. B. J. Kuijlaarsによる“Distributing Many Points on a Sphere”に記載された方法が挙げられる。球面の視域一帯に多数の点をいかに分散するかを決定するために、実証的な方法を用いることができる。本発明の一実施形態では、３６個の点を分散させる。これにより、性能を犠牲にすることなく、十分に正確な結果を得ることができる。
【００３７】
視域一帯の点が一旦保存されると、均一に分散された各点から球面の視域の中心に向かう視線ベクトル（viewing vector）が生成される（工程６３０）。次に、各パーツに対して、１つの点から視線ベクトルの方向に視線ベクトルに沿って各パーツが見られるときに、目に見えるであろう画素数が計算され、合計される（工程６４０から６６０）。次に、手順６００は、同一の方法で、モデル内の各面の可視度を決定する。すなわち、各面に対して、複数の点から種々の視線ベクトルの方向にその視線ベクトルに沿って各面が見られるときに、目に見える画素数が合計される（工程６５０から６６０）。面およびパーツが見られる際の出発点である点（視点）は、工程６２０で決定された点、または、各視線ベクトルの方向においてモデルからさらに離れた点もしくはモデルにさらに近い点であってもよい。目に見えるであろう画素数の決定は、モデルをオフスクリーンで描画することによって、当業者には既知のグラフィックス機能であるオクルージョンクエリ（occlusion query）を実行して達成されてもよい。
【００３８】
手順６００の最後の工程６７０は可視率を算出する。可視率は、工程６６０で得られた合計値に基づいていてもよい。例えば、各面およびパーツについての可視率は、目に見える画素の合計数にそれぞれ等しい。この合計値に加えて、可視率は、１つの面のサイズまたはパーツ内の全ての面のサイズを考慮に入れることができる。一例として、小さい面よりも大きい面の方が可視率の値を増加させる。ただし、これに限定されるわけではない。したがって、多くの視点から見られる場合に面は不明瞭になるかもしれないが、その面の物理的なサイズによって、面の可視率が増加する。
【００３９】
さらに、可視率を算出する際に、パーツおよび面のその他の性質および特性が考慮されてもよい。一例として、パーツまたは面が、球面の視域の外側つまり境界を構成する囲いに近づくほど、可視度の計算において、パーツまたは面に、より大きい比重が置かれる（これに限定されるわけではない）。表面の種類もまた可視度計算の要素に加えられてもよい。例えば、平面および円筒面には、解析表面である面に対するよりも、より大きい比重が置かれる。密度、透過性および質量などの性質もまた可視度計算において考慮されてもよい。さらに、合致先または参照先を有する面と、互いに接触している面およびパーツ（これらは干渉検出を用いて決定されてもよい）とは、可視度計算において、より大きい比重が置かれるか、または、縮小したデータ構造に組み込まれるために自動的に選択される。
【００４０】
本発明によって、縮小したデータ構造は、全ての幾何学的エンティティが格納されたデータ構造（本明細書では、「完全なデータ構造」と称する）を更新でき、それによって、縮小したデータ構造と完全なデータ構造との間に関連付けリンク（連係リンク）を提供する。一実施形態では、縮小したデータ構造内に、各幾何学的エンティティとともに参照識別子を格納してもよい。ここで参照識別子は、完全なデータ構造内の対応する幾何学的エンティティへのポインタである。この代わりに、完全なデータ構造内の対応する幾何学的エンティティへの一連のポインタとして、幾何学的エンティティのサブセットを、縮小したデータ構造が格納してもよい。これにより、２つのエンティティが縮小したデータ構造内の合致相手として選択されると、その合致関係を示すデータもまた完全なデータ構造内に格納される。
【００４１】
さらに、縮小したデータ構造と完全なデータ構造とは同一の階層構造内に格納されてもよい。これによって、縮小したデータ構造と完全なデータ構造は両方ともモデルの同一の全体データ構造に属するため、データを共有しやすくなる。
【００４２】
縮小したデータ構造と完全なデータ構造とを関連付けるその他の技法も適している。例えば、発明の名称が“Creating a Reference Using Tracking Data”である、2006年1月30日付で本譲受人によって提出され、参照により本明細書に引用されたものとする米国特許出願第11/344,457号を参照されたい。
【００４３】
次に図７を参照すると、コンピュータ処理されるモデリングシステム７００が示されている。このモデリングシステム７００は、ＣＰＵ（中央演算処理装置）７０２、コンピュータモニタ７０４、キーボード入力装置７０６、マウス入力装置７０８、および記憶装置７１０を備える。ＣＰＵ７０２、コンピュータモニタ７０４、キーボード７０６、マウス７０８、および記憶装置７１０は、一般に入手可能なコンピュータハードウェア装置を含む。例えば、ＣＰＵ７０２は、Ｐｅｎｔｉｕｍ（登録商標）プロセッサを有する。マウス７０８は、従来の左側ボタンおよび右側ボタンを有するものであってもよく、ユーザは、これらのボタンを押すことにより、ＣＰＵ７０２によって実行中のソフトウェアプログラムにコマンドを発行することができる。コンピュータ化されたモデリングシステム７００は、マウス７０８の代わりに、またはマウス７０８に加えて、トラックボールやタッチパッド（touch-sensitive pad）などのポインティング装置を有してもよく、またはポインティング装置およびキーボード７０６に組み込まれたボタンを有してもよい。当業者であれば、別の利用可能なポインティング装置を用いても、本明細書でマウス装置に関連して説明した効果と同一効果が得られることは理解されるであろう。以下の説明から明らかになるように、他の適切なコンピュータ用ハードウェアプラットフォームも使用できる。好ましくは、このようなコンピュータ用ハードウェアプラットフォームは、Ｍｉｃｒｏｓｏｆｔ（登録商標）のＷｉｎｄｏｗｓ（登録商標）２０００、Ｗｉｎｄｏｗｓ ＸＰ（登録商標）、Ｗｉｎｄｏｗｓ Ｖｉｓｔａ（登録商標）、ＵＮＩＸ（登録商標）、ＬｉｎｕｘまたはＭａｃ ＯＳ（登録商標）オペレーティングシステムを動作できる。
【００４４】
さらなる中央演算処理装置（ＣＰＵ）およびハードウェア装置（例えば、グラッフィクアクセラレータプロセッサ、ラピッドプロトタイプ装置、ビデオ装置およびプリンタ装置）が、コンピュータ処理されるモデリングシステム７００に含まれてもよい。さらに、コンピュータ処理されるモデリングシステム７００は、ネットワークハードウェアおよびソフトウェアを備えてもよい。これにより、ハードウェアプラットフォーム７１２への通信が可能になり、数多くあるコンピュータ構成品の中でも特に、ＣＰＵおよび記憶システムを備える複数のコンピュータシステム間の通信が容易になる。
【００４５】
コンピュータ支援モデリングソフトウェアは記憶装置７１０に記憶されてもよく、ＣＰＵ７０２にロードされ当該ＣＰＵ７０２によって実行される。このモデリングソフトウェアによってユーザは３次元モデルを作成および変更でき、かつ本明細書に記載された本発明の構成を実現することができる。ＣＰＵ７０２は、３次元モデルおよび前述したその他の構成を表示するためにコンピュータモニタ７０４を使用する。キーボード７０６およびマウス７０８を用いて、ユーザは３次元モデルに関連したデータを入力および変更できる。ＣＰＵ７０２は、キーボード７０６およびマウス７０８からの入力を受け付け、これを処理する。ＣＰＵ７０２は、３次元モデルに関連したデータとともに上記入力を処理し、モデリングソフトウェアの命令に応じて、コンピュータモニタ７０４上の表示に対して相応かつ適切な変更を行なう。一実施形態において、このモデリングソフトウェアは、１つ以上のソリッドボディ（中実のボディ）およびサーフェスボディ（中空のボディ）で構成される３次元モデルを構築するのに用いられるソリッドモデリングシステムに基づく。
【００４６】
本発明は、デジタル電子回路、またはコンピュータハードウェア、コンピュータファームウェア、コンピュータソフトウェア、もしくはこれらの組み合わせによって実現されてもよい。本発明の装置は、プログラマブルなプロセッサによって実行可能で機械読み取り可能な記憶装置に有形に埋め込まれたコンピュータプログラム製品として実現されてもよい。本発明の方法の工程は、入力データを処理して出力を生成するように命令プログラムを実行することで本発明の機能を実行する、プログラマブルなプロセッサによって行われてもよい。有利な実施形態では、本発明は、少なくとも１つのプログラマブルなプロセッサを備えるプログラマブルなシステムで実行可能な、１つ以上のコンピュータプログラムで実現されてもよい。このプログラマブルなプロセッサは、データ記憶システム、少なくとも１つの入力装置および少なくとも１つの出力装置からデータおよび命令を受け取り、これらの装置にデータおよび命令を伝送する。各コンピュータプログラムは、高級言語またはオブジェクト指向のプログラミング言語で書かれたものであってもよく、もし必要であれば、アセンブリ言語または機械言語で書かれたものであってもよい。いずれにしても、その言語は、コンパイラ言語またはインタープリタ言語であってもよい。適切なプロセッサの例には、汎用マイクロプロセッサおよび専用マイクロプロセッサの両方が含まれるが、これらに限定されるわけではない。一般的に、プロセッサは、読み出し専用メモリ（ＲＯＭ）および／またはランダムアクセスメモリ（ＲＡＭ）から命令およびデータを受け取る。コンピュータプログラムの命令およびデータを有形で具現化するのに適した記憶装置には、あらゆる形態の不揮発性メモリ、例えば、ＥＰＲＯＭ（紫外線消去型プログラム可能読み出し専用メモリ）、ＥＥＰＲＯＭ（電気的消去型プログラム可能読み出し専用メモリ）およびフラッシュメモリ装置などの半導体メモリ装置、内蔵ハードディスクおよびリムーバブルディスクなどの磁気ディスク、光磁気ディスク（ＭＯディスク）、ならびにＣＤ−ＲＯＭディスクが含まれるが、これらに限定されるわけではない。これら記憶装置はいずれも、カスタムＡＳＩＣ（特定用途集積回路）によって補完されてもよく、またはカスタムＡＳＩＣに組み込まれてもよい。
【００４７】
本明細書で説明した方法でデータ構造のサイズを縮小することで、幾何学的エンティティのグラフィック表現を記憶し、ロードし、処理することによりもたらされる、時間節約の利点が実現されると共に、フィーチャを合致させたり、コンピュータ支援設計モデルにアノテーションを加えたりするなどのモデリング処理を支援する。
【００４８】
複雑なモデルを設計するには、特定の設計段階において、より少ないデータを処理する必要があるため、より対話が多くなる。複雑なモデルとより高速に対話できることによって、設計技術者の生産性が増す。アセンブリモデルについて縮小したデータ構造を用いると、ＣＡＤシステムは、より迅速に設計モデルをオープンし、より少ないメモリを使用し、その上、複雑なモデルを組み立てる際に重要となる処理を実行する。さらに、縮小したデータ構造に対して実行された処理の結果が連係して戻され、完全なデータ構造に自動的に適用される。これは、設計技術者が、完全なデータ構造に対して同一処理を別個に実行しなくてもよいことを意味する。さらに、本明細書で説明される、縮小したデータ構造は、視覚的な細部を犠牲にしないという利点を有する。これは、全てのグラフィカルなエンティティが、重要と思われる幾何学的エンティティの正確な表現を有しながら表示されるからである。
【００４９】
その他の利点としては、要求に応じて追加のモデル情報をロードできることであり、これは、モデルファイルが、縮小したデータ構造と完全なデータ構造の両方を含む場合に可能になる。同様に、本発明は、要求に応じてモデル情報を削除することもできる。例えば、２次元の図面にアノテーションを加える場合、設計技術者は、性能を上げるために、またはアノテーション処理において除去されていない幾何学的エンティティを選択する作業に集中するために、縮小した表現に切り替えてもよい。したがって、設計過程での必要性に応じて、縮小したデータ構造と完全なデータ構造との機能的な切り替えは、継ぎ目なく移行される。
【００５０】
本発明の実施形態を多数説明したが、本発明の精神および範囲から逸脱することなく、様々な変更が可能なことは理解されるであろう。例えば、実施形態によっては、処理の行われる順序が変化してもよい。さらに、実施の要件に応じて、本明細書で説明した特定の処理を組み合わせて実施するか、特定の処理を削除するか（例えば、図２の工程２３０）、特定の処理を加えるか、または特定の処理の順番を変えてもよい。
【００５１】
さらに、本明細書で説明した実施形態は縮小したデータ構造について説明しているが、この縮小したデータ構造は、アセンブリについて縮小したデータ構造であっても、サブアセンブリについて縮小したデータ構造であってもよい。本発明はまた、複雑なパーツの縮小したデータ構造を作成するために適用されることもできる。さらに、これまでは、フィルタゾーンを円形領域として説明してきたが、フィルタゾーンは、異なる形状であってもよく、フィルタゾーン内の不透過度も同様に調節されてもよい。
【００５２】
本発明の多数の実施形態とそれらの構成についてこれまで説明してきた。さらなる実施形態および構成には、（１）幾何学的エンティティのうち特定のエンティティに対応するグラフィカルなエンティティを引き立たせて、グラフィカルエンティティを表示し、（２）幾何学的エンティティのうちの特定のエンティティに対応するグラフィカルなエンティティの表示を透過的に表示して削除し、（３）作成された縮小したデータ構造を、各幾何学的エンティティの幾何学的データを含む完全なデータ構造に関連付けるために、コンピュータによって実現される方法が含まれる。さらなる実施形態および構成には、（１）各グラフィカルなエンティティの所定のしきい値に対するモデリング要素の可視度の関数として、縮小したデータ構造内に、対応する幾何学的エンティティの幾何学的データを格納し、（２）さらに、幾何学的エンティティのうちのいずれの特定のエンティティが、対応するモデリング要素の物理的なサイズ、ユーザによる対応するモデリング要素の選択、およびユーザによる所定のしきい値の変更のうちの任意の１つまたは組み合わせに基づいているか決定し、（３）作成された縮小したデータ構造を、各幾何学的エンティティの幾何学的データを含む完全なデータ構造と関連付けるように、プロセッサの動作を設定するための命令を有するコンピュータ支援設計システムが含まれる。
【００５３】
本発明を、本発明の実施形態の例を参照して具体的に示し、説明してきたが、当業者であれば、添付の特許請求の範囲に包含される本発明の範囲から逸脱することなく、形態および詳細において様々な変更が可能なことが理解されよう。
【符号の説明】
【００５４】
１０４  ３次元モデル
１０６  モデリング部
【図１】
0005385921.tif 000002
【図２】
0005385921.tif 000003
【図３】
0005385921.tif 000004
【図４】
0005385921.tif 000005
【図５】
0005385921.tif 000006
【図６】
0005385921.tif 000007
【図７】
0005385921.tif 000008