(57)【特許請求の範囲】
【請求項１】
境界ボックスの中のオブジェクトのセットの視点を選択するためのコンピュータにより実行される方法であって、前記境界ボックスは、前記オブジェクトのセットが囲まれた少なくとも１つのボリュームを備え、前記方法は、
前記少なくとも１つのボリュームの面を識別するステップと、
識別された各面に前記オブジェクトのセットに対する視点を関連付けるステップと、
ユーザアクションが行われると、１つの視点に関連付けられた面のうちの１つを選択するステップと、
前記選択された面に関連付けられた前記視点に応じて、前記オブジェクトのセットのビューを表示するステップと
を備えることを特徴とするコンピュータにより実行される方法。
【請求項２】
前記少なくとも１つのボリュームの面を識別するステップは、
前記少なくとも１つのボリュームの輪郭を決定するステップと、
前記輪郭の内側で１つまたは複数の可視の面を識別するステップと、
前記輪郭の少なくとも１つの部分に関連付けられた１つまたは複数の不可視の面を識別するステップと
を備えることを特徴とする請求項１に記載のコンピュータにより実行される方法。
【請求項３】
前記面のうちの１つを選択するステップは、
前記輪郭の一部分から所与の距離でユーザアクションを検出するステップと、
前記輪郭の前記一部分に関連付けられた前記不可視の面を選択するステップであって、前記輪郭の近くで前記ユーザアクションが検出されている、ステップと、
をさらに備えることを特徴とする請求項２に記載のコンピュータにより実行される方法。
【請求項４】
前記境界ボックスおよび前記少なくとも１つのボリュームは、直方体、立方体のうちの１つであることを特徴とする請求項１から請求項３のいずれか１項に記載のコンピュータにより実行される方法。
【請求項５】
前記少なくとも１つのボリュームの面を識別する前に、
アセンブリを形成するオブジェクトのセットを提供するステップであって、前記オブジェクトのセットは３次元モデル化されたオブジェクトであり、前記アセンブリは３次元モデル化されたアセンブリである、ステップと、
前記３次元モデル化されたアセンブリの簡略化されたビューを計算するステップであって、前記計算され、簡略化されたビューは、縮小されたスケールを有する前記アセンブリを表現し、かつ単一のメッシュを形成する１つの３次元オブジェクトのビューである、ステップと、
前記簡略化されたビューを表示するステップであって、前記少なくとも１つのボリュームは、前記簡略化されたビュー上に表現され、前記簡略化されたビューの前記３次元モデル化の表現を囲む、ステップと
を備えることを特徴とする請求項１から請求項４のいずれか１項に記載のコンピュータにより実行される方法。
【請求項６】
前記３次元モデル化されたアセンブリの簡略化されたビューを計算するステップは、
前記３次元モデル化されたオブジェクトのアセンブリに変換行列を関連付けるステップであって、前記変換行列は、前記アセンブリの前記３次元モデル化されたオブジェクトの情報のセットを表現する、ステップと、
前記変換行列および前記アセンブリから前記簡略化されたビューを計算するステップであって、前記計算され、簡略化されたビューは、縮小されたスケールを有する前記アセンブリを表現し、かつ単一のメッシュを形成する前記１つの３次元オブジェクトのビューである、ステップと
を備えることを特徴とする請求項５に記載のコンピュータにより実行される方法。
【請求項７】
前記変換行列によって表現される情報のセットは、少なくとも、
３次元シーンにおけるオブジェクトの配向（ｘ，ｙ，ｚ）であって、前記配向は、前記３次元シーンのグローバルな配向を含む、前記配向と、
倍率と、
前記３次元シーンにおける前記３次元モデル化されたオブジェクトの位置と
を備えることを特徴とする請求項６に記載のコンピュータにより実行される方法。
【請求項８】
前記簡略化されたビューは、前記オブジェクトのセットのビューが表示される前記３次元シーンとは異なる３次元シーンにおいて表示されることを特徴とする請求項７に記載のコンピュータにより実行される方法。
【請求項９】
前記１つの視点に関連付けられた面のうちの１つを選択するステップは、前記少なくとも１つのボリュームが表現される前記簡略化されたビュー上で実行されることを特徴とする請求項８に記載のコンピュータにより実行される方法。
【請求項１０】
コンピュータ実行可能命令を含むコンピュータプログラムであって、コンピュータ実行可能命令は、コンピュータによって実行されるとき、前記コンピュータに請求項１から請求項９のいずれかに記載の方法を実行させることを特徴とするコンピュータプログラム。
【請求項１１】
請求項１０に記載の前記コンピュータプログラムを記憶したことを特徴とするコンピュータ可読記憶媒体。
【請求項１２】
メモリおよびグラフィカルユーザインターフェースに結合されたプロセッサを備えたコンピュータシステムであって、前記プロセッサは、前記メモリに記憶された、請求項１０に記載のコンピュータプログラムを実行するように構成されていることを特徴とするコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータプログラムおよびコンピュータシステムの分野に関し、より詳細には、オブジェクトのセットの視点を選択するための方法、システム、およびプログラムに関する。
【背景技術】
【０００２】
いくつかのシステムおよびプログラムが、オブジェクトの設計、エンジニアリング、および製造に関する市場で提供されている。ＣＡＤは、コンピュータ支援設計の頭字語であり、例えば、オブジェクトを設計するためのソフトウェアソリューションに関する。ＣＡＥは、コンピュータ支援エンジニアリングの頭字語であり、例えば、将来の製品の物理的な動作をシミュレートするためのソフトウェアソリューションに関する。ＣＡＭは、コンピュータ支援製造の頭字語であり、例えば、製造工程および製造作業を定義するためのソフトウェアソリューションに関する。そのようなコンピュータ支援設計システムにおいて、グラフィカルユーザインターフェースが、その技術の効率に関して重要な役割を果たす。これらの技術は、製品ライフサイクル管理（ＰＬＭ）システム内に組み込まれる。ＰＬＭとは、製品の開発のために、構想から製品の寿命の終わりまで、拡張された事業の概念の中で、企業が製品データを共有すること、共通の工程を適用すること、および企業知識を活用することを助けるビジネス戦略を指す。
【０００３】
ダッソーシステムズ社（Ｄａｓｓａｕｔ  Ｓｙｓｔｅｍｓ）によって（ＣＡＴＩＡ、ＥＮＯＶＩＡ、およびＤＥＬＭＩＡの商標の下で）提供されるＰＬＭソリューションは、製品エンジニアリング知識を編成するエンジニアリングハブ、製造エンジニアリング知識を管理する製造ハブ、ならびに事業統合、およびエンジニアリングハブと製造ハブの両方に対する接続を可能にする事業ハブを提供する。全体でこのシステムは、最適化された製品定義、製造準備、生産、およびサービスを駆動する動的で、知識ベースの製品作成および決定サポートを可能にするように製品、工程、リソースを結び付けるオープンなオブジェクトモデルをもたらす。
【０００４】
ＣＡＤシステムにおいて、ユーザは、数千のオブジェクトを備えるオブジェクトのアセンブリを扱う。それに関して、ユーザは、アセンブリに対するビューの中心を、特定の領域に、特定の配向で容易に合わせることに関して困難に遭遇する。この問題に対する既知のソリューションは、３Ｄシーンにおけるロードされたアセンブリと一緒にＸ方向、Ｙ方向、Ｚ方向を有するグローバル基準フレームを提供することであり、グローバル基準フレームは、ユーザアクションが行われると、回転させることが可能であり、アセンブリに対する視点（viewpoint）は、基準フレームの回転に従う。したがって、ユーザは、アセンブリに対するビューを変更することが可能である。別の既知のソリューションは、モデルの特定の面に対するカメラアラインメントを提供するツールである。
【０００５】
しかし、これらのソリューションは、視点（point of view）を、アセンブリの特定の領域に対して揃える迅速なアクセスは提供しない。通常、第１の視点の変更が、ユーザによって３Ｄシーンにおいて手動で行われて、その後、正しい位置をポイントする必要がある。さらに、これらのソリューションは、一般的であり、最小のユーザ対話を用いて大きいアセンブリの専用のエリアに対する正確なビューを提供することをしない。
【０００６】
この背景において、オブジェクトの大きいアセンブリに対する視点の選択を改良する必要性が、依然として存在する。
【発明の概要】
【課題を解決するための手段】
【０００７】
したがって、境界ボックスの中のオブジェクトのセットの視点を選択するためのコンピュータ実施方法が提供される。境界ボックスは、オブジェクトのセットが囲まれた少なくとも１つのボリュームを備える。この方法は、その少なくとも１つのボリュームの面を識別すること、識別された各面にオブジェクトのセットに対する視点を関連付けること、ユーザアクションが行われると、１つの視点に関連付けられた面のうちの１つを選択すること、および選択された面に関連付けられた視点に応じてオブジェクトのセットのビューを表示することを備える。
【０００８】
この方法は、
その少なくとも１つのボリュームの面を識別するステップであって、その少なくとも１つのボリュームの輪郭を決定すること、その輪郭の内側で１つまたは複数の可視の面を識別すること、およびその輪郭の少なくとも１つの部分に関連付けられた１つまたは複数の不可視の面を識別することを含むステップを備えることができ、
それらの面のうちの１つを選択するステップは、その輪郭の一部分から所与の距離でユーザアクションを検出すること、近くでユーザアクションが検出されたその輪郭の一部分に関連付けられた不可視の面を選択することをさらに含み、
その境界ボックスおよびその少なくとも１つのボリュームは、直方体、立方体のうちの１つであり、
その少なくとも１つのボリュームの面を識別する前に、アセンブリを形成するオブジェクトのセットを提供するステップであって、そのセットのオブジェクトは、３次元モデル化されたオブジェクトであり、そのアセンブリは、３次元モデル化されたアセンブリであるステップ、その３次元モデル化されたアセンブリの簡略化されたビューを計算するステップであって、その計算され、簡略化されたビューは、縮小されたスケールを有するアセンブリを表現し、単一のメッシュを形成する１つの３次元オブジェクトのビューであるステップ、その簡略化されたビューを表示するステップであって、その少なくとも１つのボリュームは、その簡略化されたビュー上に表現され、その簡略化されたビューの３次元モデル化の表現を囲むステップを含み、
その３次元モデル化されたアセンブリの簡略化されたビューを計算するステップは、３次元モデル化されたオブジェクトのアセンブリに変換行列を関連付けることであって、その変換行列は、そのアセンブリの３次元モデル化されたオブジェクトの情報のセットを表現すること、およびその変換行列およびそのアセンブリから簡略化されたビューを計算することであって、その計算され、簡略化されたビューは、縮小されたスケールを有するアセンブリを表現し、単一のメッシュを形成する１つの３次元オブジェクトのビューであることを含み、
その変換行列によって表現される情報のセットは、少なくとも、３次元シーンにおけるオブジェクトの配向（ｘ，ｙ，ｚ）であって、その３次元シーンのグローバルな配向を使用する配向と、倍率と、その３次元シーンにおけるその３次元モデル化されたオブジェクトの位置とを備え、
その簡略化されたビューは、オブジェクトのセットのビューが表示される３次元シーンとは異なる３次元シーンにおいて表示され、
１つの視点に関連付けられた面のうちの１つを選択するステップは、その少なくとも１つのボリュームが表現される簡略化されたビュー上で実行される。
【０００９】
前述した方法を実行するための命令を備えるコンピュータプログラムがさらに提供される。
【００１０】
そのコンピュータプログラムを記録しているコンピュータ可読記憶媒体がさらに提供される。
【００１１】
メモリおよびグラフィカルユーザインターフェースに結合されたプロセッサを備えるシステムであって、そのメモリは、コンピュータプログラムを記録しているシステムがさらに提供される。
【図面の簡単な説明】
【００１２】
次に、本発明の実施形態が、非限定的な例として、添付の図面を参照して説明される。
【図１】この方法の例を示すフローチャートである。
【図２】境界ボックスのセットを提供するための方法を示すフローチャートである。
【図３】境界ボックスのセットを提供するための方法を示すフローチャートである。
【図４】オブジェクトを囲む境界ボックスの表示の例を示すフローチャートである。
【図５】３Ｄモデル化されたオブジェクトの３Ｄモデル化されたアセンブリのビューの例を示す図である。
【図６】このシステムのグラフィカルユーザインターフェースの例を示す図である。
【図７】オブジェクトを囲む境界ボックスの例を示す図である。
【図８ａ】オブジェクトを囲む境界ボックスの例を示す図である。
【図８ｂ】オブジェクトを囲む境界ボックスの例を示す図である。
【図９ａ】境界ボックスの隠れた面の選択の例を示す図である。
【図９ｂ】境界ボックスの隠れた面の選択の例を示す図である。
【図１０】本発明を実行するためのシステムの例を示す図である。
【発明を実施するための形態】
【００１３】
図１のフローチャートを参照すると、境界ボックスの中のオブジェクトのセットの視点を選択するためのコンピュータ実施方法が提案されており、その境界ボックスは、オブジェクトのそのセットが囲まれた少なくとも１つのボリュームを備える。それらのオブジェクトは、３次元（３Ｄ）モデル化されたオブジェクトであり、そのアセンブリは、３Ｄモデル化されたアセンブリである。この方法は、その少なくとも１つのボリュームの面を識別することを備える。この方法は、識別された各面にオブジェクトのセットに対する視点を関連付けることをさらに備える。その視点（または観点）は、面ごとに異なる。また、この方法は、１つの視点に関連付けられた面のうちの１つを選択することも備える。この選択は、通常、ユーザによって実行される。また、この方法は、その選択された面に関連付けられた視点に応じてオブジェクトのセットのビューを表示することも備える。
【００１４】
この方法は、オブジェクトの大きいアセンブリに対する視点の選択を改善する。実際、ユーザは、１つの視点を選択するためにアセンブリを領域に（すなわち、境界ボリュームに）分割することを活用し得る。詳細には、ユーザは、現在の視点を変更することなしにすべての適切な視点に対するアクセスを有し、ユーザは、オブジェクトのアセンブリのオブジェクトのいくつかを囲む境界ボックスのうちの１つの、１つの面を選択するだけでよい。このため、表示の良好なビューを得るためにビュー変更が実行される必要がないので、コンピューティングリソースが節約され、実際、ユーザは、一目ですべてのボリュームに対する可視性およびアクセスを有する。
【００１５】
この方法は、コンピュータ実施型である。このことは、この方法のステップ（または、実質的にすべてのステップ）が、少なくとも１つのコンピュータ、または任意の同様のシステムによって実行されることを意味する。このため、この方法のステップは、コンピュータによって、場合により、完全に自動的に、または半自動的に実行される。例において、この方法のステップの少なくともいくつかをトリガすることは、ユーザコンピュータの対話を介して実行され得る。要求されるユーザコンピュータの対話のレベルは、予測される自動性のレベルに依存することが可能であり、ユーザの所望を実施する必要性とのバランスがとられることが可能である。例において、このレベルは、ユーザ定義および／または事前定義によることが可能である。
【００１６】
例えば、３Ｄモデル化オブジェクトを提供するステップ（図１のＳ１００）は、ユーザアクションが行われると、トリガされ得る。別の例として、選択するステップＳ１４０、Ｓ１５０もまた、ユーザアクションが行われると、実行される。
【００１７】
この方法のコンピュータ実施の典型的な例は、この目的に適応させられたシステムを用いてこの方法を実行することである。そのシステムは、メモリおよびグラフィカルユーザインターフェース（ＧＵＩ）に結合されたプロセッサを備えることが可能であり、そのメモリは、この方法を実行するための命令を備えるコンピュータプログラムを記録している。また、そのメモリは、データベースを記憶することも可能である。そのメモリは、場合により、いくつかの別々の物理的な部分（例えば、プログラムのために１つの部分、および、場合により、データベースのために１つの部分）を備える、そのような記憶のために適応させられた任意のハードウェアである。
【００１８】
本発明の方法において、３Ｄモデル化オブジェクトのアセンブリのオブジェクトが、メモリ上に記憶され得る。また、計算された境界ボックスが、メモリ上に記憶されることも可能である。
【００１９】
「データベース」は、検索および取出しのために編成されたデータ（すなわち、情報）の任意のコレクションのことである。メモリ上に記憶される場合、データベースは、コンピュータによる迅速な検索および取出しを可能にする。データベースは、実際、様々なデータ処理動作と連携してデータの記憶、取出し、変更、および削除を円滑にするように構造化される。データベースは、それぞれが１つまたは複数のフィールドからなるレコードに細分され得るファイル、またはファイルのセットからなることが可能である。フィールドは、データ記憶の基本単位である。ユーザは、主にクエリを介してデータを取り出すことが可能である。キーワードおよびソートコマンドを使用して、ユーザは、使用されているデータベース管理システムの規則に従ってデータの特定の集合体を取り出すように、またはそのような集合体に関するレポートを作成するように多くのレコードの中のフィールドを迅速に検索すること、並べ替えること、グループ化すること、および選択することができる。
【００２０】
この方法は、一般に、例えば、部品、もしくは部品のアセンブリ、または、場合により、製品のアセンブリなどの製品を表す、モデル化オブジェクトを操作する。モデル化オブジェクトは、データベースの中に記憶されたデータによって定義される任意のオブジェクトである。ひいては、「モデル化オブジェクト」という表現は、データ自体を指す。システムのタイプにより、モデル化オブジェクトは、様々な種類のデータによって定義され得る。システムは、実際、ＣＡＤシステム、ＣＡＥシステム、ＣＡＭシステム、ＰＤＭシステム、および／またはＰＬＭシステムの任意の組合せであり得る。それらの様々なシステムにおいて、モデル化オブジェクトは、対応するデータによって定義される。したがって、ＣＡＤオブジェクト、ＰＬＭオブジェクト、ＰＤＭオブジェクト、ＣＡＥオブジェクト、ＣＡＭオブジェクト、ＣＡＤデータ、ＰＬＭデータ、ＰＤＭデータ、ＣＡＭデータ、ＣＡＥデータについて述べることが可能である。しかし、これらのシステムは、モデル化オブジェクトが、これらのシステムの任意の組合せに対応するデータによって定義され得るので、互いに排他的ではない。このため、システムは、後段で与えられるそのようなシステムの定義から明白となるように、ＣＡＤシステムとＰＬＭシステムの両方であり得る。
【００２１】
ＣＡＤシステムは、ＣＡＴＩＡなどの、モデル化オブジェクトを、そのモデル化オブジェクトのグラフィック表現に基づいて、少なくとも設計することに適応させられた任意のシステムのことである。この場合、モデル化オブジェクトを定義するデータは、モデル化オブジェクトの表現を可能にするデータを備える。ＣＡＤシステムは、例えば、辺または線を使用し、一部の事例では、面または表面を用いて、ＣＡＤモデル化オブジェクトの表現をもたらすことが可能である。線、辺、または表面は、様々な様態で、例えば、非一様有理Ｂスプライン（ＮＵＲＢＳ）において表現され得る。特に、ＣＡＤファイルは、形状が生成され得る仕様を包含し、形状は、表現が生成されることを可能にする。モデル化オブジェクトの仕様は、単一のＣＡＤファイルの中に記憶されても、複数のＣＡＤファイルの中に記憶されてもよい。ＣＡＤシステムにおいてモデル化オブジェクトを表現するファイルの通常のサイズは、１部品当たり１メガバイトの範囲内である。モデル化オブジェクトは、通常、数千の部品のアセンブリであり得る。
【００２２】
ＣＡＤの内容において、モデル化オブジェクトは、通常、例えば、部品、もしくは部品のアセンブリなどの製品、または、場合により、製品のアセンブリを表現する、３Ｄモデル化オブジェクトであり得る。「３Ｄモデル化オブジェクト」は、３Ｄ表現を可能にするデータによってモデル化された任意のオブジェクトのことである。３Ｄ表現は、部品をすべての角度から見ることを可能にする。例えば、３Ｄモデル化オブジェクトは、３Ｄ表現される場合、そのオブジェクトの軸のうちの任意の軸、またはその表現が表示される画面における任意の軸を中心に扱われ、回転させることができる。このことは、３Ｄモデル化されていない、２Ｄアイコンをとりわけ除外する。３Ｄ表現の表示は、設計を円滑にする（すなわち、設計者が作業を統計的に実現する速度を増加させる）。製品の設計は、製造工程の一部であるので、このことは、産業における製造工程をスピードアップする。
【００２３】
ＣＡＤシステムは、履歴ベースであり得る。この場合、モデル化オブジェクトは、幾何学的フィーチャの履歴を備えるデータによってさらに定義される。モデル化オブジェクトは、実際、標準のモデリングフィーチャ（例えば、押し出す（extrude）、外巻き（revolute）、カット、および／または円形など）および／または表面処理フィーチャ（例えば、スイープ（sweep）、ブレンド、ロフト（loft）、フィル（fill）、変形（deform）、平滑化（smoothing）など）を使用して現実の人（すなわち、設計者／ユーザ）によって設計され得る。そのようなモデリング機能をサポートする多くのＣＡＤシステムは、履歴ベースのシステムである。このことは、設計フィーチャの作成履歴が、通常、その幾何学的フィーチャを、入力リンクおよび出力リンクにより一緒に結び付ける非循環データフローを介して保存されることを意味する。履歴ベースのモデリングパラダイムは、８０年代の初め以来、よく知られている。モデル化オブジェクトは、２つの永続的なデータ表現、すなわち、履歴およびＢ−ｒｅｐ（すなわち、境界表現）によって記述される。Ｂ−ｒｅｐは、履歴において定義された計算の結果である。モデル化オブジェクトが表現される場合にコンピュータの画面上に表示される部品の形状は、Ｂ−ｒｅｐ（のテセレーション（tessellation））である。部品の履歴は、設計意図である。基本的に、履歴は、モデル化オブジェクトが受けた操作に関する情報を収集する。Ｂ−ｒｅｐは、履歴と一緒に保存されて、複雑な部品を表示するのをより容易にすることが可能である。履歴は、設計意図による部品の設計変更を可能にするためにＢ−ｒｅｐと一緒に保存され得る。
【００２４】
ＰＬＭシステムは、物理的に製造された製品を表現するモデル化オブジェクトの管理に適応させられた任意のシステムのことである。このため、モデル化オブジェクトは、ＰＬＭシステムにおいて、物理的なオブジェクトの製造に適したデータによって定義される。これらは、通常、ディメンションの値および／または許容値で有り得る。オブジェクトの正確な製造のため、実際、そのような値を有する方がよい。
【００２５】
ＣＡＭは、コンピュータ支援製造を表す。ＣＡＭソリューションは、製品の製造データを管理することに適応させられた任意のソリューション、ハードウェアのソフトウェアのことである。製造データは、一般に、製造すべき製品、製造工程、および要求されるリソースと関係するデータを含む。ＣＡＭソリューションは、製品の製造工程全体を計画し、最適化するのに使用される。例えば、ＣＡＭソリューションは、ＣＡＭユーザに、実現可能性、製造工程の持続時間、または製造工程の特定のステップにおいて使用され得る、特定のロボットなどのリソースの数に関する情報を提供することができ、このため、管理、または要求される投資に関する決定を可能にする。ＣＡＭは、ＣＡＤ工程および潜在的なＣＡＥ工程の後続の工程である。そのようなＣＡＭソリューションは、ＤＥＬＭＩＡ（登録商標）という商標の下でダッソーシステムズ社によって提供される。
【００２６】
ＣＡＥは、コンピュータ支援エンジニアリングを表す。ＣＡＥソリューションは、モデル化オブジェクトの物理的振舞いの解析に適応させられた任意のソリューション、ハードウェアのソフトウェアのことである。よく知られた、広く使用されるＣＡＥ技術が、モデル化オブジェクトを、数式により物理的振舞いが計算されて、シミュレートされることが可能な要素に分割することを通常、含む有限要素法（ＦＥＭ）である。そのようなＣＡＥソリューションは、ＳＩＭＵＬＩＡ（登録商標）という商標の下でダッソーシステムズ社によって提供される。別の進展しているＣＡＥ技術は、ＣＡＤ形状データを用いない物理の様々な分野からの複数の構成要素からなる複雑なシステムのモデリングおよび解析を含む。ＣＡＥソリューションは、シミュレーションを可能にし、このため、製造されるべき製品の最適化、改良、および検証を可能にする。そのようなＣＡＥソリューションは、ＤＹＭＯＬＡ（登録商標）という商標の下でダッソーシステムズ社によって提供される。
【００２７】
ＰＤＭは、製品データ管理を表す。ＰＤＭソリューションは、特定の製品と関係するすべてのタイプのデータを管理することに適応させられた任意のソリューション、ハードウェアのソフトウェアのことである。ＰＤＭソリューションは、製品のライフサイクルに関与するすべての当事者、すなわち、主にエンジニアであるが、プロジェクトマネージャ、財務担当者、販売担当者、および買い手も含む当事者によって使用され得る。ＰＤＭソリューションは、一般に、製品指向のデータベースに基づく。ＰＤＭソリューションは、当事者が、当事者の製品に関する一貫性のあるデータを共有することを可能にし、したがって、当事者が非常に異なるデータを使用することを防止する。そのようなＰＤＭソリューションは、ＥＮＯＶＩＡ（登録商標）という商標の下でダッソーシステムズ社によって提供される。
【００２８】
興味深いことに、本発明は、ＣＡＤシステム／ＣＡＥシステム／ＣＡＭシステム／ＰＤＭシステム、またはＰＬＭシステムに限定されず、オブジェクトの３Ｄ表現を使用し、非ＣＡＤユーザに専用であり得る任意のシステム、例えば、テクニカルイラストレーション、メンテナンス動作もしくは訓練動作、アセンブリプレゼンテーションを実行するためのシステム、対話型部品カタログなどの対話型アプリケーション、設計／作成システムなどと一緒に使用され得る。モデル化オブジェクトは、様々な種類のデータによって定義され得ることを理解されたい。
【００２９】
図６は、テクニカルイラストレーションを行うためのシステムのＧＵＩの例を示す。本方法は、任意の種類のＧＵＩと一緒に使用され得る。
【００３０】
ＧＵＩ１００は、標準のメニューバー１１０、１２０、ならびにボタン１４０およびサイドツールバーを有する典型的なＣＡＤのようなインターフェースであり得る。そのようなメニューバーおよびツールバーは、ユーザ選択可能なアイコンのセットを包含し、各アイコンは、当技術分野で知られているとおり、１または複数の動作または機能に関連付けられる。これらのアイコンのうちのいくつかは、ＧＵＩ１００において表示される３Ｄモデル化オブジェクト２００を編集すること、および／またはそのような３Ｄモデル化オブジェクト２００に対して作業することに適応させられたソフトウェアツールに関連付けられる。３Ｄモデル化オブジェクト２００は、３Ｄモデル化オブジェクトの３Ｄモデル化されたアセンブリであることを理解されたい。それらのソフトウェアツールは、ワークベンチとなるようにグループ化され得る。各ワークベンチは、ソフトウェアツールのサブセットを備える。特に、ワークベンチのうちの１つは、モデル化された製品２００の幾何学的フィーチャを編集することに適した編集ワークベンチである。操作の際、設計者が、例えば、オブジェクト２００の一部分を事前選択し、その後、操作（例えば、テクニカルイラストレーションを完全なものにするための注釈を追加すること）を開始することが可能である。別の例として、設計者は、オブジェクト２００の一部分を事前選択し、その後、適切なアイコンを選択することによって幾何学的制約を編集することが可能である。例えば、典型的なＣＡＤ操作が、画面上に表示された３Ｄモデル化オブジェクトの穴開けまたは折り畳みのモデリングである。
【００３１】
ＧＵＩ１００は、例えば、オブジェクトの３Ｄ配向を円滑にするため、編集された製品の操作のシミュレーションをトリガするため、または表示された製品２００の様々な属性をレンダリングするために様々なタイプのグラフィックツール１３０、１５０をさらに示すことが可能である。カーソル１６０が、ユーザがそれらのグラフィックツールと対話することを可能にする触覚デバイスによって制御され得る。
【００３２】
図１０は、システムの例を示し、このシステムは、クライアントコンピュータシステム、例えば、ユーザのワークステーションである。
【００３３】
この例のクライアントコンピュータは、内部通信バス１０００に接続された中央処理装置（ＣＰＵ）１０１０と、またそのバスに接続されたランダムアクセスメモリ（ＲＡＭ）１０７０とを備える。クライアントコンピュータは、そのバスに接続されたビデオランダムアクセスメモリ１１００に関連付けられたグラフィックスプロセシングユニット（ＧＰＵ）１１１０をさらに備える。ビデオＲＡＭ１１００は、当技術分野でフレームバッファとしても知られている。大容量ストレージデバイスコントローラ１０２０が、ハードドライブ１０３０などの大容量メモリデバイスに対するアクセスを管理する。コンピュータプログラム命令およびデータを実体化するのに適した大容量メモリデバイスは、例として、ＥＰＲＯＭ、ＥＥＰＲＯＭ、およびフラッシュメモリデバイスなどの半導体メモリデバイス、内部ハードディスクおよびリムーバブルディスクなどの磁気ディスク、光磁気ディスク、ならびにＣＤ−ＲＯＭディスク１０４０を含む、すべての形態の不揮発性メモリを含む。前述のメモリデバイスのうちのいずれかが、特別に設計されたＡＳＩＣ（特定用途向け集積回路）によって補足される、またはそのようなＡＳＩＣに組み込まれることが可能である。ネットワークアダプタ１０５０が、ネットワーク１０６０に対するアクセスを管理する。また、クライアントコンピュータは、カーソル制御デバイス、キーボードなどの触覚デバイス１０９０を含むことも可能である。カーソル制御デバイスは、クライアントコンピュータにおいて使用されて、ユーザが、ディスプレイ１０８０上の所望される任意の位置にカーソルを選択的に位置付けることを可能にする。さらに、カーソル制御デバイスは、ユーザが様々なコマンドを選択すること、および制御信号を入力することを可能にする。カーソル制御デバイスは、システムに制御信号を入力するためのいくつかの信号生成デバイスを含む。通常、カーソル制御デバイスは、マウスであってもよく、そのマウスのボタンが、それらの信号を生成するのに使用される。代替として、またはさらに、クライアントコンピュータシステムは、感応パッドおよび／または感応画面を備えることが可能である。
【００３４】
コンピュータプログラムは、コンピュータによって実行可能な命令を備えることが可能であり、それらの命令は、前述のシステムに方法を実行させるための手段を備える。プログラムは、システムのメモリを含む任意のデータ記憶媒体上に記録可能であり得る。プログラムは、例えば、デジタル電子回路として、もしくはコンピュータハードウェアとして、ファームウェアとして、ソフトウェアとして、または以上の組合せとして実施され得る。プログラムは、装置として、例えば、プログラマブルプロセッサによって実行されるようにマシン可読ストレージデバイスとして実体化された製品として実施され得る。方法ステップは、入力データを操作すること、および出力を生成することによって方法の機能を実行するように命令のプログラムを実行するプログラマブルプロセッサによって実行され得る。このため、プロセッサは、プログラマブルであり、データストレージシステム、少なくとも１つの入力デバイス、および少なくとも１つの出力デバイスからデータおよび命令を受信するように、かつデータストレージシステム、少なくとも１つの入力デバイス、および少なくとも１つの出力デバイスにデータおよび命令を送信するように結合されることが可能である。アプリケーションプログラムは、高レベルの手続きプログラミング言語もしくはオブジェクト指向プログラミング言語、または、所望される場合、アセンブリ言語もしくはマシン言語で実施されることが可能である。いずれにしても、言語は、コンパイルされる言語、または解釈される言語であり得る。プログラムは、完全インストールプログラムまたは更新プログラムであることが可能である。システムにプログラムを適用することは、いずれにしても、方法を実行するための命令をもたらす。
【００３５】
次に図１を参照すると、ステップＳ１００で、３Ｄシーンにおいて３Ｄモデル化されたアセンブリを形成する３Ｄモデル化オブジェクトが提供される。３Ｄモデル化オブジェクトを提供することは、それらのオブジェクトが、本方法を実行するシステムに利用可能であることを意味する。３Ｄモデル化オブジェクトは、例えば、図１０のシステムのディスプレイ１０８０上に表示され得る。
【００３６】
図５は、３Ｄモデル化オブジェクトの３Ｄモデル化されたアセンブリの例を示し、この場合は、自転車がモデル化される。図６は、ＧＵＩ１００上に表示された図５の自転車２００を示す。３Ｄモデル化されたアセンブリは、３Ｄシーン内に表示される。３Ｄシーンは、３Ｄオブジェクトの間の空間的関係が記述される空間であり、例えば、その自転車を形成する３Ｄモデル化オブジェクトは、３Ｄシーンにおいて配置および配向される。
【００３７】
次に、図１のステップＳ１１０で、３Ｄモデル化されたアセンブリを包含するメイン境界ボックスが計算される。このことは、当技術分野で知られているとおりに実行される。その結果、ステップＳ１００のすべての提供されるオブジェクトが、メイン境界ボックスの中に囲まれる。
【００３８】
そして、ステップＳ１２０で、その３Ｄシーンにおける少なくとも１つのボリュームが計算される。このボリュームは、ステップＳ１１０において計算されたメイン境界ボックスで囲まれる。計算されたボリュームは、３Ｄモデル化されたアセンブリの３Ｄモデル化されたオブジェクトのセットを囲む。
【００３９】
次に、ステップＳ１２０のボリュームを計算する例が、図２および図３を参照して説明される。
【００４０】
図２のステップＳ２００で、ユーザが、ステップＳ１００で提供された１つまたは複数の３Ｄモデル化オブジェクトの少なくとも１つのプロパティの選択を実行する。そのプロパティは、オブジェクトの材料パラメータなどのオブジェクトの物理的プロパティ、オブジェクトの色などのオブジェクトのレンダリングプロパティ、３Ｄモデル化されたアセンブリの製品構造におけるオブジェクトのレベル、３Ｄモデル化が記憶されるデータベースのプロパティ、すなわち、データベースがＰＬＭデータベースで有り得ること、アセンブリのオブジェクトの任意の属性からユーザによって作成されたプロパティなどであり得るが、以上には限定されない。一般的に言えば、プロパティという用語は、オブジェクトの任意の特性を包含することが可能である。例えば、オブジェクトの生成日、３Ｄシーンにおけるオブジェクトの位置、オブジェクトに対して作業することを許された設計者（または他の任意の読取り／書込み／実行アクセス権など）が、１または複数のオブジェクトと関係する属性であり、したがって、オブジェクトのプロパティである。
【００４１】
次に、ステップＳ２１０で、３Ｄモデル化オブジェクトのグループが生成される。そのグループは、１または複数の３Ｄモデル化オブジェクトを備え得ることを理解されたい。そのグループのオブジェクトは、ユーザによって選択された１または複数のプロパティを満たす。例えば、ユーザが、「青いオブジェクト」というプロパティを選択した場合、青でレンダリングされた（または青でレンダリングされるべき）オブジェクトのグループが生成される。
【００４２】
オブジェクトは、２以上のプロパティがユーザによって選択された場合、いくつかのグループに属することが可能である。そのような事例において、オブジェクトが属し得るグループの数は、限られることが可能であり、例えば、オブジェクトは、３つより多くのグループに属することができない。このことは、グループの数を有利に制限する。さらに、オブジェクトのプロパティの間にプロパティ規則が存在することが可能である。いくつかのグループに属することが可能なオブジェクトは、最高の優先度を有するプロパティに関連付けられたグループに属する。
【００４３】
次に、ステップＳ２２０で、２以上の境界ボックスが計算される。これらの境界ボックスは、メイン境界ボックスの中に包含され、別の言い方をすれば、これらの境界ボックスは、メイン境界ボックスの中に完全に囲まれる。これらの２以上の境界ボックスのうちの１つは、ステップＳ２１０で生成されたグループに属する３Ｄモデル化オブジェクトを備える。
【００４４】
実際、境界ボックスの計算は、３Ｄシーンにおけるオブジェクトの位置に依拠する。例において、境界ボックスは、重み付けされたポイントのシステムにおいて重心を識別することによって計算される。第１のステップで、３Ｄシーンにおいてポイントのクラウドが計算され、それらのポイントは、生成されたグループの３Ｄモデル化オブジェクトの輪郭を表現する。次に、このことが、グループに属さないオブジェクトを含め、オブジェクトのすべてのグループに関して連続して実行される。このため、ポイントのクラウドは、グループに属するポイントを備え（例えば、ポイントに、それらのポイントが属するグループに応じて特定の色が与えられる）、そのクラウドのポイントに重み付けが、例えば、それらのポイントが由来したオブジェクトのボリューム、またはそのようなオブジェクトの三角形の数に応じて行われる。次に、所与のグループのそれぞれのポイントに関して、当技術分野で知られているとおり、重心が計算される。次に、３Ｄモデル化オブジェクトのグループに関する境界ボックスが計算され、その重心を、その境界ボックスによって定義されるボリュームの中心として用いる。このことが、各グループに関して実行される。重要なこととして、計算された境界ボックスの間の重なり合いまたは交差のリカバリは存在しない。
【００４５】
次に、図８ａおよび図８ｂを参照すると、ユーザがプロパティとしてオブジェクトの色を選択した後、計算された境界ボックスの例が示されている。ユーザは、４つの色、すなわち、赤、緑、黄、およびピンクをプロパティとして選択している。このユーザ選択の結果として５つのグループが識別されており、第１のグループは、赤である前輪８０に対応し、第２のグループは、緑である後輪８２に対応し、第３のグループは、黄であるシート８６であり、第４のグループは、ピンクであるハンドルバー８８である。３Ｄモデル化されたオブジェクトの最後のグループは、自転車フレーム９０であり、このグループは、暗黙に生成されており、プロパティとして選択された色を満たさないオブジェクトを備える。オブジェクトの各グループは、点線の円で囲まれている。図９ｂに示されるとおり、６つの境界ボックス８００、８１０、８２０、８３０、８４０、８５０が計算されている。この例において、メイン境界ボックス（図示せず）によって定義されたボリューム全体が、計算された境界ボックスによって使用されなければならないこと、および計算された境界ボックスは、直方体であることがシステムの要件である。その６つの境界ボックスが、図９ｂに示されるとおり配置される結果となる。興味深いことに、境界ボックス８３０は、空の境界ボックスであり、すなわち、この境界ボックスの中にオブジェクトはまったく（完全にも、部分的にも）囲まれていない。境界ボックス８３０は、システムの以下の２つのさらなる要件に準拠する目的で生成されている。すなわち、（ｉ）メイン境界ボックスの１方向に関して、メイン境界ボックスは、最大で２つの隣り合う重ね合わされた境界ボックスを備え、（ｉｉ）メイン境界ボックスのその１つの方向に関するその２つの隣り合う重ね合わされた境界ボックスの間のインターフェース（interface）が、そのメイン境界ボックスの中で層を形成し、その層は、その他の境界ボックスの広がりを制限する。このことは、メイン境界ボックスの規則的な分割を生成することを許容し、ユーザは、３Ｄモデル化されたアセンブリがどのように分割されているかを容易に理解することができる。図８ｂで、重ね合わされた境界ボックスの数は、（メイン境界ボックスの配向を提供する基準フレーム８６０の）方向「ｙ」において２つに制限され、このことは、例えば、方向「ｘ」に関しては該当しない。さらに、境界ボックス８５０および８００は、方向「ｙ」において層（図示せず）を生成し、この層には、他のいずれの境界ボックスも交差することが可能でない。したがって、他のすべての重ね合わされた境界ボックス８４０、８１０および８３０、８２０は、この層の両側にある。
【００４６】
次に図３を参照して、システムが、３次元モデル化されたアセンブリの１または複数のプロパティを自動的に選択する、ステップＳ１２０のボリュームの計算の例を説明する。
【００４７】
次に、ステップＳ３００で、メイン境界ボックスによって包含される計算された境界ボックスの数ｎが、システムによって決定される。その数ｎは、３Ｄモデル化されたアセンブリのサイズに依存する。サイズという用語は、３Ｄモデル化されたアセンブリの、そのアセンブリの基準フレームに関するディメンション、すなわち、その３Ｄモデル化されたアセンブリの長さ、幅、および高さを意味する。このため、３Ｄモデル化オブジェクトのディメンションは、長方形直方体または立方体の境界ボックスの最小サイズを決定する。このため、メイン境界ボックスの中に囲まれた境界ボックスの数は、３Ｄモデル化されたアセンブリのディメンションから決定され得る。例えば、囲まれた境界ボックスの最小サイズは、メイン境界ボックスのサイズと囲まれた境界ボックスのサイズの比から決定され得る。実際には、その比は、囲まれる各境界ボックスがユーザによって直ちに識別可能になっている。
【００４８】
数ｎが決定されると、囲まれた境界ボックスのディメンションが計算され得る。実際には、ｎ個の境界ボックスは、以下の規則にも準拠する。すなわち、（ｉ）メイン境界ボックスの１つの方向に関して、メイン境界ボックスは、最大で２つの隣り合う重ね合わされた境界ボックスを備え、（ｉｉ）メイン境界ボックスのその１つの方向に関するその２つの隣り合う重ね合わされた境界ボックスの間のインターフェースが、そのメイン境界ボックスの中で層を形成し、その層は、その他の境界ボックスの広がりを制限し、（ｉｉｉ）メイン境界ボックスによって定義されたボリューム全体が、計算された境界ボックスによって使用されなければならず、かつ（ｉｖ）計算された境界ボックスは、直方体または立方体である。
【００４９】
図７は、システムによって決定されたメイン境界ボックスによって包含される境界ボックスの例を示す。１２の立方体が、メイン境界ボックス（図示せず）の中に囲まれ、これらの１２の境界ボックスは、同一のディメンションを有する。
【００５０】
図１を再び参照すると、ステップＳ１３０で、その少なくとも１つのボリュームの面が識別される。このことは、メイン境界ボックスの中に囲まれた各境界ボックスの面のリストが確立されることを意味する。ボリュームの面は、そのボリュームの境界の部分を形成し、少なくとも３つの辺によって限定される平面である。例えば、図７の各立方体は、６つの面を有し、各面は、４つの辺によって画定される。
【００５１】
面を識別することは、１つまたは複数の可視の面を識別すること、および１つまたは複数の不可視の面を識別することを備え得る。実際には、３Ｄシーンにおける３Ｄボリュームのレンダリングは、当技術分野において広く知られているとおり、２Ｄ空間（ディスプレイのピクセル）における投影である。可視の面だけがその２Ｄ空間上に表現される。別の言い方をすれば、可視の面は、最前部にある面である一方で、不可視の面は、後方部にある。
【００５２】
ステップＳ１３２で、少なくとも１つのボリュームの輪郭が決定される。輪郭は、ボリュームの可視の外形を画定する。ボリュームの輪郭は、通常、レンダリングステップにおけるボリュームの投影から得られる。
【００５３】
例えば、図９ｂが、透視図を用いて（例えば、図６のＧＵＩ１００上に）レンダリングされる立方体の輪郭を破線で示す。
【００５４】
次に、ステップＳ１３４で、その輪郭の内側で１つまたは複数の可視の面が識別される。このことは、当技術分野で知られているとおりに実行される。
【００５５】
図９ｂにおいて、可視の面９００（数字１）、９１０（数字２）、９２０（数字３）が識別される。
【００５６】
次に、ステップＳ１３６で、その輪郭の少なくとも１つの部分に関連付けられた１つまたは複数の不可視の面が識別される。
【００５７】
図９ｂにおいて、輪郭は、６つの辺からなる。各辺９４０、９４２、９５０、９５２、９３０、９３２が、その輪郭の一部分を形成し、２つの面、すなわち、１つの可視の面、および１つの不可視の面に関連付けられる。図９ａは、図９ｂの展開された立方体を示し、不可視の面９６０、９７０、９８０が表現される。その輪郭に属する辺９４０が、可視の面９００および不可視の面９７０に接続される。別の例として、その輪郭の辺９３２が、可視の面９００および不可視の面９８０に接続される。不可視の面９６０が、その輪郭に属する辺９５０および辺９５２に接続される。
【００５８】
このため、方法のこのステップで、後方（background）にあり、その輪郭の一部分に関連付けられた不可視の面は、現時点で識別されている。ユーザアクションが行われると、１つの可視の、または不可視の識別された面が選択され得る。
【００５９】
次に、ステップＳ１３８で、識別された各面に関して視点が識別される。任意の視点が、選択された面に関連付けられ得る。視点は、位置、配向、および視野を有するソフトウェアオブジェクトであるカメラを用いて得られる。そのカメラは、当技術分野で知られているとおり、アセンブリが配置された３Ｄシーンのボリュームに対するビューを示すことを担う。視点（カメラ）は、３Ｄモデル化されたオブジェクトを有する３Ｄシーンに同様に配置された３Ｄオブジェクト（仮想物理オブジェクト）としてモデル化される。実際には、３Ｄモデル化されたオブジェクトのアセンブリに向けて視点のねらいを定める点は、選択された面の重心であり、選択された面に対して垂直である。このことは、オブジェクトのセットに対する新たなビューが、ディスプレイ、例えば、方法を実行するシステムのディスプレイの中心に位置付けられることを確実にする。視点の任意の構成が面に関連付けられ得ることを理解されたい。一般に、面に関連付けられた視点は、同様に構成され、したがって、ユーザは、ユーザ選択の結果として表示されるビューをより容易に理解することが可能である。さらに、このことは、方法を実行するシステム上のコンピューティングリソースの消費を制限する。
【００６０】
ステップＳ１４０で、ユーザが、図９ａ、図９ｂにおける可視の面、例えば、可視の面９００を選択する。このことは、当技術分野で知られているとおりに実行される。例えば、ユーザが、マウスによって制御されるカーソル１６０を使用する。可視の面９００のレンダリングは、マウスに対してユーザアクションが行われると、この可視の面が選択され得ることをユーザに示すために変更されてもよい。
【００６１】
ステップＳ１６０で、選択された面のボリュームの中に含まれるオブジェクトのセットのビューが表示され、このビューは、選択された面に関連付けられた観点から得られる。
【００６２】
ステップＳ１５０で、ユーザが、不可視の面のうちの１つを選択することを所望する。以上に見られるように、不可視の面は、ユーザが不可視の面を直接に選択することができないように後方にある。
【００６３】
ステップＳ１５２で、システムが、輪郭の一部分から所与の距離でユーザアクションを検出する。所与の距離という表現は、値の範囲を意味する。例えば、ユーザが、輪郭の一部分に向けてカーソルを動かすことが可能であり、カーソルと輪郭の間の距離を表現する値が、値のその範囲に属する場合、ユーザは、その部分に関してアクションを実行する可能性を有する。その距離は、ユークリッド距離、ピクセルの数などであり得るが、これに限定されない。その距離は、カーソルの終端、カーソルの重心、その部分を形成するピクセルのうちの１つから／まで測定され得るが、これに限定されない。このことは、当技術分野で知られているとおりに実行される。代替として、その部分の一方の側で、または両側でエリアを定義することが可能であり、ユーザがこのエリア内でアクションを実行すると、システムは、そのユーザアクションが行われたと考える。輪郭のその部分のレンダリングは、ユーザに、ユーザのユーザアクションが検出されたこと、例えば、カーソルがそのエリア内にあることを示すために変更されてもよい。
【００６４】
次に、ステップＳ１５４で、ユーザが、近くでユーザアクションが検出された輪郭の部分に関連付けられた不可視の面を選択する。このことは、当技術分野で知られているとおりに実行される。例えば、ユーザが、マウスによって制御されるカーソル１６０を使用し、そのカーソルが輪郭のその部分の上に乗ると、そのマウスをクリックする。
【００６５】
次に、ステップＳ１６０が、以上で説明されるように実行される。
【００６６】
計算された境界ボックス（メイン境界ボックスおよび囲まれた境界ボックス）は、ユーザに対して表現され得る。例えば、計算された境界ボックスは、３Ｄモデル化されたアセンブリ上に直接に示され得る。
【００６７】
代替として、計算された境界ボックスは、３Ｄモデル化されたアセンブリのビューの簡略化されたビュー上に示され得る。この目的のために、３Ｄモデル化されたアセンブリの簡略化されたビューが計算される。簡略化されたビューという表現は、そのビューのグラフィカル要素が、システムの見地から、アセンブリの個々のオブジェクトに応じて区分化されていないことを意味する。このことは、例えば、図５の自転車を形成するオブジェクト（例えば、車輪）が、表示された際に、簡略化されたビュー上でユーザによって選択され得ないことと関係する。別の言い方をすれば、簡略化されたビューにおいて表現されたオブジェクトのセットは、コンテンツアドレス指定可能ではなく、ユーザは、そのビューにおいて表示されたアセンブリを構成するいずれの個別のオブジェクトも選択することができない。このため、ユーザは、そのアセンブリの簡略化されたモデルを見る。
【００６８】
簡略化されたビューは、他のいずれの色も使用され得るものと理解して、淡色表示された白色モデルで有り得る。色は、好ましくは、統一され、このことは、簡略化されたビューを、ＧＵＩ上で元のモデルと区別することを可能にし、提供される情報と関係するオブジェクトを強調する。さらに、簡略化されたビューの表現には材料またはテクスチャはまったく適用されない。このことは、簡略化されたビューのより迅速な計算およびレンダリングを可能にし、より少ないメモリしか要求されない。
【００６９】
簡略化されたビューの計算Ｓ４００は、変換行列を３Ｄモデル化オブジェクトのアセンブリに関連付けるステップＳ４１０を備え得る。変換行列は、アセンブリの３Ｄモデル化オブジクトに関する情報のセットを表現する。この内容において、関連付けという用語は、変換行列を表現するデータが、そのオブジェクトを表現するデータと一緒に記憶されることを意味し、そのデータは、（例えば、同一のファイルの中に）物理的に記憶されること、または（例えば、ファイルから第２のファイルに向かうポインタを用いて２つのファイルの中に）論理的に記憶されることが可能である。
【００７０】
この変換行列は、当技術分野で知られているとおり、２つの空間の間の線形変換を提供することを目的とする。例えば、この変換行列は、アセンブリの３Ｄ空間から簡略化されたビューの３Ｄ空間への変換を可能にする。この変換行列は、３Ｄ空間内のアセンブリに対する（もしくはサブアセンブリに対する、または３Ｄモデル化オブジェクトに対する）平行移動、回転、拡大縮小などの、ただし、以上には限定されない操作を実行することを可能にする。興味深いことに、この変換行列は、簡略化されたビューに対する操作がアセンブリに対して適用され得るように容易に反転させられ得る。
【００７１】
この変換行列によって表現される情報のセットは、３Ｄシーンにおけるアセンブリの少なくとも配向および配置（position）を備える。アセンブリの配向および配置は、当技術分野で知られているとおり、３Ｄシーンのグローバルフレーム（基準のフレームとも呼ばれる）に対するアセンブリに付けられた基準フレーム、例えば、３つの軸（ｘ，ｙ，ｚ）のフレームの配向および配置として定義される。情報のセットは、縮小されたスケールでアセンブリを表現する簡略化されたビューを得るために使用されるのと同一（すなわち、同一の値）である倍率をさらに備える。
【００７２】
第１の３Ｄ空間内に位置するアセンブリと、第２の３Ｄ空間内に位置する簡略化されたビューの間でリンクを生成することが可能なように３Ｄモデル化オブジェクトのアセンブリと変換行列の間で関連付けが作成される。興味深いことに、アセンブリの各オブジェクトに１つの変換行列が関連付けられることが可能であり、このことは、アセンブリが、そのアセンブリにおけるオブジェクトと同じ数だけの変換行列に関連付けられることを意味し、１つの変換行列は、アセンブリのオブジェクトのうちの１つと関係する情報のセットを備える。別の言い方をすれば、アセンブリは、そのアセンブリの各オブジェクトに関する変換行列に関連付けられる。このことは、使用される粒度がオブジェクトであり、アセンブリを形成するオブジェクトのセットではないので、簡略化されたビューとアセンブリの間に生成されるリンクの精度を向上させることを有利にする。
【００７３】
次に、簡略化されたビューが、変換行列、および３Ｄモデル化オブジェクトのアセンブリから計算される（Ｓ４２０）。このことは、当技術分野において知られているとおりに実行される。計算された、簡略化されたビューは、縮小されたスケールで、例えば、１／１０の倍率でアセンブリを表現する３Ｄオブジェクト（簡略化されたモデルとも呼ばれる）のビューである（簡略化されたビューは、オブジェクトのアセンブリの１／１０の大きさである）。スケールを縮小することは、表現を単により小さくするように操作することであるズームアウトとは異なり、一方、スケールを縮小することには、アセンブリを形成するオブジェクトの変換（縮小）が実行されてから、表現を得ることと関係する。
【００７４】
さらに、その１つの３Ｄオブジェクト（または簡略化されたモデル）は、単一のメッシュを形成する。このことは、サブメッシュの集合体として１つだけのメッシュが得られることを意味し、各サブメッシュは、アセンブリのオブジェクトのメッシュである。このため、集合体表現が、次にレンダリングされるべきビューを形成するように処理される。メッシュの集成は、当技術分野で知られているとおりに実行される。メッシュという用語は、３Ｄにおいてモデル化オブジェクトの形状を定義する頂点、辺、および面のセットを意味する。実際には、面は、三角形、四辺形、または他の単純な凸多角形であり得る。このため、簡略化されたビューのメッシュは、アセンブリのメッシュと比べて簡略化されたメッシュ、簡略化されたビューを表示するためにより少ないメモリしか要求されない。
【００７５】
簡略化されたビューを計算するステップは、当技術分野で知られているとおり、しきい値サイズ（場合により、ユーザパラメータ設定される）またはＳＡＧ、すなわち、オブジェクトのテセレーション表現のために使用されるエントリパラメータなどの様々な基準に基づく簡略化が先行することが可能である。このため、集成中にセットのすべての部品が使用されなくてもよい（例えば、飛行機のリベットは、その飛行機全体が表示される場合、破棄される）。さらに、他の部品に包含される（したがって、覆い隠される）部品は、集成の際に使用されなくてもよい。オブジェクトのいくつかを破棄するのに他の基準、例えば、部品のユーザ選択可能なカテゴリが使用されてもよい。
【００７６】
興味深いことに、計算された、簡略化されたビューは、ビューを表示するのに要求されるメモリの点で重要な差を生じる。実際、簡略化されたビューは、通常、いくつかのメモリリソース（例えば、数キロバイト）を要求し、部品のすべての表現を包含するビューは、最大で数千メガバイトがコンピュータメモリにロードされることを要求し得る。スケール縮小、および単一のメッシュの計算のお蔭で、そのビューは、より迅速に計算され、レンダリングされる。
【００７７】
そして、計算するステップＳ４００から得られた簡略化されたビューが、ＧＵＩ上の３Ｄシーン内で表示される（Ｓ４３０）。簡略化されたビューが表示される３Ｄ空間は、アセンブリが表示される３Ｄ空間と同じではない。別の言い方をすれば、３Ｄモデル化オブジェクトのアセンブリは、第１の３Ｄシーンにおいて表示され、３Ｄモデル化オブジェクトのアセンブリの簡略化されたビューは、第２の３Ｄシーンにおいて表示され、両方のシーンは、同一のＧＵＩ上に表示される。別の言い方をすれば、簡略化されたビューは、表示されたアセンブリの３Ｄシーンとは異なる３Ｄシーンにおいて表示される。
【００７８】
実際には、このことは、図６に示されるとおり、ＧＵＩ上に２つのウインドウを表示することによって実行される。自転車２００、および簡略化されたモデルの簡略化されたビュー３００が、同一のＧＵＩ１００上で、ただし、異なる２つのウインドウ内に表示される。ウインドウ３１０は、簡略化されたビュー３００が表示された３Ｄ空間を示し、ウインドウ２１０は、アセンブリ２００が表示された３Ｄ空間を示し、これらの２つの３Ｄ空間は、同一ではなく、それぞれの３Ｄ空間独自のグローバルな配向を有する。
【００７９】
次に、計算された境界ボックスが、簡略化されたビュー上に表示される（Ｓ４４０）。簡略化されたビュー上の境界ボックスの位置は、変換行列を用いて計算される。実際には、３Ｄシーンにおける境界ボックスの座標と変換行列の（数学的）積が、簡略化されたビューの３Ｄシーンにおけるそれらの境界ボックスの新たな座標を提供する。例えば、図７（または図８ｂ）の自転車が、３Ｄオブジェクトのセットの簡略化された表現を囲むいくつかのボリュームと一緒に、簡略化されたビューの例と見なされることがあり、この簡略化されたビューは、図６のウインドウ３００の中で表示され得る。このため、ユーザは、簡略化されたビュー上で直接に視点の選択を実行することができ、そのビューは、メインウインドウ２１０の中で表示される。このようにして、ユーザは、現在の視点を変えることなしにすべての適切な視点に容易に、かつ直接にアクセスすることができ、ユーザは、簡略化された表現上で境界ボックスのうちの１つの、１つの面を選択するだけでよい。
【００８０】
本発明の好ましい実施形態が説明された。本発明の趣旨および範囲を逸脱することなく、様々な変形が行われ得ることが理解されよう。したがって、他の実装形態が、添付の特許請求の範囲に含まれる。
【図１】
0006721333.tif 000002
【図２】
0006721333.tif 000003
【図３】
0006721333.tif 000004
【図４】
0006721333.tif 000005
【図５】
0006721333.tif 000006
【図６】
0006721333.tif 000007
【図７】
0006721333.tif 000008
【図８ａ】
0006721333.tif 000009
【図８ｂ】
0006721333.tif 000010
【図９ａ】
0006721333.tif 000011
【図９ｂ】
0006721333.tif 000012
【図１０】
0006721333.tif 000013