(57)【要約】【課題】制約を解決することが不可能であることが生じる場合に設計者を支援することができるコンピュータ支援設計の方法を提供すること。【解決手段】本発明は、１組のオブジェクトを備える製品のコンピュータ支援設計の方法に関し、前記方法は、オブジェクトの前記１組のオブジェクトを関連付ける制約を識別するステップを含み、前記制約のそれぞれは、制約を解決すると第１のオブジェクトは、前記制約の他のすべてが解決されることを条件として移動されないことを保証するように第１のオブジェクトから第２のオブジェクトに配向され、前記方法は、前記制約を解決することが不可能であることが検出される場合、前記制約が前記制約のうちの１つの指向型制約を変更すると解決されることができるか否かをテストするステップと、前記１つの制約を変更する提案を戻すステップとをさらに含む。【選択図】図７
2008165809.tif 000002
【特許請求の範囲】
【請求項１】
１組のオブジェクト（１１〜５１）を備える製品のコンピュータ支援設計の方法であって、
前記１組のオブジェクトのオブジェクト（１１〜５１）を関連付ける制約（１１２１〜４１５１）を識別するステップ（Ｓ１０）であって、前記制約のそれぞれは、前記制約を解決すると（Ｓ９０）、前記制約の他のすべてが解決されることを条件として第１のオブジェクトが移動されないことを保証するように前記第１のオブジェクトから第２のオブジェクトに配向されるステップと、
前記制約を解決することが不可能であることが検出される場合、前記制約は、前記制約のうちの１つの指向型制約（４１５１）を変更すると解決することができるか否かをテストするステップと、
前記１つの指向型制約（４１５１）を変更する提案（１１０）を戻すステップと
を含むことを特徴とする方法。
【請求項２】
ユーザが操作すると前記１つの指向型制約（４１５１）を変更するステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記１つの指向型制約を変更するステップは、前記１つの指向型制約（４１５１）の方位を無視することを含むことを特徴とする請求項２に記載の方法。
【請求項４】
前記変更するステップは、前記１つの指向型制約を非指向型制約に変換することを含むことを特徴とする請求項２に記載の方法。
【請求項５】
前記変更するステップは、前記制約のうちの前記１つの方位を反転することを含むことを特徴とする請求項２に記載の方法。
【請求項６】
前記変更するステップの後に、
前記変更するステップの後に変更された制約に従って、前記制約を解決する順番を見出すステップ（Ｓ２０〜Ｓ８０）と、
前記順番に従って前記制約を解決するステップ（Ｓ９０）と
をさらに含むことを特徴とする請求項２から５のいずれかに記載の方法。
【請求項７】
前記順番を見出すステップは、グラフを使用することを特徴とする請求項６に記載の方法。
【請求項８】
コンピュータシステムのグラフィカルユーザインターフェース（１００）内に、前記１組のオブジェクトおよび前記指向型制約を記号として表示するステップをさらに含み、
前記指向型制約（１０００、１１２１〜４１５１）のうちの１つ又はそれぞれに関連付けられた第１のオブジェクト（９２）もしくは第２のオブジェクト（９１）のうちの１つを選択により、前記制約のうちの前記１つの変更が可能となることを特徴とする請求項１から７のいずれかに記載の方法。
【請求項９】
前記グラフィカルユーザインターフェース（１００）は、前記１組のオブジェクトの３Ｄ表現を表示するようにさらに適合されることを特徴とする請求項８に記載の方法。
【請求項１０】
前記提案を戻すステップは、前記グラフィカルユーザインターフェース内で、前記１つの指向型制約を表す記号を強調することをさらに含むことを特徴とする請求項１から９のいずれかに記載の方法。
【請求項１１】
前記識別するステップで識別された前記制約は、少なくとも１つの非指向型制約をさらに備えることを特徴とする請求項１から１０のいずれかに記載の方法。
【請求項１２】
前記テストするステップにおいて、前記１つの指向型制約（４１５１）を見出すように、識別された前記指向型制約（１１２１〜４１５１）の方位を再帰的に無視することをさらに含むことを特徴とする請求項１から１１のいずれかに記載の方法。
【請求項１３】
前記テストするステップは、１つの基準に従って前記１つの指向型制約を選択することをさらに含むことを特徴とする請求項１から１２のいずれかに記載の方法。
【請求項１４】
前記基準は、前記１組のオブジェクトの最小の相対的変位であることを特徴とする請求項１３に記載の方法。
【請求項１５】
１組のオブジェクトを備える製品のコンピュータ支援設計のためのコンピュータ読み取り可能な製品であって、
請求項１〜１４のいずれかによる方法の前記ステップを実現するために設計された符号化手段を備えることを特徴とする製品。
【請求項１６】
１組のオブジェクトを備える製品のコンピュータ支援設計のためのコンピュータシステムであって、請求項１〜１４のいずれかによる方法の前記ステップを実現するために設計された手段を備えることを特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータプログラム及びシステムの分野に関し、より具体的には、１組のモデル化されたオブジェクトを備える製品のコンピュータ支援設計の方法であって、このオブジェクトは制約によって関連付けられている方法に関する。
【背景技術】
【０００２】
コンピュータ支援技術には、コンピュータ支援設計またはＣＡＤが含まれ、ＣＡＤは、製品設計をオーサリングするためのソフトウェアソリューションに関する。同様に、ＣＡＥは、コンピュータ支援エンジニアリング（Ｃｏｍｐｕｔｅｒ−Ａｉｄｅｄ  Ｅｎｇｉｎｅｅｒｉｎｇ）に対する頭字語であり、例えば、将来の製品の物理的動作をシミュレートするためのソフトウェアソリューションに関する。ＣＡＭは、コンピュータ支援製造（Ｃｏｍｐｕｔｅｒ−Ａｉｄｅｄ  Ｍａｎｕｆａｃｔｕｒｉｎｇ）を表し、典型的には製造プロセスおよび操作を定義するためのソフトウェアソリューションを含む。
【０００３】
いくつかのシステム及びプログラムが、オブジェクト（もしくは部品）またはオブジェクトの組立体（ａｓｓｅｍｂｌｙ）の設計のために市場で提供されており、商標ＣＡＴＩＡの名でＤａｓｓａｕｌｔ  Ｓｙｓｔｅｍｅｓ社によって提供される製品等の製品を形成する。これらのＣＡＤシステムによってユーザは、オブジェクト又はオブジェクトの組立体の複雑な三次元（３Ｄ）モデルを構築し操作することができる。したがって、ＣＡＤシステムは、辺または線を使用して、ある場合には面を使用してモデル化されたオブジェクトの表現を行う。線または辺は、様々な方法で、例えば、非一様有理Ｂスプライン（ＮＵＲＢＳ）で表されることができる。これらのＣＡＤシステムは、部品または部品の組立体を基本的に形状の仕様書であるモデル化されたオブジェクトとして管理する。具体的にはＣＡＤファイルは、仕様書を含み、その仕様書から形状が生成され、次いでその形状が生成されるべき表現を可能にする。仕様書（ｓｐｅｃｉｆｉｃａｔｉｏｎ）、形状（ｇｅｏｍｅｔｒｙ）および表現（ｒｅｐｅｒｅｓｅｎｔａｔｉｏｎ）は、単一のＣＡＤファイルまたは複数のＣＡＤファイル内に格納することができる。ＣＡＤシステムは、モデル化されたオブジェクトを設計者に表すためのグラフィックツールを含む。これらのツールは、複雑なオブジェクトの表示専用である（ＣＡＤシステムでオブジェクトを表すファイルの典型的な大きさは、部品あたり１メガバイトの範囲であり、組立体は数千の部品を備える場合がある。）。ＣＡＤシステムは、電子ファイルに格納されるオブジェクトのモデルを管理する。
【０００４】
コンピュータ支援技術では、グラフィカルユーザインターフェース（ＧＵＩ）が技術の効率に関して重要な役割を果たす。
【０００５】
会社が、拡大企業（ｅｘｔｅｎｄｅｄ  ｅｎｔｅｒｐｒｉｓｅ）の概念にわたって、製品データを共有し、共通のプロセスを適用し、構想から製品寿命の最後までの製品開発に関する企業の情報を活用することを支援する事業戦略を指す製品ライフサイクル管理（ＰＬＭ）ソリューションも知られている。関係者（会社の部門、ビジネスパートナー、供給業者、相手先ブランド製造者（ＯＥＭ）、および顧客）を含むことによって、ＰＬＭは、このネットワークが製品およびプロセスを概念化し、設計し、構築し、サポートする単一の統一体として動作することを可能にすることができる。
【０００６】
例えば、いくつかのＰＬＭソリューションは、デジタルモックアップ（ｄｉｇｉｔａｌ  ｍｏｃｋｕｐ）（製品の３Ｄグラフィカルモデル）を生成することによって製品を設計し開発することを可能にする。例えば、デジタル製品はまず、適切なアプリケーションを使用して定義されシミュレートされることができる。次いで、無駄のないデジタル製造プロセスが定義されモデル化されることができる。
【０００７】
（商標ＣＡＴＩＡ、ＥＮＯＶＩＡおよびＤＥＬＭＩＡの名で）Ｄａｓｓａｕｌｔ  Ｓｙｓｔｅｍｅｓ社によって提供されるＰＬＭソリューションは、製品技術情報を体系化するエンジニアリングハブ（Ｅｎｇｉｎｅｅｒｉｎｇ  Ｈｕｂ）、製造技術情報を管理する製造ハブ、およびエンジニアリングハブと製造ハブの両方への企業統合化および接続を可能にする企業ハブ（Ｅｎｔｅｒｐｒｉｓｅ  Ｈｕｂ）を提供する。全体としてシステムは、最適化された製品定義、製造準備、製品およびサービスを推進する動的な知識ベースの製品生成および意思決定支援を可能にするために、製品、プロセス、リソースを関連付けるオープンなオブジェクトモデルを提供する。この種のＰＬＭソリューションは、製品のリレーショナルデータベースを備える。データベースは、１組のテキストデータおよびデータ間の関係を含む。典型的には、データは製品に関連した技術データを含み、このデータは、データの階層内に配列され、検索可能であるように索引がつけられる。データはモデル化されたオブジェクトを表し、それらはしばしばモデル化された製品およびプロセスである。
【０００８】
製品構成、プロセス情報およびリソース情報を含む製品のライフサイクル（ｌｉｆｅｃｙｃｌｅ）情報は、一般には共同した方法で編集される。
【０００９】
他の特徴のうちでＣＡＤアプリケーションでのモデリングは、形状的オブジェクトだけでなくそれらのオブジェクト間での機能的依存関係も定義する必要がしばしばある。通常これは、制約（ｃｏｎｓｔｒａｉｎｔ）の助けを用いて実現される。制約（例えば、形状的制約）は、形状的オブジェクト間の満足されるべき関係である。例えば、第１のオブジェクトが、第２のオブジェクトからの所与の距離（オフセット）に配置されることを必要とする可能性がある。
【００１０】
実際にはこの設計方法は、決してコンピュータの「思考（ｔｈｉｎｋｉｎｇ）」の通常の手続きではない。手続き的アプローチとは対照的に、形状の宣言的記述は人間にはるかに親しみがある。
【００１１】
最近の形状モデラ（ｍｏｄｅｌｅｒ）はこの問題に対する解決策を提供する。形状は、形状要素間の制約を定義することによって記述することができる。制約ソルバ（ｓｏｌｖｅｒ）のおかげで設計者は、宣言的方法でオブジェクトの形状および大きさを規定するだけであり、システムが仕様書に従って図面を作成することを処理する。ユーザは、どのように描くかではなく何を描くかを規定する。
【００１２】
制約を実現するいくつかの既存のＣＡＤのコンピュータベースの方法では、制約は、ネットワークにグループ化され、例えば変分技術を使用してすべて同時に解決される。変分ソルバは、予め定められた順序で制約を配置する必要がなく制約を処理する。制約の宣言的性質と、例えば解決の変分的アプローチが、システムのすべての構成要素が同じ条件で処理されるようにする。
【００１３】
この種の方法に伴う欠点は、制約を解決するとき、副次作用のためにすべての関係する部品が移動されて、共同的に作業する人々の間で潜在的な不一致をもたらす可能性があることである。例えば、第１のチームおよび第２のチームのそれぞれによって設計された第１の組の部品および第２の組の部品があり、第１の組および第２の組の両方にある部品は制約によって接続されているとする。特に、第１の組の１つの部品と第２の組の１つの部品とを接続している制約を解決することによって、第１の組または第２の組内の部品の相対的位置が変更され、したがって潜在的な矛盾になりうる。
【００１４】
指向型制約を実施する方法に基づくＣＡＤソフトウェアも知られており、その方位は、例えば、制約付きのオブジェクトを配置するときに割り当てられた相対的順序と共に凍結される（ｆｒｏｚｅｎ）。相対的順序の割当は、精神において手続き的方式と同様である。
【発明の開示】
【発明が解決しようとする課題】
【００１５】
この種の方法を用いると制約を解決することが不可能であることが生じる場合、設計者はそれに応じて通知される。最善でもシステムは、それがソリューションを見出すことができないことを通知するのみであり、いかなる提案も設計者に提供しない。次いで、設計者は、その不可能の原因を理解しなければならず、オブジェクトの定義および／またはそれらの関係を「再考（ｒｅｔｈｉｎｋ）」することになろう。この種のステップは時間がかかる。
【００１６】
したがって、制約を解決することが不可能であることが生じる場合に設計者を支援することができるコンピュータ支援設計の方法が必要である。
【００１７】
さらに、指向型制約を実施する方法に固有の別の問題は、この種の方法が、オブジェクトの位置決めにおける相対的順序を割り当てることができると仮定することである。これは常には実現することができない。いくつかの製品構成の場合、これは不可能でさえありうる。したがって、指向型制約の既知の技術は、一部の製品に適していない。少なくとも、部品の可能な組合せの数（例えば、機械的シナリオ）は、非指向型制約を使用する方法と比較して低減される。したがって上記の要求（設計者を支援すること）に加えて、その方法は、好ましくは、既存のソリューションと比較して部品の組合せの可能性の増大を可能にすべきである。
【課題を解決するための手段】
【００１８】
したがって一実施形態では、本発明は、１組のオブジェクトを備える製品のコンピュータ支援設計の方法であって、
前記１組のオブジェクトのオブジェクトを関連付ける制約を識別するステップを含み、前記制約のそれぞれは、前記制約を解決するときに、前記制約の他のすべてが解決されることを条件として第１のオブジェクトが移動されないことを保証するように、前記第１のオブジェクトから第２のオブジェクトに配向される（ｏｒｉｅｎｔｅｄ）ことを特徴とする。
【００１９】
前記方法は、
前記制約を解決することが不可能であることが検出される場合に、前記制約のうちの１つの指向型制約を変更すると前記制約を解決することができるか否かをテストするステップと、
前記１つの指向型制約を変更する提案を戻すステップと
をさらに含む。
【００２０】
他の実施形態では、本発明による方法は、下記の特徴の１つ又は複数を含むことができる。
【００２１】
前記方法は、ユーザが操作すると、前記１つの指向型制約を変更するステップをさらに含む。
【００２２】
前記１つの指向型制約を変更するステップは、前記１つの指向型制約の方位を無視することを含む。
【００２３】
前記変更するステップは、前記１つの指向型制約を非指向型制約に変換することを含む。
【００２４】
前記変更するステップは、前記制約のうちの前記１つの方位を反転することを含む。
【００２５】
前記方法は、前記変更するステップの後に、前記変更するステップにより変更された制約に従って前記制約を解決する順番を見出すステップと、前記順番に従って前記制約を解決するステップとをさらに含む。
【００２６】
前記順番を見出すステップは、グラフを使用する。
【００２７】
前記方法は、コンピュータシステムのグラフィカルユーザインターフェース内で、記号として前記１組のオブジェクトおよび前記指向型制約を表示するステップをさらに含み、前記指向型制約のうちの１つ又はそれぞれに関連付けられた第１のオブジェクト若しくは第２のオブジェクトのうちの１つを選択すると、前記制約のうちの前記１つを変更することができる。
【００２８】
前記グラフィカルユーザインターフェースは、前記１組のオブジェクトの３Ｄ表現を表示するようにさらに適合される請求項８による方法。
【００２９】
前記提案を戻すステップは、前記グラフィカルユーザインターフェース内で前記１つの指向型制約を表す記号を強調することをさらに含む。
【００３０】
前記識別するステップで識別された前記制約は、少なくとも１つの非指向型制約をさらに含む。
【００３１】
前記方法は、前記テストするステップにおいて、識別された前記指向型制約の方位を再帰的に無視して、前記１つの指向型制約を見出すことをさらに含む。
【００３２】
前記テストするステップは、１つの基準に従って前記１つの指向型制約を選択することをさらに含む。
【００３３】
前記基準は、前記１組のオブジェクトの最も少ない相対的変位である。
【００３４】
本発明は、１組のオブジェクトを備える製品のコンピュータ支援設計のためのコンピュータ読み取り可能な製品であって、本発明による方法のステップを実施するために設計された符号化手段（ｃｏｄｅ  ｍｅａｎｓ）を備える製品をさらに提案する。
【００３５】
本発明はさらに、１組のオブジェクトを備える製品のコンピュータ支援設計のためのコンピュータシステムであって、本発明による方法のステップを実施するために設計された手段備えるコンピュータシステムに関する。
【００３６】
本発明を具現化するシステムが、非限定的な例として、添付図面を参照して説明される。図１は、指向型制約のネットワークを例示し、図２〜４は、代替的実施形態において、指向型制約および非指向型制約の両方を備えるネットワークがどのように管理されるかを示す。図５〜８は、１組の制約を解決することが不可能であることが検出される状態と、ユーザを支援するために本発明によりとられるその後のステップを示す。図８は、ユーザが制約を編集するのを支援することをより詳細に例示する。
【発明を実施するための最良の形態】
【００３７】
本発明を要約すると、１組のオブジェクトを備える製品のコンピュータ支援設計の方法が提案されている。それらのオブジェクトを関連付ける制約のネットワークが識別される。一実施形態では、それらの制約のそれぞれは、制約のネットワークを解決するときに、それらの制約の他のすべてが解決されることを条件として第１のオブジェクトが移動されないことを保証するように、その１組のうちの第１のオブジェクトから第２のオブジェクトに配向される指向型（または方向付き）制約である。したがって、（例えば、第１のチームによって管理される）オブジェクトの第１の組のオブジェクトから（例えば、第２のチームによって設計中の）第２の組の第２のオブジェクトに制約を配向することによって、制約のネットワークを解決するときに第１の組の初期設計を保存することができる。
【００３８】
それらの制約を解決することが不可能であることが検出される場合、ますますその方法は、それらの制約を、それらの制約のうちの１つの指向型制約を変更すると解決することができるか否かをテストする。例えば制約の変更は、その方位を一時的に無視することにある。したがって、それらの１つの指向型制約を変更する提案がユーザに戻される。それゆえユーザはその問題に促されるが、ユーザはこれを効率的に解決することができる（実際には提案の簡単な検証で十分である。）。
【００３９】
下記で詳細に議論される変形形態の１つでは、識別された制約は、１つまたは複数の非指向型制約をさらに備えることができる。したがって部品の可能な組合せの数は、指向型制約だけのネットワークと比較すると増大し、考慮されるシステムがあまり制約されていない（ｕｎｄｅｒ−ｃｏｎｓｔｒａｉｎｅｄ）ときは特にそうである。
【００４０】
ここで詳述に説明していく。指向型制約が何であるかをより明確にするために、図１は、ＣＡＤシステムのグラフィカルユーザインターフェース（またはＧＵＩ）１００のスクリーンショットの一例を示しており、それは指向型制約１０２０、１０３０、２０３０によって関連付けられるオブジェクト１０、２０、３０の図を表す。
【００４１】
例示的ＧＵＩ１００は、標準のメニューバー１１０、１２０ならびにボトムツールバー１４０およびサイドツールバー１５０を有する典型的なＣＡＤインターフェースである。当技術分野で知られているように、この種のメニューバーおよびツールバーは、１組のユーザ選択可能アイコンを含み、各アイコンは、１つまたは複数の操作または機能に関連している。
【００４２】
これらのアイコンのいくつかは、ＧＵＩで表示されるオブジェクト１０、２０、３０を備えるモデル化された製品の編集および／または表示に適合されたソフトウェアツールに関連している。例えば、当該のソフトウェアツールは、ワークベンチ（ｗｏｒｋｂｅｎｃｈ）内でグループ化されることができる。換言すると、各ワークベンチは、異なるサブセットのソフトウェアツールを備える。具体的には、これらのうちの１つは、モデル化された製品の形状的特徴を編集することに適したエディションワークベンチ（ｅｄｉｔｉｏｎ  ｗｏｒｋｂｅｎｃｈ）であってよい。操作中に設計者は、例えば表示されたオブジェクト１０、２０、３０のうちの１つをあらかじめ選択し、次いで適切なアイコンを選択することによって操作を開始することができる（例えば、寸法、色等を変更する。）。例えば、典型的なＣＡＤ操作は、画面上に表示される３Ｄモデル化されたオブジェクトの穴あけ（ｐｕｎｃｈｉｎｇ）または折り畳み（ｆｏｌｄｉｎｇ）のモデリングである。
【００４３】
エディションワークベンチは、表示された製品２００に関係したデータ２５０（機能ツリーとして知られる）を表示するためにさらに適合されることができる。図１の例では、データ２５０および３Ｄ画像２００は、３つの基本的形状１０，２０，３０の簡単な組立体に関する。データ２５０は、ＧＵＩの左側にツリーの形で表示される。ＧＵＩは、例えばオブジェクトの３Ｄ方位を示すために他の種類のグラフィックツール１３０をさらに示すことができる。
【００４４】
例えば、コンピュータネットワーク内に実装されたデータベースが備え付けられたＰＬＭシステムの構成要素であるコンピュータシステムを使用することができる。したがって、そのコンピュータシステムをＰＬＭシステムと言及することができる。
【００４５】
ＧＵＩ１００は、ディスプレイおよびメモリを有しコンピュータネットワークにさらに接続されるコンピュータ上で実行され、製品データマネジャ（ＰＤＭ）システムの恩恵を受けることができる。ＰＤＭシステムは、場合によっては階層的に相互に関係付けられた多くの文書およびデータの管理を可能にする。したがって、複数のユーザが、例えば同様のローカルアプリケーションおよび共通の環境を使用して、異なるオブジェクト／製品に関して共同的に作業することができる。例えば、図１に表示され参照番号１００によって識別されるのと同様のＧＵＩを、ネットワークの他のコンピュータ上で実行することができる。
【００４６】
ここで表示されたオブジェクト１０、２０、３０に戻ると、オブジェクト２０は、制約１０２０を介してオブジェクト１０に接続されている。同様に、オブジェクト１０、３０の対およびオブジェクト２０、３０の対は、それぞれ制約１０３０および２０３０を介して接続されている。それらの制約は、それぞれ５５、１６０、および２０のノルム値を有する位置決め制約またはオフセット制約である。正の（暗黙の）符号または負の符号は、代数値を示す。明確にするために、制約は、図示されるようにそれらの各オブジェクトからオフセットして表されることがある。制約１０２０および１０３０は、オブジェクト１０、２０およびオブジェクト１０、３０の対向する面の各中心を関連付ける。制約２０３０は、オブジェクト２０、３０の各上面の間のオフセットである。
【００４７】
この例では、すべての制約が配向されている。具体的には、制約１０２０、１０３０および２０３０は、オブジェクト１０から２０に、１０から３０に、２０から３０にそれぞれ配向されている。指向型制約をここで次のように定義する。第１のオブジェクトから第２のオブジェクトに配向される制約は、制約のネットワークを解決するときに他のすべての制約が解決されることを条件として、第１のオブジェクトが移動されないことを保証する。好ましくは、第１のオブジェクトの絶対位置が移動しないことが規定され、これはその組のオブジェクトを管理し易くする。したがって制約を解決すると、第２のオブジェクトは、他の既存の指向型制約により不可能にされなければ移動することができる。図１の場合において、制約１０２０、１０３０および２０３０が解決されるとする。次いで、ユーザは、制約１０３０のノルム値を１７０に変更することを望む場合がある（制約を編集することは下記で詳述される）。ユーザはそれに応じて制約１０３０を編集し、その後に制約ソルバを呼び出す。そうすることによって、オブジェクト３０は、制約１０３０の方向に沿ってスライドすることができる。実際に、オブジェクト３０をスライドさせるときに−２０の垂直オフセットを維持することができるので、このオブジェクト３０が移動することを妨げるものはなく、制約２０３０さえも妨げない。同様に、制約１０２０のノルムをわずかに増大（例えば、５５から６０に）することも可能であろう。そうすることによって、オブジェクト２０は、制約１０２０に沿って画面の右側にスライドするであろう。
【００４８】
以下で議論されるように、本発明は、指向型制約のみからなるネットワークまたは制約のハイブリッド（つまり、指向型制約および非指向型制約の両方を含む）ネットワークに適用することができる。ハイブリッドネットワークは、相互に関係付けられたオブジェクトの共同的設計を簡略化する。
【００４９】
この点において本発明者は、指向型制約および非指向型制約の定義自体により、単一の制約ネットワーク（ｎｅｔｗｏｒｋ  ｏｆ  ｃｏｎｓｔｒａｉｎｔｓ）で指向型制約および非指向型制約の両方を管理することが可能であることを理解している。いくつかのコメントが整理されている。
【００５０】
当技術分野で知られるように、非指向型制約のネットワークは、例えば変分制約ソルバのおかげで解決することができる。対照的に、指向型制約のみからなるネットワークは、例えば手続き的アプローチにより解決することができる。この種の実装は個々に知られている。ここで、（指向型制約および非指向型制約の両方を備える）ハイブリッドネットワークは、非指向型制約のサブネットワークを備え、それは、例えば変分ソルバのおかげで局部的に解決することができることが理解されてきた。次に、指向型制約によって接続されるサブセットは、例えば手続き的アプローチから恩恵を受けることができる。例えば力ずくの（ｂｒｕｔｅ  ｆｏｒｃｅ）方法では、アルゴリズムは、すべての制約パスを体系的に調査し、制約を解決することができるものを見いだしたときに停止することができる。
【００５１】
しかしながら、この種のアプローチは明らかに最も効率的なものではない。この点において図２は、ハイブリッド制約のネットワークを効率的に解決するための可能性のあるステップＳ１０〜Ｓ９０の流れ図を示している。具体的にはそれらのステップは、ネットワークの制約を解決する順番を見いだし（ステップＳ２０〜Ｓ８０）、次いでそれらの制約を解決する（ステップＳ９０）ことができる。
【００５２】
典型的には、本発明のおかげでユーザは、単一のネットワークの非指向型制約または指向型制約の変更を開始する。制約を更新するとき、アルゴリズムは入力として受け取られる制約のリストを確認し識別する（ステップＳ１０）。
【００５３】
ステップＳ２０で、制約が、例えば２つずつ比較される。所与の対の制約、例えばＣｉおよびＣｊが考慮される。
【００５４】
ステップＳ３０で、ＣｉおよびＣｊが同一のオブジェクトを指し示すかどうかがテストされる。そうでない場合、アルゴリズムはステップＳ２０に戻り、つまり他の対が考慮される。そうである場合、指向型制約の上記定義に留意して、指し示されたオブジェクトがＣｊではなくＣｉの上流側にあるかどうかがテストされる。
【００５５】
そうでない場合、ＣｉおよびＣｊを評価する相対的順序が割り当てられず（ステップＳ５０），その他では相対的順序が与えられる（ステップＳ６０）。次いで、アルゴリズムは他の対の制約に移る（ステップＳ２０に行く）。
【００５６】
制約の比較を完了すると（ステップＳ７０）、制約のそれぞれの評価の順序を与えることができる（Ｓ８０）。
【００５７】
次に、割り当てられた出現数のおかげで、制約の増分解決（ｉｎｃｒｅｍｅｎｔａｌ  ｓｏｌｖｉｎｇ）が実行されることができる（Ｓ９０）。この点において、制約（非指向型制約）のいくつかには同一の出現数が与えられ、したがって例えば変分ソルバにより局部的に解決することができる非指向型制約システムのサブネットワークを形成する場合があることに留意されたい。
【００５８】
典型的には上記ステップは、グラフを使用して実現される。構築時（ｂｕｉｌｄ  ｔｉｍｅ）にグラフが構築される。実行時にはグラフが参照されて、制約の解決を可能にする。有利なことにはグラフは、グラフ還元（ｇｒａｐｈ  ｒｅｄｕｃｔｉｏｎ）の既知の技術を使用して構築時にさらに低減されることができる。
【００５９】
図３は、指向型制約および非指向型制約の両方によって関連付けられたオブジェクトのビューのスクリーンショットの一例を示す。
【００６０】
図１のように、図３は、制約によって接続されたオブジェクト１０〜６０を表示するＧＵＩ１００を示している（制約ｘｙがオブジェクトｘとｙを接続する）。この場合、制約の大部分１０２０〜４０５０は、両方向矢印として表される非指向型制約である。制約のうちの１つの制約５０６０は、オブジェクト５０からオブジェクト６０に配向されており（単方向矢印）、オブジェクト５０が、他のすべての制約１０２０〜４０５０が既に更新されていることを条件として制約５０６０を更新するときに移動しないことを意味する。したがって、第１のチームおよび第２のチームのそれぞれは、サブネットワーク１０〜５０（または、制約の観点では１０２０〜４０５０）および６０（または５０６０）を独立して設計することができる。
【００６１】
そのような制約は、ユーザによって編集される／変更されることができる。典型的にはユーザは、指向型制約または非指向型制約を変更するためにＧＵＩ１００を介して要求する。例えば、指向型制約５０６０および非指向型制約（１０２０〜４０５０）の両方が各記号として表示されていて、それらの選択により制約を変更することができる。したがって、第２のチームが制約５０６０を更新する（例えば、そのノルム値を変更する）場合、（既に更新されていれば）サブネットワーク１０２０〜４０５０には影響はない。いずれの場合でも、オブジェクト６０だけが移動する。それによって共同的作業が促進される。上述のように、サブグループ１０２０〜４０５０は、例えば変位技術により局部的に解決することができる。
【００６２】
図４は、図３のビューを表すＣＡＤシステムディスプレイのスクリーンショットの一例であり、制約のいくつかがユーザの操作により変更されている。
【００６３】
制約の可能性のある変更のうちの１つとして、ユーザは、非指向型制約を指向型制約に切り換える又はその逆をＧＵＩ１００を介して要求することができる。これは、図４に例示され、非指向型制約３０５０および４０５０のそれぞれが、（図３と比較して）指向型制約３０５５および４０５５に変換されている。ここで、ノルムは変更のないままである。しかし、制約の新しい方位は、図３と比較して異なる結果につながる。方位を変更すると共同的コンテキスト（ｃｏｎｔｅｘｔ）での設計作業を（例えば、管理者が）管理する助けとなる。
【００６４】
この種の変更は、変更を要求する人がそうする権限を与えられていることの検証を受ける場合がある。これは、共同的コンテキストで生じる可能性があり、権限を与えられた管理者は、制約の方位を変更する権限を与えられる。
【００６５】
図５および図６は、ユーザによって制約の値を変更するユーザ要求を概略的に示す。
【００６６】
図５は制約のネットワークの小部分を示し、それは点１１〜５１として表されたオブジェクトを関連付ける指向型制約（のみ）を備える。ここで、指向型制約の相互作用は、点５１だけが制約１１２１〜４１５１の任意のノルム値を変更すると移動することができるようにする。
【００６７】
図６は、制約１１５１に対する新しく要求されたオフセット１０を示す。この新しく要求された値は、点５１だけを移動することによる解決策がない状態をつくる。この場合にはＣＡＤシステムは、制約を解決することが不可能であることをユーザに示すことによって、都合よく反応することができる。例えば、画面内に適宜告げるウィンドウが現れることができる。例えば、対応する制約１１５１は、図６のように例えば破線化される又は強調されることができる。
【００６８】
しかしながら本発明によると、図７を参照して説明されるように、システムはより積極的（ｐｒｏａｃｔｉｖｅ）でもよい。図７は、ユーザが図６の制約のネットワークを解決するのを支援するために、ＧＵＩ内にポップアップするモーダルウィンドウ（ｍｏｄａｌ  ｗｉｎｄｏｗ）を表すスクリーンショットの一例である。
【００６９】
ここで、制約を解決することが不可能であることが検出されたとき、必要な場合には、アルゴリズムは、それらの制約が１つの指向型制約または複数の指向型制約を変更することによって解決されることができるか否かをテストすることを続行する。これは、例えば、システムを解決することができる制約を見出すまで制約のうちの１つの方位を再帰的に無視することによって実現することができる。制約が見出されない場合、制約の対のテストなどを行うことができる。
【００７０】
テストするステップは、変形として、１つの基準（例えば、それはその組のオブジェクトの最小の相対的変位に対応することができる）に従ってその１つの指向型制約を選択することをさらに含むことができる。したがって、その変更が解決を可能にするいくつかの制約が戻される場合、特定の制約（次いで関連のオブジェクト）をこの基準により選択することができる。
【００７１】
制約の方位を無視することを一時的又は恒久的にすることができ、それは、後者の場合には指向型制約を非指向型制約に変換することになる。そのような制約が見いだされるとシステムは、どのオブジェクト（または図７の例では点）が、見出された重要な（ｃｒｉｔｉｃａｌ）制約によって影響されるかを推定することができる。したがって、制約の観点で解析されるものをオブジェクトで表して変換することができ、それはユーザにとってより自然である。
【００７２】
したがって、モーダルウィンドウ（また、モーダルダイアログ（ｍｏｄａｌ  ｄｉａｌｏｇ））が現れて、ユーザに（図７のモーダルウィンドウで呼び出された「ｐｏｉｎｔ．１」に対応する）重要な点４１を移動できることを提案し、それはアルゴリズムの観点では、その少なくとも１つの指向型制約を変更する提案を戻すことになる。
【００７３】
ユーザがＹｅｓをクリックする場合、つまりユーザが点４１を移動することを受け入れる場合、重要な制約４１５１の方位は無視され、制約を解決することができる。結果は図８に表示される。
【００７４】
したがって、本発明は、制約を解決するためにユーザを支援するＣＡＤエキスパートシステムを実現して、多くの状態でかなりの時間を節約することを可能にする。
【００７５】
次に本発明の実施形態では、ＧＵＩは、図９を参照して説明されるように制約の方位の動的変更を可能にすることができる。図９は、ユーザが制約を編集するのを支援するモーダルウィンドウを表すスクリーンショットの一例を示している。
【００７６】
ここで、１つの指向型制約１０００のみが、簡潔性のためにＧＵＩ１００（部分図）に表示される（実際には、複数の指向型制約が識別されうる。）。
【００７７】
その制約（複数の制約）は、第１のオブジェクト９２から第２のオブジェクト９１に配向され、それらはＧＵＩにも表示される。制約は、制約を解決すると第１のオブジェクト９２が移動されないことを保証する。第１のオブジェクト９２の絶対位置は、全体の製品９１〜９２の更新を容易にするように移動しないことが保証されることが好ましい。この指向型制約は、その方位を反映する矢印１０００として表示される。製品のオブジェクト９１〜９２および制約１０００は、図９のように分かりやすい３Ｄ表現として表示されることが好ましい。
【００７８】
機能ツリー２５０は、図９の例のようにＧＵＩ内に示されることができる。ツリー２５０は、第１のオブジェクト（「ｐｏｉｎｔ．１」）２５１、第２のオブジェクト（「ｐｏｉｎｔ．２」）２５２を示し、制約部分（ｃｏｎｓｔｒａｉｎｔ  ｓｅｃｔｉｏｎ）またはリーフ（ｌｅａｖｅ）２５３を備える。この例では、この部分は、拡張されると固有の制約（つまり、表示された制約１０００に対応する）の発生（ｏｃｃｕｒｒｅｎｃｅ）２５３１を示す。図示されるようにこの制約は、オブジェクト「ｐｏｉｎｔ．２」からオブジェクト「ｐｏｉｎｔ．１」に配向される。ツリー内で「ｐｏｉｎｔ．１」および「ｐｏｉｎｔ．２」と呼ばれるオブジェクトは、参照記号９１および９２により図中に表示されるオブジェクトに対応する。問題となっている制約は、前例のようにオフセット位置決め制約であることがさらに示されている。機能ツリー２５０は、アプリケーション部分も含み、それはユーザの操作を介して拡張することができる。
【００７９】
この点において、制約は、製品および部品または制約によって関連付けられたオブジェクトに関連する構成要素（ｃｏｍｐｏｎｅｎｔ）としてデータベースに格納される。機能ツリーは、格納された構成要素の配列、および何らかの方法で製品９１〜９２の管理構造を反映する。複雑な製品の場合には、ツリーが容易に理解できない数１０００のリーフを備えるであろうことを明らかに留意すべきである。
【００８０】
より実際的には、図９の実施形態は、ＧＵＩに表示されるように制約１０００を直接に選択することによって製品構造を変更することができる。製品のオブジェクト９１〜９２および制約１０００が分かりやすい３Ｄ表現として表示されるとき、ユーザは単に、ビュー中でその制約を見出してビュー中でそれを選択すればよく、管理上の製品構造の行を走査する必要がない。
【００８１】
例えば、制約を表す矢印は、ポインティングデバイス（マウス、トラックボール、タッチスクリーンなど）のおかげでユーザによって選択されることができ、それはモーダルウィンドウ（またはウィザード（ｗｉｚａｒｄ））９９を開くことになる。
【００８２】
したがって、ＧＵＩ１００は、制約の選択（例えば、ユーザポインタのおかげで）および制約１０００の方位の変更要求を受け取るために設計されている（これは下記で詳述される）。したがって、要求を受け取った後に制約が変更され、それは入力として制約の新しいリストを識別することになる。図２を参照してステップＳ１０を検討されたい。
【００８３】
モーダルウィンドウ９９は、１つまたは複数の下記のフィールド９３〜９８を備えることができる。それらのフィールドのそれぞれは、当技術分野では通常である適切なウィジェット（ｗｉｄｇｅｔ）または制御によって補完されることができ、それはフィールド内のデータをスクロールする／編集する／変更することを可能にする。
【００８４】
フィールド９３では、オフセットの現在値が表示され、それはドロップダウンリストのおかげでユーザによって変更されることができる。
【００８５】
フィールド９４では、制約の現在の状態または含意が、実際の制約に従って、例えば「２ｎｄ  ｅｌｅｍｅｎｔ  ｃａｎ  ｍｏｖｅ  （ｐｏｉｎｔ．１）（第２の要素は（ｐｏｉｎｔ．１）を移動することができる）」のようにユーザに表示される。ドロップダウンリストのおかげでユーザは、（行９４ａを選択することによって）制約を非指向型制約に変更することや、（行９４ｂ〜９４ｃを選択することによって）制約の方位を反転することができる。したがって、制約の方位を変更する様々な方法がユーザに利用可能である。
【００８６】
フィールド９７は、機能ツリー２５０のリーフ２５３１に対応する、好ましくはユーザが変更可能な（テキストボックス）である制約の現在の名前を表示する。
【００８７】
セクション９８は、ビュー中の９１および９２として表示される関連付けられたオブジェクト２５１、２５２に対する情報を表示する。
【００８８】
編集後にユーザは、制約を変更することになるＯＫボタン、またはＣａｎｃｅｌボタンを押すことができる。
【００８９】
したがって、モーダルウィンドウ９９は、ネットワークの方位制約（および場合によっては制約の他の特徴）を変更することができる。
【００９０】
変形形態では、例えば、最初に制約のネットワークが指向型制約だけから構成されるとき、モーダルウィンドウはより具体的に管理者向けであり、したがって制約の方位を反転することはできるがノルム値を変更することはできない場合がある。
【００９１】
別の変形形態では、モーダルウィンドウはより具体的に設計者向けであり、したがってオフセット値を変更することはできるが制約の方位を反転することはできない場合がある。
【００９２】
より全体的にはモーダルウィンドウの機能は、例えば認証を施された所与のアクセス権に従って変えることができる。
【００９３】
本発明は、図面を参照して説明された好ましい実施形態に限定されない。特に、単なるオフセット位置決め制約が本発明の実施形態を示すために使用されたが、他の種類の制約を企図することができる。したがって、本発明は、角度の制約、並行性の制約、接触の制約、一致の制約、対掌性の（ｃｈｉｒａｌ）制約、または位相的制約にも適用することができる。最後に、実施形態において、本発明による制約は、２つのオブジェクトを関連付ける任意の関係として理解されることができる。
【００９４】
加えて、本発明は、その関連したすべての人々および組織の特権ならびに読込みおよび書込みのアクセス権の問題を有する、コンカレントエンジニアリング（ｃｏｎｃｕｒｒｅｎｔ  ｅｎｇｉｎｅｅｒｉｎｇ）環境に適用することができる。そのような場合には、本発明によるプロセスによって、解決することが不可能であることに直面した所与のユーザ／設計者が、別のユーザ／設計者によって所持されているオブジェクト（読込み／書込みアクセス）を移動する承認を求めることができるようになる。これらの２人の（または３人以上の）ユーザのうちのいずれも、システムに対す解決策を見出すために制約のネットワークを解析する必要がなくなる。プロセスがユーザのためにそれを解決することになる。ユーザは前処理された解決策を検証することだけを必要とされ、ユーザは、すべての仕様書が順守されることを保証される。
【図面の簡単な説明】
【００９５】
【図１】指向型制約によって関連付けられたオブジェクトのビューを表す、ＣＡＤシステムのグラフィカルユーザインターフェースのスクリーンショットの一例の図である。
【図２】制約のハイブリッドネットワークを解決するステップを表す流れ図である。
【図３】指向型制約および非指向型制約の両方によって関連付けられた部品のビューのスクリーンショットの一例の図である。
【図４】制約のうちのいくつかが、ユーザの操作により配向された図３のビューを表すＣＡＤシステムディスプレイのスクリーンショットの一例の図である。
【図５】ユーザによって制約内のオフセット値を変更するユーザ要求を概略的に示す図である。
【図６】ユーザによって制約内のオフセット値を変更するユーザ要求を概略的に示す図である。
【図７】ユーザが図６の制約のネットワークを解決するのを支援するモーダルウィンドウを表すスクリーンショットの一例の図である。
【図８】解決後の図７の制約のネットワークを示す図である。
【図９】ユーザが制約を編集するのを支援するモーダルウィンドウを表すスクリーンショットの一例の図である。
【図１】
2008165809.tif 000003
【図２】
2008165809.tif 000004
【図３】
2008165809.tif 000005
【図４】
2008165809.tif 000006
【図５】
2008165809.tif 000007
【図６】
2008165809.tif 000008
【図７】
2008165809.tif 000009
【図８】
2008165809.tif 000010
【図９】
2008165809.tif 000011
【外国語明細書】
2008165809000001.pdf