(58)【調査した分野】(Int.Cl.,DB名)
【図面の簡単な説明】
【0006】
本発明及びその利点をより良く理解してもらうために、添付図を参照しながら以下に詳細な説明を行う。図中、同様の要素には同様の参照番号を付してある。
【
図1】実施形態を実現可能なデータ処理装置のブロック図である。
【
図2】A−Dともに、本発明の実施形態による、CADモデルの辺移動の可能な結果の例を示す図である。
【
図3】A−Lともに、本発明の実施形態による、特定条件及びユーザ選択に基づくCADモデルの基本挙動の例を示す図である。
【
図4】A−Lともに、本発明の実施形態による、複数の他の曲線タイプに対する特定条件及びユーザ選択に基づくCADモデルの基本挙動の例を示す図である。
【
図5】A−Iともに、本発明の実施形態による、複数の他の曲線タイプに対し、エレメント間に正接が発生する特定条件及びユーザ選択に基づくCADモデルの基本挙動の例を示す図である。
【
図6】A−Fともに、本発明の実施形態による、或るエレメントが運動したときの傾動の基本挙動の例を示す図である。
【
図7】A−Dともに、本発明の実施形態による、曲線高さ固定を用いた基本挙動を示す図である。
【
図8A】本発明の実施形態による、特定条件及びユーザ選択に基づくCADモデルの付加条件挙動の一例を示す図である。
【
図8B】本発明の実施形態による、特定条件及びユーザ選択に基づくCADモデルの付加条件挙動の一例を示す図である。
【
図8C】本発明の実施形態による、特定条件及びユーザ選択に基づくCADモデルの付加条件挙動の一例を示す図である。
【
図8D】本発明の実施形態による、特定条件及びユーザ選択に基づくCADモデルの付加条件挙動の一例を示す図である。
【
図8E】本発明の実施形態による、特定条件及びユーザ選択に基づくCADモデルの付加条件挙動の一例を示す図である。
【
図8F】本発明の実施形態による、特定条件及びユーザ選択に基づくCADモデルの付加条件挙動の一例を示す図である。
【
図8G】本発明の実施形態による、特定条件及びユーザ選択に基づくCADモデルの付加条件挙動の一例を示す図である。
【
図8H】本発明の実施形態による、特定条件及びユーザ選択に基づくCADモデルの付加条件挙動の一例を示す図である。
【
図8I】本発明の実施形態による、特定条件及びユーザ選択に基づくCADモデルの付加条件挙動の一例を示す図である。
【
図8J】本発明の実施形態による、特定条件及びユーザ選択に基づくCADモデルの付加条件挙動の一例を示す図である。
【
図8K】本発明の実施形態による、特定条件及びユーザ選択に基づくCADモデルの付加条件挙動の一例を示す図である。
【
図8L】本発明の実施形態による、特定条件及びユーザ選択に基づくCADモデルの付加条件挙動の一例を示す図である。
【
図9】A−Fともに、本発明の実施形態による、種々の接続分類を示す図である。
【
図10】本発明の実施形態による方法のフローチャートである。
【0007】
詳細な説明
後述する
図1から
図10及び本願明細書の本発明の方式の説明に用いられる種々の実施形態は、例示のためのものにすぎず、いかなる手段においても本発明の範囲を限定するものでない。本発明の方式が適切な構成の装置において実現可能であることは当業者に理解されるであろう。典型例としての非制限の実施形態に即して、本明細書の多数の革新的な教説を説明する。
【0008】
本発明の実施形態により、2D及び3Dのジオメトリを直感的に編集できる。ユーザの期待に添う確実な結果を保証するには、運動しているジオメトリの局所的挙動を制御しなければならない。本発明の実施形態には、CADモデルを編集する際に所望の挙動を定義及び形成する装置及び方法が含まれる。
【0009】
シーメンスプロダクトライフサイクルマネジメントソフトウェア社の製品を使用した「シンクロナス技術」プロセスなどのバリエーションモデリングシステムでは、変更が広く種々に表現される。バリエーション系は、ジオメトリ拘束及び寸法に関して、オブジェクトモデル又は曲線集合におけるフィーチャのパラメータ及びフィーチャ間の関係を記述する。この場合、この種の系は、拘束及び寸法、及び、デザインの意図を維持するのに必要な複数の補助的な拘束及び寸法を処理するために「ソルバ」プロセスを使用し、同時に、モデルの必要部分の解を求める。
【0010】
従来、2次元(2D)もしくは3次元(3D)での曲線ジオメトリは、拘束が全く存在しないか又は系全体が完全に拘束される状態で、自動もしくは手動により制御されてきた。ただし、これらの手法のいずれも、選択ベースであって、局所的かつ高速かつ直感的な編集が自動的に行われ、系全体を拘束する必要がないというシンクロナス技術の利点を有さない。
【0011】
CADモデルは、トポロジ上及びジオメトリ上の一連の関係によって相互に関連づけられたジオメトリ集合によって定義される。これらの関係は、ジオメトリが操作される際にも維持されなければならない。というのは、これは、運動ジオメトリ及び静止ジオメトリ双方の局所的挙動に影響するからである。
【0012】
或るジオメトリが操作されると、これに関連するジオメトリが関係を維持するために運動しうる経路が多数生じることが多い。人間が見ればこれらのソリューションの幾つかは望ましくないことが明らかなのであるが、それでも多くの経路が存在する。ここから、ソフトウェアのあらゆる部分に対し、ユーザにとって双方のジオメトリが直感的となり、さらに、所望の結果を得るためのフレキシビリティが提供されるよう、ジオメトリを操作したいという課題が生じる。
【0013】
本発明の実施形態では、運動しているエンティティと隣接するエンティティとの双方に対する所望の局所的挙動が定義され、CADシステムにおける挙動の形成プロセスが記述される。
【0014】
図1には、一実施形態を実現可能なデータ処理装置のブロック図が示されている。当該データ処理装置は、例えばPDM装置として、特に上述したプロセスを実行するソフトウェアその他によって、とりわけ上述した複数の中間接続される通信装置のそれぞれとして構成可能である。図示されているデータ処理装置は、プロセッサ102と、これに接続されるレベル2のキャッシュ/ブリッジ104と、これらに接続されているローカルシステムバス106とを含む。ローカルシステムバス106は例えば周辺装置接続アーキテクチャバス(PCIバス)であってよい。さらに、図示の例のローカルシステムバスには、主メモリ108及びグラフィックアダプタ110も接続されている。グラフィックアダプタ110にはディスプレイ111を接続可能である。
【0015】
他の周辺装置、例えばローカルエリアネットワーク/ワイドエリアネットワーク/ワイヤレスアダプタ(LAN/WAN/WiFiアダプタ)112もローカルシステムバス106に接続可能である。拡張バスインタフェース114はローカルシステムバス106とI/Oバス116とを接続している。I/Oバス116はキーボード/マウスアダプタ118とディスクコントローラ120とI/Oアダプタ122とに接続されている。ディスクコントローラ120は記憶装置126に接続可能であり、この記憶装置126は、適切な機械で利用可能もしくは読み出し可能な記憶媒体であってよい。ここでの記憶媒体は、以下に限定されるものではないが、不揮発性の硬性符号化式の媒体、例えば、読み出し専用メモリROM、又は、電気的に消去及び再プログラミング可能な読み出し専用メモリEEPROM、磁気テープ記憶装置、及び、ユーザが記録可能なタイプの媒体、例えば、フロッピーディスク、ハードディスクドライブ、コンパクトディスク読み出し専用メモリCD‐ROMもしくはディジタルヴァーサティルディスクDVD、及び、他の公知の光学的もしくは電気的もしくは磁気的記憶装置などを含む。記憶装置126は、後述するようなCADモデル152及びバリエーション系154その他のプログラミングエレメント及びデータエレメントを記憶することができる。
【0016】
また、図示の例のようにI/Oバス116にオーディオアダプタ124を接続することもできる。オーディオアダプタ124には音声出力のために(図示されていない)スピーカを接続できる。キーボード/マウスアダプタ118は(図示されていない)ポインティングデバイス、例えばマウス、トラックボール、トラックポインタなどへの接続を形成する。
【0017】
当業者であれば、
図1に示されているハードウェアを特定の構成に合わせて変更できることが理解されるはずである。例えば他の周辺装置、例えば光ディスクドライブその他を図示のハードウェアに加えてもしくはこれに代えて用いることができる。図示の例は説明のためのものに過ぎず、本発明に対する構造上の限定を示唆するものではない。
【0018】
本発明の実施形態に関連するデータ処理装置は、グラフィックユーザインタフェースを利用したオペレーティングシステムを含む。オペレーティングシステムにより、グラフィックユーザインタフェースに複数のディスプレイウィンドウを同時に表示して、各ディスプレイウィンドウにより、種々のアプリケーションに対するインタフェース、又は、同じアプリケーションの種々のインスタンスに対するインタフェースを形成することができる。グラフィックユーザインタフェースのカーソルは、ユーザがポインティングデバイスを介して操作可能である。カーソルの位置変更、及び/又は、マウスボタンのクリックなどのイベントによって、所望の応答を作動させることができる。
【0019】
市販されている種々のオペレーティングシステムのうち、例えば、ワシントン州レッドモンド在のマイクロソフトコーポレーション社の製品であるマイクロソフトウィンドウズ(登録商標)の所定のバージョンを適切に修正して利用可能である。オペレーティングシステムは上述した本発明にしたがって修正もしくは作成される。
【0020】
LAN/WAN/ワイヤレスアダプタ112は(データ処理装置100の要素でない)ネットワーク130に接続可能である。ネットワーク130は、インタネットを含めた、当業者に周知の公共のもしくは私的なデータ処理装置ネットワーク又はネットワークコンビネーションであってよい。データ処理装置100はネットワーク130を介して同様にデータ処理装置100の要素でないサーバシステム140と通信可能であるが、このサーバシステム140を例えば別個のデータ処理装置100として構成することもできる。
【0021】
図2のA−Dには、CADモデルにおける位置Aから位置Bへの辺205の移動の結果の可能例が示されている。移動している辺205とこれに接続している近隣物とを考慮して、可能な結果の全てがユーザによって所望されうる。本発明の実施形態は、正確かつ一定の結果を保証する方法に関する。
【0022】
種々の実施形態により、CADモデルの挙動が定義され、編集が実行される。これは、装置内のジオメトリ間の1つもしくは複数のタイプの接続状態、又は、ユーザの選択、又は、ユーザに許容される、ユーザの要求を満たす挙動を構成するためのオプション、又は、装置に対して計算された順序で自動的に適用される種々のプリファランスに基づいて行われる。
【0023】
ここでの説明及び図は、わかりやすくするために2次元(2D)CADモデルの例に則して記述乃至提示しているが、本発明の技術及びプロセスは3次元(3D)CADモデルにも同様に適用可能である。
【0024】
CADモデルの一貫した挙動を形成するために、装置は、種々の状況及びオプションに対する所望の挙動を定義することができる。以下に説明する例は、一般に、装置にビルトインされるデフォルトの挙動を記述する基礎挙動、又は、所望の事象に基づいてユーザがイネーブルもしくはディスエーブル可能な付加的な挙動のセットを含むことのできる付加挙動として分類可能である。
【0025】
以下の説明及び図は、1つのモデルに対して種々の編集を行う際に所望の挙動を形成する方法の例を示すものであり、多種のジオメトリ条件及びトポロジ条件を含む。
【0026】
図3のA−Lには、特定の条件及びユーザ選択に基づくCADモデルの基本挙動の例が示されている。
【0027】
図3のA−Cには、辺305もしくは頂点310が第1の位置Aから第2の位置Bへ移動される際の1辺頂点条件が示されている。
図3のAでは、辺305がユーザによって選択されて移動される。対応する基本挙動は、辺305の端の頂点が辺305とともに移動するという挙動である。
【0028】
図3のBでは、頂点310がユーザによって選択されて移動される。対応する基本挙動は、辺305が最遠の頂点(頂点310の反対側)を中心として傾動もしくは回転されるという挙動である。また、辺305も、頂点310の新たな位置に対応するよう短縮もしくは延長可能である。
【0029】
図3のCでは、頂点310及び辺305の双方がユーザによって選択されて移動される。対応する基本挙動は、辺305及びその頂点がともに移動するという挙動である。
【0030】
図3のD−Fには、辺305もしくは頂点310が第1の位置Aから第2の位置Bへ移動される際の2辺頂点条件が示されている。
図3のDでは、辺305がユーザによって選択されて移動される。対応する基本挙動は、辺305の各頂点が隣辺に接続された状態にとどまり、かつ、辺305が隣辺に基づいてトリミングもしくは展開されるという挙動である。
【0031】
図3のEでは、頂点310がユーザによって選択されて移動される。対応する基本挙動は、頂点310に属する辺の全てが最遠の頂点(頂点310の反対側)を中心として傾動もしくは回転されるという挙動である。また、これらの辺も、頂点310の新たな位置に対応するように短縮もしくは延長可能である。
【0032】
図3のFでは、頂点310及び辺305の双方がユーザによって選択されて移動される。対応する基本挙動は、頂点310の非選択の(斜めの)辺が傾動され(回転及び延長され)、(水平方向での)他方の端の非選択の辺が、頂点310の新たな位置にしたがってトリミングもしくは展開される。
【0033】
図3のG−Iでは、辺305もしくは頂点310が第1の位置Aから第2の位置Bへ移動される際の接触頂点条件が示されている。
図3のGでは、辺305がユーザによって選択されて移動される。対応する基本挙動は、辺305に接触する頂点を有する非選択の辺が、辺305の移動にしたがってトリミングもしくは展開されるという挙動である。
【0034】
図3のHでは、頂点310がユーザによって選択されて移動される。対応する基本挙動は、頂点310への接続を保持するために、頂点310に属する辺もしくは頂点310に接触する辺の全てが最遠の頂点(頂点310の反対側)を中心として傾動もしくは回転されるという挙動である。また、これらの辺も、頂点310の新たな位置に対応するように短縮もしくは延長可能である。
【0035】
図3のIでは、頂点310及び辺305の双方がユーザによって選択されて移動される。対応する基本挙動は、選択された頂点に接続されている非選択の斜めの辺が傾動し、選択された辺に接続されている非選択の垂直の辺が、頂点310及び辺305の新たな位置に基づいてトリミングもしくは展開されるという挙動である。
【0036】
図3のJ−Lには、辺305もしくは頂点310が第1の位置Aから第2の位置Bへ移動される際の3以上辺頂点条件が示されている。
図3のJでは、辺305がユーザによって選択されて移動される。対応する基本挙動は、3辺頂点に入射する非選択の辺が傾動し、(2辺頂点に入射する)非選択の辺が辺305の移動を基準としてトリミングもしくは展開されるという挙動である。
【0037】
図3のKでは、頂点310がユーザによって選択されて移動される。対応する基本挙動は、頂点310への接続を保持するために、頂点310に属する3以上の辺の全てが最遠の頂点(頂点310の反対側)を中心として傾動もしくは回転されるという挙動である。また、これらの辺も、頂点310の新たな位置に対応するように短縮もしくは延長可能である。
【0038】
図3のLでは、頂点310及び辺305の双方がユーザによって選択されて移動される。対応する基本挙動は、左側(3辺頂点)の各辺が傾動し、右頂点側の各辺(垂線)が、頂点310及び辺305の新たな位置に基づいてトリミングもしくは展開されるという挙動である。
【0039】
図4のA−Lには、幾つかの別の曲線タイプに対する特定条件及びユーザ選択に基づくCADモデルの基本挙動の例が示されている。同様の基本挙動は、別の曲線タイプが使用される複数のケースで定義することができる。簡単化のために、以下の例では2辺頂点条件を示すが、1辺条件、接触辺条件、3以上辺条件のケースでの同様の挙動も本発明の範囲に含まれる。
【0040】
図4のA−Cには、辺405もしくは頂点410が第1の位置Aから第2の位置Bへ移動される際の接続弧条件が示されている。
図4のAでは、辺405が、弧に属する少なくとも1つの頂点を有し、ユーザによって選択されて移動される。対応する基本挙動は、辺405が(1つもしくは複数の)接続弧との接続の保持に対応できるように短縮もしくは延長されるという挙動である。
【0041】
図4のBでは、頂点410がユーザによって選択されて移動される。対応する基本挙動は、接続弧もしくは接続辺が最遠の頂点(頂点410の反対側)を中心として傾動されるという挙動である。また、接続辺もしくは接続弧も、頂点410の新たな位置に対応するように短縮もしくは延長可能である。
【0042】
図4のCでは、頂点410及び辺405の双方がユーザによって選択されて移動される。対応する基本挙動は、辺405及び辺405の各頂点(頂点410を含む)が共に移動され、全ての接続弧もしくは接続辺が最遠の頂点(頂点410の反対側)を中心として傾動されるという挙動である。このケースでは、上部の弧が、選択された頂点に接続される際に傾動される。下部の弧はトリミングされるか又は延長される。また、接続辺もしくは接続弧も、辺405の各頂点の新たな位置に対応するように短縮もしくは延長可能である。
【0043】
図4のD−Fには、曲線415(このケースでは弧)もしくは頂点410が第1の位置Aから第2の位置Bへ移動される際の接続弧条件が示されている。
図4のDでは、曲線415がユーザによって選択されて移動される。対応する基本挙動は、曲線415の弧の径がリジッドに保持され、曲線415が全ての接続辺との接続の保持のために短縮もしくは展開されるという挙動である。
【0044】
図4のEでは、頂点410がユーザによって選択されて移動される。対応する基本挙動は、全ての接続弧もしくは接続辺が最遠の頂点(頂点410の反対側)を中心として傾動されるという挙動である。また、接続辺もしくは接続弧も、頂点410の新たな位置に対応するように短縮もしくは延長可能である。
【0045】
図4のFでは、頂点410及び曲線415の双方がユーザによって選択されて移動される。対応する基本挙動は、辺415及び選択された頂点410が共に移動され、曲線415の弧の径がリジッドに保持され、曲線415が全ての接続辺との接続の保持のために短縮もしくは延長され、全ての接続弧もしくは接続辺が最遠の頂点(頂点410の反対側)を中心として傾動されるという挙動である。つまり、斜めの非選択の上辺が傾動され、水平の下辺がトリミングもしくは延長され、選択された辺が頂点と共に移動して、下側で水平の辺に対応するようにトリミングされる。また、接続辺もしくは接続弧も、曲線415の各頂点の新たな位置に対応するように短縮もしくは延長可能である。
【0046】
図4のG−Iには、辺405もしくは頂点410が第1の位置Aから第2の位置Bへ移動される際の一般曲線条件が示されている。
図4のGでは、辺405がユーザによって選択されて移動される。対応する基本挙動は、辺405が、全ての接続辺もしくは接続曲線との接続の保持のために短縮もしくは延長されるという挙動である。
【0047】
図4のHでは、頂点410がユーザによって選択されて移動される。対応する基本挙動は、全ての接続弧もしくは接続曲線が最遠の頂点(頂点410の反対側)を中心として傾動されるという挙動である。また、接続辺もしくは接続曲線も、頂点410の新たな位置に対応するように短縮もしくは延長可能である。
【0048】
図4のIでは、頂点410及び辺405の双方がユーザによって選択されて移動される。対応する基本挙動は、辺405及び選択された頂点が共に移動され、全ての接続曲線もしくは接続辺が最遠の頂点(接続しているいずれかの頂点の反対側)を中心として傾動されるという挙動である。また、接続辺もしくは接続曲線も、辺405の各頂点の新たな位置に対応するように短縮もしくは延長可能である。つまり、このケースでは、上辺が傾動され、下辺がトリミングされる。
【0049】
図4のJ−Lには、曲線415もしくは頂点410が第1の位置Aから第2の位置Bへ移動される際の一般曲線条件が示されている。
図4のJでは、曲線415がユーザによって選択されて移動される。対応する基本挙動は、曲線415につき、その形状はリジッドであるが、全ての接続辺もしくは接続曲線との接続の保持のためにこれを短縮もしくは延長できるという挙動である。
【0050】
図4のKでは、頂点410がユーザによって選択されて移動される。対応する基本挙動は、頂点410への接続が保持されるよう、頂点410に属する曲線もしくは辺の全てが最遠の頂点(頂点410の反対側)を中心として傾動もしくは回転されるという挙動である。また、これらの辺も、頂点410の新たな位置に対応するように短縮もしくは延長することができる。
【0051】
図4のLでは、頂点410及び曲線415の双方がユーザによって選択されて移動される。対応する基本挙動は、曲線415の形状がリジッドであるが、曲線415を全ての接続辺もしくは接続曲線との接続の保持のために短縮もしくは延長できるという挙動である。このケースでは、上辺も、選択された頂点に接続されて傾動される。
【0052】
正接性によって挙動の複雑さにさらなる層が追加される。
図5のA−Iには、エレメントどうしが正接している幾つかの別の曲線タイプに対する特定条件及びユーザ選択に基づくCADモデルの基本挙動の例が示されている。以下のダイアグラムには、種々の選択及び頂点条件が示されており、これらは全て弧及び直線に基づく。同様の状況は、別の曲線タイプ間の正接についても存在する。
【0053】
図5のA−Cには、辺505又は曲線515が第1の位置Aから第2の位置Bへ移動される際の2辺頂点正接条件が示されている。
図5のAでは、辺505がユーザによって選択されて移動される。対応する基本挙動は、辺505に対して正接関係を有する全ての接続曲線もしくは接続弧が正接関係の保持のために移動され、他の辺もしくは曲線が相応にトリミングされるという挙動である。
【0054】
図5のBでは、曲線515がユーザによって選択されて移動される。対応する基本挙動は、正接関係の保持のために、全ての接続弧もしくは接続辺が最遠の頂点(曲線515の反対側)を中心として傾動されるという挙動である。また、接続辺もしくは接続弧も、曲線515の新たな位置に対応するように短縮もしくは延長可能である。
【0055】
図5のCでは、曲線515及び辺505の双方がユーザによって選択されて移動される。対応する基本挙動は、正接関係の保持のために、辺505及び曲線515が共に移動され、全ての接続弧もしくは接続辺が最遠の頂点(曲線515の反対側)を中心として傾動されるという挙動である。また、接続辺もしくは接続弧も、曲線515及び辺505の各頂点の新たな位置に対応するように短縮もしくは延長可能である。正接性によって接続されている辺は傾動され、非正接点に接続している辺はトリミングされるかもしくは展開される。よって、このケースでは、上辺が傾動され、下辺が展開される。
【0056】
図5のD−Fには、曲線515又は辺505が第1の位置Aから第2の位置Bへ移動される際の一般正接条件が示されている。
図5のDでは、曲線515がユーザによって選択されて移動される。対応する基本挙動は、曲線515に対して正接関係を有する全ての接続曲線もしくは接続弧が正接関係の保持のために移動され、他の辺もしくは曲線が相応にトリミングもしくは傾動されるという挙動である。
【0057】
図5のEでは、辺505がユーザによって選択されて移動される。辺505は少なくとも1つの曲線に対して正接関係を有する。対応する基本挙動は、正接関係の保持のために、全ての接続曲線もしくは接続辺が最遠の頂点(辺505の反対側)を中心として傾動されるという挙動である。また、接続辺もしくは接続曲線も、辺505の新たな位置に対応するように短縮もしくは延長可能である。このケースは、傾動がレベルの移動である点で、他のケースとは異なる。弧は選択に対して正接性を保持するように移動され、隣辺が弧に対して正接となるときにこれらが傾動される。
【0058】
図5のFでは、辺505がユーザによって選択されて移動される。辺505は少なくとも1つの曲線に対して正接関係を有する。対応する基本挙動は、正接関係の保持のために、弧に対して正接に接続している全ての非選択の辺が最遠の頂点(辺505の反対側)を中心として傾動されるという挙動である。また、接続辺もしくは接続曲線も、辺505の新たな位置に対応するように短縮もしくは延長可能である。
【0059】
図5のG−Iには、辺505又は曲線515が第1の位置Aから第2の位置Bへ移動される際の3辺頂点正接条件が示されている。
図5のGでは、辺505がユーザによって選択されて移動される。対応する基本挙動は、弧が正接性の保持のために移動され、その後、弧の近隣物が辺505に対する接続及び全ての正接関係の保持のために相応に延長もしくは短縮されるという挙動である。
【0060】
図5のHでは、曲線515がユーザによって選択されて移動される。対応する基本挙動は、全ての接続辺もしくは接続曲線が正接関係の保持のために傾動されるという挙動である。また、接続辺もしくは接続曲線も、曲線515の新たな位置に対応するように短縮もしくは延長可能である。
【0061】
図5のIでは、辺505がユーザによって選択されて移動される。対応する基本挙動は、辺505との接続及び全ての正接関係の保持のために、他の曲線もしくは辺が短縮もしくは延長されるという挙動である。このケースでは、正接性は上部で保持され、辺は下部でトリミングもしくは展開される。
【0062】
上述した例の多くについて、辺又は曲線は、モデルへの変更を局限するために「傾動」もしくは回転されることが示されている。傾動の挙動は、幾何学形状のタイプ及びあらゆる正接性に依存する。
【0063】
図6のA−Fには、本発明の実施形態にしたがって、或るエレメントが第1の位置Aから第2の位置Bへ移動される際の傾動の基本挙動の例が示されている。
図6のAには、頂点610が移動される際の直線傾動の例が示されている。このケースでは、接続された直線は最遠の頂点を中心として(頂点610から)回転し、各頂点への接続を保持するために展開される。
図6のBには、弧615が移動される際の直線傾動の例が示されている。このケースでは、接続された直線は回転し、正接性の保持のために展開される。
【0064】
図6のCには、頂点610が移動される際の弧の傾動の例が示されている。このケースでは、弦の高さの保持のために接続弧は「ストレッチ」及び回転されるが、その接続を保持するために依然として端点を通過する。
図6のDには、頂点610が移動される際の別の弧の傾動の例が示されている。このケースでは、接続弧の半径及び位置は正接性の保持のために移動され、弧の接続の保持のために依然として端点を通過する。
【0065】
図6のEには、頂点610が移動される際の一般傾動の例が示されている。このケースでは、弦の高さの保持のために接続曲線は「ストレッチ」及び回転されるが、その接続の保持のために依然として端点を通過する。
図6のFには、頂点610が移動される際の一般傾動の例が示されている。このケースでは、接続曲線は正接性の保持のためにストレッチ及び移動されるが、依然として端点を通過する。
【0066】
曲線高さ固定とは、上述したように、その高さを一定に保持しながら2点間に当てはめるべき曲線を「ストレッチ」する手段である。これは、3点間の弧を定義することによって弧にも簡単に適用されるが、別の曲線にも適用可能である。種々の変化のもとで曲線高さを制御することにより、単純かつ一貫した挙動が得られる。
【0067】
図7のA−Dには、本発明の実施形態による曲線高さ固定を用いた基本挙動が示されている。各ケースでは、曲線もしくは弧715は、第1の点PT1から第3の中間点PT3を通過して第2の点PT2へ至る。曲線高さは、PT3からPT1とPT2とを接続する(仮想の)接続線までの直交距離である。
【0068】
図7のAにはオリジナルの曲線が示されており、
図7のBには曲線高さ固定によって編集された対応する曲線が示されている。
図7のAでは、弧715がPT1,PT2,PT3間に定義されている。
図7のBでは、編集後、弧715が新たな点位置への当てはめのためにストレッチされているが、弦の高さは一定に維持されている。
【0069】
図7のCにはオリジナルの曲線が示されており、
図7のDには曲線高さ固定によって編集された対応する曲線が示されている。
図7のCでは、曲線715がPT1,PT2間に定義されており、PT3でボックスに接触している。
図7のDでは、編集後、曲線715はストレッチされているが、依然としてPT1からPT2までを通過し、PT3で同じ曲線高さを有している。
【0070】
図8A−
図8Lには、幾つかの別の曲線タイプに対する特定条件及びユーザ選択に基づくCADモデルの付加条件挙動の例が示されている。以下のダイアグラムには、種々の選択及び頂点条件が示されており、これらは全て弧及び直線に基づく。同様の状況は、別の曲線タイプについても存在する。
【0071】
図8A,
図8Bには、辺805が第1の位置Aから第2の位置Bへ移動される際の一定寸法の付加条件が示されている。
図8Aでは付加条件が「オン」であり、
図8Bでは付加条件が「オフ」である。
図8Aでは、選択された辺805が同じ位置にとどまり、各隣辺が適応のために回転する。
図8Bでは、選択された辺805の寸法が変化し、各隣辺が静止状態にとどまって、移動された曲線に適合するよう単純にトリミングもしくは展開される。
【0072】
図8C,
図8Dでは、辺805が第1の位置Aから第2の位置Bへ移動する際の非マニホルド保存の付加条件が示されている。
図8Cでは付加条件が「オン」であり、
図8Dでは付加条件が「オフ」である。
図8Cでは非マニホルドの全ての条件が探索され、維持される。
図8Dでは非マニホルドの条件が分割される。
【0073】
図8E,
図8Fでは、頂点810が第1の位置Aから第2の位置Bへ移動する際の水平/垂直固定の付加条件が示されている。
図8Eでは付加条件が「オン」であり、
図8Fでは付加条件が「オフ」である。
図8Eでは、接続された垂直の辺が垂直にとどまる。
図8Fでは、接続された水平の辺が回転する。もちろんここでは垂直固定が示されているが、水平固定も同様に扱うことができる。
【0074】
図8G,
図8Hでは、辺805が第1の位置Aから第2の位置Bへ移動する際の寸法固定の付加条件が示されている。
図8Gでは付加条件が「オン」であり、
図8Hでは付加条件が「オフ」である。
図8Gでは円の半径が保存される。
図8Hでは円の半径が増大される。
【0075】
図8I,
図8Jでは、頂点810が第1の位置Aから第2の位置Bへ移動する際の傾動の付加条件が示されている。
図8Iでは付加条件が「オン」であり、
図8Jでは付加条件が「オフ」である。
図8Iでは、編集を局限するために、接続された直線及び弧が傾動される。
図8Jでは、接続された直線が頂点810に一致するように移動され、弧の径が変化して弧が移動される。
【0076】
図8K,
図8Lでは、頂点810が第1の位置Aから第2の位置Bへ移動するが、その際に弧の軸線もしくは仮想の交点を中心としたエレメントの傾動が要求される「対称傾動」の付加条件が示されている。
図8Kでは付加条件が「オン」であり、
図8Lでは付加条件が「オフ」である。
図8Kでは、モデル内の弧が静止状態にとどまり、接続線に正接する。
図8Lでは、2つの弧の接続線間の仮想の交点が静止状態にとどまり、当該線への正接が保持されるように弧が移動する。
【0077】
上述したように、上述した挙動の全てはわかりやすくするために単純な2Dスケッチによって説明及び図示しているが、その基本方式は、本発明の範囲内に入る3Dエレメント及びモデルにも適用可能である。
【0078】
説明した複数の領域は、所望の挙動の決定を補助する近隣のエンティティへの接続のタイプ分類を利用している。例えば、2辺間の接続はL頂点と記述することもできる。
【0079】
図9のA−Fには、ここで言及されうる種々の接続の分類が示されている。ここでも、わかりやすくするために2Dに即して説明及び図示しているが、これらの説明は3Dにも適用可能である。ダイアグラムには辺の端点間のギャップが示されている。ただし、典型的には、これらのギャップは頂点に接続されるか、又は、頂点に一致する。
図9のAには辺の「開放」頂点である「O頂点」が示されており、
図9のBには2辺間の「L頂点」が示されており、
図9のCには2辺間の「T頂点」が示されており、
図9のDには3辺間の「T頂点」が示されており、
図9のEには3辺間の「Y頂点」が示されており、
図9のFには4辺間の一般化された「Y頂点」が示されている。
【0080】
編集中のモデルの挙動を形成及び制御する1つのプロセスは、1つもしくは複数のCADデータ処理装置によって実行される幾つかのステップを含む。装置は、解かれるべき系、すなわち、1つもしくは複数の所望のユーザ動作(すなわち移動、回転など)、発見されたジオメトリ関係(すなわち正接、共心など)、トポロジ関係(すなわち辺、頂点など)、ユーザが定義した関係(すなわち距離、半径など)、及び、エンティティの挙動を定義するプリファランス(すなわち一致優先、平行優先など)を含む系を構築する。
【0081】
この場合、データ処理装置は、所望の挙動が生じるように定義されたプリファランスを順位付けすることができ、何に変更が必要かを判別し、その変更をモデルに適用する解を系に与えることができる。
【0082】
「プリファランス」は、装置が解法を実行できなくなった場合にのみ適用される拘束である。当該プリファランスは、モデルでの正規の拘束もしくは正規の条件に対して2次的な一般挙動特性を提供する際に有効である。
【0083】
例えば、2つの直線を含み、一方の直線が回転され、他方の直線が固定される系を考察する。この場合、2つの直線間の平行のプリファランスは、データ処理装置が解法を実行できなくなるので、適用されない。
【0084】
本発明の実施形態は、一般的なバリエーションのプロセスを、選択されたエンティティのリジッド性の拡張利用、接続の発見及び分類の拡張利用、挙動を制御する付加的なプリファランスの形成の拡張利用、及び、挙動を制御する付加的な順位付けロジックの拡張利用が含まれるように拡張することである。
【0085】
本発明の実施形態によれば、選択されたエンティティのリジッド性を拡張利用できる。選択されたエンティティの全てを編集中リジッドに維持することができ、これは、選択されたセット内の全てのエンティティが同じ変換を受けることを意味する。本発明の実施形態では、このリジッド性の特徴を拡張して、選択の際にリジッドであるべき近隣の全てのY頂点を自動的に拘束できる。これは
図3のJの例に類似している。「寸法一定」のオプションがオンであれば、装置は、選択の際にリジッドであるべき近隣の全ての頂点を自動的に拘束できる。これは
図8A,
図8Bの例に類似している。
【0086】
本発明の実施形態によれば、接続の発見及び分類を拡張利用できる。装置は、正接、平行などの拘束を含む種々のジオメトリ条件を自動的に発見するために、モデルを分析できる。本発明の実施形態では、付加的に、上述したL頂点もしくはY頂点を形成する一致頂点の条件や、上述したT頂点を形成する辺上頂点の条件などを発見することもできる。
【0087】
本発明の実施形態によれば、挙動を制御する付加的なプリファランスの形成を拡張利用できる。プリファランスは、モデル内のエンティティの挙動を定義するために形成可能である。この場合、個々のプリファランスは、一貫した挙動を生じさせるために順位付け可能である。プリファランスは、上述した水平/垂直固定の挙動、上述した半径固定の挙動、及び、正接が使用される際に幾分回転する辺の挙動などを形成するためのプリファランスを含んでよい。本発明の実施形態によれば、付加的なプリファランス、例えば、上述した「弦高さ固定」、O頂点が
図3のAの例で使用されているような辺と同じ変換を受けることを保証する、O頂点についての「できるかぎりリジッド(rigid-if-possible)」、及び、上述した幾つかの例に見られるような、最遠の頂点を中心とした辺の回転を強制する、各頂点についての「できるかぎり不動(do-not-move-if-possible)」などのプリファランスを形成できる。
【0088】
本発明の実施形態によれば、挙動を制御する付加的な順位付けロジックを拡張利用することができる。一般に、形成された全てのプリファランスは装置によって順位付けされる。当該装置は、プリファランスのタイプとユーザが定義した動作からのプリファランスの距離とに基づくロジックの組み合わせを用いて、プリファランスの順位を定める。上述したプリファランスはこうした順位の系に自然な形式で適用される。また、本発明の実施形態では、「弦高さ固定」などのプリファランスに優先性が与えられ、O頂点についての「できるかぎりリジッド(rigid-if-possible)」のプリファランスにも適切な優先性が与えられる。
【0089】
図10には、例えばCADデータ処理装置で実行可能な、本発明の実施形態による方法のフローチャートが示されている。CADデータ処理装置は例えば上述したデータ処理装置100であり、以下では一般に「装置」と称する。
【0090】
装置は、複数のエンティティを含むCADモデルを受信する(1005)。CADモデルは2Dもしくは3Dモデルであってよく、エンティティは、辺、曲線、頂点などの2Dエレメント、又は、辺、面などの3Dエレメントであってよい。ここで云う「受信」とは、記憶装置からのローディング、他の装置もしくはプロセスからの受け取り、ユーザとのインタラクションを介した受信その他を含んでよい。CADモデルは、メモリもしくは他の記憶装置にCADモデル152などとして保持可能である。
【0091】
装置は、少なくとも1つのエンティティの選択及び選択されたエンティティの運動を含むユーザ入力を受信する(1010)。
【0092】
装置は、ユーザ入力に対応する全ての基本条件挙動を適用する(1015)。これは、上述した全ての基本条件挙動を含んでよい。このプロセスの一部として、装置は、上述したように選択されたエンティティに対してリジッド性を適用でき、上述したジオメトリ条件を発見もしくは分類できる。
【0093】
装置は、ユーザ入力に対応する全ての付加条件挙動を適用する(1020)。これは、上述した全ての付加条件挙動を含んでよい。
【0094】
装置は、ユーザ入力と適用された全ての基礎条件挙動及び全ての付加条件挙動とに基づいて解を得るべきバリエーション系を構築する(1025)。基本条件挙動及び付加条件挙動はプリファランスとして扱うことができ、これら及びその他のプリファランスは、バリエーション系を構築する部分として順位付け及び適用可能である。ここでのバリエーション系は、メモリもしくは他の記憶装置内にバリエーション系154として保持可能である。
【0095】
装置は、編集されたCADモデルを形成するバリエーション系についてバリエーションの解法を実行する(1030)。
【0096】
装置は、編集されたCADモデルを記憶又は表示する(1035)。
【0097】
もちろん、格別のことわりがないかぎり、又は、各動作の順序の要求がないかぎり、上述したプロセスの所定のステップの省略もしくは同時実行もしくは順次実行、又は、順序の入れ替え等が可能であることは、当業者には理解されるであろう。
【0098】
当業者には、簡明性のために、本発明の利用に適した各データ処理装置の構造及び動作の全てをここでは図示乃至説明してはいないことが理解されるであろう。むしろ、本発明に独特な、又は、本発明の理解にとって必須のデータ処理装置の要素のみを図示乃至説明した。データ処理装置100の他の構造及び動作は従来知られている種々の現行のものに対応していてよい。
【0099】
さらに、本発明を1つの完全な機能的装置のコンテクストにおいて説明したが、当業者であれば、本発明の機構の少なくとも一部を複数の命令形式に分散して、機械もしくはコンピュータで利用可能な、又は、コンピュータで読み出し可能な種々の形状の媒体に含めてもよいことに注意が必要である。なお、本発明は、実際の配布の実行に利用される命令もしくは信号を担持する媒体又は記憶媒体の特定のタイプにかかわらず、等しく適用可能である。機械もしくはコンピュータで利用可能な、又は、機械もしくはコンピュータで読み出し可能な媒体の例として、不揮発性の硬性符号化タイプの媒体、例えば、読み出し専用メモリROMもしくは電気的に消去可能かつ再プログラミング可能な読み出し専用メモリEEPROM、及び、ユーザが記録可能なタイプの媒体、例えばフロッピーディスク、ハードディスクドライブ、コンパクトディスク読み出し専用メモリCD‐ROMもしくはディジタルヴァーサティルディスクDVDなどが挙げられる。
【0100】
本発明を典型的な実施形態に則して具体的に説明したが、当業者は、本発明の最も広い意味での思想乃至観点を逸脱することなく、上述した種々の変更、置換又は修正及び改善を行えることを理解するであろう。
【0101】
本願明細書のいずれの記載も、特定の要素、ステップもしくは機能が特許請求の範囲に含まれなければならない必須要件であることを示唆すると捉えられるべきでない。特許請求される発明特定事項の領域は特許請求の範囲の事項においてのみ規定される。また、本願のいずれの請求項も、項番号に続く「〜のための手段」という厳密な語句を含まない場合、米国特許法第112条第6項(35USC§112パラグラフ6)の誘起を意図しない。