(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024059089
(43)【公開日】2024-04-30
(54)【発明の名称】失われている合致参照を自動修復するためのシステム及び方法
(51)【国際特許分類】
G06F 30/10 20200101AFI20240422BHJP
G06F 111/04 20200101ALN20240422BHJP
【FI】
G06F30/10
G06F111:04
【審査請求】未請求
【請求項の数】17
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023173638
(22)【出願日】2023-10-05
(31)【優先権主張番号】18/046,972
(32)【優先日】2022-10-17
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】500430693
【氏名又は名称】ダッソー システムズ ソリッドワークス コーポレイション
(74)【代理人】
【識別番号】100079108
【弁理士】
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【弁理士】
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【弁理士】
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【弁理士】
【氏名又は名称】内藤 和彦
(72)【発明者】
【氏名】バーケット-スミス,ニコラス コンスタンティン
(72)【発明者】
【氏名】ヴェンカテシュ,プルトヴィ
(72)【発明者】
【氏名】バルビルカル,マニシュ
(72)【発明者】
【氏名】ブルッキング,クリストファー ジョージ
(72)【発明者】
【氏名】シンハ,スシャント
【テーマコード(参考)】
5B146
【Fターム(参考)】
5B146AA07
5B146DA07
5B146DC05
(57)【要約】
【課題】 失われている合致参照を自動修復するためのシステム及び方法を提供する。
【解決手段】 システム及び方法は、コンピュータ支援製図(CAD)環境内の構成部品フィーチャーの失われている制約に対応する参照を自動修復する。失われている構成部品フィーチャーが属することを参照が示す第1の構成部品が識別される。第1の構成部品のソリッドボディ又はサーフェスボディが識別される。第1のソリッドボディ又はサーフェスボディの置換フィーチャー候補が識別される。置換フィーチャー候補は、失われているフィーチャーと比較される。候補の比較が所定の基準を満たす場合、失われている制約参照は、置換フィーチャー候補への参照で置換される。
【選択図】
図4A
【特許請求の範囲】
【請求項1】
プロセッサと、前記プロセッサによって実行されるとき、構成部品フィーチャーの失われている制約に対応する参照を自動修復するための自動修復アプリケーションを実行する非一時的命令を含むメモリとを含むコンピュータ支援製図(CAD)システムであって、前記制約は、前記CADシステム内のモデル化アセンブリの前記構成部品から、前記アセンブリの修正に基づいて失われており、前記自動修復アプリケーションは、
前記失われている構成部品フィーチャーが属することを前記参照が示す第1の構成部品を識別すること、
前記第1の構成部品のソリッドボディ又はサーフェスボディを識別すること、
前記第1のソリッドボディ又はサーフェスボディの置換フィーチャー候補を識別すること、
前記置換フィーチャー候補を、前記失われているフィーチャーと比較すること、及び
前記候補の比較が所定の基準を満たす場合、前記失われている制約参照を前記置換フィーチャー候補の参照で置換すること
を行うように構成される、コンピュータ支援製図(CAD)システム。
【請求項2】
前記候補の比較は、
前記置換フィーチャー候補の向きを、前記失われているフィーチャーの向きと比較すること、及び
前記置換フィーチャー候補の位置を、前記失われているフィーチャーの位置と比較すること
を更に含む、請求項1に記載のシステム。
【請求項3】
前記失われているフィーチャーは、面を含む、請求項1に記載のシステム。
【請求項4】
前記面は、平面、円筒面、円錐面、トロイダル面及び球面の群の1つからなる、請求項3に記載のシステム。
【請求項5】
前記比較は、前記フィーチャーが同一平面内にあると判定することを更に含む、請求項2に記載のシステム。
【請求項6】
前記失われているフィーチャーは、エッジを含む、請求項1に記載のシステム。
【請求項7】
前記エッジは、直線エッジ、曲線エッジ、参照軸、円形エッジ、スプライン及び楕円の群の1つからなる、請求項6に記載のシステム。
【請求項8】
前記自動修復アプリケーションは、前記候補の比較が前記所定の基準を満たさない場合、
前記失われているフィーチャーのパラメータと一致する、前記第1の構成部品内の参照フィーチャーを識別すること、
前記参照フィーチャーを、前記失われているフィーチャーと比較すること、及び
前記参照フィーチャーの比較が前記所定の基準を満たす場合、前記失われている制約参照を前記参照フィーチャーで置換すること
を行うように更に構成される、請求項1に記載のシステム。
【請求項9】
構成部品フィーチャーの失われている制約に対応する参照を自動修復する方法であって、前記制約は、コンピュータ支援製図(CAD)環境内のモデル化アセンブリの前記構成部品から、前記アセンブリの修正に基づいて失われており、前記方法は、
前記失われている構成部品フィーチャーが属することを前記参照が示す第1の構成部品を識別するステップ、
前記第1の構成部品のソリッドボディ又はサーフェスボディを識別するステップ、
前記第1のソリッドボディ又はサーフェスボディの置換フィーチャー候補を識別するステップ、
前記置換フィーチャー候補を、前記失われているフィーチャーと比較するステップ、及び
前記候補の比較が所定の基準を満たす場合、前記失われている制約参照を前記置換フィーチャー候補の参照で置換するステップ
を含む、方法。
【請求項10】
前記候補の比較は、
前記置換フィーチャー候補の向きを、前記失われているフィーチャーの向きと比較すること、及び
前記置換フィーチャー候補の位置を、前記失われているフィーチャーの位置と比較すること
を更に含む、請求項9に記載の方法。
【請求項11】
前記失われているフィーチャーは、面を含む、請求項9に記載の方法。
【請求項12】
前記面は、平面、円筒面、円錐面、トロイダル面及び球面の群の1つからなる、請求項11に記載の方法。
【請求項13】
前記比較は、前記フィーチャーが同一平面内にあると判定することを更に含む、請求項10に記載の方法。
【請求項14】
前記失われているフィーチャーは、エッジを含む、請求項9に記載の方法。
【請求項15】
前記エッジは、直線エッジ、曲線エッジ、参照軸、円形エッジ、スプライン及び楕円の群の1つからなる、請求項14に記載の方法。
【請求項16】
前記候補の比較が前記所定の基準を満たさない場合、
前記失われているフィーチャーのパラメータと一致する、前記第1の構成部品内の参照フィーチャーを識別するステップ、
前記参照フィーチャーを、前記失われているフィーチャーと比較するステップ、及び
前記参照フィーチャーの比較が前記所定の基準を満たす場合、前記失われている制約参照を前記参照フィーチャーで置換するステップ
を更に含む、請求項9に記載の方法。
【請求項17】
前記第1のソリッドボディ又はサーフェスボディの前記置換フィーチャー候補を識別することは、
前記失われているフィーチャーを含む寸法及び座標を有する第1の境界ボックスを計算するステップ、
前記構成部品のソリッドボディ又はサーフェスボディの第2の境界ボックスを計算するステップ、及び
前記第1の境界ボックスと前記第2の境界ボックスとの間の交差を識別するステップ
を含む、請求項9に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
発明の分野
本発明は、物理システムのモデリングに関し、より詳細には、モデル化システムにおける反復プロセスを単純化することに関する。
【背景技術】
【0002】
発明の背景
物理アセンブリのコンピュータ支援製図(CAD)モデルを作成するとき、構成部品を挿入し、移動させ、方向付け、及び制約するプロセスは、多くの場合、複数のステップを含む。アセンブリは、構成部品間の位置を定める合致(制約、constraint)を典型的に含む。合致は、アセンブリの少なくとも2つの構成部品上のジオメトリの特定の要素を参照する。ユーザが構成部品に対して大幅な設計変更を行う場合、アセンブリ合致によって参照されるジオメトリが変わるか又はもはや存在しない場合がある。ユーザの変更が合致の消失を招いたことをCADソフトウェアが認識すると、CADインタフェースは、例えば、「失われている参照(Missing Reference)」の合致エラーを表示することによってユーザに通知することができる。典型的には、ユーザは、合致参照を手動で編集し、適切な置換制約を選択することによって応答する。
【0003】
図1A~
図1Dは、失われている合致を招くシナリオの例を示す。
図1Aによって示すように、アセンブリ100は、シャフト120及びプレート110の2つの構成部品を含む。アセンブリ100は、シャフト120とプレート110との相対位置を制御する制約(合致)150を含む。
図1Bによって示すように、制約150は、シャフト120の円筒面122をプレート110の円筒面112に対して同心円状に制約する同心円制約である。各面112、122は、制約150の2つの被選択エンティティを識別するためにCADプログラムによって使用される内部IDを有する。
【0004】
図1Cによって示すように、ユーザがシャフト120に変更を加え、その変更がシャフト面122の内部IDを変えさせる。この例では、ユーザは、シャフト120上に割線130を追加し、実質的にシャフト120の円筒面を2つの面に分け、従ってシャフト120の面のIDを変えている。
図1Dによって示すように、ユーザによる変更後、プレート110の円筒面112が存在するが、シャフト120の円筒面122(
図1B)は、もはや存在しない。ユーザによる変更の結果としてシャフト120上の面IDが変わったため、シャフト120の面122を同心円合致に利用できないことを理由に同心円合致150が失敗する。従って、CADプログラムは、制約に関するエラーメッセージをユーザインタフェース内に表示することができる。しかし、失われている合致を手動で回復又は置換することは、時間のかかるプロセスであり得る。従って、上述の欠点に対処することが業界で求められている。
【発明の概要】
【課題を解決するための手段】
【0005】
発明の概要
本発明の実施形態は、失われている合致参照を自動修復するためのシステム及び方法を提供する。簡潔に記載すると、本発明は、コンピュータ支援製図(CAD)環境内の構成部品フィーチャーの失われている制約に対応する参照を自動修復するシステム及び方法を対象とする。失われている構成部品フィーチャーが属することを参照が示す第1の構成部品が識別される。第1の構成部品のソリッドボディ又はサーフェスボディが識別される。第1のソリッドボディ又はサーフェスボディの置換フィーチャー候補が識別される。置換フィーチャー候補は、失われているフィーチャーと比較される。候補の比較が所定の基準を満たす場合、失われている制約参照は、置換フィーチャー候補への参照で置換される。
【0006】
以下の図面及び詳細な説明を考察するとき、本発明の他のシステム、方法及び特徴が当業者に明らかであるか又は明らかになる。そのような全ての追加のシステム、方法及び特徴がこの説明に含まれ、本発明の範囲に含まれ、添付の特許請求の範囲によって保護されることを意図する。
【0007】
図面の簡単な説明
添付図面は、本発明の更なる理解を与えるために含まれ、本明細書に組み込まれ本明細書の一部を構成する。図中の構成要素は、必ずしも縮尺通りではなく、むしろ本発明の原理を明確に示すうえで強調が加えられる。図面は、本発明の実施形態を示し、説明と共に本発明の原理を説明するのに役立つ。
【図面の簡単な説明】
【0008】
【
図1A】CAD環境内のアセンブリの2つの構成部品間の制約の概略図である。
【
図1C】失われている制約を招く、
図1Aのアセンブリに対するユーザによる変更を示す概略図である。
【
図1D】
図1Cの失われている制約に対応する位置を示す概略図である。
【
図1E】
図1Cの失われている制約に関する置換の位置を示す概略図である。
【
図2A】本発明の第1の実施形態下での失われている合致を有するCADプログラムを示すスクリーンショットである。
【
図2B】修復された合致を有する
図2BのCADプログラムのスクリーンショットである。
【
図3】本発明の第1の実施形態下での失われている合致を有するCADプログラムのスクリーンショットである。
【
図4A】失われている合致を自動で発見するための第1の例示的な方法の実施形態の第1のフローチャートである。
【
図5】閲覧専用モード内での、即ちテッセレーションデータのみを有する失われているエンティティに起因する失敗した合致を示す、第2の実施形態下でのCADプログラムのスクリーンショットである。
【
図6A】失われている合致を自動で発見するための第2の例示的な方法の実施形態の第1のフローチャートである。
【
図7】本発明の機能を実行するためのシステムの一例を示す概略図である。
【発明を実施するための形態】
【0009】
詳細な説明
以下の定義は、本明細書で開示する実施形態の特徴に適用される用語を解釈するのに有用であり、本開示内の要素を定義することのみを意図する。
【0010】
本開示で使用するとき、「モデル化オブジェクト」又は「モデル化アセンブリ」は、物理構造、例えば機械工学及び/又は電気工学分野に由来する現実世界の製造物のコンピュータによってレンダリングされた表現を指す。概して、モデル化オブジェクトは、CADシステムによって操作されるデータ構造内に記憶される数値データによって表され、CADシステムは、CAD環境と呼ばれ得、かかる環境では、モデル化オブジェクトは、CAD環境のユーザインタフェースにより、例えばとりわけ2次元若しくは3次元で及び/又はパーツ/構成部品リストによってグラフィカルに表現され得る。
【0011】
本開示で使用するとき、アセンブリの「フィーチャー」又は「エンティティ」は、アセンブリ構成部品の特定のジオメトリ要素、例えば(限定されないが)面、エッジ、頂点及び参照点、軸又は平面を指す。
【0012】
本開示で使用するとき、モデル化オブジェクトの「参照」又は「参照点」は、モデル化オブジェクトの構成部品の識別可能なフィーチャーの位置、例えば座標系の原点等の知られている位置に対する構成部品内の位置を記述するデータ構造を指す。参照は、例えば、記述子テーブル内に記憶されるフィーチャーの特定のジオメトリ特性を示し得る。参照平面は、参照ジオメトリの一種である。参照ジオメトリは、モデルのソリッド/サーフェスジオメトリに影響を及ぼすことなしにパラメトリック3Dモデルを定めることを促進するために使用される。例えば、参照平面は、パーツ上の対称性を定めるために使用することができ、平面を中心に片側のフィーチャーをパーツの反対側の対称位置に置くことができることを意味する。他の一般的な種類の参照ジオメトリは、参照軸、参照点及び座標系を含む。
【0013】
本開示で使用するとき、「制約」は(第2の構成部品の)第2のフィーチャーの動きを1つ又は複数の方向に制限する(第1の構成部品の)任意の第1のフィーチャーを指す。制約は、第1のフィーチャー及び第2のフィーチャー上の幾つかの参照点によって定められ得る。制約の一例は、2つの一致面である。例えば、1つ又は複数の構成部品のジオメトリを変更すること又は構成部品の1つを除去することにより、制約が除去され得る。具体的には、1つ又は複数の構成部品のジオメトリを変更することは、制約に以前に含まれた参照の1つ又は複数が(参照がもはや制約の一部でないように)再配置されること又はフィーチャーから除去されることをもたらし得る。
【0014】
制約の一例は、以下の表1に示すエンティティの組み合わせ間で追加される一致制約である。
【0015】
【0016】
本開示で使用するとき、「失われている参照」は、モデルの変更の結果としてアセンブリ内にもはや存在しない、過去に識別された制約の参照を指す。例えば、失われている参照は、対応するフィーチャーが、第1のものの内部表現を修正する別のフィーチャーを追加されること又は制約を定める構成部品から除去されることの結果であり得る。
【0017】
本開示で使用するとき、2つの構成部品間の「合致」は、構成部品間の少なくとも1つの制約を指す。
【0018】
本開示で使用するとき、「合致参照」は、合致/制約の1つ又は複数の構成部品への参照を指す。
【0019】
本開示で使用するとき、「自動修復」は、ユーザが個別のステップを手動で(CAD環境のユーザインタフェースによって)実行する代わりに、コンピュータが一連のステップを実行することを指す。概して、CAD環境内で行われる全てのアクションは、コンピュータによって実装されるが、本明細書では、自動化は、所望のタスクを実行するためのユーザ-コンピュータ間の対話を減らすために、関連ステップをタスクにグループ化することを指す。関与するユーザ-コンピュータ間の対話のレベルは、予見される及び指定のユーザプリファレンスとバランスが取られる自動化のレベルに依存し得る。
【0020】
本開示で使用するとき、一致合致は、2つの平面を同一平面となるように強いる合致である。同心円合致は、2つの円筒面又は円錐面が同軸となることを強いる。
【0021】
「パス合致」は、同心円合致よりも複雑な別の種類の合致である。パス合致は、ある構成部品の点/頂点を別の構成部品上の「パス」に制約する。パスは、エッジ/曲線又は複数のエッジ/曲線の連続選択を含む。
【0022】
本開示で使用するとき、「記述子」は、モデル化アセンブリ内のジオメトリの局所領域の特性を記述するデータ構造を指す。記述子は、テキストフィールド及び数値フィールドの両方だけでなく、他の構成部品及び/又は構造的フィーチャーとの関係を示すフィールドも含み得る。「記述子」という用語のこの使用は、情報検索システムにおいて一般的である。例えば、画像検索システムでは、記述子は、画像を分類することを促進する形状、色又は質感等の画像の視覚的特徴を含む。音楽検索システムでは、記述子は、リズム、音階、ジャンル、アーティスト等の特性を含み得る。文書検索システムでは、記述子は、個々の単語数、著者、言語等を含み得る。
【0023】
本開示で使用するとき、「面」は、2D又は3Dモデル化アセンブリの一部の表面を指す。アセンブリ内には、(限定されないが)平面、円筒面、円錐面、トロイダル面及び球面を含む数種類の面があり得る。
【0024】
本開示で使用するとき、「エッジ」は、2D又は3Dモデル化アセンブリの2つ以上の面間の交差を指す。アセンブリ内には、(限定されないが)直線エッジ、曲線エッジ、参照平面、参照点、円形エッジ、スプライン及び楕円を含む数種類のエッジがあり得る。
【0025】
本開示で使用するとき、「合致修復アプリケーション」又は「自動修復アプリケーション」は、CAD環境内のモデルに関する失われている制約(合致)を発見し、修復するために使用されるルーチンの組を指す。合致修復アプリケーションは、CAD環境と一体化され得るか、又はCAD環境からリモートにホストされ得る。
【0026】
本開示で使用するとき、「合致整列」は、潜在的な合致の向きを指す。合致整列は、多くの合致の種類について設定することができる。合致は、「整列」及び「非整列」の2つの整列状態を有し得る。2つの平面が選択される一致合致の例では、「整列」状態は、面法線を同じ方向に整列させるのに対して、「非整列」は、法線の方向を互いに正反対に設定する。整列は、2つの参照が含意された「方向」を有し得る場合に適用され得る。線は、点及び方向ベクトル、点による面及び面法線によって定められる。単なる点である頂点は、方向を有することができない。整列又は非整列されるために、両方の参照がかかる方向を有する必要がある。本明細書で論じる例では、新たな参照の方向が元の参照の反対方向にある場合、正しい相対的位置決めを保つために現在の制約の整列を逆にする必要があり得る。
【0027】
本開示で使用するとき、「所定の基準」は、フィーチャーが同一又は十分に同様であり、失われている制約参照を置換するためにフィーチャー参照候補を使用できることを、フィーチャー参照候補と、失われている制約参照との間の比較が示すかどうかを判定するために使用される閾値パラメータの組を指す。失われている制約参照のジオメトリ、例えばとりわけ面(平面、円筒面、円錐面等)、エッジ及び/又は頂点に対応する数組の所定の基準があり得る。
【0028】
本開示で言及するとき、「テッセレーションデータ」は、レンダリングのためにテッセレートされているモデルを記述するデータを指す。コンピュータグラフィックスでは、テッセレーションは、アセンブリ内のオブジェクトを提示するポリゴンのデータセットをレンダリングに適した構造に分けることを指す。テッセレーションデータは、フルアセンブリモーダルデータから減じられるが、基本的なジオメトリ構造をレンダリングするための情報を保持する。
【0029】
本開示で言及するとき、「テッセレーションエンティティ」は、レンダリングのためにテッセレートされているモデル又はモデルの構成部品を指す。
【0030】
ここで、その例を添付図面に示す本発明の実施形態を詳細に参照する。可能な場合には常に、同じ又は類似する部分を指すために同じ参照番号を図面及び説明で使用する。
【0031】
本発明の例示的実施形態は、CAD環境内で「失われている参照」の合致エラーを受信し、現在失われている参照を過去に含んだ構成部品のジオメトリを解析する。任意の適切な置換ジオメトリがある場合、その置換ジオメトリを使用するように合致が自動で更新され得る。適切なジオメトリは、同じジオメトリの種類並びに同一の位置及び向きのジオメトリとして定められる。かかる形態は、失われている参照のエラーを有する合致を以前に手動で修復しなければならなかったユーザの時間を大幅に節約することを示す。
【0032】
図1A~
図1Dの背景の節の説明を再び参照し、第1の実施形態では、CADシステムが失敗した制約150(
図1C)を自動修復するためのオプションをユーザに与えるコマンドを提供する。自動修復コマンドを呼び出した後、合致修復アプリケーションは、失われている面122と同じ位置及び向きを共有する代替面132に関してシャフト構成部品120を検索する。そのような面が見つかる場合、
図1Eによって示すように、合致修復アプリケーションは、失敗した制約における置換として代替面132を自動で使用し、それにより失われている制約を解決する。
【0033】
第1の実施形態下では、任意の制約(合致)が失われている参照を有する場合、合致修復アプリケーションは、ユーザインタフェース内のエラーをCADプログラムに表示させる。ユーザは、コンテキストメニューから表示されている「自動修復」コマンドを実行することを決め得る。このコマンドは、失われている参照を置換するために使用可能な最良の一致エンティティに対する検索を開始する。合致修復アプリケーションが一致エンティティを発見できる場合、合致修復アプリケーションは、それらの失われている参照を置換し、エラーを解決する。厳密な一致を発見できない場合、制約は、自動修復されず、ユーザが手動で合致を修復しなければならない。
【0034】
合致修復アプリケーションは、数種類の面、例えば、限定されないが、平面、円筒面、球面、円錐面及びトロイダル面又は一般面、例えばスイープされたフィーチャーから生じる面又はスプライン、楕円から押し出される面等を検索し置換する。
【0035】
図2Aによって示すように、第1の例示的実施形態下では、CADプログラム200がモデル210及び構成部品リスト220を表示する。任意の合致が失われている参照を有する場合、CADプログラム200は、合致グループフォルダ230内にエラーを表示する。構成部品リスト220内の合致グループフォルダ230を選択することは、「自動修復」オプション245を含むポップアップウィンドウ240を提示する。自動修復オプション245を選択することにより、ユーザは、自動修復アプリケーションを実行するようにCADプログラム200に命令し、失われている参照を置換するために使用可能な最良の一致エンティティに対する検索を開始する。
【0036】
コマンドが一致エンティティを発見できる場合、コマンドは、
図2Bに示すように失われている合致参照を置換することによって合致リストを更新し、エラーを解決する。代わりに、ユーザが単一の合致エラーを修復することを望む場合、それは、選択された合致のコンテキストメニューから同じコマンドを実行することによって行われる。
【0037】
図3は、第1の実施形態下での失われている面によって引き起こされる合致の失敗の別の例を示す。
図3は、失われているエッジ(パス)によって引き起こされるパス合致の失敗を示す。パス合致の「パス」を定めるユーザ選択内でエッジ/曲線の内部IDが使用される。パス内のエンティティの内部IDが失われるように構成部品が変更された場合、パス合致が失敗する。ここでは、ユーザが、例えば、元のパーツを、僅かに異なるジオメトリを有する置換パーツと交換したことを理由にエッジIDが失われている。この事例では、自動修復アプリケーションは、失われているエッジと同じ位置にある同じ構成部品に属する一致するエッジを検索する。第1の実施形態下では、自動修復アプリケーションは、以下の種類のエッジ:直線エッジ、円筒エッジ又はスプライン、楕円等によって作成されるような任意の一般曲線/エッジを検索し、置換する。
【0038】
面及びエッジに加えて、コマンドは、失われている頂点、参照平面、参照軸及び参照点を検索し置換する。
【0039】
特定のフィーチャーの失われている合致を自動修復することに固有の幾つかのシナリオに関して、第1の実施形態を以下に記載する。
【0040】
図4A~
図4Bは、CADモデル化アセンブリの構成部品のパーツに関する失われているフィーチャー、ここでは平面又は参照平面を自動で置換するための例示的な方法の実施形態のフローチャート401を示す。当業者であれば理解されるように、フローチャートのプロセスのいかなる説明又はブロックも、プロセス内の特定の論理機能を実装するための1つ又は複数の命令を含むモジュール、セグメント、コードの一部又はステップを表し、関与する機能にもよるが、ほぼ同時又は逆順が含まれる、図示又は解説するのと異なる順序で機能が実行され得る代替的実装形態が本発明の範囲に含まれることに留意すべきである。
【0041】
ブロック410によって示すように、失われている参照が属する第1の構成部品を自動修復アプリケーションによって識別する。幾つかあるデータの中でも特に、自らが属する任意の構成部品、参照の種類及び参照が失われているか又は無効であるかどうかを含む情報を合致参照のデータ構造が保持する。ブロック415によって示すように、第1の構成部品の第1のソリッドボディ又はサーフェスボディが識別される。構成部品のボディは、合致の参照データ構造から得ることができる。構成部品は、単一又は複数のボディを有することができ、アプリケーションは、全てのボディにわたって繰り返し処理することができる。この方法体系は、ボディのエンティティ(面、エッジ、頂点)を得ることに適用される。マルチボディ構成部品の場合のボディの選択については、以下に記載する。
【0042】
ブロック420によって示すように、ソリッド/ボディの第1の置換平面候補を識別する。ブロック425によって示すように、自動修復アプリケーションは、以下の条件:(1)置換面候補の向きが失われている面の向きと一致すること、及び(2)置換面候補の位置が失われている面の位置と一致することに関してボディの平面候補を失われている平面のパラメータと比較する。ここでは、一方が他方に含まれた状態で2つの面が同一平面内にある必要がある。ブロック430によって示すように条件1及び2が満たされる場合、ブロック435によって示すように失われている合致参照を置換面候補で置換する。条件1及び2が満たされない場合、ブロック440によって示すように、アプリケーションは、失われている面参照によって示される位置で失われている面と重複する第2の面候補を検索する。第2の面候補が発見される場合、その面候補を上記のブロック425、430、435、440の通りに検査する。ブロック445により面が入手できない場合、ブロック460によって示すように、アプリケーションは、失われている平面のパラメータと一致する構成部品内の参照平面を検索する。
図4Bに移り、参照平面が発見されない場合(ブロック465の「いいえ」の分岐)、アプリケーションは、参照置換を利用できないと判定する。参照平面が発見される場合(ブロック465の「はい」の分岐)、ブロック475によって示すように、アプリケーションは、参照平面の向きが失われている面の向きと一致するかどうか及び参照平面の位置が失われている面の位置と一致するかどうかを検査する。ここでは、参照平面は、失われている面と同一平面内にあるべきである。ブロック480の「はい」の分岐の通りに一致する参照平面が発見される場合、ブロック435によって示すように、失われている合致参照を参照平面で置換する。さもなければ、ブロック485によって示すように、アプリケーションは、その後の参照平面を検索する。第2の参照平面が発見される場合、その参照平面を上記のブロック475、480、435の通りに検査する。更なる参照平面が入手できない場合(ブロック490の「いいえ」の分岐)、ブロック470によりアプリケーションがそのことをエラーメッセージによって示す。失われている面に対して参照平面候補が反対の向き(即ち法線方向)を有する場合、「合致整列」を反転させた状態で置換面又は参照平面候補を依然として検討することができる。
【0043】
失われている合致参照が単一ボディパーツ上の平面であるシナリオでは、参照面はなく、そのため、
図4のプロセスは、ブロック460に進むことができないが、代わりにエラーメッセージを返す。
【0044】
マルチボディパーツでは、他のシナリオが生じ得る。例えば、合致参照フィーチャーが失われている平面である場合(シナリオA)、自動修復アプリケーションは、失われている参照が属する構成部品を最初に識別する。ここでは、アプリケーションは、失われている平面を含む寸法及び座標を有する境界ボックスをまず計算し、次いで構成部品の他の全てのソリッドボディ及びサーフェスボディの境界ボックスを計算する。自動修復アプリケーションは、全てのボディにわたって繰り返し処理し、ボディの境界ボックスと、失われている面の境界ボックスとの間の交差(一致)を検査する。面エンティティの更なる検索のために、失われている面と交差する最初に発見したボディを使用する。このようにして、自動修復アプリケーションは、多数のボディを有する構成部品がある場合に性能を改善する。ボディが発見される場合、アプリケーションは、上記で説明したように、
図4Aのブロック425から進む。選択されたボディ上で面が発見されない場合、アプリケーションは、失われている平面の境界ボックスを例えば10%拡大することができ、その拡大した境界ボックスと交差するボディを発見するために全てのボディを再び繰り返し処理する。このようにして進めることにより、アプリケーションは、失われている平面を置換することができる実行可能な平面の検索に場合により使用され得る「隣接」ボディを発見することができる。ここでは、包含されるか又は重複する平面が発見されない場合があるが、合致要件を依然として解決する同一平面内にある面が発見され得ることに留意すべきである。例えば、合致が平面の対を要求する場合、ソルバは、面の「無限ジオメトリ」定義のみを考慮するため、平行又は逆平行の法線及び元の平面と同一平面内にある基点を有するモデル内の任意の平面が幾何学的に均等であり、従って制約を満たすと考えることができる。
【0045】
失われているフィーチャーが円筒面である場合(シナリオB)、検索パラメータ及び比較基準に対する修正を伴って方法は、シナリオAと同様である。ここでは、自動修復アプリケーションがボディの各円筒面を失われている円筒面の以下のパラメータと比較する:
a.円筒面の軸が失われている円筒面の軸と一致すべきであること、
b.円筒面の半径が失われている円筒面の半径と一致すべきであること、及び
c.一方が他方に含まれるように面の位置が一致すべきであること。
【0046】
含まれる面が発見されない場合、(その境界ボックスによって決定される)失われている面の位置と「重複」するものを検索する。
【0047】
失われている円錐面/トロイダル面/球面を検索する場合(シナリオC)、そのための方法は、シナリオAと同様であるが、ここでは、置換候補の円錐パラメータ、球形パラメータ及びトロイダルパラメータは、例えば、同じ半径、中心等を有する失われている面と全く同じでなければならない。
【0048】
失われている直線エッジ又は参照軸(「refAxis」)を検索する場合(シナリオD)、そのための方法は、シナリオAと同様であるが、ここでは、自動修復アプリケーションは、ボディの各直線エッジを失われているエッジのパラメータと比較する。エッジの方向は、失われているエッジの方向と一致すべきであり、2つのエッジが同一線上にあり、一致又は重複するように位置が一致すべきである。マルチボディパーツの場合、一致/重複するエッジが発見されない場合、自動修復アプリケーションが隣接ボディ上のエッジを(そのエッジが失われているエッジと同一線上にある限り)検索する。置換エッジ又は参照軸の候補が失われているエッジ又は軸と逆の向き(即ち方向)を有する場合、「合致整列」を反転させた状態で置換エッジ又は参照軸の候補を依然として検討することができる。これは、上記で説明した面/平面のシナリオについて行われるのと同様である。
【0049】
失われている円形エッジを検索する場合(シナリオE)、そのための方法は、シナリオAと同様であるが、ここでは、自動修復アプリケーションは、ボディの各円形エッジを失われているエッジのパラメータと比較する。円形エッジの軸は、失われている円形エッジの軸と一致すべきであり、半径及び中心点が一致すべきである。
【0050】
失われている頂点及び/又はrefPoint(参照点)を検索する場合(シナリオF)、そのための方法は、シナリオAと同様であるが、ここでは、点(x,y,z)の位置が一致するように、自動修復アプリケーションは、ボディの各頂点を失われている頂点と比較する。
【0051】
一部の高度な及び機械的な合致によって使用される一般面(非解析)を検索する場合(シナリオG)、そのための方法は、シナリオAと同様であるが、ここでは、自動修復アプリケーションは、ボディの各一般面を失われている面とそれらが一致するように比較する。
【0052】
一部の高度な及び機械的な合致によって使用される一般曲線(スプライン、楕円等)を検索する場合(シナリオH)、そのための方法は、シナリオAと同様であるが、ここでは、自動修復アプリケーションは、ボディの各一般曲線を失われている曲線とそれらが一致するように比較する。
【0053】
第2の例示的実施形態下では、大規模設計レビュー(LDR)構成で実行されるCADシステム内で使用するために合致/制約の自動修復が適応される。編集モード(「編集オプション」)では、LDRは、アセンブリの設計レビューを行うときに有用な機能を引き続き保ちながら、非常に大きいアセンブリを迅速に開く。LDRは、グラフィックスのみのデータを有する、即ちテッセレーションデータのみでボディを有さない構成部品又は参照をロードする。グラフィックスのみのボディ内の幾つかある側面において特に失われているボディ、面が原因で、LDRモードでは、自動修復機能は第1の実施形態下で存在しない課題を与える。LDRモード下での制約の自動修復は、編集オプションを有するLDRモードによってロードするときロードするのに長い時間、例えば約数秒かかり得る非常に大きいアセンブリ内の失われている合致を発見するときユーザの時間を節約するのに有益である。
【0054】
図5は、閲覧専用モード内での、即ちテッセレーションデータのみを有する失われているエンティティに起因する失敗した合致を示すCADプログラムのスクリーンショット100である。
図5は、幾つかのその後の例示的シナリオを説明するために使用する。アセンブリ510は、両端にある第1の端面511及び第2の端面512によって境界付けされる第1のほぼ円筒形の構造510と、両端にある第1の端面521及び第2の端面522によって境界付けされる第2のほぼ円筒形の構造520とを含む。第2の構造520は、第2の端面522と一致する円形の失われている面525を有する。
【0055】
第2の実施形態下では、失われている合致を置換する詳細は、その合致を含むフィーチャーの種類、例えば失われている面、失われているエッジ又は失われている頂点に依存する。
【0056】
第2の例示的実施形態の方法を示す
図6A~
図6Bのフローチャート600~601により、失われている合致が失われている面であるシナリオを示し、ユーザは、CADシステム(例えば、SOLIDWORKS)を実行しており、失われている制約が識別されており、そのジオメトリが決定される編集オプションを有するLDRモード内でアセンブリを開いている。ブロック610によって示すように、ユーザは、LDR自動修復アプリケーションを実行する。ユーザインタフェースは、第2の実施形態のLDR自動修復アプリケーションと、第1の実施形態の自動修復アプリケーションとの間の指定を行わなくてもよいが、代わりに、全般的な「失われている合致の修復」オプションをユーザに提供できることに留意すべきであり、ユーザがCAD環境をどのように構成したかの状況に応じて、CADシステムが適切な自動修復アプリケーションを起動する。ブロック615によって示すように、自動修復アプリケーションは、LDR/ビューと共に、アセンブリ内に含まれる失われている制約について、ビューワ構成部品テッセレーションデータを集める。
【0057】
ブロック620によって示すように、自動修復アプリケーションは、アセンブリ内の全てのテッセレーションボディについて、テッセレーション面データを集め、(ブロック622の第1の面から開始して)面のそれぞれを繰り返し処理し、ブロック625によって示すように各々を失われているエンティティの面の種類、例えばとりわけ平面、円筒面又は円錐面と比較する。ブロック630の「いいえ」の分岐の通り面の種類が一致しない場合及びブロック635の「いいえ」の分岐の通り全ての面を検査していない場合、ブロック637により集めた面の次の面を検査する。テッセレーションエンティティの種類及び失われているエンティティの一致を見出すことなく全ての面を検査した場合、ブロック635の「はい」の分岐の通りに処理が
図6Bのフローチャート601に進む。
【0058】
ブロック625に戻り、ブロック630の「はい」の分岐の通り、目下の繰り返し処理のテッセレーションエンティティの面の種類が一致する場合、ブロック640によって示すように、自動修復アプリケーションがテッセレーションエンティティのジオメトリデータを失われているエンティティのジオメトリデータと比較する。ブロック645のはいの分岐の通りジオメトリが一致する場合、ブロック650によって示すように、自動修復アプリケーションは、テッセレーションデータ内のジオメトリデータを使用して、失われている合致のためのジオメトリエンティティを作成する(「Adding Constraints Between Components Of A Computer-Aided Design (CAD) Model」という名称の米国特許第11,126,759号を参照されたい)。このステップのこの詳細は、失われているエンティティの面の種類に基づいて変わり得る。例えば、平面では、ジオメトリデータが同一平面内にあるだけでなく、テッセレーション面の境界ボックスが失われているエンティティの境界ボックスのものに含まれる場合、失われているエンティティの面を作成することができる。ブロック655によって示すように、合致内の失われているエンティティを作成したエンティティによって置換する。アセンブリがLDRモード内で保存されると、置換されたエンティティは、通常、(「ライトウェイト」)モード内でも置換され得ることに留意すべきである。
【0059】
上記で述べたように、テッセレーションエンティティ面の何れかのジオメトリデータと失われている面のジオメトリデータとの間で一致が失われている場合、この方法は、フローチャート601(
図6B)に従って進む。ブロック665によって示すように、ビューワ構成部品内の参照平面ごとに、自動修復アプリケーションは、失われているエンティティのジオメトリデータをテッセレーションエンティティ内のジオメトリデータと一致させようと試みる。ブロック670のはいの分岐の通り一致が見つかる場合、ブロック685によって示すように、自動修復アプリケーションは、参照平面テッセレーションデータ内のジオメトリデータを使用して、失われている合致のためのジオメトリエンティティを作成する。ブロック685によって示すように、自動修復アプリケーションは、合致内の失われているエンティティを作成したエンティティで置換する。
【0060】
ブロック675のはいの分岐によって示すように、ビューワ構成部品内の全ての参照平面を失われているエンティティに対して検査した場合、ブロック680によって示すように、自動修復アプリケーションは、失われている合致を自動修復することができない。
【0061】
上記の方法は、失われている合致のジオメトリに従って変えることができる。例えば、以下は、失われている合致がエッジである場合の代替的手法を要約する:
1.失われているエンティティが属するビューワ構成部品を識別する。
2.失われているエンティティのジオメトリデータを得る。
3.失われているエンティティの種類、例えば直線、円形、一般曲線又は軸を得る。
4.LDR/ビューにロードされるときのアセンブリのビューワ構成部品テッセレーションデータを得る。
5.失われている合致の種類が軸である場合、ビューワ構成部品の参照軸を繰り返し処理する。参照軸の1つのジオメトリが失われているエンティティのジオメトリと一致する場合にステップ8及び9に進み、さもなければステップ6から進む。
6.ボディのテッセレーションデータ及び面のテッセレーションデータを繰り返し処理する。面の全てのテッセレーションデータのエッジIDを記憶する。エッジIDを使用し、グラフィックス内の曲線の種類(線形又は円形)及びグラフィカルエンティティのテッセレーション点を得る。テッセレーション点を使用してグラフィカルエッジエンティティを作成する。
7.ステップ6のグラフィックスエッジエンティティのジオメトリの種類が失われているエンティティの種類と一致する場合、エッジのテッセレーションデータ内のジオメトリデータを(ステップ2からの)失われているエンティティのジオメトリデータと比較する。直線エッジを有する失われている合致の一例では、失われているエッジ及びテッセレーションエッジの両方のジオメトリデータが両方とも同じ方向及び同じ開始点又は終了点を有する場合、一致がある。
8.一致がある場合、テッセレーションデータ内のジオメトリデータを使用してジオメトリエンティティを作成する。
9.ステップ8で作成したエンティティを使用して失われている合致又は制約を置換する。面ID及びエッジIDのデータが閲覧専用又はグラフィックスデータ内に記憶されるため、作成されるエンティティは、分解データでも持続する。
10.一致が失われている場合、他のテッセレーション面を続ける。
11.全ての面の検索が不成功に終わる場合、合致は、修復されない。
【0062】
以下は、失われている合致が頂点である場合の代替的手法を要約する:
1.失われているエンティティが属するビューワ構成部品を識別する。
2.失われているエンティティのジオメトリデータを得る。
3.失われているエンティティの種類を点として設定する
4.LDR/ビューにロードされるときのアセンブリのビューワ構成部品テッセレーションデータを得る。
5.ボディのテッセレーションデータ及び面のテッセレーションデータを繰り返し処理する。面の全てのテッセレーションデータのエッジIDを記憶する。テッセレーション点に関する情報をグラフィカルエンティティに使用する。
6.テッセレーション点データをステップ2からの失われているエンティティのデータと比較する。
7.ステップ6で一致がある場合、テッセレーションデータ内のジオメトリデータを使用してジオメトリエンティティを作成する。
8.ステップ7で作成したエンティティを使用して失われている合致又は制約を置換する。
【0063】
上記で詳細に説明した機能を実行するための本システムは、
図7の概略図によってその一例を示すコンピュータを含み得る。システム700は、プロセッサ702と、記憶装置704と、上記で述べた機能を定めるソフトウェア708を記憶しているメモリ706と、入出力(I/O)装置710(又は周辺装置)と、システム700内の通信を可能にするローカルバス又はローカルインタフェース712とを含む。ローカルインタフェース712は、例えば、限定されないが、当技術分野で知られている1つ若しくは複数のバス又は他の有線接続若しくは無線接続であり得る。ローカルインタフェース712は、通信を可能にするためのコントローラ、バッファ(キャッシュ)、ドライバ、中継器及び受信機等、簡潔にするために省いてある更なる要素を有し得る。更にローカルインタフェース712は、上述の構成要素間の適切な通信を可能にするためのアドレス、制御及び/又はデータ接続を含み得る。
【0064】
プロセッサ702は、とりわけメモリ706内に記憶されるソフトウェアを実行するためのハードウェア装置である。プロセッサ702は、任意の特注又は市販のシングルコア又はマルチコアプロセッサ、中央処理装置(CPU)、本システム700に関連する幾つかのプロセッサ内の補助プロセッサ、半導体ベースの(マイクロチップ又はチップセット形式の)マイクロプロセッサ、マクロプロセッサ又は広くソフトウェア命令を実行するための任意の装置とすることができる。
【0065】
メモリ706は、揮発性メモリ要素(例えば、ランダムアクセスメモリ(DRAM、SRAM、SDRAM等のRAM))及び不揮発性メモリ要素(例えば、ROM、ハードドライブ、テープ、CDROM等)の何れか1つ又は組み合わせを含み得る。更に、メモリ706は、電子、磁気、光学及び/又は他の種類の記憶媒体を含み得る。メモリ706は、様々な構成要素が互いに離れて位置するが、プロセッサ702によってアクセスされ得る分散アーキテクチャを有し得ることに留意されたい。
【0066】
ソフトウェア708は、本発明に従ってシステム700によって実行される機能を定める。メモリ706内のソフトウェア708は、1つ又は複数の別個のプログラムを含むことができ、以下で説明するように、かかるプログラムのそれぞれは、システム700の論理機能を実装するための実行可能命令の順序付き一覧を含む。メモリ706は、オペレーティングシステム(O/S)720を含み得る。オペレーティングシステムは、システム700内のプログラムの実行を実質的に制御し、スケジューリング、入出力制御、ファイル及びデータ管理、メモリ管理並びに通信制御及び関連するサービスを提供する。
【0067】
I/O装置710は、入力装置、例えば、限定されないが、キーボード、マウス、スキャナ、マイクロフォン等を含み得る。更に、I/O装置710は、出力装置、例えば、限定されないが、プリンタ、ディスプレイ等も含み得る。最後に、I/O装置710は、入力及び出力の両方によって通信する装置、例えば、限定されないが、変調復調器(別の装置、システム又はネットワークにアクセスするためのモデム)、無線周波数(RF)又は他のトランシーバ、電話インタフェース、ブリッジ、ルータ又は他の装置を更に含み得る。
【0068】
システム700が動作中であるとき、メモリ706との間でデータを通信し、及び上記で説明したようにソフトウェア708に準じてシステム700の動作を概して制御するために、プロセッサ702は、メモリ706内に記憶されるソフトウェア708を実行するように構成される。
【0069】
システム700の機能が動作中であるとき、メモリ706との間でデータを通信し、及びソフトウェア708に準じてシステム700の動作を概して制御するために、プロセッサ702は、メモリ706内に記憶されるソフトウェア708を実行するように構成される。オペレーティングシステム720は、プロセッサ702によって読み出され、おそらくプロセッサ702内にバッファされ、その後、実行される。
【0070】
システム700がソフトウェア708内に実装される場合、システム700を実装するための命令は任意のコンピュータ関連装置、システム若しくは方法によって使用するための又はそれらに関連する任意のコンピュータ可読媒体上に記憶され得ることに留意すべきである。かかるコンピュータ可読媒体は、一部の実施形態ではメモリ706及び記憶装置704の何れか又は両方に対応し得る。本明細書に関連して、コンピュータ可読媒体は、コンピュータ関連装置、システム若しくは方法によって使用するための又はそれらに関連するコンピュータプログラムを含む又は記憶することができる電子、磁気、光学又は他の物理装置若しくは手段である。システムを実装するための命令は、プロセッサ又は他のかかる命令実行システム、機器若しくは装置によって使用するための又はそれらに関連する任意のコンピュータ可読媒体によって具体化することができる。例としてプロセッサ702に言及したが、かかる命令実行システム、機器又は装置は、一部の実施形態では命令実行システム、機器又は装置から命令を取り出し、その命令を実行することができる任意のコンピュータベースのシステム、プロセッサ含有システム又は他のシステムであり得る。本明細書に関連して、「コンピュータ可読媒体」は、プロセッサ又は他のかかる命令実行システム、機器若しくは装置によって使用するための又はそれらに関連するプログラムを記憶、通信、伝搬又は搬送することができる任意の手段であり得る。
【0071】
かかるコンピュータ可読媒体は、例えば、限定されないが、電子、磁気、光学、電磁、赤外線又は半導体のシステム、機器、装置又は伝搬媒体であり得る。コンピュータ可読媒体のより具体的な例(非網羅的一覧)は、1つ又は複数の配線を有する電気接続(電子)、ポータブルコンピュータディスケット(磁気)、ランダムアクセスメモリ(RAM)(電子)、読取専用メモリ(ROM)(電子)、消去プログラム可能読取専用メモリ(EPROM、EEPROM又はフラッシュメモリ)(電子)、光ファイバ(光学)及びポータブルコンパクトディスク読取専用メモリ(CDROM)(光学)を含む。プログラムは、例えば、紙又は他の媒体を光学的に走査することによって電子的に捕捉し、次いで必要に応じてコンパイル、解釈又は他に適切な方法で処理し、その後、コンピュータメモリ内に記憶することができるため、コンピュータ可読媒体はプログラムが印刷される紙又は更に別の適切な媒体であり得ることに留意されたい。
【0072】
システム700がハードウェアによって実装される代替的実施形態では、システム700は、当技術分野でそれぞれよく知られている以下の技術、即ちデータ信号に基づいて論理関数を実装するための論理ゲートを有するディスクリート論理回路、適切な組み合わせ論理ゲートを有する特定用途向け集積回路(ASIC)、プログラム可能ゲートアレイ(PGA)、書換可能ゲートアレイ(FPGA)等の何れか又は組み合わせを用いて実装することができる。
【0073】
本発明の範囲又は趣旨から逸脱することなく、本発明の構造に対する様々な修正形態及び改変形態がなされ得ることが当業者に明らかになる。上記の内容に鑑みて、本発明は、添付の特許請求の範囲及びその均等物の範囲に含まれることを条件として、本発明の修正形態及び改変形態を包含することを意図する。
【符号の説明】
【0074】
100 アセンブリ
110 プレート
112 円筒面
120 シャフト
122 円筒面
130 割線
132 代替面
150 制約
200 CADプログラム
210 モデル
220 構成部品リスト
230 合致グループフォルダ
240 ポップアップウィンドウ
245 自動修復オプション
510 アセンブリ
511 第1の端面
512 第2の端面
520 第2の構造
521 第1の端面
522 第2の端面
525 円形の失われている面
700 システム
702 プロセッサ
704 記憶装置
706 メモリ
708 ソフトウェア
710 入力/出力装置
712 ローカルバス
720 オペレーティングシステム
【外国語明細書】