特許第6598984号(P6598984)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ シーメンス プロダクト ライフサイクル マネージメント ソフトウェアー インコーポレイテッドの特許一覧

特許6598984オブジェクト選択システムおよびオブジェクト選択方法
<>
  • 特許6598984-オブジェクト選択システムおよびオブジェクト選択方法 図000002
  • 特許6598984-オブジェクト選択システムおよびオブジェクト選択方法 図000003
  • 特許6598984-オブジェクト選択システムおよびオブジェクト選択方法 図000004
  • 特許6598984-オブジェクト選択システムおよびオブジェクト選択方法 図000005
  • 特許6598984-オブジェクト選択システムおよびオブジェクト選択方法 図000006
  • 特許6598984-オブジェクト選択システムおよびオブジェクト選択方法 図000007
  • 特許6598984-オブジェクト選択システムおよびオブジェクト選択方法 図000008
  • 特許6598984-オブジェクト選択システムおよびオブジェクト選択方法 図000009
  • 特許6598984-オブジェクト選択システムおよびオブジェクト選択方法 図000010
  • 特許6598984-オブジェクト選択システムおよびオブジェクト選択方法 図000011
  • 特許6598984-オブジェクト選択システムおよびオブジェクト選択方法 図000012
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6598984
(24)【登録日】2019年10月11日
(45)【発行日】2019年10月30日
(54)【発明の名称】オブジェクト選択システムおよびオブジェクト選択方法
(51)【国際特許分類】
   G06F 3/0482 20130101AFI20191021BHJP
【FI】
   G06F3/0482
【請求項の数】17
【全頁数】30
(21)【出願番号】特願2018-510946(P2018-510946)
(86)(22)【出願日】2016年7月29日
(65)【公表番号】特表2018-530052(P2018-530052A)
(43)【公表日】2018年10月11日
(86)【国際出願番号】US2016044633
(87)【国際公開番号】WO2017039902
(87)【国際公開日】20170309
【審査請求日】2018年4月26日
(31)【優先権主張番号】14/838,957
(32)【優先日】2015年8月28日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】504438288
【氏名又は名称】シーメンス プロダクト ライフサイクル マネージメント ソフトウェアー インコーポレイテッド
【氏名又は名称原語表記】Siemens Product Lifecycle Management Software Inc.
(74)【代理人】
【識別番号】100114890
【弁理士】
【氏名又は名称】アインゼル・フェリックス=ラインハルト
(74)【代理人】
【識別番号】100098501
【弁理士】
【氏名又は名称】森田 拓
(74)【代理人】
【識別番号】100116403
【弁理士】
【氏名又は名称】前川 純一
(74)【代理人】
【識別番号】100135633
【弁理士】
【氏名又は名称】二宮 浩康
(74)【代理人】
【識別番号】100162880
【弁理士】
【氏名又は名称】上島 類
(72)【発明者】
【氏名】ディック バールツェ
(72)【発明者】
【氏名】マイケル ネルソン
(72)【発明者】
【氏名】ジェイムズ キャリントン
(72)【発明者】
【氏名】ティモシー エイ. ケルカー
【審査官】 星野 裕
(56)【参考文献】
【文献】 特開平06−044006(JP,A)
【文献】 特開平08−063620(JP,A)
【文献】 特開2000−057359(JP,A)
【文献】 特開平11−185058(JP,A)
【文献】 CATIA▲R▼ソリューション バージョン5 リリース15 Volume5of6 SK3T−4127−15 2005年5月 [CD−ROM],IBM,2006年11月 8日,第1版
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/048
G06F 17/50
(57)【特許請求の範囲】
【請求項1】
オブジェクト選択を提供するシステムであって、当該システムは
なくとも1つのプロセッサを含み、該少なくとも1つのプロセッサは少なくとも1つのメモリに含まれる実行可能な命令を介して以下のように構成されている、すなわち、
互いに直交する第1、第2および第3の軸を有する三次元ワークスペースで個別に選択可能な複数の三次元オブジェクトをディスプレイデバイスにより表示させ、
少なくとも1つの入力デバイスの操作により受け取った少なくとも1つのモーション入力に基づき、前記複数のオブジェクトを横切る少なくとも1つのパスを決定し、前記パスは前記ワークスペースの第1および第2の軸にわたって延在しており、前記パスは第1のオブジェクトのところに始点を含み、
前記パスが横切った第1のオブジェクトの可視表面領域の深度に基づき、前記ワークスペースの第3の軸に沿った深度範囲を決定し、
オブジェクトの第1のセットが前記深度範囲内のポジションで前記ワークスペースに表示されることに基づいて、前記少なくとも1つのパスが横切った前記オブジェクトのセットの少なくとも一部分に外観を変化させ、少なくとも1つのオブジェクトのポジションが前記深度範囲外であることに基づいて、前記少なくとも1つのオブジェクトの外観を変化させず、
外観が変化したセット内のオブジェクト各々の表面領域量に基づき、前記オブジェクトのセット内の前記複数のオブジェクトのうち少なくとも2つのオブジェクトが1つのグループとして選択されるようにする一方、前記オブジェクトのセット内の前記複数のオブジェクトのうち少なくとも1つのオブジェクトは未選択状態に維持されるようにし、前記少なくとも1つのパスが横切ったときに外観が変化しなかったオブジェクトも未選択状態に維持され、
前記少なくとも1つの入力デバイスにより受け取った少なくとも1つの操作入力に応答して、前記オブジェクトが選択されたのか否かに基づき、選択された少なくとも2つのオブジェクトから成る前記グループに対しては、複数の操作のうち少なくとも1つの操作が実行されるようにし、未選択状態に維持された前記オブジェクトに対しては該操作が実行されないようにする、
ように構成されている、
ステム。
【請求項2】
前記少なくとも1つのプロセッサは以下のように構成されている、すなわち、
外観が変化した前記オブジェクトのセットのうちのオブジェクト各々の表面領域量に基づいて、外観が変化した前記オブジェクトのセット内の前記複数のオブジェクトのうち少なくとも2つのオブジェクトが、グループとして選択されるようにする一方、外観が変化した前記オブジェクトのセット内の前記複数のオブジェクトのうち少なくとも1つのオブジェクトが未選択状態に維持される、
ように構成されている、
請求項1記載のシステム。
【請求項3】
少なくとも1つのプロセッサは、前記ディスプレイデバイスを介してグラフィカルユーザインタフェース(GUI)を生成するよう動作し、前記GUIは前記オブジェクトを前記ワークスペース内に表示し、前記GUIは、前記少なくとも1つの入力デバイスの操作により受け取ったさらに別の入力に応答して、選択された複数のオブジェクトから成る前記グループに対して複数の操作を実行させることができ、前記操作は、前記選択された複数のオブジェクトの消去、前記選択された複数のオブジェクトの隠蔽、前記選択された複数のオブジェクトのコピー、前記選択された複数のオブジェクトの移動、および前記選択された複数のオブジェクトに関する情報の表示、を含む、
請求項2記載のシステム。
【請求項4】
前記オブジェクトのセット内の前記オブジェクト各々は、1つまたは複数の他のオブジェクトによって遮られていない間に前記ディスプレイデバイスにより表示されると、完全に可視となり得る1つの前向き表面領域を含み、
前記少なくとも1つのプロセッサは、前記オブジェクトのセット内のオブジェクト各々について前向き表面領域量を特定するように構成されており、
前記少なくとも1つのプロセッサは、前記外観が変化した前記オブジェクトのセット内のオブジェクト各々の特定された前記前向き表面領域量の可視の割合に基づき、外観が変化した前記オブジェクトのセット内の前記少なくとも2つのオブジェクトを選択する一方、外観が変化した前記オブジェクトのセット内の前記少なくとも1つのオブジェクトを未選択状態に維持する、ように構成されている、
請求項記載のシステム。
【請求項5】
前記少なくとも1つのプロセッサは、前向き表面領域の部分量に対応する閾値量を決定するように動作し
前記少なくとも1つのプロセッサは、前記閾値量以上の外観が変化した各オブジェクトの、特定された前向き表面領域量の可視の割合を有する前記オブジェクトのセット内のオブジェクトを選択し、決定するように構成されている、
請求項記載のシステム。
【請求項6】
前記オブジェクトの一部分の外観変化は、前記オブジェクトに吹き付けられたペイントの仮想表現に対応する、
請求項記載のシステム。
【請求項7】
記GUIは目下の選択モードを、表面選択モードと透過選択モードとの間で切り替え可能にし、前記GUIが前記表面選択モードにあるならば、前記少なくとも1つのプロセッサは、前記外観が変化した前向き表面領域の可視の割合に基づき、オブジェクトが選択されるタイミングを決定するように、構成されており、前記GUIが前記透過選択モードにあるならば、前記少なくとも1つのプロセッサは、少なくとも1つの入力デバイスの操作による少なくとも1つの第2のモーション入力に応答して、該少なくとも1つの第2のモーション入力に対応する少なくとも1つの第2のパスが横切り、かつ予め定められた透過深度範囲内のポジションを有する、他のオブジェクトによって完全に遮られたオブジェクトを選択する、ように構成されている、
請求項6記載のシステム。
【請求項8】
外観が変化した前向き表面領域の可視の割合に基づいてオブジェクトが選択されることが決定され、前記プロセッサは、前記オブジェクトが選択されることが決定される前の外観の変化に加えてまたはその代わりに、前記オブジェクトに外観のさらなる変化を引き起こすように構成されている、
請求項6記載のシステム。
【請求項9】
オブジェクト選択のための方法であって、
少なくとも1つのプロセッサのオペレーションにより、
個別に選択可能な複数の三次元オブジェクトを、互いに直交行する第1、第2および第3の軸を有する三次元ワークスペースに、ディスプレイデバイスにより表示させ、
少なくとも1つの入力デバイスの操作により受け取った少なくとも1つのモーション入力に基づき、前記複数のオブジェクトを横切る少なくとも1つのパスを決定し、前記パスは、前記ワークスペースの第1および第2の軸にわたって延在しており、前記パスは第1のオブジェクトのところに始点を含み、
前記パスが横切った第1のオブジェクトの可視表面領域の深度に基づいて、前記ワークスペースの前記第3の軸に沿った深度範囲を決定し、
オブジェクトの第1のセットが前記深度範囲内のポジションでワークスペースに表示されることに基づいて、前記少なくとも1つのパスが横切ったオブジェクトのセットの少なくとも一部分の外観を変化させ、前記少なくとも1つのオブジェクトのポジションが前記深度範囲外であることに基づいて、少なくとも1つのオブジェクトの外観を変化させず、
外観が変化した前記セット内のオブジェクト各々の表面領域量に基づき、前記オブジェクトのセット内の前記複数のオブジェクトのうち少なくとも2つのオブジェクトが1つのグループとして選択されるようにする一方、前記オブジェクトのセット内の前記複数のオブジェクトのうち少なくとも1つのオブジェクトは未選択状態に維持されるようにし、少なくとも1つのパスが横切ったときに外観が変化しないオブジェクトも、未選択状態を維持されるようにし、
前記少なくとも1つの入力デバイスにより受け取った少なくとも1つの操作入力に応答して、前記オブジェクトが選択されたのか否かに基づき、選択された少なくとも2つのオブジェクトから成る前記グループに対しては、複数の操作のうち少なくとも1つの操作が実行されるようにし、未選択状態に維持された前記オブジェクトに対しては該操作が実行されないようにする、
法。
【請求項10】
外観が変化した前記オブジェクトのセット内のオブジェクト各々の表面領域量に基づき、外観が変化した前記オブジェクトのセット内の前記複数のオブジェクトのうち少なくとも2つのオブジェクトを、グループとして選択する一方、外観が変化した前記オブジェクトのセット内の前記複数のオブジェクトのうち少なくとも1つのオブジェクトを未選択状態に維持する、
請求項記載の方法。
【請求項11】
少なくとも1つのプロセッサのオペレーションによって、前記ディスプレイデバイスを介してグラフィカルユーザインタフェース(GUI)を生成し、前記GUIは前記オブジェクトを前記ワークスペース内に表示し、前記GUIは、前記少なくとも1つの入力デバイスの操作により受け取ったさらに別の入力に応答して、選択された複数のオブジェクトから成る前記グループに対して複数の操作を実行させることができ、前記操作は、前記選択された複数のオブジェクトの消去、前記選択された複数のオブジェクトの隠蔽、前記選択された複数のオブジェクトのコピー、前記選択された複数のオブジェクトの移動、および前記選択された複数のオブジェクトに関する情報の表示、を含む、
請求項10記載の方法。
【請求項12】
前記オブジェクトのセット内の前記オブジェクト各々は、1つまたは複数の他のオブジェクトによって遮られていない間に前記ディスプレイデバイスにより表示されると、完全に可視となり得る1つの前向き表面領域を含み、さらに、
前記少なくとも1つのプロセッサのオペレーションにより、前記オブジェクトのセット内のオブジェクト各々について前向き表面領域量を特定することを含み、
前記外観が変化した前記オブジェクトのセット内のオブジェクト各々の特定された前記前向き表面領域量の可視の割合に基づき、外観が変化した前記オブジェクトのセット内の前記少なくとも2つのオブジェクトを選択する一方、外観が変化した前記オブジェクトのセット内の前記少なくとも1つのオブジェクトを未選択状態に維持する、
請求項11記載の方法。
【請求項13】
さらに、前記少なくとも1つのプロセッサのオペレーションにより、前向き表面領域の部分量に対応する閾値量を決定することを含み、
前記閾値量以上の外観が変化したオブジェクト各々の特定された前記前向き表面領域量の可視の割合に基づき、外観が変化した前記オブジェクトのセット内の前記少なくとも2つのオブジェクトが選択されるようにすることを実行する、
請求項12記載の法。
【請求項14】
前記オブジェクトの一部分の外観変化は、前記オブジェクトに吹き付けられたペイントの仮想表現に対応する、
請求項13記載の方法。
【請求項15】
記GUIは目下の選択モードを、表面選択モードと透過選択モードとの間で切り替え可能にし、前記GUIが前記表面選択モードにあることに基づき、外観が変化した可視の前向き表面領域の可視の割合に基づき、どのオブジェクトが選択されるのかを決定し、さらに、
前記目下の選択モードを前記透過選択モードに切り替えることと、
少なくとも1つの入力デバイスの操作による少なくとも1つの第2のモーション入力に応答して、該少なくとも1つの第2のモーション入力に対応する少なくとも1つの第2のパスが横切り、かつ予め定められた透過深度範囲内のポジションを有する、他のオブジェクトによって完全に遮られたオブジェクトが選択されるようにすることと、
を含む、
請求項14記載の方法。
【請求項16】
外観が変化した前向き表面領域の可視の割合に基づいて前記オブジェクトのセットのうちの前記少なくとも2つのオブジェクトが選択されることが決定されたことに応答して、前記少なくとも2つのオブジェクトが選択されることが決定される前の外観の変化に加えてまたはその代わりに、前記少なくとも2つのオブジェクトに外観のさらなる変化を引き起こすことを含む、
請求項14記載の方法。
【請求項17】
実行可能な命令によってコーディングされた非一時的なコンピュータ読み取り可能ストレージ媒体であって、少なくとも1つのプロセッサによって前記命令が実行されると、少なくとも1つのプロセッサが以下に記載のオブジェクト選択のための方法を実行する、前記方法は、すなわち
互いに直交する第1、第2および第3の軸を有する三次元ワークスペースで個別に選択可能な複数の三次元オブジェクトをディスプレイデバイスにより表示させ、
少なくとも1つの入力デバイスの操作により受け取った少なくとも1つのモーション入力に基づき、前記複数のオブジェクトを横切る少なくとも1つのパスを決定し、前記パスは前記ワークスペースの第1および第2の軸にわたって延在しており、前記パスは第1のオブジェクトのところに始点を含み、
前記パスが横切った第1のオブジェクトの可視表面領域の深度に基づき、前記ワークスペースの第3の軸に沿った深度範囲を決定し、
オブジェクトの第1のセットが前記深度範囲内のポジションで前記ワークスペースに表示されることに基づいて、前記少なくとも1つのパスが横切った前記オブジェクトのセットの少なくとも一部分に外観を変化させ、少なくとも1つのオブジェクトのポジションが前記深度範囲外であることに基づいて、前記少なくとも1つのオブジェクトの外観を変化させず、
外観が変化したセット内のオブジェクト各々の表面領域量に基づき、前記オブジェクトのセット内の前記複数のオブジェクトのうち少なくとも2つのオブジェクトが1つのグループとして選択されるようにする一方、前記オブジェクトのセット内の前記複数のオブジェクトのうち少なくとも1つのオブジェクトは未選択状態に維持されるようにし、前記少なくとも1つのパスが横切ったときに外観が変化しなかったオブジェクトも未選択状態に維持され、
前記少なくとも1つの入力デバイスにより受け取った少なくとも1つの操作入力に応答して、前記オブジェクトが選択されたのか否かに基づき、選択された少なくとも2つのオブジェクトから成る前記グループに対しては、複数の操作のうち少なくとも1つの操作が実行されるようにし、未選択状態に維持された前記オブジェクトに対しては該操作が実行されないようにする、
非一時的なコンピュータ読み取り可能ストレージ媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、全般的にいえば、コンピュータ支援設計(CAD)、視覚化および製造システム、製品データマネージメント(PDM)システム、製品ライフサイクルマネージメント(PLM)システム、ならびに製品および他の項目のデータを生成および管理するために用いられる同等のシステム(これらをまとめて製品システムと称する)に関する。
【0002】
背景技術
PLMシステムには、製品構造の設計を容易にするコンポーネントを含めることができる。かかるコンポーネントは、改善によって恩恵を受けることができる。
【0003】
概要
多様に開示された実施形態には、オブジェクトの選択を容易にするために使用可能なシステムおよび方法が含まれている。1つの例によれば、システムは少なくとも1つのプロセッサを含むことができる。個別に選択可能な複数の三次元オブジェクトをディスプレイデバイスによって表示させるように、プロセッサを構成することができる。同様に、少なくとも1つの入力デバイスの操作を介して受け取った少なくとも1つのモーション入力に基づき、複数のオブジェクトを横切った少なくとも1つのパスを決定するように、少なくとも1つのプロセッサを構成することができる。これに加え、少なくとも1つのパスが横切った各オブジェクトの表面領域量に基づき、複数のオブジェクトのうち少なくとも2つのオブジェクトが1つのグループとして選択されるようにする一方、それらのオブジェクトのうち少なくとも1つのオブジェクトを未選択状態に維持するように、少なくとも1つのプロセッサを構成することができる。さらに、少なくとも1つの入力デバイスを介して受け取った少なくとも1つの操作入力に応答して、オブジェクトが選択されているか否かに基づき、選択された少なくとも2つのオブジェクトから成るグループに対しては、複数の操作のうち少なくとも1つの操作が実行されるようにし、未選択状態に維持された少なくとも1つのオブジェクトに対してはその操作が実行されないように、少なくとも1つのプロセッサを構成することができる。
【0004】
別の例によれば、少なくとも1つのプロセッサのオペレーションによって実施される様々なアクションを、1つの方法に含めることができる。かかる方法は以下のことを含むことができる。すなわち、個別に選択可能な複数の三次元オブジェクトをディスプレイデバイスにより表示させることと、少なくとも1つの入力デバイスの操作により受け取った少なくとも1つのモーション入力に基づき、複数のオブジェクトを横切る少なくとも1つのパスを決定することと、少なくとも1つのパスが横切ったオブジェクト各々の表面領域量に基づき、複数のオブジェクトのうち少なくとも2つのオブジェクトが1つのグループとして選択されるようにする一方、複数のオブジェクトのうち少なくとも1つのオブジェクトは未選択状態に維持されるようにすることと、少なくとも1つの入力デバイスにより受け取った少なくとも1つの操作入力に応答して、オブジェクトが選択されたのか否かに基づき、選択された少なくとも2つのオブジェクトから成るグループに対しては、複数の操作のうち少なくとも1つの操作が実行されるようにし、未選択状態に維持された少なくとも1つのオブジェクトに対してはこの操作が実行されないようにすることと、を含むことができる。
【0005】
さらに別の例は、(たとえばストレージデバイスにおけるソフトウェアコンポーネントなどのように)実行時に少なくとも1つのプロセッサに上述の方法を実施させる実行可能な命令によってコーディングされた、非一時的なコンピュータ読み取り可能媒体を含むことができる。
【0006】
これまでの記載は、以下の詳細な説明を当業者がよりよく理解できるよう、本開示の技術的特徴をどちらかといえば大雑把に略述したものである。各請求項の要旨を成す本開示のその他の特徴および利点については、以下で述べることにする。当業者であれば理解できるように、当業者は開示された着想および特定の実施形態を、本開示と同じ目的を成し遂げるための変更または他の構造の設計のベースとして、ただちに使用することができる。さらに当業者であれば、かかる等価の構造が最も広い形態での本開示の着想および範囲を逸脱しないことを理解するであろう。
【0007】
以下の発明の詳細な説明に入る前に、本明細書全体を通して用いられる可能性のあるいくつかの用語や表現について、ここで定義しておくのがよいと思われる。たとえば用語「含む」および「有する」ならびにそれらの派生語は、制限なく含有を意味する。単数形である「1つの」および「前記の」は複数形も同様に含むことを意図しており、このことは文脈によって明らかにそうではないことを指さないかぎりあてはまる。さらにここで用いられる用語「および/または」は、関連する一覧項目のうちの1つまたは複数のありとあらゆる可能な組み合わせのことを指し、かつそれらを包含するものである。用語「または」は、文脈によって明らかに別のことを指さないかぎり、「および/または」の意味を含む。表現「に関連づけられた」および「それに関連づけられた」ならびにそれらの派生語は、含む、中に含まれている、相互接続されている、含有する、中に含有されている、に接続されている、または、と接続されている、に結合されている、または、と結合されている、と通信可能である、と共同する、交互配置する、並置する、に近接している、に結び付けられている、または、と結び付けられている、有する、を所有している、または同等のものを意味することができる。
【0008】
同様に、様々な要素、機能またはアクションを表すために、ここでは「第1の」、「第2の」、「第3の」といった用語が使われる場合もあるが、これらの用語によってそれらの要素、機能またはアクションが限定されるものではない。むしろこれらの数形容詞は、それぞれ異なる要素、機能またはアクションを互いに区別するために用いられる。たとえば、本開示の範囲から逸脱することなく、第1の要素、機能またはアクションを、第2の要素、機能またはアクションと称してもいいし、同様に第2の要素、機能またはアクションを、第1の要素、機能またはアクションと称してもよい。
【0009】
これらに加え、1つまたは複数の機能またはプロセスを実施するように「プロセッサが構成されている」といった表現は、ソフトウェア、ファームウェアおよび/または結線された回路を介して、それらの機能またはプロセスを実施するように、プロセッサの動作が構成されている、ということを意味することができる。たとえば、ある機能/プロセスを実施するように構成されたプロセッサを、その機能/プロセスをプロセッサに実行させるようにプログラミングされたソフトウェア/ファームウェアを能動的に実行するプロセッサに対応するものとすることができ、またはその機能/プロセスを実施するためにプロセッサにより実行されるように使用可能なメモリまたはストレージデバイス内に、ソフトウェア/ファームウェアを有するプロセッサに対応するものとすることができる。さらにここで述べておくと、1つまたは複数の機能またはプロセスを実施するように「構成されている」プロセッサを、それらの機能またはプロセスを実施するために特別に製造されたまたは「配線された」プロセッサ回路に対応するものとすることもできる(たとえばASICまたはFPGA設計)。さらに、1つの機能よりも多くの機能を実施するように構成された1つの要素(たとえば1つのプロセッサ)の前に記載された「少なくとも1つの」なる表現を、各々が機能を実行する1つまたは複数の要素(たとえばプロセッサ)に対応させることができ、また、1つまたは複数の種々の機能のうちそれぞれ異なる1つの機能を個々に実施する2つまたはそれよりも多くの要素(たとえばプロセッサ)に対応させることもできる。
【0010】
用語「に隣接する」は、ある要素が別の要素と相対的に近いが、その要素とは接触していないこと、または文脈により明らかに別のことを指していないかぎり、その要素が別の部分と接触していること、を意味する。
【0011】
いくつかの用語および表現に対する定義は、本明細書全体にわたって規定されるものであり、当業者であれば理解できるように、かかる定義は、大部分の事例ではないにしても数多くの事例において、ここで定義した用語および表現の以前の使用にも将来の使用にも適用される。いくつかの用語は、幅広い種類の実施形態を含むことができるけれども、添付の特許請求の範囲は、それらの用語を特定の実施形態に明確に限定している場合もある。
【図面の簡単な説明】
【0012】
図1】オブジェクトの選択を容易にする1つの例示的なシステムを示す機能ブロック図である。
図2】1つの構造を有する選択可能なおよび選択された三次元オブジェクトのグラフィカルユーザインタフェースからの例示的な視覚出力を示す図である。
図3】1つの構造を有する選択可能なおよび選択された三次元オブジェクトのグラフィカルユーザインタフェースからの例示的な視覚出力を示す図である。
図4】1つの構造を有する選択可能なおよび選択された三次元オブジェクトのグラフィカルユーザインタフェースからの例示的な視覚出力を示す図である。
図5】1つの構造を有する選択可能なおよび選択された三次元オブジェクトのグラフィカルユーザインタフェースからの例示的な視覚出力を示す図である。
図6】1つの構造を有する選択可能なおよび選択された三次元オブジェクトのグラフィカルユーザインタフェースからの例示的な視覚出力を示す図である。
図7】1つの構造を有する選択可能なおよび選択された三次元オブジェクトのグラフィカルユーザインタフェースからの例示的な視覚出力を示す図である。
図8】1つの構造を有する選択可能なおよび選択された三次元オブジェクトのグラフィカルユーザインタフェースからの例示的な視覚出力を示す図である。
図9】1つの構造を有する選択可能なおよび選択された三次元オブジェクトのグラフィカルユーザインタフェースからの例示的な視覚出力を示す図である。
図10】オブジェクトの選択を容易にする例示的な方法論を示すフローチャートである。
図11】1つの実施形態を実現可能なデータ処理システムを示すブロック図である。
【0013】
詳細な説明
次に、オブジェクトを選択するシステムおよび方法に属する様々な技術について、図面を参照しながら説明する。それらの図中、同様の構成要素は全体を通じて同じ参照符号によって表されている。本明細書において本開示の基本原理を記述するために、以下で説明する図面および種々の実施形態が用いられているが、これらは例示の目的で用いたにすぎず、いかなるかたちであっても本開示の範囲の限定を意図したものではない。当業者であれば理解できるように、本開示の基本原理を、適切に構成された任意の装置において実現することができる。ここで理解されたいのは、特定のシステム要素によって実行されるものと記載された機能を、複数の要素によって実施することができる、という点である。同様にたとえば、複数の要素によって実行されるものと記載された機能を実施するように、1つの要素を構成してもよい。本発明の数多くの革新的な着想について、具体例として挙げた非限定的な実施形態を参照しながら説明する。
【0014】
(CADソフトウェアなどのような)描画システムの多くの形態は、1つまたは複数の構造を有する種々のタイプの三次元オブジェクトを操作するように動作する。かかるオブジェクトは、構造を構築するために使用される部品、組立部品、半組立部品などのような製造されるオブジェクトを含むことができる。一例として、複数の部品が取り付けられたベッドによってワゴン構造を構成することができる。かかる部品は、1つのハンドルと、ブラケット、スピンドル、ベアリング、および留め具たとえばボルト、ワッシャ、ナットなどを介して取り付けられた4つのホイールとを含むことができる。これらの部品すべては、CADソフトウェアまたは他の描画システムを介して描画可能かつ操作可能な3D部品に対応する。さらに描画システムは、正方形、角柱、球、錐体、円柱、立方体および/または直方体を含む幾何学的3D形状などのような、いっそう多くの一般的な3Dオブジェクトも描画可能かつ操作可能である、ということを理解されたい。
【0015】
したがって一般に3Dオブジェクトを、(たとえば表示画面などのような)ディスプレイデバイスにより表示可能な任意のタイプの3Dオブジェクトに対応させることができ、そのようなオブジェクトは、入力デバイスによる入力を介して、オブジェクトの形状、寸法、配向、位置、可視性、透明性、色、物理的属性、注釈、および/または他の任意の特性に関して、操作可能である。
【0016】
図1を参照すると、オブジェクトの描画および操作を容易にする例示的なシステム100が示されている。システム100は少なくとも1つのプロセッサ102を含むことができ、このプロセッサは、本明細書で説明する種々の特徴を実施するために、メモリ106から1つまたは複数のアプリケーションソフトウェアコンポーネント104を実行するように、構成されている。アプリケーションソフトウェアコンポーネント104は、CADソフトウェアアプリケーションなどのような描画ソフトウェアアプリケーションまたはその一部を含むことができる。かかるCADソフトウェアアプリケーションは、ユーザによって与えられた入力に少なくとも部分的に基づき、CAD図面を生成および編集するように動作可能である。
【0017】
本明細書で説明する機能の少なくともいくつかを含むように適合可能なCAD/CAM/CAE(コンピュータ支援設計/コンピュータ支援製造/コンピュータ支援エンジニアリング)ソフトウェアの一例として、Siemens Product Lifecycle Management Software Inc. (Plano, Texas)から市販されているNX suite of applicationsが挙げられる。ただし、かかる描画ソフトウェアアプリケーションを、他のタイプの描画ソフトウェアに相当するものとしてもよく、そのようなソフトウェアには、建築用ソフトウェアおよび/または構造の3Dオブジェクトの描画および操作を伴う他の任意のタイプのソフトウェアが含まれる、ということも理解されたい。
【0018】
既述のシステムは、少なくとも1つの(表示画面などのような)ディスプレイデバイス108と、少なくとも1つの入力デバイス110とを含むことができる。たとえばプロセッサは、PC、ノートブックコンピュータ、ワークステーション、サーバ、タブレット、モバイルフォン、または他の任意のタイプのコンピュータシステムの一部分として含まれるものとすることができる。ディスプレイデバイスはたとえば、LCDディスプレイ、モニタおよび/またはプロジェクタを含むことができる。入力デバイスはたとえば、マウス、ポインタ、タッチスクリーン、タッチパッド、ドローイングタブレット、トラックボール、ボタン、キーパッド、キーボード、ゲームコントローラ、カメラ、ジェスチャ動作をキャプチャするモーションセンシングデバイス、または本明細書で説明する入力を供給可能な他の任意のタイプの入力デバイスを含むことができる。同様にタブレットなどのデバイスのためにもプロセッサ102を、入力デバイスとディスプレイデバイスの双方として用いられるタッチスクリーンを含むハウジング内に組み込むことができる。さらに、(ゲームコントローラなどのような)いくつかの入力デバイスは、異なる複数のタイプの入力デバイス(アナログスティック、dパッドおよびボタン)を含むことができる、という点も理解されたい。
【0019】
同様にここで述べておくと、本明細書で説明するプロセッサを、本明細書で説明するディスプレイデバイスおよび入力デバイスとは離れた場所にあるサーバ内に配置してもよい。かかる例によれば、既述のディスプレイデバイスおよび入力デバイスを、クライアントデバイス内に含めてもよく、このクライアントデバイスは、(インターネットを含むことのできる)有線または無線のネットワークを介してサーバ(および/またはサーバ上で実行される仮想マシン)と通信する。いくつかの実施形態によれば、かかるクライアントデバイスはたとえば、入力デバイスからサーバへ入力を送信し、かつサーバから視覚情報を受信してディスプレイデバイスにより表示する目的で、リモートデスクトップアプリケーションを実行することができ、またはサーバと共にリモートデスクトッププロトコルを実行することができる。かかるリモートデスクトッププロトコルの例として、Teradici社のPCoIP、Microsoft社のRDPおよびRFBプロトコルが挙げられる。かかる例によれば、本明細書で説明するプロセッサを、サーバの物理的プロセッサにおいて実行される仮想マシンの仮想プロセッサに相当するものとすることができる。
【0020】
図1には、ディスプレイデバイス108における複数の異なるビュー(A〜C)が概略的に描かれており、これらのビューは、入力デバイス110を介して受け取った様々な入力に応答して、プロセッサ102により表示させられたものである。たとえばディスプレイデバイス108のビューAの場合、ディスプレイデバイス108によってワークスペース120内に構造118を表示させるように、プロセッサ102を(たとえばアプリケーションソフトウェアコンポーネントを介するなどして)構成することができる。
【0021】
ワークスペース120を、三次元空間に相当するものとすることができ、この三次元空間において、少なくとも1つの望ましい構造118を生成する目的で、アプリケーションソフトウェアコンポーネント104のグラフィカルユーザインタフェース(GUI)124を用いて、オブジェクトが視覚的に描画され、表示され、操作される。例示的な実施形態によれば、ディスプレイデバイス108を二次元(2D)表示画面に相当するものとすることができ、これによって三次元(3D)ワークスペースおよび構造118の種々のビューを閲覧することができる。さらに別の例において、3Dワークスペース内に3D構造を表示させるために、3Dディスプレイを用いることもできる。
【0022】
図1に示した例には、1つの大きい方のオブジェクト116と接続された(および/または隣接した)2つの小さい方のオブジェクト112,114を含む一般的な構造118が描かれている。かかるオブジェクトは、ブロック型部品として描かれている。ただし、これらのオブジェクトは、1つの構造および/または複数の別個の構造の任意のタイプのコンポーネントに適用可能な特徴を、一般的に示そうとしたものである、ということを理解されたい。
【0023】
入力デバイス110を介して受け取った描画入力122に応答して、ワークスペース120内でオブジェクトを描画および/または編集することができる。描画されたオブジェクトを表すデータを、メモリ106内にオブジェクトデータ126として記憶させることができる。ただし、かかるオブジェクトデータ126を、入力デバイス110による入力を介して、CADファイルおよび/またはデータストアから取り出すことができ、ロードされたオブジェクトデータに応答して、ディスプレイデバイスによりオブジェクトを表示するように、プロセッサを構成することができる、ということも理解されたい。
【0024】
GUI124は、構造118のオブジェクト112,114,116のうちの1つまたは複数を、入力デバイス110による入力を介してユーザが個別に選択できるようにする機能を、含むことができる。たとえばGUIによりユーザは、マウスクリックによって個々のオブジェクトを選択することができ、キーボードのコントロールキーを押しながらマウスをクリックすることによって、付加的なオブジェクトを選択することができる。さらにGUIは、矩形の選択ボックスを用いて1つまたは複数のオブジェクトを選択することができ、これによれば、複数のオブジェクトの上にマウスを用いて1つのボックスが描かれ、ボックスの下にあるオブジェクトが選択されることになる。ただしここで理解されたいのは、複数のオブジェクトの上で個々にクリックすることで複数のオブジェクトを個別に選択するのは、緩慢になる可能性があり、大量の小さいオブジェクトに対しては時間がかかる可能性がある、ということである。また、矩形の選択ボックスであると(これの方が速い可能性があるが)、選択が望まれないオブジェクトが選択されてしまう可能性もある。
【0025】
選択が望まれるオブジェクト各々の上で個別にクリックするよりも速くすることができる手法で、選択プロセスにいっそうの粒度を与える目的で、1つの実施形態によればユーザは、入力デバイス110を介した1つまたは複数のモーション入力130に応答して、選択すべき複数のオブジェクトの上に1つまたは複数のパス128を手早く引くことができる。ユーザに対しパスを視覚化する目的で、既述のプロセッサは、少なくとも1つのモーション入力に基づきプロセッサにより決定された少なくとも1つのパスが横切る特定のオブジェクト各々の一部分の外観を変化させるように、動作可能である。
【0026】
マウスなどのような入力デバイスであれば、マウスタイプの入力デバイスが、マウスボタンが押されている間、表示画面を横切ってパスを配置したい領域に沿ってマウスポインタを移動させることによって、かかる動きを生じさせることができる。同様にタッチスクリーンタイプの入力デバイスであれば、ユーザは、パスを配置したい領域の上でタッチスクリーンの表面に沿って指をスライドさせることができる。ただし、モーション入力を供給するための入力デバイスは、マウスまたはタッチスクリーンに限定されるのではなく、選択したい1つまたは複数のオブジェクトの上にパスを表現するデータを供給可能な任意のタイプの入力デバイスに相当するものとすることができる。
【0027】
図1のビューBには、オブジェクト112,114および116の上のかかるパス128の一例が示されている。この例によればパスは、構造118を横切ってこの構造の表面を覆うストライプ形状を有する。ここではストライプは、図1のビューAに示したオブジェクトの先行して示した白色の表面を覆う/置き換える黒色を有するものとして示されている。例示的な実施形態によれば、1つまたは複数の異なる色の変化、テクスチャの変化、輝度の変化、ラインパターン、またはシステムの末端ユーザが認めることのできるオブジェクト表面の外観に対する他の何らかの視覚的な変化によって、外観に変化を生じさせることができる、ということを理解されたい。
【0028】
ただしこの既述の実施形態の場合には、パスが横切った(すなわち交差したかつ/または覆った)オブジェクトがいずれも選択されるのではなく、個々の表面領域の予め定められた割合をパスが横切ったオブジェクトのみが選択される、というようにプロセッサを構成することができる。換言すれば、プロセッサは、少なくとも1つのパスが横切ったオブジェクト各々の表面領域量に基づいて、外観が変化した複数のオブジェクトのうち1つまたは複数のオブジェクトが選択されるようにすることができる一方、外観が変化した複数のオブジェクトのうち1つまたは複数のオブジェクトを未選択状態に維持しておくことができる。
【0029】
この例によれば、小さい方のオブジェクト112,114の可視表面の大部分がパス128によって覆われているのに対し、大きい方のオブジェクト116の可視表面のごく僅かな部分(たとえば15%未満)だけしかパス128によって覆われていない。したがってこの例によれば、パスが横切った(すなわち覆った)各コンポーネントの表面領域量に基づいて、小さい方のオブジェクト112,114だけが選択され、大きい方のオブジェクト116は選択されない、というようにプロセッサを構成することができる。
【0030】
例示的な実施形態によれば、オブジェクトのポジションに対し相対的にマウスポインタ134のポジションを決定することによって、モーション入力(たとえばポインタ134の座標の変化)からパスを決定することができ、それらの相対的ポジションに基づき、オブジェクトの表面の外観をどのように変化させるべきであるのかを決定することができる。換言すれば、決定されたパスを、モーション入力に基づきオブジェクトの外観変化を生じさせるべき場所であるオブジェクト上のロケーションと一致させることができる。次いで、パス(すなわち変化させるためにオブジェクト上で決定されたロケーション)に基づき、プロセッサは、それらのロケーションでオブジェクトの外観に対し相応の変化(たとえば色の変化)を生じさせることができる。
【0031】
なお、パスの幅をユーザ設定可能なパラメータとすることができる、という点を理解されたい。また、いくつかの例によれば、ポインタ134のサイズを、パスを引くためにユーザが選んだ特定のパス幅に相当するように、かつ視覚的にその幅を表すように、変化させてもよい。例示的な実施形態によれば、外観変化が生じる表面領域を、モーション入力に基づきプロセッサにより決定されたパスのロケーションにマッチさせることができる、という点も理解されたい。換言すれば、プロセッサが1つのパスについてロケーション領域を決定する場所はどこであっても、プロセッサは、決定されたパスのロケーション領域において、オブジェクトの一部分に外観変化を生じさせるようにすることができる。
【0032】
ただし例示的な実施形態において、ディスプレイデバイスを介してユーザに可視のオブジェクトの外観に対する実際の変化は、パスのために決定されたロケーション領域に近似させればよい、ということを理解されたい。色を変化させる表面領域はたとえば、決定されたパスよりも種々の量だけ小さくても大きくてもよいが、各オブジェクトに関してパスの全般的なロケーションとサイズをユーザが依然として認めることができるものである。たとえば、オブジェクト上の外観変化がどの程度認められるかの変量を、表示されるオブジェクトのサイズと対比させてディスプレイデバイスの解像度に基づき、パスとは異なるものとすることができる。この例によれば、オブジェクト112,114などのような小さいオブジェクトを、大きいオブジェクト116よりも少ない画素でディスプレイデバイスにより表示させることができ、したがって小さいオブジェクトは、大きいオブジェクトよりも低い精度でパスのロケーションに近似させればよい。
【0033】
パス(および/またはパスに対応する外観変化)は濃淡なく一様ものものでなくてもよい、ということも理解されたい。たとえば図1のビューBに示されているように、パスおよび/またはパスに対応する外観変化を、けばだったように、細く、またはスペックルが付されたようにしてもよい。さらに別の例によれば、パスおよび/またはパスに対応する外観変化が、スポット、ホール、ハッチング、ストライプ、ダッシュ、破線、または他のパターンから成るようにしてもよい。したがって、ホールのあるまたは相対的に多くのホールのあるパスよりも、オブジェクトのいっそう広い表面領域を横切るように、ホールのないまたは相対的に僅かなホールしかないパスを決定することができる。ただし別の実施形態において、かかるホールおよび/または細い/けばだった領域の存在を、パスのロケーションの視覚的な表現だけに対応させることができ、パスが横切るように決定された表面領域量を減らさないようにすることができる。
【0034】
さらに以下の点を理解されたい。すなわち、3Dオブジェクトを2D表示画面上に表示すると、それらのオブジェクトの一部分が部分的に遮られる(すなわち他のオブジェクトにより部分的に覆われる/塞がれる)可能性があるにしても、1つまたは複数の他のオブジェクトによって遮られていない間にディスプレイデバイスにより表示したならば、オブジェクトは、完全に可視になり得る前向き表面領域を依然として含むことになる。したがって図1のビューAを参照すると、大きい方のオブジェクト116の前向き表面領域は、小さい方のオブジェクトによって目下遮られているにしても、小さい方のオブジェクト112,114の下にある領域を含んでいる。
【0035】
例示的な実施形態によれば、各オブジェクトについて前向き表面領域量を決定するように、プロセッサを構成することができる。さらに、少なくとも1つのパスが横切ったオブジェクト各々の特定された前向き表面領域量の割合(たとえばパーセンテージ)に基づき、外観が変化したオブジェクトの一部分が選択されるようにする一方、外観が変化したオブジェクトの少なくともいくつかは未選択状態に維持されるように、プロセッサを構成することができる。このため図1のビューBには、大きい方のオブジェクト116を横切っているパス128の表面領域の割合が、可視表面とオブジェクト112,114の下に隠された表面とを含むオブジェクト116の前向き表面全体に関連して示されている。
【0036】
同様にプロセッサは、前向き表面領域の部分量に対応する閾値量(たとえば閾値パーセンテージ)を決定するように動作可能である。かかる閾値量を、ユーザによりGUIを介して設定可能な予め定められた量に対応させることができる。次いでプロセッサは、閾値量以上の少なくとも1つのパスが横切った特定された前向き表面領域量の可視の割合を有するオブジェクトが選択されるように、決定することができる。図1のビューBに関して、大きい方のオブジェクト116について少なくとも1つのパスが横切った特定された前向き表面領域量の可視の割合は、外観が直接変えられたオブジェクト116の可視表面領域(たとえば小さい方のオブジェクト112,114を覆っていないパス128の一部分)を、小さい方のオブジェクト112,114によって覆われていないときに潜在的に可視であるこのオブジェクトの前向き表面領域によって除算した量に相当する。
【0037】
いくつかの実施形態によれば、ユーザはこの閾値を、プロセッサが選択するようになるには、少なくとも1つのパスが1つのオブジェクトの前向き表面領域の50%以上を直接横切る必要があるように、設定することができる。その一方で別のユーザは、選択のために1つのオブジェクト上の相対的に僅かな前向き表面領域だけしか覆われなくてもよいように、50%を下回る閾値(たとえば33%など)を設定したいと望む可能性もある。
【0038】
モーション入力の特性がオブジェクトの外観変化にどのように影響を及ぼすのかについて、視覚的なフィードバックを提供する目的で、プロセッサの1つの例示的な実施形態を、外観変化がペインティングプロセスとして視覚的に表示されるように、構成することができ、この場合、モーション入力に応答してオブジェクトの可視の前向き表面上にペイントが堆積させられる。ペインティングプロセスの視覚形態を、たとえば(エアブラシなどのような)スプレイペインティングプロセスに近似させることができ、これによれば仮想のペイントの線条がモーション入力に基づきオブジェクト上に吹き付けられる。ただし1つの実施形態によれば、ペインティングプロセスの視覚形態を、ペイントブラシ、ペイントローラ、またはマーカに近似させることができ、これによればモーション入力に基づきオブジェクトを横切ってペイントが塗られる。
【0039】
図1のビューBに描かれたパス128は、スプレイペインティングプロセスの外観変化の一例を表しており、これはパス128のエッジに沿って既述のスペックルのある形態を有している。換言すれば、外観変化を、濃淡のない一律の色変化としなくてもよく、色が変化しなかった領域に囲まれて色が変化させられた領域に、小さい個々のスペックルを含むことができる。したがってパスは、ホールまたは薄い/いっそう淡い領域を含むことができ、それらの領域によって、下に位置する表面の一部分がペイントのスペックルの間に見えるようになる。
【0040】
スプレイペインティングプロセスをモデリングする実施形態によれば、ユーザは、パスのそれぞれ異なる部分において、オブジェクトの表面領域がどの程度覆われるのかまたは覆われないのかをコントロールすることができる。たとえば、モーション入力(すなわちパスに沿ったモーションの速度)が相対的に緩慢になれば、外観が変化する可能性のある表面領域量が多くなる(たとえばペイントされるオブジェクト表面におけるホールが少なくなる、かつ/またはペイントのスプレッド幅が広くなる)。このため、モーション速度が緩慢であると面積単位あたりのスペックルが多くなるので、パスの仮想ペイントは、スペックルが多いパスではなくむしろ、いっそう高密度/濃淡なく一様かつ/または幅広くなる可能性がある。これに対しモーション入力が相対的に速くなると、外観が変化する可能性のある表面領域量がいっそう少なくなる。このため、モーション速度が速いと面積単位あたりのペイントのスペックルが少なくなるので、パスのペイントは、高密度の/濃淡なく一様なパスのペイントではなくむしろ、いっそうスペックルが多く、かつ/または(多数のホールを含む)いっそう幅の狭いものとなる可能性がある。
【0041】
これに加え、所定のモーション入力速度のときに表面領域の外観が変化する速度を、GUIの設定コントロールを介して1つまたは複数の設定可能なプロパティによって、コントロールすることができる。たとえば、所定の領域の外観が変化する速度(時間あたりの表面領域)を変更する目的で、感度プロパティを設定することができる。したがって、高い感度(速い速度)によって、パスを所定時間中にいっそう高密度/濃淡なく一様にすることができるのに対し、いっそう低い感度(いっそう遅い速度)によって、同じ所定時間に対しパスがいっそう多くのスペックルを含むことができ、かつ/または幅をいっそう狭くすることができる。さらにたとえば、ペイント塗布の領域/サイズ(すなわち仮想ペイントブラシのサイズ、またはスプレイペイントの出力直径)を設定する目的で、スプレッドサイズプロパティを設定することもできる。したがって大きいスプレッドサイズであれば、モーション入力に応答して相対的に幅の広いストライプを生じさせることができるのに対し、相対的に小さいスプレッドサイズであれば、相対的に幅の狭いストライプを生じさせることができる。
【0042】
スプレイペインティングプロセスを模擬的に表した1つの例示的な実施形態によれば、オブジェクトの3D表面領域がどの程度変化することになるのかを計算することで、モーション入力(たとえばマウスポイントのポジション)に応答して位置決めされ移動される仮想ペイントノズルから放出されるペイントの計算された線条の方向とロケーションとに基づき、プロセッサによってパスを決定することができる。かかる仮想ペイントノズルおよび/またはペイントの線条の仮想表現またはアニメーションを、ディスプレイデバイスによって表示させてもよいし、表示させなくてもよい。たとえば、ビューBに示した一般的な円または他の形状(たとえば円弧、ドット、ノズルアイコン)など、仮想ペイントノズルの目下のロケーション(および生じ得る直径/幅)を表現する可動のポインタ134だけを示すように、プロセッサを構成してもよい。(たとえばマウスクリックなどによる)ペインティングスタートコマンドを受け取ると、ペイントの線条がどこで3Dワークスペース内のオブジェクトの表面に衝突することになるのか、についてパスをただちに決定し、次いで、オブジェクト上の対応するペイントされた表面を示すために、決定されたパスに対応する表面の外観をリアルタイムで変化させるように、プロセッサを構成することができる。
【0043】
仮想ペイントがモデリングされる既述の例によれば、パスのロケーションを決定する目的で、仮想ペイントにより覆われるオブジェクトの3D輪郭を追従する形状を伴って、仮想ペイントを3Dで延在させることができる。次いで、オブジェクトを選択するか否かの決定にあたり、ペイントパスによりコーティングされるオブジェクトの前向き3D表面領域の可視の割合が評価されることになる。
【0044】
ただし、他の実施形態において他の方法によりパスを決定することができ、異なる外観をもたせることができる、ということを理解されたい。たとえば、ペイント線条のスプレイが3Dワークスペース内のオブジェクト表面の外観をどのように変化させるのかをプロセッサがモデリングするのではなく、その代わりにプロセッサは、ディスプレイデバイスの表面を横切る2Dパスを生成するペイントブラシまたはマーカをモデリングすることができ、この2Dパスはオブジェクトの3D表面を横切って通過する。この例によれば、2Dパスは平坦なオーバレイまたはレイヤに相当する。次いで、オブジェクトを選択するか否かの決定にあたり、(表示画面を見るユーザの視点から見て)2Dパスの真下にあるオブジェクトの前向き3D表面領域の割合が評価されることになる。
【0045】
この例によれば、外観に変化をもたせるために、決定された2Dパスの真下にあるオブジェクトの3D表面を変化させるように、プロセッサを構成することができる。よって、ここで説明した仮想ペインティングの実施形態によれば、オブジェクトまたはワークスペースを回転させると、外観が変化した表面を異なる角度から見ることができる。構造の本来の配向からは選択するためにはよく見えなかった付加的なオブジェクトを選択するために、回転後、構造上に付加的なパスを引くことができる。回転に加え、1つまたは複数の引かれたパスを介して選択可能なオブジェクトを、所定のポジションおよび望ましいサイズで配置する目的で、ユーザはGUIにより、ワークスペースに対してパン、ズームインおよびズームアウトを実施することができる。
【0046】
決定されたパスが横切る1つのオブジェクトの特定の表面上に表示される外観変化の個々のタイプを、オブジェクトの前向き表面領域の外観がどのような可視の割合で変化したのか、に依存して変えることができる。例示的な実施形態によれば、かかる変化がペイント色において発生したときに、設定された表面領域割合閾値をトリガすることができる。したがって、モーション入力を用いて、1つのオブジェクトを覆うパーセンテージが増えるように1つまたは複数のパスを引いたときに、1つの特定のオブジェクトにおける仮想ペイントのカラーを(たとえば青から赤などに)変化させることができ、これによって、ペイントにより覆われた前向き表面領域の割合が、予め定められた選択閾値を超え、それによってそのオブジェクトが選択されたオブジェクトとしてこの時点でプロセッサに判定される、ということがユーザに指示される。
【0047】
しかしながら別の選択肢として、またはこれに加えて、外観が変化した前向き表面領域の可視の割合に基づき、1つのオブジェクトが選択されたものと決定されると、必要とされる閾値に到達してオブジェクトが選択されることになる前にパスが引かれているときに発生した外観変化に加えて、またはその代わりに、オブジェクトに対し外観変化を生じさせるように、プロセッサを構成することができる。たとえば、図1のビューBおよびCに描かれているように、パス128によって、小さい方のオブジェクト112,114の輪郭が(ビューAに比べて)相対的に太くなり、これによって、パス128が引かれたことに応答してそれらのオブジェクトが選択されるとプロセッサが判定した、ということが表される。ここで述べておくと、大きい方のオブジェクト116の輪郭は、ビューA,B,Cのすべてにおいて相対的に細いままである理由は、パス128が引かれた後、このオブジェクトが選択されたとプロセッサが判定しなかったからである。
【0048】
既述の例では、外観変化を、仮想のペインティングプロセスまたはマーキングプロセスのシミュレートであるとして説明してきた。ただし別の選択肢として、ユーザによるモーション入力に対応して決定されたパスに基づき、他の形態で外観変化を実施してもよい。たとえば、アプリケーションソフトウェアコンポーネントによって、表面のバーニングをシミュレート(少なくとも1つのパスが横切るロケーションにおいて、たとえばブロートーチ、レーザ、電気アーク、または他のバーニングプロセスの作用をシミュレート)する外観変化を生じさせることができる。
【0049】
別の例として、アプリケーションソフトウェアコンポーネントによって、少なくとも1つのパスが横切る表面上に、タイル、布、カーペット、壁紙、または他の材料を付加するなど、表面への材料の付加をシミュレートする外観変化を生じさせることができる。さらに別の実施形態によれば、アプリケーションソフトウェアによって、少なくとも1つのパスが横切る表面の一部分にマッピングされる、ユーザが選択可能なイメージまたは他のグラフィック(たとえばイメージファイルのスキニングまたはテクスチャリング)に基づき、外観変化を生じさせることができる。
【0050】
さらに別の例として、外観変化を、オブジェクトに対する仮想的な構造変化に相当するものとすることができる。たとえばかかる構造変化には、中実の不透明な表面においてパスが横切った部分を透明または半透明な表面と置き換えること、あるいは中実の表面においてパスが横切った部分を穿孔のある表面、ワイヤーフレーム構造またはメッシュ構造と置き換えること、を含めることができる。
【0051】
なお、既述の外観変化を、任意の外観変化(または複数の外観変化の組み合わせ)に相当するものとすることができる、ということを理解されたい。よって、少なくとも1つのパスがオブジェクトを横切る場所での外観変化は、ここで説明した何らかの特定の例によって限定されるものではない。
【0052】
さらに、いくつかの実施形態において、アプリケーションソフトウェアコンポーネントは、オブジェクト表面を横切るポインタを見せる以外には外観変化を最初は生じさせないようにしてもよい、ということを理解されたい。その代わりにアプリケーションソフトウェアコンポーネントは、少なくとも1つのパスが横切る表面領域の軌跡を、閾値に達してオブジェクトが選択されることになるまで、メモリに保持することができる。次いで、選択に応答してアプリケーションソフトウェアコンポーネントは、どのオブジェクトが選択されることになったのかを視覚的に目立たせる外観変化を生じさせることができる。
【0053】
この例によれば、アプリケーションソフトウェアコンポーネントは、パスが横切ったオブジェクトの一部分に外観変化を表示させる機能を、ユーザがオン/オフ可能にすることができる。外観変化の表示のオフは、いくつかの環境(たとえばリモートデスクトップなど)において、GUIが更新されてディスプレイデバイスにより出力されるフレームレートを向上させるために、望まれる場合がある。
【0054】
同様にさらに別の実施形態において、アプリケーションソフトウェアコンポーネントは、少なくとも1つのパス中を移動して、少なくとも1つのパスが横切るオブジェクト表面部分を一時的に照明するフラッシュライトをシミュレートするなど、一時的な外観変化を生じさせるだけでもよい。同様にアプリケーションソフトウェアコンポーネントは、熱源(たとえばブロートーチ、レーザなど)で金属を一時的に加熱し、その結果として赤熱した金属に近似した表面の色変化が生じ、それが1秒または数秒後には元の色に戻る様子をシミュレートすることができる。外観変化を生じさせない例の場合のように、アプリケーションソフトウェアコンポーネントは、少なくとも1つのパスが横切る表面領域の軌跡を、閾値に達してオブジェクトが選択されることになるまで(たとえそれらが元の発色状態に戻った後でも)、メモリに保持することができる。
【0055】
例示的な実施形態によれば、アプリケーションソフトウェアコンポーネントのGUIは、選択された複数のオブジェクトから成るグループに対して複数の操作を実行可能である。この場合、選択されたそれらのオブジェクトは、少なくとも1つのパスが横切っていることに基づき、外観が変化した可視の前向き表面の量(たとえば割合)をベースとして選択されたものである。かかる操作には、少なくとも1つの入力デバイス110を介した少なくとも1つの操作入力132に応答して、選択されたオブジェクトを消去すること、選択されたオブジェクトを隠すこと、選択されたオブジェクトをコピーすること、および選択されたオブジェクトをワークスペースに関して移動させること、を含めることができる。同様に理解されたいのは、かかる操作はオブジェクトに適用可能な任意のタイプの操作を含むことができ、たとえば選択されたオブジェクトに関連づけられたプロパティ(たとえば材料の体積、質量または種類)および/またはメタデータの表示、決定および/または変更を含むことができる、という点である。
【0056】
たとえば図1のビューCには、オブジェクトの移動に対応する操作入力が入力デバイス110の操作より供給された例が描かれている。かかる操作入力を、選択されたオブジェクト112,114を1つのグループとして、ビューAおよびBに示されたポジションからビューCに示されたポジションまで、ワークスペース120および大きい方のオブジェクト116に対して、ドラッグするようにマウスを操作することに相当するものとすることができる。
【0057】
本明細書で用いられるように、選択された複数のオブジェクトから成るグループに対して実行される操作とは、ある特定の操作が実行されるようにユーザが指示し、その特定の操作によってグループ内のオブジェクトすべてに影響が及ぼされる、ということに相当する。1つ以上の操作を実行することができるけれども、それらの操作各々がグループ内のオブジェクトすべてに影響を及ぼす、ということを理解されたい。
【0058】
これらの例示的な実施形態をさらに詳しく説明するために、図2図9には、CADソフトウェアのGUIからのディスプレイ出力例が示されており、これによればオブジェクトを横切って1つまたは複数のパスを引くことにより選択された複数のオブジェクトが描画される。たとえば図2には、3つの大きい方の部品204,206,208と、列状に配置された複数の矩形ブロック210から成る集合と、円弧状に配置された立方体ブロック212とを含む1つの構造202の例示的なディスプレイ出力200が描かれている。
【0059】
この例によれば、大きい方の部品204,206,208は、それらをピッキングすることによって(たとえば選択ツールを用いて個々にマウスクリックするなどして)、簡単に選択することができる。ユーザが矩形ブロック210を選択したいとすれば、そのときユーザは個々のマウスクリックを介して多数の小さい部品を選択しなければならなくなってしまう。したがって図2には、パスが引かれたことによる既述の選択を、各オブジェクト上で個々にクリックするよりも効率的にすることのできる構造が示されている。このように引かれるパスを、スプレイペイントジェスチャに相当するものとすることができる。かかるスプレイペイントジェスチャを、入力デバイスを介した入力により選択可能なツールバーまたはメニューオプションにおけるスプレイペインティングジェスチャを含むGUIを介して、ユーザが使用できるようにすることができる。
【0060】
図3には、例示的なディスプレイ出力300が示されている。これによれば、立方体ブロック212を選択する目的で、スプレイペイントジェスチャツールを用いて、構造202の一部分の上に少なくとも1つのパス302が引かれている。ここでは少なくとも1つのパス302を、立方体ブロック212の頂部上で円弧状に行ったり来たりさせてスプレイペイントされた複数のストライプに相当するものとすることができる。
【0061】
図3に示されているように、かかるスプレイペイントジェスチャは、小さい立方体ブロック212の間で大きい方の部品206のごく一部も覆う可能性がある。ただしプロセッサは、大きい方の部品206は選択されないと判定するように動作する。それというのもこの部品は、その上に少量のペイントしか有していない(すなわち部品206の前向き表面は、引かれたパス302によってもごく少ない割合でしか外観を変化させていない)からである。したがって既述のペイントジェスチャツールによってユーザは、矩形ブロック210の周囲をペイントすることができ、大きい方の部品206上に少量のペイントがこぼれてもよく、その際に大きい方の部品206または矩形ブロック210が選択されてしまうことがない。
【0062】
ユーザが立方体ブロック212とそれらの下にある大きい方の部品206を選択したいならば、ユーザは、図4の例示的なディスプレイ出力400に示されているように、既述のスプレイペイントジェスチャを使用することができる。この場合、ユーザは、閾値(オブジェクトの前向き領域の50%など)を超えて、大きい方の部品206が選択されるようにする目的で、大きい方の部品206の側面および頂面のいっそう多くの部分を横切って、付加的なパス402(たとえばスプレイペイントされたストライプ)を引いている。
【0063】
例示的な実施形態によれば、スプレイペイントジェスチャツールは、時間に基づいても同様に選択を下すこともできる。たとえば図5には、構造202のさらに別の例示的なディスプレイ出力500が示されており、これによればユーザは、大きい方の部品204の上に単一のパス502を引いている。この例の場合、パスによりごく僅かな表面領域だけしか覆われなかったにもかかわらず、予め定められた時間にわたって他のオブジェクト上に他のいかなるパスも存在しなかったことに基づき、大きい方の部品204を選択するように、少なくとも1つのプロセッサを構成することができる。
【0064】
図6には、さらに別の例示的なディスプレイ出力600が示されており、これによれば引かれたパスによって、望ましくないオブジェクトが偶然に選択されてしまうことなくオブジェクトを選択するための、いっそう高速でいっそう手間のかからないプロセスを提供することができる。この例によれば、図2図5に示した既述の構造202の前方に、フェンス602が配置されている。さらにここではフェンスの一部分に、複数の小円柱604が含まれている。
【0065】
図7のディスプレイ出力700に示されているように、フェンス602と小円柱604とを除去する消去操作または隠蔽操作を実行する目的で、ユーザは、フェンス602を横切りかつ小円柱604を横切って、複数の素速いパス702を引き(たとえば仮想的にペイントし)、それによってフェンスと小円柱だけが選択されるようにすることができる。選択されたこのオブジェクトグループを消去する操作をするならば、図1に示した構造202だけが残されることになる。別の選択肢として、選択されたオブジェクトを抜き出して切り離す操作をするならば(たとえば選択されたオブジェクトに基づく逆の選択、これによって選択されたオブジェクト以外すべてのオブジェクトが除去される)、図8の例示的なディスプレイ出力800に示されている選択されたオブジェクト602,604だけが残されることになる。なお、アプリケーションソフトウェアによって、選択されたオブジェクトに対し実行される反転選択操作に基づき、目下選択されていないオブジェクトが選択状態となり、以前に選択されていたオブジェクトが未選択状態となるようにすることができる、という点も理解されたい。
【0066】
例示的な実施形態によれば、既述の選択モードによって、モーション入力がポインタを動かした場所にパスを引くことができる(それによってオブジェクト上にペイントが配置される)。ただし別の実施形態によれば、パスが引かれる場所を所定のロケーション内のオブジェクトに制限することができる。たとえば3Dワークスペースは、互いに直交する第1、第2および第3の軸を有することができる。(ワークスペースを表示する)2D表示画面の平面を、第1および第2の軸にわたって広げることができ、さらに第3の軸に沿って後方に向かって延びる奥行きがあるように視覚的に見えるよう、GUIはこのワークスペース内にオブジェクトをレンダリングすることができる。表示画面を横切るポインタの動きに応答して、既述のパスをワークスペースの第1および第2の軸にわたって延在させることができる。ただしパスは、オブジェクトがワークスペースの第3の軸において決められた深度レベル内にある場所までしか、延在することができない。
【0067】
かかる深度レベルを、(たとえば入力デバイスにおけるボタンを押すことで)パスが最初にどこでスタートしたかに基づいて、決定することができる。たとえば図9には、既述の構造202とフェンス602とを示す別の例示的なディスプレイ出力が描かれている。この例によれば、ユーザは、小円柱902のロケーションなどのようなポジション上で、マウス(または他の入力デバイス)を介して表示画面においてクリックすることによって、モーション入力904を発生開始することができ、垂直柱906に向かって手摺りに沿って移動させることができる。このモーション入力に応答して、ワークスペースの第3の軸に沿った小円柱902のロケーションに基づき、この第3の軸に沿った(たとえばワークスペースの奥行きに沿った)深度範囲を決定するように、少なくとも1つのプロセッサを構成することができる。決定されたかかる深度範囲をたとえば、水平レール908の左側の部分と垂直柱906の部分といったように、第3の軸に対して小円柱902のロケーションの直前および直後のオブジェクトのポジションに対応させることができる。
【0068】
したがって図9に示されているように、モーション入力に従ってパス910が引かれることになり、これによって小円柱902、水平レール908の左側および垂直柱906の一部分がペイントされる。しかしながら、ユーザがモーション入力904のためのマウスポインタをさらに下方の部品206上で動かし続けたならば、プロセッサはその部品206上にパス910を引くのを見合わせるように動作する。なぜならば、モーション入力と交差する部品206の部分を、決定された深度範囲外とすることができるからである。
【0069】
同様にユーザは、マウスまたは他の入力デバイスを操作して、垂直柱906に沿って上向きにさらに別のモーション入力912を生じさせることができる。よって、垂直柱906の上部がペイントされるように、対応するパス914を引くことができる。しかしながら、モーション入力が大きい方の部品204および208の上を上向きに続けられると、プロセッサは、それらの部品204,208上にパス914を引くのを見合わせるように動作する。なぜならば、それらの部品は、垂直柱906上のパスの当初のスタートに基づき決定された深度範囲外になってしまうからである。
【0070】
例示的な実施形態によれば、GUIは複数の異なる選択可能な選択モードを有することができる。それらの選択モードには、既述の表面選択モードが含まれ、これによればプロセッサは、少なくとも1つのパスが横切った前向き表面領域の可視の割合に基づき、オブジェクトが選択されるタイミングを決定するように、構成されている。かかる複数の異なる選択モードには、矩形選択ボックスを介した、かつ/または選択が望まれるオブジェクト各々の上で個々にクリックすることによる、既述の選択も含めることができる。
【0071】
これらの選択モードに加え、GUIはさらに、選択可能な透過選択モードを含むことができる。GUIが透過選択モードにある場合、オブジェクトの上にパスを引くのではなく、その代わりに、少なくとも1つの入力デバイスの操作による少なくとも1つの第2のモーション入力に応答して、少なくとも1つの第2のモーション入力に対応する少なくとも1つの第2のパスが横切り、かつ予め定められた透過深度範囲内のポジションを有するオブジェクトが選択されるように、プロセッサを構成することができる。その結果、他のオブジェクトによって部分的にかつ/または完全に遮られている、および遮られていないオブジェクトを、それらのオブジェクトが予め定められた深度範囲内にあり、かつそれらのオブジェクトをパスが直接的または間接的に横切ったときに、選択することができる。さらに、第2のパスが横切ったワークスペース内のすべてのオブジェクトが選択されるよう、深度範囲を(無制限も含め)十分に広いものとしてもよい、という点を理解されたい。
【0072】
たとえば図9に示されているように、GUIが透過選択モードにあったときに、モーション入力912を実行したならば、垂直柱906や大きい方の部品204,208など、モーション入力のパスが横切った可視のオブジェクトすべてを選択することができる。これら大きい方の部品に加えて、可視でないが垂直柱906の背後に隠されておりパスが横切った小さい方のブロックも、同様に選択することができる。
【0073】
ただしここで理解されたいのは、ユーザ設定可能な透過深度レベルまたは透過深度範囲を介して、この深度レベル外または深度範囲外にあるオブジェクトは、それらのオブジェクトをパスが横切ったとしても選択される可能性がないように、透過モードの深度を制限することができる、という点である。さらに、ここで説明した透過選択モードにおいて、選択された可視のオブジェクトを、これらの選択されたオブジェクトが未選択オブジェクトに対して視覚的に目立つように、ディスプレイデバイスを介して視覚的に強調することができる。
【0074】
このことに加えて例示的な実施形態によれば、選択モードを、オブジェクトが選択されるべきであると判定されたときに、選択されたそのオブジェクトに対しプロセッサにより自動的に実行される1つまたは複数の異なる操作と関連づけることができる。たとえば、既述の表面選択モードを、GUIを介して以下のように設定することができる。すなわち、オブジェクトが選択されるとただちに、そのオブジェクトが消去され、隠され、非可視状態にされ、かつ/または非強調状態(たとえば部分的に透明)にされるようにすることができ、選択されたオブジェクトに遮られていたオブジェクトが、遮っていたそのオブジェクトが選択されると即座に可視状態になるようにすることができる。この手法によればユーザは、ペインティング操作を実行して、オブジェクトに仮想的にペイントし、それらのオブジェクトを選択状態にして、下方のポジションにあるオブジェクトが非隠蔽状態になるように構造の層を剥ぎ取ることができ、さらにそれら下方のポジションにあるオブジェクトを仮想的にペイントして、同様に構造の付加的な層を剥ぎ取ることができる。
【0075】
オブジェクトが非強調状態(たとえば部分的に透明)にされているときに、かかるオブジェクトを同様にペインティング操作を介して再び不透明にすることができる。たとえば、部分的に透明なオブジェクトを選択する目的で、既述のパスを引くことでそれらのオブジェクトをペイントできるように、プロセッサを構成することができる。非強調状態にされているオブジェクトを選択することによって、それらのオブジェクトを即座にかつ自動的に再び不透明に(たとえばもはや非強調状態ではないように)することができる。
【0076】
なお、GUIのそれぞれ異なる操作モードで実行される既述の機能を同じモードで実行することができる、という点も理解されたい。たとえば、GUIを以下のように構成することができる。すなわち、オブジェクト選択の目的で入力がどのように解釈されるのかに作用を及ぼす操作モードを固有に変更する必要なく、1つまたは複数の入力デバイスを介して種々のタイプの入力または入力ジェスチャを用いて、任意の時点で既述の選択のうちの1つまたは複数を実行するように、構成することができる。
【0077】
例示的な実施形態によれば、既述のアプリケーションソフトウェアコンポーネントは、ある構造を変更するために、その構造と関連づけられた複数のオブジェクトから成る選択された集合に対して実行された操作に応答することができる。変更された構造に対応するCADデータおよび/または製品データを、CADファイルおよび/またはPLMデータベースに記憶することができる。次いで、既述のアプリケーションソフトウェアコンポーネントおよび/または他のソフトウェアアプリケーションは、CADデータおよび/または製品データに記憶された変更された構造に基づき、様々な機能を実行することができる。
【0078】
かかる機能には、機械製図、および/また構造の構築に使用可能な特定の構成部材(およびそれらの品質)を指定する部品表(BOM)を、(CADデータおよび/または製品データに基づき)生成すること、を含めることができる。かかる機械製図および/またはBOMを、プリンタによって紙に印刷することができ、Microsoft ExcelファイルまたはAcrobat PDFファイルなどのような電子形態で生成することができ、ディスプレイデバイスを介して表示することができ、電子メールで通信することができ、データストアに格納することができ、あるいはそうでなければ、設計された構造に対応する製品を構築するため個人および/または機械が使用可能な形態で、生成することができる。さらに、物理的な構造(たとえば部品)を製造するために、3Dプリンタなどのような機械がCADデータに対応するデータを使用可能である、ということを理解されたい。
【0079】
次に図10を参照しながら、種々の例示的な方法について呈示し説明する。これらの方法を、1つのシーケンス内で実施される一連のアクションとして説明するけれども、これらの方法はこのシーケンスの順序によって限定されるものではない、という点を理解されたい。たとえばいくつかのアクションを、ここで説明するのとは異なる順序で生じさせてもよい。これに加え、あるアクションを他のアクションと同時に生じさせてもよい。しかもいくつかの事例においては、ここで説明する方法を実現するために、すべてのアクションが必要とされるわけでもない。
【0080】
ここで特に述べておきたいのは、本開示には、完全に機能的なシステムおよび/または一連のアクションに関連した説明が含まれているけれども、当業者であれば理解できるように、本開示におけるメカニズムおよび/または説明するアクションの少なくとも一部分は、機械で使用可能な、コンピュータで使用可能な、またはコンピュータで読み取り可能な、非一時的な媒体内に含まれるコンピュータにより実行可能な命令として、任意の種類の形態で配布可能であり、さらに本開示は、そのような配布物を実際に実行するために特定のタイプの命令または信号担体または記憶媒体が使用されようとも、等しく適用される。機械で使用可能/読み取り可能またはコンピュータで使用可能/読み取り可能な非一時的な媒体の例を以下に挙げておく:ROM、EPROM、磁気テープ、フロッピーディスク、ハードディスクドライブ、SSD、フラッシュメモリ、CD、DVDおよびブルーレイディスク。コンピュータで実行可能な命令として、ルーチン、サブルーチン、プログラム、アプリケーション、モジュール、ライブラリ、実行スレッド、および/またはこれらと同等のもの、を挙げることができる。さらに、方法のアクションの結果を、コンピュータ読み取り可能媒体に記憶することができ、ディスプレイデバイスに表示することができ、および/または同等のことを実施することができる。
【0081】
図10を参照すると、オブジェクトの選択を容易にする方法論1000が示されている。この方法を、ステップ1002から開始させることができ、この方法は、少なくとも1つのプロセッサのオペレーションによって実施される複数のアクションを含むことができる。これらのアクションは、ある1つの構造における個別に選択可能な複数の三次元オブジェクトをディスプレイデバイスによって表示させるアクション、を含むことができる。さらにこの方法論は、少なくとも1つの入力デバイスの操作を介して受け取った少なくとも1つのモーション入力に基づき、複数のオブジェクトを横切った少なくとも1つのパスを特定するアクション1006、を含むこともできる。これに加えこの方法論は、少なくとも1つのパスが横切ったオブジェクト各々の表面領域量に基づき、複数のオブジェクトのうち少なくとも2つのオブジェクトが1つのグループとして選択されるようにする一方、複数のオブジェクトのうち少なくとも1つのオブジェクトを未選択状態に維持するアクション1008を含むことができる。同様にこの方法論は、少なくとも1つの入力デバイスを介して受け取った少なくとも1つの操作入力に応答して、オブジェクトが選択されているか否かに基づき、選択された少なくとも2つのオブジェクトから成るグループに対しては、複数の操作のうち少なくとも1つの操作が実行されるようにし、未選択状態に維持された少なくとも1つのオブジェクトに対してはその操作が実行されないようにするアクション1010、を含むことができる。ステップ1012において、この方法論を終了させることができる。
【0082】
さらにこの方法1000は、システム100に関してこれまで説明してきた他のアクションおよび特徴を含むことができる、ということを理解されたい。たとえばこの方法論は、少なくとも1つのパスが横切った特定のオブジェクト各々の一部分に対して外観を変化させるアクション、を含むことができる。この例によれば、少なくとも1つのパスが横切ったオブジェクト各々の表面領域量に基づき、外観が変化した複数のオブジェクトのうち少なくとも2つのオブジェクトを、グループとして選択することができる一方、外観が変化した複数のオブジェクトのうち少なくとも1つのオブジェクトを、未選択状態に維持することができる。
【0083】
これに加えこの方法論は、ディスプレイデバイスを介してグラフィカルユーザインタフェース(GUI)を生成すること、を含むことができる。このGUIは、ワークスペース内にオブジェクトを表示し、さらにこのGUIは、少なくとも1つの入力デバイスの操作を介して受け取ったさらに別の入力に応答して、選択された複数のオブジェクトから成るグループに対して複数の操作を実行することができる。かかる操作は、選択されたオブジェクトを消去すること、選択されたオブジェクトを隠すこと、選択されたオブジェクトをコピーすること、および選択されたオブジェクトを移動させること、および選択されたオブジェクトに関する情報を表示すること、を含むことができる。
【0084】
既述のように、ディスプレイデバイスにより表示されるオブジェクト各々は、前向き表面領域を含み、1つまたは複数の他のオブジェクトによって遮られていない間、ディスプレイデバイスにより表示されると、この領域は完全に可視状態になり得る。1つの例示的な実施形態によれば、この方法論は、オブジェクト各々の前向き表面領域量を特定すること、を含むことができる。さらにステップ1010は、少なくとも1つのパスが横切ったオブジェクト各々の特定された前向き表面領域量の可視の割合に基づき、外観が変化した少なくとも2つのオブジェクトが選択されるようにする一方、外観が変化した少なくとも1つのオブジェクトは未選択状態に維持されるようにすること、を含むことができる。
【0085】
これに加えこの方法論は、前向き表面領域の部分量に相当する閾値量を決定すること、を含むことができる。外観が変化した少なくとも2つのオブジェクトが選択されるようにするステップ1010は、この閾値量以上である少なくとも1つのパスが横切ったオブジェクト各々の特定された前向き表面領域の可視の割合に基づき、実行することができる。
【0086】
同様に例示的な実施形態によれば、少なくとも1つのパスを決定するアクション1006を、少なくとも1つのモーション入力に応答して、オブジェクトの可視表面に吹き付けられる仮想ペイントが位置することになる場所の特定に基づき、実行することができる。オブジェクトの一部分の外観変化を、決定されたパスに基づきオブジェクト上に吹き付けられたペイントの仮想表現に対応させることができる。
【0087】
例示的な実施形態によれば、互いに直交する第1、第2および第3の軸を有する三次元ワークスペース内にオブジェクトを表示するようにGUIが構成されている、ということを理解されたい。この例によれば、表示画面平面に対応させることができるワークスペースの第1および第2の軸において、パスが延在する。第3の軸を、表示画面によりオブジェクトが描画される三次元ワークスペースの仮想深度に相当するものとすることができる。例示的な方法論は、ワークスペースの第3の軸に沿って深度範囲を決定すること、を含むことができる。これに加え、オブジェクトの外観を変化させるアクション1008を、この深度範囲内のポジションでワークスペースに表示されるオブジェクトに基づくものとすることができる。同様に、この深度範囲外にあるオブジェクトポジションに基づき、少なくとも1つのオブジェクトの外観を変化させないようにすることもできる。
【0088】
既述のように、パスは、第1のオブジェクトのところに始点を含むことができる。深度範囲を決定するアクション1006は、パスが横切った第1のオブジェクトの可視表面領域の深度に基づき深度範囲を決定すること、を含むことができる。したがって、パスの描画をどこで開始するのかをユーザが選択することによって、特定のパスに対し特定の深度範囲を設定することができる。ユーザが開始した新たなパス各々によって、その新たなパスが最初に横切るオブジェクトの可視表面の最初の深度に基づき、それぞれ異なる深度範囲が確定されることになり得る、ということも理解されたい。
【0089】
例示的な実施形態によれば、GUIは目下の選択モードを、表面選択モードと透過選択モードとの間で変更可能にすることができる。少なくとも1つのパスが横切った前向き表面領域の可視の割合に基づき、複数のオブジェクトのうち少なくとも2つのオブジェクトが選択されるようにするアクション1010を、表面選択モードにあるGUIに基づき実行することができる。例示的な方法論は、目下の選択モードを透過選択モードに変更するアクション、を含むことができる。透過選択モードになったならば、この方法論は、少なくとも1つの入力デバイスの操作による少なくとも1つの第2のモーション入力に応答して、少なくとも1つの第2のモーション入力に対応する少なくとも1つの第2のパスが横切り、かつ予め定められた透過深度範囲内のポジションを有する、他のオブジェクトによって完全に遮られたオブジェクトが選択されるようにするアクション、を含むことができる。
【0090】
例示的な実施形態によれば、選択状態となったオブジェクトを視覚的に強調することができる。よって、この例示的な方法論は、少なくとも1つのパスが横切った前向き表面領域の可視の割合に基づき、少なくとも2つのオブジェクトの選択が決定されたことに応答して、少なくとも2つのオブジェクトの選択が決定される前の外観変化に加えて、またはその代わりに、少なくとも2つのオブジェクトに対し外観をさらに変化させるアクション、を有することができる。
【0091】
既述のように、選択されたオブジェクトグループに対して実行される操作に基づき構造に加えられた変更を、CADデータおよび/または製品データとしてCADファイルおよび/またはPLMデータストアに保持することができる。次いで、それらのCADデータまたは製品データに基づいて、機械製図および/またはBOMの生成と関連づけられたアクションを実行することができる。さらにこの方法は、機械製図および/またはBOMに基づき、個人が手動で構造を構築する、ということを含むことができる。さらにかかるアクションは、CADデータに基づき構造を構築する(3Dプリンタなどのような)機械を含むことができる。
【0092】
既述のように、(ある1つの構造を手動で構築するアクションなどのような既述の何らかのアクション以外の)これらの方法に関連づけられたアクションを、1つまたは複数のプロセッサによって実行することができる。かかる1つまたは複数のプロセッサを、1つまたは複数のデータ処理システムに含めることができ、このデータ処理システムはたとえば、上述のアクションが1つまたは複数のプロセッサによって実施されるように動作するソフトウェアコンポーネントを実行する。1つの例示的な実施形態によれば、かかるソフトウェアコンポーネントを、Java, JavaScript, Python, C, C#, C++などのようなソフトウェア環境/言語/フレームワークにおいて、またはここで説明したアクションおよび特徴を実行するように構成されたコンポーネントおよびグラフィカルユーザインタフェースを生成可能な他の任意のソフトウェアツールにおいて、記述することができる。
【0093】
図11には、データ処理システム1100(コンピュータシステムとも称する)のブロック図が示されている。このシステムに、たとえば本明細書で説明したプロセスを実行するためにソフトウェアまたは他の何らかの手段によって動作が設定されたPLM、CADおよび/または他のシステムの一部分として、1つの実施形態を実装することができる。この図に描かれたデータ処理システムは、少なくとも1つのプロセッサ1102(たとえばCPU)を含んでおり、これを1つまたは複数のブリッジ/コントローラ/バス1104(たとえばノースブリッジ、サウスブリッジ)と接続することができる。バス1104の1つとして、PCI Expressバスなどのような1つまたは複数のI/Oバスを挙げることができる。図示の例によれば、様々なバスに接続されるものとして、メインメモリ1106(RAM)およびグラフィックスコントローラ1108を挙げることができる。グラフィックスコントローラ1108を、1つまたは複数のディスプレイデバイス1110と接続することができる。同様にここで述べておきたいのは、いくつかの実施形態によれば、1つまたは複数のコントローラ(たとえばグラフィックス、サウスブリッジ)を(同じチップまたはダイにおける)CPUと統合できる、という点である。CPUアーキテクチャの例には、IA−32、x86−64およびARMプロセッサアーキテクチャが含まれる。
【0094】
1つまたは複数のバスに接続される他の周辺機器として、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、セルラネットワークおよび/または他の有線または無線のネットワーク1114と接続するように動作する通信コントローラ1112(イーサネットコントローラ、WiFiコントローラ、セルラコントローラ)、または通信機器を挙げることができる。
【0095】
種々のバスに接続されるさらに別のコンポーネントとして、1つまたは複数のI/Oコントローラ1116、たとえばUSBコントローラ、ブルートゥースコントローラ、および/または(スピーカおよび/またはマイクロフォンと接続される)専用オーディオコントローラなどを挙げることができる。同様に、様々な周辺機器を(種々のUSBポートを介して)USBコントローラに接続することができる、という点も理解されたい。それらの周辺機器として、入力デバイス1118(たとえばキーボード、マウス、タッチスクリーン、トラックボール、ゲームパッド、カメラ、マイクロフォン、スキャナ、モーションセンシングデバイス)、出力デバイス1120(たとえばプリンタ、スピーカ)、あるいは入力を供給するまたはデータ処理システムからの出力を受信するように動作する他の任意のタイプのデバイスが挙げられる。さらに、入力デバイスまたは出力デバイスと呼ばれる多くのデバイスが、入力を供給することができ、かつデータ処理システムとの通信の出力を受信することができる、という点を理解されたい。さらに理解されたいのは、I/Oコントローラ1116に接続される他の周辺ハードウェア1122として、データ処理システムと通信するように構成された任意のタイプのデバイス、機械またはコンポーネントを挙げることができる、という点である。
【0096】
種々のバスに接続される付加的なコンポーネントとして、1つまたは複数のストレージコントローラ1124(たとえばSATA)を挙げることができる。ストレージコントローラをストレージデバイス1126と接続することができ、たとえば1つまたは複数のストレージドライブ、および/または機械で使用可能または機械で読み取り可能な任意の適切な非一時的ストレージ媒体とすることができる任意の対応するリムーバル媒体、などと接続することができる。例として挙げられるのは、不揮発性デバイス、揮発性デバイス、リードオンリーデバイス、書き込み可能デバイス、ROM、EPROM、磁気テープストレージ、フロッピーディスクドライブ、ハードディスクドライブ、ソリッドステートドライブ(SSD)、フラッシュメモリ、光ディスクドライブ(CD、DVD、ブルーレイ)、および他の公知の光学的、電気的、または磁気的なストレージデバイスドライブおよび/またはコンピュータ媒体である。いくつかの例によれば、SSDなどのようなストレージデバイスを、PCI ExpressバスなどのようなI/Oバス1104へ、ダイレクトに接続することもできる。
【0097】
本開示の1つの実施形態によるデータ処理システムとして、オペレーティングシステム1128、ソフトウェア/ファームウェア1130、およびデータストア1132(これらをストレージデバイス1126および/またはメモリ1106に記憶させることができる)を挙げることができる。かかるオペレーティングシステムは、コマンドラインインタフェース(CLI)シェルおよび/またはグラフィカルユーザインタフェース(GUI)シェルを採用することができる。GUIシェルは、複数のディスプレイウィンドウをグラフィカルユーザインタフェースにおいて同時に表示させることができ、各ディスプレイウィンドウによって、それぞれ異なるアプリケーションに対するインタフェースが提供され、または同じアプリケーションの異なるインスタンスに対するインタフェースが提供される。マウスまたはタッチスクリーンなどのようなポインティングデバイスによって、ユーザはグラフィカルユーザインタフェースのカーソルまたはポインタを操作することができる。この場合、カーソル/ポインタのポジションを変更することができ、かつ/または望ましいレスポンスを生じさせるために、マウスボタンのクリックまたはタッチスクリーンのタッチといったイベントを発生させることができる。データ処理システムにおいて使用することのできるオペレーティングシステムの例として、Microsoft Windows, Linux, UNIX, iOSおよびAndroidオペレーティングシステムを挙げることができる。同様にデータストアの例として、データファイル、データテーブル、リレーショナルデータベース(たとえばOracle, Microsoft SQL Server)、データベースサーバ、またはプロセッサによって取り出し可能なデータを格納することができる任意の他の構造および/またはデバイスも挙げられる。
【0098】
通信コントローラ1112を(データ処理システム1100の一部ではない)ネットワーク1114に接続することができ、このネットワークを、インターネットを含め当業者に周知の任意のパブリックまたはプライベートのデータ処理システムネットワークまたはそれらのネットワークの組み合わせとすることができる。データ処理システム1100はネットワーク1114を介して、(やはりデータ処理システム1100の一部ではない)サーバ1134などのような1つまたは複数の他のデータ処理システムと通信することができる。ただし、1つの択一的なデータ処理システムを、分散システムの一部として実装された複数のデータ処理システムに相当するものとすることができ、そのような分散システムにおいて、複数のデータ処理システムに対応づけられた複数のプロセッサを、1つまたは複数のネットワークコネクションを介して通信状態にすることができ、それらのプロセッサは、単一のデータ処理システムによって実施されるものとして説明したタスクを、共同で実施することができる。よって、1つのデータ処理システムについて言及するときには、かかるシステムを、ネットワークを介して互いに通信状態にある分散システム内に構築された複数のデータ処理システム全体にわたって実装されたものとしてもよい、という点を理解されたい。
【0099】
なお、用語「コントローラ」とは、このデバイスがハードウェア、ファームウェア、ソフトウェア、またはそれらのうち少なくとも2つの何らかの組み合わせとして実現されていようが、少なくとも1つの操作をコントロールする任意のデバイス、システムまたはそれらの一部分のことを意味する。さらにここで述べておきたいのは、いずれかの特定のコントローラと結び付けられた機能を、ローカルであろうとリモートであろうと、集中させてもよいし分散させてもよい、という点である。
【0100】
これらに加え、データ処理システムを、仮想マシンアーキテクチャまたはクラウド環境において仮想マシンとして実装することができる、という点を理解されたい。たとえばプロセッサ1102および付随するコンポーネントを、1つまたは複数のサーバの仮想マシン環境において実行される1つの仮想マシンに相当するものとすることができる。仮想マシンアーキテクチャの例として挙げられるのは、VMware ESCi, Microsoft Hyper- V, Xenおよび KVMである。
【0101】
当業者であれば理解できるように、データ処理システムについて図示したハードウェアを、特定の実装形態に合わせて変更することができる。たとえばこの例におけるデータ処理システム1100を、コンピュータ、ワークステーションおよび/またはサーバに相当するものとすることができる。ただしここで理解されたいのは、データ処理システムの択一的な実施形態を、相応のコンポーネントまたは択一的なコンポーネントによって構成することができる、という点であり、たとえば携帯電話、タブレット、コントローラボード、またはデータを処理しかつデータ処理システム、コンピュータ、プロセッサおよび/または本明細書で説明したコントローラのオペレーションと対応づけられた、本明細書で説明した機能および特徴を実施するように動作する他の任意のシステムの形態として、構成することができる。図示されている実施例は、例示目的で示されているにすぎず、本開示に関して構造上の制限を意図したものではない。
【0102】
本明細書で用いた用語「コンポーネント」および「システム」は、ハードウェア、ソフトウェアまたはハードウェアとソフトウェアの組み合わせを包含することを意図している。したがってたとえば、システムまたはコンポーネントをプロセス、プロセッサ上で実行されるプロセス、またはプロセッサとすることができる。これらに加え、コンポーネントまたはシステムを、単一のデバイス上に局所化してもよいし、複数のデバイスにわたって分散させてもよい。
【0103】
同様に、ここで用いられているプロセッサは、データを処理するためにハードウェア回路、ソフトウェアおよび/またはファームウェアを介して構成された任意の電子デバイスに相当する。たとえば、本明細書で説明したプロセッサを、マイクロプロセッサ、CPU、FPGA、ASIC、あるいはコントローラボード、コンピュータ、サーバ、携帯電話、および/または他の任意のタイプの電子デバイスを有することができるデータ処理システムにおいてデータを処理可能である他の任意の集積回路(IC)または他のタイプの回路、のうちの1つまたは複数(またはこれらの組み合わせ)に相当するものとすることができる。
【0104】
さらに当業者に理解できるとおり、簡単かつ明瞭にするため、本発明による使用に適したあらゆるデータ処理システムの構造およびオペレーションを、本明細書においてすべて描いたまたは説明したわけではない。そうではなく、データ処理システムのうち、本発明に特有のところだけを、または本発明の理解に必要なところだけを描いて説明したにすぎない。データ処理システム1100の構造およびオペレーションのその他の部分は、この分野で周知の現在行われている様々な実装形態および実施手法の任意のものに適合させることができる。
【0105】
これまで本発明の実施例について詳しく説明してきたが、当業者であれば理解できるように、最も広い形態で開示した本発明の着想および範囲を逸脱することなく、様々な変更、置き換え、変形ならびに本明細書で開示した改善を行うことができる。
【0106】
本願の記載内容のいずれも、何らかの特定の部材、ステップまたは機能が特許請求の範囲に含まれなければならない必須の要素である、という趣旨で読まれるべきではなく、本発明の範囲は、特許付与された請求項によってのみ定められるものである。しかも、厳密な語「のための手段」の次に分詞が続かないのであれば、これらの請求項のいずれも、ミーンズ・プラス・ファンクション・クレーム(means plus function claim)の構造が適用されることを意図したものではない。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11