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