(57)【要約】  データ処理システムにより実行される、パーツモデルシミュレーションのための方法は、  データ処理システムがパーツモデルを受け付けるステップと、  パーツモデルに対応する少なくとも１つのリジッドボディを作成するステップと、  パーツモデルに対応する少なくとも１つのプロキシボディを作成するステップと、但し、当該プロキシボディを作成するステップは、少なくとも１つのプロキシボディを少なくとも１つのリジッドボディに直接アタッチするステップを含み、プロキシボディはパーツモデルの部分ではないリジッドボディを表し、  データ処理システムが、対応するリジッドボディおよびプロキシボディに従って、パーツモデルをシミュレーションするステップと、を含む。
2015522870.tif 000002
【特許請求の範囲】
【請求項１】
データ処理システム（１００）によって実行される、パーツモデルシミュレーションのための方法であって、
前記データ処理システム（１００）がパーツモデルを受け付けるステップ（１２０５）と、
前記パーツモデル（６０２）に対応する少なくとも１つのリジッドボディ（６０６）を作成するステップ（１２１５）と、
前記パーツモデルに対応する少なくとも１つのプロキシボディ（６１０）を作成するステップ（１２２０）と、但し、当該プロキシボディ（６１０）を作成するステップ（１２２０）は、少なくとも１つのプロキシボディ（６１０）を少なくとも１つのリジッドボディ（６０６）に直接アタッチするステップを含み、前記プロキシボディ（６１０）は前記パーツモデルの部分ではないリジッドボディを表し、
前記データ処理システム（１００）が、前記の対応するリジッドボディ（６０６）およびプロキシボディ（６１０）に従って、前記パーツモデルをシミュレーションするステップ（１２３０）と、
を含む、ことを特徴とする方法。
【請求項２】
前記データ処理システムは、前記パーツモデルに対応する少なくとも１つのサブボディをさらに作成し（１２１０）、
前記パーツモデルをシミュレーションするステップは、さらに前記サブボディにしたがって実行され、
各サブボディは衝突面またはトリガである、
請求項１記載の方法。
【請求項３】
前記少なくとも１つのリジッドボディ（６０６）は、少なくとも１つの各サブボディに関連づけられており、当該関連づけられたサブボディの動きを定める、請求項２記載の方法。
【請求項４】
前記データ処理システム（１００）は、前記パーツモデルに対応する少なくとも１つの拘束オブジェクトをさらに作成し（１２２５）、
前記パーツモデルをシミュレーションするステップ（１２３０）は、前記拘束オブジェクトに従ってさらに実行される、
請求項１から３のいずれか１項記載の方法。
【請求項５】
前記データ処理システム（１００）はさらに、プロキシオーバライドのアタッチメントフィールドに従ってプロキシボディ（６１０）をリジッドボディ（６０６）に変換する、請求項１から４のいずれか１項記載の方法。
【請求項６】
前記データ処理システムは、前記少なくとも１つのリジッドボディ（６０６）が見いだされるまで、プロキシボディ（６１０）のチェーンをたどることにより、前記少なくとも１つのプロキシボディ（６１０）を前記少なくとも１つのリジッドボディ（６０６）にアタッチする、請求項１から５のいずれか１項記載の方法。
【請求項７】
前記データ処理システム（１００）はさらに、各プロキシボディの設定において、ジオメトリ要素のリストを用いて計算された質量プロパティを、前記少なくとも１つのプロキシボディ（６１０）に割り当てる（１２２０）、請求項１から６のいずれか１項記載の方法。
【請求項８】
プロセッサ（１０２）と、アクセス可能メモリ（１０８、１２６）とを備えたデータ処理システム（１００）であって、前記データ処理システム（１００）は、特に、
パーツモデルを受け付け（１２０５）、
前記パーツモデル（６０２）に対応する少なくとも１つのリジッドボディ（６０６）を作成し（１２１５）、
前記パーツモデルに対応する少なくとも１つのプロキシボディ（６１０）を作成し（１２２０）、但し、当該プロキシボディ（６１０）の作成（１２２０）は、少なくとも１つのプロキシボディ（６１０）を少なくとも１つのリジッドボディ（６０６）に直接アタッチすることを含み、前記プロキシボディ（６１０）は前記パーツモデルの部分ではないリジッドボディを表し、
前記の対応するリジッドボディ（６０６）およびプロキシボディ（６１０）に従って、前記パーツモデルをシミュレーションする（１２３０）、
よう構成されている、ことを特徴とするデータ処理システム（１００）。
【請求項９】
前記データ処理システム（１００）は、前記パーツモデルに対応する少なくとも１つのサブボディをさらに作成し（１２１０）、
前記パーツモデルのシミュレーションは、さらに前記サブボディにしたがって実行され、
各サブボディは衝突面またはトリガである、
請求項８記載のデータ処理システム（１００）。
【請求項１０】
前記少なくとも１つのリジッドボディ（６０６）は、少なくとも１つの各サブボディに関連づけられており、当該関連づけられたサブボディの動きを定める、請求項９記載のデータ処理システム（１００）。
【請求項１１】
前記データ処理システム（１００）は、前記パーツモデルに対応する少なくとも１つの拘束オブジェクトをさらに作成し（１２２５）、
前記パーツモデルのシミュレーション（１２３０）は、前記拘束オブジェクトに従ってさらに実行される、
請求項８から１０のいずれか１項記載のデータ処理システム（１００）。
【請求項１２】
前記データ処理システムはさらに、プロキシオーバライドのアタッチメントフィールドに従ってプロキシボディ（６１０）をリジッドボディ（６０６）に変換する、請求項８から１１のいずれか１項記載のデータ処理システム（１００）。
【請求項１３】
前記データ処理システム（１００）は、前記少なくとも１つのリジッドボディが見いだされるまで、プロキシボディのチェーンをたどることにより、前記少なくとも１つのプロキシボディ（６１０）を前記少なくとも１つのリジッドボディ（６０６）にアタッチする、請求項８から１２のいずれか１項記載のデータ処理システム（１００）。
【請求項１４】
前記データ処理システム（１００）はさらに、各プロキシボディの設定においてジオメトリ要素のリストを用いて計算された質量プロパティを、前記少なくとも１つのプロキシボディ（６１０）に割り当てる（１２２０）、請求項８から１３のいずれか１項記載のデータ処理システム（１００）。
【請求項１５】
実行可能命令がコードされたコンピュータ読み取り可能な不揮発性記録媒体であって、前記実行可能命令は、実行時に、１つ以上のデータ処理システム（１００）に、
パーツモデルを受け付け（１２０５）、
前記パーツモデル（６０２）に対応する少なくとも１つのリジッドボディ（６０６）を作成し（１２１５）、
前記パーツモデルに対応する少なくとも１つのプロキシボディ（６１０）を作成し（１２２０）、但し、当該プロキシボディ（６１０）の作成（１２２０）は、少なくとも１つのプロキシボディ（６１０）を少なくとも１つのリジッドボディ（６０６）に直接アタッチすることを含み、前記プロキシボディ（６１０）は前記パーツモデルの部分ではないリジッドボディを表し、
前記の対応するリジッドボディ（６０６）およびプロキシボディ（６１０）に従って、前記パーツモデルをシミュレーションする（１２３０）、
よう動作させる、ことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項１６】
前記パーツモデルに対応する少なくとも１つのサブボディが作成され、
前記パーツモデルのシミュレーションは、さらに前記サブボディに従って実行され、
各サブボディは衝突面またはトリガである、
請求項１５記載のコンピュータ読み取り可能な記録媒体。
【請求項１７】
前記少なくとも１つのリジッドボディ（６０６）は、少なくとも１つの各サブボディに関連づけられており、当該関連づけられたサブボディの動きを定める、請求項１６記載のコンピュータ読み取り可能な記録媒体。
【請求項１８】
前記パーツモデルに対応する少なくとも１つの拘束オブジェクトが作成され、
前記パーツモデルのシミュレーションは、前記拘束オブジェクトに従ってさらに実行される、
請求項１５から１７のいずれか１項記載のコンピュータ読み取り可能な記録媒体。
【請求項１９】
プロキシオーバライドのアタッチメントフィールドに従ってプロキシボディがリジッドボディに変換される（１２２０）、請求項１５から１８のいずれか１項記載のコンピュータ読み取り可能な記録媒体。
【請求項２０】
前記少なくとも１つのリジッドボディが見いだされるまで、プロキシボディのチェーンをたどることにより、前記少なくとも１つのプロキシボディ（５１０）が前記少なくとも１つのリジッドボディ（６０６）にアタッチされる、請求項１５から１８のいずれか１項記載のコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、独立請求項に記載のパーツモデルシミュレーションのための方法、製造データ管理データ処理システムおよびコンピュータ読み取り可能記録媒体に関する。
【背景技術】
【０００２】
コンピュータ支援の設計、可視化および製造システム、製品や他のものに関するデータを管理する製品ライフサイクル管理（「ＰＬＭ」）および同様のシステム（まとめて、「製品データ管理」システムまたはＰＤＭシステム）に関する。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
ＰＤＭシステムはＰＬＭおよび他のデータを管理する。改善されたシステムが望まれている。
【課題を解決するための手段】
【０００４】
種々の開示の実施形態には、パーツモデルの生成およびシミュレーションならびに対応するシステムおよびコンピュータ読み取り可能記録媒体が含まれる。方法は、パーツモデルを受け付けるステップと、パーツモデルに対応する少なくとも１つのリジッドボディを作成するステップとを含む。該方法は、パーツモデルに対応する少なくとも１つのプロキシボディを作成するステップとを含み、当該作成ステップは、少なくとも１つのプロキシボディを少なくとも１つのリジッドボディに直接アタッチするステップを含み、プロキシボディはパーツモデルの部分ではないリジッドボディを表す。該方法は、対応するリジッドボディおよびプロキシボディに従って、パーツモデルをシミュレーションするステップを含む。
【０００５】
上記は、当業者が以下の詳細な説明をより良く理解できるように本発明の特徴および技術的な利点をかなり大雑把に述べたものである。特許請求の範囲の対象を成す本発明の付加的な特徴及び利点を以下において説明する。当業者であれば、本発明の変更又は本発明と同一の目的を達成するための構造を設計するための基礎として、開示された着想及び特定の実施の形態を容易に使用することができるであろう。また、当業者であれば、そのような等価物はその最も広い形態においても、本発明の精神及び範囲から逸脱するものではないことが分かるであろう。
【０００６】
以下の詳細な説明の前に、本明細書にわたり使用される幾つかの用語又は語句の定義を明確にすることは有利であると思われる。「含む」及び「有する」という語、またそれらから派生した語は限定的でない包含を意味する。「又は」という語は包含的な語であり、すなわち「及び／又は」を意味する。「関連した」及び「それと関連した」ならびにそれらから派生した語は「含む」、「中に含まれる」、「相互に接続されている」、「有する」、「中に有する」、「〜に、又は〜と接続する」、「〜に、又は〜と結合する」、「〜と通信可能である」、「〜と協働する」、「交互配置する」、「近接して並置する」、「〜に近接している」、「〜に、又は〜と結び付けられている」、「持つ」、「〜の性質を有する」等を意味する。また「コントローラ」という語は、ハードウェア、ファームウェア、ソフトウェア、又はそれらのうちの少なくとも２つの組合せによって実施されていようと、少なくとも１つの動作を制御する任意のデバイス、システム又はその一部を意味する。任意の特定のコントローラに関連した関数は中央に集中していてもよいし、ローカルであれ遠隔的であれ分散していても良いことを言及しておく。本願明細書全体にわたり幾つかの語及び語句の定義が示されるが、当業者であれば、そのような定義は、殆どではないにしろ、多くの場合、このように定義された語及び語句の以前の用法及び将来の用法にも当てはまることを理解するであろう。幾つかの語は多様な実施の形態を含んでいるが、添付の特許請求の範囲における記載はこれらの語を特定の実施の形態に明示的に限定している。
【０００７】
本明細書及び本発明の利点をより完璧に理解するために、以下では、添付の図面を参照しながら本発明を説明する。図面において、同一の参照番号は同一の対象を表している。
【図面の簡単な説明】
【０００８】
【図１】実施形態が実施可能なデータ処理システムのブロック図を示す。
【図２】開示の実施形態にかかるＣＡＤパーツの群の例を示す。
【図３】開示の実施形態にかかるＣＡＤパーツの群の例を示す。
【図４】開示の実施形態にかかるシミュレーションオブジェクトの構成を示す。
【図５】開示の実施形態に係る定められた物理オブジェクトを用いた解決手段を示す。
【図６】本明細書中に開示される、プロキシボディを用いて、あるパーツについて、物理をどのように定めることができるかの例を示す。
【図７】開示の実施形態にかかる、２つのパーツを共に含む例における、ジオメトリおよび物理オブジェクトを示す。
【図８】開示の実施形態にかかる、衝突物体を含む物理オブジェクトを含むパーツの図を示す。
【図９】開示の実施形態にかかる２つのパーツの結合を示す。
【図１０】本明細書中に開示されるプロキシオブジェクトを定めるために、プロパティを入力するためのダイアログの例を示す。
【図１１】本明細書中に開示されるプロキシオーバライドのアタッチメントを設定するためのダイアログの例を示す。
【図１２】開示の実施形態にかかる処理のフローチャートを示す。
【発明を実施するための形態】
【０００９】
下記において説明する図１から図１２、また本明細書に開示されている原理を説明するために用いられる種々の実施の形態は単に説明を目的としたものに過ぎず、本発明の範囲を限定するものと解するべきではない。当業者であれば、本発明の原理は適切に構成されたあらゆる装置によって実現できることが分かるであろう。以下では、限定を意図したものではない実施例を参照しながら、本発明の多くの革新的な教示について説明する。
【００１０】
開示される実施形態には、３次元ＣＡＤのようなエンジニアリングツールまたは他のＰＤＭシステムの文脈における、新たなシミュレーションオブジェクトを特定するためのシステムおよび方法が含まれる。このような処理は、プロパティのリストとしてオブジェクトに対して内容およびインタフェースを定めるために用いられる。種々の実施形態では、プロキシオブジェクトはオーバライドされ、実際のリジッドボディによってパラメタ化される。ジオメトリオブジェクトを共有するプロキシおよびリジッドボディにのみ頼る代わりに、新たな直接アタッチメントフィールドがプロキシに加えられ、プロキシは代わりとして用いられるリジッドボディを指定しうる。
【００１１】
種々の実施形態では、プロキシボディは１つ以上の以下の態様を含みうる。実行時動作の態様は名前付きパラメタの集合によって記載される。実行時動作オーバライドの態様によれば、名前付きパラメタの集合の値をそのインスタンスにおいてオーバライドできる。カプセル化されたジオメトリの態様によれば、プロキシボディはジオメトリの集合を参照できる。アタッチメントリジッドボディの態様によれば、プロキシボディのインスタンスはリジッドボディにアタッチ可能である。この場合、プロキシボディのカプセル化されたジオメトリは、シミュレーションの間、リジッドボディとともに動きうる。そうでなければ、プロキシボディは静的状態でありうる。
【００１２】
図１は、たとえば、本明細書中に記載の処理を実行するよう構成されたＣＡＤシステムとして、一実施形態が実現可能なデータ処理システムのブロック図を示す。図示のデータ処理システムは、プロセッサ１０２を含んでおり、このプロセッサ１０２は２次キャッシュ／ブリッジ１０４に接続されている。２次キャッシュ／ブリッジ１０４はさらにローカルシステムバス１０６に接続されている。ローカルシステムバス１０６は、例えば、ＰＣＩ（peripheral component interconnect）アーキテクチャバスである。図示されている実施例におけるローカルシステムバスには、メインメモリ１０８及びグラフィックアダプタ１１０も接続されている。グラフィックアダプタ１１０をディスプレイ１１１に接続することもできる。
【００１３】
他の周辺装置、例えばローカルエリアネットワーク（ＬＡＮ）／ワイドエリアネットワーク／ワイヤレス（例えばＷｉＦｉ）アダプタ１１２もローカルシステムバス１０６に接続することができる。拡張バスインタフェース１１４は、ローカルシステムバス１０６を入力／出力（Ｉ／Ｏ）バス１１６に接続させる。Ｉ／Ｏバス１１６にはキーボード／マウスアダプタ１１８、ディスクコントローラ１２０及びＩ／Ｏアダプタ１２２が接続されている。ディスクコントローラ１２０を記憶装置１２６に接続することができ、この記憶装置１２６は機械使用可能又は機械読み出し可能なあらゆる適切な記憶媒体で良く、不揮発性のハードコーディングタイプの媒体、例えば読み出し専用メモリ（ＲＯＭ）又は電気的に消去及びプログラミング可能な読み出し専用メモリ（ＥＥＰＲＯＭ）、磁気タイプの記憶装置及びユーザ記録可能なタイプの媒体、例えばフロッピーディスク、ハードディスクドライブ及びコンパクトディスク読み出し専用メモリ（ＣＤ−ＲＯＭ）又はディジタル多目的ディスク（ＤＶＤ）及び他の公知の光学的、電気的又は磁気的な記憶装置がこれに含まれるが、記憶媒体はこれらの例に限定されるものではない。
【００１４】
図示されている例におけるＩ／Ｏバス１１６にはオーディオアダプタ１２４も接続されており、このオーディオアダプタ１２４には音声を再生するためにスピーカ（図示せず）を接続することができる。キーボード／マウスアダプタ１１８は、例えばマウス、トラックボール、トラックポインタ等のポインティングデバイス（図示せず）のためのコネクションを提供する。
【００１５】
当業者には、図１に図示されているハードウェアを特定の実施の形態のために変更できることは明らかである。例えば、他の周辺装置、例えば光学ディスクドライブ等も付加的に使用することができるか、又は、図示されているハードウェアの代わりに使用することができる。図示されている実施例は説明を目的としたものに過ぎず、本発明に関する構造的な制限を暗示することを意図したものではない。
【００１６】
本発明の実施の形態によるデータ処理システムは、グラフィカルユーザインタフェースを使用するオペレーティングシステムを含んでいる。オペレーティングシステムは複数のディスプレイウィンドウをグラフィカルユーザインタフェースにおいて同時に表示することができ、各ディスプレイウィンドウは種々のアプリケーションへのインタフェース又は同一のアプリケーションの種々のインスタンスへのインタフェースを提供する。ユーザはポインティングデバイスを介してグラフィカルユーザインタフェースにおけるカーソルを操作することができる。カーソルの位置を変更することができる、及び／又は、カーソルの位置として所望のレスポンスを起動させるために行われたイベント、例えばマウスボタンのクリックが考えられる。
【００１７】
商用の種々のオペレーティングシステムの内の一つ、例えばＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（登録商標）のバージョン（レドモンド（ワシントン州）に位置するＭｉｃｒｏｓｏｆｔ社の製品）を、適切に変更されている場合には使用することができる。オペレーティングシステムは、本明細書において説明する本発明に従い修正又は作成されている。
【００１８】
ＬＡＮ／ＷＡＮ／ワイヤレスアダプタ１１２を（データ処理システム１００の一部ではない）ネットワーク１３０に接続することができ、このネットワーク１３０として、当業者には周知であるような、公共又は私用のあらゆるデータ処理システムネットワーク、又は、ネットワークの組み合わせが考えられ、例えばインターネットが含まれる。データ処理システム１００はネットワーク１３０を介してサーバシステム１４０と通信することができ、このサーバシステム１４０もまたデータ処理システム１００の一部ではないが、例えば、別個のデータ処理システム１００として実施することができる。
【００１９】
以下により詳細に記載されるように、開示される実施形態には、製品データ管理（ＰＤＭ）システムに保存可能なプロキシボディおよびこれに付随するパラメタが含まれ、ＣＡＤシステムまたはＰＤＭシステムのいずれかにおいてパラメタの編集が可能である。プロキシオブジェクトは、オーバライド可能であり、実際のリジッドボディによってパラメタ化される。直接アタッチメントフィールドはプロキシと関連づけられ、その置換として用いられるリジッドボディを指定しうる。
【００２０】
シミュレーションにおいてプロキシボディが用いられるとき、いずれかのリジッドボディに接続されなければ、プロキシボディは静的ボディとして動作し、シミュレーションにおいて動かない。プロキシボディがリジッドボディに接続されているとき、プロキシボディのカプセル化されたジオメトリは、これが接続された（またはアタッチされた）リジッドボディとともに動きうる。
【００２１】
プロキシボディは、アタッチメントリジッドボディの使用を通じてアセンブリツリーの上位を「参照」しうる。この動作は本明細書中に開示されるようなプロキシボディなしには不可能である。
【００２２】
プロキシボディの作成を用いて、ユーザは、複数のジョイントと、他の複数の機構とを含む再使用パーツを構成することができる。当該他の複数の機構は、当該ジョイントが接続する複数のオブジェクトの１つのパーツがコンポーネントとしての再使用パーツを含む複数のパーツからできている。これによれば、場合により、ユーザは、時間、コストを節約し、処理を標準化することができる。
【００２３】
プロキシボディにおけるオーバライド動作によって、ユーザはプロキシボディのインスタンスを、オリジナルのプロキシボディとは異なるものに変えることができる。
【００２４】
本明細書中に開示されるプロキシボディ技術は、ＰＤＭシステムにおいて容易に拡張し、導入することができる。この場合、（ジオメトリの識別が必要なため、ＣＡＤシステムにおいて一般に行われる）オーサリングの際、プロキシボディにおけるパラメタは保存され、その後、ＰＤＭシステムにおいて単独で修正可能である。プロキシボディを含むパーツをＰＤＭシステムからＣＡＤシステムに検索する際、ＰＤＭシステムを用いて修正されたパラメタはＣＡＤシステムにおいて反映される。同様に、ＣＡＤシステムにおいて実行される保持された編集も、ＰＤＭシステムにおいて反映される。
【００２５】
ＣＡＤデータ中には、複数のデータ物（entities）（おそらくファイルに保存されしばしばパーツと呼ばれる）は、共に関連づけられて、複合オブジェクトを形成する。各データ物（またはパーツ）は、異なる場面において、異なるアセンブリで再使用でき、エンジニアは原始的な作業からすべてのデータ物を引き出さなければならない労力を節約することができる。
【００２６】
再使用可能なパーツを含ませる方法は、データ物の別の場面へのインポートを含む。データがインポートされたパーツは、アセンブリと呼ばれ、インポートされたデータは、コンポーネントと呼ぶことができるが、コンポーネントとアセンブリとの違いは、データ物が接続されるやり方のみである。所与のパーツは、いくつかのパーツに関するアセンブリとして、および、他の複数のパーツのためのアセンブリとして機能しうる。実際のデータインポートを実現する方法は、コンポーネントパーツから全てのデータをアセンブリに複製し、これにより、アセンブリ中の複製データをオリジナルのデータから独立させることを含む。
【００２７】
インポートは参照により実行されてもよく、この場合、オリジナルのパーツは共有されているデータのための唯一の入れ物である。この場合、パーツにおけるデータが修正されると、独立に、または、アセンブリから、アセンブリ中の当該パーツのデータの全ての複製が修正されると見なされる。本開示の目的のために、参照パーツファイル方法が推定されるが、本明細書中に開示される方法は、いずれの場合にも等しく適用可能である。
【００２８】
図２は、パーツがコンポーネントとしてどのように再利用可能であるかを示すＣＡＤパーツの群の例を示す。図２は、ＣＡＤデータ中に見いだされうるパーツの配置の例を示す。図中、各ボックスはパーツを表す。コンポーネントとこのコンポーネントの所有者との間の共通する方向が存在する。パーツは、コンポーネント自体ではありえない。同様に、パーツが、コンポーネント自体であるパーツのコンポーネントなどであることは許可されない。破線のボックスはアセンブリの文脈におけるパーツの使用を表す。コンポーネントは、アセンブリ中の同じジオメトリの複数のインスタンスを表すために必要なだけの回数含まれうる。本明細書中の例は、ピストンとクランクシャフトのアセンブリを表すが、勿論、開示される技術はこれらの例に限られない。
【００２９】
図中、コンポーネントパーツ２  ２０２は、ワークパーツ２００に２回含まれている。パーツは、異なるアセンブリのためのコンポーネントに対して同様に用いられてもよい。図中、コンポーネントパーツ１  ２０１は、コンポーネントパーツ２  ２０２およびコンポーネントパーツ３  ２０３に含まれている。これらのパーツはワークパーツに含まれているので、ワークパーツに含まれるコンポーネントパーツ１への３回の効率的な参照がある。コンポーネントパーツ４  ２０４は、この例ではワークパーツ２００にのみ含まれている。
【００３０】
図３はパーツの同じ構成を示すが、パーツのジオメトリの内容が明らかとされている。この例は、クランクシャフト（コンポーネントパーツ４  ３０４として）、および、複数の組のピストン（コンポーネントパーツ３  ３０３およびコンポーネントパーツ２  ３０２）を示し、クランクシャフトアセンブリの全てのパーツは、ワークパーツ３００によって表されている。データの各コンポーネントは、実際のＣＡＤアセンブリにおいて実現されうるように、論理的物体に分けられている。クランクシャフトは、コンポーネントパーツ４  ３０４である。シリンダヘッド（コンポーネントパーツ１  ３０１）は、標準ピストン（コンポーネントパーツ２  ３０２）およびマスタピストン（コンポーネントパーツ３  ３０３）によって共有されている。標準ピストンは、ここでは２回複製されている（この例が完了すればさらに４回複製される）。
【００３１】
シミュレーションオブジェクト：伝統的なＣＡＤは種々の製品を構成するために用いられるプランおよび図を表すことに関連している。３次元ＣＡＤは、面、ソリッドおよびジオメトリ拘束などの３Ｄジオメトリを表すために用いられる。さらに最近では、動きや力学などの種々の製品の動きをシミュレートする能力がＣＡＤツールにおいて利用可能とされている。たとえば、マルチボディシミュレーションが、表されたオブジェクトの動きを計算および分析可能とするＣＡＤデータに記載されたジオメトリ体に適用されうる。動きのアニメーションが記録および再生でき、可視化できる。この開示は、本明細書中に記載の技術が他の種類のシミュレーションシステムに一般化できるという理解での例について、マルチボディ物理の特定の実施を用いる。
【００３２】
図４は、物理的活動を表すように、シリンダヘッドおよびシャフトの構成にアタッチされうるシミュレーションオブジェクトの構成を示す。５つの物理オブジェクトが示されている。２つの円はリジッドボディオブジェクト、すなわち、リジッドボディシャフト４０２およびリジッドボディヘッド４０４を表す。リジッドボディはシミュレーションにおいて動く物を表す。シャフトにアタッチされた１つのリジッドボディ、および、ヘッドにアタッチされたもう１つのリジッドボディがあり、というのも、これらのジオメトリ体のそれぞれは独立に動きうるからである。点を有する矢印は、ＣＡＤ中のジオメトリデータ要素とリジッドボディ物理オブジェクトとの間の接続を示す。これにより、システムは、リジッドボディのプロパティ、たとえば、その質量や初期位置を知ることができ、さらに、シミュレーションが可視化されるべきときに、どのグラフィックオブジェクトがアニメーション化されるも示される。
【００３３】
菱型のボックスはヘッド４０４とシャフト４０２との間のヒンジジョイント４０６を示す。これは、ヘッドボディおよびシャフトボディとの間の動きが拘束され、これらが常に接続されており、破線矢印に示される軸に沿ってねじれうることを意味する。２つの長方形のボックス、すなわち、衝突シャフト４０８および衝突ヘッド４１０は、衝突面を表し、各ジオメトリ体に対して１つである。衝突物理オブジェクトは、所定の形状がこれらが結合されたときに互いに衝突することを表す。この場合、シャフト物理オブジェクト４０８は、シャフトリジッドボディ（シャフトジオメトリ）と同じジオメトリを共有しているため、シャフトの衝突面は、シャフトのリジッドボディと共に動き、シャフトは、シリンダヘッドなどの、シミュレーションにおける他の物理オブジェクトと衝突しうる。
【００３４】
物理オブジェクトは、互いに、パーツ内のジオメトリをも指す。本例では、ヒンジジョイントは、２つのリジッドボディのそれぞれを参照する。シャフトリジッドボディおよび衝突面はシャフトジオメトリを参照し、ヘッドリジッドボディおよび衝突面はシリンダヘッドジオメトリを参照する。複数のパーツを含むＣＡＤアセンブリを用いるとき、ＣＡＤアセンブリは特定の物理オブジェクトが作成可能な場所において拘束を課す。たとえば、いくつかのシステムでは、コンポーネントパーツ１において定められるジョイントは、コンポーネントパーツ３において定められるリジッドボディを参照することはできない。これは、コンポーネントパーツ３がコンポーネントパーツ１の所有者であり、リンクが階層において戻ることになるからである。他のやり方では、コンポーネントパーツ３におけるヒンジジョイントはコンポーネントパーツ１におけるリジッドボディを参照でき、というのも、コンポーネントの全てのパーツは所有者に既知であり利用可能だからである。
【００３５】
１つの解決手段は、この限定を受け入れるか、または、ジオメトリからの物理オブジェクトの分離を強めるかである。
【００３６】
図５は、全ての物理オブジェクトが、ジオメトリを定める最上位のパーツの所有者である唯一のパーツにおいて定められるようなソリューションを示す。この図中で、太線の矢印は、物理／シミュレーションパーツ５０２がワークパーツ５０４に関連づけられていることを示す。シミュレーションパーツ５０２に表される全てのリジッドボディ（円）は、ワークパーツ５０４の各パーツと関連づけられている。
【００３７】
この小例においても、定義が必要な物理オブジェクトの数は重要でありうること、および、再使用可能なようにパーツに物理オブジェクトを保存するという利点があることは明確である。物理オブジェクトは、コンポーネントパーツに割り当て可能であるが、オブジェクト間の接続を制御する拘束およびアクチュエータは、制御されているパーツの所有者であるパーツに常に置かれるべきである。これは、ジョイントの定義を、ジオメトリが定められるパーツの上位およびそれよりも上位に、かつ、ジオメトリが用いられるパーツに強制する。物理的システムの物理的意味および複雑性の大部分は、ジョイントおよび他の種の接続によって表されるので、これは、パーツに物理オブジェクトを保存するための地点について制限を課すこととなる。
【００３８】
プロキシボディの定義：開示の実施形態は、コンポーネントにおけるリジッドボディオブジェクトに対する代替として機能するように、プロキシボディオブジェクトを定義する。これにより、物理オブジェクト同士の接続がコンポーネントパーツに保存可能となり、かつ、依然として所有者パーツおよびその階層中の他のパーツと接続可能である。プロキシボディは本明細書中でプロキシオブジェクトともいう。
【００３９】
図６は、シリンダヘッドパーツに関する物理が、本明細書中に開示されるようにプロキシボディを用いて定義される方法の例を示す。シリンダヘッド６０２に関するワークパーツが、シミュレーションモデルにおいて、スライドジョイント６０４（破線軸で示される）、リジッドボディヘッド６０６および衝突ヘッド６０８と関連づけられている。シリンダヘッド６０２の「透視図」からは、ピストンシャフトを表すジオメトリおよびエンジンブロックを表すジオメトリは除かれている。これらのジオメトリは、他のパーツにおいて定義可能であり、複数の異なる可能なデザインの１つを用いて定められうる。しかし、シリンダのエンジンブロックとの関係は、シリンダパーツにおいてローカルに作成されうる。この例では、システムは、エンジンブロックを表すプロキシオブジェクト６１０を維持する。この場合、シリンダは、スライドジョイント６０４（標準的な線形のジョイント）を介してブロックに接続される。これは、リジッドボディヘッド６０６とプロキシオブジェクト６１０とを接続するスライドジョイント６０４として示されている。
【００４０】
ユーザがシミュレーションでシリンダパーツを動作させると、シリンダに対するリジッドボディはスライドジョイントに沿って自由に動きうる。リジッドボディがエンジンブロックに対して定められていないため、スライドジョイントのベースは、背景に接続されたとして取り扱われる。シリンダは落ちないが、背景に接続されたジョイント上をスライドする。
【００４１】
図７は、２つのパーツを共に含む例として、マスタピストンパーツ７０２に関する物理オブジェクトおよびジオメトリを示す。マスタピストン７０２は、シリンダヘッドオブジェクト７０４をインポートし、これにより、当該コンポーネントにおいてそれ自体の定義で定義されているジオメトリおよび物理を用いることができる。ここで、ヒンジジョイント７１４は、ピストンシャフト７１２に関するリジッドボディオブジェクトと、シリンダヘッド７０４（シミュレーションにおいてリジッドボディヘッド７１６として表される）との間に作成される。同様に、ヒンジジョイント７１０は、リジッドボディシャフト７１２とクランクプロキシボディ７０８との間に作成される。ジョイントまたは他の意味的オブジェクトがアセンブリパーツにおいて定義可能な場合には、プロキシオブジェクトは適用の必要が無い。シリンダヘッドに関するリジッドボディ７１６はコンポーネントにあり、ヒンジが定義されるマスタピストンパーツからアクセス可能である。ユーザは、アセンブリ中でヒンジを定めるオプションを有し、プロキシボディは必要でないか、または、プロキシボディは、接続されるオプションのリジッドボディを参照するためにプロキシが用いられるコンポーネントにある。衝突シャフト７０６は、ピストンシャフトに関する衝突オブジェクトとして維持される。
【００４２】
ピストンとエンジンのクランクとの接続に関して、クランクは未だ別のパーツであり、マスタピストンパーツにおいて定義されない。
【００４３】
図８は、衝突オブジェクト８０６を含む物理オブジェクトを含むクランクシャフトパーツ８０２の図である。プロキシオブジェクト８０４は、ユーザがそれを用いたいと望む場合に、エンジンブロックとの接続に関して定義され、この場合、クランクリジッドボディ８０８は、ヒンジジョイント８１０によってプロキシオブジェクト８０４に接続される。クランクシャフト８０２のシミュレーションをそれ自身で動作させることにより、クランクシャフトを背景に接続された軸８１２の周りに回転させることができる。
【００４４】
図９は、クランクシャフト９０４とマスタピストン９０２との結合を示す。ここで、ユーザは、既製のヒンジジョイント（図示せず）を用いてクランクシャフトにピストンを接続させたいと望む。この例では、ピストンが接続されるリジッドボディ９０６は、マスタピストンパーツにもなく、所有者パーツにもない。リジッドボディ９０６は、スライド部分、クランクシャフトのリジッドボディ９０６にある。開示の実施形態において、この例は、マスタピストンパーツ、「プロキシクランク」９０８におけるプロキシボディのオブジェクトがプロキシオーバライドオブジェクト９１０を用いてどのようにオーバライドされるかを示す。プロキシオーバライドは、パーツに保存されたプロキシボディオブジェクトに関して作成される。この例では、クランクプロキシオブジェクトは、クランクシャフトパーツにおけるリジッドボディオブジェクトにその後接続されるプロキシオーバライドオブジェクトを定めるために用いられる。
【００４５】
オーバライドがパーツの境界を越えて接続する能力は、開示の実施の形態の重要な特徴である。リジッドボディオブジェクトの定義についてのみに頼る場合、リジッドボディを含むパーツの子供であるパーツに関するプロキシボディをパラメタ化できるのみである。
【００４６】
プロキシオーバライドを用いることにより、代わりに、リンクを種々の構成のパーツの間で容易にリンク作成可能である。
【００４７】
プロキシボディの意味：プロキシボディは、リジッドボディの代替として機能するため、「プロキシ」として本明細書中で示される。これによって、再使用が意図されるパーツにおける実際のリジッドボディの存在があり得ない、再使用可能なパーツのシナリオにおいて大きな利点が提供される。ピストンとクランクシャフトの例では、エンジンブロックコンポーネントに対して許容が設けられたが、何も利用可能とされていなかった。異なる例では、エンジンブロックは、シミュレーションの要素であってもよい。シミュレーションの観点から、エンジンとともに、パーツが、エンジンブロックが存在するかのように互いに対してなお動くことが重要である。
【００４８】
ブロック無しでクランクシャフトとピストンのアセンブリを動作させると、オブジェクトがその場にとどまることが予想される。クランクシャフトはそのロータリヒンジジョイント上を回転し、シリンダは線形のスライドジョイント上をスライドする。ユーザはオブジェクトが落下することは予想しないが、背景にアタッチされたままである。しかし、エンジンブロックのリジッドボディが定められると、クランクシャフトの回転軸およびシリンダのスライド軸はブロックの動きに接続される必要がある。エンジンが動くと、内部のパーツはエンジンと共に動く。いくつかのパーツが背景に接続されると、これらはエンジンブロックを束縛し、適当に動くことを許さない。
【００４９】
プログラミングの感覚では、プロキシボディは再使用可能なパーツに関するパラメタとして機能する。パラメタはリジッドボディをその値としてとり、リジッドボディを、プロキシボディに接続されたパーツ内のすべてのオブジェクトに関する値として挿入する。
【００５０】
プロキシボディの構造：本発明において定められるプロキシボディは、オブジェクトであり、ユーザが設定可能ないくつかのプロパティを定義する。プロキシボディの主要な特性は、他のオブジェクトが参照としてプロキシボディを利用できるようなパーツ中に存在することである。プロキシボディのプロパティは、ユーザが定義した、名称−値属性の対の集合、ジオメトリオブジェクトの集合および物理オブジェクトの集合である。これらのプロパティは、オプションであり、ユーザは全てを使う必要無く、必要なものを設定することができる。
【００５１】
図１０は、本明細書中に開示されるようなプロキシオブジェクトを定めるためにこれらのプロパティを入力するためのダイアログの例を示す。本例に示されるように、システムは、パラメタ、ならびに、関連づけられた名称、タイプ、値、カプセル化物理、ジオメトリ要素、プロキシ名称および他の情報を含むパラメタ属性としてプロキシボディに関するこのような情報をユーザに促し、受け付ける。
【００５２】
ジオメトリリストは、それがリジッドボディオブジェクトに対するものと同じように働く。リジッドボディは意味的に、シミュレーションにおいてオブジェクトが動く能力を提供する。ジオメトリオブジェクトのリストは、どのジオメトリオブジェクトが動くべきかを定める。プロキシボディは、それ自身で動かないが、動くリジッドボディに接続されたときにそのジオメトリオブジェクトが動く。プロキシボディに保存されたジオメトリオブジェクトのリストは、プロキシボディが接続された何らかのリジッドボディと共に動く。
【００５３】
システムは、また、共有されたジオメトリを用いて、衝突面およびトリガ領域がシミュレーションにおいてどのように動作するかを決定することができる。衝突面は、ジオメトリオブジェクトのリストにアタッチされ、衝突面の対が相互作用することを防ぐ拘束を決定する。トリガは、同様に、ジオメトリオブジェクトのリストにアタッチされる。シミュレーションにおけるトリガの動作は、衝突面を有するオブジェクトがアタッチされたジオメトリのボリュームを衝突面が通過する時に、トリガが反応するというものである。リジッドボディおよびトリガまたは衝突面が１つ以上のジオメトリオブジェクトを共有する場合、アタッチされたオブジェクトはリジッドボディとともに動く。リジッドボディとジオメトリを共有しないトリガまたは衝突面は、動かない。
【００５４】
トリガまたは衝突面がジオメトリをプロキシボディと共有する場合、その意味は、プロキシボディがリジッドボディにアタッチされない場合に、これらが動かないままであるということである。プロキシボディがリジッドボディにアタッチされる場合、そのプロキシボディに関連づけられた衝突面およびトリガは、アタッチされたリジッドボディとともに動く。
【００５５】
名称−値属性の対および物理オブジェクトのリストは、再使用パーツと相互作用するために用いることができるプロキシを介したインタフェースを提供する。これらはリジッドボディに関してシミュレーションの動作に必ずしも影響しない。
【００５６】
プロキシオーバライド：プロキシオーバライドはプロキシボディの定義から独立したものとして表示される必要は無い。ユーザの観点から、オーバライドの作成は所有者パーツからプロキシボディを編集する際に見られうる。それがどのように示されるかにかかわらず、開示の実施形態では、サブパーツ内のプロキシボディのインスタンスに対応するプロキシオーバライドオブジェクトを作成できる。
【００５７】
図１１は、本明細書中に開示されるようにプロキシオーバライドのアタッチメントの設定のためのダイアログの例を示す。パーツが、プロキシボディを含む同じアセンブリに複数回含まれる場合、唯一のプロキシオーバライドが各パーツに対するそのプロキシボディのために作成されてもよい。たとえば、図３中、ワークパーツ３００は、最上位レベルのアセンブリである。シリンダヘッド６０２を含むコンポーネントパーツ１  ３０１（図６に詳細に示される）は、「プロキシブロック」６１０という名称のプロキシボディを定める。すなわち、ワークパーツのアセンブリにおいて、「プロキシブロック」のプロキシボディに対して最大３つのプロキシオーバライドを作成することができる。１つはマスタピストンにより提供されるプロキシに対してであり、２つ以上は、標準的なピストンそれぞれに対してである。
【００５８】
プロキシオーバライドによって、ユーザは、図１１に示されるように、所望のリジッドボディに対するアタッチメントを設定することができる。プロキシボディはリジッドボディの代わりとなりうるので、別のプロキシボディに対するアタッチメントを設定することもできる。システムは、自身に戻ってくるチェーンにおいてプロキシオーバライド同士が互いに指定するループを作成することをユーザが妨げるか確認することができる。しかし、ループを妨げることは必ずしも必要ではない。ループは、実行時に検出可能であり、この場合にいかなる実際のリジッドボディにも接続されないと解釈できる。
【００５９】
実行時の動作：プロキシボディは、典型的には、シミュレーション実行時には能動的な要素ではないが、その意味は他のオブジェクトの動作に影響する。種々の物理オブジェクトが作成される順序が図１２に示されている。第１に、衝突面およびトリガのようなサブボディが作成される。これらのオブジェクトは、その使用がリジッドボディがこれらの動きを生じさせるかによって記述されるので、最初に形成される。第２に、リジッドボディが形成される。リジッドボディは、それが影響する衝突面およびトリガに結びつけられ、プロキシボディの前に作成され、これにより、リジッドボディにアタッチされたこれらのプロキシは、これらがアタッチされたリジッドボディを見いだすことができる。第３に、プロキシボディが形成される。プロキシオーバライドのアタッチメントフィールドはどのプロキシボディがリジッドボディに変換されるかを決定するために用いられる。アタッチメントによって別のプロキシボディが指定される場合、リジッドボディが発見されるか；チェーンが空のアタッチメントでもって終了するか；またはチェーンが従前のプロキシボディまでループが戻るまで、プロキシのチェーンは続く。後の２つの場合、プロキシボディはそれを参照する他のオブジェクトに適用される物理的動きの無い静的オブジェクトとして動作する。最初の１つの場合、リジッドボディはその値としてプロキシボディに結びつけられる。プロキシを指すジョイントはリジッドボディを用いるために作成される。プロキシとジオメトリを共有するサブボディはジオメトリをリジッドボディと共有するとして取り扱われる。
【００６０】
プロキシボディの質量のプロパティは、プロキシボディの設定においてジオメトリ要素のリストを用いて計算できる。プロキシがリジッドボディにアタッチされるとき、プロキシの質量のプロパティがリジッドボディのプロパティに加えられる。これには、線形の慣性質量および慣性の回転モーメントの両方が含まれる。複数のプロキシボディが１つのリジッドボディにアタッチされるとき、各プロキシの質量のプロパティが独立に加えられて、総計が得られる。また、シミュレーションの精度が重要でなければ、プロキシボディの質量プロパティを無視でき、リジッドボディにこのようなプロパティを加えなくともよい。
【００６１】
オブジェクト作成の第４のステップでは、シミュレーションのための拘束およびジョイントが形成される。プロキシボディは従前のステップにおける特定のリジッドボディに結び付けられる（または静的であると決定される）ので、実際のリジッドボディはプロキシボディを参照するジョイントと関連づけられうる。
【００６２】
実行時のプロキシのシミュレーション効果は、特定の物理を何ら計算する必要無しで、データを保持する方法だけであってよい。１つのあり得る効果は、シミュレーション中にプロキシのアタッチメント値を変えることができることである。この場合、プロキシボディとの参照を共有するサブボディおよびジョイントは、アタッチメントにより指定される何らかのリジッドボディに変えられる必要がある。アタッチメントは他のプロキシボディを指定しうるので、チェーンまたはループの終端を見いだすための同じ探索プロセスを用いる必要がある。プロキシボディの質量プロパティはアタッチされたリジッドボディの質量プロパティに作用するために用いることができる。アタッチメントが、あるボディから別のボディに変わるとき、プロキシボディの質量プロパティは、それが元々アタッチされたリジッドボディから引かれ、そして、プロキシがアタッチされることになる新たなリジッドボディにアタッチされうる。新たなアタッチメントが無い場合、参照されたサブボディおよびジョイントは背景に静的であることとなる。同様に、プロキシボディが元々アタッチメントを有しておらず、後にリジッドボディにアタッチされる場合、サブボディおよびジョイントの静的なプロパティは動的となる。
【００６３】
シミュレーション中の複製：実行時シミュレーションによって、物理オブジェクトはシミュレーションの実行中に複製できる。これは、一度に１つのオブジェクトまたは一群のオブジェクトについて起こりうる。たとえば、システムは、所与のコンポーネントパーツに保存された全ての物理をシミュレーション実行中に複製可能とし、相互に重なるシミュレーションの他の要素について動的に生成されたオブジェクトを提供しうる。
【００６４】
プロキシが、複製すべきオブジェクトの集合において定められる場合、プロキシオブジェクト自体は物理オブジェクトであるとして複製されてもよい。プロキシオブジェクトは、リジッドボディに対するアタッチメント以外の他のデータを保存しうるため、プロキシのパラメタは複製され、式または他のシミュレーションの動作がそこに値を保存し、同様にこれらの値を他のオブジェクトに送ってもよい。
【００６５】
プロキシボディは、それがアタッチされるリジッドボディから独立したコンポーネントにあるので、シミュレーション中に相手を複製することなしに、自分または相手は複製されうる。両方のオブジェクトが共に複製されるかどうかの典型的な解釈は、プロキシボディのアタッチメントがリジッドボディの複製の結果に対する参照に変換されることである。すなわち、プロキシボディの要素、たとえば、接続されたジョイントとサブボディは、同様に変換される。プロキシボディは複製されるがリジッドボディは複製されない場合、新たなプロキシボディはアタッチメント値を有しないと見なすことができる。接続されたジョイントおよびサブボディは静的とされる。この場合の複製は、オリジナルのリジッドボディに同様にアタッチされている新たなプロキシとみなすことができる。接続されたジョイントおよびサブボディはオリジナルのリジッドボディに接続され、プロキシボディの質量プロパティはそのリジッドボディの質量プロパティに加えられる。リジッドボディが、アタッチされたプロキシボディの複製無しに複製される場合（いくつかのプロキシボディは複製されるが他はされない）、そのプロキシボディからの接続は新たなリジッドボディに変換されない。リジッドボディはオリジナルから複製されるが、プロキシが接続された要素に対応する要素も同様に複製される必要がある。
【００６６】
開示される実施形態は、接続されたデータまたはファイルのツリーを介したパーツの再使用をサポートするＣＡＤまたはＰＤＭデータ処理システムに特に用いることができる。これは、リジッドボディオブジェクトへの接続を、再使用可能なパーツにおいてローカルに保存されたプロキシボディオブジェクトの使用を介して間接的に行うことを可能にする。アセンブリ中にパーツのインスタンスを作成する際、プロキシボディはアセンブリの範囲内にある任意のパーツ中のプロキシオーバライドオブジェクトを介して実際のリジッドボディにリンク可能である。開示の実施形態は、パーツとともにオブジェクトをローカルに保存し、または、特定のパーツと関連づけ可能な任意のシステムにおいて同様に用いることができ、この際、これらのオブジェクトは、参照プロパティを有し、オブジェクトは他のオブジェクトにリンクされ、ツールの意味が設定される。
【００６７】
図１２は、たとえばＣＡＤ、ＰＬＭまたはＰＤＭシステムにより実施可能な開示の実施形態に関連する処理のフローチャートを示す。
【００６８】
システムはパーツモデルを受け付ける（１２０５）。本明細書中で用いられるとき、「受け付ける」とは、記憶装置からのロード、別の装置またはプロセスからの受信、ユーザとの対話を介した受信またはその他のものをいう。パーツモデルとは、図３〜９に示されるような、データ処理システムにより保持される、パーツまたは他のオブジェクトのモデル、あるいは、コンポーネントパーツのアセンブリのモデルである。
【００６９】
システムは、パーツモデルに対応するサブボディを作成することができる（１２１０）。これらのサブボディは、衝突面およびトリガを含んでよく、パーツモデルの各要素と関連づけされていてよい。サブボディは、ユーザとの対話時に作成可能である。本明細書中に記載されるようにオブジェクトモデルがパーツモデルに「対応する」と記載されるとき、当該オブジェクトは全般にパーツモデルに含まれるかまたはその一部であるが、パーツモデルのいくつかまたはその全てに対する定められた関係を有する独立したオブジェクトとして維持されうる。
【００７０】
システムは、パーツモデルに対応する１つ以上のリジッドボディを形成する（１２１５）。リジッドボディは、ユーザとの対話時に形成されてよく、パーツモデルの各要素と関連づけされていてよい。リジッドボディは、衝突面およびトリガの各１つと関連づけされていてよく、リジッドボディはこれらの関連づけられたサブボディの使用および動きを定めることができる。
【００７１】
システムは、パーツモデルと関連づけられた１つ以上のプロキシボディを作成する（１２２０）。プロキシボディは、ユーザとの対話時に作成可能である。プロキシボディは、パーツモデルの一部ではないが、パーツモデルと相互作用するリジッドボディであるリジッドボディを表しうる。このステップは、リジッドボディまたはパーツモデルの他のボディを、直接に各プロキシボディにアタッチさせることを含みうる。このステップは、プロキシボディをリジッドボディに変換することを含みうる；プロキシオーバライドのアタッチメントフィールドは、どのプロキシボディがリジッドボディに変換されるかを決定するために用いることができる。
【００７２】
アタッチメントによって別のプロキシボディが指定される場合、リジッドボディが発見されるか；チェーンが空のアタッチメントで終端するか；またはチェーンが従前のプロキシボディまでループが戻るまで、プロキシのチェーンは続く。後の２つの場合では、プロキシボディは、それを参照する他のオブジェクトに適用される物理的動きの無い静的オブジェクトとして働く。最初の場合では、リジッドボディはその値としてプロキシボディに結びつけられる。プロキシを指すジョイントはリジッドボディを用いるために作成される。プロキシとジオメトリを共有するサブボディは、リジッドボディとジオメトリを共有するとして取り扱われる。
【００７３】
このステップは、プロキシボディの設定におけるジオメトリ要素のリストを用いて計算されるプロキシボディに質量プロパティを割り当てることを含みうる。プロキシがリジッドボディにアタッチされるとき、プロキシの質量プロパティはリジッドボディの質量プロパティに加えられる。これには、線形の慣性質量および慣性の回転モーメントが含まれる。複数のプロキシボディが１つのリジッドボディにアタッチされるとき、各プロキシの質量プロパティが独立に加えられて総計が得られる。シミュレーションの精度が重要でなければ、プロキシボディの質量プロパティを無視し、リジッドボディにこのようなプロパティを加えないようにしてもよい。
【００７４】
システムは、拘束オブジェクトを形成する（１２２５）。拘束オブジェクトには、ジョイント、拘束、および、シミュレーションに対して用いられる他のオブジェクトが含まれる。プロキシボディは、従前のステップで特定のリジッドボディにそれぞれアタッチ可能である（または、静的であると決定されてもよい）ので、実際のリジッドボディはプロキシボディを参照するジョイントと関連づけられてもよい。
【００７５】
システムは、次いで、パーツモデルおよび関連づけられたサブボディ、リジッドボディ、プロキシボディおよび拘束オブジェクトを保存することができる。システムは、他のモデルまたはアセンブリにおけるパーツモデルおよび関連づけられたサブボディ、リジッドボディ、プロキシボディおよび拘束オブジェクトを再使用することができる。システムは、関連づけられたサブボディ、リジッドボディ、プロキシボディおよび拘束オブジェクトに従ってパーツモデルをシミュレーションすることができる（１２３０）。実行時のプロキシのシミュレーション効果は任意の特定の物理を計算すること無しにデータを保持する方法のみであってよい。
【００７６】
開示の実施形態により、シミュレーションシステムをモデリングする新たな方法が提供される。これらの方法によって、より簡便な再使用シナリオが可能となる。本明細書中に開示される技術を用いて、ユーザはテストパーツをより容易に構築でき、それはまた、ユーザに、すでに製造中の再使用コンポーネントパーツを変更すること無しに、上位のアセンブリ中のオブジェクトを交換する機会を与える。
【００７７】
プロキシボディのインスタンスはオリジナルのプロキシボディとは異なる動作を示しうるため、ユーザはモデリングにおける時間とコストを節約することができる。開示の実施形態の再使用の態様は、大きく生産性を向上させうる。ユーザはシミュレーションモデルを再構築する必要は無い。ユーザはシミュレーションパーツライブラリに構築されたパーツを利用し、より複雑なアセンブリを構築しまたは「仮説（what if）」検討を行うことができる。ユーザは、上位のアセンブリ中の物理オブジェクトを、再使用パーツからのプロキシオブジェクトに単にアタッチして、必要な検討を行うことができる。
【００７８】
他の商業的なシミュレーションソフトウェアは同様の能力を有していない。ユーザは、各検討について特定のシミュレーションモデルを構築する必要がある。
【００７９】
当業者であれば、単純且つ明確にするために、本発明を用いた使用に適した全てのデータ処理システムの完全な構造及び動作は本明細書において図示又は説明していないことが分かる。その代わりに、本発明に固有のデータ処理システム又は本発明の理解のために必要なデータ処理システムのみを図示及び説明している。データ処理システム１００のその他の部分の構造及び動作は、当業者には公知である現行の種々の任意の実施の形態に従うもので良い。
【００８０】
本明細書には完全に関数的なシステムの文脈での記述が含まれているが、当業者であれば、本発明のメカニズムの少なくとも一部は種々の任意の形態の機械使用可能、コンピュータ使用可能又はコンピュータ読み出し可読な媒体に記録された命令の形態で配布できること、また本発明はその配布物を実際に実行するために使用される特定のタイプの命令又は信号が記録されている媒体又は記憶媒体に関係なく同様に適用されることを理解するであろうということを言及することは重要である。それらの命令は、実行されれば、データ処理システムに本明細書において説明した方法を実施させることができる。機械使用可能／機械読み出し可能又はコンピュータ使用可能／コンピュータ読み出し可能な媒体の例には、不揮発のハードコーディングタイプの媒体、例えば読み出し専用メモリ（ＲＯＭ）又は電気的に消去及びプログラミング可能な読み出し専用メモリ（ＥＥＰＲＯＭ）及びユーザ記録可能なタイプの媒体、例えばフロッピーディスク、ハードディスクドライブ及びコンパクトディスク読み出し専用メモリ（ＣＤ−ＲＯＭ）又はディジタル多目的ディスク（ＤＶＤ）が含まれる。
【００８１】
本開示の例示的実施形態について詳細に説明したが、当業者は本明細書中に開示された種々の変更、置換、変形および改善がその最も広い形態での開示の範囲および根本から逸脱せずになしうることを理解するであろう。
【００８２】
本願の詳細な説明は、いかなる特定の要素、ステップまたは機能が特許請求の範囲に含まれる必要のある不可欠な要旨であることを意味するものとして読まれるべきではなく、特許付与された発明の範囲は登録された請求項によってのみ定められる。
【符号の説明】
【００８３】
１００  データ処理システム
１０２  プロセッサ
１０４  キャッシュ／ブリッジ
１０６  ローカルシステムバス
１０８  メインメモリ
１１０  グラフィックアダプタ
１１１  ディスプレイ
１１２  ローカルエリアネットワーク／ワイドエリアネットワーク／ワイヤレスアダプタ
１１４  拡張バスインタフェース
１１６  入力／出力バス、Ｉ／Ｏバス
１１８  キーボード／マウスアダプタ
１２０  ディスクコントローラ
１２２  Ｉ／Ｏアダプタ
１２４  オーディオアダプタ
１２６  記憶装置
１３０  ネットワーク
１４０  サーバシステム
２００  ワークパーツ
２０１  コンポーネントパーツ１
２０２  コンポーネントパーツ２
２０３  コンポーネントパーツ３
２０４  コンポーネントパーツ４
３００  ワークパーツ
３０１  コンポーネントパーツ１
３０２  コンポーネントパーツ２
３０３  コンポーネントパーツ３
３０４  コンポーネントパーツ４
４０２  リジッドボディシャフト
４０４  リジッドボディヘッド
４０６  ヒンジジョイント
４０８  衝突シャフト
４１０  衝突ヘッド
５０２  物理／シミュレーションパーツ
５０４  ワークパーツ
６０２  シリンダヘッド
６０４  スライドジョイント
６０６  リジッドボディヘッド
６０８  衝突ヘッド
６１０  プロキシブロックパーツ、プロキシブロック
７０２  マスタピストンパーツ、マスタピストン
７０４  シリンダヘッドオブジェクト
７０６  衝突シャフト
７０８  プロキシクランク
７１０  ヒンジジョイント
７１２  ピストンシャフト
７１４  ヒンジジョイント
７１６  リジッドボディヘッド
８０２  クランクシャフトパーツ
８０４  プロキシブロック
８０６  衝突クランク
８０８  リジッドボディクランク
８１０  ヒンジジョイント
８１２  軸
９０２  マスタピストン
９０４  クランクシャフト
９０６  リジッドボディ
９０８  プロキシクランク
９１０  プロキシオーバライドクランク、プロキシオーバライドオブジェクト
１２０５  パーツモデルを受け付け
１２１０  サブボディを作成
１２１５  リジッドボディを作成
１２２０  プロキシボディを作成
１２２５  拘束オブジェクトを作成
１２３０  モデルおよびオブジェクトを保存および／またはシミュレーション
ＡＳＩＣ  特定目的用集積回路
ＣＡＤ  コンピュータ支援設計
Ｉ／Ｏ  入力／出力
ＬＡＮ  ローカルエリアネットワーク
ＰＣＩ  ペリフェラルコンポーネントインターコネクト
ＰＤＭ  製品データ管理
ＰＬＭ  製品ライフサイクル管理
ＷＡＮ  ワイドエリアネットワーク
【図１】
2015522870.tif 000003
【図２】
2015522870.tif 000004
【図３】
2015522870.tif 000005
【図４】
2015522870.tif 000006
【図５】
2015522870.tif 000007
【図６】
2015522870.tif 000008
【図７】
2015522870.tif 000009
【図８】
2015522870.tif 000010
【図９】
2015522870.tif 000011
【図１０】
2015522870.tif 000012
【図１１】
2015522870.tif 000013
【図１２】
2015522870.tif 000014
【国際調査報告】
2015522870.tif 000015
2015522870.tif 000016
2015522870.tif 000017