(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022179418
(43)【公開日】2022-12-02
(54)【発明の名称】材料の押し出し検出方法
(51)【国際特許分類】
G06F 30/20 20200101AFI20221125BHJP
G06F 111/08 20200101ALN20221125BHJP
【FI】
G06F30/20
G06F111:08
【審査請求】未請求
【請求項の数】13
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2022081420
(22)【出願日】2022-05-18
(31)【優先権主張番号】21305673
(32)【優先日】2021-05-21
(33)【優先権主張国・地域又は機関】EP
(71)【出願人】
【識別番号】500102435
【氏名又は名称】ダッソー システムズ
【氏名又は名称原語表記】DASSAULT SYSTEMES
(74)【代理人】
【識別番号】110000752
【氏名又は名称】弁理士法人朝日特許事務所
(72)【発明者】
【氏名】ルーカス ブリフォール
(72)【発明者】
【氏名】アリアン ジョルダン
【テーマコード(参考)】
5B146
【Fターム(参考)】
5B146DC04
5B146DJ11
5B146EA03
5B146EA09
5B146EA18
5B146EC08
(57)【要約】 (修正有)
【課題】機械部品のCADの3Dモデルを処理するための改良されたソリューションを構成する、材料分布を有する機械部品のある部分における材料の押し出し検出のためのコンピュータ実装方法、システム及びプログラムを提供する。
【解決手段】方法は、機械部品のその部分の外面を表すスキン部分を含む当該機械部品のCADの3Dモデルと、押し出し軸310、320を提供することと、スキン部分の面積に対する、スキン部分の正投影の面積の比率を計算することと、当該比率及び比率閾値に基づいて材料分布が押し出しとして配置されているかどうかを決定することと、を含み、当該比率が比率閾値よりも低い場合に当該外面は押し出し面であると決定される。
【選択図】
図6
【特許請求の範囲】
【請求項1】
材料分布を有する機械部品のある部分における材料の押し出し検出のためのコンピュータ実装方法であって、
・前記機械部品の前記部分の外面を表すスキン部分を含む、前記機械部品のコンピュータ支援設計(CAD)の3Dモデルと、
・押し出し軸と
を提供することと、
前記スキン部分の面積(AS)に対する、前記押し出し軸に直交する平面上の前記スキン部分の正投影の面積(Sπ)の比率(RN)を計算することと、
前記比率及び比率閾値に基づいて、前記外面が押し出し面であるかどうかを決定することによって、前記材料分布が押し出しとして配置されているかどうかを決定すること
を含み、
前記比率が前記比率閾値よりも低い場合、前記外面は押し出し面であると決定され、前記比率が前記比率閾値よりも低くない場合、前記外面は押し出し面ではないと決定される、
方法。
【請求項2】
前記計算することはモンテカルロ法を実行することを含む、請求項1に記載の方法。
【請求項3】
前記モンテカルロ法は、
境界ドメインを提供すること、
確率分布に従って前記境界ドメインの点をサンプリングすること、および
サンプリングされた点ごとに、サンプル点を通過し、かつ、前記押し出し軸に平行な線がそれぞれ前記スキン部分と交差するかどうかを決定すること
を含み、
前記スキン部分の正投影の面積は、前記スキン部分と交差する線の期待値
【数1】
の推定値(P
N)と、前記境界ドメインの面積(μ(Ω))との積によってプロキシされる、請求項2に記載の方法。
【請求項4】
前記スキン部分と交差する線の期待値の推定値は、各サンプリングされた点における前記スキン部分と線の交差を表す交差関数(f
ρ)の平均値
【数2】
に等しい、請求項3に記載の方法。
【請求項5】
前記スキン部分の正投影を算出することをさらに含み、
前記境界ドメインが、前記押し出し軸に直交する平面上に存在し、前記スキン部分の正投影を包含し、
前記決定することは、サンプリングされた点ごとに、前記サンプリングされた点が前記境界ドメイン上で前記スキン部分の前記正投影の内側にあるかどうかを決定することを含む、請求項3又は4に記載の方法。
【請求項6】
前記確率分布は狭義で正の確率密度を有する、請求項3から5のいずれか一項に記載の方法。
【請求項7】
前記交差関数は、前記確率密度で割った指示関数(f)であり、前記指示関数は、前記境界ドメイン(Ω)上のある位置(ω)に関して、前記位置が前記スキン部分の正投影に属しているかどうかを示す、請求項6に記載の方法。
【請求項8】
前記押し出し軸を提供することは、前記スキン部分の法線の候補押し出し軸に対する非直交性にペナルティを課す目的関数を最適化することによって当該押し出し軸を決定することを含み、
前記ペナルティは、前記目的関数の値が当該目的関数の値の閾値よりも低くなければならないという基準に基づく、請求項1から7のいずれか一項に記載の方法。
【請求項9】
前記3Dモデルは離散要素を有する3Dメッシュであり、
前記比率閾値は、任意であって、前記3Dメッシュの離散要素の数に反比例する、請求項1から8のいずれか一項に記載の方法。
【請求項10】
前記押し出し軸に基づいて押し出し輪郭を算出することをさらに含む、請求項1から9のいずれか一項に記載の方法。
【請求項11】
請求項1から10の何れか一項に記載の方法を実行するための命令を含むコンピュータプログラム。
【請求項12】
請求項11に記載のコンピュータプログラムを記録したコンピュータ可読記憶媒体。
【請求項13】
請求項11に記載のコンピュータプログラムを記録したメモリに結合されたプロセッサを備えるシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、コンピュータプログラム及びシステムの分野に関し、より具体的には、機械部品のある部分における材料の押し出し検出のための方法、システム、及びプログラムに関する。
【背景技術】
【0002】
市場には、オブジェクトの設計、エンジニアリング、製造用に、多数のシステム及びプログラムが提供されている。CADは、コンピュータ支援設計(Computer-Aided Design)の頭字語であり、例えば、オブジェクトを設計するためのソフトウェアソリューションに関する。CAEは、コンピュータ支援エンジニアリング(Computer-Aided Engineering)の頭字語であり、例えば、将来の製品の物理的挙動をシミュレーションするためのソフトウェアソリューションに関する。CAMはコンピュータ支援製造(Computer-Aided Manufacturing)の頭字語であり、例えば、製造プロセスや動作を定義するためのソフトウェアソリューションに関する。このようなコンピュータ支援設計システムでは、技術の効率の点でグラフィカルユーザインターフェイスが重要な役割を果たす。これらの技術は、製品ライフサイクル管理(PLM)システム内に組み込まれ得る。PLMとは、企業が製品データを共有し、共通の処理を適用し、企業知識を活用して、拡張エンタープライズの概念にわたって、コンセプトから生涯にわたる製品の開発に役立てることを支援するビジネス戦略のことをいう。ダッソー・システムズが(CATIA、ENOVIA、DELMIAの商標のもと)提供するPLMソリューションでは、製品エンジニアリングの知識を編成するエンジニアリングハブと、製造エンジニアリングの知識を管理する製造ハブと、エンジニアリングハブ及び製造ハブへの企業の統合及び接続とを可能にする企業ハブが提供される。これらを合わせたシステムは、製品定義、製造準備、生産、及びサービスの最適化を促進するダイナミックかつ知識ベースの製品作成及び意思決定サポートを可能にするために、製品、プロセス、リソースをリンクするオープンオブジェクトモデルを提供する。
【0003】
これらのシステム及びプログラムの中には、機械部品の特徴を(例えば自動的に)検出するために、機械部品のCADの3Dモデルを処理する機能性を提供するものがある。
【0004】
「Schnabel et al., “Efficient RANSAC for Point-Cloud Shape Detection”, Computer Graphics Forum, 26(2), 2007, pp. 214-226」では、組織化されていない点群において基本的な形状を検出するための自動ランダムサンプルコンセンサス(RANSAC)アルゴリズムを提示している。このアルゴリズムは、点群を、固有な形状と残りの点の集合から構成される簡潔なハイブリッド構造に分解する。検出された各形状は、対応する点集合のプロキシとして機能する。このアルゴリズムは、ランダムサンプリングに基づいて、平面、球、円柱、円錐、及びトーラスを検出する。
【0005】
「Wang et al., “A Framework for 3D Model Reconstruction in Reverse Engineering”, Computers & Industrial Engineering, 63(4), 2012, pp. 1189-1200」は、3Dモデル再構築のフレームワークを示す。4つの主要素で構成されるこのフレームワークは、既存オブジェクトの表面メッシュから幾何学モデルを再構築するための体系的なソリューションを提供する。まず、入力メッシュを前処理してノイズを除去する。次に、メッシュをセグメントに分割し、個々の幾何学特徴パッチを取得する。そして、2つの統合ソリューション、つまりソリッドフィーチャーベースの戦略とサーフェスフィーチャーベースの戦略を利用して、セグメント化されたフィーチャーパッチからプリミティブフィーチャーを再構築する。最後に、ソリッドブーリアン演算やサーフェストリミング演算などのモデリング演算を実行して、プリミティブフィーチャーを最終モデルに組み立てる。
【発明の概要】
【発明が解決しようとする課題】
【0006】
こういった背景の中で、機械部品のCADの3Dモデルを処理するための改良されたソリューションが依然として必要とされている。
【課題を解決するための手段】
【0007】
したがって、材料分布を有する機械部品のある部分における材料の押し出し検出のためのコンピュータ実装方法を提供する。本方法は、当該機械部品のその部分の外面を表すスキン部分を含む、当該機械部品のコンピュータ支援設計3Dモデルと、押し出し軸を提供することを含む。本方法はさらに、当該スキン部分の面積に対する、当該押し出し軸に直交する平面上のスキン部分の正投影の面積の比率を計算することを含む。本方法は、当該比率及び比率閾値に基づいて当該外面が押し出し面であるかどうかを決定することによって、材料分布が押し出しとして配置されているかどうかを決定することをさらに含む。当該比率が比率閾値よりも低い場合、外面は押し出し面であると決定され、当該比率が比率閾値よりも低くない場合、外面は押し出し面ではないと決定される。
【0008】
本方法は、以下のうちの1つ以上を含んでもよい。
上記計算することは、モンテカルロ法を実行することを含む。
当該モンテカルロ法は以下を含む。
・境界ドメインを提供すること、
・確率分布に従って境界ドメインの点をサンプリングすること、
・サンプリングされた点ごとに、サンプル点を通過し、かつ、押し出し軸に平行な線がそれぞれスキン部分と交差するかどうかを決定すること、
スキン部分の正投影の面積は、
・スキン部分と交差する線の期待値の推定値と、
・境界ドメインの面積との積によってプロキシされる
こと。
上記スキン部分と交差する線の期待値の推定値は、各サンプリング点におけるスキン部分と線の交差を表す交差関数の平均値に等しいこと。
本方法は、スキン部分の正投影を算出することを含み、境界ドメインは、押し出し軸に直交する平面上にあり、スキン部分の正投影を包含し、上記決定することは、サンプリングされた点が境界ドメイン上のスキン部分の当該投影の内側にあるかどうかをサンプリングされた点ごとに決定することを含んでもよい。
ここで、
・確率分布は、狭義で正の確率密度を有してもよい。
・交差関数は、指示関数を確率密度で割ったものであり、指示関数は、境界ドメイン上のある位置に関して、その位置がスキン部分の正投影に属しているかどうかを示すものであってもよい。
前記押し出し軸を提供することは、目的関数の値が目的関数の値の閾値よりも低くなければならないという基準に基づいて、スキン部分の法線の候補押し出し軸に対する非直交性にペナルティを課す目的関数を最適化することによって、押し出し軸を決定することを含んでもよい。
3Dモデルは離散要素を有する3Dメッシュであり、比率閾値は任意で3Dメッシュの離散要素の数に反比例すること。
前記押し出し軸に基づいて押し出し輪郭を算出すること。
【0009】
本方法を実行するための命令を含むコンピュータプログラムがさらに提供される。
【0010】
さらに、当該コンピュータプログラムを記録したコンピュータ可読記憶媒体が提供される。
【0011】
さらに、当該コンピュータプログラムを記録したメモリに結合されたプロセッサを備えるシステムが提供される。
【図面の簡単な説明】
【0012】
添付の図面を参照して非限定的な例を説明する。
【0013】
【
図1】本システムのグラフィカルユーザインタフェースの一例を示す。
【発明を実施するための形態】
【0014】
本明細書において、材料分布を有する機械部品のある部分における材料の押し出し検出のためのコンピュータ実装方法を提供する。本方法は、当該機械部品のコンピュータ支援設計(CAD)3Dモデルを提供することを含む。3Dモデルはスキン部分を含む。スキン部分は、上記機械部品の当該部分の外面を表す。本方法はさらに、押し出し軸を提供することを含む。本方法は、スキン部分の面積に対する、当該押し出し軸に直交する平面上のスキン部分の正投影の面積の比率を計算することをさらに含む。本方法は、当該比率及び比率閾値に基づいて外面が押し出し面であるかどうかを決定することによって、材料分布が押し出しとして配置されているかどうかを決定することをさらに含む。当該比率が比率閾値よりも低い場合、外面は押し出し面であると決定され、当該比率が比率閾値よりも低くない場合、外面は押し出し面ではないと決定される。
【0015】
本発明は、例えば機械部品のフィーチャーを検出するために、当該機械部品のCADの3Dモデルを処理するための改良されたソリューションを構成する。実際に、本方法は、機械部品の各3Dモデルを分析することによって、機械部品のある部分における押し出し検出の試験を提供する。本方法は、押し出しの検出を可能にし、すなわち、前記部分の材料分布が、その外面が押し出し面であるかどうかを検出することによって押し出しの検出を可能にする。特に、本方法は、所定の押し出し軸に対して押し出しが存在することの検証を可能にする。
【0016】
押し出しの検出は、CADの製造分野、つまり設計プロセス及び製造プロセスを支援するソフトウェアソリューションに特に関係があり、その目的は、設計されるCADの3Dモデルに対応する物理的な製品を製造することである。こういった背景の中で、CADの3Dモデルは、設計の下流で製造され得る製造品を表す。したがって、本方法は、そのような設計及び/又は製造プロセスの一部であってよい。本方法は、例えば、そのような設計及び/又は製造プロセス内でCADフィーチャーを取得するステップを構成してもよく、又は、当該ステップの一部であってもよく、当該CADフィーチャーを取得するステップは、各CADフィーチャーに関するジオメトリーの検出及び検出されたジオメトリーのパラメータ化を含む。例えば、CADフィーチャーを取得するステップは、フィーチャーツリー構築のステップであってよい。このステップ内で、本方法は、例えば他の方法が他の形状を検出し得る一方で、押し出し面を検出する。次に、本方法は、検出された押し出し面をパラメータ化することをさらに含んでよい。実際に、本方法が行う各押し出し面の検出により、前記押し出し面を表すCADの3Dモデルの各スキン部分のパラメータ化が可能になる。パラメータ化により、CADモデルの操作/編集が容易になる。本方法を含むCADフィーチャーを取得するステップの後に、パラメータ化及び検出されたジオメトリー/CADフィーチャー、特に本方法で検出される押し出し面を使用する設計及び/又は製造ステップがさらに続いてもよい。これらの追加ステップには、さらなる設計及び/又は編集動作、テスト、シミュレーション及び/又は製造が含まれてよい。言い換えれば、本方法は、次に続く製造CADプロセスのステップ(例えば、さらなる設計/編集動作、テスト、シミュレーション及び/又は製造)での使用のためにCADモデルを適応するステップで、製造CADプロセス内に含まれてよい。本方法は、本方法によって検出される押し出し面を使用する他の多くの用途に含まれてよい。
【0017】
このように、本方法は、CADの3Dモデルの押し出し面の処理(例えば編集)を改良し、これにより、例えば、製造観点からの準備が可能になる。つまり、本方法が提供する押し出し面の検出及び任意のインスタンス化は、製造目的で使用してもよい。実際に、一部の製造プロセスは、主に押し出し面で構成されるオブジェクトを具体的に構築するように設計されている(例えば、押し出しプロセス)。例えば、本方法によって検出された押し出し面は、下流の製造プロセス(例えば機械加工、成形)の特徴を考慮して編集してよい。これにより、製造機(金型又は機械加工ツールなど)の準備や設定が容易になる。このように、本方法は、CADモデルによって表される製品の製造を改良し、製造プロセスの生産性を向上させる。
【0018】
上述の通り、押し出し面の検出により、検出された押し出し面のパラメータ化が可能になる。したがって、本方法を使用して、CADモデル又はその少なくとも一部をパラメータ化して、パラメータ化されたCADモデル又はその一部を取得してよい。「パラメータ化」とは、CADモデル(又はCADモデルの少なくとも一部、例えばスキン部分)に、パラメトリック方程式又はパラメトリック関数で表され、よって1つ以上のパラメータが関わる1つの3D幾何学オブジェクトを当てはめ得ることを意味する。1つ以上のパラメータはそれぞれ、各連続範囲内の値を取ってよい。パラメータ化された3D幾何学オブジェクトは、離散表現(点群、メッシュ、ボクセル表現など)といった非パラメータ化3D幾何学オブジェクトとは対照的に、簡単な操作及び/又は編集能力及び/又はメモリへの効率的な保存を可能にする。例えば、押し出し面は、正準的なプリミティブ(例えば、平行六面体又は円柱)に当てはめてもよく、又は、他の適応幾何学ツール、例えばNURBSなどの非正準的なパラメータ化表面でパラメータ化してもよい。以下で説明する用途を含む本方法の任意の用途において、CADの3Dモデルは、測定されるCADの3Dモデル(すなわち、以下で説明するように機械部品の物理的測定から得られるCADモデル)であってよい。このような場合、CADの3Dモデルに対して押し出し検出を実行することにより、(生の)測定されたCADの3Dモデルを処理でき、最終的には(押し出し面が検出されると)測定されたCADの3Dモデルを編集できる。よって、本方法を使用して、一般に、機械部品の測定部分に対して押し出し面を検出し、次にそれを編集可能なデータ構造に処理してよい。
【0019】
押し出し面は、製造の観点から一貫した表面である。つまり、機械部品の該当部分は、現実世界では、それぞれの製造プロセス(例えば、成形、積層造形、又は機械加工)を必要とする、又は当該製造プロセスに適応したそれぞれのジオメトリー、例として、(例えば製造の制約上好ましい)加工経路又は(例えば製造の制約上)好ましい金型特性に対応するジオメトリーを有する。
【0020】
一例では、機械部品は成形部品であってよく、その部分は成形によって製造されてよい。このような場合、上記の通り本方法によって可能となる当該部分を表す検出された押し出し面のパラメータ化は、パラメータ化された押し出し面へのドラフト演算子の適用を可能にする。CAD製造から公知の通り、ドラフト演算子は押し出しフィーチャーに適用可能であり、ドラフト演算子の適用により、押し出し軸に対してドラフト角度を定義して、押し出し面に円錐形状を与えることができる。設計時に得られたこの円錐形状を保有し続ける対応部分の成形プロセス中において、円錐形状は、型からの当該部分の引き抜き(すなわち、離型/型抜き)を容易にする。つまり、押し出し軸に沿って型抜きを容易にするために、押し出し面に効率的にドラフトを作成(垂直面にわずかな角度を適用)することができる。したがって、本方法は、本方法によって実行される押し出し検出の下流に編集ステップを含む、成形部品の設計及び/又は製造の製造CADプロセスに含まれてよい。編集ステップは、下流の成形プロセスの対応する型の制約を満たすため、本方法によって検出された押し出し面へドラフト演算子を適用すること含んでよく、それにより、成形部分の離型/型抜き/引き抜きを容易にする。
【0021】
一例では、機械部品及びその部分は、積層造形によって製造されてもよい。このような場合、上記の通り本方法によって可能となる当該部分を表す検出された押し出し面のパラメータ化は、本方法によって検出された押し出し面の押し出し軸に沿った3D印刷経路の定義を可能にする。一例では、押し出し軸は、最適な3D印刷経路又は3D印刷配向であり得る。したがって、本方法は、積層造形によって製造される機械部品を設計及び/又は製造する製造CADプロセスに含まれてよい。このプロセスは、本方法によって検出された押し出し面の押し出し軸に沿った印刷経路を、その表面のパラメータ化に基づいて、定義することを含んでよい。さらに、このプロセスは、定義された印刷経路に従って積層造形を実行する3Dプリンタの設定を定義することをさらに含んでよい(例えば押し出しプロセス)。
【0022】
一例では、機械部品は機械加工される部品であり得、その部分は機械加工(例えば、切断)によって製造されてよい。このような場合、上記の通り本方法によって可能となる当該部分を表す検出された押し出し面のパラメータ化は、本方法によって検出された押し出し面の押し出し軸に沿った機械加工ツール(例えば、切断工具)経路の定義を可能にする。したがって、本方法は、機械加工によって製造される機械部品を設計及び/又は製造する製造CADプロセスに含まれてよい。このプロセスは、本方法によって検出された押し出し面の押し出し軸に沿った機械加工ツール経路を、その表面のパラメータ化に基づいて、定義することを含んでよい。経路の定義には、例えば、機械加工ツールで平滑化すべき鋭利部分など、機械部品の押し出し成形部分の切断すべき部分の識別が含まれてよい。このプロセスは、定義された経路に従って機械加工を実行する機械加工ツールの設定を定義することをさらに含んでよい。本方法で検出される押し出し面のCAD製造での使用について議論してきた。ここで、これらの検出される押し出し面のCAD製造又は別の背景にも関連し得る他の用途について説明する。
【0023】
第1の用途では、本方法で検出される押し出し面をB-repの構築で使用してよい。B-rep構築については、参考文献「P. Benko et al., “Algorithm for reverse engineering boundary representation models”, Computer‐Aided Design, 33, 2001, pp. 839-851」、2019年9月4日にウェブサイトHabr.comに掲載された「A. Tumanin, “Polygonal Mesh to B‐Rep Solid Conversion: Algorithm Details and C++ Code Samples」、及び、「Beniere et al., “Recovering Primitives in 3D CAD meshes”, Proceedings of SPIE, 2011」で説明されており、これら参考文献はすべて参照により本明細書に組み込まれる。それ自体が公知の通り、B-repは、接続された境界表面要素の集合である(例えば、公知の通り、STEPファイル形式)。B-rep構築には、本方法で検出される押し出し面に表面を当てはめ、押し出しに関するデータ(例えば押し出し軸及び/又は押し出し輪郭)を用いて当該表面を境界づける(つまり、B-repの位相データ、つまり「~は~に境界づけられる」という関係を決定する)ことが含まれてもよい。この第1の用途によれば、本押し出し検出方法は、機械部品を表すCADの3Dモデルを境界表現に変換するためのコンピュータ実装プロセスに含まれてよい。
【0024】
第2の用途では、本方法で検出される押し出し面をフィーチャーツリーの構築に使用してよい。この第2の用途には、検出される押し出しを使用してCADの3Dモデルのフィーチャーツリー表現を構築することが含まれる。実際に、フィーチャ―ツリーの構築は、検出された各押し出しをそれぞれのCADの押し出しフィーチャーとしてパラメータ化することを含み、次いで、パラメータ化された各CAD押し出しフィーチャーをフィーチャーツリーに追加してよい。したがって、本押し出し検出方法は、機械部品を表すCADの3Dモデルからフィーチャーツリーを構築するためのコンピュータ実装プロセスに含まれてよい。フィーチャーツリーの構築プロセスには、次のものが含まれてよい。
本方法を1回以上適用すること(各適用ごとに検出された各押し出し面がもたらされる)、及び、任意で、1つ以上の他のジオメトリー検出方法を適用すること(各適用ごとに検出された他のジオメトリーがそれぞれもたらされる)こと。
本方法によって検出された各押し出し面をCAD押し出しフィーチャーとしてパラメータ化すること、及び、任意で、検出された他の各ジオメトリーを対応CADフィーチャーとしてパラメータ化すること。
パラメータ化された各CADフィーチャーを機械部品のフィーチャーツリーに加えること。
【0025】
第3の用途では、本方法によって検出される押し出し面を、再メッシュ化(例えば、提供されるCADの3Dモデルが3Dメッシュである場合)又は再サンプリング(例えば、提供されるCADの3Dモデルが3D点群の場合)に使用する。第3の用途によれば、スキン部分は上記のようにパラメータ化してよく、これによりCADの3Dモデルの再メッシュ化又は再サンプリングが可能になる。この再メッシュ化/再サンプリングは、CADの3Dモデルのノイズを除去する(例えば、特に3D点群の場合外れ値の点を削除する、又は、特に3Dメッシュの場合、CADモデルの外面を平滑化する)ために使用してよい。追加的又は代替的に、再メッシュ化/再サンプリングを使用して3Dメッシュを効率的にテッセレーションしてもよく、つまり、面の数を最小限に抑えてメッシュの(ストレージにおける)重さを最適化しつつ正確な表面への最適離散化距離を確保するためにメッシュの面サイズを対応表面の曲率に適応させてもよい。例えば、再メッシュ化/再サンプリングを使用して、メッシュの重さを最小限に抑えながら、正確な表面までの距離を十分に短くするようにする(例えば、この場合、表面への近さは制約と見なされ、最適化するものではない)。したがって、本押し出し検出方法は、機械部品を表す3Dメッシュ(又は3D点群)であるCADの3Dモデルを再メッシュ化(又は再サンプリング)するためのコンピュータ実装プロセスに含まれてよい。
【0026】
本押し出し検出方法によって検出される表面といった押し出し面は、例えば3D変形、3Dレンダリング(幾何学属性/材料属性の算出、オクルージョンカリング、影決定)、3Dアニメーション及び/又は形状圧縮といった、他の用途で使用されてもよい。これらの用途については、参考文献「Kaiser A. et al., “A survey of Simple Geometric Primitives Detection Methods for Captured 3D data”, Computer Graphics Forum, 2018」で議論されており、当該参考文献は参照により本明細書に組み込まれる。
【0027】
さらに、本方法は、上記の通り、多くの用途で有用となり得る押し出し検出を行うだけでなく、押し出し面の検出の改善されたソリューションを構成する。実際に、本方法は、上記スキン部分の面積に対する、押し出し軸に直交する平面上のスキン部分の正投影の面積の比率を計算することをさらに含む。計算される比率は、前記スキン部分の面積に対する投影スキン部分の面積の相対サイズ、すなわち、スキン部分の影の相対サイズを提供する。スキン部分の影の相対サイズは、材料分布が押し出しとしての配置に近い場合、つまりスキン部分が平面にほぼ直交している場合に小さくなる傾向がある。つまり、本方法のように当該比率を使用することは、押し出しを検出するのに特に効率的かつロバストな方法である。さらに、計算される比率は、それぞれが位置パラメータにのみ依存する2つの積分量(すなわち、スキン部分の正投影の面積及びスキン部分の面積)の比率に対応する。したがって、計算される比率は、提供されるCADモデルのノイズ(例えば、特に3D点群である場合の外れ値の点によるノイズ、又は、特に3Dメッシュである場合のCADモデル外面の非平滑性によるノイズ)に対してよりロバストとなる。
【0028】
さらに、本方法は、一般的な押し出し輪郭を有する押し出し面の検出を可能にする。このような一例では、材料分布は、押し出しの一般的な輪郭に従って、押し出し軸の周りに配置される。一般的な輪郭は、正準的な(幾何学)プリミティブ又は非正準的な(幾何学)プリミティブであってよい。正準的なプリミティブ(円や正多角形など)と違って、非正準的なプリミティブは、単純なプリミティブによる当てはめ又はパラメータ化ではなく、適切なツール(例えばNURBSなど)を使用してパラメータ化してもよい。これに加えて、上記比率を計算することは、スキン部分が単純に連結していない場合(例えば、スキン部分に穴がある場合)、又はモデルが一般的な離散幾何学表現である場合(例えば、均一又は不均一、三角形又は他のタイプのメッシュ)に適用可能であるため、本方法は押し出し面検出の改善されたソリューションを構成する。したがって、押し出し検出は、製造CADプロセスにおいて、機械部品の一般的なCADモデルの押し出し(非正準的な輪郭から取得される押し出しを含む)を検出するために適用可能であり、それにより改善されたソリューションを形成する。
【0029】
本方法はコンピュータに実装される。つまり、方法のステップ(又は実質的にすべてのステップ)が、少なくとも1台のコンピュータ又は任意のシステムによって実行されることを意味する。したがって、本方法のステップは、場合により完全自動で、又は半自動で、コンピュータによって実行される。一例では、本方法の少なくともいくつかのステップの始動は、ユーザとコンピュータのインタラクションを介して実行されてもよい。必要なユーザとコンピュータのインタラクションのレベルは、予測される自動化のレベルに依存し、ユーザの希望を実施する必要性とのバランスが取られてもよい。一例では、このレベルはユーザ定義及び/又は事前に定義されてもよい。
【0030】
例えば、機械部品のCADの3Dモデルを提供するステップは、ユーザの動作によって始動されてよい。例えば、動作には、ユーザによるCADの3Dモデルのインポート、ロード又は作成が含まれてよい。同様に、押し出し軸を提供するステップは、ユーザの動作によって始動されてよい。例えば、当該動作には、(参照)座標系の軸を選択すること、ロードされた部品の線、セグメント若しくはエッジを選択すること、又は、押し出し軸を定義するデータを挿入することが含まれてよい。
【0031】
本方法をコンピュータが実施する典型的な例は、この目的に適応したシステムで本方法を実行することである。システムは、メモリ及びグラフィカルユーザインターフェース(GUI)に結合したプロセッサを含んでもよく、メモリは、本方法を実行するための命令を含むコンピュータプログラムを記録している。メモリはデータベースを格納してもよい。メモリは、そのような格納に適応した任意のハードウェアであり、場合により物理的に異なる部品をいくつか含む(例えば、プログラム用に1つ、場合によりデータベース用に1つ)。
【0032】
本方法は通常、CADの3Dモデルなどのモデル化オブジェクトを操作する。モデル化オブジェクトは、例えばデータベース内に保存されているデータによって定義される任意のオブジェクトである。ひいては、「モデル化オブジェクト」という表現は、データ自体を示す。システムの種類に応じて、モデル化オブジェクトはさまざまな種類のデータによって定義されてもよい。システムは、実際に、CADシステム、CAEシステム、CAMシステム、PDMシステム、及び/又はPLMシステムの任意の組み合わせであってよい。これらの様々なシステムで、モデル化オブジェクトは対応するデータによって定義される。したがって、CADオブジェクト、PLMオブジェクト、PDMオブジェクト、CAEオブジェクト、CAMオブジェクト、CADデータ、PLMデータ、PDMデータ、CAMデータ、CAEデータが議論されてよい。ただし、モデル化オブジェクトはこれらのシステムの任意の組み合わせに対応するデータによって定義されてよいため、これらのシステムは他のシステムに対して排他的ではない。したがって、システムは、CAD及びPLMシステムの両方であり得、これは、以下で説明するそのようなシステムの定義から明らかとなる。
【0033】
CADシステムという用語は、CATIAといった、モデル化オブジェクトのグラフィック表現に基づいて、少なくともモデル化オブジェクトを設計するために適合されたシステムをさらに意味する。この場合、モデル化オブジェクトを定義するデータは、モデル化オブジェクトの表現を可能にするデータを含む。CADシステムは、例えば、エッジ又は線を使用し、特定の場合には面又は表面も用いた、CADのモデル化オブジェクトを表現したものを提供し得る。線、エッジ、又は表面は、さまざまな方法で表されてもよく、非一様有理Bスプライン(NURBS)が例として挙げられる。具体的には、CADファイルには仕様が含まれており、そこからジオメトリーが生成されてもよく、これにより、表現するものの生成が可能になる。モデル化オブジェクトの仕様は、単一のCADファイル又は複数のCADファイルに保存されてもよい。CADシステムでモデル化オブジェクトを表すファイルの一般的なサイズは、1部品ごとに1メガバイトの範囲である。また、モデル化オブジェクトは通常、数千の部品のアセンブリであり得る。
【0034】
CADの文脈では、モデル化オブジェクトは通常、部品や部品のアセンブリといった製品、又は場合により製品のアセンブリを表す、3Dのモデル化オブジェクト又は3Dモデルであってよい。「3Dモデル化オブジェクト」又は「3Dモデル」とは、3D表現を可能にするデータによってモデル化されるオブジェクトを意味する。3D表現により、すべての角度から部品を見ることが可能になる。例えば、3Dモデル化オブジェクトは、3Dで表現されている場合、そのいずれかの軸、又は、表示されている画面の任意の軸をもとに、処理及び回転してもよい。よって、特に、3Dにモデル化されていない2Dアイコンは除外される。3D表現の表示により、設計が容易になる(つまり、設計者が統計的にタスクを実行する速度が向上する)。製品の設計は製造プロセスの一部であるため、これにより産業界での製造プロセスがスピードアップする。
【0035】
3Dモデル化オブジェクト又は3Dモデルは、例えばCADソフトウェアソリューション又はCADシステムによって現実世界で製造される製品の仮想設計が完成後、当該製品のジオメトリーを表してもよく、当該製品は、(例えば機械)部品又は部品のアセンブリ(部品のアセンブリは、本方法の観点から部品自体と見なされてよいため、又は、本方法はアセンブリの各部品に独立して適用されてよいため、部品と部品のアセンブリは同等)、又は、より一般的には、任意の剛体のアセンブリ(例えば、可動機構)が例として挙げられる。CADソフトウェアソリューションにより、航空宇宙、建築、建設、消費財、ハイテク機器、産業機器、輸送、海洋、及び/又は沖合の石油/ガス生産又は輸送など、さまざまな産業分野で製品を設計することが可能になる。本方法で設計される3Dモデル化オブジェクトは、任意の機械部品であり得る産業製品であってよく、例えば、陸上車両の部品(例えば、自動車及び軽トラック機器、レーシングカー、オートバイ、トラック及びモーター機器、トラック及びバス、列車などを含む)、航空車両の部品(例えば、機体機器、航空宇宙機器、推進機器、防衛製品、航空機器、宇宙機器などを含む)、海上車両の部品(海軍機器、商用船、沖合機器、ヨット及び作業船、船舶機器などを含む)、一般的な機械部品(例えば、産業用製造機械、重機用機械又は機器、設置機器、産業用機器製品、金属加工製品、タイヤ製造製品などを含む)、電気機械又は電子部品(例えば、家電機器、セキュリティ及び/又は制御及び/又は計測製品、コンピューティング及び通信機器、半導体、医療装置及び機器などを含む)、消費財(例えば、家具、家庭及び庭用製品、レジャー用品、ファッション製品、耐久消費財小売業者の製品、織物類小売業者の製品などを含む)、パッケージ(例えば、食品及び飲料及びタバコ、美容及びパーソナルケア、家庭用品の包装などを含む)である。
【0036】
3Dモデルはいずれも、例えば機械部品などの現実世界のオブジェクトといった、3D現実世界のオブジェクトの離散幾何学表現を形成し得る。離散幾何学表現とは、データ片の離散的な集合を含むデータ構造である。各データ片は、同等に離散要素と呼ばれてもよい。各データ片は、3D空間に配置されるそれぞれの幾何学実体を表す。幾何学実体はそれぞれ、3Dオブジェクトのそれぞれの位置(言い換えると、3Dオブジェクトによって表されるソリッドを構成する材料のそれぞれの部分)を表す。幾何学実体の集合体(つまり、結合又は並置)は、全体で、3Dオブジェクトの少なくとも一部を表す。離散幾何学表現は、例えば、100、1000、又は10000を超える数のデータ片を含んでよい。
【0037】
離散幾何学表現は、例えば、各幾何学実体が点である3D点群であってもよい。離散幾何学表現は、例えば、各幾何学実体がメッシュのタイル又は面である3Dメッシュであってもよい。3Dメッシュは、正則又は不正則であってよい(つまり、同種の面からなっていてもなっていなくてもよい)。3Dメッシュは、多角形メッシュ、例えば三角形メッシュであってもよい。3Dメッシュは、例えば、3D点群を三角形分割して(例えば、ドロネー三角形分割で)、3D点群から取得してもよい。
【0038】
3D点群又は3Dメッシュは、例えば再構成プロセスで、実際のオブジェクトを物理的に測定して決定してもよい。3D再構成プロセスは、実際のオブジェクトを提供すること、それぞれが各物理信号を取得するよう構成された1つ以上の物理センサーを提供すること、現実シーンでその1つ以上の物理センサーを操作して1つ以上の物理信号をそれぞれ取得すること(すなわち、実際のオブジェクトを各センサーでスキャンすること)を含んでよい。3D再構成は、次に、任意の既知の技術に従い、測定値に基づいて3D点群及び/又は3Dメッシュを自動的に決定してもよい。1つ以上のセンサーは、複数の(例えばRGB及び/又は画像又はビデオ)カメラを含んでもよく、当該決定は、structure-from-motion分析を含んでよい。1つ以上のセンサーは、代替的又は追加的に、1つ以上の深度センサーを含んでもよく(例えば、RGB-深度カメラ上)、当該決定は、深度データからの3D再構成を含んでもよい。1つ以上の深度センサーは、例えばレーザー(例えば、LIDAR)又は超音波エミッター-レシーバーを含んでもよい。3D再構成プロセスは、実際のオブジェクトに関するCADモデルを取得するリバースエンジニアリングプロセスの一部であってもよい。したがって、本押し出し検出方法は、CADモデルに基づく押し出し検出のためのロバストな試験を提供するため、CADモデルを取得するために物理的測定を処理する際の改善されたソリューションを形成し得る。本押し出し検出方法は、2つの面積間の比率、すなわち、2つの積分値を計算し、位置パラメータにしか依存しないため、物理的測定のノイズ(センサーの出力のノイズやセンサーの精度など)に対して特にロバストである。このような積分計算により、局所的な(点ごとの)ノイズに対するロバスト性が向上する。
【0039】
あるいは、3D点群又は3Dメッシュは、例えば3Dモデル化オブジェクトにレイキャスティングする、又は、3Dモデル化オブジェクトをテッセレーションすることで、あるソリッド又は機械部品のスキン(すなわち外面)を表す3Dモデル化オブジェクトから取得されてもよい。テッセレーションは、3Dモデル化オブジェクトの任意のレンダリングプロセスに従って実行してもよい。このようなレンダリングプロセスは、3Dモデル化オブジェクトのグラフィック表現を表示するために、任意のCADシステム上にコードされてもよい。3Dモデル化オブジェクトは、CADシステムユーザによって設計されてもよく、又は、CADシステムユーザが設計したものであってもよい。
【0040】
CADシステムは履歴ベースであってもよい。この場合、モデル化オブジェクトは、幾何学的な特徴の履歴を含むデータによってさらに定義される。モデル化オブジェクトは、実際には、標準のモデリング機能(押し出し、回転、カット、ラウンドなど)及び/又は標準の表面機能(スイープ、ブレンド、ロフト、フィル、変形、及び/又はスムージングなど)を使用して、物理的な人物(つまり設計者/ユーザ)によって設計されてもよい。このようなモデリング機能をサポートする多くのCADシステムは、履歴ベースのシステムである。これは、設計的特徴の作成履歴が、通常、入力及び出力リンクを介して前述した幾何学的な特徴をリンクする非循環データフローによって保存されることを意味する。部品の履歴は設計意図である。基本的に、履歴はモデル化オブジェクトに実施された動作に関する情報を収集し、それによって設計意図に応じた部品の設計変更を可能にする。履歴ベースのモデリングパラダイムは、当該技術分野で公知のいずれかの方法に従って実現してよい。
【0041】
PLMシステムは、製造された物理的な製品(又は製造される製品)を表すモデル化オブジェクトの管理に適合したシステムをさらに意味する。したがって、PLMシステムでは、モデル化オブジェクトは、物理的なオブジェクトの製造に適したデータによって定義される。データは通常、寸法値及び/又は許容値であり得る。オブジェクトを正しく製造するには、そのような値を設定することが好ましい。例えば、PLMシステムは、CADモデルにおいて、提供される押し出しフィーチャーに関する機械加工や成形などの製造公差を管理できる。
【0042】
CAMソリューションは、製品の製造データを管理するのに適合したソリューション(ハードウェアのソフトウェア)をさらに意味する。製造データには、通常、製造する製品、製造プロセス、及び必要なリソースに関連するデータが含まれる。CAMソリューションを用いて、製品の製造プロセス全体を計画及び最適化する。例えば、CAMソリューションは、CAMユーザに、実現可能性、製造プロセスの期間、又は、製造プロセスの特定のステップで使用され得る特定のロボットなどのリソースの数に関する情報を提供でき、したがって、管理又は必要な投資に関する決定が可能になる。CAMは、CADプロセス及び場合によりCAEプロセスの後の後続プロセスである。例えば、CAMソリューションは、CADモデルの提供される押し出しフィーチャーと一貫した機械加工パラメータ又は成形パラメータに関する情報を提供してよい。このようなCAMソリューションは、ダッソー・システムズの商標DELMIA(登録商標)によって提供されている。
【0043】
CAEソリューションは、モデル化オブジェクトの物理的挙動の分析に適合したソリューション(ハードウェアのソフトウェア)をさらに意味する。広く使用されている公知のCAE技術は、有限要素法(FEM)であり、有限要素法は通常、方程式を介して物理的挙動を計算及びシミュレートできる要素へのモデル化オブジェクトの分割が関与する。このようなCAEソリューションは、ダッソー・システムズの商標SIMULIA(登録商標)によって提供されている。もう1つ、成長中のCAE手法として、CADジオメトリーのデータなしで物理学の異なる分野からの複数のコンポーネントで構成される複雑なシステムをモデリング及び分析することがある。CAEソリューションは、シミュレーションを可能にし、したがって、製造する製品の最適化、改良、検証が可能になる。このようなCAEソリューションは、ダッソー・システムズの商標DYMOLA(登録商標)によって提供されている。
【0044】
PDMは製品データ管理(Product Data Management)の略語である。PDMソリューションとは、特定の製品に関する全種類のデータを管理するのに適合したソリューション(ハードウェアのソフトウェア)を意味する。PDMソリューションは、製品のライフサイクルに関与する全当事者が使用してもよく、主にエンジニアであるが、プロジェクトマネージャー、財務担当者、営業担当者、購入者も含まれる。PDMソリューションは通常、製品指向のデータベースに基づいている。これにより、当事者は製品に関する一貫したデータを共有できるため、当事者が異なるデータを使用するのを防ぐことができる。このようなPDMソリューションは、ダッソー・システムズの商標ENOVIA(登録商標)によって提供されている。
【0045】
図1は、システムがCADシステムであるシステムのGUIの一例を示す。モデル2000は、本方法に提供されるCADの3Dモデルの一例である。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は、ユーザがグラフィックツールとインタラクションできるようハプティックデバイスによって制御されてもよい。
【0046】
図2は、システムの一例を示しており、ここで、システムは、クライアントコンピュータシステムであり、例えば、ユーザのワークステーションである。
【0047】
この例のクライアントコンピュータは、内部通信BUS1000に接続された中央処理装置(CPU)1010と、同じくBUSに接続されたランダムアクセスメモリ(RAM)1070とを備える。クライアントコンピュータはさらに、BUSに接続されたビデオランダムアクセスメモリ1100と関連するグラフィックプロセッシングユニット(GPU)1110を備えている。ビデオRAM1100は、当技術分野ではフレームバッファとしても知られている。大容量記憶装置コントローラ1020は、ハードドライブ1030などの大容量記憶装置へのアクセスを管理する。コンピュータプログラムの命令及びデータを有形に具体化するのに適した大容量記憶装置にはあらゆる形態の不揮発性メモリが含まれ、例として、EPROM、EEPROM、及びフラッシュメモリデバイスなどの半導体メモリデバイス;内蔵ハードディスクやリムーバブルディスクなどの磁気ディスク;光磁気ディスク;及びCD-ROMディスク1040が挙げられる。前述したものはいずれも、特別に設計されたASIC(特定用途向け集積回路)によって補完されるか、又はその中に組み込まれてもよい。ネットワークアダプタ1050は、ネットワーク1060へのアクセスを管理する。クライアントコンピュータはまた、カーソル制御デバイス、キーボードなどのようなハプティックデバイス1090を含んでもよい。カーソル制御デバイスは、ユーザがディスプレイ1080上の任意の所望の位置にカーソルを選択的に配置できるよう、クライアントコンピュータで使用される。さらに、カーソル制御デバイスにより、ユーザはさまざまなコマンドを選択し、制御信号を入力することが可能となる。カーソル制御デバイスは、システムに制御信号を入力するためのいくつかの信号生成装置を含む。通常、カーソル制御デバイスはマウスであってもよく、マウスのボタンは信号を生成するために使用される。代替的又は追加的に、クライアントコンピュータシステムは、感圧パッド、及び/又は感圧スクリーンを含んでもよい。
【0048】
コンピュータプログラムは、コンピュータによって実行可能な命令を含んでもよく、命令は、上記のシステムに本方法を実行させるための手段を含む。プログラムは、システムのメモリを含む任意のデータ記憶媒体に記録可能であってよい。プログラムは、例えば、デジタル電子回路、又はコンピュータハードウェア、ファームウェア、ソフトウェア、又はそれらの組み合わせに実装されてもよい。プログラムは、例えば、プログラム可能なプロセッサによる実行のために機械可読記憶装置に有形に具体化された製品などの装置として実装されてもよい。本方法のステップは、入力データについて動作し出力を生成して本方法の機能を実行するように命令のプログラムを実行する、プログラム可能なプロセッサによって実行されてもよい。したがって、プロセッサは、データ記憶システム、少なくとも1つの入力デバイス、及び少なくとも1つの出力デバイスからデータ及び命令を受信し、これらにデータ及び命令を送信するように、プログラム可能であるか又は結合されてもよい。適アプリケーションプログラムは、必要に応じて、高レベルの手続き型プログラミング言語又はオブジェクト指向プログラミング言語、あるいは、アセンブリ言語又は機械語で実施されてもよい。いずれの場合も、言語はコンパイル型又はインタプリタ型言語であってもよい。プログラムは、フルインストールプログラム又は更新プログラムであってもよい。いずれにせよ、システム上でのプログラムの適用は、本方法を実行するための命令をもたらす。
【0049】
上記で説明したように、本押し出し検出方法は、製造CAD設計方法の一部であってよい。当該設計方法は、CADの3Dモデルを設計及び/又は編集することを含んでよい。CADの3Dモデルを設計することは、CADの3Dモデルを作成するプロセスの少なくとも一部であるいずれかの動作又は一連の動作を意味する。当該方法は、既に作成されたCADの3Dモデルを提供し、次いで、押し出し面の決定に基づいてCADの3Dモデルを修正することを含んでよい。CADの3Dモデルによってモデル化されるオブジェクトは、モデル化ソリッド(つまり、ソリッドを表すモデル化オブジェクト)であってよい。製造オブジェクトは、部品などの製品、又は部品のアセンブリであってよい。
【0050】
本方法は、機械部品のCADの3Dモデルを提供することを含む。CADの3Dモデルは、上記機械部品のある部分の外面を表すスキン部分を含む。当該機械部品の部分は、機械部品のある正確な部分であってよく、この場合、機械部品は他の部分も含む。本方法は、この部分の材料分布が押し出しとして配置されているかどうかを検出する。本方法は反復してもよく、すなわち、機械部品の1つ以上の他の部分に適用してもよく、本方法を他の部分にそれぞれ適用するたびに、当該他の部分それぞれの材料分布が押し出しとして配置されるかどうかが決定される。あるいは、機械部品の部分は機械部品自体であってもよく、この場合、本方法は、機械部品自体の材料分布が押し出しとして配置されるかどうかを決定する。例えば、ナットは、押し出しとして配置される材料分布を有してよい。機械部品の部分は、機械加工プロセス、積層造形プロセス、及び/又は成形によって作成されてよい。
【0051】
「外面」とは、機械部品以外の媒体、例えば別の機械部品又は空気と接触している表面を意味する。言い換えれば、外面は、その部分における機械部品の外側と機械部品の内側との間に境界を形成する。「スキン部分」とは、機械部品の部分の外面(つまり「スキン」)の任意の表面表現(開表面又は閉表面)を意味する。スキン部分は、各3Dモデルの境界(すなわち、表面)の少なくとも一部を表してよく、当該境界の少なくとも一部は、外面を表す。言い換えれば、スキン部分は、機械部品の外面に対応する、提供される機械部品の3Dモデルの一部である。つまり、CADの3Dモデル全体が機械部品を表しているのに対し、スキン部分は、機械部品のある部分の外面を表す、CADの3Dモデルの一部である。スキン部分は、その部分が機械部品のある正確な部分である場合、提供されるCADの3Dモデルの境界の正確な部分であってよい。この場合、3Dモデルは、それぞれが機械部品の別の各部分を表す他の部分を含む。あるいは、その部分が機械部品自体である場合、スキン部分はCADの3Dモデルの外側の境界であってよい。
【0052】
本方法は、CADの3Dモデルを提供する前に、セグメンテーション方法を実行することを含んでもよい。セグメンテーション方法は、CADの3Dモデルの1つ以上のセグメントを提供してよい。スキン部分は、セグメンテーションプロセスで取得されるCADの3Dモデルの1つ以上のセグメントを含んでよく、又は、当該1つ以上のセグメントからなってよく、当該1つ以上のセグメントは、例えば、各表面が個別のセグメントとして出力される多角柱の側面集合である。
【0053】
上記の通り、CADの3Dモデルを提供することは、CADの3Dモデルを測定又は取得することを含んでもよく、例えば、物理センサーを提供し、物理センサーを機械部品に対して動作させ(例えば、機械部品をスキャンする)、3D再構築プロセスを実行して3Dモデルを取得する。あるいは、3Dモデルを提供することは、3Dモデルを、例えばスケッチして作成することを含んでもよい。さらに別の代替案では、3Dモデルを提供することは、3Dモデルが作成又は取得後に保存されている(例えば、離れたところにある)データベースから3Dモデルを読みだすことを含んでもよい。
【0054】
本方法はさらに、押し出し軸を提供することを含む。押し出し軸を提供することは、(例えば、離れたところにある)メモリから押し出し軸を取得することを含んでよい。あるいは、押し出し軸を提供することは、任意の適切な方法によって、押し出し軸を決定/算出することを含んでよい。押し出し軸は、可能性のある候補軸を表し、本方法は、当該候補軸に沿って材料分布が押し出しとして配置されているかどうかを検証する。
【0055】
上記提供することに加え、本方法は、スキン部分の面積に対する、押し出し軸に直交する平面上のスキン部分の正投影の面積の比率を計算及び使用することで、材料分布が押し出しとして配置されているかどうかを決定する。つまり、当該比率は、前記正投影の面積を前記スキン部分の面積で割った値に等しい。そのため、本方法は、上記提供することに加え、前記比率を計算することを含む。直交平面は、押し出し軸に沿ったいずれかの位置に配置されてよく、例えば、3Dモデルが定義される参照座標系の原点を通過する平面である。スキン部分の面積は、CAD分野で既知の任意の方法によって計算してよい。スキン部分の面積(例えば、面積の正確値)は、CADモデルに埋め込まれた情報の一部として提供されてよい。スキン部分の正投影の面積を計算することは、CAD分野で公知の方法により、スキン部分の当該投影を計算すること及び投影されたスキン部分の面積(例えば、浮動小数点までの精度の面積の正確値)を計算することを含んでよい。あるいは、投影されたスキン部分の面積を計算することは、その近似値(例えば、プロキシ)を計算することを含んでよい。投影された面積の近似値を計算することで、計算が速くなるため、改善されたソリューションが形成され得る。
【0056】
本方法は、当該比率及び比率閾値に基づいて外面が押し出し面であるかどうかを決定することによって、材料分布が押し出しとして配置されているかどうかを決定することをさらに含む。当該比率が比率閾値よりも低い場合、外面は押し出し面であると決定され、当該比率が比率閾値よりも低くない場合、外面は押し出し面ではないと決定される。「押し出し面」とは、押し出し軸(例えば、直線軸)に沿って輪郭(すなわち、押し出し輪郭)をスライドさせて生じる表面を意味する。比率閾値は、本方法の開始前に事前に決定してもよく、又は、本方法の実行中に、任意で、提供されるCADの3Dモデルに従って適宜設定してもよい。CADの3Dモデルを提供することが測定又は取得することを含む例では、測定又は取得精度が高いほど比率閾値が小さくなるように、測定又は取得精度に応じて比率閾値を設定してもよい。例えば、比率閾値は、スキャン精度又はセンサー精度に反比例してよい。提供されるCADモデルが離散幾何学表現を形成する例では、離散幾何学表現のデータ片の数(すなわち、幾何学実体又は離散要素の数)が多いほど比率閾値が小さくなるように、比率閾値をデータ片の数に応じて設定してよい。例えば、比率閾値は、離散幾何学表現のデータ片の数に反比例してよい。これらの例によると、CADモデルの離散幾何学表現に含まれるデータ片の数が多いほど、比率閾値は小さくなる。代替的又は追加的に、比率閾値は、押し出し軸に対するスキン部分の最大偏角に応じて設定されてもよい。スキン部分の最大偏角は、スキン部分上の点の偏角のうちの最大偏角である。スキン部分上のある点の偏角は、押し出し軸と、各点と押し出し軸の基準点を結ぶ線との間の角度である。比率閾値の値は、許容最大偏差角に適用される正弦関数に等しくてよい(例えば、η=sin(α))。最大偏角は、測定又は取得精度が高い(CADモデルが測定又は取得を含む場合)及び/又はデータ片の数が多い(CADモデルが離散幾何学表現を形成する場合)ほど、小さくなるよう設定してよい。本方法では、許容最大偏差角度を次の間隔
【数1】
内の値に設定してよく、例えば、
【数2】
である。
【0057】
一例では、本方法によって外面が押し出し面であると決定される場合、本方法は、それに応じて3Dモデルに仕様を追加することをさらに含んでよい。例えば、本方法は、例えば押し出しパラメータ(例えば押し出し輪郭を含む)を算出することによって、スキン部分を処理することを含んでよい。具体例としては、本方法は、例えばダッソー・システムズによって2021年5月21日に出願された欧州特許出願第21305671.6号(参照により本明細書に組み込まれる)に開示された方法に従って、押し出し軸に基づいて押し出し輪郭を算出することを含んでよい。具体的には、本方法は、押し出し面をパラメータ化するステップ、つまり、スキン部分の各パラメータの1つ以上の値分布をそれぞれ決定するステップを含んでもよく、当該ステップは、ダッソー・システムズによって2021年5月21日に出願された欧州特許出願第21305671.6号に開示されたパラメータ化のためのコンピュータ実装方法、特に材料分布が押し出しとして配置される当該パラメータ化方法の実施例を適用することによって実施されてよい。このパラメータ化方法の適用は、ダッソー・システムズによって2021年5月21日に出願された前述の欧州特許出願第21305671.6号に開示されているように、決定された各値分布に基づいて輪郭を算出するステップを含んでよい。本方法は、任意で、提供された押し出し軸及び計算された押し出しパラメータに基づいて、対応する押し出しフィーチャーを作成することを含んでよい。本方法は、任意で、作成される押し出しフィーチャーを保存/保管することをさらに含んでよい。保存/保管されたフィーチャーは、後でフィーチャーツリーの作成/取得プロセスで使用してよい。フィーチャーツリーの作成プロセスで、本方法によって作成された押し出しフィーチャーをCADの3Dモデルのフィーチャーツリーに統合してよい。本方法は、計算された押し出しパラメータ(任意で押し出し軸に関連付けられてもよい)を永続的メモリにさらに格納してよい。
【0058】
一例では、本方法によって外面が押し出し面ではないと決定される場合、本方法の実行は停止してもよい(つまり、何も発生せず、3Dモデルは変更されない)。あるいは、本方法は、押し出し検出結果が陰性であるという情報を出力してもよい。この情報は、例えば、後続の設計ステップで、誤った押し出しがそのままさらに使用されることを回避する。製造CAD設計プロセスで誤った押し出しを使用すると、後に下流の製造プロセスに影響を及ぼすリスクのある設計エラーが発生する可能性がある。
【0059】
比率を計算することには、モンテカルロ法を実行することが含まれてよい。同等に「モンテカルロ実験」とも呼ばれる「モンテカルロ法」は、数値結果の取得が繰り返し行われるランダムサンプリングに依存する方法を意味する。それ自体公知のように、一般的なモンテカルロ法は、可能な入力のドメインを設定すること、ドメイン全体の確率分布からランダムに入力を生成すること、入力に対して決定論的計算を実行すること、そして、結果を集約することを含んでよい。比率の計算にモンテカルロ法を実行することで、計算効率が向上し、ロバスト性が向上する。 実際に、モンテカルロ法はメッシュの種類(均一かどうか、三角形かどうか)やトポロジー(例えばメッシュに穴がある可能性がある)に依存せず、理論上の収束の保証及び近似による誤差の制御を提供する。
【0060】
一例では、モンテカルロ法は、境界ドメインを提供することを含んでよい。境界ドメインは、CADの3Dモデル又は少なくともそのスキン部分を包含する3Dドメインであってよい。境界ドメインは、CADの3Dモデル又は少なくともそのスキン部分の3Dバウンディングボックスであってよい。あるいは、境界ドメインは、CADの3Dモデル又は少なくともスキン部分の平面上の投影を包含する2Dドメインであってもよい。具体例では、境界ドメインは、平面上の投影にそれぞれ対応する2Dバウンディングボックスであってよい。
【0061】
モンテカルロ法は、確率分布に従って、境界ドメインの点をサンプリングすることをさらに含んでよい。確率分布は、統計分野でそれ自体公知の通り、各確率密度関数(PDF)で表してよい。一例では、確率分布は、一様確率分布又は非一様確率分布であってよい。確率分布は、境界ドメイン上で定義してよく、つまり、サンプリングされる各点が境界ドメイン内に存在する確率は1(つまり、100%)である。言い換えると、サンプリングされる各点は、境界ドメイン内に存在する。各PDFは、境界ドメイン内の各点に確率密度値を付与し得る。一例では、境界ドメインの内側に境界ドメインの境界が含まれてよい。サンプリングは、メトロポリス・ヘイスティングスアルゴリズム又は確率分布に従って値をサンプリングできる任意の他のアルゴリズム又は方法の出力であってよい。
【0062】
確率分布及びその各PDFは、連続確率分布であってよい。したがって、本方法は、1つ以上の連続的な数の集合から境界ドメインの点をサンプリングしてよく、ここで、各集合は、座標系におけるサンプリングされた点の座標のうち1つの座標に関連する。あるいは、確率分布及びその各PDFは、離散確率分布であってよい。したがって、本方法は、座標系におけるサンプリングされた点の各座標の粒度を表す、1つ以上の離散的な数の集合から境界ドメインの点をサンプリングしてよい。
【0063】
モンテカルロ法はさらに、サンプリングされた点ごとに、サンプル点を通過し、かつ、押し出し軸に平行な線がそれぞれスキン部分と交差するかどうかを決定することを含んでもよい。上記点を通過し、かつ、押し出し軸に平行な線がそれぞれスキン部分と交差するかどうかをサンプリングされた点ごとに決定することは、任意の適切な方法によって実行されてよい。例えば、当該決定することは、サンプリングされた点が、押し出し軸に直交する平面上のスキン部分の正投影に属する(すなわち、内側にある)かどうかを決定することを含んでよい。あるいは、当該決定することは、レイキャスティング法を適用することを含んでよく、例えば、サンプリングされた点から押し出し軸に平行に光線を照射し、光線がスキン部分と交差するかどうかを検出することを含む。
【0064】
スキン部分の正投影の面積は、スキン部分と交差する線の期待値の推定値と境界ドメインの面積との間の積によってプロキシされてよい。スキン部分の正投影の面積は、(スキン部分の)「影」と同等に呼ばれてもよい。「期待値」とは、確率分布による統計的な期待値を意味する。統計分野でそれ自体が公知の通り、期待値は、確率分布に従ったある出来事(例えば、線とスキン部分の交差)の確率加重平均と定義される。境界ドメインの面積は、任意の既知の測度(例えば、ルベーグ測度)に従って定義されてよく、CAD分野で既知の任意の方法に従って計算してもよい。
【0065】
サンプリングされる点の数は、例えば、100、1000、又は10000より大きくてもよい。サンプリングされる点の数は事前に決定してもよい。本方法は、収束基準(すなわち、停止条件)に従ってサンプリングされる点の数を適宜設定してよい。収束基準は、スキン部分と交差する線の期待値の2つの連続推定値の差に基づいてよい。連続値は、複数回のサンプリングを実行した後、例えば1、10、100、又は1000回にわたるサンプリング後に評価してよい。2つの連続推定値の差及び/又は相対差が閾値未満の場合、サンプリングを停止してよい。代替的又は追加的に、収束基準は、スキン部分と交差する線の期待値の推定値の分散/標準偏差推定量に基づいてよい。推定分散/標準偏差が分散/標準偏差の閾値よりも小さい場合にサンプリングを停止してもよく、任意で、推定分散/標準偏差が分散/標準偏差の閾値よりも小さい場合に最小の数の点がすでにサンプリングされていれば、サンプリングを停止してもよい。一例では、分散/標準偏差の閾値は、区間[0,1]の値、例えば0.01未満の値であってよい。サンプリングされる点の最小数は、10、100、又は1000より大きくてよい。しかし、代替的又は追加的に、本方法は、確率分布に従ってサンプリング数を設定してもよい。サンプリング数は、確率分布が一様分布である場合はより高く設定してよく、確率分布が非一様分布である場合、例えばスキン部分又はその投影周囲の各確率密度の値が高い確率分布の場合、サンプリング数をより低く設定してよい。よって、比率の計算は、収束基準に従った十分な大きさのサンプリングに基づくモンテカルロシミュレーションを介して得られるため、改善されたソリューションが形成される。
【0066】
一例では、スキン部分と交差する線の期待値の推定値は、交差関数の平均値に等しくてもよい。交差関数は、サンプリングされた各点での線とスキン部分の交差を表す。つまり、交差関数は、例えばある点(例えば、サンプリングされる点)の各座標を処理することによって、その点を入力として受け取り、その点を通過し、かつ、押し出し軸に平行な線がそれぞれスキン部分と交差するかを出力してよい。言い換えると、交差関数の出力は、上記した、サンプリングされる点ごとに、サンプル点を通過し、かつ、押し出し軸に平行な線がそれぞれスキン部分と交差するかどうかを決定することの結果である。一例では、交差関数は、線がそれぞれスキン部分と交差する場合は第1の値(例えば、1をその点での各PDF値で割ったもの)を出力し、交差しない場合は第2の値(例えば、ゼロ)を出力してよい。あるいは、期待値の推定は、当該分野で公知の他の統計的推定量によって計算してもよい。
【0067】
本方法は、スキン部分の正投影を算出することをさらに含んでよい。正投影は、押し出し軸に直交する平面上の正投影である。正投影は、CADの分野で公知の正投影を算出する任意の既知の方法に従って取得してよい。提供されるCADモデルが離散要素を有する離散幾何学表現を形成する例では、正投影は、各離散要素の投影を含んでよい。境界ドメインは、押し出し軸に直交する平面上にあってよく(すなわち、2D境界ドメインである)、スキン部分の正投影を包含してよい。サンプリングされた点ごとに、(サンプル点を通過し、かつ、押し出し軸に平行な線がそれぞれスキン部分と交差するかどうかを)決定することには、適切な方法を用いて、サンプリングされた点が境界ドメイン上でスキン部分の当該投影の内側にあるかどうかを決定することを含んでよい。
【0068】
確率分布は、狭義で正の確率密度を有してもよく、つまり各PDFの値を有してよい。一例では、確率分布は一様分布であってよく、すなわち、各確率密度は、境界ドメインに対して一定値を有してもよい。一定値は、1を境界ドメインの面積で割った値に等しく、つまり、この面積の逆数に等しい。特に効率的な例では、確率分布は、スキン部分の投影上での各確率密度の値がより高い非一様分布であってよい。
【0069】
交差関数は、指示関数を確率密度で割ったものであってよい。指示関数は、境界ドメイン上のある位置について、その位置がスキン部分の正投影に属するかどうか(つまり、内側にあるかどうか)を示す。指示関数は、同等に特性関数と呼ばれることもある。一例では、交差関数は、前記位置が正投影の内側にある場合は1の値を出力し、内側にない場合は0の値を出力してよい。
【0070】
押し出し軸を提供することは、目的関数を最適化することによって押し出し軸を決定することを含んでよい。目的関数は、スキン部分の法線の候補押し出し軸に対する非直交性(つまり、最適化の自由変数)にペナルティを課す。最適化は最小化であってよい。最適化は、目的関数の値が目的関数の値の閾値よりも低くなければならないという基準に基づく。言い換えると、最適化は、値が閾値よりも低い(例えば、値が基準を尊重する)場合と、値が(例えば、収束基準に対して)十分に低い場合の両者でない限り、複数の候補押し出し軸(つまり、各々が最適化を行おうとする押し出し軸)に対して目的関数の値を(例えば繰り返し)評価する。当該関数は、候補押し出し軸とスキン部分の法線が直交しない傾向がある場合に値が高くなる傾向があり、候補押し出し軸に対するスキン部分の法線の非直交性にペナルティを課す。ペナルティを課すことは、候補押し出し軸に対するスキン部分の法線の非直交性の測度の積分形式であってよい。非直交性の測度は、スキン部分の法線と候補押し出し軸の間の内積の二乗値であってよい。基準は、最適化内の制約として又は事後検定として設定してよい。
【0071】
目的関数の最適化によって押し出し軸を決定する例を以下で説明する。
【0072】
一般的に、機械部品のある部分の外面を表すスキン部分
【数3】
は、次の条件
【数4】
を満たす場合に限り、押し出し面であり、式中、n
pは点pにおける表面Sの法線ベクトルである。法線ベクトルは、その物体の表面の外向きの法線、つまり、機械部品の外側に向く法線であってよい。
【0073】
本方法は、最適化する目的関数
【数5】
を考慮することにより、最適化のために、すべてのp∈Sに対してn
p・u=0の緩和条件を考慮してもよく、
【数6】
であり、式中、
【数7】
であり、vol
Sは、S上の標準測度(つまり、ルベーグ測度によって誘導される
【数8】
上の測度)である。目的関数J
E(u)は、法線n
pの候補押し出し軸uに対する非直交性にペナルティを課す。
【0074】
特に、本方法は、目的関数の値が目的関数値の閾値ε>0よりも低くなければならないという基準、すなわち、
【数9】
に基づいて、押し出し軸を決定すること(すなわち、目的関数を最小化すること)を含んでよい。
【0075】
目的関数JE(u)は、(2つの単位ベクトル、uとnp間の角度の二乗余弦の平均として)0から1までの値をとってよい。目的関数値の閾値は、所定の値に設定してもよく、又は、提供されるCADモデルに従って適宜設定してもよい。特に、目的関数値の閾値は、提供されるCADの3Dモデルのノイズレベルに従って(例えば、比例して)設定してよい。目的関数値の閾値は、[0,0.1]、[0,0.01]、[0,0.005]、又は[0,0.001]の間隔の値に設定してよい。一例では、目的関数値の閾値は、ε=1×10-3として設定してよい。
【0076】
行列T
Sが、
【数10】
のように定義されている場合、J
E(u)=u
TT
Suであることに留意する。
【0077】
したがって、最適化問題は、TSの最小固有値λeと、それに関連する固有ベクトルueを閾値条件まで見つけることと同等であり、ここで、λe=JE(ue)は最適化問題の目的関数の最小値である。よって、本方法は、行列TSの最小固有値及び各固有ベクトルを計算して目的関数を最適化することにより、押し出し軸を決定してもよい。最小固有値及び各固有ベクトルは、任意の既知の方法に従って計算してよい。本方法は、基準λe≦εが満たされているかどうかをさらに検証してもよい。条件λe≦εが検証された場合、本押し出し検出方法には、押し出し軸ue及び任意で関連固有値λeが提供される。言い換えると、押し出し軸を決定することはue及び任意でλeを出力する。
【0078】
上記のように目的関数の最適化によって押し出し軸を決定することは、材料の押し出し検出の方法において異なる目的のために役立ち得る。
【0079】
第1の態様によれば、上記のように最適化によって得られる押し出し軸(すなわち、ue)を、材料の押し出し検出方法で使用してもよい。この第1の態様によれば、目的関数の(最小)値(すなわち、λe)が目的関数値の閾値よりも低くなければならないという基準は、提供されるCADモデルに対して関連する押し出し軸(最小固有値λeの各固有ベクトル)を取得するための基準と見なされてよい。第1の態様によれば、押し出し検出方法は、材料分布が、最適化によって得られた押し出し軸に対して押し出しとして配置されているかをさらに検証する(すなわち、確認する)。つまり、第1の態様によれば、材料分布が押し出しとして配置されるかどうかを比率に基づいて決定することは、最適化によって決定され、当該方法に提供される押し出し軸が本当に当該材料分布に対して押し出し軸であるかどうかを検証するための検証ステップとして機能する。したがって、第1の態様では、当該方法によって最適化のロバスト性が増す。
【0080】
第2の態様では、押し出し軸を決定することは、材料の押し出し検出方法の最初の検証ステップである。第2の態様によれば、目的関数の(最小)値が複数の小さな値(例えば、目的関数値の閾値)よりも低くなければならないという基準は、材料分布が押し出しとして配置されているかを検証する基準として見なされてよい。一例では、押し出し検出方法の前に、1つ以上の検証ステップを実施してもよい。つまり、第2の態様によれば、最適化は、材料分布が押し出しとして配置されているかどうかを検証するための第1の検証ステップとして機能する。材料分布が押し出しとして配置されているかどうかを比率に基づいて決定することは、材料分布が押し出しとして配置されているかどうかを検証するための第2及びそれ以降の検証ステップとしても機能する。したがって、第2の態様では、当該方法は、押し出しを検出するための2段階手法を提供し、これによりロバスト性が向上する。
【0081】
CADモデルが離散幾何学表現を形成する例(例えば3Dメッシュや点群など)では、T
Sの計算では、離散幾何学表現の各離散要素に対して関連する法線ベクトルと面積のみを使用してよい。例えば、CADモデルとして提供される三角形メッシュM(V,E,F)に対して、スキン部分
【数11】
が区分的線形表面として定義されている場合、T
Sは、
【数12】
のように計算してよく、上記式中、Fはメッシュの三角形の面の集合、A
τは三角形τ∈Fの面積、n
τは三角形τ∈Fの法線ベクトルである。
【0082】
一例では、目的関数値の閾値は、比率閾値2乗の2倍、10倍、又は20倍の値であってよい。
【0083】
一例では、3Dモデルは個別要素を持つ3Dメッシュであってよい。3Dメッシュは、CADの3Dモデルのテッセレーションの結果として取得されてよい。比率閾値は、3Dメッシュの個別要素の数に反比例してもよい。
【0084】
一例では、本方法は、押し出し軸に基づいて押し出し輪郭を算出することをさらに含んでよい。本方法は、外面が押し出し面であると決定された後に押し出し輪郭を算出してよい。本方法は、直交平面上のスキン部分の正投影に基づいて押し出し輪郭を算出してよい。本方法は、任意の既知の方法に従って押し出し輪郭を算出してよい。3Dモデルが点群である例では、本方法は、参照により本明細書に組み込まれる「Wang et al., “Fitting B-spline curves to point clouds using curvature-based square distance minimization”, CM Transactions on Graphics, 25(2), 2006, pp. 214-238」に従って、投影されるスキン部分に曲線を当てはめて押し出し輪郭を算出してよい。3Dモデルが点群である他の例では、本方法は、参照により本明細書に組み込まれる「Goshtasby, “Grouping and parameterizing irregularly spaced points for curve fitting”, ACM Transactions on Graphics, 19(3), 2000, pp. 185-203」に従って、投影されるスキン部分のパラメータ化を算出し、そのパラメータ化を利用して曲線を当てはめてもよい。3Dモデルが3Dメッシュである例では、本方法は、ダッソー・システムズによって2021年5月21日に出願された前述の欧州特許出願第21305671.6号に開示される方法に従って、メッシュのパラメータ化を算出し、そのパラメータ化を利用して投影されるスキン部分(及び投影されるメッシュ)上に曲線を当てはめてもよい。具体的には、本方法は、押し出し面をパラメータ化するステップ、つまり、スキン部分の各パラメータの1つ以上の値分布をそれぞれ決定するステップを含んでもよく、当該ステップは、ダッソー・システムズによって2021年5月21日に出願された欧州特許出願第21305671.6号に開示されたパラメータ化のためのコンピュータ実装方法、特に材料分布が押し出しとして配置される当該パラメータ化方法の実施例を適用することによって実施されてよい。このパラメータ化方法の適用は、ダッソー・システムズによって2021年5月21日に出願された前述の欧州特許出願第21305671.6号に開示されているように、決定された各値分布に基づいて、例えば1つ以上の曲線を当てはめることで輪郭を算出するステップを含んでよい。代替的又は追加的に、本方法は、押し出し軸に沿った押し出しの範囲を定める押し出しの高さ制限を計算することをさらに含んでよい。本方法では、3Dメッシュの頂点(3Dモデルがメッシュの場合)又は点群の点(3Dモデルが点群の場合)の投影の押し出し軸上での最小値と最大値を計算することにより、高さ制限を計算してよい。
【0085】
次に、本方法の実施について説明する。
【0086】
本方法の実施では、機械部品のある部分を表すCADの3Dモデルを、3D三角形メッシュM(V,E,F)の形式で本方法に入力として提供する。一例では、当該機械部品の当該部分は正確なサブ部分であり、メッシュは、機械部品全体を表すより大きなメッシュのサブメッシュであってよい。メッシュは区分的線形表面
【数13】
を表し、上記3D三角形メッシュの式中、Vは頂点の集合、Eはエッジの集合、Fは三角形の面の集合である。可能性のある押し出し軸を取得するために、本実施では、
【数14】
のように算出され、これは、3×3の半正定値の対称行列である。本方法では、T
Sの最小固有値λ
e(少なくともその近似値)と関連固有ベクトルu
eを取得する。このステップは、非押し出し面除外において過度に厳密である必要はない可能性があるため、目的関数値の閾値εの値は10
-1に設定される。
【0087】
次に、
【数15】
の直接的な正規直交基底(e
1、e
2、e
3)を、e
3=u
eを設定することで形成する。スパン{e
1、e
2}=u
e
⊥の場合、削減マップ、つまり投影マップは次のように定義される。
【数16】
【0088】
次に、十分に大きな開集合(例えば境界ドメイン)、
【数17】
が、Sの影、つまりS
π=Π
e(S)が、S
π⊂Ωを満たすように設定される。例えば、Ωは全頂点の像であるΠ
e(V)のバウンディングボックスであってよい。
【0089】
確率空間
【数18】
を、ボレルσ-加法族
【数19】
及び確率測度
【数20】
と一緒にΩ上に定義してもよく、式中、μは、
【数21】
上のルベーグ測度である。次に、影の面積は、
【数22】
のように定義されてよい。
【0090】
確率変数X=id
Ωの場合(id
ΩはΩ上の恒等写像、つまり、任意のx∈Ωに対してid(x)=xであり、その指示関数fは、
【数23】
である)、期待値と分散は次のようになる。
【数24】
【0091】
ここで、
【数25】
(式中fρ(x)>0∀x∈Ω)を、
【数26】
を満たす狭義で正の密度関数とする。本実施は、(Ω,B)上の確率測度
【数27】
を考慮し、
【数28】
と定義される。
【0092】
次に、交差関数
【数29】
を、次のように定義しする。
【数30】
ここで、この式において、期待値と分散は、
【数31】
であり、標準偏差は、
【数32】
である。
【0093】
本実施では、N個の統計的に独立したサンプル(x
1、…、x
N)∈Ω
N(Xの法則は
【数33】
に従う)をメトロポリス・ヘイスティングスアルゴリズム又は目的分布
【数34】
をサンプリングできる任意の他の方法を使用してサンプリングする。
【0094】
それぞれの
【数35】
に対して、本方法は、x
nがメッシュの三角形のうち少なくとも1つの三角形の影(又はΠ
eによる像)内にあるかどうかを検出することにより、交差(又は指示)関数f
ρ(x
n)(又はf(x
n))を計算する。本実施では、以下に示す厳密計算を用いる。
【0095】
(v
i、v
j、v
k)を三角形τ∈Fの頂点とする。α
i1i2という表記は、点x
nと、三角形τの投影された頂点v
i1及びv
i2との間の角度を表し、次の通りである。
【数36】
この式において、i
1とi
2は{i、j、k}に存在する。数学的には、|α
ij+α
jk+α
ki|=2π(
図3に示す)の場合、点x
nは三角形の影の内側にあり、|α
ij+α
jk+α
ki|=0(
図4に示す)の場合、点x
nは三角形の影の外側にある。本実施は、この条件の近似を考慮してもよく、これは、数値誤差に対してよりロバストである。特に、本実施は、|α
ij+α
jk+α
ki|≧πの場合に限って、x
nがτの影の内側にあると見なしてもよい。
【0096】
次に、期待値
【数37】
が、十分に大きいNに対して、次のように効率的に近似される。
【数38】
【0097】
P
Nは、任意の統計的推定量
【数39】
で置き換えてよい。
【0098】
ここで、サンプルサイズNを選択する方法例を説明する。
【0099】
Nの値は、処理するすべての事例が所定の単一値となるように選択されてよく、例えば、N=1000は適切な値である。Nの値は、精度を高めるためにこの値より高くてもよく、計算効率を高めるためにこの値より低くてもよい。
【0100】
Nの値は、停止条件に基づいて選択してもよく、つまり、特定の条件が満たされない限り、本方法はサンプル生成を続行する。例えば、本方法は、P
Nの標準偏差推定量σ
Nの値を閾値δと比較してもよい(すなわち、停止条件の一部がσ
N≦δである)。P
Nの標準偏差推定量は、次に示す推定量である。
【数40】
例えば、σ
Nは次の式で定義してもよい。
【数41】
【0101】
さらに、Nの値は、あるNminより大きくなるよう選択してもよい。例えば、Nminの値が約100の場合、満足のいく結果が得られる。したがって、これらの場合の完全な停止条件は、σN≦δ及びN≧Nminであってよい。閾値δは区間]0,1[で選択され(0に近いほど、結果の信頼性が高くなる)、例えば、δが0.01より小さい場合、満足のいくEρ(fρ(X))の近似値PNが得られる。
【0102】
Nの値は、上記の例の組み合わせに基づいて選択されてもよい。この場合、本方法は、停止条件が満たされる、又は、所定のサンプルサイズに達するまで、サンプル生成を続行してもよい。
【0103】
次に、影の面積がμ(Ω)P
Nとしてプロキシされ(つまり、近似され)、総表面積に対する表面の影面積の比率を次のように計算する。
【数42】
【0104】
メッシュMが十分に小さい比率閾値ηに対して条件R
N≦ηを満たす場合、本方法は表面Sを押し出し面(及びメッシュMを押し出し面の近似)と見なす。比率閾値は、次の間隔
【数43】
内の値に設定でき、εは上記のように設定する。
【0105】
本方法は、十分に小さい角度αに対し、η=sin(α)を設定してもよく、例えば値は次の区間
【数44】
内の値であってよい。特に、
【数45】
と設定すれば、良好な結果が得られる。角度αは、
図5に示すように、押し出し軸からの最大許容(つまり限界)偏差角度としてよい。比率閾値ηは特定のsin(α)として解釈されてよく、目的値の閾値εはある(sin(α’))
2として解釈されてよく、ここで、α及びα’は押し出し軸に対する限界偏差角度を表す。
【0106】
前述の押し出し面検出方法の実施によって得られた結果を
図6及び7に示す。
【0107】
図6A-Bは、本方法の実施を示す2つの図である。
図6A左にノイズの多いメッシュを示し、
図6B左にノイズの少ないメッシュを示す。
図6Bのメッシュは、パイプコネクタを表し得る。これらの2つの例の中で、
図6Bのメッシュ面上の法線ベクトルの方が変動が少ないため、
図6Bのメッシュの目的関数J
Eの最適化値の方が低い。しかし、真の押し出し面を表すのは
図6Aのメッシュであり、
図6Bのメッシュは押し出し面を表していない(むしろトーラスの一部を表す)。
【0108】
開示される押し出し面検出方法の実施は、提供される押し出し軸310及び320に関して、それぞれメッシュA及びBの影を算出する。
図6A右と
図6B右の×印330及び340は、それぞれ、算出される軸に対してメッシュA及びBのそれぞれの影で覆われた各領域を示す。メッシュBの影の面積は、各3D表面メッシュの全体の面積と比較して大幅に大きいが、メッシュAの影はより集中している。本方法は、モンテカルロ法を使用して、影周囲の平面上の点(
図6A-6Bでサンプルを表す点によって示される)をサンプリングし、影の中にある点の割合を(重み又は「重要度」を付加して)計数することにより、これらの影の面積を推定する。メッシュの総面積に対する影の推定面積の比率が比率閾値ηよりも大きい場合(メッシュBの場合のように)、本方法では、そのメッシュが表す提供された部分が押し出し面ではないと決定する。
【0109】
機械部品がナットの場合の本方法の別の適用例を
図7に示す。
図7に示すように、メッシュにノイズが多い場合でも、メッシュの算出された影の面積は非常に小さい。したがって、本方法は、提供された部分が押し出し面であると決定する。
【0110】
表面メッシュが押し出し面に対応することが検出されると、本方法は、その押し出し面に関連する完全な押し出し演算子(すなわち、フィーチャー)をさらに取得(すなわち、算出)してよい。次に、押し出し演算子を取得する例について説明する。
【0111】
押し出し演算子は、3D(押し出し)軸ue、輪郭、つまり自ら交差しない2D曲線、及び、押し出し軸ueに沿った押し出しの最小座標と最大座標に対応する高さ制限hmin、hmaxによって定義される。当該押し出し軸は本方法に提供される。
【0112】
いくつかの例では、本方法は、ueに直交する平面上に(スキン部分の)点を投影することによって輪郭を取得し(例えば、上記のようにΠeを利用して)、例えば前述の「Wang et al., “Fitting B-spline curves to point clouds using curvature-based square distance minimization”, CM Transactions on Graphics, 25(2), 2006, pp. 214-238」で議論される方法を用いて、順序付けされていない2D点群に曲線を直接当てはめてよい。
【0113】
いくつかの例では、例えば前述の「Goshtasby, “Grouping and parameterizing irregularly spaced points for curve fitting”, ACM Transactions on Graphics, 19(3), 2000, pp. 185-203」で議論される方法を用いて、本方法は、使用する投影点のパラメータ化を算出することによって輪郭を取得し、このパラメータ化を使用してこれらの点に曲線を当てはめてよい。
【0114】
いくつかの例では、例えばダッソー・システムズによって2021年5月21日に出願された前述の欧州特許出願第21305671.6号に開示される方法を用いて、本方法は、表面メッシュのパラメータ化を算出することによって輪郭を取得し、正しいパラメータを使用して投影点に曲線を当てはめてもよい。具体的には、本方法は、押し出し面をパラメータ化するステップ、つまり、スキン部分の各パラメータの1つ以上の値分布をそれぞれ決定するステップを含んでもよく、当該ステップは、ダッソー・システムズによって2021年5月21日に出願された欧州特許出願第21305671.6号に開示されたパラメータ化のためのコンピュータ実装方法、特に材料分布が押し出しとして配置される当該パラメータ化方法の実施例を適用することによって実施されてよい。このパラメータ化方法の適用は、ダッソー・システムズによって2021年5月21日に出願された前述の欧州特許出願第21305671.6号に開示されているように、輪郭を算出するステップを含んでよく、当該ステップは、決定された各値分布に基づいて、例えば1つ以上の曲線を当てはめることを含んでよい。このソリューションはより効率的かつロバストであり、良好な初期値化を必要としない。
【0115】
本方法は、高さ制限を次のように計算してよい。
【数46】
【手続補正書】
【提出日】2022-09-12
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
材料分布を有する機械部品のある部分における材料の押し出し検出のためのコンピュータ実装方法であって、
・前記機械部品の前記部分の外面を表すスキン部分を含む、前記機械部品のコンピュータ支援設計(CAD)の3Dモデルと、
・押し出し軸と
を提供することと、
前記スキン部分の面積(AS)に対する、前記押し出し軸に直交する平面上の前記スキン部分の正投影の面積(Sπ)の比率(RN)を計算することと、
前記比率及び比率閾値に基づいて、前記外面が押し出し面であるかどうかを決定することによって、前記材料分布が押し出しとして配置されているかどうかを決定すること
を含み、
前記比率が前記比率閾値よりも低い場合、前記外面は押し出し面であると決定され、前記比率が前記比率閾値よりも低くない場合、前記外面は押し出し面ではないと決定される、
方法。
【請求項2】
前記計算することはモンテカルロ法を実行することを含む、請求項1に記載の方法。
【請求項3】
前記モンテカルロ法は、
境界ドメインを提供すること、
確率分布に従って前記境界ドメインの点をサンプリングすること、および
サンプリングされた点ごとに、サンプル点を通過し、かつ、前記押し出し軸に平行な線がそれぞれ前記スキン部分と交差するかどうかを決定すること
を含み、
前記スキン部分の正投影の面積は、前記スキン部分と交差する線の期待値
【数1】
の推定値(P
N)と、前記境界ドメインの面積(μ(Ω))との積によってプロキシされる、請求項2に記載の方法。
【請求項4】
前記スキン部分と交差する線の期待値の推定値は、各サンプリングされた点における前記スキン部分と線の交差を表す交差関数(f
ρ)の平均値
【数2】
に等しい、請求項3に記載の方法。
【請求項5】
前記スキン部分の正投影を算出することをさらに含み、
前記境界ドメインが、前記押し出し軸に直交する平面上に存在し、前記スキン部分の正投影を包含し、
前記決定することは、サンプリングされた点ごとに、前記サンプリングされた点が前記境界ドメイン上で前記スキン部分の前記正投影の内側にあるかどうかを決定することを含む、請求項3に記載の方法。
【請求項6】
前記確率分布は狭義で正の確率密度を有する、請求項3に記載の方法。
【請求項7】
前記スキン部分と交差する線の期待値の推定値は、各サンプリングされた点における前記スキン部分と線の交差を表す交差関数(f
ρ
)の平均値
【数3】
に等しく、
前記交差関数は、前記確率密度で割った指示関数(f)であり、前記指示関数は、前記境界ドメイン(Ω)上のある位置(ω)に関して、前記位置が前記スキン部分の正投影に属しているかどうかを示す、請求項6に記載の方法。
【請求項8】
前記押し出し軸を提供することは、前記スキン部分の法線の候補押し出し軸に対する非直交性にペナルティを課す目的関数を最適化することによって当該押し出し軸を決定することを含み、
前記ペナルティは、前記目的関数の値が当該目的関数の値の閾値よりも低くなければならないという基準に基づく、請求項1に記載の方法。
【請求項9】
前記3Dモデルは離散要素を有する3Dメッシュであり、
前記比率閾値は、任意であって、前記3Dメッシュの離散要素の数に反比例する、請求項1に記載の方法。
【請求項10】
前記押し出し軸に基づいて押し出し輪郭を算出することをさらに含む、請求項1に記載の方法。
【請求項11】
請求項1から10の何れか一項に記載の方法を実行するための命令を含むコンピュータプログラム。
【請求項12】
請求項11に記載のコンピュータプログラムを記録したコンピュータ可読記憶媒体。
【請求項13】
請求項11に記載のコンピュータプログラムを記録したメモリに結合されたプロセッサを備えるシステム。
【外国語明細書】