データ処理システムによって実行される方法において、前記方法は、複数の形状を有するCADモデルを受信するステップと、前記形状の各々に対する自由度の数を決定するステップと、前記形状の各々を位置決めするために用いられる複数の制約を決定するステップと、前記制約によって取り除かれる自由の総数を決定するステップと、定義中の形状および定義済みの形状を識別するステップと、前記定義中の形状のうち単数による定義中であるUDS形状を識別するステップと、UDSと識別された前記形状の各々のためのUDS指標を保存するステップと、を含む方法。前記CADモデルを受信するステップは、形状の少なくとも一つのセットを識別するステップを含み、他のステップの各々は、形状の前記セットにて実行される、請求項1に記載の方法。前記CADモデルは、3次元である、請求項1に記載の方法。定義中の形状は、定義中であるが、自由度に等しい制約の数を有するとき、UDSと識別される、請求項1に記載の方法。単数から計算されたCFS指標を識別し、保存するステップをさらに含み、前記指標は、UDSまたはCFSと識別されるサポートとして少なくとも1つの形状を有する任意の形状に関連している、請求項1に記載の方法。プロセッサと、アクセス可能メモリと、を具えるCADデータ処理システムであって、前記CADデータ処理システムは、複数の形状を有するCADモデルを受信するステップと、前記形状の各々に対する自由度の数を決定するステップと、前記形状の各々を位置決めするために用いられる複数の制約を決定するステップと、前記制約によって取り除かれる自由の総数を決定するステップと、定義中の形状および定義済みの形状を識別するステップと、前記定義中の形状のうち単数による定義中であるUDS形状を識別するステップと、UDSと識別された前記形状の各々のためのUDS指標を保存するステップと、を実行するように構成されているCADデータ処理システム。前記CADモデルを受信するステップは、形状の少なくとも一つのセットを識別するステップを含み、他のステップの各々は、形状の前記セットにて実行される、請求項6に記載のCADデータ処理システム。前記CADモデルは、3次元である、請求項6に記載のCADデータ処理システム。定義中の形状は、定義中であるが、自由度に等しい制約の数を有するとき、UDSと識別される、請求項6に記載のCADデータ処理システム。前記CADデータ処理システムは、単数から計算されたCFS指標を識別し、保存するステップを実行するようにさらに構成され、前記指標は、UDSまたはCFSと識別されるサポートとして少なくとも1つの形状を有する任意の形状に関連している、請求項6に記載のCADデータ処理システム。持続性コンピュータ可読媒体であって、実行時に、CADデータ処理システムに、複数の形状を有するCADモデルを受信するステップと、前記形状の各々に対する自由度の数を決定するステップと、前記形状の各々を位置決めするために用いられる複数の制約を決定するステップと、前記制約によって取り除かれる自由の総数を決定するステップと、定義中の形状および定義済みの形状を識別するステップと、前記定義中の形状のうち単数による定義中であるUDS形状を識別するステップと、UDSと識別された前記形状の各々のためのUDS指標を保存するステップと、を実行させる命令によってコード化される持続性コンピュータ可読媒体。前記CADモデルを受信するステップは、形状の少なくとも一つのセットを識別するステップを含み、他のステップの各々は、形状の前記セットにて実行される、請求項11に記載の持続性コンピュータ可読媒体。前記CADモデルは、3次元である、請求項11に記載の持続性コンピュータ可読媒体。定義中の形状は、定義中であるが、自由度に等しい制約の数を有するとき、UDSと識別される、請求項11に記載の持続性コンピュータ可読媒体。前記CADデータ処理システムに、単数から計算されたCFS指標を識別し、保存するステップを実行させる命令をさらに具え、前記指標は、UDSまたはCFSと識別されるサポートとして少なくとも1つの形状を有する任意の形状に関連している、請求項11に記載の持続性コンピュータ可読媒体。各種実施形態は、定義中の形状を識別するシステム、方法およびコンピュータプログラムを含み、定義中の形状は、単数の制約スキームによる形状を含む。本発明の方法は、複数の形状を有するCADモデルを受信するステップと、前記形状の各々に対する自由度を決定するステップと、を含む。本発明の方法は、形状の各々への制約の数を識別するステップと、定義中の形状および定義済みの形状を識別するステップと、を含む。本発明の方法は、前記定義中の形状のうち単数による定義中であるUDS形状を識別するステップと、UDSと識別された前記形状の各々のためのUDS指標を保存するステップと、を含む。方法は、これらの単数の形状から直接または間接的に計算される単数から計算されるすなわちCFS任意の形状または変数のための指標を保存するステップを含むことができる。上述した説明は、当業者が以下の詳細な説明をよりよく理解することができるように、本発明の特徴および技術的利点をかなり広く概説した。以下、特許請求の範囲を構成する本発明の付加的な特徴および効果を記載する。当業者は、開示された概念および特定の実施形態を、本発明と同一の目的を実現するための他の構造を修正または設計するための基礎として、直ちに使用することができるということを理解するであろう。当業者は、この種の等価な構造が、最も広い形で開示された本発明の趣旨および範囲から逸脱しないということを理解する。以下の詳細な説明を行う前に、本明細書の全体にわたって用いられる特定の用語またはフレーズの定義を記載する。含むおよび具えるという用語は、その派生語とともに、制限せずに含むということを意味する。またはという用語は、および/またはという意味も含む。関連するというフレーズは、その派生語とともに、含む、含まれる、相互接続する、接続する、結合する、伝達可能である、協働する、挟む、並置する、近傍配置されている、固定されている、有する、特性を有する等を意味することができる。コントローラという用語は、少なくとも1つの動作を制御する任意の装置、システムまたはその一部を意味し、この種の装置が、ハードウェア、ファームウェア、ソフトウェアまたはこれらの少なくとも2つの組合せにおいて実施されているか否かは関係ない。任意の特定のコントローラに関連した機能が集中されたり、分散されたり、ローカルあるいはリモートとすることができる点に留意する必要がある。特定の用語およびフレーズの定義は、本明細書全体にわたって与えられ、当業者は、この種の定義が、この種の定義済みの用語およびフレーズの従来および将来使用される多くの例ほとんどの例ではないにしてもにあてはまるということを理解する。複数の用語が多種多様な実施形態を含みうるが、添付の特許請求の範囲はこれらの用語を特定の実施形態に明確に制限することができる。本発明およびその利点をより完全に理解するために、添付の図面に関連した説明を参照する。図面において、同様の参照符号が同様の要素に付してある。以下の図面および各種実施形態は、本発明の原則を記載するために単なる例示目的で示されるものであって、開示の範囲を制限するものと解釈されてはならない。当業者は、本発明の原則が任意の最適に構成された装置に実現可能であるということを理解するであろう。本明細書の多数の革新的な教示は、例示的かつ非限定的な実施形態を参照して記載されている。定義以下、本明細書において使われる技術用語の通常の意味の短い定義を示す。しかしながら、当業者は、文脈によって異なる意味を必要とするか否かを認識するものである。さらなる定義は、標準的な専門辞書およびジャーナルに見つけられる。形状とは、モデルの基本的な構成要素を意味する例えば点、線、円など。変数という用語は、計算の意味に使用されるのと同様に使用される。例えば、モデルの寸法は変数によって表される未知の値を有することができ、モデルの解は変数のための値を生じる。セットとは、制約または他の機構によって一体に接続された一まとまりの形状を意味する。制約とは、2つの形状の強制的な関係を意味する例えば平行、同心、同一、一致など。制約バランスとは、制約によって取り除かれる自由の数をマイナスしたモデルまたはモデルのサブセットの自由の数を意味する。制約形状解はCGSと呼ばれ、この種の解は、例えば、各形状位置を、その現在の位置、それの制約およびそのサポートの位置に基づいて計算する方法を決定することができる。解は、形状がその制約およびサポートによって定義中であるか、定義済みであるかを決定することもできるこの情報は形状のステータスと呼ばれる。サポートとは、それから他の形状が計算される形状を意味する。寸法とは、関連する値を有する制約を意味する例えば距離、半径、角度など。自由自由度とは、形状が変化可能な方法を意味する例えば、2次元では、円は2つの位置の自由および1つの半径の自由がある。単数とは、その支持体に対する制約の所定のセットとともに、形状ステータスが変化する例えば定義済みから定義中に値のセットを意味する定義中とは、変化する自由を有する形状、セットまたは変数を意味する。定義済みとは、固定された形状、セットまたは変数を意味する。すなわち、各属性が所定の値を有するか、または、他の定義済み形状に対して、自由の全てが制約寸法を含むによって取り除かれているので、形状、セットまたは変数は自由を有さない。単数による定義中UDSとは、定義中であるが、そのサポートに関してゼロ制約バランスを有しそのサポートに関する制約バランスがゼロであり、それゆえ、通常、制約寸法を含むによってそのサポートに対して定義済みであるはずの形状またはセットを意味する。単数から計算されたCFSとは、UDSサポートから直接または間接的に計算された形状、セットまたは変数を意味する。図1は、データ処理システムのブロック図を示し、一実施形態は、例えば本明細書に記載されている方法を実行するように構成されるCADシステムとして実現可能である。図示のデータ処理システムは2次キャッシュ/ブリッジ104に接続されたプロセッサ102を含み、2次キャッシュ/ブリッジ104はローカルシステムバス106に接続されている。ローカルシステムバス106は、例えば、PCIアーキテクチャバスとすることができる。図示例では、メインメモリ108およびグラフィクスアダプタ110もまた、ローカルシステムバスに接続されている。グラフィクスアダプタ110は、ディスプレイ111に接続されている。他の周辺機器、例えばローカルエリアネットワークLAN/ワイドエリアネットワーク/ワイヤレス例えばWiFiアダプタ112もまた、ローカルシステムバス106に接続されている。拡張バスインタフェース114は、ローカルシステムバス106を入出力I/Oバス116に接続する。I/Oバス116は、キーボード/マウスアダプタ118、ディスクコントローラ120および入出力アダプタ122に接続されている。ディスクコントローラ120は、ストレージ126に接続され、このストレージ126は、機械使用可能なあるいは機械読み取り可能な任意の適切な記憶媒体とすることができ、不揮発性、ハードコードされたタイプの媒体、例えば読出し専用メモリROMまたは消去可能な、電気的にプログラム可能な読出し専用メモリEEPROM、磁気テープストレージ、ユーザ―記録可能タイプの媒体、例えばフロッピーディスク、ハードディスクドライブ、コンパクトディスク読出し専用メモリCD―ROM、デジタル多用途ディスクDVD、他の周知の光学的、電気または磁気記憶装置が挙げられるが、これに限定されるものではない。図示例では、I/Oバス116には音声アダプタ124もまた接続され、音声アダプタ124には音を演奏するためのスピーカ図示せずを接続することができる。キーボード/マウスアダプタ118は、マウス、トラックボール、トラックポインタのようなポインティングデバイスへの接続を提供する。当業者であれば、図1に示したハードウェアが特定の実施形態に対して変形可能であるということを認識するであろう。例えば、図示のハードウェアに加えて、あるいは、図示のハードウェアの代わりに、例えば光ディスクドライブなどの他の周辺装置を用いることもできる。図示の実施形態は、単に説明の目的のために与えられ、本発明の開示に関して構造上の制限を意味するものではない。本発明の一実施形態によるデータ処理システムは、グラフィカルユーザインタフェースを使用しているオペレーティングシステムを含む。オペレーティングシステムによって、多数のディスプレイウィンドウが同時にグラフィカルユーザインタフェースに表示され、各ディスプレイウィンドウは、インタフェースを、異なるアプリケーションに、または、同一のアプリケーションの異なるインスタンスに提供する。グラフィカルユーザインタフェースのカーソルは、ポインティングデバイスを介してユーザによって操作可能である。カーソルの位置は変更可能であり、および/または、マウスボタンをクリックすることのようなイベントは、所望の反応を起動するために発生可能である。様々な市販のオペレーティングシステム、例えばMicrosoftWindows登録商標のバージョンワシントンのレドモンドに位置するマイクロソフトの製品の1つを、最適に修正して使用することができる。オペレーティングシステムは、上述したように本発明に従って修正または作成される。LAN/WAN/ワイヤレスアダプタ112は、ネットワーク130データ処理システム100の一部でないに接続可能であり、ネットワーク130は、当業者に知られているように、インターネットを含む任意の公的または私的なデータ処理システムネットワークまたはネットワークの組合せとすることができる。データ処理システム100は、ネットワーク130を通じてサーバシステム140と通信可能であり、サーバシステム140もまた、データ処理システム100の一部ではなく、例えば、個別のデータ処理システム100として実現することができる。2次元の2DCGSシステムは、適用された制約例えば、平行、すなわち、1本の線と、これに平行なもう1本の線および寸法関連する値を有する制約、例えば、所定の距離はなれた2点のスキームに基づいて、2次元において形状の位置を算出する。例えば制約スキームが、固定基準に対して形状の自由を完全に規定するには不十分である場合、形状は定義中とすることができ、制約スキームが、全ての自由を取り除くのに十分である場合、形状は定義済みとすることができる。制約が過剰な自由、あるいは、同一の自由を2回以上取り除くことを試みる場合、形状は定義過剰とすることもできる。モデルまたはモデルサブセットの制約バランスは、制約によって取り除かれる自由の数をマイナスしたモデルまたはサブセットの自由の数である。制約バランスがゼロである場合、形状のいずれも定義過剰ではないと仮定するとモデルの形状の全てが定義済みであることが要求される。エンドユーザCADシステムにおいて、制約バランスがゼロであるが、モデルの1つ以上の形状が実際に定義中である場合、エラーが発生する。2以上の制約が、モデル内で寸法値または形状の単数の組合せによる同一の自由を実際に取り除いているという制約スキームの場合、このことは発生しうる。問題は、形状が制約によって定義済みでなければならないが、制約の単数の組合せによるものではないと予想される場合、局所的に発生することもありうる。これらの場合、モデルにさらに制約を追加すると、モデルを定義済みにするという所望の効果を達成するよりむしろ、モデルを定義過剰にしてしまう。2次元の単純な一例は、2つの点に一致する線の場合である。線は2つの自由を有する。線を定義済みの点に一致させることはその線は、常にその点を通るように拘束されている、その線から1つの自由を取り除く。その線を第2の定義済みの点に一致させることは、その線の第2の自由を取り除くことになり、その線を定義済みにする。しかしながら、2つの点が実際に同一位置に存在するが、論理的に同一ではない場合このことは、線を1つの点のモデルに減少させる、点/線に一致する制約は、線から同一の自由を取り除き、線は、2つの制約を有するにもかかわらず定義中であり、本明細書中では単数による定義中すなわちUDSと称する。2つの点は、固定され直交する参照軸から1対の同一の距離寸法を有することによって、同一位置に存在するが、論理的に同一ではないとすることができる。寸法を必要としない単純な一例は、2本のユーザ定義の曲線に一致する点とすることができる。2つの曲線は、その長さの一部のみに関して共通の形状を有し、この領域において重なっている。曲線もまた定義済みである。重なっている領域における両方の曲線に一致する点は、定義中であるが、ローカル制約バランスに従って定義済みでなければならない。この点はUDSである。本明細書に開示される各種実施形態は、そのサポートの単数の構成により定義中である形状またはセットを処理し、所定のモデルにおける形状またはセットのいずれが存在する場合、UDSであるかを決定するシステムを含む。CGSは、どの形状またはセットが定義済みであり、どの形状またはセットが定義中であるかを決定する。本明細書に記載されている方法を使用して、すべての定義中の形状セット部材を含むは、可能性があるUDS形状とみなすことができる。形状あるいはセットがUDSであるか否か決定するために、そのサポートが見つけられる。サポートは、形状またはセットが計算される形状であり、モデルが解析される命令と同様に、モデルの制約および形状によって決定可能である。例えば、2本の非平行な固定線と、これらの両方の線に一致する点と、から成る2次元モデルを考慮する。計算された点の位置は線が交差する所であり、線は点のサポートである。サポートが定義済みである場合、計算された形状またはセットへのサポートからの制約は、その形状またはセットから1つ以上の自由を取り除く。定義済みのサポートから制約の数が、形状またはセットから自由の全てを取り除くのに十分でなければならないが、その形状またはセットが定義中であると前もって決定されていた場合、その形状またはセットはシステムによってUDSであると決定され、さらなる確認は必要ない。図2A~図2Cは、2つの円に一致する点を用いた例を示す。各場合において、両方の円は定義済みであり、同一半径を有する。図2Aは、タンジェント円の場合を示す。このような場合、円は、互いに接することが公知であり、1つの交点202が定義済みである。点202に関する1つの解のみが存在する。図2Bは、交差する円の場合を示す。このような場合、円が点204および交点206にて交差するところで、2つの可能な解が存在するので、点の各々は定義済みである。図2Cは、重なる円の場合を示す。2つの円は、論理的に同一ではないが、制約の組合せにより重複している。このような場合、上述した例とは異なり、円が交差する無数の場所が存在するので、両方の円に一致する点はUDSである。点を2つの円に共通の点と識別する単純な制約を使用すると、円上のいかなる単一の点208も識別することができない。複数の実施形態では、システムは、CADモデルを受信し、モデルの少なくとも1つの形状を分析する。システムは、どの形状が定義中であるかを決定し、定義済みである形状を決定することができる。システムは、どの形状またはセットが定義済みサポートに対する制約の数を有するかを決定し、この制約の数は、これらの形状またはセットを定義済みにするのに十分な制約の数に等しい。システムは、形状またはセットが、十分な制約を有するが、まだ定義中であることによりUDSであることを示す指標を識別し、保存する。図3は、データ処理システムによって実行される本発明の実施形態に従う方法のフローチャートを示し、この方法は、特に、本明細書に記載されている方法を実行するように構成されるデータ処理システム100によって実行可能である。システムは、複数の形状を有するCADモデルを受信するステップ305。各形状は、面、端、混合、点または他の特徴を含むことができる。CADモデルは2次元、3次元、または、より高次元とすることができ、形状の各々は適切な次元数において同様に形成可能である。形状は、形状のセット、例えば、寸法または制約によって一体に接続された形状の収集を含むことができ、このステップは、任意のこのようなセットを識別するステップを含むことができる。本明細書に記載されている動作および方法は、個々の形状において実行されるのに加えて、または、その代わりに、セットにおいて、および、セットの形状のいずれかにおいて実行可能である。本明細書で用いられる受信とは、ストレージからのローディング、他のシステムからの受信、同一システム上の他のプロセスからの受信、ユーザとの作用を介した受信、作成および編集を含むことができる。システムは、形状および任意の識別されたセットの各々に対する自由度の数を決定するステップ310。上述したように、各種の形状は、各セットと同様、関連した自由度の数を有する。システムは、形状またはセットの各々に対する形状位置を決定するために用いられる制約を識別するステップ315。本明細書に記載されているように、制約はサポートとの寸法の関係とすることができる。システムは、定義中の形状またはセットの各々を識別するステップ320。本明細書に記載されているように、定義中の形状またはセットは、1つ以上の無拘束の自由を有する。このステップの一部として、システムは、定義済みの形状の各々もまた識別する。システムは定義中の形状またはセットのいずれかを、単数による未定義UDSであるとして識別するステップ325。形状またはセットは、形状またはセットが定義中であるが、定義済みのサポートを有し、制約の数が自由度に等しく、制約バランスがゼロであるとき、そのように識別される。システムは、UDSと識別された形状セットを含むの各々のためのUDS指標を保存するステップ330。UDS形状を識別することによって、システムは、システムおよびユーザが、ゼロ制約バランスをすでに有する定義中の形状によって生じる不明なエラーを回避することができるという技術的利点を提供する。各種実施形態によって、任意のUDS形状が、システムによって識別されるとともにそのようなものとしてマーク可能となる。サポートとしてUDS形状を有するすべての形状、セットまたは変数は、単数から計算されたCFSの特別な指標とともに保存可能である。サポートとしてCFS形状を有する形状、セットまたは変数は、UDS形状から間接的に計算されるため、CFSとしてマーク可能である。開示された実施形態は、完全に定義済みの形状および変数を有するべきモデルが、依然定義中の形状または変数を有する場合の数を低減する。各種実施形態によると、制約集計によりUDS形状またはセットを決定する方法は、ほとんどの場合、最善の問題解決法である。他の実施形態は、モデルの形状または領域に対する制約のための導関数行列を構成するステップを含み、その行列のランクは、制約が定義済みであるかフルランク、または、単数であるか減少したランクを示す。寸法値の小さい摂動およびランクを付け直すことは、モデルが定義過剰であるかランクは未だ減少している、または、UDSであるかここで、フルランクを示す。本明細書に記載されている方法の各種ステップは、繰り返し、順次、並行して、あるいは、異なる順序で実行可能であり、各種実施形態において、ステップを省略したり、他のプロセスと結合することができる。当業者は、簡潔かつ明確にするために、本発明の使用に適したすべてのデータ処理システムの完全な構造および動作が本明細書に記載されているというわけではないということを理解するであろう。その代わりに、本発明に特有であり、本発明の理解のために必要なデータ処理システムのみが記載されている。データ処理システム100の構造および動作の残りの部分は、周知の様々な現在の任意の実施態様に従うことができる。重要なことに、本発明の開示が完全に機能システムの文脈における説明を含むが、当業者は、本発明のメカニズムの少なくとも一部が、機械使用可能な、コンピュータ使用可能なまたはコンピュータ可読の媒体内に様々な形態で含まれる命令の形で分散可能であることを認識するとともに、実際に分散を実行するのに利用される媒体または記憶媒体の命令あるいは信号の特定の種類に関係なく、本発明が等しく適用されるということを認識する。機械使用可能な/読み込み可能なまたはコンピュータ使用可能な/読み込み可能な媒体の例としては、不揮発性、ハードコードされたタイプの媒体、例えば読出し専用メモリROMまたは消去可能な、電気的にプログラム可能な読出し専用メモリEEPROM、ユーザ―記録可能タイプの媒体、例えばフロッピーディスク、ハードディスクドライブ、コンパクトディスク読出し専用メモリCD―ROM、デジタル多用途ディスクDVDが挙げられる。本発明の例示的な実施形態を詳述してきたが、当業者は、本発明の精神と範囲から逸脱することなく、本明細書に開示される様々な変化、置換、変更および改善がその最も幅広い形で可能であるということを理解するであろう。本明細書の説明は、いずれも、任意の特定要素、ステップまたは機能が、特許請求の範囲に含まるべき必須要素であるということを示唆するものとして解釈されるべきではなく、本発明の範囲は、特許請求の範囲によってのみ定義される。さらに、特許請求の範囲は、いずれも、正確な用語~する手段が分詞によって表されない限り、米国特許法第112条第6段落を行使することを意図しない。