JP2023092523A - タイプされたパラメータの設定 - Google Patents
タイプされたパラメータの設定 Download PDFInfo
- Publication number
- JP2023092523A JP2023092523A JP2022203937A JP2022203937A JP2023092523A JP 2023092523 A JP2023092523 A JP 2023092523A JP 2022203937 A JP2022203937 A JP 2022203937A JP 2022203937 A JP2022203937 A JP 2022203937A JP 2023092523 A JP2023092523 A JP 2023092523A
- Authority
- JP
- Japan
- Prior art keywords
- typed
- parameter
- manipulator
- currently selected
- parameters
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/12—Geometric CAD characterised by design entry means specially adapted for CAD, e.g. graphical user interfaces [GUI] specially adapted for CAD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04815—Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04845—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04847—Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Geometry (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Architecture (AREA)
- Processing Or Creating Images (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
【課題】本方法は、タイプされた操作のタイプされたパラメータの設定を改善するコンピュータ実装方法に関する。【解決手段】本方法は、3Dシーンの3Dモデル化オブジェクトの表現を表示することと、3Dモデル化オブジェクトの表示された表現の関心点に適用されるタイプされた操作を取得することと、少なくとも2つのタイプされたパラメータから第1のタイプされたパラメータを選択し、選択された第1のタイプされたパラメータを現在選択されているタイプされたパラメータと定義することと、現在選択されているタイプされたパラメータを設定する3Dシーンの2Dマニピュレータを提供することと、現在選択されているタイプされたパラメータに関連付けられた2Dマニピュレータの少なくとも1つの論理エリアとのユーザインタラクションに際し、現在選択されているタイプされたパラメータを設定することと、を含む。【選択図】図3
Description
本開示は、コンピュータプログラムおよびシステムの分野に関し、より具体的には、3Dシーン内の3Dモデル化オブジェクトに適用されるタイプされた操作のタイプされたパラメータを設定するための方法、システムおよびプログラムに関する。
オブジェクトの設計、エンジニアリング、および製造のために、多くのシステムおよびプログラムが市場で提供されている。CADはコンピュータ支援設計(Computer-Aided Design)の頭字語であり、例えば、オブジェクトを設計するためのソフトウェアソリューションに関連している。CAEはコンピュータ支援エンジニアリング(Computer-Aided Engineering)の頭字語であり、例えば、将来のプロダクトの物理動作をシミュレートするためのソフトウェアソリューションに関連している。CAMはコンピュータ支援製造(Computer-Aided Manufacturing)の頭字語であり、例えば、製造プロセスおよび動作を定義するためのソフトウェアソリューションに関連している。このようなコンピュータ支援設計システムでは、グラフィカルユーザインターフェースが技術の効率に関して重要な役割を果たす。これらの技術は、プロダクトライフサイクル管理(PLM)システムに組み込まれ得る。PLMとは、拡張エンタープライズの概念全体にわたって、企業がプロダクトデータを共有し、共通プロセスを適用し、企業知識を活用して、構想からプロダクト寿命の終わりまでプロダクトを開発するのに役立つビジネス戦略を指す。ダッソー システムズによって提供されるPLMソリューション(CATIA(登録商標)、ENOVIA(登録商標)、およびDELMIA(登録商標)の商標で)は、プロダクトエンジニアリング知識を編成するエンジニアリングハブ、製造エンジニアリング知識を管理するマニュファクチャリングハブ、およびエンジニアリングハブとマニュファクチャリングハブの両方へのエンタープライズ統合および接続を可能にするエンタープライズハブを提供する。このシステムはすべて、プロダクト、プロセス、リソースをリンクするオープンオブジェクトモデルを提供し、動的で知識ベースのプロダクト作成と、最適化されたプロダクト定義、製造準備、生産、およびサービスを推進する意思決定支援を可能にする。
タイプされた操作のタイプされたパラメータを設定するための既存のソリューションは効率的ではない。実際、ユーザは多数のクリックを実行する必要があり、変更に多くの時間を費やし、マウスの距離を大きくとる。
第1の既存のソリューションが図1を参照して示されている。3Dパッチのエッジのカット数の第1の修正と、エッジの方向における3Dパッチの寸法の第2の修正を実行するために、以下の一連のユーザインタラクションが必要である。最初に、ユーザは、第1の修正を実行するために、カットコマンドを入力する必要がある(すなわち、カット数に関連する)。ユーザは、例えば、マウスなどのポインティングデバイスを使用して第1のアイコン110を第1のクリックを実行することによって、カットコマンドを入力する。次に、ユーザは、例えば、エッジ120を第2のクリックで、修正する3Dパッチ130のエッジ120を選択する必要がある。このとき、ユーザは、表示されたスライダ140を使用して、例えば、スライダ140上のポインティングデバイスを押す、ドラッグする、および離すことによって、カット数を変更する。第2に、ユーザは、第2の修正(すなわち、エッジの方向における3Dパッチの寸法に関連する)を実行するために、例えば、第2のアイコン150をクリックすることによって、または第1のキーボードショートカットを実行することによって、修正コマンドに切り替える必要がある。次に、ユーザは、第3のアイコン150をクリックする、または第2のキーボードショートカットを実行することによって、「エッジ」モードを選択する必要がある。このとき、ユーザは、修正に関係する3Dパッチの各エッジを選択する必要がある(すなわち、伝播のために、4回クリックまたは2回クリックおよび第3のキーボードショートカットを実行することによって)。最後に、ユーザは、選択されたエッジを移動する(160)ことによって(すなわち、ポインティングデバイスを押し、ドラッグし、離すことによって)3Dパッチの寸法の修正を実行する。したがって、第1の変更および第2の変更を実行するために、ユーザは、合計9つのインタラクションを実行する必要があり、したがって、人間工学的ではなく、効率的ではなく、ユーザにとって時間が掛かる。
第2の既存のソリューションが図2を参照して示されている。エッジの押出し操作を実行するために、以下の一連のユーザインタラクションが必要である。まず、ユーザは押出しコマンドを起動し、表示されたアイコン210のセットに1回から3回のクリックを実行して正しい設定を行う必要がある。次に、ユーザは押し出されるエッジ220を選択する必要がある(1回のクリックで)。選択後、ユーザは空のスペース230をドラッグして、ポインティングデバイスを押す、ドラッグする、および離すことでエッジの長さを変更する。第2に、ユーザは角度スライダを起動し、表示されたスライダ240とユーザインタラクションによって(ポインティングデバイスを押す、ドラッグする、および離すことによって)押出しの角度を変更する必要がある。したがって、押出しの近くのエリアは既に長さの変更を実行するために使用されているので、ユーザは角度を操作するためにスライダに移動する必要がある。これは主に3つの問題を引き起こす。
これらの既存のソリューションにはいくつかの欠点がある。1つ目は、3Dパッチが表示されている3Dシーンの一部が、そのサイズのためにスライダによって隠されることである。したがって、エッジの押出しを実行することは、3Dシーンの可視性を低下させる。2つ目の欠点は、修正中のポインティングデバイスの移動が効率的でないことである。実際、ユーザは、ポインティングデバイスの追加の移動を実行して、第1の修正から第2の修正に切り替える(例えば、角度を修正するためにスライダを移動する)。さらに、角度修正を実行する前に、彼/彼女は、3Dパッチからスライダに彼/彼女の注意をそらさなければならないため、この追加の移動によって、ユーザのワークフローが中断される。第3の欠点は、ユーザのカーソルが、修正中の3Dパッチのエッジから「遠く」にあることである。ユーザは、現在修正中のカーソルとエッジを同時によく見ることができず、実際、カーソルとエッジの間隔(カーソルとエッジが表示されている画面上の間隔)が大きすぎる。これら2つの要素のうち少なくとも1つ(カーソルまたはエッジ)が、ユーザの周辺視野に表示される。したがって、ユーザによる修正は正確さを失い、ユーザは正しい値に到達するためにスライダを数回操作する必要であり得る。さらに、角度の値と修正中の3Dパッチは、画面の異なる部分に表示される(第2の例のシナリオでは、スライダの場合は画面の右側、操作された3Dパッチの場合は中央)。したがって、ユーザは彼/彼女の注意を前後に動かして、両方を繰り返す必要があり、目および筋肉の疲労につながる。
他の既存のソリューションは、論理エリアの原則に基づいている。これらのソリューションでは、それぞれの操作に関連付けられた論理エリアが3Dシーン内に提供される(各論理エリアは3Dシーンのそれぞれの場所に提供される)。したがって、ユーザは、これらの異なる論理エリアのそれぞれに関連付けられた異なる操作のパラメータを設定するために、マウスを異なる論理エリアに属する異なる場所に連続的に移動させ得る。しかし、異なるパラメータに対して意味のある場所は同じであり、したがって、各論理エリアに関連付けられた操作の数は制限される。実際、異なる操作に関連付けられた論理エリアは個別でなければならない。ソリューションは、操作を切り替えるための修飾子を提供することである。しかし、最初に、修飾子が非表示になるため、アクションを実行する唯一の手段にはできない。次いで、特定の操作のパラメータを切り替える別の手段が必要になる。次に、メインパラメータと非表示パラメータを選択することになるが、これはほとんどのケースに適していない。
このコンテキストでは、タイプされた操作のタイプされたパラメータを設定するための改善されたソリューションが依然として必要である。
[概要]
したがって、3Dシーン内の3Dモデル化オブジェクトに適用されるタイプされた操作のタイプされたパラメータを設定するためのコンピュータ実装方法が提供される。方法は、3Dシーン内の3Dモデル化オブジェクトの表現を表示することを含む。方法は、3Dモデル化オブジェクトの表示された表現の関心点に適用されるタイプされた操作を取得することを含む。タイプされた操作は、少なくとも2つのタイプされたパラメータを含む。方法は、少なくとも2つのタイプされたパラメータのうちの第1のタイプされたパラメータを選択し、それによって、選択された第1のタイプされたパラメータを現在選択されているタイプされたパラメータとして定義することを含む。方法は、現在選択されているタイプされたパラメータを設定するために、3Dシーンに2Dマニピュレータを提供することを含む。2Dマニピュレータは、少なくとも2つのタイプされたパラメータのそれぞれに関連付けられた少なくとも1つの論理エリアを含む。論理エリアは、関連付けられたタイプされたパラメータを設定するためにユーザインタラクションを実行できる、3Dシーン内の2D表面である。方法は、現在選択されているタイプされたパラメータを設定するために、3Dシーンに2Dマニピュレータのグラフィック表現を表示することを含む。方法は、現在選択されているタイプされたパラメータに関連付けられた2Dマニピュレータの少なくとも1つの論理エリアとのユーザインタラクションに際し、現在選択されているタイプされたパラメータを設定することを含む。
したがって、3Dシーン内の3Dモデル化オブジェクトに適用されるタイプされた操作のタイプされたパラメータを設定するためのコンピュータ実装方法が提供される。方法は、3Dシーン内の3Dモデル化オブジェクトの表現を表示することを含む。方法は、3Dモデル化オブジェクトの表示された表現の関心点に適用されるタイプされた操作を取得することを含む。タイプされた操作は、少なくとも2つのタイプされたパラメータを含む。方法は、少なくとも2つのタイプされたパラメータのうちの第1のタイプされたパラメータを選択し、それによって、選択された第1のタイプされたパラメータを現在選択されているタイプされたパラメータとして定義することを含む。方法は、現在選択されているタイプされたパラメータを設定するために、3Dシーンに2Dマニピュレータを提供することを含む。2Dマニピュレータは、少なくとも2つのタイプされたパラメータのそれぞれに関連付けられた少なくとも1つの論理エリアを含む。論理エリアは、関連付けられたタイプされたパラメータを設定するためにユーザインタラクションを実行できる、3Dシーン内の2D表面である。方法は、現在選択されているタイプされたパラメータを設定するために、3Dシーンに2Dマニピュレータのグラフィック表現を表示することを含む。方法は、現在選択されているタイプされたパラメータに関連付けられた2Dマニピュレータの少なくとも1つの論理エリアとのユーザインタラクションに際し、現在選択されているタイプされたパラメータを設定することを含む。
この方法は、以下の1つまたは複数を含み得る。
方法は、
少なくとも2つのタイプされたパラメータのうちの第2のタイプされたパラメータを選択し、それによって、選択された第2のタイプされたパラメータを現在選択されているタイプされたパラメータとして定義することと、
現在選択されているタイプされたパラメータを設定するために、3Dシーンに2Dマニピュレータの新しいグラフィック表現を表示することと、
現在選択されているタイプされたパラメータに関連付けられた2Dマニピュレータの少なくとも1つの論理エリアとのユーザインタラクションに際し、現在選択されているタイプされたパラメータを設定することと、
をさらに含み得、
2Dマニピュレータのグラフィック表現は、第2のタイプされたパラメータに関連付けられた2Dマニピュレータの少なくとも1つの論理エリアの2D表面に属する第1の円形要素を含み得、
2Dマニピュレータのグラフィック表現は、選択された第1のタイプされたパラメータに関連付けられた2Dマニピュレータの少なくとも1つの論理エリアの2D表面に属する第2の円形要素を含み得、
第1および第2の円形要素は、互いに同心円であり、それぞれの半径を有し得、
第1および第2の円形要素の少なくとも1つはスライダであり得、
第1のおよび第2の円形要素の少なくとも1つは、修正の方向を示すように配向する2つの三角形を含み得、
グラフィック表現の表示は、
現在選択されているタイプされたパラメータの現在の値を表示することであって、表示された現在の値は、2Dマニピュレータのグラフィック表現において実質的に中央に表示される、ことと、
現在選択されているタイプされたパラメータを設定しながら、表示された現在の値をリアルタイムで更新することと、
をさらに含み得、
関心点に適用されるタイプされた操作の取得は、
3Dモデル化オブジェクトのジオメトリ上のユーザインタラクションを検出することと、
ユーザインタラクションが検出されるジオメトリが頂点である場合、頂点を関心点として選択することと、
ユーザインタラクションが検出されるジオメトリがエッジである場合、エッジの重心を関心点として選択することと、
を含み得、
グラフィック表現を表示することは、2Dマニピュレータのグラフィック表現と関心点とをグラフィカルに接続するリンクを表示すること、
をさらに含み得、
現在選択されているタイプされたパラメータの設定は、
現在選択されているタイプされたパラメータに関連付けられた論理エリアのうちの1つでのユーザインタラクションを検出することと、
現在選択されているタイプされたパラメータの値および検出されたユーザインタラクションに基づいて、現在選択されているタイプされたパラメータの新しい値を決定することと、
現在選択されているタイプされたパラメータの新しい値に基づいて、タイプされた操作を3Dモデル化オブジェクトに適用することと、
適用されたタイプされた操作に基づいて3Dモデル化オブジェクトの表現を更新することと、
3Dモデル化オブジェクトの更新された表現に従って2Dマニピュレータの位置を更新することと、
を含み得、
2Dマニピュレータの位置の更新が、
2Dマニピュレータを、3Dシーン上のユーザの視点に垂直な平面に保持すること、および/または
2Dマニピュレータおよび関心点との間の3Dシーンで距離を保つこと、
を含み得、
現在選択されているタイプされたパラメータの設定が、関心点の可能な位置のセットを表す少なくとも1つの線を表示すること、を含み得、セットの各可能な位置が、現在選択されているタイプされたパラメータの値に対応し、
2Dマニピュレータは、少なくとも2つのタイプされたパラメータのうちの少なくとも1つについて、少なくとも1つの追加の論理エリアをさらに含み得る。各追加の論理エリアは、3Dシーン内に埋め込まれたそれぞれの2D表面であり得、
現在選択されているタイプされたパラメータの設定は、現在選択されているタイプされたパラメータと関連付けられた2Dマニピュレータの少なくとも1つの追加の論理エリアとのユーザインタラクションに際し、現在選択されているタイプされたパラメータを設定すること、を含み得、
2Dマニピュレータは、少なくとも2つのタイプされたパラメータの少なくとも1つに対して、少なくとも1つの追加の論理エリアをさらに含み得る。追加の各論理エリアは、3Dシーンに埋め込まれたそれぞれの2D表面であり得、
現在選択されているタイプされたパラメータの設定は、現在選択されているタイプされたパラメータに関連付けられた2Dマニピュレータの少なくとも1つの追加の論理エリアとのユーザインタラクションに際し、現在選択されているタイプされたパラメータを設定すること、を含み得、
タイプされた操作は編集であり得る。3Dモデル化オブジェクトはエッジを含み得る。少なくとも2つのタイプされたパラメータは、エッジのカット数およびエッジに垂直な方向の3Dモデル化オブジェクトの長さを含み得、
タイプされた操作は押出であり得る。少なくとも2つのタイプされたパラメータは、押出の長さおよび押出の回転を含み得る、および/または
タイプされた操作はパターンであり得る。少なくとも2つのタイプされたパラメータは、パターンデザインおよびパターン密度を含み得る。
方法は、
少なくとも2つのタイプされたパラメータのうちの第2のタイプされたパラメータを選択し、それによって、選択された第2のタイプされたパラメータを現在選択されているタイプされたパラメータとして定義することと、
現在選択されているタイプされたパラメータを設定するために、3Dシーンに2Dマニピュレータの新しいグラフィック表現を表示することと、
現在選択されているタイプされたパラメータに関連付けられた2Dマニピュレータの少なくとも1つの論理エリアとのユーザインタラクションに際し、現在選択されているタイプされたパラメータを設定することと、
をさらに含み得、
2Dマニピュレータのグラフィック表現は、第2のタイプされたパラメータに関連付けられた2Dマニピュレータの少なくとも1つの論理エリアの2D表面に属する第1の円形要素を含み得、
2Dマニピュレータのグラフィック表現は、選択された第1のタイプされたパラメータに関連付けられた2Dマニピュレータの少なくとも1つの論理エリアの2D表面に属する第2の円形要素を含み得、
第1および第2の円形要素は、互いに同心円であり、それぞれの半径を有し得、
第1および第2の円形要素の少なくとも1つはスライダであり得、
第1のおよび第2の円形要素の少なくとも1つは、修正の方向を示すように配向する2つの三角形を含み得、
グラフィック表現の表示は、
現在選択されているタイプされたパラメータの現在の値を表示することであって、表示された現在の値は、2Dマニピュレータのグラフィック表現において実質的に中央に表示される、ことと、
現在選択されているタイプされたパラメータを設定しながら、表示された現在の値をリアルタイムで更新することと、
をさらに含み得、
関心点に適用されるタイプされた操作の取得は、
3Dモデル化オブジェクトのジオメトリ上のユーザインタラクションを検出することと、
ユーザインタラクションが検出されるジオメトリが頂点である場合、頂点を関心点として選択することと、
ユーザインタラクションが検出されるジオメトリがエッジである場合、エッジの重心を関心点として選択することと、
を含み得、
グラフィック表現を表示することは、2Dマニピュレータのグラフィック表現と関心点とをグラフィカルに接続するリンクを表示すること、
をさらに含み得、
現在選択されているタイプされたパラメータの設定は、
現在選択されているタイプされたパラメータに関連付けられた論理エリアのうちの1つでのユーザインタラクションを検出することと、
現在選択されているタイプされたパラメータの値および検出されたユーザインタラクションに基づいて、現在選択されているタイプされたパラメータの新しい値を決定することと、
現在選択されているタイプされたパラメータの新しい値に基づいて、タイプされた操作を3Dモデル化オブジェクトに適用することと、
適用されたタイプされた操作に基づいて3Dモデル化オブジェクトの表現を更新することと、
3Dモデル化オブジェクトの更新された表現に従って2Dマニピュレータの位置を更新することと、
を含み得、
2Dマニピュレータの位置の更新が、
2Dマニピュレータを、3Dシーン上のユーザの視点に垂直な平面に保持すること、および/または
2Dマニピュレータおよび関心点との間の3Dシーンで距離を保つこと、
を含み得、
現在選択されているタイプされたパラメータの設定が、関心点の可能な位置のセットを表す少なくとも1つの線を表示すること、を含み得、セットの各可能な位置が、現在選択されているタイプされたパラメータの値に対応し、
2Dマニピュレータは、少なくとも2つのタイプされたパラメータのうちの少なくとも1つについて、少なくとも1つの追加の論理エリアをさらに含み得る。各追加の論理エリアは、3Dシーン内に埋め込まれたそれぞれの2D表面であり得、
現在選択されているタイプされたパラメータの設定は、現在選択されているタイプされたパラメータと関連付けられた2Dマニピュレータの少なくとも1つの追加の論理エリアとのユーザインタラクションに際し、現在選択されているタイプされたパラメータを設定すること、を含み得、
2Dマニピュレータは、少なくとも2つのタイプされたパラメータの少なくとも1つに対して、少なくとも1つの追加の論理エリアをさらに含み得る。追加の各論理エリアは、3Dシーンに埋め込まれたそれぞれの2D表面であり得、
現在選択されているタイプされたパラメータの設定は、現在選択されているタイプされたパラメータに関連付けられた2Dマニピュレータの少なくとも1つの追加の論理エリアとのユーザインタラクションに際し、現在選択されているタイプされたパラメータを設定すること、を含み得、
タイプされた操作は編集であり得る。3Dモデル化オブジェクトはエッジを含み得る。少なくとも2つのタイプされたパラメータは、エッジのカット数およびエッジに垂直な方向の3Dモデル化オブジェクトの長さを含み得、
タイプされた操作は押出であり得る。少なくとも2つのタイプされたパラメータは、押出の長さおよび押出の回転を含み得る、および/または
タイプされた操作はパターンであり得る。少なくとも2つのタイプされたパラメータは、パターンデザインおよびパターン密度を含み得る。
方法を実行するための命令を含むコンピュータプログラムがさらに提供される。
コンピュータプログラムを記録しているコンピュータ可読記憶媒体がさらに提供される。
メモリおよびグラフィカルユーザインターフェースに結合されたプロセッサを含むシステムがさらに提供され、メモリは、コンピュータプログラムを記録している。
以下、添付図面を参照して非限定的な実施例を説明する。
図1は、従来技術の方法の2つの例を示す。
図2は、従来技術の方法の2つの例を示す。
図3は、方法の例のフローチャートを示す。
図4は、システムのグラフィカルユーザインターフェースの例を示す。
図5は、システムの例を示す。
図6は、2Dマニピュレータのグラフィック表現の4つの例を示す。
図7は、2Dマニピュレータのグラフィック表現の4つの例を示す。
図8は、2Dマニピュレータのグラフィック表現の4つの例を示す。
図9は、2Dマニピュレータのグラフィック表現の4つの例を示す。
図10は、2Dマニピュレータの論理エリアの例を示す。
図11は、2Dマニピュレータによるタイプされたパラメータの設定例を示す。
図12は、2Dマニピュレータによるタイプされたパラメータの設定例を示す。
図13は、2Dマニピュレータによるタイプされたパラメータの設定例を示す。
図14は、2Dマニピュレータによる編集操作の2つのタイプされたパラメータの設定例を示す。
図15は、2Dマニピュレータによる編集操作の2つのタイプされたパラメータの設定例を示す。
図16は、2Dマニピュレータによる編集操作の2つのタイプされたパラメータの設定例を示す。
図17は、2Dマニピュレータによる編集操作の2つのタイプされたパラメータの設定例を示す。
図18は、2Dマニピュレータによる編集操作の2つのタイプされたパラメータの設定例を示す。
図19は、2Dマニピュレータによる押出し操作の2つのタイプされたパラメータの設定例を示す。
図20は、2Dマニピュレータによる押出し操作の2つのタイプされたパラメータの設定例を示す。
図21は、2Dマニピュレータによる押出し操作の2つのタイプされたパラメータの設定例を示す。
図22は、2Dマニピュレータによる押出し操作の2つのタイプされたパラメータの設定例を示す。
[詳細な説明]
図3のフローチャートを参照して、3Dシーン内の3Dモデル化オブジェクトに適用されるタイプされた操作のタイプされたパラメータを設定するためのコンピュータ実装方法が提案される。この方法は、3Dシーン内の3Dモデル化オブジェクトの表現を表示すること(S10)を含む。この方法は、3Dモデル化オブジェクトの表示された表現の関心点に適用されるタイプされた操作を取得すること(S20)を含む。タイプされた操作は、少なくとも2つのタイプされたパラメータを含む。この方法は、少なくとも2つのタイプされたパラメータのうちの第1のタイプされたパラメータを選択すること(S30)を含み、それによって、選択された第1のタイプされたパラメータを現在選択されているタイプされたパラメータとして定義する。この方法は、現在選択されているタイプされたパラメータを設定するために、3Dシーン内に2Dマニピュレータを提供すること(S40)を含む。2Dマニピュレータは、少なくとも2つのタイプされたパラメータのそれぞれに関連付けられた少なくとも1つの論理エリアを含む。論理エリアは、関連付けられているタイプされたパラメータを設定するためにユーザインタラクションを実行できる3Dシーン内の2D表面である。この方法は、現在選択されているタイプされたパラメータを設定するために、3Dシーン内に2Dマニピュレータのグラフィック表現を表示すること(S50)を含む。この方法は、現在選択されているタイプされたパラメータに関連付けられている2Dマニピュレータの少なくとも1つの論理エリアとのユーザインタラクションに応じて、現在選択されているタイプされたパラメータを設定すること(S60)を含む。
図3のフローチャートを参照して、3Dシーン内の3Dモデル化オブジェクトに適用されるタイプされた操作のタイプされたパラメータを設定するためのコンピュータ実装方法が提案される。この方法は、3Dシーン内の3Dモデル化オブジェクトの表現を表示すること(S10)を含む。この方法は、3Dモデル化オブジェクトの表示された表現の関心点に適用されるタイプされた操作を取得すること(S20)を含む。タイプされた操作は、少なくとも2つのタイプされたパラメータを含む。この方法は、少なくとも2つのタイプされたパラメータのうちの第1のタイプされたパラメータを選択すること(S30)を含み、それによって、選択された第1のタイプされたパラメータを現在選択されているタイプされたパラメータとして定義する。この方法は、現在選択されているタイプされたパラメータを設定するために、3Dシーン内に2Dマニピュレータを提供すること(S40)を含む。2Dマニピュレータは、少なくとも2つのタイプされたパラメータのそれぞれに関連付けられた少なくとも1つの論理エリアを含む。論理エリアは、関連付けられているタイプされたパラメータを設定するためにユーザインタラクションを実行できる3Dシーン内の2D表面である。この方法は、現在選択されているタイプされたパラメータを設定するために、3Dシーン内に2Dマニピュレータのグラフィック表現を表示すること(S50)を含む。この方法は、現在選択されているタイプされたパラメータに関連付けられている2Dマニピュレータの少なくとも1つの論理エリアとのユーザインタラクションに応じて、現在選択されているタイプされたパラメータを設定すること(S60)を含む。
このような方法は、少なくとも2つのタイプされたパラメータの中から1つのタイプされたパラメータを設定するための改善されたソリューションを形成する。
特に、この方法は、少なくとも2つのタイプされたパラメータの中から1つのタイプされたパラメータを設定する効率、生産性および有用性を改善する。実際、提供された2Dマニピュレータは、各タイプされたパラメータを設定するためのそれぞれの論理エリアを含み、これは、各パラメータの特に効率的な設定を達成することを可能にする。2Dマニピュレータとのユーザインタラクションに際し、3Dモデル化オブジェクトを設計するユーザ(例えば、製造されるプロダクトに取り組むエンジニア)は、タイプされたパラメータのそれぞれを設定できる。2Dマニピュレータが各タイプされたパラメータを定義するためにユーザインタラクション間を近接させ、ユーザがタイプされた操作を実行する速度を向上させるので、生産性は向上する。2Dマニピュレータによって提供される近接性は、それぞれが同じタイプされた操作に属するため、タイプされたパラメータに特に関連し、タイプされたパラメータが同じ手順の間に、すなわち、同じ期間に連続して設定される傾向があることを意味する。これは、2Dマニピュレータが、同じタイプされた操作のタイプされたパラメータを設定するためのユーザインタラクションを同じ空間に、および近接して集めることを可能にするため、この方法の有用性を特に高くする。したがって、少なくとも2つのタイプされたパラメータの中でタイプされたパラメータを設定することは、特に人間工学的である。
さらに、この方法はまた、ユーザがタイプされたパラメータの1つの設定をガイドされるので、効率的である。実際、第1のタイプされたパラメータを選択した後、この現在選択されているタイプされたパラメータを設定するためのグラフィック表現が表示される。したがって、2Dマニピュレータの表示は、現在選択されているタイプされたパラメータ、すなわち、現在設定されているタイプされた操作の少なくとも2つのタイプされたパラメータのうちの1つに従って適応される。これは、人間工学の向上にも貢献している。
この方法はコンピュータで実装される。これは、この方法のステップ(または、実質的に全てのステップ)が少なくとも1つのコンピュータまたは任意のシステムによって実行されることを意味する。したがって、この方法のステップは、コンピュータによって、おそらく完全に自動的に、または半自動的に実行される。例では、この方法のステップの少なくともいくつかのトリガリングは、ユーザコンピュータインタラクションを介して実行され得る。必要とされるユーザコンピュータインタラクションのレベルは、予見される自動性のレベルに依存し、ユーザの希望を実現する必要性とバランスをとり得る。例では、このレベルは、ユーザ定義および/または事前定義され得る。
方法のコンピュータ実装の典型的な例は、この目的のために適合されたシステムで方法を実行することである。システムは、メモリに結合されたプロセッサと、グラフィカルユーザインターフェース(GUI)とを含み得、メモリは、方法を実行するための命令を含むコンピュータプログラムを記録している。メモリはまたデータベースを格納し得る。メモリは、そのようなストレージに適合された任意のハードウェアであり、場合によってはいくつかの物理的に個別の部分(例えば、1つはプログラム用の、場合によっては、1つはデータベース用の)を含む。
この方法は、概して、モデル化オブジェクトを操作する。モデル化オブジェクトは、例えば、データベースに、格納されたデータによって定義される任意のオブジェクトである。拡張により、「モデル化オブジェクト」という表現はデータ自体を示す。モデル化オブジェクトは、システムのタイプに応じて、異なる種類のデータによって定義され得る。システムは、実際には、CADシステム、CAEシステム、CAMシステム、PDMシステム、および/またはPLMシステムの任意の組合せであり得る。これらの異なるシステムでは、モデル化オブジェクトは対応するデータによって定義される。したがって、CADオブジェクト、PLMオブジェクト、PDMオブジェクト、CAEオブジェクト、CAMオブジェクト、CADデータ、PLMデータ、PDMデータ、CAMデータ、CAEデータと呼ばれ得る。しかし、モデル化オブジェクトは、これらのシステムの任意の組合せに対応するデータによって定義される得るため、これらのシステムは互いに非排他的である。したがって、システムは、以下で提供されるそのようなシステムの定義から明らかなように、CADとPLMの両方のシステムであり得る。
CADシステムによって、さらに、CATIAのようなモデル化オブジェクトのグラフィック表現に基づいてモデル化オブジェクトを少なくとも設計するように適合された任意のシステムを意味する。このケースでは、モデル化オブジェクトを定義するデータは、モデル化オブジェクトの表現を可能にするデータを含む。例えば、CADシステムは、エッジまたは線を、特定のケースでは、面または表面を、使用して、CADモデル化オブジェクトの表現を提供し得る。線、エッジまたは表面は、非均一有理Bスプライン(NURBS)などのさまざまな方法で表現され得る。具体的には、CADファイルは、ジオメトリを生成し得、次いで、表現の生成を可能にする、仕様を含む。モデル化オブジェクトの仕様は、1つまたは複数のCADファイルに格納され得る。CADシステムでモデル化オブジェクトを表すファイルの典型的なサイズは、パーツごとに1MBの範囲である。また、モデル化オブジェクトは、通常、数千のパーツのアセンブリであり得る。
CADのコンテキストにおいて、モデル化オブジェクトは、通常、3Dモデル化オブジェクトであり得、例えば、パーツやパーツのアセンブリ、または場合によってはプロダクトのアセンブリなどのプロダクトを表す。「3Dモデル化オブジェクト」によって、その3D表現を可能にするデータによってモデル化された任意のオブジェクトを意味する。3D表現はあらゆる角度からパーツを表示することを可能にする。例えば、3Dモデル化オブジェクトを3Dで表現すると、処理され、軸のいずれか、または表現が表示されている画面の任意の軸を中心に回転し得る。これには特に、3Dモデル化されていない2Dアイコンを含まない。3D表現を表示すると、設計が容易になる(すなわち、デザイナが統計的にタスクを完了する速度が向上する)。これは、プロダクトの設計は製造プロセスの一部であるため、製造業の製造プロセスを高速化する。
3Dモデル化オブジェクトは、仮想設計の完了後に実世界で製造されるプロダクトのジオメトリを表し得、仮想設計は、例えば、部品(機械部品などの)や部品のアセンブリなどのCADソフトウェアソリューションまたはCADシステム(または、部品のアセンブリは方法の観点から部品そのものと見なされ得る、または、方法はアセンブリの各部品に個別に適用される得るため、部品のアセンブリと同等である)、またはより一般的には任意のリジッドボディアセンブリ(モバイルメカニズムなど)などを有する。CADソフトウェアソリューションは、航空宇宙、建築、建設、消費財、ハイテクデバイス、産業機器、輸送、海洋、および/またはオフショアの石油/ガスプロダクションまたは輸送などを含む、さまざまで無制限の産業分野でプロダクトを設計することを可能にする。従って、方法によって設計された3Dモデル化オブジェクトは、任意の機械部品であり得る工業プロダクトを表し得、例えば、陸上車両の部品(例えば、乗用車および軽トラック機器、レーシングカー、オートバイ、トラックおよびモータ機器、トラックおよびバス、列車を含む)、航空機の部品(例えば、機体機器、航空宇宙機器、推進機器、防衛プロダクト、航空機器、宇宙機器を含む)、海軍車両の部品(例えば、海軍機器、商船、オフショア機器、ヨットおよび作業船、海洋機器を含む)、一般機械部品(例えば、工業用製造機械、大型移動機械または機器、設置機器、工業用機器プロダクト、組立金属プロダクト、タイヤ製造プロダクトを含む)、電気機械部品または電子部品(例えば、消費者用電子機器、セキュリティおよび/または制御および/または計装プロダクト、コンピューティングおよび通信機器、半導体、医療機器および機器を含む)、消費財(例えば、家具、家庭用品および園芸プロダクト、レジャー用品、ファッションプロダクト、ハード用品小売業者プロダクト、ソフト用品小売業者プロダクトを含む)、包装(例えば、食品および飲料およびタバコ、美容およびパーソナルケア、家庭用プロダクト包装を含む)である。
CADシステムは履歴ベースであり得る。このケースでは、モデル化オブジェクトはジオメトリ特徴の履歴を含むデータによってさらに定義される。モデル化オブジェクトは、実際には物理的な人物(すなわちデザイナ/ユーザ)によって、標準のモデリング特徴(例えば、押出し、回転、カット、および/またはラウンド)および/または標準の表面特徴(例えば、スイープ、ブレンド、ロフト、フィル、デフォーム、および/またはスムージング)を使用して設計され得る。このようなモデリング機能をサポートするCADシステムの多くは、履歴ベースのシステムである。これは、設計特徴の作成履歴は、通常、入力および出力のリンクを介して前述のジオメトリ特徴をリンクする非循環データフローを介して保存されることを意味する。履歴ベースのモデリングパラダイムは、80年代初頭からよく知られている。モデル化オブジェクトは、履歴とB-rep(すなわち、境界表現)という2つの永続的なデータ表現によって記述される。B-repは、履歴で定義された計算の結果である。モデル化オブジェクトが表されているときにコンピュータの画面に表示されるパーツの形状は、B-rep(例えば、テッセレーション)である。パーツの履歴は、設計意図である。基本的に、履歴は、モデル化オブジェクトが経験した操作に関する情報を収集する。複雑なパーツを表示しやすくするために、B-repは履歴とともに保存され得る。設計意図に従ってパーツの設計変更を可能にするために、履歴はB-repとともに保存され得る。
PLMシステムとは、さらに、物理的に製造されたプロダクト(または製造されるプロダクト)を表すモデル化オブジェクトの管理に適合した任意のシステムを意味する。PLMシステムでは、モデル化オブジェクトは、物理的なオブジェクトの製造に適したデータによって定義される。これらは通常、寸法値および/または公差値であり得る。オブジェクトを正しく製造するには、実際、このような値があることが望ましい。
CAMソリューションとは、さらに、プロダクトの製造データを管理するために適合された任意のソリューション、ソフトウェアまたはハードウェア、を意味する。製造データは、一般的に、製造するプロダクト、製造プロセス、および必要なリソースに関連するデータを含む。CAMソリューションは、プロダクトの製造プロセス全体を計画し、最適化するために使用される。例えば、これはCAMユーザに対して、製造プロセスの実行可能性、期間、または製造プロセスの特定のステップが使用される得る特定のロボットなどのリソース数に関する情報を提供でき、管理または必要な投資に関する決定を可能にする。CAMは、CADプロセスと潜在的なCAEプロセスの後に続くプロセスである。このようなCAMソリューションは、DELMIAの商標でダッソー システムズによって提供されている。
CAEソリューションとは、さらに、モデル化オブジェクトの物理的な動作を解析するために適合された任意のソリューション、ソフトウェア、またはハードウェアを意味する。よく知られ、広く使用されているCAEテクニックは有限要素法(FEM)であり、これは、一般的に、物理的な動作を、方程式を介して計算してシミュレートできる要素に、モデル化オブジェクトを分割することを含む。このようなCAEソリューションは、SIMULIA(登録商標)という商標でダッソー システムズによって提供されている。別の成長しているCAE技術は、CADジオメトリデータを使用せずに、物理学の異なる分野からの複数のコンポーネントで構成される複雑なシステムのモデリングおよび解析を含む。CAEソリューションはシミュレーションを、したがって、製造するプロダクトの最適化、改善、検証を可能にする。このようなCAEソリューションは、DYMOLA(登録商標)という商標でダッソー システムズによって提供されている。
PDMはプロダクトデータ管理(Product Data Management)の略である。PDMソリューションは、特定のプロダクトに関連するすべてのタイプのデータを管理するために適合された、任意のソリューション、ソフトウェア、またはハードウェアを意味する。PDMソリューションは、プロダクトのライフサイクルに関与するすべての関係者、主にエンジニアによって使用され得るが、プロジェクトマネージャ、財務担当者、販売担当者、バイヤーなども含む。PDMソリューションは通常、プロダクト指向のデータベースに基づく。これは、関係者がプロダクトに関する一貫性のあるデータを共有することを可能にし、したがって、関係者が異なるデータを使用することを防止する。このようなPDMソリューションは、ENOVIAという商標でダッソー システムズによって提供されている。
図4は、システムのGUIの例を示しており、システムはCADシステムである。
GUI2100は、標準的なメニューバー2110、2120と、底部および側部ツールバー2140、2150とを有する典型的なCADのようなインターフェースであり得る。このようなメニューおよびツールバーは、ユーザが選択可能なアイコンのセットを含み、各アイコンは、当該技術分野で知られているように、1つまたは複数の操作または機能に関連付けられている。これらのアイコンのいくつかは、GUI2100に表示された3Dモデル化オブジェクト2000を編集および/または作業するように適合されたソフトウェアツールに関連付けられている。ソフトウェアツールはワークベンチにグループ化され得る。各ワークベンチは、ソフトウェアツールのサブセットを含む。特に、ワークベンチの1つは、モデル化されたプロダクト2000のジオメトリ特徴を編集するのに適した編集ワークベンチである。操作において、デザイナは、例えば、オブジェクト2000の一部を事前選択し、次に操作を開始し(例えば、寸法、色などを変更する)、または、適切なアイコンを選択することによってジオメトリ拘束を編集し得る。例えば、典型的なCAD操作は、スクリーン上に表示される3Dモデル化オブジェクトのパンチングまたは折り畳みのモデリングである。例えば、GUIは、表示されたプロダクト2000に関するデータ2500を表示し得る。図の例では、「特徴ツリー」として表示されるデータ2500およびその3D表現2000は、ブレーキキャリパーおよびディスクを含むブレーキアセンブリに関連する。GUIは、さらに、例えば、オブジェクトの3D方向付けを容易にし、編集されたプロダクトの動作のシミュレーションをトリガし、または表示されたプロダクト2000の様々な属性をレンダリングするための様々なタイプのグラフィックツール2130、2070、2080を示し得る。カーソル2060を、触覚デバイスによって制御して、ユーザにグラフィックツールとのインタラクションを可能にし得る。
図5は、システムの例を示しており、システムはクライアントコンピュータシステム、例えば、ユーザのワークステーションである。
この例のクライアントコンピュータは、内部通信バス1000に接続された中央処理装置(CPU)1010と、バスに接続されたランダムアクセスメモリ(RAM)1070とを含む。クライアントコンピュータには、さらに、バスに接続されたビデオランダムアクセスメモリ1100に関連付けられたグラフィック処理装置(GPU)1110が設けられる。ビデオRAM1100は、フレームバッファとしても知られている。マスストレージデバイスコントローラ1020は、ハードドライブ1030などの大容量メモリデバイスへのアクセスを管理する。コンピュータプログラム命令およびデータを有形的に具体化するのに適した大容量メモリデバイスには、例示として、EPROM、EEPROM、およびフラッシュメモリデバイスなどの半導体メモリデバイス、内蔵ハードディスクおよびリムーバブルディスクなどの磁気ディスク、光磁気ディスク、およびCD-ROMディスク1040を含む、あらゆる形態の不揮発性メモリが含まれる。前述のいずれかは、特別に設計されたASIC(特定用途向け集積回路)によって補足、または組み込まれ得る。ネットワークアダプタ1050は、ネットワーク1060へのアクセスを管理する。クライアントコンピュータは、カーソル制御デバイス、キーボードなどの触覚デバイス1090も含み得る。カーソル制御デバイスをクライアントコンピュータにおいて使用して、ユーザがディスプレイ1080上の任意の所望の位置にカーソルを選択的に配置することを可能にする。さらに、カーソル制御デバイスは、ユーザが様々なコマンドを選択し、制御信号を入力することを可能にする。カーソル制御デバイスは、システムに制御信号を入力するための多数の信号生成デバイスを含む。一般的に、カーソル制御デバイスは、マウスであり得、マウスのボタンは信号を生成するために使用される。代替的または追加的に、クライアントコンピュータシステムは、感知パッドおよび/または感知スクリーンを含み得る。
コンピュータプログラムは、コンピュータによって実行可能な命令を含み、その命令は、上記システムに方法を実行させるための手段を含み得る。プログラムは、システムのメモリを含む任意のデータ記憶媒体に記録可能であり得る。プログラムは、例えば、デジタル電子回路で、またはコンピュータハードウェア、ファームウェア、ソフトウェア、またはそれらの組み合わせで実施され得る。プログラムは、装置として、例えば、プログラム可能なプロセッサによって実行されるための機械可読ストレージデバイスに有形的に具現化されたプロダクトとして、実装され得る。方法のステップは、入力データを操作して出力を生成することによって方法の機能を実施するために、命令のプログラムを実行するプログラム可能なプロセッサによって実施され得る。したがって、プロセッサは、プログラム可能であり、データストレージシステム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスからデータおよび命令を受信し、これらにデータおよび命令を送信するように結合され得る。アプリケーションプログラムは、ハイレベル手順もしくはオブジェクト指向プログラム言語で、または必要に応じてアセンブリもしくは機械語で実装され得る。任意のケースにおいて、言語はコンパイルまたはインタプリタ言語であり得る。プログラムはフルインストールプログラムまたはアップデートプログラムであり得る。システム上のプログラムのアプリケーションは、いずれの場合も、方法を実行するための命令を結果として取得する。
「3Dモデル化オブジェクトをデザインすること」は、3Dモデル化オブジェクトを作成するプロセスの少なくとも一部である、任意のアクションまたは一連のアクションを指す。したがって、方法は、3Dモデル化オブジェクトをゼロから作成することを含み得る。または、方法は、以前に作成された3Dモデル化オブジェクトを提供し、次いで、3Dモデル化オブジェクトを修正することを含み得る。
方法は、方法を実行した後、モデル化オブジェクトに対応する物理的プロダクトを生成することを含み得る製造プロセスに含まれ得る。いずれのケースも、方法によって設計されたモデル化オブジェクトは、製造オブジェクトを表し得る。したがって、モデル化オブジェクトはモデル化されたソリッド(すなわち、ソリッドを表すモデル化オブジェクト)になり得る。製造オブジェクトは、部品や部品のアセンブリなどのプロダクトになり得る。この方法では、モデル化オブジェクトの設計が改善されるため、プロダクトの製造も改善され、したがって、製造プロセスの生産性が向上する。
図3のフローチャートに戻って参照すると、コンピュータ実装方法をここでより詳細に説明する。
この方法は、3Dシーン内の3Dモデル化オブジェクトの表現を表示すること(S10)を含む。この表示は、例えば、コンピュータ画面、タッチパッド、または仮想現実メガネ上で行われるが、これらに限定されない。3Dモデル化オブジェクトの表現は、それぞれ、製造されるプロダクトのジオメトリのそれぞれの部分を表す1つまたは複数のエッジ、線、面、および/または表面を含み得る。表示は、これらのエッジ、線、面、または表面をユーザに対して視覚的に表示することを含み得る(例えば、図4に示すようなグラフィカルユーザインターフェースにおけるコンピュータ画面、タッチパッド、または仮想現実メガネ上で)。3Dモデル化オブジェクトは、メッシュのエッジおよび/または頂点を含むメッシュとして表され得る、表示は、メッシュのエッジおよび/または頂点をユーザに対して視覚的に表示することを含み得る。
3Dモデル化オブジェクトの表現は、3Dシーンに表示される。これは、3Dモデル化オブジェクトの表現が、3Dシーンの他のオブジェクトに関連して表示され得る(例えば、3Dシーンの他の3Dモデル化オブジェクトの表現)ことを意味し、すなわち、これらの他のオブジェクトに対して相対的に配置されることを意味する。これらの他のオブジェクトは、3Dオブジェクトの表現が表示される時点で既に表示され得る、同時に表示され得る、または3Dシーンに3Dモデル化オブジェクトの表現の表示が実行された後に表示され得る。3Dシーンおよびその上のオブジェクトは、図4を参照して説明したようなグラフィカルユーザインターフェース(GUI)上に表示され得る。
タイプされた操作とは、タイプされたパラメータのセットによって完全に定義される(または、そうでなければ、タイプされたパラメータのセットによってのみ定義される)操作である。タイプされた操作は、入力としてタイプされたパラメータのセットを受け取り、タイプされた操作とタイプされたパラメータのセットに従って出力をインスタンス化(または作成)する関数として定義され得る。3Dモデル化オブジェクト上の特定のタイプされた操作のインスタンス化の出力は確実であり、タイプされたパラメータのそれぞれが設定されている場合にのみ可能であり得る(すなわち、特定のタイプされた操作に対して、ただし、出力は別のタイプされた操作とは異なることがある)。インスタンス化の出力は、タイプされた操作によって左右され得る(すなわち、異なり得る)。例えば、同じタイプされたパラメータのセットの場合、第1のタイプされた操作のインスタンス化の出力は、第1のタイプされた操作が第2のタイプされた操作と異なる場合に、第2のタイプされた操作のインスタンス化の出力から遅延され得る。タイプされた操作の例には、球体の作成が含まれ、このケースでは、このタイプされた操作のタイプされたパラメータのセットは、球体の中心の位置と球体の半径を含み得る。球体の作成に対応するタイプされた操作は、これらの2つのタイプされたパラメータ(「中心の位置」および「半径」)が入力として使用して、球体のトポロジがタイプされたパラメータ「中心の位置」とタイプされたパラメータ「半径」によって完全に定義されるため、球体が返される。タイプされた操作のインスタンス化の結果は、タイプされた操作が何であっても、タイプされたパラメータのそれぞれが設定されたときにわかる。したがって、タイプされた操作とは、各タイプされたパラメータがタイプされた操作の一部として事前定義され、タイプされた操作の各パラメータが型で記述される。すべてのパラメータのタイプは、操作のインスタンス化時間(すなわち、タイプされた操作が効果的にインスタンス化されて計算され、タイプされた操作のアプリケーションによって変更された3Dモデル化オブジェクトがメモリに格納される時間)より前に認識される。
例では、タイプされた操作はいくつかのタイプされたサブ操作で構成され得る、各タイプされたサブ操作は入力としてタイプされたパラメータのセット(すなわち、設定されたタイプされたパラメータのセットと同じタイプされたパラメータのセット)を取り得る。タイプされた操作のアプリケーションは、これらのいくつかのタイプされたサブ操作の1つまたは複数(例えば、それぞれ)を3Dモデル化オブジェクトに適用することを含み得る。これらの例では、したがって、この方法は、いくつかのタイプされたサブ操作に対して同じタイプされたパラメータのセットを同時に設定することを可能にする。
タイプされたパラメータとは、そのタイプに固有の機能によって特徴付けられるパラメータである。パラメータのタイプの例は、数値、テキスト、日付、ブール値、オブジェクトであり得る。パラメータのタイプは、その性質、すなわち固有のプロパティを表す。これは、タイプされたパラメータが取ることができる値のセットを定義する。例えば、タイプされたパラメータが取ることができる値のセットは、連続した数値の間隔または離散値のセット、あるいは文字列または離散値のリスト(パラメータがブール値の場合は「True」または「False」など)であり得る。
タイプされた操作は3Dモデル化オブジェクトに適用される。これは、タイプされた操作のインスタンス化が3Dシーン内の3Dモデル化オブジェクトを修正し、3Dモデル化オブジェクトによって表される製造されるプロダクトのジオメトリを修正し得ること、を意味する。例えば、各タイプされたパラメータは、プロダクトのジオメトリ修正の特徴に関連付けられ得る。例えば、タイプされた操作は押出しであり得、タイプされたパラメータの1つは押出しの長さであり得る。タイプされた操作への3Dモデル化オブジェクトのアプリケーションは、設定された押出しの長さに従って3Dモデル化オブジェクトが押し出されることをもたらし得る。他の例では、タイプされた操作は編集であり得る。例えば、編集のインスタンス化は、3Dモデル化オブジェクトのエッジのカット数の変更および、エッジに垂直な方向の3Dモデル化オブジェクトの長さの変更をもたらし得る。このケースでは、タイプされたパラメータは、カット数を表すタイプされたパラメータと、3Dモデル化オブジェクトの長さを表す別のタイプされたパラメータを含み得る。他の例では、タイプされた操作は、回転、移動、フィレットまたは面取りの作成、またはシェル変換であり得る。
例では、タイプされた操作の3Dモデル化オブジェクトのアプリケーションの結果は、3Dシーン内の3Dモデル化オブジェクトの乗算であり得る。例えば、タイプされた操作はパターンであり得、変更は、パターンに従って3Dモデル化オブジェクトの新しいインスタンスを作成することで構成され得る、すなわち、パターンに従って3Dシーン内で3Dモデル化オブジェクトを繰り返す。そのケースでは、タイプされたパラメータは、パターンデザイン(例えば、線形または円形)および3Dモデル化オブジェクトのインスタンスの数を表す密度を含み得る。
タイプされた操作は、3Dモデル化オブジェクトの表示された表現の関心点に適用される。これは、タイプされた操作のアプリケーションによって引き起こされる変更が、関心点を中心とする、または、関心点に向けられることを意味する。タイプされた操作のアプリケーションは、関心点の位置で3Dモデル化オブジェクトを変更し得る。例えば、タイプされた操作のアプリケーションは、幾何学的観点から、関心点と接触する(または含む)、または関心点と接触する1つまたは複数の要素と接する要素の一部である3Dモデル化オブジェクトの1つまたは複数の要素(すなわち、3Dモデル化オブジェクトの頂点、エッジ、または面)を変更し得る。関心点は、3Dモデル化オブジェクトに属する点であり得る。関心点は、3Dモデル化オブジェクトの頂点、エッジ、または面の点であり得る。例えば、ジオメトリが頂点の場合、関心点は頂点そのものであり得る。他の例では、関心点はジオメトリの重心であり得る。例えば、タイプされた操作が編集である場合、関心点は編集するエッジの重心であり得る。他の例では、関心点はジオメトリの境界上のポイントであり得る。例えば、タイプされた操作が押出しである場合、関心点は押し出される面の重心であり得る。他の例では、関心点は3Dモデル化オブジェクト自体の重心(この場合など)または3Dモデル化オブジェクトの一部であり得る。例えば、タイプされた操作がパターンである場合、関心点は乗算される3Dモデル化オブジェクト(またはその一部)の重心であり得る。
タイプされた操作の取得(S20)は、ユーザインタラクションに際し実行され得る。例えば、タイプされた操作の取得(S20)は、それぞれのタイプされた操作にそれぞれ関連付けられたアイコンのセットを表示することと、表示されたセットのうちの所定のアイコンとのユーザインタラクションに際し、所定のアイコンに関連付けられたタイプされた操作を選択することとを含み得る。その場合、取得されたタイプされた操作は、選択されたタイプされた操作になり得る。
代替的または追加的に、タイプされた操作の取得(S20)は自動的に実行され得る。次に例について説明する。
例では、タイプされた操作のリストがメモリに格納され得、リストのタイプされた操作の1つが自動的に選択され得る。そのケースでは、自動的に選択されたリストのタイプされた操作は、例えば、3Dモデル化オブジェクト、3Dモデル化オブジェクトの表示された表現、および/または表示された表現の関心点に基づいて、ユーザの好みに従って事前に決定および/または設定され得る。
例では、方法は、関心点に従って適用されるタイプされた操作を決定し得る(例えば、関心点がエッジに属する場合の編集、または関心点が表面に属する場合の押出し)。これらの例では、方法は、3Dモデル化オブジェクトの関心点を選択すること(例えば、3Dモデル化オブジェクトのジオメトリ要素におけるユーザインタラクションに際し)、および選択された関心点に基づいて適用されるタイプされた操作を自動的に決定することを含み得る。いくつかのタイプされた操作が選択された関心点に適用される(自動選択の結果として)可能性がある場合、方法はユーザにそれらのうちの1つを選択するように促し得る(例えば、前述のようにアイコンのセットの表示を使用して)、またはデフォルトのタイプされた操作として登録されたものを自動的に選択し得る。
例では、タイプされた操作の取得(S20)が繰り返され得、いくつかの連続した取得ステップが、説明された例の少なくとも1つに従って実行される。例えば、方法は、3Dモデル化オブジェクトの表示された表現の関心点に適用されるべき新しいタイプされた操作を選択する(例えば、前述のように、新しい表示されたアイコン上でのユーザインタラクションに際し)ことを含み得る。あるいは、方法は、3Dモデル化オブジェクトの新しい関心点の選択を検出し、選択された新しい関心点に従って新しいタイプされた操作を自動的に決定することを含み得る。新しいタイプされた操作を選択した後、方法は、第1のタイプされたパラメータの選択(S30)、2Dマニピュレータの提供(S40)、グラフィック表現の表示(S50)、および選択された新しいタイプされた操作と共に現在選択されているタイプされたパラメータの設定(S60)のステップの繰り返しを含み得る。これは、いくつかのタイプされた操作を効率的にインスタンス化することを可能にする。
この方法は、少なくとも2つのタイプされたパラメータの中から第1のタイプされたパラメータを選択すること(S30)を含む。第1のタイプされたパラメータの選択(S30)は、ユーザインタラクションに際し実行され得る。例えば、この方法は、2Dマニピュレータの第1の論理エリアとの第1のユーザインタラクションを検出することと、第1の論理エリアに関連付けられたタイプされたパラメータを選択することと、を含み得る。このケースでは、この方法は、第1のタイプされたパラメータが選択される前に2Dマニピュレータを提供し得る。あるいは、第1のタイプされたパラメータの選択(S30)は、自動的に実行され得る。例えば、タイプされたパラメータのうちの1つをデフォルトのタイプされたパラメータとして登録し得、2Dマニピュレータが提供された後に最初に選択し得る。このケースも、第1のタイプされたパラメータが選択される前に2Dマニピュレータを提供し得、方法は、選択された第1のタイプされたパラメータを現在選択されているタイプされたパラメータとして定義する。例えば、各タイプされたパラメータはメモリ内のそれぞれのアドレスに登録され得、方法は現在選択されているタイプされたパラメータが第1のタイプされたパラメータのアドレスにあるものであることをメモリに格納し得る。
この方法は、現在選択されているタイプされたパラメータを設定するための3Dシーン内の2Dマニピュレータを提供すること(S40)を含む。マニピュレータは、3Dモデル化オブジェクトの設計におけるユーザのためのツールである。2Dマニピュレータは、タイプされたパラメータを設定するためにユーザがインタラクションし得る少なくとも1つの論理エリアを含む。マニピュレータは、3Dシーン内のそれぞれの2D表面である論理エリアを含むため、「2D」である。
少なくとも1つの論理エリアは、少なくとも2つのタイプされたパラメータのそれぞれに関連付けられる。これは、タイプされたパラメータのそれぞれが、2Dマニピュレータが含む少なくとも1つの論理エリアの1つに関連付けられる(または2Dマニピュレータが複数の論理エリアを含む場合は、複数の論理エリアに関連付けられ得る)。言い換えると、各タイプされたパラメータは、2Dマニピュレータの論理エリアの少なくとも1つに関連付けられる。各論理エリアは、少なくとも2つのタイプされたパラメータのうちの1つに関連付けられ得る。例えば、2Dマニピュレータは、タイプされたパラメータごとに1つの論理エリアを含み得る。このケースでは、したがって、2Dマニピュレータは、2つまたは複数の論理エリア(タイプされたパラメータごとに1つ)を含む。他の例では、2Dマニピュレータは、少なくとも2つのタイプされたパラメータのうちの1つまたは複数のタイプされたパラメータ(例えば、すべて)に対して、1つまたは複数のタイプされたパラメータのそれぞれに関連付けられたいくつかの論理エリアを含み得る。例えば、タイプされた操作は、2つのタイプされたパラメータ(第1のおよび第2のタイプされたパラメータ)を含み得、2Dマニピュレータは、第1のタイプされたパラメータへの1つの論理エリアと第2のタイプされたパラメータへの2つの論理エリアを含み得る。したがって、1つまたは複数の論理エリアが各タイプされたパラメータに関連付けられ得、各タイプされたパラメータについて、関連付けられた論理エリアの数が他のタイプされたパラメータと同じであり得る、またはタイプされたパラメータによって異なり得る。
論理エリアとは、関連付けられたタイプされたパラメータを設定するためにユーザインタラクションを実行できる3Dシーン内の2D表面である。2D表面は、3Dシーン内で定義され、スペースが制限される。これは、2D表面は3Dシーンの制限された部分に対応することを意味する。2D表面の各ポイントは3Dシーンのポイントに対応する。
2Dマニピュレータの提供(S40)は、タイプされたパラメータに関連付けられた論理エリアに対応する3Dシーンの各ポイントを登録することと、ユーザインタラクションが3Dシーンのこれらの登録されたポイントの1つで実行された場合にリアルタイムで検出することとを含み得る。リアルタイムで検出することは、ユーザのインタラクションが監視され得ることを意味しており、したがって、検出は、ユーザインタラクションの実行直後(または短時間後)に行われ得る。ユーザインタラクションが検出されると、方法は、ユーザインタラクションが検出された3Dシーンのポイントに関連付けられたタイプされたパラメータを決定することと、検出されたユーザインタラクションに従って、決定されたタイプされたパラメータを設定すること(S60)とを含み得る。
この方法は、現在選択されているタイプされたパラメータを設定するために、3Dシーン内の2Dマニピュレータのグラフィック表現を表示すること(S50)を含む。グラフィック表現は、2Dマニピュレータに関するそれぞれの情報をそれぞれ表すグラフィック要素を含み得る。例えば、グラフィック表現は、2Dマニピュレータの論理エリアを表す1つまたは複数のグラフィック要素を含み得、例えば、1つまたは複数のグラフィック要素は、論理エリアの2D表面に一致する形状を有する。各グラフィック要素は、2D表面に属し(または交差し)得る。これは、グラフィック要素の一部が、2D表面の制限の間の空間にあることを意味し得る。グラフィック表現を表示すること(S50)は、グラフィック表現の1つまたは複数のグラフィック要素、例えば、現在選択されているパラメータに関連付けられている論理エリアを表すグラフィック要素を表示することを含み得る。グラフィック表現は、3Dモデル化オブジェクトの表現と共に、例えば、GUIの同じウィンドウ上に表示され得る。例えば、グラフィック表現は、3Dモデル化オブジェクトの表現の上に表示され得る。
次に、ユーザインタラクションに際し、現在選択されているタイプされたパラメータの設定(S60)について説明する。図1のフローチャートでは、現在選択されているタイプされたパラメータが第1のタイプされたパラメータであり、ステップS60で第1のタイプされたパラメータが設定されるが、この説明は現在選択されている任意のタイプされたパラメータ(例えば、第2、第3、および/または第4のタイプされたパラメータ)の設定にも適用される。
現在選択されているタイプされたパラメータを設定することは、現在選択されているタイプされたパラメータ(例えば、メモリ内)の新しい値を登録/格納することを意味し、現在選択されているタイプされたパラメータは、設定前の第1の値に関連付けられ、設定後の第2の値(新しい値)に関連付けられる。したがって、第2の値が第1の値を置換し、置換はユーザのインタラクションの結果である。例では、現在選択されているタイプされたパラメータの設定は、ユーザインタラクションと共に連続的であり得る。他の例では、現在選択されているタイプされたパラメータは、ユーザインタラクションの最後にのみ設定され得る。
ユーザインタラクションは任意の種類のものであり得る、任意のタイプのポインティングデバイス(例えば、3Dシーンで表されるカーソルを制御するマウスなど)またはタッチスクリーンと実質的に接触している付属物(例えば、指またはスタイレットなど)を用いて実行され得る。
例では、ユーザインタラクションは、プレスアンドリリースインタラクションであり得る。プレスアンドリリースのインタラクションは、3Dシーンの第1の位置でのプレス、移動、および3Dシーンの第2の位置での移動後のプレスのリリースを含む。例えば、ポインティングデバイスがGUIでカーソルを制御するマウスである場合、プレスは、ユーザによるマウスの1つのボタンのプレスであり得る、第1の位置は、プレス時のGUIでのカーソルの位置であり得る。ユーザインタラクションは、ユーザによって制御されるマウスの移動を含み得る、その結果、GUIにおけるカーソルの移動が生じ、リリースは、移動後のユーザによるボタンのリリースであり得る。第2の位置は、リリース時のGUIにおけるカーソルの新たな位置(すなわち、マウスの移動によりカーソルが移動した後の位置)であり得る。ユーザインタラクションが付属物を用いて実行される場合、ユーザインタラクションは、タッチスクリーン(例えば、タッチパッド)を横切る付属物のスライドであり得る。第1の位置は、スライドの開始の位置(すなわち、指またはスタイレットとタッチスクリーンとの間の第1の接触点)であり得、移動は、タッチスクリーンと実質的に接触する付属物の移動(すなわち、「スライド」)であり得、第2の位置は、「スライド」移動の最後の位置(すなわち、付属物がタッチスクリーンから離れているとき)であり得る。同様に、ユーザインタラクションは、第1の位置と第2の位置との間で、現実世界でユーザによって実行される移動を含む任意のインタラクションであり得る(例えば、2つの位置の間でマウスを2回連続してクリックする、またはマウススクロールを使用する)。
例において、設定は、プレスアンドリリースインタラクションの第1の位置が第1のタイプされたパラメータに関連付けられた論理エリアの内側にあることを検出することを含み得る。内側とは、第1の位置が第1のタイプされたパラメータに関連付けられた2D表面の制限の間の空間にあることを意味する。次に、設定(S60)は、第1のタイプされたパラメータが現在選択されているタイプされたパラメータであることを定義することと、プレスアンドリリースインタラクションの移動に従って現在選択されているタイプされたパラメータを設定すること(S60)を含み得る。第2の位置(すなわち、リリース時の位置)については、論理エリアの内側または外側であり得、なぜなら、重要なのは、第1の位置と第2の位置との間の移動であって、論理エリアに対する第2の位置の位置ではないからであり得る。これは、ポインティングデバイスが論理エリアの内側に留まり得ること、あるいは、移動がポインティングデバイスを論理エリアの外側に導き得ることを意味する。
例では、第1のタイプされたパラメータを選択する(S30)ためのユーザインタラクションは、第1のタイプされたパラメータを設定する(S60)ためのユーザインタラクションの一部であり得る。この方法は、第1の位置が特定のタイプされたパラメータに関連付けられた論理エリアの内側にあることを検出した後に、特定のタイプされたパラメータを現在選択されているタイプされたパラメータとして自動的に選択して定義し得る。したがって、ユーザは、タイプされたパラメータの選択および設定の両方を実行するための単一のユーザインタラクションを実行し得、これは特に効率的である。
例では、方法は、現在選択されているタイプされたパラメータの値を、移動に従ってリアルタイムで(すなわち、移動中および連続的に)設定し得る。例えば、設定は、ユーザインタラクションの移動を監視することと、同時に、監視された移動に従って現在選択されているタイプされたパラメータに新しい値を付与すること(すなわち、現在選択されているタイプされたパラメータの値をリアルタイムで更新すること)と、を含み得る。例えば、移動の変動が閾値よりも大きくなったときに新しい値が付与され得、現在選択されているタイプされたパラメータの更新がユーザに連続的に見えるように、閾値が選択され得る。他の例では、現在選択されているパラメータの更新は、ユーザインタラクションの最後にのみ実行され得る。例えば、設定(S60)は、ユーザインタラクションの最後を検出し、その後にのみ、移動に従って現在選択されているタイプされたパラメータに新しい値を帰属させることを含み得る。
例えば、設定は、移動の長さに基づいて(例えば、長さに比例して)帰属された新しい値を計算することを含み得る。移動の長さは、実際の長さ(例えば、カーソルがカバーする距離)、または投影された距離、例えば、軸に沿った、であり得る。例えば、軸は、インタラクションの開始時のカーソルの初期位置と、新しい値が帰属されたときのカーソルの位置を通る軸であり得る。新しい値の計算もまた、第1のタイプされたパラメータ(すなわち、設定前のパラメータ)の現在の値に基づき得る。例えば、新しい値の計算は、移動に応じた値の変化(例えば、移動の長さに比例する)を計算し得、この値の変化を現在の値に加算することを含み、新しい値は、この加算の結果であり得る。代替的にまたは追加的に、新しい値の計算は、移動の方向にも基づき得る。例えば、方向は、値の変化の符号(すなわち、正または負)を定義し得る。
ここでは、2Dマニピュレータのグラフィック表現について説明する。グラフィック表現は、それぞれの論理エリアの2D表面にそれぞれ属する1つまたは複数の円形要素で構成され得る。これは、各円形要素の一部は、それぞれの論理エリアの2D表面の制限の間の空間にあることを意味する(例えば、1つの論理エリアのみ、または複数の論理エリア)。例えば、円形要素は、1つの論理エリア(または同じタイプされたパラメータに関連付けられた複数の論理エリア)の2D表面と交差し(交わり)得る。円形要素と論理エリアは、同じ平面上にあり得る。円形要素は、実質的に円(またはその一部)を形成する線であり得、線のそれぞれの部分は、1つまたは複数の論理エリアの2D表面(例えば、論理エリアごとに異なる部分)に属し得る(例えば、横断する)。論理エリアは、2Dディスクまたは2D円形表面(円形クラウンなど)であり得る。論理エリアが2Dディスクである場合、円形要素は、2Dディスクを実質的に横断し得る(例えば、実質的に中心を通過する)。論理エリアが2D円形表面である場合、円形要素は、2D円形表面の中心に対応し得る(すなわち、円形要素は、2D円形表面によって完全に縁取られ得る)。論理エリアは、2Dディスクまたは円形表面(円形クラウンなど)であり得、円形要素は、2D円形表面の中心に対応する、2Dディスクを実質的に横断し得る。1つまたは複数の円形要素は、互いに同心にあり得、それぞれに対応する半径を持つ。各円形要素は、2Dマニピュレータの中心(または実質的に中心)にあり得、それぞれの半径(すなわち、他の各円形要素の半径とは異なる半径)を有し得る。現在選択されているタイプされたパラメータに対応する円形要素は、視覚的に強調表示され得る(例えば、太さが太くなり得る)、および/または他の各円形要素は、非表示になり得る(部分的または完全に)、および/または厚さが薄くなり得る。
第1の例では、円形要素はスライダであり得、円形要素の論理エリアに関連付けられているタイプされたパラメータの値を示すカーソルを含み得る。このケースでは、論理エリアはカーソルを囲み得る(例えば、実質的にカーソルの中心に位置する2Dディスクであり得る)。第2の例では、円形要素は、変更の方向(例えば、円形要素に対応するタイプされたパラメータが設定されている場合のタイプされた操作の変更)などの方向を示すように向く2つの三角形を含み得る。このケースでは、2Dマニピュレータは、タイプされたパラメータに関連付けられた2つの論理エリアを含み得、2つの論理エリアのそれぞれがそれぞれのカーソルを囲み得る(例えば、2つのカーソルのうちの1つを実質的に中心とする2Dディスクであり得る円)。2つの三角形が示す方向は、2つの三角形を通る軸線に沿った方向であり得る。2Dマニピュレータのグラフィック表現は、円形要素のこれらの第1および第2の例の任意のもの(または任意の組み合わせ)を含み得る。
2Dマニピュレータを使用することは、表示されたグラフィック表現(例えば、GUIに)を介してユーザが既に利用可能な第2の論理エリア上でのユーザアクション時に、第2のタイプされたパラメータを選択して設定することを可能にする。さらに、2Dマニピュレータの表示されたグラフィック表現はコンパクトであり、ユーザは各タイプされたパラメータを迅速かつ効率的に設定することを可能にする。これは、設定を実行するためのユーザインタラクションの数と、それらを実行するためにユーザが必要とする労力(例えば、マウス距離の増加)を削減することにより、人間工学を改善する。円形要素を使用することにより、特に円形要素が互いに同心である場合に、複数の情報が同じ場所に同時にスタックされるため、グラフィック表現がコンパクトになる。また、それぞれ異なる半径を有する円形要素を表示することは、ユーザのそれらに対する区別を改善することに貢献する。また、各円形要素は、論理エリアの1つの2D表面に属する。これは、各円形要素に対して、円形要素の一部は、論理エリアの2D表面の制限の間の空間にあり得ることを意味する。したがって、円形要素は、3Dシーン内の論理エリアの位置を示すことを可能にする。これは、エラーまたは処理ミスを減らすことによって、タイプされたパラメータの選択と設定を改善する。実際に、これは、ユーザが、3Dシーン内のどこに論理エリアがあるか完全に把握することを可能にする。
例として、方法は、少なくとも2つのタイプされたパラメータの中から第2のタイプされたパラメータを選択することをさらに含み得る。第2のタイプされたパラメータの選択は、第1のタイプされたパラメータの選択と同じ方法で実行され得る。したがって、選択は、第1のタイプされたパラメータの選択に関して前述したように、ユーザインタラクションに際し、または自動的に実行され得る。
一例では、第2のタイプされたパラメータの選択がユーザインタラクションに際し実行される場合、選択は、2Dマニピュレータの第2の論理エリア上の第2のユーザインタラクションを検出することを含み得、2Dマニピュレータの第2の論理エリアは、第1の論理エリアとは異なり、すなわち、第1のおよび第2の論理エリアとは交差しない。選択することは、この第2の論理エリアに関連付けられたタイプされたパラメータ選択する。2つのケース、(i)第2の論理エリアが第1のタイプされたパラメータにも関連付けられている場合、第2のタイプされたパラメータは第1のタイプされたパラメータに対応し得ること、(ii)第2の論理エリアが第1のタイプされたパラメータに関連付けられていない場合、第2のタイプされたパラメータは第1のタイプされたパラメータとは異なり得ること、が発生し得る。
一例では、第2のタイプされたパラメータの選択が自動的に行われる場合、第2のタイプされたパラメータの選択は自動的に行われ得る。例えば、第1のパラメータが設定された後に、タイプされたパラメータの1つがデフォルトのタイプされたパラメータとして登録され得、そのケースでは、第1のパラメータが設定された直後に、第2のタイプされたパラメータが自動的に選択され得る。この方法は、選択された第2のタイプされたパラメータを、現在選択されているタイプされたパラメータとして定義する。これは、現在選択されているタイプされたパラメータが第1のタイプされたパラメータではなくなり、第1のタイプされたパラメータが第2のタイプされたパラメータに置き換えられることを意味する(ただし、第2のタイプされたパラメータが第1のタイプされたパラメータと同一である場合を除く)。例えば、メモリ内では、方法は、現在選択されているタイプされたパラメータのメモリアドレスから第1のタイプされたパラメータのメモリアドレスへのポイントを削除し、現在選択されているタイプされたパラメータのメモリアドレスから第2のタイプされたパラメータのメモリアドレスへの新しいポイントに置き換え得る。
例では、第1のタイプされたパラメータは、第2のタイプされたパラメータの選択後も選択されたままであり得る。このケースでは、方法は、ユーザインタラクションに際し、2つのタイプされたパラメータを同時に設定し得る(すなわち、第1のおよび第2のタイプされたパラメータを一緒に設定する)。したがって、2つのタイプされたパラメータは、現在選択されているタイプされたパラメータとして定義され得、方法は、ユーザインタラクションに際し、これら2つのタイプされたパラメータを一緒に設定し得る。他の例では、第2のタイプされたパラメータの選択は、第1のタイプされたパラメータの選択を解除することを含み得る。そのケースでは、方法は、ユーザインタラクションに際し、第2のタイプされたパラメータのみを設定し得る。
例では、方法は、現在選択されているタイプされたパラメータを設定するために、3Dシーン内の2Dマニピュレータの新しいグラフィック表現を表示することをさらに含み得る。新しいグラフィック表現を表示することは、第2のタイプされたパラメータに関連付けられた論理エリアの2D表面に属する新しい円形要素を表示することを含み得る。第2のタイプされたパラメータに関連付けられた論理エリアの2D表面に属する円形要素が既に表示されている場合、新しいグラフィック表現を表示することは、円形要素の表示を更新してそれを強調表示すること(例えば、より太い線で円形要素を表示すること)を含み得る。新しいグラフィック表現の表示はまた、第1のタイプされたパラメータに関連付けられた論理エリアに属する円形要素を(部分的または完全に)隠すことを含み得る。
例では、方法はさらに、第2のタイプされたパラメータの選択後に、現在選択されているタイプされたパラメータに関連付けられた2Dマニピュレータの少なくとも1つの論理エリアとのユーザインタラクションに応じて、現在選択されているタイプされたパラメータ(すなわち、第2のタイプされたパラメータ)を設定することを含み得る。これは、現在選択されているタイプされたパラメータの設定が繰り返されるが、現在選択されているタイプされたパラメータがここで第2のタイプされたパラメータであることを意味する。第2のタイプされたパラメータの設定は、第1のタイプされたパラメータの設定と類似(analogue)し得る。例えば、ユーザインタラクションは、プレスアンドリリースインタラクションであり得る(第1のタイプされたパラメータの設定について前述したように)。第1のタイプされたパラメータについては、同じユーザインタラクションが、第2のタイプされたパラメータの選択とこのパラメータの設定に対して実行され得る。また、例では、ユーザインタラクションが繰り返され得、各ユーザインタラクションの後に、特定のタイプされたパラメータの新しい値が設定され得る。
例では、方法は、新しいタイプされたパラメータを選択し、新しいグラフィック表現を表示し、第3のタイプされたパラメータ、第4のタイプされたパラメータなどに新しいタイプされたパラメータを設定するこれらのステップを繰り返し得る。「第1」、「第2」、「第3」または「第4」という数字表現は、タイプされたパラメータが選択される順序に関連しており、必ずしも異なるタイプされたパラメータを指定するものではないことを理解されたい。例えば、第2のタイプされたパラメータを設定した後、ユーザは第1のタイプされたパラメータに戻り、この第1のタイプされたパラメータを再度設定し得る。このケースでは、第1のタイプされたパラメータは「第3の」タイプされたパラメータ(「第2」の後に設定された)とも呼ばれ得る。
例では、関心点の選択は、ユーザインタラクションに際し、実行され得る。例えば、関心点の選択は、3Dモデル化オブジェクトのジオメトリ上のユーザインタラクションを検出し、ジオメトリのポイントを関心点として選択することを含み得る。例では、ユーザインタラクションが検出されたジオメトリが頂点である場合、方法は、頂点を関心点として選択することを含み得る。別の例では、ユーザインタラクションが検出されたジオメトリがエッジである場合、方法は、エッジの重心を関心点として選択することを含み得る。
例では、グラフィック表現の表示は、さらに、現在選択されているタイプされたパラメータの現在の値を表示することを含み得る(例えば、2Dマニピュレータのグラフィック表現の実質的に中央に位置する)。これは、第1のタイプされたパラメータまたは第2のタイプされたパラメータ(または選択された後続のタイプされたパラメータ)の現在の値が、グラフィック表現の中央に表示され得ることを意味する。例えば、現在の値の表示は、現在選択されているタイプされたパラメータの数値とその数値の単位(例えば、数値の上に表示され得る)を含み得る。グラフィック表現の表示は、現在選択されているタイプされたパラメータの設定中に、表示された現在値をリアルタイムで更新することをさらに含む。リアルタイムとは、設定中に現在選択されているタイプされたパラメータの現在値の任意の変化は、表示されている現在値の更新を直ちに引き起こすこと、を意味し得る。例えば、本方法は、設定中に(例えば、プレスアンドリリースインタラクションの動作中に)、現在値の変化(例えば、プレスアンドリリースインタラクションの動作によって引き起こされる変化)を連続的に検出し、変化が閾値より高い場合に、検出された変化を現在値に加算し、計算された新しい現在値を表示することによって新しい現在値を計算することによって、表示されている現在値を更新し得る。閾値は、現在の値の更新がユーザに対して連続的に行われるように十分に小さい値であり得る。例において、時間は時間ステップで離散化され得、各時間ステップに対して、更新は、前の時間ステップ中のユーザインタラクションに従って新しい値を計算し、計算された新しい値を表示することを含み得る。
例において、グラフィック表現の表示は、さらに、2Dマニピュレータのグラフィック表現と関心点とをグラフィックな接続するリンクを表示することを含み得る。本明細書で説明するグラフィック表現は、最初に表示されるグラフィック表現(すなわち、第1のタイプされたパラメータの設定時)であり得る、あるいは、後に表示される新しいグラフィック表現(すなわち、第2のタイプされたパラメータまたはその他の後続のタイプされたパラメータの設定時)であり得る。このリンクは、2Dマニピュレータのグラフィック表現と関心点をグラフィック的に接続する。例えば、リンクの一方の端はグラフィック表現の境界の近く(または上)に位置し、リンクの他方の端は関心点の近く(または上)に位置する。リンクは恒久的には表示され得ない。例えば、リンクは、現在選択されているタイプされたパラメータが設定されている場合にのみ表示され得る(設定の前後で取り消す)。リンクは、グラフィックなレンダリングを、およびユーザのタイプされた操作の変更への理解を改善し、生産性および効率を向上する。
例では、現在選択されているタイプされたパラメータの設定は、現在選択されているタイプされたパラメータに関連付けられた論理エリアの1つに対するユーザインタラクションを検出することと、現在選択されているタイプされたパラメータの値と検出されたユーザインタラクションに基づいて、現在選択されているタイプされたパラメータの新しい値を決定することと、を含み得る。例えば、ユーザインタラクションは、前述したプレスアンドリリースインタラクションであり得る。方法は、現在選択されているタイプされたパラメータの新しい値に基づいて、タイプされた操作を3Dモデル化オブジェクトに適用することをさらに含み得る。これは、タイプされた操作のアプリケーションによる変更が、タイプされたパラメータのそれぞれの値に従って計算されることを意味する(すなわち、現在選択されているタイプされたパラメータの新しい値を含む)。前述したように、タイプされた操作は、インスタンス化されたときに、そのタイプされたパラメータのそれぞれの値によって完全に定義される操作である。これは、計算された変更が固有であることを意味する。計算後、方法は、適用されたタイプされた操作に基づいて3Dモデル化オブジェクトの表現を更新することを含み得る。更新は、タイプされた操作のアプリケーションによって引き起こされる変更によって幾何学的に変更された3Dモデル化オブジェクトを表す新しいグラフィック表現を表示することを含み得る。例えば、タイプされた操作が押出しである場合、更新は、押し出された部分を表示することを含み得る。方法は、続けてまたは同時に、3Dモデル化オブジェクトの更新された表現に従って2Dマニピュレータの位置を更新することをさらに含み得る。例えば、関心点の位置がタイプされた操作のアプリケーションによって変更され、2Dマニピュレータのグラフィック表現が関心点にグラフィック的にリンクされている場合、2Dマニピュレータは、関心点の位置の変更に従って、例えば、グラフィック表現と関心点との間の間隔がタイプされた操作のアプリケーションの前後でグラフィック的に一定に保たれるように(すなわち、リンクの寸法が一定に保たれ得るように)移動され得る。更新は、2Dマニピュレータの各論理エリアのそれぞれの位置の更新を含む。
例において、2Dマニピュレータの位置の更新は、3Dシーン上のユーザの視点に対して実質的に垂直な平面内に2Dマニピュレータを維持することを含み得る。例えば、2Dマニピュレータの各2D表面は実質的に同一平面上にあり得、更新後も同一平面上に残り得る。したがって、更新の前後で、各2D表面は同じ平面上に残り得、GUIを表示するデバイスの平面、または3Dシーン上のユーザの視点に対して垂直な平面であり得る。ユーザの視点は、3Dモデル化オブジェクトの表現が3Dシーン(例えば、GUI)に表示されるものである。例えば、表現が画面に表示される場合、視点は画面の平面に直交する方向にある。代替的または追加的に、2Dマニピュレータの位置の更新は、3Dシーン内で2Dマニピュレータと関心点との間の距離を一定に保つことを含み得る。例えば、2Dマニピュレータのグラフィック表現と関心点とをグラフィカルに接続するリンクの寸法は、タイプされた操作のアプリケーションの前後で一定のままであり得る。
例では、2Dマニピュレータは、少なくとも2つのタイプされたパラメータの少なくとも1つに対して、少なくとも1つの追加の論理エリアをさらに含み得る。これは、各タイプされたパラメータ(例えば、すべてのタイプされたパラメータまたは1つまたは複数のタイプされたパラメータ)は1つの追加の論理エリアに関連付けられ得るが、複数の追加の論理エリアにも関連付けられ得る。例えば、2Dマニピュレータは、1つまたは複数のタイプされたパラメータ(例えば、少なくとも2つのタイプされたパラメータのすべて)に対して、それぞれ1つの追加の論理エリアを含み得る。追加された各論理エリアは、3Dシーンに埋め込まれたそれぞれの2D表面である。3Dシーンへの埋め込みは、追加された各論理エリアが、3Dシーンの1つまたは複数の特徴に従って定義されることを意味し得る。また、2D表面が3Dシーンのビューに従って移動することも意味し得る。例えば、追加された論理エリアは、3Dモデル化オブジェクトの内側(例えば、カバーであり得る)にあり得る(または、3Dモデル化オブジェクトの外側にある)。2D表面は、3Dシーン内の3Dモデル化オブジェクトのビューの変更に応じて例えば、表示された3Dモデル化オブジェクトの視点の変更によって引き起こされる変更、または3Dモデル化オブジェクトへのタイプされた操作のアプリケーションによって引き起こされる変更に応じて、変化し得る。
各追加の論理エリアは、論理エリアと同等の方法で動作し得る。例えば、ユーザは、関連付けられたタイプされたパラメータを設定するために、各追加の論理エリアに対してユーザインタラクションを実行し得る。現在選択されているタイプされたパラメータの設定は、現在選択されているタイプされたパラメータに関連付けられた2Dマニピュレータの少なくとも1つの追加の論理エリアとのユーザインタラクションに際し、現在選択されているタイプされたパラメータを設定することを含み得る。ユーザインタラクションは、他の論理エリアの1つとのユーザインタラクションに類似し得、例えば、前述したようにプレスアンドリリースインタラクションであり得る。追加の論理エリアは、タイプされたパラメータを設定するためのユーザインタラクションの労力の軽減を可能にし、これは、人間工学および効率性を改善する。実際に、ユーザは、3Dシーンに埋め込まれた追加の論理エリアを介して、マニピュレータからリモートでタイプされたパラメータを設定し得る。
図6乃至図9は、2Dマニピュレータのグラフィック表現の4つの例(610、620、630、640)を示す。これらの例では、3Dモデル化オブジェクト611はエッジ612を含み、タイプされた操作は編集である。2Dマニピュレータは、エッジ612のカット数、およびエッジ612に垂直な方向における3Dモデル化オブジェクト611の長さである、2つのタイプされたパラメータを含む。関心点613は、エッジ612の重心である。グラフィック表現の4つの例のそれぞれにおいて、リンク614が表示される。リンク614は、グラフィック表現と関心点613とをグラフィック的に接続する。
図6の第1の例610において、表示されたグラフィック表現610は、第1の円形要素615を含む。第1の円形要素615は、第1のタイプされたパラメータ(この例では、エッジ612に垂直な方向における3Dモデル化オブジェクト615の長さ)の2D表面に属する。したがって、ユーザインタラクションが第1のタイプされたパラメータの2D表面上(すなわち、第1の円形要素615の近くで、例えば、第1の円形要素615から閾値距離より低い距離で)で検出されると、方法は、検出されたユーザインタラクションに従って第1のタイプされたパラメータを設定する。この例では、第1の円形要素615は、部分的に隠された円である(円の半分以上が隠されている)。第1のタイプされたパラメータの現在値は、2Dマニピュレータ616の中央に表示される。現在値の表示は、タイプされたパラメータ「124.01」の数値、および数値の上に数値の単位「mm」を含む。
図7の第2の例620において、表示されたグラフィック表現620は、第2のタイプされたパラメータ(すなわち、エッジ612のカット数)の2D表面に属する第2の円形要素622を含む。第2の円形要素622は、部分的に隠されており、第2のタイプされたパラメータの現在の値(すなわち、エッジ612の現在のカット数)を示すカーソル623を含む。第1の円形要素621もまた、第1の実施例610のものとは異なる。第1の円形要素621は、1つの円と、円の両側にある円上の2つのカーソル624とを含む。円は、強調表示するために各カーソルで部分的に隠される。カーソル625は、第1のタイプされたパラメータに関連付けられた論理エリア内にある。したがって、第1のタイプされたパラメータの現在の値は、2Dマニピュレータの中心に表示される。
図8の第3の例630において、表示されたグラフィック表現630は、第2の円形要素631のみを含む。カーソル625は、第2のタイプされたパラメータ(すなわち、エッジ612のカット数)に関連付けられた論理エリア内にある。したがって、第2のタイプされたパラメータの現行値は、2Dマニピュレータの中心に表示される(「7カット」)。エッジ612のカット数を設定するためにユーザインタラクションが実行され、方法は、カーソル633の新しい位置を計算した。第2の円形要素631の表示は、第2の例620と異なり、円が強調表示される(円の線の太さが太くなる)。第1のタイプされたパラメータの円形要素621は非表示になっている。
図9の第4の例640では、グラフィック表現の表示は第1の円形要素641と第2の円形要素とを含む。第1の円形要素641の表示は、第2の例620の表示と同様である。第2の円形要素の表示は異なる。第2の円形要素は、円の2つの部分642、642’を含み、各部分はカーソル643、643’を含む。カーソル644は、第1のタイプされたパラメータに関連付けられた論理エリア内にあり、したがって、第1のタイプされたパラメータの現在の値は、2Dマニピュレータの中心に表示される(11.11mm)。
図10は、2Dマニピュレータの論理エリアの例を示している。2Dマニピュレータは、第1のタイプされたパラメータに関連付けられた2つの論理エリア720a、720bと、第2のタイプされたパラメータに関連付けられた2つの論理エリア721a、721bとを含む。ユーザは、2つの論理エリア720a、720bとインタラクションすることによって第1のタイプされたパラメータを設定し、2つの論理エリア721a、721bとインタラクションすることによって第2のタイプされたパラメータを設定し得る。2Dマニピュレータはまた、メイン論理エリア722を含む。メイン論理エリア722は、メイン論理エリア722が現在選択されているパラメータに関連付けられている(すなわち、どちらが現在選択されているかに応じて、第1のタイプされたパラメータまたは第2のタイプされたパラメータに)という点で、他の720a、720b、721、721bとは異なる。ユーザは、メイン論理エリア722とインタラクションすることによって、現在選択されているタイプされたパラメータを設定し得る。各論理エリアは、円で区切られた2D表面(すなわち、ジオメトリディスク)であり、論理エリアは、互いに同一平面上にある。これは、これらはすべて同じ平面、この例では、グラフィック表現と3Dモデル化オブジェクトが表示される画面平面、に属していること、を意味する。各論理エリアは、2Dマニピュレータのグラフィック表現のそれぞれのジオメトリ要素を中心としている。論理エリア720、720’、721、および721’は、2Dマニピュレータのグラフィック表現が含む第1または第2の円形要素のそれぞれのカーソルを中心としており、メイン論理エリアは、グラフィック表現を中心としている。
図11乃至図13は、2Dマニピュレータによるタイプされたパラメータの設定例を示す。3Dモデル化オブジェクトは、3Dパッチ801であり、エッジ802を含む。この方法は、3Dパッチの関心点に適用されるタイプされた操作を取得することを含む。タイプされた操作の取得は自動的に実行され得る。例えば、前のステップにおいて、ユーザがエッジ802を選択し、タイプされた操作の取得は、関心点805がエッジ802の重心であり、タイプされた操作が編集であることを自動的に決定することを含み得る。図11に示す第1のステップでは、2Dマニピュレータが提供され、2Dマニピュレータのグラフィック表現803が表示される。2Dマニピュレータは、2つのタイプされたパラメータのそれぞれに対する論理エリアを含む。2つのタイプされたパラメータは、エッジ802のカット数と、エッジ802に垂直な方向における3Dパッチ801の長さである。第1のステップ810では、カーソル804は論理エリアの外側にある。
図12に示す第2のステップ820では、第1のステップに続いて、ユーザは2Dマニピュレータのカーソル804にアプローチして、この例では3Dパッチ801の長さである第1のタイプされたパラメータに関連付けられた論理エリアの内側にカーソル804を置く。方法が、カーソル804は論理エリアの内側にあることを検出すると、方法は、2Dマニピュレータの新しいグラフィック表現821を表示する。この表示は、前のグラフィック表現の半分隠された円806を完全な円822で置き換えることを含む。この表示はまた、タイプされたパラメータの修正の方向(すなわち、エッジ802に垂直な方向)を示す2つのカーソル823を完全な円822上に表示することを含む。この方法は、関心点の可能な位置のセットを表す線824を表示することを含む。各可能な位置は、3Dパッチ801の長さの値に対応する。
図13に示す第3のステップでは、第2のステップに続いて、ユーザインタラクションがユーザによって実行される。ユーザインタラクションは、第1のタイプされたパラメータに関連付けられた論理エリア内をプレスすることから始まる。この方法は、そのプレスを検出し、第1のタイプされたパラメータを選択する(第1のタイプされたパラメータを現在選択されているタイプされたパラメータとして定義する)。次に、ユーザインタラクションは、カーソル804の移動を含み、この方法は、その移動に従って第1のタイプされたパラメータを設定する。カーソル804の移動は3Dパッチに向けられ、この方法は、その移動に従って3Dパッチ801の長さの新しい値を計算する。この方法は、計算された新しい値に従って編集操作を適用し(すなわち、長さの減少を計算し)、表示された3Dモデル化オブジェクションの表現を更新する。方法はまた、2Dマニピュレータの位置、および2Dマニピュレータの中心に表示される長さの値を更新する(「527.80mm」は「306.98mm」に置き換えられる)。2Dマニピュレータの新しい位置は、2Dマニピュレータが、3Dシーン上のユーザの視点に垂直な同じ平面にあり、関心点805から同じ距離にあるようなものである。この方法は、タイプされた操作のアプリケーション中に、関心点805の移動に従って2Dマニピュレータを移動する。
図14乃至図18は、2Dマニピュレータによる編集操作の2つのタイプされたパラメータの設定の例を示す。3Dモデル化オブジェクトは、3Dパッチ901であり、エッジ902を含む。図14に示す第1のステップでは、本方法は、3Dパッチの関心点に適用されるタイプされた操作を取得する。タイプされた操作の取得は、カーソル904がエッジ902に接近したことを検出することと、関心点805がエッジ802の重心であり、タイプされた操作が編集であることを決定することとを含む。
図15に示す第2のステップでは、第1のステップに続いて、2Dマニピュレータが提供される。2Dマニピュレータは、2つのタイプされたパラメータのそれぞれに対する論理エリアを含む。2つのタイプされたパラメータは、エッジ902のカット数と、エッジ902に垂直な方向における3Dパッチ901の長さである。2Dマニピュレータは、第2のタイプされたパラメータ(エッジ902のカット数)のための追加の論理エリアを含む。追加の論理エリアは、3Dパッチ901の表現をカバーする2D表面であり、カーソル904は、追加の論理エリア内にある。2Dマニピュレータを提供した後、ユーザインタラクションがユーザによって実行され、第2のタイプされたパラメータに関連付けられた追加の論理エリア内をプレスすることから始まる。この方法は、プレスを検出し、第2のタイプされたパラメータを選択する(そして、現在選択されているタイプされたパラメータとして第2のタイプされたパラメータを定義する)。この時点で、方法は、第2のタイプされたパラメータを設定するための2Dマニピュレータのグラフィック表現903を表示する。グラフィック表現903は、第2のタイプされたパラメータに関連付けられた2Dマニピュレータの論理エリアの2D表面に属する第1の円形要素を含む。現在の値(すなわち、エッジ902の現在のカット数)は、グラフィック表現903の中央に表示される。
図16に示す第3のステップでは、第2のステップに続いて、ユーザがカーソル904を移動させ、この移動に従って、方法が第2のタイプされたパラメータ(すなわち、エッジ902のカット数)を設定する。方法は、計算された新しい値に従って編集操作を適用し(すなわち、エッジ902のカット数を増加させ)、それに従って、表示されている3Dモデル化オブジェクションの表現を更新する。また、2Dマニピュレータの中心に表示されるカット数の値も更新される(「1カット」は「5カット」に置き換えられる)。
図17に示す第4のステップでは、第3のステップに続いて、ユーザは、第1のタイプされたパラメータに関連付けられた論理エリア内(すなわち、エッジ902に垂直な方向における3Dパッチ901の長さ)にカーソル904を移動させる。この方法は、2Dマニピュレータの新しいグラフィック表現906を表示する。この新しいグラフィック表現906は、第1のタイプされたパラメータに関連付けられた2Dマニピュレータの論理エリアの2D表面に属する第2の円形要素を含む。
図18に示す第5ステップでは、第4ステップに続いて、第1のタイプされたパラメータが設定される。例えば、第1のタイプされたパラメータは、図11乃至図13を参照して説明したのと同様の方法で設定される。
図19乃至22は、2Dマニピュレータによる押出し操作の2つのタイプされたパラメータの設定の例を示す。この別の例では、タイプされた操作は押出しである。3Dモデル化オブジェクトは、3Dパッチ1001であり、エッジ1002を含む。図19に示す第1のステップでは、本方法は、3Dパッチの関心点に適用されるタイプされた操作を取得する。タイプされた操作の取得は、カーソル904がエッジ1002に接近したことを検出することと、タイプされた操作が押出しであると決定することを含む。例えば、押出しがデフォルトのタイプされた操作として定義されている、またはユーザがタイプされた操作が押出しであると以前に選択している。押出しは、押出しの長さである第1のタイプされたパラメータと、押出しの回転である第2のタイプされたパラメータとを含む。2Dマニピュレータが提供され、第1のタイプされたパラメータ(押出しの長さ)のための追加の論理エリアを含む。追加の論理エリアは、3Dパッチ1001の表現の外側をカバーする2D表面である。したがって、第1のステップ1010では、カーソル1004は追加の論理エリア内にある。
図20に示す第2のステップでは、第1のステップに続いて、ユーザインタラクションがユーザによって実行され、第1のタイプされたパラメータ(すなわち、押出しの長さ)に関連付けられた追加の論理エリア内をプレスすることから始まる。この方法は、プレスを検出し、第1のタイプされたパラメータを選択する(そして、第1のタイプされたパラメータを現在選択されているタイプされたパラメータとして定義する)。このとき、この方法は、第2のタイプされたパラメータを設定するための2Dマニピュレータのグラフィック表現1003を表示する。次に、ユーザがカーソル1004を移動すると、この方法は、その移動に従って押出しの長さを設定し、新たに計算された値に従って押出し操作を適用し(すなわち、押出しの長さを増加させ)、それに従って、表示された3Dモデル化オブジェクションの表現を更新する。また、この方法は、2Dマニピュレータの中心に表示されるカット数の値(「884.45」)も更新する。
図21に示す第3のステップでは、第2のステップに続いて、押出しの長さを設定した後、ユーザは、第2のタイプされたパラメータに対応する論理エリア内(すなわち、押出しの回転)にカーソル1004を移動させる。この方法は、カーソル1004が第2のタイプされたパラメータに関連付けられた論理エリア内にあることを検出し、2Dマニピュレータの新しいグラフィック表現1006を表示する。新しいグラフィック表現1006は、第2のタイプされたパラメータに関連付けられた2Dマニピュレータの論理エリアの2D表面に属する第2の円形要素を含む。新しいグラフィック表現1006はまた、回転方向を示す2つのカーソルを含む。この方法はまた、関心点1005の可能な位置のセットを表す線1007を表示する。セットの可能な各位置は、現在選択されているタイプされたパラメータの値に対応する。線1007は、エッジ1002が回転されたとき、すなわち、押出しが異なる回転値で3Dパッチ1001に適用されたときの、関心点1005の可能な位置のセットを表す。したがって、線1007は、押出しの回転の設定が実行されるときにユーザをガイドすることを可能にする。
図22に示す第4ステップでは、第3ステップに続いて、押出しの回転が設定される。プレスアンドリリースユーザインタラクションが、ユーザによって実行され、第2のタイプされたパラメータ(すなわち、押出しの回転)に関連付けられた追加の論理エリア内でプレスが開始される。この方法では、プレスが検出され、第2のタイプされたパラメータが選択される(そして、第2のタイプされたパラメータを現在選択されているタイプされたパラメータとして定義する)。したがって、この方法は、現在選択されているタイプされたパラメータ(第1のタイプされたパラメータの前の)を変更する。この時点で、本方法は、表示された新しいグラフィック表現1006を修正し、表示された第2の円形要素を強調表示する(例えば、より高い厚さまたは異なる色で)。同様に、本方法はまた、線1007の表示を強調表示する。次に、ユーザがカーソル1004を移動すると、本方法は、その移動に従って押出しの回転を設定し、新しい計算値に従って押出し操作を適用し(すなわち、押出しの回転を増加させ)、それに応じて、表示された3Dモデル化オブジェクションの表現を更新する。また、本方法は、2Dマニピュレータの中心に表示されるカット数の値も更新する(29.728度)。
Claims (15)
- 3Dシーン内の3Dモデル化オブジェクトに適用されるタイプされた操作のタイプされたパラメータを設定するためのコンピュータ実装方法であって、
前記3Dシーン内の前記3Dモデル化オブジェクトの表現を表示することと、
前記3Dモデル化オブジェクトの前記表示された表現の関心点に適用される前記タイプされた操作を取得することであって、前記タイプされた操作は、少なくとも2つのタイプされたパラメータを含む、ことと、
前記少なくとも2つのタイプされたパラメータのうちの第1のタイプされたパラメータを選択し、それによって、前記選択された第1のタイプされたパラメータを現在選択されているタイプされたパラメータとして定義することと、
前記現在選択されているタイプされたパラメータを設定するために、前記3Dシーンに2Dマニピュレータを提供することであって、前記2Dマニピュレータは、前記少なくとも2つのタイプされたパラメータのそれぞれに関連付けられた少なくとも1つの論理エリアを含み、論理エリアは、関連付けられた前記タイプされたパラメータを設定するためにユーザインタラクションを実行できる、3Dシーン内の2D表面である、ことと、
前記現在選択されているタイプされたパラメータを設定するために、前記3Dシーンに前記2Dマニピュレータのグラフィック表現を表示することと、
前記現在選択されているタイプされたパラメータに関連付けられた前記2Dマニピュレータの前記少なくとも1つの論理エリアとのユーザインタラクションに際し、前記現在選択されているタイプされたパラメータを設定することと、
を含む、コンピュータ実装方法。 - 前記コンピュータ実装方法は、
前記少なくとも2つのタイプされたパラメータのうちの第2のタイプされたパラメータを選択し、それによって、前記選択された第2のタイプされたパラメータを前記現在選択されているタイプされたパラメータとして定義することと、
前記現在選択されているタイプされたパラメータを設定するために、前記3Dシーンに前記2Dマニピュレータの新しいグラフィック表現を表示することと、
前記現在選択されているタイプされたパラメータに関連付けられた前記2Dマニピュレータの前記少なくとも1つの論理エリアとのユーザインタラクションに際し、前記現在選択されているタイプされたパラメータを設定することと、
をさらに含む、請求項1に記載のコンピュータ実装方法。 - 前記2Dマニピュレータの前記グラフィック表現は、前記第2のタイプされたパラメータに関連付けられた前記2Dマニピュレータの前記少なくとも1つの論理エリアの前記2D表面に属する第1の円形要素を含む、請求項2に記載のコンピュータ実装方法。
- 前記2Dマニピュレータの前記グラフィック表現は、前記選択された第1のタイプされたパラメータに関連付けられた前記2Dマニピュレータの前記少なくとも1つの論理エリアの前記2D表面に属する第2の円形要素を含み、
前記第1の円形要素および前記第2の円形要素は、互いに同心円であり、それぞれの半径を有する、
請求項3に記載のコンピュータ実装方法。 - 前記第1の円形要素および前記第2の円形要素の少なくとも1つはスライダであり、および/または
前記第1の円形要素および前記第2の円形要素の少なくとも1つは、修正の方向を示すように配向する2つの三角形を含む、請求項4に記載のコンピュータ実装方法。 - 前記グラフィック表現の前記表示は、
前記現在選択されているタイプされたパラメータの現在の値を表示することであって、前記表示された現在の値は、前記2Dマニピュレータの前記グラフィック表現において実質的に中央に表示される、ことと、
現在選択されているタイプされたパラメータを設定しながら、前記表示された現在の値をリアルタイムで更新することと、
をさらに含む、請求項1乃至5のいずれか一項に記載のコンピュータ実装方法。 - 前記関心点に適用される前記タイプされた操作の前記取得は、
前記3Dモデル化オブジェクトのジオメトリ上のユーザインタラクションを検出することと、
前記ユーザインタラクションが検出される前記ジオメトリが頂点である場合、前記頂点を前記関心点として選択することと、
前記ユーザインタラクションが検出される前記ジオメトリがエッジである場合、前記エッジの重心を前記関心点として選択することと、を含み、
前記グラフィック表現を前記表示することは、前記2Dマニピュレータの前記グラフィック表現と前記関心点とをグラフィカルに接続するリンクを表示することをさらに含む、
請求項1乃至6のいずれか一項に記載のコンピュータ実装方法。 - 前記現在選択されているタイプされたパラメータの前記設定は、
前記現在選択されているタイプされたパラメータに関連付けられた論理エリアのうちの1つでのユーザインタラクションを検出することと、
前記現在選択されているタイプされたパラメータの値および前記検出されたユーザインタラクションに基づいて、前記現在選択されているタイプされたパラメータの新しい値を決定することと、
前記現在選択されているタイプされたパラメータの前記新しい値に基づいて、前記タイプされた操作を前記3Dモデル化オブジェクトに適用することと、
前記適用されたタイプされた操作に基づいて前記3Dモデル化オブジェクトの前記表現を更新することと、
前記3Dモデル化オブジェクトの前記更新された表現に従って前記2Dマニピュレータの位置を更新することと、
を含む、請求項1乃至7のいずれか一項に記載のコンピュータ実装方法。 - 前記2Dマニピュレータの前記位置の前記更新が、
前記2Dマニピュレータを、前記3Dシーン上のユーザの視点に垂直な平面に保持すること、および/または
前記2Dマニピュレータおよび前記関心点との間の前記3Dシーンで距離を保つこと、
を含む、請求項8に記載のコンピュータ実装方法。 - 前記現在選択されているタイプされたパラメータの前記設定が、前記関心点の可能な位置のセットを表す少なくとも1つの線を表示することを含み、前記セットの各可能な位置が、前記現在選択されているタイプされたパラメータの値に対応する、請求項1乃至9のいずれか一項に記載のコンピュータ実装方法。
- 前記2Dマニピュレータは、前記少なくとも2つのタイプされたパラメータのうちの少なくとも1つについて、少なくとも1つの追加の論理エリアをさらに含み、各追加の論理エリアは、前記3Dシーン内に埋め込まれたそれぞれの2D表面であり、
前記現在選択されているタイプされたパラメータの前記設定は、前記現在選択されているタイプされたパラメータと関連付けられた前記2Dマニピュレータの前記少なくとも1つの追加の論理エリアとのユーザインタラクションに際し、前記現在選択されているタイプされたパラメータを設定することを含む、
請求項1乃至10のいずれか一項に記載のコンピュータ実装方法。 - 前記タイプされた操作は編集であり、前記3Dモデル化オブジェクトはエッジを含み、前記少なくとも2つのタイプされたパラメータは、前記エッジのカット数および前記エッジに垂直な方向の3Dモデル化オブジェクトの長さを含む、
前記タイプされた操作は押出であり、前記少なくとも2つのタイプされたパラメータは、押出の長さおよび押出の回転を含む、または
前記タイプされた操作はパターンであり、前記少なくとも2つのタイプされたパラメータは、パターンデザインおよびパターン密度を含む、
請求項1乃至11のいずれか一項に記載のコンピュータ実装方法。 - 請求項1乃至12のいずれか一項に記載のコンピュータ実装方法を実行するための命令を含むコンピュータプログラム。
- 請求項13に記載のコンピュータプログラムを記録しているコンピュータ可読記憶媒体。
- メモリおよびグラフィカルユーザインターフェースに結合されたプロセッサを含むシステムであって、前記メモリは、請求項13に記載のコンピュータプログラムを記録している、システム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP21306895.0A EP4202622A1 (en) | 2021-12-21 | 2021-12-21 | Setting typed parameter |
EP21306895.0 | 2021-12-21 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023092523A true JP2023092523A (ja) | 2023-07-03 |
Family
ID=79686998
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022203937A Pending JP2023092523A (ja) | 2021-12-21 | 2022-12-21 | タイプされたパラメータの設定 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230195296A1 (ja) |
EP (1) | EP4202622A1 (ja) |
JP (1) | JP2023092523A (ja) |
CN (1) | CN116361879A (ja) |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5450540A (en) * | 1992-12-16 | 1995-09-12 | Apple Computer, Inc. | Graphical interface for interacting constrained actors |
US6061067A (en) * | 1996-08-02 | 2000-05-09 | Autodesk, Inc. | Applying modifiers to objects based on the types of the objects |
JP2005527880A (ja) * | 2001-10-24 | 2005-09-15 | ニック マルチメディア インク | ユーザ定義可能な画像参照ポイント |
US8701028B2 (en) * | 2006-06-14 | 2014-04-15 | Google Inc. | Graphical user interface and related method |
US7954067B2 (en) * | 2007-03-16 | 2011-05-31 | Apple Inc. | Parameter setting superimposed upon an image |
US9594487B2 (en) * | 2012-02-27 | 2017-03-14 | Autodesk, Inc | Systems and methods for manipulating a 3D object in a 3D model using a software widget and surface constraints |
EP3030990A1 (en) * | 2013-08-07 | 2016-06-15 | Menhirs NV | Method for manipulating a computer aided design (cad) model, computer program product and server therefore |
US9563340B2 (en) * | 2014-03-08 | 2017-02-07 | IntegrityWare, Inc. | Object manipulator and method of object manipulation |
US10025884B1 (en) * | 2014-07-29 | 2018-07-17 | Msc.Software Corporation | Manipulation tool for offset surface of a simulation model |
US20180267690A1 (en) * | 2017-03-20 | 2018-09-20 | Georgia Tech Research Corporation | Control system for a mobile manipulation device |
US11010499B2 (en) * | 2017-08-03 | 2021-05-18 | Bricsys Nv | User-selected dynamic dimensions in computer-aided design |
US11675473B1 (en) * | 2021-04-30 | 2023-06-13 | Splunk Inc. | User interface for summarizing data to generate previews of metric data |
-
2021
- 2021-12-21 EP EP21306895.0A patent/EP4202622A1/en active Pending
-
2022
- 2022-12-21 CN CN202211650354.1A patent/CN116361879A/zh active Pending
- 2022-12-21 JP JP2022203937A patent/JP2023092523A/ja active Pending
- 2022-12-21 US US18/086,359 patent/US20230195296A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
CN116361879A (zh) | 2023-06-30 |
US20230195296A1 (en) | 2023-06-22 |
EP4202622A1 (en) | 2023-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11733851B2 (en) | Generation of a color of an object displayed on a GUI | |
CN108228987B (zh) | 副本选择 | |
JP6356378B2 (ja) | 幾何学的三次元モデルオブジェクトを設計する方法 | |
CN106652045B (zh) | 比较3d建模对象的方法、系统及介质 | |
JP6966842B2 (ja) | 面の軌道を用いたB−RePの設計 | |
EP3040945B1 (en) | Creation of bounding boxes on a 3d modeled assembly | |
EP3040946B1 (en) | Viewpoint selection in the rendering of a set of objects | |
US8823706B2 (en) | Method, program and product edition system for visualizing objects displayed on a computer screen | |
JP6721330B2 (ja) | マルチフィジックスシステムの設計 | |
JP7456767B2 (ja) | 機械部分の設計 | |
KR102055952B1 (ko) | 오브젝트들의 원형 스태거드 패턴의 설계 | |
EP4202622A1 (en) | Setting typed parameter | |
US11941773B2 (en) | Method for designing a three-dimensional mesh in a 3D scene |