(57)【特許請求の範囲】
【請求項１】
幾何モデルの拘束ネットワーク（３００）において選択された設計要素（３４０）のポジションを編集する方法であって、該方法は以下のステップを含む、すなわち、
少なくとも１つのプロセッサの動作によって、
・幾何モデル（１５２）における設計要素（３４０）の選択をユーザから受け取るステップと、
・予めデータベースに記憶されている複数のポジショニンググループ（３１０，３２０，３９０）から、前記選択された設計要素を含む第１のポジショニンググループ（３１０）を見つけるためにデータベース（１５０）をサーチするステップと、ただし、前記複数のポジショニンググループは各々、前記幾何モデルの設計要素と、個々のポジショニンググループにおける前記設計要素（３３０，３４０，３５０，３６０，３７０，３８０，３９０）間の拘束ネットワーク（３００）の少なくとも１つのポジショニング拘束（３０５，３１５，３２５，３３５，３４５，３５５，３６５，３７５）とを含み、
・前記選択された設計要素（３４０）を含む前記第１のポジショニンググループと、少なくとも１つのポジショニング拘束（３３５）を介して前記第１のポジショニンググループ内の少なくとも１つの設計要素に関連づけられて予め記憶されている別のポジショニンググループ（３２０）に含まれる少なくとも１つの付加的な設計要素（３６０）とを、前記拘束ネットワーク全体をロードすることなく、前記データベースからロードしてユーザに表示するステップと、
・前記第１のポジショニンググループに含まれる少なくとも１つのポジショニング拘束に対するユーザの編集に基づき、更新されたポジショニンググループを生成するステップと、
・前記更新されたポジショニンググループを前記データベースに記憶するステップと
を含む、
幾何モデルの拘束ネットワーク（３００）において選択された設計要素（３４０）のポジションを編集する方法。
【請求項２】
前記少なくとも１つのプロセッサの動作によって、
・前記拘束ネットワークをユーザから受け取るステップと、
・前記拘束ネットワークを前記複数のポジショニンググループに分割するステップと、
・前記複数のポジショニンググループを前記データベースに記憶するステップと
をさらに含む、
請求項１記載の選択された設計要素のポジションを編集する方法。
【請求項３】
前記拘束ネットワークは、複数の設計要素に関する複数のポジショニング拘束を有する、
請求項２記載の選択された設計要素のポジションを編集する方法。
【請求項４】
前記拘束ネットワークを前記複数のポジショニンググループに分割する前記ステップは、前記ポジショニンググループの所有権、または前記ポジショニンググループの最小数、または最小のポジショニンググループに従って、前記拘束ネットワークを分割するステップを含む、
請求項２記載の選択された設計要素のポジションを編集する方法。
【請求項５】
前記第１のポジショニンググループは、
・前記選択された設計要素と、
・前記選択された設計要素に関連する複数のポジショニング拘束であって、前記第１のポジショニンググループに含まれていない設計要素に対する１つ以上のポジショニング拘束を含む、複数のポジショニング拘束と、
・前記複数のポジショニング拘束によって参照されている複数の設計要素への参照であって、前記第１のポジショニンググループに含まれていない設計要素に対する１つ以上の参照を含む、参照と
を含み、
前記第１のポジショニンググループに含まれる前記設計要素すべてが、フォアグラウンド設計要素として表示され、前記少なくとも１つの付加的な設計要素が、バックグラウンド設計要素として表示される、
請求項１記載の選択された設計要素のポジションを編集する方法。
【請求項６】
前記第１のポジショニンググループを見つけるために前記データベースをサーチする前記ステップは、前記選択された設計要素が他のユーザによって選択または参照されているものとしてマークされているか否かを判定するステップを含む、
請求項１記載の選択された設計要素のポジションを編集する方法。
【請求項７】
前記少なくとも１つのプロセッサの動作によって、前記更新されたポジショニンググループが前記データベースに記憶されるまで、前記選択された設計要素と、参照された設計要素とを、ユーザにより選択または参照されたものとしてマークするステップをさらに含む、
請求項１記載の選択された設計要素のポジションを編集する方法。
【請求項８】
プロセッサ（１０２）と、アクセス可能なメモリ（１０８）とを含む、幾何モデルの拘束ネットワーク（３００）において選択された設計要素（３４０）のポジションを編集するためのデータ処理システム（１００）であって、該データ処理システム（１００）は、特に以下のように構成されている、すなわち、
・幾何モデル（１５２）における設計要素（３４０）の選択をユーザから受け取り、
・予めデータベースに記憶されている複数のポジショニンググループ（３１０，３２０，３９０）から、前記選択された設計要素を含む第１のポジショニンググループ（３１０）を見つけるためにデータベース（１５０）をサーチし、ただし、前記複数のポジショニンググループは各々、前記幾何モデルの設計要素と、個々のポジショニンググループにおける前記設計要素（３３０，３４０，３５０，３６０，３７０，３８０，３９０）間の拘束ネットワーク（３００）の少なくとも１つのポジショニング拘束（３０５，３１５，３２５，３３５，３４５，３５５，３６５，３７５）とを含み、
・前記選択された設計要素（３４０）を含む前記第１のポジショニンググループと、少なくとも１つのポジショニング拘束（３３５）を介して前記第１のポジショニンググループ内の少なくとも１つの設計要素に関連づけられて予め記憶されている別のポジショニンググループ（３２０）に含まれる少なくとも１つの付加的な設計要素（３６０）とを、前記拘束ネットワーク全体をロードすることなく、前記データベースからロードしてユーザに表示し、
・前記第１のポジショニンググループに含まれる少なくとも１つのポジショニング拘束に対するユーザの編集に基づき、更新されたポジショニンググループを生成し、
・前記更新されたポジショニンググループを前記データベースに記憶する、
ように構成されている、
データ処理システム（１００）。
【請求項９】
前記データ処理システムは、さらに以下のように構成されている、すなわち、
・前記拘束ネットワークをユーザから受け取り、
・前記拘束ネットワークを前記複数のポジショニンググループに分割し、
・前記複数のポジショニンググループを前記データベースに記憶する、
ように構成されている、
請求項８記載のデータ処理システム。
【請求項１０】
前記拘束ネットワークは、複数の設計要素に関する複数のポジショニング拘束を有する、
請求項９記載のデータ処理システム。
【請求項１１】
前記複数のポジショニンググループへの前記拘束ネットワークの分割において、前記ポジショニンググループの所有権、または前記ポジショニンググループの最小数、または最小のポジショニンググループに従って、前記拘束ネットワークを分割する、
請求項９記載のデータ処理システム。
【請求項１２】
前記第１のポジショニンググループは、
・前記選択された設計要素と、
・前記選択された設計要素に関連する複数のポジショニング拘束であって、前記第１のポジショニンググループに含まれていない設計要素に対する１つ以上のポジショニング拘束を含む、複数のポジショニング拘束と、
・前記複数のポジショニング拘束によって参照されている複数の設計要素への参照であって、前記第１のポジショニンググループに含まれていない設計要素に対する１つ以上の参照を含む、参照と
を含み、
前記第１のポジショニンググループに含まれる前記設計要素すべてが、フォアグラウンド設計要素として表示され、前記少なくとも１つの付加的な設計要素が、バックグラウンド設計要素として表示される、
請求項８記載のデータ処理システム。
【請求項１３】
前記第１のポジショニンググループを見つけるための前記データベースのサーチにおいて、前記選択された設計要素が他のユーザによって選択または参照されているものとしてマークされているか否かを判定する、
請求項８記載のデータ処理システム。
【請求項１４】
さらに、前記更新されたポジショニンググループが前記データベースに記憶されるまで、前記選択された設計要素と、参照された設計要素とを、ユーザにより選択または参照されたものとしてマークするように構成されている、
請求項８記載のデータ処理システム。
【請求項１５】
実行可能な命令によってコーディングされた非一時的なコンピュータ読み取り可能媒体であって、前記命令が実行されると、幾何モデルの拘束ネットワークにおいて選択された設計要素のポジションを編集するための１つまたは複数のデータ処理システムは、以下を実行する、すなわち、
・幾何モデル（１５２）における設計要素（３４０）の選択をユーザから受け取り、
・予めデータベースに記憶されている複数のポジショニンググループ（３１０，３２０，３９０）から、前記選択された設計要素を含む第１のポジショニンググループ（３１０）を見つけるためにデータベース（１５０）をサーチし、ただし、前記複数のポジショニンググループは各々、前記幾何モデルの設計要素と、個々のポジショニンググループにおける前記設計要素（３３０，３４０，３５０，３６０，３７０，３８０，３９０）間の拘束ネットワーク（３００）の少なくとも１つのポジショニング拘束（３０５，３１５，３２５，３３５，３４５，３５５，３６５，３７５）とを含み、
・前記選択された設計要素（３４０）を含む前記第１のポジショニンググループと、少なくとも１つのポジショニング拘束（３３５）を介して前記第１のポジショニンググループ内の少なくとも１つの設計要素に関連づけられて予め記憶されている別のポジショニンググループ（３２０）に含まれる少なくとも１つの付加的な設計要素（３６０）とを、前記拘束ネットワーク全体をロードすることなく、前記データベースからロードしてユーザに表示し、
・前記第１のポジショニンググループに含まれる少なくとも１つのポジショニング拘束に対するユーザの編集に基づき、更新されたポジショニンググループを生成し、
・前記更新されたポジショニンググループを前記データベースに記憶する、
非一時的なコンピュータ読み取り可能媒体。
【請求項１６】
さらに以下のことを含む、すなわち、
・前記拘束ネットワークをユーザから受け取り、
・前記拘束ネットワークを前記複数のポジショニンググループに分割し、
・前記複数のポジショニンググループを前記データベースに記憶する
請求項１５記載の非一時的なコンピュータ読み取り可能媒体。
【請求項１７】
前記拘束ネットワークは、複数の設計要素に関する複数のポジショニング拘束を有する、
請求項１６記載の非一時的なコンピュータ読み取り可能媒体。
【請求項１８】
前記複数のポジショニンググループへの前記拘束ネットワークの分割において、前記ポジショニンググループの所有権、または前記ポジショニンググループの最小数、または最小のポジショニンググループに従って、前記拘束ネットワークを分割する、
請求項１６記載の非一時的なコンピュータ読み取り可能媒体。
【請求項１９】
前記第１のポジショニンググループは、
・前記選択された設計要素と、
・前記選択された設計要素に関連する複数のポジショニング拘束であって、前記第１のポジショニンググループに含まれていない設計要素に対する１つ以上のポジショニング拘束を含む、複数のポジショニング拘束と、
・前記複数のポジショニング拘束によって参照されている複数の設計要素への参照であって、前記第１のポジショニンググループに含まれていない設計要素に対する１つ以上の参照を含む、参照と
を含み、
前記第１のポジショニンググループに含まれる前記設計要素すべてが、フォアグラウンド設計要素として表示され、前記少なくとも１つの付加的な設計要素が、バックグラウンド設計要素として表示される、
請求項１５記載の非一時的なコンピュータ読み取り可能媒体。
【請求項２０】
前記第１のポジショニンググループを見つけるための前記データベースのサーチにおいて、前記選択された設計要素が他のユーザによって選択または参照されているものとしてマークされているか否かを判定する、
請求項１５記載の非一時的なコンピュータ読み取り可能媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
他の出願の参照
本出願は、同一出願人により同時に出願された米国特許出願第１４／２８９，３３７号（U.S. Patent Application 14/289,337）、発明の名称："Intelligent Constraint Selection for Positioning Tasks"（代理人整理番号2014P09179US）と、何らかの発明内容を共有するものであり、この文献をここで参照したことにより、その開示内容が本願に組み込まれたものとする。
【０００２】
技術分野
本発明は、全般的に言えば、コンピュータ支援設計（ＣＡＤ）、視覚化および製造システム、製品ライフサイクルマネージメント（"PLM"）システム、ならびに製品および他の項目のデータを管理する同等のシステム（これらを総称して「製品データ管理」システムまたはＰＤＭシステムとする）に関する。
【０００３】
発明の背景
ＰＤＭシステムは、ＰＬＭおよび他のデータを管理する。この場合、改善されたシステムが望まれている。
【０００４】
発明の概要
本発明による種々の実施形態は、拘束ネットワークにおいて選択された設計要素のポジションを編集する方法を含む。この方法は、幾何モデルにおける設計要素の選択をユーザから受け取るステップを含む。さらにこの方法は、選択された設計要素に関連するポジショニンググループを見つけるためにデータベースをサーチするステップも含む。ついでこの方法は、選択された設計要素に関連するポジショニンググループをユーザに表示するステップを含む。この方法はさらに、更新されたポジショニンググループをユーザから受け取るステップを含む。この方法は最後に、更新されたポジショニンググループをデータベースに記憶するステップを含む。
【０００５】
これまでの記載は、以下の詳細な説明を当業者がよりよく理解できるよう、本発明の特徴および技術的な利点をどちらかと言えば大雑把に略述したものである。各請求項の要旨を成す本発明のその他の特徴および利点については、以下で述べることにする。当業者であれば理解できるように、当業者は開示された着想や特定の実施形態を、本発明と同じ目的を成し遂げるための変更または異なる構造設計のベースとして、ただちに使用することができる。さらに当業者であれば、かかる等価の構造が最も広い形態で開示した本発明の着想および範囲を逸脱しないことを理解するであろう。
【０００６】
以下の発明の詳細な説明に入る前に、本明細書全体を通して用いられるいくつかの用語や表現について、ここで定義しておくのがよいと思われる。「を含む」および「を有する」なる表現ならびにそれらの派生語は、制限のない包含を表す。「または」なる表現は、「および／または」の意味も含む。「と関連する」および「それと関連する」ならびにそれらの派生語は、「含む」、「の中に含まれる」、「と相互接続する」、「を含有する」、「の中に含有される」、「に接続する」または「と接続する」、「に結合する」または「と結合する」、「と連携可能である」、「と共働する」、「をはさむ」、「に並置する」、「のすぐ近くにある」、「に結び付けられる」または「と結び付けられる」、「を有する」、「の所有物である」等を意味する場合もある。さらに「コントローラ」なる用語は、ハードウェアで実装されていようと、ファームウェア、ソフトウェア、またはそれらのうち少なくとも２つの組み合わせで実装されていようと、少なくとも１つのオペレーションを制御する何らかのデバイス、システムまたはそれらの一部分を表す。さらにここで留意しておきたいのは、いずれかの特定のコントローラと結び付けられた機能を、ローカルであろうとリモートであろうと、集中させてもよいし分散させてもよい、ということである。いくつかの用語および表現に対する定義は、本明細書全体にわたって規定されるものであり、当業者であれば理解できるように、かかる定義は、大部分の事例ではないにしても数多くの事例において、ここで定義した用語および表現の以前の使用にも将来の使用にも適用される。いくつかの用語は、幅広い種類の実施形態を含むことができるけれども、添付の特許請求の範囲では、それらの用語が特定の実施形態に明確に制限されてもよい。
【０００７】
本発明およびその利点について、いっそう完全に理解できるようにする目的で、添付の図面を参照しながら本発明について以下で説明する。なお、図中、対象が同じであれば同じ参照符号が付されている。
【図面の簡単な説明】
【０００８】
【図１】１つの実施形態を実現可能なデータ処理システムを示すブロック図
【図２】本発明による２つの設計要素間の関係を示す図
【図３】本発明による拘束ネットワークにおけるポジショニンググループを示す図
【図４】本発明に従い拘束ネットワークを分割する方法を示す図
【図５】本発明に従い拘束ネットワークを編集する方法を示す図
【０００９】
詳細な説明
本明細書では本発明の基本原理を説明するために、以下で説明する図１〜図５および種々の実施形態が用いられているが、これらは例示の目的で用いたにすぎず、いかなる点においても本発明の範囲の限定を意図したものではない。当業者であれば理解できるように、本発明の基本原理を、適切に構成された任意の装置において実現することができる。本発明の数多くの革新的な着想について、具体例として挙げた非限定的な実施形態を参照しながら説明する。
【００１０】
１つの製品において単一の拘束ネットワークには、数百万もの部品が拘束されている可能性があり、これによりモデルをロードするための所要記憶容量が増大し、適切なハードウェアが制限される。生産性および効率性を高めるためシステムは、ユーザによる干渉なく自動的に、拘束ネットワークをより小さい部分に分解する。より小さい部分にすることで、ユーザは自身が目下編集する１つまたは複数の設計要素をダウンロードするだけでよくなり、それによって所要記憶容量が小さくなる。さらにユーザは、特定の設計要素に必要とされるポジショニング拘束をダウンロードするだけであることから、互いに排除し合ったり、または互いの作業を上書きし合ったりすることなく、単一のアセンブリまたはサブアセンブリを複数のユーザが編集できるようにもなる。
【００１１】
図１には、１つの実施形態を実現可能なデータ処理システムのブロック図が示されている。これはたとえば、特に本明細書で述べるプロセスを実行するためのソフトウェアまたは他の手段によって構築されたＰＤＭシステムとして実現可能であり、特に、本明細書で説明するように、相互接続され通信を行う複数のシステムのうちの１つとして実現可能である。図示されているデータ処理システムには、レベル２キャッシュ／ブリッジ１０４と接続されたプロセッサ１０２が含まれており、キャッシュ／ブリッジ１０４自体はローカルシステムバス１０６と接続されている。たとえばローカルシステムバス１０６を、ＰＣＩ（peripheral component interconnect）アーキテクチャのバスとすることができる。図示の実施例ではローカルシステムバスにさらに、メインメモリ１０８とグラフィックアダプタ１１０も接続されている。グラフィックアダプタ１１０を、ディスプレイ１１１と接続することができる。
【００１２】
ローカルエリアネットワーク（ＬＡＮ）／ワイドエリアネットワーク／ワイヤレス（たとえばWiFi）アダプタ１１２などといった他の周辺機器を、ローカルシステムバス１０６と接続することもできる。拡張バスインタフェース１１４によって、ローカルシステムバス１０６が入出力（Ｉ／Ｏ）バス１１６と接続されている。Ｉ／Ｏバス１１６は、キーボード／マウスアダプタ１１８、ディスクコントローラ１２０、およびＩ／Ｏアダプタ１２２と接続されている。ディスクコントローラ１２０を記憶装置１２６と接続することができ、この記憶装置１２６を、機械で使用可能または機械で読み取り可能な任意の適切な記憶媒体とすることができ、このような記憶媒体には、以下に限定されるわけではないが、リードオンリーメモリ（ＲＯＭ）など不揮発性で変更不可能な媒体、または消去可能であり電気的にプログラミング可能なリードオンリーメモリ（ＥＥＰＲＯＭ）、磁気テープ媒体、ユーザが記録可能なタイプの媒体たとえばフロッピーディスク、ハードディスクドライブ、およびコンパクトディスク型リードオンリーメモリ（ＣＤ−ＲＯＭ）、またはディジタル多用途ディスク（ＤＶＤ）、さらに他の周知の光学的、電気的または磁気的な記憶デバイスが含まれる。記憶装置１２６は、データベース１５０と幾何モデル１５２などを記憶しており、これらについてはあとで説明する。
【００１３】
図示されているこの実施例では、Ｉ／Ｏバス１１６にオーディオアダプタ１２４も接続されており、サウンド再生のためにこのアダプタにスピーカ（図示せず）を接続することができる。キーボード／マウスアダプタ１１８によって、マウス、トラックボール、トラックポインタ、タッチスクリーンなどポインティングデバイス（図示せず）のための接続が提供される。
【００１４】
当業者であれば理解できるように、図１に描かれているハードウェアを個々の実現形態に合わせて変更できる。たとえば、図示されているハードウェアに加えて、またはその代替として、光ディスクドライブなどのような他の周辺機器を使用してもよい。図示されている実施例は、例示目的で示されているにすぎず、本発明に関して構造上の制限を意図したものではない。
【００１５】
本発明の１つの実施形態によるデータ処理システムには、グラフィックユーザインタフェースを用いるオペレーティングシステムが含まれている。このオペレーティングシステムによれば、同時に複数のディスプレイウィンドウをグラフィックユーザインタフェースとして表示させることができ、各ディスプレイウィンドウによって、それぞれ異なるアプリケーションに対するインタフェースが提供され、または同じアプリケーションの異なるインスタンスに対するインタフェースが提供される。ユーザはポインティングデバイスによって、グラフィックユーザインタフェースのカーソルを操作することができる。その際、カーソルのポジションを変更することができ、および／または、望ましいレスポンスを生じさせるために、マウスボタンのクリックなどのイベントを発生させることができる。
【００１６】
適切に変更を加えれば、様々な市販のオペレーティングシステムのうちの１つを採用することができ、たとえば, Washington州RedmondのMicrosoft社の製品であるMicrosoft Windows（登録商標）の１つのバージョンを採用することができる。オペレーティングシステムは、ここで説明するように本発明に従って変更または作成される。オペレーティングシステムは、ここで説明する本発明に従って変更または作成される。
【００１７】
ＬＡＮ／ＷＡＮ／ワイヤレスアダプタ１１２を（データ処理システム１００の一部ではない）ネットワーク１３０に接続することができ、このネットワークを、当業者に周知のように、公用または専用のデータ処理システムネットワークあるいは複数のネットワークの組み合わせとすることができ、これにはインターネットが含まれる。データ処理システム１００は、ネットワーク１３０を介してサーバシステム１４０と通信することができ、このサーバシステムもデータ処理システム１００の一部ではないが、たとえば別個の異なるデータ処理システム１００として実装してもよい。
【００１８】
本発明による実施形態によれば、ＰＤＭシステムにおける各設計要素間の拘束を管理するシステムおよび方法が提供される。詳しくは、本発明による技術によって、リジッド拘束と他の拘束との間のインタラクションを管理するルールを適用することができる。
【００１９】
図２には、本発明による２つの設計要素間の関係が示されている。ポジショニング拘束セット２３０は、２つの設計要素２００間の関係である。１つのアセンブリ構造における複数のオカレンスと同じように実装可能な、または同じ機能を果たすことができる設計要素を、部品、サブアセンブリ、アセンブリおよびスケッチを含む任意のタイプのオブジェクトとすることもできる。ポジショニング拘束を、２つの設計要素間の何らかの機能的関係とすることができ、そのような機能的関係には、合致している幾何要素、整列している幾何要素、平行な幾何要素、垂直な幾何要素、一致している幾何要素、同心円の幾何要素、正接している幾何要素、各幾何要素間の距離、各幾何要素間の角度、または他の任意のポジショニング拘束が含まれる。この図面では、ポジショニング拘束セット２３０は１本の線だけしか示していないが、この線で結ばれた２つの設計要素間の１つまたは複数の拘束を表す場合もある。
【００２０】
図２の場合、ポジショニング拘束セット２３０は、設計要素Ａ ２１０と設計要素Ｂ ２２０との間の関係を表している。この関係は双方向である。設計要素Ａ ２１０の視点から見たとすれば、ポジショニング拘束セット２３０が表すことができるのは、設計要素Ａ ２１０の右側が設計要素Ｂ ２２０の左側に接触する、ということである。択一的に設計要素Ｂ ２２０の視点から見たとすれば、ポジショニング拘束セット２３０が表すことができるのは、設計要素Ｂ ２００の左側が設計要素Ａ ２１０の右側に接触する、ということである。
【００２１】
図３には、本発明による拘束ネットワークにおけるポジショニンググループが示されている。１つの拘束ネットワークには、複数の設計要素に関係する複数のポジショニング拘束が含まれている。図示されている拘束ネットワーク３００には、７つの設計要素（設計要素Ｃ ３３０、設計要素Ｄ ３４０、設計要素Ｅ ３５０、設計要素Ｆ ３６０、設計要素Ｇ ３７０、設計要素Ｈ ３８０および設計要素Ｊ ３９０）と、８つのポジショニング拘束セット２３０（ポジショニング拘束３０５、ポジショニング拘束３１５、ポジショニング拘束３２５およびポジショニング拘束３３５、ポジショニング拘束３４５、ポジショニング拘束３５５、ポジショニング拘束３６５およびポジショニング拘束３７５）が含まれている。ただし１つの拘束ネットワークは、任意の個数の設計要素とポジショニング拘束セット２３０を含むことができる。図３に示されている１つの設計要素において、ポジショニング拘束の最大個数は３つの拘束セットであるけれども、１つの設計要素は、任意の個数のポジショニング拘束セット２３０を含むことができる。すべての設計要素は、少なくとも１つのポジショニング拘束セット２３０を含んでいる。
【００２２】
ポジショニンググループのことを本明細書では幾何拘束コレクションとも称するが、このようなポジショニンググループは、フォアグラウンド設計要素としても知られる設計要素のグループと、ポジショニンググループにおける各設計要素のポジションを定義するポジショニング拘束セット２３０とによって構成されている。さらにポジショニンググループには、バックグラウンド設計要素としても知られる設計要素への参照も含まれている。バックグラウンド設計要素は、ポジショニンググループの外部にあるが、ポジショニンググループ内部に含まれているポジショニング拘束セット２３０のために必要とされる。１つの実施形態によれば、１つの設計要素または１つの拘束が、ただ１つのポジショニンググループのフォアグラウンドにある。別の実施形態によれば、複数の設計要素および複数のポジショニング拘束が、複数のポジショニンググループに含まれるようにしてもよい。いくつかの実施形態によれば、一部の設計要素はどのようなポジショニンググループにも含めることができない。
【００２３】
拘束ネットワークを複数のポジショニンググループに分割する適切な方法には、最小数のポジショニンググループ、最小のポジショニンググループ、ポジショニンググループの所有権、または設計要素の依存性、に従って分割するステップが含まれている。
【００２４】
図３には、拘束ネットワーク３００のうち、２つのポジショニンググループすなわちポジショニンググループ３１０とポジショニンググループ３２０の例が示されている。ポジショニンググループ３１０は、設計要素Ｃ ３３０、設計要素Ｄ ３４０および設計要素Ｅ ３５０のために生成される。ポジショニング拘束３０５、ポジショニング拘束３１５、ポジショニング拘束３２５、ポジショニング拘束３３５およびポジショニング拘束３７５はすべて、ポジショニンググループ３１０内に含まれる設計要素のポジショニングに用いられ、それらの拘束もポジショニンググループ３１０内に含まれている。ポジショニンググループ３１０が選択されると、ポジショニング拘束は、設計要素Ｆ ３６０および設計要素Ｅ ３９０を含むバックグラウンド設計要素を参照する。これらの設計要素は、バックグラウンド設計要素としてポジショニンググループ３１０に含まれている。
【００２５】
ポジショニンググループ３２０は、設計要素Ｆ ３６０、設計要素Ｇ ３７０および設計要素Ｈ ３８０のために生成される。ポジショニング拘束３３５、ポジショニング拘束３４５、ポジショニング拘束３５５およびポジショニング拘束３６５はすべて、ポジショニンググループ３１０内に含まれる設計要素のポジショニングに用いられ、それらの拘束もポジショニンググループ３１０内に含まれている。ポジショニンググループ３２０が選択されると、ポジショニング拘束は設計要素Ｄ ３４０を参照し、これはバックグラウンド設計要素としてポジショニンググループ３２０に含まれている。
【００２６】
図４には、拘束ネットワークを分割する方法４００が示されている。
【００２７】
ステップ４１０において、システムは拘束ネットワークを受け取り、複数の設計要素およびそれらの設計要素間の拘束が生成され、またはユーザからの拘束ネットワークに加えられる。
【００２８】
ステップ４２０において、拘束ネットワークがシステムによって保存される。ユーザが拘束ネットワークを保存した時点で、拘束ネットワークを複数のポジショニンググループに分割するプロセスがスタートする。
【００２９】
別の実施形態によれば、拘束ネットワークを複数のポジショニンググループに分割する目的で、拘束ネットワークがシステムにロードされる。
【００３０】
ステップ４３０において、拘束ネットワークがシステムによって、複数の設計要素に関連する複数のポジショニンググループに自動的に分割される。拘束ネットワークの個々の設計要素にいっそう効率的にアクセスして、それらの設計要素を編集するために、拘束ネットワークが分割される。複数のポジショニンググループによって、複数のユーザが拘束ネットワークにアクセスできるようになり、これは他のユーザが設計要素をアクセス中または参照中でないときに可能となる。自動的に定義されるポジショニンググループは典型的には、単一の設計要素の拘束への参照を含み、ユーザには不可視である。
【００３１】
択一的な実施形態によれば、ユーザは設計要素のセットを定義することができる。それらの設計要素間の拘束はすべて、ユーザ定義グループと呼ばれる単一のポジショニンググループ内にある。それらのグループおよびそれらの設計要素は、サブ拘束ネットワークのように振る舞う。
【００３２】
ステップ４４０において、複数の設計要素に基づくポジショニンググループがデータベース１５０に記憶される。
【００３３】
図５には、拘束ネットワークを編集する方法５００が示されている。
【００３４】
ステップ５１０において、システムは幾何モデル１５２をロードする。ついでユーザは１つの設計要素を選択し、システムは設計要素のユーザ選択を受け取る。
【００３５】
いくつかの実施形態によればシステムは、選択された設計要素またはポジショニンググループ内の他の設計要素に対する書き込みアクセス権がユーザにあるか否か、を判定する。ポジショニンググループ内のある１つの設計要素に対する書き込みアクセス権がユーザになければ、システムは、その単一の設計要素に関する制約をロックすることができ、またはポジショニンググループ内のいかなる制約の変更からもユーザをロックすることができる。
【００３６】
１つの実施形態によれば、システムはその後、選択された設計要素を参照するポジショニンググループを見つけるためにデータベース（１５０）をサーチする。ポジショニンググループは、選択された設計要素以外の設計要素を参照することもできる。データ管理システムは、精密な態様または曖昧な態様のいずれかでコンフィギュレーションされた手法で、拘束ネットワークをナビゲートするメカニズムを提供する。精密な態様によるナビゲーションとは、as-saved状態によって参照されたオカレンスの特定のリビジョンが戻される、ということを意味する。曖昧な態様によるナビゲーションとは、アプリケーションまたはユーザが供給するコンフィギュレーション基準が、as-saved状態によって参照されたオカレンスのすべてのシブリングリビジョンに適用される、ということを意味する。この場合、コンフィギュレーションするリビジョンが戻されることになる。フォアグラウンドオカレンスは、ポジショニンググループのいずれのas-saved状態も参照していないシブリングリビジョンを削除するために適用される付加的なフィルタリングレベルを取得し、つまりそれらのポジションは、ポジショニンググループによっても影響を受けない（したがってポジショニンググループのメンバではない）。データ管理システムは、ポジショニンググループのオカレンスサーチプロセスの一部として、そのトラバーサルをサポートする。
【００３７】
いくつかの実施形態によればシステムは、拘束がＣＡＤにロードされたときに使用するために、できるかぎり最良のas-saved状態を決定しようと試みる。できるかぎり最良のas-savedは、コンフィギュレーションされたグループのメンバのうちの１つに直前に影響を与えたポジショニンググループの最新のas-saved状態を探索することによって決定される。コンフィギュレーションされた幾何拘束コレクションのメンバを探索するために、データ管理システムは、幾何拘束コレクションのas-saved状態各々によって参照されたすべてのフォアグラウンドメンバ全体について、最初に探索しなければならない。ついでシステムは、コンフィギュレーションする可能なメンバ各々のシブリングリビジョンを探索する。システムは、幾何拘束コレクションによって影響を受けていないシブリングリビジョンを、自動的に削除することになる。オカレンスのリビジョンは、それらが幾何拘束コレクションのいずれのas-saved状態への参照も有していなければ、影響を受けていないとみなされる。次にシステムは、見つけられたシブリングリビジョンのコンフィギュレーションされたオカレンスのいずれかによって参照された幾何拘束コレクションの最新のas-saved状態を選択する。
【００３８】
ステップ５２０においてシステムは、選択された設計要素が目下、他のユーザによって選択または参照されているか否かを判定する。選択された設計要素が目下、選択されているか否かを判定するために、システムはデータベース（１５０）をチェックして、選択された設計要素が目下、他のユーザにより選択されたポジショニンググループにおいて選択または参照されたものとしてマークされているか否かを調べる。
【００３９】
別の実施形態によれば、選択された設計要素だけでなく他の設計要素もポジショニンググループに含まれているならば、システムは、それら他の設計要素が他のユーザによって選択されたポジショニンググループにおいて選択または参照されたものとしてマークされているか否か、についても判定する。
【００４０】
選択された設計要素または他の設計要素が目下、他のユーザによって選択または参照されたものとしてマークされていない、とシステムが判定したならば、ステップ５３０においてシステムはユーザに対し、ポジショニンググループのロードを許可し、選択された設計要素に関連するポジショニンググループをユーザに表示する。システムは、選択された設計要素を編集するのに必要なだけの情報しかロードせず、拘束ネットワーク全体のダウンロードは要求しない。
【００４１】
ステップ５４０においてシステムは、選択された設計要素と、他の設計要素と、データベース（１５０）においてユーザにより選択されたものとしてポジショニンググループにおいて参照されている設計要素とをマークする。
【００４２】
ステップ５５０において、ユーザはポジショニング拘束を編集し、更新されたポジショニンググループをデータベース（１５０）に保存する。システムは、更新されたポジショニンググループをユーザから受け取り、更新されたポジショニンググループをデータベース（１５０）に記憶する。
【００４３】
ステップ５６０においてシステムは、選択された設計要素と、他の設計要素と、データベース（１５０）においてポジショニンググループ内で参照されている設計要素のマークを外す。
【００４４】
当業者に自明のとおり、オペレーションシーケンスにより特に指示または要求がなされないかぎり、上述のプロセスにおけるいくつかのステップを省略してもよいし、同時に実施しても逐次実施してもよく、あるいは異なる順序で実施してもよい。
【００４５】
さらに当業者に理解できるとおり、簡単かつ明瞭にするため、本発明による使用に適したあらゆるデータ処理システムの構造およびオペレーションを、本明細書においてすべて描いたまたは説明したわけではない。そうではなく、データ処理システムのうち、本発明に特有のところだけを、または本発明の理解に必要なところだけを描いて説明したにすぎない。データ処理システム１００の構造およびオペレーションのその他の部分は、この分野で周知の現在行われている様々な実装形態および実施手法の任意のものに適合させることができる。
【００４６】
ここで特に述べておきたいのは、本発明には、完全に機能的なシステムに関連した説明が含まれているけれども、当業者に自明であるとおり、本発明におけるメカニズムは少なくとも部分的には、機械で使用可能な媒体、コンピュータで使用可能な媒体、またはコンピュータで読み取り可能な媒体に記憶された命令として、任意の種類の形態で配布可能なものであること、さらに本発明は、特定のタイプの命令、信号担体または記憶媒体が使用されようとも、そのような配布物を実際に実行するために等しく適用されることである。機械で使用可能／読み取り可能な媒体、またはコンピュータで使用可能／読み取り可能な媒体の例として、以下のものが含まれる：リードオンリーメモリ（ＲＯＭ）など不揮発性で変更不可能にコーディングされたタイプの媒体、または消去可能であり電気的にプログラミング可能なリードオンリーメモリ（ＥＥＰＲＯＭ）、ならびにユーザが記録可能なタイプの媒体たとえばフロッピーディスク、ハードディスクドライブ、およびコンパクトディスク型リードオンリーメモリ（ＣＤ−ＲＯＭ）、またはディジタル多用途ディスク（ＤＶＤ）。
【００４７】
これまで本発明の実施例について詳しく説明してきたが、当業者であれば理解できるように、最も広い形態で開示した本発明の着想および範囲を逸脱することなく、様々な変更、置き換え、変形ならびに本明細書で開示した改善を行うことができる。
【００４８】
本願の記載内容のいずれも、何らかの特定の部材、ステップまたは機能が特許請求の範囲に含まれなければならない必須の要素である、という趣旨で読まれるべきではない。本発明の範囲は、特許付与された請求項によってのみ定められるものである。しかも、厳密な語「〜のための手段」の次に分詞が続かないのであれば、これらの請求項のいずれも、米国特許法第１１２条第６項が適用されることを意図したものではない。
【図１】
0006338696.tif 000002
【図２】
0006338696.tif 000003
【図３】
0006338696.tif 000004
【図４】
0006338696.tif 000005
【図５】
0006338696.tif 000006