(57)【特許請求の範囲】
【請求項１】
コンピュータ支援設計（ＣＡＤ）モデルによって表わされる部品の動作を自動化するためのコンピュータ実施方法であって、
ＣＡＤモデル内のエンティティを指定するステップであって、
前記ＣＡＤモデルは複数の部品から成る現実世界のオブジェクトを表し、部品の各々は物理的オブジェクトを表し、および
前記エンティティは前記複数の部品のうちの１つに属する、該ステップと、
動作調査に有益なデータを収集するために、前記複数の部品のうちの前記１つを解析するステップであって、前記有益な収集されたデータは、サイズデータ、位置データ、および材料種類データのうちの１または複数を含む、該ステップと、
前記解析の結果から、前記部品の動作を自動化するための複数のパラメータを推測するステップであって、前記複数のパラメータは、モータ種類を含み、前記モータ種類は、直線、回転、または経路沿いのうちの１つであり、前記モータ種類は、前記エンティティ、および前記複数の部品のうちの前記１つに対する１または複数の制約によって決定される１または複数の自由度に依存する、該ステップと、
前記複数のパラメータを動作プロセスに対する入力として使用して、前記ＣＡＤモデルによって表わされる前記部品の動作を自動化するステップと
を具えたことを特徴とするコンピュータ実施方法。
【請求項２】
前記複数の部品のうちの少なくとも１つのための動作軸は、前記複数の部品のうちの前記１つに関する１または複数の自由度に基づき、および、
前記１または複数の自由度は、数々の制約および各制約の位置の１つによって決定されることを特徴とする請求項１に記載のコンピュータ実施方法。
【請求項３】
前記複数のパラメータは、モータによって直接的運動を示す前記複数の部品のうちの前記１つ、前記モータが取り付けられる前記複数の部品のうちの前記１つの上における位置、前記複数の部品のうちの前記１つの動作軸、および経時的な動作の変化を示す動作関数のうちの少なくとも１つを含むことを特徴とする請求項１に記載のコンピュータ実施方法。
【請求項４】
前記ＣＡＤモデルは、２次元ＣＡＤモデルおよび３次元ＣＡＤモデルの一方であることを特徴とする請求項１に記載のコンピュータ実施方法。
【請求項５】
前記複数の部品の間の親子関係についての階層マップを記憶するステップと、
前記複数の部品のうちの前記１つの動作が親部品に関連するように前記ＣＡＤモデルによって表わされる前記部品の動作を自動化するために前記階層マップを使用するステップと
をさらに含むことを特徴とする請求項１に記載のコンピュータ実施方法。
【請求項６】
明示的な動作方向の選択のために暗示された動作方向のインジケータを表示するステップをさらに含むことを特徴とする請求項１に記載のコンピュータ実施方法。
【請求項７】
データ記憶システムに動作可能に結合されたプロセッサであって、前記データ記憶システムは３次元モデルを記憶する、該プロセッサと、
前記プロセッサに動作可能に結合されたデータ記憶メモリであって、
ＣＡＤモデル内のエンティティを指定することであって、
前記ＣＡＤモデルは複数の部品から成る現実世界のオブジェクトを表し、部品の各々は物理的オブジェクトを表し、および
前記エンティティは前記複数の部品のうちの１つに属する、該指定することと、
動作調査に有益なデータを収集するために、前記複数の部品のうちの前記１つを解析することであって、前記有益な収集されたデータは、サイズデータ、位置データ、および材料種類データのうちの１または複数を含む、該解析することと、
前記解析の結果から、前記部品の動作を自動化するための複数のパラメータを推測することであって、前記複数のパラメータは、モータ種類を含み、前記モータ種類は、直線、回転、または経路沿いのうちの１つであり、前記モータ種類は、前記エンティティ、および前記複数の部品のうちの前記１つに対する１または複数の制約によって決定される１または複数の自由度に依存する、該推定することと、
前記複数のパラメータを動作プロセスに対する入力として使用して、前記ＣＡＤモデルによって表わされる前記部品の動作を自動化することと
を行うように前記プロセッサを構成するための命令を含む、該データ記憶メモリと
を具えたことを特徴とするコンピュータ支援設計システム。
【請求項８】
コンピュータに、請求項１ないし６のいずれか１つに記載のコンピュータ実施方法を実行させることを特徴とするコンピュータプログラム。
【請求項９】
請求項８記載のコンピュータプログラムを記録したことを特徴とする非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ支援設計モデルの動作を自動化する方法およびシステムに関する。
【背景技術】
【０００２】
関連出願
本出願は、２０１３年１２月２３日に出願された米国特許仮出願第６１／９２０４０６号明細書の利益を主張する。上記の出願の全教示は、参照により本明細書に組み込まれる。
【０００３】
コンピュータ支援設計（ＣＡＤ）ソフトウェアは、ユーザが複雑な３次元（３Ｄ）モデルを構築し、操作することを可能にする。数々の異なるモデリング技法が、３Ｄモデルを作成するために使用されることができる。１つのそのような技法は、ソリッドモデリング技法であり、それは、３Ｄモデルが相互接続されたトポロジカルなエンティティ（例えば、頂点、辺、および面分）の集まりであるトポロジカルな３Ｄモデルを提供する。トポロジカルなエンティティは、対応するサポートする幾何学的エンティティ（例えば、点、切り取られた曲線、および切り取られた面）を有する。切り取られた面は、辺によって境界が定められたそれぞれのトポロジカルな面分に対応する。ＣＡＤシステムは、ソリッドモデリングと、パラメトリックモデリング技法などの他のモデリング技法とを組み合わせる。パラメトリックモデリング技法は、モデルの異なる特徴および構成要素のための様々なパラメータを定義するために、ならびに様々なパラメータの間の関係に基づいて、それらの特徴および構成要素の間の関係を定義するために使用されることができる。
【０００４】
設計エンジニアは、３Ｄ  ＣＡＤシステムの典型的なユーザである。設計エンジニアは、３Ｄモデルの物理的および美的態様を設計し、３Ｄモデリング技法に熟練している。設計エンジニアは、部品を作成し、部品を組み立てて部分組立体または組立体にする。部分組立体は、他の部分組立体からも成る。組立体は、部品および部分組立体を使用して設計される。部品および部分組立体は、本明細書では、これ以降、一括して構成要素と呼ばれる。
【０００５】
設計プロセス中、エンジニアは、設計されている製品の現実世界における要件および性能を評価するために、モデルの３Ｄ設計の動作を解析することを望む。そのような解析は、エンジニアリングシミュレーションプロセス、例えば、ＳｏｌｉｄＷｏｒｋｓ（登録商標）Ｓｉｍｕｌａｔｉｏｎ  ＸｐｒｅｓｓおよびＳｏｌｉｄＷｏｒｋｓ（登録商標）Ｓｉｍｕｌａｔｉｏｎによって実行され、これらはともに、シミュレーション調査をセットアップし、実行するために、ＣＡＤモデルデータを使用し、これらはともに、マサチューセッツ州ウォルサムのＤａｓｓａｕｌｔ  Ｓｙｓｔｅｍｅｓ  Ｓｏｌｉｄｗｏｒｋｓ  Ｃｏｒｐｏｒａｔｉｏｎから入手可能である。
【０００６】
設計フェーズの初期において機構の動作を解析することは、ＣＡＤモデルにどのような制約が含められる必要があるか、それによって、ＣＡＤモデルによって表される物理的機構がどのように制約される必要があるかを決定する助けとなる。動作解析中、部品からなる現実世界の組立体の３Ｄ表現は、１または複数のモータ構成要素または動作要素（例えば、ばねおよびダンパ）を、ＣＡＤモデルにおける３Ｄ部品の１または複数に取り付けることによって、動かされる。その後、設計エンジニアは、部品変位、速度、加速度、ジョイント力、ジョイントトルク、ならびに動作を引き起こすのに必要とされるモータ力およびトルクに対する、動作入力データ（例えば、直接的に動かされる部品、部品上におけるモータの位置、およびモータの種類）の影響を調査する。動作解析結果は、経路計画、作業空間決定、妨害検出、近接性感知、およびモータサイズ決定を含む、様々な設計タスクにとって重要である。これらの結果は、マルチフィジックスシミュレーションおよび有限要素解析などのより高度な解析を行うための基礎としても使用されることができる。
【０００７】
適切な動作解析を実行するために、設計エンジニアは、望まれる方法で機構を駆動するすべての動作を定義しなければならず、それは、設計エンジニアからの相当な量の入力を必要とする。例えば、動作解析のために、現在における最新のＣＡＤシステムは、動作入力データとして、（１）モータによって直接的に動かされる部品、（２）モータが取り付けられる必要がある部品上における位置、（３）モータの種類、例えば、リニア、ロータリ、またはパス、（４）部品の動作軸、（５）動作が経時的にどのように変化するかを記述する動作関数（例えば、ランプ関数もしくはシヌソイド関数）、または他のモデルパラメータ（例えば、平面の縁もしくは経路の端部に達した場合、モータをオフに切り換える）、および（６）（例えば、動作のための局所座標系を定義するための）動作関数がそれに対して定義される基準部品を指定することを設計エンジニアに要求する。
【０００８】
ＣＡＤモデルについての動作を定義するために必要とされる大量の情報のせいで、望まれる動作を現実世界の機構を表す３Ｄモデルに適用することは、設計エンジニアにとって、特に、動作解析技法において経験の乏しいまたは十分な訓練を受けていない者にとって、多工程の負担の大きいタスクになる。したがって、動作解析は、設計反復ループの初期において頻繁には実行されないタスクであり、そのことは、質の劣った非効率的で経済性に乏しい設計をもたらす。一般に、先に説明された動作入力データは、組立体の望まれる動作が獲得されることができるように、ステップバイステップ方式で定義されなければならない。この多工程の負担の大きいタスクは、設計エンジニアが動作解析を実行することを躊躇させる。
【０００９】
時間節約の利点、および現在における最新のＣＡＤシステムに対する増強は、適切に制約される３Ｄモデル、およびその３Ｄモデルによって表される現実世界の機構という結果となる、設計フェーズの初期において動作解析を実行するためのより効率的な手段を提供することによって達成される。設計エンジニアが最低限の量の入力を用いて組立体の動作を引き起こすことを可能にすることは、３Ｄ  ＣＡＤシステムの能力を増強する。
【発明の概要】
【発明が解決しようとする課題】
【００１０】
本発明では、コンピュータ支援設計モデルの動作を自動化するための改善された方法およびシステムを提供することにある。
【課題を解決するための手段】
【００１１】
一般に、一態様では、本発明の実施形態は、コンピュータ支援設計（ＣＡＤ）モデルの動作を自動化するためのコンピュータ実施される方法を特徴とする。ＣＡＤモデルは、数々の部品から成る現実世界のオブジェクトを表し、部品の各々も、物理的オブジェクトを表す。部品の１つに属するエンティティが、指定される。エンティティを含む部品は、動作調査に関連するデータ、例えば、サイズデータ、位置データ、および材料種類データを収集するために、解析される。さらに、指定されたエンティティに基づいて、動作を自動化するためのパラメータが、推測され、動作を自動化するために使用される。
【００１２】
実施形態は、選択されたエンティティを含む部品のための動作軸を決定し、動作軸は、部品に関する１または複数の自由度に基づく。さらに、１または複数の自由度は、１または複数の制約および制約の位置によって決定される。
【００１３】
他の実施形態は、データ記憶システムに動作可能に結合されたプロセッサと、プロセッサに動作可能に結合されたデータ記憶メモリとを有する、コンピュータ支援設計（ＣＡＤ）システムを含む。そのような実施形態では、データ記憶システムは、３次元モデルを記憶し、データ記憶メモリは、コンピュータ支援設計（ＣＡＤ）モデルの動作を自動化するようにプロセッサを構成するための命令を含む。ＣＡＤモデルは、数々の部品から成る現実世界のオブジェクトを表し、部品の各々も、物理的オブジェクトを表す。さらなる命令は、部品の１つに属するエンティティが指定され、エンティティを含む部品が動作調査に関連するデータ（例えば、サイズデータ、位置データ、および材料種類データ）を収集するために解析されることを可能にする。加えて、指定されたエンティティに基づいて、動作を自動化するためのパラメータが、推測され、動作を自動化するために使用される。
【００１４】
また他の実施形態は、コンピュータ支援設計（ＣＡＤ）モデルの動作を自動化するための命令を含むコンピュータ可読データ記憶媒体を含む。ＣＡＤモデルは、数々の部品から成る現実世界のオブジェクトを表し、部品の各々も、物理的オブジェクトを表す。命令は、部品の１つに属するエンティティが指定され、エンティティを含む部品が動作調査に関連するデータ（例えば、サイズデータ、位置データ、および材料種類データ）を収集するために解析されることを可能にする。加えて、指定されたエンティティに基づいて、動作を自動化するためのパラメータが、推測され、動作を自動化するために使用される。
【００１５】
本発明の態様は、選択されたエンティティを含む部品のための動作軸を決定することであって、動作軸は、１または複数の自由度に基づく、決定することと、１または複数の自由度を１または複数の制約および制約の位置によって決定することとを含む。本発明の他の態様は、モータによって直接的に動かされる部品、モータが取り付けられる部品上における位置、モータ種類、部品の動作軸、および／または経時的な動作の変化を示す動作関数である、動作を自動化するためのパラメータを含む。モータ種類は、直線、回転、または経路沿いであり、エンティティ、および部品に対する１または複数の制約によって決定される１または複数の自由度に依存する。さらなる態様は、複数の部品の間の親子関係についての階層マップを記憶し、部品の動作が親部品に関連するようにＣＡＤモデルの動作を自動化するために階層マップを使用し、明示的な動作方向の選択のために暗示された動作方向のインジケータを表示する、２次元または３次元ＣＡＤモデルであるモデルを含む。
【００１６】
本発明の１または複数の実施形態の詳細が、添付の図面および以下の説明において説明される。本発明の他の特徴、目的、および利点は、説明および図面から、ならびに特許請求の範囲から明らかである。
【図面の簡単な説明】
【００１７】
上述のことは、添付の図面に示されるような、本発明の例示的な実施形態についての以下のより詳細な説明から明らかであり、異なる図のいずれにおいても、同様の参照文字は、同じ部品を指し示す。図面は、必ずしも実寸に比例しておらず、本発明の実施形態を説明する際には、代わりに、強調が行われる。
【図１】コンピュータ支援設計（ＣＡＤ）モデルを示す図である。
【図２】１または複数の部品に動作が生じた後の図１のコンピュータ支援設計（ＣＡＤ）モデルを示す図である。
【図３】動作が生じる方向を決定するためのステップを含むフロー図である。
【図４】部品がどのように動くかを示す図である。
【図５】部品がどのように動くかを示す図である。
【図６】部品がどのように動くかを示す図である。
【図７】部品がどのように動くかを示す図である。
【図８】本発明の実施形態が実施されるコンピュータシステムの図である。
【発明を実施するための形態】
【００１８】
現実世界のオブジェクトの優れた設計が、エンジニアリング解析を、設計サイクルにおけるより後の段階に追いやる代わりに、現実世界のオブジェクトのモデルを設計する初期段階中に実行することによって、より容易に達成される。高度なエンジニアリング解析を、（例えば、３Ｄモデルを構築し、解析し、改良する）設計反復フェーズの一部として前もって実行することによって、設計エンジニアは、解析が設計プロセスのより先の段階において実行された場合のものよりも良好に働く、堅実なエンジニアリング設計を作成することができる。例えば、設計されたモデルの要素を変更することは、設計についてすでに行われた選択、およびモデル設計に関してすでに構築された構成要素のせいで困難である。高度なエンジニアリング解析を、現実世界のオブジェクトを設計する初期段階で、および様々な設計段階のいたる所で実行するプロセスでは、現実世界のオブジェクトに関するコストのかかる物理的設計反復は、最少化されることができる。
【００１９】
本発明は、設計エンジニアが、動作解析のためのすべての必要なパラメータを推測する最少の入力（例えば、マウスの１回のクリック、またはタッチスクリーンデバイス上での１回のタッチ）を用いて、組立体を駆動することを可能にする。設計エンジニアに要求される唯一の入力は、適切な幾何学的形状を選択することであり、本発明は、動作解析を行うのに必要な残りの入力を推定し、または残りの入力がおそらく何であるべきかを仮定する。その後、正しい望まれる動作が、組立体に適用される。必要とされる場合、設計エンジニアは、デフォルト動作を、それを無効にすることによって、容易に変更することができる。これは、設計エンジニアが、組立体におけるどのような不備も迅速に検出し、複雑な組立体動作を非常に容易に引き起こすことを可能にする。
【００２０】
ここで図１を参照すると、コンピュータ支援設計（ＣＡＤ）モデル１００の図が、示されている。モデル１００は、少なくとも１つの他の部品に対して制約される部品１２０ないし１５０を含む。部品１２０および部品１４０は、部品１２０および部品１４０の下に存在する地面に対しても制約される。部品１５０がそれに沿って動く経路１１０も、図１に示されている。
【００２１】
図２は、本発明の実施形態における、部品１２０ないし１５０が動作を経た後のＣＡＤモデル１００の図である。図２に示されるように、部品１５０は、経路１１０上の異なる位置にある。加えて、部品１２５および部品１３５の向きは、モデル１００の動作のせいで、部品１３０に関して、図１に示されたものとは異なる角度にある。部品１２５および部品１３５の向きは、モデル１００の動作のせいで、それぞれ、部品１２０および部品１４０に対しても異なる角度にある。（例えば、ドアの蝶番に対する１つの制約など）動作を１つのメイト関係のみに適用する現在における最新のシステムとは異なり、本発明は、制約を確定する複数のメイティング関係（ｍａｔｅ  ｒｅｌａｔｉｏｎｓｈｉｐ）（例えば、地面と部品１２０との間、部品１２０と部品１２５との間、部品１２５と部品１３０との間、部品１３０と部品１５０との間、部品１５０と部品１４５との間、地面と部品１４０との間、部品１４０と部品１３５との間、および部品１３５と部品１３０との間のメイティング関係）を考慮する。
【００２２】
本発明は、２次元（２Ｄ）または３次元（３Ｄ）環境におけるＣＡＤモデリングプロセス中に構築された現実世界のオブジェクトを表す部品を解析し、部品および部品の選択されたエンティティの自由度に基づいて、どの種類の動作が部品に適用されるべきかを決定する。本発明は、ＣＡＤモデルの部品の１つにおけるエンティティを選択するための限られたユーザ入力を用いて（例えば、マウスボタンの１回のクリック、またはタッチセンシティブスクリーン上での１回のタップを用いて）、これを達成する。エンティティが選択された後、本発明は、（１）モータまたは動作要素によって動かされる部品、（２）モータが取り付けられる必要がある部品上における位置、（３）モータの種類、例えば、リニア、ロータリ、またはパス、（４）部品の動作軸、（５）動作が経時的にどのように変化するかを記述する動作関数、または他のモデルパラメータ、および（６）動作関数がそれに対して定義される基準部品を自動的に決定することができる。したがって、動作は、単一のユーザ選択で、直ちに自動的に適用される。
【００２３】
動作種類（例えば、直線、回転、または経路沿い）の決定、したがって、モータの種類および動作軸の決定は、選択されたエンティティの組み合わせ、および選択された部品の自由度の計算に依存する。動作関数は、ランプ、調和とすることができ、または縁が検出された場合、部品は停止し、回転し、もしくは方向を反転させる。これは、モデルを解析することによって決定される。例えば、設計エンジニアは、２つの部品の間の衝突を検出するように、パラメータを確定しておく。その後、動作が適用されたときに、それら２つの部品が衝突した（または互いにある距離以内まで近づいた）場合、それらの部品の動作は、設計エンジニアによって定義された衝突パラメータに従って行われ、動作ソルバが、適切な動作を計算する。
【００２４】
デフォルトの基準部品は、地面、テーブル、または選択された部品が取り付けられた部品を表す。各モデルは、モデルの様々な部品の間の親子関係についての階層マップを記憶する。この情報は、デフォルトでは動作が親部品に関連するように動作を部品に適用するために使用される。この仮定は、ほとんどの場合において当てはまる。しかし、特定の場合において、これが当てはまらない場合、設計エンジニアは、基準部品をモデルの別の部品に変更する選択肢を有する。
【００２５】
加えて、２つの次元のみでしか運動を可能にしない本質的な１平面構成のせいで３Ｄ制約とは異なる、いかなる２Ｄ制約にも違反することなく、適切な動作が、２Ｄ機構に適用される。
【００２６】
ここで図３を参照すると、選択された部品に関して生じる動作の方向を（それがあれば）決定するプロセス３００のフロー図が、示されている。プロセス３００は、設計エンジニアが、３Ｄモデルのエンティティを選択し、動作解析を開始するためのコマンドを起動したときに、開始する。あるいは、設計エンジニアは、エンティティを選択する前に、動作解析を開始するためのコマンドを起動する。選択されたエンティティ（すなわち、面分、辺、または頂点を示す幾何学的形状）は、モータによって直接的に動かされる部品、およびモータが取り付けられる部品上における位置を決定するための情報を提供する。非限定的な例として、部品上で面分を選択することは、モータが面分の中央位置に取り付けられることを指定し、部品上で辺を選択することは、モータが辺の中央に取り付けられることを指定し、部品上で頂点を選択することは、モータが頂点に取り付けられることを指定する。モータが取り付けられる部品上における位置は、設計エンジニアによっていつでも無効にされる。
【００２７】
以下のステップでは、プロセス３００は、エンティティの選択に基づいて、部品がどのように動くかを決定する（ステップ３１０ないし３５０）。設計エンジニアが選択を行い、動作解析を開始するためのコマンドを起動すると（ステップ３０５）、プロセス３００は、エンティティがそこから選択された部品が有する運動の自由度が１か、それとも２以上かをチェックする（ステップ３１０）。自由度の数は、選択されたエンティティを含む部品が、他の部品とともに、および選択された部品がそれに対して固定される地面またはテーブルを表す基準とともに有する、メイティング関係を解析することによって決定される。メイティング関係の数が考慮されるばかりでなく、メイトの位置も、解析において使用される因子である。さらに、部品は、より多くのメイティング関係（すなわち、制約）を有するほど、より少ない自由度を有する。
【００２８】
部品が、たかだか１の運動の自由度しか有さない場合、部品がどのように動くべきかについて、曖昧さは存在せず、したがって、部品は、１自由度によって許可された方向に動く（ステップ３１５）。単一の運動の自由度が、直線動作を許可する場合、部品は、ｘ軸、ｙ軸、またはｚ軸に沿って直線的に動く。運動の自由度が、回転動作しか許可しない場合、部品は、ｘ軸、ｙ軸、またはｚ軸の周りで回転し、軸は、部品についての１自由度を反映したものである。方向は暗示されるので、動作軸は、選択に内在している。
【００２９】
部品が２以上の自由度を有する場合、プロセス３００は、部品が選択によって暗示される方向に沿って動くことができるかどうかを決定するために、部品を解析する（ステップ３２０）。この決定は、ＳｏｌｉｄＷｏｒｋｓ（登録商標）２０１４の動作調査機能によって行われるように、最初に部品が有する自由度を計算することによって達成される。例えば、２つの剛性部品の間の同軸メイトは、２つの剛性部品に関して、２つの並進自由度および２つの回転自由度を排除する。自由度が計算されると、プロセス３００は、それらの自由度を、選択によって暗示される１または複数の方向と比較する。実施形態では、部品の面分に対応する円柱面を選択することは、円柱面の中心にあり、円柱の端面を貫く軸の周りの回転を可能にする自由度と動作軸が相互に関係することを暗示する。平らな面を選択することは、選択された面に垂直な方向にある並進自由度に動作軸が対応することを暗示し、したがって、動作は、直線的である。
【００３０】
部品が選択によって暗示される方向に沿って動くことができる場合、手順３００はその後、その選択を仮定した場合、ただ１つの暗示される方向が可能であることを保証する（ステップ３２５）。例えば、面分が選択され、その面分は、面分に垂直な軸の周りで回転が可能であり、その同じ軸に沿って並進が可能である。ただ１つの動作方向が可能である場合、対応する動作（例えば、直線または回転）が、選択された方向に沿って部品に適用される（ステップ３３０）。
【００３１】
部品が２以上の暗示される動作方向を有する場合、本発明は、部品が動く方向を示す（ステップ３３５）。実施形態では、部品が動くことができる方向に対応する矢印が示される。他の実施形態は、部品が動く方向をリストアップしたユーザインターフェースを表示する。その後、設計エンジニアは、望まれる方向を示すそれぞれの矢印またはリスト内の方向を選択することによって、動作方向を選択する（ステップ３４０）。次のステップにおいて、部品は、その方向に沿って動かされ、対応する動作が適用される（ステップ３３０）。
【００３２】
部品がどの方向にも動くことができない（すなわち、部品が自由度を有さない）場合、部品が動かされることができないことを設計エンジニアに示すメッセージが表示され、その場合、設計エンジニアは、別の選択を行い、または手順から出ることを選択する（ステップ３５０）。
【００３３】
プロセス３００は、２Ｄモデル用に変更されることができる。２Ｄの場合、３つの自由度のみが、計算される必要がある。その後、選択された部品は、その部品が、選択された２Ｄエンティティを仮定した場合に暗示される１または複数の方向に動くかどうかを決定するために、解析される。
【００３４】
ここで図４を参照すると、ＣＡＤモデル１００に属する選択された部品がどのように動くかの例が、示されている。図４では、部品１２５のエンティティが選択される。部品１２５と部品１２０との間、および部品１２５と部品１３０との間のメイティング関係のせいで、部品１２５は、１自由度しか有さないように制約される。したがって、部品１２５のどのエンティティが選択されるかは、問題ではなく、部品１２５が動かされるただ１つの方向は、孔４１０の周りの回転的なものである。回転の方向は、矢印４２０によって示されている。
【００３５】
図５は、ＣＡＤモデル１００に属する異なる部品がどのように動かされるかを示している。図５では、部品１４５の上面５１０が選択される。この例では、部品１５０であるブラケット内部にある部品１４５の背面は、それがブラケットから引き出されるように制約されない。加えて、部品１４５の上面５１０および（見えない）底面も、制約されない。したがって、部品１４５は、２自由度を有する。しかしながら、上面５１０の選択は、望まれる動作が矢印５２０によって示される方向における並進動作であることを暗示する。
【００３６】
図６は、ＣＡＤモデル１００に属する部品１４５がどのように動かされるかをさらに示している。図６では、前面が強調されているので、図７に示されるように、部品１４５の前面が選択されている。この例において、部品１４５は、いずれの軸の周りでの回転も排除するように制約され、さらに、部品１４５は、（図５に関して説明された例とは異なり）部品１５０であるブラケットから引き出されることができないように制約されると仮定した場合、ユーザ選択に基づいて動作方向を突き止めることは可能ではない。したがって、２つの自由度を示す矢印６３０および矢印６４０が、設計エンジニアが矢印の一方を選択して動作方向を示すように、表示される。この場合、矢印は、大域的な動作方向を示す。したがって、部品１５０の動作も考慮することによって、部品１４５の水平動作が可能である。
【００３７】
ここで図７を参照すると、ＣＡＤモデル１００が、部品１５０の面分７２０の頂点７１０である点を追跡した経路１１０とともに示されている。頂点７１０は、ＣＡＤモデル１００である組立体が回転を経験するので、追跡される。部品１５０は、ブラケットの中央孔７４０の周りの回転が可能でなく、上面７３０が水平を保つように制約される。図７に示される自由度は、経路１１０である曲線の接線方向に沿った並進自由度である。矢印７５０は、図７がキャプチャされた瞬間の時間における移動方向を示している。
【００３８】
本発明は、直線動作については、ウィンドウ内におけるモデルのサイズを制御するズーム因子に基づいて、回転動作については、デフォルトでは、５秒で１回の３６０度回転に基づいて、動作シミュレーションの移動および持続時間の長さをさらに決定する。デフォルトでは、選択された部品は、部品がもはやスクリーン上で見えなくなるようには動かない。また、デフォルトでは、動作解析の持続時間は、５秒である。例として、テーブルの長さがウィンドウの幅に対応する場合、部品は、５秒でテーブルを横断して滑動し、テーブルの長さの半分がウィンドウの幅に対応する場合、部品は、５秒でテーブルの半分を横断して滑動する。動作シミュレーションの移動および持続時間の長さは、どちらも、設計エンジニアによって変更される。本発明のさらなる実施形態は、動作が再生、一時停止、およびリセットされることを可能にする、動作アニメーション機能を含む。
【００３９】
図８は、ＣＰＵ８０２と、コンピュータモニタ８０４と、キーボード入力デバイス８０６と、マウス入力デバイス８０８と、記憶デバイス８１０とを含む、コンピュータ化されたモデリングシステム８００を示している。ＣＰＵ８０２、コンピュータモニタ８０４、キーボード８０６、マウス８０８、および記憶デバイス８１０は、一般に入手可能なコンピュータハードウェアデバイスを含むことができる。例えば、ＣＰＵ８０２は、Ｉｎｔｅｌベースのプロセッサを含むことができる。マウス８０８は、設計エンジニアが、ＣＰＵ８０２によって実行されるソフトウェアプログラムに対してコマンドを発行するために押下する、従来の左ボタンおよび右ボタンを有する。マウス８０８の代わりに、またはマウス８０８に加えて、コンピュータ化されたモデリングシステム８００は、トラックボール、タッチセンシティブパッドなどのポインティングデバイス、またはキーボード８０６に組み込まれたポインティングデバイスおよびボタンを含むことができる。マウスデバイスに関連して本明細書で説明されたのと同じ結果は、別の利用可能なポインティングデバイスを使用して達成されることができることを当業者は理解する。適した適切なコンピュータハードウェアプラットフォームは、本明細書の説明から明らかになる。例えば、コンピュータ化されたモデリングシステムは、キーボードまたはマウスを必要とすることなく、キーボードおよびポインティング機能を可能にする、タッチスクリーンディスプレイを有する。そのようなコンピュータハードウェアプラットフォームは、好ましくは、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  ７、ＵＮＩＸ（登録商標）、Ｌｉｎｕｘ（登録商標）、またはＭＡＣ  ＯＳ  Ｘ、ｉＯＳ、またはＡｎｄｒｏｉｄオペレーティングシステムを動作させることが可能である。
【００４０】
追加のコンピュータ処理ユニットおよびハードウェアデバイス（例えば、ラピッドプロトタイピング、ビデオ、およびプリンタデバイス）が、コンピュータ化されたモデリングシステム８００に含まれる。さらに、コンピュータ化されたモデリングシステム８００は、ネットワークハードウェアおよびソフトウェアを含み、それによって、ハードウェアプラットフォーム８１２への伝達を可能にし、コンピュータ構成要素の中でもとりわけ、ＣＰＵおよび記憶システムを含む様々なコンピュータシステムの間の通信を容易にする。
【００４１】
コンピュータ支援モデリングソフトウェア（例えば、プロセス３００）は、記憶デバイス８１０上に記憶され、ＣＰＵ８０２内にロードされ、ＣＰＵ８０２によって実行される。モデリングソフトウェアは、設計エンジニアが、２Ｄおよび／または３Ｄモデルを作成し、変更することを可能にし、本明細書で説明された本発明の態様を実施する。ＣＰＵ８０２は、２Ｄおよび／または３Ｄモデル、ならびに説明されたようなそれらの他の態様を表示するために、コンピュータモニタ８０４を使用する。キーボード８０６およびマウス８０８を使用して、設計エンジニアは、３Ｄモデルと関連付けられたデータを入力すること、および変更することができる。ＣＰＵ８０２は、キーボード８０６およびマウス８０８から入力を受け入れ、処理する。ＣＰＵ８０２は、２Ｄおよび／または３Ｄモデルと関連付けられたデータとともに入力を処理し、モデリングソフトウェアによって指令されたように、コンピュータモニタ８０４上に表示されるそれに対して対応する適切な変更を行う。一実施形態では、モデリングソフトウェアは、１または複数のソリッドおよびサーフェスボディから成る３Ｄモデルを構築するために使用される、ソリッドモデリングシステムに基づく。
【００４２】
本発明の実施形態は、デジタル電子回路で、もしくはコンピュータハードウェア、ファームウェア、ソフトウェアで、またはそれらの組み合わせで実施される。装置は、プログラム可能プロセッサによって実行するための、機械可読記憶デバイス内に有形に具体化されたコンピュータプログラム製品で実施され、方法ステップは、入力データに作用し、出力を生成することによって機能を実行するために、命令からなるプログラムを実行するプログラム可能プロセッサによって実行される。本発明の実施形態は、データ記憶システムからデータおよび命令を受信し、データ記憶システムにデータおよび命令を送信するように結合された少なくとも１つのプログラム可能プロセッサと、少なくとも１つの入力デバイスと、少なくとも１つの出力デバイスとを含むプログラム可能システム上で実行可能な、１または複数のコンピュータプログラムで実施されるのが有利である。各コンピュータプログラムは、高水準手続き型もしくはオブジェクト指向プログラミング言語で、または望まれる場合は、アセンブリ言語もしくは機械語で実施され、いずれの場合も、言語は、コンパイル型またはインタープリタ型言語である。適切なプロセッサは、非限定的な例として、汎用および専用マイクロプロセッサの両方を含む。一般に、プロセッサは、リードオンリーメモリおよび／またはランダムアクセスメモリから命令およびデータを受け取り、いくつかの実施形態では、命令およびデータは、グローバルネットワークを通してダウンロードされる。コンピュータプログラム命令およびデータを有形に具体化するのに適した記憶デバイスは、例として、ＥＰＲＯＭ、ＥＥＰＲＯＭ、およびフラッシュメモリデバイスなどの半導体メモリデバイスと、内蔵ハードディスクおよび着脱可能ディスクなどの磁気ディスクと、光磁気ディスクと、ＣＤ−ＲＯＭディスクとを含む、不揮発性メモリのすべての形態を含む。上述されたいずれも、カスタム設計されたＡＳＩＣ（特定用途向け集積回路）によって補われ、またはそれに組み込まれる。
【００４３】
本明細書で説明された本発明の実施形態またはそれの態様は、ハードウェア、ファームウェア、またはソフトウェアの形態で実施される。ソフトウェアで実施される場合、ソフトウェアは、プロセッサがソフトウェアまたはそれの命令のサブセットをロードすることを可能にするように構成された、任意の非一時的なコンピュータ可読媒体上に記憶される。その後、プロセッサは、命令を実行し、本明細書で説明された方法で動作するように、または装置を動作させるように構成される。
【００４４】
本発明は、例示的なコンピュータシステム環境との関連で説明されたが、本発明の実施形態は、数々の他の汎用または専用コンピュータシステム環境または構成を用いて動作可能である。コンピュータシステム環境は、本発明の何らかの態様の使用または機能の範囲に関して、何らかの限定を暗示することは意図していない。さらに、コンピュータシステム環境は、例示的な動作環境に示された構成要素のいずれか１つまたは組み合わせに関する何らかの依存性または必要性を有すると解釈されるべきではない。本発明の態様とともに使用するのに適したコンピュータシステム、環境、および／または構成の例は、パーソナルコンピュータ（ＰＣ）、サーバコンピュータ、ハンドヘルドおよびラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能消費者電子製品、モバイル電話およびモバイルオペレーティングシステム、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、ならびに上記のシステムまたはデバイスのいずれかを含む分散コンピューティング環境などを含むが、それらに限定されない。コンピュータシステムは、スタンドアロン構成要素もしくはワークステーションを有し、またはコンピュータシステムは、知られた通信ネットワーク、処理ネットワーク、クラウドベースのネットワーク、および関連プロトコルなどのいずれかによってネットワーク接続されたコンピュータから形成される。
【００４５】
理解されることができるように、ネットワークは、インターネットなどの公衆ネットワーク、またはＬＡＮもしくはＷＡＮネットワークなどの私設ネットワーク、またはそれらの任意の組み合わせとすることができ、ＰＳＴＮまたはＩＳＤＮサブネットワークを含むこともできる。ネットワークは、イーサネットネットワークなど、有線接続されることもでき、またはＥＤＧＥ、３Ｇ、および４Ｇ無線セルラシステムを含むセルネットワークなど、無線であることができる。無線ネットワークは、ＷｉＦｉ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、または知られた通信の他の任意の無線形態とすることもできる。したがって、ネットワークは、例示的なものにすぎず、本発明の進歩の範囲を決して限定しない。
【００４６】
本明細書で開示される実施形態は、動作を定義するためのきわめて容易で迅速な方法、複雑な組立体の動作を容易に生み出すための方法、仮定解析を行うための効率的な方法、およびユーザが誤りを迅速に見つけることを可能にする瞬時の視覚的フィードバックを提供することを含む、現在の技術にまさる著しい利点を提供する。動作解析プロセスを開始することは、多くの時間と設計エンジニアによる労力を要することができるが、しかしながら、本発明を使用することは、マウスボタンのたった１回のクリック、またはタッチセンシティブスクリーンに対する１回のタッチを用いて達成されることができる。これは、設計エンジニアが、組立体におけるどのような不備も迅速に検出すること、および複雑な組立体の動作を非常に容易に生み出すことを可能にする。
【００４７】
別の利点は、本発明が、動作シミュレーションを、設計エンジニアにいかなる特別な解析の専門知識も要求しない、実行するのがきわめて容易な操作にすることによって、より多くの設計エンジニアが、設計反復ループの初期において動作シミュレーション機能を使用することを可能にすることである。さらなる利点は、コンピュータ支援設計ワークフローにおいて解析の緊密な統合を可能にすること、および必要とされる場合は、より精巧で詳細な動作解析のために、動作を動作調査（例えば、ＳｏｌｉｄＷｏｒｋｓ（登録商標）２０１４動作調査）に変換することを含む。本発明は、組立体の漸進的な構築のすべての段階において有益であり、したがって、設計が完全には定義されていない場合でさえも適用可能である。また別の利点は、解析結果が、製品の元の設計に悪影響を与えることなく、一時的に組立体に適用されることであり、すなわち、部品に適用される動作は、設計された通りの部品の位置を変化させず、動作がひとたび完了すると、部品は元の設計位置に対して移動する。
【００４８】
本発明は、特に、その例示的な実施形態を参照して示され、説明されたが、添付の特許請求の範囲によって包含される本発明の範囲から逸脱することなく、形態および細部における様々な変更がその中で行われることを当業者は理解するであろう。例えば、ほとんどの文脈において、組立体は、部分組立体も意味する。さらに、実施は、操作が実行される順序を変更する。さらに、実施の必要に応じて、本明細書で説明された特定の操作は、組み合わされた操作として実施され（例えば、プロセス３００におけるステップ３２０とステップ３２５）、排除され、それに追加され、またはさもなければ並び替えられる。
【図１】
0006560227.tif 000002
【図２】
0006560227.tif 000003
【図３】
0006560227.tif 000004
【図４】
0006560227.tif 000005
【図５】
0006560227.tif 000006
【図６】
0006560227.tif 000007
【図７】
0006560227.tif 000008
【図８】
0006560227.tif 000009