説明

コンピュータ支援設計のシステムにおいてオブジェクトのアセンブリを設計するための方法およびシステム

【課題】本発明は、コンピュータ支援設計のシステムにおいてオブジェクトのアセンブリを設計するための方法を対象とする。
【解決手段】この方法は、アセンブリの第1のオブジェクトおよび第2のオブジェクトを選択すること(20)であって、前記第1のオブジェクトおよび前記第2のオブジェクトのそれぞれがインタフェース情報を有することと、アセンブリの第1のオブジェクトと第2のオブジェクトの間の相対的位置のセットを計算すること(40)と、第1のオブジェクトと第2のオブジェクトの間のセットの相対的位置を、少なくとも1つの基準に従ってランキングすること(80)と、ランキングするステップに応じて、第1のオブジェクトと第2のオブジェクトの間の相対的位置のうち最良の位置をもたらすこと(90)とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータプログラムおよびコンピュータシステムの分野に関し、より具体的には、コンピュータ支援設計アプリケーションにおけるオブジェクトのアセンブリの設計の分野に関する。
【背景技術】
【0002】
コンピュータ支援技術は、製品設計を作成するためのソフトウェアソリューションと関係するコンピュータ支援設計、またはCADを含むことが知られている。同様に、CAEが、コンピュータ支援エンジニアリングを表す頭字語であり、例えば、CAEは、将来の製品の物理的振舞いをシミュレートするためのソフトウェアソリューションに関する。CAMは、コンピュータ支援製造を表し、製造プロセスおよび製造作業を規定するためのソフトウェアソリューションを通常、含む。
【0003】
CATIAという商標の下でダッソーシステムズによって提供されるシステムおよびプログラムなどの、製品を形成するオブジェクト(もしくは部品)、またはオブジェクトのアセンブリを設計するための、いくつかのシステムおよびプログラムが、市場で提供されている。これらのCADシステムは、ユーザが、オブジェクト、またはオブジェクトのアセンブリの複雑な3D(3次元)モデルを構築し、操作することを可能にする。このため、CADシステムは、辺または線を使用し、いくつかの事例では、面を使用する、モデル化されたオブジェクトの表現をもたらす。線または辺は、様々な仕方で、例えば、NURBS(非一様有理Bスプライン)で表されることが可能である。これらのCADシステムは、概ね、幾何属性の仕様である、モデル化されたオブジェクトとして部品、または部品のアセンブリを管理する。具体的には、CADファイルは、幾何属性が生成される仕様を含み、幾何属性は、表現が生成されることを可能にする。幾何属性および表現は、単一のCADファイル、または複数のCADファイルの中に格納されることが可能である。CADシステムは、モデル化されたオブジェクトを設計者に示すためのグラフィックツールを含み、これらのツールは、複雑なオブジェクトの表示に専用であり、CADシステムにおいてオブジェクトを表すファイルの通常のサイズは、1部品当たり1メガバイトの範囲内にあり、アセンブリは、数千の部品を備えることが可能である。CADシステムは、電子ファイルの中に格納されたオブジェクトのモデルを管理する。
【0004】
コンピュータ支援技術において、GUI(グラフィカルユーザインタフェース)が、技法の効率に関して重要な役割を果たす。モデル化されたオブジェクトを操作すること、および/またはナビゲートすることに要求される操作のほとんどは、GUI上でユーザ(例えば、設計者)によって実行されることが可能である。特に、ユーザは、製品を形成するモデル化されたオブジェクトを作成すること、変更すること、および削除することができ、さらに例えば、製品構造を介して、モデル化されたオブジェクトがどのように互いに関係するかを理解するように製品を探ることができる。従来、これらの操作は、GUIの両側に配置された専用のメニューおよびアイコンを介して実行される。最近、CATIAなどのCADシステムは、製品の表現の近くで、これらの機能を呼び出すことを可能にする。設計者は、マウスをメニューおよびアイコンに向けて、もはや動かさなくてもよい。このため、操作は、マウスのすぐに届くところで利用可能である。さらに、操作は、意味体系によって振舞い、すなわち、設計者によって選択された所与の操作に関して、CADシステムは、設計者に、やはりマウスの近くで、設計者が選択する可能性が高い、前に選択された操作に応じた新たな操作のセットを示唆することが可能である。
【0005】
やはり知られているのが、複数の企業が、拡張された事業の概念にわたって、製品の開発に関して構想から製品寿命の終わりまで、製品データを共有し、共通のプロセスを適用し、企業知識を活用するのを助けるビジネス戦略を指す、PLM(製品ライフサイクル管理)ソリューションである。複数の主体(企業部門、ビジネスパートナ、納入業者、OEM(相手先ブランド供給業者)、および顧客)を含めることにより、PLMは、このネットワークが、製品およびプロセスを概念化し、設計し、構築し、サポートする単一のエンティティとして機能することを可能にすることができる。
【0006】
一部のPLMソリューションは、例えば、デジタルモックアップ(製品の3Dグラフィカルモデル)を作成することによって製品を設計し、開発することを可能にする。デジタル製品は最初に、適切なアプリケーションを使用して定義され、シミュレートされることが可能である。次に、リーンデジタル製造プロセス(lean digital manufacturing process)が、定義され、モデル化されることが可能である。
【0007】
ダッソーシステムズによって提供されるPLMソリューション(CATIA、ENOVIA、およびDELMIAの商標の下で)は、製品エンジニアリング知識を編成するエンジニアリングハブ、製造エンジニアリング知識を管理する製造ハブ、ならびにエンジニアリングハブと製造ハブの両方への企業統合および企業接続を可能にする企業ハブを提供する。全体として、このシステムは、複数の製品、複数のプロセス、複数のリソースを結び付けて、動的な、知識ベースの製品創出を可能にするオープンオブジェクトモデル、ならびに最適化された製品定義、製造準備、製品製造、および製品サービスを推進する意志決定支援を提供する。
【0008】
そのようなPLMソリューションは、製品のリレーショナルデータベースを備える。このデータベースは、テキストデータのセットと、それらのデータ間の関係とを備える。データは、通常、製品と関係する技術的データを含み、これらのデータは、データの階層に並べられ、検索可能であるように索引付けされる。これらのデータは、しばしば、モデル化された製品およびプロセスである、モデル化されたオブジェクトを表す。
【0009】
製品構成、プロセス知識、およびリソース情報を含む製品ライフサイクル情報は、通常、共同作業で編集されることが意図される。
【0010】
現在のCADアプリケーションは、オブジェクトのアセンブリの複数のオブジェクト(または複数の部品)間の、例えば、オブジェクトのアセンブリの2つの製品間の空間的関係をユーザが定義することを可能にする。通常、当技術分野で知られているとおり、ユーザは、或るオブジェクトを特定の位置に置くために、そのオブジェクトを別のオブジェクトに対して動かす設計者である。例えば、この設計者が、プレートに設けられた穴にねじを通すことを所望する可能性がある。この目的で、設計者は、ねじを選択して、プレートの穴に対するねじの所望される凡その位置が達せられるまで、プレート上で動かす。次に、ねじとプレートのはめ合せ特性(mating property)を使用して、プレートに対するねじの位置が見出され、この位置は、設計者によって与えられるねじの場所に応じて決まる。
【0011】
しかし、或るオブジェクトを別のオブジェクトに対して位置付けることは、設計者が、第1のオブジェクトを第2のオブジェクトの上で(またはこれらのオブジェクトの部品を)正しい場所で動かさなければならず、さらに第1のオブジェクト、および第2のオブジェクトは、非常に小さい可能性がある、例えば、オブジェクトの部品は、点のようである可能性があるため、設計者にとって困難で面倒な作業である。
【0012】
さらに、現在のソリューションのほとんどは、選択された2つのオブジェクト間で、所与のいくつかの位置のなかの1つだけの位置しか提案しない。このため、これらのソリューションは、これらのオブジェクト間の関係があるすべてのソリューションの包括的な、順序付けられたセットはもたらさず、したがって、設計者は、いくつかのソリューションのなかでいずれが最良のソリューションであるかを特定することができない。さらに、ユーザが、オブジェクトを或る特定の要素の上で動かさない場合、ユーザは、対応するソリューションについて知らされない。
【0013】
ちなみに、一部のソリューションは、第1のオブジェクトおよび第2のオブジェクトのすべての幾何学的要素を使用することによって、選択された2つのオブジェクト間の位置を設計者に提案し、このことは、役に立たない位置で急速に溢れる可能性がある。
【0014】
このため、以上に簡単に説明した既存のソリューションの限界によれば、オブジェクトの繰り返されるアセンブリを、より容易で、より迅速に改良して、設計者の生産性が高められ、設計の誤りが最小限に抑えられるようにする必要性が、存在する。
【発明の概要】
【0015】
したがって、本発明は、コンピュータ支援設計のシステムにおいてオブジェクトのアセンブリを設計するための方法を提供する。この方法は、アセンブリの第1のオブジェクトおよび第2のオブジェクトを選択するステップであって、前記第1のオブジェクトおよび前記第2のオブジェクトのそれぞれがインタフェース情報を有する、ステップと、アセンブリの第1のオブジェクトと第2のオブジェクトの間の相対的位置のセットを計算するステップと、第1のオブジェクトと第2のオブジェクトの間のセットの相対的位置を、少なくとも1つの基準に従ってランキングするステップと、ランキングするステップに応じて第1のオブジェクトと第2のオブジェクトの間の相対的位置のうち最良の位置をもたらすステップとを備える。
【0016】
本発明による方法は、以下の特徴、すなわち、
相対的位置のセットを計算するステップに先立って、ユーザ操作(actuation)時に、第1のオブジェクトおよび第2のオブジェクトに対する制約を追加するステップ、
相対的位置のうち最良の位置をもたらすステップの後、グラフィカルユーザインタフェース上で、第1のオブジェクトと第2のオブジェクトの間の相対的位置のうち最良の位置を表示するステップ、
アセンブリの第1のオブジェクトおよび第2のオブジェクトは、3次元モデル化されたオブジェクトであり、さらにその少なくとも1つの基準は、
アセンブリの第1のオブジェクトと第2のオブジェクトの間のいくつかの制約と、
相対的位置のうち最良の位置に従って相対的に位置付けされる、アセンブリの第1のオブジェクトと第2のオブジェクトの間でユーザによって示唆されるいくつかの制約と、
相対的位置のうち最良の位置に従って相対的に位置付けされる、アセンブリの第1のオブジェクトと第2のオブジェクトの間の、3次元空間における距離と、
相対的位置のうち最良の位置に従って相対的に位置付けされる、アセンブリの第1のオブジェクトと第2のオブジェクトの、2次元空間における投影の間の距離と、
相対的位置のうち最良の位置に従って相対的に位置付けされる、アセンブリの第1のオブジェクトと第2のオブジェクトの間の回転角と、
相対的位置のうち最良の位置に従って相対的に位置付けされる、アセンブリの第1のオブジェクトと第2のオブジェクトが、グラフィカルユーザインタフェース上で可視であることと、
相対的位置のうち最良の位置に従って相対的に位置付けされる、アセンブリの第1のオブジェクトと第2のオブジェクトの間の設計の誤りが、検出されることと
のうち1つであること、
アセンブリの第1のオブジェクトと第2のオブジェクトの間の相対的位置のセットを計算するステップは、第1のオブジェクトのインタフェース情報と、第2のオブジェクトのインタフェース情報との少なくとも1つのマッチングを計算すること、およびその少なくとも1つのマッチングの各計算の後、第1のオブジェクトと第2のオブジェクトの間の幾何学的制約を解決することを備えること、
インタフェース情報の少なくとも1つのマッチングを計算するステップ、およびこの少なくとも1つのマッチングの各計算の後、幾何学的制約を解決するステップは、グラフの走査に従って実行され、グラフの各ノードは、第1のオブジェクトの1つのインタフェース情報と第2のオブジェクトの1つのインタフェース情報の組合せを表し、親ノード上を指す、グラフの所与のレベルにおけるグラフの各ノードは、その所与のレベルの上位レベルにおける別のノードによって既に表された組合せを表し、解決不能な幾何学的制約を有するグラフの各ノードは、グラフから除去され、さらに所与のノードに関して、相対的位置のセットの相対的位置が、
その所与のノードの組合せから構築された制約のセットと、
の所与のノードの親の組合せから構築された制約のセットと
によってもたらされること、
アセンブリの第1のオブジェクトと第2のオブジェクトの間の相対的位置のセットを計算するステップは、第1のオブジェクトの少なくとも2つのインタフェース情報の間の第1の識別子、および第2のオブジェクトの少なくとも2つのインタフェース情報の間の第2の識別子を計算すること、インタフェース情報のこの第1の識別子、およびこの第2の識別子を、第1のオブジェクトのその少なくとも2つのインタフェース情報、および第2のオブジェクトのその少なくとも2つのインタフェース情報をそれぞれ所有するオブジェクトにそれぞれ関連付けること、その第1のオブジェクトとその第2のオブジェクトの少なくともいずれかがかかわる別のマッチングの計算中に、マッチングを識別するためにその第1の識別子、およびその第2の識別子を使用することを備えること、
アセンブリの第1のオブジェクトと第2のオブジェクトの間の相対的位置のセットを計算するステップは最初に、ユーザによって追加された制約を考慮に入れて実行され、次に、ユーザによって追加された制約を考慮に入れずに実行されること、
セットの相対的位置をランキングするステップは、少なくとも2つの基準に従って実行され、少なくとも2つの基準の各基準はランキングされ、セットの相対的位置は、このランキングされた基準に依拠して辞書式順序でランキングされること、
第1のオブジェクトおよび第2のオブジェクトを選択するステップにおいて、第1のオブジェクトの少なくとも1つの公開要素(publication)、および第2のオブジェクトの少なくとも1つの公開要素を識別し、第1のオブジェクトの識別された少なくとも1つの公開要素、および第2のオブジェクトの識別された少なくとも1つの公開要素のそれぞれに関して、第1のオブジェクトのインタフェース情報、および第2のオブジェクトのインタフェース情報を計算すること、
第1のオブジェクトのその少なくとも1つの公開要素、および第2のオブジェクトのその少なくとも1つの公開要素は、幾何学的要素を備えること、
第1のオブジェクトのインタフェース情報、および第2のオブジェクトのインタフェース情報は、幾何学的要素との合致を表すように計算されること、
その幾何学的要素は、点、線、平面、および軸系(axis system)に制限されること、
相対的位置のうち最良の位置をもたらすステップは、セットの他のランキングされた相対的位置をもたらすことをさらに備え、グラフィカルユーザインタフェース上で、相対的位置のうち最良の位置を表示するステップは、グラフィカルユーザインタフェース上で、セットの他のランキングされた相対的位置を表示することをさらに備えること、
セットの相対的位置の各位置は、ランキングするステップの結果に従って決定される、それぞれのレンダリングで表示されること、および
相対的位置の各位置のそれぞれのレンダリングは、それぞれの透明性レベルであることのうちの1つまたは複数を特徴とすることが可能である。
【0017】
本発明は、コンピュータ支援設計のシステムにおいてオブジェクトのアセンブリを設計するための、コンピュータ可読媒体上に格納されたコンピュータプログラムをさらに提案し、このコンピュータプログラムは、本発明の方法のステップをコンピュータ支援設計のシステムに、行わせるためのコード手段を備える。
【0018】
本発明は、コンピュータ支援設計のシステムにおいてオブジェクトのアセンブリを設計するための装置にさらに関し、この装置は、本発明の方法のステップを実施するための手段を備える。
【図面の簡単な説明】
【0019】
次に、開示される技術を実施するシステムを、非限定的な例として、添付の図面を参照して説明する。
【図1】CADシステムにおける通常のGUIを示す概略図である。
【図2】本発明を実行するための実施形態を示す流れ図である。
【図3】本発明による方法を表すグラフィック表現である。
【図4】本発明による方法を表すグラフィック表現である。
【図5】本発明による方法を表すグラフィック表現である。
【図6】本発明によるクランクの軸とのはめ合せを示す図である。
【図7】本発明によるクランクの軸とのはめ合せを示す図である。
【図8】本発明によるクランクの軸とのはめ合せを示す図である。
【図9】本発明を実行するために適合されたハードウェア環境およびソフトウェア環境を示す概略図である。
【発明を実施するための形態】
【0020】
図1を参照すると、例示されるグラフィカルユーザインタフェース(またはGUI)100は、標準のメニューバー110、120、ならびに底部ツールバー140および側部ツールバー150を有する通常のCAD様のインタフェースであることが可能である。そのようなメニューおよびツールバーは、当技術分野で知られているとおり、1つまたは複数の操作もしくは機能にそれぞれが関連する、ユーザが選択できるアイコンのセットを含む。
【0021】
これらのアイコンのいくつかは、GUI100において表示されるようなモデル化された製品200、または製品200の部品を編集するため、および/またはそのような製品200、または製品200の部品に対して作業するために適合されたソフトウェアツールに関連する。以下の説明において、「製品」、「部品」、「アセンブリ」などは、簡明のため「部品」と呼ばれることが可能である。「部品」の概念は、実際、「オブジェクト」の概念に一般化されることが可能であり、オブジェクトは、設計される製品の「物理的」部品に過ぎないことも、またはより一般的に、設計プロセスに参加する(ただし、最終製品には必ずしも「入って」いない)任意のソフトウェアツールであることも可能であることに留意されたい。
【0022】
ソフトウェアツールは、ワークベンチにグループ化されることが可能である。各ワークベンチは、ソフトウェアツールのサブセットを備える。特に、ワークベンチの1つは、モデル化された製品200の幾何学的特徴を編集することに適した編集ワークベンチである。操作の際、設計者は、例えば、オブジェクト200の或る部品を事前選択し、次に、適切なアイコンを選択することによって操作(例えば、寸法、色などを変更する)を開始する、または幾何学的制約を編集することが可能である。例えば、通常のCAD操作が、スクリーン上で表示された3Dモデル化されたオブジェクトの穿孔または折り曲げのモデル化である。
【0023】
さらに、この1つまたは複数の操作または機能は、GUI100において表示された、モデル化された製品200、または製品200の部品の直ぐ近くで選択されることが可能である。この目的で、操作または機能に関連するユーザが選択できるアイコン170、例えば、マウスなどの触覚デバイスのカーソルが、セレクタ160近くに現れることが可能である。ユーザは、フィラクテリ(phylactery)170の上でカーソル160を動かすことが可能であり、これに応答して、フィラクテリ170は、アイコン180のセットを表示する。通常、ユーザが選択できるアイコン170、180は、フィラクテリの形態を有することが可能である。次に、ユーザは、アイコンのセット180のアイコンの1つを、選択されたアイコンに関連する機能を実行するために選択する。さらに、アイコンのセット180は、意味体系によって振舞う、つまり、アイコンのセット180は、ユーザが考えていると思われる操作に応じてCADシステムによって示唆される。
【0024】
GUIは、例えば、表示された製品200と関係するデータ250を表示することが可能である。図1の例において、「特徴ツリー」として表示されたデータ250、およびデータ250の3D表現200が、ブレーキキャリパおよびブレーキディスクを含むブレーキアセンブリに関係する。GUIは、例えば、オブジェクトの3D向き付けを円滑にするため、編集される製品の操作のシミュレーションをトリガするため、または表示される製品200の様々な属性をレンダリングするための、様々なタイプのグラフィックツール130、160をさらに示すことが可能である。
【0025】
図2は、本発明の実施形態を示す流れ図であり、インタフェース情報を有するオブジェクトを選択する段階(ステップ20、30、および31)、選択されたオブジェクトの間の相対的位置のセットを計算する段階(ステップ40〜62)、相対的位置をランキングする段階(ステップ80)、および最良の位置をもたらす段階(ステップ90)にそれぞれ関係する4つのブロックが見られることになる。この流れ図の様々なボックスは、以下のいくつかの形状、すなわち、ユーザ(例えば、設計者)入力を指摘する台形形状2000、ステージを表す長方形形状2001、ループを示す六角形形状2002、および条件の試験である平行四辺形2003を有する。
【0026】
本発明の図示される実施形態は、オブジェクトのアセンブリの第1のオブジェクトおよび第2のオブジェクトの選択から始まる。第1のオブジェクトと第2のオブジェクトは、インタフェース情報を有する。このことは、図2でステップ20、30、および31によって示される。
【0027】
ステップ20で、アセンブリの第1のオブジェクトおよび第2のオブジェクトが選択され、つまり、第1のオブジェクトおよび第2のオブジェクトが、オブジェクトのアセンブリのオブジェクトのなかから識別されて、選択される。この選択は、CADのシステムによって実行されることが可能である。また、この選択は、図1に示されるとおり、通常、CADシステムのグラフィカルユーザインタフェース100において、ユーザアクションが行われると、実行されることも可能である。この選択がユーザによって実行される場合、ユーザは、キーボード、マウス、スタイラス、タッチスクリーンなどの触覚デバイスを使用することが可能である。例えば、2ボタンのマウスにおいて、マウスのカーソルがGUIの専用区域上にある際に、左ボタンがオブジェクトを選択するために使用されることが可能である。
【0028】
選択された第1のオブジェクトおよび第2のオブジェクトは、GUI100において表示されることが可能である。さらに、選択された第1のオブジェクトおよび第2のオブジェクトは、モデル化されたオブジェクト、または3D(3次元)モデル化されたオブジェクトであることが可能である。3D(3次元)モデル化されたオブジェクトは、3D(3次元)空間におけるオブジェクトの描写である。3D空間は、座標によって3次元空間におけるすべての点を表す幾何属性によって数学的に表されることが可能な物理的世界(physical universe)の幾何学的モデルである。ちなみに、3次元空間を表す他の方法も存在する。3Dモデル化されたオブジェクトは、基本的に、幾何属性が生成される仕様を指す。このため、3Dモデル化されたオブジェクトは、3Dオブジェクト、つまり、三角形、線、曲面などの様々な幾何学的エンティティによって結び付けられた、3D空間における点の集まりである3Dオブジェクトを表す数学的記述である。3Dモデル化されたオブジェクトは、3Dモデル化されたオブジェクトの3D表現によって表される。
【0029】
さらに、オブジェクトのアセンブリの第1のオブジェクトと第2のオブジェクトは、異なる製品であることが可能である。製品は、オブジェクトのアセンブリから形成される。このため、選択は、アセンブリのオブジェクトに対して行われることも、アセンブリの製品に対して行われることも可能である。第1のオブジェクトは、「配置されるべき」オブジェクト(または製品)と呼ばれることが可能であり、第2のオブジェクトは、「ターゲット」オブジェクト(または製品)と呼ばれることが可能である。
【0030】
第1のオブジェクトおよび第2のオブジェクトは、公開要素を有する。通常、公開要素は、オブジェクトと一緒に格納される(または「埋め込まれる」)ことが可能である。公開要素は、オブジェクトの下に集約された、このオブジェクト内の幾何学的要素、または別の公開要素に対するリンクであり、公開要素は、第1のオブジェクトを、オブジェクトのアセンブリの他のオブジェクト(例えば、第2のオブジェクト)と結び付けることについてのはめ合せ情報を公表し、公開する。したがって、公開要素は、オブジェクトのアセンブリの他の少なくとも1つのオブジェクトに対するオブジェクトの位置付けの知識のセットを定義することが可能である。オブジェクトと一緒に公開要素を集約すること(または「埋め込むこと」)は、第1のオブジェクトと第2のオブジェクトがともに、はめ合せを実行するのに要求される情報を有するため、オブジェクトを配置する際に自動化を大幅に高める。
【0031】
公開要素は、幾何学的要素に対するリンクである。有利なことに、幾何学的要素は、点、線、平面、および軸系に限定されることが可能である。通常、この限定は、アセンブリの技術的状況に従って行われ、例えば、機械的状況において、幾何学的要素は、好ましくは、点、線、平面、および軸系に限定される。別の技術的状況(例えば、ギアを備える機械的システム)において、曲線が保持される。この制約から、オブジェクトに与えられる情報の量が制限される一方で、オブジェクトをはめ合せるための十分な数の情報が保たれることになる。さらに、他の少なくとも1つのオブジェクトに対するオブジェクトの位置付けソリューションの数が制限され、最も妥当な位置が保持される。したがって、試行の回数が減る一方で、より良い結果がもたらされる。
【0032】
次に図3を参照すると、図1に関連して説明されるとおり、プレート300およびねじ400がGUI100上に表示されている。GUIは、表示された製品300および400と関係するデータ250を表示する。図3の例において、データ250は、「特徴ツリー」として表示され、プレート300およびねじ400の公開要素を示す。ねじ400は、以下の2つの公開要素、すなわち、軸401の公開要素、および面402の公開要素を備える。プレート300は、以下の5つの公開要素、すなわち、穴301ないし304の各軸につき1つの公開要素、および面305に関する1つの公開要素を備える。2つの製品300および400の部品のこれら7つの公開要素が公表され、設計者は、このため、これらの公開要素が含む情報へのアクセスを有することが可能である。
【0033】
図2に戻ると、ステップ30で、開示される技術のプロセスが、第1のオブジェクトの公開要素、および第2のオブジェクトの公開要素がインタフェース情報であるかどうかを判定する。すべての公開要素がインタフェース情報である場合、プロセスの次のステップは、ステップ40である。逆に、公開要素のいくつかがインタフェース情報ではない場合、プロセスの次のステップは、ステップ31である。
【0034】
インタフェース情報は、別の適合するインタフェース情報を有する完全に指定された制約を構築するようにデータによって拡張された公開要素である。このため、インタフェース情報は、第1のオブジェクトを、アセンブリの他の少なくとも1つのオブジェクトに結び付けることについてのはめ合せ情報をもたらし、はめ合せ情報は、アセンブリの他の少なくとも1つのオブジェクトに対して第1のオブジェクトを位置付けるための要求される知識を備える。したがって、インタフェース情報のお陰で、新たなオブジェクトが、補足的な情報を要求することなしに、追加されて、別のオブジェクトに対して配置されることが可能である。インタフェース情報を使用することは、設計者が、オブジェクトの配置に先立って、オブジェクトのはめ合せ情報を追加することができるので、設計者に有利である。さらに、設計者は、オブジェクトに対する設計者の権利に依存して、オブジェクトのはめ合せ情報にアクセスすることも、アクセスできないようにすることも可能である。このことは、設計の誤りを減らすことにつながる可能性がある。その結果、別のオブジェクトに対してオブジェクトを位置付けるプロセスが、改良され、より迅速となる。
【0035】
ステップ31で、本発明によるプロセスは、第1のオブジェクトおよび第2のオブジェクトの少なくとも1つの公開要素を識別し、第1のオブジェクトおよび第2のオブジェクトの識別された各公開要素に関して、第1のオブジェクトおよび第2のオブジェクトのインタフェース情報を計算する。この目的で、第1のオブジェクトおよび第2のオブジェクトの公開要素は、適合する公開要素を有する完全に指定された制約を構築するために、第1のオブジェクトの予想される幾何学的タイプ、向き、および距離などの、利用可能なすべての情報を含むように拡張される。このため、インタフェース情報は、オブジェクトのアセンブリの組み立てられる製品から推定された情報に基づいて構築される。
【0036】
実際には、第1のオブジェクトおよび第2のオブジェクトのインタフェース情報は、点対点の合致、線対線の合致、および平面対平面の接触を制約として有する、オブジェクトのアセンブリの幾何学的要素、例えば、合致(coincidence)ジョイント、回転(revolute)ジョイント、直動(prismatic)ジョイント等の製品間の最も共通する運動学のジョイントとの合致を表すように計算される。有利なことに、インタフェース情報は、オブジェクトの幾何学的要素に結び付けられ、例えば、幾何学的要素は、点、線、平面、および軸系に限定されることが可能である。同様に、公開要素に関して、この制約から、オブジェクトをはめ合せるための情報の要求される量が制限されることになる。
【0037】
さらに、第1のオブジェクトと第2のオブジェクトの公開要素が拡張されると、つまり、インタフェース情報が計算されると、フック点(hooking point)が構築されることが可能である。フック点は、共通の識別子を有するインタフェース情報または公開要素のセットである。プロセスのこの段階で、フック点は、ステップ31で計算されたインタフェース情報を識別することを可能にする。
【0038】
しかし、インタフェース情報は、公開要素から常に計算可能なわけではなく、例えば、この計算を実行するために十分な情報が利用可能でない。この目的で、インタフェース情報と公開要素は互換的であり、このことは、ステップ40〜90が、公開要素だけを使用して、インタフェース情報だけを使用して、または公開要素とインタフェース情報の混合を使用して実行されることが可能であることを含む。
【0039】
ステップ30および31が実行されると、ステップ40〜62が、アセンブリの第1のオブジェクトと第2のオブジェクトの間の相対的位置のセットを計算するために実行される。このステージで、第1のオブジェクトおよび第2のオブジェクトは、インタフェース情報を有し、相対的位置のセットの計算は、これらのインタフェース情報のお陰で実行されることが可能である。しかし、前述したとおり、このセットの計算は、公開要素だけを使用して、または公開要素とインタフェース情報の混合を使用して実行されることも可能である。
【0040】
また、第1のオブジェクトと第2のオブジェクトの間の相対的位置のセットの計算は、示唆される制約である補足的な制約を考慮に入れることも可能である。実際、前述したステップ40〜62を実行するのに先立って、ユーザ操作(actuation)が行われると、第1のオブジェクトおよび第2のオブジェクトに対する制約が入力されることが可能である。有利なことに、相対的位置のセットの計算中に、示唆される制約を考慮に入れることは、アセンブリプロセスの速度を高めることを可能にする。実際、位置の計算されるセットは、はめ合せるオブジェクトを選択することと、示唆される制約を与えることが同時に実行されるという条件付きで、オブジェクトをはめ合せる操作の補足的な時間を要求することなしに、ユーザの設計意図を備える。したがって、オブジェクトを組み立てる間の操作の数が減らされる。
【0041】
通常、ユーザは、例えば、図3に示されるのと同一のねじ400およびプレート300を示す図4に示されるとおり、第1のオブジェクトおよび第2のオブジェクトをクリックすることによって、第1のオブジェクトおよび第2のオブジェクトを選択する際に、示唆される制約を入力することができる。ねじ400の下面402が、点403を触覚デバイスのカーソルでクリックすることでユーザによって選択され、プレート300の上面が、点310を触覚デバイスのカーソルでクリックすることでユーザによって選択される。また、ユーザが、ドラッグアンドドロップ操作を介して制約を示唆することも可能である。例えば、ユーザは、点403をクリックすることによってねじ400の下面402を選択し、プレート300の上面の上にねじ400の下面402をドラッグし、ねじ400の点403がプレート300の点310の近くにきたときにねじ400をドロップすることができる。また、示唆される制約が、例えば、図3に関連する「ツリー」250を介して入力されることも可能である。限定としてではなく、当技術分野で知られているとおり、他の任意の手段が制約を示唆するために使用されることが可能である。
【0042】
ステップ40のサブステップ41〜62は、2回(two passes)で達せられる。アセンブリの第1のオブジェクトと第2のオブジェクトの間の相対的位置のセットの計算はまず、ユーザによって入力された制約を考慮に入れて実行され、次に、ユーザによって入力された制約を考慮に入れずに実行される。有利なことに、2回で計算することは、ユーザによって示唆された制約を含む位置を備える相対的位置のセットだけでなく、特性要素だけしか使用しない位置を計算することも可能にする。その場合、インタフェース情報から構築された1つまたは複数の制約を有する相対的位置が、インタフェース情報から構築された制約で完成させることができない、示唆される制約より選好される。詳細には、示唆される制約を考慮に入れる任意の位置が計算されることが可能であるにしても、本発明によるプロセスは、少なくとも、インタフェース情報から計算された相対的位置のセットを提供することができる。
【0043】
相対的位置のセットを計算すること(ステップ41〜62)は、2つのサブステップを備えることが可能である。第1のサブステップは、ステップ50〜52によって規定され、第1のオブジェクトのインタフェース情報と第2のオブジェクトのインタフェース情報の少なくとも1つのマッチングを計算することにある。第2のサブステップは、ステップ60〜62を備え、ステップ50〜52で実行される少なくとも1つのマッチングの各計算の後、第1のオブジェクトと第2のオブジェクトの間の幾何学的制約を解決することにある。このため、相対的位置は、インタフェース情報によって与えられる幾何学的制約のすべての組合せを試みることによって見出される(つまり、計算される)。幾何学的制約の組合せは、その組合せが解決されることが可能であり、組合せの別の制約に対して冗長な制約が全く存在しない場合、相対的位置である。
【0044】
好ましくは、オブジェクトのインタフェース情報間のマッチングを計算すること、および幾何学的制約を解決することは、計算するステップおよび解決するステップの間に構築され、走査される専用のグラフ構造を使用して実行される。
【0045】
当技術分野で知られるグラフ構造は、弧によって接続されたノードから成る。グラフの各ノードは、第1のオブジェクトの1つのインタフェース情報と、第2のオブジェクトの1つのインタフェース情報との組合せを表し、各弧は、或るノードから別のノードに移る可能性を表す。
【0046】
前段で見たとおり、インタフェース情報または公開要素のフック点が、ステップ31で計算されることが可能である。フック点は、計算されたインタフェース情報を識別すること、およびインタフェース情報のグループを作成することを可能にする。有利なことに、同一のフック点に属するインタフェース情報間の任意のマッチングが計算される。したがって、計算の数が減らされる。図3を再び参照して、インタフェース情報が、ねじ400およびプレート300の公開要素から始めて計算されるシナリオを考慮する。このシナリオにおいて、ねじ400のフック点が、ねじ400の2つの公開要素から構築され、プレート300のフック点が、プレート300の5つの公開要素から構築される。相対的位置を計算する際、ねじ400の公開要素とプレート300の公開要素の間のマッチングだけが、計算される。
【0047】
このグラフは、幅優先で(breadth first)走査される、いくつかのレベルを備え(ステップ43〜44)、すなわち、或るレベルの兄弟ノードが、子孫ノードに先立って走査される。このため、グラフは、レベルごとに走査され、親レベルのすべてのノードが計算されて、解決された後、または少なくとも試験された後、親レベルを離れて、子レベルに向かう。グラフの各ノードは、グラフの所与のレベルにおいて、親ノード上をポイントすることが可能であり、すなわち、子ノードは、親ノードに接続される。しかし、子ノードは、その子ノードによって表される組合せが、上位レベルにおける別のノードによって既に表されている場合に限って、親ノード上をポイントすることが可能である。つまり、グラフ構造を構築する間、或る組合せを表すノードは、その組合せが以前に全く出現していない場合、子ではあり得ない。
【0048】
実際には、構築されるグラフの最初のレベルは、ルートノードである(ステップ42)。ルートノードは、グラフの最高レベルである。次にグラフのいくつかのレベルが構築され走査される(ステップ43〜44)。グラフは、第1のオブジェクトのインタフェース情報と第2のオブジェクトのインタフェース情報のすべての組合せを備える少なくとも第2のレベルから成る。所与のレベルの各ノードに関して、第1のオブジェクトのインタフェース情報と第2のオブジェクトのインタフェース情報の1つのマッチングが、計算される(ステップ50)。マッチングが全く計算されない場合、そのノードは、ツリーから切り離される。有利なことに、このことは、検索グラフによってインタフェース情報のマッチングの計算の数を制限することが可能になることを暗示し、実際、子ノードは、その子ノードによって表される組合せが、上位レベルにおける別のノードによって既に表されている場合に限って、親ノード上をポイントする。その結果、検索グラフを走査するのに要求される時間は、マッチングを全く有さない組合せが、下位レベルでグラフにおいて再使用され得ないので、増加する。このため、グラフを構築するため、および走査するための全体的なプロセスが、向上させられる。
【0049】
逆に、或るノードにおけるマッチングが計算された場合、そのノードの幾何学的制約が解決される(ステップ53)。幾何学的制約を解決することは、当技術分野で知られているとおり、ソルバ(solver)によって実行されることが可能である。マッチングを有さないノードを除去することは、解決するステップにおいて有利であることに注目することができる。実際、幾何学的制約を解決することは、システムの大量の計算リソース、例えば、CPU、メモリなどを要求する。結果として、開示される本技術は、計算リソースを節約することを可能にし、相対的位置を計算するのに要求される時間が低減される。
【0050】
解決可能な幾何学的制約を有さないグラフの各ノードは、グラフから除去される(ステップ61)一方で、解決された幾何学的制約を有するノードは、保持される。このため、グラフは、ステップごとに構築され、走査される。グラフが走査されると、グラフのノードは、相対的位置のセットに追加される相対的位置をもたらす(ステップ62)。ノードの相対的位置は、ノードの組合せから構築された制約のセット、およびノードの親の組合せから構築された制約のセットによって与えられる。
【0051】
ところで、これらの相対的位置を計算するために要求される計算の数は、識別子、例えば、フック点の使用のお陰で改良されることが可能である。この目的で、オブジェクトのインタフェース情報間の識別子が計算され、この識別子は、インタフェースを所有するそれぞれのオブジェクトに関連する。次に、この識別子は、その第1のオブジェクトとその第2のオブジェクトの少なくともいずれかがかかわる別のマッチングの計算中に、マッチングを識別するために使用される。この識別子のお陰で、組合せの以前のマッチングを識別することが可能であり、このことは、以前に計算されたマッチングをソリューションとして優遇する可能性をもたらす。
【0052】
ステップ70〜71で、ステップ40〜62で計算されたソリューションが、相対的位置のセットの相対的位置のそれぞれの制約と関係するデータを計算するために扱われる。さらに、ステップ71で、セットの相対的位置をランキングするように少なくとも1つの基準が、計算される。有利なことに、これらの基準は、1回だけ計算され、その後、セットの相対的位置をランキングするために使用されて、リソースの消費が制限される。
【0053】
ステップ80で、第1のオブジェクトと第2のオブジェクトの間の相対的位置のセットが、少なくとも1つの基準に従ってランキングされる。ランキングするステップは、予想される相対的位置がいずれであるかを特定するのが容易な、相対的位置のリストをもたらす。重要なことに、このランキングは、前に計算された相対的位置をランキングするための判定または決定が基づくことが可能な基準、つまり、標準に従って実行される。
【0054】
実際には、これらの位置の間で決定するのに1つの基準では十分でなく、一般に、少なくとも2つの基準が、これらの相対的位置の間でランキングを行うために使用されることが可能である。さらに、各基準がランキングされ、相対的位置は、これらのランキングされた基準に依拠して辞書式順序でランキングされる。辞書式順序は、順序付けされた2つのセットの自然な順序構造をもたらす。例えば、位置の第1のセットの複数の位置が、第1の基準に従って同一のランキングを有する場合、それらの位置は、第2の基準に従ってランキングされる。その結果、位置の第2のセットがもたらされ、第1の基準および第2の基準に従ってランキングされる。第2のセットが、それでも同一のランキングを有する複数の位置を備える場合、第3の基準が、位置の新たなセットをランキングするために使用されることが可能であるといった具合である。
【0055】
通常、アセンブリの第1のオブジェクトと第2のオブジェクトは、3次元のモデル化されたオブジェクトであり、基準(好ましいランキングにおける)は、以下のいずれかであることが可能である。すなわち、
i)アセンブリの第1のオブジェクトと第2のオブジェクトの間のいくつかの制約。この基準は、最も多くの数の制約を解決する相対的位置、すなわち、グラフ構造のルートから最も遠く離れている複数の相対的位置を選択する。有利なことに、このことによって、より低い自由度を有する位置を昇格させる(promote)ことが可能になる。
【0056】
ii)アセンブリの、位置付けられる第1のオブジェクトと、第2のオブジェクトとの間でユーザによって示唆されるいくつかの制約。2つの位置の間に同一の数の制約がある場合、示唆された制約を最も多く備える位置が、選好される。
【0057】
iii)2次元空間におけるアセンブリの、位置付けられる第1のオブジェクトの投影と、第2のオブジェクトの投影との間の距離。第1のオブジェクトおよび第2のオブジェクトは、3次元オブジェクトである。第1のオブジェクトおよび第2のオブジェクトは、平面上に投影されることが可能であり、例えば、その平面は、コンピュータスクリーンによって規定される。距離は、例えば、ユーザが、前段で見たとおり、第1のオブジェクトおよび第2のオブジェクトを選択する際に、制約を示唆している間に、ユーザによって以前に入力された2つのピック点(picking point)の間で測定されることが可能である。このため、第1のオブジェクトの各相対的位置は、ピック点を有し、第2のオブジェクトも同様である。したがって、配置された第1のオブジェクトと第2のオブジェクトのピック点の間の距離が、測定されることが可能である。これらの測定された位置に従って、それらの相対的位置は、ランキングされることが可能である。実際には、位置付けられる第1のオブジェクトと第2のオブジェクトとの間でより小さい距離をもたらす相対的位置が優遇され、測定された距離が短いほど、相対的位置は良好である。実際、小さい方の距離を優先することは、設計者が、設計者が優遇することを所望する相対的位置をシステムに示す可能性を有することが可能であるため、全般的な設計プロセスを向上させることを可能にし、このことは、例えば、第1のオブジェクトおよび第2のオブジェクトを選択しながら、これらのオブジェクトをクリックすることによって、容易な仕方で実行されることが可能である。さらに、設計者は、予想されるソリューションを得るのに第2のオブジェクト全体を正確にブラウズする必要はなく、第2のオブジェクトを単純にクリックするだけで十分である。したがって、設計の誤りのほとんど、例えば、誤った第2のオブジェクトを選択することが、防止されることが可能である。このため、オブジェクトの繰り返されるアセンブリが、設計者の生産性が大幅に高められるように、より容易で、より迅速な仕方で行われることが理解される。
【0058】
iv)3次元空間における、相対的に位置付けられる3次元オブジェクトである第1のオブジェクトと第2のオブジェクトの間の距離。同様に、位置付けられる第1のオブジェクトと第2のオブジェクトのピック点の間の距離が測定され、測定された距離が小さい方が、優遇されることが可能である。ポイントiii)におけるのと同一の利点がもたらされることが理解される。
【0059】
v)3次元オブジェクトである、位置付けられる第1のオブジェクトと、第2のオブジェクトとの間の回転角。回転角は、計算された相対的位置に合うように、選択された第1のオブジェクトによって行われる回転を測定する。測定された回転角に応じて、それらの相対的位置は、ランキングされることが可能である。実際には、より小さい回転角が優遇され、実際、設計者が、オブジェクトのアセンブリを設計している間に見るものにより近いソリューションを優遇することが有利である。例えば、図3のねじ400は、ねじ400の頭部をプレート300の上面、または下面に有して、穴301〜303を通ることが可能である。しかし、ねじ400は、選択された際にねじ400の頭部が上に向けられているので、ねじの頭部が上に向けられた位置が、ねじの頭が下に向けられた位置と比べて、第1の事例に関する回転角の方が第2の事例の場合より小さいので、優遇される。
【0060】
vi)アセンブリの、位置付けされる第1のオブジェクト、および第2のオブジェクトは、グラフィカルユーザインタフェース上で可視である。可視である相対的位置は、可視でない位置と比べて優遇される。実際、位置付けされる第1のオブジェクト(配置されるべきオブジェクト)は、グラフィカルユーザインタフェース上で可視であり、このオブジェクトのピック点は、ソリューションの相対的位置において可視である。有利なことに、設計者は、設計者が関心のない相対的位置の氾濫に見舞われることがなく、実際、設計者は、アセンブリの少数のオブジェクトに的を絞り、したがって、その他のオブジェクトに興味を引かれない。ところで、設計者は、アセンブリ上でズームアウトすることができ、このため、ランキングするステップ中に新たな相対的位置が考慮に入れられることが可能である。
【0061】
vii)位置付けされる第1のオブジェクトと、第2のオブジェクトとの間の設計の誤りが、検出される。通常、設計の誤りは、干渉仕様(interferences specifications)が順守されない場合に生じる可能性がある。一般に、干渉仕様は、衝突仕様、接触仕様、および間隙(clearance)仕様を包含する。これに関して、2つのオブジェクトの間の衝突(物体相互侵入(matter interpenetration))を回避することが重要である。実際には、衝突が検出されると、その位置は、相対的位置のセットから除去される。
【0062】
基準は、前述した基準に限定されず、他の任意の基準が、相対的位置をランキングするために使用されることが可能である。さらに、基準のランキングは、ユーザによって変更されることが可能である。このようにして、相対的位置のランキングは、ユーザのニーズおよび要件を満たす。
【0063】
ステップ90で、ランキングするステップによる、第1のオブジェクトと第2のオブジェクトの間の相対的位置のうち最良の位置が、もたらされる。相対的位置のうち最良の位置は、その他の位置のなかで基準の最も多くを満たす位置であり、したがって、辞書式順序でランキングされた位置のなかで最初の位置である。このため、オブジェクトのアセンブリを設計している間の設計者の生活体験(life experience)が向上させられる。開示される技術のお陰で、設計者の視界は、もはや、多数の位置の氾濫に見舞われない。したがって、設計者の生産性が向上する。
【0064】
ところで、最良の相対的位置が設計者を満足させない場合、設計者は、別の位置を表示する可能性を有する。通常、ユーザは、計算された複数の位置を、それらの位置のランキング順序に従って1つずつ与えられることが可能である。例えば、ユーザは、触覚デバイスを操作することが可能であり、操作時に、例えば、マウスホイールを動かすと、計算された複数の位置が、相対的位置のランキングに基づいて降順で表示され、すなわち、複数の位置が、最良の位置から最悪の位置まで表示される。
【0065】
図3から図5は、本発明による方法の実施形態のグラフィック表現である。図3は、GUI上に表示されたプレート300およびねじ400を示す。ねじ400は、「配置されるべき」オブジェクトであり、プレート300は、「ターゲット」オブジェクトである。「特徴ツリー」は、GUIにおいて、オブジェクトの公開要素などの、両方のオブジェクトの特性を示す。ねじ400は、以下の2つの公開要素、すなわち、軸401の公開要素、および面402の公開要素を備える。プレート300は、以下の5つの公開要素、すなわち、穴301ないし304のそれぞれの軸につき1つの公開要素、および面305に関する1つの公開要素を備える。
【0066】
次に、図4で、ユーザは、例えば、マウスのカーソルを使用して、「配置されるべき」オブジェクト400の下面402の点403をクリックすることによって、オブジェクト400を選択する。次に、ユーザは、「ターゲット」オブジェクト300の上面305の点310をクリックすることによって、オブジェクト300を選択する。ねじ400およびプレート300の公開要素は、インタフェース情報ではないので、ねじのフック点は、ねじの2つの公開要素から構築され、プレートのフック点は、プレートの5つの公開要素から構築される。さらに、ユーザは、ねじおよびプレートを選択している間に制約、すなわち、プレートの上面と、ねじの下面との間のユーザ制約を示唆する。
【0067】
次に、プロセスは、ねじとプレートの間の相対的位置のセットを計算する。この目的で、グラフが、第1回(first pass)に、示唆される制約を考慮に入れることによって、第2回に、示唆される制約を考慮に入れずに構築され、走査される。ねじと各穴の軸対軸の合致に基づいて、相対的位置のセットが計算され、4つの位置を備える。説明のため、位置420〜423は、図4に多重像ビュー(ghost view)で表される。動作の際、これらの位置は表現されない。
【0068】
次に、計算されたセットの相対的位置が、基準に従ってランキングされる。第1の基準は、ねじとプレートの間で制約の数を分析し、この数は、同一である。したがって、第2の基準は、計算された位置を分けるために要求され、ねじとプレートの間でユーザによって示唆される制約の数は、各位置に関して同一である。次に、第3の基準が使用され、ねじ400のピック点403が、各相対的位置420〜423に配置され、次に、点430〜433と、プレート300のピック点310との間の、2次元空間における距離が、測定される。距離が短いほど、位置は良好である。図4によれば、これらの相対的位置は、以下のとおり(最良から最悪まで)ランキングされる。すなわち、最良の相対的位置(1と評定される)が相対的位置423であり、次が、相対的位置422(2と評定される)、420(3と評定される)、および421(4と評定される)である。
【0069】
次に、最良の相対的位置423がもたらされる。通常、最良の相対的位置は、GUI上に表示される。したがって、設計者は、もたらされた最良の位置が、設計者の期待および設計意図を満たすか否かを迅速に評価することができる。
【0070】
図5は、設計者が、ねじ頭部400のかど500a、およびプレート300のかど500bを選択していること以外は、図4と同様である。このため、ユーザによって示唆される制約は、この2つのかどの間の接触である。相対的位置のセットを計算する際、ユーザによって示唆される制約は、公開要素で構築された制約で完成させられる。しかし、この場合、制約の、この組合せから、組合せは過度の制約であることになる。このため、示唆される制約を考慮に入れるグラフの第1回の走査は、失敗し、相対的位置のセットは、グラフの第2回の走査だけから、つまり、示唆される制約を考慮に入れずに、計算される。その結果、それらの相対的位置は、ねじおよびプレートの公開要素に基づいて計算される。次に、セットの相対的位置が、図4の場合と同様に、ランキングされ、最良のソリューション501がもたらされ、GUI上で表示される。
【0071】
ところで、相対的位置のうち最良の位置は、セットのその他のランキングされた相対的位置と一緒にもたらされてもよく、さらに相対的位置のうち最良の位置は、セットのその他のランキングされた相対的位置と一緒に表示されてもよい。有利なことに、設計者は、計算されたすべての相対的位置を見ることができ、このため、設計者は、いずれが最も妥当な位置であるかを判定することができる。さらに、ユーザは、例えば、例えば、GUIが、GUIに表されている数の相対的位置で過密になる場合、同時に表示される相対的位置の数を制限してもよい。
【0072】
さらに、セットの相対的位置の各位置は、それぞれのレンダリングで表示されることが可能であり、それぞれのレンダリングは、ランキングするステップの結果に応じて決定される。CADの分野において、「レンダリングする」ステップの結果は、オブジェクトに、このオブジェクトのいくつかの特性を示す視覚的属性(色、透明性レベル、テクスチャ、照明パラメータなど)を適用している代替の視覚化を表す。この特性は、物理的特性であること(例えば、その場合、エンジンが、金属的な様相でレンダリングされる)、または抵抗特性であること(エンジンは、エンジンの熱応力を示す色スキームでレンダリングされる)、あるいは、場合により、他の特性であることが可能である。したがって、表示される各相対的位置は、その相対的位置のランキングに依拠して、代替の視覚化であることが可能な一意のレンダリングを有することが可能である。有利なことに、ユーザは、表示された相対的位置のなかで、各相対的位置のそれぞれのランキングを迅速に、容易に評価することができる。
【0073】
実際には、相対的位置の各位置のそれぞれのレンダリングは、それぞれの透明性レベルであることが可能である。通常、各位置のそれぞれのレンダリングは、表示される位置の透明性が低いほど、その位置が良好であるようになっている。デフォルトで、最良のソリューションは、わずかに透明である一方で、最悪のソリューションは、ほとんど透明であり、中間のソリューションは、最良のソリューションと比べてはるかに透明である。実際には、最良の位置の透明性は、基準値に設定され、2番目のソリューションから最後のソリューションまでの透明性は、天井値(基準値の半分)から床値(ほとんど透明)まで直線的に、規則的に低下する。さらに、それぞれのレンダリングは、カラーコードに従って実行されることも可能である。
【0074】
ところで、設計者は、これらの位置の間でナビゲートすることができる。同時に表示される複数の位置の1つが、その位置の上にカーソルを置くことによって強調されることが可能である。通常、このことは、触覚デバイス上でユーザアクションが行われると、例えば、マウスのカーソルがその位置の上に置かれると、実行される。位置を強調することは、例えば、その位置のハイライトのお陰で行われることが可能である。ハイライトは、その位置の表現に放射光の(emissive)明るい色を適用することにある。また、強調することは、位置を明滅させること、強調される位置の輪郭を太くすること、または強調される位置の輪郭を形成する点の密度を高くすることなどの視覚効果を介して実行されることも可能である。ところで、設計者が或る位置をその他の位置から区別することを可能にする任意の手段が、使用されることが可能である。
【0075】
次に図6〜図8を参照すると、クランク900を軸901とはめ合せることが示されている。図6で、本発明に従って計算された相対的位置のセットのいくつかの位置がGUI上に表されている。これらの表現のなかで、位置920および930は、より透明性が高いが、最良の位置910は、透明性がより低い。図6は、透明性と、計算された複数の位置の妥当性との間の直線性を示す。したがって、ユーザは、透明性がより低いに従って、いずれが最良の位置であるかを容易に検出することができる。一方、最良の位置が、設計者に妥当であるとみなされない場合、それでも、設計者は、その他の位置を見ることができる。
【0076】
図7で、設計者は、最良の位置910の上に触覚デバイスのカーソル902を移動している。設計者は、その結果、最良の位置に基づくソリューションを事前視覚化する(pre−visualize)ことができ、その他の位置の透明性が低減される一方で、位置910の透明性は高められる。このため、ソリューション位置910が強調され、このことは、ユーザがそのソリューションを容易に理解することを有利に可能にする。
【0077】
設計者が、別の位置930の上にカーソル902を移動すると、図8に示されるとおり、今度は、この位置が強調される。したがって、設計者は、各位置を、その他の位置とは独立にプレビューすることができる。
【0078】
以上の方法は、CAD/CAM/CAEシステム又はオブジェクトのアセンブリを設計するために使用される任意のシステムによって定義されることが可能な任意の構成における任意のオブジェクトに適用されることが可能であることを理解されたい。本発明は、デジタル電子回路で実施されること、あるいはコンピュータハードウェアで、コンピュータファームウェアで、コンピュータソフトウェアで、または以上の組合せで実施されることが可能である。本発明の装置は、プログラム可能なプロセッサによって実行されるように機械可読なストレージデバイスとして実体化されたコンピュータプログラム製品で実施されることが可能であり、本発明の方法ステップは、入力データに対して操作すること、および出力を生成することによって本発明の機能を実行する命令のプログラムを実行するプログラム可能なプロセッサによって実行されることが可能である。
【0079】
本発明は、有利には、データストレージシステムからデータおよび命令を受け取るとともに、データストレージシステムにデータおよび命令を送るように結合された少なくとも1つのプログラム可能なプロセッサと、少なくとも1つの入力デバイスと、少なくとも1つの出力デバイスとを含むプログラム可能なシステム上で実行可能である1つまたは複数のコンピュータプログラムで実施されることが可能である。このアプリケーションプログラムは、高レベルの手続きプログラミング言語もしくはオブジェクト指向プログラミング言語で、または所望される場合、アセンブリ言語もしくは機械語で実施されることが可能であり、いずれにしても、この言語は、コンパイルされる言語、または解釈される言語であることが可能である。
【0080】
図9は、オブジェクトのアセンブリを設計しているユーザのクライアントコンピュータシステム、例えば、ワークステーションを示す。このクライアントコンピュータは、内部通信BUS1200に接続されたCPU(中央処理装置)1201と、やはり、このBUSに接続されたRAM(ランダムアクセスメモリ)1207とを備える。クライアントコンピュータシステムは、BUSに接続されたビデオランダムアクセスメモリ1210に関連するGPU(グラフィカル処理装置)1211をさらに備える。ビデオRAM1210は、当技術分野でフレームバッファとしても知られている。大容量ストレージデバイスコントローラ1202が、ハードドライブ1203などの大容量メモリデバイスへのアクセスを管理する。コンピュータプログラム命令およびデータを実体化するのに適した大容量メモリデバイスには、例として、EPROMデバイス、EEPROMデバイス、およびフラッシュメモリデバイスなどの半導体メモリデバイス、内部ハードディスクおよびリムーバブルディスクなどの磁気ディスク、光磁気ディスク、ならびにCD−ROMディスク1204を含む、すべての形態の不揮発性メモリが含まれる。以上のメモリデバイスの任意のメモリデバイスが、特別に設計されたASIC(特定用途向け集積回路)によって補完される、またはそのようなASICに組み込まれることが可能である。ネットワークアダプタ1205が、ネットワーク1206へのアクセスを管理する。また、クライアントコンピュータシステムは、カーソル制御デバイス、キーボードなどの触覚デバイス1209も含むことが可能である。カーソル制御デバイスが、クライアントコンピュータにおいて、ユーザが、ディスプレイ1208上の任意の所望される場所にカーソルを選択的に位置付けることを可能にするのに使用される。さらに、カーソル制御デバイスは、ユーザが、様々なコマンドを選択すること、および制御信号を入力することを可能にする。カーソル制御デバイスは、システムに制御信号を入力するためのいくつかの信号生成デバイスを含む。通常、カーソル制御デバイスは、マウスであることが可能であり、このマウスのボタンが、信号を生成するのに使用される。
【0081】
本発明の好ましい実施形態が、説明されてきた。様々な変形が、本発明の趣旨および範囲を逸脱することなく、行われることが可能であることが理解されよう。したがって、他の実施態様も、添付の特許請求の範囲に含まれる。例えば、基準のランキングは、アセンブリの技術的状況に依存することが可能である。

【特許請求の範囲】
【請求項1】
コンピュータ支援設計のシステムにおいてオブジェクトのアセンブリ(assembly)を設計するための方法であって、
前記アセンブリの第1のオブジェクトおよび第2のオブジェクトを選択するステップ(20)であって、前記第1のオブジェクトおよび前記第2のオブジェクトのそれぞれがインタフェース情報を有する、ステップと、
前記アセンブリの前記第1のオブジェクトと前記第2のオブジェクトの間の相対的位置のセットを計算するステップ(40)と、
前記第1のオブジェクトと前記第2のオブジェクトの間の前記セットの前記相対的位置を、少なくとも1つの基準に従ってランキングするステップ(80)と、
ランキングする前記ステップに応じて、前記第1のオブジェクトと前記第2のオブジェクトの間の前記相対的位置のうち最良の位置をもたらすステップ(90)と
を備えることを特徴とする方法。
【請求項2】
相対的位置の前記セットを計算する前記ステップに先立って、ユーザ操作時に、前記第1のオブジェクトおよび前記第2のオブジェクトに対する制約を追加するステップをさらに備えることを特徴とする請求項1に記載の方法。
【請求項3】
前記相対的位置のうち最良の位置をもたらす前記ステップの後、グラフィカルユーザインタフェース上で、前記第1のオブジェクトと前記第2のオブジェクトの間の前記相対的位置のうち最良の位置を表示するステップをさらに備えることを特徴とする請求項1から2のいずれかに記載の方法。
【請求項4】
前記アセンブリの前記第1のオブジェクトおよび前記第2のオブジェクトは、3次元モデル化されたオブジェクトであり、さらに前記少なくとも1つの基準は、
前記アセンブリの前記第1のオブジェクトと前記第2のオブジェクトの間のいくつかの制約と、
前記アセンブリの前記第1のオブジェクトと前記第2のオブジェクトの間でユーザによって示唆されるいくつかの制約であって、前記第1のオブジェクトと前記第2のオブジェクトが前記相対的位置のうち最良の位置に従って相対的に位置付けされる、制約と、
前記アセンブリの前記第1のオブジェクトと前記第2のオブジェクトの、2次元空間における投影の間の距離であって、前記相対的位置のうち最良の位置に従って相対的に位置付けされる、距離と、
前記相対的位置のうち最良の位置に従って相対的に位置付けされる、前記アセンブリの前記第1のオブジェクトと前記第2のオブジェクトの間の、3次元空間における距離と、
前記相対的位置のうち最良の位置に従って相対的に位置付けされる、前記アセンブリの前記第1のオブジェクトと前記第2のオブジェクトの間の回転角と、
前記相対的位置のうち最良の位置に従って相対的に位置付けされる、前記アセンブリの前記第1のオブジェクトと前記第2のオブジェクトが、グラフィカルユーザインタフェース上で可視であることと、
前記相対的位置のうち最良の位置に従って相対的に位置付けされる、前記アセンブリの前記第1のオブジェクトと前記第2のオブジェクトの間の設計の誤りが、検出されることと
のうち1つであることを特徴とする請求項2から3のいずれかに記載の方法。
【請求項5】
前記アセンブリの前記第1のオブジェクトと前記第2のオブジェクトの間の相対的位置のセットを計算する前記ステップは、
前記第1のオブジェクトの前記インタフェース情報と前記第2のオブジェクトの前記インタフェース情報の少なくとも1つのマッチングを計算するステップと、
前記少なくとも1つのマッチングの各計算の後、前記第1のオブジェクトと前記第2のオブジェクトの間の幾何学的制約を解決するステップと
を備えることを特徴とする請求項1から4のいずれかに記載の方法。
【請求項6】
前記インタフェース情報の少なくとも1つのマッチングを計算する前記ステップ、および前記少なくとも1つのマッチングの各計算の後、幾何学的制約を解決する前記ステップは、グラフの走査に従って実行され、
前記グラフの各ノードは、前記第1のオブジェクトの1つのインタフェース情報と前記第2のオブジェクトの1つのインタフェース情報の組合せを表し、
親ノード上を指す、前記グラフの所与のレベルにおける前記グラフの各ノードは、前記所与のレベルの上位レベルの別のノードによって既に表された前記組合せを表し、
解決不能な幾何学的制約を有する前記グラフの各ノードは、前記グラフから除去され、
さらに所与のノードに関して、相対的位置の前記セットの相対的位置が、前記所与のノードの前記組合せから構築された制約のセット、および前記所与のノードの前記親の前記組合せから構築された制約のセットによってもたらされることを特徴とする請求項5に記載の方法。
【請求項7】
前記アセンブリの前記第1のオブジェクトと前記第2のオブジェクトの間の相対的位置のセットを計算する前記ステップは、
前記第1のオブジェクトの少なくとも2つのインタフェース情報の間の第1の識別子、および前記第2のオブジェクトの少なくとも2つのインタフェース情報の間の第2の識別子を計算するステップと、
前記インタフェース情報の前記第1の識別子および前記第2の識別子を、前記第1のオブジェクトの前記少なくとも2つのインタフェース情報、および前記第2のオブジェクトの前記少なくとも2つのインタフェース情報をそれぞれ所有する前記オブジェクトに関連付けるステップと、
前記第1のオブジェクトと前記第2のオブジェクトの少なくともいずれかがかかわる別のマッチングの前記計算中に、マッチングを識別するために前記第1の識別子および前記第2の識別子を使用するステップとをさらに備えることを特徴とする請求項5から6のいずれかに記載の方法。
【請求項8】
前記アセンブリの前記第1のオブジェクトと前記第2のオブジェクトの間の相対的位置のセットを計算する前記ステップはまず、前記ユーザによって追加された前記制約を考慮に入れて実行され、次に、前記ユーザによって追加された前記制約を考慮に入れずに実行されることを特徴とする請求項2から7のいずれかに記載の方法。
【請求項9】
前記セットの前記相対的位置をランキングする前記ステップは、少なくとも2つの基準に従って実行され、前記少なくとも2つの基準の各基準は、ランキングされ、前記セットの前記相対的位置は、前記ランキングされた基準に依拠して辞書式順序でランキングされることを特徴とする請求項1から8のいずれかに記載の方法。
【請求項10】
第1のオブジェクトおよび第2のオブジェクトを選択する前記ステップにおいて、
前記第1のオブジェクトの少なくとも1つの公開要素、および前記第2のオブジェクトの少なくとも1つの公開要素を識別するステップと、
前記第1のオブジェクトの前記識別された少なくとも1つの公開要素、および前記第2のオブジェクトの前記識別された少なくとも1つの公開要素のそれぞれに関して、前記第1のオブジェクトのインタフェース情報、および前記第2のオブジェクトのインタフェース情報を計算するステップをさらに備えることを特徴とする請求項1から9のいずれかに記載の方法。
【請求項11】
前記第1のオブジェクトの前記少なくとも1つの公開要素、および前記第2のオブジェクトの前記少なくとも1つの公開要素は、幾何学的要素を備えることを特徴とする請求項10に記載の方法。
【請求項12】
前記第1のオブジェクトの前記インタフェース情報、および前記第2のオブジェクトの前記インタフェース情報は、幾何学的要素との合致を表すように計算されることを特徴とする請求項10から11のいずれかに記載の方法。
【請求項13】
前記幾何学的要素は、点、線、平面、および軸系(axis system)に限定されることを特徴とする請求項11から12のいずれかに記載の方法。
【請求項14】
前記相対的位置のうち最良の位置をもたらす前記ステップは、前記セットの他のランキングされた相対的位置をもたらすステップをさらに備え、
グラフィカルユーザインタフェース上で、前記相対的位置のうち最良の位置を表示する前記ステップは、グラフィカルユーザインタフェース上で、前記セットの他のランキングされた相対的位置を表示するステップをさらに備えることを特徴とする請求項2から13のいずれかに記載の方法。
【請求項15】
前記セットの前記相対的位置の各位置は、それぞれのレンダリングで表示され、前記それぞれのレンダリングが、ランキングするステップの結果に従って決定されることを特徴とする請求項2から14のいずれかに記載の方法。
【請求項16】
前記相対的位置の各位置の前記それぞれのレンダリングは、それぞれの透明性レベルであることを特徴とする請求項15に記載の方法。
【請求項17】
コンピュータ支援設計のシステムにおいてオブジェクトのアセンブリを設計するための、コンピュータ可読媒体上に格納されたコンピュータプログラムであって、前記コンピュータプログラムが、請求項1から16のいずれかに記載のステップをコンピュータ支援設計の前記システムに行わせるためのコード手段を備えることを特徴とするコンピュータプログラム。
【請求項18】
コンピュータ支援設計のシステムにおいてオブジェクトのアセンブリを設計するための装置であって、前記装置が、請求項1から16のいずれかに記載の方法のステップを実施するための手段を備えることを特徴とする装置。

【図1】
image rotate

【図2】
image rotate

【図9】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2011−100456(P2011−100456A)
【公開日】平成23年5月19日(2011.5.19)
【国際特許分類】
【外国語出願】
【出願番号】特願2010−248819(P2010−248819)
【出願日】平成22年11月5日(2010.11.5)
【出願人】(500102435)ダッソー システムズ (52)
【氏名又は名称原語表記】DASSAULT SYSTEMES
【Fターム(参考)】