(57)【要約】      （修正有）【課題】製品の部品を組み立てるコンピュータ実行方法を提供する。【解決手段】少なくとも１つの製品から、組み立てられる製品の部品を表すノードとノードによって表された一組の部品間の関係を表すエッジであってノード間にあるエッジとを含む非階層グラフを構築すること、完成される製品の部品を供給すること、ユーザの操作によって、供給された部品において選択を行うこと、グラフにおいて、選択された部品を表すノードと、選択された部品を表すノードと最も近い関係を有する１以上のノードとを特定すること、を含む。【選択図】図１
2019153280.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
少なくとも１つの製品から、各々組み立てられる前記製品の一の部品を表す複数のノードと、ノード間にあって各々複数のノードによって表される一組の部品間の関係を表す複数のエッジとを含む非階層のグラフを構築すること（Ｓ１０）、
完成される前記製品の部品を供給すること（Ｓ２０）、
ユーザの操作によって、前記供給された部品において選択を行うこと（Ｓ３０）、および
前記グラフにおいて、前記選択された部品を表す一のノードと、前記選択された部品を表す該一のノードと最も近い関係を有する１以上のノードとを特定すること（Ｓ４０）
を実行させる、
製品の部品を組み立てる方法。
【請求項２】
前記供給された一の部品について前記選択を行うことは、前記製品の前記供給された一の部品上の場所を特定することをさらに含み、
前記グラフにおいて、前記選択された部品を表す前記ノードを特定することは、前記グラフにおいて、前記供給された一の部品上の前記特定された場所で前記一のノードを特定することを含む、
請求項１に記載の方法。
【請求項３】
前記供給された一の部品上の前記場所を特定することは、前記部品の形状とユーザの操作によってトレースされた線との間の交差を計算することを含む、
請求項２に記載の方法。
【請求項４】
前記選択された一の部品を表す前記一のノードと最も近い関係を有する前記１以上のノードを特定することは、
前記選択された一の部品を表す前記一のノードと一のエッジによって接続された前記グラフの前記複数のノードのシグネチャを取得することと、
前記選択された一の部品を表す前記一のノードの前記シグネチャに最も類似する１以上のシグネチャを特定することと
を含む
請求項１〜３のいずれか１項に記載の方法。
【請求項５】
前記選択された一の部品を表す前記一のノードと最も近い関係を有する前記１以上のノードを特定することは、
完成される前記製品の前記部品に関連する向きを特定し、特定された向きを、前記選択された部品を表す前記ノードと最も近い関係を有する前記１以上のノードのそれぞれに関連させることと、
前記１以上の類似するシグネチャの中から、少なくとも１つのシグネチャであってその向きが前記製品の前記供給された部品の前記向きにマッチするシグネチャを特定することと
を含む
請求項４に記載の方法。
【請求項６】
前記供給された一の部品上の前記特定された場所は、前記供給された一の部品の機能領域を含み、前記供給された一の部品の機能領域は、他の一の部品との適合関係を含む
請求項２〜５のいずれか１項に記載の方法。
【請求項７】
機能領域の前記適合関係は、２つの部品間の標準化された接続を規定する
請求項６に記載の方法。
【請求項８】
前記特定された１以上のノードは、前記選択された一の部品を表す前記一のノードとの最良適合を有する
請求項１〜７のいずれか１項に記載の方法。
【請求項９】
前記最良適合を有する前記１以上のノードを特定することは、より少ない干渉での、最も近い衝突を有する前記１以上のノードを特定することを含む
請求項８に記載の方法。
【請求項１０】
一のエッジによって表される関係は、
一組の部品間の階層を表す親子関係、
一組の部品間の距離を表す隣接関係、
一組の部品の形態における全体的または局所的な類似性を表す類似形状関係、
２つの部品間の接続の局所的な同等性を表す類似機能関係、の中から選択された１つである
請求項１〜９のいずれか１項に記載の方法。
【請求項１１】
少なくとも１つの製品から前記グラフを構築することは、
各製品の各部品に対して、メトリクスを有する１以上のシグネチャを計算することと、
共通のメトリクスを有する前記製品の一組の部品のそれぞれの組に対して、
前記一組の部品を表す前記ノード間の一のエッジを規定することと、
関係のタイプと、前記共通のメトリクスの値の間の前記距離を表す値である重みとを関連付けることと
を含む
請求項１〜１０のいずれか１項に記載の方法。
【請求項１２】
前記距離が最小距離よりも大きい場合、前記一組の部品間で一のエッジが規定される
請求項１１に記載の方法。
【請求項１３】
請求項１〜１２のいずれか１項に記載の方法を実行するための命令を含む、コンピュータプログラム。
【請求項１４】
請求項１３に記載のコンピュータプログラムが記録された、コンピュータ読み取り可能な記憶媒体。
【請求項１５】
メモリおよびグラフィカルユーザインタフェースに接続されたプロセッサを含むシステムであって、前記メモリには請求項１３に記載のコンピュータプログラムが記録される、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータプログラムおよびシステムの分野に関し、より具体的には、製品の部品を組み立てるための、方法、システムおよびプログラムに関する。
【背景技術】
【０００２】
多くのシステムおよびプログラムが、オブジェクトの、設計、エンジニアリングおよび製造のために、マーケットに提供される。ＣＡＤは、コンピュータ援用設計（Ｃｏｍｐｕｔｅｒ−Ａｉｄｅｄ  Ｄｅｓｉｇｎ）の頭文字であり、例えば、オブジェクトを設計するためのソフトウェアソリューションに関する。ＣＡＥは、コンピュータ援用エンジニアリング（Ｃｏｍｐｕｔｅｒ−Ａｉｄｅｄ  Ｅｎｇｉｎｅｅｒｉｎｇ）の頭文字であり、例えば、将来の製品の物理的な振る舞いをシミュレーションするためのソフトウェアソリューションに関する。ＣＡＭは、コンピュータ援用製造（Ｃｏｍｐｕｔｅｒ−Ａｉｄｅｄ  Ｍａｎｕｆａｃｔｕｒｉｎｇ）の頭文字であり、例えば、製造プロセスおよびオペレーションを規定するためのソフトウェアソリューションに関する。そのようなコンピュータ援用設計システムにおいて、グラフィカルユーザインタフェースは、技術の効率に関する重要な役割を果たす。これらの技術は、製品ライフサイクル管理（ＰＬＭ）システム内に埋め込まれていてもよい。ＰＬＭは、拡張エンタープライズの概念全体にわたって、会社が、製品データを共有し、共通の工程を適用し、構想からそれらの寿命の終わりまで製品の開発のための企業知識を活用することを支援する経営戦略を指す。ダッソー・システムズ（Ｄａｓｓａｕｌｔ  Ｓｙｓｔｅｍｅｓ）（ＣＡＴＩＡ、ＥＮＯＶＩＡおよびＤＥＬＭＩＡの商標のもと）によって提供されるＰＬＭソリューションは、エンジニアリングハブ（製品エンジニアリング知識を組織する）、製造ハブ（製造エンジニアリング知識を管理する）、および、企業ハブ（エンジニアリングハブおよび製造ハブの両方への企業統合および接続を可能にする）を提供する。それらすべてで、システムは、ダイナミックな、知識に基づいた製品創造と、最適化された製品定義、製造準備、生産およびサービスを推進する意志決定支援とを可能にする、リソース、プロセス、オープンオブジェクトモデルでリンクされた製品をもたらす。
【０００３】
ＣＡＤシステムとやりとりする場合（特にＣＡＤシステムでモデル化されたオブジェクトとやりとりする場合）、選択はユーザエクスペリエンスの核心である。３Ｄにおいて、図４〜図７に図示されるように、選択には複数の種類がある。図４は無選択を図示し、図２はエッジの選択を示し、図３は面の選択を示し、図４はオブジェクトの完全な選択を示す。選択された１つまたは複数の形状（ジオメトリ）は、図５〜図７の一例において、異なる色でユーザに表される。
【０００４】
ここで、選択機構に関して説明する。３Ｄにおいて、複数のレベルの可能な選択があり、マウスでオブジェクトをクリックしながら１つのキー（例えばｓｈｉｆｔキーまたはｃｔｒｌキー）を押しつづけることによって、部品サブ要素を多重選択することが可能である。この機構は１９８０年代から存在し、長年の間、大きな変更はなかった。しかしながら、これは純粋にクライアント側のアプローチであり、形状における選択は、通常、サーバ側に影響を及ぼさない。そうであるならば、システムは通常、部品形状ではなく部品識別子（ｐａｒｔ  ｉｄｅｎｔｉｆｉｅｒ）を考慮に入れ、形状内のポイント座標などは考慮に入れない。特に、２つの部品を組み立てる場合、以下の２つの長いステップが必要となるので、選択機構は複雑である。すなわちそれは、（ｉ）一致させる面の選択、および、（ii）残っている自由度に対する位置の状態の規定、である。
【０００５】
従って、ユーザが組み立て時に部品を選択または移動しているときの選択は、ユーザの意図を全く予想しない。ＣＡＤは、ユーザの状況において利用可能な情報のすべてを考慮したソリューションを提案することができない。ユーザの状況には、１以上のモデル組み立て、ユーザルール、ユーザによって使用されるコマンド、使用されるワークベンチ、モデルにおける視点などが含まれていてもよい。組み立ての際の部品の選択は、全く洗練されておらず、同様の状況において過去に既に見つけられた既存および可能なソリューションのすべてを考慮しているわけではない。従って、製品の部品を組み立てるときに、新たに配置される次の部品を予想する方法はない。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
この状況において、製品の部品を組み立てるための改善された方法が、依然として必要とされている。
【課題を解決するための手段】
【０００７】
従って、製品の部品を組み立てるコンピュータ実行方法が提供される。本方法は、少なくとも１つの製品から、組み立てられる前記製品の部品を表すノードとノードによって表された一組の部品間の関係を表すエッジであってノード間にあるエッジとを含む非階層グラフを構築すること、完成される前記製品の部品を供給すること、ユーザの行為によって、前記供給された部品において選択を行うこと、前記グラフにおいて、前記選択された部品を表すノードと、前記選択された部品を表す前記ノードと最も近い関係を有する１以上のノードとを特定すること、を含む。
【０００８】
本方法は、下記のうち１以上を含んでもよい。
【０００９】
前記供給された部品において前記選択を行うことは、前記製品の前記供給された部品上の場所を特定することをさらに含み、前記グラフにおいて、前記選択された部品を表す前記ノードを特定することは、前記グラフにおいて、前記供給された部品上の特定された場所で前記ノードを特定することを含む。
【００１０】
前記供給された部品上の前記場所を特定することは、前記部品の形状とユーザの行為によってトレースされた線との間の交差を計算することを含む。
【００１１】
前記選択された部品を表す前記ノードと最も近い関係を有する前記１以上のノードを特定することは、前記選択された部品を表す前記ノードにエッジによって接続された前記グラフの前記ノードのシグネチャを得ることと、前記選択された部品を表す前記ノードの前記シグネチャで、最も類似する１以上のシグネチャを特定することと、を含む。
【００１２】
前記選択された部品を表す前記ノードと最も近い関係を有する前記１以上のノードを特定することは、完成される前記製品の前記部品に関連する向きを特定し、特定された向きを、前記選択された部品を表す前記ノードと最も近い関係を有する前記１以上のノードのそれぞれに関連させることと、前記１以上の類似するシグネチャの中から、少なくとも１つのシグネチャであってその向きが前記製品の前記供給された部品の前記向きにマッチするシグネチャを特定することと、を含む。
【００１３】
前記供給された部品上の前記特定された場所は、前記供給された部品の機能領域を含み、前記供給された部品の機能領域は、別の部品との適合関係を含む。
【００１４】
機能領域の前記適合関係は、２つの部品間の標準化された接続を規定する。
【００１５】
前記特定された１以上のノードは、前記選択された部品を表す前記ノードとの最良適合を有する。
【００１６】
前記最良適合を有する前記１以上のノードを特定することは、最も近い衝突（ｃｌａｓｈ）を有する前記１以上のノードを、より少ない干渉で特定することを含む。
【００１７】
エッジによって表される関係は、（ｉ）一組の部品間の階層を表す親／子関係（ｆａｔｈｅｒ／ｃｈｉｌｄ  ｒｅｌａｔｉｏｎｓｈｉｐ）、（ii）一組の部品間の距離を表す隣接関係（ｎｅｉｇｈｂｏｒ  ｒｅｌａｔｉｏｎｓｈｉｐ）、（iii）一組の部品の形態における全体的または局所的な類似性を表す類似形状関係（ｓｉｍｉｌａｒ  ｓｈａｐｅ  ｒｅｌａｔｉｏｎｓｈｉｐ）、（iv）２つの部品間の接続の局所的な同等性を表す類似機能関係（ｓｉｍｉｌａｒ  ｆｕｎｃｔｉｏｎ  ｒｅｌａｔｉｏｎｓｈｉｐ）、の中から選択された１つである。
【００１８】
少なくとも１つの製品から前記非階層グラフを構築することは、それぞれの製品の部品のそれぞれに対して、メトリクスを有する１以上のシグネチャを計算することと、共通のメトリクスを有する前記製品の一組の部品のそれぞれに対して、前記一組の部品を表す前記ノード間のエッジを規定することと、関係のタイプ、および、前記共通のメトリクスの値の間の前記距離を表す値である重みを関連させることと、を含む。
【００１９】
前記距離が最小距離よりも大きい場合、前記一組の部品間でエッジが規定される。
【００２０】
本方法を行うための命令を含むコンピュータプログラムがさらに提供される。
【００２１】
前記コンピュータプログラムが記録されている、コンピュータ読み取り可能な記憶媒体がさらに提供される。
【００２２】
メモリおよびグラフィカルユーザインタフェースに接続されたプロセッサを含むシステムであって、前記メモリには前記コンピュータプログラムが記録されているシステムがさらに提供される。
【００２３】
ここで、非限定的な例によって、添付の図面を参照して、本発明の実施形態について記載することとする。
【図面の簡単な説明】
【００２４】
【図１】本方法の一例のフローチャートを示す。
【図２】本システムのグラフィカルユーザインタフェースの一例を示す。
【図３】本システムの一例を示す。
【図４】モデル化オブジェクトにおける選択の例を図示する。
【図５】モデル化オブジェクトにおける選択の例を図示する。
【図６】モデル化オブジェクトにおける選択の例を図示する。
【図７】モデル化オブジェクトにおける選択の例を図示する。
【図８】本発明の一例を示す。
【図９】本発明の一例を示す。
【図１０】本発明の一例を示す。
【図１１】本発明の一例を示す。
【図１２】本発明の一例を示す。
【図１３】本発明の一例を示す。
【図１４】本発明の一例を示す。
【図１５】本発明の一例を示す。
【発明を実施するための形態】
【００２５】
図１のフローチャートを参照して、製品の部品を組み立てるためのコンピュータ実行方法が提案される。本方法は、少なくとも１つの製品から非階層グラフを構築することを含む。少なくとも１つの製品の部品は、新しい製品の完成のために使用される。グラフは、ノードと、ノード間のエッジとを含む。ノードは、完成される製品の部品を表し、エッジは、ノードによって表された一組の部品間の関係を表す。グラフは、典型的には、構築タイム（ｂｕｉｌｄ  ｔｉｍｅ）の間に構築される。次に、完成される製品の部品が供給される（例えば、その部品は、図２に表されたもののように、グラフィカルユーザインタフェースに表示される）。次に、ユーザの行為（例えば、マウスのような触覚デバイスによる、供給された部品におけるユーザのクリック）によって、供給された部品における選択が行われる。次に、グラフにおいて、選択された部品を表すノードの特定が行われ、選択された部品を表す特定されたノードと最も近い関係を有する１以上のノードの特定が行われる。そのような方法によって、既存の部品からの製品の組み立て（または完成）の処理が改善される。
【００２６】
特に、シングルクリックで、且つ、繰り返しを減らすことによって、組立体を構築することができる。実際、グラフは、ユーザの設計操作中に組み立てられることになる部品間の関係の完全な解析をシステムに与え、特に、これが可能なのは、グラフが、非階層的であり且つそれからグラフが得られる製品の製品構造に依存しないためである。これは、グラフを読むことができる、という言うことも可能である。従って、表示された部品におけるそれぞれの選択に対して、ユーザの選択に最もよく適合する部品を見つけるために、非階層グラフを水平および／または垂直に横断することが可能である。本発明は、事実上、多くの部品の選択を可能にし、運よく多くのソリューションを見つけることが可能である。設計者の設計意図は、グラフのナビゲーション（そして特に、供給された部品においてユーザによって行われる選択）から推論される。設計者は、図２に示されるような「古典的」なグラフィカルユーザインタフェース（ＧＵＩ）のツールバーやパネルなどに束縛される必要はないが、本発明はそのような「古典的」なＧＵＩ上で行われてもよいことは理解されるべきである。従って、設計者の知識の一部がここでシステムによって反映されるため、設計者と機械との間のギャップが低下し、このため、システムと設計者との間のやりとりが改善される。組立体を構築するときに設計者が何を考察しているかをシステムがよりよく理解するため、計算リソースの浪費が減少する。以下の説明によって、さらなる利点を明らかにする。
【００２７】
本方法は、コンピュータにて実行される。これは、少なくとも１つのコンピュータまたは任意の同様のシステムによって、本方法のステップ（あるいは本質的にすべてのステップ）が実行されることを意味する。従って、本方法のステップは、コンピュータによって、完全に自動的にあるいは半自動的に、行われる。一一例において、本方法のステップのうちの少なくともいくつかのトリガーは、ユーザとコンピュータとの対話によって行われてもよい。ユーザとコンピュータとの対話の要求されるレベルは、予測された自動性のレベルによって決まるものであってもよく、ユーザの希望を実行する必要性とバランスをとってもよい。一例において、このレベルはユーザで規定されてもよいし、および／または予め規定されてもよい。
【００２８】
例えば、供給することのステップは、設計者によって実行されてもよい（例えば、設計者は、ロードされ表示される部品の名称を入力する）。他の例として、ユーザが、供給された部品において選択を行う。
【００２９】
方法のコンピュータ実行の典型例は、この目的に適したシステムで本方法を行うことである。システムは、メモリおよびグラフィカルユーザインタフェース（ＧＵＩ）に接続されたプロセッサを含んでもよく、メモリには、本方法を行うための命令を含むコンピュータプログラムが記録されていてもよい。メモリはまた、データベースを記憶してもよい。メモリは、そのような記憶に適した任意のハードウェアであり、複数の物理的に異なる部品を含んでいてもよい。
【００３０】
「データベース」は、サーチおよび検索のために組織化されたデータ（すなわち情報）の任意の集合を意味する（例えばリレーショナルデータベース、例えば所定の構造化した言語（例えばＳＱＬ）に基づく）。メモリに記憶された場合、データベースは、コンピュータによる迅速なサーチおよび検索を可能にする。データベースは、確かに、各種データ処理操作と共に、データの、記憶、検索、修正および削除を容易にするように構成される。データベースは、レコード（それぞれは１以上のフィールドからなる）に分割できるファイルまたはファイルの集合からなるものであってもよい。フィールドは、データ記憶の基本単位である。ユーザは、主としてクエリによってデータを検索してもよい。キーワードおよびソートコマンドを使用して、ユーザは、使用されているデータベース管理システムのルールに従って、データの全体に関するレポートを検索または生成するために、多くのレコード中のフィールドを、迅速に、サーチする、再配置する、グループ化する、および選択することができる。
【００３１】
本方法は、通常、モデル化オブジェクトを処理する。モデル化オブジェクトは、例えばデータベースに記憶されたデータによって定義された任意のオブジェクトである。「モデル化オブジェクト」という表現は、データそれ自体を示すように拡張されてもよい。システムの種類に従って、モデル化オブジェクトは、異なる種類のデータによって定義されてもよい。もちろん、システムは、ＣＡＤシステム、ＣＡＥシステム、ＣＡＭシステム、ＰＤＭシステム、および／または、ＰＬＭシステムの任意の組み合わせであってもよい。それらの異なるシステムでは、モデル化オブジェクトは、対応するデータによって定義される。従って、ＣＡＤオブジェクト、ＰＬＭオブジェクト、ＰＤＭオブジェクト、ＣＡＥオブジェクト、ＣＡＭオブジェクト、ＣＡＤデータ、ＰＬＭデータ、ＰＤＭデータ、ＣＡＭデータ、ＣＡＥデータという語句が用いられてもよい。しかしながら、これらのシステムの任意の組み合わせに対応するデータによってモデル化オブジェクトが定義されてもよいので、これらのシステムは、他方に対して排他的なものではない。従って、システムは、ＣＡＤおよびＰＬＭのシステムの両方であってもよく、これは以下に提供されるそのようなシステムの定義から明らかとなるだろう。
【００３２】
ＣＡＤシステムは、ＣＡＴＩＡのような、モデル化オブジェクトの図的表現に基づいてモデル化オブジェクトを少なくとも設計するために適した任意のシステムをさらに意味する。この場合、モデル化オブジェクトを規定するデータは、モデル化オブジェクトの表現を可能にするデータを含む。ＣＡＤシステムは、例えば、エッジまたは線を使用して、ある種の場合には面または表面と共に、ＣＡＤモデル化オブジェクトの表現を提供してもよい。線、エッジ、または表面は、様々な方法（例えば非一様有理Ｂスプライン（ＮＵＲＢＳ））で表現されてもよい。特に、ＣＡＤファイルは、形状がそれから生成されてもよい仕様を含んでおり、それは次に、表現が生成されることを可能にする。モデル化オブジェクトの仕様は、一または複数のＣＡＤファイルに格納されてもよい。ＣＡＤシステムにおいてモデル化オブジェクトを表現するファイルの典型的なサイズは、１つの部品当たり１メガバイトの範囲にある。また、モデル化オブジェクトは、典型的には何千もの部品の組立体であってもよい。
【００３３】
ＣＡＤの環境において、モデル化オブジェクトは、典型的には３Ｄモデル化オブジェクトであってもよく、例えば、一部品または部品の組立体、または製品の組立体、といった製品を表現する。「３Ｄモデル化オブジェクト」は、その３Ｄ表現を可能にするデータによってモデル化される任意のオブジェクトを意味する。３Ｄ表現は、すべての角度から部品を見ることを可能にする。例えば、３Ｄモデル化オブジェクトは、３Ｄ表現されるときに、処理され且つその軸のうちのいずれかの周り、または、表現が表示されるスクリーン中の任意の軸の周りで回転されてもよい。これは特に、２Ｄアイコン（３Ｄモデル化されていない）を除外する。３Ｄ表現の表示は、設計を容易にする（すなわち、統計的に設計者が彼らのタスクを遂行する速度を増加させる）。製品の設計は製造工程の一部であるので、これは、産業における製造工程を加速する。
【００３４】
３Ｄモデル化オブジェクトは、例えばＣＡＤソフトウェアソリューションまたはＣＡＤシステムによるその仮想設計の完了の後に続いて実際の世界において製造される製品の形状を表現してもよく、その製品は、（例えば、機械的）部品または部品の組立体（または部品の組立体と同等のもの。本方法の観点から部品の組立体が部品自体とみなされてもよいし、あるいは、本方法は組立体のそれぞれの部品に独立に適用されてもよい）、あるいはより一般的には任意の剛体の組立体（例えば移動体の機構）などである。ＣＡＤソフトウェアソリューションは、航空宇宙、建築、建造、消費財、ハイテク装置、産業用機器、輸送、船舶、および／または、海洋石油／ガス生産または輸送を含む（ただしこれらに限定されない）、様々で無制限の産業分野における製品の設計を可能にする。このように、本方法によって設計される３Ｄモデル化オブジェクトは、任意の機械部品であってもよい産業製品を表してもよく、例えば、地上の輸送手段（例えば、自動車および軽車輪機器、レーシングカー、オートバイ、車輪およびモーター機器、車輪およびバス、列車を含む）の部品、空中の輸送手段（例えば、機体機器、航空宇宙機器、推進機器、防衛製品、航空機器、宇宙機器を含む）の部品、海上の輸送手段（例えば、海軍機器、商用船、海洋機器、ヨットおよび作業船、船舶用機器を含む）の部品、一般的な機械部品（例えば、産業用製造機械類、重い移動体の機械類または機器、インストールされた機器、産業用機器製品、作られた金属製品、タイヤ製造製品を含む）、電気機械的または電子部品（例えば、家電、セキュリティおよび／またはコントロールおよび／または計測の製品、計算および通信の機器、半導体、医療の装置および機器を含む）、消費財（例えば、家具、家庭および園芸の製品、レジャー用品、流行製品、耐久消費財小売り業者の製品、繊維雑貨小売り業者の製品を含む）、包装（例えば、食物、飲料、タバコ、美容品を含む）を表してもよい。
【００３５】
図２は、本発明による方法を行うために使用できる、「古典的」なＧＵＩの一例を示す。
【００３６】
ＧＵＩ２１００は、底部およびサイドのツールバー２１４０、２１５０だけでなく標準的なメニューバー２１１０、２１２０を有する、典型的なＣＡＤのようなインタフェースであってもよい。そのようなメニューバーおよびツールバーは、ユーザが選択可能なアイコンのグループを含み、それぞれのアイコンは、当該技術において知られているように、１以上のオペレーションまたは機能に関係している。これらのアイコンのうちのいくつかは、ＧＵＩ２１００に表示された３Ｄモデル化オブジェクト２０００を編集および／または作業することに適したソフトウェアツールに関係している。ソフトウェアツールは、ワークベンチに分けられてもよい。それぞれのワークベンチは、ソフトウェアツールのサブセットを含む。特別には、ワークベンチの１つは、モデル化された製品２０００の幾何学的特徴を編集するのに適している編集ワークベンチである。オペレーションにおいて、設計者は、例えば、オブジェクト２０００の一部を予め選択し、次に、適切なアイコンの選択によって、幾何学的制約を編集するか、オペレーション（例えば、次元、色などを変更する）を始める。例えば、典型的なＣＡＤオペレーションは、スクリーンに表示された３Ｄモデル化オブジェクトの穴あけまたは折り曲げのモデリングである。ＧＵＩは、例えば、表示された製品２０００に関する表示データ２５００を表示してもよい。図の例において、データ２５００（「特徴ツリー」として表示されている）およびそれらの３Ｄ表現２０００は、ブレーキキャリパおよびディスクを含むブレーキ組立体に関する。ＧＵＩは、例えば、オブジェクトの３Ｄ配向を容易化するため、編集された製品のオペレーションのシミュレーションを開始するため、または、表示された製品２０００の様々な属性を与えるための、様々なタイプのグラフィックツール２１３０、２０７０、２０８０をさらに示してもよい。ユーザがグラフィックツールと対話することを可能にするように、カーソル２０６０は触覚デバイスによってコントロールされてもよい。
【００３７】
図３は、システムの一例を示し、当該システムは、クライアントコンピュータシステム（例えばユーザのワークステーション）である。
【００３８】
本実施例のクライアントコンピュータは、内部通信バス（ＢＵＳ）１０００に接続された中央処理装置（ＣＰＵ）１０１０、同じくＢＵＳに接続されたランダムアクセスメモリ（ＲＡＭ）１０７０を含む。クライアントコンピュータは、ＢＵＳに接続されたビデオランダムアクセスメモリ１１００に関係するグラフィック処理装置（ＧＰＵ）１１１０をさらに備える。ビデオＲＡＭ１１００は、この技術において、フレームバッファとしても知られている。大容量記憶装置コントローラ１０２０は、ハードドライブ１０３０のような大容量メモリ装置へのアクセスを管理する。コンピュータプログラムの命令およびデータを明確に包含するのに適した大容量メモリ装置は、すべての形式の不揮発性メモリ（ＥＰＲＯＭ、ＥＥＰＲＯＭ、およびフラッシュメモリ装置のような半導体メモリ装置を例えば含む）、内部ハードディスクおよびリムーバブルディスクのような磁気ディスク、光磁気ディスク、および、ＣＤ−ＲＯＭディスク１０４０を含む。前記のいずれかは、特別に設計されたＡＳＩＣｓ（特定用途向け集積回路）によって補足されるか、それに組み込まれてもよい。ネットワークアダプタ１０５０は、ネットワーク１０６０へのアクセスを管理する。また、クライアントコンピュータは、カーソル制御装置、キーボードなどのような触覚デバイス１０９０を含んでもよい。ディスプレイ１０８０上の任意の所望の位置にユーザが選択的にカーソルを置くことを可能にするために、クライアントコンピュータにおいてカーソル制御装置が使用される。さらに、カーソル制御装置は、ユーザが、様々なコマンドを選択し、制御信号を入力することを可能にする。カーソル制御装置は、システムに制御信号を入力するための複数の信号生成装置を含む。典型的には、カーソル制御装置は、マウスであってもよく、マウスのボタンは信号を生成するために使用される。あるいはまたはさらに、クライアントコンピュータシステムは、感知可能なパッドおよび／または感知可能なスクリーンを含んでもよい。
【００３９】
コンピュータプログラムは、コンピュータによって実行可能な命令を含んでもよく、命令は、上記のシステムに本方法を行わせるための手段を含む。プログラムは、任意のデータ記憶媒体（システムのメモリを含む）に記録可能であってもよい。プログラムは、例えば、デジタル電子回路において、または、コンピュータハードウェア、ファームウェア、ソフトウェアにおいて、もしくはそれらの組み合わせにおいて、実行されてもよい。プログラムは、装置として、例えばプログラム可能なプロセッサによる実行のための機械可読の記憶装置に明確に組み込まれた製品として、実行されてもよい。方法ステップは、入力データを処理し出力を生成することによって本方法の機能を行う命令のプログラムを実行するプログラム可能なプロセッサによって行われてもよい。このように、プロセッサは、プログラム可能であってもよく、且つ、データ記憶システム、少なくとも１つの入力装置、および少なくとも１つの出力装置、からデータおよび命令を受け取るように、およびそれへデータおよび命令を送るように、接続されていてもよい。アプリケーションプログラムは、ハイレベルの手続き型またはオブジェクト指向のプログラミング言語で、または、アセンブリ言語もしくは機械語で実行されてもよい。いずれの場合も、言語は、コンパイラ型言語またはインタープリタ型言語であってもよい。プログラムは、完全なインストールプログラムまたはアップデートプログラムであってもよい。システムへのプログラムの適用することにより、いずれの場合も、本方法を実行するための命令が生成される。
【００４０】
「製品の部品を組み立てること」は、製品を精巧に作る工程の少なくとも一部である、任意の行為または一連の行為を意味する。従って、本方法は、予め生成された部品から製品を生成することを含んでもよい。
【００４１】
本方法は、製造工程に含まれてもよく、製造工程は、本方法を行った後に、実体的製品を生産することを含んでもよい。いずれの場合も、本方法によって設計された製品は、工業製品を表してもよい。本方法が製品の設計を改善するので、本方法はさらに、製品の製造を改善し、従って、製造工程の生産性を増加させる。
【００４２】
ここで、図１のステップＳ１０を参照して、少なくとも１つの製品からの非階層グラフの構築（あるいは計算）が行われる。この計算は、ランタイム（ｒｕｎｔｉｍｅ）とは異なって、構築タイムに行われてもよい。これは、以下のステップＳ２０〜Ｓ４０が行われる前にグラフが計算されることを意味し、非階層は典型的には、データベースに記憶される。ステップＳ２０〜Ｓ４０は、いわゆるランタイムに属する。構築タイムが１回行われる一方で、ランタイムは、付随的にまたは連続的に数回行われてもよい。このように、ステップＳ１０は、少なくとも１つの製品に関するいくつかの情報を計算する裏方の操作（ｂａｃｋ−ｏｆｆｉｃｅ  ｏｐｅｒａｔｉｏｎ）であり、「ナレッジグラフ（ｋｎｏｗｌｅｄｇｅ  ｇｒａｐｈ）」と呼ばれる非階層グラフにすべての結果を記憶する。
【００４３】
非階層グラフは、少なくとも１つの製品から構築される。ここで、製品という語句は、現実世界のオブジェクトを含み、典型的にはモデル化オブジェクトまたは３次元（３Ｄ）のモデル化オブジェクトであってもよい。少なくとも１つの製品のそれぞれは、部品、部品の組立体、または製品の組立体を含んでいてもよい。それからグラフが構築される少なくとも１つの製品は、本発明（Ｓ２０〜Ｓ４０）に従って新製品を設計するために使用され得る１以上の部品を含む。
【００４４】
ナレッジグラフ（すなわち非階層グラフ）は、ノードおよびノード間のエッジを含む。ノードは、完成される製品の部品を表し、従ってグラフのノードは、少なくとも１つの製品のうちの１つの製品の部品を表す。エッジは、ノードによって表された一組の部品間の関係を表し、エッジは、グラフの一組のノードを接続する。ここで、組（ｐａｉｒ）は、２つのノードを意味する。ノードは、１以上のノードに接続されてもよく（すなわち、関係してもよい）、例えば、２つのエッジが、同じ組のノードに接続してもよく、例えば、２つの異なる関係が同じ組のノード間で特定されてもよいことが、理解されるべきである。さらに、非階層グラフは有向ではなく、これは、グラフの横断（あるいはナビゲーション）は、第１のノードから第２のノードに、および逆に、第２のものから第１のものに行うことができるということを含む。
【００４５】
関係（ｒｅｌａｔｉｏｎｓｈｉｐ）は、リレーション（ｒｅｌａｔｉｏｎ）を表す。以下において、「関係（ｒｅｌａｔｉｏｎｓｈｉｐ）」および「リレーション（ｒｅｌａｔｉｏｎ）」という語句は、同義語であり、一組のノードによって部分的にまたは全体的に共有されたプロパティを意味する。
【００４６】
本発明の一例において、関係は、以下のタイプであってもよい（ただしそれらには限定されない）。第１のタイプの関係は、（ｉ）親／子関係である。第１のタイプは、一組の部品間の階層を表す。例えば、ノード間の階層は、非階層グラフが構築される製品の製品構造から引き出されてもよい。より一般的には、製品を記憶するデータベースは、製品の部品間の親／子関係を含む。第２のタイプの関係は、一組の部品間の距離を表す（ii）隣接関係である。新しい部品がＤＢに加えられるときには、すべての隣接距離（すなわち、２つのノードの組の間の距離のすべて）が再計算され、従って、それはオーサリング情報ではない。隣接距離は、非階層グラフが構築される製品の任意の新しい部品に対して計算される。第３のタイプの関係は、一組の部品の形態中の全体的または局所的な類似性を表す（iii）類似形状関係である。２つの形状間の類似性は、この技術において知られているように測られる。第４のタイプの関係は、２つの部品間の接続の局所的な同等性を表す（iv）類似機能関係である。ここで、３Ｄ形状は考慮されないが、穴や接点などのような重要なローカル情報が置かれる。２つの部品（ノードによって表される）は、例えばそれらがほとんど同じ穴位置やコンタクト位置などを有する場合、機能的に同等であるか類似する。第５の関係は、２つの部品間の（ｖ）適合関係（ｆｉｔ  ｒｅｌａｔｉｏｎｓｈｉｐ）である。適合関係は、２つの部品間の標準化された接続の存在を規定する。例えば、２つの部品間の標準化された接続は、ねじ／ボルトのための穴、融解ポイントのための接触面などであってもよい（ただしそれらには限定されない）。これらの関係は、これらの構成の限られた数のクラスがあるため、標準化される。
【００４７】
一例において、非階層グラフの構築は、グラフのエッジのそれぞれへ重みを関連づけることを含んでもよい。グラフの重みは、２つの部品間の類似性のレートを表す。従って、重みは、２つの部品がどの程度近いかを測る。
【００４８】
図１４は、１つのボード、２つの車輪および５つの車輪を含む組立体であり得るスケートボード製品から非階層グラフを構成する一例を示す。この一例において、重みは、それぞれの部品に対する１以上のシグネチャの計算の結果として、エッジに関連づけられるであろう。重みは、一組のノードの共通のメトリクスの値の間の距離を表し、重みは、典型的には値である。非階層グラフが構築されるそれぞれの製品の部品のそれぞれに対して、１以上のシグネチャが計算される。それぞれのシグネチャは、この技術で知られているように計算でき、例えば、シグネチャは、穴のレイアウトなどを使用して、３Ｄフーリエ変換によって、それぞれの部品の境界箱から計算されてもよい。それぞれの計算されたシグネチャは、メトリクスを有する。従って、２つの部品間にＮの距離があり、ここで、Ｎは、２つの部品で共通のメトリクスの数である。２つの部品間に共通のメトリクスがあるごとに、グラフのエッジに、「信頼（ｃｏｎｆｉｄｅｎｃｅ）」値（メトリクスの値）を備えるアーク（ａｒｃ）がある。この信頼値は、エッジによって表される与えられた関係に対して、２つの部品の近さの百分率で表されてもよい。従って、一組の部品のそれぞれに対して１以上のメトリクスを有するシグネチャを計算した後に、エッジが、共通のメトリクスを有するノード間で規定されてもよい。次に、それぞれのエッジに対して、関係のタイプおよび重みが、エッジに関係づけられる。例えば、グラフにおけるそれぞれの関係は、２つの属性、すなわち、関係のタイプ（例えばストリングとして記される）および重み（例えば０と１との間に含まれるフロート値として記される。境界が含まれる）、に関係する。例えば、上記（ｉ）と記された関係は、真または偽のリレーションであり、子と親との間の重みは常に１である。（ii）と記された関係について、２つの部品が接している場合には重みは１に等しく、そして、重みの値は、部品間の最小距離の関数で減少する。（iii）類似形状関係に関して、重みは類似性のレートに依存し、部品が同一の場合には重みは１に等しい。関係（iv）について、重みは、機能の２つの構成間のメトリクスである。上記（ｖ）と記された関係について、シグネチャは標準に基づくことができ、簡単なクエリによって検索できる。
【００４９】
図１４の一例において、距離が最小距離（Ｓ１１０）よりも大きい場合にだけ、一組の部品間でエッジが規定されてもよい。これは、２つのノードが有効なリレーションを有するということについて充分に強い「信頼」がある場合にのみエッジが構築されること、を意味する。
【００５０】
加えて、さらに図１４の一例において、非階層グラフの構築は、最小距離の計算に加えて、製品の部品間の衝突の計算を含んでもよい。衝突の検出（すなわち衝突の計算）は、有効な特定に対して、モデルの部品間の干渉の検査および報告を可能にする。これは、この技術で知られているように計算される。衝突の計算に対して、交差した表面に投影される交差表面の重心が維持される。この重心は、衝突ポイント（ｃｌａｓｈ  ｐｏｉｎｔ）と呼ばれるポイントによって規定される。図１４において、衝突ポイントは黒四角によって表される。興味深いことには、２つの衝突ポイント（それぞれの車輪に対して１つずつ）を含むスケートボードのボードで図示されているように、１つの部品が、１つを超える衝突ポイントを含んでもよい。
【００５１】
さらに図１４の一例において、完成される製品の部品に関連する向きが特定される。部品の向きは、典型的には、その部品と関係するデータと共に、例えばデータベースに記憶される。この特定された向きは、その部品を表すノードに関連する。
【００５２】
従って、図１４に例示された非階層グラフの構築において、グラフのそれぞれのノードは、属性を備える部品を表し、属性は、ノードの１以上のシグネチャ、部品の向き、および１以上の衝突ポイントを含む。
【００５３】
ここで、図９および図１０を参照して、非階層グラフを構築する一例について述べる。この一例において、３つのスケートボード製品がデータベースに記憶され、例えばデータベースは、リレーショナルデータベース、ＰＬＭデータベースなどである（ただしそれらには限定されない）。図９は、これらの３つの製品９０、９２、９４の表現を示す。それぞれのスケートボードは、以下の部品、すなわちボード（９０ａ、９２ａ、９４ａ）、ボードに接続された２つの車輪（９０ｃ、９２ｃ、９４ｃ）、および、車輪に接続された車輪（９０ｂ、９２ｂ、９４ｂ）、を含む。
【００５４】
図１０は、その部品が新しいスケートボード製品を設計するために使用されるであろう３つのスケートボードに対して計算された非階層グラフの表現を示す。明瞭さのためだけに、ノードは部品として表され、車輪ノードは表示されない。この一例においては、３つの関係、すなわち、形状の類似性、機能の類似性、および適合機能、が使用されている。例えば、ボード９０ａを表すノードは、機能類似性に対して２つのエッジを有し、１つはボード９０ｂを表すノードを備え、１つはボードを９０ｃ表すノードを備える。ここで、機能類似性は、ボード上の同一の穴の位置について計算される。ボード９０ａおよび９０ｂを接続するエッジに関連する重みは１００％の値を示し、穴は正確に同じ位置に置かれる一方でボード９０ａおよび９０ｃを接続するエッジに関連する重みは９０％の値を示し、穴は両方のボード上のほぼ同じ位置に置かれる。それぞれのボードに対して、ボードとそれらの各々の車輪（９０ａ１、  ９０ａ２、  ９０ｂ１、  ９０ｂ２、  ９０ｃ１、  ９０ｃ２）との間の衝突の検出の結果として、２つの衝突ポイントが計算された。この一例において、適合機能が製品の部品間で計算され、車輪９０ａ１、９０ａ２は、ボード９０ａの穴に適合し、車輪９０ｂ１、  ９０ｂ２は、ボード９０ｂの穴に適合し、車輪９０ｃ１、  ９０ｃ２は、ボード９０ｃの穴に適合する。この一例において、衝突検出および適合機能は関連しており、適合機能が、同じ製品に属さない部品間で計算されてもよいことが理解される（例えば、それぞれの製品における衝突の検出の計算とは独立して）。さらに図１０の一例において、車輪間の機能類似性の関係が表され、図の明瞭さのためだけに、いくつかのエッジは表されない。車輪は、それら自身の中の機能において類似する。
【００５５】
図１０の一例において、非階層グラフを生成する処理は、以下のように行われる。第１に、それぞれの製品はそれぞれの製品の構造に従って部品へ分解される。次に、それぞれの製品に対して、衝突が計算される。適合機能が、どの機能が適用されるかを決定するために、検知されたそれぞれの干渉に対して適用される。従って、機能領域はそれぞれの製品の部品のそれぞれに対して決定され、部品の機能領域は、製品の別の部品との適合関係を含む。機能領域は、ポイント（例えば衝突ポイント）であってもよく、機能領域は、例えば衝突ポイントのまわりの、エリアまたはボリュームであってもよい。第２に、機能の類似性が、製品の部品間（異なる製品の部品間を含む）で計算される。特に、機能の類似性は、衝突、衝突ポイント、に適用される。第３に、形状の類似性が、製品の部品間（異なる製品の部品間を含む）で計算される。
【００５６】
興味深いことに、それぞれの製品の部品が共通のセマンティックを共有する場合、関係の特定はより効率的であるかもしれない。例えば、それぞれの製品の部品が同じ名称を有する場合、機能の類似性の計算は、好ましくは、ボードと車輪との間で行われてもよく、ボードと車輪との間では行われなくてもよい。別の例として、形状機能における類似性は、同一の名称を有する部品に対してのみ（例えばボード間で）、計算されてもよい。
【００５７】
ここで、ランタイムについて述べる（Ｓ２０〜Ｓ４０）。ステップＳ２０において、完成される製品の部品が供給される。ここで「完成される（ｃｏｍｐｌｅｔｅｄ）」および「完全にされる（ｃｏｍｐｌｅｍｅｎｔｅｄ）」という語句は、同義語である。換言すれば、製品は、完成されるか、完全にされるか、または組み立てられる。例えば、設計者は、彼／彼女が設計した部品を選択する。このステップは、この技術で知られているように行われる。これは図８に図示され、図８では、設計者がボードを選択している。類似性サーチ操作の使用によって（例えば、設計者は、スケートボードのみを処理する専用ウェブサイト上にあり、従ってその部品がボードであることに曖昧さはない）、システムは、設計者に尋ねることなしに、データベース中のモデルがボードであると特定することが可能である。従って、システムは、設計者によって供給される部品のセマンティックを把握する。さらに、その部品の向きも供給される（Ｓ２０）。その向きもまた、データベース中の類似性サーチに頼ることによって得られてもよい。例えば、部品シグネチャによって、および、データベース上のそれぞれの部品において利用可能な機能および境界箱の助けにより、システムは、データベース中のボードと比較したトムのボード（Ｔｏｍ’ｓ  ｂｏａｒｄ）の向きを把握する。
【００５８】
次に、ステップＳ３０において、設計者は、供給された部品において選択を行う。このように、部品におけるユーザ入力が行われる。ユーザの選択は、典型的には、マウスやタッチスクリーンなどの触覚デバイスによって行われる。例えば、図８において、ユーザは、供給されたボード上でカーソルを移動させ、次に、マウスでクリックを行う。マウスにおけるこのユーザの行為は、特定処理Ｓ４０を引き起こす。
【００５９】
Ｓ４０において、グラフ中でノードが特定される。特定されたノードは、選択された部品を表す。一例において、供給された部品のノードが計算され、構築タイムに構築されたグラフに加えられる。同じ操作が部品において行われ、部品およびそれらの各々のノードが、供給された部品およびそのノードにおいてさらに実行される。一例において、システムは、ユーザによって供給された部品がスケートボードのボードであることに気づいている。これは、関係の計算を劇的に低減することが可能であるため、構築された非階層グラフ中に、供給された部品を表すノードをより容易に導入することを可能にする。
【００６０】
さらにステップＳ４０において、非階層グラフ中の１以上のノードが特定される。これらの特定された１以上のノードは、選択された部品を表すノードに最も近い関係を有する。ノードの近さは、エッジに関連する重みで得られてもよく、最も近い１以上のノードは、最大の重みの値を有する特定されたノードに接続されたものである。一例において、特定された１以上のノードは、選択された部品を表すノードとの最良適合を有する。例えば、１以上のノードは、最も近い衝突（すなわち、より少ない干渉をもたらす衝突）を有する。こうして、特定されたノードが選択された部品に適合する確率が増加する。
【００６１】
供給された部品において設計者によって行われる選択（Ｓ３０）は、その部品上で場所を特定することを含んでもよい。場所は、その部品上の、ポイント、表面、ボリュームであってもよい（ただしそれらには限定されない）。この場合、１以上のノードの特定（Ｓ４０）は、この場所に従って行われる。すなわち、グラフ中のナビゲーションは、ユーザによって選択された場所の機能である。従って、ユーザは、簡単なユーザの行為によってグラフをナビゲートでき、場所の選択のそれぞれは、グラフにおいて特定された１以上のノードを決定する。場所の選択は、データベースからどのオブジェクトを検索しなければならないかを決定する。
【００６２】
図１１〜図１３は、図８に関して述べられたように、Ｓ２０にて供給された部品上の場所の決定の後の、非階層グラフにおけるノードの特定の一例を図示する。図８において、マウスが当該ボードの前方に充分に近いか、または、ユーザが当該ボードの前方部分をクリックしたとき、設計者は前方の車輪を追加することを意図している。このように、ボードの前方部分の場所が決定される。場所の特定は、部品（ボード）の形状とトレースされた線との交差を計算することによって行われてもよい。線は、ディスプレイ上のユーザインタラクションの場所（例えば、触覚型のカーソルの場所、または、タッチスクリーン上のユーザインタラクションの場所）から部品に向かってトレースされてもよく、線の方向は、部品上の設計者の視点によって決定されてもよい。部品上の場所を決定する任意の方法が使用されてもよい。図１１において、３つのボード９０ａ、９０ｂ、９０ｃが、先に構築され図１０に表された非階層グラフから決定される。この一例において、ボードは、形状類似性を利用して決定される。興味深いことには、選択の場所のポイントをシステムが知把握するので、データベース上で、類似する形状（３つのボード９０ａ、９２ａ、９４ａ）にこのポイントを投影することが可能であり、供給された部品と投影されたポイントとを接続する最も近いエッジを特定することが可能である。図１１において、それぞれの特定されたノードは、２つの衝突ポイントを含む。図１０を参照して以下に説明されるように、それぞれの衝突ポイントは、エッジのシグネチャの部分である。従って、事実上、図１２に図示されるように、供給された部品において選択を行うことによって、設計者は、多くの他のノードを、それらが類似するので、おおよそ同一の場所で選択する。それによって、最も近い干渉リンクが選択され、適切な向きも計算できる。少なくとも、供給されたボードの前方を設計者が選択したので、システムは前方の車輪のすべてを検索でき、システムは、オレンジの車輪（図１１において囲まれている）が、前方の車輪の中で最も近いノードであると特定できる。その結果、システムは、選択されたノードに関連する部品をデータベースから検索する。その部品のデータまたはその部品の表現が検索されてもよい。検索された部品は、ＧＵＩにおいて、供給されたボードと共に表される。ボードおよび車輪の両方が各々の向きを有するので、システムは、ボードの向きと最良適合する車輪の位置を計算できる。計算された向きを、ユーザに提案できる。設計者は、検索された部品、および／または、検索された部品のポジショニングの提案を、受け入れるか受け入れないことが可能である。
【００６３】
一例において、供給された部品上の特定された場所は、最も近い関係を備える１以上のノードに投影されてもよいし、機能領域は、特定されたノードの少なくとも１つの上で特定される。機能領域は、衝突ポイントの上／まわりにあってもよい。機能領域は、別の部品または別の部品の別の機能領域との適合関係を含んでもよい。機能領域の適合関係は、２つの部品間の標準化された接続を規定してもよい。
【００６４】
ここで図１５を参照して、本発明による方法のランタイムの一例についてここで述べる。この一例において、設計者は、サーバに接続されるクライアントコンピュータを使用し、サーバは、非階層グラフ、および／または、グラフが構築された少なくとも１つの製品の部品を記憶してもよい。この一例において、サーバは、グラフおよび部品の両方を記憶する。ステップ１、２および３はクライアント側で行われ、他のステップはサーバ側で行われる。
【００６５】
最初のステップ１において、設計者は製品を設計している。設計者は部品にセマンティックを加えていないので、この部品はサーバから未知であるとみなすことができる。セマンティックは設計者によって加えることができ、例えば、彼／彼女は、その部品の標準化された名称を入力する。セマンティックは、システムによって推定できる（例えば、類似性サーチ操作の使用によって）。
【００６６】
ステップ２および３において、ユーザ部品上のそれぞれの場所選択（例えばマウスクリック）は、マウスが形状を越えると、形状と交差する線を生成する。その結果は、形状上のポイントである。部品識別子は、データベースから検索されてもよい。構築タイムにおいて計算されたすべてのシグネチャが抽出される。抽出されるシグネチャの数を限定するために、ユーザ部品と同じセマンティックを有する部品のシグネチャだけを抽出してもよく、選択された部品を表すノードにエッジで接続されたグラフのノードのシグネチャが得られる。
【００６７】
ステップ４において、抽出されたシグネチャから、部品のリストを供給する類似性サーチが行われる。サーチは、選択された部品を表すノードの１以上のシグネチャに最も類似する１以上のシグネチャを供給する。もちろん、データベースが大きいほど、結果はより多くなるであろう。結果の数を減少させるために、システムは、ステップ１で選択された部品とリストの部品の向きとをマッチさせてもよい。この操作は、厳密に正確である必要がない。従って、供給される部品に関連する向きと特定されたノードに関連する向きとが、類似する部品（特定されたノードであってその向きが供給された部品の向きとマッチする特定されたノードの少なくとも１つのシグネチャ）のサーチの結果のフィルタリングに用いられる。
【００６８】
ステップ５において、ステップ３のポイントの選択は、ステップ４において特定された向きの部品のそれぞれに投影される。投影は、この技術において知られている方法で行われる。
【００６９】
ステップ６において、それぞれの投影ポイントから最も近い衝突ポイントが特定される。このように、機能領域が、ステップ４において得られたそれぞれのノード上で特定される。最も近いポイントを特定するために使用される尺度は、距離（例えばユークリッド距離）である。
【００７０】
次に、ステップ７において、ステップ６において特定された機能領域のそれぞれから、エッジを介して機能領域に接続されるノードが特定される。換言すれば、ナレッジグラフにおいてそれぞれの機能領域（例えば衝突ポイント）にリンクによって関連するノードが特定される。これらのノードによって表された部品はデータベースから検索される。
【００７１】
ステップ８において、検索されたノードは、ユーザの部品との近さに従ってランク付けされる。例えば、検索されたノードのランキングは、リンクの重みに基づくことができる。
【００７２】
ここで、クライアントコンピュータは、検索されたノードに関連する１以上の部品をダウンロードできる。すべての部品をダウンロードでき、または、複数の部品（ランキングのトップのもの）を表示でき、または、最高のランキングを有する部品だけをダウンロードする。次に、ダウンロードされた部品が、ＧＵＩに表示される。次に、ユーザは、データベースから検索された新しい部品の選択を行うことができ、ステップ１〜８の処理を、この新しい部品に対して再び行うことができる。このように、ステップ・バイ・ステップ（すなわち、場所のユーザ選択の後のユーザ選択）で、設計者は、非階層グラフをナビゲートでき、新製品を生成するための部品を組み立てることができる。
【図１】
2019153280.tif 000003
【図２】
2019153280.tif 000004
【図３】
2019153280.tif 000005
【図４】
2019153280.tif 000006
【図５】
2019153280.tif 000007
【図６】
2019153280.tif 000008
【図７】
2019153280.tif 000009
【図８】
2019153280.tif 000010
【図９】
2019153280.tif 000011
【図１０】
2019153280.tif 000012
【図１１】
2019153280.tif 000013
【図１２】
2019153280.tif 000014
【図１３】
2019153280.tif 000015
【図１４】
2019153280.tif 000016
【図１５】
2019153280.tif 000017
【外国語明細書】
2019153280.tif 000018
2019153280.tif 000019
2019153280.tif 000020
2019153280.tif 000021
2019153280.tif 000022
2019153280.tif 000023
2019153280.tif 000024
2019153280.tif 000025
2019153280.tif 000026
2019153280.tif 000027
2019153280.tif 000028
2019153280.tif 000029
2019153280.tif 000030
2019153280.tif 000031
2019153280.tif 000032
2019153280.tif 000033
2019153280.tif 000034
2019153280.tif 000035
2019153280.tif 000036
2019153280.tif 000037
2019153280.tif 000038
2019153280.tif 000039
2019153280.tif 000040
2019153280.tif 000041
【図１】
2019153280.tif 000042
【図２】
2019153280.tif 000043
【図３】
2019153280.tif 000044
【図４】
2019153280.tif 000045
【図５】
2019153280.tif 000046
【図６】
2019153280.tif 000047
【図７】
2019153280.tif 000048
【図８】
2019153280.tif 000049
【図９】
2019153280.tif 000050
【図１０】
2019153280.tif 000051
【図１１】
2019153280.tif 000052
【図１２】
2019153280.tif 000053
【図１３】
2019153280.tif 000054
【図１４】
2019153280.tif 000055
【図１５】
2019153280.tif 000056