(57)【特許請求の範囲】
【請求項１】
実世界オブジェクトの対象のコンピュータ支援型設計（ＣＡＤ）モデルにおけるエンティティ間に制約を自動的に追加するコンピュータにより実行される方法であって、
ＣＡＤモデルエンティティおよび関連制約に関する情報をコンピュータデータベースに格納するステップであって、前記ＣＡＤモデルエンティティは、前記対象のＣＡＤモデルおよび他のＣＡＤモデルのうち少なくとも１つの、１つまたは複数のコンポーネントに属する、該ステップと、
前記コンピュータデータベースにアクセスして、前記コンピュータデータベースに格納された以前使用のデータに基づいて、所与のコンポーネントと一般に一致される追加コンポーネントを決定し、および、前記ＣＡＤモデルにおける所与のコンポーネントの少なくとも１つのエンティティに対する以前に使用された制約を決定するステップと、
前記以前に使用された制約に基づいて、前記対象のＣＡＤモデルにおける前記所与のコンポーネントの少なくとも１つのエンティティと前記追加コンポーネントの少なくとも１つのエンティティとの間に制約を自動的に追加するステップと
を備えたことを特徴とするコンピュータにより実行される方法。
【請求項２】
前記所与のコンポーネントの制約をもたらすジオメトリおよびトポロジのうち少なくとも１つを検出するためのルールを利用するステップをさらに備えたことを特徴とする請求項１に記載のコンピュータにより実行される方法。
【請求項３】
前記ルールは、追加の潜在的なエンティティを検出して前記所与のコンポーネントを制約できるようにユーザによって拡張可能であることを特徴とする請求項２に記載のコンピュータにより実行される方法。
【請求項４】
前記コンピュータデータベースに格納されたコンポーネントに対する以前に使用された制約をインデックス化するステップをさらに備え、前記コンピュータデータベースにアクセスして以前に使用された制約を決定するステップは、インデクシング技術を利用することを特徴とする請求項１に記載のコンピュータにより実行される方法。
【請求項５】
前記コンピュータデータベースにアクセスして以前に使用された制約を決定するステップは、他のＣＡＤモデルにおいて前記所与のコンポーネントに対して最も頻繁に使用された一致関係に基づいて前記制約を決定するステップを含むことを特徴とする請求項１に記載のコンピュータにより実行される方法。
【請求項６】
前記コンピュータデータベースに情報を格納するステップは、ＣＡＤモデルエンティティおよび関連制約に関する情報を複数のユーザによってアクセス可能な製品データ管理データベースに格納するステップを含むことを特徴とする請求項１に記載のコンピュータにより実行される方法。
【請求項７】
前記ＣＡＤモデルに前記所与のコンポーネントを挿入するプロセス中の期間および前記ＣＡＤモデルに前記所与のコンポーネントが挿入された後の期間のうちの１つにおいて選択するための１つまたは複数の制約を、前記ＣＡＤモデルの設計技術者に提示するステップをさらに備えたことを特徴とする請求項１に記載のコンピュータにより実行される方法。
【請求項８】
正しい一致タイプを決定するために前記所与のコンポーネントを分析するステップをさらに備えたことを特徴とする請求項１に記載のコンピュータにより実行される方法。
【請求項９】
実世界オブジェクトの対象のコンピュータ支援型設計（ＣＡＤ）モデルにおけるエンティティ間に制約を自動的に追加するコンピュータ支援型設計システムであって、
ＣＡＤモデルエンティティおよび関連制約に関する情報を格納するように構成されたコンピュータデータベースであって、前記ＣＡＤモデルエンティティは、前記対象のＣＡＤモデルおよび他のＣＡＤモデルのうち少なくとも１つの、１つまたは複数のコンポーネントに属する、該コンピュータデータベースと、
コンピュータ読取可能プログラムコードを記憶した記憶手段と、
前記コンピュータデータベースに動作可能に接続され、前記記憶手段から読み出された前記コンピュータ読取可能プログラムコードを処理するように構成されたプロセッサと
を備え、
前記コンピュータ読取可能プログラムコードは、前記プロセッサに、
前記コンピュータデータベースにアクセスして、前記コンピュータデータベースに格納された以前使用のデータに基づいて、所与のコンポーネントと一般に一致される追加コンポーネントを決定し、および、前記ＣＡＤモデルにおける所与のコンポーネントの少なくとも１つのエンティティに対する以前に使用された制約を決定することと、
前記以前に使用された制約に基づいて、前記対象のＣＡＤモデルにおける前記所与のコンポーネントの少なくとも１つのエンティティと前記追加コンポーネントの少なくとも１つのエンティティとの間に制約を自動的に追加することと
を実行させることを特徴とするコンピュータ支援型設計（ＣＡＤ）システム。
【請求項１０】
前記コンピュータ読取可能プログラムコードは、前記プロセッサに、請求項２ないし８のいずれかに記載の方法を実行させることを特徴とする請求項９記載のコンピュータ支援型設計（ＣＡＤ）システム。
【請求項１１】
コンピュータに、請求項１ないし８のいずれかに記載の方法を実行させることを特徴とするプログラム。
【請求項１２】
請求項１１に記載のプログラムを記録したことを特徴とするコンピュータ可読記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、以前の使用データに基づく自動コンポーネントの挿入および制約に係る方法およびシステムに関する。
【０００２】
関連出願の記載
本願は、２０１１年９月２３日出願の米国特許出願第１３／２４２，７９２号の継続出願である。当該出願の教示事項の全体は引用により本明細書に組み込まれる。
【背景技術】
【０００３】
コンピュータ支援型設計（ＣＡＤ）ソフトウェアは、ユーザに、複雑な３次元（３Ｄ）モデルを構築させおよび操作させることができる。幾つかの様々なモデリング技術を使用して３Ｄモデルを生成することができる。１つのかかる技術はソリッドモデリング技術であり、トポロジ３Ｄモデルを提供する。当該３Ｄモデルは、相互接続されたトポロジエンティティ（例えば、頂点、枝、および面）の集合である。トポロジエンティティは、対応するサポート幾何エンティティ（例えば、点、トリム曲線、およびトリムサーフェス）を有する。当該トリムサーフェスは、枝によって画されたトポロジ面に対応する。ＣＡＤシステムでは、ソリッドモデリング、およびパラメトリックモデリング技術のような他のモデリング技術が組み合わせられることがある。パラメトリックモデリング技術を使用して、モデルの様々なフィーチャおよびコンポーネントに対して様々なパラメータを定義することができ、当該様々なパラメータ間の関係に基づいてこれらのフィーチャとコンポーネントとの関係を定義することができる。
【０００４】
設計技術者は３Ｄ  ＣＡＤシステムの典型的なユーザである。設計技術者は、３Ｄモデルの物理的態様および美的態様を設計し、３Ｄモデリング技術に長けている。設計技術者は、部品を生成し、当該部品をサブアセンブリにアセンブルしてもよい。サブアセンブリは、他のサブアセンブリから構成されることもある。アセンブリは、部品およびサブアセンブリを用いて設計される。部品およびサブアセンブリは、集合的にコンポーネントと称する。
【０００５】
ソリッドモデリングシステムは、部品が様々なフィーチャを用いて構築されるフィーチャベースの３Ｄ  ＣＡＤシステムであってもよい。フィーチャの例には、ボス、フィレット、チャンファ、カット、ホール、シェル、ロフト、およびスイープがある。市販のフィーチャベースのモデリングシステムには、マサチューセッツ州コンコルドのＤａｓｓａｕｌｔ  Ｓｙｓｔｅｍｅｓ  ＳｏｌｉｄＷｏｒｋｓ社から入手可能なＳｏｌｉｄＷｏｒｋｓ（登録商標）２０１１ソフトウェアシステムがある。ＳｏｌｉｄＷｏｒｋｓのソフトウェア、および他の市販のＣＡＤシステムは、部品、サブアセンブリ、およびアセンブリのコンテンツを、データファイルに格納する。フィーチャに加えて、ＣＡＤデータファイルのコンテンツが、設計プロフィール、レイアウト、内部コンポーネント（例えば、ボディ）、およびグラフィカルエンティティを含んでもよい。
【０００６】
コンポーネントをできるだけ頻繁に再利用することは、確立された設計のベスト・プラクティスである。例えば、自動車の製造者はしばしば、自動車の幾つかのモデルに同じ車輪を使用しようとする。自動車自体は非常に異なっているかもしれないが、車輪を自動車に取り付ける方法は通常は同じである。即ち、車輪の中心は通常は車輪のセンター穴を通じてハブにあり、耳付きナットまたはボルトを通じて車両に取り付けられる。
【０００７】
最新のＣＡＤシステムでは、例えば、設計技術者が車輪を新たな車両設計モデルに挿入するとき、設計技術者は制約プロセスを実行して車輪を車両に取り付ける必要があるかもしれない。ＣＡＤシステムで部品に対して制約関係（例えば、一致関係）を定義することは、制約関係において部品ごとに多数のマウス・クリックを必要とする面倒なプロセスでありうる。しかし、多くの場合、設計技術者によって制約されるコンポーネントは、以前に設計技術者の組織またはコミュニティの他の誰かによって制約されており、および新たなモデルにおける同様な制約関係を確立する作業は、少なくとも一部は他者が既に行った作業の繰返しである。即ち、同様な制約プロセスは、車輪が同様に取り付けられた以前の車両設計で既に実行されている場合がある。
【０００８】
当該課題に対する今日のアプローチには、ジオメトリベースのソリューションおよび所定の一致参照（ｍａｔｅ−ｒｅｆｅｒｅｎｃｅ）ソリューションがある。ジオメトリベースのソリューションでは、設計技術者は一致すべき特定のジオメトリを選択およびドラッグするかまたは別の方法で指定することができる。ＳｏｌｉｄＷｏｒｋｓ（登録商標）ソフトウェアでは、ＳｍａｒｔＭａｔｅｓツールがジオメトリベースのソリューションを提供する。ＳｍａｒｔＭａｔｅｓを使用して、或るコンポーネント上の円形エッジおよび第２のコンポーネント上の円形パターンがマッチする（例えば、同じ半径を有する）と判定することができ、同心一致を追加して円形エッジと円形パターンを整列させることができる。当該アプローチは、コンポーネントの以前の使用から何らインテリジェンスを再利用しない。
【発明の概要】
【発明が解決しようとする課題】
【０００９】
所定の一致参照ソリューションにより、設計技術者は、後に必要となりうる一致の選択および指定を通じて事前に制約関係を手動で定義することができる。定義が完了すると、特定の条件が満たされればコンポーネントを自動的に制約することができる。しかし、この事前セットアップ要件は適用の障壁であることがわかっている。なぜならば、殆どのケースにおいては、コンポーネントを手動で制約することの方が、時間を取って制約参照を事前に定義するよりも簡単であるからである。さらに、事前の一致参照ソリューションでは、最も一般的に使用されるコンポーネントを除いては設計技術者があまりにも面倒と感じる或るレベルの熟考と構成が必要である。したがって、事前に一致参照を定義するのは、設計技術者の時間を常に効率的に使用するものではない。
【課題を解決するための手段】
【００１０】
一般に、一態様では、本発明の諸実施形態は、対象のＣＡＤモデルにおけるエンティティ（即ち、現在進行中の作業）間に制約を自動的に追加するコンピュータにより実行される方法を特徴とする。当該方法には、ＣＡＤモデルエンティティおよび関連に関する情報をコンピュータデータベースに格納するステップを含む。ＣＡＤモデルエンティティは、対象のＣＡＤモデルおよび／または他のＣＡＤモデルに属する。対象のモデルに追加すべき所与のコンポーネントに対して、データベースにアクセスして、追加すべき所与のコンポーネントの少なくとも１つのエンティティに対する以前に使用された制約を決定する。以前に使用された制約に基づいて、対象のモデルにおける所与のコンポーネントの少なくとも１つのエンティティと別のエンティティとの間に制約を自動的に追加する。さらに、所与のコンポーネントの制約をもたらすジオメトリおよび／またはトポロジを検出するためのルールを利用してもよく、当該ルールを、追加の潜在的なエンティティを検出して所与のコンポーネントを制約できるようにユーザによって拡張することができる。
【００１１】
幾つかの実施形態では、データベースにアクセスして、データベースに格納された以前使用のデータに基づいて、所与のコンポーネントとともに一般に使用される追加コンポーネントを決定し、および対象のＣＡＤモデルで使用されるように、所与のコンポーネントと追加コンポーネントのエンティティ間に制約を自動的に追加することができる。データベース内の情報は、製品データ管理（ＰＤＭ）または製品ライフサイクル管理（ＰＬＭ）データベースのような、コンポーネント管理データベースにおけるＣＡＤモデルエンティティおよび関連制約に関する情報を含んでもよく、複数のユーザによってアクセス可能であってもよい（例えば、データベースは、インターネットを介して、かつ、互いに無関係なユーザにより公にアクセス可能であってもよい）。さらに、諸実施形態では、データベースに格納されたコンポーネントに対する以前に使用された制約にインデックスを付与してもよく、以前に使用された所与のコンポーネントに対する制約を決定するときに当該インデックスにアクセスしてもよい。
【００１２】
以前に使用された制約を決定した後に、幾つかの実施形態では、ＣＡＤモデルの設計技術者に、その中から選択すべき幾つかの制約セットを提供してもよい。これを、例えば、設計技術者が所与のコンポーネントをＣＡＤモデルに挿入するとき、または、設計技術者が所与のコンポーネントに対する制約の追加を選択するときに行ってもよい。
【００１３】
他の諸実施形態には、ＣＡＤモデルエンティティおよび関連制約に関する情報を格納したコンピュータデータベース、およびデータベースに動作可能に接続されたプロセッサを有するＣＡＤシステムが含まれる。かかる実施形態では、プロセッサはコンピュータデータベースにアクセスして、ＣＡＤモデルに追加すべき所与のコンポーネントの少なくとも１つのエンティティに対する以前に使用された制約を決定し、および以前に使用された制約に基づいて当該モデルにおける所与のコンポーネントの少なくとも１つのエンティティと別のエンティティとの間に制約を自動的に追加する。
【００１４】
さらに他の諸実施形態には、ＣＡＤモデルにおけるエンティティ間に１つまたは複数の制約を自動的に追加するための命令を含むコンピュータ読取可能データ記憶媒体が含まれる。さらに、種々の命令が、コンピュータデータベースへのアクセスを開始し、ＣＡＤモデルにおける所与のコンポーネントのエンティティに対する１つまたは複数の以前に使用された制約を決定し、以前に使用された制約に基づいて制約を自動的に追加する。
【００１５】
本発明の１つまたは複数の諸実施形態の詳細を、添付図面および下記の詳細な説明にて説明する。本発明の他の特徴、目的、および利点は、詳細な説明や図面、および特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【００１６】
前述は、以下に続く本発明の例示的な諸実施形態のより具体的な説明から明らかであろう。諸実施形態は添付図面で説明されている。図面では、同じ参照番号は様々な図面にわたって同じ部分を指す。図面は必ずしも正しい縮尺で描かれてはおらず、本発明の諸実施形態を例示するに際して強調されている。
【図１】注釈付きのコンピュータにより生成されたモデルの図である。
【図２】図１のコンピュータにより生成されたモデルの注釈付きのコンポーネントの図である。
【図３】図１のコンピュータにより生成されたモデルの注釈付きのコンポーネントの図である。
【図４】図１のコンピュータにより生成されたモデルの注釈付きのコンポーネントの図である。
【図５】図１のコンピュータにより生成されたモデルのコンポーネントに対する代替的な一致配置構成の図である。
【図６】本発明の例示的な一実施形態に従った自動制約追加を示す流れ図である。
【図７】本発明の例示的な一実施形態に従った自動制約追加を示す詳細な流れ図である。
【図８】本発明の例示的な一実施形態に従った自動制約追加を示す詳細な流れ図である。
【図９】本発明の例示的な一実施形態に従った自動制約追加を示す詳細な流れ図である。
【図１０】本発明の例示的な一実施形態に従った自動制約追加を示す詳細な流れ図である。
【図１１】本発明の例示的な一実施形態に従ったコンピュータ支援型設計システムを示すブロック図である。
【図１２】本発明の諸実施形態を実行できるコンピュータシステムの略図である。
【発明を実施するための形態】
【００１７】
本明細書で開示した諸実施形態により、全ての経験レベルの設計技術者は、以前に使用された制約データを参照することによって、コンピュータ支援型設計（ＣＡＤ）モデルにおけるコンポーネントを制約するのに必要なステップの数を削減するかまたは排除することができる。本発明は、現在設計されているＣＡＤモデルおよび／または以前に設計され現在のＣＡＤモデルにアクセス可能なＣＡＤモデルにおけるコンポーネントが以前に使用されているものであるという事例を、自動的に分析する。当該自動分析により、ユーザの介入なしに現在のＣＡＤモデルのコンポーネントに対する可能な制約機構を決定する。当該分析では、高速抽出のために、データベースに格納されインデックスされている情報を利用してもよい。本発明では、コンポーネントを現在のＣＡＤモデルに挿入するときに、設計技術者が望む制約機構でありうる使用すべき制約機構を提案してもよい。
【００１８】
図１乃至５は、コンピュータにより生成されたモデル１００のコンポーネント、および設計技術者がかかるモデル１００を設計するときに考慮するであろう知識を与える注釈を示す。当該注釈には、モデル１００のコンポーネントをどのように制約できるかを含む。図１は、様々な注釈を有するコンピュータにより生成されたモデル１００を示す。例えば、ベアリングコンポーネント１０５を、許容値注釈１２１によって示すように、ベアリング１０５の内径（ＩＤ）がシャフト１１０の外径（ＯＤ）の０．５％以内であるように、シャフトコンポーネント１１０と一致してもよい。別の注釈１２２は、ベアリングコンポーネント１０５がシャフト・コンポーネント１１０のショルダ１１５に対して押すべきであると指定する。
【００１９】
図２は、幾何条件を指定する注釈を有する、図１のコンピュータにより生成されたモデルのベアリングコンポーネント１０５およびシャフト・コンポーネント１１０を示す。例えば、注釈２０５は、シャフト・コンポーネント１１０上の全ての円筒サーフェスが１つの軸を共有すべきことを示す。別の注釈２１０は、ベアリングコンポーネント１０５の最内面と最外面が円筒であり軸を共有すべきと示す。
【００２０】
図３は、ベアリングコンポーネント１０５およびシャフトコンポーネント１１０が、どのようにコンポーネント１０５および１１０を一致できるかに関する情報とともに示す。例えば、内径が２４．９８ｍｍであるベアリング１０５は、シャフト１１０上の２つの位置３０５、３１０に一致してもよい。２つの位置３０５、３１０は、外径が２５ｍｍである。その一方で、内径が２４．９８ｍｍであるベアリング１０５は、太線Ｘを有する注釈で示したように、シャフト・コンポーネント１１０のねじ部３１５または２０ｍｍの端部３２０と一致しなくてもよい。
【００２１】
図４は、ベアリングコンポーネント１０５およびシャフト・コンポーネント１１０の一致を示す。図４に示すように、ベアリング１０５の平面４０５は、シャフト１１０のショルダ１１５に一致してもよい。
【００２２】
図５は、ベアリングコンポーネント１０５およびシャフト・コンポーネント１１０に対する代替的な一致配置構成を示す。ベアリング１０５は、第１の部分５０５におけるシャフト１１０上のショルダの左側（図５では不明瞭である）、または、第２の部分５１０におけるシャフト１１０上のショルダの右側、または、これはおそらくあまり望ましくないが、第３の部分５１５におけるショルダから離れたシャフト１１０上と一致してもよい。
【００２３】
設計技術者は一般に、特定のコンポーネントを一緒に使用する。例えば、空気シリンダは自動化機械では一般的なコンポーネントであり、一般に、ロッド端が空気シリンダのピストンに取り付けられている。ロッド端は多種多様のため、ロッド端は通常ではシリンダのコンポーネントとしては含まれない。さらに、確立されたベスト・プラクティスは、企業が以前に使用したものと同じロッド端を、必要なときにいつでも使用することである。しかし、企業は、あらゆる形状およびサイズの何百ものロッド端を使用するかもしれず、その殆どは所与の空気シリンダに適合さえしないかもしれない。これを解決するために、本発明の諸実施形態では、挿入されたコンポーネントと共に一般に使用される他のコンポーネント（例えば、ロッド端）を決定するためにコンポーネント（例えば、空気シリンダ）が使用される事例を自動的に分析し、当該情報を（例えば、コンピュータデータベースのインデックスを用いて）高速抽出のために格納してもよい。かかるコンポーネントを新たなモデルに挿入するとき、システムは、挿入されたコンポーネントとともに頻繁に使用される追加のコンポーネントを提案することができる。次に、追加コンポーネントは、設計技術者が望む場合には自動的に挿入することができる。追加コンポーネントは、挿入中に自動的に制約してもよい。
【００２４】
多くのＣＡＤシステムでは、データが組織またはコミュニティを通じて異種のコンピュータシステムに格納されているため、コンポーネント間の制約を導出するために分析できるデータの収集プロセスは、困難となる。しかし、本発明の一実施形態では、ＣＡＤシステムを、密接に統合されたＰＤＭシステムとともに使用する。ＰＤＭシステムは、以前に使用されたコンポーネントの位置を追跡し、以前に使用されたコンポーネントの制約関係に関する関連データをインデックス可能なデータベースに格納し、それにより、以前に使用されたコンポーネントに関するデータを効果的にインデックス化する利点を提供する。
【００２５】
さらに、コンポーネントは、コミュニティ・フォーラムを介して、コンポーネント供給者ウェブサイトから、またマサチューセッツ州コンコルドのＤａｓｓａｕｌｔ  Ｓｙｓｔｅｍｅｓ  ＳｏｌｉｄＷｏｒｋｓ社によって提供された３Ｄ  ＣｏｎｔｅｎｔＣｅｎｔｒａｌ（登録商標）サービスのようなコミュニティ・サイトから探し出してダウンロードしてもよい。さらに、外部ソースからダウンロードされたコンポーネントが以前使用のデータを含む場合には、本発明の諸実施形態は、かかるコンポーネントに対する以前使用のデータを組織のＣＡＤシステムデータベースおよび／またはＰＤＭシステムに統合してもよい。このように、コンポーネントは、他者によって以前に実行された制約を示すデータとともにダウンロードしてもよい。このように、コミュニティ全体からの以前使用のデータは、編集されオンラインデータベースに格納されてもよく、また、設計技術者が以前使用のデータを有するコンポーネントを挿入するときはいつでも本明細書で説明した利点が得られるように使用してもよい。
【００２６】
コンポーネントはしばしば毎回同じように使用される一方、変形が存在しうる。このように、諸実施形態では、ヒューリスティクスな方法を利用して、どの制約およびコンポーネントの組合せが望まれるかを決定してもよい。ヒューリスティクスな方法では、統計分析、幾何分析、コンテキストのユーザ動作（例えば、ＣＡＤモデルにおける特定のジオメトリのユーザ選択）の組合せを使用して、どの制約機構および追加コンポーネントを設計技術者に提案すべきかを決定してもよい。
【００２７】
さらに、設計技術者は、異なる（例えば、手動で部品を制約するのと異なる）ワークフローが必要である場合に、自動機能を使用することはできないであろう。そこで、本発明の諸実施形態では、制約シナリオを手動一致ワークフローの一部として控えめに提供し、それにより、設計技術者は提案された制約機能を迅速に検討し、必要ならば手動ワークフローを続けることができる。
【００２８】
本発明の原理に従い、挿入されたコンポーネントを制約するための例示的なプロセスは以下のようであってもよい。ＣＡＤシステムのユーザは、通常の作業過程においてコンポーネントを手動で収集する。コンポーネントおよび当該コンポーネントを制約するのに用いるエンティティはＰＤＭデータベースに格納してもよい。次に、自動化プロセスはデータベースを検索して、どのコンポーネントが頻繁に使用されるか、これらのコンポーネントが通常は特定の方法で制約されるかどうか、および、他の特定のコンポーネントがこれらのコンポーネントと共に頻繁に使用されるかどうかを決定してもよい。分析結果は、以前使用のデータが（例えば、データ抽出を改善するインデクシング（indexing）または他の技術を使用することによって）迅速に抽出できるように、ＰＤＭデータベースに以前使用のデータとして格納してもよい。次に、設計技術者が、以前使用のデータが利用可能であるコンポーネントを挿入しコンポーネントを手動で制約し始めるときに、本発明の諸実施形態は、格納された以前使用のデータに基づく制約機構を控えめに提案する。設計技術者は、かかる提案された制約機構の結果をプレビューし、提案された制約機構を受け入れることができる。そうではない場合、設計技術者は手動プロセスを介して制約を追加してもよい。
【００２９】
図６を参照すると、流れ図６００は、本発明の例示的な一実施形態に従ったＣＡＤモデルにおけるエンティティ間に制約を自動的に確立することを示す。ＣＡＤモデルエンティティおよび関連制約に関する情報は、コンピュータデータベースに格納される（ステップ６０５）。次に、データベースにアクセスして、設計または更新されているＣＡＤモデルに追加すべき所与のコンポーネントの少なくとも１つのエンティティに対する以前に使用された制約を決定する（ステップ６１０）。次のステップでは、以前に使用された制約に基づいて、設計または更新されているＣＡＤモデルにおける所与のコンポーネントの少なくとも１つのエンティティと別のエンティティとの間に制約が自動的に追加される（ステップ６１５）。本明細書ではエンティティとは、トポロジ頂点、枝、および面、または、点、曲線、およびサーフェスのようなサポート幾何エンティティを指す。
【００３０】
図７乃至１０は、本発明の例示的な一実施形態に従った対象の（または本明細書では現在の、とも称する）ＣＡＤモデルにおけるエンティティ間に制約を自動的に追加することを示す詳細な流れ図である。
【００３１】
図７を参照すると、例示的なプロセス７００は、コンポーネントを対象のモデルに追加することによって開始する（ステップ７０５）。追加されたコンポーネントが別のモデルで使用されているかどうかを決定するためにデータベースに問い合せ、使用されている場合には、データベースが対象のモデルにおける１つまたは複数のコンポーネントが別のモデルにおいて追加されたコンポーネントと一致されているかどうかを判定する（ステップ７１５）。対象モデルにおけるコンポーネントおよび追加されたコンポーネントが別のモデルで一致されている場合には、プロセス７００は、他のモデルにおいて追加されたコンポーネントと一致したコンポーネント、ならびに追加されたコンポーネントと一致したコンポーネントに関する情報を抽出する（ステップ７２０）。次のステップ（ステップ７２５）では、プロセス７００は、前のステップで抽出した情報に基づいて１組の候補制約を決定する。これについては、図９を参照してさらに説明する。
【００３２】
図７のステップ７１５に戻ると、対象のモデルにおけるコンポーネントが別のモデルにおいて追加されたコンポーネントと一致していない場合（ステップ７１５）には、プロセス７００は、他のモデルにおいて追加されたコンポーネントを制約する、最も頻繁に使用された一致関係を決定する（ステップ７３０）。次のステップでは、プロセス７００は、決定された最も頻繁に使用された一致関係に基づいて現在のモデルにおける１組の候補制約を決定する（ステップ７３５）。これについては、図１０を参照して後で説明する。
【００３３】
図７のステップ７１０に戻ると、対象モデルに追加すべきコンポーネントが別のモデルで使用されていない場合（ステップ７１０）には、プロセス７００は、図８を参照して説明するように、対象モデルにおけるコンポーネントを分析することによって候補制約を決定する（ステップ７４０）。
【００３４】
図８を参照すると、プロセス８００は、現在のモデルにおけるコンポーネントを分析することによって候補制約を決定する（ステップ７４０）。最初に、ユーザが、追加されたコンポーネントのどのエンティティを一致すべきかを指定する（ステップ８１０）。次に、追加されたコンポーネントのジオメトリを分析して、正しい一致タイプを決定する（ステップ８２０）。追加されたコンポーネントの指定されたエンティティを分析するだけでなく、１つまたは複数の近傍エンティティも同様に分析する。分析結果に基づいて、プロセス８００は、所与のエンティティに対して最も適切である正しい一致タイプを発見する（ステップ８３０）。次のステップでは、プロセス８００は、現在のモデルにおける他のコンポーネントのジオメトリおよび／またはトポロジを分析することによって互換性のあるジオメトリを発見して、指定のエンティティと一致的な意味で互換性のあるジオメトリを発見する。例えば、ユーザが円筒面を選択した場合には、互換性のあるエンティティが、特定の許容値内の選択したものと同じ半径を有する円筒面であってもよい（これは、マッチング規則の一例であり、図１０を参照して以下で説明する）。次に、プロセス８００は分析から生じた１組の候補制約を生成する（ステップ８４０）。
【００３５】
図９を参照すると、プロセス９００は、他のモデルにおける一致関係を分析することによって候補制約を決定する（ステップ７２５）。追加されたコンポーネントに一致した他のモデルにおけるコンポーネントごとに、プロセス９００は、データベースに問い合わせて、別のモデルにおける追加されたコンポーネントと１つまたは複数の他のコンポーネントとの間の全ての一致関係を発見する（ステップ９１０）。発見された一致関係ごとに、コンポーネントを一致するために使用されるエンティティを決定する（ステップ９２０）。次に、候補制約を、決定されたエンティティから生成し、１組の全体候補制約に追加する（ステップ９３０）。
【００３６】
図１０を参照すると、プロセス１０００は、対象モデルではなく他のモデルにおいて追加されたコンポーネントと１つまたは複数のコンポーネントとの間で最も頻繁に使用された一致関係に基づいて、候補制約を決定する（ステップ７３５）。現在のモデルにおけるコンポーネントごとに、プロセス１０００はコンポーネントを分析し、マッチングルール１０２０を使用して、追加されたコンポーネントの制約をもたらすジオメトリおよび／またはトポロジを検出し、それによって、追加されたコンポーネントを制約できる現在のモデルにおける各コンポーネントの潜在的なエンティティを決定する（ステップ１０１０）。マッチングルールは、現在のモデルにおける他のコンポーネントで互換性のあるエンティティを発見するための基準を定義し、次に、当該基準を使用して候補制約を生成する。マッチングルールは、制約タイプおよび１組のマッチング条件を含む。マッチング条件は、エンティティタイプ、ジオメトリタイプを規定し、エンティティのどの次元が重要であるか（例えば、円筒の半径、底部、および高さ）、おそらく特定の許容値内にあるこれらの次元の値を規定する。１組の初期マッチングルールは、ユーザがそれにより追加のルールを追加できる手段を用いて、コンピュータ化モデリングシステムに含めてもよい。例えば、初期セットがマッチングルールを含んでもよく、マッチングルールは、（ベアリング上に発見できるもののような）円筒面が与えられると（ロッド上に発見できるもののような）特定の許容値内の特定のパーセントだけ小さい半径を有する第２の円筒面を発見するものである。マッチングルールの別の例では、ねじ仕上がりまたは平滑仕上がりのような表面仕上がりを考慮してもよい。
【００３７】
マッチングエンティティの決定においてマッチングルールが支援した後、プロセス１０００は、候補制約を決定されたエンティティから生成し、新たに生成された候補制約を１組の全体候補制約に追加する（ステップ１０３０）。
【００３８】
図７に戻ると、ステップ７２５、７３５、および７４０、および各々のプロセス９００、１０００、および８００は１組の候補制約を決定する。好適な一実施形態では、候補制約は、エンティティタイプ、ジオメトリタイプ、重要なエンティティの次元（例えば、円筒の半径、底部、および高さ）の指示、重要な次元の値を含むデータ構造によって表される。次に、プロセス７００は、１つの候補制約しか存在しないかどうかを判定する（ステップ７４５）。複数の候補制約が存在する場合には、プロセス７００は、複数の候補制約をユーザが選択するための代替的な選択肢としてユーザに提示する（ステップ７５０）。ユーザが提示された候補制約のうちの１つを選択すると（ステップ７５５）、プロセス７００は、ユーザが選択した候補制約に基づいてコンポーネントに対する次の一致を生成する。他方、１つの候補制約しか存在しないとプロセス７００が決定する場合には、コンポーネントに対する新たな一致は１つの候補制約から作成される（７６０）。
【００３９】
以上の説明では、コンポーネントがモデルに追加されている状況を検討した。コンポーネントが既に追加され次にユーザが追加されたコンポーネントを一致させたいときには、別の状況が生じうる。このケースでは、ユーザは図７のステップ７１０の前に一致すべき追加されたコンポーネントのエンティティを指定し、図８のステップ８１０において再度そうする必要はない。
【００４０】
図１１は、本発明の例示的な一実施形態に従ったコンピュータ支援型設計システム１１００を示すブロック図である。例示的なシステム１１００は、以前の使用データ、例えば、ＣＡＤモデル・コンポーネントおよびエンティティに関する情報１１２０および対応する制約に関する情報１１３０を格納するデータベース１１１０を含む。データを迅速に取り出すために、以前の使用データ１１２０、１１３０を、モデル・コンポーネントおよびエンティティ１１２０に従ってインデックス化してもよい。システム１１００はまた、データベース１１１０に動作可能に接続されたプロセッサ１１５０も含み、データベース１１１０にアクセスしてＣＡＤモデルに追加すべき所与のコンポーネントの少なくとも１つのエンティティ１１７０に対する以前に使用された制約１１６０を取り出す。プロセッサ１１５０はまた、以前に使用された制約１１６０に基づいて、ＣＡＤモデルにおける所与のコンポーネントの少なくとも１つのエンティティ１１７０と別のエンティティとの間に制約を自動的に追加する。データベース１１１０は、プロセッサ１１５０が効率的にかかる決定を行い、およびインデクシングのような技術を用いて制約１１６０に効率的にアクセスできるようにする。
【００４１】
図１２は、ＣＰＵ１２０２、コンピュータモニタ１２０４、キーボード入力装置１２０６、マウス入力装置１２０８、および記憶装置１２１０を含むコンピュータ化モデリングシステム１２００を示す。ＣＰＵ１２０２、コンピュータモニタ１２０４、キーボード１２０６、マウス１２０８、および記憶装置１２１０は、市販のコンピュータハードウェア装置を含むことができる。例えば、ＣＰＵ１２０２はインテル・ベースのプロセッサを含むことができる。マウス１２０８は、設計技術者が押下してＣＰＵ１２０２によって実行されているソフトウェア・プログラムにコマンドを発行できる従来型の左右ボタンを有してもよい。マウス１２０８に対する代替または追加として、コンピュータ化モデリングシステム１２００は、トラックボール、タッチ・センシティブ・パッドのようなポインティング装置、または、キーボード１２０６に組み込んだポインティング・デバイスおよびボタンを含むことができる。マウス装置を参照して本明細書で説明した同一の結果を別の利用可能なポインティング装置を用いて実現できることは当業者には理解されよう。他の適切なコンピュータハードウェアプラットフォームも適切であり、以下の議論から明らかになろう。かかるコンピュータハードウェアプラットフォームが、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（登録商標）  ＮＴ、Ｗｉｎｄｏｗｓ２０００、Ｗｉｎｄｏｗｓ  ＸＰ、Ｗｉｎｄｏｗｓ  ＭＥ、Ｗｉｎｄｏｗｓ  ７、ＵＮＩＸ（登録商標）、Ｌｉｎｕｘ（登録商標）、またはＭＡＣ  ＯＳオペレーティング・システムを実行できることが好ましい。
【００４２】
追加のコンピュータ処理ユニットおよびハードウェア装置（例えば、高速プロトタイピング、ビデオ、およびプリンタ装置）は、コンピュータ化モデリングシステム１２００に含んでもよい。さらに、コンピュータ化モデリングシステム１２００は、ネットワークハードウェアおよびソフトウェアを含んでも良く、これらによって、ハードウェアプラットフォーム１２１２との通信が可能となり、ＣＰＵや格納システムを含む多数のコンピュータシステム間および他のコンピュータコンポーネント間の通信が促進される。
【００４３】
コンピュータ支援型モデリングソフトウェア（例えば、プロセス６００、７００、８００、９００、および１０００）は、記憶装置１２１０に格納され、ＣＰＵ１２０２にロードしてＣＰＵ１２０２によって実行してもよい。当該モデリングソフトウェアは、設計技術者が３Ｄモデルを生成し修正すること、および本明細書に説明した本発明の諸態様を実行することができるようにする。ＣＰＵ１２０２は、コンピュータモニタ１２０４を使用して、３Ｄモデルおよび他の態様を説明したように表示する。キーボード１２０６およびマウス１２０８を用いて、設計技術者は３Ｄモデルに関連付けられたデータを入力および修正することができる。ＣＰＵ１２０２は、キーボード１２０６やマウス１２０８からの入力を受理し処理する。ＣＰＵ１２０２は、３Ｄモデルに関連付けられたデータに沿って入力を処理し、対応する適切な変更を、モデリングソフトウェアによって指令されたようにコンピュータモニタ１２０４に表示されたものに加える。一実施形態では、当該モデリングソフトウェアは、１つまたは複数のソリッドやサーフェスボディから成る３Ｄモデルの構築に使用できるソリッドモデリングシステムに基づく。
【００４４】
本発明の諸実施形態は、デジタル電子回路で、コンピュータハードウェアで、ファームウェアで、コンピュータで、またはそれらの組合せで実行してもよい。装置は、プログラム可能プロセッサにより実行するために機械読取可能記憶装置に有形に具現化されたコンピュータプログラム製品の形で実行してもよく、方法のステップは、入力データで動作し出力を生成することによって機能を実行するための命令から成るプログラムを実行するプログラム可能プロセッサにより実施してもよい。有利には、本発明の諸実施形態は、データ記憶システム、少なくとも１つの入力装置、および少なくとも１つの出力装置に対して、データおよび命令を受信しおよびデータおよび命令を送信するように接続された少なくとも１つのプログラム可能プロセッサを備えたプログラム可能システムで実行可能な、１つまたは複数のコンピュータプログラムで実行してもよい。各コンピュータプログラムは、高レベルの手続型プログラミング言語もしくはオブジェクト指向プログラミング言語、または、必要ならばアセンブリ言語もしくは機械語で実行してもよく、いずれのケースでも、言語はコンパイル型言語でもインタプリタ型言語であってもよい。適切なプロセッサは、非限定的な例として、汎用目的マイクロプロセッサおよび特殊目的マイクロプロセッサの両方を含む。一般に、プロセッサは、読取専用メモリおよび／またはランダムアクセスメモリから命令およびデータを受信し、幾つかの実施形態では、命令およびデータはグローバル・ネットワークからダウンロードしてもよい。コンピュータプログラム命令およびデータを有形に具現化するのに適した記憶装置は、あらゆる形態の不揮発性メモリが含まれる。不揮発性メモリは、例として、ＥＰＲＯＭ、ＥＥＰＲＯＭ、およびフラッシュメモリ装置のような半導体メモリ装置、内部ハードディスクおよび取外し可能ディスクのような磁気ディスク、光磁気ディスク、およびＣＤ−ＲＯＭディスクが含まれる。前述のうち任意のものを、特注のＡＳＩＣ（アプリケーション−固有  集積回路）によって補完され、またはそれに組み込んでもよい。
【００４５】
本明細書で開示した諸実施形態は、以前に設計したＣＡＤモデルにおける制約情報を効果的に再利用し、および現在開発中のＣＡＤモデルにおけるコンポーネントを同様に制約するのに必要な手作業の多くを軽減する。実際、諸実施形態は、どのようにコンポーネントが一般に組織で使用されるかを自動的に学習することができ、現在設計されているＣＡＤモデルにおいてコンポーネントを制約するのに設計技術者によって必要とされるステップの数を削減するかまたは排除するための知識を使用することができる。
【００４６】
本明細書で開示した諸実施形態の利点は、組織によってＣＡＤコンポーネントの典型的な使用が将来設計されるモデルに対する以前の使用リソースとして自動的に格納されその役割を果たすことである。典型的な使用の格納量は、追加コンポーネントが開発されるようなおよびコンポーネントが新たな方法で使用されるような期間にわたって成長する。以前の使用リソースにアクセスすることは、かかる以前の使用リソースがない場合にＣＡＤコンポーネントを制約するのに設計技術者によって必要とされるステップの数を削減または排除することができる。すると、全ての経験レベルの設計技術者は、新たなコンポーネントをＣＡＤモデルに少ない労力で追加することができ、これにより、ＣＡＤモデルを設計するときの時間およびコストを節約できる。
【００４７】
別の利点は、本明細書で開示した諸実施形態は、モデルに追加されているコンポーネントとともに頻繁に使用される追加コンポーネントを自動的に提案できることである。当該追加コンポーネントは、自動的に挿入することができ、さらに、自動的に制約することができ、ここでも、設計技術者がＣＡＤモデルを設計するときの時間およびコストを節約することができる。
【００４８】
本明細書で開示した諸実施形態の他の利点は、ＰＤＭシステムのデータベースを利用して、以前の使用データを効率的に格納およびインデックス化すること、以前の使用データをユーザのコミュニティ全体から編集および使用すること、ヒューリスティクスな方法を使用して最も可能性のある制約機構を提案すること、および、目障りでないユーザフレンドリな方式で制約機構を提案することがある。
【００４９】
幾つかの本発明の諸実施形態を説明した。それでも、本発明の趣旨および範囲から逸脱しない様々な修正を加えうることは理解されよう。例えば、ＣＡＤモデルエンティティを格納するために使用されるデータベースは、ＰＤＭシステムまたはＰＬＭシステムに組み込んでもよい。さらに、諸実施形態では、動作の実行順序を変更してもよい。さらに、実施形態のニーズに応じて、本明細書で説明した特定の動作を、組合せ動作として実行、削除、追加、または再構成してもよい。例えば、上述したように、コンポーネントが既に追加されている場合には、ユーザは、プロセス７００の先頭で一致するためのエンティティを選択しなければならず、プロセス８００ではそうする必要はない。さらに、マウスに対する特定のユーザインタフェース動作（例えば、クリック、ドラッグ、ドロップ等）は例であって限定するものではない。モデルまたは設計データを選択、移動、配置等するための他のユーザインタフェース動作は、適切である。
【図１】
0005872049.tif 000002
【図２】
0005872049.tif 000003
【図３】
0005872049.tif 000004
【図４】
0005872049.tif 000005
【図５】
0005872049.tif 000006
【図６】
0005872049.tif 000007
【図７】
0005872049.tif 000008
【図８】
0005872049.tif 000009
【図９】
0005872049.tif 000010
【図１０】
0005872049.tif 000011
【図１１】
0005872049.tif 000012
【図１２】
0005872049.tif 000013