(57)【要約】  ＣＡＤシステム、方法およびコンピュータ読み取り可能媒体。本方法には、グラフィックモデルと対称拘束の選択を受け取るステップが含まれる。方法は、グラフィックモデルの第１の曲線および第２の曲線の選択を受け取るステップを含み、この際、該選択により第１の曲線および第２の曲線上の各ポイントが指定される。本方法は、ユーザの意図を決定するステップと、ユーザの意図に従って、第１の曲線と第２の曲線との間に対称拘束を適用するステップとを含む。本方法は、グラフィックモデルを記憶し、表示するステップを含む。
2013527517.tif 000002
【特許請求の範囲】
【請求項１】
ＣＡＤシステムにおけるグラフィックモデルの拘束方法であって、
ＣＡＤシステムがグラフィックモデルを受け取るステップと、
前記ＣＡＤシステムが対称拘束の選択を受け取るステップと、
前記ＣＡＤシステムが前記グラフィックモデルの第１の曲線の選択を受け取るステップと、この際、該選択により前記第１の曲線上の１つのポイントが指定され、
前記ＣＡＤシステムが前記グラフィックモデルの第２の曲線の選択を受け取るステップと、この際、該選択により前記第２の曲線上の１つのポイントが指定され、
前記ＣＡＤシステムがユーザの意図を決定するステップと、
前記ＣＡＤシステムが前記ユーザの意図に従って、前記第１の曲線と前記第２の曲線との間に対称拘束を適用するステップと、
前記ＣＡＤシステムが、グラフィックモデルを記憶し、表示するステップと、
を含む、ことを特徴とする方法。
【請求項２】
前記ユーザの意図を決定するステップでは、前記第１の曲線上の指定されたポイントに最も近い前記第１の曲線のエンドポイントを前記第１の曲線の第１のバーテックスとして定め、かつ、前記第２の曲線上の指定されたポイントに最も近い前記第２の曲線のエンドポイントを前記第２の曲線の第１のバーテックスとして定めるステップを含む、請求項１記載の方法。
【請求項３】
前記第１の曲線と前記第２の曲線との間に対称拘束を適用するステップは、前記第１の曲線の第１のバーテックスと前記第２の曲線の第１のバーテックスとの間に対称拘束を適用するステップを含む、請求項２記載の方法。
【請求項４】
前記ユーザの意図を決定するステップは、前記第１の曲線上の指定されたポイントから最も遠い前記第１の曲線のエンドポイントを前記第１の曲線の第２のバーテックスとして定め、かつ、前記第２の曲線上の指定されたポイントから最も遠い前記第２の曲線のエンドポイントを前記第２の曲線の第２のバーテックスとして定めるステップを含む、請求項１記載の方法。
【請求項５】
前記第１の曲線と前記第２の曲線との間に対称拘束を適用するステップは、前記第１の曲線の第２のバーテックスと前記第２の曲線の第２のバーテックスとの間に対称拘束を適用するステップを含む、請求項４記載の方法。
【請求項６】
前記ユーザの意図を決定するステップは、前記第１の曲線上の指定されたポイントに最も近い第１の曲線のエンドポイントが、前記第２の曲線上の指定されたポイントに最も近い第２の曲線のエンドポイントに対して対称であるべきことを決定するステップを含む、請求項１記載の方法。
【請求項７】
前記第１の曲線と前記第２の曲線との間に対称拘束を適用するステップは、前記第１の曲線と前記第２の曲線との間の中間ラインを決定するステップを含む、請求項１記載の方法。
【請求項８】
プロセッサとアクセス可能メモリとを有するＣＡＤシステムであって、該ＣＡＤシステムは、
グラフィックモデルを受け取るステップと、
対称拘束の選択を受け取るステップと、
前記グラフィックモデルの第１の曲線の選択を受け取るステップと、この際、該選択により前記第１の曲線の１つのポイントが指定され、
前記グラフィックモデルの第２の曲線の選択を受け取るステップと、この際、該選択により前記第２の曲線の１つのポイントが指定され、
ユーザの意図を決定するステップと、
前記ユーザの意図に従って、前記第１の曲線と前記第２の曲線との間に対称拘束を適用するステップと、
グラフィックモデルを記憶し、表示するステップと、
を実行するよう特に構成されている、ことを特徴とするＣＡＤシステムシステム。
【請求項９】
前記ユーザの意図を決定するステップは、前記第１の曲線上の指定されたポイントに最も近い前記第１の曲線のエンドポイントを前記第１の曲線の第１のバーテックスとして定め、かつ、前記第２の曲線上の指定されたポイントに最も近い前記第２の曲線のエンドポイントを前記第２の曲線の第１のバーテックスとして定めるステップを含む、請求項８記載のＣＡＤシステム。
【請求項１０】
前記第１の曲線と前記第２の曲線との間に対称拘束を適用するステップは、前記第１の曲線の第１のバーテックスと前記第２の曲線の第１のバーテックスとの間に対称拘束を適用するステップを含む、請求項９記載のＣＡＤシステム。
【請求項１１】
前記ユーザの意図を決定するステップは、前記第１の曲線上の指定されたポイントから最も遠い前記第１の曲線のエンドポイントを前記第１の曲線の第２のバーテックスとして定め、かつ、前記第２の曲線上の指定されたポイントから最も遠い前記第２の曲線のエンドポイントを前記第２の曲線の第２のバーテックスとして定めるステップを含む、請求項８記載のＣＡＤシステム。
【請求項１２】
前記第１の曲線と前記第２の曲線との間に対称拘束を適用するステップは、前記第１の曲線の第２のバーテックスと前記第２の曲線の第２のバーテックスとの間に対称拘束を適用するステップを含む、請求項１１記載のＣＡＤシステム。
【請求項１３】
前記ユーザの意図を決定するステップは、前記第１の曲線上の指定されたポイントに最も近い前記第１の曲線のエンドポイントが、前記第２の曲線上の指定されたポイントに最も近い第２の曲線のエンドポイントに対して対称であるべきことを決定するステップを含む、請求項８記載のＣＡＤシステム。
【請求項１４】
前記第１の曲線と前記第２の曲線との間に対称拘束を適用するステップは、前記第１の曲線と前記第２の曲線との間の中間ラインを決定するステップを含む、請求項８記載のＣＡＤシステム。
【請求項１５】
コンピュータが実行可能な命令がコードされたコンピュータ読み取り可能記録媒体であって、実行時にＣＡＤデータ処理システムに、
グラフィックモデルを受け取るステップと、
対称拘束の選択を受け取るステップと、
前記グラフィックモデルの第１の曲線の選択を受け取るステップと、この際、該選択により前記第１の曲線上の１つのポイントが指定され、
前記グラフィックモデルの第２の曲線の選択を受け取るステップと、この際、該選択により前記第２の曲線上の１つのポイントが指定され、
ユーザの意図を決定するステップと、
前記ユーザの意図に従って、前記第１の曲線と前記第２の曲線との間に対称拘束を適用するステップと、
グラフィックモデルを記憶し、表示するステップと、
を実行させる、ことを特徴とするコンピュータ読み取り可能記録媒体。
【請求項１６】
前記ユーザの意図を決定するステップは、前記第１の曲線上の指定されたポイントに最も近い前記第１の曲線のエンドポイントを前記第１の曲線の第１のバーテックスとして定め、かつ、前記第２の曲線上の指定されたポイントに最も近い前記第２の曲線のエンドポイントを前記第２の曲線の第１のバーテックスとして定めるステップを含む、請求項１５記載のコンピュータ読み取り可能記録媒体。
【請求項１７】
前記第１の曲線と前記第２の曲線との間に対称拘束を適用するステップは、前記第１の曲線の第１のバーテックスと前記第２の曲線の第１のバーテックスとの間に対称拘束を適用するステップを含む、請求項１６記載のコンピュータ読み取り可能記録媒体。
【請求項１８】
前記ユーザの意図を決定するステップは、前記第１の曲線上の指定されたポイントから最も遠い前記第１の曲線のエンドポイントを前記第１の曲線の第２のバーテックスとして定め、かつ、前記第２の曲線上の指定されたポイントから最も遠い前記第２の曲線のエンドポイントを前記第２の曲線の第２のバーテックスとして定めるステップを含む、請求項１５記載のコンピュータ読み取り可能記録媒体。
【請求項１９】
前記第１の曲線と前記第２の曲線との間に対称拘束を適用するステップは、前記第１の曲線の第２のバーテックスと前記第２の曲線の第２のバーテックスとの間に対称拘束を適用するステップを含む、請求項１８記載のコンピュータ読み取り可能記録媒体。
【請求項２０】
前記ユーザの意図を決定するステップは、前記第１の曲線上の指定されたポイントに最も近い前記第１の曲線のエンドポイントが前記第２の曲線上の指定されたポイントに最も近い第２の曲線のエンドポイントに対して対称であるべきことを決定するステップを含む、請求項１５記載のコンピュータ読み取り可能記録媒体。
【請求項２１】
前記第１の曲線と前記第２の曲線との間に対称拘束を適用するステップは、前記第１の曲線と前記第２の曲線との間の中間ラインを決定するステップを含む、請求項１５記載のコンピュータ読み取り可能記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して、コンピュータ支援設計、製造、エンジニアリング、モデリングおよびビジュアル化（個別にまたは総じて、「ＣＡＤ」および「ＣＡＤシステム」）における使用ならびにプロダクトライフサイクルマネジメント（「ＰＬＭ」）および他のシステムにおける使用のためのシステムおよび方法に関する。
【背景技術】
【０００２】
多くの工業製品はまずＣＡＤシステムにおいて設計、モデリングされ、ＰＬＭシステムは、メーカー、小売業者、消費者および他のユーザによって、様々な製品の設計、使用および廃棄を管理するために用いられる。改善されたシステムが望ましい。
【０００３】
種々の実施形態には、ＣＡＤシステム、方法およびコンピュータ読み取り可能媒体が含まれる。方法には、グラフィックモデルと対称拘束の選択を受け取るステップが含まれる。本方法は、グラフィックモデルの第１の曲線および第２の曲線の選択を受け取るステップを含み、この際、該選択により第１の曲線および第２の曲線上の各ポイントが指定される。本方法は、ユーザの意図を決定するステップと、ユーザの意図に従って、第１の曲線と第２の曲線との間に対称拘束を適用するステップとを含む。本方法は、グラフィックモデルを記憶し、表示するステップを含む。
【０００４】
上記は、当業者が以下の詳細な説明をより良く理解できるように本発明の特徴および技術的な利点をかなり大雑把に述べたものである。特許請求の範囲の対象を成す本発明の付加的な特徴及び利点を以下において説明する。当業者であれば、本発明の変更又は本発明と同一の目的を達成するための構造を設計するための基礎として、開示された着想及び特定の実施の形態を容易に使用することができるであろう。また、当業者であれば、そのような等価物はその最も広い形態においても、本発明の精神及び範囲から逸脱するものではないことが分かるであろう。
【０００５】
以下の詳細な説明の前に、本明細書にわたり使用される幾つかの用語又は語句の定義を明確にすることは有利であると思われる。「含む」及び「有する」という語、またそれらから派生した語は限定的でない包含を意味する。「又は」という語は包含的な語であり、すなわち「及び／又は」を意味する。「関連した」及び「それと関連した」ならびにそれらから派生した語は「含む」、「中に含まれる」、「相互に接続されている」、「有する」、「中に有する」、「〜に、又は〜と接続する」、「〜に、又は〜と結合する」、「〜と通信可能である」、「〜と協働する」、「交互配置する」、「近接して並置する」、「〜に近接している」、「〜に、又は〜と結び付けられている」、「持つ」、「〜の性質を有する」等を意味する。また「コントローラ」という語は、ハードウェア、ファームウェア、ソフトウェア、又はそれらのうちの少なくとも２つの組合せによって実施されていようと、少なくとも１つの動作を制御する任意のデバイス、システム又はその一部を意味する。任意の特定のコントローラに関連した機能は中央に集中していてもよいし、局所的であれ遠隔的であれ分散していても良いことを言及しておく。本願明細書全体にわたり幾つかの語及び語句の定義が示されるが、当業者であれば、そのような定義は、殆どではないにしろ、多くの場合、このように定義された語及び語句の以前の用法及び将来の用法にも当てはまることを理解するであろう。幾つかの語は多様な実施の形態を含んでいるが、添付の特許請求の範囲における記載はこれらの語を特定の実施の形態に明示的に限定している。
【０００６】
本明細書及び本発明の利点をより完璧に理解するために、以下では、添付の図面を参照しながら本発明を説明する。図面において、同一の参照番号は同一の対象を表している。
【図面の簡単な説明】
【０００７】
【図１】本実施形態が実施可能な、データ処理システムのブロック図を示す。
【図２Ａ】本実施形態による典型的な場合を例示するための、２つの単純な例のうち１つを示す。
【図２Ｂ】本実施形態による典型的な場合を例示するための、２つの単純な例のうち１つを示す。
【図３】本実施形態による処理のフロー図を示す。
【発明を実施するための形態】
【０００８】
本願書類において本発明の主旨を記載するために用いられる図１〜３（後述）および種々の実施形態は例示に過ぎず、本発明の範囲を何ら限定するものと理解されるべきではない。本発明の基本構成が任意に適切に構成された装置において実施可能であることは当業者には理解されるであろう。本願の多くの革新的な教示について、例示的な非限定の実施形態に関連して記載される。
【０００９】
ＣＡＤシステムまたはＰＬＭシステムにおけるモデルを操作する際、ユーザは、２つの曲線を互いに対称なものとし、これらの曲線が互いのジオメトリに対して拘束されたものにすることを望むことがよくある。本発明の実施形態によれば、ユーザは２つの曲線が整列か非整列かを制御し、これらがゼロ長までつぶれる（既知のシステムにおける典型的な結果）ことを防ぐことができる。
【００１０】
各曲線は、典型的にはＣＡＤシステムにおいてスタートポイント（バーテックス）およびエンドポイントを有して保持される。本明細書において、「整列」とは、２つの曲線が同一方向に延び（始点から終点へのベクトルとみなされるとき）、スタートポイント同士が通常互いに隣接または対応して（「スタートツースタート（start-to- start）」）、エンドポイント同士もまたは通常互いに隣接または対応して（「エンドツーエンド（end-to-end）」）整列されることを意味する。ソリッドモデルでは、整列のフェース同士は同一方向に向いている。
【００１１】
「非整列」とは、その反対を意味し、曲線同士は反対方向に延びる（「スタートツーエンド（start-to-end）」）。ソリッドモデルでは、非整列のフェース同士は通常互いに向かい合っている。
【００１２】
いくつかのＣＡＤツールには、現在のポイントおよび曲線について、複製を作成し、元のジオメトリと複製との間に対称拘束を適用することにより、ミラー化を試すことができるコマンド（「ミラー」コマンドなど）が備えられている。場合により、ユーザは、現在の曲線またはポイントを中間ラインに関して対称とすることにより、現在のジオメトリに対して同様の対称拘束を適用したいことがある。
【００１３】
他のツールを用いると、たとえば各曲線についての他の拘束の存在により、選択された曲線はゼロ長までつぶれることが多いため、この処理は失敗する。従来のシステムは２つの現在の曲線が整列または非整列であるべきか否かを自動的に決定することができない。
【００１４】
本実施形態によれば、幾何拘束を正しく適用するために、幾何モデルを修正するシステムおよび方法が提供される。種々の実施形態によれば、ユーザの意図を決定するためにユーザの入力が解釈され、次いで、正しい解法を生成するために、選択した曲線が整列または反非整列として処理されるべきかが決定される。
【００１５】
図１は、一つの実施形態を実施することができる、例えばＣＡＤシステムとしてのデータ処理システムのブロック図を示す。図示されているデータ処理システムはプロセッサ１０２を含んでおり、このプロセッサ１０２は２次キャッシュ／ブリッジ１０４に接続されている。２次キャッシュ／ブリッジ１０４はさらにローカルシステムバス１０６に接続されている。ローカルバスシステム１０６は、例えば、ＰＣＩ（peripheral component interconnect）アーキテクチャバスである。図示されている実施例におけるローカルバスシステムには、メインメモリ１０８及びグラフィックアダプタ１１０も接続されている。グラフィックアダプタ１１０をディスプレイ１１１に接続することもできる。
【００１６】
他の周辺装置、例えばローカルエリアネットワーク（ＬＡＮ）／ワイドエリアネットワーク／ワイヤレス（例えばＷｉＦｉ）アダプタ１１２もローカルバスシステム１０６に接続することができる。拡張バスインタフェース１１４は、ローカルバスシステム１０６を入力／出力（Ｉ／Ｏ）バス１１６に接続させる。Ｉ／Ｏバス１１６にはキーボード／マウスアダプタ１１８、ディスクコントローラ１２０及びＩ／Ｏアダプタ１２２が接続されている。ディスクコントローラ１２０を記録装置１２６に接続することができ、この記録装置１２６は機械使用可能又は機械読み出し可能なあらゆる適切な記憶媒体で良く、不揮発性のハードコーディングタイプの媒体、例えば読み出し専用メモリ（ＲＯＭ）又は電気的に消去及びプログラミング可能な読み出し専用メモリ（ＥＥＰＲＯＭ）、磁気タイプの記録装置及びユーザ記録可能なタイプの媒体、例えばフロッピーディスク、ハードディスクドライブ及びコンパクトディスク読み出し専用メモリ（ＣＤ−ＲＯＭ）又はディジタル多目的ディスク（ＤＶＤ）及び他の公知の光学的、電気的又は磁気的な記録装置がこれに含まれるが、記憶媒体はこれらの例に限定されるものではない。
【００１７】
図示されている例におけるＩ／Ｏバス１１６にはオーディオアダプタ１２４も接続されており、このオーディオアダプタ１２４には音声を再生するためにスピーカ（図示せず）を接続することができる。キーボード／マウスアダプタ１１８は、例えばマウス、トラックボール、トラックポインタ等のポインティングデバイス（図示せず）のためのコネクションを提供する。
【００１８】
当業者には、図１に図示されているハードウェアを特定の実施の形態のために変更できることは明らかである。例えば、他の周辺装置、例えば光学ディスクドライブ等も付加的に使用することができるか、又は、図示されているハードウェアの代わりに使用することができる。図示されている実施例は説明を目的としたものに過ぎず、本発明に関する構造的な制限を暗示することを意図したものではない。
【００１９】
本発明の実施の形態によるデータ処理システムは、グラフィカルユーザインタフェースを使用するオペレーティングシステムを含んでいる。オペレーティングシステムは複数のディスプレイウィンドウをグラフィカルユーザインタフェースにおいて同時に表示することができ、各ディスプレイウィンドウは種々のアプリケーションへのインタフェース又は同一のアプリケーションの種々のインスタンスへのインタフェースを提供する。ユーザはポインティングデバイスを介してグラフィカルユーザインタフェースにおけるカーソルを操作することができる。カーソルの位置を変更することができる、及び／又は、カーソルの位置として所望のレスポンスを起動させるために行なわれたイベント、例えばマウスボタンのクリックが考えられる。
【００２０】
商用の種々のオペレーティングシステムの内の一つ、例えばＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（登録商標）のバージョン（レドモンド（ワシントン州）に位置するＭｉｃｒｏｓｏｆｔ社の製品）を、適切に変更されている場合には使用することができる。オペレーティングシステムは、本明細書において説明する本発明に従い修正又は作成されている。
【００２１】
ＬＡＮ／ＷＡＮ／ワイヤレスアダプタ１１２を（データ処理システム１００の一部ではない）ネットワーク１３０に接続することができ、このネットワーク１３０として、当業者には周知であるような、公共又は私用のあらゆるデータ処理システムネットワーク、又は、ネットワークの組み合わせが考えられ、例えばインターネットが含まれる。データ処理システム１００はネットワーク１３０を介してサーバシステム１４０と通信することができ、このサーバシステム１４０もまたデータ処理システム１００の一部ではないが、例えば、別個のデータ処理システム１００として実施することができる。
【００２２】
図２Ａおよび２Ｂは典型的な場合を例示するための２つの単純な例を示す。
【００２３】
最初に、ＣＡＤシステムにおける長方形のモデルは、典型的には、図２Ａの長方形２００に示されるような、ループ内でスタートツーエンドに接続された４つのラインからなる。長方形２００は、ループ内でスターツーエンドに接続されたライン２０２、２０４、２０６、２０８からなる（例示のため矢印として示されている）。この例では、「エンド」バーテックスは矢印の「ヘッド」として表されており、「スタート」バーテックスは矢印の「テール」ラインとして表されている。長方形の２つの反対のライン２０２および２０６が対称とされる場合、これらは有用な結果を得るためにスタートツーエンドで整列されなければならない。すなわち、ライン２０２のスタートポイント２１２はライン２０６のエンドポイント２１４に対して拘束される。
【００２４】
一般的な解法は、ライン２０２および２０６のスタートポイントを互いに対称にすることであろう。すなわち、両方のラインをゼロ長につぶす数学的な解法であり、明白に失敗した場合では、接続されたポイントがつぶれたラインとともに動き、長方形は一本のラインになる。各接触する曲線同士は４つのエンドポイントの全てにおいて一致するように拘束され、垂直／水平を維持するよう拘束されるため、曲線は典型的にはつぶれる。唯一の解法は曲線をゼロ長にすることである。これらの他の拘束がなければ、対称拘束は対称なラインのうちの１つを逆にする（一致拘束または垂直拘束に反する）ことにより解決される。
【００２５】
しかし、本実施形態では、これらのラインが非整列として処理されるべきであると決定され、スタートポイント２０２と対称となるエンドポイント２０６を拘束することにより、あるいはその逆で拘束することにより、これらのラインは中間ライン２１０に関して正確に対称にされる。
【００２６】
次に、互いに隣り合って位置する２つのこのような長方形を、図２の長方形２２０および２４０として考える。長方形２２０は、ループ内でスタートツーエンドに接続されたライン２２２、２２４、２２６、２２８（例示のため矢印として示されている）からなる。長方形２４０は、ループ内でスタートツーエンドに接続されたライン２４２、２４４、２４６、２４８（例示のため矢印として示されている）からなる。
【００２７】
長方形２２０からのライン２２６が長方形２４０の対応するライン２４６に対称とされるとき、曲線は整列され、拘束は中間ライン２６０に関してスタートツースタートおよびエンドツーエンドで作成されなければならない。すなわち、ライン２２６のエンドポイント２３０はライン２４６のエンドポイント２５０に従って拘束され、ライン２２６および２４６の対応するスタートポイントは他方のエンドポイントの拘束のために用いられる。ただし、これは先の例とは逆である。すなわち、前の例では、システムはスタートツースタート／エンドツーエンドの拘束（これは図２Ａの場合には失敗する）を実行しなければならず、スタートツーエンドの拘束（これは図２Ｂの場合に失敗する）を実行しない。
【００２８】
２つの選択されたラインを既に何らかの形で接続している他の拘束が存在する場合、スタートツーエンドの解法は、ゼロ長へのジオメトリのつぶれ（または何らかの他の形状のつぶれ）にもつながりうる。
【００２９】
これらの例では、中間ラインは典型的にはシステムにより（ユーザに実際に表示される場合もあるがされない場合もある）様々な規則に従って決定されることに留意されたい。中間ラインは典型的には２つの選択されたラインまたは曲線の間で決定されるが、システムにより決定された任意の他の拘束または規則に従っていずれかの場所に位置づけられてもよい。
【００３０】
これらの単純な例の他に、一般的な解法は決め難い。一般的な場合に２つの選択された曲線の間にどのような拘束が存在するかを評価することは実際的ではない。ワイヤフレームジオメトリの関係および拘束は、結果が一般的に決定可能な前に完全に解決される必要がある。
【００３１】
本実施形態では、ユーザのオブジェクト選択の位置をユーザの意図の付加的な情報として用いることにより、この課題は解決される。対称拘束を適用するために曲線が選択されるとき、２つの選択位置に最も近い２つのエンドポイントがシステムにより互いに対称とされる。この処理により、対称拘束がＣＡＤシステムによりどのように適用されるかについて、ユーザは制御することができる。
【００３２】
拘束を付与するための処理はＣＡＤシステムの分野でよく知られている。対称拘束はエンドポイントの適切な対を拘束し、次いでこれらのエンドポイント間の曲線を拘束することにより定義可能である。対称拘束の付与は、従来のシステムにおいては効果的に実行できない。というのも、これらのシステムはこのような拘束をスタートツースタート／エンドツーエンドのやり方か、スタートツーエンドのやり方のいずれか一方で付与するが、これらいずれかのやり方を知的かつ効果的に決定することができないからである。
【００３３】
種々の本実施形態では、曲線の選択について余分なキータッチ、マウスクリック、他の入力などのユーザからのいかなる追加の入力も必要とすることなく、ユーザの選択によりユーザの意図が決定される。有利には、このシステムはたとえばどのバーテックスが、ユーザが選択を行う各ライン（またはグラフィックモデルの他の要素）に基づいて整列されるべきなのかを決定する。
【００３４】
ある実施形態では、システムは、ユーザが各ラインについて互いに関連して拘束されるべきバーテックスとして選択した、最も近いバーテックスを用いる。図２Ｂの例では、システムはライン２２６というユーザの選択を、典型的にはマウスポインタ／クリック、ペン入力または表示されたモデル自体に基づく入力（簡略化のため、総称的に「クリック」と記載する）により受け取る。システムは次いで関連する曲線のどのバーテックスが、ユーザがラインを選択したポイントに対してより近いかを決定する。ユーザがライン２２６の上半分のポイントをクリックしてライン２２６を選択したとき、システムはエンドポイント２３０が最も近いバーテックスであると決定し、エンドポイント２３０を拘束されるべきバーテックスとして選択する。ユーザがライン２２６の下半分の任意のポイントによりライン２２６を選択するとき、システムはスタートポイント（エンドポイント２３０の反対側）が最も近いバーテックスであると決定し、このスタートポイントを拘束されるべきバーテックスとして選択する。
【００３５】
システムはユーザにより選択された第２のラインについて同様の決定を行い、ユーザがクリックしたラインについて、拘束のための第２のバーテックスを決定する。これらのバーテックスは互いに対して拘束されており、システムはたとえば各曲線の反対のバーテックス同士を互いに対して拘束させ、最終的に曲線自体がたとえばエンドポイントの拘束に基づいて互いに対して拘束される。得られるモデルは、ユーザに対して表示され、システムに記録される。
【００３６】
図３は本実施形態に係る処理のフロー図である。本明細書中に記載の種々のステップは同時に行ってもまたは異なる順で行ってもよい。たとえば、ステップ３１５の対称拘束の選択は１つ以上の曲線のモデルの選択の前または後に行うことができる。
【００３７】
ＣＡＤシステムはグラフィックモデルを受け取る（ステップ３０５）。本明細書において用いられている「受け取る」には、記録媒体からロードするまたは読み出す、別のシステムから受け取る、ユーザとの対話により受け取るまたは作成すること、あるいは、これらの組み合わせが含まれる。グラフィックモデルは複数の曲線を有し、各曲線は２つのエンドポイントバーテックスを有する。
【００３８】
ＣＡＤシステムはグラフィックモデルをユーザに対して表示する（ステップ３１０）。
【００３９】
ＣＡＤシステムは対称拘束のユーザ選択を受け取る（ステップ３１５）。ある実施形態では、このステップには、たとえば、他の曲線が対称とされるべき中間ラインのユーザ選択が含まれる。他の実施形態では、たとえば、中間ラインは、後述するように、ＣＡＤシステムにより自動的に決定される。
【００４０】
ＣＡＤシステムは第１の曲線上のポイントのユーザ指定により、グラフィックモデルの第１の曲線のユーザ選択を受け取る（ステップ３２０）。
【００４１】
ＣＡＤシステムは第２の曲線上のポイントのユーザ指定により、グラフィックモデルの第２の曲線のユーザ選択を受け取る（ステップ３２５）。
【００４２】
ＣＡＤシステムは、第１の曲線上の指定されたポイントに最も近い第１の曲線のエンドポイントバーテックスを第１の曲線の第１のバーテックスとして定め、第１の曲線の反対側のエンドポイントを第１の曲線の第２のバーテックスとして定める（ステップ３３０）。
【００４３】
ＣＡＤシステムは、第２の曲線上の指定されたポイントに最も近い第２の曲線のエンドポイントを第２の曲線の第１のバーテックスとして定め、第２の曲線の反対側のエンドポイントを第２の曲線の第２のバーテックスとして定める（ステップ３３５）。
【００４４】
勿論、「第１のバーテックス」および「第２のバーテックス」の標識は説明のために用いた任意の標識である。ＣＡＤシステムはいずれのバーテックスが互いに対して拘束されるべきかを示すのに十分な任意の他のやり方でこれらを定めることができる。ステップ３３０〜３３５により、ＣＡＤシステムは対称拘束に関するユーザの意図を決定することができる。このようにして、第１および第２のバーテックスを、曲線に関するスタートポイントおよびエンドポイントに依存する（不正確な結果につながりうる）ことなく定めることができる。
【００４５】
ＣＡＤシステムは、第１の曲線の第１のバーテックスと第２の曲線の第１のバーテックスとの間に対称拘束を適用する（ステップ３４０）。このステップの一部として、ある実施形態では、たとえば、ＣＡＤシステムは第１の曲線と第２の曲線との間に中間ラインを決定し、第１の曲線の第１のバーテックスと第２の曲線の第１のバーテックスとの間に中間ラインに関する対称拘束を適用する。
【００４６】
ＣＡＤシステムは、第１の曲線の第２のバーテックスと第２の曲線の第２のバーテックスとの間に対称拘束を適用する（ステップ３４５）。このステップの一部として、たとえばＣＡＤシステムは、第１の曲線の第２のバーテックスと第２の曲線の第２のバーテックスとの間に中間ラインに関する対称拘束を適用する。
【００４７】
ＣＡＤシステムは第１の曲線と第２の曲線との間に対称拘束を適用する（ステップ３５０）。このステップの一部として、ＣＡＤシステムは、たとえば、第１の曲線と第２の曲線との間に中間ラインに関する対称拘束を適用する。ステップ３４０〜３５０により、システムはユーザの意図にしたがう対称拘束を曲線に適用することができる。
【００４８】
ＣＡＤシステムは、拘束を適用した後、グラフィックモデルを記憶し、表示する（ステップ３５５）。
【００４９】
ある実施形態では、ダイアログの簡単な相互作用モデルは修正され、その結果、ユーザは、たとえば、曲線を選択し、２つの曲線のどのエンドが整列すべきかを識別し、おそらくプレビューを見て、任意の調整を行い、次いで、「ＯＫ／適用」を押す。
【００５０】
ある実施形態では、システムは、ユーザインタフェースダイアログにおいて曲線のエンドポイントを「スナップ」することのみ許し、その結果、スタートポイントまたはエンドポイントは、それに単に「近い」ものの代わりに、それ自体が選択される。ユーザインタフェースダイアログにおいて、曲線全体が対称にされるべきであることを指定するための設定が入力される。したがって、システムは、指定されたスナップポイントを整列のためのエンドとして用いることができる。
【００５１】
ある実施形態では、付加的なダイアログツールが、ユーザに異なるソリューション、たとえば「サイクルソリューション」機能、「フリップ方向」機能などを提供するために提供される。
【００５２】
ある実施形態では、本明細書中に記載の処理および選択に従って曲線が整列される方法を表示するために、曲線が選択される前または選択されるときにリアルタイムダイナミックプレビューが提供される。
【００５３】
ユーザからの入力を蓄積しない、課題を解決する他の方法は有効ではない。本明細書中に記載の実施形態は、対称拘束の適用の際につぶれないようにする技術に限定されない。完全に独立な曲線に関して、ユーザの意図を決定する方法では、たとえば、既にほぼ対称な曲線を、より極端な解法を用いて対称にさせる。本明細書中に記載の技術は、システムに、ラインを反対にする（たとえばその方向を逆にする）というユーザの意図を決定させることができる。「最も単純な」解法を単純に探すことでは、この動作は不可能である。
【００５４】
結局の所、システムが、ユーザが選択された曲線に対称拘束を適用することを望むやり方を正確に予想することは不可能である。２つの曲線が中間ラインに関して既に対称であるとしても、ユーザは、１つの曲線が１８０度回転する必要がある他の解法を望む場合もある。既知の経験則によるものでは、ユーザからの入力無しにこの課題を解決することはできない。
【００５５】
しかし、本実施形態は、意図を伝えるためのユーザからの余分なジェスチュアを必要としない。ジオメトリを適切に選択するだけで、本明細書に記載の処理により対称拘束が常に一貫してかつ信頼性高く意図されたように適用される。
【００５６】
当業者であれば、単純且つ明確にするために、本発明を用いた使用に適した全てのデータ処理システムの完全な構造及び動作は本明細書において図示又は説明していないことが分かる。その代わりに、本発明に固有のデータ処理システム又は本発明の理解のために必要なデータ処理システムのみを図示及び説明している。データ処理システム１００のその他の部分の構造及び動作は、当業者には公知である現行の種々の任意の実施の形態に従うもので良い。
【００５７】
本明細書には完全に機能的なシステムの文脈での記述が含まれているが、当業者であれば、本発明のメカニズムの少なくとも一部は種々の任意の形態の機械使用可能、コンピュータ使用可能又はコンピュータ読み出し可読な媒体に記録された命令の形態で配布できること、また本発明はその配布物を実際に実行するために使用される特定のタイプの命令又は信号が記録されている媒体又は記憶媒体に関係なく同様に適用されることを理解するであろうということを言及することは重要である。それらの命令は、実行されれば、データ処理システムに本明細書において説明した方法を実施させることができる。機械使用可能／機械読み出し可能又はコンピュータ使用可能／コンピュータ読み出し可能な媒体の例には、不揮発のハードコーディングタイプの媒体、例えば読み出し専用メモリ（ＲＯＭ）又は電気的に消去及びプログラミング可能な読み出し専用メモリ（ＥＥＰＲＯＭ）及びユーザ記録可能なタイプの媒体、例えばフロッピーディスク、ハードディスクドライブ及びコンパクトディスク読み出し専用メモリ（ＣＤ−ＲＯＭ）又はディジタル多目的ディスク（ＤＶＤ）が含まれる。
【００５８】
本発明の実施例を詳細に説明してきたが、当業者であれば、本明細書に記載した実施例の種々の変更、置換、バリエーション及び改良はその最も広い形態においても本発明の精神及び範囲から逸脱することなく可能であることが分かるであろう。
【００５９】
本明細書における説明は、いずれかの特定の要素、ステップ又は機能も特許請求の範囲に含まれていなければならない不可欠の要素であることを意図したものではないと解するべきである。すなわち、本発明が対象とする範囲は明示された特許請求の範囲の記載によってのみ定義される。さらには、いずれの請求項も、「〜のための手段（means for）」という語の後に分詞が続かないかぎり、３５ＵＳＣ§１１２の第６パラグラフに訴えることを意図するものではない。
【符号の説明】
【００６０】
１０２  プロセッサ、  １０８  メモリ
【図１】
2013527517.tif 000003
【図２Ａ】
2013527517.tif 000004
【図２Ｂ】
2013527517.tif 000005
【図３】
2013527517.tif 000006
【国際調査報告】
2013527517.tif 000007
2013527517.tif 000008