JP2022179417A - Cadモデルのパラメータ化 - Google Patents
Cadモデルのパラメータ化 Download PDFInfo
- Publication number
- JP2022179417A JP2022179417A JP2022081416A JP2022081416A JP2022179417A JP 2022179417 A JP2022179417 A JP 2022179417A JP 2022081416 A JP2022081416 A JP 2022081416A JP 2022081416 A JP2022081416 A JP 2022081416A JP 2022179417 A JP2022179417 A JP 2022179417A
- Authority
- JP
- Japan
- Prior art keywords
- cad
- vector field
- vector
- sweep
- skin portion
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/17—Mechanical parametric or variational design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/17—Function evaluation by approximation methods, e.g. inter- or extrapolation, smoothing, least mean square method
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/12—Geometric CAD characterised by design entry means specially adapted for CAD, e.g. graphical user interfaces [GUI] specially adapted for CAD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/23—Design optimisation, verification or simulation using finite element methods [FEM] or finite difference methods [FDM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/10—Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
- G06T17/205—Re-meshing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/64—Three-dimensional objects
- G06V20/653—Three-dimensional objects by matching three-dimensional models, e.g. conformal mapping of Riemann surfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/04—Constraint-based CAD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/10—Numerical modelling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/28—Design optimisation, verification or simulation using fluid dynamics, e.g. using Navier-Stokes equations or computational fluid dynamics [CFD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/06—Recognition of objects for industrial automation
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Geometry (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Computer Graphics (AREA)
- Databases & Information Systems (AREA)
- Algebra (AREA)
- Multimedia (AREA)
- Architecture (AREA)
- Human Computer Interaction (AREA)
Abstract
【課題】スイープとして配置される材料分布を有する部分を含む機械部品のコンピュータ支援設計3Dモデルのパラメータ化のためのコンピュータ実装方法、コンピュータプログラム、コンピュータプログラムを記録した記憶媒体及びシステムを提供する。【解決手段】方法は、3D曲線に沿って輪郭をスライド及び/又は回転させることから生じる軌道及び境界によって定義されるオブジェクト又はその表面を意味するスイープが、軌道と境界を有し、機械部品の部分の外面を表すスキン部分を含む3Dモデル及び各々が当該境界及び/又は当該軌道を表す1つ以上のベクトル場を提供することを含み、候補パラメータの勾配とベクトル場との整列に報酬を付与する目的関数を最適化することによって、各ベクトル場に対し、スキン部分の各パラメータの値分布を決定することをさらに含む。【選択図】図3
Description
本開示は、コンピュータプログラム及びシステムの分野に関し、より具体的には、機械部品のコンピュータ支援設計(CAD)3Dモデルのパラメータ化のための方法、システム、及びプログラムに関する。
市場には、オブジェクトの設計、エンジニアリング、製造用に、多数のシステム及びプログラムが提供されている。CADは、コンピュータ支援設計(Computer-Aided Design)の頭字語であり、例えば、オブジェクトを設計するためのソフトウェアソリューションに関する。CAEは、コンピュータ支援エンジニアリング(Computer-Aided Engineering)の頭字語であり、例えば、将来の製品の物理的挙動をシミュレーションするためのソフトウェアソリューションに関する。CAMはコンピュータ支援製造(Computer-Aided Manufacturing)の頭字語であり、例えば、製造プロセスや動作を定義するためのソフトウェアソリューションに関する。このようなコンピュータ支援設計システムでは、技術の効率の点でグラフィカルユーザインターフェイスが重要な役割を果たす。これらの技術は、製品ライフサイクル管理(PLM)システム内に組み込まれ得る。PLMとは、企業が製品データを共有し、共通の処理を適用し、企業知識を活用して、拡張エンタープライズの概念にわたって、コンセプトから生涯にわたる製品の開発に役立てることを支援するビジネス戦略のことをいう。ダッソー・システムズが(CATIA、ENOVIA、DELMIAの商標のもと)提供するPLMソリューションでは、製品エンジニアリングの知識を編成するエンジニアリングハブと、製造エンジニアリングの知識を管理する製造ハブと、エンジニアリングハブ及び製造ハブへの企業の統合及び接続とを可能にする企業ハブが提供される。これらを合わせたシステムは、製品定義、製造準備、生産、及びサービスの最適化を促進するダイナミックかつ知識ベースの製品作成及び意思決定サポートを可能にするために、製品、プロセス、リソースをリンクするオープンオブジェクトモデルを提供する。
これらのシステム及びプログラムの中には、機械部品のCADモデルを処理する機能性を提供するものがある。
「Levy et al., “Least Squares Conformal Maps for Automatic Texture Atlas Generation”, ACM Transactions on Graphics (TOG), 21 (3), 2002, pp. 362-371」では、コーシー・リーマン方程式の最小二乗近似法に基づく準共形パラメータ化法が提示されている。このように定義される目的関数は、角変形を最小限に抑える。
「Mullen et al., “Spectral Conformal Parameterization”, Computer Graphics Forum, Wiley, 2008, 27 (5), 2008, pp. 1487-1494」では、三角形メッシュパッチの離散自由境界共形パラメータ化を、頂点に対する位置制約により頻繁に起こるアーティファクトや、サンプリングの不規則性によって生じる過度なバイアスをもたらさずに自動的かつ効率的に実行するためのスペクトル的な手順が説明されている。高度なパラメータ化は、対称な疎行列が関わる一般固有値問題の固有値/固有ベクトルの最大値を見つけることにより、離散荷重共形エネルギーの制約付き最小化を介して算出される。
こういった背景の中で、機械部品のCADモデルを処理するための改良されたソリューションが依然として必要とされている。
したがって、スイープとして配置される材料分布を有する部分を含む機械部品のコンピュータ支援設計(CAD)3Dモデルのパラメータ化のためのコンピュータ実装方法が提供される。スイープは軌道と境界を有する。本方法は、当該機械部品の当該部分の外面を表すスキン部分を含む3Dモデル、及び、各々が当該境界及び/又は当該軌道を表す1つ以上のベクトル場を提供することを含む。本方法はさらに、候補パラメータの勾配とベクトル場との整列に報酬を付与する目的関数を最適化することによって、各ベクトル場に対し、スキン部分の各パラメータの値分布を決定することをさらに含む。
本方法は、以下のうちの1つ以上を含んでもよい:
目的関数は、候補パラメータの勾配とベクトル場の間の誤差にペナルティを課すことによって、候補パラメータの勾配とベクトル場との整列に報酬を付与すること。
誤差は、候補パラメータの勾配とベクトル場の間の距離であり、当該距離は、計量テンソルに基づくこと。
目的関数の次の通りである:
この式において、Mはスキン部分、Xはベクトル場、fは候補パラメータ、df#は候補パラメータの勾配、ωgは計量テンソルgに対するスキン部分上の標準的な体積形式、|df#-X|g
2は、計量テンソルgに対する候補パラメータfの勾配df#とベクトル場Xの間の距離である。
候補パラメータは、次の空間:
を表す空間に属し、この式において、H1(M)は、スキン部分M上の弱微分可能な関数のソボレフ空間である。
目的関数を最適化することは、次のような、ポアソン問題の解の近似をH* 1(M)において見つけることが含まれる:
この式において、∂Mはスキン部分Mの境界を示し、∇αXαはベクトル場の発散であり、ιY(ω)はベクトル場Y∈Γ(TM)に関するM上のn-形式ω∈Ωn(M)の内部積であり、ここで、TMはMの接束であり、Γ(TM)はスキン部分M上の滑らかな接ベクトル場の集合である、
スキン部分は離散要素を持つ3D離散幾何学表現で表され、ポアソン問題の解の近似はH* 1(M)を表す離散空間にある、
離散空間は次のとおりである:
この式において、nは離散幾何学表現の離散要素の数であり、各φiは離散要素iに関連付けられるスキン部分M上の連続区分線形関数である。
1つ以上のベクトル場は、スキン部分の主曲率方向にすべて整列する複数のベクトル場を含む。
材料分布は押し出しとして配置され、上記方法は押し出し軸を提供することをさらに含み、1つ以上のベクトル場が、押し出し軸とスキン部分の法線とのクロス積によって形成されるベクトル場を含む。
材料分布は回転として配置され、上記方法は回転軸を提供することをさらに含み、1つ以上のベクトル場が、スキン部分の法線と軌道に沿ってスキン部分に接するベクトルのクロス積によって形成されるベクトル場を含む。
本方法は、決定された各値分布に基づいてスイープの輪郭を算出することをさらに含んでもよい。
目的関数は、候補パラメータの勾配とベクトル場の間の誤差にペナルティを課すことによって、候補パラメータの勾配とベクトル場との整列に報酬を付与すること。
誤差は、候補パラメータの勾配とベクトル場の間の距離であり、当該距離は、計量テンソルに基づくこと。
目的関数の次の通りである:
候補パラメータは、次の空間:
目的関数を最適化することは、次のような、ポアソン問題の解の近似をH* 1(M)において見つけることが含まれる:
スキン部分は離散要素を持つ3D離散幾何学表現で表され、ポアソン問題の解の近似はH* 1(M)を表す離散空間にある、
離散空間は次のとおりである:
1つ以上のベクトル場は、スキン部分の主曲率方向にすべて整列する複数のベクトル場を含む。
材料分布は押し出しとして配置され、上記方法は押し出し軸を提供することをさらに含み、1つ以上のベクトル場が、押し出し軸とスキン部分の法線とのクロス積によって形成されるベクトル場を含む。
材料分布は回転として配置され、上記方法は回転軸を提供することをさらに含み、1つ以上のベクトル場が、スキン部分の法線と軌道に沿ってスキン部分に接するベクトルのクロス積によって形成されるベクトル場を含む。
本方法は、決定された各値分布に基づいてスイープの輪郭を算出することをさらに含んでもよい。
本方法を実行するための命令を含むコンピュータプログラムがさらに提供される。
さらに、当該コンピュータプログラムを記録したコンピュータ可読記憶媒体が提供される。
さらに、当該コンピュータプログラムを記録したメモリに結合されたプロセッサを備えるシステムが提供される。
添付の図面を参照して非限定的な例を説明する。
本明細書において、機械部品のコンピュータ支援設計(CAD)3Dモデルのパラメータ化のためのコンピュータ実装方法が提案される。機械部品は、スイープとして配置される材料分布を有する部分を含む。スイープは軌道と境界を有する。本方法は、3Dモデル及び1つ以上のベクトル場を提供することを含む。3Dモデルは、上記機械部品の部分の外面を表すスキン部分を含む。各ベクトル場は、上記境界及び/又は上記軌道を表す。本方法はさらに、目的関数を最適化することによって、各ベクトル場に対し、スキン部分の各パラメータの値分布を決定することをさらに含む。目的関数は、候補パラメータの勾配とベクトル場との整列に報酬を付与する。
本発明は、機械部品又はその一部分のCADの3Dモデルを処理するための改良されたソリューションを構成する。特に、本方法は、スイープとして配置される材料分布を有する、機械部品の一部分の外面を表す当該CADモデルのスキン部分のパラメータ化を提供する。言い換えると、本方法では、機械部品のスイープをパラメータ化できる。「スキン部分のパラメータ化を提供する」とは、スキン部分において、スキン部分のジオメトリー及び/又はトポロジーを説明する1つ以上(例えば、2つ)の各パラメータの値分布を決定することを意味する。スイープのパラメータ化は、以下で説明するように、CAD製造分野と特に関係が深い。
さらに、本方法によってスイープがパラメータ化できるだけでなく、自然なパラメータ化、つまり、スイープの自然方向に対して最適であるパラメータ化が本方法によって提供される。実際に、本方法は、入力として、各々がスイープの境界及び/又はスイープの軌道を表す1つ以上のベクトル場を提供し、すなわち、当該1つ以上のベクトル場は、スイープの自然方向の1つ以上のベクトル場を形成する。スイープの自然方向は、その軌道の方向又はその境界の曲率の方向であり、例えば、スイープの輪郭曲線又はスイープのガイド曲線の方向である。例えば、1つ以上のベクトル場は、スキン部分の主曲率方向と整列してよい。次に、本方法は、候補パラメータ(すなわち、最適化の候補解)の勾配とベクトル場との整列に報酬を付与する目的関数を最適化することによって、各ベクトル場に対し、各パラメータの値分布を決定する。それにより、本方法によって決定される各パラメータの値分布、すなわち、ベクトル場との勾配整列に報酬を付与する最適化から生じる各パラメータの値分布はそれぞれ、各ベクトル場と整列する傾向にある勾配を有する。したがって、決定される値分布は全体的に、入力される1つ以上のベクトル場が表すスイープの自然方向に従う。つまり、本方法は、スイープの自然方向に従うパラメータ化を提供する。例えば、決定される値分布は全体的に、各パラメータが自然方向に沿って弧長とともに増大するスイープの弧長パラメータ化を構成してもよい。上記部分が円柱形状であり、そのスキン部分が当該部分の外面(すなわち、円柱表面)である例では、1つ以上のパラメータの決定される値分布は、各円筒座標系の方向(つまり、軸)に沿って増大する、1つ以上の円筒座標の値分布であってよい。このようなパラメータ化は、円柱表面の最も自然な解釈をもたらす。本方法では、より複雑な輪郭/ガイド曲線を有する一般的なスイープに対して、このような自然なパラメータ化を取得できる。本方法で得られる自然パラメータ化は、CAD製造と特に関係が深い。実際に、このようなパラメータ化により、スイープの輪郭曲線及び/又はガイド曲線の決定が容易になり、最終的に、以下で説明するフィーチャーツリーの構築の文脈では、例えばCADスイープフィーチャーとして、スイープをその輪郭及び/又はガイド曲線で記述することが可能になる。自然パラメータ化はスイープとして配置される材料の製造に関連する方向に従うため、このパラメータ化により、機械部品の対応部分の製造を考慮したスイープの編集も容易になる。これにより、製造要件を考慮した編集が容易になる。
さらに、本方法が実行する最適化を介したスイープのパラメータ化により、パラメータ化はノイズや不完全表面に対してロバストとなり、スイープのパラメータ化を取得するための改良されたソリューションが構成される。言い換えると、CADモデルはノイズの多いCADモデル(例えば、特に3Dモデルが3D点群である場合の外れ値の点によりノイズを有するCADモデル、又は、特に3Dモデルが3Dメッシュである場合のCADモデル外面の非平滑性によりノイズを有するCADモデル)であってもよく、又は、CADモデルは1つ以上の不完全表面(例えば、1つ以上の、穴を有する表面)を含んでもよい。実際に、最適化は、候補パラメータと各ベクトル場との全体的な勾配整列に報酬を付与するため(例えば、目的関数は積分量であってよい)、したがって、局所的なノイズ又は穴の影響が小さくなる傾向にある。
前述のように、CADの3Dモデルのパラメータ化又はそのスキン部分といった少なくとも一部のパラメータ化は、CADの製造分野、つまり設計プロセス及び製造プロセスを支援するソフトウェアソリューションに特に関係があり、その目的は、設計されるCADの3Dモデルに対応する物理的な製品を製造することである。こういった背景の中で、CADの3Dモデルは、設計の下流で製造され得る製造品を表す。したがって、本方法は、そのような設計及び/又は製造プロセスの一部であってよい。本方法は、例えば、提供されるCADの3DモデルからCADフィーチャーを取得するステップを構成してもよく、又は、当該ステップの一部であってもよい。CADフィーチャーは、特定の幾何学特性又は位相特性を持つ空間領域のパラメトリック及び形状の記述である。空間領域がスイープの場合、CADフィーチャーはスイープCADフィーチャーである。一般に、提供されるCADモデルは、モデルの基礎となるCADフィーチャーの関連データを含まない場合があり、提供されるCADの3DモデルからCADフィーチャーを取得するプロセスは、提供されるCADの3Dモデルが1つ以上のCADフィーチャーの適用によって記述され得るように、1つ以上のCADフィーチャー(例えば、1つ以上の押し出しフィーチャー、回転フィーチャー、フィレットフィーチャー又はスイープフィーチャー)を取得することを含む。そのような設計及び/又は製造プロセス内で、CADフィーチャーを取得するステップは、各CADフィーチャーを有するCADの3Dモデルのジオメトリー(すなわち、スキン部分などの部分)のパラメータ化を含んでもよい。例えば、CADフィーチャーを取得するステップは、フィーチャーツリー構築のステップであってよく、又は、その一部であってよい。CADフィーチャーを取得するステップ内で、本方法はCADモデルの少なくとも一部、つまりスキン部分をパラメータ化し、例えば、他の方法は、他の部分(例えばスキン部分)をパラメータ化してもよい。本方法は、それによって、スキン部分を表すためのスイープCADフィーチャーを、例えばフィーチャーツリー内に生成してよい。本方法を繰り返し、複数のスイープCADフィーチャー(例えば、CADの3Dモデルの異なる位置でのCADフィーチャー)を生成してもよいことを理解されたい。パラメータ化により、CADモデルの操作/編集が容易になる。特に、本方法が行うスイープのパラメータ化は、スイープの編集を容易にする。本方法を含むCADフィーチャーを取得するステップの後に、パラメータ化CADフィーチャー、特に本方法で取得されたパラメータ化スイープを使用する設計及び/又は製造ステップがさらに続いてもよい。これらの追加ステップには、さらなる設計及び/又は編集動作、テスト、シミュレーション及び/又は製造が含まれてよい。言い換えれば、本方法は、CADモデルが次に続く製造CADプロセスのステップ(例えば、さらなる設計/編集動作、テスト、シミュレーション及び/又は製造)での使用に適応されるステップで、製造CADプロセス内に含まれてよい。本方法は、本方法によってパラメータ化されたCADモデルを使用する他の多くの用途に含まれてよい。
このように、本方法は、CADの3Dモデルのスキン部分のパラメータ化を改良し、これにより、例えば、製造を視野にいれた準備が可能になる。例えば、本方法によってパラメータ化されたスキン部分は、下流の製造プロセス(例えば、成形、機械加工、積層造形)の特徴を考慮して編集してよい。これにより、製造機(金型、機械加工ツール、3Dプリンタなど)の準備や設定が容易になる。このように、本方法は、CADモデルによって表される製品の製造を改良し、製造プロセスの生産性を向上させる。
したがって、本方法は、CADモデル又はその少なくとも一部をパラメータ化するために使用される。パラメータ化されたCADの3Dモデル又は少なくともその一部は、離散表現(点群、メッシュ、ボクセル表現など)といった非パラメータ化3Dモデルとは対照的に、簡単な操作及び/又は編集能力及び/又はメモリへの効率的な保存を可能にする。例えば、スキン部分は、本方法によって一度パラメータ化されると、正準的なプリミティブ(例えば、平行六面体又は円柱)に当てはめてもよく、又は、他の適応幾何学ツール、例えばNURBSなどの非正準的なパラメータ化表面でパラメータ化してもよい。以下で説明する用途を含む本方法の任意の用途において、CADの3Dモデルは、測定されるCADの3Dモデル(すなわち、以下で説明するように機械部品の物理的測定から得られるCADモデル)であってよい。このような場合、CADの3Dモデルのスキン部分のパラメータ化により、(生の)測定されたCADの3Dモデルを処理でき、最終的には(すなわちパラメータ化が取得されると)測定されたCADの3Dモデルを編集できる。よって、本方法を使用して、一般に、機械部品の測定部分に対してスキン部分をパラメータ化し、次にそれを編集可能なデータ構造に処理してよい。
前述したように、本方法は、スイープとして配置される材料分布を有する機械部品の一部分をパラメータ化する。スイープとして配置される材料分布を有する機械部品の各部分は、製造の観点から一貫した部分である。つまり、機械部品の該当部分は、現実世界では、それぞれの製造プロセス(例えば、成形、積層造形、又は機械加工)を必要とする、又は当該製造プロセスに適応したそれぞれのジオメトリー、例として、(例えば製造の制約上好ましい)加工経路又は(例えば製造の制約上)好ましい金型特性に対応するジオメトリーを有する。機械部品の製造設定は、これらすべての例において、本方法が提供するパラメータ化に基づいて推論できるスイープの輪郭及び/又はガイド曲線によって決定してよい。よって、本方法は、本方法が提供するスイープのパラメータ化に基づいて取得されるスイープの輪郭及び/又はガイド曲線に基づき、製造プロセスを設定するステップを含む製造CADプロセスに含まれてもよく、ここで、本方法は、スイープの輪郭及び/又はガイド曲線を取得することを含んでよい。
一例では、機械部品は成形部品であり得、その部分は成形によって製造されてよい。これらの例では、スイープは押し出しであってよい。このような場合、当該部分を表すスキン部分のパラメータ化は、(例えばパラメータ化を使用して押し出しの輪郭を算出することによって)これらの例においてパラメータ化された押し出し面であるパラメータ化されたスキン部分へのドラフト演算子の適用を可能にする。言い換えれば、本方法によって提供されるパラメータ化によって、押し出しの輪郭曲線が復元でき、そこからドラフト演算子を容易に構築してよい。CAD製造から公知の通り、ドラフト演算子は押し出しフィーチャーに適用可能であり、ドラフト演算子の適用により、押し出し軸に対してドラフト角度を定義して、押し出し面に円錐形状を与えることができる。設計時に得られたこの円錐形状を保有し続ける対応部分の成形プロセス中において、円錐形状は、型からの当該部分の引き抜き(すなわち、離型/型抜き)を容易にする。一般的なスイープの場合、当該部分を表すスキン部分のパラメータ化により、上記のようにスイープの輪郭曲線及び/又はガイド曲線を決定できる。これにより、最終的に、パラメータ化されたスキン部分に他の演算子を定義及び適用することができ、それに際してスキン部分の形状は成形に特に適する。したがって、本方法は、本方法によって実行されるパラメータ化の下流に編集ステップを含む、成形部品の設計及び/又は製造の製造CADプロセスに含まれてよい。編集ステップは、下流の成形プロセスの対応する型の制約を満たすため、本方法によってパラメータ化されたスキン部分へドラフト演算子を適用すること含んでよく、それにより、成形部分の離型/型抜き/引き抜きを容易にする。より一般的には、スイープが一般的なスイープ(つまり、必ずしも押し出しではない)である場合、編集ステップは、CADの3Dモデル化オブジェクトのスキン部分が型の制約を満たすように、本方法によって提供されるパラメータ化に基づいたスイープの任意の編集を含んでよい。言い換えると、一般的なスイープの場合、押し出しの場合と同様に、本方法で得られるパラメータ化によって対象の曲線を忠実に復元することで、スイープが成形に適するように演算子を定義できる。
一例では、機械部品及びその部分は、積層造形によって製造されてもよい。スキン部分のパラメータ化は、このような場合、スイープの自然方向に沿った印刷経路、例えば、スイープの軌道(又は、本方法に関与するスイープが1つ以上の輪郭及び/又は1つ以上のガイド曲線によって定義される場合、当該ガイド/輪郭曲線のうち1つのガイド/輪郭曲線)の定義が可能になる。したがって、本方法は、積層造形によって製造される機械部品を設計及び/又は製造する製造CADプロセスに含まれてよい。このプロセスは、本方法によって取得されるスキン部分のパラメータ化に基づいて、スイープの軌道に沿った印刷経路を定義することを含んでよい。このプロセスは、定義された印刷経路に従って積層造形を実行する3Dプリンタの設定を定義することをさらに含んでよい。
一例では、機械部品は機械加工される部品であり得、その部分は機械加工(例えば、切断)によって製造されてよい。このような場合、スキン部分のパラメータ化により、本方法によって決定されるパラメータ化の自然方向に沿った機械加工ツール(例えば、切断工具)経路の定義、例えば、これらの方向に沿って材料を切断するための経路の定義が可能になる。上述の通り、本方法は、機械加工ツールのための自然曲線を形成するスイープの輪郭及び/又はガイド曲線を取得することを含んでよく、すなわち、機械加工ツールはこれらの曲線に沿って加工する際により効率的であるよう構成され、例えば、これらの曲線に沿った機械加工は速度及び/又は正確性が向上する。例えば、スイープが押し出しである場合、機械加工ツールは、押し出しの輪郭曲線に沿って材料を切断するように構成されてよい。したがって、本方法は、機械加工によって製造される機械部品を設計及び/又は製造する製造CADプロセスに含まれてよい。このプロセスは、自然方向に沿って、かつ、本方法によって得られるパラメータ化に基づいて、機械加工ツールの経路を定義することを含んでよい。このプロセスは、定義された経路に従って機械加工を実行する機械加工ツールの設定を定義することをさらに含んでよい。
CADの製造における本方法のパラメータ化の使用を議論してきた。ここで、CAD製造の背景又は別の背景にも関連し得る他の用途について説明する。
第1の用途では、本方法で取得されるCADモデルのスキン部分のパラメータ化を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モデルを境界表現に変換するためのコンピュータ実装プロセスに含まれてよい。
第2の用途では、本方法で取得されるパラメータ化をフィーチャーツリーの構築に使用してよい。この第2の用途には、取得されるパラメータ化を使用してCADの3Dモデルのフィーチャーツリー表現を構築することが含まれる。実際に、フィーチャーツリーの構築には、1つ以上のスキン部分の1つ以上の各パラメータ化を取得するために、機械部品の1つ以上の部分に本方法を適用することを含んでよい。次に、フィーチャーツリー構築では、パラメータ化された各スキン部分がフィーチャーツリーに追加されてよい。したがって、本パラメータ化方法は、機械部品を表すCADの3Dモデルからフィーチャーツリーを構築するためのコンピュータ実装プロセスに含まれてよい。フィーチャーツリーの構築プロセスには、次のものが含まれてよい。
本方法を1回以上適用すること、そして、各適用で、CADモデルの、スイープとして配置される材料分布を表すスキン部分のパラメータ化の値分布が生成されること。
パラメータ化されたスキン部分ごとに、パラメータ化に基づいて対応するスイープCADフィーチャーを定義し、任意で、対応するCADフィーチャーとして他の各ジオメトリーをパラメータ化すること。
パラメータ化された各CADフィーチャーを機械部品のフィーチャーツリーに含めること。
本方法を1回以上適用すること、そして、各適用で、CADモデルの、スイープとして配置される材料分布を表すスキン部分のパラメータ化の値分布が生成されること。
パラメータ化されたスキン部分ごとに、パラメータ化に基づいて対応するスイープCADフィーチャーを定義し、任意で、対応するCADフィーチャーとして他の各ジオメトリーをパラメータ化すること。
パラメータ化された各CADフィーチャーを機械部品のフィーチャーツリーに含めること。
第3の用途では、本方法によって取得される各パラメータの値分布を、再メッシュ(例えば、提供されるCADの3Dモデルが3Dメッシュである場合)又は再サンプリング(例えば、提供されるCADの3Dモデルが3D点群の場合)に使用する。第3の用途によれば、スキン部分は上記のようにパラメータ化してよく、これによりCADの3Dモデルの再メッシュ又は再サンプリングが可能になる。この再メッシュ化/再サンプリングは、CADの3Dモデルのノイズを除去する(例えば、特に3D点群の場合外れ値の点を削除する、又は、特に3Dメッシュの場合、CADモデルの外面を平滑化する)ために使用してよい。追加的又は代替的に、再メッシュ化/再サンプリングを使用して3Dメッシュを効率的にテッセレーションしてもよく、つまり、面の数を最小限に抑えてメッシュの(ストレージにおける)重さを最適化しつつ正確な表面への最適離散化距離を確保するためにメッシュの面サイズを対応表面の曲率に適応させてもよい。例えば、再メッシュ/再サンプリングを使用して、メッシュの重さを最小限に抑えながら、正確な表面までの距離を十分に短くするようにする(例えば、この場合、表面への近さは制約と見なされ、最適化するものではない)。したがって、本方法は、メッシュ処理操作のより複雑な適用の代わりに、2Dの平面パラメトリック空間への適応手順、及び、スキン部分への表面当てはめを可能にするため、メッシュを適応させるための改良されたソリューションを構成する。したがって、本パラメータ化方法は、機械部品を表す3Dメッシュ(又は3D点群)であるCADの3Dモデルを再メッシュ(又は再サンプリング)するためのコンピュータ実装プロセスに含まれてよい。
第4の用途では、本方法によって取得される1つ以上の各パラメータの値分布を、「テクスチャリング」とも呼ばれるCADモデルのテクスチャマッピングに使用してもよい。テクスチャリングは、CADモデルに、変形を最小限に抑えて画像を貼り付けるプロセスを意味する。この用途では、本方法は、2つのパラメータを含むパラメータ化を提供してよく、画像のピクセルとの対応が提供できる。テクスチャリングは、例えば、本方法によって提供されるパラメータ化に基づいて取得された輪郭及び/又はガイド曲線に画像を適合させることによって、パラメータ化に基づいて画像を貼り付けることを含んでよい。この第4の用途は、例えば、コンピュータグラフィックス分野で公知のUVマッピングを算出することで、取得されたパラメータ化を使用して、CADの3Dモデルのスキン部分の2D投影を算出することを含んでよい。さらに、パラメータ化を使用して、マッピングの変形を最小限に抑えてよい。したがって、本方法は、CADモデルのテクスチャマッピングのためのコンピュータ実装プロセスに含まれてよい。
本方法によって取得される1つ以上の各パラメータの値分布は、例えば3D変形、3Dレンダリング(幾何学属性/材料属性の算出、オクルージョンカリング、影決定)、3Dアニメーション及び/又は形状圧縮といった、他の用途で使用されてもよい。特に、それぞれスイープとして配置される機械部品の部分をパラメータ化することにより、機械部品の3DのCADモデルのパラメータ化で、適応性と大幅な圧縮がもたらされる。本方法によって可能になる適応性により、パラメータ化されたCADモデルから、さまざまなサイズの面(三角形/四角形など)のアドホックメッシュを生成できる。機械加工及び/又はレンダリングがリアルタイムで実行される例では、生成されるメッシュは、リアルタイムのパフォーマンスを向上させるために、面サイズは大きく、メモリフットプリントは軽くてよい。他の例では、機械加工が高精度である場合、及び/又は高品質のレンダリングである場合、生成されるメッシュは、同じパラメータ化されたCADモデルから生成される、小サイズの面(例えば、エッジ長が1mmの三角形)を有するメッシュであってよい。本方法が行うようなパラメータ化により、CADモデルの効率的な保存が可能になり、特に、メモリフットプリントが大きい極めて精密なバージョンのメッシュの保存を回避できる。これらの用途については、参考文献「“A survey of Simple Geometric Primitives Detection Methods for Captured 3D data”, Computer Graphics Forum, 2018,」で議論されており、当該参考文献は参照により本明細書に組み込まれる。
本方法は通常、CADの3Dモデルなどのモデル化オブジェクトを操作する。モデル化オブジェクトは、例えばデータベース内に保存されているデータによって定義される任意のオブジェクトである。ひいては、「モデル化オブジェクト」という表現は、データ自体を示す。システムの種類に応じて、モデル化オブジェクトはさまざまな種類のデータによって定義されてもよい。システムは、実際に、CADシステム、CAEシステム、CAMシステム、PDMシステム、及び/又はPLMシステムの任意の組み合わせであってよい。これらの様々なシステムで、モデル化オブジェクトは対応するデータによって定義される。したがって、CADオブジェクト、PLMオブジェクト、PDMオブジェクト、CAEオブジェクト、CAMオブジェクト、CADデータ、PLMデータ、PDMデータ、CAMデータ、CAEデータが議論されてよい。ただし、モデル化オブジェクトはこれらのシステムの任意の組み合わせに対応するデータによって定義されてよいため、これらのシステムは他のシステムに対して排他的ではない。
CADの文脈では、モデル化オブジェクトは通常、部品や部品のアセンブリといった製品、又は場合により製品のアセンブリを表す、3Dのモデル化オブジェクト又は3Dモデルであってよい。「3Dモデル化オブジェクト」又は「3Dモデル」とは、3D表現を可能にするデータによってモデル化されるオブジェクトを意味する。3D表現により、すべての角度から部品を見ることが可能になる。例えば、3Dモデル化オブジェクトは、3Dで表現されている場合、そのいずれかの軸、又は、表示されている画面の任意の軸をもとに、処理及び回転してもよい。よって、特に、3Dにモデル化されていない2Dアイコンは除外される。3D表現の表示により、設計が容易になる(つまり、設計者が統計的にタスクを実行する速度が向上する)。製品の設計は製造プロセスの一部であるため、これにより産業界での製造プロセスがスピードアップする。
3Dモデル化オブジェクト又は3Dモデルは、例えばCADソフトウェアソリューション又はCADシステムによって現実世界で製造される製品の仮想設計が完成後、当該製品のジオメトリーを表してもよく、当該製品は、(例えば機械)部品又は部品のアセンブリ(部品のアセンブリは、本方法の観点から部品自体と見なされてよいため、又は、本方法はアセンブリの各部品に独立して適用されてよいため、部品と部品のアセンブリは同等)、又は、より一般的には、任意の剛体のアセンブリ(例えば、可動機構)が例として挙げられる。CADソフトウェアソリューションにより、航空宇宙、建築、建設、消費財、ハイテク機器、産業機器、輸送、海洋、及び/又は沖合の石油/ガス生産又は輸送など、さまざまな産業分野で製品を設計することが可能になる。本方法で設計される3Dモデル化オブジェクトは、任意の機械部品であり得る産業製品であってよく、例えば、陸上車両の部品(例えば、自動車及び軽トラック機器、レーシングカー、オートバイ、トラック及びモーター機器、トラック及びバス、列車などを含む)、航空車両の部品(例えば、機体機器、航空宇宙機器、推進機器、防衛製品、航空機器、宇宙機器などを含む)、海上車両の部品(海軍機器、商用船、沖合機器、ヨット及び作業船、船舶機器などを含む)、一般的な機械部品(例えば、産業用製造機械、重機用機械又は機器、設置機器、産業用機器製品、金属加工製品、タイヤ製造製品などを含む)、電気機械又は電子部品(例えば、家電機器、セキュリティ及び/又は制御及び/又は計測製品、コンピューティング及び通信機器、半導体、医療装置及び機器などを含む)、消費財(例えば、家具、家庭及び庭用製品、レジャー用品、ファッション製品、耐久消費財小売業者の製品、織物類小売業者の製品などを含む)、パッケージ(例えば、食品及び飲料及びタバコ、美容及びパーソナルケア、家庭用品の包装などを含む)である。
3Dモデルはいずれも、例えば機械部品などの現実世界のオブジェクトといった、3D現実世界のオブジェクトの離散幾何学表現を形成し得る。離散幾何学表現とは、データ片の離散的なセットを含むデータ構造である。各データ片は、同等に離散要素とも呼ばれ得る。各データ片は、3D空間に配置されるそれぞれの幾何学的実体を表す。幾何学的実体はそれぞれ、3Dオブジェクトのそれぞれの位置(言い換えると、3Dオブジェクトによって表されるソリッドを構成する材料のそれぞれの部分)を表す。幾何学的実体の集合体(つまり、結合又は並置)は、全体で、3Dオブジェクトの少なくとも一部を表す。離散幾何学表現は、例えば、100、1000、又は10000を超える数のデータ片を含んでよい。
離散幾何学表現は、例えば、各幾何学的実体が点である3D点群であってもよい。離散幾何学表現は、例えば、各幾何学的実体がメッシュのタイル又は面である3Dメッシュであってもよい。3Dメッシュは、正則又は不正則であってよい(つまり、同種の面からなっていてもなっていなくてもよい)。3Dメッシュは、多角形メッシュ、例えば三角形メッシュであってもよい。3Dメッシュは、例えば、3D点群を三角形分割して(例えば、ドロネー三角形分割で)、3D点群から取得してもよい。
3D点群又は3Dメッシュは、例えば再構成プロセスで、実際のオブジェクトを物理的に測定して決定してもよい。3D再構成プロセスは、実際のオブジェクトを提供すること、それぞれが各物理信号を取得するよう構成された1つ以上の物理センサーを提供すること、現実シーンでその1つ以上の物理センサーを操作して1つ以上の物理信号をそれぞれ取得すること(すなわち、実際のオブジェクトを各センサーでスキャンすること)を含んでよい。3D再構成は、次に、任意の既知の技術に従い、測定値に基づいて3D点群及び/又は3Dメッシュを自動的に決定してもよい。1つ以上のセンサーは、複数の(例えばRGB及び/又は画像又はビデオ)カメラを含んでもよく、当該決定は、structure-from-motion分析を含んでよい。1つ以上のセンサーは、代替的又は追加的に、1つ以上の深度センサーを含んでもよく(例えば、RGB-深度カメラ上)、当該決定は、深度データからの3D再構成を含んでもよい。1つ以上の深度センサーは、例えばレーザー(例えば、LIDAR)又は超音波エミッター-レシーバーを含んでもよい。
あるいは、3D点群又は3Dメッシュは、例えば3Dモデル化オブジェクトにレイキャスティングする、又は、3Dモデル化オブジェクトをテッセレーションすることで、あるソリッド又は機械部品のスキン(すなわち外面)を表す3Dモデル化オブジェクトから取得されてもよい。テッセレーションは、3Dモデル化オブジェクトの任意のレンダリングプロセスに従って実行してもよい。このようなレンダリングプロセスは、3Dモデル化オブジェクトのグラフィック表現を表示するために、任意のCADシステム上にコードされてもよい。3Dモデル化オブジェクトは、CADシステムユーザによって設計されてもよく、又は、CADシステムユーザが設計したものであってもよい。
CADシステムは履歴ベースであってもよい。この場合、モデル化オブジェクトは、幾何学的な特徴の履歴を含むデータによってさらに定義される。モデル化オブジェクトは、実際には、標準のモデリング機能(押し出し、回転、カット、ラウンドなど)及び/又は標準の表面機能(スイープ、ブレンド、ロフト、フィル、変形、及び/又はスムージングなど)を使用して、物理的な人物(つまり設計者/ユーザ)によって設計されてもよい。このようなモデリング機能をサポートする多くのCADシステムは、履歴ベースのシステムである。これは、設計的特徴の作成履歴が、通常、入力及び出力リンクを介して前述した幾何学的な特徴をリンクする非循環データフローによって保存されることを意味する。部品の履歴は設計意図である。基本的に、履歴はモデル化オブジェクトに実施された動作に関する情報を収集し、それによって設計意図に応じた部品の設計変更を可能にする。履歴ベースのモデリングパラダイムは、当該技術分野で公知のいずれかの方法に従って実現してよい。
PLMシステムは、製造された物理的な製品(又は製造される製品)を表すモデル化オブジェクトの管理に適合したシステムをさらに意味する。したがって、PLMシステムでは、モデル化オブジェクトは、物理的なオブジェクトの製造に適したデータによって定義される。データは通常、寸法値及び/又は許容値であり得る。オブジェクトを正しく製造するには、そのような値を設定することが好ましい。例えば、PLMシステムは、CADモデルで提供されるフィーチャーに関する機械加工や成形などの製造公差を管理できる。
CAMソリューションは、製品の製造データを管理するのに適合したソリューション(ハードウェアのソフトウェア)をさらに意味する。製造データには、通常、製造する製品、製造プロセス、及び必要なリソースに関連するデータが含まれる。CAMソリューションを用いて、製品の製造プロセス全体を計画及び最適化する。例えば、CAMソリューションは、CAMユーザに、実現可能性、製造プロセスの期間、又は、製造プロセスの特定のステップで使用され得る特定のロボットなどのリソースの数に関する情報を提供でき、したがって、管理又は必要な投資に関する決定が可能になる。CAMは、CADプロセス及び場合によりCAEプロセスの後の後続プロセスである。例えば、CAMソリューションは、CADモデルの1つ以上のフィーチャーと一貫した機械加工パラメータ又は成形パラメータに関する情報を提供してよい。このようなCAMソリューションは、ダッソー・システムズの商標DELMIA(登録商標)によって提供されている。
CAEソリューションは、モデル化オブジェクトの物理的挙動の分析に適合したソリューション(ハードウェアのソフトウェア)をさらに意味する。広く使用されている公知のCAE技術は、有限要素法(FEM)であり、有限要素法は通常、方程式を介して物理的挙動を計算及びシミュレートできる要素へのモデル化オブジェクトの分割が関与する。このようなCAEソリューションは、ダッソー・システムズの商標SIMULIA(登録商標)によって提供されている。もう1つ、成長中のCAE手法として、CADジオメトリーのデータなしで物理学の異なる分野からの複数のコンポーネントで構成される複雑なシステムをモデリング及び分析することがある。CAEソリューションは、シミュレーションを可能にし、したがって、製造する製品の最適化、改良、検証が可能になる。このようなCAEソリューションは、ダッソー・システムズの商標DYMOLA(登録商標)によって提供されている。
PDMは製品データ管理(Product Data Management)の略語である。PDMソリューションとは、特定の製品に関する全種類のデータを管理するのに適合したソリューション(ハードウェアのソフトウェア)を意味する。PDMソリューションは、製品のライフサイクルに関与する全当事者が使用してもよく、主にエンジニアであるが、プロジェクトマネージャー、財務担当者、営業担当者、購入者も含まれる。PDMソリューションは通常、製品指向のデータベースに基づいている。これにより、当事者は製品に関する一貫したデータを共有できるため、当事者が異なるデータを使用するのを防ぐことができる。このようなPDMソリューションは、ダッソー・システムズの商標ENOVIA(登録商標)によって提供されている。
本方法は、スイープとして配置される材料分布を有する部分を含む機械部品のCADの3Dモデルを提供することを含む。CADの3Dモデルは、上記機械部品の部分の外面を表すスキン部分を含む。機械部品の部分は、機械部品のある正確な部分であってもよく、機械部品は他の部分も含む。本方法は、スキン部分の1つ以上の各パラメータの値分布を決定する。本方法は、反復してもよく、すなわち、それぞれがスイープとして配置される材料分布を有する、機械部品の1つ以上の他の部分に適用してもよい。他の各部分への本方法の適用ごとに、他の各部分の外面を表すスキン部分のパラメータの値分布が決定される。したがって、本方法は、機械部品の複数のスイープ部分、例えば、全スイープ部分をパラメータ化してよい。あるいは、機械部品の部分は機械部品自体であってもよく、この場合、本方法は、スイープとして配置される機械部品自体の外面のパラメータ化を決定する。機械部品の部分は、機械加工プロセス、積層造形プロセス、及び/又は成形によって作成されてよい。
本方法は、CADの3Dモデルを提供する前に、セグメンテーション方法を実行することを含んでもよい。セグメンテーション方法は、CADの3Dモデルの1つ以上のセグメントを提供してよい。スキン部分は、セグメンテーションプロセスで取得されるCADの3Dモデルの1つ以上のセグメントを含んでよく、又は、当該1つ以上のセグメントからなってよい。代替的又は追加的に、本方法の前に、機械部品又はその外面の材料分布がスイープとして配置されているかどうかを検出するスイープ検出のステップがあってよい。
上記の通り、CADの3Dモデルを提供することは、CADの3Dモデルを測定又は取得することを含んでもよく、例えば、物理センサーを提供し、物理センサーを機械部品に対して動作させ(例えば、機械部品をスキャンする)、3D再構築プロセスを実行して3Dモデルを取得する。あるいは、3Dモデルを提供することは、3Dモデルを、例えばスケッチして作成することを含んでもよい。さらに別の代替案では、3Dモデルを提供することは、3Dモデルが作成又は取得後に保存されている(例えば、離れたところにある)データベースから3Dモデルを読みだすことを含んでもよい。
「外面」とは、機械部品以外の媒体、例えば別の機械部品又は空気と接触している表面を意味する。言い換えれば、外面は、その部分における機械部品の外側と機械部品の内側との間に境界を形成する。「スキン部分」とは、機械部品の当該部分の外面(つまり「スキン」)の任意の表面表現(開表面又は閉表面)を意味する。スキン部分は、各3Dモデルの境界(すなわち、表面)の少なくとも一部を表してよく、当該境界の少なくとも一部は、外面を表す。言い換えれば、スキン部分は、機械部品の外面に対応する、提供される機械部品の3Dモデルの一部である。つまり、CADの3Dモデル全体が機械部品を表しているのに対し、スキン部分は、機械部品のある部分の外面を表す、CADの3Dモデルの一部である。スキン部分は、その部分が機械部品のある正確な部分である場合、提供されるCADの3Dモデルの境界の正確な部分であってよい。この場合、3Dモデルは、それぞれが機械部品の別の各部分を表す他の部分を含む。あるいは、その部分が機械部品自体である場合、スキン部分はCADの3Dモデルの外側の境界であってよい。
材料の分布として外面によって表される部分は、スイープとして配置される。「スイープとして配置される材料分布を有する部分」とは、その部分の材料がスイープ形式で3D空間に分布されることを意味する。「スイープ」とは、各3D曲線に沿って輪郭をスライド及び/又は回転させることから生じる軌道及び境界によって定義されるオブジェクト又はその表面を意味する。スイープの軌道は、スイープの全体的な方向である。軌道は、各3D曲線によって表されてよい。3D曲線は、同等でガイド曲線と呼ばれる場合もある。スイープの境界はスイープの外面であり、スイープの外形又は等高線と同等で呼ばれる場合もある。スイープの境界は、輪郭の境界を軌道に沿ってスライドさせることによって定義してよい。スイープの輪郭は、各輪郭曲線に従って形成してよい。つまり、輪郭曲線は輪郭の境界を定義してよい。したがって、スイープの境界は、輪郭曲線をガイド曲線に沿ってスライドさせること、及び/又は、輪郭曲線をガイド曲線に沿って回転させることによって形成してよい。スイープにおける回転は、各スパイン曲線に従って定義してよい。スイープは押し出しであってよい。それ自体が公知の通り、押し出しでは、ガイド曲線は直線軸であり、押し出し軸とも呼ばれる。あるいは、スイープは回転であってもよい。それ自体が公知の通り、回転では、ガイド曲線は少なくとも円の一部である。あるいは、スイープは、フィレットであってもよい。それ自体が公知の通り、フィレットフィーチャーは、CADの3Dモデルから、円形輪郭曲線でスイープを削減することで取得される(つまり、円形輪郭を有するスイープ境界の一部のみが見える)。
本方法は、CADの3Dモデルのスキン部分をパラメータ化することにより、当該モデルをパラメータ化する。上記のように、これは、本方法が、スキン部分の各パラメータの1つ以上の値分布(すなわち、各分布は各パラメータにそれぞれ対応する)を決定することを意味する。本方法の場合、1つ以上のベクトル場のうちの1つのベクトル場に対して、各パラメータの各値分布を決定する。言い換えると、各ベクトル場について、本方法は、スキン部分の各位置(例えば、提供されるスキン部分が3Dメッシュで表される場合は3Dメッシュの頂点、又は、提供されるスキン部分が点群で表される場合が点群の点)に、対応する各パラメータの値を付与する。一例では、前記1つ以上のベクトル場は2つのベクトル場を含み、本方法は、スキン部分の2Dパラメータ化を決定する。「2Dパラメータ化」を決定することは、本方法が2つの値分布、つまり、スキン部分に対して2つのパラメータ(提供される2つの各ベクトル場につき1つのパラメータ)に関する2つの値分布を決定することを意味する。言い換えれば、これらの例では、本方法はスキン部分の各位置に2つのパラメータを決定する。他の例では、前記1つ以上のベクトル場は単一のベクトル場で構成されており、本方法はこの単一のベクトル場のパラメータの単一の値分布を決定する。
CADの3Dモデルをパラメータ化するために、本方法は、最適化によってスキン部分の各パラメータの値分布を決定する。その前に、本方法は、最適化に入力を提供することを含む。入力を提供することは、3Dモデルを提供することと1つ以上のベクトル場を提供することを含む。各ベクトル場は、スイープの境界及び/又は軌道を表す。「境界及び/又は軌道を表す各ベクトル場」とは、各ベクトル場、すなわち、3D空間内のベクトルのセットが、軌道及び/又は境界を表すことを意味する。例えば、ベクトル場は、ベクトル場に従って定義される流線によって軌道及び/又は境界を表してよい。例えば流体力学やコンピュータグラフィックスの分野でそれ自体が公知の通り、ベクトル場に従って定義される流線は、そのすべての点においてベクトル場に接する曲線である。前記1つ以上のベクトル場は全体的に、スイープの境界(「輪郭」とも呼ばれる)及び軌道を表し、それによってスイープを表してもよい。したがって、各ベクトル場に対してそれぞれ決定される1つ以上の各パラメータは、スキン部分の完全パラメータ化を構成してよい。前記1つ以上のベクトル場はそれぞれ、スキン部分に定義される接ベクトル場のセットに属してよく、任意で滑らかであってよい。一例では、前記1つ以上のベクトル場は、スキン部分の主曲率方向にすべて整列する複数のベクトル場を含む。主方向は、微分幾何学の分野でそれ自体が公知である主曲率の方向である。これらの例では、ベクトル場を提供することは、ベクトル場を取得することを含んでよい。これには、スキン部分の曲率の主方向に最適な方法で方向が従うベクトル場を算出することが含まれてよい。
次に、入力を提供することに加えて、本方法は、目的関数を最適化することにより、各パラメータの値分布を決定する。目的関数は、候補パラメータの勾配がベクトル場に対して遠い(つまり、整列していない)ときに高い値を持つ傾向を有するよう、候補パラメータの勾配(つまり、最適化の自由変数)とベクトル場の整列に報酬を付与する。これにより、目的関数を最適化することは、目的関数を最小化すること、又は同等に、候補パラメータの勾配とベクトル場との整列を最大化することである。一例では、目的関数の最適化は、目的関数を最小化することにある。報酬を付与すること、すなわち、パラメータの勾配がベクトル場と整列するよう促すことは、候補パラメータとベクトル場の勾配の非整列性の測度の積分形式で目的関数に組み込まれてよい。候補パラメータは、スキン部分の値分布として表されてよく、最適化は、複数の値分布(すなわち、複数の候補パラメータに対応する値分布)に関する目的関数の値を(例えば、反復的に)探索してよい。
決定される値分布は、スイープのパラメータ化を形成する。このパラメータ化の決定に加えて、本方法は、任意で、1つ以上の各パラメータの値分布に対応するスイープフィーチャーを作成することを含んでよい。本方法は、任意で、作成されるスイープCADフィーチャーを保存/保管することをさらに含んでよい。保存/保管されたフィーチャーは、後でフィーチャーツリーの作成/取得プロセスで使用してよい。フィーチャーツリーの作成プロセスで、作成されたスイープCADフィーチャーをCADの3Dモデルのフィーチャーツリーに統合してよい。
目的関数は、候補パラメータの勾配とベクトル場の間の誤差にペナルティを課すことによって、候補パラメータの勾配とベクトル場との整列に報酬を付与してよい。誤差は、候補パラメータの勾配とベクトル場の差を表す。誤差は、パラメータの勾配とベクトル場間の距離であってよい。距離は、微分幾何学でそれ自体が公知の計量テンソルに基づいて定義してよい。計量テンソルは、距離を定義するのに適した微分幾何学分野で任意の計量テンソルであってよい。
目的関数は次の通りであってよい。
この式において、Mはスキン部分(向き付けられたリーマン多様体と見なされる)、Xはベクトル場、fは候補パラメータ、df#は候補パラメータの勾配、ωgはΩd(M)にあり、計量テンソルgに対するスキン部分上の標準的な体積形式、|df#-X|g
2は、計量テンソルgに対する候補パラメータfの勾配df#とベクトル場Xの間の距離である。「計量テンソルgに対する距離」とは、|・|g
2=g(・,・)を意味する。ここで、Ωd(M)はM上のd微分形式の空間である。Ωd(M)はベクトル空間である。それ自体が公知の通り、n次元多様体M上の体積形式は、非退化、つまりどこにおいてもゼロでない(ω|p≠0 ∀p∈M)、n微分形式である。Mの標準的な体積形式ωgは、計量テンソルgとMの向き付けに一致する唯一の体積形式であり、次のように座標で記述できる:
この式において、Gは、選択されるチャート(U,x)におけるgの成分行列Gij=g(∂xi,∂xj)である。向き付けられたリーマン多様体(M,g)ごとに、固有の自然体積形式(リーマン体積形式と呼ばれる)が存在する。積分操作は、この固有の自然体積形式に関して実行される。上記したように、各ベクトル場について、Xは各ベクトル場を示し、Γ(TM)に属し、ここで、TMはMの接束を示し、Γ(TM)はM上の接ベクトル場(任意で滑らか)の集合である。したがって、パラメータ化方法は、接ベクトル場Xに最も従うfの値を見つけることにより、各パラメータの値分布を取得する。
一例では、候補パラメータfは、次の空間
を表す空間に属し、この式において、H1(M)は、スキン部分M上の弱微分可能な関数のソボレフ空間である。言い換えると、H1(M)は、M上の(弱)微分可能なL2関数(その(弱)微分もL2にある)のソボレフ空間である。dfはfの微分であるため、dfは共ベクトル場である。さらに、df#は(計量テンソルgを介して)関連する接ベクトル場であり、fの勾配と呼ばれ、grad fで表してもよく、座標で(grad f)i=gij(df)jと記述してよい。このような空間の選択により、最適化問題に対する解の一意性が提供される。「パラメータfは、空間H*
1(M)を表す空間に属する」とは、パラメータfが、H*
1(M)に属してよい、及び/又は、空間H*
1(M)に近似する(すなわち、プロキシ又は離散化する)他の任意の空間に属してよいことを意味する。そのような空間は離散空間であってよい。離散空間は、空間H*
1(M)に近似するために使用される、H*
1(M)の有限次元の部分空間であり(つまり、「離散空間」とは、空間H*
1(M)に近似するために使用されるH*
1(M)の有限次元の部分空間を意味する)、M上で定義される区分的な多項(例:線形)関数の有限数のスパンに基づいて定義される。
一例では、目的関数の最適化には、次のような、ポアソン問題の解の近似をH*
1(M)において見つけることが含まれる。
この式において、∂Mはスキン部分Mの境界を示し、∇αXαはベクトル場の発散であり、ιY(ω)はベクトル場Y∈Γ(TM)に関するM上のn-形式ω∈Ωn(M)の内部積であり、ここで、TMはMの接束であり、Γ(TM)はスキン部分M上の滑らかな接ベクトル場の集合である。ここで、αは、任意のテンソル(場)Tに対して、リーマン幾何学分野でそれ自体公知のアインシュタインの規約に従い、添字の総計である。
例えば、図1に示すように、ιX(ωg)は「X・N∂M」の幾何学版であり、ここで、N∂Mは、(Mに実質的に接するが)Mの境界のベクトル場の外部法線である。
ポアソン問題の解の近似を見つけることによる目的関数の最適化により、最適化問題及びその結果各パラメータの値分布の解について計算効率が高い解が提供される。
一例では、スキン部分は離散要素を持つ3D離散幾何学表現で表され、ポアソン問題の解の近似はH*
1(M)を表す離散空間にある。3D離散幾何学表現は、3D表面メッシュであってよい。このような場合、メッシュのパラメータ化は、メッシュの各頂点に関する各パラメータの値を(
において)見つけることと同じである。次に、本方法は、メッシュ頂点上のパラメータの値を補間することによって、他の点上の各パラメータの値を取得することを含んでよい。補間は線形補間でもよい。離散空間は、M上で定義される区分多項関数の有限数のスパンに基づいて定義してよい。
一例では、離散空間は次の通りである。
この式において、nは離散幾何学表現の離散要素の数であり、各φiは離散要素iに関連付けられるスキン部分M上の連続区分線形関数である。各φiは、離散要素iに関連付けられる有限要素のハット関数であってよい。つまり、離散要素jに関連付けられるM上の特定の頂点vjに対し、φi(vj)=δijであり、ここで、δijはクロネッカーのデルタ関数である。本方法では、ベクトル場Xの近似を使用してもよい。具体的な例では、本方法は、M上のベクトル場Xの区分的定数値を算出してもよい。3Dモデルが3Dメッシュである例では、離散要素は、3Dメッシュの頂点に対して双射(つまり、対応)であり、ベクトル場Xの区分的定数値は、メッシュの面に対して双射(つまり、対応)であり、つまり、Xはメッシュの各面で一定であると見なされる。3Dモデルが3D点群である例では、3Dメッシュは、例えば、上記のように3D点群を三角形分割することによって取得されてもよく、次いで、ベクトル場Xの区分的定数値は、3Dメッシュの場合のように区分的定数であってよい。このような離散空間は、スパースかつ対称な線形方程式系を解く目的関数の最適化を単純化する。このような方程式系は、数値法分野で公知の方法で効率的に解くことができる。したがって、本方法は、スパースかつ対称な線形システムを解くことによって各パラメータの値分布を算出可能とするため、パラメータ化の速度と計算効率が向上する。
一例では、材料分布は押し出しとして配置される。押し出しは、ガイド曲線が直線軸、つまり押し出し軸であるスイープの特定のケースである。さらに、スパイン曲線は、押し出しのガイド曲線と同じ曲線であってもよい。押し出しの境界(つまり、「押し出し面」)は、輪郭を押し出し軸に沿ってスライドさせることで生じる。具体的な例では、輪郭曲線は、押し出し軸に直交する輪郭平面上にある平面(すなわち、2D)曲線である。このような例では、本方法は、押し出し軸を提供することをさらに含む。1つ以上のベクトル場は、押し出し軸とスキン部分軸の法線との間のクロス積によって形成されるベクトル場を含む。このようなベクトル場は、輪郭に沿った押し出しの境界に従い、つまり、輪郭の方向に従う。したがって、パラメータの勾配をベクトル場に整列させる傾向がある最適化は、輪郭に沿って境界に従うことにより、当該境界を記述するパラメータ化をもたらす。このような例では、パラメータの値は輪郭に沿って増大する。したがって、本方法は、パラメータの値が押し出しに関する情報を伝達する、押し出し面の改良されたパラメータ化を提供する。このように形成されるベクトル場は、表面に接し、押し出しに直交する。一例では、材料分布は回転として配置される。回転は、ガイド曲線が円の(少なくとも)一部であるスイープの特定のケースである。さらに、スパイン曲線は、回転のガイド曲線と同じ曲線であってもよい。具体的な例では、輪郭曲線は、輪郭平面上にある平面(すなわち、2D)曲線である。このような例では、本方法は、回転軸を提供することをさらに含む。1つ以上のベクトル場は、スキン部分の法線と、軌道に沿ってスキン部分に接するベクトル、すなわち、スキン部分に接し、軌道が誘導する方向に平行なベクトルとの間のクロス積によって形成されるベクトル場を含む。このようなベクトル場は、輪郭に沿って回転の境界に従い、したがって、パラメータの勾配をベクトル場に整列させる傾向がある最適化により、各輪郭に沿って境界に従うことにより、当該境界を記述するパラメータ化をもたらす。このような例では、パラメータの値は各輪郭に沿って増大する。ベクトル場は、単位ベクトル場であってよく、つまり、ノルムで除算されたベクトル場であってよい。
本方法は、決定された各値分布に基づいてスイープの輪郭を算出することをさらに含んでよい。輪郭を算出することは、1つ以上のパラメータの値分布を決定することを含んでよい。輪郭を算出することは、(ベクトル場ごとに)それぞれの輪郭平面を算出すること、及び/又は、1つ以上の曲線を当てはめることを含んでよい。各曲線の当てはめは、最小化問題を解くことを含んでよい。このような例では、曲線は、それぞれの輪郭平面上のスキン部分の削減/投影(例えば、CADモデルが3Dメッシュの場合の3Dメッシュの頂点の投影とCADモデルが点群の場合は点群の点の投影)間の距離を最小化し、パラメータの値に基づいて曲線が当てはめられる。本方法は、輪郭平面上に定義される曲線の空間を検索することによって、そのような曲線をそれぞれ取得してよい。本方法は、任意で正則化つき回帰法によって各曲線を取得してよい。正則化により、過剰適合しないよう解の内挿品質が向上する。回帰は、既知の方法に従って実行してよい。1つ以上のパラメータの値を考慮することにより、本方法は曲線を当てはめるための改良されたソリューションを提供する。ベクトル場に従って取得されるパラメータを使用した曲線(輪郭又はガイド曲線など)の当てはめは、曲線を
の点群(例えば、削減ステップ後に取得される点の集合)に当てはめるよりも、その部分の境界のジオメトリー及びトポロジーの観点で曖昧さが緩和され、より正確及び忠実である。さらに、最適な当てはめ曲線を見つけることは最適化問題であり、特に最小化問題の解法が反復的である場合、最小化問題を解くための初期値化(つまり、曲線の最初の提案)が必要になる場合がある。このような例では、本方法によって決定されるパラメータの知識により、当てはめに対する初期値化の品質の影響が低くなる。つまり、パラメータ化により、当てはめ問題が解きやすくなるため、計算が軽くなり、当てはめがより速く取得される。
本方法はコンピュータに実装される。つまり、本方法のステップ(または実質的にすべてのステップ)が、少なくとも1台のコンピュータ又は任意の同様のシステムによって実行されることを意味する。したがって、本方法のステップは、場合により完全自動で、又は半自動で、コンピュータによって実行される。一例では、本方法の少なくともいくつかのステップの始動は、ユーザとコンピュータのインタラクションを介して実行されてもよい。必要なユーザとコンピュータのインタラクションのレベルは、予測される自動化のレベルに依存し、ユーザの希望を実施する必要性とのバランスが取られてもよい。一例では、このレベルはユーザ定義及び/又は事前に定義されてもよい。
例えば、機械部品のCADの3Dモデルを提供するステップは、ユーザの動作によって始動されてよい。例えば、動作には、ユーザによるCADの3Dモデルのインポート、ロード又は作成が含まれてよい。同様に、1つ以上のベクトル場を提供することは、ユーザの動作によって始動されてよい。例えば、動作には、1つ以上のベクトル場各々を定義するデータを挿入することが含まれてよい。
本方法をコンピュータが実施する典型的な例は、この目的に適応したシステムで本方法を実行することである。システムは、メモリ及びグラフィカルユーザインターフェース(GUI)に結合したプロセッサを含んでもよく、メモリは、本方法を実行するための命令を含むコンピュータプログラムを記録している。メモリはデータベースを格納してもよい。メモリは、そのような格納に適応した任意のハードウェアであり、場合により物理的に異なる部品をいくつか含む(例えば、プログラム用に1つ、場合によりデータベース用に1つ)。
図5は、システムが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は、ユーザがグラフィックツールとインタラクションできるようハプティックデバイスによって制御されてもよい。
図6は、システムの一例を示しており、ここで、システムは、クライアントコンピュータシステムであり、例えば、ユーザのワークステーションである。
この例のクライアントコンピュータは、内部通信BUS1000に接続された中央処理装置(CPU)1010と、同じくBUSに接続されたランダムアクセスメモリ(RAM)1070とを備える。クライアントコンピュータはさらに、BUSに接続されたビデオランダムアクセスメモリ1100と関連するグラフィックプロセッシングユニット(GPU)1110を備えている。ビデオRAM1100は、当技術分野ではフレームバッファとしても知られている。大容量記憶装置コントローラ1020は、ハードドライブ1030などの大容量記憶装置へのアクセスを管理する。コンピュータプログラムの命令及びデータを有形に具体化するのに適した大容量記憶装置にはあらゆる形態の不揮発性メモリが含まれ、例として、EPROM、EEPROM、及びフラッシュメモリデバイスなどの半導体メモリデバイス;内蔵ハードディスクやリムーバブルディスクなどの磁気ディスク;光磁気ディスク;及びCD-ROMディスク1040が挙げられる。前述したものはいずれも、特別に設計されたASIC(特定用途向け集積回路)によって補完されるか、又はその中に組み込まれてもよい。ネットワークアダプタ1050は、ネットワーク1060へのアクセスを管理する。クライアントコンピュータはまた、カーソル制御デバイス、キーボードなどのようなハプティックデバイス1090を含んでもよい。カーソル制御デバイスは、ユーザがディスプレイ1080上の任意の所望の位置にカーソルを選択的に配置できるよう、クライアントコンピュータで使用される。さらに、カーソル制御デバイスにより、ユーザはさまざまなコマンドを選択し、制御信号を入力することが可能となる。カーソル制御デバイスは、システムに制御信号を入力するためのいくつかの信号生成装置を含む。通常、カーソル制御デバイスはマウスであってもよく、マウスのボタンは信号を生成するために使用される。代替的又は追加的に、クライアントコンピュータシステムは、感圧パッド、及び/又は感圧スクリーンを含んでもよい。
コンピュータプログラムは、コンピュータによって実行可能な命令を含んでもよく、命令は、上記のシステムに本方法を実行させるための手段を含む。プログラムは、システムのメモリを含む任意のデータ記憶媒体に記録可能であってよい。プログラムは、例えば、デジタル電子回路、又はコンピュータハードウェア、ファームウェア、ソフトウェア、又はそれらの組み合わせに実装されてもよい。プログラムは、例えば、プログラム可能なプロセッサによる実行のために機械可読記憶装置に有形に具体化された製品などの装置として実装されてもよい。本方法のステップは、入力データについて動作し出力を生成して本方法の機能を実行するように命令のプログラムを実行する、プログラム可能なプロセッサによって実行されてもよい。したがって、プロセッサは、データ記憶システム、少なくとも1つの入力デバイス、及び少なくとも1つの出力デバイスからデータ及び命令を受信し、これらにデータ及び命令を送信するように、プログラム可能であるか又は結合されてもよい。適アプリケーションプログラムは、必要に応じて、高レベルの手続き型プログラミング言語又はオブジェクト指向プログラミング言語、あるいは、アセンブリ言語又は機械語で実施されてもよい。いずれの場合も、言語はコンパイル型又はインタプリタ型言語であってもよい。プログラムは、フルインストールプログラム又は更新プログラムであってもよい。いずれにせよ、システム上でのプログラムの適用は、本方法を実行するための命令をもたらす。
次に、本方法の実施について説明する。
本方法の実施は、CADフィーチャーのジオメトリーの特異性を利用してCADフィーチャーから生じる表面メッシュのパラメータ化を構築し、自然方向に従う改良されたパラメータ化を実現する。例えば、CADフィーチャーは輪郭曲線やガイド曲線から構築されることが多い。ただし、スキン部分がメッシュの場合、このような輪郭/ガイド曲線のデータはスキン部分に含まれなくてもよい。本方法の実施は、曲線自体(の近似)の算出を容易にするために、それらの曲線の1つに沿って増大するメッシュ(例えば、表面メッシュ)上のパラメータを算出(すなわち、決定)してよい。
特に、本方法の実施は、メッシュ上の特定のベクトル場に従う表面メッシュ上のパラメータを算出する。メッシュが、押し出し、回転、フィレット、スイープなどのCAD演算子から生じる表面に近似し、当該ベクトル場がその表面からの関連幾何学情報から取得される方向の場である場合、本実施はパラメータを使用して効率的に輪郭曲線、ガイド曲線、及び/又はフィレット半径の近似値を算出する。
本方法の実施によるパラメータの算出は、スパースかつ対称な線形システムを解くことに基づくため、高速である。さらに、当該算出はロバスト性があり、ノイズの多い不完全な表面でもうまく機能する。本方法の実施はさらに、当てはめを改良する算出されたパラメータを使用して(輪郭、ガイド)曲線当てはめを行ってよい。
本方法の実施では、機械部品のある部分を表すCADの3Dモデルを提供することは、
内の3D三角形メッシュ、
を本方法に提供することを含む。一例では、機械部品の部分は正確なサブ部分であり、メッシュは、機械部品全体を表すより大きなメッシュのサブメッシュであってよい。メッシュ
内において、
は、頂点の集合であり、
は境界エッジの集合であり、
内部エッジの集合であり、
は、頂点の集合である。図2に示す通り、
である場合、τ(i,j)とτ´(i,j)は、エッジ(vi,vj)に隣接するメッシュ
の2つの三角形を示し、
である場合、τ(i,j)はエッジ(vi,vj)に隣接する唯一の三角形を示す。
(M,g)を次元dの向き付けられた滑らかなリーマン多様体とし、ここでgは計量テンソルである。微分多様体Mの場合、TpMは点p∈Mでの接ベクトル空間を示し、TMはMの接束を示し、Γ(TM)はM上の(滑らかな)接ベクトル場の集合を示し、
は、
内に値を持つM上の滑らかな関数の集合であり、Hk(M)はM上のソボレフ空間である。
本方法の実施は、以下に示すエネルギー(つまり、候補パラメータfの勾配とベクトル場Xの間の誤差/距離)を算出することによって、f∈H1(M)がM上でどの程度従うかを測定する:
この式において、|・|g
2=g(・,・)、ωg∈Ωd(M)は(M,g)上の標準的な体積形式であり、H1(M)はM上の(弱)微分可能L2関数(その(弱)微分もL2である)のソボレフ空間である。ここで、dfはfの微分であるため、共ベクトル場であり、df#は(計量テンソルgを介して)関連する接ベクトル場であり、fの勾配とも呼ばれ、gradfで表される。座標では、(grad f)i=gij(df)jである。
本方法の実施は、以下のように候補パラメータ(fで示される)の勾配とベクトル場Xの整列に報酬を付与する目的関数を最適化することにより、接ベクトル場Xに最も従うパラメータfの値分布を決定する:
この式において、
である。H*
1(M)は、最適化問題の解の一意性を提供するため、この最適化にはH1(M)よりも適切な空間である:
・微分dはH* 1(M)において単射である。実際には、
であるが、
であり、よって、f1=f2である。
・また、
は、狭義凸である。
・微分dはH* 1(M)において単射である。実際には、
・また、
最適化問題(OPT)を解くことは、H*
1(M)においてポアソン問題の弱解を見つけることと同等であるという従来の変分法によると:
であり、この式において、ιY(ω)∈Ωn-1(M)は、ω∈Ωn(M)とY∈Γ(TM)の内部積である。
本方法の実施では、d=2であり、
は、メッシュ
に関連付けられる滑らかな表面/多様体の区分線形近似であってよい。
ベクトル場Xのデータは区分的に一定であり、三角形τごとに1つの接ベクトル値Xτが存在する。
ベクトル場Xのデータは区分的に一定であり、三角形τごとに1つの接ベクトル値Xτが存在する。
本方法の実施は、次元n-1の制限空間V*内に、ポアソン問題の解の近似を見つけることにより、目的関数を最適化する:
この式において、φiは、φi(vj)=δij、すなわち、有限要素解析分野で公知のハット関数となるようなM上の連続区分線形関数である。ここで、ωは、
上の標準的な体積形式によって誘導される、M上の体積形式である。
上記式のうち、nτ(i,j)は三角形τ(i,j)の法線ベクトルであり、fはメッシュの頂点上のパラメータの値を含むベクトルである。
取得される線形システムは、スパースかつ対称であるため、簡単かつ迅速に解くことができる。次に、本実施は、値fの分布に基づいてスイープの輪郭を取得してよい。
上記実施に従うある特定の実施では、S(u、v)=γ(v)+R(v)p(u)のように定義される一般的なスイープをパラメータ化してよく、この式において、
であり、γはガイド曲線、pは輪郭曲線、ηはスパイン曲線である。輪郭曲線は、スパイン曲線とガイド曲線に従って回転及び平行移動されるため、表面のいたるところで見られる。この実施は、各ガイド曲線及び輪郭曲線を表すことによって、それぞれスイープの軌道及び境界を表す2つのベクトル場Xu、Xvを提供することを含む。一般的なスイープの場合、ベクトル場Xuはいずれの場所においてもゼロではなく、(平行移動及び回転される)輪郭曲線に接する。さらに、ベクトル場Xvは、いずれの場所においても、次の条件を満たすヌルベクトル場ではない:
この式において、∇は計量gに関する表面のレヴィ・チヴィタ接続である。これは、Xv方向のXuの変動は、表面のいずれの場所においてもゼロであることを意味する。スパイン曲線とガイド曲線が同じで、輪郭平面がガイド曲線の接ベクトルに直交している、つまり、
である例では、Xvがいずれの場所においてもゼロではない一方で、単にXv⊥Xu(「⊥」は直交を意味する)である。言い換えると、これらの例では、ガイド曲線Xvの各ベクトル場は、ガイド曲線の接ベクトル及びガイド曲線の法線に直交する。ガイド曲線Xvの各ベクトル場は、輪郭曲線Xuの各ベクトル場にさらに直交する。
一例では、曲率の主方向を使用して、前記曲率の主方向と整列するベクトル場Xu及びXvを算出してよい。スイープのスパイン曲線がガイド曲線に等しく(つまり、輪郭がガイド曲線に従って回転する)、輪郭平面が輪郭の(初期)接ベクトルに直交している、つまり、
であるこれらの例では、ベクトル場は、例えば、参照により本明細書に組み込まれる「“Globally optimal direction fields”, ACM Transactions on Graphics, 34(2), 2013, pp. 1-10」及び「Cohen-Steiner and Morvan, “Restricted delaunay triangulations and normal cycle”, Proceedings of the nineteenth annual symposium on Computational geometry, 2003, pp. 312-32」に従って取得されてよい。次に、本実施は、スイープ表面を定義するパラメータと整列する2つのパラメータ(の分布)(u、v)を取得する。
各パラメータは、各最適化問題と各線形システムを解くことによって取得される。
さらに、本実施は、パラメータを使用してデータ上に分割表面を当てはめ、つまり、ガイド曲線と輪郭曲線両方(の近似)を算出する。ガイド曲線は、次の集合間の曲線で近似される:
この式において、
は、すべてのXvを含むのに最も近い平面であり、輪郭曲線の場合は、次の集合間の曲線で近似され:
この式において、
は、すべてのXuを含むのに最も近い平面である。ここで、
は、
上及び
内の値で定義され、この式において、I=[f1、fn]である。したがって、例えば、
であり、つまり、
における曲線である。
次に、2つスイープの具体例に関して、具体的な実施を説明する。
本実施は、押し出し軸とスキン部分の法線のクロス積によって形成されるベクトル場、すなわち、X=ue×nを提供することを含む。ベクトル場Xは単位ベクトル場Xであり、∇αXα=0を満たす。メッシュMの各要素(つまり面)τで、ベクトル場の定数値は次のように設定される:Xτ=ue×nτ。次に、上記のように線形システムを解くと、頂点viごとにパラメータfiの値が得られる。
本実施はさらに、メッシュの頂点vi上のパラメータfiの決定された値分布に基づいて押し出しの輪郭を算出してもよく、図3に示すように輪郭に近似する曲線を当てはめる。
最初に、輪郭平面への削減(つまり、投影)が算出される。
の直接的な正規直交基底(e1,e2,e3)(この式において、e3=ue)及び
(この式において、
は輪郭平面)とする。本実施では、
及び
に関して、各行列
によって
として削減を算出し、
となる。
次に、本実施では、算出されたパラメータ化fを使用して、削減Πeを介したメッシュ頂点の像である輪郭平面の点に曲線を当てはめる。
図4に示すように、本実施では、すべての
に対して、t=fiの時点でのみΠeviにできるだけ近く通る曲線
を算出することを考慮する。本方法は、次の最適化問題:
を解くことによって曲線を算出してもよく、この式において、
は、頂点iに関連付けられる面積とメッシュの面積の比率であり、
であり、この式において、(φk)1≦k≦Kは関数
の族であり、例えば、
であり、この時、1≦k≦Kであり、Zは正規化定数であり、(tk)1≦k≦KはI上に均一に広がる。
ここで、最適化問題は次のリッジ回帰になり:
この時、Hik=φk″(fi)である。リッジ回帰の解析解は
であり、この式において、
であり、Φ(t)=(φ1(t)、…、φK(t))Tを設定することで、最適な曲線は次の通りである:
本実施は、スキン部分の法線と軌道に沿ってスキン部分に接するベクトルとの間のクロス積によって形成されるベクトル場、つまり、
(この式において、
であり、npは、点pでのSの法線ベクトルの値である)を提供することを含む。ベクトル場Xは単位ベクトル場であり、輪郭方向に従う。
Claims (15)
- 軌道及び境界を有するスイープとして配置される材料分布を有する部分を含む機械部品のコンピュータ支援設計(CAD)3Dモデルのパラメータ化のためのコンピュータ実装方法であって、
・前記機械部品の前記部分の外面を表すスキン部分を含む3Dモデルと、
・各々が前記境界及び/又は前記軌道を表す1つ以上のベクトル場と
を提供することと、
候補パラメータの勾配と前記ベクトル場との整列に報酬を付与する目的関数を最適化することによって、各ベクトル場に対し、前記スキン部分の各パラメータの値分布を決定することと
を含む、コンピュータ実装方法。 - 前記目的関数が、前記候補パラメータの勾配と前記ベクトル場の間の誤差にペナルティを課すことによって、前記候補パラメータの勾配と前記ベクトル場との整列に報酬を付与する、請求項1に記載の方法。
- 前記スキン部分が離散要素を持つ3D離散幾何学表現で表され、前記ポアソン問題の解の近似がH* 1(M)を表す離散空間内にある、請求項6に記載の方法。
- 前記1つ以上のベクトル場が、前記スキン部分の主曲率方向にすべて整列する複数のベクトル場を含む、請求項1から8の何れか一項に記載の方法。
- 前記材料分布が押し出しとして配置され、前記方法が押し出し軸を提供することをさらに含み、前記1つ以上のベクトル場が、前記押し出し軸と前記スキン部分の法線とのクロス積によって形成されるベクトル場を含む、請求項1から9の何れか一項に記載の方法。
- 前記材料分布が回転として配置され、前記方法が、回転軸を提供することをさらに含み、前記1つ以上のベクトル場が、前記スキン部分の法線と前記軌道に沿って前記スキン部分に接するベクトルのクロス積によって形成されるベクトル場を含む、請求項1から9の何れか一項に記載の方法。
- 前記方法が、決定された各値分布に基づいてスイープの輪郭を算出することをさらに含む、請求項1から11のいずれか一項に記載の方法。
- 請求項1から12の何れか一項に記載の方法を実行するための命令を含むコンピュータプログラム。
- 請求項13に記載のコンピュータプログラムを記録したコンピュータ読み取り可能な記憶媒体。
- 請求項13に記載のコンピュータプログラムを記録したメモリと接続されたプロセッサを備えるシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP21305671.6A EP4092558A1 (en) | 2021-05-21 | 2021-05-21 | Parameterization of cad model |
EP21305671 | 2021-05-21 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022179417A true JP2022179417A (ja) | 2022-12-02 |
Family
ID=76355398
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022081416A Pending JP2022179417A (ja) | 2021-05-21 | 2022-05-18 | Cadモデルのパラメータ化 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220382930A1 (ja) |
EP (1) | EP4092558A1 (ja) |
JP (1) | JP2022179417A (ja) |
CN (1) | CN115374546A (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115630556B (zh) * | 2022-12-07 | 2023-03-03 | 东南大学 | 一种基于顶点法的电机拓扑优化方法 |
CN116720285B (zh) * | 2023-08-07 | 2024-01-02 | 上海索辰信息科技股份有限公司 | 一种复杂壳体结构的参数化设计方法 |
CN117034505B (zh) * | 2023-10-09 | 2024-01-26 | 深圳市常丰激光刀模有限公司 | 三维模具结构参数化组装设计用自动标注尺寸方法 |
CN117725966A (zh) * | 2024-02-18 | 2024-03-19 | 粤港澳大湾区数字经济研究院(福田) | 草图序列重建模型的训练方法、几何模型重建方法及设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101251445B1 (ko) * | 2011-07-13 | 2013-04-05 | 주식회사 쓰리디시스템즈코리아 | 비정형 디지털 데이터로부터 단면의 궤적으로 이루어지는 특징 형상을 자동으로 추출하는 장치 및 방법 |
IT201700123187A1 (it) * | 2017-10-30 | 2019-04-30 | Univ Degli Studi Di Firenze | Metodo per la ricostruzione di modelli CAD tramite adattamento parametrico |
EP3877889B1 (en) * | 2018-11-09 | 2023-09-27 | Autodesk, Inc. | Boundary based generative design with 2.5-axis subtractive manufacturing constraint for computer aided design and manufacturing |
-
2021
- 2021-05-21 EP EP21305671.6A patent/EP4092558A1/en active Pending
-
2022
- 2022-05-18 JP JP2022081416A patent/JP2022179417A/ja active Pending
- 2022-05-20 CN CN202210552898.8A patent/CN115374546A/zh active Pending
- 2022-05-23 US US17/664,446 patent/US20220382930A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20220382930A1 (en) | 2022-12-01 |
EP4092558A1 (en) | 2022-11-23 |
CN115374546A (zh) | 2022-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7464387B2 (ja) | 3dモデル化オブジェクト推定のための機械学習 | |
JP6878011B2 (ja) | 3dモデル化オブジェクトの再構築 | |
EP4092558A1 (en) | Parameterization of cad model | |
Azariadis et al. | Drawing curves onto a cloud of points for point-based modelling | |
US11657195B2 (en) | Processing a 3D signal of a shape attribute over a real object | |
CN113129446A (zh) | 使用平滑图进行3d重建 | |
JP2022125003A (ja) | 機械部品を表す3dモデル化オブジェクトのセグメント化 | |
US20230306162A1 (en) | Sketch-processing | |
JP7256005B2 (ja) | 実オブジェクトのスキンを表すファセットの集合の決定 | |
JP2017162448A (ja) | 複合部品の外面の設計 | |
US20220382931A1 (en) | Material extrusion detection method | |
US20220398356A1 (en) | Processing a cad 3d model of a mechanical part | |
US20240135733A1 (en) | Fillet detection method | |
US20230290064A1 (en) | Processing a tesselation | |
US20230418990A1 (en) | Cad feature tree generation | |
EP4345673A1 (en) | Fillet detection method | |
US20230418986A1 (en) | Cad feature tree optimization | |
JP7491685B2 (ja) | ニューラルネットワークのセット | |
EP4141725A1 (en) | Cad volume extrusion operator detection | |
EP4332817A1 (en) | Generating 3d model representing factory | |
US20230342507A1 (en) | 3d reconstruction from images | |
JP2020115337A (ja) | ニューラルネットワークのセット |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220915 |