(57)【特許請求の範囲】
【請求項１】
動的に構成可能な製品設計を作成するための方法であって、前記方法は、
コンピュータデバイスのプロセッサ上で実行するコンピュータ支援設計（ＣＡＤ）アプリケーションを介して、動的に構成可能な製品設計の複数のモジュールを備えるモジュール構造を作成することであって、前記複数のモジュールは、少なくとも１つの可変モジュールを備えている、ことと、
ユーザによる選択のための前記少なくとも１つの可変モジュールの複数の所定のバリアントを提供することと、
前記少なくとも１つの可変モジュールの前記複数の所定のバリアントから前記ユーザによって選ばれる選択されたバリアントを識別する、前記ユーザからの入力を受信することであって、前記選択されたバリアントは、ハンドルを備えている、ことと、
前記プロセッサによって、前記動的に構成可能な製品設計の幾何モデルの中に前記選択されたバリアントを自動的に配置することと、
前記ハンドルによって、前記ハンドルに従って前記幾何モデルの中の前記配置された選択されたバリアントに隣接するモジュールの位置付けまたは幾何学形状を修正するようにパラメトリック幾何学形状エンジンをトリガすることと
を含み、
前記配置された選択されたバリアントに隣接するモジュールの位置付けまたは幾何学形状を修正することは、前記配置された選択されたバリアントに隣接するモジュールのインターフェースを、前記配置された選択されたバリアントの対応するインターフェースに整列させることを含む、方法。
【請求項２】
前記モジュール構造は、製品設計のモジュールの関係のツリーを備えている、請求項１に記載の方法。
【請求項３】
前記製品設計の各モジュールは、ロケータインターフェースまたはシェイパインターフェースを含む、請求項１に記載の方法。
【請求項４】
前記少なくとも１つの可変モジュールの前記複数の所定のバリアントのうちの各バリアントは、対応するロケータインターフェースまたはシェイパインターフェースを含む、請求項１に記載の方法。
【請求項５】
前記少なくとも１つの可変モジュールの前記複数の所定のバリアントは、一般的バリアントを含む、請求項１に記載の方法。
【請求項６】
前記複数の所定のバリアントは、製品構成ツールによって提示される、請求項１に記載の方法。
【請求項７】
前記幾何モデルの中に前記選択されたバリアントを配置することは、前記幾何モデルの中の前記少なくとも１つの可変モジュールの以前に使用されたバリアントを前記選択されたバリアントと置換することを含み、前記選択されたバリアントは、隣接モジュールのロケータまたはシェイパインターフェースが前記配置された選択されたバリアントの対応するロケータまたはシェイパインターフェースに整列するように配置される、請求項１に記載の方法。
【請求項８】
前記ハンドルは、ロケータハンドルまたはシェイパハンドルである、請求項１に記載の方法。
【請求項９】
前記動的に構成可能な製品設計は、ＣＡＤモデルの特徴ベースの幾何学形状の履歴レシピを含む、請求項１に記載の方法。
【請求項１０】
請求項１〜９に記載のプロセスを実装するようにプログラムされたシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願）
本願は、米国出願第１２／１３，９９２号（２０１０年１０月２８日出願、名称「Ｍｅｔｈｏｄｓ  ａｎｄ  Ｓｙｓｔｅｍｓ  ｆｏｒ  Ｃｒｅａｔｉｏｎ  ｏｆ  ａ  Ｄｙｎａｍｉｃａｌｌｙ  Ｃｏｎｆｉｇｕｒａｂｌｅ  Ｐｒｏｄｕｃｔ  Ｄｅｓｉｇｎ」）に基づく優先権を主張する。該出願は、その全体が参照により援用される。
【０００２】
本願は、米国出願第１２／９１３，９９８号（２０１０年１０月２８日出願、名称「Ｍｅｔｈｏｄｓ  ａｎｄ  Ｓｙｓｔｅｍｓ  ｆｏｒ  Ｄｉｒｅｃｔ−Ｐａｒａｍｅｔｒｉｃ  Ｉｎｔｅｒｏｐｅｒａｂｉｌｉｔｙ  ｉｎ  Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｄｅｓｉｇｎ」）に基づく優先権を主張する。該出願は、その全体が参照により援用される。
【０００３】
本願は、米国出願第１２／９１４，００１号（２０１０年１０月２８日出願、名称「Ｍｅｔｈｏｄｓ  ａｎｄ  Ｓｙｓｔｅｍｓ  ｆｏｒ  Ｄｙｎａｍｉｃａｌｌｙ  Ｌｏａｄｉｎｇ  Ｐｏｒｔｉｏｎｓ  ｏｆ  ａ  Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｄｅｓｉｇｎ  Ｍｏｄｅｌ  ｏｎ  Ｄｅｍａｎｄ」）に基づく優先権を主張する。該出願は、その全体が参照により援用される。
【０００４】
本願は、米国出願第１２／９１４，００８号（２０１０年１０月２８日出願、名称「Ｍｅｔｈｏｄｓ  ａｎｄ  Ｓｙｓｔｅｍｓ  ｆｏｒ  Ｅｎｆｏｒｃｉｎｇ  Ｐａｒａｍｅｔｒｉｃ  Ｃｏｎｓｔｒａｉｎｔｓ  ｉｎ  ａ  Ｄｉｒｅｃｔ  Ｍｏｄｅｌｉｎｇ  Ｉｎｔｅｒｆａｃｅ  ｉｎ  Ｃｏｍｐｕｔｅｒ−Ａｉｄｅｄ  Ｄｅｓｉｇｎ」）に基づく優先権を主張する。該出願は、その全体が参照により援用される。
【背景技術】
【０００５】
工業製品設計から３Ｄアニメーションまで多くの業界で、コンピュータ支援設計（ＣＡＤ）アプリケーション、コンピュータ支援エンジニアリング（ＣＡＥ）アプリケーション、コンピュータ支援製造（ＣＡＭ）アプリケーション、またはその他が、オブジェクトの２次元または３次元モデルを作成、操作、表示、または分析するために使用される。概してＣＡＤアプリケーションと呼ばれる、これらのアプリケーションは、ユーザが、オブジェクトの形態で特定の構造に対する設計を入力して視認することを可能にする。ユーザはしばしば、オブジェクトの表示を任意の角度まで回転させ、また、異なる表示および視点のためにズームインまたはズームアウトすることもできる。強調表示、陰影付け、クロスハッチング、着色、テクスチャリング、およびその他等の追加の視覚的特徴は、ユーザがコンピュータデバイスを用いてオブジェクトを設計することを可能にする。パラメトリックまたは履歴ベースのＣＡＤとして知られている、ＣＡＤアプリケーションのいくつかのバージョンでは、アプリケーションはまた、設計従属性に加えて、オブジェクトへの設計変更を追跡して監視することもできる。したがって、ユーザがオブジェクト内の要素を追加または変更する時に、その変更に従属する他の値が、設計のエンジニアリングコンセプトおよびルールに従って自動的に更新され得る。例えば、第１のオブジェクトの長さが、変数として第２のオブジェクトの長さを含む式によって、定義され得る。したがって、第２のオブジェクトの長さを修正することは、ＣＡＤアプリケーションに第１のオブジェクトの長さを再計算させ、モデルを再生させ得る。
【０００６】
多くの用途では、オブジェクトは、いくつかの基本的な幾何学形状の単純な集合であり得る一方で、他の用途では、オブジェクトは、何千もの複雑な部品を含み得る。例えば、自動車の詳細なＣＡＤモデルは、タイヤ上のトレッド設計、テールライトレンズ設計、電気サブシステムルーティング、計器パネルレイアウト、スパークプラグ間隙の間隔、シートベルトラッチ設計、およびその他多くを含む、多様な種類の数千もの独特な特徴を含み得る。この複雑性は、これらのアプリケーションの遅い動作をもたらす場合がある。さらに、複雑性により、これらのプログラムは、典型的には、習得するのが非常に困難である。
【発明の概要】
【課題を解決するための手段】
【０００７】
本開示は、ビジネス主導型アセンブリと呼ばれることもある、動的に構成可能な製品設計の作成のための方法およびシステムを特徴とする。そのような製品設計は、部品表（ＢＯＭ）、あるいは顧客、販売員、またはベンダによるオプションの選択による主導型と呼ばれ得、製品ライフサイクル管理（ＰＬＭ）計画に応答して行われ得る。システムは、顧客が製品の仕様を定義することを可能にし、次いで、定義された仕様または選択されたオプションに応答して、ＣＡＤモデルを動的に生成する。
【０００８】
一側面では、本発明は、動的に構成可能な製品設計の作成のための方法を対象とする。方法は、コンピュータデバイスのプロセッサ上で実行するコンピュータ支援設計（ＣＡＤ）アプリケーションのユーザによって、動的に構成可能な製品設計の複数のモジュールのモジュール構造を作成することを含み、複数のモジュールは、少なくとも１つの可変モジュールを備えている。方法はまた、ユーザによって、少なくとも１つの可変モジュールの複数のバリアントから、動的に構成可能な製品設計で使用するバリアントを選択することも含む。方法はさらに、ＣＡＤアプリケーションによって、動的に構成可能な製品設計の幾何モデルの中に選択されたバリアントを配置することを含む。方法はまた、ＣＡＤアプリケーションによって、配置された選択されたバリアントの１つ以上の制約に応答して、幾何モデルの中の配置された選択されたバリアントに隣接するモジュールの位置付けまたは幾何学形状を修正することも含む。
【０００９】
一実施形態では、方法は、製品設計のモジュールの関係のツリーを備えている、モジュール構造を含む。別の実施形態では、方法は、ロケータインターフェースまたはシェイパインターフェースを含む、製品設計の各モジュールを含む。さらに別の実施形態では、方法は、対応するロケータインターフェースまたはシェイパインターフェースを含む、少なくとも１つの可変モジュールの複数のバリアントの各バリアントを含む。なおも別の実施形態では、方法は、一般的バリアントを含む、少なくとも１つの可変モジュールの複数のバリアントを含む。
【００１０】
いくつかの実施形態では、方法は、ユーザによって、製品構成ツールによって提示される可変モジュールのバリアントの所定のリストからバリアントを選択することを含む。他の実施形態では、方法は、幾何モデルの中の少なくとも１つの可変モジュールの以前に使用されたバリアントを選択されたバリアントと置換することを含む。一実施形態では、方法は、隣接モジュールのインターフェースを、配置された選択されたバリアントの対応するインターフェースに整列させるように、隣接モジュールの位置付けまたは幾何学形状を修正することを含む。別の実施形態では、方法は、隣接モジュールのロケータまたはシェイパインターフェースを、配置された選択されたバリアントの対応するロケータまたはシェイパ  インターフェースに整列させるための規則を含む、配置された選択されたバリアントの１つ以上の制約を含む。いくつかの実施形態では、方法は、ＣＡＤモデルの特徴ベースの幾何学形状の履歴レシピを含む、動的に構成可能な製品設計を含む。
【００１１】
別の側面では、本発明は、動的に構成可能な製品設計の作成のためのシステムを特徴とする。システムは、プロセッサを備えている、コンピュータデバイスを含み、プロセッサは、コンピュータ支援設計（ＣＡＤ）アプリケーションのユーザによって、動的に構成可能な製品設計の複数のモジュールのモジュール構造を作成するためのＣＡＤアプリケーションであって、複数のモジュールは、少なくとも１つの可変モジュールを備えている、ＣＡＤアプリケーションと、ユーザによって、少なくとも１つの可変モジュールの複数のバリアントから、動的に構成可能な製品設計で使用するバリアントを選択するための選択インターフェースと、動的に構成可能な製品設計の幾何モデルの中に選択されたバリアントを配置し、配置された選択されたバリアントの１つ以上の制約に応答して、幾何モデルの中の配置された選択されたバリアントに隣接するモジュールの位置付けまたは幾何学形状を修正するための幾何学形状エンジンとを実行するように構成される。
【００１２】
システムのいくつかの実施形態では、モジュール構造は、製品設計のモジュールの関係のツリーを備えている。システムの他の実施形態では、製品設計の各モジュールは、ロケータインターフェースまたはシェイパインターフェースを含む。システムのなおも他の実施形態では、少なくとも１つの可変モジュールの複数のバリアントのうちの各バリアントは、対応するロケータインターフェースまたはシェイパインターフェースを含む。システムのさらになおも他の実施形態では、少なくとも１つの可変モジュールの複数のバリアントは、一般的バリアントを含む。
【００１３】
システムの一実施形態では、選択インターフェースは、ユーザによって、製品構成ツールによって提示される可変モジュールのバリアントの所定のリストからバリアントを選択するために構成される。システムの別の実施形態では、幾何学形状エンジンは、幾何モデルの中の少なくとも１つの可変モジュールの以前に使用されたバリアントを選択されたバリアントと置換するために構成される。システムのなおも別の実施形態では、幾何学形状エンジンは、隣接モジュールのインターフェースを、配置された選択されたバリアントの対応するインターフェースに整列させるように、隣接モジュールの位置付けまたは幾何学形状を修正するために構成される。システムのさらになおも別の実施形態では、配置された選択されたバリアントの１つ以上の制約は、隣接モジュールのロケータまたはシェイパインターフェースを、配置された選択されたバリアントの対応するロケータまたはシェイパインターフェースに整列させるための規則を含む。システムのいくつかの実施形態では、動的に構成可能な製品設計は、ＣＡＤモデルの特徴ベースの幾何学形状の履歴レシピを含む。
【００１４】
本開示は、コンピュータ支援設計における直接・パラメトリック相互運用性のための方法およびシステムを特徴とする。直接およびパラメトリックコンピュータ支援設計（ＣＡＤ）モデリングといった、３次元設計を開発するための２つのアプローチが、現在広く使用されている。両方のアプローチの利点を組み合わせるために、本発明の一側面では、直接モデリングユーザインターフェースが、モデルを編集するために使用され、幾何学形状の直観的かつ容易な操作を可能にし、パラメトリック幾何学形状エンジンが、これらの操作を履歴ベースの特徴として解釈し、構築レシピを作成する。したがって、たとえユーザが、全操作中に履歴および連合関係が作成されていることを認識しない場合があっても、モデルの基礎的アーキテクチャは、パラメトリックのままである。したがって、本発明は、パラメトリックモデラの強力な特徴および再生能力を保持しながら、直接ＣＡＤモデリングの直観的ＷＹＳＩＷＹＧ編集を提供する。
【００１５】
一側面では、本発明は、コンピュータ支援設計（ＣＡＤ）システムを特徴とする。システムは、ＣＡＤオブジェクトの特徴ベースの幾何学形状の履歴レシピを作成するためのパラメトリック幾何学形状エンジンと、ＣＡＤオブジェクトの幾何学形状を修正するための直接モデリングユーザインターフェースであって、ＣＡＤオブジェクトの履歴およびパラメトリック特徴は、直接モデリングユーザインターフェースのユーザから隠されている、直接モデリングユーザインターフェースとを実行するように構成されている、プロセッサを備えている、コンピュータデバイスを含む。
【００１６】
システムの一実施形態では、パラメトリック幾何学形状エンジンは、直接モデリングユーザインターフェースにおけるＣＡＤオブジェクトの幾何学形状に対する修正を、履歴レシピにおけるパラメトリック特徴の作成または修正として解釈するように構成される。システムのさらなる実施形態では、履歴レシピの中の作成または修正されたパラメトリック特徴は、履歴レシピにおける第２の以前のパラメトリック特徴に従属する。システムのなおもさらなる実施形態では、履歴レシピの中の作成または修正されたパラメトリック特徴は、パラメトリック特徴の作成の順序に応答して、履歴レシピにおける第２の以前のパラメトリック特徴に従属する。システムの別のなおもさらなる実施形態では、履歴レシピの中の作成または修正されたパラメトリック特徴は、作成または修正されたパラメトリック特徴と第２の以前のパラメトリック特徴との間の暗示的制約に応答して、履歴レシピにおける第２の以前のパラメトリック特徴に従属する。システムのさらなる実施形態では、作成または修正されたパラメトリック特徴は、第２の以前のパラメトリック特徴の工学特徴である。システムの別のなおもさらなる実施形態では、パラメトリック幾何学形状エンジンは、第２の以前のパラメトリック特徴の修正に応答して、作成または修正されたパラメトリック特徴を再生するように構成され、直接モデリングユーザインターフェースは、再生された作成または修正されたパラメトリック特徴を表示するように構成される。システムの別のさらなる実施形態では、作成または修正されたパラメトリック特徴は、従来のパラメトリック特徴を含む。システムの別のさらなる実施形態では、作成または修正されたパラメトリック特徴は、フレックス移動パラメトリック特徴またはフレックス移動コピーパラメトリック特徴を含む。
【００１７】
システムのいくつかの実施形態では、パラメトリック幾何学形状エンジンは、直接モデリングユーザインターフェースにおいて作成されたＣＡＤオブジェクトの対称幾何学的要素を識別し、ＣＡＤオブジェクトの対称幾何学的要素間の連合を表すパラメトリック柔軟対称特徴を作成するように構成される。システムの他の実施形態では、パラメトリック幾何学形状エンジンは、直接モデリングユーザインターフェースにおいて作成されたＣＡＤオブジェクトの複数の幾何学的要素のパターンを識別し、ＣＡＤオブジェクトの複数の幾何学的要素間のパターン連合を表すパラメトリック柔軟パターン特徴を作成するように構成される。
【００１８】
システムの一実施形態では、プロセッサはさらに、直接モデリングユーザインターフェースのユーザによって行われるＣＡＤモデルに対する複数の修正のうちの各々を、パラメトリックモデリングユーザインターフェースのユーザによって、精査して容認または拒絶するためのパラメトリックモデリングユーザインターフェースを実行するように構成される。システムのさらなる実施形態では、パラメトリック幾何学形状エンジンは、パラメトリックモデリングユーザインターフェースのユーザによる、直接モデリングユーザインターフェースのユーザによって第１のＣＡＤオブジェクトに対して行われる修正の拒絶に応答して、ＣＡＤモデルの第２のＣＡＤオブジェクトの幾何学形状を再計算するように構成され、第２のＣＡＤオブジェクトは、特徴ベースの幾何学形状の履歴レシピにおける第１のＣＡＤオブジェクトへの従属的関係を有する。
【００１９】
別の側面では、本発明は、コンピュータ支援設計（ＣＡＤ）システムを使用する方法を特徴とする。方法は、コンピュータデバイスのプロセッサ上で実行するＣＡＤアプリケーションによって提供される直接モデリングユーザインターフェースのユーザによって、ＣＡＤオブジェクトの幾何学形状を修正することを含む。方法はまた、ＣＡＤアプリケーションのパラメトリック幾何学形状エンジンによって、ＣＡＤオブジェクトの特徴ベースの幾何学形状の履歴レシピを作成することも含む。方法では、ＣＡＤオブジェクトの履歴およびパラメトリック特徴は、直接モデリングユーザインターフェースのユーザから隠されている。
【００２０】
一実施形態では、方法は、パラメトリック幾何学形状エンジンによって、直接モデリングユーザインターフェースにおけるユーザによるＣＡＤオブジェクトの幾何学形状に対する修正を、履歴レシピにおけるパラメトリック特徴の作成または修正として解釈することを含む。さらなる実施形態では、方法は、履歴レシピにおける第２の以前のパラメトリック特徴に従属している、履歴レシピにおける作成または修正されたパラメトリック特徴を含み、方法はさらに、第２の以前のパラメトリック特徴の修正に応答して、パラメトリック幾何学形状エンジンによって、作成または修正されたパラメトリック特徴を再生することと、直接モデリングユーザインターフェースによって、再生された作成または修正されたパラメトリック特徴を表示することとを含む。別のさらなる実施形態では、方法は、フレックス移動パラメトリック特徴またはフレックス移動コピーパラメトリック特徴を含む、作成または修正されたパラメトリック特徴を含む。
【００２１】
いくつかの実施形態では、方法は、パラメトリック幾何学形状エンジンによって、直接モデリングユーザインターフェースにおいて作成されたＣＡＤオブジェクトの対称幾何学的要素を識別することと、パラメトリック幾何学形状エンジンによって、ＣＡＤオブジェクトの対称幾何学的要素間の連合を表すパラメトリック柔軟対称特徴を作成することとを含む。他の実施形態では、方法は、パラメトリック幾何学形状エンジンによって、直接モデリングユーザインターフェースにおいて作成されたＣＡＤオブジェクトの複数の幾何学的要素のパターンを識別することと、パラメトリック幾何学形状エンジンによって、ＣＡＤオブジェクトの複数の幾何学的要素間のパターン連合を表すパラメトリック柔軟パターン特徴を作成することとを含む。
【００２２】
一実施形態では、方法は、ＣＡＤアプリケーションのパラメトリックモデリングユーザインターフェースのユーザによって、直接モデリングユーザインターフェースのユーザによって行われるＣＡＤモデルに対する複数の修正のうちの各々を精査して容認または拒絶することを含む。さらなる実施形態では、方法は、パラメトリックモデリングユーザインターフェースのユーザによる、直接モデリングユーザインターフェースのユーザによって第１のＣＡＤオブジェクトに対して行われる修正の拒絶に応答して、パラメトリック幾何学形状エンジンによって、ＣＡＤモデルの第２のＣＡＤオブジェクトの幾何学形状を再計算することを含み、第２のＣＡＤオブジェクトは、特徴ベースの幾何学形状の履歴レシピにおける第１のＣＡＤオブジェクトへの従属的関係を有する。
【００２３】
複雑なＣＡＤモデルは、それぞれ、数十または数百もの個々の特徴を備えている、数千または数万もの部品を含み得る。必要メモリおよび再生時間を削減するために、本発明は、要求に応じてコンピュータ支援設計モデルの複数部分を動的にロードするためのシステムおよび方法を特徴とする。一実施形態では、ＣＡＤアプリケーションは、特定の設計タスクのために、ユーザによる必要に応じて、ＣＡＤモデルの複数部分を漸進的にロードし得る。これは、必要メモリおよび処理の両方を削減し、ラップトップ、タブレットコンピュータ、スマートフォン、または任意の他のシステム等の限定されたリソースを伴うデバイス上での完成したＣＡＤモデルへのアクセスによって、ＣＡＤアプリケーションを実行する可能性を生成する。
【００２４】
一側面では、本開示は、要求に応じてコンピュータ支援設計（ＣＡＤ）モデルの複数部分を動的にロードする方法を特徴とする。方法は、コンピュータデバイスのプロセッサによって実行されるＣＡＤアプリケーションによって、ＣＡＤモデルの第１の部分をロードすることを含み、第１の部分は、（ｉ）ＣＡＤモデルのモジュール構造と、（ｉｉ）モジュール構造の第１の要素のグラフィックスおよび幾何学形状データとを備えている。方法はまた、ＣＡＤアプリケーションのユーザによって、モジュール構造の第２の要素を選択することも含む。方法はさらに、ＣＡＤアプリケーションによって、選択に応答して、ＣＡＤモデルの第２の部分をロードすることを含み、第２の部分は、（ｉ）選択された第２の要素のモジュール構造と、（ｉｉ）選択された第２の要素のグラフィックスおよび幾何学形状データとを備えている。
【００２５】
一実施形態では、方法は、第１の要素の１つ以上の可視または外部表面を識別し、第１の要素の識別された可視または外部表面のグラフィックスおよび幾何学形状データをロードすることを含む。別の実施形態では、方法は、第１の要素の１つ以上のロケーションインターフェースまたはシェイパインターフェースをロードすることを含む。さらに別の実施形態では、方法は、第２の要素の１つ以上の可視または外部表面を識別し、第２の要素の識別された可視または外部表面のグラフィックスおよび幾何学形状データをロードすることを含む。なおも別の実施形態では、方法は、第２の要素の１つ以上のロケーションインターフェースまたはシェイパインターフェースをロードすることを含む。
【００２６】
いくつかの実施形態では、方法は、第２の要素をモジュール構造に追加することを含む。他の実施形態では、方法は、ＣＡＤアプリケーションのユーザによって、第１の要素または第２の要素の幾何学形状データの制約を定義するために、モジュール構造の第３の要素の幾何学形状データの１つ以上の項目を選択することと、ＣＡＤアプリケーションによって、選択に応答して、第３の要素の幾何学形状データの前記選択された１つ以上の項目をロードすることとを含む。さらなる実施形態では、方法は、第３の要素の幾何学形状データの未選択項目をロードしないことを含む。
【００２７】
一実施形態では、方法は、ＣＡＤアプリケーションのユーザによって、モジュール構造の第３の要素を選択することであって、第３の要素は、モジュール構造の中の前記第２の要素と直接関係しない、ことと、ＣＡＤアプリケーションによって、選択に応答して、ＣＡＤモデルの第３の部分をロードすることであって、第３の部分は、（ｉ）選択された第３の要素のモジュール構造と、（ｉｉ）選択された第３の要素のグラフィックスおよび幾何学形状データとを備えている、こととを含む。さらなる実施形態では、方法は、ＣＡＤアプリケーションによって、モジュール構造の中の第２の要素と直接関係しない第３の要素に応答して、ＣＡＤモデルの第２の部分をアンロードすることを含む。
【００２８】
別の側面では、本開示は、要求に応じてコンピュータ支援設計（ＣＡＤ）モデルの複数部分を動的にロードするためのシステムを特徴とする。システムは、プロセッサであって、ＣＡＤアプリケーションを実行するように構成されるプロセッサを備えている、コンピュータデバイスを含む。ＣＡＤアプリケーションは、ユーザによってＣＡＤモデルのモジュール構造の第１の要素を選択するためのＣＡＤアプリケーションのユーザインターフェースと、ＣＡＤモデルの第１の部分であって、（ｉ）ＣＡＤモデルのモジュール構造と、（ｉｉ）モジュール構造の第２の要素のグラフィックスおよび幾何学形状データとを備えている、第１の部分をロードし、ユーザによる選択に応答して、ＣＡＤモデルの第２の部分であって、（ｉ）選択された第１の要素のモジュール構造と、（ｉｉ）選択された第１の要素のグラフィックスおよび幾何学形状データとを備えている、第２の部分をロードするように構成されている、ＣＡＤアプリケーションの幾何学形状エンジンとを含む。
【００２９】
一実施形態では、幾何学形状エンジンはさらに、第２の要素の１つ以上の可視または外部表面を識別し、第２の要素の識別された可視または外部表面のグラフィックスおよび幾何学形状データをロードするように構成される。別の実施形態では、幾何学形状エンジンはさらに、第２の要素の１つ以上のロケーションインターフェースまたはシェイパインターフェースをロードするように構成される。なおも別の実施形態では、幾何学形状エンジンはさらに、第１の要素の１つ以上の可視または外部表面を識別し、第１の要素の識別された可視または外部表面のグラフィックスおよび幾何学形状データをロードするように構成される。さらになおも別の実施形態では、幾何学形状エンジンはさらに、第１の要素の１つ以上のロケーションインターフェースまたはシェイパインターフェースをロードするように構成される。いくつかの実施形態では、幾何学形状エンジンはさらに、第１の要素をモジュール構造に追加するように構成される。
【００３０】
一実施形態では、ユーザインターフェースは、ＣＡＤアプリケーションのユーザによって、第１の要素または第２の要素の幾何学形状データの制約を定義するために、モジュール構造の第３の要素の幾何学形状データの１つ以上の項目を選択するために使用され、幾何学形状エンジンはさらに、選択に応答して、第３の要素の幾何学形状データの選択された１つ以上の項目をロードするように構成される。さらなる実施形態では、幾何学形状エンジンはさらに、第３の要素の幾何学形状データの未選択項目をロードしないように構成される。
【００３１】
別の実施形態では、ユーザインターフェースは、ＣＡＤアプリケーションのユーザによって、モジュール構造の第３の要素であって、モジュール構造の中の第１の要素と直接関係しない第３の要素を選択するために使用され、幾何学形状エンジンはさらに、選択に応答して、ＣＡＤモデルの第３の部分であって、（ｉ）選択された第３の要素のモジュール構造と、（ｉｉ）選択された第３の要素のグラフィックスおよび幾何学形状データとを備えている、第３の部分をロードするように構成される。さらなる実施形態では、幾何学形状エンジンはさらに、モジュール構造の中の第１の要素と直接関係しない前記第３の要素に応答して、ＣＡＤモデルの第２の部分をアンロードするように構成される。
【００３２】
本開示は、コンピュータ支援設計（ＣＡＤ）において直接モデリングインターフェースのパラメトリック制約を守らせる方法およびシステムを対象とする。ＣＡＤアプリケーションのパラメトリック幾何学形状エンジンは、ＣＡＤアプリケーションの直接モデリングユーザインターフェースにおける特徴に対する試行される編集を、パラメトリックモデリングユーザインターフェースにおいて作成された既存の制約と比較し、一実施形態では、ユーザが編集を完了することを防止し得る。他の実施形態では、パラメトリック幾何学形状エンジンは、ダイアログボックスをユーザに提示し、ユーザが、編集を拒絶すること、制約を無効にすることまたは削除すること、制約を修正すること、あるいは適切な他の措置を講じることを可能にし得る。なおも他の実施形態では、パラメトリック幾何学形状エンジンは、別のユーザではなく、１人のユーザが特徴を編集することを可能にし得る。したがって、エンティティのパラメトリック制約および許可ベースの所有権は、直接モデリングユーザインターフェースにおいて守られ得る。
【００３３】
一側面では、本開示は、コンピュータ支援設計（ＣＡＤ）システムを対象とする。システムは、ＣＡＤオブジェクトの特徴ベースの幾何学形状の履歴レシピを作成するためのパラメトリック幾何学形状エンジンを実行するように構成されている、プロセッサを備えている、コンピュータデバイスを含む。プロセッサはまた、第１のユーザによって、ＣＡＤオブジェクトの特徴制約を作成するためのパラメトリックモデリングユーザインターフェースを実行するように構成される。プロセッサはさらに、直接モデリングユーザインターフェースの第２のユーザによって、ＣＡＤオブジェクトを修正しようとするための直接モデリングユーザインターフェースを実行するように構成され、ＣＡＤオブジェクトの履歴およびパラメトリック特徴は、第２のユーザから隠されている。パラメトリック幾何学形状エンジンはさらに、幾何学形状を修正しようとする第２のユーザに応答して、直接モデリングユーザインターフェースにおいて特徴制約を守らせるように構成される。
【００３４】
一実施形態では、パラメトリック幾何学形状エンジンは、直接モデリングユーザインターフェースにおけるＣＡＤオブジェクトの幾何学形状に対する修正を、履歴レシピにおけるパラメトリック特徴の作成または修正として解釈するように構成される。いくつかの実施形態では、特徴制約は、幾何学的制約を含む。他の実施形態では、特徴制約は、工学的制約を含む。一実施形態では、ＣＡＤオブジェクトを修正しようとすることは、ＣＡＤオブジェクトの幾何学形状またはＣＡＤオブジェクトの特徴を修正しようとすることを含む。別の実施形態では、ＣＡＤオブジェクトを修正しようとすることは、ＣＡＤオブジェクトの製品情報またはＣＡＤオブジェクトの特徴を修正しようとすることを含む。
【００３５】
いくつかの実施形態では、パラメトリック幾何学形状エンジンは、幾何学形状を修正しようとする第２のユーザに応答して、ＣＡＤオブジェクトに対する試行される修正を防止または拒絶するように構成される。さらなる実施形態では、パラメトリック幾何学形状エンジンは、第２のユーザが、直接モデリングユーザインターフェースにおいて特徴制約を無効にすること、または修正することを可能にするように構成される。なおもさらなる実施形態では、直接モデリングユーザインターフェースにおいて特徴制約を守らせることは、特徴制約を無効にする、または修正する第２のユーザに応答して、直接モデリングユーザインターフェースにおいてＣＡＤオブジェクトの修正を可能にすることを含む。別の実施形態では、パラメトリック幾何学形状エンジンは、幾何学形状を修正する許可が欠如している第２のユーザに応答して、ＣＡＤオブジェクトへの試行された修正を防止または拒絶するように構成される。
【００３６】
別の側面では、本開示は、コンピュータ支援設計（ＣＡＤ）システムにおいて制約を守らせる方法を対象とする。方法は、コンピュータデバイスのプロセッサによって実行されるＣＡＤアプリケーションのパラメトリックモデリングユーザインターフェースの第１のユーザによって、ＣＡＤオブジェクトの特徴制約を作成することを含み、ＣＡＤオブジェクトは、特徴ベースの幾何学形状の履歴レシピを含む。方法はまた、ＣＡＤアプリケーションの直接モデリングユーザインターフェースの第２のユーザによって、ＣＡＤオブジェクトを修正しようとすることであって、ＣＡＤオブジェクトの履歴およびパラメトリック特徴は、直接モデリングユーザインターフェースにおいて第２のユーザから隠されている。方法はさらに、幾何学形状を修正しようとする第２のユーザに応答して、ＣＡＤアプリケーションのパラメトリックモデリングエンジンによって、直接モデリングユーザインターフェースにおける特徴制約を守らせることを含む。
【００３７】
一実施形態では、方法は、パラメトリック幾何学形状エンジンによって、直接モデリングユーザインターフェースにおけるＣＡＤオブジェクトの幾何学形状に対する修正を、履歴レシピにおけるパラメトリック特徴の作成または修正として解釈することを含む。いくつかの実施形態では、特徴制約は、幾何学的制約を含む。他の実施形態では、特徴制約は、工学的制約を含む。
【００３８】
一実施形態では、方法は、直接モデリングユーザインターフェースの第２のユーザによって、ＣＡＤオブジェクトの幾何学形状またはＣＡＤオブジェクトの特徴を修正しようとすることを含む。別の実施形態では、方法は、直接モデリングユーザ  インターフェースの第２のユーザによって、ＣＡＤオブジェクトの製品情報またはＣＡＤオブジェクトの特徴を修正しようとすることを含む。
【００３９】
一実施形態では、方法は、幾何学形状を修正しようとする第２のユーザに応答して、パラメトリック幾何学形状エンジンによって、ＣＡＤオブジェクトに対する試行される修正を防止または拒絶することを含む。さらなる実施形態では、方法は、パラメトリック幾何学形状エンジンによって、第２のユーザが、直接モデリングユーザインターフェースにおいて特徴制約を無効にすること、または修正することを可能にすることを含む。なおもさらなる実施形態では、方法は、特徴制約を無効にする、または修正する第２のユーザに応答して、パラメトリック幾何学形状エンジンによって、直接モデリングユーザインターフェースにおいてＣＡＤオブジェクトの修正を可能にすることを含む。別の実施形態では、方法は、幾何学形状を修正する許可が欠如している第２のユーザに応答して、パラメトリック幾何学形状エンジンによって、防止または拒絶することを含む。
【００４０】
本発明の種々の実施形態の詳細は、添付図面および以下の説明で記載される。
本願明細書は、例えば、以下の項目も提供する。
（項目１）
動的に構成可能な製品設計の作成のための方法であって、
コンピュータデバイスのプロセッサ上で実行するコンピュータ支援設計（ＣＡＤ）アプリケーションのユーザによって、動的に構成可能な製品設計の複数のモジュールのモジュール構造を作成することであって、前記複数のモジュールは、少なくとも１つの可変モジュールを備えている、ことと、
前記ユーザによって、前記少なくとも１つの可変モジュールの複数のバリアントから、前記動的に構成可能な製品設計で使用するバリアントを選択することと、
前記ＣＡＤアプリケーションによって、前記動的に構成可能な製品設計の幾何モデルの中に前記選択されたバリアントを配置することと、
前記ＣＡＤアプリケーションによって、前記配置された選択されたバリアントの１つ以上の制約に応答して、前記幾何モデルの中の前記配置された選択されたバリアントに隣接するモジュールの位置付けまたは幾何学形状を修正することと
を含む、方法。
（項目２）
前記モジュール構造は、製品設計のモジュールの関係のツリーを備えている、項目１に記載の方法。
（項目３）
前記製品設計の各モジュールは、ロケータインターフェースまたはシェイパインターフェースを含む、項目１に記載の方法。
（項目４）
前記少なくとも１つの可変モジュールの前記複数のバリアントのうちの各バリアントは、対応するロケータインターフェースまたはシェイパインターフェースを含む、項目１に記載の方法。
（項目５）
前記少なくとも１つの可変モジュールの前記複数のバリアントは、一般的バリアントを含む、項目１に記載の方法。
（項目６）
前記バリアントを選択することは、前記ユーザによって、製品構成ツールによって提示される前記可変モジュールのバリアントの所定のリストからバリアントを選択することを含む、項目１に記載の方法。
（項目７）
前記幾何モデルの中に前記選択されたバリアントを配置することは、前記幾何モデルの中の前記少なくとも１つの可変モジュールの以前に使用されたバリアントを前記選択されたバリアントと置換することを含む、項目１に記載の方法。
（項目８）
前記配置された選択されたバリアントに隣接するモジュールの位置付けまたは幾何学形状を修正することは、前記隣接モジュールのインターフェースを、前記配置された選択されたバリアントの対応するインターフェースに整列させるように、前記隣接モジュールの位置付けまたは幾何学形状を修正することを含む、項目１に記載の方法。
（項目９）
前記配置された選択されたバリアントの前記１つ以上の制約は、隣接モジュールのロケータまたはシェイパインターフェースを、前記配置された選択されたバリアントの対応するロケータまたはシェイパインターフェースに整列させるための規則を含む、項目１に記載の方法。
（項目１０）
前記動的に構成可能な製品設計は、ＣＡＤモデルの特徴ベースの幾何学形状の履歴レシピを含む、項目１に記載の方法。
（項目１１）
動的に構成可能な製品設計の作成のためのシステムであって、
プロセッサを備えているコンピュータデバイスを備え、前記プロセッサは、
コンピュータ支援設計（ＣＡＤ）アプリケーションのユーザによって、動的に構成可能な製品設計の複数のモジュールのモジュール構造を作成するためのＣＡＤアプリケーションであって、前記複数のモジュールは、少なくとも１つの可変モジュールを備えている、ＣＡＤアプリケーションと、
前記ユーザによって、前記少なくとも１つの可変モジュールの複数のバリアントから、前記動的に構成可能な製品設計で使用するバリアントを選択するための選択インターフェースと、
前記動的に構成可能な製品設計の幾何モデルの中に前記選択されたバリアントを配置し、前記配置された選択されたバリアントの１つ以上の制約に応答して、前記幾何モデルの中の前記配置された選択されたバリアントに隣接するモジュールの位置付けまたは幾何学形状を修正するための幾何学形状エンジンと
を実行するように構成されている、システム。
（項目１２）
前記モジュール構造は、製品設計のモジュールの関係のツリーを備えている、項目１１に記載のシステム。
（項目１３）
前記製品設計の各モジュールは、ロケータインターフェースまたはシェイパインターフェースを含む、項目１１に記載のシステム。
（項目１４）
前記少なくとも１つの可変モジュールの前記複数のバリアントのうちの各バリアントは、対応するロケータインターフェースまたはシェイパインターフェースを含む、項目１１に記載のシステム。
（項目１５）
前記少なくとも１つの可変モジュールの前記複数のバリアントは、一般的バリアントを含む、項目１１に記載のシステム。
（項目１６）
前記バリアントを選択することは、前記ユーザによって、製品構成ツールによって提示される前記可変モジュールのバリアントの所定のリストからバリアントを選択することを含む、項目１１に記載のシステム。
（項目１７）
前記幾何モデルの中に前記選択されたバリアントを配置することは、前記幾何モデルの中の前記少なくとも１つの可変モジュールの以前に使用されたバリアントを前記選択されたバリアントと置換することを含む、項目１１に記載のシステム。
（項目１８）
前記配置された選択されたバリアントに隣接するモジュールの位置付けまたは幾何学形状を修正することは、前記隣接モジュールのインターフェースを、前記配置された選択されたバリアントの対応するインターフェースに整列させるように、前記隣接モジュールの位置付けまたは幾何学形状を修正することを含む、項目１１に記載のシステム。
（項目１９）
前記配置された選択されたバリアントの前記１つ以上の制約は、隣接モジュールのロケータまたはシェイパインターフェースを、前記配置された選択されたバリアントの対応するロケータまたはシェイパインターフェースに整列させるための規則を含む、項目１１に記載のシステム。
（項目２０）
前記動的に構成可能な製品設計は、ＣＡＤモデルの特徴ベースの幾何学形状の履歴レシピを含む、項目１１に記載のシステム。
（項目２１）
コンピュータ支援設計（ＣＡＤ）システムであって、
プロセッサを備えているコンピュータデバイスを備え、前記プロセッサは、
ＣＡＤオブジェクトの特徴ベースの幾何学形状の履歴レシピを作成するためのパラメトリック幾何学形状エンジンと、
前記ＣＡＤオブジェクトの幾何学形状を修正するための直接モデリングユーザインターフェースであって、前記ＣＡＤオブジェクトの履歴およびパラメトリック特徴は、前記直接モデリングユーザインターフェースのユーザから隠されている、直接モデリングユーザインターフェースと
を実行するように構成されている、
システム。
（項目２２）
前記パラメトリック幾何学形状エンジンは、前記直接モデリングユーザインターフェースにおける前記ＣＡＤオブジェクトの幾何学形状に対する修正を、前記履歴レシピにおけるパラメトリック特徴の作成または修正として解釈するように構成されている、項目２１に記載のシステム。
（項目２３）
前記履歴レシピにおける前記作成または修正されたパラメトリック特徴は、前記履歴レシピにおける第２の以前のパラメトリック特徴に従属する、項目２２に記載のシステム。
（項目２４）
前記履歴レシピにおける前記作成または修正されたパラメトリック特徴は、前記パラメトリック特徴の作成の順序に応答して、前記履歴レシピの中の前記第２の以前のパラメトリック特徴に従属する、項目２３に記載のシステム。
（項目２５）
前記履歴レシピにおける前記作成または修正されたパラメトリック特徴は、前記作成または修正されたパラメトリック特徴と前記第２の以前のパラメトリック特徴との間の暗示的制約に応答して、前記履歴レシピの中の前記第２の以前のパラメトリック特徴に従属する、項目２３に記載のシステム。
（項目２６）
前記作成または修正されたパラメトリック特徴は、前記第２の以前のパラメトリック特徴の子である、項目２５に記載のシステム。
（項目２７）
前記パラメトリック幾何学形状エンジンは、前記第２の以前のパラメトリック特徴の修正に応答して、前記作成または修正されたパラメトリック特徴を再生するように構成され、前記直接モデリングユーザインターフェースは、前記再生された作成または修正されたパラメトリック特徴を表示するように構成されている、項目２３に記載のシステム。
（項目２８）
前記作成または修正されたパラメトリック特徴は、従来のパラメトリック特徴を含む、項目２２に記載のシステム。
（項目２９）
前記作成または修正されたパラメトリック特徴は、フレックス移動パラメトリック特徴またはフレックス移動コピーパラメトリック特徴を含む、項目２２に記載のシステム。
（項目３０）
前記パラメトリック幾何学形状エンジンは、
前記直接モデリングユーザインターフェースにおいて作成された前記ＣＡＤオブジェクトの対称幾何学的要素を識別することと、
前記ＣＡＤオブジェクトの対称幾何学的要素間の連合を表すパラメトリック柔軟対称特徴を作成することと
を行うように構成されている、項目２１に記載のシステム。
（項目３１）
前記パラメトリック幾何学形状エンジンは、
前記直接モデリングユーザインターフェースにおいて作成された前記ＣＡＤオブジェクトの複数の幾何学的要素のパターンを識別することと、
前記ＣＡＤオブジェクトの前記複数の幾何学的要素間のパターン連合を表すパラメトリック柔軟パターン特徴を作成することと
を行うように構成されている、項目２１に記載のシステム。
（項目３２）
前記プロセッサは、前記直接モデリングユーザインターフェースのユーザによって行われるＣＡＤモデルに対する複数の修正のうちの各々を、ユーザインターフェースのユーザによって、精査して容認または拒絶するために、前記ユーザインターフェースを実行するようにさらに構成されている、項目２１に記載のシステム。
（項目３３）
前記パラメトリック幾何学形状エンジンは、前記直接モデリングユーザインターフェースの前記ユーザによって第１のＣＡＤオブジェクトに対して行われる前記複数または１つの修正を、精査して容認または拒絶するための前記ユーザインターフェースの前記ユーザによる拒絶に応答して、前記ＣＡＤモデルの第２のＣＡＤオブジェクトの幾何学形状を再計算するように構成され、前記第２のＣＡＤオブジェクトは、特徴ベースの幾何学形状の前記履歴レシピにおける前記第１のＣＡＤオブジェクトへの従属的関係を有する、項目３２に記載のシステム。
（項目３４）
コンピュータ支援設計（ＣＡＤ）システムを使用する方法であって、
コンピュータデバイスのプロセッサ上で実行するＣＡＤアプリケーションによって提供される直接モデリングユーザインターフェースのユーザによって、ＣＡＤオブジェクトの幾何学形状を修正することと、
前記ＣＡＤアプリケーションのパラメトリック幾何学形状エンジンによって、ＣＡＤオブジェクトの特徴ベースの幾何学形状の履歴レシピを作成することと
を含み、
前記ＣＡＤオブジェクトの履歴およびパラメトリック特徴は、前記直接モデリングユーザインターフェースの前記ユーザから隠されている、方法。
（項目３５）
前記パラメトリック幾何学形状エンジンによって、前記直接モデリングユーザインターフェースにおける前記ユーザによる前記ＣＡＤオブジェクトの幾何学形状に対する修正を、前記履歴レシピにおけるパラメトリック特徴の作成または修正として解釈することをさらに含む、項目３４に記載の方法。
（項目３６）
前記履歴レシピにおける前記作成または修正されたパラメトリック特徴は、前記履歴レシピにおける第２の以前のパラメトリック特徴に従属し、前記方法は、
前記第２の以前のパラメトリック特徴の修正に応答して、前記パラメトリック幾何学形状エンジンによって、前記作成または修正されたパラメトリック特徴を再生することと、
前記直接モデリングユーザインターフェースによって、前記再生された作成または修正されたパラメトリック特徴を表示することと
をさらに含む、項目３５に記載の方法。
（項目３７）
前記作成または修正されたパラメトリック特徴は、フレックス移動パラメトリック特徴またはフレックス移動コピーパラメトリック特徴を含む、項目３５に記載の方法。
（項目３８）
前記パラメトリック幾何学形状エンジンによって、前記直接モデリングユーザインターフェースにおいて作成された前記ＣＡＤオブジェクトの対称幾何学的要素を識別することと、
前記パラメトリック幾何学形状エンジンによって、前記ＣＡＤオブジェクトの対称幾何学的要素間の連合を表すパラメトリック柔軟対称特徴を作成することと
をさらに含む、項目３４に記載の方法。
（項目３９）
前記パラメトリック幾何学形状エンジンによって、前記直接モデリングユーザインターフェースにおいて作成された前記ＣＡＤオブジェクトの複数の幾何学的要素のパターンを識別することと、
前記パラメトリック幾何学形状エンジンによって、前記ＣＡＤオブジェクトの前記複数の幾何学的要素間のパターン連合を表すパラメトリック柔軟パターン特徴を作成することと
をさらに含む、項目３４に記載の方法。
（項目４０）
前記ＣＡＤアプリケーションのパラメトリックモデリングユーザインターフェースのユーザによって、前記直接モデリングユーザインターフェースのユーザによって行われるＣＡＤモデルに対する複数の修正のうちの各々を精査して容認または拒絶することをさらに含む、項目３４に記載の方法。
（項目４１）
前記パラメトリックモデリングユーザインターフェースの前記ユーザによる、前記直接モデリングユーザインターフェースの前記ユーザによって第１のＣＡＤオブジェクトに対して行われる修正の拒絶に応答して、前記パラメトリック幾何学形状エンジンによって、前記ＣＡＤモデルの第２のＣＡＤオブジェクトの幾何学形状を再計算することをさらに含み、前記第２のＣＡＤオブジェクトは、特徴ベースの幾何学形状の前記履歴レシピにおける前記第１のＣＡＤオブジェクトへの従属的関係を有する、項目４０に記載の方法。
（項目４２）
要求に応じてコンピュータ支援設計（ＣＡＤ）モデルの複数部分を動的にロードする方法であって、
コンピュータデバイスのプロセッサによって実行されるＣＡＤアプリケーションによって、ＣＡＤモデルの第１の部分をロードすることであって、前記第１の部分は、（ｉ）前記ＣＡＤモデルのモジュール構造と、（ｉｉ）前記モジュール構造の第１の要素のグラフィックスおよび幾何学形状データとを備えている、ことと、
前記ＣＡＤアプリケーションのユーザによって、前記モジュール構造の第２の要素を選択することと、
前記ＣＡＤアプリケーションによって、前記選択に応答して、前記ＣＡＤモデルの第２の部分をロードすることであって、前記第２の部分は、（ｉ）前記選択された第２の要素のモジュール構造と、（ｉｉ）前記選択された第２の要素のグラフィックスおよび幾何学形状データとを備えている、ことと
を含む、方法。
（項目４３）
前記第１の要素のグラフィックスおよび幾何学形状データをロードすることは、前記第１の要素の１つ以上の可視または外部表面を識別し、前記第１の要素の前記識別された可視または外部表面のグラフィックスおよび幾何学形状データをロードすることをさらに含む、項目４２に記載の方法。
（項目４４）
前記第１の要素のグラフィックスおよび幾何学形状データをロードすることは、前記第１の要素の１つ以上のロケーションインターフェースまたはシェイパインターフェースをロードすることをさらに含む、項目４２に記載の方法。
（項目４５）
前記選択された第２の要素のグラフィックスおよび幾何学形状データをロードすることは、前記第２の要素の１つ以上の可視または外部表面を識別し、前記第２の要素の前記識別された可視または外部表面のグラフィックスおよび幾何学形状データをロードすることをさらに含む、項目４２に記載の方法。
（項目４６）
前記選択された第２の要素のグラフィックスおよび幾何学形状データをロードすることは、前記第２の要素の１つ以上のロケーションインターフェースまたはシェイパインターフェースをロードすることをさらに含む、項目４２に記載の方法。
（項目４７）
前記第２の要素を選択することは、前記第２の要素を前記モジュール構造に追加することをさらに含む、項目４２に記載の方法。
（項目４８）
前記ＣＡＤアプリケーションの前記ユーザによって、前記第１の要素または前記第２の要素の幾何学形状データの制約を定義するために、前記モジュール構造の第３の要素の幾何学形状データの１つ以上の項目を選択することと、
前記ＣＡＤアプリケーションによって、前記選択に応答して、前記第３の要素の幾何学形状データの前記選択された１つ以上の項目をロードすることと
をさらに含む、項目４２に記載の方法。
（項目４９）
前記第３の要素の幾何学形状データの前記選択された１つ以上の項目をロードすることは、前記第３の要素の幾何学形状データの未選択項目をロードしないことを含む、項目４８に記載の方法。
（項目５０）
前記ＣＡＤアプリケーションの前記ユーザによって、前記モジュール構造の第３の要素を選択することであって、前記第３の要素は、前記モジュール構造の中の前記第２の要素と直接関係しない、ことと、
前記ＣＡＤアプリケーションによって、前記選択に応答して、前記ＣＡＤモデルの第３の部分をロードすることであって、前記第３の部分は、（ｉ）前記選択された第３の要素のモジュール構造と、（ｉｉ）前記選択された第３の要素のグラフィックスおよび幾何学形状データとを備えている、ことと
をさらに含む、項目４２に記載の方法。
（項目５１）
前記ＣＡＤアプリケーションによって、前記第３の要素が前記モジュール構造の中の前記第２の要素と直接関係しないことに応答して、前記ＣＡＤモデルの前記第２の部分をアンロードすることをさらに含む、項目５０に記載の方法。
（項目５２）
要求に応じてコンピュータ支援設計（ＣＡＤ）モデルの複数部分を動的にロードするためのシステムであって、
プロセッサを備えているコンピュータデバイスであって、前記プロセッサは、ＣＡＤアプリケーションを実行するように構成されている、コンピュータデバイスと、
ユーザによってＣＡＤモデルのモジュール構造の第１の要素を選択するための前記ＣＡＤアプリケーションのユーザインターフェースと、
前記ＣＡＤアプリケーションの幾何学形状エンジンであって、前記幾何学形状エンジンは、
前記ＣＡＤモデルの第１の部分をロードすることであって、前記第１の部分は、（ｉ）前記ＣＡＤモデルのモジュール構造と、（ｉｉ）前記モジュール構造の第２の要素のグラフィックスおよび幾何学形状データとを備えている、ことと、
前記ユーザによる選択に応答して、前記ＣＡＤモデルの第２の部分をロードすることであって、前記第２の部分は、（ｉ）前記選択された第１の要素のモジュール構造と、（ｉｉ）前記選択された第１の要素のグラフィックスおよび幾何学形状データとを備えている、ことと
を行うように構成されている、幾何学形状エンジンと
を備えている、システム。
（項目５３）
前記幾何学形状エンジンは、前記第２の要素の１つ以上の可視または外部表面を識別し、前記第２の要素の前記識別された可視または外部表面のグラフィックスおよび幾何学形状データをロードするようにさらに構成されている、項目５２に記載のシステム。
（項目５４）
前記幾何学形状エンジンは、前記第２の要素の１つ以上のロケーションインターフェースまたはシェイパインターフェースをロードするようにさらに構成されている、項目５２に記載のシステム。
（項目５５）
前記幾何学形状エンジンは、前記第１の要素の１つ以上の可視または外部表面を識別し、前記第１の要素の前記識別された可視または外部表面のグラフィックスおよび幾何学形状データをロードするようにさらに構成されている、項目５２に記載のシステム。
（項目５６）
前記幾何学形状エンジンは、前記第１の要素の１つ以上のロケーションインターフェースまたはシェイパインターフェースをロードするようにさらに構成されている、項目５２に記載のシステム。
（項目５７）
前記幾何学形状エンジンは、前記第１の要素を前記モジュール構造に追加するようにさらに構成されている、項目５２に記載のシステム。
（項目５８）
前記ユーザインターフェースは、前記第１の要素または前記第２の要素の幾何学形状データの制約を定義するために、前記ＣＡＤアプリケーションの前記ユーザによって前記モジュール構造の第３の要素の幾何学形状データの１つ以上の項目を選択するために使用され、
前記幾何学形状エンジンは、前記選択に応答して、前記第３の要素の幾何学形状データの前記選択された１つ以上の項目をロードするようにさらに構成されている、
項目５２に記載のシステム。
（項目５９）
前記幾何学形状エンジンは、前記第３の要素の幾何学形状データの未選択項目をロードしないようにさらに構成されている、項目５８に記載のシステム。
（項目６０）
前記ユーザインターフェースは、前記ＣＡＤアプリケーションの前記ユーザによって、前記モジュール構造の第３の要素を選択するために使用され、前記第３の要素は、前記モジュール構造の中の前記第１の要素と直接関係せず、
前記幾何学形状エンジンは、前記選択に応答して、前記ＣＡＤモデルの第３の部分をロードするようにさらに構成され、前記第３の部分は、（ｉ）前記選択された第３の要素のモジュール構造と、（ｉｉ）前記選択された第３の要素のグラフィックスおよび幾何学形状データとを備えている、項目５２に記載のシステム。
（項目６１）
前記幾何学形状エンジンは、前記第３の要素が前記モジュール構造の中の前記第２の要素と直接関係しないことに応答して、前記ＣＡＤモデルの前記第２の部分をアンロードするようにさらに構成されている、項目６０に記載のシステム。
（項目６２）
コンピュータ支援設計（ＣＡＤ）システムであって、プロセッサを備えているコンピュータデバイスを備え、前記プロセッサは、
ＣＡＤオブジェクトの特徴ベースの幾何学形状の履歴レシピを作成するためのパラメトリック幾何学形状エンジンと、
第１のユーザによって、前記ＣＡＤオブジェクトの特徴制約を作成するためのパラメトリックモデリングユーザインターフェースと、
直接モデリングユーザインターフェースであって、前記直接モデリングユーザインターフェースは、前記直接モデリングユーザインターフェースの第２のユーザによって前記ＣＡＤオブジェクトの修正を試みるためのものであり、前記ＣＡＤオブジェクトの履歴およびパラメトリック特徴は、前記第２のユーザから隠されている、直接モデリングユーザインターフェースと
を実行するように構成され、
前記パラメトリック幾何学形状エンジンは、前記第２のユーザが前記幾何学形状を修正しようとすることに応答して、前記直接モデリングユーザインターフェースにおいて前記特徴制約を守らせるように構成されている、
システム。
（項目６３）
前記パラメトリック幾何学形状エンジンは、前記直接モデリングユーザインターフェースにおける前記ＣＡＤオブジェクトの幾何学形状に対する修正を、前記履歴レシピにおけるパラメトリック特徴の作成または修正として解釈するように構成されている、項目６２に記載のシステム。
（項目６４）
前記特徴制約は、幾何学的制約を含む、項目６２に記載のシステム。
（項目６５）
前記特徴制約は、工学的制約を含む、項目６２に記載のシステム。
（項目６６）
前記ＣＡＤオブジェクトを修正しようとすることは、前記ＣＡＤオブジェクトの幾何学形状または前記ＣＡＤオブジェクトの特徴を修正しようとすることを含む、項目６２に記載のシステム。
（項目６７）
前記ＣＡＤオブジェクトを修正しようとすることは、前記ＣＡＤオブジェクトの製品情報または前記ＣＡＤオブジェクトの製品情報またはＣＡＤオブジェクトのＣＡＤオブジェクトの特徴を修正しようとすることを含む、項目６２に記載のシステム。
（項目６８）
前記パラメトリック幾何学形状エンジンは、前記第２のユーザが前記幾何学形状を修正しようとすることに応答して、前記ＣＡＤオブジェクトに対する前記試行される修正を防止または拒絶するように構成されている、項目６２に記載のシステム。
（項目６９）
前記パラメトリック幾何学形状エンジンは、前記第２のユーザが、前記直接モデリングユーザインターフェースにおいて前記特徴制約を無効にすること、または修正することを可能にするように構成されている、項目６８に記載のシステム。
（項目７０）
前記直接モデリングユーザインターフェースにおいて前記特徴制約を守らせることは、前記第２のユーザが前記特徴制約を無効にすること、または修正することに応答して、前記直接モデリングユーザインターフェースにおける前記ＣＡＤオブジェクトの修正を可能にすることを含む、項目６９に記載のシステム。
（項目７１）
前記パラメトリック幾何学形状エンジンは、前記第２のユーザが前記幾何学形状を修正する許可を欠いていることに応答して、前記ＣＡＤオブジェクトに対する前記試行される修正を防止または拒絶するように構成されている、項目６２に記載のシステム。
（項目７２）
コンピュータ支援設計（ＣＡＤ）システムにおいて制約を守らせる方法であって、
コンピュータデバイスのプロセッサによって実行されるＣＡＤアプリケーションのパラメトリックモデリングユーザインターフェースの第１のユーザによって、ＣＡＤオブジェクトの特徴制約を作成することであって、前記ＣＡＤオブジェクトは、特徴ベースの幾何学形状の履歴レシピを含む、ことと、
前記ＣＡＤアプリケーションの直接モデリングユーザインターフェースの第２のユーザによって、前記ＣＡＤオブジェクトを修正しようとすることであって、前記ＣＡＤオブジェクトの履歴およびパラメトリック特徴は、前記直接モデリングユーザインターフェースにおいて前記第２のユーザから隠されている、ことと、
前記第２のユーザが前記幾何学形状を修正しようとすることに応答して、前記ＣＡＤアプリケーションのパラメトリックモデリングエンジンによって、前記直接モデリングユーザインターフェースにおける前記特徴制約を守らせることと
を含む、方法。
（項目７３）
前記パラメトリック幾何学形状エンジンによって、前記直接モデリングユーザインターフェースにおける前記ＣＡＤオブジェクトの幾何学形状に対する修正を、前記履歴レシピにおけるパラメトリック特徴の作成または修正として解釈することをさらに含む、項目７２に記載の方法。
（項目７４）
前記特徴制約は、幾何学的制約を含む、項目７２に記載の方法。
（項目７５）
前記特徴制約は、工学的制約を含む、項目７２に記載の方法。
（項目７６）
前記直接モデリングユーザインターフェースの前記第２のユーザによって、前記ＣＡＤオブジェクトの幾何学形状または前記ＣＡＤオブジェクトの特徴を修正しようとすることをさらに含む、項目７２に記載の方法。
（項目７７）
前記直接モデリングユーザインターフェースの前記第２のユーザによって、前記ＣＡＤオブジェクトの製品情報または前記ＣＡＤオブジェクトの特徴を修正しようとすることをさらに含む、項目７２に記載の方法。
（項目７８）
前記第２のユーザが前記幾何学形状を修正しようとすることに応答して、前記パラメトリック幾何学形状エンジンによって、前記ＣＡＤオブジェクトに対する前記試行される修正を防止または拒絶することをさらに含む、項目７２に記載の方法。
（項目７９）
前記パラメトリック幾何学形状エンジンによって、前記第２のユーザが、前記直接モデリングユーザインターフェースにおいて前記特徴制約を無効にすること、または修正することを可能にすることをさらに含む、項目７８に記載の方法。
（項目８０）
前記第２のユーザが前記特徴制約を無効にすること、または修正することに応答して、前記パラメトリック幾何学形状エンジンによって、前記直接モデリングユーザインターフェースにおける前記ＣＡＤオブジェクトの修正を可能にすることをさらに含む、項目７９に記載の方法。
（項目８１）
前記第２のユーザが前記幾何学形状を修正する許可を欠いていることに応答して、前記パラメトリック幾何学形状エンジンによって、防止または拒絶することをさらに含む、項目７２に記載のシステム。
【図面の簡単な説明】
【００４１】
本開示の先述および他の目的、側面、特徴、および利点は、添付図面と併せて解釈される以下の説明を参照することによって、より明白となり、より理解されるであろう。
【図１Ａ】図１Ａは、遠隔マシンと通信しているローカルマシンを備えている、ネットワーク環境の実施形態を描写するブロック図である。
【図１Ｂ】図１Ｂ−１Ｅは、本明細書で説明される方法およびシステムと関連して有用なコンピュータの実施形態を描写するブロック図である。
【図１Ｃ】図１Ｂ−１Ｅは、本明細書で説明される方法およびシステムと関連して有用なコンピュータの実施形態を描写するブロック図である。
【図１Ｄ】図１Ｂ−１Ｅは、本明細書で説明される方法およびシステムと関連して有用なコンピュータの実施形態を描写するブロック図である。
【図１Ｅ】図１Ｂ−１Ｅは、本明細書で説明される方法およびシステムと関連して有用なコンピュータの実施形態を描写するブロック図である。
【図２Ａ】図２Ａは、直接モデリングを通した、面取りした３次元オブジェクトの作成の実施形態のブロック図である。
【図２Ｂ】図２Ｂは、パラメトリックモデリングを通した、面取りした３次元オブジェクトの作成の実施形態のブロック図である。
【図３Ａ】図３Ａは、コンピュータ支援設計のためのシステムの実施形態のブロック図である。
【図３Ｂ】図３Ｂは、コンピュータ支援設計の方法の実施形態のフローチャートである。
【図３Ｃ】図３Ｃは、コンピュータ支援設計の方法の別の実施形態のフローチャートである。
【図３Ｄ】図３Ｄは、コンピュータ支援設計の方法のさらに別の実施形態のフローチャートである。
【図３Ｅ】図３Ｅは、コンピュータ支援設計の方法における制約ロックの実施形態のフローチャートである。
【図４Ａ】図４Ａは、ビジネス主導型アセンブリの作成のためのシステムの実施形態のブロック図である。
【図４Ｂ】図４Ｂは、ビジネス主導型アセンブリの実施例のモジュール構造および３次元モデルの樹形図である。
【図４Ｃ】図４Ｃは、ビジネス主導型アセンブリの実施例での可変モジュールの複数のバリアントの実施形態の樹形図である。
【図４Ｄ】図４Ｄは、ビジネス主導型アセンブリの作成の方法の実施形態のフローチャートである。
【図５Ａ】図５Ａは、コンピュータ支援設計モデルの実施例の３次元図である。
【図５Ｂ】図５Ｂは、コンピュータ支援設計モデルの実施例のサブアセンブリの３次元図である。
【図５Ｃ】図５Ｃは、コンピュータ支援設計モデルの実施例のサブアセンブリのサブアセンブリの３次元図である。
【図５Ｄ】図５Ｄ、要求に応じてコンピュータ支援設計モデルの複数部分を動的にロードする方法の実施形態のフローチャートである。
【発明を実施するための形態】
【００４２】
本発明の特徴および利点は、類似参照記号が全体を通して対応する要素を識別する、図面と併せて解釈された時に、以下に記載される発明を実施するための形態から、より明白となるであろう。図面では、類似参照数字は、概して、同一の、機能的に同様の、および／または構造的に同様の要素を示す。
【００４３】
本開示は、とりわけ、動的に構成可能な製品設計の作成のため、コンピュータ支援設計における直接・パラメトリック相互運用性のため、要求に応じたコンピュータ支援設計モデルの複数部分の動的ローディングのため、および／またはコンピュータ支援設計における直接モデリングインターフェースにおいてパラメトリック制約を守らせるための方法およびシステムを説明する。
【００４４】
以下の種々の実施形態の説明を読む目的で、本明細書の項およびそれぞれの内容の以下の説明が役立ち得る。
−Ａ項は、本明細書で説明される実施形態を実践するために有用であり得る、ネットワーク環境およびコンピュータ環境を説明する。
−Ｂ項は、パラメトリックコンピュータ支援設計モデルを作成および修正するための直接コンピュータ支援設計モデリングユーザインターフェースを使用するためのシステムおよび方法の実施形態を説明する。
−Ｃ項は、ビジネス主導型アセンブリを作成するためのシステムおよび方法の実施形態を説明する。
−Ｄ項は、要求に応じてコンピュータ支援設計モデルの複数部分を動的にロードするためのシステムおよび方法の実施形態を説明する。
【００４５】
（Ａ．ネットワークおよびコンピュータ環境）
コンピュータ支援設計の方法およびシステムの実施形態の詳細を論議する前に、本明細書を実践するために有用であり得る、ネットワーク環境およびコンピュータ環境を簡潔に説明することが有用であり得る。ここで図１Ａを参照すると、ネットワーク環境の実施形態が描写されている。概観すると、ネットワーク環境は、１つ以上のネットワーク１０４を介して１つ以上の遠隔マシン１０６ａ−１０６ｎ（概して、サーバ１０６または遠隔マシン１０６とも呼ばれる）と通信している、１つ以上のローカルマシン１０２ａ−１０２ｎ（ローカルマシン１０２、クライアント１０２、クライアントノード１０２、クライアントマシン１０２、クライアントコンピュータ１０２、クライアントデバイス１０２、エンドポイント１０２、またはエンドポイントノード１０２とも呼ばれる）とを備えている。いくつかの実施形態では、ローカルマシン１０２は、サーバによって提供されるリソースへのアクセスを求めるクライアントノード、および他のクライアント１０２ａ−１０２ｎのためのホスト型リソースへのアクセスを提供するサーバの両方として機能する能力を有する。
【００４６】
図１Ａは、ローカルマシン１０２と遠隔マシン１０６との間のネットワーク１０４を示すが、ローカルマシン１０２および遠隔マシン１０６は、同じネットワーク１０４上にあり得る。ネットワーク１０４は、企業イントラネット、メトロポリタンエリアネットワーク（ＭＡＮ）等のローカルエリアネットワーク（ＬＡＮ）、またはインターネットあるいはワールドワイドウェブ等の広域ネットワーク（ＷＡＮ）であり得る。いくつかの実施形態では、ローカルマシン１０２と遠隔マシン１０６との間に複数のネットワーク１０４がある。これらの実施形態のうちの１つでは、ネットワーク１０４’（図示せず）は、私的ネットワークであり得、ネットワーク１０４は、公衆ネットワークであり得る。これらの実施形態のうちの別の１つでは、ネットワーク１０４は、私的ネットワークであり得、ネットワーク１０４’は、公衆ネットワークであり得る。なおも別の実施形態では、ネットワーク１０４および１０４’は、私的ネットワークであり得る。さらに別の実施形態では、ネットワーク１０４および１０４’は、公衆ネットワークであり得る。
【００４７】
ネットワーク１０４は、任意の種類および／または形態のネットワークであり得、２点間ネットワーク、放送ネットワーク、広域ネットワーク、ローカルエリアネットワーク、電気通信ネットワーク、データ通信ネットワーク、コンピュータネットワーク、ＡＴＭ（非同期転送モード）ネットワーク、ＳＯＮＥＴ（同期光ネットワーク）ネットワーク、ＳＤＨ（同期デジタル階層）ネットワーク、無線ネットワーク、および有線ネットワークのうちのいずれかであり得る。いくつかの実施形態では、ネットワーク１０４は、赤外線チャネルまたは衛星帯等の無線リンクを備え得る。ネットワーク１０４のトポロジーは、バス、スター、またはリングネットワークトポロジーであり得る。ネットワーク１０４は、本明細書で説明される動作をサポートすることが可能である、当業者に公知であるもの等の任意のネットワークトポロジーであり得る。ネットワークは、ＡＭＰＳ、ＴＤＭＡ、ＣＤＭＡ、ＧＳＭ（登録商標）、ＧＰＲＳ、またはＵＭＴＳを含む、モバイルデバイス間で通信するために使用される任意の１つまたは複数のプロトコルを利用する、携帯電話ネットワークを備え得る。いくつかの実施形態では、異なる種類のデータが、異なるプロトコルを介して伝送され得る。他の実施形態では、同じ種類のデータが、異なるプロトコルを介して伝送され得る。
【００４８】
いくつかの実施形態では、システムは、複数の論理的にグループ化された遠隔マシン１０６を含み得る。これらの実施形態のうちの１つでは、遠隔マシンの論理グループは、サーバファーム３８と呼ばれ得る。これらの実施形態のうちの別の１つでは、遠隔マシン１０６は、地理的に分散され得る。他の実施形態では、サーバファーム３８は、単一のエンティティとして運営され得る。なおも他の実施形態では、サーバファーム３８は、複数のサーバファーム３８を備えている。各サーバファーム３８内の遠隔マシン１０６は、異種であり得、遠隔マシン１０６のうちの１つ以上は、一種類のオペレーティングシステムプラットフォーム（例えば、ＷＩＮＤＯＷＳ（登録商標）  ＮＴ、ＷＩＮＤＯＷＳ（登録商標）  ２００３、ＷＩＮＤＯＷＳ（登録商標）  ２００８、ＷＩＮＤＯＷＳ（登録商標）  ７、およびＷＩＮＤＯＷＳ（登録商標）  Ｓｅｒｖｅｒ  ２００８  Ｒ２、その全ては、Ｍｉｃｒｏｓｏｆｔ  Ｃｏｒｐ．（Ｒｅｄｍｏｎｄ，Ｗａｓｈｉｎｇｔｏｎ）によって製造されている）に従って動作することができる一方で、他の遠隔マシン１０６のうちの１つ以上は、別の種類のオペレーティングシステムプラットフォーム（例えば、Ｕｎｉｘ（登録商標）またはＬｉｎｕｘ（登録商標））に従って動作することができる。
【００４９】
各サーバファーム３８の遠隔マシン１０６は、同じサーバファーム３８の中の別の遠隔マシン１０６に物理的に近接する必要はない。したがって、サーバファーム３８として論理的にグループ化された遠隔マシン１０６のグループは、広域ネットワーク（ＷＡＮ）接続またはメトロポリタンエリアネットワーク（ＭＡＮ）接続を使用して、相互接続され得る。例えば、サーバファーム３８は、異なる大陸、または大陸、国、州、都市、キャンパス、あるいは部屋の異なる領域の中に物理的に位置する、遠隔マシン１０６を含み得る。サーバファーム３８の中の遠隔マシン１０６の間のデータ伝送速度は、ローカルネットワーク（ＬＡＮ）接続または何らかの形態の直接接続を使用して遠隔マシン１０６が接続された場合に、増加させることができる。
【００５０】
遠隔マシン１０６は、ファイルサーバ、アプリケーションサーバ、ウェブサーバ、プロキシサーバ、アプライアンス、ネットワークアプライアンス、ゲートウェイ、アプリケーションゲートウェイ、ゲートウェイサーバ、仮想化サーバ、展開サーバ、ＳＳＬ  ＶＰＮサーバ、またはファイアウォールであり得る。いくつかの実施形態では、遠隔マシン１０６は、遠隔認証ダイヤルインユーザサービスを提供し、ＲＡＤＩＵＳサーバと呼ばれる。他の実施形態では、遠隔マシン１０６は、アプリケーションサーバとして、またはマスタアプリケーションサーバとして機能する能力を有し得る。なおも他の実施形態では、遠隔マシン１０６は、ブレードサーバである。さらに他の実施形態では、遠隔マシン１０６は、ユーザまたはクライアントコンピュータ１０２にコンピュータ環境へのアクセスを提供する、仮想マシンを実行する。
【００５１】
一実施形態では、遠隔マシン１０６は、アクティブディレクトリを含み得る。遠隔マシン１０６は、アプリケーション加速アプライアンスであり得る。遠隔マシン１０６がアプリケーション加速アプライアンスである実施形態について、遠隔マシン１０６は、ファイアウォール機能性、アプリケーションファイアウォール機能性、またはロードバランシング機能性を含む、機能性を提供し得る。いくつかの実施形態では、遠隔マシン１０６は、Ｃｉｔｒｉｘ  Ａｐｐｌｉｃａｔｉｏｎ  Ｎｅｔｗｏｒｋｉｎｇ  Ｇｒｏｕｐ（Ｓａｎ  Ｊｏｓｅ，ＣＡ）、またはＳｉｌｖｅｒ  Ｐｅａｋ  Ｓｙｓｔｅｍｓ，Ｉｎｃ．（Ｍｏｕｎｔａｉｎ  Ｖｉｅｗ，ＣＡ）、またはＲｉｖｅｒｂｅｄ  Ｔｅｃｈｎｏｌｏｇｙ，Ｉｎｃ．（Ｓａｎ  Ｆｒａｎｃｉｓｃｏ，ＣＡ）、またはＦ５  Ｎｅｔｗｏｒｋｓ，Ｉｎｃ．（Ｓｅａｔｔｌｅ，ＷＡ）、またはＪｕｎｉｐｅｒ  Ｎｅｔｗｏｒｋｓ，Ｉｎｃ．（Ｓｕｎｎｙｖａｌｅ，ＣＡ）によって製造される、一連のアプライアンスのうちの１つ等のアプライアンスを備えている。
【００５２】
いくつかの実施形態では、遠隔マシン１０６は、ローカルマシン１０２のユーザの代わりにアプリケーションを実行する。他の実施形態では、遠隔マシン１０６は、その内側でローカルマシン１０２のユーザの代わりにアプリケーションが実行される、実行セッションを提供する、仮想マシンを実行する。これらの実施形態のうちの１つでは、実行セッションは、ホスト型デスクトップセッションである。これらの実施形態のうちの別の１つでは、実行セッションは、アプリケーション、複数のアプリケーション、デスクトップアプリケーション、および１つ以上のアプリケーションが実行され得るデスクトップセッションのうちの１つ以上を含み得る、コンピュータ環境へのアクセスを提供する。
【００５３】
いくつかの実施形態では、ローカルマシン１０２は、遠隔マシン１０６と通信する。一実施形態では、ローカルマシン１０２は、サーバファーム３８の中の遠隔マシン１０６のうちの１つと直接通信する。別の実施形態では、ローカルマシン１０２は、サーバファーム３８の中の遠隔マシン１０６と通信するように、プログラム隣接アプリケーションを実行する。なおも別の実施形態では、遠隔マシン１０６は、マスタノードの機能性を提供する。いくつかの実施形態では、ローカルマシン１０２は、ネットワーク１０４を通して、サーバファーム３８の中の遠隔マシン１０６と通信する。ネットワーク１０４上で、ローカルマシン１０２は、例えば、サーバファーム３８の中の遠隔マシン１０６ａ−１０６ｎによってホストされる種々のアプリケーションの実行を要求し、表示するためのアプリケーション実行の結果の出力を受信することができる。いくつかの実施形態では、マスタノードのみが、要求されたアプリケーションをホストする遠隔マシン１０６ｂに関連付けられるアドレス情報を識別して提供するために必要とされる、機能性を提供する。
【００５４】
一実施形態では、遠隔マシン１０６は、ウェブサーバの機能性を提供する。別の実施形態では、遠隔マシン１０６ａは、ローカルマシン１０２から要求を受信し、要求を第２の遠隔マシン１０６ｂに転送し、遠隔マシン１０６ｂからの要求への応答とともに、ローカルマシン１０２による要求に応答する。なおも別の実施形態では、遠隔マシン１０６ａは、ローカルマシン１０２に利用可能なアプリケーションの列挙、およびアプリケーションの列挙によって識別されるアプリケーションをホストする遠隔マシン１０６ｂに関連付けられるアドレス情報を取得する。さらに別の実施形態では、遠隔マシン１０６は、ウェブインターフェースを使用して、ローカルマシン１０２への要求への応答を提示する。一実施形態では、ローカルマシン１０２は、識別されたアプリケーションにアクセスするように、遠隔マシン１０６と直接通信する。別の実施形態では、ローカルマシン１０２は、遠隔マシン１０６上の識別されたアプリケーションの実行によって生成される、表示データ等の出力データを受信する。
【００５５】
いくつかの実施形態では、遠隔マシン１０６またはサーバファーム３８は、シンクライアントコンピューティングを提供するアプリケーション、または遠隔ディスプレイプレゼンテーションアプリケーション等の１つ以上のアプリケーションを実行し得る。一実施形態では、遠隔マシン１０６またはサーバファーム３８は、ＭＥＴＡフレームまたはＣＩＴＲＩＸ  ＰＲＥＳＥＮＴＡＴＩＯＮ  ＳＥＲＶＥＲ製品等のＣｉｔｒｉｘ  Ｓｙｓｔｅｍｓ，Ｉｎｃ．によるＣＩＴＲＩＸ  ＡＣＣＥＳＳ  ＳＵＩＴＥの任意の部分、ＣＩＴＲＩＸ  ＸＥＮＡＰＰ、ＣＩＴＲＩＸ  ＸＥＮＤＥＳＫＴＯＰ、ＣＩＴＲＩＸ  ＡＣＣＥＳＳ  ＧＡＴＥＷＡＹといったＣｉｔｒｉｘ  Ｓｙｓｔｅｍｓ，Ｉｎｃ．によって製造される製品のうちのいずれか、および／またはＭｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎによって製造されるＭＩＣＲＯＳＯＦＴ  ＷＩＮＤＯＷＳ（登録商標）ターミナルサービスのうちのいずれかを、アプリケーションとして実行する。別の実施形態では、アプリケーションは、Ｃｉｔｒｉｘ  Ｓｙｓｔｅｍｓ，Ｉｎｃ．（Ｆｏｒｔ  Ｌａｕｄｅｒｄａｌｅ，Ｆｌｏｒｉｄａ）によって開発されたＩＣＡクライアントである。なおも別の実施形態では、遠隔マシン１０６は、例えば、Ｍｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎ（Ｒｅｄｍｏｎｄ，Ｗａｓｈｉｎｇｔｏｎ）によって製造されているＭＩＣＲＯＳＯＦＴ  ＥＸＣＨＡＮＧＥ等のＥメールサービスを提供するアプリケーションサーバ、ウェブまたはインターネットサーバ、あるいはデスクトップ共有サーバ、あるいは協調サーバであり得る、アプリケーションを実行し得る。さらに別の実施形態では、アプリケーションのうちのいずれかは、Ｃｉｔｒｉｘ  Ｏｎｌｉｎｅ  Ｄｉｖｉｓｉｏｎ，Ｉｎｃ．（Ｓａｎｔａ  Ｂａｒｂａｒａ，Ｃａｌｉｆｏｒｎｉａ）によって提供されるＧＯＴＯＭＥＥＴＩＮＧ、ＷｅｂＥｘ，Ｉｎｃ．（Ｓａｎｔａ  Ｃｌａｒａ，Ｃａｌｉｆｏｒｎｉａ）によって提供されるＷＥＢＥＸ、またはＭｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎ（Ｒｅｄｍｏｎｄ，Ｗａｓｈｉｎｇｔｏｎ）によって提供されるＭｉｃｒｏｓｏｆｔ  Ｏｆｆｉｃｅ  ＬＩＶＥ  ＭＥＥＴＩＮＧ等の任意の種類のホスト型サービスまたは製品を備え得る。
【００５６】
ローカルマシン１０２は、任意の種類および／または形態のウェブブラウザ、ウェブベースのクライアント、クライアント・サーバアプリケーション、シンクライアントコンピューティングクライアント、ＡｃｔｉｖｅＸコントロール、またはＪａｖａ（登録商標）アプレット等の任意の種類および／または形態のソフトウェア、プログラム、または実行可能命令、あるいはローカルマシン１０２上で実行することが可能な任意の種類および／または形態の実行可能命令であり得る、アプリケーションを実行し、操作し、または別様に提供し得る。いくつかの実施形態では、アプリケーションは、遠隔マシン１０６上のローカルマシン１０２の代わりに実行される、サーバベースまたは遠隔ベースのアプリケーションであり得る。他の実施形態では、遠隔マシン１０６は、Ｃｉｔｒｉｘ  Ｓｙｓｔｅｍｓ，Ｉｎｃ．（Ｆｔ．Ｌａｕｄｅｒｄａｌｅ，Ｆｌｏｒｉｄａ）によって製造されるＩｎｄｅｐｅｎｄｅｎｔ  Ｃｏｍｐｕｔｉｎｇ  Ａｒｃｈｉｔｅｃｔｕｒｅ  （ＩＣＡ）プロトコル、Ｍｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎ（Ｒｅｄｍｏｎｄ，Ｗａｓｈｉｎｇｔｏｎ）によって製造されるＲｅｍｏｔｅ  Ｄｅｓｋｔｏｐ  Ｐｒｏｔｏｃｏｌ（ＲＤＰ）、Ｘ１１プロトコル、ＡＴ＆Ｔ  Ｂｅｌｌ  Ｌａｂｓによって製造されるＶｉｒｔｕａｌ  Ｎｅｔｗｏｒｋ  Ｃｏｍｐｕｔｉｎｇ（ＶＮＣ）プロトコル、Ｑｕｍｒａｎｅｔ，Ｉｎｃ．（Ｓｕｎｎｙｖａｌｅ，ＣＡ，ＵＳＡおよびＲａａｎａｎａ，Ｉｓｒａｅｌ）によって製造されるＳＰＩＣＥプロトコル、ＶＥＳＡ（Ｍｉｌｐｉｔａｓ，ＣＡ）によって製造されるＮｅｔ２Ｄｉｓｐｌａｙプロトコル、Ｔｅｒａｄｉｃｉ  Ｃｏｒｐｏｒａｔｉｏｎ（Ｂｕｒｎａｂｙ，Ｂ．Ｃ．）によって製造されるＰＣ−ｏｖｅｒ−ＩＰプロトコル、Ｗｙｓｅ  Ｔｅｃｈｎｏｌｏｇｙ，Ｉｎｃ．（Ｓａｎ  Ｊｏｓｅ，ＣＡ）によって製造されるＴＣＸプロトコル、Ｃｉｔｙ  ｏｆ  Ｎｅｗ  ＹｏｒｋのＣｏｌｕｍｂｉａ  Ｕｎｉｖｅｒｓｉｔｙ（Ｎｅｗ  Ｙｏｒｋ，ＮＹ）によって開発されたＴＨＩＮＣプロトコル、またはＤｅｓｋｔｏｎｅ，Ｉｎｃ．（Ｃｈｅｌｍｓｆｏｒｄ，ＭＡ）によって製造されるＶｉｒｔｕａｌ−Ｄプロトコル等の、任意のシンクライアントプロトコル、プレゼンテーション層プロトコル、または遠隔表示プロトコルを使用して、ローカルマシン１０２への出力を表示し得る。アプリケーションは、任意の種類のプロトコルを使用することができ、それは、例えば、ＨＴＴＰクライアント、ＦＴＰクライアント、Ｏｓｃａｒクライアント、またはＴｅｌｎｅｔクライアントであり得る。なおも他の実施形態では、アプリケーションは、ソフトＩＰ電話等のボイスオーバーインターネットプロトコル（ＶｏＩＰ）通信に関係する任意の種類のソフトウェアを備えている。さらなる実施形態では、アプリケーションは、ビデオおよび／またはオーディオをストリーミング配信するためのアプリケーション等のリアルタイムデータ通信に関係する任意のアプリケーションを備えている。他の実施形態では、アプリケーションは、コンピュータ支援設計（ＣＡＤ）、コンピュータ支援製造（ＣＡＭ）、コンピュータ支援エンジニアリング（ＣＡＥ）、製品ライフサイクル管理（ＰＬＭ）、���ロジェクト管理、リソース管理、顧客関係管理（ＣＲＭ）、あるいはデータの生成、修正、モデリング、および／または分析のための任意の他のアプリケーションに関係する任意のアプリケーションを備えている。
【００５７】
ローカルマシン１０２および遠隔マシン１０６は、任意の種類および形態のネットワーク上で通信し、本明細書で説明される動作を行うことが可能なコンピュータ、ネットワークデバイス、またはアプライアンス等の任意の種類および形態のコンピュータデバイスとして展開され、および／またはその上で実行され得る。図１Ｂおよび１Ｃは、ローカルマシン１０２または遠隔マシン１０６の実施形態を実践するために有用なコンピュータデバイス１００のブロック図を描写する。図１Ｂおよび１Ｃに示されるように、各コンピュータデバイス１００は、中央処理ユニット１２１と、主要メモリユニット１２２とを含む。図１Ｂに示されるように、コンピュータデバイス１００は、記憶デバイス１２８と、インストールデバイス１１６と、ネットワークインターフェース１１８と、Ｉ／Ｏコントローラ１２３と、表示デバイス１２４ａ−ｎと、キーボード１２６と、マウス等のポインティングデバイス１２７とを含み得る。記憶デバイス１２８は、限定するものではないが、オペレーティングシステムと、ソフトウェアと、クライアントエージェント１２０とを含み得る。図１Ｃに示されるように、各コンピュータデバイス１００はまた、メモリポート１０３、ブリッジ１７０、１つ以上の入力／出力デバイス１３０ａ−１３０ｎ（概して、参照数字１３０を使用して参照される）、および中央処理ユニット１２１と通信しているキャッシュメモリ１４０等の追加のオプションの要素を含み得る。
【００５８】
中央処理ユニット１２１は、主要メモリユニット１２２から取り出された命令に応答し、それらを処理する、任意の論理回路である。多くの実施形態では、中央処理ユニット１２１は、Ｉｎｔｅｌ  Ｃｏｒｐｏｒａｔｉｏｎ（Ｍｏｕｎｔａｉｎ  Ｖｉｅｗ，Ｃａｌｉｆｏｒｎｉａ）によって製造されるもの、Ｍｏｔｏｒｏｌａ  Ｃｏｒｐｏｒａｔｉｏｎ（Ｓｃｈａｕｍｂｕｒｇ，Ｉｌｌｉｎｏｉｓ）によって製造されるもの、Ｔｒａｎｓｍｅｔａ  Ｃｏｒｐｏｒａｔｉｏｎ（Ｓａｎｔａ  Ｃｌａｒａ，Ｃａｌｉｆｏｒｎｉａ）によって製造されるもの、ＲＳ／６０００プロセッサ、Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｂｕｓｉｎｅｓｓ  Ｍａｃｈｉｎｅｓ（Ｗｈｉｔｅ  Ｐｌａｉｎｓ，Ｎｅｗ  Ｙｏｒｋ）によって製造されるもの、またはＡｄｖａｎｃｅｄ  Ｍｉｃｒｏ  Ｄｅｖｉｃｅｓ（Ｓｕｎｎｙｖａｌｅ，Ｃａｌｉｆｏｒｎｉａ）によって製造されるもの等のマイクロプロセッサユニットによって提供される。コンピュータデバイス１００は、これらのプロセッサのうちのいずれか、または本明細書で説明されるように動作することが可能な任意の他のプロセッサに基づき得る。
【００５９】
主要メモリユニット１２２は、スタティックランダムアクセスメモリ（ＳＲＡＭ）、バーストＳＲＡＭまたは同期バーストＳＲＡＭ（ＢＳＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、高速ページモードＤＲＡＭ（ＦＰＭＤＲＡＭ）、強化ＤＲＡＭ（ＥＤＲＡＭ）、拡張データ出力ＲＡＭ（ＥＤＯＲＡＭ）、拡張データ出力ＤＲＡＭ（ＥＤＯ  ＤＲＡＭ）、バースト拡張データ出力ＤＲＡＭ（ＢＥＤＯ  ＤＲＡＭ）、強化ＤＲＡＭ（ＥＤＲＡＭ）、同期ＤＲＡＭ（ＳＤＲＡＭ）、ＪＥＤＥＣ  ＳＲＡＭ、ＰＣ１００  ＳＤＲＡＭ、ダブルデータレートＳＤＲＡＭ（ＤＤＲ  ＳＤＲＡＭ）、強化ＳＤＲＡＭ（ＥＳＤＲＡＭ）、ＳｙｎｃＬｉｎｋ  ＤＲＡＭ（ＳＬＤＲＡＭ）、Ｄｉｒｅｃｔ  Ｒａｍｂｕｓ  ＤＲＡＭ（ＤＲＤＲＡＭ）、または強誘電体ＲＡＭ（ＦＲＡＭ（登録商標））等のデータを記憶することが可能であり、任意の記憶場所がマイクロプロセッサ１２１によって直接アクセスすることを可能にする、１つ以上のメモリチップであり得る。主要メモリ１２２は、上記のメモリチップのうちのいずれか、または本明細書で説明されるように動作することが可能である任意の他の利用可能なメモリチップに基づき得る。図１Ｂに示される実施形態では、プロセッサ１２１は、システムバス１５０を介して主要メモリ１２２と通信する（以下でさらに詳細に説明される）。図１Ｃは、プロセッサがメモリポート１０３を介して主要メモリ１２２と直接通信する、コンピュータデバイス１００の実施形態を描写する。例えば、図１Ｃでは、主要メモリ１２２は、ＤＲＤＲＡＭであり得る。
【００６０】
図１Ｃは、主要プロセッサ１２１が、バックサイドバスと呼ばれることもある二次バスを介して、キャッシュメモリ１４０と直接通信する、実施形態を描写する。他の実施形態では、主要プロセッサ１２１は、システムバス１５０を使用してキャッシュメモリ１４０と通信する。キャッシュメモリ１４０は、典型的には、主要メモリ１２２よりも速い応答時間を有し、典型的には、ＳＲＡＭ、ＢＳＲＡＭ、またはＥＤＲＡＭによって提供される。図１Ｂに示される実施形態では、プロセッサ１２１は、ローカルシステムバス１５０を介して種々のＩ／Ｏデバイス１３０と通信する。中央処理ユニット１２１をＩ／Ｏデバイス１３０のうちのいずれかに接続するために、ＶＥＳＡ  ＶＬバス、ＩＳＡバス、ＥＩＳＡバス、ＭｉｃｒｏＣｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ（ＭＣＡ）バス、ＰＣＩバス、ＰＣＩ−Ｘバス、ＰＣＩ−Ｅｘｐｒｅｓｓバス、またはＮｕＢｕｓを含む、種々のバスが使用され得る。Ｉ／Ｏデバイスがビデオディスプレイ１２４である実施形態については、プロセッサ１２１は、ディスプレイ１２４と通信するためにＡｄｖａｎｃｅｄ  Ｇｒａｐｈｉｃｓ  Ｐｏｒｔ（ＡＧＰ）を使用し得る。図１Ｃは、主要プロセッサ１２１が、ＨＹＰＥＲＴＲＡＮＳＰＯＲＴ、ＲＡＰＩＤＩＯ、またはＩＮＦＩＮＩＢＡＮＤ通信技術を介してＩ／Ｏデバイス１３０ｂと直接通信する、コンピュータ１００の実施形態を描写する。図１Ｃはまた、ローカルバスおよび直接通信が混合される、実施形態も描写し、プロセッサ１２１は、Ｉ／Ｏデバイス１３０ｂと直接通信しながら、ローカル相互接続バスを使用してＩ／Ｏデバイス１３０ａと通信する。
【００６１】
多種多様のＩ／Ｏデバイス１３０ａ−１３０ｎが、コンピュータデバイス１００の中に存在し得る。入力デバイスは、キーボード、マウス、トラックパッド、トラックボール、マイクロホン、およびドローイングタブレットを含む。出力デバイスは、ビデオディスプレイ、スピーカ、インクジェットプリンタ、レーザプリンタ、および昇華型プリンタを含む。図１Ｂに示されるようなＩ／Ｏコントローラ１２３は、Ｉ／Ｏデバイスを制御し得る。Ｉ／Ｏコントローラは、キーボード１２６およびポインティングデバイス１２７、例えば、マウスまたは光学ペン等の１つ以上のＩ／Ｏデバイスを制御し得る。さらに、Ｉ／Ｏデバイスは、コンピュータデバイス１００用の記憶および／またはインストール媒体１１６を提供し得る。なおも他の実施形態では、コンピュータデバイス１００は、Ｔｗｉｎｔｅｃｈ  Ｉｎｄｕｓｔｒｙ，Ｉｎｃ．（Ｌｏｓ  Ａｌａｍｉｔｏｓ，Ｃａｌｉｆｏｒｎｉａ）によって製造されるＵＳＢ  Ｆｌａｓｈ  Ｄｒｉｖｅ系列のデバイス等の手持ち式ＵＳＢ記憶デバイスを受け取るために、ＵＳＢ接続（図示せず）を提供し得る。
【００６２】
図１Ｂを再び参照すると、コンピュータデバイス１００は、３．５インチ、５．２５インチディスク、またはＺＩＰディスク等のフロッピー（登録商標）ディスクを受け取るためのフロッピー（登録商標）ディスクドライブ、ＣＤ−ＲＯＭドライブ、ＣＤ−Ｒ／ＲＷドライブ、ＤＶＤ−ＲＯＭドライブ、種々の形式のテープドライブ、ＵＳＢデバイス、ハードドライブ、またはソフトウェアおよびプログラムをインストールするために好適な任意の他のデバイス等の任意の好適なインストールデバイス１１６をサポートし得る。コンピュータデバイス１００はさらに、オペレーティングシステムおよび他の関連ソフトウェアを記憶するため、およびクライアントエージェント１２０に関係する任意のプログラム等のアプリケーションソフトウェアプログラムを記憶するために、１つ以上のハードディスクドライブまたは独立ディスク冗長アレイ等の記憶デバイスを備え得る。随意で、インストールデバイス１１６のうちのいずれかはまた、記憶デバイスとして使用することもできる。加えて、オペレーティングシステムおよびソフトウェアは、ブート可能媒体、例えば、ｋｎｏｐｐｉｘ．ｎｅｔからのＧＮＵ／Ｌｉｎｕｘ（登録商標）配布として入手可能であるＧＮＵ／Ｌｉｎｕｘ（登録商標）用のブート可能ＣＤである、ＫＮＯＰＰＩＸ等のブート可能ＣＤから実行することができる。
【００６３】
さらに、コンピュータデバイス１００は、標準電話回線、ＬＡＮまたはＷＡＮリンク（例えば、８０２．１１、Ｔ１、Ｔ３、５６ｋｂ、Ｘ．２５、ＳＮＡ、ＤＥＣＮＥＴ）、ブロードバンド接続（例えば、ＩＳＤＮ、フレームリレー、ＡＴＭ、ギガビットイーサネット（登録商標）、イーサネット（登録商標）オーバーＳＯＮＥＴ）、無線接続、または上記のうちのいずれかまたは全ての何らかの組み合わせを含むが、それらに限定されない、種々の接続を通して、ネットワーク１０４にインターフェース接続するように、ネットワークインターフェース１１８を含み得る。接続は、種々の通信プロトコル（例えば、ＴＣＰ／ＩＰ、ＩＰＸ、ＳＰＸ、ＮｅｔＢＩＯＳ、イーサネット（登録商標）、ＡＲＣＮＥＴ、ＳＯＮＥＴ、ＳＤＨ、光ファイバ分散データインターフェース（ＦＤＤＩ）、ＲＳ２３２、ＩＥＥＥ  ８０２．１１、ＩＥＥＥ  ８０２．１１ａ、ＩＥＥＥ  ８０２．１１ｂ、ＩＥＥＥ  ８０２．１１ｇ、ＣＤＭＡ、ＧＳＭ（登録商標）、ＷｉＭａｘ、および直接非同期接続）を使用して、確立することができる。一実施形態では、コンピュータデバイス１００は、Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔ  Ｌａｙｅｒ（ＳＳＬ）またはＴｒａｎｓｐｏｒｔ  Ｌａｙｅｒ  Ｓｅｃｕｒｉｔｙ（ＴＬＳ）、あるいはＣｉｔｒｉｘ  Ｓｙｓｔｅｍｓ，Ｉｎｃ．（Ｆｔ．Ｌａｕｄｅｒｄａｌｅ，Ｆｌｏｒｉｄａ）によって製造されるＣｉｔｒｉｘ  Ｇａｔｅｗａｙ  Ｐｒｏｔｏｃｏｌ等の任意の種類および／または形態のゲートウェイまたはトンネリングプロトコルを介して、他のコンピュータデバイス１００’と通信する。ネットワークインターフェース１１８は、内蔵ネットワークアダプタ、ネットワークインターフェースカード、ＰＣＭＣＩＡネットワークカード、カードバスネットワークアダプタ、無線ネットワークアダプタ、ＵＳＢネットワークアダプタ、モデム、または通信が可能であり、本明細書で説明される動作を行う、任意の種類のネットワークにコンピュータデバイス１００をインターフェース接続するために好適な任意の他のデバイスを備え得る。
【００６４】
いくつかの実施形態では、コンピュータデバイス１００は、それぞれ、同じまたは異なる種類および／または形態であり得る、複数の表示デバイス１２４ａ−１２４ｎを備え得るか、またはそれらに接続され得る。そのようなものとして、Ｉ／Ｏデバイス１３０ａ−１３０ｎおよび／またはＩ／Ｏコントローラ１２３のうちのいずれかは、コンピュータデバイス１００による複数の表示デバイス１２４ａ−１２４ｎの接続および使用をサポートし、有効にし、または提供するように、任意の種類および／または形態の好適なハードウェア、ソフトウェア、またはハードウェアおよびソフトウェアの組み合わせを備え得る。例えば、コンピュータデバイス１００は、表示デバイス１２４ａ−１２４ｎをインターフェース接続し、通信し、接続し、または別様に使用するように、任意の種類および／または形態のビデオアダプタ、ビデオカード、ドライバ、および／またはライブラリを含み得る。一実施形態では、ビデオアダプタは、複数の表示デバイス１２４ａ−１２４ｎにインターフェース接続するように、複数のコネクタを備え得る。他の実施形態では、コンピュータデバイス１００は、複数のビデオアダプタを含み得、各ビデオアダプタは、表示デバイス１２４ａ−１２４ｎのうちの１つ以上に接続される。いくつかの実施形態では、コンピュータデバイス１００のオペレーティングシステムの任意の部分が、複数の表示デバイス１２４ａ−１２４ｎを使用するために構成され得る。他の実施形態では、表示デバイス１２４ａ−１２４ｎのうちの１つ以上は、例えば、ネットワークを介して、コンピュータデバイス１００に接続されるコンピュータデバイス１００ａおよび１００ｂ等の１つ以上の他のコンピュータデバイスによって提供され得る。これらの実施形態は、コンピュータデバイス１００用の第２の表示デバイス１２４ａとして別のコンピュータの表示デバイスを使用するように設計および構築される、任意の種類のソフトウェアを含み得る。当業者であれば、コンピュータデバイス１００が複数の表示デバイス１２４ａ−１２４ｎを有するように構成され得る、種々の方法および実施形態を認識および理解するであろう。
【００６５】
さらなる実施形態では、Ｉ／Ｏデバイス１３０は、ＵＳＢバス、Ａｐｐｌｅ  Ｄｅｓｋｔｏｐバス、ＲＳ−２３２シリアル接続、ＳＣＳＩバス、ＦｉｒｅＷｉｒｅバス、ＦｉｒｅＷｉｒｅ  ８００バス、イーサネット（登録商標）バス、ＡｐｐｌｅＴａｌｋバス、ギガビットイーサネット（登録商標）バス、非同期転送モードバス、ＨＩＰＰＩバス、スーパーＨＩＰＰＩバス、ＳｅｒｉａｌＰｌｕｓバス、ＳＣＩ／ＬＡＭＰバス、ＦｉｂｒｅＣｈａｎｎｅｌバス、またはシリアルアタッチド小型コンピュータシステムインターフェースバス等の、システムバス１５０と外部通信バスとの間のブリッジであり得る。
【００６６】
図１Ｂおよび１Ｃで描写される種類のコンピュータデバイス１００は、典型的には、タスクのスケジューリングおよびシステムリソースへのアクセスを制御する、オペレーティングシステムの制御下で動作する。コンピュータデバイス１００は、ＭＩＣＲＯＳＯＦＴ  ＷＩＮＤＯＷＳ（登録商標）オペレーティングシステムのバージョンのうちのいずれか、Ｕｎｉｘ（登録商標）およびＬｉｎｕｘ（登録商標）オペレーティングシステムの異なるリリース、Ｍａｃｉｎｔｏｓｈコンピュータ用のＭＡＣ  ＯＳの任意のバージョン、任意の組み込みオペレーティングシステム、任意のリアルタイムオペレーティングシステム、任意のオープンソースオペレーティングシステム、任意の専有オペレーティングシステム、移動型コンピュータデバイス用の任意のオペレーティングシステム、またはコンピュータデバイス上で実行し、本明細書で説明される動作を行うことが可能な任意の他のオペレーティングシステム等の任意のオペレーティングシステムを実行することができる。典型的なオペレーティングシステムは、とりわけ、その全てがＭｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎ（Ｒｅｄｍｏｎｄ，Ｗａｓｈｉｎｇｔｏｎ）によって製造されている、ＷＩＮＤＯＷＳ（登録商標）  ３．ｘ、ＷＩＮＤＯＷＳ（登録商標）  ９５、ＷＩＮＤＯＷＳ（登録商標）  ９８、  ＷＩＮＤＯＷＳ（登録商標）  ２０００、ＷＩＮＤＯＷＳ（登録商標）  ＮＴ  ３．５１、ＷＩＮＤＯＷＳ（登録商標）  ＮＴ  ４．０、ＷＩＮＤＯＷＳ（登録商標）  ７、ＷＩＮＤＯＷＳ（登録商標）  ＣＥ、ＷＩＮＤＯＷＳ（登録商標）  ＸＰ、およびＷＩＮＤＯＷＳ（登録商標）  ＶＩＳＴＡ、Ａｐｐｌｅ  Ｉｎｃ．（Ｃｕｐｅｒｔｉｎｏ，Ｃａｌｉｆｏｒｎｉａ）によって製造されるＭＡＣ  ＯＳ、Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｂｕｓｉｎｅｓｓ  Ｍａｃｈｉｎｅｓ（Ａｒｍｏｎｋ，Ｎｅｗ  Ｙｏｒｋ）によって製造されるＯＳ／２、Ｃａｌｄｅｒａ  Ｃｏｒｐ．（Ｓａｌｔ  Ｌａｋｅ  Ｃｉｔｙ，Ｕｔａｈ）によって配布される自由に利用可能なオペレーティングシステムであるＬｉｎｕｘ（登録商標）、あるいは任意の種類および／または形態のＵｎｉｘ（登録商標）オペレーティングシステムを含むが、それらに限定されない。
【００６７】
コンピュータデバイス１００は、任意のワークステーション、デスクトップコンピュータ、ラップトップまたはノートブックコンピュータ、サーバ、手持ち式コンピュータ、携帯電話または他の携帯用電気通信デバイス、メディア再生デバイス、ゲームシステム、移動型コンピュータデバイス、あるいは通信が可能であり、本明細書で説明される動作を行うのに十分なプロセッサ能力およびメモリ容量を有する、任意の他の種類および／または形態のコンピュータ、電気通信、またはメディアデバイスであり得る。例えば、コンピュータデバイス１００は、Ａｐｐｌｅ  Ｉｎｃ．（Ｃｕｐｅｒｔｉｎｏ，Ｃａｌｉｆｏｒｎｉａ）によって製造されるＩＰＯＤ群のデバイス、Ｓｏｎｙ  Ｃｏｒｐｏｒａｔｉｏｎ（Ｔｏｋｙｏ，Ｊａｐａｎ）によって製造されるＰＬＡＹＳＴＡＴＩＯＮ  ２、ＰＬＡＹＳＴＡＴＩＯＮ  ３、またはＰＥＲＳＯＮＡＬ  ＰＬＡＹＳＴＡＴＩＯＮ  ＰＯＲＴＡＢＬＥ（ＰＳＰ）デバイス、Ｎｉｎｔｅｎｄｏ  Ｃｏ．，Ｌｔｄ．（Ｋｙｏｔｏ，Ｊａｐａｎ）によって製造されるＮＩＮＴＥＮＤＯ  ＤＳ、ＮＩＮＴＥＮＤＯ  ＧＡＭＥＢＯＹ、ＮＩＮＴＥＮＤＯ  ＧＡＭＥＢＯＹ  ＡＤＶＡＮＣＥＤ、またはＮＩＮＴＥＮＤＯ  ＲＥＶＯＬＵＴＩＯＮデバイス、あるいはＭｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎ（Ｒｅｄｍｏｎｄ，Ｗａｓｈｉｎｇｔｏｎ）によって製造されるＸＢＯＸまたはＸＢＯＸ  ３６０デバイスを備え得る。
【００６８】
いくつかの実施形態では、コンピュータデバイス１００は、デバイスと整列する、異なるプロセッサ、オペレーティングシステム、および入力デバイスを有し得る。例えば、一実施形態では、コンピュータデバイス１００は、Ｐａｌｍ，Ｉｎｃ．によって製造されるＴＲＥＯ  １８０、２７０、６００、６５０、６８０、７００ｐ、７００ｗ／ｗｘ、７５０、７５５ｐ、８００ｗ、Ｃｅｎｔｒｏ、またはＰｒｏスマートフォンである。これらの実施形態のうちのいくつかでは、ＴＲＥＯスマートフォンは、ＰａｌｍＯＳオペレーティングシステムの制御下で操作され、スタイラス入力デバイスならびに方向ナビゲータデバイスを含む。
【００６９】
他の実施形態では、コンピュータデバイス１００は、その全てがＭｏｔｏｒｏｌａ  Ｃｏｒｐ．（Ｓｃｈａｕｍｂｕｒｇ，Ｉｌｌｉｎｏｉｓ）によって製造されている、ｉ５５ｓｒ、ｉ５８ｓｒ、ｉ８５ｓ、ｉ８８ｓ、ｉ９０ｃ、ｉ９５ｃｌ、ｉ３３５、ｉ３６５、ｉ５７０、Ｉ５７６、ｉ５８０、ｉ６１５、ｉ７６０、ｉ８３６、ｉ８５０、ｉ８７０、ｉ８８０、ｉ９２０、ｉ９３０、ｉｃ５０２、ｉｃ６０２、ｉｃ９０２、ｉ７７６、またはｉｍ１１００、Ｋｙｏｃｅｒａ（Ｋｙｏｔｏ，Ｊａｐａｎ）によって製造される６０３５または７１３５、あるいはＳａｍｓｕｎｇ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｃｏ．，Ｌｔｄ．（Ｓｅｏｕｌ，Ｋｏｒｅａ）によって製造されるｉ３００またはｉ３３０等の、ＪＡＶＡ（登録商標）使用可能携帯電話または携帯情報端末（ＰＤＡ）等のモバイルデバイスである。いくつかの実施形態では、コンピュータデバイス１００は、Ｎｏｋｉａ（Ｆｉｎｌａｎｄ）によって、またはＳｏｎｙ  Ｅｒｉｃｓｓｏｎ  Ｍｏｂｉｌｅ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ  ＡＢ（Ｌｕｎｄ，Ｓｗｅｄｅｎ）によって製造されるモバイルデバイスである。
【００７０】
なおもさらなる実施形態では、コンピュータデバイス１００は、Ｂｌａｃｋｂｅｒｒｙ  ７１００系、８７００系、７７００系、７２００系、Ｂｌａｃｋｂｅｒｒｙ  ７５２０、Ｂｌａｃｋｂｅｒｒｙ  ＰＥＡＲＬ  ８１００、８７００系、８８００系、Ｂｌａｃｋｂｅｒｒｙ  Ｓｔｏｒｍ、Ｂｌａｃｋｂｅｒｒｙ  Ｂｏｌｄ、Ｂｌａｃｋｂｅｒｒｙ  Ｃｕｒｖｅ  ８９００、およびＢｌａｃｋｂｅｒｒｙ  Ｐｅａｒｌ  Ｆｌｉｐを含む、Ｒｅｓｅａｒｃｈ  Ｉｎ  Ｍｏｔｉｏｎ  Ｌｉｍｉｔｅｄによって製造されるデバイス等のＢｌａｃｋｂｅｒｒｙ手持ち式またはスマートフォンである。さらに他の実施形態では、コンピュータデバイス１００は、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（登録商標）  Ｍｏｂｉｌｅ  Ｓｏｆｔｗａｒｅをサポートする、スマートフォン、ポケットＰＣ、ポケットＰＣフォン、または他の手持ち式モバイルデバイスである。また、コンピュータデバイス１００は、任意のワークステーション、デスクトップコンピュータ、ラップトップまたはノートブックコンピュータ、サーバ、手持ち式コンピュータ、携帯電話、任意の他のコンピュータ、あるいは通信が可能であり、本明細書で説明される動作を行うのに十分なプロセッサ能力およびメモリ容量を有する、他の形態のコンピュータまたは電気通信デバイスであり得る。
【００７１】
いくつかの実施形態では、コンピュータデバイス１００は、デジタルオーディオプレーヤである。これらの実施形態のうちの１つでは、コンピュータデバイス１００は、Ａｐｐｌｅ  Ｉｎｃ．（Ｃｕｐｅｒｔｉｎｏ，Ｃａｌｉｆｏｒｎｉａ）によって製造される、Ａｐｐｌｅ  ＩＰＯＤ、ＩＰＯＤ  Ｔｏｕｃｈ、ＩＰＯＤ  ＮＡＮＯ、およびＩＰＯＤ  ＳＨＵＦＦＬＥ系列のデバイス等のデジタルオーディオプレーヤである。これらの実施形態のうちの別の１つでは、デジタルオーディオプレーヤは、携帯用メディアプレーヤおよび大容量記憶デバイスの両方として機能し得る。他の実施形態では、コンピュータデバイス１００は、Ｓａｍｓｕｎｇ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ａｍｅｒｉｃａ（Ｒｉｄｇｅｆｉｅｌｄ  Ｐａｒｋ，ＮＪ）によって製造されるＤｉｇｉｔａｌＡｕｄｉｏＰｌａｙｅｒ  Ｓｅｌｅｃｔ  ＭＰ３プレーヤ、あるいはＭｏｔｏｒｏｌａ  Ｉｎｃ．（Ｓｃｈａｕｍｂｕｒｇ，ＩＬ）によって製造されるＭｏｔｏｒｏｌａ  ｍ５００またはｍ２５  Ｄｉｇｉｔａｌ  Ａｕｄｉｏ  Ｐｌａｙｅｒ等のデジタルオーディオプレーヤである。なおも他の実施形態では、コンピュータデバイス１００は、Ｃｒｅａｔｉｖｅ  Ｔｅｃｈｎｏｌｏｇｉｅｓ  Ｌｔｄ．によって製造されるＺｅｎ  Ｖｉｓｉｏｎ  Ｗ、Ｚｅｎ  Ｖｉｓｉｏｎ系、Ｚｅｎ  Ｐｏｒｔａｂｌｅ  Ｍｅｄｉａ  Ｃｅｎｔｅｒデバイス、またはＤｉｇｉｔａｌ  ＭＰ３系列のＭＰ３プレーヤ等の携帯用メディアプレーヤである。さらに他の実施形態では、コンピュータデバイス１００は、ＭＰ３、ＷＡＶ、Ｍ４Ａ／ＡＡＣ、ＷＭＡ保護付きＡＡＣ、ＡＩＦＦ、Ａｕｄｉｂｌｅオーディオブック、Ａｐｐｌｅ  Ｌｏｓｓｌｅｓｓオーディオファイル形式、ならびに．ｍｏｖ、．ｍ４ｖ、および．ｍｐ４  ＭＰＥＧ−４（Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣ）ビデオファイル形式を含む、それらに限定されない、ファイル形式をサポートする携帯用メディアプレーヤまたはデジタルオーディオプレーヤである。
【００７２】
いくつかの実施形態では、コンピュータデバイス１００は、デジタルオーディオプレーヤまたは携帯用メディアプレーヤと組み合わせたスマートフォン等のデバイスの組み合わせを備えている。これらの実施形態のうちの１つでは、コンピュータデバイス１００は、Ｍｏｔｏｒｏｌａ  ＲＡＺＲまたはＭｏｔｏｒｏｌａ  ＲＯＫＲ系列の複合デジタルオーディオプレーヤおよびスマートフォンである。これらの実施形態のうちの別の１つでは、コンピュータデバイス１００は、Ａｐｐｌｅ  Ｉｎｃ．（Ｃｕｐｅｒｔｉｎｏ，Ｃａｌｉｆｏｒｎｉａ）によって製造されるｉＰｈｏｎｅ系列のスマートフォンの中のデバイスである。
【００７３】
一実施形態では、コンピュータデバイス１０２ａは、遠隔マシン１０６の機能性をクライアント１０２ｂに提供しながら、遠隔マシン１０６からリソースを要求し得る。そのような実施形態では、コンピュータデバイス１０２ａは、（サーバと呼ばれ得る）遠隔マシン１０６から受信されたデータに対してクライアントと呼ばれ得、コンピュータデバイス１０２ａは、第２のクライアント１０２ｂに対してサーバと呼ばれ得る。別の実施形態では、クライアント１０２は、クライアント１０２のユーザの代わりに遠隔マシン１０６からリソースを要求し得る。
【００７４】
図１Ｄに示されるように、コンピュータデバイス１００は、複数のプロセッサを備え得、命令の同時実行のため、または１つよりも多くのデータについての１つの命令の同時実行のための機能性を提供し得る。いくつかの実施形態では、コンピュータデバイス１００は、１つ以上のコアを伴う並列プロセッサを備え得る。これらの実施形態のうちの１つでは、コンピュータデバイス１００は、単一のグローバルアドレス空間としての全ての利用可能なメモリにアクセスする、複数のプロセッサおよび／またはプロセッサコアを伴う共有メモリ並列デバイスである。これらの実施形態のうちの別の１つでは、コンピュータデバイス１００は、それぞれローカルメモリのみにアクセスする、複数のプロセッサを伴う分散型メモリ並列デバイスである。これらの実施形態のうちのなおも別の１つでは、コンピュータデバイス１００は、共有されるいくらかのメモリ、および特定のプロセッサまたは一部のプロセッサのみによってアクセスすることができるいくらかのメモリの両方を有する。これらの実施形態のうちのなおもさらに別の１つでは、マルチコアマイクロプロセッサ等のコンピュータデバイス１００は、２つ以上の独立プロセッサを、しばしば単一の集積回路（ＩＣ）である、単一のパッケージに組み込む。これらの実施形態のうちのさらに別の１つでは、コンピュータデバイス１００は、ＣＥＬＬ  ＢＲＯＡＤＢＡＮＤ  ＥＮＧＩＮＥアーキテクチャを有し、Ｐｏｗｅｒプロセッサ要素と、複数の相乗的処理要素とを含む、チップを含み、Ｐｏｗｅｒプロセッサ要素および複数の相乗的処理要素は、要素相互接続バスと呼ばれ得る、内部高速バスによってともに連結される。
【００７５】
いくつかの実施形態では、プロセッサは、複数のデータについての単一の命令を同時に実行するための機能性（ＳＩＭＤ）を提供する。他の実施形態では、プロセッサは、複数のデータについての複数の命令を同時に実行するための機能性（ＭＩＭＤ）を提供する。なおも他の実施形態では、プロセッサは、単一のデバイスでＳＩＭＤおよびＭＩＭＤコアの任意の組み合わせを使用し得る。
【００７６】
いくつかの実施形態では、コンピュータデバイス１００は、グラフィックス処理ユニットを備え得る。図１Ｅで描写される、これらの実施形態のうちの１つでは、コンピュータデバイス１００は、少なくとも１つの中央処理ユニット１２１と、少なくとも１つのグラフィックス処理ユニットとを含む。これらの実施形態のうちの別の１つでは、コンピュータデバイス１００は、少なくとも１つの並列処理ユニットと、少なくとも１つのグラフィックス処理ユニットとを含む。これらの実施形態のうちのなおも別の１つでは、コンピュータデバイス１００は、任意の種類の複数の処理ユニットを含み、複数の処理ユニットのうちの１つは、グラフィックス処理ユニットを備えている。
【００７７】
一実施形態では、リソースは、プログラム、アプリケーション、ドキュメント、ファイル、複数のアプリケーション、複数のファイル、実行可能プログラムファイル、デスクトップ環境、コンピュータ環境、またはローカルコンピュータデバイス１０２のユーザに利用可能にされる他のリソースであり得る。リソースは、直接的にローカルコンピュータデバイス１０２上での従来のインストール、アプリケーションストリーミングのための方法を介したローカルコンピュータデバイス１０２への配信、第３のコンピュータデバイス１０６ｂ上でのリソースの実行によって生成され、プレゼンテーション層プロトコルを介してローカルコンピュータデバイス１０２に伝達される出力データのローカルコンピュータデバイス１０２への配信、遠隔コンピュータデバイス１０６上で実行する仮想マシンを介したリソースの実行によって生成される、出力データのローカルコンピュータデバイス１０２への配信、あるいはＵＳＢデバイス等のローカルコンピュータデバイス１０２に接続される可撤性記憶デバイスからの実行、またはローカルコンピュータデバイス１０２上で実行し、出力データを生成する仮想マシンを介した実行を含むが、それらに限定されない、複数のアクセス方法を介して、ローカルコンピュータデバイス１０２に配信され得る。いくつかの実施形態では、ローカルコンピュータデバイス１０２は、リソースの実行によって生成された出力データを別のクライアントコンピュータデバイス１０２ｂに伝送する。
【００７８】
いくつかの実施形態では、ローカルコンピュータデバイス１０２のユーザは、遠隔コンピュータデバイス１０６に接続し、遠隔コンピュータデバイス１０６上で生成される、複数のデータオブジェクトを含む、遠隔デスクトップ環境のローカルバージョンの表示をローカルコンピュータデバイス１０２上で視認する。これらの実施形態のうちの１つでは、少なくとも１つのリソースは、遠隔コンピュータデバイス１０６によって（または第２の遠隔コンピュータデバイス１０６ｂによって）ユーザに提供され、遠隔デスクトップで表示される。しかしながら、選択によって、あるいは方針または技術的要件により、ユーザがローカルコンピュータデバイス１０２上で実行するリソースがあり得る。これらの実施形態のうちの別の１つでは、ローカルコンピュータデバイス１０２のユーザは、別個のマシンによって提供されるリソースの別個のデスクトップ環境の代わりに、ユーザに利用可能なリソースの全てへのアクセスを提供する、統合デスクトップ環境を好む。例えば、ユーザは、複数のグラフィック表示間をナビゲートすることが、紛らわしく、生産的に使用しにくいと感じる場合がある。または、ユーザは、異なるマシンによって提供される別のリソースと併せて、１つのマシンによって提供される１つのアプリケーションによって生成されるデータを使用することを希望し得る。これらの実施形態のうちのなおも別の１つでは、遠隔リソースおよびローカルリソースの表示を統合する遠隔デスクトップ環境と相互作用することによって、リソースの実行、ウィンドウウィング移動、アプリケーション最小化／最大化、ウィンドウのサイズ変更、リソース実行の終了に対する要求が制御され得る。これらの実施形態のうちのさらに別の１つでは、アプリケーション、またはローカルコンピュータデバイス１０２上で実行されるリソース、および遠隔コンピュータデバイス１０６上で実行されるリソースを含む、統合デスクトップ環境を介してアクセス可能である他のリソースが、単一のデスクトップ環境内に示される。
【００７９】
一実施形態では、遠隔コンピュータデバイス１０６からのデータオブジェクトは、ローカルコンピュータデバイス１０２によって生成されるデスクトップ環境に組み込まれる。別の実施形態では、遠隔コンピュータデバイス１０６は、統合デスクトップを維持する。なおも別の実施形態では、ローカルコンピュータデバイス１０２は、統合デスクトップを維持する。
【００８０】
いくつかの実施形態では、単一の遠隔デスクトップ環境２０４が表示される。これらの実施形態のうちの１つでは、遠隔デスクトップ環境２０４は、フルスクリーンデスクトップとして表示される。他の実施形態では、複数の遠隔デスクトップ環境２０４が表示される。これらの実施形態のうちの１つでは、遠隔デスクトップ環境のうちの１つ以上は、１つ以上の表示デバイス１２４上に非フルスクリーンモードで表示される。これらの実施形態のうちの別の１つでは、遠隔デスクトップ環境は、個々の表示デバイス上にフルスクリーンモードで表示される。これらの実施形態のうちのなおも別の１つでは、遠隔デスクトップ環境のうちの１つ以上は、１つ以上の表示デバイス１２４上にフルスクリーンモードで表示される。
【００８１】
（Ｂ．パラメトリックコンピュータ支援設計モデルを作成および修正するために直接コンピュータ支援設計モデリングユーザインターフェースを使用するためのシステムおよび方法）
直接およびパラメトリックコンピュータ支援設計（ＣＡＤ）モデリングといった、３次元設計を開発するための２つのアプローチが、現在広く使用されている。両方のアプローチは、いくつかの固有の利点および不利点を有し、したがって、ユーザは、典型的には、アプリケーションに応じて、一方または他方のアプローチを選択してきた。
【００８２】
要するに、直接モデリングは、３次元設計の容易かつ迅速な作成、およびモデル幾何学形状との直接的なオンザフライの相互作用を通した修正を可能にする。結果は、直観的な見たままが得られる（ＷＹＳＩＷＹＧ）形式で表示される。結果として、直接モデリングは、学習しやすく、複雑なモデルの高速作成を可能にする。例えば、図２Ａを参照すると、直接モデリングを通した、面取りした３次元オブジェクトの作成の実施形態のブロック図が示されている。ユーザは、２次元の正方形を作成し、正方形を３次元の立方体に引き出し得る。ユーザはまた、立体に対して４５度斜めで配向された、別の３次元の角柱を作成し得る。次いで、ユーザは、立方体の角に重複させて角柱を位置付け、面取りした縁を作成するようにブール減算を行い得る。頂面および側面に沿った構築線、正面および背面に沿った斜め構築線を追加すること、ならびにこれらの線によって境界された領域を差し引くことを含む、面取りを作成する他の方法が存在する。
【００８３】
直接モデリングでは、幾何学的操作がモデルに対して直接行われる。したがって、エンジニアは、要素の設計意図および連合を考慮する必要がない。これは、カスタムまたは１個限りの製品の急速開発サイクルおよび迅速な作成、ならびに非常に大型の高度に詳細なアセンブリの構築を可能にし得、ＣＡＤシステムが、エンティティ間の関係を記憶し、相対的幾何学形状を計算するため、モデルは、メモリ内のより少ない空間を占めることができ、グラフィック情報のみが計算される必要があり、いずれのモデル従属性も計算および解決する必要がないため、性能がはるかに速くなり得る。
【００８４】
連合パラメトリックモデリング、特徴ベースのモデリング、または履歴ベース（ｈｉｓｔｏｒｙ−ｂａｓｅｄ）のモデリングと呼ばれることもある、パラメトリックモデリングでは、幾何学形状が、２ステッププロセスを通して作成される。ユーザは、押出し、穴あけ、切断、隅肉づけ、面取り、丸め、およびその他を含む、特徴構築の使用を通して、幾何学形状構築レシピを定義する。パラメトリック幾何学形状エンジンは、これらのレシピを解釈し、モデリングおよび／または表示エンジンによる表示のためにモデルの幾何学形状を作成する。これらのレシピは、時には特徴履歴（ｆｕｔｕｒｅ  ｈｉｓｔｏｒｉｅｓ）と呼ばれ得、モデル化オブジェクトが設計される場合の、最終モデル化オブジェクトをモデル化する際に利用される特徴の一連の異なる組み合わせを備え得る。
【００８５】
例えば、図２Ｂには、パラメトリックモデリングを通した、面取りした３次元オブジェクトの作成の実施形態のブロック図が示されている。ユーザが最初に、複数の縁の連合を通して正方形を定義する。いくつかの実施形態では、示されるように、縁が２つの頂点の連合を通して定義され得る一方で、他の実施形態では、縁は、別に縁に対する相対的位置、サイズ、および角度を通して、頂点、長さ、およびベクトルの方向によって、または任意の他の手段によって定義され得る。いくつかの実施形態では、ユーザは、正方形をスケッチし得、パラメトリック幾何学形状エンジンは、幾何学形状を縁および頂点の連合として解釈し得る。
【００８６】
次いで、ユーザは、オブジェクトの面と垂直な方向に沿って正方形の押出しを定義する。いくつかの実施形態では、押出しの長さは、別の頂点、明示的な長さ、または任意の他の手段によって定義され得る。最終的に、示される実施形態では、ユーザは、オブジェクト、縁、および深さに関して面取りを定義することによって、面取りを作成する。プロセスにおける１つ以上のステップで、モデリングまたは表示エンジンが、命令リストまたはレシピを解釈して、表示されたモデルを作成する。
【００８７】
直接モデリングと違って、パラメトリックモデリングが動作の順序または履歴（ｈｉｓｔｏｒｙ）を記憶するため、特徴間の関係が定義され得る。したがって、レシピの中の特徴の順序を変更することは、要素作成の順序が無関係である直接モデリングと違って、モデルに劇的な影響を及ぼす場合がある。しかしながら、このアプローチは、ユーザが命令リストの中の初期の特徴を編集することを可能にし、幾何学形状エンジンは、モデルを通して影響を再計算する。例えば、パラメトリックＣＡＤモデラでは、ユーザが押出しプレートを作成し、プレートの軸の中間点上に中心を置くように穴を定義し、後にプレートの寸法を変更する場合、幾何学形状エンジンは、中間点上に中心を置いたままとなるように穴を移動させ得る。しかしながら、直接ＣＡＤモデラでは、穴を配置した後にプレートの面を伸張することは、穴が移動せず、中心から外れて位置されることをもたらし得る。
【００８８】
別の実施例では、線が円の接線と垂直に、すなわち、円の中心および接点を通る線に沿った方向に定義されている等、角度関係がパラメトリックＣＡＤモデラで定義され得る。円の位置が修正された場合、それに対応して、線の角度または位置が修正され得る。しかしながら、直接ＣＡＤモデラでは、この履歴が維持されていないため、円を移動させることは、線の位置にも角度にも変化をもたらさず、それはもはや円と垂直ではなくなるようにし得る。
【００８９】
本明細書では直接モデリングと呼ばれるが、この技法は、明示的モデリングと呼ばれることもある。当業者であれば、使用される用語にかかわらず、直接または明示的モデリングは、設計意図、履歴、および連合関係にとらわれない、またはそれらを知らない、幾何学形状の直接操作のための幾何学形状ベースのパラダイムであると理解できるであろう。直接モデリングは、幾何学的形状を編集するようにダイアログボックスにデータを入力すること（間接設計操作と呼ばれることもある）とは対照的に、幾何学的形状を手動で押す、引く、または修正することを指す、直接設計操作と混同されるべきではない。したがって、直接設計操作および間接またはダイアログボックス設計操作が、ユーザインターフェースにデータを入力する方法を指す一方で、したがって、直接または明示的モデリングおよびパラメトリックモデリングは、モデリングパラダイムを指す。
【００９０】
パラメトリックＣＡＤモデリングの追加される複雑性により、しばしば、ユーザにとって習得がさらに困難である。しかしながら、モデル要素への修正を制御するために、自動化が使用され得、単一の設計に対する多くの異なる変形の作成を可能にする。
【００９１】
パラメトリックモデリングが、履歴ベースの構築レシピの再生に依存する一方で、直接モデリングは、ユーザによって直接作成された幾何学形状のみに依存して、作成の順序を無視するため、直接およびパラメトリックモデラを組み合わせることは困難である。したがって、異なる方法が、異なる基礎的アーキテクチャを必要とする。直接およびパラメトリックモデラの相互運用性での以前の試行は、モデルのインポートおよび変換に依存してきた。しかしながら、アーキテクチャの違いにより、これらの変換は、情報の損失をもたらし、パラメトリックモデルを直接モデラにインポートする時に履歴および連合関係が失われ、幾何学形状ベースの直接モデルがパラメトリックモデルにインポートされる時に製品製造情報が失われる。例えば、表面の機械加工、塗料の種類および色、または製造プロセス等の直接モデリングユーザインターフェースの中のモデル上の注釈または標識が、特徴に対応しない。多くの変換装置がモデルの幾何学形状のみを考慮するため、これらの注釈は、直接モデルをパラメトリックモデルに変換する時に失われる場合がある。同様に、カウンターボア穴を形成するための別の穴に軸方向に重複する穴等の、パラメトリック設計の中の複数の表面または特徴の間の工学的連合が、直接モデルに変換される時に失われる場合がある。したがって、典型的な直接モデラのユーザは、連合を破って、ボルト穴を移動させることなく重複する穴の位置を修正し得る。
【００９２】
加えて、幾何学的忠実性の損失が移転中に発生し得る。例えば、位置データの切り捨てまたは切り上げ中に、パラメトリックモデラの中の第２のオブジェクトに接触するように制約され得るオブジェクトは、直接モデラにインポートされた時に、第２のオブジェクトからわずかに離れて配置され得る。
【００９３】
本発明の一側面では、直接モデリングユーザインターフェースが、モデルを編集するために使用され、幾何学形状の直観的かつ容易な操作を可能にし、パラメトリック幾何学形状エンジンが、これらの操作を履歴ベースの特徴として解釈し、構築レシピを作成する。したがって、たとえユーザが、全操作中に履歴および連合関係が作成されていることを認識しない場合があっても、モデルの基礎的アーキテクチャは、パラメトリックのままである。したがって、本発明は、パラメトリックモデラの強力な特徴および再生能力を保持しながら、直接ＣＡＤモデリングの直観的ＷＹＳＩＷＹＧ編集を提供する。
【００９４】
一実施形態では、パラメトリック幾何学形状エンジンは、単純操作を従来の特徴にマップすることによって、種々の直接モデリング操作を認識することができる。例えば、オブジェクトの面を引き出すことは、押出しにマップされ得、面の小区分を押し出すことは、穴あけにマップされ得、追従型押出しは、掃引にマップされ得る等である。しかしながら、周辺幾何学形状のトポロジーが変化しなければならないような方法で表面を移動させること等の多くの直接モデリング操作は、従来のパラメトリック履歴ベースの特徴として解釈可能ではない。例えば、立方体に引き出された正方形を押出し面として解釈することが容易であり得る一方で、ねじれた角柱を形成するように頂面を回転させることは、パラメータ的に解釈することが困難であり得る。同様に、曲線縁に沿って第１の図形を掃引することができるが、次いで、曲線縁が修正された場合、縁と掃引との間のパラメトリック連合が壊される場合がある。
【００９５】
したがって、一実施形態では、パラメトリック幾何学形状エンジンは、これらの非従来的特徴を、フレックス移動特徴と称される、非従来的「柔軟」特徴にマップし得る。フレックス移動特徴は、パラメトリック特徴、あるいはパラメトリック特徴またはサブ特徴の組み合わせを含み得、任意の他の特徴のようにパラメトリック履歴またはレシピの中に配置され得る。フレックス移動特徴は、以前の特徴の子であり得、または他の従属性を有し得、後の特徴は、フレックス移動特徴の子であり得る。一実施形態では、フレックス移動特徴は、一式のエンティティまたは表面の順序付けられた一式の剛体変換および回転、一式の修正可能な寸法、または幾何学形状選択の位置および配向を完全に定義する一式のアセンブリ制約を含み得る。
【００９６】
さらなる実施形態では、フレックス移動特徴は、順序付けられた変換または回転の前の位置から幾何学形状を削除することを指示し得る。例えば、交差線に沿って第２のオブジェクトに交差する第１のオブジェクトが、第２のオブジェクトから離される、一実施形態では、フレックス移動特徴は、移動後にパラメトリック幾何学形状エンジンに交差線を削除させ得る。これは、移動させられたエンティティの以前の場所によって引き起こされる幾何学形状が、アーチファクトを残すことを防止する。なおもさらなる実施形態では、フレックス移動特徴は、幾何学形状の削除または移動により、表面または縁あるいは他の固体エンティティに残された開口部を閉じることを指示し得る。例えば、第２の固体オブジェクトに交差する以前の位置からオブジェクトを移動させることにより、第２の固体オブジェクトの表面に残された穴をもたらし得る。フレックス移動特徴は、パラメトリック幾何学形状エンジンにこの穴を閉じさせ得る。いくつかの実施形態では、フレックス移動特徴は、表面、固体幾何学的エンティティ内の表面の集合、またはキルトに属する表面の集合に作用し得る。他の実施形態では、フレックス移動特徴は、平面、軸、点、複合系、またはこれらのうちのいずれかの組み合わせに作用し得る。
【００９７】
さらなる実施形態では、幾何学的エンティティの移動が、パラメトリック幾何学形状エンジンに、移動させられたエンティティまたは隣接エンティティの幾何学形状を作成または修正させて、移動させられたエンティティをモデルに再付着させ得る。例えば、縁を表面から離れた位置に移動させることにより、パラメトリック幾何学形状エンティティに、縁および／または表面を延長させ、曲面の接線を作成させ、または接線でない直線を作成させて、固体表面またはオブジェクト内の介在空間を再接続して閉じさせ得る。
【００９８】
同様の実施形態では、パラメトリック幾何学形状エンジンは、非従来的特徴を、フレックス移動コピー特徴、または時にはフレックスコピー特徴と称される、新しい特徴にマップし得る。フレックス移動コピー特徴は、幾何学的エンティティの変換および回転を識別するが、エンティティの以前の位置から幾何学形状を削除することがない、フレックス移動特徴と同様のパラメトリック特徴を含み得る。
【００９９】
多くの実施形態では、フレックス移動およびフレックス移動コピー特徴が、パラメトリック特徴履歴の中に配置され得る。一実施形態では、これらの特徴は、それらが作用する幾何学形状の従属または子特徴として配置され得る。さらなる実施形態では、押出し、旋回、掃引、またはその他等の従来の特徴、あるいはさらなる移動またはコピーを含む、移動またはコピーした幾何学形状へのさらなる修正が、フレックス特徴の従属または子特徴として作成され得る。したがって、これは、ユーザがパラメトリックレシピの全体を通して変更を行うように、パラメトリック幾何学形状エンジンが幾何学形状を適正に再生および再計算することを可能にする。
【０１００】
いくつかの実施形態では、パラメトリック幾何学形状エンジンは、直接モデリングユーザインターフェースにおいて作成された関係をパラメトリック特徴にマップし得る。例えば、１つのそのような実施形態では、ユーザが、１つまたは複数の幾何学的エンティティの対称または鏡映コピーを作成し得る。パラメトリック幾何学形状エンジンは、これを柔軟対称特徴の作成として解釈し得る。柔軟対称特徴は、複数の対称または鏡映エンティティに対するグループヘッダ特徴と、対称面の識別とを含み得る。パラメトリック特徴リストの中のエンティティ間の連合により、パラメトリックエンジンは後に、再計算または再生中に自動的に、１つのエンティティへの編集を対称または鏡映エンティティに適用し得る。これは、直接モデルをパラメトリックシステムにインポートして変換するシステムでは頻繁に行うことができない。なぜなら、直接モデル編集中に行われたミラーリングの明示的ステップの知識がなければ、これらのパラメトリックシステムは、第２のオブジェクトまたは一式のオブジェクトに対して、オブジェクトまたは一式のオブジェクトが対称または鏡映であるように制限することを知らず、単純に、第２のオブジェクトまたは一式のオブジェクトを新しい非連合（しかし偶然に同様の）オブジェクトとして解釈し得るからである。他の実施形態では、パラメトリック幾何学形状エンジンは、対称または鏡映エンティティを従来のミラー特徴として解釈し得る。
【０１０１】
同様の実施形態では、ユーザは、ディスクの周囲の均等に離間した穴のパターン等の幾何学的エンティティのパターンを作成し得る。同様に、直接モデルを単純にパラメトリックシステムにインポートして変換するシステムは、これらのエンティティを穴の共通パターンとして解釈することができなくてもよく、各穴を明確に異なる無関係の特徴として識別し得る。直接モデリングユーザインターフェースにおける明示的なパターン作成ステップの知識を有することによって、本発明のパラメトリックエンジンは、柔軟パターン特徴を作成することができる。柔軟パターン特徴は、複数のフレックス移動コピー特徴に対するグループヘッダ特徴、または１つの部材への修正が全ての他の部材への修正を伝搬させるように関係および連合部材のパターンを含み得る。他の実施形態では、パラメトリック幾何学形状エンジンは、幾何学的エンティティのパターンを従来のパターン特徴として解釈し得る。
【０１０２】
履歴および従属性を保持し、これらの非従来的エンティティの作成および修正にパラメトリックモデルを使用することのさらなる結果として、ユーザは、粒状レベルで変更を追跡する能力を与えられる。これは、直接モデリング編集をパラメトリックモデラにインポートする従来の方法とは異なる。これらのシステムでは、パラメトリックモデラによるモデルの以前の保存された状態をモデルのインポートされた状態と比較すること、本質的には、部品の第１のバージョンの幾何学形状全体を部品の第２のバージョンと比較することのみによって、変更追跡を行うことができる。システムは、個別レベルで変更を覚えておく能力が欠けている場合があるため、これらのシステムは、典型的には、ユーザが部品または部品の従属構成要素への変更を容認または拒絶することを可能にしない。これらのシステムのいくつかのバージョンが、直接モデリング編集の全体承認または拒絶のみを可能にする一方で、他のバージョンは、限定された比較を行って、押出しまたは掃引等の従来の特徴を検出し、承認または拒絶のために編集のいくつかの基本的細分を可能にし得る。しかしながら、履歴および従属性がこれらのシステムで失われるため、粒状の個別編集レベルで変更を追跡することができない。例えば、ユーザは、穴が切断される表面を拒絶しながら、穴の生成を不適当に承認することができ得る。別の実施例では、多くの実施形態で、パラメトリックシステムを使用する設計者は、いくつかの異なる動作のうちのいずれかを通して、部品の最終幾何学形状に到達し得る。相互に従属していない特徴は、いくつかの実施形態では、任意の順序で作成され得、掃引がモデルの一部に適用され、押出しが別の部分に適用され得、または押出しが最初に作成され、その後に掃引が続いてもよい。作成の順序は、設計者の意図を表し得る。しかしながら、順序は直接モデリングシステムに記録されないため、この意図の表現は、個々の特徴が認識される場合でさえも、パラメトリックと直接システムとの間でモデルを変換する時に失われる場合がある。
【０１０３】
本発明のシステムは、直接モデリングユーザインターフェースを用いても、常にパラメトリックモデリングパラダイムに作用するため、特徴従属性を保存することができ、変更追跡を編集ごとの基準で行うことができる。したがって、一実施形態では、パラメトリックモデリングユーザインターフェースのユーザは、各変更後にモデルをインポートする必要なく、直接モデリングユーザインターフェースのユーザによってモデルに行われる個々の変更および修正を精査、容認、および拒絶し得る。さらなる実施形態では、パラメトリックモデリングユーザインターフェースのユーザは、直接モデリングインターフェースのユーザによって第１のオブジェクトに行われる修正を拒絶し得、拒絶および第１のオブジェクトに対する第２のオブジェクトの従属的関係に応答して、幾何学形状エンジンは、第２のオブジェクトの幾何学形状を再計算し得る。
【０１０４】
上記で論議されるように、直接モデリングシステムとパラメトリックモデリングシステムとの間でモデルを移動させる際に、製品製造情報が失われる場合がある。本発明のシステムの別の結果は、直接モデリングユーザインターフェースとパラメトリックモデリングユーザインターフェースとの間の移動の際、いずれの変換も行われないため、そのような情報が保持されることである。標識および注釈が既存の特徴に結び付けられるため、パラメトリックモデルの中の特徴に、関係または従属性がない直接モデルからの曖昧な標識または注釈を結び付けようとすることから生じる混乱がない。
【０１０５】
ここで図３Ａを参照すると、コンピュータ支援設計のためのシステムの実施形態のブロック図が示されている。概観すると、コンピュータデバイス１００は、記憶装置１２８を含み得、またはそれに接続し得る。コンピュータデバイス１００の内部に示されているが、多くの実施形態では、記憶装置１２８は、ネットワーク記憶デバイスまたは外部デバイスを備え得る。記憶デバイス１２８は、概してオブジェクト３１２と呼ばれる、１つ以上のオブジェクト３１２ａおよび３１２ｂを含み得る、１つ以上のモデル３１０を含み得る。いくつかの実施形態では、オブジェクトは、履歴ベースまたは順序付けられた構築レシピを含み得る、１つ以上の特徴３１４ａ−３１４ｎ（概して特徴３１４と呼ばれる）を備え得る。一実施形態では、第１の特徴は、第２の特徴の子であり得、または逆にいうと、第２の特徴は、第１の特徴の親であり得る。いくつかの実施形態では、特徴は、その幾何学形状または他のデータの何らかの側面について親特徴に従属している場合、親特徴の子と呼ばれ得る。いくつかの実施形態では、オブジェクトは、概してサブオブジェクト３１２’と呼ばれる、１つ以上のサブオブジェクト３１２’ａまたは３１２’ｂを備え得る。いくつかの実施形態では、サブオブジェクト３１２’は、さらなるサブオブジェクトおよび／または１つ以上の特徴３１４を備え得る。コンピュータデバイス１００は、ＣＡＤアプリケーション３００を実行し、またはそれと通信し得る。
【０１０６】
依然として図３Ａをさらに詳細に参照すると、一実施形態では、コンピュータデバイス１００は、ＣＡＤアプリケーション３００を実行する。ＣＡＤアプリケーションと呼ばれるが、多くの実施形態では、アプリケーションは、ＣＡＭアプリケーション、ＣＡＥアプリケーション、あるいは２または３次元設計、モデリング、または分析のための他のアプリケーションを備え得る。ＣＡＤアプリケーション３００は、２または３次元幾何学形状を作成、修正、分析、またはモデル化するためのプログラム、アプリケーション、サービス、サブルーチン、または他の実行可能論理を備え得る。ＣＡＤアプリケーション３００は、工学的、製造、アーキテクチャ、アニメーション、モデリング、芸術的、または他の設計または製造機能に使用され得る。
【０１０７】
多くの実施形態では、ＣＡＤアプリケーション３００は、幾何学形状エンジン３０２、表示エンジン３０４、パラメトリックモデリングユーザインターフェース（ＵＩ）３０６、直接モデリングＵＩ３０８、モデリングライブラリ３１６、再生命令３１７、および制約ライブラリ３１８のうちの１つ以上を備え得る。一実施形態では、モデリングライブラリ３１７は、ＣＡＤ幾何学形状の作成および評価を可能にするように、実行可能ルーチンのライブラリ、ＡＰＩ、またはデータベースを備え得る。いくつかの実施形態では、モデリングライブラリ３１６は、モデル３１０またはオブジェクト３１２の特徴履歴およびモデルデルタを含み得る。例えば、モデル化オブジェクトの設計プロセスが進展するにつれて、特徴履歴が連続的に確立され、モデリングライブラリ３１６によって記憶され得る。多くの実施形態では、モデリングライブラリ３１６は、記憶装置１２８の一部と見なされ、ＣＡＤアプリケーション３００によってアクセスされ得る。
【０１０８】
別の実施形態では、ＣＡＤアプリケーション３００は、モデリングライブラリ３１６と併せて機能し得る、制約ライブラリ３１８を備え得る。制約ライブラリ３１８は、設計の支配寸法およびパラメータを制御し、アセンブリ構成要素の配置を駆動し、オブジェクトを相互に関係付けるための機能のライブラリを備え得る。例えば、プロジェクトが開始された時、または設計プロセス中に、あるプロジェクト制約をモデル化オブジェクトに提供することができる。これらの制約は、寸法制約、材料制約、重量制約、強度制約、または任意の他の種類の制約を含むことができる。制約ライブラリ３１８は、最終結果が所定の仕様内に適合することを確実にするために、設計プロセスを監視し、特徴がモデル化オブジェクトに追加される場合に特徴の配置および特性を誘導するために使用され得る。
【０１０９】
ＣＡＤアプリケーション３００はまた、モデリングライブラリ３１６と併せて稼働し得る再生命令のライブラリ３１７、および制約ライブラリ３１８を含み得る。再生命令３１６は、特徴の場所を特定するために制約ライブラリ３１８を利用し、次いで、モデリングライブラリ３１６の中で特定された特徴を構築し得る。
【０１１０】
ＣＡＤアプリケーション３００の幾何学形状エンジン３０２は、ライブラリ３１６−３１８の中のパラメトリック機能および命令を実行するためのエージェント、プログラム、ルーチン、論理、または他の実行可能機能を備え得る。幾何学形状エンジン３０２は、ハードウェア、ソフトウェア、またはハードウェアおよびソフトウェアの組み合わせを備え得る。例えば、一実施形態では、幾何学形状エンジン３０２は、ＣＡＤ機能および特徴を実行するための専用処理ユニットを備え得る。一実施形態では、幾何学形状エンジン３０２は、モデル３１０の幾何学形状または他の特徴を生成または再計算するためのアプリケーションプログラミングインターフェース（ＡＰＩ）として、モデリングライブラリ３１６を利用し得る。
【０１１１】
ＣＡＤアプリケーション３００は、表示エンジン３０４を含み得る。表示エンジン３０４は、３次元表面およびオブジェクトをレンダリングおよび出力または表示するためのエージェント、プログラム、ルーチン、論理、または他の実行可能機能を備え得る。いくつかの実施形態では、表示エンジン３０４は、光線追跡、走査線レンダリング、光線投影、影付け、テクスチャマッピングのための機能性、あるいは写実的または非写実的グラフィックスを生成するための他の機能を備え得る。
【０１１２】
いくつかの実施形態では、ＣＡＤアプリケーション３００は、パラメトリックモデリングＵＩ３０６および直接モデリングＵＩ３０８のいずれか一方または両方を含み得る。上記で論議されるように、パラメトリックモデリングユーザインターフェースは、特徴の履歴レシピ（ｈｉｓｔｏｒｉｃａｌ  ｒｅｃｉｐｅ）または命令セット、およびこれらの特徴の間の関係または従属性を示す。ユーザは、それらが作成する特徴を認識し、再生および従属性は、ユーザに明確かつ明白にされる。対照的に、直接モデリングユーザインターフェースは、履歴、レシピ、または特徴を表示しない。
【０１１３】
上記で論議されるように、いくつかの実施形態では、ユーザは、モデルの幾何学形状と相互作用するために直接モデリングＵＩ３０８を使用し得、相互作用は、履歴ベースの幾何学形状エンジン３０２によって特徴として解釈される。したがって、これらの実施形態では、単一の幾何学形状エンジンが、パラメトリックモデリングＵＩおよび直接モデリングＵＩの両方に使用され得る。
【０１１４】
さらに、いくつかの実施形態では、上記で論議されるように、基礎的パラメトリック幾何学形状エンジンによって記録された履歴により、直接モデリングＵＩにおいて行われた変更が、個別変更基準でパラメトリックモデリングＵＩにおいて追跡され、取り消されることができ、これは、ユーザに直接モデリングＵＩおよびエンジンを通してモデルと相互作用させ、次いで、変更の全てをインポートして、パラメトリックエンジンにおいて一度に変換する他のシステムでは可能ではない場合がある。したがって、モデルが異なるユーザインターフェースの間を通過させられる際に、いずれのデータ忠実性も失うことなく、組織の中の異なるユーザが、直接またはパラメトリックといった、異なるパラダイムを使用することができる。
【０１１５】
ここで図３Ｂを参照すると、コンピュータ支援設計の方法の実施形態のフローチャートが示されている。概観すると、ステップ３２０で、ユーザが、ＣＡＤアプリケーションを使用して、ＣＡＤオブジェクトの特徴ベースの幾何学形状を作成し得る。ステップ３２２で、ユーザが、直接モデリングユーザインターフェース（ＵＩ）を用いてＣＡＤオブジェクトの幾何学形状を修正し得る。ステップ３２４で、ＣＡＤアプリケーションが、修正された幾何学形状を特徴ベースの幾何学形状として記憶し得る。
【０１１６】
依然として図３Ｂをさらに詳細に参照すると、いくつかの実施形態では、ステップ３２０で、ユーザが、ＣＡＤオブジェクトまたはモデルの特徴ベースの幾何学形状のレシピを作成するために、コンピュータデバイスのプロセッサによって実行されるＣＡＤアプリケーションを使用し得る。
【０１１７】
ステップ３２２で、いくつかの実施形態では、ユーザが、ＣＡＤオブジェクトまたはモデルの幾何学形状を修正するために、ＣＡＤアプリケーションの直接モデリングユーザインターフェースを使用し得る。いくつかの実施形態では、直接モデリングユーザインターフェースは、ＣＡＤオブジェクトまたはモデルの履歴および／またはパラメトリック特徴をユーザから隠す。したがって、一実施形態では、ユーザは、直接モデリングＵＩの中のＣＡＤオブジェクトまたはモデルの修正が、パラメトリックＣＡＤオブジェクトの作成および／または修正、および／または他のオブジェクト、要素、あるいは構成要素との従属性あるいは関係を生じ得ることを認識していない場合がある。
【０１１８】
ステップ３２４で、一実施形態では、ＣＡＤアプリケーションが、修正された幾何学形状を、ＣＡＤオブジェクトのパラメトリック特徴、またはパラメトリック特徴への修正として記憶し得る。いくつかの実施形態では、ＣＡＤアプリケーションは、修正された幾何学形状を、掃引、旋回、穴あけ、切断、押出し、または同様の特徴等の１つ以上の従来のパラメトリック特徴として記憶し得る。他の実施形態では、ＣＡＤアプリケーションは、修正された幾何学形状を、フレックス移動またはフレックス移動コピー特徴等の１つ以上の柔軟パラメトリック特徴として記憶し得る。なおも他の実施形態では、ＣＡＤアプリケーションは、修正された幾何学形状を、従来的および柔軟パラメトリック特徴の組み合わせとして記憶し得る。多くの実施形態では、ＣＡＤアプリケーションは、履歴またはツリー従属性表現等を通して、１つまたは複数の修正された幾何学形状特徴と１つ以上の既存の幾何学形状特徴との間の１つ以上の関係または従属性を記憶し得る。
【０１１９】
さらなる実施形態では、ＣＡＤアプリケーションは、修正されたオブジェクトへの従属性を有する他のオブジェクトの幾何学形状データを再生し得る。別のさらなる実施形態では、ＣＡＤアプリケーションは、再生された幾何学形状データをレンダリングまたは表示するように表示エンジンに指図し得る。
【０１２０】
図３Ｃには、コンピュータ支援設計の方法の別の実施形態のフローチャートが示されている。概観すると、ステップ３３０で、ユーザが、コンピュータデバイスのプロセッサによって実行されるＣＡＤアプリケーションの直接モデリングＵＩを使用して、ＣＡＤオブジェクトの第１の特徴を作成し得る。ステップ３３２で、ユーザが、直接モデリングＵＩを使用して、ＣＡＤオブジェクトの第２の従属特徴を作成し得る。ステップ３３４で、ユーザが、直接モデリングＵＩを使用して、ＣＡＤオブジェクトの第１の特徴を修正し得る。ステップ３３６で、ＣＡＤアプリケーションが、ＣＡＤアプリケーションの第２の特徴の幾何学形状を再計算し得る。
【０１２１】
依然として図３Ｃをさらに詳細に参照すると、ステップ３３０で、ユーザが、直接モデリングユーザインターフェースを使用して、ＣＡＤオブジェクトの第１の特徴を作成し得る。上記で論議されるように、多くの実施形態では、ユーザは、特徴を作成していることを認識していない場合がある。代わりに、基礎的パラメトリック幾何学形状エンジンが、直接モデリングＵＩの中のユーザのコマンドおよび幾何学形状の直接操作を、パラメトリック特徴の作成および修正として解釈し得る。
【０１２２】
ステップ３３２で、いくつかの実施形態では、ユーザが、直接モデリングユーザインターフェースを使用して、第１の特徴への従属性を有するＣＡＤオブジェクトの第２の特徴を作成し得る。多くの実施形態では、上記で論議されるように、ユーザは、特徴を作成していること、および第１の特徴への従属関係を有する特徴を作成していることの両方を認識していない場合がある。
【０１２３】
ステップ３３４で、いくつかの実施形態では、ユーザが、直接モデリングユーザインターフェースを使用して、ＣＡＤオブジェクトの第１の特徴を修正し得る。上記で論議されるように、多くの実施形態では、ユーザは、特徴を修正していることを認識していない場合がある。他の実施形態では、ユーザは、既存の第１の特徴を明確に修正することなく、または特徴がエンティティに関連付けられていることをユーザが認識することなく、直接モデリングユーザインターフェースを使用して、ＣＡＤオブジェクトの表面、縁、頂点、または他のエンティティを修正し得る。したがって、いくつかの実施形態では、ステップ３３４で、ユーザは、直接モデリングユーザインターフェースを使用して、第１の特徴の幾何学形状を修正し得る。
【０１２４】
ステップ３３６で、いくつかの実施形態では、ＣＡＤアプリケーションが、第２の特徴の幾何学形状を再計算または再生し得る。これは、ユーザの第１の特徴の修正に応答して行われ得る。さらなる実施形態では、ＣＡＤアプリケーションは、再生された幾何学的形状データをレンダリングまたは表示するように表示エンジンに指図し得る。
【０１２５】
図３Ｄを簡潔に参照すると、コンピュータ支援設計の方法のさらに別の実施形態のフローチャートが示されている。上記で論議されるように、この実施形態は、幾何学形状エンジンによって、直接モデリング編集を従来的および柔軟パラメトリック特徴にマップすることを説明する。概観すると、ステップ３４０で、ＣＡＤアプリケーションの直接モデリングユーザインターフェースのユーザが、ＣＡＤモデルに編集または修正を行う。ＣＡＤアプリケーションのパラメトリック幾何学形状エンジンは、編集または修正を従来のパラメトリック特徴にマップすることができるかどうかを決定する。もしそうであれば、ステップ３４２で、パラメトリック幾何学形状エンジンが、履歴ベースのパラメトリック特徴レシピにおけるパラメトリック特徴を作成または修正する。もしそうでなければ、ステップ３４４で、パラメトリック幾何学形状エンジンが、上記で論議されるように、フレックス移動またはフレックス移動コピー特徴等の柔軟パラメトリック特徴を作成または修正する。
【０１２６】
次いで、パラメトリック幾何学形状エンジンは、特徴に関連付けられるパターンまたは対称を認識することができるかどうかを決定する。一実施形態では、これは、ユーザによる直接モデリングユーザインターフェースにおける明示的パターンまたは対称作成コマンドを識別することを含み得る。別の実施形態では、これは、直接モデリングユーザインターフェースにおけるユーザによるコピーアンドペースト動作等の暗示的パターンまたは対称作成を識別することを含み得る。パラメトリック幾何学形状エンジンがパターンまたは対称性を認識することができる場合に、ステップ３４６で、パラメトリック幾何学形状エンジンが、パラメトリックモデルの柔軟パターンまたは柔軟対称特徴を作成または修正し得る。いくつかの実施形態では、ステップ３４０−３４６が繰り返され得る。
【０１２７】
さらなる実施形態では、パラメトリック幾何学形状エンジンは、ユーザの幾何学形状への編集に応答して、パラメトリック特徴のリストに従って、１つ以上の特徴を再計算または再生し得る。別のさらなる実施形態では、柔軟パターンまたは柔軟対称特徴に関連付けられるエンティティまたは特徴の直接モデリングユーザインターフェースにおけるユーザによる修正が、パラメトリック幾何学形状エンジンに、編集をパターンまたは対称特徴の対応するエンティティまたは特徴へ伝搬させ得る。いくつかの実施形態では、ユーザが直接モデリングユーザインターフェースにおいて作成した最新の特徴のみが再計算または再生され得る。直接モデリングＣＡＤは、典型的には、パラメトリック従属性、履歴、および関係の欠如によりユーザによって修正されていない特徴を再生しないので、複数の特徴が単一の動作に応じて再生される場合、ユーザにとって紛らわしくなり得る。他の実施形態では、特徴の種類または部類に応じて、追加の特徴が再計算または再生され得る。例えば、ある種類の特徴が、より再生しやすく、ユーザは、ある種類の特徴が再生されない場合に混乱する場合がある。したがって、１つのそのような実施形態では、これらの特徴は、たとえ他の特徴が再生されなくても、再生され得る。
【０１２８】
上記で論議されるように、直接モデルをパラメトリックモデリング環境にインポートして変換するＣＡＤシステムでは、典型的には、データ忠実性および製品情報の損失がある。同様に、パラメトリックモデルを直接モデリング環境にインポートする時に、典型的には、履歴、設計意図、ならびにオブジェクトおよびエンティティの間の従属性および関係を含む、パラメトリック特徴の損失がある。さらに、工学的および幾何学的制約が、典型的には失われる。例えば、一方を回転させることにより、それに従って幾何学形状エンジンに他方を再計算および回転させるように、第１の表面が、第２の表面と平行であるようにパラメトリック環境内で制約され得る。別の実施例では、モデルは、穴を開けられる穴の周囲の材料の特定の厚さを要求すること、客室のロールバーが少なくともある直径になるよう要求すること、またはエンジン部品がオペレータ位置から最小距離にあるよう要求すること等の材料選択または安全性理由のための工学的制約を含み得る。これらの制約が直接モデリング環境への変換中に失われた場合、ユーザは、安全規則に違反する方法で部品を容易に移動させることができ、後に再設計するためのより高い製造経費をもたらす。加えて、次いで、モデルがパラメトリックモデリング環境に戻された場合、制約が最初の変換中に失われたため、再び現れない場合がある。結果として、インポートされたモデルのパラメトリック特徴が、他のパラメトリックモデルが含み得る工学的制約を示さないため、パラメトリックモデリング環境のユーザは、そのような制約が存在しないと考え得る。
【０１２９】
パラメトリックモデリングおよび直接モデリングの両方の全体を通して、パラメトリックモデリングパラダイムに留まることによって、本発明の一実施形態では、特徴の制約が直接モデリング中に保持され得る。一実施形態では、幾何学形状エンジンは、直接モデリングユーザインターフェースにおける特徴に対して試される編集を既存の制約と比較し、ユーザが編集を完了することを防止し得る。他の実施形態では、幾何学形状エンジンは、ダイアログボックスをユーザに提示し、ユーザが、編集を拒絶すること、制約を無効にすることまたは削除すること、制約を修正すること、あるいは他の適切な措置を講じることを可能にし得る。なおも他の実施形態では、幾何学形状エンジンは、別のユーザではなく、１人のユーザが特徴を編集することを可能にし得る。これは、直接モデリングユーザインターフェースにおいて表面および特徴の所有権またはユーザベースの許可を可能にする。例えば、１つのそのような実施形態では、主導設計者が、構造フレームまたはパワートレイン等の主導設計者のみが編集できる、基本の一式の特徴を作成し、次いで、二次設計者が、座席、窓、電気サブシステム、または他の要素等の追加のオプションの特徴を追加、削除、および修正し得る。いくつかの実施形態では、これらの方法で制御される特徴は、読み出し専用表面または特徴、あるいは制約ロック特徴と呼ばれ得る。
【０１３０】
ここで図３Ｅを参照すると、コンピュータ支援設計における制約ロックの方法の実施形態のフローチャートが示されている。概観すると、ステップ３５０で、ユーザが、ＣＡＤアプリケーションのパラメトリックモデリングユーザインターフェースにおいて特徴制約を作成し得る。一実施形態では、特徴制約は、別の特徴に対する特定配向または別の特徴からの距離等の幾何学的制約、または他の同様の制約を含み得る。別の実施形態では、特徴は、材料の種類、強度要件、許容最大重量、または他の同様の制約等の工学的制約を含み得る。
【０１３１】
ステップ３５２で、いくつかの実施形態では、ユーザが、ＣＡＤアプリケーションの直接モデリングユーザインターフェースにおいて特徴を編集しようとし得る。上記で論議されるように、特徴を編集しようとすることは、押す、引く、移動させる、回転させる、または他の操作等の直接操作を特徴に行うことを含み得、または材料、塗料、表面、あるいは特徴の他の製造側面等の特徴の製品情報を編集することを含み得る。
【０１３２】
ステップ３５４で、いくつかの実施形態では、パラメトリック幾何学形状エンジンが、特徴を編集するユーザの試行に応答して、直接モデリングユーザインターフェースにおいて特徴制約を守らせ得る。上記で論議されるように、特徴制約を守らせることは、編集を拒絶または防止すること、ダイアログをユーザに提示すること、ユーザが制約を無効にすることまたは修正することを可能にすること、ユーザまたはグループ所有権による許可ベースの編集を守らせること、あるいは他の遵守機構を含み得る。
【０１３３】
（Ｃ．ビジネス主導型アセンブリを作成するためのシステムおよび方法）
ＣＡＤシステムのいくつかの用途では、完成した設計が、設計された製品の多くのコピーを製造するために使用され得る。例えば、消費者自動車会社が、車の新しいモデルの設計を作成し、次いで、１日に数百台を超える車を作成するためにアセンブリラインを使用し得る。しかしながら、他のユーザでは、設計が１回または２回だけ使用され得る。例えば、一般的にけん引車、原動機、トラック、または大型トラックと呼ばれる、商用セミトレーラ用の大型けん引エンジンは、頻繁に、製造前に大きくカスタマイズされる。１人の顧客は、拡張キャブ、二重車軸、５段変速のマニュアルトランスミッションモデルを要求する場合があり、別の顧客は、通常キャブ、三重車軸、４段変速のオートマチックトランスミッションモデルを要求する場合がある。タイヤトレッド深さから窓の配置、サイズ、および数、ランニングライトの数まで、ありとあらゆるものが特定され得、潜在的に何千もの異なるモデルを作成する。これにより、典型的には、販売されているありとあらゆるトラックの新しいＣＡＤモデルを設計者が修正または作成しなければならなくなり、製品の納品の遅延をもたらす。
【０１３４】
したがって、本発明の一側面は、ビジネス主導型アセンブリと呼ばれることもある、動的に構成可能な製品設計の作成のための方法およびシステムを含む。そのような製品設計は、部品表（ＢＯＭ）、あるいは顧客、販売員、またはベンダによるオプションの選択による主導型と呼ばれ得、製品ライフサイクル管理（ＰＬＭ）計画に応答して行われ得る。システムは、顧客が製品の仕様を定義することを可能にし、次いで、定義された仕様または選択されたオプションに応答して、ＣＡＤモデルを動的に生成する。
【０１３５】
図４Ａには、ビジネス主導型アセンブリの作成のためのシステムの実施形態のブロック図が示されている。概観すると、上記で論議されるように、コンピュータデバイス１００は、ＣＡＤアプリケーション３００を実行し、１つ以上のモデル３１０を含む記憶装置１２８を含むか、またはそれと通信する。各オブジェクト３１２および／またはサブオブジェクト３１２’は、１つ以上のバリアント４０６を含み得る。いくつかの実施形態では、コンピュータデバイス１００はまた、製品ライフサイクル管理（ＰＬＭ）アプリケーション４００を実行する、別のコンピュータデバイスを実行し、またはそれと通信し得る。ＰＬＭアプリケーション４００は、いくつかの実施形態では、部品データベース４０２および／または部品選択エンジン４０４を備え得る。
【０１３６】
依然として図４Ａをさらに詳細に参照すると、一実施形態では、コンピュータデバイスは、ＰＬＭアプリケーション４００を含むか、または実行する。コンピュータデバイス１００上に示されているが、多くの実施形態では、ＰＬＭアプリケーション４００は、コンピュータデバイス１００と通信するか、またはそれにデータを伝える、第２のコンピュータデバイス上で実行する。ＰＬＭアプリケーション４００は、１つ以上の所定のオプションまたはバリアントの選択を通して製品を構成するためのアプリケーション、プログラム、ルーチン、ウェブサービス、アプレット、または他の実行可能命令を備え得る。多くの実施形態では、ＰＬＭアプリケーション４００はまた、部品データベース４０２またはその一部分を提示し、顧客、販売員、または他のユーザが製品に対する１つ以上のオプションを選択することを可能にするためのユーザインターフェースも備えている。
【０１３７】
部品データベース４０２は、１つ以上の部品のデータベース、ファイル、ライブラリ、または他のセットを備え得、部品の１つ以上の特徴の識別を含み得る。例えば、部品データベースは、説明、費用、重量、必要とされる材料または副部品、部品番号、あるいは顧客、販売員、または製造業者に有用な他の情報を含み得る。部品データベース４０２は、部品選択エンジン４０４および／またはユーザインターフェースとともに、顧客が製品設計に対するオプションを構成し、該選択されたオプションをＣＡＤアプリケーション３００のパラメトリック幾何学形状エンジン３０２に伝達することを可能にするために使用され得る。
【０１３８】
上記で論議されるように、いくつかの実施形態では、オブジェクト３１２および／またはサブオブジェクト３１２’は、１つ以上のバリアントオブジェクト４０６を備え得る。一実施形態では、バリアント４０６は、モデルまたは製品設計で使用される代替アセンブリを備え得る。別の実施形態では、バリアント４０６は、ユーザによる選択がない場合に使用されるデフォルトバリアントを含み得る。なおも別の実施形態では、バリアント４０６は、ユーザが、まだ作成されていないカスタムオプションを適用することを希望する場合に、カスタム特徴の以降の生成のためにモデルで代替物として使用され得る、一般形状と呼ばれることもある、一般的バリアントを含み得る。例えば、一実施形態では、ユーザは、サイズ、幅、ならびにトレッドの種類および深さの変動を含む、トラックタイヤに対するオプションの所定のリストから選択し得るか、またはタイヤが後に選択されるまでモデルの中に配置される、おそらく単にトーラスである、一般的タイヤ形状を選択し得る。
【０１３９】
一実施形態では、バリアント４０６は、１つ以上の隣接オブジェクトの幾何学形状、形状、または位置付けに修正を行うようにパラメトリック幾何学形状エンジンをトリガする、１つ以上のインターフェースまたは「ハンドル」を備え得る。これらのハンドルまたはインターフェースは、時にはシェイパまたはロケータと呼ばれ得る。一実施形態では、ロケータハンドルまたはインターフェースは、隣接オブジェクトの位置付けに使用される制約または接合ベースのインターフェースを備え得る。例えば、車両ドアオブジェクトは、電気ケーブルの異なるルーティングを必要とし得る、パワードアまたはウィンドウ等の異なるオプションを含み得る。これらのケーブルを収容するために、異なるバリアントが、異なる重心を有し、または異なる取付オプションを必要とし、したがって、異なるヒンジ位置を必要とし得る。したがって、各バリアントは、車両フレーム上の１つ以上のヒンジ要素に対応する、ドアヒンジ用の１つ以上のロケータインターフェースを含み得る。幾何学形状エンジンは、ドアヒンジおよびフレームヒンジに合致するフレームおよび／またはドアの位置付けを自動的に調整し得る。
【０１４０】
同様に、一実施形態では、シェイパハンドルまたはインターフェースは、パラメトリック幾何学形状エンジンに、隣接オブジェクトの幾何学形状を調整させ得る。例えば、エンジンの異なるバリアントは、異なる位置に排気口または冷却剤取り入れ口を有し得る。排気口におけるシェイパインターフェースは、例えば、排気システムのフロントパイプ上のシェイパインターフェースに対応し得る。シェイパインターフェースの相対的位置に応答して、幾何学形状エンジンは、排気口の位置および配向に合致するように、排気システムのフロントパイプを自動的に延長させ、押出し、回転させ、拡大または縮小し、あるいは別様に操作し得る。同様に、シェイパインターフェースは、幾何学形状エンジンにケーブルを自動的に延長させて、隣接モジュールのコネクタと接触するようにケーブルを送らせるために、電気サブシステムで使用され得る。したがって、顧客による製品設計に対するオプションの選択は、システムに、必要に応じて設計を自動的に配置および再構成させ、人間の設計者が各モデルを手動で編集する必要性を低減し得る。
【０１４１】
ここで図４Ｂを参照すると、ビジネス主導型アセンブリの実施例のモジュール構造３１０の樹形図、および対応する３次元モデル３１５が示されている。概観すると、モジュール構造３１０は、オブジェクト３１２、サブオブジェクト３１２’、サブサブオブジェクト３１２’’、または上記で論議されるような他のレベルのオブジェクトのパラメトリック特徴ベースのレシピを備え得る。モデルの連合リンクおよび従属性は、樹形図において構造３１０の中の分岐として示されている。示される実施例では、芝刈り機フレーム３１２ａが、芝刈り機に対する基礎オブジェクトであり、芝刈り機のデッキ３１２’ａ、エンジン３１２’ｂ、およびオペレータコンパートメント３１２’ｃといった、３つの子を有する。エンジン３１２’ｂは、油圧トランスミッション３１２’’ａおよび機械トランスミッション３１２’’ｂといった、２つのオブジェクトを有する。同様に、オペレータコンパートメント３１２’ｃは、座席３１２’’ｃおよび転覆保護３１２’’ｄといった、２つの子オブジェクトを有する。これらの構成要素オブジェクトのうちのいくつかは、明確にするために含まれる、３次元モデル３１５において可視的である。当業者であれば容易に理解し得るように、多くの実施形態では、特徴ベースのレシピは、３Ｄモデルの画像を含まないが、むしろ３Ｄモデルは、ＣＡＤアプリケーションの表示エンジンによって生成される。モジュール構造では、製品構成のためにユーザが選択するために、３つの構成要素のバリアントが存在することを表すために、これらの構成要素は点線で輪郭を描かれる。いくつかの実施形態では、アプリケーションが、バリアント部品を選択するために示されるもの等の樹形図をユーザに提示し得る一方で、他の実施形態では、構成オプションは、ウェブサイトの構成ページ、またはチェックボックスを伴う印刷された用紙等の代替方式で提示され得る。そのようなものとして、図４Ｂの樹形図は、オブジェクトの従属性を示すように、主に抽象化として提供されているが、多くの実施形態では、樹形図はまた、ユーザインターフェースの一部を備え得る。
【０１４２】
ここで図４Ｃを参照すると、ビジネス主導型アセンブリの実施例での可変モジュールの複数のバリアントの実施形態の樹形図が示されている。示される実施例では、図４Ｂで提示される構成可能なモジュールのうちの１つである、座席３１２’’ｃは、概してバリアント４０６と呼ばれる、４つのバリアント４０６ａ−４０６ｄを備えている。各バリアント４０６は、１つ以上の幾何学的エンティティおよび特徴を備え、システムのユーザによって事前設計または構成され得る。バリアント４０６ａに示されるように、いくつかの実施形態では、バリアントは、オブジェクトを表す、モデルで代替物として使用され得る一般形状を備え得る。上記で論議されるように、各バリアントは、１つ以上のロケータおよび／またはシェイパインターフェースを含み得る。例えば、示される実施例では、各座席４０６ｂ−４０６ｄは、同様の取付アセンブリ４０８を含む。簡潔に図４Ｂを再び参照すると、オペレータコンパートメント３１２’ｃおよび／またはフレーム３１２ａの一部分に接続する、取付アセンブリを見ることができる。したがって、いくつかの実施形態では、各座席４０６ａ−ｄは、パラメトリック幾何学形状エンジンが、オペレータコンパートメント３１２’ｃおよび／またはフレーム３１２ａ上の対応するインターフェースに対して、モデルの中で適正に座席を自動的に配向することを可能にするように、ロケータインターフェースを含み得る。別の実施形態では、各座席４０６ａ−ｄは、必要に応じてオペレータコンパートメント３１２’ｃおよび／またはフレーム３１２ａの取付ハードウェアを再配置するように、シェイパインターフェースを含み得る。同様に、ロケータおよびシェイパインターフェースは、転覆保護３１２’’ｄ、ならびに操縦および制御要素、衝撃吸収材、またはモデルの任意の他の特徴の位置を調整するために使用され得る。
【０１４３】
ここで図４Ｄを参照すると、ビジネス主導型アセンブリの作成の方法の実施形態のフローチャートが示されている。概観すると、一実施形態では、ステップ４２０で、ユーザまたは設計者が、ＣＡＤアプリケーションを使用して、動的に構成可能な製品設計の複数のモジュールのモジュール構造を設計し得る。複数のモジュールは、複数のバリアントまたはデフォルトの少なくとも１つのバリアントを備えている、少なくとも１つの可変モジュールを備え得る。ステップ４２２で、ユーザが、動的に構成可能な製品設計で使用する少なくとも１つの可変モジュールのバリアントを選択し得る。ステップ４２４で、ＣＡＤアプリケーションまたはＣＡＤアプリケーションの幾何学形状エンジンが、動的に構成可能な製品設計の幾何モデルの中に選択されたバリアントを配置し得る。ステップ４２６で、ＣＡＤアプリケーションが、配置された選択されたバリアントの１つ以上の制約に応答して、幾何モデルの中の配置された選択されたバリアントに隣接するモジュールの位置付けまたは幾何学形状を修正し得る。
【０１４４】
依然として図４Ｄをさらに参照すると、ステップ４２０で、コンピュータ支援設計アプリケーションのユーザが、動的に構成可能な製品設計の複数のモジュールのモジュール構造を作成し得る。いくつかの実施形態では、複数のモジュールは、少なくとも１つの可変モジュールを備え得る。多くの実施形態では、モジュール構造は、１つ以上のオブジェクトおよび／または特徴の間の従属性が、モジュール構造を暗示的に作成し得る、履歴特徴ベースのパラメトリック構築レシピを備え得る。例えば、基礎オブジェクトおよび２つの従属オブジェクトを伴うパラメトリック履歴では、従属オブジェクトと基礎オブジェクトとの間の従属性は、モジュール構造と見なされ得る。いくつかの実施形態では、モジュールは、個々のオブジェクトまたは特徴を指し得るが、大抵の実施形態では、モジュールは、キーパッドまたはエンジン等の機能的モジュール、あるいは製品面板または車両フレーム等の構造的モジュール等の製品のサブアセンブリを備えている、一群のオブジェクトまたは特徴を指し得る。機能的または構造的モジュールと呼ばれるが、制限なく、他の分類のモジュールが使用され得る。
【０１４５】
いくつかの実施形態では、可変モジュールは、隣接モジュールへの共通接続とともに、複数の代替サブアセンブリを備え得る。一実施形態では、可変モジュールは、デフォルトサブアセンブリまたはバリアントを含み得る。別の実施形態では、可変モジュールは、基本的特徴のみを伴う一般的形状サブアセンブリを含み得る。一実施形態では、サブアセンブリの隣接モジュールへの共通接続は、モジュールの位置付けまたはモジュールの幾何学形状を修正するためにパラメトリック幾何学形状エンジンによって使用され得る、上記で論議されるようなロケータインターフェースまたはシェイパインターフェースを備え得る。
【０１４６】
ステップ４２２で、一実施形態では、ユーザが、動的に構成可能な製品設計で使用する可変モジュールのバリアントを選択し得る。上記で論議されるように、一実施形態では、ユーザは、ＰＤＭアプリケーションの選択インターフェースを使用し得る一方で、別の実施形態では、ユーザは、設計で使用するバリアントを選択するために、ウェブフォーム、注文書、カタログ、または任意の他の書式を使用し得る。
【０１４７】
ステップ４２４で、ＣＡＤアプリケーションまたはＣＡＤアプリケーションの幾何学形状エンジンが、動的に構成可能な製品設計の幾何モデルの中に選択されたバリアントを配置し得る。いくつかの実施形態では、幾何モデルの中に選択されたバリアントを配置することは、幾何学形状エンジンによって、幾何モデルの中でバリアントを構築するように、バリアントの特徴リストまたはレシピを実行することを含み得る。
【０１４８】
ステップ４２６で、いくつかの実施形態では、ＣＡＤアプリケーションまたは幾何学形状エンジンが、配置された選択されたバリアントの１つ以上の制約に応答して、バリアントの位置付けまたは幾何学形状、あるいは幾何モデルの中の配置された選択されたバリアントに隣接するモジュールの位置付けまたは幾何学形状を修正し得る。これらの１つ以上の制約は、上記で論議されるように、１つ以上のロケータまたはシェイパインターフェースによって識別され得る。一実施形態では、ＣＡＤアプリケーションまたは幾何学形状エンジンは、選択されたバリアントの１つ以上のロケータインターフェースを、１つ以上の隣接モジュールまたはオブジェクトの１つ以上のロケータインターフェースと整列させるように、選択されたバリアントを平行移動および／または回転させ得る。別の同様の実施形態では、ＣＡＤアプリケーションまたは幾何学形状エンジンは、１つ以上の隣接モジュールまたはオブジェクトの１つ以上のロケータインターフェースを、選択されたバリアントの１つ以上のロケータインターフェースと整列させるように、１つ以上の隣接モジュールまたはオブジェクトを平行移動および／または回転させ得る。別の実施形態では、ＣＡＤアプリケーションまたは幾何学形状エンジンは、選択されたバリアントを拡大縮小または伸張して、バリアントの１つ以上のシェイパインターフェースを、１つ以上の隣接モジュールまたはオブジェクトの１つ以上のシェイパインターフェースと整列させ得る。さらに別の実施形態では、ＣＡＤアプリケーションまたは幾何学形状エンジンは、バリアントの幾何学形状を拡張し、ねじり、または別様にルート（ｒｏｕｔｅ）し、バリアントの１つ以上のシェイパインターフェースを、隣接モジュールまたはオブジェクトの１つ以上のシェイパインターフェースと整列させ得る。同様の実施形態では、ＣＡＤアプリケーションまたは幾何学形状エンジンは、隣接モジュールまたはオブジェクトの幾何学形状を拡張し、ねじり、または別様にルートし、隣接モジュールまたはオブジェクトの１つ以上のシェイパインターフェースを、バリアントの１つ以上のシェイパインターフェースと整列させ得る。
【０１４９】
（Ｄ．要求に応じてコンピュータ支援設計モデルの複数部分を動的にロードするためのシステムおよび方法）
多くのＣＡＤシステムでは、システムは、ＣＡＤモデルの全ての部品または特徴を一度にロードし得る。例えば、上記で論議されるように、多くのＣＡＤシステムでは、幾何学形状エンジンが、表示またはレンダリングエンジンによる表示のためにＣＡＤモデルを構築するように、履歴ベースの特徴リストの各ステップを実行、再生、または再計算し得る。ほんのわずかだけの特徴を伴う単純なモデルでは、これを迅速に行うことができる。しかしながら、複雑なモデルは、それぞれ、数十または数百もの個々の特徴を備えている、数千または数万もの部品を含み得る。例えば、トラックのモデルは、フレーム、車軸、自在継手、パワートレインの要素、ブレーキアセンブリの要素、電気サブシステム、ライト、油圧、窓、座席、計器、排気システム、燃料経路等に対する別個の部品を備え得る。エンジン単独が、数百の部品および数千の特徴を備え得る。
【０１５０】
必要メモリおよび再生時間を削減するために、多くのＣＡＤ設計者は、ＣＡＤモデルを小区分に分けて、異なるモデルにおいて各小区分を設計し得る。例えば、ＣＡＤ設計者は、電気システムのみを含む単一のモデル、およびフレームの非可動部品のみを含む第２のモデル、およびエンジン燃料／排気システムのみを含む第３のモデル等を有し得る。しかしながら、これは、エンジン自体等の異なる小区分において修正を必要とする、フレームのエンジンマウント等の１つの小区分に修正が行われる、混乱および非効率、ならびに間違いにつながる場合がある。これらの部品が同じモデルの中にないため、設計者は、モデルが同期化されて互換性があることを確実にするように、複雑な手動記帳を行わなければならない。加えて、重量および重心等の特徴が、小区分の全ての組み合わせの結果となるため、モデルに工学および製造分析を行う能力が低減される。
【０１５１】
したがって、本発明の一側面は、要求に応じてコンピュータ支援設計モデルの複数部分を動的にロードするためのシステムおよび方法を特徴とする。一実施形態では、ＣＡＤアプリケーションは、特定の設計タスクのために、ユーザによる必要に応じて、ＣＡＤモデルの複数部分を漸進的にロードし得る。これは、必要メモリおよび処理の両方を削減し、ラップトップ、タブレットコンピュータ、スマートフォン、または任意の他のシステム等の限定されたリソースを伴うデバイス上での完成したＣＡＤモデルへのアクセスを伴って、ＣＡＤアプリケーションを実行する可能性を生成する。
【０１５２】
一例として、一実施形態では、ユーザは、１つ以上の新しい構成要素を組み立てるために、車両のモデルを読み出し得る。ＣＡＤアプリケーションは、表示するために、車両構造およびグラフィックをロードし得る。次いで、ユーザは、トランスミッションアセンブリ等の追加する新しい構成要素を選択し得る。ＣＡＤアプリケーションは、表示するためにトランスミッション構造およびグラフィックをロードし得る。ユーザが、トランスミッションに対する制約を定義する際に使用する車両構造の特定の幾何学形状を選択する時に、これらの選択された幾何学形状参照が、モデルの幾何学形状全体をロードすることなく、ＣＡＤアプリケーションによってロードされ得る。
【０１５３】
例えば、図５Ａには、トラックのコンピュータ支援設計モデル５００の実施例の３次元図が示されている。ＣＡＤアプリケーションは、一実施形態では、モデルとともに、または別個のファイルの中に記憶され得る、モデル５００のグラフィックスをロードし得る。別の実施形態では、グラフィックスは、動的であるが、モデル全体の幾何学形状をロードすることなく生成され得る。例えば、一実施形態では、モデルの以前の作成中に、ＣＡＤアプリケーションが、モデルのシェルまたは一式の外側可視表面を決定し、これらの表面の幾何学的表現を記憶し得る。このシェル表現は、下層にある隠れた表面または内面の幾何学形状をロードする必要なく、グラフィックスを動的に生成するために使用され得る。いくつかの実施形態では、ＣＡＤアプリケーションはまた、図４Ａ−４Ｄとの関連で論議されるように、モデルのモジュール構造をロードし得る。サブアセンブリの集合として図４Ｂに示されているが、多くの実施形態では、モジュール構造は、個々のオブジェクトまたは特徴の構造を備え得る。例えば、図４Ｂの場合のように座席を参照するよりもむしろ、モジュール構造は、それぞれ、他の幾何学的エンティティおよび部品との従属性および関係を伴う、座席の基礎部分、背もたれ、内部フレーミング、１つまたは２つの肘掛け、クッションまたは他の詰め物、種々の継ぎ目および縫い目等を含み得る。一実施形態では、ＣＡＤアプリケーションは、上記の実施例では座席と呼ばれる一群の要素等のモジュール構造の一部分をロードし得る。同様に、図５Ａに示される実施例では、ＣＡＤアプリケーションは、各サブアセンブリの個々の要素をロードすることなく、フレーム、キャブ、エンジンルーム、パワートレイン等を含む、トラックの全体モジュール構造をロードし得る。
【０１５４】
図５Ｂには、コンピュータ支援設計モデルの実施例のサブアセンブリの３次元図が示されており、一実施形態では、一例として、ユーザが、エンジンモデル５０２等のサブアセンブリを選択し得る。選択に応答して、ＣＡＤアプリケーションは、エンジンモデルのモジュール構造、ならびにエンジンのグラフィックスおよび幾何学形状をロードし得る。いくつかの実施形態では、グラフィックスデータは、エンジンの外部または可視要素のみのグラフィックデータを含み得、上記で論議されるように記憶または生成され得る。
【０１５５】
漸進的ローディングを通してモデルに「掘り下げる」というこのプロセスを続けると、図５Ｃには、コンピュータ支援設計モデルの実施例のサブアセンブリのサブアセンブリの３次元図が示されている。示されるように、一実施形態では、一例として、ユーザは、エンジンピストンモデル５０４等のエンジンのサブアセンブリを選択し得る。選択に応答して、ＣＡＤアプリケーションは、エンジンピストンモデルのモジュール構造、ならびにエンジンのグラフィックスおよび幾何学形状をロードし得る。いくつかの実施形態では、グラフィックスデータは、エンジンの外部または可視要素のみのグラフィックデータを含み得、上記で論議されるように記憶または生成され得る。
【０１５６】
いくつかの実施形態では、ユーザが、第２のオブジェクトへの制約または参照を含む、選択されたオブジェクトの幾何学形状を修正する時に、第２のオブジェクトの幾何学形状およびグラフィックスデータがロードされ得る。例えば、ユーザがエンジンピストンの直径を修正しようとし、直径が周辺シリンダに対する制約または関係を有する場合、ＣＡＤアプリケーションは、シリンダの幾何学形状をロードして制約を守らせ、必要に応じて特徴を再計算または再生し得る。したがって、ユーザは、低減した必要メモリおよび処理を用いて、高度に複雑なモデルの全ての特徴さえも操作し、編集する完全な能力を有する。
【０１５７】
図５Ｄでは、要求に応じてコンピュータ支援設計モデルの複数部分を動的にロードする方法の実施形態のフローチャートが示されている。概観すると、ステップ５１０で、ＣＡＤアプリケーションが、ＣＡＤモデルの第１の部分をロードし得る。一実施形態では、ＣＡＤモデルの第１の部分は、ＣＡＤモデルのモジュール構造を備え得る。さらなる実施形態では、モジュール構造は、ＣＡＤモデルの１つ以上のサブアセンブリまたはモジュールを備え得る。別の実施形態では、ＣＡＤモデルの第１の部分は、モジュール構造の第１の要素のグラフィックスおよび幾何学形状データを備え得る。さらなる実施形態では、モジュール構造の第１の要素は、モジュール構造のルート要素、アセンブリ、またはモジュールを備え得る。別のさらなる実施形態では、グラフィックスデータは、モジュール構造またはＣＡＤモデルのシェルあるいは１つまたは複数の表面を備え得る。
【０１５８】
ステップ５１２で、いくつかの実施形態では、ユーザが、モジュール構造の第２の要素を選択し得る。いくつかの実施形態では、第２の要素は、モジュール構造のサブアセンブリを備え得る。ユーザが、図５Ａ−５Ｃに示されるトラックのエンジンルームの中の構成要素に対する作業を終え、リアブレーキの中の構成要素に対して作業することを希望する場合等の、他の実施形態では、第２の要素は、モジュール構造の中に非直接関連要素またはサブアセンブリを備え得る。さらなる実施形態では、非直接関連要素のユーザによる選択は、ＣＡＤアプリケーションに、メモリから第１の要素のグラフィックスおよび幾何学形状データをアンロードさせ得る。
【０１５９】
ステップ５１４で、いくつかの実施形態では、ユーザによる第２の要素の選択に応答して、ＣＡＤアプリケーションが、ＣＡＤモデルの第２の部分であって、選択された第２の要素のモジュール構造を備えている、第２の部分をロードし得る。さらなる実施形態では、第２の要素のモジュール構造は、第２の要素の１つ以上のサブアセンブルまたはモジュールを備え得る。別の実施形態では、ＣＡＤモデルの第２の部分は、選択された第２の要素のグラフィックスおよび幾何学形状データを備え得る。さらなる実施形態では、グラフィックスデータは、選択された第２の要素のシェルあるいは１つまたは複数の表面を備え得る。
【０１６０】
いくつかの実施形態では、ステップ５１２−５１４または５１０−５１４が繰り返され得る。一実施形態では、ユーザが、第１の要素または第２の要素の幾何学形状データの制約を定義するために、モジュール構造の第３の要素の幾何学形状データの１つ以上の項目を選択し得、ＣＡＤアプリケーションが、選択に応答して、第３の要素の幾何学形状データの選択された１つ以上の項目をロードし得る。いくつかの実施形態では、第３の要素のグラフィックスおよび幾何学形状をロードすることは、第３の要素の幾何学形状データの未選択項目をロードしないことを含み得る。例えば、上記で論議されるピストンおよびシリンダ例では、ＣＡＤアプリケーションは、ユーザがピストンの直径を編集しようとする時に、シリンダの直径をロードし得るが、必要でなければ、シリンダの深さまたは他の特徴をロードしなくてもよい。さらに、上記で論議されるように、多くの実施形態では、モデルの非直接関連要素を選択することにより、メモリを解放するように、ＣＡＤアプリケーションにモデルの初期にロードされた部分をアンロードさせ得る。
【０１６１】
いくつかの実施形態では、要素のグラフィックスおよび幾何学形状をロードすることは、要素の１つ以上のロケーションインターフェースまたはシェイパインターフェースをロードすることを含み得る。一実施形態では、要素のグラフィックスおよび幾何学形状データをロードすることは、要素の１つ以上の可視または外部表面を識別し、要素の識別された可視または外部表面のグラフィックスおよび幾何学形状データをロードし得る。ユーザが要素をモデルに追加している場合等の一実施形態では、要素を選択することは、要素を以前の要素のモジュール構造に追加することを含み得る。
【０１６２】
（結論）
上記で論議されるシステムは、これらの構成要素のうちのいずれかまたはそれぞれの複数を提供し得、これらの構成要素は、独立型マシン上で、またはいくつかの実施形態では、分散型システム内の複数のマシン上で提供され得ることを理解されたい。上記で説明されるシステムおよび方法は、ソフトウェア、ファームウェア、ハードウェア、またはそれらの任意の組み合わせを生産するためにプログラミングおよび／または工学技術を使用して、方法、装置、または製造品として実装され得る。加えて、上記で説明されるシステムおよび方法は、１つ以上の製造品の上または中で具現化される、１つ以上のコンピュータ可読プログラムとして提供され得る。本明細書で使用されるような「製造品」という用語は、１つ以上のコンピュータ可読デバイス、ファームウェア、プログラマブル論理、メモリデバイス（例えば、ＥＥＰＲＯＭ、ＲＯＭ、ＰＲＯＭ、ＲＡＭ、ＳＲＡＭ等）、ハードウェア（例えば、集積回路チップ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）等）、電子デバイス、コンピュータ可読不揮発性記憶ユニット（例えば、ＣＤ−ＲＯＭ、フロッピー（登録商標）ディスク、ハードディスクドライブ等）からアクセス可能であるか、またはそれらに組み込まれる、コードまたは論理を包含することを目的としている。製造品は、ネットワーク伝送線、無線伝送媒体、空間を通って伝搬する信号、電波、赤外線信号等を介して、コンピュータ可読プログラムへのアクセスを提供する、ファイルサーバからアクセス可能であり得る。製造品は、フラッシュメモリカードまたは磁気テープであり得る。製造品は、ハードウェア論理、あるいはプロセッサによって実行されるコンピュータ可読媒体に埋め込まれたソフトウェアまたはプログラマブルコードを含む。一般的に、コンピュータ可読媒体は、ＬＩＳＰ、ＰＥＲＬ、Ｃ、Ｃ＋＋、Ｃ＃、ＰＲＯＬＯＧ等の任意のプログラミング言語で、またはＪＡＶＡ（登録商標）等の任意のバイトコード言語で実装され得る。ソフトウェアプログラムは、オブジェクトコードとして、１つ以上の製造品の上または中に記憶され得る。
【０１６３】
方法およびシステムのある実施形態を説明してきたが、本発明の概念を組み込む他の実施形態が使用され得ることが、当業者に明白となるであろう。
【図１Ａ】
0006000267.tif 000002
【図１Ｂ】
0006000267.tif 000003
【図１Ｃ】
0006000267.tif 000004
【図１Ｄ】
0006000267.tif 000005
【図１Ｅ】
0006000267.tif 000006
【図２Ａ】
0006000267.tif 000007
【図２Ｂ】
0006000267.tif 000008
【図３Ａ】
0006000267.tif 000009
【図３Ｂ】
0006000267.tif 000010
【図３Ｃ】
0006000267.tif 000011
【図３Ｄ】
0006000267.tif 000012
【図３Ｅ】
0006000267.tif 000013
【図４Ａ】
0006000267.tif 000014
【図４Ｂ】
0006000267.tif 000015
【図４Ｃ】
0006000267.tif 000016
【図４Ｄ】
0006000267.tif 000017
【図５Ａ】
0006000267.tif 000018
【図５Ｂ】
0006000267.tif 000019
【図５Ｃ】
0006000267.tif 000020
【図５Ｄ】
0006000267.tif 000021