(57)【要約】      （修正有）【課題】設計セッションの間に関連したオブジェクトを効率よく検索するより良い最適化プロセスを提供する。【解決手段】ユーザによって行われる設計動作であって、セッション内で初期モデル化オブジェクトに適用される設計動作を検出するステップと、初期モデル化オブジェクトのプロパティのセット及び/又はセッションのプロパティのセットからシグネチャを演算するステップと、データベース内においてセッション内の初期モデル化オブジェクトのシグネチャに最も近似のシグネチャを有するモデル化オブジェクトを検索するステップと、検索されたモデル化オブジェクトの表現を表示するステップと、表示されたモデル化オブジェクトの表現の中で１つのモデル化オブジェクトをユーザによって選択するステップと、選択されたモデル化オブジェクトによってセッション内の初期モデル化オブジェクトを置き換えるステップと、を含む。【選択図】図２
2012069108.tif 000002
【特許請求の範囲】
【請求項１】
データベースとインタラクションを行うＣＡＤシステムのセッション内でモデル化オブジェクトを設計する方法であって、
ユーザによって行われる設計動作であって、前記セッション内で初期モデル化オブジェクトに適用される設計動作を検出するステップと、
前記初期モデル化オブジェクトのプロパティのセット及び/又は前記セッションのプロパティのセットからシグネチャを演算するステップと、
前記データベース内において前記セッション内の前記初期モデル化オブジェクトの前記シグネチャに最も近似のシグネチャを有するモデル化オブジェクトを検索するステップと、
検索されたモデル化オブジェクトの表現を表示するステップと、
表示されたモデル化オブジェクトの表現の中で１つのモデル化オブジェクトをユーザによって選択するステップと、
選択された前記モデル化オブジェクトによって前記セッション内の前記初期モデル化オブジェクトを置き換えるステップと、を含むことを特徴とする方法。
【請求項２】
前記ステップの各々は前記初期モデル化オブジェクトを置き換える前記選択されたモデル化オブジェクトために繰り返されることを特徴とする請求項１記載の方法。
【請求項３】
前記シグネチャを演算するステップの後、前記データベース内において前記初期モデル化オブジェクトにインデックスを付けるステップを更に含むことを特徴とする請求項１又は２記載の方法。
【請求項４】
前記初期モデル化オブジェクトのインデックスキーは前記初期モデル化オブジェクトの当該演算したシグネチャであることを特徴とする請求項３記載の方法。
【請求項５】
前記設計動作を検出するステップは前記セッションの変更を検出するステップを更に含むことを特徴とする請求項１〜４のいずれか１記載の方法。
【請求項６】
前記データベースから検索された前記モデル化オブジェクトをランク付けするステップを更に含むことを特徴とする請求項１〜５のいずれか１記載の方法。
【請求項７】
前記ランク付けステップは前記初期モデル化オブジェクトのシグネチャと各検索したモデル化オブジェクトのシグネチャとの間の距離に応じて実行されることを特徴とする請求項６記載の方法。
【請求項８】
検索された前記モデル化オブジェクトの前記表現は前記初期モデル化オブジェクトの現在のビューポイントに応じて表示されることを特徴とする請求項１〜７のいずれか１記載の方法。
【請求項９】
検索されたモデル化オブジェクトの前記表現はウインドウ内に表示される２次元の表現であることを特徴とする請求項１〜８のいずれか１記載の方法。
【請求項１０】
前記検出するステップ、前記演算するステップ、前記表示するステップ、前記選択するステップ、及び前記書き換えるステップはクライアントホスト上で実行され、
前記インデックスを付けるステップ、前記ランク付けするステップ、及び前記検索するステップは前記データベースを管理するサーバ上で実行されることを特徴とする請求項６〜９のいずれか１記載の方法。
【請求項１１】
前記ユーザによってモデル化オブジェクトを選択するステップの後、
前記選択したモデル化オブジェクト及び前記初期モデル化オブジェクトを付随的に表示するステップと、
ユーザが操作すると前記選択したモデル化オブジェクトの選択を有効にするステップと、を更に含むことを特徴とする請求項１〜１０のいずれか１記載の方法。
【請求項１２】
前記選択したモデル化オブジェクトは前記初期モデル化オブジェクト上に表示され、透明度のレベルでレンダーリングされることを特徴とする請求項１１記載の方法。
【請求項１３】
前記選択したモデル化オブジェクトは置き換えた前記初期モデル化オブジェクトと同一の方向性を有することを特徴とする請求項１２記載の方法。
【請求項１４】
コンピュータ可読媒体に保存され、データベースとインタラクションを行うＣＡＤシステムのセッション内でモデル化オブジェクトを設計するコンピュータプログラムであって、
コンピュータに請求項１〜１３のいずれか１の方法の複数のステップを実施させるコード手段を含むことを特徴とするコンピュータプログラム。
【請求項１５】
データベースとインタラクションを行うＣＡＤシステムのセッション内でモデル化オブジェクトを設計する装置であって、
請求項１〜１３のいずれか１の方法の複数のステップを実行する手段を含むことを特徴とする装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はＣＡＤ（コンピュータ支援設計）の分野に関し、特に、設計セッションの間におけるシーン終了に関する。
【背景技術】
【０００２】
コンピュータ支援技術として、生産物設計をオーサリングするソフトウエアソリューション（問題解決手法）に関係するコンピュータ支援設計、すなわちＣＡＤを含むことは知られている。同様に、ＣＡＥはコンピュータ支援エンジニアリング(Computer-Aided Engineering)の頭字語であり、例えば、将来の生産物の物理的挙動をシミュレーションするソフトウエアソリューションに関係する。ＣＡＭはコンピュータ支援製造(Computer-Aided Manufacturing)の略であり、一般に、製造プロセス（工程）及び操作を定義するソフトウエアソリューションを含む。
【０００３】
多くのシステム及びプログラムは、商標ＣＡＴＩＡでダッソーシステムズ(Dassault Systemes)によって提供される製品等の生産物を形成するオブジェクト（パーツ）又はオブジェクトのアセンブリの設計のための市場で提供される。それらのＣＡＤシステムは、ユーザがオブジェクト又はオブジェクトのアセンブリの複雑な３次元（３Ｄ）モデルを構築及び操作することを可能にする。よって、ＣＡＤシステムはエッジ又は線、ある場合には面を用いてモデル化オブジェクトの表現を提供する。線又はエッジは様々な方法、例えば、ＮＵＲＢＳ(非一様有理Ｂスプライン）で表現されても良い。それらのＣＡＤシステムは大部分が構造の仕様であるモデル化オブジェクトとしてパーツ又はパーツのアセンブリを管理する。特に、ＣＡＤファイルは、構造が作り出され、表現が順に作り出されることを可能にする仕様を含んでいる。構造及び表現は単一のＣＡＤファイル又は複数のＣＡＤファイルで保存されても良い。ＣＡＤシステムはモデル化オブジェクトを設計者に表現するためにグラフィックツールを含んでいる。それらのツールは複雑なオブジェクトのディスプレイ専用である。ＣＡＤシステムにおけるオブジェクトを表現するファイルの通常のサイズはパーツ当たり１メガバイト(Megabyte)の範囲にあり、アセンブリは何千ものパーツを含んでも良い。ＣＡＤシステムは電子ファイルで保存されているオブジェクトのモデルを管理する。
【０００４】
コンピュータ支援技術において、ＧＵＩ（グラフィカルユーザインターフェース）はその技術の効率の良さについて重要な役目を行う。
【０００５】
また、製品データを共有して会社を支援するビジネス戦略に言及するＰＬＭ（Product Lifecycle Management:製品ライフサイクル管理）ソリューションは、拡張した事業のコンセプトに亘って、共通のプロセスを適用し、生産物の開発のため企業の知識を出現からそれらの生命の終わりまで利用する。関係者（会社部門、企業パートナー、供給者、ＯＥＭ(Original Equipment Manufacturer：相手先商標製品の製造会社）、及び顧客）を含むことにより、ＰＬＭは、このネットワークが生産物及びプロセスをコンセプト化、設計、構築、サポートするために１つの事業体として働くことを可能にしても良い。
【０００６】
いくつかのＰＬＭソリューションは、例えば、ディジタルモックアップ（生産物の３Ｄグラフィカルモデル）を作り出すことにより生産物を設計し開発することを可能にする。先ず、適切なアプリケーションを用いてディジタル生産物を定義してシミュレーションしても良い。よって、リーン(低品質の)ディジタル製造プロセスを定義してモデル化しても良い。
【０００７】
ダッソーシステムズによって（商標ＣＡＴＩＡ，ＥＮＯＶＩＡ，及びＤＥＬＭＩＡで）提供されるＰＬＭソリューションは、生産物エンジニアリング知識を組織化するエンジニアリングハブ(Engineering Hub)、製造エンジニアリング知識を管理する製造ハブ(Manufacturing Hub)、エンジニアリングハブ及び製造ハブ両方において企業統合及び結合を可能にする企業ハブ(Enterprise Hub)を提供する。それら全て一緒に、システムは生産物と、プロセスと、ダイナミックな知識ベースの生産物創造を可能にするリソースと、最適化生産物定義、製造準備、製造及びサービスを推し進める決定サポートとに関連するオープンオブジェクトモデルを配信する。
【０００８】
そのようなＰＬＭソリューションは生産物のリレーショナルデータベースを備えている。データベースはデータ間のテキストデータ及び関係のセットを有している。データは一般に生産物に関係した技術的データを含み、前記データはデータの階層で整理されており、検索できるようにインデックスが付けられている。そのデータはモデル化オブジェクトを表現し、モデル化オブジェクトはたびたびモデル化生産物及びプロセスである。
【０００９】
ＥＮＯＶＩＡという名称で販売されているようなＰＬＭソリューションは生産物情報を自動的に捕らえて管理し、オブジェクト（又はパーツ）の設計を容易にすることができる。例えば、ユーザは生産物、例えば、ブレーキペダルを設計することを望んでも良い。一般的なＣＡＤツールはユーザが保存されたパーツ又は生産物間を検索することを可能にする。ＰＬＭシステムにおいて用いられるデータベースは、様々なタイプのデータ及びパーツ又は生産物間の関係について問い合わせ（クエリー）をすることを可能にする。その結果、データベースのナビゲーションの範囲は最も広く可能である。実際には、ユーザはパーツ、生産物、アセンブリ、プロセス、人々、及び一般的な観点からそれらのライフサイクルを介して製造品に関係したデータの全てにアクセスを持つことができる。
【００１０】
それにも係わらず、データベースは、データがグラフィックな表現を有していないので、通常、ユーザが容易にナビゲーションしてオブジェクト（又はパーツ）を見つけることをさせない。データはファイルの名称又はタイプによって識別され、その名称はユーザが探しているアイテムを正確に識別するために十分の関係を有していない可能性がある。
【００１１】
完全性のために、データベースは特にコンピュータによる急速な検索及び取り出しのために組織化されたデータ又は情報の集合として通常定義される。データベースは、様々なデータ処理動作と関連してデータの記憶、検索、変更、及び消去を容易にするために構築される。データベースは１以上のフィールド（分野）からなるレコードに分けられ得るファイル又はファイルのセットからなる。フィールドはデータ記憶の基本単位である。ユーザは問い合わせを介して最初にデータベース情報を検索する。キーワードを用い、また命令をソートして、ユーザは急速に検索し、再配置し、グループ化して、用いられているデータベース管理の規則に従って特定のデータの集合についての報告を検索又は作り出すために多くのレコードにおいてフィールドを選択することができる。
【００１２】
一般に、設計セッションの様々なルーチンステップの間において、ユーザはオブジェクトを検索して見つけ出すことを必要とする。この目的に対し、ユーザは検索対象のオブジェクトの名称を知る（又は識別することができる）。その逆の場合に、ユーザがオブジェクトを見つけ出すことはほとんど不可能である。なぜならば、そのオブジェクトは何十億の他のオブジェクトと共に保存されているからである。加えて、データベースはユーザに知られていない、またユーザの現在の設計中のセッションに良く合う１以上のオブジェクトを保存することができる。
【発明の概要】
【００１３】
よって、設計セッションの間に関連したオブジェクトを効率よく検索するより良い最適化プロセスが必要である。
【００１４】
第１の態様によれば、本発明はデータベースとインタラクションを行うＣＡＤシステムのセッション内でモデル化オブジェクトを設計する方法として実施され、前記方法は、
ユーザによって行われる設計動作であって、前記セッション内で初期モデル化オブジェクトに適用される設計動作を検出するステップと、
前記初期モデル化オブジェクトのプロパティのセット及び/又は前記セッションのプロパティのセットからシグネチャ（signature：特徴）を演算するステップと、
前記データベース内において前記セッション内の前記初期モデル化オブジェクトの前記シグネチャに最も近似のシグネチャを有するモデル化オブジェクトを検索するステップと、
検索されたモデル化オブジェクトの表現を表示するステップと、
表示されたモデル化オブジェクトの表現の中で１つのモデル化オブジェクトをユーザによって選択するステップと、
選択された前記モデル化オブジェクトによって前記セッション内の前記初期モデル化オブジェクトを置き換えるステップと、を含む。
【００１５】
実施形態において、その方法は次の特徴の１以上を含んでも良い。
【００１６】
−上記の各ステップは前記初期モデル化オブジェクトを置き換える前記選択されたモデル化オブジェクトために繰り返されること、
−前記シグネチャを演算するステップの後、前記データベース内において前記初期モデル化オブジェクトにインデックスを付けるステップ、
−前記初期モデル化オブジェクトのインデックスキーは前記初期モデル化オブジェクトの当該演算したシグネチャであること、
−前記設計動作を検出するステップは前記セッションの変更を検出するステップを更に含むこと、
−前記データベースから検索された前記モデル化オブジェクトをランク付けするステップを更に含むこと、
−前記ランク付けは前記初期モデル化オブジェクトのシグネチャと各検索したモデル化オブジェクトのシグネチャとの間の距離に応じて実行されること、
−検索されたモデル化オブジェクトの前記表現は前記初期モデル化オブジェクトの現在のビューポイントに応じて表示されること、
−検索されたモデル化オブジェクトの前記表現はウインドウ内に表示される２次元の表現であること、
−前記検出するステップ、前記演算するステップ、前記表示するステップ、前記選択するステップ、及び前記書き換えるステップはクライアントホスト上で実行され、前記インデックスを付けるステップ、前記ランク付けするステップ、及び前記検索するステップは前記データベースを管理するサーバ上で実行されること、
−前記ユーザによってモデル化オブジェクトを選択するステップの後、前記選択されたモデル化オブジェクト及び前記初期モデル化オブジェクトを付随的に表示するステップと、ユーザが操作すると前記選択されたモデル化オブジェクトの選択を有効にするステップと、を更に含むこと、
−前記選択したモデル化オブジェクトは前記初期モデル化オブジェクト上に表示され、透明度のレベルでレンダーリングされること、
−前記選択したモデル化オブジェクトは置き換えられた前記初期モデル化オブジェクトと同一の方向性を有すること。
【００１７】
他の実施形態によれば、本発明は、コンピュータ読み取り可能な媒体に保存され、データベースとインタラクションを行うＣＡＤシステムのセッション内でモデル化オブジェクトを設計するコンピュータプログラムとして実施され、コンピュータに本発明の方法の各ステップを実施させるコード手段を含む。
【００１８】
他の実施形態によれば、本発明は、データベースとインタラクションを行うＣＡＤシステムのセッション内でモデル化オブジェクトを設計する装置として実施され、前記装置は本発明の方法の各ステップを実行する手段を含む。
【００１９】
本発明による方法の実施形態は限定されない例によって添付図面を参照して説明される。
【図面の簡単な説明】
【００２０】
【図１】グラフィカルユーザインターフェースの表示図である。
【図２】本発明の方法の実施形態のフローチャートである。
【図３】本発明の方法の実施形態を示す表示図である。
【図４】本発明の方法の実施形態を示す表示図である。
【図５】本発明の方法の実施形態を示す表示図である。
【図６】本発明の方法の実施形態を示す表示図である。
【図７】本発明の方法の実施形態を示す表示図である。
【図８】本発明を実行するために適応されたホストワークステーションアーキテクチャの実施形態の表示図である。
【発明を実施するための形態】
【００２１】
本発明はデータベース、例えば、ＰＬＭデータベースとインタラクションを行うＣＡＤシステムのセッション内でモデル化オブジェクトを設計する方法に関する。セッションはシステムにおいてユーザによって行われる作業の流れを保持し、ユーザのために特定のユーザコンテキストを有するワーキング環境を提供する。本発明による方法は、ユーザによって行われる設計動作を検出するステップを含み、その設計動作はセッション内で初期モデル化オブジェクトに適用される。そして、シグネチャは、初期モデル化オブジェクトのプロパティのセット及び／又はセッションのプロパティのセットから演算される。次に、セッション内で初期モデル化オブジェクトのシグネチャに最も近似のシグネチャを有するモデル化オブジェクトがデータベースにおいて検索される。初期モデル化オブジェクトのシグネチャを有するモデル化オブジェクトのシグネチャの近似は２つのシグネチャ間の距離で決定されても良い。よって、各シグネチャが初期モデル化オブジェクトのシグネチャと最も近似のマッチングを示すモデル化オブジェクトがデータベースにおいて検索される。それにより、データベースにおいて検索されたモデル化オブジェクトの表現は表示される。表現は例えば、２次元表現でも良い。続いて、ユーザは表示されたモデル化オブジェクトの表現のうちの１つのモデル化オブジェクトを選択する。それはユーザがモデル化オブジェクトの表現を選択することである。セッション内で初期モデル化オブジェクトが選択されたモデル化オブジェクトによって置き換えられる。
【００２２】
初期モデル化オブジェクトがユーザによって選択されたモデル化オブジェクトによって書き換えられると、本発明による方法は、選択されたモデル化オブジェクトが本発明の方法に応じてユーザによって選択された他のモデル化オブジェクトによって順に置き換えられるように繰り返されても良い。
【００２３】
よって、本発明は最初に表示されたモデル化オブジェクトを終了させる方法を提供する。そのモデル化オブジェクトは３次元のモデル化オブジェクトでも良く、３次元の終了が行われる。ユーザはデータベースに保存されたモデル化オブジェクトのうちの最も適切なモデル化オブジェクトをリアルタイムで受け取る。すなわち、そのモデル化オブジェクトは初期モデル化オブジェクトと最も近似のマッチングを有する。そのマッチングはモデル化オブジェクトの形状に関係しても良い。初期モデル化オブジェクトの形状に最も近似の形状を有するモデル化オブジェクトがユーザに提案される。検索はセッション内でモデル化オブジェクトに適用された設計動作に基づいた有効なインデックス付けに依存する。利点としては、インデックス付けはセッションのプロパティに依存することができ、よって、データベースにおいて検索されたモデル化オブジェクトの関連性を改善する。更に、本発明による方法は設計動作を容易にする。実際にはユーザはデータベースの知識なしでモデル化オブジェクトを終了することができる。例えば、ユーザはモデル化オブジェクトのドラフトを設計することができ、データベース内に保存された最も類似のモデル化オブジェクトが検索され、それらの表現がユーザに対して表示される。他の利点は、ユーザが「単一のクロック」によって設計できるように設計動作の人間工学が改善されることであり、その改善はモデル化オブジェクトを設計するために要求される時間を大幅に減少させることである。
【００２４】
図１を参照すると、例示のグラフィカルユーザインターフェース（又はＧＵＩ）１００は、標準メニューバー１１０，１２０とボタン及びサイドツールバー１４０，１５０とを有する一般的なＣＡＤ型のインターフェースであることができる。そのようなメニュー及びツールバーはユーザが選択可能なアイコンのセットを含み、その技術では周知であるように各アイコンは１以上の動作又は機能と関連している。
【００２５】
それらのアイコンのいくつかは、ＧＵＩ１００に表示されたようにモデル化生産物２００又は生産物２００のオブジェクト（パーツ）について編集及び／又は作業するために適応されるソフトウエアツールと関連している。以下の記載において、「生産物」、「パーツ」、「アセンブリ」等は簡単にするために「パーツ」として呼ばれる。「パーツ」のコンセプトは実際には「オブジェクト」のそれに一般化させることができ、オブジェクトは設計した生産物の「物理的」パーツにだけ存在でき、更に一般的にはソフトウエアツールは設計プロセスに加わる（しかしながら、最終の生産物の「中」では必要ではない）。
【００２６】
ソフトウエアツールは複数のワークベンチにグループ化されても良い。各ワークベンチはソフトウエアのサブセットを含む。特に、ワークベンチのいずれか１つは、モデル化生産物の幾何学的な特徴を編集するために適切な編集ワークベンチである。動作において、設計者は例えば、オブジェクト２００のパーツを予め選択し、そして適切なアイコンを選択することにより動作（例えば、次元、カラー等の変更）を初期化又は幾何学的な制約を編集しても良い。例えば、一般的なＣＡＤ動作はスクリーンに表示された３Ｄモデル化オブジェクトのパンチング及びフォールディングのモデリングである。
【００２７】
ＧＵＩは例えば、表示された生産物２００に関係したデータ２５０を表示しても良い。図１の例において、「特徴ツリー」として表示されたデータ２５０及びそれらの３Ｄ表現２００はブレーキキャリパー及びディスクを含むブレーキアセンブリに関連する。そのＧＵＩは例えば、オブジェクトの３Ｄの方向性を容易にするため、編集された生産物の動作のシミュレーションを始動させるため又は生産物２００の様々な属性をレンダーリングするため、行われるべき動作を選択するため、様々なタイプのグラフィックツール１３０，４００，１７０，１８０を更に示しても良い。その動作は、例えば、マウス等の触覚装置と関連してカーソル１６０を介して、又はＧＵＩ１００を表示可能なタッチ検出スクリーン等のタッチ検出装置に直接ユーザによって行われるインタラクションを介して始動されても良い。
【００２８】
図２を参照すると、データベースとインタラクションを行うＣＡＤシステムのセッション内でモデル化オブジェクトを設計する本発明の方法の実施形態のフローチャートが示されている。
【００２９】
ステップＳ１０では、ユーザはＧＵＩにおけるセッション内で初期モデル化オブジェクトとインタラクションを行う。そのＧＵＩは図１に示されたようなものであっても良い。初期モデル化オブジェクトとのインタラクションは、ユーザが操作すると設計動作がそのオブジェクトについて行われることを意味する。設計動作はオブジェクトのパーツを選択すること、幾何学的な制約を編集すること、幾何学的な特徴を編集すること、モデル化オブジェクトのビューポイントを変更すること等にあっても良い。実際に、設計動作は、初期モデル化オブジェクト、及び更に一般的にはモデル化オブジェクトについて変更が生じる毎に実行される。また、初期モデル化オブジェクトとのインタラクションは、ユーザが操作するとセッションの変更が行われることを意味することができる。実際には、セッションの変更は初期モデル化オブジェクトについて影響を有し、例えば、オブジェクトの空間位置がセッションによって決定されても良い。
【００３０】
セッションはユーザがシステムとのインタラクションを行っている区切りの期間である。セッションは時間内のある点で開始又は確立され、時間内のその後の点で停止する。一般に、セッションはユーザのログイン後に開始され、ユーザのログアウト後に停止する。セッションはユーザのコンテキストを保存するためにシステムにおいてユーザによって行われた作業の流れを保持する。この方法によって、システムの状態は、ユーザが再度ログインしたときに元の状態に回復させることができる。ユーザコンテキストはユーザのシステムとの関連性についての情報のセットを含む。ユーザとシステムとの間のインタラクションは、システムがユーザの必要性に適応するように好ましく自分流にアレンジすることができる。セッションはプロパティのセットを含むことができる。例えば、ユーザのプロファイルはセッションのプロパティであることができる。プロファイルはユーザと関連した、その識別（例えば、ファーストネーム、ファミリーネーム、ニックネーム等）、特性（システム、データベース、オブジェクト等についてアクセス権）等のパーソナルデータの集合にある。また、セッションは特定のワークベンチ及び/又はツールのローディングと共に、オブジェクトの空間位置の流れを保持しても良い。オブジェクトの空間位置及び特定のワークベンチ及び／又はツールのローディングはそのセッションのプロパティであることができる。
【００３１】
初期モデル化オブジェクトとのインタラクションはホストクライアントにおいて好ましくは行われる。ホストクライアントはユーザが設計動作を行うＣＡＤシステム（例えば、ＣＡＤアプリケーションを実行するコンピュータシステム又はワークステーション）であっても良い。ホストクライアントはデータベースとインタラクションを行う。また、ホストクライアントがデータベースを管理するサーバと関連している又は接続されていると言うことができる。例えば、ユーザがホストクライアントで初期モデル化オブジェクトを選択するとき、その初期モデル化オブジェクトはサーバ上のデータベースにおいて検索され、ホストクライアントに送られ、そこで表示される。ホストクライアント及びサーバはその技術で知られているように同一のシステムに設置され、又は個別のシステムに設置されても良いことが理解されるべきである。
【００３２】
ステップＳ２０では、ユーザによって行われる設計動作が検出される。その設計動作はセッション内で初期モデル化オブジェクトに適用される。その検出はその技術で知られているように行われる。
【００３３】
ユーザが操作するとセッションの変更が検出されても良い。前述したようにセッションの変更はセッション内でロードされた初期モデル化オブジェクト上での影響を有する。実際に、ユーザのプロファイル、そのオブジェクトの空間位置、特定のワークベンチ及び／又はツールのローディング等のセッションのプロパティが変更され、加えられ、又は削除される。
【００３４】
モデル化オブジェクトは３次元（３Ｄ）のモデル化オブジェクトであっても良い。３次元（３Ｄ）のモデル化オブジェクトは３次元（３Ｄ）空間におけるオブジェクトの記述である。３Ｄ空間は物理的な宇宙の幾何学的モデルであり、それは座標によって３次元空間における全ての点を述べる形状によって数学的に表現されても良い。更に、３次元空間を説明する他の方法は存在する。３Ｄモデル化オブジェクトは主に形状が生成される仕様を参照する。よって、３Ｄモデル化オブジェクトは３Ｄオブジェクト、すなわち、三角形、線、カーブした表面等の様々な幾何学的エンティティ（実体）によって接続された３Ｄ空間における複数の点の集合を示す数学的記述である。３Ｄモデル化オブジェクトは３Ｄモデル化オブジェクトの３Ｄ表現によって表される。一般に、３Ｄ表現は、ＧＵＩにおいて表示され、よって、３Ｄシーンであるシーンにおいて表示されても良い。３Ｄで表示されるオブジェクトでは全ての角度からそのオブジェクトが見えることを可能にする。例えば、オブジェクトが操作され、何らかのその軸の周り、又はスクリーンにおける何らかの軸の周りを回転しても良い。
【００３５】
設計動作が検出された後、シグネチャが初期モデル化オブジェクトのプロパティのセット又はセッションのプロパティのセット、又はプロパティの両方のセットの組み合わせから演算される（ステップＳ３０）。そのシグネチャはモデル化オブジェクトを識別するためのユニークスキーム又は記述子である。シグネチャを演算するために何らかのアルゴリズムを用いることができる。例えば、文書Kazhdan, K. and Funkhouser, T., "Harmonic 3D shape matching Full text" in International conference on Computer Graphics and Interactive Techniques, ACM SIGGRAPH 2002 conference, San Antonio, Texas, 2002, page 191 - 191, ISBN:1-58113-525-4に示されたように、シグネチャが初期モデル化オブジェクトのプロパティのセットから単独で演算されるとき、形状記述子抽出プロセスが用いられても良い。
【００３６】
代替的に、シグネチャはいくつかのシグネチャ、例えば、第１のシグネチャ及び第２のシグネチャから構成されても良い。例えば、第１のシグネチャは初期モデル化オブジェクト（例えば、幾何学的制約、幾何学的特徴、モデル化オブジェクトのビューポイント）のプロパティのセットから開始して演算されても良く、第２のシグネチャはセッションのプロパティのセットから演算されても良い。第１のシグネチャ及び第２のシグネチャを各々演算するために２つの異なるアルゴリズムを用いることができることが理解させるべきである。
【００３７】
実際に、シグネチャはマトリックス（例えば、サイズ１００の）の形状にあり、そのエレメントは浮動小数点数である。代替的に、シグネチャはいくつかのシグネチャを構成するならば、多くのマトリックスを含んでも良い。
【００３８】
好ましくは、シグネチャの演算はクライアントサイドで行われる。これはホストクライアントとデータベースを収納するサーバとの間でのデータ交換を有利に限定する。例えば、バンド幅等のネットワークリソースが保護される。加えて、サーバのリソースはシグネチャの演算には含まれないように保護される。
【００３９】
次に、ステップＳ４０では、初期モデル化オブジェクトはデータベースにおいてインデックス付けされる。データベースは、その技術では知られているように、データベースのテーブルに保存されたモデル化オブジェクトを見つけ出すためのインデックスキーを保存するデータベースインデックスを含む。初期モデル化オブジェクトの演算されたシグネチャはデータベースにおいて初期モデル化オブジェクトを参照するためのインデックスキーとして用いられる。
【００４０】
よって、データベースインデックスは、ユーザが設計動作及び／又はセッションの修正を行う毎に継続的に終了される。これはステップＳ１０ないしＳ４０が例えば、バックグランドで動作する専用プロセスにより継続的に実行されることである。
【００４１】
好ましくは、インデックス付けステップはデータベースを管理するサーバによって実行される。ホストクライアントが初期モデル化オブジェクトのシグネチャを演算すると、そのシグネチャはそのデータベースを管理するサーバに送信される。
【００４２】
代替的に、データベースは少なくとも２つのデータベースインデックスを含んでも良い。例えば、第１のデータベースインデックスは初期モデル化オブジェクトのプロパティのセットから演算されたインデックスキーを保存し、第２のデータベースインデックスはセッションのプロパティのセットから演算されたインデックスキーを保存しても良い。これは、種類分けされたセマンティックスを有する情報を切り離すこと、並びにインデックスのライフサイクル及びリフレッシュを分離して管理することを可能にする。例えば、第１のデータベースインデックスはセッションプロパティの編集変更が行われた後に単にリフレッシュされ、第２のデータベースインデックスはセッションプロパティの変更後にリフレッシュされる。データベースインデックスは１つ又はいくつかのサブインデックスに分割されても良いことが理解されるべきである。例えば、データベースに保存されたモデル化オブジェクトの幾何学的なプロパティに関連したインデックス、モデル化オブジェクトのメタデータのセマンティックスに関連したインデックス、モデル化オブジェクトの材料に関連したインデックス等に第１のインデックスをサブ分割することができる。
【００４３】
そして、ステップＳ５０では、モデル化オブジェクトはそれらの各シグネチャに応じてデータベースにおいて検索される。この目的に対しては、初期モデル化オブジェクトのシグネチャに最も近似のシグネチャを有するモデル化オブジェクトがデータベースにおいて識別される。これは、識別されたモデル化オブジェクトが初期モデル化オブジェクトのプロパティのセット及び／又はセッションのプロパティのセットについて初期モデル化オブジェクトのシグネチャと最もマッチングするシグネチャを有することである。データベースにおいて検索された各モデル化オブジェクトの各シグネチャが初期モデル化オブジェクトと同じ方法で演算されたことが理解されるべきである。
【００４４】
そして、ステップＳ６０では、データベースにおいて検索されたモデル化オブジェクトはランク付けされる。ランク付けは、初期モデル化オブジェクトのシグネチャと各検索したモデル化オブジェクトのシグネチャとの間の距離に依存しても良い。その距離は初期モデル化オブジェクトのシグネチャと検索したモデル化オブジェクトのシグネチャとの近似度を表す値である。よって、検索したモデル化オブジェクトのシグネチャの中の最も近似のシグネチャを有するモデル化オブジェクトはランク付けの最上位であることができ、検索したモデル化オブジェクトのシグネチャの中の最も近似でないシグネチャを有するモデル化オブジェクトはランク付けの最下位であることができる。利点として、ユーザは初期モデル化オブジェクトと最も類似のモデル化オブジェクトを容易に識別することができる。
【００４５】
このプロセスの段階では、データベースを管理するサーバは、それらの各シグネチャと初期モデル化オブジェクトのシグネチャとの間の比較においてデータベースに保存された識別モデル化オブジェクトを有し、初期オブジェクトのシグネチャと最も近似のシグネチャを有するモデル化オブジェクトは検索され、その初期モデル化オブジェクトのシグネチャとそれらのシグネチャとの類似性に基づいてランク付けされる。
【００４６】
その後、各検索したモデル化オブジェクトの表現は表示される（ステップＳ７０）。一般的に、モデル化オブジェクトの２次元（２Ｄ）表現が演算される。２Ｄ表現は１つの角度からのモデル化オブジェクトを見ることを可能にする。よって、モデル化オブジェクトについての情報は２Ｄ空間に記述される。検索したモデル化オブジェクトの２Ｄ表現は例えば、アイコンであっても良い。
【００４７】
好ましくは、表現の演算はデータベースを管理するサーバによって実行される。この方法によって、モデル化オブジェクトをホストクライアントに送る必要がなく、よって、バンド幅等のネットワークリソースが保護される。
【００４８】
各表現が演算されると、例えば専用のウインドウ内にＧＵＩでそれらの表現を表示することができる。ウインドウはその技術では知られているように、ＧＵＩにおいて表示されるビジュアルエリアである。好ましくは、検索したモデル化オブジェクトのランク付けをユーザにグラフィカルで理解できるように検索したモデル化オブジェクトの各表現が表示される。例えば、各表現は、専用のウインドウ内にランク順に下方に１つずつ表示されても良い。
【００４９】
更に、各表現は初期モデル化オブジェクトの現在のビューポイントに応じて表示されても良い。換言すると、各表現は初期モデル化オブジェクトとして３Ｄ空間に同様の位置及び方向性で表示される。実際に、２つの（又は以上）のオブジェクトの共通の方向性を決定するいくつかの方法が存在する。例えば、３Ｄオブジェクトの配置を演算する最も良く知られたアプローチは３Ｄモデルのモーメントの計算に基づいている主成分分析方法（ＰＣＡ）である。
【００５０】
表示された表現及び初期モデル化オブジェクトの共通の方向性により、ユーザは初期モデル化オブジェクトと検索したモデル化オブジェクトとの間の類似性を更に容易に理解することができ、それは設計プロセスを改善しより速くする。
【００５１】
次いで、ステップＳ８０では、ユーザは表示されたモデル化オブジェクトの表現の中の１つのモデル化オブジェクトを選択する。それは、ユーザがデータベースにおいて検索されたモデル化オブジェクトのうちの１つの表現を選択することである。表現の選択はその技術で知られているように、例えば、表現（例えば、アイコン）を介して触覚装置のカーソルを操作することによって行われる。
【００５２】
モデル化オブジェクトが選択されると、ステップＳ９０が実行される。その選択したモデル化オブジェクトは、既に表示された初期モデル化オブジェクトと共に表示される。よって、その選択したモデル化オブジェクト及び初期モデル化オブジェクトは付随して表示される。
【００５３】
好ましくは、その選択したモデル化オブジェクトは初期モデル化オブジェクトの上に表示され、ユーザが初期モデル化オブジェクト及び選択したモデル化オブジェクトの両方を見ることができるようにあるレベルの透明度でレンダーリングされる。ユーザの必要性に応じてその透明度をユーザによって調整することができる。この方法によって、ユーザは、選択したモデル化オブジェクトが初期モデル化オブジェクトとマッチングするか否かを容易に見ることができる。
【００５４】
ユーザが選択しモデル化オブジェクトを保持することを決定したならば、ユーザは選択したモデル化オブジェクトによる初期モデル化オブジェクトの置き換えを有効にする（ステップＳ１００）。このプロセスのステップでは、選択したモデル化オブジェクトだけが表示される。反対に、選択したモデル化オブジェクトがユーザの必要性を満たさないとユーザが考えたならば、ユーザはその置き換えを有効にせず、そのプロセスはステップＳ７０で再開しても良い。
【００５５】
その選択の有効の後、選択したモデル化オブジェクトがデータベースにおいて検索され、そしてユーザによって選択された他のモデル化オブジェクトによって順に置き換えられるように全プロセスが繰り返されても良い。
【００５６】
図３を参照すると、初期の３次元モデル化オブジェクト２００が図１に示したものと同様のＧＵＩ１００で表示されている。ＧＵＩ１００はユーザ、例えば、設計者のワークステーションで動作するＣＡＤシステムの一部である。そのＣＡＤシステムはデータベースと接続され、そこにモデル化オブジェクト２００は保存されている。初期モデル化オブジェクト２００はユーザによって選択されている。その初期モデル化オブジェクトの選択はツリー２５０の使用により行われても良い。また、例えば、初期モデル化オブジェクトについての識別情報を入力すること、初期モデル化オブジェクトをリストで選択すること等によって他の種類のユーザインターフェースにより、ユーザは初期モデル化オブジェクトを選択することができる。選択されると、モデル化オブジェクトはユーザのワークステーションに送信され、表示される。
【００５７】
図４を参照すると、ユーザはモデル化オブジェクト２００について設計動作（図示せず）を行っている。その設計動作は、モデル化オブジェクト２００のシグネチャが演算されるように検出されている。そのシグネチャはオブジェクト２００にインデックス付けをするためにデータベースに送信されている。
【００５８】
ユーザは、オブジェクト２００に類似したモデル化オブジェクトを検索することをＣＡＤシステムに知らせるためにＧＵＩにおいて、その技術では知られているように例えば、ツールバー１２０，１５０上のツールをカーソル１６０で選択することにより作業を行っている。その結果、演算されたシグネチャはデータベースに既に保存されたシグネチャと比較される。モデル化オブジェクトのシグネチャに最も近似のシグネチャを有するモデル化オブジェクトがデータベースにおいて検索され、それらの各２Ｄ表現が演算されている。そして、その各２Ｄ表現はユーザのワークステーションに送信されている。
【００５９】
ユーザのワークステーションで受信されると、その２Ｄ表現３２０，３２２，３２４，３２６はＧＵＩ１００において、更に正確にはウインドウ３００内で表示される。ウインドウ３００は好ましくはウインドウに含まれた２Ｄ表現とカーソルとの間の距離が制限されるようにカーソル１６０の近くに配置され（例えば、カーソル及びウインドウの境界間が所定の画素数）、よって、それに続く２Ｄ表現を選択するステップが更に直ちに行われ、人間工学的なことが改善される。モデル化オブジェクト２００とデータベースにおいて検索されたモデル化オブジェクトとの間の類似性に応じて決定されたランク付けに従ってその２Ｄ表現が表示される。また、ウインドウ３００内に表示された４つの表現のいずれもがユーザには都合がよくないならば、ユーザは例えば、メニューの「ｎｅｘｔ」３２８を選択することによりモデル化オブジェクトの更なる表現をさせるためにシステムに尋ねることができる。更に、図４に示されたように、表現３２０，３２２，３２４，３２６はオブジェクト２００の１つに類似しているビューポイントで示されている。ユーザがモデル化オブジェクト２００のビューポイントを変更する一方、表現３２０，３２２，３２４，３２６が表示されるならば、その２Ｄ表現がその新たな１つに類似したビューポイントを保持するために再演算されることが理解されるべきである。
【００６０】
図５を参照すると、ユーザは２Ｄ表現３２２を選択するためにその２Ｄ表現３２２上にカーソル１６０を移動する。図５に示されたように、カーソル１６０はモデル化オブジェクトを選択するために表現されたモデル化オブジェクトのテキスト記述上にあっても良い。２Ｄ表現３２２によって表現されたモデル化オブジェクトが選択可能であることを示すためにそれがハイライト化されている。
【００６１】
図６を参照すると、選択したモデル化オブジェクトがＧＵＩ１００に３Ｄモデル化オブジェクトとして現在表示されている。選択したモデル化オブジェクトはモデル化オブジェクト２００上に表示され、ユーザがモデル化オブジェクト２００を見ることができるように各透明度レベルでレンダーリングされている。よって、モデル化オブジェクト２００と選択したモデル化オブジェクト２１０との幾何学的な差異をユーザが容易に理解することができる。
【００６２】
その選択に付随して、２Ｄ表現を示すウインドウは除去され、新たなウインドウ３１０がＧＵＩ１００には表示されている。新たなウインドウ３１０は選択した３Ｄモデル化オブジェクト２１０の２Ｄ表現３２３を示している。この２Ｄ表現は、図５で参照されるウインドウ３００内で前に表示された２Ｄ表現３２２と同じでも良い。ウインドウ３１０は、モデル化オブジェクト２００を選択したモデル化オブジェクト２１０で置き換えることを望む場合にユーザがクリックするエリア３１２を更に含む。
【００６３】
ユーザがモデル化オブジェクト２００の選択したモデル化オブジェクト２１０による置き換えを有効にするためにエリア３１２上をクリックすると、モデル化オブジェクト２００はもはや表示されず、特徴ツリー２５０は図７に示されたようにその置き換えを反映するために補正されている。今、ユーザはもはや透明ではないモデル化オブジェクト２１０上で作業することができる。各設計動作及び／又は検出されたセッションの変更はモデル化オブジェクトのインデックス付けを引き起こす。ユーザはいつでもモデル化オブジェクト２１０と類似のモデル化オブジェクトを検索することをＣＡＤシステムに知らせることができる。
【００６４】
ＣＡＤ／ＣＡＭ／ＣＡＥシステム、又はオブジェクトのビューを表示するために用いられたシステムによって定義され得る構成において上記の方法をオブジェクトに適用することができることが理解されるべきである。本発明はディジタル電子回路において、又はコンピュータハードウエア、ファームウエア、ソフトウエアにおいて、又はそれらの組み合わせにおいて実施されても良い。本発明の装置はプログラマブルプロセッサによる実行のためにマシン読み取り可能な記憶装置において明白に具体化されたコンピュータプログラム製品で実施されても良く、本発明の方法ステップは、入力データについて動作し出力を生成することによって本発明の機能を行う命令のプログラムを実行するプログラマブルプロセッサによって行われても良い。
【００６５】
本発明は、データ記憶装置、少なくとも１つの入力装置、及び少なくとも１つの出力装置からのデータ及び命令を受信し、それらにデータ及び命令を送信するために接続された少なくとも１つのプログラマブルプロセッサを含むプログラマブルシステムで実行可能な１以上のコンピュータプログラムにおいて都合良く実施されても良い。アプリケーションプログラムは高レベル手続き型又はオブジェクト指向型のプログラミング言語で、又は望むならばアセンブリ言語又は機械言語で実施されても良く、場合によっては言語はコンパイルされた言語又はインタープリタ型言語でも良い。
【００６６】
一般に、プロセッサはＲＯＭ（リードオンリメモリ）及び／又はＲＡＭ（ランダムアクセスメモリ）から命令及びデータを受け入れる。コンピュータプログラム命令及びデータを明白に具体化するために適切な記憶装置は、例としてＥＰＲＯＭ、ＥＥＰＲＯＭ及びフラッシュメモリ装置等の半導体メモリ装置、内部ハードディスク及びリムーバブルディスク等の磁気ディスク、光磁気ディスク、及びＣＤ−ＲＯＭディスクを含む不揮発性メモリの全ての形を含む。上述のことのいくつかは特に設計されたＡＳＩＣ（Application Specific Integrated Circuit）によって補足され、又はそれに組み込まれても良い。
【００６７】
図８はクライアントコンピュータ、例えば、ユーザのワークステーションを示している。クライアントコンピュータは、内部通信バス８００に接続された中央処理ユニット（ＣＰＵ）８０１と、また内部通信バス８００に接続されたＲＡＭ（ランダムアクセスメモリ）８０７とを含む。クライアントコンピュータには、内部通信バス８００に接続されたビデオランダムアクセスメモリ（ビデオＲＡＭ）８１０と関連があるグラフィカル処理ユニット（ＧＰＵ）８１１が更に備えられている。ビデオＲＡＭ８１０はフレームバッファとしてその技術では知られている。大容量記憶装置コントローラ８０２はハードドライブ８０３等の大容量メモリ装置へのアクセスを管理する。コンピュータプログラム命令及びデータを明白に具体化するために適切な大容量メモリ装置は、例としてＥＰＲＯＭ、ＥＥＰＲＯＭ及びフラッシュメモリ装置等の半導体メモリ装置、内部ハードディスク及びリムーバブルディスク等の磁気ディスク、光磁気ディスク、及びＣＤ−ＲＯＭディスク８０４を含む不揮発性メモリの全ての形を含む。上述のことのいくつかは特に設計されたＡＳＩＣ（Application Specific Integrated Circuit）によって補足され、又はそれに組み込まれても良い。ネットワークアダプタ８０５はネットワーク８０６へのアクセスを管理する。また、クライアントコンピュータはカーソル制御装置、キーボード等の触覚装置８０９を含んでも良い。カーソル制御装置はユーザにディスプレイ１０８上の所望位置にカーソルを選択的に位置させるためにクライアントコンピュータにおいて用いられる。加えて、そのカーソル制御装置はユーザに様々な命令及び入力制御信号を選択させる。そのカーソル制御装置はシステムへの入力制御信号のために多くの信号生成装置を含む。一般に、カーソル制御装置はマウスであっても良く、マウスのボタンは信号を生成するために用いられる。
【００６８】
本発明の好ましい実施形態の説明が行われた。様々な変更が本発明の精神及び範囲から離れることなくされても良いことが理解される。よって、他の実施は次の特許請求の範囲内である。例えば、選択したモデル化オブジェクトの表現はユーザによって操作され得る３Ｄモデル化オブジェクトの３Ｄ表現であっても良い。
【図１】
2012069108.tif 000003
【図２】
2012069108.tif 000004
【図３】
2012069108.tif 000005
【図４】
2012069108.tif 000006
【図５】
2012069108.tif 000007
【図６】
2012069108.tif 000008
【図７】
2012069108.tif 000009
【図８】
2012069108.tif 000010
【外国語明細書】
2012069108000001.pdf