(57)【要約】  本発明の方法は、複数の曲線を含む幾何モデルを受け取るステップと、前記複数の曲線の内の１つの曲線の選択を受け取るステップと、前記複数の曲線の内の、前記選択された曲線に関連する少なくとも１つの他の曲線を検出し、前記選択された曲線と前記他の曲線との間の関係を検出し、前記選択された曲線、前記他の曲線および前記関係を、選択された曲線セットに加えることを含むステップと、前記幾何モデルのための拘束のセットの非活性化を含む、前記選択された曲線セットを前処理するステップと、前記選択された曲線の修正を受け取るステップと、修正された幾何モデルおよび修正された選択曲線セットを生成するために、前記選択された曲線セットを修正するステップと、前記幾何モデルのための拘束の再活性化と適用とを含む、前記修正された選択曲線セットを後処理するステップと、前記修正された幾何モデルを表示し、記憶するステップとを含む。
2016522501.tif 000002
【特許請求の範囲】
【請求項１】
幾何モデル（３００）を修正する方法であって、
前記方法は、データ処理システム（１００）によって実行され、以下のステップを含んでいる、すなわち、
前記データ処理システムにより、複数の曲線（３０２／３０４ａ／３０４ｂ／３０６ａ／３０６ｂ）を含む幾何モデルを受け取るステップ（２０５）と、
前記データ処理システムにより、前記複数の曲線のうちの１つの曲線（３０２）の選択を受け取るステップ（２１０）と、
前記データ処理システムにより、前記複数の曲線のうちの、前記選択された曲線に関連する少なくとも１つの他の曲線（３０４ａ）を検出し、かつ、前記選択された曲線と前記少なくとも１つの他の曲線との間の関係を検出するステップ（２１５）であって、前記選択された曲線、前記少なくとも１つの他の曲線および前記関係を、選択された曲線セットに加えることが含まれているステップ（２１５）と、
前記データ処理システムにより、前記幾何モデルのための拘束のセットの非活性化を含む、前記選択された曲線セットを前処理するステップ（２２０）と、
前記データ処理システムにより、前記選択された曲線の修正を受け取るステップ（２２５）と、
修正された幾何モデル（図３Ｂ）および修正された選択曲線セットを生成するために、前記選択された曲線セットを修正するステップ（２３０）と、
前記データ処理システムにより、前記幾何モデルのための拘束の再活性化と適用とを含む、前記修正された選択曲線セットを後処理するステップ（２３５）と、
前記修正された幾何モデルを表示し、記憶するステップ（２４０）と、
を含んでいることを特徴とする方法。
【請求項２】
前記関係は、接線、平行、同一直線上、同心、等しい半径、または対称のうちの１つ以上を含む、請求項１記載の方法。
【請求項３】
前記修正は、移動、回転、オフセット、サイズ変更、または削除操作のうちの１つ以上を含む、請求項１または２記載の方法。
【請求項４】
前記少なくとも１つの他の曲線を検出するステップは、所定の範囲を用いて行われる、請求項１から３いずれか１項記載の方法。
【請求項５】
前記幾何モデル（３００）のための拘束の再活性化と適用は、前記修正と矛盾する拘束を適用しない、請求項１から４いずれか１項記載の方法。
【請求項６】
前記幾何モデル（３００）のための拘束の再活性化と適用は、前記修正と矛盾する寸法拘束の変更を含む、請求項１から４いずれか１項記載の方法。
【請求項７】
前記幾何モデル（３００）は、二次元モデルである、請求項１から６いずれか１項記載の方法。
【請求項８】
プロセッサ（１０２）とアクセス可能なメモリ（１０８）とを備えたデータ処理システム（１００）であって、
前記データ処理システムは、特に、
複数の曲線（３０２／３０４ａ／３０４ｂ／３０６ａ／３０６ｂ）を含む幾何モデル（３００）を受け取り（２０５）、
前記複数の曲線のうちの１つの曲線（３０２）の選択を受け取り（２１０）、
前記複数の曲線のうちの、前記選択された曲線に関連する少なくとも１つの他の曲線（３０４ａ）を検出し、かつ、前記選択された曲線と前記少なくとも１つの他の曲線との間の関係を検出し（２１５）し、ただし前記選択された曲線、前記少なくとも１つの他の曲線および前記関係を選択された曲線セットに加えることが含まれ、
前記幾何モデルのための拘束のセットの非活性化を含めて、前記選択された曲線セットを前処理し（２２０）、
前記選択された曲線の修正を受け取り（２２５）、
修正された幾何モデル（図３Ｂ）と修正された選択曲線セットとを生成するために、前記選択された曲線セットを修正し（２３０）、
前記幾何モデルのための拘束の再活性化と適用とを含めて、前記修正された選択曲線セットを後処理し（２３５）、
前記修正された幾何モデルを表示して記憶する（２４０）ように構成されていることを特徴とする、データ処理システム（１００）。
【請求項９】
前記関係は、接線、平行、同一直線上、同心、等しい半径、または対称のうちの１つ以上を含む、請求項８記載のデータ処理システム。
【請求項１０】
前記修正は、移動、回転、オフセット、サイズ変更、または削除操作のうちの１つ以上を含む、請求項８または９記載のデータ処理システム。
【請求項１１】
前記少なくとも１つの他の曲線の検出は、所定の範囲を用いて行われる、請求項８から１０いずれか１項記載のデータ処理システム。
【請求項１２】
前記幾何モデル（３００）のための拘束の再活性化と適用は、前記修正と矛盾する拘束を適用しない、請求項８から１１いずれか１項記載のデータ処理システム。
【請求項１３】
前記幾何モデル（３００）のための拘束の再活性化と適用は、前記修正と矛盾する寸法拘束の変更を含む、請求項８から１１いずれか１項記載のデータ処理システム。
【請求項１４】
前記幾何モデル（３００）は、二次元モデルである、請求項８から１３いずれか１項記載のデータ処理システム。
【請求項１５】
実行可能な命令で符号化された非一過性のコンピュータ可読媒体（１２６）であって、実行されたとき、１つまたは複数のデータ処理システム（１００）に、以下のことを引き起こさせる、すなわち、
複数の曲線（３０２／３０４ａ／３０４ｂ／３０６ａ／３０６ｂ）を含む幾何モデル（３００）を受け取り（２０５）、
前記複数の曲線のうちの１つの曲線（３０２）の選択を受け取り（２１０）、
前記複数の曲線のうちの、前記選択された曲線に関連する少なくとも１つの他の曲線（３０４ａ）を検出し、かつ、前記選択された曲線と前記少なくとも１つの他の曲線との間の関係を検出し（２１５）、ただし前記選択された曲線、前記少なくとも１つの他の曲線および前記関係を選択された曲線セットに加えることが含まれており、
前記幾何モデルのための拘束のセットの非活性化を含めて、前記選択された曲線セットを前処理し（２２０）、
前記選択された曲線の修正を受け取り（２２５）、
修正された幾何モデル（図３Ｂ）と修正された選択曲線セットとを生成するために、前記選択された曲線セットを修正し（２３０）、
前記幾何モデルのための拘束の再活性化と適用とを含めて、前記修正された選択曲線セットを後処理し（２３５）、
前記修正された幾何モデルを表示して記憶する（２４０）ことを引き起こさせることを特徴とする、コンピュータ可読媒体（１２６）。
【請求項１６】
前記関係は、接線、平行、同一直線上、同心、等しい半径、または対称のうちの１つ以上を含む、請求項１５記載のコンピュータ可読媒体。
【請求項１７】
前記修正は、移動、回転、オフセット、サイズ変更、または削除操作のうちの１つ以上を含む、請求項１５または１６記載のコンピュータ可読媒体。
【請求項１８】
前記少なくとも１つの他の曲線の検出は、所定の範囲を用いて行われる、請求項１５から１７いずれか１項記載のコンピュータ可読媒体。
【請求項１９】
前記幾何モデル（３００）のための拘束の再活性化と適用は、前記修正と矛盾する拘束を適用しない、請求項１５から１８いずれか１項記載のコンピュータ可読媒体。
【請求項２０】
前記幾何モデル（３００）のための拘束の再活性化と適用は、前記修正と矛盾する寸法拘束の変更を含む、請求項１５から１８いずれか１項記載のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
他出願の相互参照
本出願は、２０１３年４月３０日に出願された「バリエーショナルシステムにおける曲線“Curves in a Variational System”」と題する米国特許出願第１３／８７３，６４２号と複数の課題項目を共有するものであり、その開示内容は参照により本明細書中においても援用される。
【０００２】
本発明は一般的には、コンピュータ支援設計、可視化処理および製造システム、製品ライフサイクル管理（「ＰＬＭ」）システム、並びに複数の製品および他の項目のためのデータを管理する類似のシステム（これらは総じて“製品データ管理システム”若しくはＰＤＭシステムとも称される）に関している。
【背景技術】
【０００３】
ＰＤＭシステムは、ＰＬＭやその他のデータを管理し、ここではシステムの改善が望まれている。
【０００４】
発明の概要
ここで開示される種々の実施形態には、幾何モデルを変更するための方法、対応するシステム、およびコンピュータ読み取り可能媒体が含まれている。本方法には、幾何モデル、複数の曲線を含む幾何モデルを受け取ることが含まれる。この方法には、複数の曲線の１つ以上のカーブの選択を受け取ること、選択した曲線に関連する複数の曲線の少なくとも１つの他の曲線を見つけること、および選択された曲線と他の曲線との間の関係を見つけることが含まれる（選択された曲線の追加、他の曲線（複数可）、選択された曲線セットとの関係を含む）。またこの方法には、幾何モデルのための制約セットの非活性化を含めた、選択された曲線セットの前処理が含まれる。さらにこの方法には、選択された曲線の変更を受け取ることと、変更された幾何モデルと変更され選択された曲線セットとを生成するために、選択された曲線を変更することとが含まれる。さらにこの方法には、幾何的モデルのための制約の再活性化と適用を含めた、変更され選択された曲線セットの後処理が含まれる。
【０００５】
上記の記載は、本発明の特徴および技術的利点を比較的広く概説したものなので、当業者は、以下の詳細な説明を読むことによって理解が深まるであろう。特許請求の範囲の主体を構成する本発明の付加的な特徴および利点は以下で説明する。当業者であるならば、本願で開示される構想および本願特有の実施形態を、本発明と同じ目的を果たすための他の構造の設計や変更の基礎として容易に使用できることは明らかである。さらに当業者であれば、そのような等価的な構成を、本発明の最も汎用的な形態の構想および開示範囲から逸脱することなく実現できる。
【０００６】
以下の発明の詳細な説明に入る前に、本明細書全体を通して用いられるいくつかの用語や語句について、ここで定義しておく。「を含む」および「から成る」との語句並びにそれらの派生語は、制約のない包含を表す。「または」との語句は、「および／または」の意味も含む。「と関連する」および「それと共に関連する」並びにそれらの派生語は、「含む」、「の中に含まれる」、「と相互接続した」、「を含有する」、「の中に含有される」、「に接続する」若しくは「と接続する」、「に結合する」または「と結合する」、「と伝達可能である」、「と共働する」、「に混ぜ入れる」、「に並列する」、「のすぐ近くにある」、「に結び付けられる」または「と結び付けられる」、「有している」、「の所有物」等を意味する場合もある。さらに「コントローラ」なる用語は、ハードウェア、ファームウェア、ソフトウェアで実装されていようと、それらのうちの少なくとも２つの組み合わせで実装されていようと、少なくとも１つのオペレーションを制御する何らかのデバイス、システムまたはそれらの一部を表す。また任意の特定のコントローラに関連する機能は、集中的に若しくは分散的に、あるいは、局所的に若しくは遠隔操作でなされてもよいことに留意すべきである。特定の単語や語句の定義は、本願の特許明細書全般に亘って提供されるが、当業者であるならば、そのような定義は、全ての場合ではないにせよ多くの場合において、そのように定義された用語や語句の過去の使用と同様、未来の使用においても適用されることが容易に理解されるであろう。いくつかの用語は、広い範囲の実施形態を含むことができるが、添付の特許請求の範囲では、それらの用語が特定の実施形態に明確に絞られるものであってもよい。
【０００７】
以下では、本開示とその利点についての理解を深めるために、添付の図面を参照して本発明を説明する。これらの図面中、類似した対象には類似した参照番号が付されている。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施形態が実施可能であるデータ処理システムのブロック図
【図２】開示された実施形態による方法のフローチャート
【図３】ＡおよびＢは、開示された実施形態による変更前後の例示的な２Ｄ幾何モデルを示した図
【０００９】
詳細な説明
以下で説明する図１乃至図３並びに本願明細書において本発明の原理を説明するために使用される種々の実施形態は、例証として用いただけであり、本発明の権利範囲の限定と捕らえるべきではない。当業者であるならば、本開示の基本原理は、好適にアレンジされた任意の装置において実現できることは容易に理解できよう。以下では本出願の多くの革新的な教示を、非限定的な例示的実施形態に基づいて説明する。
【００１０】
シーメンスプロダクトライフサイクル管理ソフトウェア株式会社の製品で使用されている「シンクロナス・テクノロジ」プロセスのような、バリエーショナルモデリングシステム内では、複数の変更が基本的にバリエーショナリーによって記述されている。このバリエーショナルシステムでは、オブジェクトモデルまたは曲線セットにおける複数の特徴の間の関係とそのパラメータが幾何拘束と寸法とによって記述されている。したがってそのようなシステムは、「ソルブ」プロセスを使って、それらの拘束と寸法を、設計意図を維持するために必要とされる多数の補助的拘束および寸法と共に処理し、モデル全体が同時に解決される。
【００１１】
従来、２次元（２Ｄ）または３次元（３Ｄ）いずれかの曲線形状は、制約なしで制御されるか、自動若しくは手動でシステム全体を完全に制約することによって制御されてきた。これらの方法はいずれも、選択に基づくローカルかつ高速で、直感的な編集を自動化し、システム全体の拘束は要求しないシンクロナス・テクノロジの利点を有していない。
【００１２】
シンクロナス曲線の編集は、選択された曲線と、接続された曲線と、変更前の隣接する曲線との間の関係を推測した後の曲線の変更を可能にする。推測された関係は、変更をしている間の全ての曲線に適用される。これは、シンクロナス曲線編集ツールを従来のツールよりもさらに強力にする。
【００１３】
基本的なプロセスは、１つ以上の曲線が変更のために選択されることである。選択の後では関係の推測が曲線ファインダによって行われる。これらの曲線は、動きやオフセットなどの操作によって変更される。操作後は拘束の後処理が、任意の既存の（スケッチ）拘束をどのように処理するかを決定するために実行される。曲線変更の結果は、変更された曲線のセットである。
【００１４】
開示された実施形態には、過渡拘束の推測および解除によって、拘束された曲線ネットワークと拘束されない曲線ネットワークを変更するシステムおよび方法が含まれる。特定の実施形態は、二次元ジオメトリを背景に説明しているが、本明細書で説明する技術的な手法は、三次元ジオメトリにも同様に適用されることに留意されたい。
【００１５】
図１には、１つの実施形態を実現可能なデータ処理システムのブロック図が示されている。これはたとえば、特に以下で述べるようなプロセスを実行するためのソフトウェアまたは他の手段によって構築されたＰＤＭシステムとして実現可能であり、特に、以下で説明するように、相互接続され通信を行う複数のシステムのうちの１つとして実現可能である。図示されているデータ処理システムには、レベル２キャッシュ／ブリッジ１０４と接続されたプロセッサ１０２が含まれており、このキャッシュ／ブリッジ１０４自体はローカルシステムバス１０６と接続されている。たとえばローカルシステムバス１０６を、ＰＣＩ（peripheral component interconnect）アーキテクチャのバスとすることができる。図示の実施例ではローカルシステムバスにさらに、メインメモリ１０８とグラフィックアダプタ１１０も接続されている。グラフィックアダプタ１１０を、ディスプレイ１１１と接続することができる。
【００１６】
ローカルエリアネットワーク（ＬＡＮ）／ワイドエリアネットワーク／ワイヤレス（たとえばＷｉＦｉ）アダプタ１１２などといった他の周辺機器を、ローカルシステムバス１０６と接続することもできる。拡張バスインタフェース１１４によって、ローカルシステムバス１０６が入出力（Ｉ／Ｏ）バス１１６と接続されている。Ｉ／Ｏバス１１６は、キーボード／マウスアダプタ１１８、ディスクコントローラ１２０、および／またはＩ／Ｏアダプタ１２２と接続されている。ディスクコントローラ１２０を記憶装置１２６と接続することができ、この記憶装置１２６は、機械で利用可能または機械で読み取り可能な任意の記憶媒体とすることができ、このような記憶媒体には、以下に限定されるわけではないが、リードオンリーメモリ（ＲＯＭ）など不揮発性の変更不可能な媒体、または消去可能であり電気的にプログラミング可能なリードオンリーメモリ（ＥＥＰＲＯＭ）、磁気テープ媒体、ユーザーが記録可能なタイプの媒体たとえばフロッピーディスク、ハードディスクドライブ、およびコンパクトディスク型リードオンリーメモリ（ＣＤ−ＲＯＭ）、またはデジタル多用途ディスク（ＤＶＤ）、さらに他の公知の光学的、電気的または磁気的な記憶媒体が含まれる。
【００１７】
図示されているこの実施例では、Ｉ／Ｏバス１１６にオーディオアダプタ１２４も接続されており、サウンド再生のためにこのアダプタにスピーカ（図示せず）を接続することができる。キーボード／マウスアダプタ１１８によって、マウス、トラックボール、トラックポインタ、タッチスクリーンなどポインティングデバイス（図示せず）のための接続を行うことができる。
【００１８】
当業者であれば理解できるように、図１に描かれているハードウェアを個々の実現形態に合わせて変更できる。たとえば、図示されているハードウェアに加えて、またはその代替として、光ディスクドライブなどのような他の周辺機器を使用してもよい。図示されている実施例は、例示目的で示されているにすぎず、本発明に関して構造上の制限を意図したものではない。
【００１９】
本発明の１つの実施形態によるデータ処理システムには、グラフィックユーザインタフェースを用いるオペレーティングシステムが含まれている。このオペレーティングシステムによれば、同時に複数のディスプレイウィンドウをグラフィックユーザインタフェースとして表示させることができ、各ディスプレイウィンドウによって、それぞれ異なるアプリケーションに対するインタフェースが提供され、または同じアプリケーションの異なるインスタンスに対するインタフェースが提供される。ユーザーはポインティングデバイスを利用して、グラフィックユーザインタフェースのカーソルを操作することができる。その際、カーソルのポジションを変更することができ、および／または、望ましいレスポンスを生じさせるために、マウスボタンのクリックなどのイベントを発生させることができる。
【００２０】
適切に変更を加えれば、様々な市販のオペレーティングシステムのうちの１つを採用することができ、たとえば,ワシントン州レドモンドにあるマイクロソフト社の製品であるMicrosoft Windows（登録商標）の１つのバージョンを採用することができる。オペレーティングシステムは、本発明に従って変更または作成される。
【００２１】
ＬＡＮ／ＷＡＮ／ワイヤレスアダプタ１１２を（データ処理システム１００の一部ではない）ネットワーク１３０に接続することができ、このネットワークを、当業者に周知のように、公用または専用のデータ処理システムネットワークあるいはそれらの組み合わせとすることができ、これにはインターネットが含まれる。データ処理システム１００は、ネットワーク１３０を介してサーバシステム１４０と通信することができ、このサーバシステムもデータ処理システム１００の一部ではないが、たとえば別個の異なるデータ処理システム１００として実装してもよい。
【００２２】
本開示の様々な実施形態では、複数の曲線間で推測された関係を使用して曲線ネットワークの同期編集が可能になる。これらの関係には、接続、平行、正接、直交、鏡像、または対向やその他の関係が含まれる。また本開示の実施形態では、曲線の移動、曲線のオフセット移動、曲線のサイズ変更、曲線の削除など、特定の操作を使用することができる。
【００２３】
いくつかのシステムでは、ユーザーが大きな拘束のない曲線セットにおいて曲線の修正作業に取り組んでいるときに、設計意図を維持することは困難である。例えばユーザーは、パラレル、正接などの関係で接している曲線を維持しようとする。これらの関係は、モデルの中に存在していなくても、いくつかの曲線が平行または正接などで接しているならば、既存の複数の曲線を探索したときにそれらを見つけることが可能である。本開示の実施形態では、明示的には存在しない関係やそれらを強制しない関係が見出される。
【００２４】
いくつかのシステムでは、ユーザーが曲線の修正を試みようとしても、既存の幾何拘束と寸法拘束がそれをはばむことがある。多くのケースでは、ユーザーは実際に既存の明示的拘束に矛盾する修正を試みなければならなくなる。本開示の実施形態は、既存の関係を却下する機能を可能にする。修正後の後処理は、可能な限り多くの幾何拘束および寸法拘束を復活させる。
【００２５】
本開示の実施形態は、複数の曲線間と、隣接する曲線間の関係を見つけることが可能であり、さらに操作の継続のための過渡拘束の推測と維持のために、バリエーショナルソルブを使用することが可能である。本開示の実施形態は、様々な関係に対して検索領域を限定するスコープを使用することが可能である。このスコープは、例えば、選択したオブジェクトに近い領域に限定するときのように縮小することも、あるいは表示された若しくはロードされた全てを対象とするときのように、拡大することも可能である。
【００２６】
本開示の実施形態は、見つかった関係と推測された関係のどちらが強いられるかをユーザーに規制できるようにする。本開示の実施形態は、その結果を後処理することができ、さらに、過去にあった明示的な拘束の復活を試みることができる。
【００２７】
図２には、例えば１つ以上のＰＬＭまたはＰＤＭシステム（ここでは一般的に「システム」と総称する）によって実行可能な本開示の実施形態によるプロセスのフローチャートが示されており、他の図面は、本開示のモデル上での操作を表すために使用される。
【００２８】
このシステムは、複数の曲線（２０５）を有する幾何モデルを受け取ります。本明細書で使用される「受け取り」には、ストレージからのローディング、別の装置または処理ユニットからの受け取り、ユーザーとの対話を介した受け取りなどが含まれる。上記の曲線は、３Ｄ環境にあってよいし２Ｄ環境にあってもよい。なおここでの例示的なプロセスは、２Ｄ環境との関連で説明される。
【００２９】
このシステムは、１つ以上の曲線の選択を受け取る（２１０）。ここでは例えばシステムのユーザインタフェースを介してユーザーの選択が可能である。このプロセスの一部として、システムは、ユーザーの選択意図を決定することができる。
【００３０】
このシステムは、選択された曲線と対応する関係に関連する幾何モデルの曲線を見つけ出す（２１５）。このプロセスの間、システムは、所定の関係によって選択された曲線に関連する曲線を見つけ出す。ここでは、接線、平行、同一直線上、同心、等しい半径、対称、およびその他の関係が見つけ出される。曲線認識では、フィレットのような円弧が識別され、一定のフィレット半径を有するフィレット関係の維持が可能となる。
【００３１】
これらの関係は、機能操作されている間は維持できるので、選択された関係も出力に対して真となる。曲線認識プロセスにおいて検出された曲線および関係は、ユーザーが選択した曲線並びにシステムに発見された曲線と関係とを含んだ選択された曲線セットに追加される。この選択された曲線セットは、他のプロセスで使用することができる。
【００３２】
またユーザーから隠れて見えない関係、例えば一致や接線関係などもあり得る。これらの関係は、選択されている曲線の許容誤差に基づいて検出される。これのために使用される閾値の許容範囲は、ユーザーによって定義することができる。ユーザーは、作業ができてインポートしたジオメトリの不良な曲線ネットワークは固定することができるように、比較的広い許容範囲の作業を選択することができる。これらの一致と接線の関係を維持することは、ほとんどの実施形態において任意ではない。
【００３３】
曲線の認識処理は、定義された範囲内で行うことができる。曲線認識における何らかの関係のための範囲は不要である。範囲はそれ自体の選択によって決定することができる。接線は、それ自体を制限する選択された曲線に接する曲線を見つけるだけである。同心は、選択された円弧若しくは円と同心の円弧および円を探索するだけであり、手に負えなくなる危険性はない。
【００３４】
しかしながらスケッチが多くの曲線を含んでいる場合には、平行、同一線上、等しい半径、対称などの拘束が長い検索時間につながる可能性がある。後続の関係については、多くの曲線（平行、同一直線上、等しい半径、対称、垂直、水平、鉛直、同じ長さなど）がある場合には、好適には範囲が定められる。
【００３５】
近傍範囲は、関係曲線としてのみ選択された曲線の同一ループまたは交差ループまたは隣接ループ内に曲線を含むように定義される。選択された曲線のループと当該ループとの間には、他の曲線が存在しない場合には、ループは、隣接するループにある。
【００３６】
例えば、２本の平行線に対しては、垂直方向に沿った重複部分が見つけられる。重複する部分がない場合には、２つの線は隣接していない。このシステムは、重複部分の中心から、一本の線を描くことが可能である。この線が、他の曲線と交差しない場合には、２本の平行線は、隣接している。
【００３７】
２つの同一直線上の線について、それらが重複部分を持っている場合には、それらは隣接している。そうでない場合は、システムはそれらの近接端部間で一本の線を描くことができる。この線が、他のループと交差しない場合には、２つの同一直線上の線は、隣接している。
【００３８】
２つの等しい半径の円／円弧について、それらが交差する場合は、それらは隣接している。そうでない場合には、システムは、それらの間で最小距離の線を描くことができる。線が、他のループと交差しない場合には、２つの円／円弧が隣接している。
【００３９】
さらに、近傍には、選択された曲線の端部に接続された曲線も存在する。
【００４０】
様々な実施形態では、ユーザーによって選択された曲線は、典型的には、１つ以上の開ループ若しくは閉ループからなる。開ループの終端には接続された曲線があるかもしれない。これらの曲線は、隣接する曲線である。隣接する曲線と選択された曲線との間で一致関係を発見すること、維持することは可能である。隣接する曲線とスケッチの残りの部分との間の一致関係は、暗黙に維持され得る。隣接する曲線を超えた接続曲線は、必ずしも範囲内である必要はない。これらの曲線は、典型的には修正されない。
【００４１】
図３Ａおよび図３Ｂには、それぞれ、修正前と修正後の典型的な２Ｄ幾何モデル３００が示されている。この例では、システムは、ユーザーから、図３Ａに示すような曲線３０２の選択を受け取る。このシステムは、曲線認識プロセスを使用して、曲線３０４ａと３０４ｂは、曲線３０２に接続され、曲線３０４ａと３０４ｂの端部は曲線３０２と同一直線上にあることを発見する。さらに、このシステムは、曲線認識プロセスを使用して、曲線３０６ａと３０６ｂがそれぞれ、曲線３０４ａと３０４ｂに隣接して接続されていることを見つける。これらの曲線の全てとそれらの関係は、選択された曲線セットに追加可能である。
【００４２】
図３Ｂに示すように、このシステムは、曲線３０２を移動させるためのモデルのユーザーによる修正／編集を受け取る。この修正は、曲線３０２と曲線３０４ａ／３０４ｂを移動させ、さらに曲線３０４ａ／３０４ｂと隣接する曲線３０６ａ／３０６ｂとの間の接続は維持する。残りの曲線は修正されない。それらは、最初の選択範囲の内側に入り込んだ場合であっても固定されたままである。
【００４３】
図２に示されているように、システムは、複数の曲線とそれらの関係とを含めて、選択された曲線セットを事前処理することができる（２２０）。選択された若しくは曲線ファインダによって識別された曲線は、それらに適用される幾何拘束と寸法拘束を有している可能性がある。曲線の修正操作は、これらの拘束と寸法を上書きすることができるが、同時に、できるだけ多くの設計意図を維持するようにも試みる。
【００４４】
この前処理は、修正（下記の）が定められた後まで、非活性化モデルの拘束システム（または拘束モデルのセット）を含むことができる。ここでは選択された曲線が、曲線認識関係によって課せられた制約のみで移動可能である。
【００４５】
このシステムは、選択された曲線の修正を受け取る（２２５）。このことは、例えば、ユーザーが選択された曲線をユーザインタフェースを介して新しい場所に「ドラッグ」する対話形式で行われてもよいし、選択された曲線のその他の修正、例えば当業者に周知の移動、回転、回転／移動、オフセット移動、サイズ変更、あるいは削除操作などによって行われてもよい。ユーザーは、選択された修正タイプに適しているユーザインタフェースを用いて修正入力を行うことができる。
【００４６】
システムは、修正された幾何モデルと修正された選択曲線セットとを生成するために、選択された曲線セットに従って修正（２３０）を行う。これは、典型的には、他の曲線と、選択された曲線セットの関係とともにユーザーによって定義され修正された選択曲線を含むバリエーショナルソルブである。この修正は、解決プロセスによって処理される。様々な実施形態では、修正はローカルであり、たとえ操作が拘束されたスケッチフューチャーでなされる場合であっても、モデル拘束システムを必要としない。
【００４７】
修正された幾何モデルは、出力結果の動的プレビューを使用して表示することができる。ユーザーはこの動的プレビューを見ながら修正の変更を行うことが可能である（このケースのプロセスは当該修正の受け取りを繰り返すことができる）。
【００４８】
このシステムは、曲線および関係を含めて、変更された選択曲線セット（２３５）の後処理が可能である。修正操作が事前拘束曲線上で実行されたときには拘束後処理が行なわれるべきである。修正の後で拘束ソルブは、修正された幾何モデル若しくは修正された選択曲線セットに曲線が従った場所を検知する。このシステムは、モデル拘束システムの再活性化を可能にし、前処理された拘束リストの下で動作し、出力結果を可能な限り損なうことなく、できるだけ多くの拘束と寸法と抑制解除し、適用することを試みることが可能である。
【００４９】
修正された選択曲線セットに関する拘束のために、システムは、新しい位置が拘束に適合しているか否かをチェックする。新しい位置が適合している（互換性がある）場合には、システムは、この拘束を再適用する。新しい位置と拘束の間で適合性ないし互換性がない場合には、当該拘束が削除される。
【００５０】
修正の結果として、拘束若しくは寸法に使用されている曲線が、修正された幾何モデル内にもはや存在しない場合には、この拘束若しくは寸法が削除される。修正された幾何モデルと競合する拘束が抑制できない場合には、これらのスケッチ拘束と寸法拘束とが削除される。この状況において、寸法拘束の値が、十分な解決のために変更される。
【００５１】
編集の後では、それらの調整により維持することが可能な所定の拘束が複数存在する。例えば固定された拘束は、対応する座標を有していない可能性があるので、それらは保存することができ、関連する曲線の編集と移動の後で、新たな固定位置が新しい場所になり得る。別の例として、一定の長さ拘束は、対応する表現式を持っていない可能性があるので、保存することができ、編集の後でハードコード化された長さが新しい長さに調整される。この時点から、線の新しい長さは、それに続く解決のための一定の長さとなる。一定の角度拘束も同じ様に維持することができる。モデルが全ての軸上で若しくは特定の軸上で均一にスケーリングできるか否かを定義する、均一スケール拘束や不均一スケール拘束も維持することが可能である。
【００５２】
システムが、任意の駆動寸法拘束を維持することが可能な場合には、
値が変更された場合に、システムは、以下のことを行う。すなわち、
表現式が幾何モデルのどこにも使用されていない値／数式である場合には、システムは、新しい値にマッチするように表現式を編集することができ、駆動寸法の表現式が新しい値にマッチするように調整されたことをユーザーに通知することができ、当該表現式で使用された任意の式は、ここで失われ、
表現式は値／数式であるが、幾何モデルにおいて別の表現で使用されている場合には、システムは参照として寸法を作成することができ、寸法が他の曲線を移動から防ぐために参照から作成されたことをユーザーに通知することができ、ユーザーは、関係を復元するために寸法を活性化することができる。
【００５３】
システムは、修正された選択曲線セットと任意の再活性化され適用された制約とを含めて、修正された幾何モデルを格納または表示する（２４０）。修正された選択曲線セットの中の曲線は、既に修正された幾何モデルの一部であり、発見された関係や修正された選択曲線セットの他のデータはもはや必要なくなるので、それらは削除されてもよいし、様々な実施形態において維持してもよい。システムは、関連する曲線の検索プロセスの繰り返しをセーブするために、修正された選択曲線セットを、同じ選択曲線のさらなる処理のために記憶することができる。いずれかの曲線が別の特徴のための入力としてダウンロードに使用された場合には、この関係は維持しなければならない。表示プロパティは変更されなくてよい。
【００５４】
当然のことながら、当業者であるならば、一連の操作によって特に指示されるか要求されるものでない限り、上述した処理における所定のステップは、省略することも、同時若しくは順次連続して実行することも、あるいは異なる順序で実行することも可能であることが理解できよう。
【００５５】
また当業者であるならば、説明の単純化や明瞭化のために、本発明の使用に適した全てのデータ処理システムの全ての構造および操作がここに網羅されている若しくは説明されているわけではないことも理解されよう。その代わりにここでは、データ処理システムのうちの、本発明特有のものか若しくは本発明の理解に必要なものだけを例示的に描写して説明している。データ処理システム１００の残りの構成と処理は、当該の技術分野において公知の実施形態並びに現在の様々な実現形態のいずれかと同じであってもよい。
【００５６】
本開示では、完璧な機能システムを前提にしての記述も含まれているが、当業者にとっては以下のことも十分理解され得る重要な点であることを指摘しておく。すなわち、本発明のメカニズムのうちの少なくとも一部は、機械利用可能、コンピュータ利用可能、またはコンピュータ読み出し可能媒体内に含まれる、種々異なる形態のうちの任意の形態の命令の形で配布でき、また本発明は、実際に上記の配布を行うのに使用される命令または信号記録媒体または記憶媒体の特定のタイプとは無関係に等しく適用されることが、当業者には理解され得ることを指摘しておく。機械利用可能／読み出し可能またはコンピュータ利用可能／読み出し可能な媒体の例には、ＲＯＭ（read only memory）またはＥＥＰＲＯＭ（electrically erasable programmable read only memory）のような不揮発性のハードコード型媒体、および、フロッピーディスク、ハードディスクドライブおよびＣＤ−ＲＯＭ（compact disk read only memory）またはＤＶＤ（digital versatile disk）などのユーザー記録可能型媒体が含まれる。
【００５７】
本発明の例示的な実施形態を詳細に説明してきたが、当業者であるならば、ここに開示したものの様々な変更、置き換え、変形および改良が、最も広い形態の本開示の精神および範囲から逸脱することなく行い得ることも理解されよう。
【００５８】
本開示におけるいずれの記載においても、任意の具体的な要素、ステップまたは機能が、特許請求の範囲に含まれなければならない必須の本質的要素であることを示しているものと解釈すべきではなく、特許発明の主題事項の権利範囲は、請求項の記載によって定められるべきである。さらに、“means for”（〜のための手段）という文言が現在分詞（‥ing）の形式で記載されていない限り、その請求項が米国特許法第１１２条第６項の適用を受けることはない。
【図１】
2016522501.tif 000003
【図２】
2016522501.tif 000004
【図３Ａ】
2016522501.tif 000005
【図３Ｂ】
2016522501.tif 000006
【国際調査報告】
2016522501.tif 000007
2016522501.tif 000008