(57)【特許請求の範囲】
【請求項１】
三次元シーンにおいてオブジェクトの三次元モデル化アセンブリを設計するためのコンピュータ実装方法であって、
前記三次元シーンにおいて三面体の事前に規定されたセットを位置付けおよび方位付けするステップであって、それぞれの三面体が位置と方位とを規定する、位置付けおよび方位付けするステップと（Ｓ１００）、
オブジェクトのセットを提供するステップ（Ｓ１２０）と、
オブジェクトの前記セットのそれぞれのオブジェクトを三面体の前記事前に規定されたセットの対応する１つの三面体に取り付けるステップ（Ｓ１３０）と、
三面体の前記事前に規定されたセットの前記対応する三面体の前記位置と前記方位とに従って、それぞれのオブジェクトを位置付けおよび方位付けするステップ（Ｓ１４０）と
を含み、
それぞれのオブジェクトを位置付けおよび方位付けする前記ステップは、その対応する三面体に取り付けられた前記セットの第ｎ番目のオブジェクトに関する調整行列ＭＡnに従って実行されることを特徴とする方法。
【請求項２】
前記調整行列ＭＡnは、関係ＭＡn＝（ＭＳＴn）−１×Ｏnによって規定され、
式中、ＭＳＴnが、前記３Ｄシーンにおける前記セットの第ｎ番目の三面体の配置行列であり、Ｏnが、前記３Ｄシーンにおいて三面体の前記事前に規定されたセットの前記第ｎ番目の三面体に取り付けられた前記セットの前記第ｎ番目のオブジェクトの配置行列であることを特徴とする請求項１に記載のコンピュータ実装方法。
【請求項３】
前記調整行列ＭＡnは、オブジェクトの前記セットのそれぞれのオブジェクトに関して同一であることを特徴とする請求項２に記載のコンピュータ実装方法。
【請求項４】
三面体の前記事前に規定されたセットは、既存のオブジェクトのパターンから推論されることを特徴とする請求項１乃至３のうちのいずれか１項に記載のコンピュータ実装方法。
【請求項５】
三面体の前記事前に規定されたセットは、パターンライブラリ内に記憶されたパターンから取り出されることを特徴とする請求項１乃至３のうちのいずれか１項に記載のコンピュータ実装方法。
【請求項６】
オブジェクトのセットを提供する前記ステップは、
少なくとも１つのオブジェクトを選択するステップと、
前記選択された少なくとも１つのオブジェクトの複数のインスタンスを計算するステップと
を含むことを特徴とする請求項１乃至５のうちのいずれか１項に記載のコンピュータ実装方法。
【請求項７】
オブジェクトの前記セットのそれぞれのオブジェクトを取り付ける前記ステップは、前記セットのそれぞれのオブジェクトに関連するリンクに従って実行されることを特徴とする請求項１乃至６のうちのいずれか１項に記載のコンピュータ実装方法。
【請求項８】
三面体の前記事前に規定されたセットを位置付けおよび方位付けする前記ステップは、三面体の前記事前に規定されたセットに制約を加えるステップをさらに含むことを特徴とする請求項１乃至７のうちのいずれか１項に記載のコンピュータ実装方法。
【請求項９】
三面体の前記事前に規定されたセットを位置付けおよび方位付けする前記ステップは、三面体の前記事前に規定されたセットの前記三面体の相対的位置を修正するパラメータを適用するステップをさらに含むことを特徴とする請求項１乃至８のうちのいずれか１項に記載のコンピュータ実装方法。
【請求項１０】
三面体の前記事前に規定されたセットをグラフィカルユーザインターフェース内に表示するステップ
をさらに含むことを特徴とする請求項１乃至９のうちのいずれか１項に記載のコンピュータ実装方法。
【請求項１１】
三面体の前記事前に規定されたセットの前記位置および前記方位は、前記三次元シーンにおいて自由に設定可能であることを特徴とする請求項１乃至１０のうちのいずれか１項に記載のコンピュータ実装方法。
【請求項１２】
それぞれのオブジェクトを位置付けおよび方位付けする前記ステップは、制約と同時に解決されることを特徴とする請求項１乃至１１のうちのいずれか１項に記載のコンピュータ実装方法。
【請求項１３】
命令を備えたコンピュータプログラムであって、前記命令は、コンピュータによって実行されると、請求項１乃至１２のいずれか１項に記載の方法を実行させることを特徴とするコンピュータプログラム。
【請求項１４】
請求項１３に記載のコンピュータプログラムを記録していることを特徴とするコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータプログラムおよびコンピュータシステムの分野に関し、より詳細には、三次元シーンにおいてオブジェクトの三次元モデル化されたアセンブリ（以下、三次元モデル化アセンブリ）を設計するための方法、システム、およびプログラムに関する。
【背景技術】
【０００２】
オブジェクトの設計、エンジニアリング、および製造に関して、いくつかのシステムならびにプログラムが市場で提供されている。ＣＡＤは、コンピュータ支援設計の頭文字であり、例えば、ＣＡＤは、オブジェクトを設計するためのソフトウェアソリューションに関する。ＣＡＥは、コンピュータ支援エンジニアリングの頭文字であり、例えば、ＣＡＥは、将来の製品の物理的な動きをシミュレートするためのソフトウェアソリューションに関する。ＣＡＭは、コンピュータ支援製造の頭文字であり、例えば、ＣＡＭは、製造プロセスおよび製造作業を規定するためのソフトウェアソリューションに関する。そのようなコンピュータ援用設計システムにおいて、グラフィカルユーザインターフェースは、技術の効率性に関して重要な役割を果たす。これらの技術は、プロダクトライフサイクルマネジメント（ＰＬＭ）システム内に組み込むことが可能である。ＰＬＭは、企業が製品データを共有し、共通のプロセスを適用し、拡張された企業の概念を通して、構想から製品寿命の終了まで、製品の開発に関する企業知識を活用するのを支援するビジネス戦略を指す。
【０００３】
（ＣＡＴＩＡ、ＥＮＯＶＩＡ、およびＤＥＬＭＩＡの商標の下で）Ｄａｓｓａｕｌｔ  Ｓｙｓｔｅｍｅｓによって提供されるＰＬＭソリューションは、製品工学知識を組織化するエンジニアリングハブと、製造工学知識を管理する製造ハブと、企業がエンジニアリングハブと製造ハブの両方に統合して、関連することを可能にするエンタープライズハブとを提供する。このシステムは全体として、最適化された製品定義、製造準備、生産、およびサービスを推進する動的な、知識ベースの製品作成および製品決定サポートを可能にする開放型オブジェクトモデル連結製品、プロセス、リソース（ｏｐｅｎ  ｏｂｊｅｃｔ  ｍｏｄｅｌ  ｌｉｎｋｉｎｇ  ｐｒｏｄｕｃｔｓ、ｐｒｏｃｅｓｓｅｓ、ｒｅｓｏｕｒｃｅｓ）を提供する。
【０００４】
ＣＡＤシステムは、アセンブリ関連のスケッチから反復的な詳細設計まで、精密な３Ｄ部品を設計するための直観的で柔軟なユーザインターフェースを提供する。そのようなソリューションは、特徴ベースの設計の能力をブール手法の柔軟性と組み合わせて、設計後の局所的な３Ｄパラメータ化など、多数の設計方法論を備えた、非常に生産性が高く、直観的な設計環境を提供するＣＡＴＩＡ  Ｐａｒｔ  Ｄｅｓｉｇｎ（商標）アプリケーションによって提供される。
【０００５】
部品設計プロセスの間、設計者は、既存の特徴からいくつかの同一の特徴を作成して、それらの特徴を部品上に同時に位置付けることが必要な場合がある。この目的で、設計者は、通常、設計者によって選ばれた部品内の位置に元の特徴を複製することを可能にする二次元パターンを使用する。一般的なパターンは、長方形パターンおよび円形パターンである。設計者は、設計者による手作りの（ユーザパターンとも呼ばれる）特定のパターンを必要とする場合もある。例えば、設計者は、元の特徴が複製されることになる表面内に点のセットを選択する。
【０００６】
アセンブリ設計プロセスの間、設計者は、既存の基準のいくつかのインスタンスを作成して、パターン仕様に従って、三次元シーンにおいてそれらのインスタンスを同時に位置付けることが必要な場合がある。このプロセスでは、ユーザは、部品パターンなど、既存のパターン仕様を再使用することを望む場合がある。
【０００７】
オブジェクトのパターンを作成するために、２つの手法が現在使用されている。第１の手法は、オブジェクトＡ１とオブジェクト｛Ｂ１、Ｂ２．．．Ｂｎ｝の既存のパターンＰとを提示する再使用パターン手続き的手法であり、ユーザは、｛Ｂ１．．．Ｂｎ｝の１つの要素に対してオブジェクトＡ１を配置しなければならない。その場合、手順は、パターンＰの仕様に従って（かつ、これらの仕様だけに従って）、オブジェクトＡ１のインスタンス｛Ａ２．．．Ａｎ｝を生成および位置付けする。
【０００８】
第２の手法は、オブジェクトＡ１といくつかのパターン仕様とを提示する（例えば、パターン仕様は、第３のインスタンスが欠けた状態で軸を囲む５つのインスタンスであってよい）アセンブリパターン手続き的手法であり、手順は、所与のパターン仕様に従って（かつ、これらの仕様だけに従って）、インスタンス｛Ａ２、．．．Ａｎ｝を生成および位置付けする。
【発明の概要】
【発明が解決しようとする課題】
【０００９】
説明した手法は両方とも、いくつかの欠点がある。第１に、最新技術は二次元パターンだけに対応するため、三次元パターンを作成することはできない。実際には、パターンアセンブリのオブジェクトのインスタンスは、平面上に位置付けされる。第２に、基準カタログ内に規定されたパターンを再使用する方法は存在しない。現在の再使用パターン技術では、再使用されたパターンと再使用しているパターンとが同じ三次元シーン内にある必要がある。したがって、パターンのライブラリを設計者に提供することはできない。第３に、オブジェクトのパターンを作成するための既知の手法は、（この手順は制約の数学的解法の範囲外であるため）オブジェクトと他の要素との間のすべての制約に配慮することができない手順に基づいており、例えば、パターンの２つのオブジェクトは同じ平面上にあるという制約を受ける。第４に、パターンの仕様に外部制約を加えることはできない。例えば、円形パターンの回転軸を別のオブジェクト上に制約することから構成される動作はできない。
【００１０】
この文脈で、三次元シーンにおいてオブジェクトの三次元モデル化アセンブリを設計するための改善された方法の必要性が依然として存在する。
【課題を解決するための手段】
【００１１】
したがって、一態様によれば、本発明は、三次元シーンにおいてオブジェクトの三次元モデル化アセンブリを設計するためのコンピュータ実装方法であって、
三次元シーンにおいて三面体の事前に規定されたセットを位置付けおよび方位付けするステップであって、それぞれの三面体が位置と方位とを規定する、位置付けおよび方位付けするステップと、
オブジェクトのセットを提供するステップと、
オブジェクトのセットのそれぞれのオブジェクトを三面体の事前に規定されたセットの対応する１つの三面体に取り付けるステップと、
三面体の事前に規定されたセットの対応する三面体の位置と方位とに従って、それぞれのオブジェクトを位置付けおよび方位付けするステップと
を含む方法を提供する。
【００１２】
本方法は、以下のうちの１つまたは複数を含む。すなわち、
それぞれのオブジェクトを位置付けおよび方位付けするステップは、その対応する三面体に取り付けられたセットの第ｎ番目のオブジェクトに関する調整行列ＭＡnに従って実行されること、
調整行列ＭＡnは、関係ＭＡn＝（ＭＳＴn）-1×Ｏnによって規定され、式中、ＭＳＴnが、３Ｄシーンにおけるセットの第ｎ番目の三面体の配置行列であり、Ｏnが、３Ｄシーンにおいて三面体の事前に規定されたセットの第ｎ番目の三面体に取り付けられたセットの第ｎ番目のオブジェクトの配置行列であること、
調整行列ＭＡnは、オブジェクトのセットのそれぞれのオブジェクトに関して同一であること、
三面体の事前に規定されたセットは、既存のオブジェクトのパターンから推論されること、
三面体の事前に規定されたセットは、パターンライブラリ内に記憶されたパターンから取り出されること、
オブジェクトのセットを提供するステップは、
少なくとも１つのオブジェクトを選択するステップと、
その選択された少なくとも１つのオブジェクトの複数のインスタンスを計算するステップと
を含むこと、
オブジェクトのセットのそれぞれのオブジェクトを取り付けるステップは、セットのそれぞれのオブジェクトに関連するリンクに従って実行されること、
三面体の事前に規定されたセットを位置付けおよび方位付けするステップは、三面体の事前に規定されたセットに制約を加えるステップをさらに含むこと、
三面体の事前に規定されたセットを位置付けおよび方位付けするステップは、三面体の事前に規定されたセットの三面体の相対的位置を修正するパラメータを適用するステップをさらに含むこと、
三面体の事前に規定されたセットをグラフィカルユーザインターフェース内に表示するステップ、
三面体の事前に規定されたセットの位置および方位は、三次元シーンにおいて自由に設定可能であること、ならびに
それぞれのオブジェクトを位置付けおよび方位付けするステップは、制約と同時に解決されることである。
【００１３】
本発明は、コンピュータによって実行するための命令を備えたコンピュータプログラムであって、これらの命令が上記の方法を実行するための手段を備える、コンピュータプログラムをさらに提案する。
【００１４】
本発明は、上記のコンピュータプログラムを記録しているコンピュータ可読記憶媒体をさらに提案する。
【００１５】
次に、本発明の実施形態が、非限定的な例として、添付の図面を参照して説明される。
【図面の簡単な説明】
【００１６】
【図１】本方法の一例の流れ図である。
【図２】グラフィカルユーザインターフェースの一例を示す図である。
【図３】クライアントコンピュータシステムの一例を示す図である。
【図４】３Ｄシーンにおいて位置付けおよび方位付けされた三面体の事前に規定されたセットの一例を示す図である。
【図５】方位付けされたオブジェクトの一例を示す図である。
【図６】新しい位置および方位を有する、図４の三面体の事前に規定されたセットを示す図である。
【図７】本発明の方法に従って設計されたオブジェクトの３Ｄモデル化アセンブリの一例を示す図である。
【発明を実施するための形態】
【００１７】
三次元シーンにおいてオブジェクトの三次元（３Ｄ）モデル化アセンブリを設計するためのコンピュータ実装方法が提供される。本方法は、三次元シーンにおいて三面体の事前に規定されたセットを位置付けおよび方位付けするステップであって、それぞれの三面体が位置と方位とを規定する、位置付けおよび方位付けするステップを含む。三面体（ｔｒｉｈｅｄｒａｌ）または三面体（ｔｒｉｈｅｄｒｏｎ）は、１つの独自の点で交差している、異なる面内の３本の線によって表され、空間内で、例えば、三次元シーンにおいて、オブジェクトを設計するための基準系を規定する。それぞれの三面体は、３Ｄシーンの三面体に対して規定可能なその独自の位置と方位とを有し、セットのそれぞれの三面体は、３Ｄシーン内にその独自の座標を有する。本方法は、オブジェクトのセットを提供するステップをさらに含む。オブジェクトのセットは、オブジェクトのインスタンスを含むことが可能である。本方法は、オブジェクトのセットのそれぞれのオブジェクトを三面体のセットの対応する１つの三面体に取り付けるステップをさらに含む。この取り付けるステップは、自動的に実行されてよく、またはユーザアクション時に実行されてもよい。取り付けは、オブジェクトと三面体とからなる対が作成されることを意味する。対の作成は、オブジェクト、もしくは三面体、またはシステムにおいて説明される関係に依存し得る。本方法は、三面体のセットの対応する三面体の位置と方位とに従って、それぞれのオブジェクトを位置付けおよび方位付けするステップをさらに含む。これらのオブジェクトは、これにより、３Ｄモデル化アセンブリを形成するように、３Ｄシーンにおいて位置付けおよび方位付けされる。
【００１８】
パターンの仕様は３Ｄシーンにおいてインスタンス化され、すなわち、これは、パターンのインスタンス化された仕様を規定する三面体のセットが３Ｄシーン内にあることを意味するため、そのような方法は、オブジェクトの３Ｄモデル化アセンブリの設計を改善する。すなわち、三面体のセットは、３Ｄシーンにおいてパターンのインスタンス化された仕様を形成する。有利には、パターンは、二次元方式に限定されず、モデル化されたオブジェクトのアセンブリは、したがって、３Ｄ空間のすべての方向で拡張可能である。さらに、提供されたオブジェクト同士の間の制約に従って、パターンに対するオブジェクトの位置付けと方位付けとを実行することが可能である。これらの制約は、内部制約とも呼ばれる。さらに、パターンに対するオブジェクトの位置付けおよび方位付けは、セットのオブジェクトと、オブジェクトの３Ｄモデル化アセンブリに属さない要素との間の制約に従って実行可能である。加えて、パターンのインスタンス化された仕様は、三面体のセットに加えられる、外部制約とも呼ばれる制約により制約される場合がある。したがって、パターンが自由に設定可能であるため、３Ｄモデル化アセンブリの設計は極めて円滑にされる。さらに、元のパターンを新しいオブジェクトに適用できるため、パターンを再使用することが可能である。実際には、パターンの開始された仕様を規定する三面体のセットは、３Ｄシーン内の他のオブジェクトに依存しない。これは、再使用可能なパターンのライブラリを作成することを有利に可能にする。加えて、本発明による方法は、手続き的手法に依存せず、モデル化アセンブリは、パターンを含み、数値解法によってオブジェクトを制約と共に連続的に解決することが可能である。
【００１９】
本方法は、コンピュータ実装型である。これは、本方法のステップ（または、実質的にすべてのステップ）が少なくとも１つのコンピュータによって実行されることを意味する。例では、ユーザとコンピュータの相互作用を介して、本方法のステップのうちの少なくともいくつかのトリガを実行することが可能である。必要とされるユーザとコンピュータの相互作用のレベルは、予測される自動性のレベルに依存し、ユーザの望みを実施する必要性との釣り合いを図ることが可能である。例では、このレベルは、ユーザ規定可能であり、かつ／または事前に規定することも可能である。
【００２０】
例えば、３Ｄモデル化されたオブジェクトのセットを提供するステップは、オブジェクトのユーザ選択時に実行することが可能である。
【００２１】
本方法のコンピュータ実装の典型的な例は、この目的に適したグラフィカルユーザインターフェース（ＧＵＩ）を備えるシステムを用いて、本方法を実行することである。ＧＵＩは、メモリとプロセッサとに結合される。データベースを記憶するメモリは、そのような記憶に適した単なる任意のハードウェアである。
【００２２】
「データベース」とは、検索および取出しに関してまとめられたデータの任意の収集物（すなわち、情報）を意味する。メモリ上に記憶されたとき、データベースは、コンピュータによる迅速な検索および取出しを可能にする。データベースは、実際に、様々なデータ処理操作と共に、データの記憶、取出し、修正、および削除を円滑にするように構成される。データベースは、それぞれが１つもしくは複数のフィールドからなる記録に分解可能なファイルまたはファイルのセットから構成されてよい。フィールドは、データ記憶の基本的な単位である。ユーザは、主に、クエリを介してデータを取り出すことが可能である。キーワードを使用し、コマンドをソートして、ユーザは、使用されているデータベース管理システムの規則に従って、データの特定の集約に関する報告を取り出すために、または当該報告を作成するために、多くの記録内のフィールドを迅速に検索し、再構成し、グループ化し、選択することが可能である。
【００２３】
本方法の場合、データベースは、パターンのセットを記憶し、これにより、問合せ可能なパターンライブラリを形成することが可能である。データベースは、提供されたオブジェクトのセットを記憶することも可能である。
【００２４】
本方法は、一般に、モデル化されたオブジェクトを操作する。モデル化されたオブジェクトは、データベース内に記憶されたデータによって規定された任意のオブジェクトである。拡大解釈すれば、「モデル化されたオブジェクト」という表現は、データ自体を指す。システムのタイプに従って、モデル化されたオブジェクトを、異なる種類のデータによって規定することが可能である。このシステムは、実際には、ＣＡＤシステム、ＣＡＥシステム、ＣＡＭシステム、および／またはＰＬＭシステムの任意の組合わせであってよい。
【００２５】
これらの異なるシステムでは、モデル化されたオブジェクトは、対応するデータによって規定される。それに応じて、ＣＡＤオブジェクトと表現でき、ＰＬＭオブジェクトと表現でき、ＣＡＥオブジェクトと表現でき、ＣＡＭオブジェクトと表現でき、ＣＡＤデータと表現でき、ＰＬＭデータと表現でき、ＣＡＭデータと表現でき、ＣＡＥデータとも表現できる。しかし、モデル化されたオブジェクトは、これらのシステムのいずれかの組合せに対応するデータによって規定できるため、これらのシステムは、他のシステムの排他的なシステムではない。したがって、以下で提供されるそのようなシステムの定義から明らかになるように、システムは、ＣＡＤシステムとＰＬＭシステムの両方であってもよい。
【００２６】
ＣＡＤシステムとは、ＣＡＴＩＡなど、モデル化されたオブジェクトのグラフィック表示に基づき、モデル化されたオブジェクトを少なくとも設計するのに適した任意のシステムを意味する。この場合、モデル化されたオブジェクトを規定するデータは、モデル化されたオブジェクトの表示を可能にするデータを含む。ＣＡＤシステムは、例えば、エッジまたはラインを使用して、ある事例では、面または表面を用いて、ＣＡＤモデル化されたオブジェクトの表示を提供することが可能である。ライン、エッジ、または表面は、様々な様式、例えば、非一様有理Ｂスプライン（ｎｏｎ−ｕｎｉｆｏｒｍ  ｒａｔｉｏｎａｌ  Ｂ−ｓｐｌｉｎｅｓ）（ＮＵＲＢＳ）で表すことが可能である。詳細には、ＣＡＤファイルは、そこから、次に、表現が生成されることを可能にするジオメトリを生成できる仕様を含む。モデル化されたオブジェクトの仕様は、単一のＣＡＤファイル内に記憶されてよく、または複数のＣＡＤファイル内に記憶されてもよい。ＣＡＤシステム内でモデル化されたオブジェクトを表すファイルの通常のサイズは、部品当たり１メガバイトの範囲である。また、モデル化されたオブジェクトは、典型的には、数千の部品のアセンブリであり得る。
【００２７】
ＣＡＤの文脈で、モデル化されたオブジェクトは、通常、例えば、部品もしくは部品のアセンブリ、または、場合によっては、製品のアセンブリなど、製品を表す３Ｄモデル化されたオブジェクトであり得る。「３Ｄモデル化されたオブジェクト」とは、その３Ｄ表現を可能にするデータによってモデル化される任意のオブジェクトを意味する。３Ｄ表現によって、すべての角度からその部品を見ることができる。例えば、３Ｄモデル化されたオブジェクトは、３Ｄ表現されると、その軸のうちのいずれか、またはその表現が表示されるスクリーン内のいずれかの軸を中心に処理および回転することが可能である。これは、３Ｄモデル化されていない２Ｄアイコンを特に除去する。３Ｄ表現の表示は、設計を円滑にする（すなわち、設計者がその任務を統計的に達成する速度を高める）。製品の設計は製造プロセスの一環であるため、これは業界の製造プロセスを加速させる。
【００２８】
ＣＡＤシステムは、履歴ベースであり得る。この場合、モデル化されたオブジェクトは、幾何学的特徴の履歴を含むデータによってさらに規定される。モデル化されたオブジェクトは、実際には、標準のモデル化機能（例えば、押出、回転、切断、および／もしくは円形繰、など）ならびに／または標準の表面処理機能（例えば、スイープ、ブレンド処理、ロフト処理、充填、変形、平滑化、など）を使用して、個人（すなわち、設計者／ユーザ）によって設計することが可能である。そのようなモデル化機能をサポートする多くのＣＡＤシステムは、履歴ベースのシステムである。これは、設計特徴の作成履歴が、通常、入力リンクと出力リンクとを通じて前記幾何学的特徴を連結する非環式データフローを介して保存されることを意味する。この履歴ベースのモデルリングパラダイムは、８０年代初頭以来よく知られている。モデル化されたオブジェクトは、２つの永続的データ表現、すなわち、履歴とＢレップ（すなわち、境界表現）とによって説明される。Ｂレップは、履歴において規定された計算の結果である。モデル化されたオブジェクトが表現されるとき、コンピュータのスクリーン上に表示される部品の形状は、Ｂレップ（のテッセレーション（ｔｅｓｓｅｌｌａｔｉｏｎ））である。部品の履歴は設計意図である。基本的に、履歴は、モデル化されたオブジェクトが受けた作業に関する情報を収集する。Ｂレップは、複雑な部品を表示するのをより容易にするために、履歴と共に保存することができる。履歴は、設計意図に従って部品の設計変更を可能にするために、Ｂレップと共に保存することができる。
【００２９】
ＰＬＭシステムとは、製造された物理的な製品を表すモデル化されたオブジェクトの管理に適した任意のシステムを意味する。ＰＬＭシステムでは、モデル化されたオブジェクトは、したがって、物理的なオブジェクトの製造に適したデータによって規定される。これらのデータは、通常、次元値および／または許容値であってよい。オブジェクトを正確に製造するために、そのような値を有することは実際に好ましい。
【００３０】
ＣＡＥシステムとは、モデル化されたオブジェクトの物理的な動きの解析に適した任意のシステムを意味する。ＣＡＥシステムでは、モデル化されたオブジェクトは、したがって、そのような動きの解析に適したデータによって規定される。これは、通常、動き特徴のセットであってよい。例えば、扉に対応するモデル化されたオブジェクトは、その扉が軸を中心に回転することを示すデータによって規定できる。
【００３１】
図２は、システムのＧＵＩの一例を示しており、このシステムはＣＡＤシステムである。
【００３２】
ＧＵＩ２１００は、標準的なメニューバー２１１０、２１２０、ならびに、ボトムツールバー２１４０およびサイドツールバー２１５０を有する典型的なＣＡＤのようなインターフェースであってよい。そのようなメニューバーおよびツールバーは、ユーザが選択できるアイコンのセットを含み、それぞれのアイコンは、当技術分野で知られているように、１つもしくは複数の操作または機能に関連している。これらのアイコンのうちのいくつかは、ＧＵＩ２１００内に表示された３Ｄモデル化されたオブジェクト２０００を編集および／または作業するように適合されたソフトウェアツールに関連する。これらのソフトウェアツールは、ワークベンチ内にグループ化することが可能である。それぞれのワークベンチは、ソフトウェアツールのサブセットを備える。特に、ワークベンチのうちの１つは、モデル化された製品２０００の幾何学的特徴を編集するのに適した編集ワークベンチである。操作の際、設計者は、例えば、オブジェクト２０００の一部を事前に選択し、次いで、適切なアイコンを選択することによって、操作（例えば、寸法、色などの変更）を開始すること、または幾何学的制約を編集することが可能である。例えば、典型的なＣＡＤ操作は、スクリーン上に表示された３Ｄモデル化されたオブジェクトの打抜きまたは折曲げのモデル化である。
【００３３】
ＧＵＩは、例えば、表示された製品２０００に関するデータ２５００を表示することが可能である。図２の例では、「フィーチャーツリー（ｆｅａｔｕｒｅ  ｔｒｅｅ）」として表示されるデータ２５００、およびその３Ｄ表現２０００は、ブレーキキャリパとブレーキディスクとを含むブレーキアセンブリに関する。ＧＵＩは、例えば、オブジェクトの３Ｄ方位付けを円滑にするため、編集された製品の動作のシミュレーションをトリガするため、または表示された製品２０００の様々な属性を表示するために、様々なタイプのグラフィックツール２１３０、２０７０、２０８０をさらに示すことが可能である。カーソル２０６０は、ユーザがグラフィックツールと相互に作用することを可能にするための触覚デバイスによって制御可能である。
【００３４】
図３は、クライアントコンピュータシステム、例えば、ユーザのワークステーションを示す。
【００３５】
クライアントコンピュータは、内部通信バス１０００に接続された中央処理装置（ＣＰＵ）１０１０と、やはりバスに接続されたランダムアクセスメモリ（ＲＡＭ）１０７０とを備える。クライアントコンピュータは、バスに接続されたビデオランダムアクセスメモリ１１００に関連するグラフィック処理装置（ＧＰＵ）１１１０をさらに備える。ビデオＲＡＭ１１００は、当技術分野において、フレームバッファとしても知られている。大容量記憶装置コントローラ１０２０は、ハードドライブ１０３０など、大容量記憶装置に対するアクセスを管理する。コンピュータプログラム命令およびデータを有形に実装するのに適した大容量記憶装置は、例として、ＥＰＲＯＭ、ＥＥＰＲＯＭ、およびフラッシュメモリデバイスなどの半導体メモリデバイスと、内蔵型ハードディスクおよび取外し可能ディスクなどの磁気ディスクと、光磁気ディスクと、ＣＤ−ＲＯＭディスク１０４０とを含めて、あらゆる形式の非揮発性メモリを含む。前述の説明の大容量記憶装置のいずれかは、特別に設計されたＡＳＩＣ（特定用途向け集積回路）によって補完することが可能であるか、または当該ＡＳＩＣ内に組み込むことが可能である。ネットワークアダプタ１０５０は、ネットワーク１０６０へのアクセスを管理する。クライアントコンピュータは、カーソル制御デバイス、キーボードなど、触覚デバイス１０９０を含むことも可能である。カーソル制御デバイスは、図２を参照して記述されたように、ユーザがディスプレイ１０８０上の任意の所望される位置にカーソルを選択的に位置付けすることを可能にするために、クライアントコンピュータ内で使用される。加えて、カーソル制御デバイスは、ユーザが様々なコマンドを選択して、制御信号を入力するのを可能にする。カーソル制御デバイスは、システムに制御信号を入力するためのいくつかの信号生成デバイスを含む。典型的には、カーソル制御デバイスは、マウスであってよく、マウスのボタンは、信号を生成するために使用される。
【００３６】
コンピュータプログラムは、コンピュータによる命令を備えることが可能であり、これらの命令は、上記のシステムに上記の方法を実行させるための手段を備える。本発明は、例えば、デジタル電子回路内、もしくはコンピュータハードウェア内、コンピュータファームウェア内、コンピュータソフトウェア内、またはそれらの組合せの中で実施可能である。本発明の装置は、プログラマブルプロセッサによって実行するために機械可読記憶装置内で有形に実装されたコンピュータプログラム製品内で実施可能であり、本発明の方法ステップは、入力データを操作して、出力を生成することによって、本発明の機能を実行するために命令のプログラムを実行するプログラマブルプロセッサによって実行可能である。
【００３７】
本発明は、データ記憶システム、少なくとも１つの入力デバイス、および少なくとも１つの出力デバイスからデータおよび命令を受信し、かつそれらにデータおよび命令を送信するために結合された少なくとも１つのプログラマブルプロセッサを含めて、プログラマブルシステム上で実行可能な１つまたは複数のコンピュータプログラム内で有利に実行することが可能である。アプリケーションプログラムは、ハイレベルの手続き型プログラミング言語もしくはオブジェクト指向型プログラミング言語で、または、所望される場合、アセンブリ言語もしくは機械言語で実施することが可能であり、いずれの場合も、言語は、コンパイラ型言語であってよく、またはインタープリタ型言語であってもよい。
【００３８】
次に、図１を参照すると、本方法の一例の流れ図が示される。ステップＳ１００において、図６に表示されるセットのように、三次元シーンにおいて三面体の事前に規定されたセットが位置付けおよび方位付けされる。３Ｄシーンは、オブジェクト同士の間の空間的関係が描写される空間である。これらの空間的関係は、３Ｄシーンの基準系とも呼ばれる３Ｄシーンに特有の三面体に従って決定される。３Ｄシーンに特有のこの三面体は、３Ｄシーンにおいてオブジェクトを指定するために必要な要素（例えば、地点）を提供する。このようにして、３Ｄシーンは方位付けされる。
【００３９】
それぞれの三面体は、３つの実数が変換値を特徴付け、他の３つの実数が回転値を特徴付ける、配置行列の一部である６つの実数によって特徴付けることができる。したがって、パターンの仕様を容易に記憶することが可能である。例えば、４つの三面体を有する三面体のセットは、４×６実数の形式で記憶することが可能である。それぞれの三面体は、当技術分野で知られているように、ｎ×ｎ配置行列によって表すことができる。例えば、４×４配置行列は、
［ａｂｃｘ
ｄｅｆｙ
ｇｈｉｚ
０００１］
と示すことができ、式中、（ｘ、ｙ、ｚ）は、３Ｄシーンにおける三面体の変換のベクトルを表し、（ａ、ｂ、ｃ）、（ｄ、ｅ、ｆ）および（ｇ、ｈ、ｉ）という表現は、３Ｄシーンの基準系に対する三面体の角度位置を提供する、３Ｄシーンにおける三面体の回転の行列を表す。この行列の最後のラインは、常に、（０、０、０、１）という表現によって表され、行列反転計算が可能になるように、４×４行列（正方行列）を取得するために使用される。
【００４０】
それぞれの三面体は、ＭＳＴnとして示される配置行列によって特徴付けられた３Ｄシーンにおける位置と方位とを規定し、ｎは、セットの第ｎ番目の三面体を表す）。３Ｄシーンにおけるそれぞれの三面体の位置は、３Ｄシーンの適切な三面体に対して決定された３Ｄシーンにおける三面体の原点、すなわち、３Ｄシーンの基準系の位置を意味する。それぞれの三面体の方位は、３Ｄシーンにおいてその三面体がどのように配置されるかを描写する。この方位は、三面体を基準配置からその現在の配置に移動するために必要とされる回転を描写する。したがって、それぞれの三面体は、共に３Ｄシーンにおいて三面体がどのように配置されるかを十分に描写する位置と方位とを有する。３Ｄシーンにおけるオブジェクトの位置および方位は同様に規定される点を理解されよう。
【００４１】
三面体のセットは、３Ｄシーンにおけるパターンのインスタンス化された仕様を形成し、これは、すなわち、三面体のセットが３Ｄシーンにおけるパターンのインスタンスであることを意味する。有利には、三面体のセットによって表されたパターンのインスタンス化された仕様は、３Ｄ空間内に位置され、これは、そのパターンが三次元（長さ、幅、および深さとも呼ばれる）を使用する可能性を開くことを意味する。
【００４２】
三面体のセットをｎ×ｎ配置行列、例えば、４×４正方行列によって特徴付けることも可能である。三面体のセットの配置行列は、Ｇと示すことができる。３Ｄシーンにおける三面体のセットのそれぞれの三面体の位置は、以下の行列の乗算、すなわち、ＭＳＴn＝Ｇ×ＭＧＴnを計算することによって取得可能であり、式中、ＭＧＴnは、パターンの３Ｄフレームにおける（または、仕様の３Ｄフレームにおける）三面体の配置行列であり、ｎは、セットの第ｎ番目の三面体を表す。これは、パターンの基準系に対して三面体の位置と方位とを決定することが可能であることを意味する。
【００４３】
三面体のセットは事前に規定され、これは、三面体の位置と方位とが既に決定されていることを意味する。すなわち、三面体の事前に規定されたセットがシステム内に装着されるとき、その三面体の位置と方位とは知られている。しかし、三面体の事前に規定されたセットは、三次元シーンにおいて自由に設定可能である。自由に設定可能ということは、例えば、ユーザアクション時に、少なくとも１つの三面体の位置と方位とを修正できることを意味する。加えて、セットの三面体同士の間に制約を加えることが可能である。例えば、セットの三面体同士の間の最低距離を強化することが可能である。パラメータ化できるパターンの仕様により、これを実行することが可能であり、これは、セットの三面体の相対的位置が少なくとも１つのパラメータに依存する可能性があることを意味する。したがって、三面体の事前に規定されたセットの三面体の相対的な位置を修正するために、パラメータを適用することが可能である。
【００４４】
三面体の事前に規定されたセットは、パターンライブラリ内に記憶されたパターンの選択（Ｓ１０２）時に取得することが可能である。パターンの選択は、当技術分野で知られているように実行できる。例えば、図２の１つの２５００など、パターンのリストを示すツリーを使用することにより、これを行うことが可能である。ユーザは、例えば、パターンに関する識別情報を入力することによって、リスト内のパターンを選択することによってなど、別のタイプのユーザインターフェースにより、パターンを選択することも可能である。コンボボックス、アイコン、スペシャルコマンドなど、任意の種類のユーザインターフェースにより、パターンを選択することが可能である。パターンライブラリをデータベース上に記憶することが可能である。パターンの選択は、パターンの仕様、特に、アセンブリを形成するオブジェクトが３Ｄシーンにおいてどのように配置されるかを選択することを必要とする。したがって、パターンの選択は、パターンのインスタンス化された仕様を伴い、すなわち、三面体の事前に規定されたセットは、選択されたパターンのインスタンス化された仕様から計算される。パターンの仕様をインスタンス化することは、すなわち、三面体のセットが３Ｄ空間（例えば、３Ｄシーン）内に入ること、すなわち、位置と方位とがセットのそれぞれの三面体に与えられることを意味する。セットのそれぞれの三面体は、パターンの基準系（または、仕様のフレーム）に対する位置と方位とを有することを理解されたい。
【００４５】
三面体の事前に規定されたセットは、既存のオブジェクトのパターン、例えば、オブジェクトのアセンブリから推論することができる。実際には、既存のオブジェクトは、ユーザによって選択される。パターンに関してパターンの選択を実行することが可能である。オブジェクトが選択されると、計算時にオブジェクトの特徴が抽出される。このために、オブジェクト内に記憶された情報、例えば、オブジェクト内に記憶されたパターン設計を利用することが可能である。例えば、長方形パターンから取得されたオブジェクトのアセンブリは、いくつかのラインおよび列、ラインおよび列の方向、パターン上のオブジェクト同士の間の間隔などの情報を含むことが可能である。抽出の結果として、パターンの仕様が取得される。三面体のセットが既存のパターンから推論されるとき、またはパターンから取得されるとき、パターンの基準系からセットの三面体のそれぞれの位置と方位とを決定することが可能である。
【００４６】
オプションで、ステップＳ１０４に示されるように、三面体の事前に規定されたセットの位置と方位とを制約することが可能である。
【００４７】
これは、三面体のセット全体に制約が加えられることを意味する。すなわち、外部制約とも呼ばれる制約が、パターンのインスタンス化された仕様に加えられる。実際には、対称制約が三面体のセットに加えられ、これは、三面体のセットの対称点または対称軸に制約が加えられることを意味する。すなわち、仮想幾何学を３Ｄシーンにおいてセット三面体に加えることが可能であり、この仮想幾何学（例えば、対称点、対称軸）が制約される。例えば、円形パターンは、ユーザが全角度、角度間隔、および円形回転軸に関する特徴の距離を指定することを可能にする。本発明による方法により、三面体の完全なセットが制約されるように、円形回転軸に制約を加えることが可能である。
【００４８】
制約、例えば、幾何学的制約は、様々なオブジェクトが他のオブジェクトに対して移動できる様式、および様々なオブジェクトが他のオブジェクトにどのように影響を与える可能性があるかを制限する。制約は、機械的部品のモデリングの際に広く使用されている。これらの制約は、３Ｄモデル化されたオブジェクト同士の間の関係を考慮することが可能であり、三面体と３Ｄモデル化されたオブジェクトとの間の関係を考慮することも可能である。あるいは、制約は、セットの少なくとも１つの三面体と関連付けられることも可能である。３Ｄモデル化されたオブジェクトのファイルの一部である制約を３Ｄモデル化されたオブジェクトと共に記憶することが可能であり、または、三面体の仕様の一部である制約を三面体と共に記憶することが可能である点を理解されたい。
【００４９】
オプションで、３Ｄシーンにおける少なくとも１つの要素に従って、三面体の事前に規定されたセットの位置と方位とを制約することが可能である。要素は、オブジェクトのアセンブリの一部でないか、またはオブジェクトのアセンブリを除外した、３Ｄシーンにおける任意のオブジェクトであってよい。
【００５０】
次いで、ステップＳ１１０において、三面体のセットは、例えば、コンピュータスクリーン上でユーザに表示される。例えば、ユーザが三面体の事前に規定されたセットを形成するために三面体を３Ｄ空間内に配置する場合、またはユーザが三面体上でカーソルと相互に作用することによって、三面体の位置および／または方位を直接的に修正することを望む場合、表示するステップは、より早期であってもよい点を理解されたい。
【００５１】
次に図４を参照すると、三面体のセットがユーザに表示される。それぞれの三面体は、３Ｄシーンにおいて位置と方位とを有し、３Ｄシーンの基準パターンは表示されずに、３Ｄ空間内の位置および方位を規定する。それぞれの三面体は、その中でオブジェクトの位置、方位、およびその他の特性を特徴付けることが可能な軸のセット（Ｘ、Ｙ、Ｚ）を参照する基準系である。これにより、それぞれの三面体は座標系を提供する。
【００５２】
図１に示される流れ図を再び参照すると、次いで、本方法を実行しているシステム、例えば、ＣＡＤシステムにオブジェクトのセットが提供される（Ｓ１２０）。オブジェクトは、例えば、ＣＡＤシステムを用いて設計された３Ｄモデル化されたオブジェクトであってよい。オブジェクトを提供することは、そのオブジェクトに関して操作を実行できるＣＡＤシステムにオブジェクト、例えば、メモリ内に記憶されたオブジェクトが利用可能であることを意味する。好ましくは、提供されるオブジェクトの数は、３Ｄシーンにおける三面体の数に等しい。
【００５３】
実際には、オブジェクトのセットを提供するステップは、少なくとも１つのオブジェクトを選択する第１のサブステップ（Ｓ１２２）と、選択された少なくとも１つのオブジェクトをインスタンス化する第２のサブステップ（Ｓ１２４）とを含む。オブジェクトの選択は、パターンの選択の場合と同じように、例えば、オブジェクトのリスト内のユーザアクション時に実行することが可能である。オブジェクトの選択をシステムによって自動的に実行することも可能である。選択されたオブジェクトは、次いで、オブジェクトのセットを作成するために、数回インスタンス化される。オブジェクトのインスタンス化は、コンピュータ化されたプロセスの分野においてよく知られている。インスタンス化は、選択されたオブジェクトの１つの特定の変形を規定することによって１つのインスタンスを作成する。典型的には、選択されたオブジェクトは、モデル化されたオブジェクトを表すデータを含むファイルであり、インスタンス化されたオブジェクトは、ＣＡＤシステムによって処理できる実行可能なファイルである。インスタンス化されたオブジェクトは、これによりメモリ内に記憶されて、ＣＡＤシステムによってアクセスおよび使用することが可能である。
【００５４】
次に図５を参照すると、ユーザによって選択された３Ｄモデル化されたオブジェクトが３Ｄシーン内に表される。３Ｄモデル化されたオブジェクトは、３Ｄモデル化されたオブジェクトのそれぞれの地点に関する位置と方位とを規定する三面体を備える。３Ｄモデル化されたオブジェクトは、グラフィカルユーザインターフェース（図示せず）上に表示可能である。
【００５５】
セットのそれぞれのオブジェクトは、配置行列、典型的には、既に説明したように４×４配列行列によって特徴付けることが可能な位置を３Ｄシーン内に有する。オブジェクトの配置行列は、Ｏnで示すことができ、ｎは、セットの第ｎ番目のオブジェクトを表す）。
【００５６】
次に、ステップＳ１３０において、オブジェクトのセットのそれぞれのオブジェクトは、三面体のセットの対応する１つの三面体に取り付けられる。これは、セットのオブジェクトと三面体とからなるオブジェクトの対が作成されることを意味する。すなわち、組のセット（オブジェクト、三面体）が作成される。
【００５７】
この取り付けるステップは、セットのそれぞれのオブジェクトに関連するリンクを識別するステップ（Ｓ１３２）によって実行することが可能であり、セットのそれぞれのオブジェクトは、これにより、オブジェクトが対応する三面体を識別することができるようにするそれぞれのリンクにアクセスすることが可能である。実際には、このリンクは、「リンクオブジェクト」と呼ばれる専用オブジェクトを介してそれぞれのオブジェクトによってアクセスされる。この「リンクオブジェクト」は、オブジェクトと三面体との間の対応が維持される表を備える。すなわち、「リンクオブジェクト」は、組のセット（オブジェクト、三面体）を識別する。リンクは検索および取出しに関して編成されたデータの任意の収集物の中に記憶可能である点を理解されたい。
【００５８】
代替では、例えば、ラベルの形式で、リンクをオブジェクトと共に記憶することが可能である。リンクをそれぞれの三面体と共に格納できることを企図することも可能である。有利には、識別されたリンクは、いくつかの異なる３Ｄモデル化されたオブジェクトを取り付ける必要があるとき、三面体のセットの中から特定の三面体を選択することを可能にする。これは、いくつかの異なる３Ｄモデル化されたオブジェクトを用いてオブジェクトの３Ｄモデル化アセンブリを作成することを可能にする。
【００５９】
次いで、リンクがセットのそれぞれのオブジェクトに関して識別されると（Ｓ１３４）、識別されたリンクに従って、それらのオブジェクトがそれらの対応する三面体に取り付けられる。組のセット（オブジェクト、三面体）がこのとき作成される。
【００６０】
取り付けるステップ（Ｓ１３０）の後で、三面体のセットの対応する三面体の位置と方位とに従って、それぞれのオブジェクトを位置付けおよび方位付けするステップ（Ｓ１４０）が実行される。これにより、そのそれぞれの位置と方位とがそれぞれの３Ｄモデル化されたオブジェクトが取り付けられる三面体の位置と方位とを反映するように、３Ｄモデル化されたオブジェクトが３Ｄシーン内に配置される。結果として、パターンを形成する仕様のセットから、オブジェクトのアセンブリが構築され、仕様のこのセットは、３Ｄシーンにおいてインスタンス化され、三面体のセットによって特徴付けられる。これは、手続き的手法を必要とせずに、三次元シーンにおいてインスタンス化された三次元パターンに従って、オブジェクトの三次元アセンブリを作成することを有利に可能にする。実際には、本発明に従って取得されたパターンは、（手続き上のパターンではなく）変化に関するパターンであり、したがって、数値解法によって、幾何学的制約（例えば、内部制約および外部制約）のネットワークとアセンブリパターンとを同時に解決することが可能である。これは、以下においてより明らかであろう。
【００６１】
典型的には、それぞれのオブジェクトに制約を加えて、その対応する三面体の位置と方位とに従って、それぞれのオブジェクトの位置付けおよび方位付けが実行され、所与の組（オブジェクト、三面体）に関して、オブジェクトと三面体との間の変換行列は同じである。変換行列は、ある基準系から別の基準系にベクトルを変換する。結果として、その対応する三面体の位置に従って、その対応する三面体に対するセットの第ｎ番目のオブジェクトの位置付けおよび方位付けを可能にする、調整行列と呼ばれ、ＭＡnと示される行列が存在する。セットの第ｎ番目のオブジェクトは、セットのオブジェクトのうちのオブジェクトの１つである。すなわち、オブジェクトのそれぞれの位置行列と組を形成する三面体との間にある関係が存在し、この関係は、それぞれのオブジェクトの位置付けおよび方位付けを制約するために利用される。これは、すなわち、位置付けおよび方位付けするステップにおいて、それぞれのオブジェクトに制約が加えられることを意味し、この制約は、調整行列ＭＡnによって指定される。
【００６２】
実際には、調整行列ＭＡnは、関係
ＭＡn＝（ＭＳＴn）-1×Ｏn
によって規定可能であり、式中、ＭＳＴnは、３Ｄシーンにおける三面体のセットのそれぞれの三面体の配置行列であり、Ｏｎは、３Ｄシーンにおけるセットのそれぞれのオブジェクトの配置行列であり、ｎは、セットの第ｎ番目の三面体を表す。
【００６３】
これは、調整行列ＭＡnがＭＡn＝（Ｇ×ＭＧＴn）-1×Ｏnによって規定可能となる別の関係をもたらす。式中、Ｇは、三面体のセットの配置行列であり、ＭＧＴnは、パターンの３Ｄフレーム内の（または、仕様の３Ｄフレーム内の）三面体の配置行列であり、Ｏnは、３Ｄシーンにおけるセットのそれぞれのオブジェクトの配置行列であり、ｎは、セットの第ｎ番目の三面体を表す。
【００６４】
したがって、関係Ｏn＝ＭＳＴn×ＭＡn＝Ｇ×ＭＧＴn×ＭＡnを用いて、オブジェクトの配置行列を決定することが可能である。結果として、３Ｄシーンにおいてその対応する三面体の配置行列に対して調整行列を乗算することによって、３Ｄシーンにおけるオブジェクトの位置および方位を計算することが可能である。
【００６５】
実際には、調整行列は、セットのそれぞれのオブジェクトに関して同一である。すなわち、それぞれのオブジェクトｐおよびｎに関して、ＭＡp＝ＭＡnである。有利には、これが、パターンの仕様に従って、オブジェクトのセットを同時に位置付けることを可能にする。
【００６６】
代替では、少なくとも１つのオブジェクトに関して調整行列を適用することが可能である。これは、すなわち、オブジェクトを位置付けおよび方位付けするステップの結果の結果が異なるように、特定の制約が特定のオブジェクトに加えられることを意味する。これにより、セットの少なくとも１つのオブジェクトの位置および方位を適用することが可能となり、したがって、設計できるパターンの異なるアセンブリの数が増大する。
【００６７】
実際には、これは、共通の調整行列ＭＡnを、Ｉｎと示される、修正された識別行列で乗算することによって、この少なくとも１つのオブジェクトの調整行列を修正することによって実行される。サイズｎのＩと示される識別行列は、主対角線が１であり、それ以外がゼロであるｎ×ｎ正方行列、例えば、４×４識別行列である。修正された識別行列Ｉｎは、前記少なくとも１つのオブジェクトの識別が修正される（すなわち、識別が１に等しくない）識別行列である。したがって、修正された識別行列は、調整行列で乗算されるとき、前記少なくとも１つのオブジェクトの調整行列を変更する。対照的に、修正された識別は、修正されたセットの他のオブジェクトの調整行列を変更しない状態のまま残す（すなわち、識別は１に等しい）。
【００６８】
これにより、オブジェクトの配置行列は、関係
Ｏｎ＝ＭＳＴｎ×ＭＡｎ×Ｉｎ＝Ｇ×ＭＧＴｎ×ＭＡｎ×Ｉｎを用いて決定され、式中、Ｉｎは、少なくとも１つのオブジェクトに関するＩｎ≠Ｉが異なって位置付けおよび方位付けされるような修正された識別行列である。
【００６９】
したがって、オブジェクトの３Ｄモデル化アセンブリの設計は、手続き的手法に依存せず、それぞれのオブジェクトの位置および方位は、ワンショット型（ｏｎｅ−ｓｈｏｔ）計算を用いて取得される。全体的な問題に対する解決策が存在する場合、この問題に対する結果を見出すことを可能にする数値解法にすべての機械的制約を直接的に伝える（または、注入する）ことができる。その解法が解決策を計算できない場合、その解法は、その問題が制約過多（ｏｖｅｒ−ｃｏｎｓｔｒａｉｎｅｄ）であることを示すメッセージを送る。
【００７０】
加えて、それらのシステムが計算すべきアセンブリの全体的な視野を有する限り、それぞれのオブジェクトの位置と方位とを計算すると同時に、設計アセンブリに関するすべての制約を解決することが可能であり、例えば、内部制約および外部制約、アセンブリのオブジェクトと３Ｄシーンの少なくとも１つの要素との間の制約、セットの三面体同士の間の制約を、それぞれのオブジェクトの位置および方位と同時に解決することが可能である。これにより、オブジェクトのパターンと幾何学的制約とが同時に処理される。より一般的には、この解法は、アセンブリの位置付けおよび方位付けのすべての制約、ならびにパターンおよびオブジェクトの仕様に加えられた補完的制約に関する解決策を計算する。それぞれのオブジェクトの位置および方位は、これにより、設計されることになるオブジェクトの３Ｄモデル化アセンブリに関係している制約と同時に解決される。
【００７１】
次いで、ステップＳ１５０において、３Ｄモデル化アセンブリが計算されて、３Ｄシーン内に表示される。あるいは、図７に表示されるように、オブジェクトの３Ｄモデル化アセンブリを三面体のセットと共に表示することが可能である。
【００７２】
本発明の好ましい実施形態を説明してきた。本発明の趣旨および範囲から逸脱せずに、様々な修正を行うことが可能である点を理解されよう。したがって、その他の実装形態は、以下の特許請求の範囲の範囲内である。例えば、事前に規定されたセットの少なくとも１つの三面体の位置および方位は、例えば、ユーザ動作時に修正することが可能である。新しい仕様値を入力することによって、この修正を実行することが可能である。この修正は、例えば、三面体上でカーソルと相互作用することによって、表示される三面体に関して直接的に実行することも可能である。これにより、ユーザは、３Ｄシーンにおいてそれぞれの三面体の位置および方位を適用することが可能である。
【図１】
0006039231.tif 000002
【図２】
0006039231.tif 000003
【図３】
0006039231.tif 000004
【図４】
0006039231.tif 000005
【図５】
0006039231.tif 000006
【図６】
0006039231.tif 000007
【図７】
0006039231.tif 000008