(57)【要約】【課題】本発明は、コンピュータ支援設計のシステムにおいてオブジェクトのアセンブリを設計するための方法を対象とする。【解決手段】この方法は、アセンブリの第１のオブジェクトおよび第２のオブジェクトを選択すること（２０）であって、前記第１のオブジェクトおよび前記第２のオブジェクトのそれぞれがインタフェース情報を有することと、アセンブリの第１のオブジェクトと第２のオブジェクトの間の相対的位置のセットを計算すること（４０）と、第１のオブジェクトと第２のオブジェクトの間のセットの相対的位置を、少なくとも１つの基準に従ってランキングすること（８０）と、ランキングするステップに応じて、第１のオブジェクトと第２のオブジェクトの間の相対的位置のうち最良の位置をもたらすこと（９０）とを備える。【選択図】図２
2011100456.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ支援設計のシステムにおいてオブジェクトのアセンブリ（ａｓｓｅｍｂｌｙ）を設計するための方法であって、
前記アセンブリの第１のオブジェクトおよび第２のオブジェクトを選択するステップ（２０）であって、前記第１のオブジェクトおよび前記第２のオブジェクトのそれぞれがインタフェース情報を有する、ステップと、
前記アセンブリの前記第１のオブジェクトと前記第２のオブジェクトの間の相対的位置のセットを計算するステップ（４０）と、
前記第１のオブジェクトと前記第２のオブジェクトの間の前記セットの前記相対的位置を、少なくとも１つの基準に従ってランキングするステップ（８０）と、
ランキングする前記ステップに応じて、前記第１のオブジェクトと前記第２のオブジェクトの間の前記相対的位置のうち最良の位置をもたらすステップ（９０）と
を備えることを特徴とする方法。
【請求項２】
相対的位置の前記セットを計算する前記ステップに先立って、ユーザ操作時に、前記第１のオブジェクトおよび前記第２のオブジェクトに対する制約を追加するステップをさらに備えることを特徴とする請求項１に記載の方法。
【請求項３】
前記相対的位置のうち最良の位置をもたらす前記ステップの後、グラフィカルユーザインタフェース上で、前記第１のオブジェクトと前記第２のオブジェクトの間の前記相対的位置のうち最良の位置を表示するステップをさらに備えることを特徴とする請求項１から２のいずれかに記載の方法。
【請求項４】
前記アセンブリの前記第１のオブジェクトおよび前記第２のオブジェクトは、３次元モデル化されたオブジェクトであり、さらに前記少なくとも１つの基準は、
前記アセンブリの前記第１のオブジェクトと前記第２のオブジェクトの間のいくつかの制約と、
前記アセンブリの前記第１のオブジェクトと前記第２のオブジェクトの間でユーザによって示唆されるいくつかの制約であって、前記第１のオブジェクトと前記第２のオブジェクトが前記相対的位置のうち最良の位置に従って相対的に位置付けされる、制約と、
前記アセンブリの前記第１のオブジェクトと前記第２のオブジェクトの、２次元空間における投影の間の距離であって、前記相対的位置のうち最良の位置に従って相対的に位置付けされる、距離と、
前記相対的位置のうち最良の位置に従って相対的に位置付けされる、前記アセンブリの前記第１のオブジェクトと前記第２のオブジェクトの間の、３次元空間における距離と、
前記相対的位置のうち最良の位置に従って相対的に位置付けされる、前記アセンブリの前記第１のオブジェクトと前記第２のオブジェクトの間の回転角と、
前記相対的位置のうち最良の位置に従って相対的に位置付けされる、前記アセンブリの前記第１のオブジェクトと前記第２のオブジェクトが、グラフィカルユーザインタフェース上で可視であることと、
前記相対的位置のうち最良の位置に従って相対的に位置付けされる、前記アセンブリの前記第１のオブジェクトと前記第２のオブジェクトの間の設計の誤りが、検出されることと
のうち１つであることを特徴とする請求項２から３のいずれかに記載の方法。
【請求項５】
前記アセンブリの前記第１のオブジェクトと前記第２のオブジェクトの間の相対的位置のセットを計算する前記ステップは、
前記第１のオブジェクトの前記インタフェース情報と前記第２のオブジェクトの前記インタフェース情報の少なくとも１つのマッチングを計算するステップと、
前記少なくとも１つのマッチングの各計算の後、前記第１のオブジェクトと前記第２のオブジェクトの間の幾何学的制約を解決するステップと
を備えることを特徴とする請求項１から４のいずれかに記載の方法。
【請求項６】
前記インタフェース情報の少なくとも１つのマッチングを計算する前記ステップ、および前記少なくとも１つのマッチングの各計算の後、幾何学的制約を解決する前記ステップは、グラフの走査に従って実行され、
前記グラフの各ノードは、前記第１のオブジェクトの１つのインタフェース情報と前記第２のオブジェクトの１つのインタフェース情報の組合せを表し、
親ノード上を指す、前記グラフの所与のレベルにおける前記グラフの各ノードは、前記所与のレベルの上位レベルの別のノードによって既に表された前記組合せを表し、
解決不能な幾何学的制約を有する前記グラフの各ノードは、前記グラフから除去され、
さらに所与のノードに関して、相対的位置の前記セットの相対的位置が、前記所与のノードの前記組合せから構築された制約のセット、および前記所与のノードの前記親の前記組合せから構築された制約のセットによってもたらされることを特徴とする請求項５に記載の方法。
【請求項７】
前記アセンブリの前記第１のオブジェクトと前記第２のオブジェクトの間の相対的位置のセットを計算する前記ステップは、
前記第１のオブジェクトの少なくとも２つのインタフェース情報の間の第１の識別子、および前記第２のオブジェクトの少なくとも２つのインタフェース情報の間の第２の識別子を計算するステップと、
前記インタフェース情報の前記第１の識別子および前記第２の識別子を、前記第１のオブジェクトの前記少なくとも２つのインタフェース情報、および前記第２のオブジェクトの前記少なくとも２つのインタフェース情報をそれぞれ所有する前記オブジェクトに関連付けるステップと、
前記第１のオブジェクトと前記第２のオブジェクトの少なくともいずれかがかかわる別のマッチングの前記計算中に、マッチングを識別するために前記第１の識別子および前記第２の識別子を使用するステップとをさらに備えることを特徴とする請求項５から６のいずれかに記載の方法。
【請求項８】
前記アセンブリの前記第１のオブジェクトと前記第２のオブジェクトの間の相対的位置のセットを計算する前記ステップはまず、前記ユーザによって追加された前記制約を考慮に入れて実行され、次に、前記ユーザによって追加された前記制約を考慮に入れずに実行されることを特徴とする請求項２から７のいずれかに記載の方法。
【請求項９】
前記セットの前記相対的位置をランキングする前記ステップは、少なくとも２つの基準に従って実行され、前記少なくとも２つの基準の各基準は、ランキングされ、前記セットの前記相対的位置は、前記ランキングされた基準に依拠して辞書式順序でランキングされることを特徴とする請求項１から８のいずれかに記載の方法。
【請求項１０】
第１のオブジェクトおよび第２のオブジェクトを選択する前記ステップにおいて、
前記第１のオブジェクトの少なくとも１つの公開要素、および前記第２のオブジェクトの少なくとも１つの公開要素を識別するステップと、
前記第１のオブジェクトの前記識別された少なくとも１つの公開要素、および前記第２のオブジェクトの前記識別された少なくとも１つの公開要素のそれぞれに関して、前記第１のオブジェクトのインタフェース情報、および前記第２のオブジェクトのインタフェース情報を計算するステップをさらに備えることを特徴とする請求項１から９のいずれかに記載の方法。
【請求項１１】
前記第１のオブジェクトの前記少なくとも１つの公開要素、および前記第２のオブジェクトの前記少なくとも１つの公開要素は、幾何学的要素を備えることを特徴とする請求項１０に記載の方法。
【請求項１２】
前記第１のオブジェクトの前記インタフェース情報、および前記第２のオブジェクトの前記インタフェース情報は、幾何学的要素との合致を表すように計算されることを特徴とする請求項１０から１１のいずれかに記載の方法。
【請求項１３】
前記幾何学的要素は、点、線、平面、および軸系（ａｘｉｓ  ｓｙｓｔｅｍ）に限定されることを特徴とする請求項１１から１２のいずれかに記載の方法。
【請求項１４】
前記相対的位置のうち最良の位置をもたらす前記ステップは、前記セットの他のランキングされた相対的位置をもたらすステップをさらに備え、
グラフィカルユーザインタフェース上で、前記相対的位置のうち最良の位置を表示する前記ステップは、グラフィカルユーザインタフェース上で、前記セットの他のランキングされた相対的位置を表示するステップをさらに備えることを特徴とする請求項２から１３のいずれかに記載の方法。
【請求項１５】
前記セットの前記相対的位置の各位置は、それぞれのレンダリングで表示され、前記それぞれのレンダリングが、ランキングするステップの結果に従って決定されることを特徴とする請求項２から１４のいずれかに記載の方法。
【請求項１６】
前記相対的位置の各位置の前記それぞれのレンダリングは、それぞれの透明性レベルであることを特徴とする請求項１５に記載の方法。
【請求項１７】
コンピュータ支援設計のシステムにおいてオブジェクトのアセンブリを設計するための、コンピュータ可読媒体上に格納されたコンピュータプログラムであって、前記コンピュータプログラムが、請求項１から１６のいずれかに記載のステップをコンピュータ支援設計の前記システムに行わせるためのコード手段を備えることを特徴とするコンピュータプログラム。
【請求項１８】
コンピュータ支援設計のシステムにおいてオブジェクトのアセンブリを設計するための装置であって、前記装置が、請求項１から１６のいずれかに記載の方法のステップを実施するための手段を備えることを特徴とする装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータプログラムおよびコンピュータシステムの分野に関し、より具体的には、コンピュータ支援設計アプリケーションにおけるオブジェクトのアセンブリの設計の分野に関する。
【背景技術】
【０００２】
コンピュータ支援技術は、製品設計を作成するためのソフトウェアソリューションと関係するコンピュータ支援設計、またはＣＡＤを含むことが知られている。同様に、ＣＡＥが、コンピュータ支援エンジニアリングを表す頭字語であり、例えば、ＣＡＥは、将来の製品の物理的振舞いをシミュレートするためのソフトウェアソリューションに関する。ＣＡＭは、コンピュータ支援製造を表し、製造プロセスおよび製造作業を規定するためのソフトウェアソリューションを通常、含む。
【０００３】
ＣＡＴＩＡという商標の下でダッソーシステムズによって提供されるシステムおよびプログラムなどの、製品を形成するオブジェクト（もしくは部品）、またはオブジェクトのアセンブリを設計するための、いくつかのシステムおよびプログラムが、市場で提供されている。これらのＣＡＤシステムは、ユーザが、オブジェクト、またはオブジェクトのアセンブリの複雑な３Ｄ（３次元）モデルを構築し、操作することを可能にする。このため、ＣＡＤシステムは、辺または線を使用し、いくつかの事例では、面を使用する、モデル化されたオブジェクトの表現をもたらす。線または辺は、様々な仕方で、例えば、ＮＵＲＢＳ（非一様有理Ｂスプライン）で表されることが可能である。これらのＣＡＤシステムは、概ね、幾何属性の仕様である、モデル化されたオブジェクトとして部品、または部品のアセンブリを管理する。具体的には、ＣＡＤファイルは、幾何属性が生成される仕様を含み、幾何属性は、表現が生成されることを可能にする。幾何属性および表現は、単一のＣＡＤファイル、または複数のＣＡＤファイルの中に格納されることが可能である。ＣＡＤシステムは、モデル化されたオブジェクトを設計者に示すためのグラフィックツールを含み、これらのツールは、複雑なオブジェクトの表示に専用であり、ＣＡＤシステムにおいてオブジェクトを表すファイルの通常のサイズは、１部品当たり１メガバイトの範囲内にあり、アセンブリは、数千の部品を備えることが可能である。ＣＡＤシステムは、電子ファイルの中に格納されたオブジェクトのモデルを管理する。
【０００４】
コンピュータ支援技術において、ＧＵＩ（グラフィカルユーザインタフェース）が、技法の効率に関して重要な役割を果たす。モデル化されたオブジェクトを操作すること、および／またはナビゲートすることに要求される操作のほとんどは、ＧＵＩ上でユーザ（例えば、設計者）によって実行されることが可能である。特に、ユーザは、製品を形成するモデル化されたオブジェクトを作成すること、変更すること、および削除することができ、さらに例えば、製品構造を介して、モデル化されたオブジェクトがどのように互いに関係するかを理解するように製品を探ることができる。従来、これらの操作は、ＧＵＩの両側に配置された専用のメニューおよびアイコンを介して実行される。最近、ＣＡＴＩＡなどのＣＡＤシステムは、製品の表現の近くで、これらの機能を呼び出すことを可能にする。設計者は、マウスをメニューおよびアイコンに向けて、もはや動かさなくてもよい。このため、操作は、マウスのすぐに届くところで利用可能である。さらに、操作は、意味体系によって振舞い、すなわち、設計者によって選択された所与の操作に関して、ＣＡＤシステムは、設計者に、やはりマウスの近くで、設計者が選択する可能性が高い、前に選択された操作に応じた新たな操作のセットを示唆することが可能である。
【０００５】
やはり知られているのが、複数の企業が、拡張された事業の概念にわたって、製品の開発に関して構想から製品寿命の終わりまで、製品データを共有し、共通のプロセスを適用し、企業知識を活用するのを助けるビジネス戦略を指す、ＰＬＭ（製品ライフサイクル管理）ソリューションである。複数の主体（企業部門、ビジネスパートナ、納入業者、ＯＥＭ（相手先ブランド供給業者）、および顧客）を含めることにより、ＰＬＭは、このネットワークが、製品およびプロセスを概念化し、設計し、構築し、サポートする単一のエンティティとして機能することを可能にすることができる。
【０００６】
一部のＰＬＭソリューションは、例えば、デジタルモックアップ（製品の３Ｄグラフィカルモデル）を作成することによって製品を設計し、開発することを可能にする。デジタル製品は最初に、適切なアプリケーションを使用して定義され、シミュレートされることが可能である。次に、リーンデジタル製造プロセス（ｌｅａｎ  ｄｉｇｉｔａｌ  ｍａｎｕｆａｃｔｕｒｉｎｇ  ｐｒｏｃｅｓｓ）が、定義され、モデル化されることが可能である。
【０００７】
ダッソーシステムズによって提供されるＰＬＭソリューション（ＣＡＴＩＡ、ＥＮＯＶＩＡ、およびＤＥＬＭＩＡの商標の下で）は、製品エンジニアリング知識を編成するエンジニアリングハブ、製造エンジニアリング知識を管理する製造ハブ、ならびにエンジニアリングハブと製造ハブの両方への企業統合および企業接続を可能にする企業ハブを提供する。全体として、このシステムは、複数の製品、複数のプロセス、複数のリソースを結び付けて、動的な、知識ベースの製品創出を可能にするオープンオブジェクトモデル、ならびに最適化された製品定義、製造準備、製品製造、および製品サービスを推進する意志決定支援を提供する。
【０００８】
そのようなＰＬＭソリューションは、製品のリレーショナルデータベースを備える。このデータベースは、テキストデータのセットと、それらのデータ間の関係とを備える。データは、通常、製品と関係する技術的データを含み、これらのデータは、データの階層に並べられ、検索可能であるように索引付けされる。これらのデータは、しばしば、モデル化された製品およびプロセスである、モデル化されたオブジェクトを表す。
【０００９】
製品構成、プロセス知識、およびリソース情報を含む製品ライフサイクル情報は、通常、共同作業で編集されることが意図される。
【００１０】
現在のＣＡＤアプリケーションは、オブジェクトのアセンブリの複数のオブジェクト（または複数の部品）間の、例えば、オブジェクトのアセンブリの２つの製品間の空間的関係をユーザが定義することを可能にする。通常、当技術分野で知られているとおり、ユーザは、或るオブジェクトを特定の位置に置くために、そのオブジェクトを別のオブジェクトに対して動かす設計者である。例えば、この設計者が、プレートに設けられた穴にねじを通すことを所望する可能性がある。この目的で、設計者は、ねじを選択して、プレートの穴に対するねじの所望される凡その位置が達せられるまで、プレート上で動かす。次に、ねじとプレートのはめ合せ特性（ｍａｔｉｎｇ  ｐｒｏｐｅｒｔｙ）を使用して、プレートに対するねじの位置が見出され、この位置は、設計者によって与えられるねじの場所に応じて決まる。
【００１１】
しかし、或るオブジェクトを別のオブジェクトに対して位置付けることは、設計者が、第１のオブジェクトを第２のオブジェクトの上で（またはこれらのオブジェクトの部品を）正しい場所で動かさなければならず、さらに第１のオブジェクト、および第２のオブジェクトは、非常に小さい可能性がある、例えば、オブジェクトの部品は、点のようである可能性があるため、設計者にとって困難で面倒な作業である。
【００１２】
さらに、現在のソリューションのほとんどは、選択された２つのオブジェクト間で、所与のいくつかの位置のなかの１つだけの位置しか提案しない。このため、これらのソリューションは、これらのオブジェクト間の関係があるすべてのソリューションの包括的な、順序付けられたセットはもたらさず、したがって、設計者は、いくつかのソリューションのなかでいずれが最良のソリューションであるかを特定することができない。さらに、ユーザが、オブジェクトを或る特定の要素の上で動かさない場合、ユーザは、対応するソリューションについて知らされない。
【００１３】
ちなみに、一部のソリューションは、第１のオブジェクトおよび第２のオブジェクトのすべての幾何学的要素を使用することによって、選択された２つのオブジェクト間の位置を設計者に提案し、このことは、役に立たない位置で急速に溢れる可能性がある。
【００１４】
このため、以上に簡単に説明した既存のソリューションの限界によれば、オブジェクトの繰り返されるアセンブリを、より容易で、より迅速に改良して、設計者の生産性が高められ、設計の誤りが最小限に抑えられるようにする必要性が、存在する。
【発明の概要】
【００１５】
したがって、本発明は、コンピュータ支援設計のシステムにおいてオブジェクトのアセンブリを設計するための方法を提供する。この方法は、アセンブリの第１のオブジェクトおよび第２のオブジェクトを選択するステップであって、前記第１のオブジェクトおよび前記第２のオブジェクトのそれぞれがインタフェース情報を有する、ステップと、アセンブリの第１のオブジェクトと第２のオブジェクトの間の相対的位置のセットを計算するステップと、第１のオブジェクトと第２のオブジェクトの間のセットの相対的位置を、少なくとも１つの基準に従ってランキングするステップと、ランキングするステップに応じて第１のオブジェクトと第２のオブジェクトの間の相対的位置のうち最良の位置をもたらすステップとを備える。
【００１６】
本発明による方法は、以下の特徴、すなわち、
相対的位置のセットを計算するステップに先立って、ユーザ操作（ａｃｔｕａｔｉｏｎ）時に、第１のオブジェクトおよび第２のオブジェクトに対する制約を追加するステップ、
相対的位置のうち最良の位置をもたらすステップの後、グラフィカルユーザインタフェース上で、第１のオブジェクトと第２のオブジェクトの間の相対的位置のうち最良の位置を表示するステップ、
アセンブリの第１のオブジェクトおよび第２のオブジェクトは、３次元モデル化されたオブジェクトであり、さらにその少なくとも１つの基準は、
アセンブリの第１のオブジェクトと第２のオブジェクトの間のいくつかの制約と、
相対的位置のうち最良の位置に従って相対的に位置付けされる、アセンブリの第１のオブジェクトと第２のオブジェクトの間でユーザによって示唆されるいくつかの制約と、
相対的位置のうち最良の位置に従って相対的に位置付けされる、アセンブリの第１のオブジェクトと第２のオブジェクトの間の、３次元空間における距離と、
相対的位置のうち最良の位置に従って相対的に位置付けされる、アセンブリの第１のオブジェクトと第２のオブジェクトの、２次元空間における投影の間の距離と、
相対的位置のうち最良の位置に従って相対的に位置付けされる、アセンブリの第１のオブジェクトと第２のオブジェクトの間の回転角と、
相対的位置のうち最良の位置に従って相対的に位置付けされる、アセンブリの第１のオブジェクトと第２のオブジェクトが、グラフィカルユーザインタフェース上で可視であることと、
相対的位置のうち最良の位置に従って相対的に位置付けされる、アセンブリの第１のオブジェクトと第２のオブジェクトの間の設計の誤りが、検出されることと
のうち１つであること、
アセンブリの第１のオブジェクトと第２のオブジェクトの間の相対的位置のセットを計算するステップは、第１のオブジェクトのインタフェース情報と、第２のオブジェクトのインタフェース情報との少なくとも１つのマッチングを計算すること、およびその少なくとも１つのマッチングの各計算の後、第１のオブジェクトと第２のオブジェクトの間の幾何学的制約を解決することを備えること、
インタフェース情報の少なくとも１つのマッチングを計算するステップ、およびこの少なくとも１つのマッチングの各計算の後、幾何学的制約を解決するステップは、グラフの走査に従って実行され、グラフの各ノードは、第１のオブジェクトの１つのインタフェース情報と第２のオブジェクトの１つのインタフェース情報の組合せを表し、親ノード上を指す、グラフの所与のレベルにおけるグラフの各ノードは、その所与のレベルの上位レベルにおける別のノードによって既に表された組合せを表し、解決不能な幾何学的制約を有するグラフの各ノードは、グラフから除去され、さらに所与のノードに関して、相対的位置のセットの相対的位置が、
その所与のノードの組合せから構築された制約のセットと、
の所与のノードの親の組合せから構築された制約のセットと
によってもたらされること、
アセンブリの第１のオブジェクトと第２のオブジェクトの間の相対的位置のセットを計算するステップは、第１のオブジェクトの少なくとも２つのインタフェース情報の間の第１の識別子、および第２のオブジェクトの少なくとも２つのインタフェース情報の間の第２の識別子を計算すること、インタフェース情報のこの第１の識別子、およびこの第２の識別子を、第１のオブジェクトのその少なくとも２つのインタフェース情報、および第２のオブジェクトのその少なくとも２つのインタフェース情報をそれぞれ所有するオブジェクトにそれぞれ関連付けること、その第１のオブジェクトとその第２のオブジェクトの少なくともいずれかがかかわる別のマッチングの計算中に、マッチングを識別するためにその第１の識別子、およびその第２の識別子を使用することを備えること、
アセンブリの第１のオブジェクトと第２のオブジェクトの間の相対的位置のセットを計算するステップは最初に、ユーザによって追加された制約を考慮に入れて実行され、次に、ユーザによって追加された制約を考慮に入れずに実行されること、
セットの相対的位置をランキングするステップは、少なくとも２つの基準に従って実行され、少なくとも２つの基準の各基準はランキングされ、セットの相対的位置は、このランキングされた基準に依拠して辞書式順序でランキングされること、
第１のオブジェクトおよび第２のオブジェクトを選択するステップにおいて、第１のオブジェクトの少なくとも１つの公開要素（ｐｕｂｌｉｃａｔｉｏｎ）、および第２のオブジェクトの少なくとも１つの公開要素を識別し、第１のオブジェクトの識別された少なくとも１つの公開要素、および第２のオブジェクトの識別された少なくとも１つの公開要素のそれぞれに関して、第１のオブジェクトのインタフェース情報、および第２のオブジェクトのインタフェース情報を計算すること、
第１のオブジェクトのその少なくとも１つの公開要素、および第２のオブジェクトのその少なくとも１つの公開要素は、幾何学的要素を備えること、
第１のオブジェクトのインタフェース情報、および第２のオブジェクトのインタフェース情報は、幾何学的要素との合致を表すように計算されること、
その幾何学的要素は、点、線、平面、および軸系（ａｘｉｓ  ｓｙｓｔｅｍ）に制限されること、
相対的位置のうち最良の位置をもたらすステップは、セットの他のランキングされた相対的位置をもたらすことをさらに備え、グラフィカルユーザインタフェース上で、相対的位置のうち最良の位置を表示するステップは、グラフィカルユーザインタフェース上で、セットの他のランキングされた相対的位置を表示することをさらに備えること、
セットの相対的位置の各位置は、ランキングするステップの結果に従って決定される、それぞれのレンダリングで表示されること、および
相対的位置の各位置のそれぞれのレンダリングは、それぞれの透明性レベルであることのうちの１つまたは複数を特徴とすることが可能である。
【００１７】
本発明は、コンピュータ支援設計のシステムにおいてオブジェクトのアセンブリを設計するための、コンピュータ可読媒体上に格納されたコンピュータプログラムをさらに提案し、このコンピュータプログラムは、本発明の方法のステップをコンピュータ支援設計のシステムに、行わせるためのコード手段を備える。
【００１８】
本発明は、コンピュータ支援設計のシステムにおいてオブジェクトのアセンブリを設計するための装置にさらに関し、この装置は、本発明の方法のステップを実施するための手段を備える。
【図面の簡単な説明】
【００１９】
次に、開示される技術を実施するシステムを、非限定的な例として、添付の図面を参照して説明する。
【図１】ＣＡＤシステムにおける通常のＧＵＩを示す概略図である。
【図２】本発明を実行するための実施形態を示す流れ図である。
【図３】本発明による方法を表すグラフィック表現である。
【図４】本発明による方法を表すグラフィック表現である。
【図５】本発明による方法を表すグラフィック表現である。
【図６】本発明によるクランクの軸とのはめ合せを示す図である。
【図７】本発明によるクランクの軸とのはめ合せを示す図である。
【図８】本発明によるクランクの軸とのはめ合せを示す図である。
【図９】本発明を実行するために適合されたハードウェア環境およびソフトウェア環境を示す概略図である。
【発明を実施するための形態】
【００２０】
図１を参照すると、例示されるグラフィカルユーザインタフェース（またはＧＵＩ）１００は、標準のメニューバー１１０、１２０、ならびに底部ツールバー１４０および側部ツールバー１５０を有する通常のＣＡＤ様のインタフェースであることが可能である。そのようなメニューおよびツールバーは、当技術分野で知られているとおり、１つまたは複数の操作もしくは機能にそれぞれが関連する、ユーザが選択できるアイコンのセットを含む。
【００２１】
これらのアイコンのいくつかは、ＧＵＩ１００において表示されるようなモデル化された製品２００、または製品２００の部品を編集するため、および／またはそのような製品２００、または製品２００の部品に対して作業するために適合されたソフトウェアツールに関連する。以下の説明において、「製品」、「部品」、「アセンブリ」などは、簡明のため「部品」と呼ばれることが可能である。「部品」の概念は、実際、「オブジェクト」の概念に一般化されることが可能であり、オブジェクトは、設計される製品の「物理的」部品に過ぎないことも、またはより一般的に、設計プロセスに参加する（ただし、最終製品には必ずしも「入って」いない）任意のソフトウェアツールであることも可能であることに留意されたい。
【００２２】
ソフトウェアツールは、ワークベンチにグループ化されることが可能である。各ワークベンチは、ソフトウェアツールのサブセットを備える。特に、ワークベンチの１つは、モデル化された製品２００の幾何学的特徴を編集することに適した編集ワークベンチである。操作の際、設計者は、例えば、オブジェクト２００の或る部品を事前選択し、次に、適切なアイコンを選択することによって操作（例えば、寸法、色などを変更する）を開始する、または幾何学的制約を編集することが可能である。例えば、通常のＣＡＤ操作が、スクリーン上で表示された３Ｄモデル化されたオブジェクトの穿孔または折り曲げのモデル化である。
【００２３】
さらに、この１つまたは複数の操作または機能は、ＧＵＩ１００において表示された、モデル化された製品２００、または製品２００の部品の直ぐ近くで選択されることが可能である。この目的で、操作または機能に関連するユーザが選択できるアイコン１７０、例えば、マウスなどの触覚デバイスのカーソルが、セレクタ１６０近くに現れることが可能である。ユーザは、フィラクテリ（ｐｈｙｌａｃｔｅｒｙ）１７０の上でカーソル１６０を動かすことが可能であり、これに応答して、フィラクテリ１７０は、アイコン１８０のセットを表示する。通常、ユーザが選択できるアイコン１７０、１８０は、フィラクテリの形態を有することが可能である。次に、ユーザは、アイコンのセット１８０のアイコンの１つを、選択されたアイコンに関連する機能を実行するために選択する。さらに、アイコンのセット１８０は、意味体系によって振舞う、つまり、アイコンのセット１８０は、ユーザが考えていると思われる操作に応じてＣＡＤシステムによって示唆される。
【００２４】
ＧＵＩは、例えば、表示された製品２００と関係するデータ２５０を表示することが可能である。図１の例において、「特徴ツリー」として表示されたデータ２５０、およびデータ２５０の３Ｄ表現２００が、ブレーキキャリパおよびブレーキディスクを含むブレーキアセンブリに関係する。ＧＵＩは、例えば、オブジェクトの３Ｄ向き付けを円滑にするため、編集される製品の操作のシミュレーションをトリガするため、または表示される製品２００の様々な属性をレンダリングするための、様々なタイプのグラフィックツール１３０、１６０をさらに示すことが可能である。
【００２５】
図２は、本発明の実施形態を示す流れ図であり、インタフェース情報を有するオブジェクトを選択する段階（ステップ２０、３０、および３１）、選択されたオブジェクトの間の相対的位置のセットを計算する段階（ステップ４０〜６２）、相対的位置をランキングする段階（ステップ８０）、および最良の位置をもたらす段階（ステップ９０）にそれぞれ関係する４つのブロックが見られることになる。この流れ図の様々なボックスは、以下のいくつかの形状、すなわち、ユーザ（例えば、設計者）入力を指摘する台形形状２０００、ステージを表す長方形形状２００１、ループを示す六角形形状２００２、および条件の試験である平行四辺形２００３を有する。
【００２６】
本発明の図示される実施形態は、オブジェクトのアセンブリの第１のオブジェクトおよび第２のオブジェクトの選択から始まる。第１のオブジェクトと第２のオブジェクトは、インタフェース情報を有する。このことは、図２でステップ２０、３０、および３１によって示される。
【００２７】
ステップ２０で、アセンブリの第１のオブジェクトおよび第２のオブジェクトが選択され、つまり、第１のオブジェクトおよび第２のオブジェクトが、オブジェクトのアセンブリのオブジェクトのなかから識別されて、選択される。この選択は、ＣＡＤのシステムによって実行されることが可能である。また、この選択は、図１に示されるとおり、通常、ＣＡＤシステムのグラフィカルユーザインタフェース１００において、ユーザアクションが行われると、実行されることも可能である。この選択がユーザによって実行される場合、ユーザは、キーボード、マウス、スタイラス、タッチスクリーンなどの触覚デバイスを使用することが可能である。例えば、２ボタンのマウスにおいて、マウスのカーソルがＧＵＩの専用区域上にある際に、左ボタンがオブジェクトを選択するために使用されることが可能である。
【００２８】
選択された第１のオブジェクトおよび第２のオブジェクトは、ＧＵＩ１００において表示されることが可能である。さらに、選択された第１のオブジェクトおよび第２のオブジェクトは、モデル化されたオブジェクト、または３Ｄ（３次元）モデル化されたオブジェクトであることが可能である。３Ｄ（３次元）モデル化されたオブジェクトは、３Ｄ（３次元）空間におけるオブジェクトの描写である。３Ｄ空間は、座標によって３次元空間におけるすべての点を表す幾何属性によって数学的に表されることが可能な物理的世界（ｐｈｙｓｉｃａｌ  ｕｎｉｖｅｒｓｅ）の幾何学的モデルである。ちなみに、３次元空間を表す他の方法も存在する。３Ｄモデル化されたオブジェクトは、基本的に、幾何属性が生成される仕様を指す。このため、３Ｄモデル化されたオブジェクトは、３Ｄオブジェクト、つまり、三角形、線、曲面などの様々な幾何学的エンティティによって結び付けられた、３Ｄ空間における点の集まりである３Ｄオブジェクトを表す数学的記述である。３Ｄモデル化されたオブジェクトは、３Ｄモデル化されたオブジェクトの３Ｄ表現によって表される。
【００２９】
さらに、オブジェクトのアセンブリの第１のオブジェクトと第２のオブジェクトは、異なる製品であることが可能である。製品は、オブジェクトのアセンブリから形成される。このため、選択は、アセンブリのオブジェクトに対して行われることも、アセンブリの製品に対して行われることも可能である。第１のオブジェクトは、「配置されるべき」オブジェクト（または製品）と呼ばれることが可能であり、第２のオブジェクトは、「ターゲット」オブジェクト（または製品）と呼ばれることが可能である。
【００３０】
第１のオブジェクトおよび第２のオブジェクトは、公開要素を有する。通常、公開要素は、オブジェクトと一緒に格納される（または「埋め込まれる」）ことが可能である。公開要素は、オブジェクトの下に集約された、このオブジェクト内の幾何学的要素、または別の公開要素に対するリンクであり、公開要素は、第１のオブジェクトを、オブジェクトのアセンブリの他のオブジェクト（例えば、第２のオブジェクト）と結び付けることについてのはめ合せ情報を公表し、公開する。したがって、公開要素は、オブジェクトのアセンブリの他の少なくとも１つのオブジェクトに対するオブジェクトの位置付けの知識のセットを定義することが可能である。オブジェクトと一緒に公開要素を集約すること（または「埋め込むこと」）は、第１のオブジェクトと第２のオブジェクトがともに、はめ合せを実行するのに要求される情報を有するため、オブジェクトを配置する際に自動化を大幅に高める。
【００３１】
公開要素は、幾何学的要素に対するリンクである。有利なことに、幾何学的要素は、点、線、平面、および軸系に限定されることが可能である。通常、この限定は、アセンブリの技術的状況に従って行われ、例えば、機械的状況において、幾何学的要素は、好ましくは、点、線、平面、および軸系に限定される。別の技術的状況（例えば、ギアを備える機械的システム）において、曲線が保持される。この制約から、オブジェクトに与えられる情報の量が制限される一方で、オブジェクトをはめ合せるための十分な数の情報が保たれることになる。さらに、他の少なくとも１つのオブジェクトに対するオブジェクトの位置付けソリューションの数が制限され、最も妥当な位置が保持される。したがって、試行の回数が減る一方で、より良い結果がもたらされる。
【００３２】
次に図３を参照すると、図１に関連して説明されるとおり、プレート３００およびねじ４００がＧＵＩ１００上に表示されている。ＧＵＩは、表示された製品３００および４００と関係するデータ２５０を表示する。図３の例において、データ２５０は、「特徴ツリー」として表示され、プレート３００およびねじ４００の公開要素を示す。ねじ４００は、以下の２つの公開要素、すなわち、軸４０１の公開要素、および面４０２の公開要素を備える。プレート３００は、以下の５つの公開要素、すなわち、穴３０１ないし３０４の各軸につき１つの公開要素、および面３０５に関する１つの公開要素を備える。２つの製品３００および４００の部品のこれら７つの公開要素が公表され、設計者は、このため、これらの公開要素が含む情報へのアクセスを有することが可能である。
【００３３】
図２に戻ると、ステップ３０で、開示される技術のプロセスが、第１のオブジェクトの公開要素、および第２のオブジェクトの公開要素がインタフェース情報であるかどうかを判定する。すべての公開要素がインタフェース情報である場合、プロセスの次のステップは、ステップ４０である。逆に、公開要素のいくつかがインタフェース情報ではない場合、プロセスの次のステップは、ステップ３１である。
【００３４】
インタフェース情報は、別の適合するインタフェース情報を有する完全に指定された制約を構築するようにデータによって拡張された公開要素である。このため、インタフェース情報は、第１のオブジェクトを、アセンブリの他の少なくとも１つのオブジェクトに結び付けることについてのはめ合せ情報をもたらし、はめ合せ情報は、アセンブリの他の少なくとも１つのオブジェクトに対して第１のオブジェクトを位置付けるための要求される知識を備える。したがって、インタフェース情報のお陰で、新たなオブジェクトが、補足的な情報を要求することなしに、追加されて、別のオブジェクトに対して配置されることが可能である。インタフェース情報を使用することは、設計者が、オブジェクトの配置に先立って、オブジェクトのはめ合せ情報を追加することができるので、設計者に有利である。さらに、設計者は、オブジェクトに対する設計者の権利に依存して、オブジェクトのはめ合せ情報にアクセスすることも、アクセスできないようにすることも可能である。このことは、設計の誤りを減らすことにつながる可能性がある。その結果、別のオブジェクトに対してオブジェクトを位置付けるプロセスが、改良され、より迅速となる。
【００３５】
ステップ３１で、本発明によるプロセスは、第１のオブジェクトおよび第２のオブジェクトの少なくとも１つの公開要素を識別し、第１のオブジェクトおよび第２のオブジェクトの識別された各公開要素に関して、第１のオブジェクトおよび第２のオブジェクトのインタフェース情報を計算する。この目的で、第１のオブジェクトおよび第２のオブジェクトの公開要素は、適合する公開要素を有する完全に指定された制約を構築するために、第１のオブジェクトの予想される幾何学的タイプ、向き、および距離などの、利用可能なすべての情報を含むように拡張される。このため、インタフェース情報は、オブジェクトのアセンブリの組み立てられる製品から推定された情報に基づいて構築される。
【００３６】
実際には、第１のオブジェクトおよび第２のオブジェクトのインタフェース情報は、点対点の合致、線対線の合致、および平面対平面の接触を制約として有する、オブジェクトのアセンブリの幾何学的要素、例えば、合致（ｃｏｉｎｃｉｄｅｎｃｅ）ジョイント、回転（ｒｅｖｏｌｕｔｅ）ジョイント、直動（ｐｒｉｓｍａｔｉｃ）ジョイント等の製品間の最も共通する運動学のジョイントとの合致を表すように計算される。有利なことに、インタフェース情報は、オブジェクトの幾何学的要素に結び付けられ、例えば、幾何学的要素は、点、線、平面、および軸系に限定されることが可能である。同様に、公開要素に関して、この制約から、オブジェクトをはめ合せるための情報の要求される量が制限されることになる。
【００３７】
さらに、第１のオブジェクトと第２のオブジェクトの公開要素が拡張されると、つまり、インタフェース情報が計算されると、フック点（ｈｏｏｋｉｎｇ  ｐｏｉｎｔ）が構築されることが可能である。フック点は、共通の識別子を有するインタフェース情報または公開要素のセットである。プロセスのこの段階で、フック点は、ステップ３１で計算されたインタフェース情報を識別することを可能にする。
【００３８】
しかし、インタフェース情報は、公開要素から常に計算可能なわけではなく、例えば、この計算を実行するために十分な情報が利用可能でない。この目的で、インタフェース情報と公開要素は互換的であり、このことは、ステップ４０〜９０が、公開要素だけを使用して、インタフェース情報だけを使用して、または公開要素とインタフェース情報の混合を使用して実行されることが可能であることを含む。
【００３９】
ステップ３０および３１が実行されると、ステップ４０〜６２が、アセンブリの第１のオブジェクトと第２のオブジェクトの間の相対的位置のセットを計算するために実行される。このステージで、第１のオブジェクトおよび第２のオブジェクトは、インタフェース情報を有し、相対的位置のセットの計算は、これらのインタフェース情報のお陰で実行されることが可能である。しかし、前述したとおり、このセットの計算は、公開要素だけを使用して、または公開要素とインタフェース情報の混合を使用して実行されることも可能である。
【００４０】
また、第１のオブジェクトと第２のオブジェクトの間の相対的位置のセットの計算は、示唆される制約である補足的な制約を考慮に入れることも可能である。実際、前述したステップ４０〜６２を実行するのに先立って、ユーザ操作（ａｃｔｕａｔｉｏｎ）が行われると、第１のオブジェクトおよび第２のオブジェクトに対する制約が入力されることが可能である。有利なことに、相対的位置のセットの計算中に、示唆される制約を考慮に入れることは、アセンブリプロセスの速度を高めることを可能にする。実際、位置の計算されるセットは、はめ合せるオブジェクトを選択することと、示唆される制約を与えることが同時に実行されるという条件付きで、オブジェクトをはめ合せる操作の補足的な時間を要求することなしに、ユーザの設計意図を備える。したがって、オブジェクトを組み立てる間の操作の数が減らされる。
【００４１】
通常、ユーザは、例えば、図３に示されるのと同一のねじ４００およびプレート３００を示す図４に示されるとおり、第１のオブジェクトおよび第２のオブジェクトをクリックすることによって、第１のオブジェクトおよび第２のオブジェクトを選択する際に、示唆される制約を入力することができる。ねじ４００の下面４０２が、点４０３を触覚デバイスのカーソルでクリックすることでユーザによって選択され、プレート３００の上面が、点３１０を触覚デバイスのカーソルでクリックすることでユーザによって選択される。また、ユーザが、ドラッグアンドドロップ操作を介して制約を示唆することも可能である。例えば、ユーザは、点４０３をクリックすることによってねじ４００の下面４０２を選択し、プレート３００の上面の上にねじ４００の下面４０２をドラッグし、ねじ４００の点４０３がプレート３００の点３１０の近くにきたときにねじ４００をドロップすることができる。また、示唆される制約が、例えば、図３に関連する「ツリー」２５０を介して入力されることも可能である。限定としてではなく、当技術分野で知られているとおり、他の任意の手段が制約を示唆するために使用されることが可能である。
【００４２】
ステップ４０のサブステップ４１〜６２は、２回（ｔｗｏ  ｐａｓｓｅｓ）で達せられる。アセンブリの第１のオブジェクトと第２のオブジェクトの間の相対的位置のセットの計算はまず、ユーザによって入力された制約を考慮に入れて実行され、次に、ユーザによって入力された制約を考慮に入れずに実行される。有利なことに、２回で計算することは、ユーザによって示唆された制約を含む位置を備える相対的位置のセットだけでなく、特性要素だけしか使用しない位置を計算することも可能にする。その場合、インタフェース情報から構築された１つまたは複数の制約を有する相対的位置が、インタフェース情報から構築された制約で完成させることができない、示唆される制約より選好される。詳細には、示唆される制約を考慮に入れる任意の位置が計算されることが可能であるにしても、本発明によるプロセスは、少なくとも、インタフェース情報から計算された相対的位置のセットを提供することができる。
【００４３】
相対的位置のセットを計算すること（ステップ４１〜６２）は、２つのサブステップを備えることが可能である。第１のサブステップは、ステップ５０〜５２によって規定され、第１のオブジェクトのインタフェース情報と第２のオブジェクトのインタフェース情報の少なくとも１つのマッチングを計算することにある。第２のサブステップは、ステップ６０〜６２を備え、ステップ５０〜５２で実行される少なくとも１つのマッチングの各計算の後、第１のオブジェクトと第２のオブジェクトの間の幾何学的制約を解決することにある。このため、相対的位置は、インタフェース情報によって与えられる幾何学的制約のすべての組合せを試みることによって見出される（つまり、計算される）。幾何学的制約の組合せは、その組合せが解決されることが可能であり、組合せの別の制約に対して冗長な制約が全く存在しない場合、相対的位置である。
【００４４】
好ましくは、オブジェクトのインタフェース情報間のマッチングを計算すること、および幾何学的制約を解決することは、計算するステップおよび解決するステップの間に構築され、走査される専用のグラフ構造を使用して実行される。
【００４５】
当技術分野で知られるグラフ構造は、弧によって接続されたノードから成る。グラフの各ノードは、第１のオブジェクトの１つのインタフェース情報と、第２のオブジェクトの１つのインタフェース情報との組合せを表し、各弧は、或るノードから別のノードに移る可能性を表す。
【００４６】
前段で見たとおり、インタフェース情報または公開要素のフック点が、ステップ３１で計算されることが可能である。フック点は、計算されたインタフェース情報を識別すること、およびインタフェース情報のグループを作成することを可能にする。有利なことに、同一のフック点に属するインタフェース情報間の任意のマッチングが計算される。したがって、計算の数が減らされる。図３を再び参照して、インタフェース情報が、ねじ４００およびプレート３００の公開要素から始めて計算されるシナリオを考慮する。このシナリオにおいて、ねじ４００のフック点が、ねじ４００の２つの公開要素から構築され、プレート３００のフック点が、プレート３００の５つの公開要素から構築される。相対的位置を計算する際、ねじ４００の公開要素とプレート３００の公開要素の間のマッチングだけが、計算される。
【００４７】
このグラフは、幅優先で（ｂｒｅａｄｔｈ  ｆｉｒｓｔ）走査される、いくつかのレベルを備え（ステップ４３〜４４）、すなわち、或るレベルの兄弟ノードが、子孫ノードに先立って走査される。このため、グラフは、レベルごとに走査され、親レベルのすべてのノードが計算されて、解決された後、または少なくとも試験された後、親レベルを離れて、子レベルに向かう。グラフの各ノードは、グラフの所与のレベルにおいて、親ノード上をポイントすることが可能であり、すなわち、子ノードは、親ノードに接続される。しかし、子ノードは、その子ノードによって表される組合せが、上位レベルにおける別のノードによって既に表されている場合に限って、親ノード上をポイントすることが可能である。つまり、グラフ構造を構築する間、或る組合せを表すノードは、その組合せが以前に全く出現していない場合、子ではあり得ない。
【００４８】
実際には、構築されるグラフの最初のレベルは、ルートノードである（ステップ４２）。ルートノードは、グラフの最高レベルである。次にグラフのいくつかのレベルが構築され走査される（ステップ４３〜４４）。グラフは、第１のオブジェクトのインタフェース情報と第２のオブジェクトのインタフェース情報のすべての組合せを備える少なくとも第２のレベルから成る。所与のレベルの各ノードに関して、第１のオブジェクトのインタフェース情報と第２のオブジェクトのインタフェース情報の１つのマッチングが、計算される（ステップ５０）。マッチングが全く計算されない場合、そのノードは、ツリーから切り離される。有利なことに、このことは、検索グラフによってインタフェース情報のマッチングの計算の数を制限することが可能になることを暗示し、実際、子ノードは、その子ノードによって表される組合せが、上位レベルにおける別のノードによって既に表されている場合に限って、親ノード上をポイントする。その結果、検索グラフを走査するのに要求される時間は、マッチングを全く有さない組合せが、下位レベルでグラフにおいて再使用され得ないので、増加する。このため、グラフを構築するため、および走査するための全体的なプロセスが、向上させられる。
【００４９】
逆に、或るノードにおけるマッチングが計算された場合、そのノードの幾何学的制約が解決される（ステップ５３）。幾何学的制約を解決することは、当技術分野で知られているとおり、ソルバ（ｓｏｌｖｅｒ）によって実行されることが可能である。マッチングを有さないノードを除去することは、解決するステップにおいて有利であることに注目することができる。実際、幾何学的制約を解決することは、システムの大量の計算リソース、例えば、ＣＰＵ、メモリなどを要求する。結果として、開示される本技術は、計算リソースを節約することを可能にし、相対的位置を計算するのに要求される時間が低減される。
【００５０】
解決可能な幾何学的制約を有さないグラフの各ノードは、グラフから除去される（ステップ６１）一方で、解決された幾何学的制約を有するノードは、保持される。このため、グラフは、ステップごとに構築され、走査される。グラフが走査されると、グラフのノードは、相対的位置のセットに追加される相対的位置をもたらす（ステップ６２）。ノードの相対的位置は、ノードの組合せから構築された制約のセット、およびノードの親の組合せから構築された制約のセットによって与えられる。
【００５１】
ところで、これらの相対的位置を計算するために要求される計算の数は、識別子、例えば、フック点の使用のお陰で改良されることが可能である。この目的で、オブジェクトのインタフェース情報間の識別子が計算され、この識別子は、インタフェースを所有するそれぞれのオブジェクトに関連する。次に、この識別子は、その第１のオブジェクトとその第２のオブジェクトの少なくともいずれかがかかわる別のマッチングの計算中に、マッチングを識別するために使用される。この識別子のお陰で、組合せの以前のマッチングを識別することが可能であり、このことは、以前に計算されたマッチングをソリューションとして優遇する可能性をもたらす。
【００５２】
ステップ７０〜７１で、ステップ４０〜６２で計算されたソリューションが、相対的位置のセットの相対的位置のそれぞれの制約と関係するデータを計算するために扱われる。さらに、ステップ７１で、セットの相対的位置をランキングするように少なくとも１つの基準が、計算される。有利なことに、これらの基準は、１回だけ計算され、その後、セットの相対的位置をランキングするために使用されて、リソースの消費が制限される。
【００５３】
ステップ８０で、第１のオブジェクトと第２のオブジェクトの間の相対的位置のセットが、少なくとも１つの基準に従ってランキングされる。ランキングするステップは、予想される相対的位置がいずれであるかを特定するのが容易な、相対的位置のリストをもたらす。重要なことに、このランキングは、前に計算された相対的位置をランキングするための判定または決定が基づくことが可能な基準、つまり、標準に従って実行される。
【００５４】
実際には、これらの位置の間で決定するのに１つの基準では十分でなく、一般に、少なくとも２つの基準が、これらの相対的位置の間でランキングを行うために使用されることが可能である。さらに、各基準がランキングされ、相対的位置は、これらのランキングされた基準に依拠して辞書式順序でランキングされる。辞書式順序は、順序付けされた２つのセットの自然な順序構造をもたらす。例えば、位置の第１のセットの複数の位置が、第１の基準に従って同一のランキングを有する場合、それらの位置は、第２の基準に従ってランキングされる。その結果、位置の第２のセットがもたらされ、第１の基準および第２の基準に従ってランキングされる。第２のセットが、それでも同一のランキングを有する複数の位置を備える場合、第３の基準が、位置の新たなセットをランキングするために使用されることが可能であるといった具合である。
【００５５】
通常、アセンブリの第１のオブジェクトと第２のオブジェクトは、３次元のモデル化されたオブジェクトであり、基準（好ましいランキングにおける）は、以下のいずれかであることが可能である。すなわち、
ｉ）アセンブリの第１のオブジェクトと第２のオブジェクトの間のいくつかの制約。この基準は、最も多くの数の制約を解決する相対的位置、すなわち、グラフ構造のルートから最も遠く離れている複数の相対的位置を選択する。有利なことに、このことによって、より低い自由度を有する位置を昇格させる（ｐｒｏｍｏｔｅ）ことが可能になる。
【００５６】
ｉｉ）アセンブリの、位置付けられる第１のオブジェクトと、第２のオブジェクトとの間でユーザによって示唆されるいくつかの制約。２つの位置の間に同一の数の制約がある場合、示唆された制約を最も多く備える位置が、選好される。
【００５７】
ｉｉｉ）２次元空間におけるアセンブリの、位置付けられる第１のオブジェクトの投影と、第２のオブジェクトの投影との間の距離。第１のオブジェクトおよび第２のオブジェクトは、３次元オブジェクトである。第１のオブジェクトおよび第２のオブジェクトは、平面上に投影されることが可能であり、例えば、その平面は、コンピュータスクリーンによって規定される。距離は、例えば、ユーザが、前段で見たとおり、第１のオブジェクトおよび第２のオブジェクトを選択する際に、制約を示唆している間に、ユーザによって以前に入力された２つのピック点（ｐｉｃｋｉｎｇ  ｐｏｉｎｔ）の間で測定されることが可能である。このため、第１のオブジェクトの各相対的位置は、ピック点を有し、第２のオブジェクトも同様である。したがって、配置された第１のオブジェクトと第２のオブジェクトのピック点の間の距離が、測定されることが可能である。これらの測定された位置に従って、それらの相対的位置は、ランキングされることが可能である。実際には、位置付けられる第１のオブジェクトと第２のオブジェクトとの間でより小さい距離をもたらす相対的位置が優遇され、測定された距離が短いほど、相対的位置は良好である。実際、小さい方の距離を優先することは、設計者が、設計者が優遇することを所望する相対的位置をシステムに示す可能性を有することが可能であるため、全般的な設計プロセスを向上させることを可能にし、このことは、例えば、第１のオブジェクトおよび第２のオブジェクトを選択しながら、これらのオブジェクトをクリックすることによって、容易な仕方で実行されることが可能である。さらに、設計者は、予想されるソリューションを得るのに第２のオブジェクト全体を正確にブラウズする必要はなく、第２のオブジェクトを単純にクリックするだけで十分である。したがって、設計の誤りのほとんど、例えば、誤った第２のオブジェクトを選択することが、防止されることが可能である。このため、オブジェクトの繰り返されるアセンブリが、設計者の生産性が大幅に高められるように、より容易で、より迅速な仕方で行われることが理解される。
【００５８】
ｉｖ）３次元空間における、相対的に位置付けられる３次元オブジェクトである第１のオブジェクトと第２のオブジェクトの間の距離。同様に、位置付けられる第１のオブジェクトと第２のオブジェクトのピック点の間の距離が測定され、測定された距離が小さい方が、優遇されることが可能である。ポイントｉｉｉ）におけるのと同一の利点がもたらされることが理解される。
【００５９】
ｖ）３次元オブジェクトである、位置付けられる第１のオブジェクトと、第２のオブジェクトとの間の回転角。回転角は、計算された相対的位置に合うように、選択された第１のオブジェクトによって行われる回転を測定する。測定された回転角に応じて、それらの相対的位置は、ランキングされることが可能である。実際には、より小さい回転角が優遇され、実際、設計者が、オブジェクトのアセンブリを設計している間に見るものにより近いソリューションを優遇することが有利である。例えば、図３のねじ４００は、ねじ４００の頭部をプレート３００の上面、または下面に有して、穴３０１〜３０３を通ることが可能である。しかし、ねじ４００は、選択された際にねじ４００の頭部が上に向けられているので、ねじの頭部が上に向けられた位置が、ねじの頭が下に向けられた位置と比べて、第１の事例に関する回転角の方が第２の事例の場合より小さいので、優遇される。
【００６０】
ｖｉ）アセンブリの、位置付けされる第１のオブジェクト、および第２のオブジェクトは、グラフィカルユーザインタフェース上で可視である。可視である相対的位置は、可視でない位置と比べて優遇される。実際、位置付けされる第１のオブジェクト（配置されるべきオブジェクト）は、グラフィカルユーザインタフェース上で可視であり、このオブジェクトのピック点は、ソリューションの相対的位置において可視である。有利なことに、設計者は、設計者が関心のない相対的位置の氾濫に見舞われることがなく、実際、設計者は、アセンブリの少数のオブジェクトに的を絞り、したがって、その他のオブジェクトに興味を引かれない。ところで、設計者は、アセンブリ上でズームアウトすることができ、このため、ランキングするステップ中に新たな相対的位置が考慮に入れられることが可能である。
【００６１】
ｖｉｉ）位置付けされる第１のオブジェクトと、第２のオブジェクトとの間の設計の誤りが、検出される。通常、設計の誤りは、干渉仕様（ｉｎｔｅｒｆｅｒｅｎｃｅｓ  ｓｐｅｃｉｆｉｃａｔｉｏｎｓ）が順守されない場合に生じる可能性がある。一般に、干渉仕様は、衝突仕様、接触仕様、および間隙（ｃｌｅａｒａｎｃｅ）仕様を包含する。これに関して、２つのオブジェクトの間の衝突（物体相互侵入（ｍａｔｔｅｒ  ｉｎｔｅｒｐｅｎｅｔｒａｔｉｏｎ））を回避することが重要である。実際には、衝突が検出されると、その位置は、相対的位置のセットから除去される。
【００６２】
基準は、前述した基準に限定されず、他の任意の基準が、相対的位置をランキングするために使用されることが可能である。さらに、基準のランキングは、ユーザによって変更されることが可能である。このようにして、相対的位置のランキングは、ユーザのニーズおよび要件を満たす。
【００６３】
ステップ９０で、ランキングするステップによる、第１のオブジェクトと第２のオブジェクトの間の相対的位置のうち最良の位置が、もたらされる。相対的位置のうち最良の位置は、その他の位置のなかで基準の最も多くを満たす位置であり、したがって、辞書式順序でランキングされた位置のなかで最初の位置である。このため、オブジェクトのアセンブリを設計している間の設計者の生活体験（ｌｉｆｅ  ｅｘｐｅｒｉｅｎｃｅ）が向上させられる。開示される技術のお陰で、設計者の視界は、もはや、多数の位置の氾濫に見舞われない。したがって、設計者の生産性が向上する。
【００６４】
ところで、最良の相対的位置が設計者を満足させない場合、設計者は、別の位置を表示する可能性を有する。通常、ユーザは、計算された複数の位置を、それらの位置のランキング順序に従って１つずつ与えられることが可能である。例えば、ユーザは、触覚デバイスを操作することが可能であり、操作時に、例えば、マウスホイールを動かすと、計算された複数の位置が、相対的位置のランキングに基づいて降順で表示され、すなわち、複数の位置が、最良の位置から最悪の位置まで表示される。
【００６５】
図３から図５は、本発明による方法の実施形態のグラフィック表現である。図３は、ＧＵＩ上に表示されたプレート３００およびねじ４００を示す。ねじ４００は、「配置されるべき」オブジェクトであり、プレート３００は、「ターゲット」オブジェクトである。「特徴ツリー」は、ＧＵＩにおいて、オブジェクトの公開要素などの、両方のオブジェクトの特性を示す。ねじ４００は、以下の２つの公開要素、すなわち、軸４０１の公開要素、および面４０２の公開要素を備える。プレート３００は、以下の５つの公開要素、すなわち、穴３０１ないし３０４のそれぞれの軸につき１つの公開要素、および面３０５に関する１つの公開要素を備える。
【００６６】
次に、図４で、ユーザは、例えば、マウスのカーソルを使用して、「配置されるべき」オブジェクト４００の下面４０２の点４０３をクリックすることによって、オブジェクト４００を選択する。次に、ユーザは、「ターゲット」オブジェクト３００の上面３０５の点３１０をクリックすることによって、オブジェクト３００を選択する。ねじ４００およびプレート３００の公開要素は、インタフェース情報ではないので、ねじのフック点は、ねじの２つの公開要素から構築され、プレートのフック点は、プレートの５つの公開要素から構築される。さらに、ユーザは、ねじおよびプレートを選択している間に制約、すなわち、プレートの上面と、ねじの下面との間のユーザ制約を示唆する。
【００６７】
次に、プロセスは、ねじとプレートの間の相対的位置のセットを計算する。この目的で、グラフが、第１回（ｆｉｒｓｔ  ｐａｓｓ）に、示唆される制約を考慮に入れることによって、第２回に、示唆される制約を考慮に入れずに構築され、走査される。ねじと各穴の軸対軸の合致に基づいて、相対的位置のセットが計算され、４つの位置を備える。説明のため、位置４２０〜４２３は、図４に多重像ビュー（ｇｈｏｓｔ  ｖｉｅｗ）で表される。動作の際、これらの位置は表現されない。
【００６８】
次に、計算されたセットの相対的位置が、基準に従ってランキングされる。第１の基準は、ねじとプレートの間で制約の数を分析し、この数は、同一である。したがって、第２の基準は、計算された位置を分けるために要求され、ねじとプレートの間でユーザによって示唆される制約の数は、各位置に関して同一である。次に、第３の基準が使用され、ねじ４００のピック点４０３が、各相対的位置４２０〜４２３に配置され、次に、点４３０〜４３３と、プレート３００のピック点３１０との間の、２次元空間における距離が、測定される。距離が短いほど、位置は良好である。図４によれば、これらの相対的位置は、以下のとおり（最良から最悪まで）ランキングされる。すなわち、最良の相対的位置（１と評定される）が相対的位置４２３であり、次が、相対的位置４２２（２と評定される）、４２０（３と評定される）、および４２１（４と評定される）である。
【００６９】
次に、最良の相対的位置４２３がもたらされる。通常、最良の相対的位置は、ＧＵＩ上に表示される。したがって、設計者は、もたらされた最良の位置が、設計者の期待および設計意図を満たすか否かを迅速に評価することができる。
【００７０】
図５は、設計者が、ねじ頭部４００のかど５００ａ、およびプレート３００のかど５００ｂを選択していること以外は、図４と同様である。このため、ユーザによって示唆される制約は、この２つのかどの間の接触である。相対的位置のセットを計算する際、ユーザによって示唆される制約は、公開要素で構築された制約で完成させられる。しかし、この場合、制約の、この組合せから、組合せは過度の制約であることになる。このため、示唆される制約を考慮に入れるグラフの第１回の走査は、失敗し、相対的位置のセットは、グラフの第２回の走査だけから、つまり、示唆される制約を考慮に入れずに、計算される。その結果、それらの相対的位置は、ねじおよびプレートの公開要素に基づいて計算される。次に、セットの相対的位置が、図４の場合と同様に、ランキングされ、最良のソリューション５０１がもたらされ、ＧＵＩ上で表示される。
【００７１】
ところで、相対的位置のうち最良の位置は、セットのその他のランキングされた相対的位置と一緒にもたらされてもよく、さらに相対的位置のうち最良の位置は、セットのその他のランキングされた相対的位置と一緒に表示されてもよい。有利なことに、設計者は、計算されたすべての相対的位置を見ることができ、このため、設計者は、いずれが最も妥当な位置であるかを判定することができる。さらに、ユーザは、例えば、例えば、ＧＵＩが、ＧＵＩに表されている数の相対的位置で過密になる場合、同時に表示される相対的位置の数を制限してもよい。
【００７２】
さらに、セットの相対的位置の各位置は、それぞれのレンダリングで表示されることが可能であり、それぞれのレンダリングは、ランキングするステップの結果に応じて決定される。ＣＡＤの分野において、「レンダリングする」ステップの結果は、オブジェクトに、このオブジェクトのいくつかの特性を示す視覚的属性（色、透明性レベル、テクスチャ、照明パラメータなど）を適用している代替の視覚化を表す。この特性は、物理的特性であること（例えば、その場合、エンジンが、金属的な様相でレンダリングされる）、または抵抗特性であること（エンジンは、エンジンの熱応力を示す色スキームでレンダリングされる）、あるいは、場合により、他の特性であることが可能である。したがって、表示される各相対的位置は、その相対的位置のランキングに依拠して、代替の視覚化であることが可能な一意のレンダリングを有することが可能である。有利なことに、ユーザは、表示された相対的位置のなかで、各相対的位置のそれぞれのランキングを迅速に、容易に評価することができる。
【００７３】
実際には、相対的位置の各位置のそれぞれのレンダリングは、それぞれの透明性レベルであることが可能である。通常、各位置のそれぞれのレンダリングは、表示される位置の透明性が低いほど、その位置が良好であるようになっている。デフォルトで、最良のソリューションは、わずかに透明である一方で、最悪のソリューションは、ほとんど透明であり、中間のソリューションは、最良のソリューションと比べてはるかに透明である。実際には、最良の位置の透明性は、基準値に設定され、２番目のソリューションから最後のソリューションまでの透明性は、天井値（基準値の半分）から床値（ほとんど透明）まで直線的に、規則的に低下する。さらに、それぞれのレンダリングは、カラーコードに従って実行されることも可能である。
【００７４】
ところで、設計者は、これらの位置の間でナビゲートすることができる。同時に表示される複数の位置の１つが、その位置の上にカーソルを置くことによって強調されることが可能である。通常、このことは、触覚デバイス上でユーザアクションが行われると、例えば、マウスのカーソルがその位置の上に置かれると、実行される。位置を強調することは、例えば、その位置のハイライトのお陰で行われることが可能である。ハイライトは、その位置の表現に放射光の（ｅｍｉｓｓｉｖｅ）明るい色を適用することにある。また、強調することは、位置を明滅させること、強調される位置の輪郭を太くすること、または強調される位置の輪郭を形成する点の密度を高くすることなどの視覚効果を介して実行されることも可能である。ところで、設計者が或る位置をその他の位置から区別することを可能にする任意の手段が、使用されることが可能である。
【００７５】
次に図６〜図８を参照すると、クランク９００を軸９０１とはめ合せることが示されている。図６で、本発明に従って計算された相対的位置のセットのいくつかの位置がＧＵＩ上に表されている。これらの表現のなかで、位置９２０および９３０は、より透明性が高いが、最良の位置９１０は、透明性がより低い。図６は、透明性と、計算された複数の位置の妥当性との間の直線性を示す。したがって、ユーザは、透明性がより低いに従って、いずれが最良の位置であるかを容易に検出することができる。一方、最良の位置が、設計者に妥当であるとみなされない場合、それでも、設計者は、その他の位置を見ることができる。
【００７６】
図７で、設計者は、最良の位置９１０の上に触覚デバイスのカーソル９０２を移動している。設計者は、その結果、最良の位置に基づくソリューションを事前視覚化する（ｐｒｅ−ｖｉｓｕａｌｉｚｅ）ことができ、その他の位置の透明性が低減される一方で、位置９１０の透明性は高められる。このため、ソリューション位置９１０が強調され、このことは、ユーザがそのソリューションを容易に理解することを有利に可能にする。
【００７７】
設計者が、別の位置９３０の上にカーソル９０２を移動すると、図８に示されるとおり、今度は、この位置が強調される。したがって、設計者は、各位置を、その他の位置とは独立にプレビューすることができる。
【００７８】
以上の方法は、ＣＡＤ／ＣＡＭ／ＣＡＥシステム又はオブジェクトのアセンブリを設計するために使用される任意のシステムによって定義されることが可能な任意の構成における任意のオブジェクトに適用されることが可能であることを理解されたい。本発明は、デジタル電子回路で実施されること、あるいはコンピュータハードウェアで、コンピュータファームウェアで、コンピュータソフトウェアで、または以上の組合せで実施されることが可能である。本発明の装置は、プログラム可能なプロセッサによって実行されるように機械可読なストレージデバイスとして実体化されたコンピュータプログラム製品で実施されることが可能であり、本発明の方法ステップは、入力データに対して操作すること、および出力を生成することによって本発明の機能を実行する命令のプログラムを実行するプログラム可能なプロセッサによって実行されることが可能である。
【００７９】
本発明は、有利には、データストレージシステムからデータおよび命令を受け取るとともに、データストレージシステムにデータおよび命令を送るように結合された少なくとも１つのプログラム可能なプロセッサと、少なくとも１つの入力デバイスと、少なくとも１つの出力デバイスとを含むプログラム可能なシステム上で実行可能である１つまたは複数のコンピュータプログラムで実施されることが可能である。このアプリケーションプログラムは、高レベルの手続きプログラミング言語もしくはオブジェクト指向プログラミング言語で、または所望される場合、アセンブリ言語もしくは機械語で実施されることが可能であり、いずれにしても、この言語は、コンパイルされる言語、または解釈される言語であることが可能である。
【００８０】
図９は、オブジェクトのアセンブリを設計しているユーザのクライアントコンピュータシステム、例えば、ワークステーションを示す。このクライアントコンピュータは、内部通信ＢＵＳ１２００に接続されたＣＰＵ（中央処理装置）１２０１と、やはり、このＢＵＳに接続されたＲＡＭ（ランダムアクセスメモリ）１２０７とを備える。クライアントコンピュータシステムは、ＢＵＳに接続されたビデオランダムアクセスメモリ１２１０に関連するＧＰＵ（グラフィカル処理装置）１２１１をさらに備える。ビデオＲＡＭ１２１０は、当技術分野でフレームバッファとしても知られている。大容量ストレージデバイスコントローラ１２０２が、ハードドライブ１２０３などの大容量メモリデバイスへのアクセスを管理する。コンピュータプログラム命令およびデータを実体化するのに適した大容量メモリデバイスには、例として、ＥＰＲＯＭデバイス、ＥＥＰＲＯＭデバイス、およびフラッシュメモリデバイスなどの半導体メモリデバイス、内部ハードディスクおよびリムーバブルディスクなどの磁気ディスク、光磁気ディスク、ならびにＣＤ−ＲＯＭディスク１２０４を含む、すべての形態の不揮発性メモリが含まれる。以上のメモリデバイスの任意のメモリデバイスが、特別に設計されたＡＳＩＣ（特定用途向け集積回路）によって補完される、またはそのようなＡＳＩＣに組み込まれることが可能である。ネットワークアダプタ１２０５が、ネットワーク１２０６へのアクセスを管理する。また、クライアントコンピュータシステムは、カーソル制御デバイス、キーボードなどの触覚デバイス１２０９も含むことが可能である。カーソル制御デバイスが、クライアントコンピュータにおいて、ユーザが、ディスプレイ１２０８上の任意の所望される場所にカーソルを選択的に位置付けることを可能にするのに使用される。さらに、カーソル制御デバイスは、ユーザが、様々なコマンドを選択すること、および制御信号を入力することを可能にする。カーソル制御デバイスは、システムに制御信号を入力するためのいくつかの信号生成デバイスを含む。通常、カーソル制御デバイスは、マウスであることが可能であり、このマウスのボタンが、信号を生成するのに使用される。
【００８１】
本発明の好ましい実施形態が、説明されてきた。様々な変形が、本発明の趣旨および範囲を逸脱することなく、行われることが可能であることが理解されよう。したがって、他の実施態様も、添付の特許請求の範囲に含まれる。例えば、基準のランキングは、アセンブリの技術的状況に依存することが可能である。
【図１】
2011100456.tif 000003
【図２】
2011100456.tif 000004
【図９】
2011100456.tif 000005
【図３】
2011100456.tif 000006
【図４】
2011100456.tif 000007
【図５】
2011100456.tif 000008
【図６】
2011100456.tif 000009
【図７】
2011100456.tif 000010
【図８】
2011100456.tif 000011
【外国語明細書】
2011100456000001.pdf