JP2018526744A - メッシュ生成システム及び方法 - Google Patents

メッシュ生成システム及び方法 Download PDF

Info

Publication number
JP2018526744A
JP2018526744A JP2018511246A JP2018511246A JP2018526744A JP 2018526744 A JP2018526744 A JP 2018526744A JP 2018511246 A JP2018511246 A JP 2018511246A JP 2018511246 A JP2018511246 A JP 2018511246A JP 2018526744 A JP2018526744 A JP 2018526744A
Authority
JP
Japan
Prior art keywords
input
input surface
processor
mesh
decomposition algorithm
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.)
Granted
Application number
JP2018511246A
Other languages
English (en)
Other versions
JP2018526744A5 (ja
JP6700379B2 (ja
Inventor
マケム、ジョナサン
ムカジー、ニランジャン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens Industry Software Inc
Original Assignee
Siemens Product Lifecycle Management Software Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Siemens Product Lifecycle Management Software Inc filed Critical Siemens Product Lifecycle Management Software Inc
Publication of JP2018526744A publication Critical patent/JP2018526744A/ja
Publication of JP2018526744A5 publication Critical patent/JP2018526744A5/ja
Application granted granted Critical
Publication of JP6700379B2 publication Critical patent/JP6700379B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/23Design optimisation, verification or simulation using finite element methods [FEM] or finite difference methods [FDM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)
  • Architecture (AREA)

Abstract

構造に対し実行される有限要素解析シミュレーションで用いる、構造のオブジェクトモデルのメッシュ生成を促進するシステム(100)及び方法を提供する。このシステムは、構造の三次元オブジェクトモデル(108)の入力面(204,310,502)の種類(312,508)を、入力面が含むループ(504,506)の個数に少なくとも基づいて分類するように構成されたプロセッサ(102)を含む。該プロセッサは、分類した入力面種に基づいて、プロセッサが使用可能な複数のマルチブロック分解アルゴリズムの中からいずれかのマルチブロック分解アルゴリズム(1006,1008,1010,1012,1014)を選択する。該プロセッサは、選択したマルチブロック分解アルゴリズムを用いて、入力面にわたる複数のブロック(1506)の位置を確定する。該プロセッサは、各ブロックをメッシュ処理して、入力面を複数の四辺形要素(210)に分割するメッシュ(202)を画定するメッシュデータ(126)を生成する。【選択図】図3

Description

本開示は、概して、製品及びその他のアイテムのデータを生成し、使用し、そして管理するために用いられる、コンピュータ支援エンジニアリング(CAE)、コンピュータ支援設計(CAD)、視覚化、及び製造のシステム、製品データ管理(PDM)システム、製品ライフサイクル管理(PLM)システム、及び同様のシステム(本明細書では総称して製品システムと呼ぶ)を対象とする。
PLMシステムは、製品構造の設計とシミュレーション検査を促進するコンポーネントを含み得る。当該コンポーネントは改良していくのがよい。
種々開示する態様には、コンピュータ支援エンジニアリング(CAE)ソフトウェアによって構造に関し実行される有限要素解析シミュレーションで用いられる、構造のオブジェクトモデルに対するメッシュの生成を促進するべく用いる、システム及び方法が含まれる。一態様に係るシステムは、少なくとも1つのプロセッサを備える。この少なくとも1つのプロセッサは、構造の三次元(3D)オブジェクトモデルの入力面の種類を、少なくとも入力面が含むループの個数に基づいて分類するように構成される。該少なくとも1つのプロセッサはさらに、分類した入力面種に基づいて、複数のマルチブロック分解アルゴリズム(プロセッサがこれを使用するように構成されている)の中からいずれかのマルチブロック分解アルゴリズムを選択するように構成される。加えて、該少なくとも1つのプロセッサは、選択したマルチブロック分解アルゴリズムを用いて、入力面にわたる(例えば、分割線を用いるなどによる)複数のブロックの位置を判断するように構成される。そして、該少なくとも1つのプロセッサは、各ブロックをメッシュ処理して、入力面を複数の四辺形要素に分割するメッシュを表すデータを生成するように構成される。
別の態様に係る方法は、少なくとも1つのプロセッサの動作を通し実行される種々の作用を含み得る。当該方法は、構造の三次元(3D)オブジェクトモデルの入力面の種類を、少なくとも入力面が含むループの個数に基づいて分類し、分類した入力面種に基づいて、複数のマルチブロック分解アルゴリズム(プロセッサがこれを使用するように構成されている)の中からいずれかのマルチブロック分解アルゴリズムを選択し、選択したマルチブロック分解アルゴリズムを用いて、入力面にわたる(例えば、分割線を用いるなどによる)複数のブロックの位置を判断し、各ブロックをメッシュ処理して、入力面を複数の四辺形要素に分割するメッシュを表すデータを生成することを含む。
さらなる態様として、実行可能な命令を符号化した非一時的コンピュータ可読媒体(記憶装置上のソフトウェアコンポーネント等)があり、この命令の実行により少なくとも1つのプロセッサが、本開示の方法を実行する。
別の態様として、本開示の方法に対応する機能を実行するように構成された、ハードウェア、ソフトウェア、及びファームウェアのいずれか1つ以上をベースとするプロセッサ、コンピュータ、コンポーネント、コントローラ、手段、モジュール、又はユニット、あるいはこれら1つ以上の組み合わせを、少なくとも1つ含む。
以上、当業者が以下の詳細な説明をより良く理解し得るように、本開示の技術的特長をやや広範に概説した。特許請求の範囲の対象をなす本開示のさらなる特徴及び利点は、以後に説明される。当業者ならば、開示する概念と具体的実施形態を基礎として容易に応用し、本開示と同じ目的を遂行する他の構造を修正又は設計することができる。さらに当業者にとっては、それら同等の構造が、最も広範な形式において、本開示の要旨と範囲から逸脱しないということも、当然である。
以下の詳細な説明に入る前に、本明細書を通じて用いられる特定の語句の定義を説明しておくことにする。例えば、「含む(include)」及び「備える(comprise)」ならびにそれらの派生語は、限定なき包含を意味する。不定冠詞「a」、「an」、及び定冠詞「the」は、文脈で明白に別の意を示さない限り、複数形態も含むことを意図している。さらに、本明細書で用いる「及び/又は(and/or)」という表現は、これに関して列挙してある項目の1つ以上とそのあらゆる可能な組み合わせを指し且つ包含する。「又は(or)」は、文脈で明白に別の意を示さない限り、及び/又は(and/or)の意味を含む。「関連する(associated with)」及び「それと関連する(associated therewith)」ならびにそれらの派生語は、含むこと、中に含まれること、相互接続されること、収容すること、中に収容されること、何かに接続すること、何かに結合すること、連通すること、協働すること、インタリーブすること、並置すること、近接すること、何かに接合すること、性質を持つこと、その他同種のことを意味する。
さらに、「第1(first)」、「第2(second)」、「第3(third)」・・・等の用語は本明細書では、種々の要素、機能又は行為を説明するために用いられるが、当要素、機能又は行為は、これらの用語によって限定されるものではない。これら数詞は、どちらかといえば、異なる要素、機能又は行為を互いから区別するために用いられる。例えば、本開示の範囲から逸脱することなく、第1の要素、機能又は行為は、第2の要素、機能又は行為と読み替えることができ、また同様に、第2の要素、機能又は行為は、第1の要素、機能又は行為と読み替えることができる。
さらに、「プロセッサは」1つ以上の機能又はプロセスを実行する「ように構成される」といった言い回しは、プロセッサが、ソフトウェア、ファームウェア及び/又は有線回路により機能又は処理を実行するように動作可能に又は操作可能に構成されるということを意味する。例えば、「機能/処理を実行するように構成されたプロセッサ」は、プロセッサに機能/処理を実行させるようにプログラムされたソフトウェア/ファームウェアを能動的に実行するプロセッサに相当し得る、及び/又は、機能/処理を遂行するためにプロセッサが実行可能なソフトウェア/ファームウェアをメモリ又は記憶装置内に有するプロセッサに相当し得る。もちろん、1つ以上の機能又は処理を実行する「ように構成された」プロセッサは、その機能又は処理を実行するため特別に組まれた又は「配線された」プロセッサ回路(例えば、ASICやFPGA設計)にも相当し得る。さらに、1つ以上の機能を実行するように構成された要素(例えば、プロセッサ)の前の「少なくとも1つの(at least one)」という言い回しは、それぞれが該機能を実行する1つ以上の要素(例えば、プロセッサ)に相当する場合もあるし、1つ以上の別々の機能のうちの異なる1つの機能をそれぞれが実行する2つ以上の要素(例えば、プロセッサ)に相当する場合もある。
「隣接する(adjacent to)」は、文脈で明白に別の意を示さない限り、ある要素が別の要素に比較的近いが接触はしていないということ、又は、ある要素が別の要素に接触しているということを、意味し得る。
特定の語句の定義は本明細書を通して提供され、当業者ならば当然わかるとおり、そのような定義は、殆どではなくとも多くの場合に、当該定義された語句の従来ならびに将来の用法に適用される。広範な態様を含み得る用語もあるが、特許請求の範囲は、これらの用語を実施形態に明確に限定し得る。
オブジェクトモデルに対するメッシュの生成を促進するシステム例の機能ブロック図。 うまく構築された四辺形メッシュの例を示す図。 マルチブロック仮想トポロジエンジンを含むメッシュコンポーネントのフレームワーク例を示す図。 ジオメトリアナライザコンポーネントに関する例のフローチャート例400を示す図。 入力面の例と、対応するシングルループ分類の例及びマルチループ分類の例とを示す図。 円筒形種の入力面を分類するフィーチャの一例を示す図。 入力面に対し確定される中間軸の例を示す図。 中間軸の中間エッジ及び中間頂点を示す図。 ビードとアニュラスのトポロジ例を示す図。 マルチブロック分解コンポーネントのフローチャートを示す図。 入力面を細分化するブロックを画定する仮想縁線の例を示す図。 中間軸分解アルゴリズムにより取り除かれる頂点の凹形の例を示す図。 中間軸分解アルゴリズムによって評価される各凹形から延びるドロネーエッジの例を示す図。 円の直径が最大か最小のいずれかである各中間縁上の位置で内接円の接触点によって画定される分割線の配置例を示す図。 マルチループアニュラス種の入力面に追加される分割線の配置例を示す図。 マルチループアニュラス種の入力面に追加される分割線の配置例を示す図。 グローバルデカルト(X,Y)座標系の直交軸に円筒形入力面を平坦化し整列させる例を示す図。 美術館(Art Gallery)マルチブロック化アルゴリズムにより入力面を区分するために直交を拡張する例を示す図。 美術館(Art Gallery)マルチブロック化アルゴリズムにより入力面を区分するために直交を拡張する例を示す図。 入力面に対する反射頂点とそれらの対との関係を描写するノッチ図。 9個の反射頂点をもつ美術館分解したシングルループ入力面における3D空間の最終メッシュを示す図。 可視性ベースの分解アルゴリズムによって入力面に追加される分割線の例を示す図。 入力面が、可視性ベースの分解アルゴリズムによって四辺区分に分割されている例を示す図。 可視性ベースの分解アルゴリズムによってブロックが提供された後に図23の入力面に生成されるメッシュの例を示す図。 トポロジビルダーコンポーネントが、入力面のブロック位置データに基づいて仮想トポロジを生成する例を示す図。 オブジェクトモデルのメッシュ生成を促進する方法例のフローチャートを示す図。 実施形態を実行可能なデータ処理システムのブロック図。
オブジェクトモデルに対するメッシュを生成するためのシステム及び方法に関する種々の技術を、図面を参照して説明する。図面を通して、同様の参照符号は同様の要素を表す。以下に説明する図面と、本開示の原理を本明細書で説明するために用いる種々の実施形態とは、例示のみを目的としており、如何なる意味でも本開示の範囲を限定すると解釈されるべきではない。当業者には当然のことであるが、本開示の原理は、任意の適切に構成された装置において実行可能である。あるシステム要素によって実行されるとして説明される機能が複合要素によっても実行可能であるのは、当然のことである。同様に、例えば、複合要素によって実行されると説明されている機能を1つの要素が実行するようにも構成され得る。本願の多くの革新的理論が、例示的で非限定的な実施形態を参照して説明される。
多くの形式の製品システム(CAE及びCADソフトウェア等)は、オブジェクトの構造(例えば、パーツ、アセンブリ及びサブアセンブリ)を表す各種の三次元(3D)オブジェクトモデル(CADファイルに格納されたもの等)を操作し処理するように作動する。中でもCAEソフトウェアは、オブジェクトモデルに関する検査及び/又はシミュレーションを実行するべく使用される。当該シミュレーションは例えば、様々な荷重の印加と、この荷重に応答して構造がどのような挙動を見せるかを、該構造に関して生成されたメッシュに基づいて計算することを含む。例えば、一実施形態において、シミュレーションソフトウェアは、構造のオブジェクトモデルに関して生成されたメッシュを用いて構造の応力解析を実行する。別の形態では、シミュレーションソフトウェアは、オブジェクトモデルによって表される多数接続された構造への自動車衝突(又はその他の試験)の物理的影響をシミュレートするためにメッシュを用いることが可能である。
構造に関しシミュレーションを実行するために、構造のオブジェクトモデルは、構造の表面を、多数接続された四辺の幾何学的形状のメッシュに分割するメッシュ処理を経る。シミュレーションソフトウェアは、そのようなメッシュに加えてユーザ設定可能な1つ以上のオブジェクトモデルの特性(構造を製造する素材等)及びユーザ設定可能な解析パラメータを用いて有限要素解析等の数学的処理を実行し、シミュレーション(例えば、静荷重、衝突)が構造に与え得る作用(例えば、物理的変化、変位)に関する情報を導出する。
図1を参照すると、オブジェクトモデルに対するメッシュの生成を促進する(容易にする)システム100が例示されている。システム100は、本明細書で説明される種々の特徴を実行するためにメモリ106から少なくとも1つのアプリケーションソフトウェアコンポーネント104を実行するように構成された少なくとも1つのプロセッサ102を含む。アプリケーションソフトウェアコンポーネント104は、本明細書で説明される種々の作用と機能をプロセッサ102に実行させるように構成される(すなわち、プログラムされる)。例えば、アプリケーションソフトウェアコンポーネント104は、メモリ及び/又はその他のデータストア138(例えば、ファイルシステム、PLMデータベース)の3Dオブジェクトモデルデータ108へプロセッサ102をアクセスさせるように構成される。
アプリケーションソフトウェアコンポーネント104は、オブジェクトモデルにメッシュを生成するメッシュコンポーネント110に相当するかこれを含む。また、アプリケーションソフトウェアコンポーネント104は、オブジェクトモデルに関するメッシュ生成を実行するメッシュコンポーネント110を含むかこれと通信する1つ以上のソフトウェアコンポーネントからなるシミュレーションソフトウェアコンポーネント112(CAEソフトウェア等)に相当するかこれを含む。
さらに詳細に以下で説明するように、メッシュソフトウェアコンポーネントは、メッシュの生成を促進する1つ以上のコンポーネントから構成される。しかしながら、本明細書において別々のコンポーネントによって実行されると説明される特徴が、より少数のコンポーネント及び/又は単一のコンポーネントによって実行可能であることは、当然理解されることである。さらに、説明に係る単一のコンポーネントによって実行される特徴が、互いに通信する2つ以上のソフトウェアコンポーネントによって実行される場合もあり得る。
本明細書で説明する機能のうち少なくともいくつかを含むように構成されるCAD/CAM/CAE(コンピュータ支援設計/コンピュータ支援製造/コンピュータ支援エンジニアリング)ソフトウェアの一例は、Siemens Product Lifecycle Management Software Inc.(テキサス州プレイノ市)から入手可能な、アプリケーションの「NX suite」を含む。しかしながら、説明に係るメッシュコンポーネントが、3Dオブジェクトモデルのメッシュを使用可能である、アーキテクチャソフトウェア、アニメーションレンダリングソフトウェア、及び/又は他の3Dソフトウェア等、その他のタイプのアプリケーションソフトウェアコンポーネントへの統合に対応していてもよいのは、当然のことである。
ここに説明するシステムは、少なくとも1つの表示デバイス114(表示スクリーン等)及び少なくとも1つの入力デバイス116を含む。例えば、プロセッサ102は、PC、ノートブックコンピュータ、ワークステーション、サーバ、タブレット、携帯電話機、又はその他の形式のコンピューティングシステムの一部として含まれる。表示デバイス114は、例えば、LCDディスプレイ、モニタ及び/又はプロジェクターを含む。入力デバイス116は、例えば、本明細書で説明される入力を提供することが可能な、マウス、ポインタ、タッチスクリーン、タッチパッド、タブレット、トラックボール、ボタン、キーパッド、キーボード、ゲームコントローラ、カメラ、身振りをキャプチャするモーションセンシングデバイス、又はその他の入力デバイスを含む。また、タブレット等のデバイスに関して、プロセッサ102は、入力デバイス及び表示デバイス両方として働くタッチスクリーンを含むハウジングに組み込むこともできる。また、当然ながら、いくつかの入力デバイス(ゲームコントローラ等)は、複数の異なるタイプの入力デバイス(アナログスティック、dパッド及びボタン)を含む。
本明細書で説明するプロセッサは、ここに説明する表示デバイス及び入力デバイスから離れた位置にあるサーバに配置可能であるのは勿論のことである。このような例の場合、説明に係る表示デバイス及び入力デバイスは、有線又は無線ネットワーク(インターネットを含み得る)を介してサーバ(及び/又はサーバ上で実行される仮想マシン)と通信するクライアントデバイス内に含まれ得る。いくつかの実施形態において、当該クライアントデバイスは例えば、リモートデスクトップアプリケーションを実行するか、又は、サーバとリモートデスクトッププロトコルを実行するポータルデバイスに相当し、入力デバイスからの入力をサーバに送信し且つサーバから視覚情報を受信して表示デバイスで表示する。そのリモートデスクトッププロトコルの例として、TeradiciのPCoIP、MicrosoftのRDP、及びRFBプロトコルがある。別の例では、該クライアントデバイスは、ウェブブラウザ又はシンクライアントアプリケーションを実行するコンピュータに相当する。ユーザからの入力は、ウェブブラウザ又はシンクライアントアプリケーションから送信されて、サーバによって評価され、サーバによってレンダリングされ、そして画像(又は一連の画像)がクライアントコンピュータに返送されて、ウェブブラウザ又はシンクライアントアプリケーションによって表示される。さらに、いくつかの例では、本明細書で説明するリモートプロセッサは、サーバの物理的プロセッサで実行される仮想マシンの仮想プロセッサの組み合わせに相当する。
ここに説明するアプリケーションソフトウェアコンポーネント104は、入力デバイス116を介し受け取ったオブジェクトローディング(読み込み)入力118に応答して、3Dオブジェクトモデルデータ108にアクセスし、表示デバイス114に、3Dオブジェクトモデルデータ108に基づく3Dオブジェクトモデルの視覚表現122を表示するグラフィカルユーザインターフェース(GUI)120を出力させるように構成される。さらに、アプリケーションソフトウェアコンポーネント104は、入力デバイス116を介し受け取ったメッシュ生成入力124に応答して、メッシュコンポーネント110に、読み込まれた3Dオブジェクトモデルデータ108に基づいてメッシュデータ126を生成させるように構成される。このメッシュデータ126は、3Dオブジェクトモデルデータ108(例えば、CADデータ)と相関させてデータストア138に記憶される。
アプリケーションソフトウェアコンポーネント104は、入力デバイス116を介し受け取ったシミュレーション入力128に応答して、シミュレーションコンポーネント112に、メッシュデータ126を処理してシミュレーション結果データ130を生成させるように構成される。このシミュレーション結果データ130は、物理的変化及び変位等、構造に対するシミュレーション(応力試験、衝突)の作用に関する定量的データに相当する。説明に係るアプリケーションソフトウェアコンポーネント104は、当然ながら、GUI120に、生成されたメッシュの視覚表現132とシミュレーション結果の視覚表現134を表示させるようにも動作可能である。さらに、説明に係るアプリケーションソフトウェアコンポーネント104は、当該シミュレーションデータを、オブジェクトモデルデータ108と相関させてデータストア138に記憶するようにも動作可能である。
表面のメッシュ処理において、特定のシミュレーション用途で、シミュレーションの精度、ロバスト性及びソルバー収束率を増強するためには、三角形要素を備えた表面メッシュよりも、うまく構築された四辺形要素を備えた表面メッシュのほうが好ましい。説明に係るメッシュコンポーネント110の一実施形態によると、メッシュの細部を(例えば、より高密度の四辺形要素による高精細のメッシュによって)手動でリファインする必要を最小限にする及び/又は排除する、高品質四辺形メッシュを生成するように構成されたマルチブロック/仮想トポロジエンジン136(例えば、ソフトウェア機能)を含む。
図2は、マルチループ面204を例として、うまく構築された四辺形メッシュ202の一例200を示す。本明細書で定義される、良質の四辺形メッシュは、内部ノード206の大部分が4価の価数(すなわち、度数…頂点に付随する要素の個数)を有し、可能な限り多くの四辺形要素210(例えばそれらの少なくとも大部分)の4つの夾角208それぞれがほぼ90°(例えば、80°−100°)であるメッシュとして定義される。この目標に向けて、例示の実施形態により解決される具体的課題が、産業部品及びコンポーネントの一般的表面に関するそのようなメッシュの自動生成である。
図1に戻ると、メッシュコンポーネント110は、一実施形態として、オブジェクトモデルデータ108の表面の1つ以上の選択面を、説明に係るマルチブロック仮想トポロジエンジン136によって自動的に処理させるように構成される。このエンジン136は、うまく構築された四辺形メッシュの生成を最適に達成するために選択されるフィーチャ依存マルチブロック化ストラテジーの最適システムを用いて、(エンジン136に入力される)入力面を、最多の凸状「ブロック」の集合に細分化するように構成(すなわち、プログラム)される。
説明に係るメッシュコンポーネント110及びマルチブロック仮想トポロジエンジン136についてフレームワーク300の一例が図3に示されている。この例において、エンジン136は、3層のコンポーネントから構成される。本明細書でジオメトリアナライザコンポーネントと呼ぶ第1のコンポーネント302は、入力面310の種類を、トポロジ及び/又はジオメトリベースの一連のフィーチャ認識ツールを用いてカテゴライズ(分類)するように構成される。
この説明に係るマルチブロック仮想トポロジエンジン136は、本明細書でマルチブロック分解(デコンポーザ)コンポーネントと呼ぶ第2のコンポーネント304も含む。このマルチブロック分解コンポーネント304は、ジオメトリアナライザコンポーネント302によって分類される/識別される面の種類312に応じて、入力面310に関する多くの異なるマルチブロック化処理からいずれか1つを(選択可能なアルゴリズムによって)実行するように構成される。(これら多種のマルチブロック化処理のそれぞれの)マルチブロック分解コンポーネント304の出力は、ブロック位置を確定するために用いることのできる仮想頂点及び仮想縁314等の、入力面にわたるブロック位置を表すデータを含む。
説明に係るマルチブロック仮想トポロジエンジン136は、本明細書でトポロジビルダーコンポーネントと呼ぶ第3のコンポーネント306を含む。このトポロジを構築するコンポーネント306は、入力面310をブロックに細分化する仮想ブロックトポロジの仮想面316を表すデータを、マルチブロック分解コンポーネント304によって確定されたデータ(例えば、仮想頂点及び仮想縁314)に基づいて確定するように構成される。
説明に係るマルチブロック仮想トポロジエンジン136によって生成された仮想面データ316は、最終メッシュコンポーネント308に受け渡される。この最終メッシュコンポーネント308は、構築された等角メッシュデータ126を入力面310の全体にわたり生成するために仮想面をメッシュ処理するように構成される。
図4は、説明に係るジオメトリアナライザコンポーネント302が、表面の面種を分類するために実行するワークフロー(いくつかのステップからなる)の例について、フローチャート400を示す。この例において、第1のステップ402で、ジオメトリアナライザコンポーネント302は、入力面404を、その入力面が含むループの個数に基づいてカテゴライズするように構成(例えば、プログラム)される。ループは例えば、入力面自体を囲んで延在するか、又は、入力面を貫通する開口又は孔の境界を定める、一続きの表面部位に相当する。したがって、孔のない入力面はシングルループを有するのに対し、貫通する1つ以上の孔がある入力面はマルチループを有する。
例えば、ジオメトリアナライザコンポーネント302は、第1のステップ402で、入力面404が、シングルループを含むか、マルチループを含むかを判断する。ここの例の場合、全てのマルチループ面はM0種面として分類され、全てのシングルループ面はS0種面として分類される。図5は、種々の入力面502と、説明に係るジオメトリアナライザコンポーネント302によって確定される、これら各種表面に対応するシングルループ504及びマルチループ506の分類とに関する例500を示す。
第1のステップ402で確定した面種に応じて、ジオメトリアナライザコンポーネント302がさらに別の面分類を画定してもよい。例えば、ジオメトリアナライザコンポーネント302は、入力面404に関する円筒検出を行う第2のステップ406を実行できる。(第1のステップ後の)M0種又はS0種の面が、(第2のステップで)円筒として識別された場合、これらは、ジオメトリアナライザコンポーネント302によってそれぞれM1種又はS1種の面として再分類され得る。
図6の例600に示すように、ジオメトリアナライザコンポーネント302は、表面602に対する最良適合軸604を解くことによって円筒表面602を検出するように構成される。最小二乗近似に対する適合エラーが設定閾値未満であれば、該表面は円筒形であると見なされる。例示の実施形態では、ジオメトリアナライザコンポーネント302は、M種面の密なサンプルメッシュ上の全ポイントが、当基準に所定の公差内で合致したという判断に基づいて、面に円筒としてフラグを立てるように構成される。
ここに説明する後続のプロセスに加えて、ジオメトリアナライザコンポーネント302は(面種をカテゴライズすることに加えて)、分類中の表面の面の円筒軸604に対して平行とした、対応する仮想継ぎ目縁606を、メモリに(及び/又は、解析中の表面のCADデータを伴って)、記憶する。
図4に戻って、ジオメトリアナライザコンポーネント302は、全ての面を3D空間から、加重ハーフエッジ法(WEHM)の平坦化アルゴリズム(又はその他の平坦化アルゴリズム)を用いて、平坦化したUV空間へ変換することで、テッセレーションした3D面の2Dパラメータ化を実行する、第3のステップ408を実行するように構成される。線形問題と非線形問題の両方に適用されるWHEM平坦化アルゴリズムは、等角マッピング技法と三角形高さ維持技法との折衷を用いて、変換歪みが高度に減少した2D領域を生成する。分類、マルチブロック分解及びメッシュ処理に関してここに説明するさらなるステップ及びプロセスは、この2D領域において実行され、結果として得られるメッシュ処理した表面は、その後に、3D空間へ逆変換される。
例えば、ジオメトリアナライザコンポーネント302は、この2D領域内で、第1と第2のステップで実行した分類の種類に基づいてさらなる面種識別を実行するように構成される。第3のステップ408における平坦化の後、全てのS0種及びM0種(すなわち、非円筒形)の面は、面のビード及びアニュラスフィーチャを検出するために中間軸認識を用いて処理される。
例えば、第4のステップ410において、ジオメトリアナライザコンポーネント302は、全てのS0種(すなわち、シングルループ非円筒形)の面に関してビード検出を実行する。そして例えば、第5のステップ412において、ジオメトリアナライザコンポーネント302は、全てのM0種(すなわち、マルチループ非円筒形)の面に関してアニュラス検出を実行する。この例において、ビードとして識別されたS0種面はいずれもS2種面として再分類される。また、アニュラスとして識別されたM0種面はいずれもM2タイプ面として再分類される。
図5は、説明に係るジオメトリアナライザコンポーネント302によって確定される入力面502の例に対する面識別分類508を例示する。ただし、当然のことながら、説明に係るジオメトリアナライザコンポーネント302の別の実施形態によれば、面の、より少数の、代替的な、及び/又は付加的な種類を識別し分類し得る。
図7に例示する表面700を参照すると、この実施形態において、ジオメトリアナライザコンポーネント302は、オブジェクト境界706上の一組の点のドロネー三角形分割を使用して、2D領域において、面704の中間軸702を導出するように構成される。一組の点のドロネー三角形分割とは、各ドロネー三角形710の頂点を形成する3点に関する外接円708が他の点を含まないという特性をもつ三角形分割として定義される。中間軸702は、図7に示すように、境界上の連続した点の間の距離がゼロに近付き、且つ、各ドロネー三角形710の外接円708がオブジェクト内に内接するときに、外接円中心712によって描き出される。
図8に図示した例800を参照すると、2Dにおいて中間軸をなす2つのエンティティ、すなわち、中間縁802と中間頂点804がある。中間縁に属する中間軸上の点は、境界上の2つのエンティティから等距離である。逆に、中間頂点に属する点は、境界上の3つ以上のエンティティから等距離である。中間縁は、図8に示すように中間頂点によって接続されている。中間縁は、接続する中間頂点が画定されるドロネー三角形のタイプに基づいてトポロジ的に分類される。ドロネー三角形の3つの主なタイプは、図8にそれぞれ示されるように、ジャンクション(J)806、ノーマル(N)808、コーナー(C)810であり、それぞれオブジェクト境界812上に0、1、2個の辺を有している。その結果、J及びCタイプのドロネー三角形から導出される中間頂点が両端にある中間縁は、J−C中間縁などとして分類されることになる。
図9に示す例900を参照すると、説明に係るジオメトリアナライザコンポーネント302によって中間軸が検出に用いられる2つの別個のフィーチャは、ビード(Sタイプ)902とアニュラス(Mタイプ)904の中間トポロジである。全てのビードはC−Cタイプの中間縁を有する。アニュラスは、中間縁が中間頂点をもたず、全ての軸点がNタイプドロネー三角形から導出される、特別なケースである。この縁は、N−N中間縁と呼ぶことができる。
図3に戻って、前に説明したように、マルチブロック分解コンポーネント304は、面(2D領域)における特定のマルチブロック副分割処理を、ジオメトリアナライザコンポーネント302によって確定された特定の分類に基づいて選択し実行する。この選択可能なマルチブロック副分割処理は、面種の特定の分類に基づいた1つ以上の、中間軸分解アルゴリズム、デカルトスラブ化(平板化)分解アルゴリズム及び美術館分解アルゴリズムを含み得る。あるいは、当然理解されることであるが、別の実施形態によると、説明に係るジオメトリアナライザコンポーネントの別の実施形態によって実行される面の異なる分類に基づいて、より少数の、代替的な、及び/又は付加的な分解アルゴリズムを用いてもよい。例えば、以下に詳細に説明されるように、中間軸分解アルゴリズムのうち1つは、比較的複雑な面の曲率を処理するために、可視性ベースの分解アルゴリズムと組み合わされる。
図10は、説明に係るマルチブロック分解コンポーネント304によって実行される機能のフローチャート1000を示す。この例において、第1のステップ1002で、マルチブロック分解コンポーネント304は、利用可能な分解アルゴリズムのうち1つを、入力面1004の面種分類に基づいて選択し、該選択分解アルゴリズムを使用して入力面を処理する第2のステップが実行されるように構成(例えば、プログラム)される。
例えば、面種がS0種(すなわち、シングルループ非ビード種)である場合、マルチブロック分解コンポーネント304は、入力面1004を処理するために美術館分解アルゴリズムが用いられる第2のステップ1006を実行する。面種がS1又はM1種(すなわち、シングルかマルチループの円筒種)である場合、マルチブロック分解コンポーネント304は、入力面1004を処理するためにデカルトスラブ分解アルゴリズムが用いられる別の第2のステップ1008を実行する。面種がM2種(すなわち、マルチループアニュラス種)である場合、マルチブロック分解コンポーネント304は、入力面1004を処理するために中間軸ベースのアニュラス分解アルゴリズムが用いられる別の第2のステップ1010を実行する。面種がS2種(すなわち、シングルループビード種)である場合、マルチブロック分解コンポーネント304は、入力面1004を処理するために中間軸ベースのアニュラス分解アルゴリズムが用いられる別の第2のステップ1012を実行する。面種がM0種(すなわち、マルチループ非円筒非アニュラス種)である場合、マルチブロック分解コンポーネント304は、入力面1004を処理するために可視性ベースの分解アルゴリズムと組み合わせて中間軸ベースのアニュラス分解アルゴリズムが使用される別の第2のステップ1014を実行する。
これら分解アルゴリズムそれぞれの出力は、メモリ又はその他のデータストアに記憶可能であり、そして、入力面を多数のブロック(すなわち、仮想面)に分割し且つ入力面上の仮想縁座標を表す線によって画定されるブロック位置を表すデータに相当する。この分割線を表すデータは、該分割線に対応する仮想縁の位置を画定する仮想頂点を含む。図11は、これらの確定した仮想縁線1102の例1100を図示しており、仮想縁線1102は、図5に関して前述した分類後の各種の面をそれぞれいくつかのブロックに細分化する。ただし当然のことながら、説明に係るマルチブロック分解コンポーネントの代替的実施形態では、本明細書で説明する分解アルゴリズムに関連する構成及びパラメータに応じて違う位置に仮想縁線を配置し得る。以下では、このデータが、これらのアルゴリズムのそれぞれによってどのように生成されるかについて詳述する。
説明に係る中間軸分解アルゴリズムは、外心と三角形の高さの両方を用いて中間軸点を計算するハイブリッド技法を用いる。トポロジトラバースアルゴリズムが中間縁を確立する。余分な中間縁又は分岐は、境界上の劣化した平坦な三角形を解析することによって回避される。厚さ、縁長さ、接触点の全ての関連する中間軸属性は、面と共に記憶される。さらに、内接円の接触点情報が、ビード及びアニュラスフィーチャの分割線の位置を画定するために用いられる。より複雑なマルチループ面に関しては、中間軸が導出されるドロネーメッシュを、凹形を除去するために用いることができ、内接円の直径からの厚さ情報が、中間縁に沿った分割位置を画定する。
例えば、中間軸ベースの分解アルゴリズムと可視性ベースの分解アルゴリズムの組み合わせ1014(図10に示す)は、M0種面(マルチループ非円筒及び非アニュラス種)として分類される入力面に適用される。入力面の処理において、このアルゴリズムの最初のステップは、面から一切の凹形を除去するためのものであり得る。凹形は、図12の例1200に示される頂点夾角θにより識別される。θが概ね270°に等しいか又はこれ以上である場合、これによって、説明に係るマルチブロック分解コンポーネント304によるアルゴリズム実行で除去される頂点の凹形が識別される。
例示の実施形態において、この原理に基づいて頂点の凹形を識別するアルゴリズムによって、領域のドロネーテッセレーションが実行される。さらに、三角形分割は、凹形を除去するための最適な縁分割を決めるためにも利用される。例えば、図13の例1300で示すように、各凹形から延出するドロネーエッジが確定されて評価され、最も直角の縁1302が選択される。
図14に例示するように、全ての凹形を除去した後、説明に係る分解アルゴリズムの次のステップでは、内接円の直径が最大か最小のいずれかである各中間縁上の位置に、該内接円の接触点によって画定される分割線1402を配置する。この実施形態において、生成され得る最も複雑な小区分は、1つの中間頂点を包囲する3つの中間縁の全てが6辺の小区分1404を残すように分割された場所である。
この中間軸アルゴリズムは、可視性ベースの分解アルゴリズムと組み合わせることで、複合面に対する付加分割線を提供できる。可視性ベースの分解アルゴリズムは、図22〜図24に関して後述する。凹形除去、中間軸分解及び可視性分解によって生成された分割線は次に、マルチブロック分解コンポーネント304によって、入力面に関する仮想縁候補として記憶される。
例えば、アニュラス中間軸分解アルゴリズム1010が、M2種面(マルチループアニュラス種)として分類された入力面に適用される。アニュラスに関して図15に示すように、内接円1504の接触点によって画定される分割線1502が、マルチブロック分解コンポーネント304によって、入力面上に等間隔で配置され、複数の円弧形状ブロック1506を生成する。分割線の個数は、ブロック化の細かさを設定するために、説明に係るアプリケーションソフトウェアコンポーネントのユーザ設定可能なパラメータである。
図15は、入力面に関する分割線1502の個数が4である例を示す。この分割線は、4個の4辺ブロック1504を生成する。確定した分割線は、マルチブロック分解コンポーネント304によって、入力面の仮想縁候補として記憶される。
ビード中間軸分解アルゴリズム1012は、S2種面(シングルループビード種)として分類された入力面に適用される。ビードに関して図16に示す例1600のように、内接円1604の接触点によって画定される分割線1602は、中間縁の始点と終点からずれた位置に配置される。これにより、ビードの中央に長方形部分1606を含み、その両脇に2つの湾曲したキャップ1608,1610がある、3つのブロックが画定される。該確定された分割線は、入力面の仮想縁候補として記憶される。
実施形態において、デカルトスラブ分解アルゴリズムは、軸が存在する円筒及び周期的表面での使用を対象とする。スラブは全て軸及び互いに対し平行であるため、このアルゴリズムは、マップメッシュ化ではない場合であっても、系統立ったルックアンドフィールを与えつつ容易にメッシュ化が可能である、薄型スラブの規則正しく系統立った分解を確実にする。最小二乗近似を用いた最良適合軸の計算は、円筒形フィーチャの認識を可能にするのみならず、デカルトスラブ分解アルゴリズムの使用するデカルト格子アライメントに対し基準データを提供する。
例えば、デカルトスラブ化分解アルゴリズムは、S1種及びM1種の面(シングルループ及びマルチループ円筒種)として分類される入力面に適用される。図17の例1700に図示されるように、3D円筒形面602を2D空間へ平坦化する(ジオメトリアナライザコンポーネントにより実行)ときに、3DからUVへの変換は、仮想継ぎ目縁606(ジオメトリアナライザコンポーネントにより確定)にも適用される。結果として得られる平坦化された面1702及び仮想継ぎ目縁1704は、通例、2DUV空間において非軸方向に整列した配向をとる。
デカルトスラブ化アルゴリズムにより実行される最初のステップは、2DUV空間の平坦化面1702に変換を適用してグローバルデカルト(X,Y)座標系の直交軸と整列させることである。仮想継ぎ目縁1704は円筒軸に整列するので、当該変換は、これをデカルト格子のY軸1706と整列させるために計算される。この変換が平坦化面1702に適用されると、整列した平坦化面1708(対応する円筒軸604がY軸と平行)が生成される。
デカルトスラブ化アルゴリズムによって実行される次の段階は、面を細分化し、入力面の対応する円筒軸に平行である、スラブ形状ブロックを画定することである。スラブブロックの個数は、説明に係るアプリケーションソフトウェアコンポーネントのユーザ設定可能なパラメータであり、ブロック化の細かさを設定する。スラブ幅は、スラブ要素の設定個数に基づいて確定される。そして、分割線が、確定されたスラブ幅に従い画定される各間隔で縦軸に延伸する線と、整列した平坦化面1708の境界との交点を計算することによって生成される。
美術館マルチブロック化アルゴリズムは、例えば、シングルループを備えた面に関し採用できる。これは、粗い境界離散化に依存し、ドロネーメッシュの使用を避ける。例えば、美術館分解アルゴリズムは、S0種面(シングルループ非円筒非ビード種)として分類される入力面に適用される。美術館定理(aka Watchman定理)は、美術館の監視を最適化する基盤を提供するものである。美術館定理は、n個の頂点をもつシングルループ多角形の包括的な床に関して、n/3床ガードg(n)又は監視カメラが時として必要であり、且つ常にそれで十分であることを記述している。非凸状直交多角形を凸状直交領域に細分化するための安価でスマートな方法を提供するべく、いくつかの補題が用いられる。凹状多角形の、その反射頂点からの直交区分化が、面の凸状区分化をもたらす。r反射頂点を備えた任意の一般多角形に関して利用可能な補題は、したがって次式1のように記述できる。式中、Aは結果として得られる凸状小区分の個数である。
[式1]
図18は、r(4)反射頂点から降ろした(すなわち延ばした)r(4)最短直交線が、どのように多角形をr+1(5)凸状小区分に区分けできるかに関する例1800を示す。図19は、r(8)反射頂点が互いに対向して発生し、r/2(4)最短直交線が降ろされ(延ばされ)て、r(8)頂点を有する凹状多角形を、r/2+1(5)凸状小区分に分解する、極小条件の例1900を示す。
この補題を包括的多角形に即興で合わせて拡張することによって、説明に係る美術館分解アルゴリズムは、先ず境界凹形を確定することで系統立ったメッシュを生成するように構成される。入力面は、対象とするフィーチャサイズに相当するユーザ設定可能要素サイズよりも若干小さいサイズで離散化した第1の境界である。これは、ユーザ設定可能要素サイズよりもずっと小さいフィーチャが面境界にあれば、アルゴリズムはそれらを無視するように構成可能であるということを意味する。
さらに、入力面(3DUV空間内の)の各頂点iにおいて、夾角φiが、頂点のノードと、その後端及び先端の隣接ノードとの間で計算される。この角度に基づいて、頂点は、次式2の法則に則して凹形又は反射としてマークされる。式中、φtは可変角度公差である(概して60°)。
[式2]
ノッチ図2000を図20に例示してあり、入力面2006に関し、反射頂点(VR)2002と、その対の頂点(VP)2004との関係が示されている。ノッチ図を展開するために、面境界が先ず要素サイズで離散化され、全反射頂点が先ず、それらの直近の近隣縁に直交して投影される。
美術館分解アルゴリズムは次に、各反射頂点(VR)とその対の頂点(VP)との関係を確立するように構成される。反射頂点のうちいくつかは仮想(VR)とすることができ、またおおよそ、対の頂点の大部分は仮想(VP)である。全反射頂点(VR)をその対の頂点(VP)にリンクさせれば、ノッチ図は図20に示すように完成する。数学的表記では、ノッチ図(ND)は、次式3によって与えられる、n個の反射頂点とそれらの正投影された対の頂点とのリンクの集合として表現される。
[式3]
説明に係る美術館分解アルゴリズムは次に、分割線基準を用いて、境界上の多くの接続可能なものの中から、各反射頂点からの最適な分割線を決定するように構成される。分割線が適所に配置されると、面は最適な個数の凸状小区分に分解される。9個の反射頂点を有する美術館分解シングルループ入力面に基づく3D空間の最終結果(メッシュ)の例2100が、図21に示されている。
別の実施形態において、マルチブロック分解コンポーネントは、複合(複雑)入力面に関して可視性ベースの分解アルゴリズムも用いる。可視性ベースの分解アルゴリズムは、シングルループ面及びマルチループ面の両方に適用されて付加分割線を付加し/導入し、これら付加分割線は、より良く定義された系統立ったメッシュ生成のために、いくつかの凸状区分を、より小さい四辺形状区画に分割することを補助する。殊に、前述したように、マルチブロック分解コンポーネントの一実施形態では、マルチループ非アニュラス及び非円筒種(例えば、M0種入力面)として分類される入力面に関して、中間軸ベースの分解アルゴリズムと可視性ベースの分解アルゴリズムの組み合わせを選択して用いる。
説明に係る一例の可視性ベースの分解アルゴリズムは、ドロネーメッシュを必要とせず、グローバルサイズに等しい境界離散化に依存する。可視性ベースの分解アルゴリズムは、図22の例2200に示すように、面境界上の他の点に関して境界点の「可視性」を決定する。凹形又は反射頂点j2202は、面輪郭を3つの区画D1−2208、D2−2210及びD3−2212に分割する2本の延長線jl2204及びjr2206を有する。(点jを起点に)線jl2204の左側の面区分がD1、線jr2206の右側の面区分がD3、その間の区画がD2である。通常、区画D2内の全点は点j2202にとって可視である。各可視点は、分割線機能により、同様の線jk2214に関して次式4のように表される。
[式4]
全ての有効な可視分割線候補の汎関数の最小値が最適な分割線を与える。正規化された長さパラメータ又は長さコスト関数LはL=ljk/ldによって与えられる。式中、ljkは分割線jk(図22に示す)の長さ、ldは、メッシュ区分B≡[(xmin,ymin),(xmax,ymax)]の境界を定める矩形ボックスの対角線である固有長さである。一定の角度及び長さ重み係数がヒューリスティックに発生し、例えばW=1.0及びW=5.0に相当する。
また、fsymは、分割線対称重み係数であり、対称分割線に関してfsym=0.8、非対称分割線に関してfsym=1.0と定義される。H、又は分割線角度累積項は次式5のように表される。
[式5]
この式において、角度重み係数Wαiは通例、ほとんどの角度に関して1.0であるが、90度に最も近い分割線に、より重みを付けるように計算できる。例えば、角度重み係数Wαiは、次のように、分割線が90度に近付くにつれ、0.7と1.3に変えられる:h<0.033,h<0.033,h<1.0,h<1.0の場合、Wα1=Wα2=1.3且つWα3=Wα4=0.7であり;また、h<1.0,h<1.0,h<0.033及びh<0.033の場合、Wα1=Wα2=0.7且つWα3=Wα4=1.3である。
角度コスト関数hは、角度が良いほど値が低くなるように計算される。四辺形に関して、この値は90度で0に近付く。分割線は傾斜し、60°を下回る角度で非常に高くなる。これらは次式6のように表される。
[式6]
式中の分割線2214の周りの分割角度φi2216は図22に示されており、角度コサイン係数fαはfα=4/cosφminと記述される。
分割線の対称性は、互いの又は対応する角度の近さによって測定される。例えば、対称条件は次式7に相当する。
[式7]
分割線汎関数のこの例示定式化は、直交分割、分解の対称性及び点近接度(分割線の短さ)を強調する。図22に示すように、この例において、境界離散化面に対する最適の分割線2214(この場合jk)は、全ての可能な可視候補のうち最小の分割線汎関数値をもつ。
説明に係る可視性ベースの分解アルゴリズムは、面輪郭の分割が発生する度に、面輪郭ループが分割線の右側のサブループと左側のサブループとに分割されるように構成される。再帰分割は、結果として得られる小輪郭が「四辺形状」となるまで継続され得る。例示のマルチブロック分解コンポーネントは、四辺形状チェックアルゴリズムを用いて小輪郭をチェックし、入力面のこの部分に関する再帰分割を終了するために、該小輪郭が十分に「四辺形状」となることを判断する。
図23は、入力面2302が、説明に係る可視性ベースの分解アルゴリズムによって四辺区分に分割された例2300を示す。この例において、2つの内部ループ2304を有する面は、可視性ベースのマルチブロック化アルゴリズムで11個の仮想四辺形状面に分解される。図24は、可視性ベースの分解アルゴリズムによって生成された11個のブロックがメッシュ処理された後の、2D空間における当該入力面2302の例2400を示す。
図3に戻って、前述したように、メッシュコンポーネント110のマルチブロック仮想トポロジエンジン136はさらに、マルチブロック分解コンポーネント304によって出力されるデータを処理するトポロジビルダーコンポーネント306を含む。このデータは、入力面を細分化するブロックを画定する仮想縁候補(すなわち、分割線)を確定するために使用可能である。当データは、入力面の2D表現に関する頂点の関係を含み、そして、仮想縁候補と対応する面を確定するためにトポロジビルダーコンポーネント306によって利用可能である。
例えば、トポロジビルダーコンポーネント306は、ここに説明するマルチブロッキング分解アルゴリズムのいずれの出力に関してもノッチ図(ND)を確定するように構成される。この目的のノッチ図2500の一例が図25に示されている。トポロジビルダーコンポーネント306は、リンク済みの頂点ペア(e)2504,2506の間に仮想縁(ve)2502を確定する。ノッチ図ND、仮想縁(ve)、仮想頂点(e)及びオリジナルの面ジオメトリが与えられると、トポロジビルダーコンポーネント306は、仮想面(Vf)2508を構築する。使用されない、面境界上に一時的に生成されたノードは全て、この時点でトポロジビルダーコンポーネント306によって削除される。
図25に示す確定されたノッチ図NDは、入力面に対する2Dパラメータ空間における仮想面分解後の結果である仮想トポロジの一例に相当する。当然理解されることであるが、説明に係るトポロジビルダーコンポーネント306は非常に軽く、最小データ(例えば、多くてもノード/頂点/縁へのポインタ/参照)を含み、メッシュ化コンポーネントのパラメータ空間で動作する。
図3に戻って、前述したように、メッシュコンポーネント110はさらに、トポロジビルダーコンポーネント306によって生成された仮想面のそれぞれに最終メッシュを生成するように構成された最終メッシュコンポーネント308を含む。仮想面に最終メッシュが生成されると、全仮想面のノード/要素は、入力面のオリジナルの親面/縁と関連付けられて、仮想トポロジは廃棄される。
例示の実施形態において、先ず仮想面に関し、最終メッシュコンポーネント308によって超限的(有限ではない)メッシュ化が実行される。この超限的メッシュ化は、仮想面がこの例において4辺であるため、ほとんどの仮想面においてうまくいく。残りの非マップメッシュ可能な仮想面は、細分割/ペービング(paving)メッシュ化アルゴリズムによってメッシュ処理される。結果として得られる最終メッシュは、説明に係るマルチブロック分解プロセスの結果として、分解されない面に関する小分割/ペービングアルゴリズムによって生成可能なメッシュに比べ、より系統立ったものとなる。
例示の実施形態において、エンジニアは、本明細書に説明するメッシュデータを用いて実行されたシミュレーション結果を用いて、所望の性能基準(例えば、より安全な自動車)に合致させるべく構造を最適化するためにオブジェクトモデルを修正(CADソフトウェアにより)することができる。修正後の構造に対応する最終メッシュ及び/又はCADデータ及び/又は製品データは、データストア138(CADファイル及び/又はPLMデータベース等)に記憶される。説明に係るアプリケーションソフトウェアコンポーネント及び/又は他のソフトウェアアプリケーションは次に、CADデータ及び/又は製品データに記憶されている修正後の構造に基づいて種々の機能を実行する。
そのような機能は、構造を構築するために用いられる特定のコンポーネント(及びその量)を指定する製図及び/又は部品表(BOM)を(CADデータ及び/又は製品データに基づいて)生成することを含む。これら製図及び/又はBOMは、プリンタで紙に印刷する、マイクロソフト(登録商標)エクセルファイル又はアクロバット(登録商標)PDFファイル等の電子的形式で生成する、表示デバイスによって表示する、eメールで通信する、データストアに記憶する、又は設計構造に相当する製品をつくるために個人及び/又はマシンによって使用可能な形式で生成する、ことができる。さらに、3Dプリンタ等のマシンが、(シミュレーション結果を考慮してCADソフトウェアによって修正される前又は後に)オブジェクトモデルを表すデータを用いて、該オブジェクトデータから物理的構造(例えば、部品)を製造する例も、当然ながら可能である。
図26を参照すると、種々の方法が例示されている。例示の方法は、1つのシーケンスで実行される一連の過程として説明されているが、同方法が例示のシーケンスの順に限定されないことは、当然である。例えば、一部の過程は、ここに説明する順番とは異なる順に生じ得る。さらに、過程は、別の過程と同時にも生じ得る。加えて、全ての過程がここに説明する方法の実行に必要ではない例もある。
本開示は、完全に機能的なシステム及び/又は一連の過程と関連した説明を含むが、当業者ならば、本開示のメカニズム及び/又は説明する過程の少なくとも一部は、非一時的なマシンで使用可能な、コンピュータで使用可能な又はコンピュータ可読の媒体内に種々の形式のいずれかで収容された、コンピュータで実行可能な命令の形式で、配布可能であること、また、本開示は、その配布を実際に実行するために利用される命令又は信号を担持する媒体又はストレージ媒体の特定のタイプにかかわらず等しく適用されることを、当然理解することができる。非一時的なマシンで使用可能な/可読の、コンピュータで使用可能な/可読の媒体の例は、ROM、EPROM、磁気テープ、フレキシブルディスク、ハードディスクドライブ、SSD、フラッシュメモリ、CD、DVD、ブルーレイディスクを含む。コンピュータで実行可能な命令は、ルーチン、サブルーチン、プログラム、アプリケーション、モジュール、ライブラリ、実行のスレッド及び/又は同等物を含む。さらに、方法の過程の結果は、コンピュータ可読媒体に記憶される、表示デバイスに表示される、及び/又は同等の処理を施される。
図26を参照すると、オブジェクトモデルに対するメッシュの生成を促進する方法2600が示されている。該方法は、2602で開始(Start)され、少なくとも1つのプロセッサの動作によって実行されるいくつかの過程を含む。これらの過程は、構造の三次元(3D)オブジェクトモデルの入力面の種類を、少なくとも入力面が含むループの個数に基づいて分類する過程2604を含む。次に、該方法は、分類した入力面の種類に基づいて、複数のマルチブロック分解アルゴリズム(プロセッサがこれらを使用するように構成されている)の中からいずれかのマルチブロック分解アルゴリズムを選択する過程2606を含む。また、該方法は、選択したマルチブロック分解アルゴリズムを用いて入力面にわたる複数のブロックの位置を確定する過程2608を含む。そして、該方法は、各ブロックをメッシュ処理して、入力面を複数の四辺形要素に分割するメッシュを画定するメッシュデータを生成する過程2610を含む。該方法は過程2612で終了(End)する。
方法2600は、システム100に関して前述したその他の過程及び特徴を含み得るのは当然である。例えば、該方法は、入力面の平坦化二次元(2D)表現を生成することを含み得る。入力面の種類を分類する過程は、その入力面の2D表現を基に行える。また、選択したマルチブロック分解アルゴリズムを用い、入力面にわたる複数のブロックの位置を確定する過程が、前記入力面の2D表現に基づいて実行され得る。
複数の入力面に関して入力面の種類を分類する過程2604は、入力面の少なくとも1つがシングルループを含むのかマルチループを含むのか、入力面の少なくとも1つが円筒形表面を含むのか否か、入力面の少なくとも1つが中間軸ビードを含むのか否か、及び入力面の少なくとも1つが中間軸アニュラスを含むのか否か、を判定することを含み得る。
複数の入力面に対してマルチブロック分解アルゴリズムを選択し使用する過程2606,2608は、デカルトスラブ分解アルゴリズムを選択し使用して、円筒形表面を有する入力面の少なくとも1つを、円筒形表面の軸に対して平行である、いくつかの平行なスラブ形状ブロックに細分化することを含み得る。
複数の入力面に対しマルチブロック分解アルゴリズムを選択し使用する過程2606,2608は、中間軸ベースのビード分解アルゴリズム、中間軸ビード種分解アルゴリズム、及び中間軸ベースの分解アルゴリズムと可視性ベースの分解アルゴリズムの組み合わせ、のうちの少なくとも1つを選択し使用することを含めて、少なくとも1つの中間軸分解アルゴリズムを選択し使用することを含み得る。中間軸ベースのビード分解アルゴリズムは、中間軸ビード種入力面分類を有する入力面の少なくとも1つを、ビードの中央に矩形ブロック含み、両脇に2つの湾曲ブロックキャップがある3つのブロックに細分化するために、使用され得る。中間軸ビード種分解アルゴリズムは、中間軸アニュラス種入力面分類を有する入力面の少なくとも1つを、複数の円弧形状ブロックを含む複数のブロックに細分化するために、使用され得る。中間軸ベースの分解アルゴリズムと可視性ベースの分解アルゴリズムの組み合わせは、マルチループ種入力面分類を有する入力面の少なくとも1つを、入力面のうち少なくとも1つが円筒形種の入力面ではない、又は、中間軸アニュラスタイプ入力面ではないという判定に基づいて細分化するために、使用され得る。
過程2606,2608は、シングルループ種入力面分類を有する入力面の少なくとも1つを、入力面のうち少なくとも1つが円筒形種の入力面ではない、又は、中間軸ビード種入力面ではないという判定に基づいて細分化するために、美術館分解アルゴリズムを選択して使用することを含み得る。
説明に係る方法において、生成されたメッシュは内部ノードを含み、該内部ノードの大部分が4価で、メッシュの四辺形要素の大部分が、80°〜100°の間の4つの夾角を有する。
説明に係る方法は、メッシュデータと、少なくとも1つの入力デバイスの動作を通し提供された構造に印加される荷重を表すデータとに少なくとも一部は基づいて、構造に対する物理的作用を判断する過程を含み得る。該方法は、表示デバイスにより少なくとも1つのグラフィカルユーザインターフェース(GUI)を生成する過程を含んでいてもよく、その少なくとも1つのGUIは、オブジェクトモデル、オブジェクトモデルのメッシュ及び構造に対する確定された物理的作用、の視覚的表現を表示する。該方法は、少なくとも1つの入力デバイスによる別の入力に応じて、オブジェクトモデルを修正し、修正後のオブジェクトモデルを表すデータを少なくとも1つのデータストアに記憶する過程を含み得る。
前述したように、(本明細書で説明するメッシュから生成された)シミュレーション結果に基づく、構造のオブジェクトモデルに対する修正は、CADデータ及び/又は製品データとしてCADファイル及び/又はPLMデータストアに対し維持され得る。すると当該CADデータ又は製品データに基づいて、製図及び/又はBOMの作成に関連する過程が実行される。該方法は、個人が、その製図及び/又はBOMに基づいて構造を手動で構築することを含み得る。そのような過程は、マシン(3Dプリンタ等)がCADデータに基づいて構造を構築することを含み得る。
前述したように、上記方法に関連する過程(構造を手動で構築する等の、説明した手動の過程以外の)は、1つ以上のプロセッサによって実行可能である。このプロセッサ(複数可)は、例えば、上記過程を1つ以上のプロセッサに実行させるように動作可能なソフトウェアコンポーネントを実行する1つ以上のデータ処理システムに含まれ得る。一例の実施形態において、そのようなソフトウェアコンポーネントは、ルーチン、サブルーチン、プログラム、アプリケーション、モジュール、ライブラリ、実行のスレッド及び/又は同等物に相当する、コンピュータ実行可能な命令を含む。さらに、ソフトウェアコンポーネントは、Java(登録商標)、JavaScript(登録商標)、Python、C、C#、C++、又は本明細書で説明する過程と特徴を実行するように構成されたコンポーネントとグラフィカルユーザインターフェースを生成することが可能なその他のソフトウェアツール等の、ソフトウェア環境/言語/フレームワークによって書き込まれ、及び/又は生成可能であることは、言う迄も無い。
図27は、本明細書で説明する処理を実行するように、ソフトウェアその他により動作可能に構成された、例えばCAE、CAD、PLM及び/又はその他のシステムの一環として、実施形態が実行されるデータ処理システム2700(コンピュータシステムとも呼ぶ)のブロック図を示す。図示のデータ処理システム2700は、1つ以上のブリッジ/コントローラ/バス2704(例えば、ノースブリッジ、サウスブリッジ)に接続された少なくとも1つのプロセッサ2702(例えば、CPU)を含む。バス2704の1つは、例えば、PCI高速バス等の1つ以上のI/Oバスを含み得る。図示の例において種々のバスに接続されるものにはさらに、メインメモリ2706(RAM)及びグラフィックスコントローラ2708も含まれる。グラフィックスコントローラ2708は、1つ以上の表示デバイス2710に接続される。当然ながら、実施形態によっては、1つ以上のコントローラ(例えば、グラフィックス、サウスブリッジ)がCPUに組み込まれていてもよい(同じチップ又はダイに)。CPUアーキテクチャの例は、IA−32、x86−64及びARMプロセッサアーキテクチャを含む。
1つ以上のバスに接続される他の周辺機器は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、セルラーネットワーク及び/又はその他の有線又は無線ネットワーク2714又は通信機器に接続して動作可能な通信コントローラ2712(イーサネット(登録商標)コントローラ、WiFiコントローラ、セルラーコントローラ)を含む。
種々のバスに接続されたコンポーネントは、さらに、USBコントローラ、ブルートゥース(登録商標)コントローラ、及び/又は(スピーカ及び/又はマイクロフォンに接続された)専用オーディオコントローラ等の1つ以上のI/Oコントローラ2716を含む。入力デバイス2718(例えば、キーボード、マウス、タッチスクリーン、トラックボール、ゲームパッド、カメラ、マイクロフォン、スキャナ、モーションセンシングデバイス)、出力デバイス2720(例えば、プリンタ、スピーカ)、又は、データ処理システムに入力を提供する、又はデータ処理システムから出力を受け取るように動作可能な他のタイプのデバイスを含む種々の周辺機器が、USBコントローラに(各種USBポートを介して)接続される、ことは当然である。また、当然ながら、入力デバイス又は出力デバイスと呼ばれる多くのデバイスは、データ処理システムとの通信における入力を提供し出力を受信する。I/Oコントローラ2716に接続されたその他の周辺ハードウェア2722は、当然ながら、データ処理システムと通信するように構成された各種のデバイス、マシン又はコンポーネントを含む。
種々のバスに接続される他のコンポーネントは、1つ以上のストレージコントローラ2724(例えば、SATA)を含む。ストレージコントローラ2724は、1つ以上のストレージデバイス、及び/又は適切な非一時的、マシン使用可能ストレージ媒体又はマシン可読ストレージ媒体等の関連するリムーバブル媒体など、ストレージデバイス2726に接続される。その例は、非揮発性デバイス、揮発性デバイス、リードオンリーデバイス、書き込み可能デバイス、ROM、EPROM、磁気テープストレージ、フレキシブルディスクドライブ、ハードディスクドライブ、固体ドライブ(SSD)、フラッシュメモリ、光ディスクドライブ(CD、DVD、ブルーレイ)、及びその他の既知の光学的、電気的又は磁気的ストレージデバイス、ドライブ及び/又はコンピュータ媒体を含む。さらに、いくつかの例において、SSD等のストレージデバイスが、PCI高速バス等のI/Oバス2704に直接接続される。
一実施形態によるデータ処理システムは、オペレーティングシステム(OS)2728、ソフトウェア/ファームウェア2730及びデータストア2732(ストレージデバイス2726及び/又はメモリ2706に記憶可能)を含む。オペレーティングシステム2728は、コマンドラインインターフェース(CLI)シェル及び/又はグラフィカルユーザインターフェース(GUI)シェルを利用する。GUIシェルは、多数の表示ウィンドウが、各表示ウィンドウが異なるアプリケーションへのインターフェース又は同じアプリケーションの異なるインスタンスへのインターフェースを提供しながら、同時にグラフィカルユーザインターフェースに提示されることを、可能にする。グラフィカルユーザインターフェースのカーソル又はポインタは、ユーザによってマウス又はタッチスクリーン等のポインティングデバイスを介して操作される。カーソル/ポインタの位置は変更され、及び/又は、マウスボタンのクリックやタッチスクリーンのタッチ等のイベントが、所望の応答を得るために生成される。データ処理システムで用いられ得るオペレーティングシステムの例は、マイクロソフトウィンドウズ(登録商標)、リナックス(登録商標)、ユニックス(UNIX:登録商標)、iOS及びアンドロイド(登録商標)といったオペレーティングシステムを含む。データストアの例は、データファイル、データテーブル、リレーショナルデータベース(例えば、オラクル、マイクロソフトSQLサーバ)、データベースサーバ、又は、プロセッサによって回収可能なデータを格納することが可能なその他の構造及び/又はデバイスを含む。
通信コントローラ2712は、インターネットを含む、当業者に既知のパブリック又はプライベートのデータ処理システムネットワーク又はネットワークの組み合わせであり得るネットワーク2714(データ処理システム2700の一部ではない)に接続される。データ処理システム2700は、ネットワーク2714を介して、サーバ2734(これもデータ処理システム2700の一部ではない)等の1つ以上の他のデータ処理システムと通信する。しかしながら、代替的データ処理システムは、いくつかのデータ処理システムに関連するプロセッサが、1つ以上のネットワーク接続によって通信し、説明したタスクを、単一のデータ処理システムによって実行するように包括的に実行する、分散型システムの一環として実装される複数のデータ処理システムに相当する。データ処理システムと呼ぶ場合、当該システムは、ネットワークを介して互いに通信する分散型システム内に組織された複数のデータ処理システムを横断して実装可能であることは、当然理解される。
「コントローラ」とは、デバイスがハードウェア、ファームウェア、ソフトウェア又はその少なくとも2つの組み合わせで実装されるかどうかを問わず、少なくとも1つのオペレーションを制御するデバイス、システム又はその一部を意味する。特定のコントローラに関連する機能は、ローカル、リモートのいずれであっても、中央集約されても分散されてもよい。
データ処理システムは、もちろん、仮想マシンアーキテクチャの又はクラウド環境の仮想マシンとして実装され得る。例えば、プロセッサ2702と、関連するコンポーネントとは、1つ以上のサーバの仮想マシン環境において実行の仮想マシンに相当する。仮想マシンアーキテクチャの例は、VMware ESCi、マイクロソフトHyper−V、Xen及びKVMを含む。
当業者ならば当然理解されるとおり、データ処理システムに関して図示したハードウェアは、実装形態に応じて変わり得る。例えば、本例においてデータ処理システム2700は、コンピュータ、ワークステーション、及び/又はサーバに相当し得る。一方、データ処理システムの別の実施形態は、携帯電話機、タブレット、コントローラボードの形式等の対応する又は代替的なコンポーネントで構成されても、又は、データを処理し、本明細書で説明するデータ処理システム、コンピュータ、プロセッサ及び/又はコントローラの動作に関る、本明細書で説明する機能と特徴を実行するように構成されたその他のシステムで構成される。図示の例は、説明の目的のみで提供されたものであり、本開示に関する構造的な限定を意味することを意図していない。
本明細書で用いる「コンポーネント」及び「システム」は、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアの組み合わせを包含することを意図している。したがって、例えば、システム又はコンポーネントは、処理(プロセス)、プロセッサが実行する処理、又はプロセッサであってよい。加えて、コンポーネント又はシステムは単一のデバイスに局所化されても、又はいくつかのデバイスにわたり分散されてもよい。
本明細書で用いる場合、プロセッサは、ハードウェア回路、ソフトウェア及び/又はファームウェアによりデータを処理するように構成された電子デバイスに相当する。例えば、本明細書で説明するプロセッサは、マイクロプロセッサ、CPU、FPGA、ASIC又はその他の集積回路(IC)、又は、コントローラボード、コンピュータ、サーバ、携帯電話機、及び/又はその他の電子デバイスの形式を備えている、データ処理システムにおいてデータを処理できる他の回路のうち1つ以上(又は組み合わせ)に相当し得る。
当業者ならば理解できるように、本明細書において、簡明にするため、本開示での使用に適したデータ処理システムの完全な構造と全動作について図示し説明しているわけはない。代わりに、本開示に独自な、又は本開示の理解に必要なだけのデータ処理システムのみが図示され説明されている。データ処理システム2700の構成及び動作の残りの部分は、当技術分野で知られる種々の現行の実装と実施のいずれにも準拠し得る。
本開示の例示的実施形態を詳細に説明したが、当業者ならば、最も広範な態様における本明細書の趣旨及び範囲から逸脱せずに、開示に即した種々の変更、置換、バリエーション及び改良がなされ得ることは当然理解される。
本出願の説明のいずれも、特定の要素、ステップ、過程又は機能が、特許請求の範囲に含まれているべき必須の要素であるという意味に読み取られるべきではなく、特許の対象範囲は、許可された請求項によってのみ定義されるものである。さらに、これらの請求項はいずれも、厳密に「するための手段」という語の後に助詞が来ない限り、ミーンズ・プラス・ファンクション(means plus function)クレームを想起させる意図はない。

Claims (15)

  1. メッシュを生成するシステム(100)であって、少なくとも1つのプロセッサ(102)を備え、
    該プロセッサが、
    構造の三次元オブジェクトモデル(108)の入力面(204,310,502)の種類(312,508)を、少なくとも前記入力面(204,310,502)が含むループ(504,506)の個数に基づいて分類し、
    該分類した入力面の種類に基づいて、複数のマルチブロック分解アルゴリズムであって前記プロセッサがそれらを使用するように構成されているマルチブロック分解アルゴリズムの中から、いずれかのマルチブロック分解アルゴリズム(1006,1008,1010,1012,1014)を選択し、
    該選択したマルチブロック分解アルゴリズムを用いて、前記入力面にわたる複数のブロック(1506)の位置を確定し、該各ブロックをメッシュ処理して、前記入力面を複数の四辺形要素(210)に分割するメッシュ(202)を画定するメッシュデータ(126)を生成する、システム。
  2. 前記少なくとも1つのプロセッサは、前記入力面の平坦化された二次元表現(1702)を生成するように構成され、
    前記少なくとも1つのプロセッサは、該少なくとも1つのプロセッサが確定するように構成されている複数の入力面の種類の中から、前記入力面の二次元表現に基づいて前記分類する入力面種を確定するように構成され、
    前記少なくとも1つのプロセッサは、前記入力面の二次元表現を使用して、前記入力面にわたる複数のブロックの位置を、前記分類した入力面種に基づいて確定するように構成され、
    前記少なくとも1つのプロセッサが確定するように構成されている複数の入力面の種類は、入力面がシングルループを含むのかマルチループを含むか、入力面が円筒形表面を含むのか否か、入力面が中間軸ビードを含むのか否か、及び入力面が中間軸アニュラスを含むのか否か、を弁別するように構成される、請求項1に記載のシステム。
  3. 前記少なくとも1つのプロセッサが前記入力面の二次元表現を処理するために選択し使用するように構成されている前記複数のマルチブロック分解アルゴリズムは、円筒形表面を有する前記入力面を、該円筒形表面の軸に平行であるいくつかの平行なスラブ形状ブロックに細分化するために用いられるデカルトスラブ分解アルゴリズムを含み、
    前記少なくとも1つのプロセッサが前記入力面の二次元表現を処理するために選択し使用するように構成されている前記複数のマルチブロック分解アルゴリズムは、
    中間軸ビード種入力面分類を有する入力面の少なくとも1つを、前記ビードの中央に矩形ブロックを含みその両脇に2つの湾曲ブロックキャップがある3つのブロックに細分化するように構成された中間軸ベースのビード分解アルゴリズムと、
    中間軸アニュラス種入力面分類を有する入力面の少なくとも1つを、複数の円弧形状ブロックを含む複数のブロックに細分化するように構成された中間軸ビード種分解アルゴリズムと、
    マルチループ種入力面分類を有する入力面の少なくとも1つを、該入力面の少なくとも1つが円筒形種の入力面又は中間軸アニュラス種の入力面ではないという判断に基づいて細分化するように構成された中間軸ベース及び可視性ベースの組み合わせ分解アルゴリズムと、
    のうちの少なくとも1つを含む少なくとも1つの中間軸分解アルゴリズムを含む、請求項2に記載のシステム。
  4. 前記中間軸ベース及び可視性ベースの組み合わせ分解アルゴリズムを選択した場合、前記少なくとも1つのプロセッサは、候補分割線の直交性、対称性及び短さに基づいて前記入力面をブロックに細分化する分割線(1402,1502,1602,2214)が確定される、前記アルゴリズムの可視性ベース分解部分を実行するように、構成される、請求項3に記載のシステム。
  5. 前記少なくとも1つのプロセッサが前記入力面の二次元表現を処理するために選択し使用するように構成されている前記複数の利用可能なマルチブロック分解アルゴリズムは、前記入力面が円筒形種入力面又は中間軸ビード種入力面ではないと前記少なくとも1つのプロセッサが判断した場合にシングルループ種入力面分類を有する入力面を細分化するために用いられる、少なくとも1つの美術館分解アルゴリズムを含む、請求項4に記載のシステム。
  6. 前記メッシュは内部ノード(206)を含み、該内部ノードの大部分が4価を有し且つ前記四辺形要素の大部分が80°〜100°の間の4つの夾角(208)を有し、
    前記少なくとも1つのプロセッサは、前記構造に対する物理的作用(130)を、前記メッシュデータと、少なくとも1つの入力デバイス(116)の動作により提供される、前記構造に印加される荷重を表すデータとに少なくとも基づいて判断するように構成され、
    前記少なくとも1つのプロセッサは、表示デバイス(114)により少なくとも1つのグラフィカルユーザインターフェース(120)を生成するように動作し、該少なくとも1つのグラフィカルユーザインターフェースは、前記オブジェクトモデル、前記オブジェクトモデルの前記メッシュ及び前記確定された構造に対する物理的作用の視覚的表現(122)を表示し、
    前記少なくとも1つのプロセッサは、前記少なくとも1つのグラフィカルユーザインターフェースが、前記オブジェクトモデルを修正し、該修正したオブジェクトモデルを表すデータを少なくとも1つのデータストアに記憶するために使用されることを可能にするように構成される、請求項1〜5のいずれか1項に記載のシステム。
  7. メモリ(106)と、アプリケーションソフトウェアコンポーネント(104)と、前記少なくとも1つのプロセッサと、前記少なくとも1つの入力デバイスと、前記表示デバイスとを含むコンピュータシステムをさらに備え、
    前記アプリケーションソフトウェアコンポーネントは、前記メモリに記憶され前記少なくとも1つのプロセッサによって実行されたときに、該少なくとも1つのプロセッサを、前記少なくとも1つの入力デバイスによる入力に応答して、オブジェクトモデルをメモリにロードし、メッシュ処理し、有限要素解析に付すように動作させる、命令からなる、請求項6に記載のシステム。
  8. メッシュを生成する方法であって、
    少なくとも1つのプロセッサ(102)が動作して、
    構造の三次元オブジェクトモデル(108)の入力面(204,310,502)の種類(312,508)を、少なくとも前記入力面が含むループ(504,506)の個数に基づいて分類し、
    該分類した入力面の種類に基づいて、複数のマルチブロック分解アルゴリズムであって前記プロセッサがそれらを使用するように構成されているマルチブロック分解アルゴリズムの中から、いずれかのマルチブロック分解アルゴリズム(1006,1008,1010,1012,1014)を選択し、
    該選択したマルチブロック分解アルゴリズムを用いて、前記入力面にわたる複数のブロック(1506)の位置を確定し、
    該各ブロックをメッシュ処理して、前記入力面を複数の四辺形要素(210)に分割するメッシュ(202)を画定するメッシュデータ(126)を生成する、ことを含む方法。
  9. 前記少なくとも1つのプロセッサが動作して、
    前記入力面の平坦化された二次元表現を生成し、前記入力面の種類の分類を、当該入力面の二次元表現に基づいて行い、前記選択したマルチブロック分解アルゴリズムを用いた前記入力面にわたる複数のブロックの位置の確定を、前記入力面の二次元表現に基づいて実行し、
    複数の前記入力面の入力面種を分類するときに、入力面の少なくとも1つがシングルループを含むのかマルチループを含むのか、入力面の少なくとも1つが円筒形表面を含むのかどうか、入力面の少なくとも1つが中間軸ビードを含むのかどうか、及び入力面の少なくとも1つが中間軸アニュラスを含むのかどうか、を判断する、ことをさらに含む、請求項8に記載の方法。
  10. 円筒形表面を有する入力面の少なくとも1つを、円筒形表面の軸に対して平行であるいくつかの平行なスラブ形状ブロックに細分化するデカルトスラブ分解アルゴリズムを選択し使用することを含む、複数の入力面に関して前記マルチブロック分解アルゴリズムを選択し使用することをさらに含む、請求項9に記載の方法。
  11. 中間軸ビード種入力面分類を有する入力面の少なくとも1つを、前記ビードの中央に矩形ブロックを含みその両脇に2つの湾曲ブロックキャップがある3つのブロックに細分化するように構成された中間軸ベースのビード分解アルゴリズムと、
    中間軸アニュラス種入力面分類を有する入力面の少なくとも1つを、複数の円弧形状ブロックを含む複数のブロックに細分化するように構成された中間軸ビード種分解アルゴリズムと、
    マルチループ種入力面分類を有する入力面の少なくとも1つを、該入力面の少なくとも1つが円筒形種の入力面又は中間軸アニュラス種の入力面ではないという判断に基づいて細分化するように構成された中間軸ベース及び可視性ベースの組み合わせ分解アルゴリズムと、
    のうち少なくとも1つを選択し使用することを含む、少なくとも1つの中間軸分解アルゴリズムを選択し使用することをさらに含む、請求項9に記載の方法。
  12. 前記中間軸ベース及び可視性ベースの組み合わせ分解アルゴリズムを選択した場合、候補分割線の直交性、対称性及び短さに基づいて前記入力面をブロックに細分化する分割線が確定される、前記アルゴリズムの可視性ベースの分解部分を実行することをさらに含む、請求項11に記載の方法。
  13. 前記入力面の少なくとも1つが円筒形種入力面又は中間軸ビード種入力面ではないという判断に基づいて、シングルループ種入力面分類を有する入力面の少なくとも1つを細分化するために、美術館分解アルゴリズムを選択し使用することをさらに含む、請求項9に記載の方法。
  14. 前記メッシュは内部ノード(206)を含み、該内部ノードの大部分が4価を有し且つ前記四辺形要素の大部分が80°〜100°の間の4つの夾角(208)を有し、
    前記少なくとも1つのプロセッサが動作して、
    前記構造に対する物理的作用を、前記メッシュデータと、少なくとも1つの入力デバイスの動作により提供される、前記構造に印加される荷重を表すデータとに少なくとも基づいて判断し、
    表示デバイスにより少なくとも1つのグラフィカルユーザインターフェースを生成し、該少なくとも1つのグラフィカルユーザインターフェースは、前記オブジェクトモデル、前記オブジェクトモデルの前記メッシュ及び前記確定された構造に対する物理的作用の視覚的表現を表示し、
    前記少なくとも1つの入力デバイスによる別の入力に応じて、前記オブジェクトモデルを修正し、該修正したオブジェクトモデルを表すデータを少なくとも1つのデータストアに記憶する、ことをさらに含む、請求項8〜13のいずれか1項に記載の方法。
  15. 少なくとも1つのプロセッサ(102,2702)で実行されたときに、該プロセッサに、請求項8〜14のいずれか1項に記載の方法を実行させる、実行可能な命令(2730)が符号化されている非一時的コンピュータ可読媒体。
JP2018511246A 2015-09-01 2016-08-15 メッシュ生成システム及び方法 Active JP6700379B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/842,039 US10956625B2 (en) 2015-09-01 2015-09-01 Mesh generation system and method
US14/842,039 2015-09-01
PCT/US2016/046960 WO2017040006A1 (en) 2015-09-01 2016-08-15 Mesh generation system and method

Publications (3)

Publication Number Publication Date
JP2018526744A true JP2018526744A (ja) 2018-09-13
JP2018526744A5 JP2018526744A5 (ja) 2018-12-27
JP6700379B2 JP6700379B2 (ja) 2020-05-27

Family

ID=56843021

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018511246A Active JP6700379B2 (ja) 2015-09-01 2016-08-15 メッシュ生成システム及び方法

Country Status (5)

Country Link
US (1) US10956625B2 (ja)
EP (1) EP3345164B1 (ja)
JP (1) JP6700379B2 (ja)
CN (1) CN107924583B (ja)
WO (1) WO2017040006A1 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10956625B2 (en) * 2015-09-01 2021-03-23 Siemens Industry Software Inc. Mesh generation system and method
CN205793520U (zh) * 2016-06-03 2016-12-07 深圳市蚂蚁雄兵物联技术有限公司 一种蓝牙控制器
EP3484674B1 (en) * 2016-08-17 2021-07-07 Siemens Aktiengesellschaft Method and system for preserving privacy for cloud-based manufacturing analysis services
US10853539B2 (en) * 2017-05-26 2020-12-01 Autodesk, Inc. Robotic assembly of a mesh surface
CN107644139B (zh) * 2017-09-30 2021-07-09 中国航空工业集团公司西安飞机设计研究所 一种从cad模型到cae模型的属性映射方法
EP3503041A1 (en) * 2017-12-24 2019-06-26 Dassault Systèmes Design of a 3d finite element mesh of a 3d part that comprises a lattice structure
CN108211354A (zh) * 2017-12-29 2018-06-29 网易(杭州)网络有限公司 3d游戏场景中虚拟资源的生成方法及装置
GB2573767A (en) * 2018-05-15 2019-11-20 Edwards Ltd Method for fabricating a component of an abatement apparatus
US11270049B2 (en) 2018-09-12 2022-03-08 Siemens Industry Software Inc. Internal channel network detections for 3D printing
JP7238105B2 (ja) * 2018-09-21 2023-03-13 シーメンス インダストリー ソフトウェア インコーポレイテッド 高メッシュ品質と等方性のためのマルチゾーン四辺形メッシュ生成器
CN112805754A (zh) * 2018-09-21 2021-05-14 西门子工业软件有限公司 基于特征的抽象化和网格化
US11030356B2 (en) * 2018-12-20 2021-06-08 Disney Enterprises, Inc. Automated system for design and fabrication of artificial rockwork structures
WO2020234767A1 (en) * 2019-05-22 2020-11-26 Xitadel Cae Technologies India Pvt. Ltd. Machine learning for rapid automatic computer-aided engineering modeling
CN110309575B (zh) * 2019-06-26 2023-06-02 武汉蓝恩汽车技术有限公司 商用车前下防护装置断裂失效评估方法及系统
CN113011068B (zh) * 2021-03-25 2022-09-16 赣江新区澳博颗粒科技研究院有限公司 一种步进梁式板坯加热三维模拟仿真方法
US11625902B2 (en) * 2021-08-09 2023-04-11 Global Graphics Software Limited Methods and systems for shell formation in 3D printing
CN116863091B (zh) * 2023-06-30 2024-01-19 中水珠江规划勘测设计有限公司 土石坝三维模型创建及工程量提取方法、装置

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03134775A (ja) 1989-10-20 1991-06-07 Hitachi Ltd 形状分割システム
US5345490A (en) 1991-06-28 1994-09-06 General Electric Company Method and apparatus for converting computed tomography (CT) data into finite element models
JP3138933B2 (ja) 1991-10-29 2001-02-26 株式会社日立製作所 モデリングシステム
US5497451A (en) * 1992-01-22 1996-03-05 Holmes; David Computerized method for decomposing a geometric model of surface or volume into finite elements
JP2003141187A (ja) * 2001-11-07 2003-05-16 Furukawa Electric Co Ltd:The 解析格子データ生成装置、解析格子データ生成方法およびその方法をコンピュータに実行させるプログラム
JP3954909B2 (ja) * 2002-06-19 2007-08-08 インターナショナル・ビジネス・マシーンズ・コーポレーション 認識モデル生成システム、認識モデル生成方法、該認識モデル生成方法をコンピュータに対して実行させるためのプログラムおよび該プログラムが記録されたコンピュータ可読な記録媒体、ならびに構造メッシュ生成システム
US7129942B2 (en) * 2002-12-10 2006-10-31 International Business Machines Corporation System and method for performing domain decomposition for multiresolution surface analysis
JP3962361B2 (ja) * 2003-06-27 2007-08-22 インターナショナル・ビジネス・マシーンズ・コーポレーション 位相判断装置、分解可能形状生成装置、構造メッシュ生成装置、位相判断方法、分解可能形状生成方法、および該位相判断方法を実行させるためのコンピュータ実行可能なプログラム、分解可能形状生成方法を実行させるためのコンピュータ実行可能なプログラム並びに構造メッシュ生成システム
US7257250B2 (en) * 2003-10-29 2007-08-14 International Business Machines Corporation System, method, and program product for extracting a multiresolution quadrilateral-based subdivision surface representation from an arbitrary two-manifold polygon mesh
US20070011646A1 (en) * 2005-06-24 2007-01-11 College Of William And Mary Parallel Decoupled Mesh Generation
US7605812B2 (en) * 2006-12-19 2009-10-20 Siemens Aktiengesellschaft Intelligent modeling method and system for earmold shell and hearing aid design
CN101383047B (zh) * 2007-09-03 2011-05-04 鸿富锦精密工业(深圳)有限公司 曲面网格化方法
US8135189B2 (en) 2007-10-03 2012-03-13 Siemens Medical Solutions Usa, Inc. System and method for organ segmentation using surface patch classification in 2D and 3D images
ES2341065B1 (es) 2007-10-25 2011-06-13 Airbus España, S.L. Metodos y sistemas para mejorar mallas usadas en dinamica de fluidos computacional.
ES2351411B1 (es) 2008-09-03 2011-12-16 Airbus Operations, S.L. Métodos y sistemas para adaptar la topología de una malla estructurada multi-bloque de un objeto a una modificación de su geometría.
US8447576B2 (en) 2009-10-23 2013-05-21 Siemens Product Lifecycle Management Software Inc. System and method for producing editable three-dimensional models
US20120029882A1 (en) 2010-07-30 2012-02-02 David Bommes System and method for generating quadrangulations
CN102254352B (zh) 2011-07-08 2013-09-18 浙江大学 一种基于模型分片和拼接的四边形网格生成方法
US8970590B1 (en) * 2012-11-27 2015-03-03 Msc.Software Corporation Surface mesh generation systems and methods
GB2531585B8 (en) * 2014-10-23 2017-03-15 Toshiba Res Europe Limited Methods and systems for generating a three dimensional model of a subject
US10956625B2 (en) * 2015-09-01 2021-03-23 Siemens Industry Software Inc. Mesh generation system and method

Also Published As

Publication number Publication date
CN107924583B (zh) 2021-06-04
WO2017040006A1 (en) 2017-03-09
EP3345164B1 (en) 2021-12-15
EP3345164A1 (en) 2018-07-11
JP6700379B2 (ja) 2020-05-27
CN107924583A (zh) 2018-04-17
US20170061037A1 (en) 2017-03-02
US10956625B2 (en) 2021-03-23

Similar Documents

Publication Publication Date Title
JP6700379B2 (ja) メッシュ生成システム及び方法
Bénière et al. A comprehensive process of reverse engineering from 3D meshes to CAD models
CN105740497B (zh) 对工件的加工进行仿真
Bhandari et al. 3D polycrystalline microstructure reconstruction from FIB generated serial sections for FE analysis
Guo et al. Automatic and high-quality surface mesh generation for CAD models
CN107545025B (zh) 利用形态学标准查询数据库
JP2005038219A (ja) 境界表現データからボリュームデータを生成する方法及びそのプログラム
JP2013507679A (ja) 三次元物体モデルの3dプリントが可能な方法及びシステム
US10037403B2 (en) Method and system for managing aircraft parts
Wang et al. Thickening freeform surfaces for solid fabrication
KR20140139984A (ko) 3d 모델링된 오브젝트의 압축 및 압축해제
CN107622530B (zh) 一种高效鲁棒的三角网切割方法
JP2022023010A (ja) 2点接触曲線による乗り物衝撃解析
Dimri et al. Handling sectional views in volume-based approach to automatically construct 3D solid from 2D views
Wang et al. EQSM: An efficient high quality surface grid generation method based on remeshing
US11763524B2 (en) Layered meshing for additive manufacturing simulations
US11520945B2 (en) Modeling support system, modeling support method, and modeling support program
JP2020115338A (ja) 生メッシュからの構造化3dモデルの生成
Kase et al. Volume cad
US10078912B1 (en) Mesh component design for finite element methods and systems
CN111656354A (zh) 操作用于对待制造物品建模的cad系统模型的方法
US10780642B2 (en) System and method for computing surfaces in a multi-layer part
Wang CyberTape: an interactive measurement tool on polyhedral surface
KR20220087376A (ko) 거리 데이터를 이용하여 구조적 불일치를 검출하는 방법 및 시스템
JP2006277712A (ja) 3次元モデルのフィッティング装置、方法及びプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181114

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181114

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191028

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191112

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200128

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200407

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200430

R150 Certificate of patent or registration of utility model

Ref document number: 6700379

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250