IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ ダッソー システムズ ソリッドワークス コーポレイションの特許一覧

特開2022-120825ユーザ選択されたモデル化コンポーネントの合致を提案する方法
<>
  • 特開-ユーザ選択されたモデル化コンポーネントの合致を提案する方法 図1
  • 特開-ユーザ選択されたモデル化コンポーネントの合致を提案する方法 図2
  • 特開-ユーザ選択されたモデル化コンポーネントの合致を提案する方法 図3
  • 特開-ユーザ選択されたモデル化コンポーネントの合致を提案する方法 図4
  • 特開-ユーザ選択されたモデル化コンポーネントの合致を提案する方法 図5
  • 特開-ユーザ選択されたモデル化コンポーネントの合致を提案する方法 図6
  • 特開-ユーザ選択されたモデル化コンポーネントの合致を提案する方法 図7A
  • 特開-ユーザ選択されたモデル化コンポーネントの合致を提案する方法 図7B
  • 特開-ユーザ選択されたモデル化コンポーネントの合致を提案する方法 図7C
  • 特開-ユーザ選択されたモデル化コンポーネントの合致を提案する方法 図7D
  • 特開-ユーザ選択されたモデル化コンポーネントの合致を提案する方法 図7E
  • 特開-ユーザ選択されたモデル化コンポーネントの合致を提案する方法 図7F
  • 特開-ユーザ選択されたモデル化コンポーネントの合致を提案する方法 図7G
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022120825
(43)【公開日】2022-08-18
(54)【発明の名称】ユーザ選択されたモデル化コンポーネントの合致を提案する方法
(51)【国際特許分類】
   G06F 30/12 20200101AFI20220810BHJP
   G06F 30/10 20200101ALI20220810BHJP
   G06F 3/04842 20220101ALI20220810BHJP
   G06F 111/20 20200101ALN20220810BHJP
【FI】
G06F30/12
G06F30/10
G06F3/04842
G06F111:20
【審査請求】未請求
【請求項の数】13
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2022014801
(22)【出願日】2022-02-02
(31)【優先権主張番号】202111005037
(32)【優先日】2021-02-05
(33)【優先権主張国・地域又は機関】IN
(71)【出願人】
【識別番号】500430693
【氏名又は名称】ダッソー システムズ ソリッドワークス コーポレイション
(74)【代理人】
【識別番号】100079108
【弁理士】
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【弁理士】
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【弁理士】
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【弁理士】
【氏名又は名称】内藤 和彦
(72)【発明者】
【氏名】アプテ,マカランド
(72)【発明者】
【氏名】ルエップ,フランク
(72)【発明者】
【氏名】ラマ,チン-ロー
(72)【発明者】
【氏名】ドーレン,フレデリック
(72)【発明者】
【氏名】スタイルズ,ジョディ
(72)【発明者】
【氏名】ミュール,ギリシュ
【テーマコード(参考)】
5B146
5E555
【Fターム(参考)】
5B146AA07
5B146DG01
5B146DL01
5B146EC04
5E555AA22
5E555AA25
5E555AA26
5E555BA01
5E555BA70
5E555BB01
5E555BC17
5E555CA02
5E555CA11
5E555CB07
5E555CB22
5E555CB45
5E555CB56
5E555DB05
5E555DB53
5E555DC10
5E555DC13
5E555DC35
5E555FA00
(57)【要約】
【課題】 ユーザ選択されたモデル化コンポーネントのための合致を提案する方法を提供する。
【解決手段】 計算機援用製図アプリケーションアセンブリのユーザ選択された第1のコンポーネントを第2のコンポーネントと合致させる方法は、第1のコンポーネントのユーザドラッグを検出する。所定の期間にわたるドラッグのユーザ一時停止が一時停止場所で検出される。複数の第1のコンポーネントサーフェス及び複数の第2のコンポーネントサーフェスが識別される。第1のコンポーネントサーフェスが第2のコンポーネントサーフェスと比較され、及び第1のコンポーネントサーフェスと第2のコンポーネントサーフェスとの間の合致が提案される。
【選択図】 図1
【特許請求の範囲】
【請求項1】
計算機援用製図(CAD)アプリケーションアセンブリのユーザ選択された第1のコンポーネントを第2のコンポーネントと合致させるコンピュータベースの方法であって、
前記第1のコンポーネントの第1のユーザドラッグを検出するステップと、
一時停止場所での所定の期間にわたる前記第1のドラッグのユーザ一時停止を検出するステップと、
複数の第1のコンポーネントサーフェス及び複数の第2のコンポーネントサーフェスを識別するステップと、
前記複数の第1のコンポーネントサーフェスを前記複数の第2のコンポーネントサーフェスと比較するステップと、
第1のコンポーネントサーフェスと第2のコンポーネントサーフェスとの間の提案される合致を決定するステップと
を含むコンピュータベースの方法。
【請求項2】
前記提案される合致をユーザに提示するステップをさらに含む、請求項1に記載の方法。
【請求項3】
前記アセンブリのコンテキストにおいて、前記提案される合致をグラフィカルに提示するステップをさらに含む、請求項2に記載の方法。
【請求項4】
前記提案される合致をグラフィカルに表現することは、前記第2のコンポーネントとペアにされた前記第1のコンポーネントをグラフィカルに表現するステップをさらに含む、請求項3に記載の方法。
【請求項5】
ユーザによる前記第1のコンポーネントのリリースを検出するステップと、
合致確認ユーザインタフェースオブジェクトを提示するステップと
をさらに含む、請求項1に記載の方法。
【請求項6】
前記ユーザによる前記第1のコンポーネントの第2のドラッグを検出するステップと、
前記提案される合致の前記グラフィカルな提示を除去するステップと
をさらに含む、請求項3に記載の方法。
【請求項7】
前記第1のコンポーネントの複数の自由度のうちの自由度を制限するステップをさらに含む、請求項1に記載の方法。
【請求項8】
前記所定の期間は、少なくとも500msである、請求項1に記載の方法。
【請求項9】
合致可能なペアの第1のリストを作成するステップをさらに含み、各合致可能なペアは、前記第2のコンポーネントのサーフェスとペアにされた前記第1のコンポーネントのサーフェスを含む、請求項1に記載の方法。
【請求項10】
前記合致可能なペアの複数のグルーピングを決定するステップをさらに含む、請求項9に記載の方法。
【請求項11】
フィルタ処理されたグルーピングリストを生成するために、前記複数のグルーピングをフィルタ処理するステップをさらに含む、請求項10に記載の方法。
【請求項12】
前記フィルタ処理は、前記複数のグルーピングのうちのグルーピングの合致可能なペアの回転を回転閾値と比較することをさらに含む、請求項11に記載の方法。
【請求項13】
平行移動距離の順序において、前記フィルタ処理されたグルーピングリストをソートするステップをさらに含む、請求項11に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2021年2月5日に出願された「Method for Suggesting a Pairing for a User Selected Modeled Component」という名称のインド特許出願公開第202111005037号に対する優先権の利益を主張するものである。この先行出願の開示は、その全体が参照により本明細書に援用される。
【0002】
発明の分野
本発明は、物理システムのモデル化に関し、特にモデル化システムにおける反復プロセスの簡略化に関する。
【背景技術】
【0003】
発明の背景
計算機援用製図(CAD)アプリケーションにおいて、合致又は拘束を使用して、アセンブリを形成するために部品が結合される。小さいアセンブリでも数十個の部品及びそれを超える合致を有し得る。1つのアセンブリにおいて全ての部品を組み立てることは、小さいアセンブリにとってさえ面倒な作業であり、数百個の可能な合致を有するより大きいアセンブリの場合に一層面倒になる。
【0004】
アセンブリの2つの特定の部品間の合致を生じさせるために、ユーザは、合致のためにユーザが選択した対応する幾何学的サーフェスを視覚的にアライメントさせるように2つの部品を操作する。部品が例えば部品のリストから選択されると、ユーザは、合致の適切なタイプを選択し、これは、一方又は両方の部品の配向又はアライメント感を反転させることを伴い得る。次いで、ユーザは、他の所望の合致に対してこのプロセスを繰り返さなければならない。例えば、ユーザが間違った幾何学的サーフェス又は不正確なアライメントを選択することによってミスをすると、ユーザは、その試行された合致を破棄し、もう一度やり直す必要があり得る。
【0005】
現在、コンポーネントを手動で合致することは、幾何学的エンティティ間の関係性を指定し、3Dアセンブリのコンテキストにおけるジオメトリ及び関係に基づいて自由度を排除するという時間のかかるプロセスを伴う。経験豊富なCADユーザは、手間のかかる作業として、手動で合致を生じさせることを挙げる。
【0006】
例えば、手動で合致を生じさせる場合、通常、アセンブリにおいて移動させることができない固定コンポーネントが存在する。一部の実装形態では、アセンブリに挿入された第1のコンポーネントが固定されるものとして示される。モデルに挿入された第2のコンポーネントは、何ら拘束を有さず、アセンブリ内で自由に移動及び回転することができる。第1のコンポーネント及び第2のコンポーネントの合致は、第2のコンポーネントから既存の自由度(DOF)を手動で除去することを伴い、ユーザは、第1のコンポーネントに関して第2のコンポーネントを手動で回転及び平行移動させる。これは、合致可能なサーフェスを識別することを容易にするためのアセンブリ全体のビューの回転も伴い得る。次いで、ユーザは、合致を識別するためにさらなるDOFを除去し続ける。これは、ユーザがコンポーネントの移動及び回転を行い、合致が実行可能であるか否かを決定するためにアセンブリのビューを更新するため、長いプロセスとなり得る。
【0007】
この問題に対処するためのこれまでの試みは、エンティティの選択に基づいて局所座標系が生成される手法を伴うものであった。この場合、ユーザは、2つの幾何学的エンティティを選択し、次いで選択されたエンティティ間に適用される合致タイプを選択することができる。次いで、それに応じて局所座標系がアライメントされ、それにより必要な自由度が排除される。これは、コンポーネント間の関係を生じさせるプロセスを容易にするが、これは、依然として、意図した結果を達成するためにユーザが手動でジオメトリを選択し、次いで手動で合致タイプを設定しなければならないプロセスである。したがって、業界では、上述の欠点の1つ又は複数を解決する必要がある。
【発明の概要】
【0008】
発明の概要
本発明の実施形態は、ユーザ選択されたモデル化コンポーネントのペアリングを提案する方法を提供する。簡潔に記載すると、本発明は、計算機援用製図アプリケーションアセンブリのユーザ選択された第1のコンポーネントを第2のコンポーネントと合致させる方法に向けられる。第1のコンポーネントのユーザドラッグが検出される。所定の期間にわたるドラッグのユーザ一時停止が一時停止場所で検出される。複数の第1のコンポーネントサーフェス及び複数の第2のコンポーネントサーフェスが識別される。第1のコンポーネントサーフェスが第2のコンポーネントサーフェスと比較され、及び第1のコンポーネントサーフェスと第2のコンポーネントサーフェスとの間の合致が提案される。
【0009】
本発明の他のシステム、方法及び特徴は、以下の図面及び詳細な説明を考察することにより、当業者に明らかであるか又は明らかとなるであろう。全てのそのようなさらなるシステム、方法及び特徴が本明細書に含まれ、本発明の範囲内であり、及び添付の特許請求の範囲によって保護されることが意図される。
【0010】
図面の簡単な説明
添付の図面は、本発明のさらなる理解を提供するために含まれ、及び本明細書に組み込まれ、及び本明細書の一部を構成する。図面のコンポーネントは、必ずしも一定の縮尺ではなく、代わりに本発明の原理を明白に示すことに重点が置かれている。図面は、本発明の実施形態を図示し、本明細書の記載と共に本発明の原理を説明するのに役立つ。
【図面の簡単な説明】
【0011】
図1】ユーザの観点からのモデル化アセンブリにおける2つのコンポーネント間の合致を自動的に識別する方法の第1の例示的実施形態のフローチャートである。
図2】CADシステムにより、モデル化アセンブリにおける合致を自動的に識別するための図1の方法の第1の例示的実施形態のフローチャートである。
図3】第1の実施形態下において、アセンブリモデルと合致する、ユーザ選択されたコンポーネントモデルの例示的な例を示す図である。
図4図3の図の識別されたフェイスを示す。
図5図3のアセンブリモデルの上にドラッグされた、選択されたコンポーネントを示す図である。
図6】本発明の機能性を実行するためのシステムの一例を示す概略図である。
図7A】CADシステムのグラフィカルインタフェースを用いた、ユーザ観点の図1のフローチャートの第1のステップの一例を示す。
図7B図1のフローチャートの図7Aの後続ステップを示す。
図7C図1のフローチャートの図7Bの後続ステップを示す。
図7D図1のフローチャートの図7Cの後続ステップを示す。
図7E図1のフローチャートの図7Dの後続ステップを示す。
図7F図1のフローチャートの図7Eの後続ステップを示す。
図7G図1のフローチャートの図7Fの後続ステップを示す。
【発明を実施するための形態】
【0012】
詳細な説明
以下の定義は、本明細書に開示する実施形態の特徴に適用される用語を解釈するのに役立ち、本開示内の要素を定義することのみを意図する。
【0013】
本開示では、「コンポーネントリスト」は、2次元(2D)又は3次元(3D)モデル化アセンブリの個々の部品のリスティングを指す。CAD環境では、コンポーネントリストは、モデル化アセンブリの2D又は3Dレンダリングを提示するグラフィックウィンドウのサイドバーとして視覚的に提示され得る。コンポーネントリスト及びグラフィックウィンドウは、インタラクティブとなることができ、例えばコンポーネントリスト中のコンポーネントを選択することにより、グラフィックウィンドウ内の対応するコンポーネントが強調表示され得、同様にグラフィックウィンドウ内のコンポーネントを(例えば、マウスのクリックにより)選択することにより、コンポーネントリスト中の対応するコンポーネントが強調表示され得る。
【0014】
本開示では、「フェイス」は、2D又は3Dモデル化アセンブリの部品のサーフェスを指す。
【0015】
本開示では、「幾何学的エンティティ」は、モデル化アセンブリ、例えば3次元(3D)モデルのコンポーネントのフェイス、エッジ、頂点、平面又は軸を指す。
【0016】
本開示では、(幾何学的エンティティの)「合致可能なペア」は、2つの幾何学的エンティティ間の拘束を生じさせるために実行可能に合致され得る任意の2つの幾何学的エンティティを指す。したがって、各合致可能なペアは、それらの間で作り出される拘束の種類に関連付けられる。2つのコンポーネント間で複数のタイプの拘束を作り出すことができる場合、各異なるタイプの拘束は、別個の合致可能なペアに関連付けられると考えられる。
【0017】
本開示では、「拘束」は、モデル化コンポーネントの少なくとも1つの自由度の制限又は除去を指す。一般に、2つのコンポーネントの合致又はペアリングは、合致/ペアリングされたコンポーネントの一方又は両方に対して少なくとも1つの拘束を導入する。
【0018】
本開示では、「ワンショット合致」は、複数の拘束が同時に導入される合致を指す。
【0019】
本開示では、「ソルバ」は、アセンブリの他のコンポーネントのジオメトリに基づいて、モデル化アセンブリの選択されたコンポーネントとの合致可能なペアを形成するための適切な合致を見つけるために、選択されたコンポーネントを解析するように構成されたモジュールを指す。ソルバモジュールは、ハードウェア、ソフトウェア又はハードウェア及びソフトウェアの組み合わせにおいて実装され得る。
【0020】
本開示では、モデル化コンポーネントの「選択」は、ユーザがユーザインタフェースインタラクション(例えば、とりわけマウス/トラックパッドのクリック、タッチパッドのタップ又は仮想現実環境における仮想タッチ)によって所望のコンポーネントを示すことを指す。
【0021】
本開示では、「ドラッグ」は、CADアセンブリの選択されたモデル化コンポーネントのユーザ起動の移動を指す。一般的に、ドラッグは、選択されたモデル化コンポーネントのグラフィカルユーザインタフェース操作により生じ、ここで、ユーザは、例えば、マウス/トラックパッドの動き、タッチパッドの動き又は仮想現実(VR)環境におけるプッシュ/プル/ナッジにより、選択されたモデル化コンポーネントを移動させる。概して、ドラッグは、一般に、ユーザがユーザインタフェースを用いて(例えば、マウス/トラックパッドボールを動かしながらマウス/トラックパッドボタンを押下することによって)オブジェクトと能動的に関わり合う間に生じる。タッチパッドの場合、ドラッグは、選択されたオブジェクトとの指接触を維持することにより、選択のための最初のタップ後に生じ得る。VRの場合、ドラッグは、選択されたオブジェクトの摘まむ/掴むジェスチャ及びそれが依然として摘ままれている/掴まれている間にオブジェクトを移動させることによって生じ得る。
【0022】
本開示では、選択又はドラッグされたコンポーネントの「リリース」は、ユーザが例えばマウス/トラックパッドボタンを物理的にリリースすること、タッチパッドから指を離すこと又はVRにおいて摘まむ/掴むジェスチャ後に指を開くことにより、ドラッグプロセスの終了を示すことを指す。
【0023】
本開示では、ドラッグされたコンポーネントの「一時停止」は、ドラッグされたオブジェクトのリリースを行わない、ドラッグされたオブジェクトの移動の少なくとも一時的な休止を指す。例えば、ドラッグの一時停止が行われたか否かを決定するための時間間隔が定義され得る。
【0024】
本開示では、ペアリングを「提示すること」は、CADシステムのグラフィカルユーザインタフェースを用いてペアリングの視覚的指示を提供する(例えば、表示されたアセンブリのコンテキストにおいて、ペアリングの強調表示されたグラフィック表現を重ね合わせることによってペアリングを示す)ことを指す。
【0025】
ここで、本発明の実施形態に詳細に言及し、それらの例を添付の図面に示す。可能な限り、図面及び本明細書の記載において同一又は同様の部品を指すために同一の参照符号を使用する。
【0026】
背景技術のセクションで述べた通り、これまで、合致は、アセンブリコンポーネントのセットからジオメトリを手動で選択し、選択されたエンティティ間の関係(及びそれを用いて関連したコンポーネント)を手動で割り当てることによって形成された。本実施形態では、代わりに、ドラッグされているコンポーネントのジオメトリがアセンブリ及び周囲のコンポーネントのコンテキストにおいて解析される。この解析に基づいて、本方法は、可能な合致ソリューションを決定し、それらのソリューションをユーザに提案する。ユーザは、例えば、ドラッグされているコンポーネントをリリースすることにより、提案されたソリューションを承諾することができる。
【0027】
ここに記載する実施形態は、次世代「スマートCAD」ソフトウェアにおいて、CADユーザによって合致を手動で指定する負担を減少させる。本実施形態下では、ユーザが、一緒に組み立てられる部品(コンポーネント)のセットを持ってくると、ソフトウェアは、自動的に適切な合致を提案する。これは、2つの磁石が結合されるときに自己整合する様子に類似する。
【0028】
図1は、ユーザの観点からのモデル化アセンブリにおける合致を自動的に識別する方法100の第1の例示的実施形態のフローチャートである。フローチャートの何れのプロセスの記載又はブロックも、プロセスの特定の論理機能を実装するための1つ又は複数の命令を含むモジュール、セグメント、コードの部分又はステップを表すと理解されるものであり、本発明の当業者により理解されるように、代替実装形態は、関与する機能性に応じて、実質的に同時又は逆の順序を含む、図示又は論じられた順序と異なる順序で機能が実行され得る本発明の範囲内に含まれることに留意されたい。
【0029】
第1の実施形態は、3Dアセンブリのコンポーネントを合致するプロセスを簡略化し、ここで、CADシステムのユーザは、モデル化アセンブリにおいてコンポーネントの表現を単にドラッグし、可能な合致ソリューションをユーザに提供するために、ドラッグされたコンポーネントのジオメトリ及びそのコンポーネントの周囲のジオメトリが解析される。ユーザは、ブロック110によって示されるように、モデル化アセンブリのコンポーネントをドラッグする。ブロック120によって示されるように、ユーザは、例えば、約0.5秒の所定の期間にわたってドラッグの一時停止を行う。ドラッグの一時停止が行われた場所の付近にドラッグされたコンポーネントの潜在的合致が存在しないことをCADシステムのソルバコンポーネントが決定した場合、ブロック127によって示されるように、ユーザにスマート合致提案は、提示されない。
【0030】
ドラッグの一時停止が行われた場所の付近にドラッグされたコンポーネントの潜在的合致が存在することをCADシステムのソルバコンポーネントが決定すると、ブロック125によって示されるように、ユーザインタフェースは、ドラッグされたコンポーネントに関する合致提案を提示し得る。例えば、CADシステムは、モデル化アセンブリの別のコンポーネントと合致された、ドラッグされたコンポーネントの視覚的描写として合致提案を提供し得る。合致提案が提示されると、ユーザは、ブロック130によって示されるように、ドラッグされているオブジェクトをリリースし得る。ドラッグされているオブジェクトがリリースされると、CADシステムのユーザインタフェースは、ブロック160によって示されるように、ダイアログボックスなどの合致確認オブジェクトを提示し、ここで、ユーザは、合致を承諾することができ、それにより、ブロック170によって示されるようにワンショット合致の作成が生じる。ユーザが提案された合致を承諾することを望まない場合、ユーザは、ブロック140によって示されるように、リリースせずに一時停止場所から離れるようにオブジェクトをドラッグする。CADシステムのユーザインタフェースは、その後、ブロック150によって示されるように合致提案を除去する。
【0031】
本実施形態の方法を用いれば、ユーザは、3Dアセンブリのコンテキストにおいてコンポーネントの位置を指定するために、自由度を手動で除去する必要がなく、それによってより高い効率が提供され、及び時間が節約される。
【0032】
図7A~7Gは、CADシステムのグラフィカルインタフェースを用いた、ユーザ観点の図1のフローチャートのステップの一例を示す。図7Aに示されるように、CADシステムは、少なくとも1つの非拘束コンポーネント710を有するアセンブリ700を表示する。ユーザは、グラフィックエリアにおいてコンポーネント710をクリックする。図7Bに示されるように、コンポーネントが合致されることをユーザが望む目的地720に向けて非拘束コンポーネント710をドラッグする。図7Bに示されるように、CADシステムは、薄いビュー、灰色のビュー若しくは透明のビュー、破線の輪郭又は一時的な位置を示すための別の手段を用いて、ドラッグされたコンポーネント710の場所を示し得る。
【0033】
図7Cによって示されるように、ユーザは、コンポーネント710のドラッグを短期間一時停止する(例えば、約500~1200msにわたり、目的地720の第1の穴721の上でホバーし、ドラッグされたコンポーネント710及びアセンブリ700の他のコンポーネント720の解析を開始するためにCADシステムのスマート合致ソルバをトリガする)。スマート合致によって使用される方法は、後に記載する。
【0034】
スマート合致ソルバによって行われる解析は、2つのコンポーネント710、720が一緒に合致される最も可能性の高い位置を決定する。CADシステムは、図7Dに示されるように、算出された最も可能性の高いソリューション、ここでは第1の穴721にコンポーネント710の表現を位置付ける。CADシステムは、例えば、色付きのシェーディングを用いて、提案される合致をグラフィカルに示し得る。図7E~7Fに示されるように、スナップされた位置が、ユーザが求めているものではないと仮定して、ユーザは、所望の場所、ここでは第2の穴722に向けてドラッグを継続する。第2の穴722が、提案される合致であるとスマート合致ソルバが決定し、例えば選択されたコンポーネント710の描写を、提案される合致のコンテキストの位置に「スナップする」ことにより、提案をグラフィカルに示す。図7Gによって示されるように、ドラッグコンポーネントが所望の場所(ここでは第2の穴722)に存在すると、ユーザは、表示されたスナップ場所の提案される合致に応じてコンポーネント710を収容するためにマウスをリリースする。ユーザは、例えば、CADシステムによって表示された確認ユーザダイアログボックス730を用いて、提案されたペアリングを承諾し得る。
【0035】
図2は、CADシステムによってモデル化アセンブリにおける合致を自動的に識別する方法200の第1の例示的実施形態のフローチャートである。CADシステムは、ブロック210によって示されるように、モデル化アセンブリのコンポーネントのユーザドラッグ(「選択されたコンポーネント」又は「ドラッグされたコンポーネント」)を検出する。
【0036】
ブロック220によって示されるように、CADシステムは、所定の期間、例えば約0.5秒間にわたってドラッグのユーザ一時停止を検出する。CADシステムのソルバコンポーネント(「スマート合致ソルバ」)は、ブロック230によって示されるように、ドラッグされたコンポーネントに対する潜在的合致が存在するか否かを決定するために、ドラッグされたコンポーネントの現在の一時停止されたドラッグ場所の近くでアセンブリの潜在的サーフェスを探す。例えば、CADシステムは、ドラッグされたコンポーネントに関する既存の拘束を表すデータ構造を識別し、現在のドラッグされたコンポーネントに依然として適用されていない新しい拘束を探し得る。
【0037】
ブロック240によって示されるように、ドラッグが一時停止した場所の付近に、ドラッグされたコンポーネントに対する潜在的合致が存在することをCADシステムのソルバコンポーネントが決定した場合、ユーザインタフェースは、ブロック250によって示されるように、ドラッグされたコンポーネントに関する合致提案を提示し得る。例えば、CADシステムは、モデル化アセンブリの別のコンポーネントと合致された、ドラッグされたコンポーネントの視覚的描写として合致提案を提供し得る。合致提案が提示されると、ユーザは、ブロック260によって示されるように、ドラッグされているオブジェクトをリリースし得る。ドラッグされているオブジェクトがリリースされると、CADシステムのユーザインタフェースは、ブロック280によって示されるように、合致確認ダイアログを提示し、ここで、ユーザは、提案された合致を承諾することができ、それにより、ブロック290によって示されるようにワンショット合致の作成が生じる。ユーザが、ブロック265によって示されるように、一時停止場所から離れるようにオブジェクトをドラッグした場合、CADシステムのユーザインタフェースは、その後、ブロック270によって示されるように合致提案を除去する。
【0038】
スマート合致ソルバは、選択されたコンポーネントが合致可能なペアの一方の部品であると考えられ得るかどうかを決定するために、ユーザ選択されたコンポーネントを解析する。例えば、スマート合致ソルバは、以下でさらに詳細に記載されるように、選択されたコンポーネントの所定の近接範囲内の潜在的合致を解析し得、各潜在的合致の1つ又は複数のサーフェスが、選択されたコンポーネントと実行可能に合致し得るか否かを計算する。
【0039】
ペアリングによって課される拘束が数学的に実行可能である場合でも、ソルバは、幾つかの状況下では、潜在的ペアを合致不可能と見なし得る。例えば、潜在的ペアの何れか一方の部品の3Dモデルの何れかの部分が他方の材料と衝突し、及び他方の材料に入ることを潜在的ペアが生じさせ得る場合、スマート合致ソルバは、その潜在的ペアが合致不可能であると決定し得る。同様に、スマート合致ソルバは、拘束の導入が3Dモデルにおいて過剰な回転を生じさせる場合、潜在的ペアが合致不可能であると決定し得る。例えば、30度の閾値角度が予め選択され得るか又はユーザ指定され得る。このような閾値角度は、可能な拘束の数を減少させることができ、スマート合致ソルバが合致計算をより速く完了することを促進し得る。加えて、ユーザは、人が2つの実世界(物理的)オブジェクトの合致を試みる場合にまずそれらを正確に配向させるように、そのような閾値を有することに関わり得る。さらに、ユーザは、スマート合致ソルバがプラグを90度回転させる拘束を生じさせることを予期しない場合がある。
【0040】
一部の実施形態下では、スマート合致ソルバは、一般的な拘束タイプの所定の(又はユーザ指定の)セットから限定された拘束のタイプを作成し得る。現代のCADソフトウェアによってサポートされる拘束の幾つかのタイプが存在するが、サブセットのみが一般的に使用される。例えば、CADユーザの多くは、他のタイプの拘束よりも一致、同心及び接線拘束を一般的に使用し得る。ほとんど使用されない拘束を用いる実施形態は、ユーザに分かりにくい場合がある。
【0041】
合致可能なペア及び別の合致可能なペアは、両方の合致の拘束が矛盾なしに同時に適用され得る場合に互換性があるとスマート合致ソルバが見なし得る。上述の通り、互換性があると2つのペアを見なす前に、ソルバは、過剰な回転及び衝突の検出をチェックし得る。各ペアは、回転又は衝突テストに個々に合格し得るが、まとめられると、それらは、例えば、第1のペアと第2のペアとの間の拘束が第1のペア及び第2のペアの合致を許容するが、第1のペア及び第2のペアの合致を同時に許容しない場合、テストの一方で不合格になり得る。図4では、ピンP1は、穴H1とペアを組むことが可能であり、及びピンP2は、穴H4とペアを組むことが可能であるが、プラグコンポーネントモデル310のピンP1とピンP2との間のスペーシングの拘束が同時のこれらの2つのペアを阻止する。同様に、各メンバーがセットの他の全てのメンバーと互換性がある、順序付けられていない合致可能なペアのセットを含む互換ペアのグループの場合、各ペアが他の全てのペアと互換性があるが、セット全体としては互換性がない場合が存在し得る。本実施形態によって使用される、幾何学的エンティティ間の合致可能性及び拘束の互換性を決定する方法は、周知のものであり、及びほとんどの現代のCADソフトウェアによって提供されることに留意されたい。
【0042】
図3は、第1の実施形態下において、スマート合致ソルバが固定アセンブリソケットコンポーネントモデル330との合致を試みる、ユーザによって選択されたプラグコンポーネントモデル310の例示的な例を示す。
【0043】
スマート合致ソルバは、プラグコンポーネントモデル310及び固定アセンブリソケットコンポーネントモデル330の合致可能サーフェス間の互換性を調べる。この例の場合、2つの最も一般的に使用される拘束である一致拘束及び同心拘束のみが許容される。図4に示されるように、2つのコンポーネント310、330には幾つかのフェイスが存在するが、簡潔さのために、各モデルから限られた数のフェイスのみ、すなわちプラグコンポーネントモデル310からフェイスP1、P2、F1、F2及びソケットコンポーネントモデル330からフェイスF0、H1、H2、H3、H4を論じる。ここで、円筒フェイスP1は、穴フェイスH1、H2、H3及びH4の何れとも、それらとの間で同心拘束が定義され得るために合致可能である。同様に、P2は、穴H1、H2、H3及びH4の何れとも合致可能である。P1は、P2と合致不可能である。P1及びP2は、同じリジッドモデルに属するため、それらを同心させることはできない。H1は、H2、H3及びH4の何れとも合致不可能である。H1、H2、H3及びH4のそれぞれは、同じリジッドモデルに属するため、それらを同心させることはできない。P1及びF0は、P1が円筒フェイスであり、及びF0が平面フェイスであることにより、一致又は同心拘束をP1とF0との間で作ることができないため、合致不可能である。F0は、F1又はF2と一致させることができるため、F1又はF2と合致可能である。
【0044】
スマート合致ソルバは、合致可能なペア間の互換性も調べる。ここで、ペア(P1、H3)が合致可能なペアであり、及びペア(P2、H4)が合致可能なペアであるが、穴H3と穴H4との間の距離がピンP1とピンP2との間の距離よりも大きいことにより、両方の拘束が同時に存在することが不可能であるため、これらの2つのペアは、互いに互換性がない。それとは対照的に、ペア(P1、H1)は、合致可能なペアであり、及びペア(P2、H2)は、合致可能なペアであり、これらの2つのペアは、両方の拘束が同時に存在することが可能であるため、互いに互換性がある。穴H1と穴H2との間の距離は、ピンP1とピンP2との間の距離と同じである。3つの合致可能なペア(F1、F0)、(P1、H1)及び(P2、H2)は、3つの拘束の全てが同時に存在することが可能であるため、互いに互換性がある。2つの合致可能なペア(F1、F0)及び(F2、F0)は、各拘束を別々に生じさせることはできるが、2つの拘束が同時に存在することが不可能であるため、互換性がない。
【0045】
ユーザがプラグコンポーネントモデル310をアセンブリソケットコンポーネントモデル330上にドラッグしたとき、スマート合致ソルバプロセスが開始される。スマート合致ソルバは、2つのモデル310、330間の幾何学的エンティティの全ての合致可能なペアを見つけて、互換ペアのグループを形成する。各グループは、ユーザに提案することができる潜在的合致ソリューションである。以下でより詳細に記載されるように、グループごとに、スマート合致ソルバは、必要とされる回転及び平行移動の量を算出し、ソリューションが、ユーザが望むソリューションである可能性の評価に基づいてグループを順序正しくソートする。
【0046】
スマート合致ソルバは、主に、ソリューションが現在の位置からどの程度近いかに基づいてそのソリューションの尤度を評価し得る。代替的に、ドラッギング前に、ユーザは、例えば、選択により、合致される必要がある幾何学的エンティティのサブセットを示し得る。スマート合致ソルバは、選択された幾何学的エンティティを含むソリューションを他の識別されたソリューションよりも優先し得る。
【0047】
スマート合致ソルバは、履歴/ログデータも活用し得る。例えば、合致されるコンポーネントが以前に合致されたことがあり、その情報がデータベースでアクセス可能である場合、スマート合致ソルバは、これらの幾何学的エンティティを優先し得る。スマート合致ソルバは、米国特許出願公開第2019/0147317A1号に記載されるように、合致可能性予測ニューラルネットワークも組み込み得る。
【0048】
図5に図示される例によって示されるように、ユーザは、電源プラグ310の3Dモデルをソケット330のモデル上にドラッグする。図4に戻ると、この例の場合、スマート合致ソルバは、電源プラグのフェイスF1、F2、P1、P2及びソケットのフェイスF0、H1、H2、H3、H4を解析する。これらのモデルには他のフェイスが存在するが、この例は、ここでは簡潔さのためにそれらを省略している。
【0049】
表1は、スマート合致ソルバによって考慮される全ての合致可能なペアのリストを示す。
【0050】
【表1】
【0051】
次いで、スマート合致ソルバは、表2によって示される全ての合致可能なペアのグループを決定するために表1の各ペアをチェックする。
【0052】
【表2】
【0053】
次いで、スマート合致ソルバは、ペアリングを生じさせるために必要とされる、ソケット330に対する電源プラグ310の表示位置からの回転及び平行移動の量を算出する。スマート合致ソルバは、表3に示されるように、過剰な回転を必要とするあらゆるグループをフィルタ処理で取り除く。例えば、スマート合致ソルバは、回転が例えば30度の閾値角度を超えるグループをフィルタ処理で取り除き得る。閾値角度は、所定又はユーザ指定のものであり得る。
【0054】
【表3】
【0055】
次いで、スマート合致ソルバは、表4に示されるように、最小平行移動から最大平行移動の順序で合致可能なペアのグループをソートする。
【0056】
【表4】
【0057】
表5は、互換ペアを見つけるためにスマート合致ソルバによって実行されるプロセスの擬似コードの例を示す。ここで、「Set」は順序付けされていない合致可能なペアのセットである。関数GetAllCompatiblePairs (G)は、G内に存在しないが、G内の全てのペアと互換性がある合致可能なペアのセットを返す。所与のセットGが空であれば、空のセットと互換性がないペアは存在しないため、この関数は、全ての合致可能なペアを返す。main関数は、互換ペアのセットのリストを返す。
【0058】
【表5】
【0059】
上記で詳細に記載した機能性を実行するための本システムは、コンピュータであり得、その一例を図6の概略図に示す。システム500は、プロセッサ502、ストレージデバイス504、上述の機能性を定義するソフトウェア508が内部に保存されたメモリ506、入出力(I/O)デバイス510(又は周辺機器)及びローカルバス又はシステム500内の通信を可能にするローカルインタフェース512を包含する。ローカルインタフェース512は、例えば、当技術分野で知られているように、1つ若しくは複数のバス又は他の有線若しくは無線接続であり得るが、これらに限定されない。ローカルインタフェース512は、コントローラ、バッファ(キャッシュ)、ドライバ、リピータ及び受信機などの通信を可能にするためのさらなる要素(これらは、簡単にするために省略されている)を有し得る。さらに、ローカルインタフェース512は、上述のコンポーネント間の適切な通信を可能にするために、アドレス、制御装置及び/又はデータ接続を含み得る。
【0060】
プロセッサ502は、特にメモリ506に保存されたソフトウェアを実行するためのハードウェアデバイスである。プロセッサ502は、任意の特注若しくは市販のシングルコア若しくはマルチコアプロセッサ、中央処理装置(CPU)、本システム500に関連付けられた幾つかのプロセッサのうちの補助プロセッサ、(マイクロチップ若しくはチップセットの形態)半導体ベースのマイクロプロセッサ、マクロプロセッサ又は一般にソフトウェア命令を実行するための任意のデバイスであり得る。
【0061】
メモリ506は、揮発性記憶素子(例えば、ランダムアクセスメモリ(DRAM、SRAM、SDRAMなどのRAM))及び不揮発性記憶素子(例えば、ROM、ハードドライブ、テープ、CDROMなど)の何れか1つ又はそれらの組み合わせを含み得る。メモリ506は、電子、磁気、光学及び/又は他のタイプのストレージ媒体も組み込み得る。メモリ506は、様々なコンポーネントが互いからリモートに位置するが、プロセッサ502によってアクセスされ得る分散アーキテクチャを有し得ることに留意されたい。
【0062】
ソフトウェア508は、本発明によるシステム500によって行われる機能性を定義する。メモリ506内のソフトウェア508は、1つ又は複数の別々のプログラムを含み得、各プログラムは、以下に記載するように、システム500の論理機能を実装するための実行可能命令の順序付けられたリスティングを包含する。メモリ506は、オペレーティングシステム(O/S)520を包含し得る。オペレーティングシステムは、基本的に、システム500内のプログラムの実行を制御し、スケジューリング、入出力制御、ファイル及びデータ管理、メモリ管理並びに通信制御及び関連するサービスを提供する。
【0063】
I/Oデバイス510は、例えば、キーボード、マウス、スキャナ、マイクロホンなど(ただし、これらに限定されない)の入力デバイスを含み得る。さらに、I/Oデバイス510は、例えば、プリンタ、ディスプレイなど(ただし、これらに限定されない)の出力デバイスも含み得る。最後に、I/Oデバイス510は、例えば、変調器/復調器(モデム;別のデバイス、システム又はネットワークにアクセスするため)、無線周波数(RF)若しくは他の送受信機、電話インタフェース、ブリッジ、ルータ又は他のデバイス(ただし、これらに限定されない)など、入力及び出力の両方を介して通信するデバイスをさらに含み得る。
【0064】
システム500の動作時、プロセッサ502は、上記で説明したように、メモリ506とのデータの通信を行うため及びソフトウェア508に従ってシステム500の動作を一般に制御するために、メモリ506内に保存されたソフトウェア508を実行するように構成される。
【0065】
システム500の機能性の動作時、プロセッサ502は、メモリ506とのデータの通信を行うため及びソフトウェア508に従ってシステム500の動作を一般に制御するために、メモリ506内に保存されたソフトウェア508を実行するように構成される。オペレーティングシステム520は、プロセッサ502によって読み出され、おそらくプロセッサ502内にバッファリングされ、その後、実行される。
【0066】
システム500がソフトウェア508に実装される場合、システム500を実装するための命令は、任意のコンピュータ関連デバイス、システム若しくは方法によって使用されるか、又は任意のコンピュータ関連デバイス、システム若しくは方法との関連で使用される任意のコンピュータ可読媒体に保存され得ることに留意されたい。このようなコンピュータ可読媒体は、一部の実施形態では、メモリ506又はストレージデバイス504の何れか一方又は両方に対応し得る。本明細書に関連して、コンピュータ可読媒体は、コンピュータ関連デバイス、システム若しくは方法によって使用されるか、又はコンピュータ関連デバイス、システム若しくは方法との関連で使用されるコンピュータプログラムを包含又は保存することができる電子、磁気、光学又は他の物理的デバイス又は手段である。システムを実装するための命令は、プロセッサ又は他のそのような命令実行システム、装置若しくはデバイスによって使用されるか、或いはプロセッサ又は他のそのような命令実行システム、装置若しくはデバイスとの関連で使用される任意のコンピュータ可読媒体において具現化され得る。プロセッサ502を例として述べたが、このような命令実行システム、装置又はデバイスは、一部の実施形態では、命令実行システム、装置又はデバイスから命令をフェッチし、及び命令を実行することができる任意のコンピュータベースのシステム、プロセッサ包含システム又は他のシステムであり得る。本明細書に関連して、「コンピュータ可読媒体」は、プロセッサ又は他のそのような命令実行システム、装置若しくはデバイスによって使用されるか、或いはプロセッサ又は他のそのような命令実行システム、装置若しくはデバイスとの関連で使用されるプログラムの保存、通信、伝搬又はトランスポートを行うことができる任意の手段であり得る。
【0067】
このようなコンピュータ可読媒体は、例えば、電子、磁気、光学、電磁、赤外線又は半導体のシステム、装置、デバイス又は伝搬媒質であり得るが、これらに限定されない。コンピュータ可読媒体のより具体的な例(非網羅的リスト)には、1つ又は複数の電線を有する電気接続(電子)、ポータブルコンピュータディスケット(磁気)、ランダムアクセスメモリ(RAM)(電子)、読出し専用メモリ(ROM)(電子)、消去可能プログラマブル読出し専用メモリ(EPROM、EEPROM又はフラッシュメモリ)(電子)、光ファイバ(光学)及びポータブルコンパクトディスク読出し専用メモリ(CD-ROM)(光学)が含まれる。コンピュータ可読媒体は、プログラムが例えば紙又は他の媒体の光学式走査によって電子的に捕捉され、その後、コンパイルされるか、解釈されるか又は必要に応じて適切な方法で他に処理され、及びその後、コンピュータメモリに保存され得るため、プログラムが印刷された紙又は別の適宜の媒体であり得る。
【0068】
システム500がハードウェアに実装される代替実施形態では、システム500は、それぞれ当技術分野で周知の以下の技術:データ信号に論理機能を実装するための論理ゲートを有する1つ若しくは複数の個別論理回路、適切な組み合わせ論理ゲートを有する特定用途向け集積回路(ASIC)、1つ若しくは複数のプログラマブルゲートアレイ(PGA)、フィールドプログラマブルゲートアレイ(FPGA)などの何れか又はそれらの組み合わせと共に実装され得る。
【0069】
上記の実施形態下では、自動合致定義は、ユーザが手動で、接続に関与するべき幾何学的エンティティを選択し、及び実際の接続タイプを指定する必要性なしに、1つのアクションで幾つかの自由度を自動的に除去することができる。これらの実施形態は、ソフトウェアとの手動インタラクションを減少させ、それによりアセンブリを組み立てるプロセスを加速させる。その結果、アセンブリを組み立てるプロセスは、ユーザがコンポーネント間の個々の関係を手動で指定する必要がある従来の手法よりも効率的及び高速である。
【0070】
本発明の範囲又は趣旨から逸脱することなく、本発明の構造に対する様々な修正形態及び変更形態がなされ得ることが当業者に明らかとなるであろう。上記を鑑みて、本発明の修正形態及び変更形態が以下の請求項及びそれらの均等物の範囲に入ることを条件として、本発明は、それらの修正形態及び変更形態を包含することを意図する。
図1
図2
図3
図4
図5
図6
図7A
図7B
図7C
図7D
図7E
図7F
図7G
【外国語明細書】