(57)【要約】【課題】本発明は、製品ライフサイクル管理データベースのオブジェクトのアセンブリを表示するためのプロセス、コンピュータプログラムおよび装置を対象とする。【解決手段】本発明による方法は、データベースへのアクセスを提供するステップと、データベース内でオブジェクトのアセンブリを選択するステップ（Ｓ２０）と、前記アセンブリ上で複数の視点を識別するステップ（Ｓ６０）と、識別された複数の視点に従ってデータベースから前記アセンブリのオブジェクトセットを取り出すステップ（Ｓ８０）と、オブジェクトセットの取り出されたオブジェクトすべてについて、前記アセンブリのモデルを計算するステップ（Ｓ１００）と、モデルのビューを表示するステップ（Ｓ１１０）であって、表示されたいずれのビューもが、取出しステップで取り出されたオブジェクトから始めてローカルに計算される、ステップとを目的とする。【選択図】図２
2010287233.tif 000002
【特許請求の範囲】
【請求項１】
製品ライフサイクル管理データベースのオブジェクトのアセンブリを表示するためのプロセスであって、
−  データベースへのアクセスを提供するステップと、
−  前記データベース内で前記オブジェクトのアセンブリを選択するステップ（Ｓ２０）と、
−  前記アセンブリ上で複数の視点を識別するステップ（Ｓ６０）と、
−  前記識別された複数の視点に従って前記データベースから前記アセンブリのオブジェクトセットを取り出すステップ（Ｓ８０）と、
−  前記オブジェクトセットの前記取り出されたオブジェクトすべてについて、前記アセンブリのモデルを計算するステップ（Ｓ１００）と、
−  前記モデルのビューを表示するステップ（Ｓ１１０）であって、表示されたいずれのビューもが、前記取出しステップで取り出された前記オブジェクトから始めてローカルに計算される、ステップと
を含むことを特徴とするプロセス。
【請求項２】
オブジェクトは３次元モデル化されたオブジェクトであって、前記オブジェクトのアセンブリの前記計算されたモデルは、グラフィカルユーザインターフェース上に表示された３次元モデルであることを特徴とする請求項１に記載のプロセス。
【請求項３】
前記識別された視点は、前記オブジェクトのアセンブリの外部に位置することを特徴とする請求項１または２に記載のプロセス。
【請求項４】
前記取り出されたオブジェクトセットのオブジェクトは視点から見えることを特徴とする請求項１から３のいずれか一項に記載のプロセス。
【請求項５】
前記データベースから前記オブジェクトセットを取り出す前記ステップの前に、
−  前記識別された視点および前記オブジェクトのアセンブリの前記オブジェクト、を通過する光線を計算する（Ｓ７０）ステップ
をさらに含むことを特徴とする請求項１から４のいずれか一項に記載のプロセス。
【請求項６】
複数の視点を識別する前記ステップは、
−  前記オブジェクトのアセンブリのバウンディングボリュームの面を識別するステップ（Ｓ４０）と、
−  前記バウンディングボリュームの識別された各面について、少なくとも１つの視点を識別するステップ（Ｓ６０）と
を含むことを特徴とする請求項１から５のいずれか一項に記載のプロセス。
【請求項７】
オブジェクトセットを取り出す前記ステップの前に、
−  前記計算された光線に交差する前記オブジェクトのアセンブリのそれぞれの各オブジェクトについて１つまたは複数のバウンディングボリュームを識別するステップ（Ｓ３０）
をさらに含むことを特徴とする請求項６に記載のプロセス。
【請求項８】
計算された光線は、０度から４５度の入射角で前記識別された面を通過することを特徴とする請求項７に記載のプロセス。
【請求項９】
前記表示ステップで、前記モデルの前記ビューは非結合ビューであることを特徴とする請求項１から８のいずれか一項に記載のプロセス。
【請求項１０】
前記表示ステップの前に、
−  前記取り出されたオブジェクトセットの前記オブジェクトを集約して前記非結合ビューを形成するステップ
をさらに含むことを特徴とする請求項９に記載のプロセス。
【請求項１１】
前記取り出されたオブジェクトセットの前記オブジェクトのジオメトリが集約されることを特徴とする請求項１０に記載のプロセス。
【請求項１２】
前記オブジェクトのアセンブリを選択する前記ステップは、
−  前記モデルの前記表示されるビューの精度を選択するステップ
をさらに含むことを特徴とする請求項１から１１のいずれか一項に記載のプロセス。
【請求項１３】
前記選択された精度は、前記識別された面を通過する光線の数と、前記識別された面の表面の比率に比例することを特徴とする請求項１２に記載のプロセス。
【請求項１４】
前記精度は、
−  初期設定値、
−  前記ユーザによって選択された値、
−  ネットワークの少なくとも１つのパラメータに従って決定された値、
−  コンピュータの少なくとも１つのパラメータに従って決定された値のうちの１つから選択されることを特徴とする請求項１２または１３に記載のプロセス。
【請求項１５】
識別された各面の光線の数は、前記選択された精度に従って計算されることを特徴とする請求項１２から１４のいずれか一項に記載のプロセス。
【請求項１６】
前記オブジェクトのアセンブリを選択する前記ステップは、
−  前記アセンブリの構成を選択するステップをさらに含むことを特徴とする請求項１から１５のいずれか一項に記載のプロセス。
【請求項１７】
前記データベースから前記オブジェクトセットを取り出す前記ステップは、前記ユーザのセキュリティコンテキストに従って実施されることを特徴とする請求項１から１６のいずれか一項に記載のプロセス。
【請求項１８】
製品ライフサイクル管理データベースのオブジェクトのアセンブリの表示するための、コンピュータ読取り可能媒体に格納されたコンピュータプログラムであって、コンピュータに請求項１から１７のいずれか一項に記載のプロセスの前記ステップを取らせるコード手段を備えることを特徴とするコンピュータプログラム。
【請求項１９】
製品ライフサイクル管理データベースのオブジェクトのアセンブリを表示するための装置であって、請求項１から１７のいずれか一項に記載のプロセスの前記ステップを実施する手段を備えることを特徴とする装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ実施プロセス、プログラムの分野に関し、より詳細には、モデル化されたオブジェクトを表すデータのデータベースを備える製品ライフサイクル管理ソリューションに関する。
【背景技術】
【０００２】
ＣＡＴＩＡの商標で本願特許出願人によって提供されるものなど、部品または部品のアセンブリ設計のためのいくつかのシステムおよびソリューションが市場で提供されている。これらのいわゆるＣＡＤ（ｃｏｍｐｕｔｅｒ−ａｉｄｅｄ  ｄｅｓｉｇｎ）システムは、ユーザがオブジェクトまたはオブジェクトのアセンブリの複雑な３次元（３Ｄ）モデルを構築し、操作し、見ることを可能にする。ＣＡＤシステムは、辺または線を、特定の場合には面と共に使用して、モデル化されたオブジェクトの表現を提供する。線または辺は、様々なやり方で、たとえばＮＵＲＢＳ（ｎｏｎ−ｕｎｉｆｏｒｍ  ｒａｔｉｏｎａｌ  Ｂ−ｓｐｌｉｎｅ）で表現することができる。これらのＣＡＤシステムは、部品または部品のアセンブリを、本質的にはジオメトリの仕様であるモデル化されたオブジェクトとして管理する。具体的には、ＣＡＤファイルは、仕様書を含み、この仕様書からジオメトリが生成され、ジオメトリから表現が生成される。仕様書、ジオメトリおよび表現は、単一のＣＡＤファイルに格納してもよいし、複数のＣＡＤファイルに格納してもよい。ＣＡＤシステムは、モデル化されたオブジェクトを設計者に表すためのグラフィックツールを含み、これらのツールは、複雑なオブジェクトの表示専用であり、ＣＡＤシステムでオブジェクトを表すファイルの典型的なサイズは、部品ではメガバイトの範囲であり、アセンブリは、何千もの部品を備えることがある。ＣＡＤシステムは、電子ファイルに格納されるオブジェクトモデルを管理する。
【０００３】
ＣＡＴＩＡ、ＥＮＯＶＩＡおよびＤＥＬＭＩＡの商標で本願特許出願人によって提供される製品スイートなど、ＰＬＭ（ｐｒｏｄｕｃｔ  ｌｉｆｅ  ｃｙｃｌｅ  ｍａｎａｇｅｍｅｎｔ）ソリューションも存在し、これらのソリューションは、製品エンジニアリング知識を編成するエンジニアリングハブと、製造エンジニアリング知識を管理する製造ハブと、エンジニアリングハブと製造ハブの両方への企業統合および連携を可能にする企業ハブを提供する。すべてが一緒になってシステムは、製品、プロセス、リソースをつなぐオープンなオブジェクトモデルを提供し、最適化された製品定義、製造準備、生産およびサービスを推進する動的な知識ベースの製品創造および決定支援を可能にする。
【０００４】
こうしたＰＬＭソリューションは、製品のリレーショナルデータベースを備える。データベースは通常、迅速な探索および取出しのために編成されたデータの集合（一般にはデータ、およびデータ間の関係）と定義される。データベースは、様々なデータ処理操作に関連するデータの記憶、取出し、修正および削除を容易にするように構造化される。データベースは一般に、レコードに分解され得るファイルまたはファイルのセットからなり、各レコードは、１つまたは複数のフィールドからなる。フィールドは、データ記憶の基本単位である。ユーザは、主としてクエリによってデータベース情報を取り出す。ユーザは、キーワードおよびソートコマンドを使用して、多くのレコード内のフィールドを探索し、再編成し、グループ化し、選択して、使用されているデータベース管理システムの規則に従ってデータの特定の集計に関する報告を取り出しまたは作成することができる。
【０００５】
ユーザの基本的なニーズは、ＰＬＭソリューションを使用して、何千ものオブジェクト／部品で作られた複雑な製品を視覚化することであり、これは恐らく、複数の異なるビューまたは複数の異なる視点（仮想カメラ）に従う。ユーザは、表示されているモデル化された製品を見ながら、特に視点を変更することがあり、たとえばセールスエンジニアは、顧客に製品の概観を見せたいと望むことがある。
【０００６】
この問題への標準的なソリューションは、モデルの３次元グラフィック表現、およびジオメトリ、制約など、前記オブジェクトに関するすべての情報だけでなく、他のオブジェクトへのハイパーリンクを含めて、ＰＬＭデータベースに格納されており、前記オブジェクトのアセンブリに対応しているモデル全体をクライアントコンピュータメモリにロードすることである。したがって、個々の部品を選択することが可能である。しかし、ＰＬＭ／ＣＡＤの分野では、重大な問題は、視覚データの全体量が、大きすぎてクライアントコンピュータメモリに収まらず、または少なくとも大きすぎて迅速な表示ができないということである。したがって、ＣＡＤ製品を表すファイルの典型的なサイズのせいで（飛行機などの製品は数ギガオクテットのメモリに相当する何百万もの部品を含む可能性が高い）、前記製品のビューのレンダリング時間は、深刻な影響を与えるほど（ｃｒｉｐｐｌｉｎｇｌｙ）長いことがある。さらに、モデル全体をロードし、かつ／または個々の部品を選択することがユーザに常に必要であるとは限らず、たとえばセールスエンジニアは、単に製品の概要を自分の顧客に見せる必要がある。
【０００７】
別のソリューションは、モデル全体をロードせずにＰＬＭデータベースをナビゲートすることにある。この場合、レンダリングするオブジェクトのビューへの視点が識別される。次いで、ビューは、識別された視点に従ってレンダリングされる。このために、ビュー内の複数の位置が決定され、この複数の位置は、たとえばグリッドに従って取得される。次に、データベースに問い合わせ、モデル化されたオブジェクトが、前記位置に従って識別される。一般に、視点および位置を通過する光線が投影され、光線に交差するモデル化されたオブジェクトが識別される。一方、識別された、モデル化されたオブジェクトは、グラフィカルユーザインターフェース内に増分的に表示され、モデル化されたオブジェクトの３次元ビューがレンダリングされる。
【０００８】
しかし、このソリューションには、いくつかの欠点が見られる。まず、それぞれの新しい視点について、プロセス全体を繰り返さなければならない。クライアントコンピュータ上でユーザによって複数の新しい視点が選択される場合、ＰＬＭデータベースへの問合せが数回行われ、ＰＬＭデータベースをホストするサーバのリソース（メモリ、ＣＰＵ…）が連続的に使用され、それによって、サーバの使用可能なリソースが枯渇することがある。したがって、問合せへの応答を間に合うように提供できず、その結果、モデル化されたオブジェクトの３次元ビューを表示できない。したがって、モデルの視覚ナビゲーション、すなわち連続した複数の視点によるモデルの視覚化は、連続したビューの表示が遅れるのでユーザフレンドリではなく、２つのビュー間の遷移は、即時的または準即時的でない。したがって、視覚ナビゲーションは、流動性および人間工学性が欠如しており、ユーザにとって時間消費的なものである。さらに、選択された新しい視点が以前に選択されている場合でも、やはりプロセス全体を繰り返さなければならない。確かに、クライアントコンピュータのリソースは制限されており、たとえば、クライアントのメモリは、新しいビューが表示されるときにクリアされる。
【０００９】
ところで、ユーザのクライアントコンピュータは、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）やＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などのコンピュータネットワークを介して、ＰＤＭ（ｐｒｏｄｕｃｔ  ｄａｔａ  ｍａｎａｇｅｍｅｎｔ）システムによって通信していることがある。こうした状況は、職場の外にいるセールスエンジニアが顧客に製品（たとえば３Ｄモデル）を見せたいときに生じることがある。クライアントコンピュータによって実施された要求はネットワーク上を通り、ＰＤＭシステムによって提供された応答もまた、ネットワークによって移送される。この場合も、プロセス全体を繰り返すには、ＰＤＭシステムのリソースの多大な消費だけでなく、ネットワーク帯域幅の大きい消費をも要する。その結果、ネットワークは輻輳し、待ち時間、遅延、ジッタ、パケット脱落の確率、キューイング遅延、ビット誤り率など、他のネットワークパラメータが劣化する。ネットワークには過度な負担がかかり（ｏｖｅｒｗｈｅｌｍ）、性能全体が大きく減少する。
【発明の概要】
【発明が解決しようとする課題】
【００１０】
したがって、上記に簡潔に論じられた既存のソリューションの制限によれば、製品ライフサイクル管理データベースのオブジェクトのアセンブリを表示するための改良型のソリューションが求められており、このソリューションによって、表示を提供するのに必要な計算および／またはネットワークリソースが減少する。
【課題を解決するための手段】
【００１１】
したがって、本発明は、製品ライフサイクル管理データベースのオブジェクトのアセンブリを表示するためのプロセスを提供する。このプロセスは、
−  データベースへのアクセスを提供するステップと、
−  データベース内でオブジェクトのアセンブリを選択するステップと、
−  前記アセンブリ上の複数の視点を識別するステップと、
−  識別された複数の視点に従って、データベースから前記アセンブリのオブジェクトセットを取り出すステップと、
−  オブジェクトセットの取り出されたオブジェクトすべてについて、前記アセンブリのモデルを計算するステップと、
−  モデルのビューを表示するステップであって、表示されたいずれのビューも、取出しステップで取り出されたオブジェクトから始めてローカルに計算される、ステップと
を備える。
【００１２】
本発明によるプロセスは、以下の特徴のうちの１つまたは複数を備えてよい。
−  オブジェクトは、３次元モデル化されたオブジェクトであり、オブジェクトのアセンブリの計算されたモデルは、グラフィカルユーザインターフェース上に表示された３次元モデルである。
−  識別された視点は、オブジェクトのアセンブリの外部に位置する。
−  取り出されたオブジェクトセットのオブジェクトは視点から見える。
−  データベースからオブジェクトセットを取り出すステップの前の、識別された視点およびオブジェクトのアセンブリのオブジェクトを通過する光線を計算するステップ。
−  複数の視点を識別するステップは、オブジェクトのアセンブリのバウンディングボリュームの面を識別するステップと、バウンディングボリュームの識別された各面について少なくとも１つの視点を識別するステップとを備える。
−  オブジェクトセットを取り出すステップの前の、計算された光線に交差するオブジェクトのアセンブリのそれぞれの各オブジェクトについて、１つまたは複数のバウンディングボリュームを識別するステップ。
−  計算された光線は、０度から４５度の入射角で前記識別された面を通過する。
−  表示ステップで、モデルのビューは非結合ビューである。
−  表示ステップの前の、取り出されたオブジェクトセットのオブジェクトを集約して非結合ビューを形成するステップ。
−  取り出されたオブジェクトセットのオブジェクトのジオメトリが集約される。
−  オブジェクトのアセンブリを選択するステップは、モデルの表示されたビューの精度を選択するステップをさらに備える。
−  選択された精度は、識別された面を通過する複数の光線と、識別された面の表面の比率に比例する。
−  精度は、下記のうちの１つから選択される：
−  初期設定値、
−  ユーザによって選択された値、
−  ネットワークの少なくとも１つのパラメータに従って決定された値、
−  コンピュータの少なくとも１つのパラメータに従って決定された値。
−  識別された各面の光線の数は、選択された精度に従って計算される。
−  オブジェクトのアセンブリを選択するステップは、アセンブリの構成を選択するステップをさらに備える。
−  データベースからオブジェクトセットを取り出すステップは、ユーザのセキュリティコンテキストに従って実施される。
【００１３】
本発明は、コンピュータ読取り可能媒体内に格納された、製品ライフサイクル管理データベースのオブジェクトのアセンブリを表示するためのコンピュータプログラムであって、コンピュータに本発明のプロセスの諸ステップを取らせるコード手段を備える、コンピュータプログラムをさらに提案する。
【００１４】
本発明は、製品ライフサイクル管理データベースのオブジェクトのアセンブリを表示するための装置にやはり関係し、この装置は、本発明のプロセスの諸ステップを実行するための手段を備える。
【図面の簡単な説明】
【００１５】
次に、本発明を実施するシステムについて、非限定的な例によって、また添付の図面を参照して述べられる。
【図１】ＣＡＤライクなグラフィカルユーザインターフェースの表示を示す図である。
【図２】本発明のプロセスの基礎となる諸ステップを反映するフローチャートである。
【図３】本発明の一実施形態によるプロセスで使用される８分木の概略図である。
【図４】本発明の一実施形態によるプロセスで使用される８分木の概略図である。
【図５】図１によるＧＵＩに表示されたオブジェクトセットのビューの概略図である。
【図６】図５によるオブジェクトセットのバウンディングボックスのビューの概略図である。
【図７】図６によるバウンディングボックスの概略的な正面図である。
【図８】図６によるバウンディングボックスの概略的な正面図である。
【図９】図６によるバウンディングボックスの概略的な上部正面図である。
【図１０】本発明を実施するのに使用可能なソフトウェアアーキテクチャの概略図である。
【図１１】本発明の実施に適応されたユーザのクライアントコンピュータアーキテクチャの概略図である。
【図１２】本発明の実施に適応されたネットワークアーキテクチャの一実施形態の概略図である。
【発明を実施するための形態】
【００１６】
本発明は、製品ライフサイクル管理（ＰＬＭ）データベースのオブジェクトのアセンブリを表示するためのプロセスを対象とする。ＰＬＭデータベースへのアクセスが提供され、ＰＬＭデータベース内でオブジェクトのアセンブリが選択される。一般には、オブジェクトのアセンブリは製品であり、アセンブリのオブジェクトは、３次元（３Ｄ）モデル化されたオブジェクトである。次いで、選択されたアセンブリ上で、複数の視点が識別される。視点は、アセンブリのビューをそこから表示できる特定の位置を指す。次に、選択されたアセンブリのオブジェクトセットが、識別された複数の視点に従ってデータベースから取り出される。次いで、オブジェクトセットの取り出されたオブジェクトすべてについて、選択されたアセンブリのモデルが計算され、計算されたモデルのビューが表示され、表示されたいずれのビューもが、取り出されたオブジェクトセットのオブジェクトから始めてローカルに計算される。一般には、オブジェクトのアセンブリの計算されたモデルは、グラフィカルユーザインターフェースに表示された３次元（３Ｄ）モデルである。
【００１７】
選択されたアセンブリのオブジェクトセットは、識別された複数の視点に従って取り出される。その結果、本発明のプロセスは、特定の視点、たとえばユーザによって選択された視点に限定されない。有利には、提案された発明は、複数の視点を考慮に入れ、選択されたアセンブリの計算されたモデルは、複数の視点を表すものである。したがって、データベース内でアセンブリの新しいオブジェクトを取り出すことなしに、計算されたモデルから始めて、選択されたアセンブリのいずれのビューをも表示することが可能である。換言すると、計算されたモデルは、多様な視点を表す単一のモデルである。
【００１８】
したがって、従来技術は新しい視点が選択されるたびにデータベースに問い合わせることを要するが、提案された発明は、モデルの計算に必要なオブジェクトセットがユーザのクライアントコンピュータによって一度に取り出されるので、特に有利である。したがって、ＰＬＭデータベースに対して実施されたる要求の数は劇的に減少し、データベースをホストするサーバのハードウェアリソースは保存される。さらに、提案された発明は、ネットワークのリソースをも保存し：複数の要求ではなく単一の要求がクライアントコンピュータによって実施され、オブジェクトセットが取り出され、したがって、帯域幅など、ネットワークリソースの消費が減少する。さらに、選択されたアセンブリの向上した視覚ナビゲーションが提供され：計算されたモデルがクライアントコンピュータによって計算されると、計算されたモデルから始めてアセンブリのビューが表示され得る。その結果、オブジェクトのアセンブリのビューの表示は早くなり、視覚ナビゲーションがより流動的かつ円滑になる。
【００１９】
図１を参照すると、例示されたグラフィカルユーザインターフェース（すなわちＧＵＩ）１００は、標準のメニューバー１１０、１２０、ならびに最下部および横のツールバー１４０、１５０を有する典型的なＣＡＤライクなインターフェースであってよい。こうしたメニューおよびツールバーは、１組のユーザ選択可能なアイコンを含み、それぞれのアイコンは、当技術分野において知られているように、１つまたは複数の操作または機能に関連する。
【００２０】
これらのアイコンの一部は、モデル化された製品２００や、ＧＵＩ  １００に表示されたものなど、製品２００の部品に対する編集および／または作業に適応されたソフトウェアツールに関連する。以下の説明では、「製品」、「部品」、「アセンブリ」などは、単純にするために「製品」と呼ばれ得る。「製品」の概念は実際には、「オブジェクト」の概念に一般化することができ、オブジェクトは、設計された製品の単に「物理的な」一部であってもよいし、より一般には、設計プロセスに関与する任意のソフトウェアツールであってもよい（しかし、必ずしも最終製品の「中」にあるとは限らない）ということに留意されたい。
【００２１】
ソフトウェアツールは、ワークベンチにグループ化することができる。それぞれのワークベンチは、ソフトウェアツールのサブセットを備える。具体的には、ワークベンチのうちの１つは、モデル化された製品２００の幾何学的特徴を編集するのに適した編集版ワークベンチである。操作において、設計者は、たとえばオブジェクト２００の一部を事前選択し、次いで、操作を開始し（たとえば次元、色などを変更し）、または適切なアイコンを選択することによって幾何学的制約を編集する。たとえば、典型的なＣＡＤ操作は、画面上に表示された３Ｄモデル化されたオブジェクトのパンチングまたはフォールディングのモデリングである。
【００２２】
ＧＵＩは、たとえば、表示された製品２００に関連するデータ２５０を表示してよい。図１の例では、「特徴木」として表示されたデータ２５０、およびその３Ｄ表現２００は、ブレーキキャリパーとディスクとを含むブレーキアセンブリに関係する。ＧＵＩは、たとえばオブジェクトの３Ｄ方向付けを容易するため、編集された製品の動作のシミュレーションをトリガし、または表示された製品２００の様々な属性をレンダリングするための様々なタイプのグラフィックツール１３０、４００をさらに示すことができる。
【００２３】
実施形態の一例として、本発明のプロセスは、クライアントコンピュータとＰＤＭ（ｐｒｏｄｕｃｔ  ｄａｔａ  ｍａｎａｇｅｍｅｎｔ）システムとを備えるコンピュータネットワークで実施される。図１２は、本発明を実施するように適応されたネットワークアーキテクチャの一実施形態の概略図を示している。クライアントコンピュータは、ＰＤＭシステムを介して通信しており、恐らく階層的に相互関連した複数の文書、関係およびデータの管理が可能となる。ＰＤＭシステムは、たとえばネットワークのバックボーンに置かれてよい。こうしたＰＤＭシステムは、設計者によって編集される可能性が高いモデル化されたオブジェクトに関連するデータを有するデータベースを使用する。したがって、複数のユーザは、図１２に示されたように、それぞれ異なるオブジェクト（たとえば部品、製品または部品のアセンブリ）に対して、連携して作業をすることができる。
【００２４】
さらに、ＧＵＩ  １００および関連するＣＡＤ／ＣＡＭ／ＣＡＥアプリケーションは、クライアントコンピュータの要求に応じて、またはバックグラウンドタスクとして、ＰＬＭデータベースへのアクセスを可能にするように設計されてよい。したがって、操作において、データベースにアクセスしたいユーザは、第１のＣＡＤウィンドウからＰＤＭウィンドウに（たとえば第１のウィンドウを最小化し、第２のウィンドウを最大化することによって）に進む必要はなく、次いでＣＡＤウィンドウに戻る。設計者によって頻繁に行われるこうしたウィンドウ切換え操作は、多くの時間を要し、ＣＡＤ／ＣＡＭ／ＣＡＥの分野では特に適さない。
【００２５】
ＧＵＩ  １００は、ディスプレイとメモリとを有する、ネットワークのあるクライアントコンピュータ上で実行される。たとえば、ネットワークの他のクライアントコンピュータ上では、図１に表示された参照符号１００によって識別されたＧＵＩに類似するＧＵＩが実行されてよい。これらのコンピュータは、類似のローカルＣＡＤ／ＣＡＭ／ＣＡＥアプリケーション、およびより一般的には共通の環境の恩恵をさらに受けることができる。
【００２６】
次に図２を参照すると、このプロセスは大まかに、構築時間（ステップＳ１０）と実行時間（ステップＳ２０〜Ｓ１１０）に分けられる。構築時間は主として、バウンディングボリュームの計算専用であり、また恐らくはオブジェクトのインデックスの作成専用である。その結果、ステップＳ１０は、データベース、一般にはＰＬＭデータベースに格納された事前計算されたバウンディングボリュームを次のステップに提供する。したがって、ユーザのクライアントコンピュータは、それ自体がバウンディングボックスを計算する必要はなく、それによって時間およびクライアントリソースが節約される。
【００２７】
「バウンディングボリューム」またはバウンディングボックスとは、たとえば選択または交差テストのための、オブジェクトを囲む数学的により単純な任意の表面を意味する。実際には、オブジェクトは、３次元モデル化されたオブジェクトであり、オブジェクトの典型的なバウンディングボリュームは、たとえば立方体、シリンダボックスまたは球である。下記において、バウンディングボックスが利用される。
【００２８】
表示されるそれぞれのオブジェクトのバウンディングボックスが計算され、その後、ＰＬＭデータベースに格納される。こうしたバウンディングボックスは、その対応するオブジェクトとの関係と共に格納される。オブジェクトの幾何学的定義を使用して、前記ボックスの計算することができる。使用される定義は、完全な定義であってもよいし、前記オブジェクトのモザイク状の表現の定義など、簡略化された定義であってもよい。
【００２９】
好ましくは、より速い計算時間をもたらす、モザイク状の表現の定義が用いられる。
【００３０】
製品をオブジェクトの階層、たとえば木として考慮すると、それは、たとえば木の終端ノードに関係する、計算された第１のボックスである。次いで、製品構造の定義を使用して、構造の定義および既に生成された終端ボックスにより、オブジェクトのアセンブリのボックスが計算される（ステップＳ１０）。
【００３１】
さらに、再分割されたボックスが計算され、それぞれの親バウンディングボックスと共にデータベースに格納される。親バウンディングボックスは、この場合、８分木、すなわち、それぞれの親ノードが８つの子ノードを有しており、これらの子ノードが共に、親ノードの空間のボリュームを分割しているツリーデータ構造の親ノードである。したがって、木の各ノードは、立方形のボリューム、たとえば再分割されたバウンディングボリュームを表す。所望の解像度に応じて、いくつかの再分割（親、子、子の子など）を企図することができる。
【００３２】
さらに、オブジェクトセットのマルチインスタンス化されたオブジェクトについて、好ましくは１つのバウンディングボックスだけが格納される。すなわち、バウンディングボックスは、参照のためだけに計算される。この場合、同じ参照のインスタンスは、位置マトリクス（または位置マトリクスへのリンク）と共に格納される可能性が高い。したがって、操作において、ボックスは、単純なデカルト座標系の変化が生じるとき、マルチインスタンス化されたオブジェクトのいずれかにオンザフライで等しくすることができる。さらに、データベースに格納されるバウンディングボックスが減少するので、データベースのリソースが節約される。
【００３３】
このプロセスは、製品、精度および構成を選択することにあるステップＳ２０をさらに備える。一般には、製品は、オブジェクトのアセンブリからなる。製品の選択はたとえば、図１の木２５０など、木を使用することにより行うことができる。別のタイプのユーザインターフェースの使用により、たとえば製品の識別情報の入力、リスト内の製品の選択などによってユーザが製品を選択することも可能である。
【００３４】
モデルの表示されたビューの精度および構成の選択は、コンボボックス、アイコン、特別なコマンドまたは右クリックなど、任意の種類のユーザインターフェースにより実施することができる。さらに、精度および／または構成は、初期設定で選択されてよい。
【００３５】
精度は、モデルのビューが表示される緻密さの度合い、すなわちビューの正確さを反映する。ビューの正確さは、ビューの厳密さおよび品質を伴う。たとえば、現代の飛行機は、最大３百万のオブジェクトを必要とすることがある。選択された精度に応じて、飛行機のビューが現れるが、胴体のリベットは現れない。
【００３６】
精度は、それほど正確でない表示の０から非常に正確な表示の９まで、数値尺度によって表すことができる。
【００３７】
一般には、精度は、本発明のプロセスを実施するのに必要なリソースを減少させることに寄与し得る。確かに、精度は、ビューを表示するのに必要なハードウェアリソースを決定することを可能にする。表示の正確さが低くなるにつれて、データベースからオブジェクトセットを取り出し、モデルを計算し、モデルのビューを表示するのに必要なリソースが減少し、反対に、表示がより正確になるにつれて、オブジェクトセットを取り出し、モデルを計算し、モデルのビューを表示するのに必要なリソースが増加する。さらに、モデルのビューを表示するのに必要な時間は、選択された精度に依存し、表示の正確さが低くなるにつれて、ビューの表示が速くなり、表示がより正確になるにつれて、ビューの表示が遅くなる。
【００３８】
有利には、精度を選択することによって、クライアントコンピュータが制限されたリソースを有する場合でも、たとえばセールスエンジニアが、ワークステーションより少ないリソースを有するラップトップコンピュータ上でモデルビューの表示を開始し得る場合でも、モデルのビューを表示することが可能になる。したがって、提案された発明のプロセスは、ハードウェア制約に適応させることができる。精度については、説明においてさらに詳細に述べられる。
【００３９】
構成は、製品、または製品のオブジェクトの配列である。構成は、たとえば製品に使用可能な様々な色および材料を含めて、商業的な構成であってよい。たとえば、車のモデルは、車のスタイル（クーペ、コンバーチブル…）、トランスミッションのタイプ（マニュアル、オート…）、外装および内装オプション（色、ホイールタイプ、座席スタイル、ラジオ…）などの要素の組合せに基づく数百の構成を有することがある。
【００４０】
したがって、構成を選択することによって、ユーザは、顧客の希望、すなわち希望の構成に従って製品を見せることができる。
【００４１】
次に、ステップＳ３０で、製品の事前に計算されたバウンディングボックスが、ＰＬＭデータベースから取り出され、たとえば選択された製品を囲む立方体が取り出される。一般に、ＰＬＭデータベースをホストするサーバは、バウンディングボックスを取り出し、メモリにそれを格納する。バウンディングボックスをメモリに格納することは、バウンディングボックスがそのオブジェクトより少ないデータで記述されているので、メモリにオブジェクトを格納することに比べて有利であり、したがってメモリが維持されることが理解されよう。
【００４２】
次に、ステップＳ４０〜Ｓ６０で、このプロセスは、選択されたアセンブリ上の複数の視点を識別する。一般に、これらのステップは、ＰＬＭデータベースをホストするサーバ、たとえばＰＤＭシステムによって実施される。次に、こうしたステップについて、本発明のいくつかの具体的な実施形態に従って詳細に述べられる。
【００４３】
ステップＳ４０で、選択された製品の事前計算されたバウンディングボックスの面が識別される。このステップは、当技術分野でよく知られているように実施される。
【００４４】
ステップＳ５０で、ステップＳ２０の選択された精度に従って、製品のバウンディングボックスの識別された各面について、複数の光線または任意の幾何的等価物が計算される。精度は、識別された面を通過する光線の数と、識別された面の表面の比率に比例する。したがって、選択された製品のバウンディングボックスの各面について計算された光線の数は、識別された面の表面と、選択された精度の乗算に比例する。計算された光線の数と、乗算の比例関係は、比例定数によって決定することができる。比例定数は、以下であってよい：
−  初期設定値。実施しなければならないデータ入力はない。
−  ユーザによって選択された値。選択は、製品、精度および構成を選択するのに使用される手段に類似し得る手段によって実施される。
−  帯域幅、待ち時間、遅延、ジッタ、パケット脱落の確率、キューイング遅延、ビット誤り率などのネットワークの少なくとも１つのパラメータに従って決定される値。値の決定は、１つまたは複数のネットワークパラメータを表す値が所与の閾値を超えないように行われる。このように、選択された精度は、プロセスのネットワークへの影響を制限することができ、したがって、プロセスをネットワークに適応させることができる。
−  使用可能なＣＰＵリソース、使用可能なメモリリソースなど、クライアントコンピュータの少なくとも１つのパラメータに従って決定される値。値の決定は、１つまたは複数のクライアントコンピュータパラメータを表す値が所与の閾値を超えないように行われる。同様に、選択された精度によって、ユーザのクライアントコンピュータに対するプロセスの影響を制限することができ、したがって、本発明のプロセスは、クライアントコンピュータのハードウェアリソースに適応させることができる。
【００４５】
次いで、ステップＳ６０で、視点の識別が実施される。視点は、オブジェクトのアセンブリのビューが表示され得る特定の位置である。視点は、オブジェクトのアセンブリも位置するシーン内の仮想カメラの位置を表す。シーンは、オブジェクト間の空間的関係が描写されている空間である。シーンは、少なくとも１つのオブジェクトからなり、（１つまたは複数の）オブジェクトは、モデル化された（１つまたは複数の）オブジェクト、または３次元（３Ｄ）モデル化された（１つまたは複数の）オブジェクトであってよい。したがって、シーンが３Ｄモデル化されたオブジェクトからなる場合、シーンは３Ｄ空間である。したがって、オブジェクトのアセンブリまたは製品は、多様な視点を備えてよい。
【００４６】
好ましくは、識別された視点は、製品の「外部」に位置する。視点は、視点が接触しているとき、または製品のオブジェクトのいずれの中にもない場合、製品の「外部」に位置する。したがって、視点は、製品によって形成された囲いまたは境界を超えている場合、外部にある。
【００４７】
複数の視点の識別は、オブジェクトのアセンブリのバウンディングボリュームの面を識別すること、およびバウンディングボリュームの識別された各面について少なくとも１つの視点を識別することを備えてよい。この場合、視点は、視点が接触しており、（製品のオブジェクトのバウンディングボックを囲む）製品のバウンディングボックス内にない場合、製品の「外部」に位置する。したがって、視点は、それが製品のバウンディングボックスの囲いまたは境界を超えた場所に位置する場合、製品の「外部」に位置する。
【００４８】
製品の外部に位置する視点を識別することによって、製品の周辺に位置するオブジェクトに焦点を当てることが可能になることが理解されよう。したがって、ステップＳ１００で計算されたモデルによって、製品の周りの視覚ナビゲーション、すなわち選択された製品の外部に位置する連続した複数の視点に従ってモデルを視覚化することが可能になる。
【００４９】
好ましくは、バウンディングボックスの識別された各面の識別された視点の数は、ステップＳ５０で計算された光線の数以下であり、識別された視点の数が制限される。
【００５０】
有利には、バウンディングボックスの識別された各面の視点の数は、各視点を通過する光線の平均数に基づいて決定される。各視点を通過する光線の平均数は、初期設定によって決定されてもよいし、ユーザによって選択されてもよい。光線の平均数の選択は、たとえば、精度または構成の選択に類似のやり方で行うことができる。
【００５１】
ステップＳ７０で、選択された製品の事前計算されたバウンディングボックスの識別された視点および面を通過する光線または任意の幾何学的な等価物が計算され、または投影される。
【００５２】
次いで、ステップＳ８０で、選択された製品のオブジェクトセットが、識別された複数の視点に従ってデータベースから取り出される。このために、計算された光線に交差する製品のそれぞれの各オブジェクトについて、１つまたは複数のバウンディングボックスが識別される。
【００５３】
一般に、計算された光線に交差するバウンディングボックスを識別する前に、選択された製品のオブジェクトのバウンディングボックスがデータベースから取り出され、たとえばＰＬＭデータベースをホストするサーバのメモリ内に一緒に格納されてよい。オブジェクトのバウンディングボックスの取出しは、製品構造、およびその上のオブジェクト間の関係により実施できる。
【００５４】
図６は、図５に関連して、ステップＳ３０で実施された選択された製品のバウンディングボックスの取出し、および製品のオブジェクトのバウンディングボックスの取出しをも示している。図５は、３つのオブジェクトからなる製品５０を示しており、平行六面体５１がシリンダ５２と並んで位置し、平行六面体５１およびシリンダ５２は、ステム５３によって組み合わされている。ステム５３は、平行六面体５１およびシリンダ５２内に囲まれるように点線で示されている。図６は、取り出される４つのバウンディングボックスを示しており、バウンディングボックス６０は製品５０に関係し、ステップＳ３０で取り出され、３つのバウンディングボックス６１、６２、６３は、バウンディングボックス６０によって囲まれており、それぞれ平行六面体５１、シリンダ５２およびステム５３に関連し、計算された光線に交差するバウンディングボックスを識別する前に取り出される。
【００５５】
バウンディングボックスは、図６、７、８および９内において、注意を引くためだけに点線で描かれていることに留意されたい。
【００５６】
知られているいくつかの技術を使用して、交差が存在するかどうか判定され得る。たとえば、視点および識別された面により、光線がバウンディングボックスに交差するかどうか判定され得る。
【００５７】
バウンディングボックスと計算された光線の間の交差を計算することは、選択された製品のオブジェクト上の交差を計算することにあるソリューションと比べて有利であることが理解されよう。確かに、バウンディングボックスは、オブジェクトを囲む数学的により単純な面であり、そのデカルト座標系の座標は単純であり、したがって交差の判定が容易になる。したがって、バウンディングボックスと計算された光線との交差の計算は、より少ないリソースしか必要とせず、特に、ＰＤＭシステムのメモリが維持される。
【００５８】
総当たり法では、アルゴリズムはたとえば、どのボックスが前記計算された光線に交差するか判定するためにすべてのバウンディングボックスをスキャンする。このステップは、参照ビューの座標系で実施される。
【００５９】
しかし、上記スキャンステップは、オブジェクトのアセンブリのオブジェクトの数が増加するにつれて、急速に法外なものになる。たとえば、現代の飛行機のＣＡＤ／ＣＡＭモデリングは、最大３百万のボックスの格納を必要とすることがある。したがって、交差研究アルゴリズムを加速することが有利であると理解されよう。
【００６０】
これに関して、たとえば、いわゆるＲ木技術、すなわち空間アクセス法を使用してよく、この方法では、空間は、構造的に入れ子になった恐らく重複したボックスで分割される。こうした技術によって、様々な可能な基準に従ってより均衡の取れた木がもたらされ、スキャンがより効率的になる。
【００６１】
次に、識別された視点の子インスタンスとの交差が見られると、前記交差された子インスタンスの座標系で初期光線が再計算され、新しいスキャンが、たとえば交差がもはや見られなくなるまで、その子インスタンス内で実行される。
【００６２】
したがって、交差研究アルゴリズムは再帰的であり、すなわち、交差されたｎ次の親ボックスの交差された最後の子が探索され、以下のように実行される。
【００６３】
交差するバウンディングボックスが検出されると、一実施形態によるプロセスは、交差されたバウンディングボックス内のより小さい再分割レベルで働く。たとえば、図３に示されるような立方体のボックスを８つに分割するボリュームである８分木について考慮されたい。
【００６４】
８分木３００はたとえば、８分木３１０がモデルのいずれかの要素も含まない場合、またはモデルの一要素で完全に埋められる場合を除いて、図４（分かりやすくするために２次元で表される）に示されたように、それ自体がさらに再分割される。モデルの要素を含む各８分木３００は、さらに再分割される。
【００６５】
したがって、８分木３００は、ボクセル３２０（そのサイズはたとえば、ユーザによって入力された定義によって決まり得る）として知られている、分割されていない最小のボリュームまで、計算された光線とのどんな交差をも検出するようにスキャンされる。次いで、プロセスは、停止し、識別されたボクセルの内部の（またはそれに近い）ビュー内のオブジェクトが選択される。
【００６６】
８分木およびボクセルなど、交差されたバウンディングボックス内のより小さい再分割レベルを使用することが有利であることが理解されよう。確かに、図３に示されたように８分木およびボクセルは数学的により単純な表面を有するので、ＰＤＭシステムのメモリおよびＣＰＵリソースが維持され、したがって、計算された光線と、数学的により単純なこれらの表面のうちの１つとの交差の計算が容易になる。
【００６７】
オブジェクトが選択されると、視点からオブジェクトが見えるかどうか判定される。オブジェクトは、別のオブジェクトによって完全には隠されていない場合は見える。次いで、このプロセスは、同じステップ（バウンディングボックス、８分木、ボクセル）に従って他のバウンディングボックスを再帰的にテストし、視点から見えるオブジェクトを見つけ選択する。プロセスを最適化するために、バウンディングボックスが（新しい座標系の）計算された光線に交差しない場合は、このバウンディングボックスは廃棄される。同様に、バウンディングボックスに光線が交差するが、一方、バウンディングボックスのオブジェクトが、識別された視点の少なくとも１つからは見えない場合は、前記バウンディングボックスは廃棄されることになる。
【００６８】
製品のバウンディングボックスは特定のバウンディングボックスであることに留意されたい。確かに、それは、必ずしもオブジェクトを備えないが、単に製品のオブジェクトのバウンディングボックスを備える。したがって、製品のバウンディングボックスに計算された光線が交差する場合でも、任意のオブジェクトを選択することができる。このプロセスを最適化するために、交差研究アルゴリズムは、製品のバウンディングボックスには適用されないが、単に製品のバウンディングボックスによって囲まれたバウンディングボックス、およびそのそれぞれの８分木およびボクセルに適用される。
【００６９】
さらに、製品のバウンディングボックスは主として、選択された製品が位置するシーンのボリュームを識別するために使用される。このボリュームによって有利には、計算された光線を投影しなければならない空間が制限される。一般には、製品のバウンディングボックスはできるだけ小さく、すなわち、そのボリュームは、製品のオブジェクトのバウンディングボックスを囲むことができる最小のバウンディングボックスである。
【００７０】
すべてのバウンディングボックスがテストされ、データベース内で少なくとも１つのオブジェクトが識別されると、識別されたオブジェクトが格納される。このために、オブジェクトの識別に関連する情報（たとえばオブジェクトの名前）が、ファイル内に格納される。こうしたファイルは、たとえば、識別された視点に従ってデータベースから取り出された選択された製品のオブジェクトセットを備えるインデックスを形成することができる。一般には、インデックスは、クライアントコンピュータによって取り出される。
【００７１】
好ましくは、計算された光線は、製品のバウンディングボックスの面に実質的に垂直な入射角で、識別された面を通過し得る。実際には、面に実質的に垂直な入射角を有する１つの光線だけが、所与の視点について計算される。確かに、所与の視点について、別の光線と同じ入射角を有する光線を計算しまたは投影することは、第２の光線が第１の光線と同じバウンディングボックスと交差するので無益である。
【００７２】
入射角は、図７に示されるように、面への入射光線と、入射点で面に垂直な線との間の角度である。図７は、図６のバウンディングボックス６０の面６３の正面ビューの概略図である。入射角、それぞれαと示された角度、およびβと示された角度を有する２つの光線７１および７２が示されている。光線７１および７２の各光線の入射角は、入射点で表面に垂直な線７０と比較して定義される。
【００７３】
有利には、計算された光線は、０度から４５度の入射角で、識別された面を通過し得る。図７に戻って参照すると、角度αおよびβは、０度と４５度の間の値を取り得る。それによって、計算された光線に交差する製品の各オブジェクトの１つまたは複数のバウンディングボックスの識別が向上することになる。確かに、それは、図８に示されたように、さもなければ識別されないバウンディングボックスを識別する能力を提供し、この図８は、図６のバウンディングボックス６０の面６４の正面ビューの概略図である。面６４上に描かれた各点は、実質的に垂直の角度で面６４を通過する計算された光線の入射点を表す。次に、７５と示された入射点に焦点が合わされる。入射点７５に垂直な計算された光線（図示せず）は、バウンディングボックス６０によって囲まれた３つのバウンディングボックス６１、６２および６３のいずれにも交差しない。入射点７５を通過する計算された２つの光線７６および７７が表されている。その入射角により、計算された光線７６（それぞれ７７）は、バウンディングボックス６１（それぞれ６２）と交差する。さらに、交差研究アルゴリズムによれば、バウンディングボックス６３は、関連するオブジェクト５３がオブジェクト５１および５２によって完全に隠されているので取り出されない。オブジェクト５３は、識別された視点のうちのいずれからも見えず、したがって、オブジェクト５３は、データベースから取り出されたオブジェクトセットのオブジェクトではない。
【００７４】
好ましくは、データベースからのオブジェクトセットの取出しは、ユーザのセキュリティコンテキストに従って実施される。したがって、バウンディングボックスおよびその上のオブジェクトの識別は、ユーザセキュリティコンテキストを満たし得る。ユーザセキュリティコンテキストは、アクセス制御、すなわち特定のユーザによる特定のリソースの使用を許可または否定する能力に関連する。一般に、ユーザは、オブジェクトの読出し、および／または書込み、および／または実行（たとえば表示）を許可されることも、許可されないこともある。たとえば、モデル化されたオブジェクトは、モデル化されたオブジェクトの責任を担う設計者によってロックされることあり、それは、設計者がモデル化されたオブジェクトをロック解除するまで他のユーザはモデル化されたオブジェクトの修正を許可されないことを意味する。さらに、設計者でない人は、モデル化された完全なオブジェクトにアクセスすることを許可されないことがある。さらに、アクセス制御は、ユーザの物理的位置に基づくこともでき、たとえばユーザは、職場にいないとき、製品を表示することを許可されないことがある。
【００７５】
次いで、ステップＳ９０〜Ｓ１００で、このプロセスは、オブジェクトセットの取り出されたオブジェクトすべてについて、選択された製品のモデルを計算する。好ましくは、モデルは、ユーザのクライアントコンピュータによって計算される。したがって、ＰＤＭシステムは、モデルの計算を担当せず、したがって、そのリソースは消費されない。
【００７６】
ステップＳ９０で、オブジェクトセットのジオメトリが取り出される。オブジェクトセットのオブジェクトは、選択された製品のオブジェクトセットを格納するインデックスにより識別される。次いで、インデックスの各オブジェクトについて、それぞれのオブジェクト内でジオメトリが探索され取り出され、オブジェクトへの論理ポインタが使用され得る。
【００７７】
ジオメトリは、オブジェクトを構成するそれぞれ異なるタイプの要素である。これらは頂点、辺、面、多角形および表面を含んでよい。
【００７８】
完全なオブジェクトではなくオブジェクトのジオメトリを取り出すことは、取り出す品質および数の情報が制限されるので有利である。確かに、オブジェクトは、ジオメトリだけでなく、ユーザセキュリティコンテキスト、オブジェクトのプロパティ、たとえば作成日、最終変更、オブジェクトを担当する設計者などのメタデータからもなる。その結果、ネットワークの帯域幅は維持され、クライアントコンピュータは、計算する情報が少なくなる。
【００７９】
次いで、ステップＳ１００で、選択された製品のモデルが、取り出されたジオメトリに基づいて計算される。計算されたモデルは、識別された視点に従って取り出された、選択された製品のオブジェクトセットの表現である。換言すると、計算されたモデルは、選択された製品の外部に位置する識別された視点から見えるオブジェクトの表現である。
【００８０】
実際には、モデルは、グラフィカルユーザインターフェース上に表示された３次元（３Ｄ）モデルであり、それは、当技術分野では知られているように、三角形、線、曲面など様々な幾何学的エンティティによって接続された３Ｄ空間内の点の集合で構成される。
【００８１】
好ましくは、取り出されたオブジェクトセットのオブジェクトのジオメトリは、モデルの非結合ビューを形成するために集約される。非結合ビューは、システムの観点から、ビューを形成するグラフィカル要素が、オブジェクトセットの個々の部分に従って分割されていないことを意味する。したがって、ビューに表現されたようなオブジェクトのセットは、アドレス指定可能なコンテンツではなく、ユーザは、ビュー内に表示されたセットを構成する任意の個々のオブジェクトを選択し得ない。たとえば、ビットマップもラスタイメージも、表現されたオブジェクトに対してアドレス指定可能なコンテンツではない。ベクトルビューは、様々な描画要素に分割されるので、概念的に異なる。それにもかかわらず、描画要素はＰＬＭデータベースに格納されたオブジェクトセットの様々なオブジェクトに関連付けられないので、それは、本発明の意味では非結合のビューの一例である。
【００８２】
次に、ステップＳ１１０で、モデルのビューが表示される。重要なことには、取出しステップＳ８０で取り出されたオブジェクトから始めて、モデルの表示されるいずれのビューもが計算される。したがって、図２に示されたプロセスのステップＳ１０からＳ１００のいずれをも繰り返さずに、選択された製品のいずれのビューをも表示することが可能である。確かに、選択された製品のオブジェクトのセットは、複数の視点に従って取り出される。したがって、一意の要求から始めて、製品のオブジェクトセットのすべてのオブジェクトを取り出すことが可能である。製品のモデルは、取り出されたオブジェクトセットのオブジェクトに基づいて計算され、その結果、製品の周りの視覚ナビゲーション、すなわち製品の連続したビューの表示は、計算された単一のモデルだけに依存する。計算されたモデルは、多様な視点を表す単一のモデルである。
【００８３】
したがって、本発明によるプロセスは、モデルが一度に計算されるので、特に有利である。さらに、ＰＬＭデータベースをホストするサーバのハードウェアリソースおよびネットワークリソースは、計算がクライアントコンピュータ側で行われるので維持される。したがって、選択された製品の視覚ナビゲーションは改善され、ビューがより速く表示される。視覚ナビゲーションは流動性が高まるが、視覚ナビゲーションの実施に必要なリソースは減少する。全体的に、システムは向上される。たとえば、提案された発明がモデルのビューを表示するのに必要とする時間は約１秒であるが、この時間は、従来技術では約３０秒である。
【００８４】
次に、上記プロセスの一実施形態について、図６に示されたバウンディングボックスの最上部正面図を示す図９を参照して述べられる。
【００８５】
提案された発明は、製品ライフサイクル管理データベースのオブジェクトのアセンブリを表示するためのプロセスを対象とする。
【００８６】
まず、図１０に示されたものなど、専用のソフトウェアアーキテクチャにより、データベースへのアクセスが提供される。
【００８７】
次いで、オブジェクトのアセンブリが選択される。一般には、製品が選択される。
【００８８】
次に、複数の視点が、選択されたオブジェクトのアセンブリ上で識別される。実際には、視点の識別は、オブジェクトの選択されたアセンブリのバウンディングボリュームの面の識別を備える。たとえば、バウンディングボリューム６０の面６４、６６が識別される。全体で、バウンディングボリューム６０の６つの面が識別される。次いで、識別された各面について、少なくとも１つの視点が識別される。ここでは、面６４について識別された視点７５が表されている。
【００８９】
好ましくは、視点は、オブジェクトのアセンブリの外部に位置する。視点は、視点が接触しており、もしくは製品のオブジェクトのいずれの中にもないとき、またはオブジェクトのアセンブリのバウンディングボリュームが識別される場合には接触しており、もしくは（製品のオブジェクトのバウンディングボックスを囲む）製品のバウンディングボックス内にないとき、製品の「外部」に位置する。
【００９０】
実際には、識別された視点は、オブジェクトのアセンブリのバウンディングボリュームの識別された面上に位置し、たとえば、識別された視点７５は、バウンディングボックス６０の面６４上に位置する。面上の視点の分布は、ランダムであることも、それとは反対に、一定であることもある。視点の分布が一定である場合には、分布は、均一であることも、不均一であることもある。均一分布は、視点が面上で一様に分布することを伴う。不均一分布は、視点が面上で不規則に分布することを伴う。不均一分布は、いずれかのパラメータが関与するランダム分布とは反対に、少なくとも１つのパラメータまたは関数に従って決定される。たとえば、不均一分布は、識別された面の辺からの距離を表す関数に従って決定することができ、辺の近くには、より少ない視点が位置し得る。
【００９１】
次いで、識別された複数の視点に従って、アセンブリのオブジェクトセットがデータベースから取り出される。プロセスによれば、データベースへの問合せがトリガされる。識別された視点およびアセンブリのオブジェクトを通過する光線が計算される。
【００９２】
一般に、光線は、視点、およびアセンブリのオブジェクトのバウンディングボックスを通過する。１つまたは複数のバウンディングボックスは、計算された光線と交差するオブジェクトのアセンブリの各オブジェクトについて識別される。識別された各バウンディングボックスについて、オブジェクトが取り出され、したがってオブジェクトセットが形成される。
【００９３】
図９を参照すると、光線７６、７７および８１は、面６４上に位置する視点７５およびバウンディングボックス６０を通過する。バウンディングボックス６１および６２は、それぞれ光線７６および７７が交差する。バウンディングボックス６１および６２のそれぞれのオブジェクトが識別され選択される。（バウンディングボックス６１および６２の交差の後）光線７６および７７が続いていることが、点線によって表されている。具体的には、光線７６は、識別されず、選択されていないバウンディングボックス６３にも交差する。確かに、取り出されたオブジェクトセットのオブジェクトは、視点から見える。しかし、バウンディングボックス６３のオブジェクトは、バウンディングボックス６１、６２のオブジェクトによって隠されているので、視点７５から見えない。したがって、バウンディングボックス６３のオブジェクトは、選択されず、格納されない。
【００９４】
実際に、識別された視点が何であろうが、バウンディングボックス６３のオブジェクトは、バウンディングボックス６１、６２のオブジェクトによって常に隠されており、したがって、バウンディングボックス６３は廃棄されることになる。これとは反対に、バウンディングボックス６３のオブジェクトが少なくとも１つの視点から見えるならば、オブジェクトは選択されよう。
【００９５】
次に、オブジェクトセットの取り出されたオブジェクトすべてについて、選択されたアセンブリのモデルが計算され、モデルは、バウンディングボックス６１、６２のオブジェクトについて計算される。
【００９６】
次いで、モデルのビューが表示され、表示されたいずれのビューもが、取出しステップで取り出されたオブジェクトから始めて計算されている。図５を参照すると、計算されたモデルのビューが表示されている。点線で表されたオブジェクト５３は、そのバウンディングボックス６３が廃棄されているので、計算されたモデルの一部ではないことに留意されたい。
【００９７】
説明および理解しやすいように、図９は、単純であり、他のオブジェクトによって隠された１つのオブジェクトだけを備える。飛行機などの典型的な製品は、何百万ものオブジェクトを含み、多数のオブジェクトが隠れていることが理解されよう。実際には、提案された発明のプロセスによって表示された製品のビューは、製品の外観図である。飛行機の例に戻って参照すると、飛行機の計算されたモデルのビューは、飛行機の周りをナビゲートし、胴体、主翼、垂直および水平スタビライザ、ジェットエンジンなどを主に示すことを可能にする。複数の外観図が表示される。しかし、胴体中の座席、翼内のタンク、ジェットエンジン内の燃料注入器などは、完全に隠れているオブジェクトである。したがって、提案された発明によれば、それらは決して表示されることはない。
【００９８】
上記方法は、ＣＡＤ／ＣＡＭ／ＣＡＥシステム、またはオブジェクトのビューを様々な視点から表示するために使用される任意のシステムによって定義可能な任意の構成で任意のオブジェクトに適用できることを理解されたい。本発明は、デジタル電子回路内で、もしくはコンピュータハードウェア、ファームウェア、ソフトウェアで、またはその組合せで実施することができる。本発明の装置は、プログラマブルプロセッサによって実行するためのマシン読取り可能記憶装置で有形に実施されたコンピュータプログラム製品で実装することができ、本発明の方法ステップは、入力データに対して操作し、出力を生成することによって本発明の機能を実施するための命令のプログラムを実行するプログラマブルプロセッサによって実施することができる。
【００９９】
本発明は有利には、１つまたは複数のコンピュータプログラムで実施することができ、この１つまたは複数のコンピュータプログラムは、データおよび命令を受信し、またデータおよび命令を送信するために結合された少なくとも１つのプログラマブルプロセッサと、データ記憶システムと、少なくとも１つの入力装置と、少なくとも１つの出力装置とを含むプログラマブルシステム上で実行可能である。アプリケーションプログラムは、所望であれば、高水準手続きまたはオブジェクト指向プログラミング言語、またはアセンブリもしくは機械語で実施されてよく、いずれの場合も、言語は、コンパイル型またはインタープリタ型言語であってよい。
【０１００】
図１０は、本発明を実施するのに使用可能なソフトウェアアーキテクチャについての概略図であり、それは、ユーザの単一のクライアントコンピュータ、データベースサーバ９４およびボールトサーバ９７を示している。クライアントコンピュータは、ユーザインターフェースを管理し、コンポーネント９２、９５および９８を制御するエンジン９１を備える。エンジン９１は、それだけに限らないが、オブジェクト、製品、構成、精度、およびモデル表示のためのビューのタイプをユーザが選択することを可能にする。
【０１０１】
図１０は、クエリエンジン９２、データベースクライアント９３およびデータベースサーバ９４をさらに示している。クエリエンジン９２は、単一のクライアントによって制御され、それは、ユーザのコマンドに応じてデータベースステートメントを構築し、データベースステートメントをデータベースクライアント９３に渡す。クエリエンジン９２は、データベースクライアント９３から受け取られたクエリ結果も管理する。
【０１０２】
データベースクライアント９３は、データベースサーバ接続を管理するように適応される。それは、クエリエンジン９２からクエリを受け取り、クエリをデータベースサーバ９４に渡す。それは、データベースサーバ９４からクエリ結果を受け取り、これらの結果をクエリエンジン９２に渡す。
【０１０３】
データベースサーバ９４は、クライアント９３など、複数のデータベースクライアントからクエリを受け取り、これらのクエリに対処することができる。データベースサーバは一般に、リレーショナルデータベースであり、リファレンスＤＢ２に基づきＩＢＭ社から入手可能な、またはＯｒａｃｌｅ社から入手可能なソリューションを使用して実装することができる。またデータベースは、オブジェクトまたはＸＭＬデータベースとすることも、データベースにアクセスするアプリケーションサーバとすることもできる。前記アプリケーションサーバは、拡張型クエリ（近接クエリ、空間クエリ…）のための処理を（オンザフライまたは非同期で）提供することもできる。
【０１０４】
エンジン９１内のユーザに使用可能な追加のグラフィカルナビゲーション機能とは別に、コンポーネント９２、９３および９４は、ＰＬＭソリューションで使用されるもののように、当技術分野のリレーショナルデータベースと異なる必要はない。したがって、これらのコンポーネントについては、さらに詳述されない。
【０１０５】
図１０は、データベースに含まれたオブジェクトの表現を格納し提供するためのボールトサーバ９７をさらに示しており、換言すると、ボールトサーバは、表現レポジトリとして使用される。ボールトサーバ９７は、表現を様々なファイルに格納するためのファイルサーバであってよい。それは、データベースサーバを使用して、たとえば「ｂｌｏｂ」（ｂｉｎａｒｙ  ｌａｎｇｕａｇｅ  ｏｂｊｅｃｔ）ストレージを使用して実装することもできる。それは、プロキシおよび／またはキャッシュ技術を使用することもできる。ボールトサーバに格納されたオブジェクトの表現は、様々なフォーマット、たとえばバウンディングボックス、多角形、ビットマップ画像、ベクトル画像、再分割表面で、またはより一般的には当技術分野で知られている任意のフォーマットで存在し得る。表現の増分ローディングを可能にするために、ボールトサーバに様々なフォーマットを格納することが有利である。
【０１０６】
ボールトサーバは、ボールトクライアント９６により、アドレス指定される。ボールトクライアントは、オブジェクトの表現を取り出すために、クライアントがボールトサーバにアドレス指定することを可能にする。図１０、表現ローダ９５をも示している。表現ローダ９５は、ユーザに表示されるオブジェクトの表現を得るために、ボールトクライアント９６を介してボールトサーバ９７に問い合わせる。さらに、表現ローダ９５は、ボールトクライアント９６から表現を受け取ると、表現増分ローディングを管理することもできる。
【０１０７】
視覚化エンジン９８は、ユーザへの表現の表示を管理する。それは、ディスプレイハードウェア、ほとんどの場合、グラフィックカードを管理するディスプレイドライバ９９にアドレス指定する。ディスプレイハードウェア上に表現を表示するために、ＯｐｅｎＧＬドライバを介して、またはＭｉｃｒｏｓｏｆｔ  Ｄｉｒｅｃｔ  ３ＤもしくはＤｉｒｅｃｔＸを使用して加速ハードウェアを使用してよい。
【０１０８】
図１１および１２は、本発明を実施するように適応されたクライアントおよびネットワークハードウェアアーキテクチャの概略図である。図１１は、クライアントコンピュータシステム、たとえばユーザのワークステーションを示している。
【０１０９】
クライアントコンピュータは、内部通信バス１００に接続されたＣＰＵ（ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）１０１と、やはりバスに接続されたＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）１０７とを備える。クライアントコンピュータは、ＧＰＵ（ｇｒａｐｈｉｃａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）１１１をさらに備え、このＧＰＵは、バスに接続されたビデオランダムアクセスメモリ１１０に関連する。ビデオＲＡＭ  １１０は、当技術分野においてフレームバッファとしても知られている。大容量記憶装置コントローラ１０２は、ハードドライブ１０３など、大容量メモリ装置へのアクセスを管理する。コンピュータプログラム命令およびデータを有形に実施するのに適した大容量メモリ装置は、ＥＰＲＯＭ、ＥＥＰＲＯＭおよびフラッシュメモリ装置などの例示的な半導体記憶装置、内部ハードディスクおよび取外し可能ディスクなどの磁気ディスク、磁気光ディスク、ならびにＣＤ−ＲＯＭディスク１０４によるものを含めて、すべての形の不揮発メモリを含む。上記内容のいずれもが、特別に設計されたＡＳＩＣ（ａｐｐｌｉｃａｔｉｏｎ−ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）によって補完され、またはそれに組み込まれてよい。ネットワークアダプタ１０５は、ネットワーク１０６へのアクセスを管理する。クライアントコンピュータは、カーソル制御装置、キーボードなど、触覚型装置１０９を含むこともできる。カーソル制御装置がクライアントコンピュータ内で使用され、ユーザが表示１０８上の任意の所望の位置でカーソルを選択的に置くことが可能になる。さらに、カーソル制御装置によって、ユーザは、様々なコマンドおよび入力制御信号を選択することができる。カーソル制御装置は、システムへの入力制御信号用の複数の信号発生装置を含む。一般には、カーソル制御装置はマウスであってよく、マウスのボタンは、信号を生成するために使用される。
【０１１０】
動作において、図１０の様々なクライアントコンポーネントは、ＣＰＵ  １０１内で実行されるプロセスである。ネットワークアダプタ１０５は、ネットワーク１０６上でボールトサーバ９７にアクセスするためにボールトクライアント９６によって使用され、ネットワーク１０６上のデータベースサーバ９４にアクセスするためにデータベースクライアント９３によってさらに使用される。大容量記憶装置コントローラ１０２をボールトクライアント９６によって使用し、ハードドライブ１０３などローカル大容量メモリ装置上に表現のキャッシュを作成することができ、これによって、頻繁に用いられる表現の性能が向上する。ディスプレイドライバ９９は、計算されたモデルの集約されたジオメトリをビデオＲＡＭ１１０に供給し、モデルは、ＧＰＵ  １１１により表示される。
【０１１１】
クエリエンジン９２は、クエリを処理し、結果をＲＡＭ  １０７に格納する。表現ローダ９５は、計算されたモデルのジオメトリの作業フォーマットを処理し、ＲＡＭ  ９２に格納する。計算されたモデルの格納されたジオメトリは、ディスプレイドライバ９９によって使用され、ＧＰＵ  １１１に送られる。
【０１１２】
図１２は、本発明の実施に適応されたネットワークアーキテクチャの一実施形態の概略図であり、図１２のアーキテクチャは、一般にアクセス可能な表現データベースを提供する共通のボールトサーバおよび共有のデータベースサーバにより、様々なユーザが本発明のプロセスを実施することを可能にするように適応される。図１２の例では、２つのＬＡＮ（ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）１２１、１２２が、ＷＡＮ（ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）１２０に接続される。図１２は、ＬＡＮ  １２１、１２２からアクセスするための、ＷＡＮ  １２０内に示されたデータベース１２７およびマスタボールト１２８を示している。第１のＬＡＮ  １２１は、２つのクライアント１２３、１２４を備え、第２のＬＡＮ  １２２は、１つのクライアント１２５を備える。
【０１１３】
動作において、ＬＡＮ  １２１、１２２のうちの１つのクライアントは、ＷＡＮ  １２０を介してデータベース１２７にアクセスする。第１のＬＡＮ  １２１内のクライアント１２３、１２４、および第２のＬＡＮ  １２２内のクライアント１２５は、オブジェクト、ジオメトリなど前記オブジェクトに関するすべての情報を得るために、マスタボールト１２８に直接アクセスする。
【０１１４】
本発明の好ましい実施形態について述べられた。本発明の趣旨および範囲から逸脱せずに、様々な修正を加えてよいことが理解されよう。したがって、他の実施態様も、添付の特許請求の範囲の範囲内にある。たとえば、モデルの計算は、クライアントコンピュータではなくＰＤＭシステムによって実行されてもよい。したがって、クライアントコンピュータは、計算されたモデルを取り出し、単にモデルのビューを表示する。
【図１】
2010287233.tif 000003
【図２】
2010287233.tif 000004
【図３】
2010287233.tif 000005
【図４】
2010287233.tif 000006
【図５】
2010287233.tif 000007
【図６】
2010287233.tif 000008
【図７】
2010287233.tif 000009
【図８】
2010287233.tif 000010
【図９】
2010287233.tif 000011
【図１０】
2010287233.tif 000012
【図１１】
2010287233.tif 000013
【図１２】
2010287233.tif 000014
【外国語明細書】
2010287233000001.pdf