(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-01-15
(45)【発行日】2025-01-23
(54)【発明の名称】機械部品の構造シミュレーション
(51)【国際特許分類】
G06F 30/23 20200101AFI20250116BHJP
G06F 30/10 20200101ALI20250116BHJP
G06F 111/10 20200101ALN20250116BHJP
【FI】
G06F30/23
G06F30/10 200
G06F111:10
【外国語出願】
(21)【出願番号】P 2021010006
(22)【出願日】2021-01-26
【審査請求日】2023-12-18
(32)【優先日】2020-01-31
(33)【優先権主張国・地域又は機関】EP
(73)【特許権者】
【識別番号】500102435
【氏名又は名称】ダッソー システムズ
【氏名又は名称原語表記】DASSAULT SYSTEMES
(74)【代理人】
【識別番号】110000752
【氏名又は名称】弁理士法人朝日特許事務所
(72)【発明者】
【氏名】タルハ ヤスミン
(72)【発明者】
【氏名】ベニンカーサ ダヴィッド
【審査官】合田 幸裕
(56)【参考文献】
【文献】特開平06-259505(JP,A)
【文献】特開2019-106188(JP,A)
【文献】特開2017-004143(JP,A)
【文献】特開2004-287701(JP,A)
【文献】特開2009-266111(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 30/00 - 30/398
IEEE Xplore
JSTPlus(JDreamIII)
(57)【特許請求の範囲】
【請求項1】
機械部品の構造シミュレーションを実行するためのB-rep処理の、コンピュータによって実施される方法であって、
・機械部品を表す立体を形成する第1のB-repと、
・所定の厚さ閾値と
を提供すること(S10)と、
前記第1のB-repに基づいて、前記機械部品を表す非多様体オブジェクトを形成する第2のB-repを構築すること(S20)であって、
・各々が前記所定の厚さ閾値よりも小さい厚さを有する、前記第1のB-repの1つまたは複数の薄い領域を識別すること(S200)と、
・識別された薄い領域の各々について、それぞれの中間表面を計算すること(S210)と、識別された薄い領域をそれぞれの中間表面で置き換えることと
を含む、構築すること(S200)と
を含
み、
前記1つまたは複数の薄い領域を識別すること(S200)は、それぞれ、前記第1のB-repの1つまたは複数の隣接接面からなる第1のグループおよび第2のグループを決定することを含み、前記第1のグループの各々は、それぞれの第2のグループに局所的に平行であり、それぞれの第2のグループとともに薄い領域の境界の少なくとも一部を形成する、
方法。
【請求項2】
前記第1のグループおよび第2のグループを決定することは、
各々が、他の面に対して局所的に平行である前記第1のB-repの面を決定することと、
第1の決定された隣接接面を前記第1のグループとし、それらの面と局所的に平行な第2に決定された隣接接面を前記第2のグループとしてグループ化すること(S2200)と、
を含む、請求項
1に記載の方法。
【請求項3】
前記面を決定することは、候補の面を決定すること(S2000)であって、
点が、前記第1のB-repの第2の面から前記厚さ閾値より小さい距離にある、当該第1のB-repの第1の面を、候補の面とすること(S2000)と、
当該候補の面の中から、互いに局所的に平行である前記第1の面と前記第2の面とを決定すること(S2100)と、
を含む、請求項
2に記載の方法。
【請求項4】
2つの面は、
当該面の間の最大距離と当該面の間の最小距離との比が、1に閾値を加えたものよりも小さく、かつ/あるいは、
当該面の間の最大距離と当該面の間の最小距離との差と、当該面の対角線長さのうち
の少なくとも1つとの比が、G1連続性許容角度の正接よりも小さい場合に、局所的に平
行である、
請求項
1ないし3のいずれか一項に記載の方法。
【請求項5】
前記識別された薄い領域の各々についてそれぞれの中間表面を計算すること(S210)は、決定された前記第2のグループのそれぞれに局所的に平行な、決定された前記第1のグループの各々について、中間表面として、当該第1のグループについての第1の増厚演算の結果と、当該それぞれの第2グループについてのオフセット演算の結果との交差を計算することを含む、
請求項
1から請求項
4のいずれか1項に記載の方法。
【請求項6】
前記オフセット演算は、それぞれの第2のグループについての外挿のオフセットであり
、かつ/あるいは
前記第1の増厚演算は、前記厚さ閾値よりも大きい増厚距離を有する、
請求項
5に記載の方法。
【請求項7】
構築すること(S20)は、前記第1のB-repの1つまたは複数の局所的に厚い領域を計算すること(S220)をさらに含み、当該1つまたは複数の厚い領域を計算すること(S22)は、
決定された前記第2のグループのそれぞれに局所的に平行な、決定された前記第1のグループの各々について、当該第1のグループの第2の増厚演算の結果と、当該それぞれの第2のグループにおける第3の増厚演算の結果との交差を計算することと、
前記第1のB-repから、計算された各交差を差し引くことと、
を含む、請求項
1から請求項
6のいずれか1項に記載の方法。
【請求項8】
前記第1のグループについての前記第2の増厚演算は、前記第1のグループの外挿を増すことであり、それぞれの前記第2のグループについての前記第3の増厚演算は、それぞれの前記第2のグループの外挿を増すことであり、前記第1のグループの外挿および前記第2のグループの外挿は異なる外挿値を有し、かつ/あるいは
前記第3の増厚演算および前記第2の増厚演算はそれぞれ前記厚さ閾値よりも大きい増厚距離を有する、
請求項
7に記載の方法。
【請求項9】
前記置き換えることは、それぞれの中間表面の境界エッジを、計算されたそれぞれの厚
い領域の分割エッジと組み合わせることによって、前記それぞれの中間表面を、計算され
たそれぞれの厚い領域と組み合わせること(S230)を含む、請求項
7または請求項
8に記載の方法。
【請求項10】
前記第2のB-repをハイブリッドメッシュにメッシュ化することをさらに含む、請
求項1から請求項
9のいずれか1項に記載の方法。
【請求項11】
前記ハイブリッドメッシュに基づいて、前記機械部品の構造シミュレーションを実行す
ることをさらに含む、請求項
10に記載の方法。
【請求項12】
請求項1から請求項
11のいずれか1項に記載の方法を実行するための命令を含むコンピュータプログラム。
【請求項13】
請求項
12に記載のコンピュータプログラムを記憶しているコンピュータ可読記憶媒体。
【請求項14】
請求項
13に記載のコンピュータプログラムを記憶しているメモリに結合されたプロセッサと、グラフィカルユーザインターフェースとを備えるコンピュータ。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータプログラムおよびシステムの分野に関し、より具体的には、機械部品の構造シミュレーションを実行するためのB-rep処理の方法、システムおよびプログラムに関する。
【背景技術】
【0002】
オブジェクトの設計、エンジニアリングおよび製造のために、多くのシステムおよびプログラムが市場に提供されている。CADは、コンピュータ支援設計(Computer-Aided Design)の略語であり、例えば、オブジェクトを設計するためのソフトウェアソリューションに関する。CAEは、コンピュータ支援エンジニアリング(Computer-Aided Engineering)の略語であり、例えば、将来の製品の物理的挙動をシミュレートするためのソフトウェアソリューションに関する。CAMは、コンピュータ支援製造(Computer-Aided Manufacturing)の略語であり、例えば、製造プロセスおよび動作を定義するためのソフトウェアソリューションに関する。このようなコンピュータ支援設計システムでは、グラフィカルユーザインターフェースは、技術の効率に関して重要な役割を果たす。これらの技術は、製品ライフサイクル管理(Product Lifecycle Management:PLM)システムに組み込むことができる。PLMとは、企業が、拡張エンタープライズの概念全体にわたって、製品データを共有し、共通の工程を適用し、構想に始まり製品寿命の終わりに至る製品開発のための企業知識を活用するのを支援するビジネス戦略を指す。ダッソー・システムズが提供するPLMソリューション(製品名CATIA、ENOVIA、DELMIA)は、製品エンジニアリング知識をオーガナイズするエンジニアリング・ハブ、製品エンジニアリング知識を管理する製造ハブ、およびエンジニアリング・ハブと製造ハブの両方に対するエンタープライズ統合と接続を可能にするエンタープライズ・ハブを提供する。全体として、システムは、製品、工程、リソースを結ぶオープンなオブジェクトモデルを提供し、最適化された製品定義、製造準備、生産およびサービスを推進する、動的な知識ベースの製品作成および意思決定支援を可能にする。
【0003】
機械設計では、設計される部品は、境界表現(B-rep)形式を介して、仮想立体によって表され得る。構造数値シミュレーションのために、立体の処理が用いられることが多い。
【発明の概要】
【発明が解決しようとする課題】
【0004】
機械部品の構造シミュレーションを行うためのB-rep処理の既存の方法は、満足な結果をもたらさない。
【0005】
このため、機械部品の構造シミュレーションを実行するための改良されたB-rep処理方法が、依然として必要とされている。
【課題を解決するための手段】
【0006】
したがって、機械部品の構造シミュレーションを実行するためのB-rep処理の、コンピュータによって実施される方法が提供される。本方法は、第1のB-repを提供することを含む。第1のB-repは、機械部品を表す立体を形成する。本方法は、所定の厚さ閾値を提供することをさらに含む。本方法は、第1のB-repに基づいて、第2のB-repを構築することをさらに含む。第2のB-repは、機械部品を表す非多様体オブジェクトを形成する。構築することは、第1のB-repの1つまたは複数の薄い領域を識別することを含む。各々の薄い領域は、所定の厚さ閾値よりも小さい厚さを有する。構築することは、各々の識別された薄い領域について、識別された薄い領域のそれぞれの中間表面を計算することをさらに含む。構築することは、識別された薄い領域をそれぞれの中間表面で置き換えることをさらに含む。
【0007】
これにより、機械部品の構造シミュレーションを実行するためのB-rep処理の改善された方法が構築される。
【0008】
特に、第1のB-repは、機械部品を表す立体を形成し、立体は、機械部品の薄い壁を表す1つまたは複数の薄い領域を有する。換言すれば、立体は、1つまたは複数の局所的に厚い領域(すなわち、局所的に厚いボリューム/立体領域)および1つまたは複数の局所的に薄い壁(すなわち、薄い識別された領域)を特徴とする。本方法は、これらの1つまたは複数の局所的に薄い壁を識別する。局所的に薄い壁を識別することは、機械的設計/立体モデリングに特に関連する。
【0009】
さらに、機械的/構造的考察に基づいて決定される所定の厚さ閾値のおかげで、薄い領域/薄い壁の識別は正確である。実際、本方法は、所定の厚さ閾値よりも小さい厚さを有する第1のB-repの領域のみ、すなわち、B-repの真に薄い領域のみ、いわゆる、機械的/構造的観点から薄い壁と見なされる機械部品の部品を真に表す領域のみを、薄い領域として識別する。
【0010】
さらに、本方法は、機械的設計/立体モデリングにおいて、それ自体既に関連している局所的な薄い壁の識別を超え、これらの識別された薄い領域/局所的に薄い壁に基づいて第2のB-repを計算する。そうするために、本方法は、特に、識別された薄い領域にそれぞれ対応する中間表面を計算し、各々の識別された薄い領域を、それぞれの計算された中間表面で置き換える。この計算は、第2のB-repの構築の一部であり、その結果、第2のB-repは、第1のB-repによく近似する混合表面/ボリューム非多様体オブジェクトとなる。実際、第1のB-repの薄い壁は、それらを置換する中間表面によって十分に近似される。薄い壁は、厚さ閾値よりも薄いので、この近似は正確である。これは、本方法が、中間表面によって第1のB-repの薄い壁を正確に近似することによって、第1のB-repから第2のB-repを構築することを意味する。したがって、結果として得られる第2のB-repは、機械部品を正確に表す非多様体オブジェクトを形成する。薄い領域と厚い領域との両方を特徴とするこのような第2のB-repを単一の設計プロセスで正確に設計する能力は、本方法が機械設計の分野にもたらす改善である。特に、本方法は、別個の設計プロセスにより、薄い領域と厚い領域との長くて厄介な別個の設計を回避する。
【0011】
本方法によって構築された第2のB-repは、機械的設計に特に関連する。特に、混合表面/ボリュームオブジェクトとしての第2のB-repは、機械設計および構造シミュレーションの分野でそれ自体知られているように、2D要素および3D要素の両方を備えるハイブリッドメッシュでメッシュ化され得る。中間表面は2D要素でメッシュ化され、第2のB-repの残りの立体部分は3D要素でメッシュ化される。このようなハイブリッドメッシュは、機械部品の構造シミュレーションを高速かつ堅牢に実行することを可能にする。実際、ハイブリッドメッシュの表面/2D部品は、構造シミュレーションにおいて、ボリューム/3D部品よりもコストが低い。したがって、ハイブリッドメッシュは、高速な構造シミュレーション、すなわち3Dメッシュ上で実行される構造シミュレーションよりも高速な構造シミュレーションを可能にする。機械部品の薄い領域が第2のB-repの中間表面によって正確に近似されるので、構造シミュレーションはさらに正確かつ堅牢である。この結果、ハイブリッドメッシュは、構造シミュレーションを実行するための正確なメッシュ化でもあり、正確な構造シミュレーションを保証する。
【0012】
本方法は、第2のB-repの構成に加えて、第2のB-repをハイブリッドメッシュにメッシュ化することと、ハイブリッドメッシュに基づいて、機械部品の構造シミュレーションを実行することとを含むことができる。言い換えれば、本方法は、単一の設計プロセスにおいて、第2のB-repを構築し、第2のB-repの表面およびボリュームの両方のメッシュ化を実行し、次いで高速かつ正確な構造シミュレーションを実行することができる。したがって、本方法は、より長く扱いにくい、同じB-repの薄い部分および厚い部分に対して、それぞれ、別々の2Dおよび3Dメッシュ化および構造シミュレーションプロセスを実行することと比較して、構造シミュレーションの改善されたプロセスを形成することができる。
【0013】
本方法は、以下のうちの1つまたは複数を含んでもよい。
【0014】
1つまたは複数の薄い領域を識別することが、それぞれ、第1のB-repの1つまたは複数の隣接接面からなる第1および第2のグループを決定することを含み、各第1のグループは、それぞれの第2グループに局所的に平行であり、薄い領域の境界の少なくとも一部を、それぞれの第2のグループとともに形成し、
第1および第2のグループを決定することは、
各々が、他の面に対して局所的に平行である第1のB-repの面を決定することと、
第1に決定された隣接接面を第1のグループに、それらの面と局所的に平行な第2に決定された隣接接面を第2のグループとしてグループ化することと、
を含み、
面を決定することは、
各々が、点が第1のB-repの第2の面から厚さ閾値よりも小さい距離にある第1のB-repの第1の面である候補の面を決定することと、
候補の面の中から、互いに局所的に平行である第1の面と、第2の面とを決定することと、
を含み、
2つの面は、
面の間の最大距離と、面の間の最小距離との比が、1に閾値を加えたものよりも小さい場合、かつ/あるいは、
面の間の最大距離と面の間の最小距離との差と、面の対角線長さのうちの少なくとも1つとの間の比が、G1連続性許容角度の正接よりも小さい場合に、局所的に平行であり、
各識別された薄い領域についてそれぞれの中間平面を計算することは、決定された第2のグループのそれぞれに局所的に平行な決定された第1のグループの各々について、中間表面として、第1のグループの第1の増厚演算の結果とそれぞれの第2グループにおけるオフセット演算の結果との交差を計算することを含み、
オフセット演算は、それぞれの第2のグループにおける外挿のオフセットであり、かつ/あるいは第1の増厚演算は、厚さ閾値よりも大きい増厚距離を有し、
構築することは、B-repの1つまたは複数の局所的に厚い領域を計算することをさらに含み、1つまたは複数の厚い領域を計算することは、
それぞれの決定された第2のグループに局所的に平行な決定された第1のグループの各々について、第1のグループの第2の増厚演算の結果と、それぞれの第2のグループにおける第3の増厚演算の結果との交差を計算することと、
第1のB-repから、計算された各交差を差し引くことと、を含み、
第1のグループの第2の増厚演算は、第1のグループの外挿を増すことであり、それぞれの第2のグループにおける第3の増厚演算は、それぞれの第2のグループにおける外挿を増すことであり、第1のグループの外挿および第2のグループのそれぞれにおける外挿は、異なる外挿値を有し、かつ/あるいは第3の増厚演算および第2の増厚演算はそれぞれ、厚さ閾値よりも大きい増厚距離を有し、
置き換えることは、それぞれの中間表面の境界エッジをそれぞれの計算された厚い領域の分割エッジと組み合わせることによって、それぞれの中間表面をそれぞれの計算された厚い領域と組み合わせることを含み、
本方法は、第2のB-repをハイブリッドメッシュにメッシュ化することをさらに含み、かつ/あるいは、
本方法は、ハイブリッドメッシュに基づいて、機械部品の構造シミュレーションを実行することをさらに含む。
【0015】
本方法を実行するための命令を含むコンピュータプログラムがさらに提供される。
【0016】
上記コンピュータプログラムを記憶しているコンピュータ読み取り可能な記録媒体がさらに提供される。
【0017】
上記コンピュータプログラムを記憶しているメモリに結合されたプロセッサとグラフィカルユーザインターフェースとを備えるシステムがさらに提供される。
次に、本発明の実施形態を、非限定的な例として、添付図面を参照して説明する。
【図面の簡単な説明】
【0018】
【
図3】システムのグラフィカルユーザインターフェースの一例を示す。
【発明を実施するための形態】
【0019】
図1のフローチャートを参照して、機械部品の構造シミュレーションを実行するためのB-rep処理の、コンピュータによって実施される方法が提案される。本方法は、第1のB-repを提供すること(S10)を含む。第1のB-repは、機械部品を表す立体を形成する。本方法は、所定の厚さ閾値を提供すること(S10)をさらに含む。本方法は、第1のB-repに基づいて、第2のB-repを構築すること(S20)をさらに含む。第2のB-repは、機械部品を表す非多様体オブジェクトを形成する。構築すること(S20)は、第1のB-repの1つまたは複数の薄い領域を識別すること(S200)を含む。各々の薄い領域は、所定の厚さ閾値よりも小さい厚さを有する。構築すること(S20)は、識別された薄い領域の各々について、識別された薄い領域のそれぞれの中間表面を計算することを(S210)をさらに含む。構築すること(S20)は、識別された薄い領域をそれぞれの中間表面で置き換えることをさらに含む。
【0020】
本方法は、コンピュータにより実施される。これは、本方法のステップ(または実質的にすべてのステップ)が、少なくとも1つのコンピュータまたは同様の任意のシステムによって実行されることを意味する。したがって、本方法のステップは、場合によっては完全に自動的に、または半自動的に、コンピュータによって実行される。例示的には、本方法の少なくともいくつかのステップのトリガは、ユーザとコンピュータとの対話を介して実行され得る。必要とされるユーザとコンピュータとの対話のレベルは、予測される自動化のレベルに依存し、ユーザの希望を実現する必要性とバランスをとることができる。例示的に、このレベルは、ユーザ定義および/または事前定義され得る。
【0021】
方法のコンピュータ実施の典型的な例は、この目的のために適合されたシステムを用いて、本方法を実行することである。システムは、メモリに結合されたプロセッサと、グラフィカルユーザインターフェース(GUI)とを含むことができ、メモリは、本方法を実行するための命令を含むコンピュータプログラムを記録している。メモリはまた、データベースを記憶してもよい。メモリは、場合によってはいくつかの物理的に別個の部品(例えば、1つはプログラム用、場合によっては、1つはデータベース用)を備える、そのような記憶に適合された任意のハードウェアである。
【0022】
本方法は、一般に、モデル化オブジェクトであるB-repを操作する。モデル化オブジェクトは、例えばデータベースに記憶されたデータによって定義される任意のオブジェクトである。ひいては、「モデル化オブジェクト」という表現は、データ自体を指す。システムのタイプに応じて、モデル化オブジェクトは、異なる種類のデータによって定義されてもよい。システムは、実際には、CADシステム、CAEシステム、CAMシステム、PDMシステム、および/またはPLMシステムの任意の組み合わせであってもよい。これらの異なるシステムでは、モデル化オブジェクトは、対応するデータによって定義される。したがって、CADオブジェクト、PLMオブジェクト、PDMオブジェクト、CAEオブジェクト、CADデータ、PLMデータ、PDMデータ、CAMデータ、CAEデータと呼ぶことができる。しかしながら、モデル化オブジェクトは、これらのシステムの任意の組み合わせに対応するデータによって定義することができるので、これらのシステムは互いに排他的なものではない。したがって、システムは、以下に提供されるそのようなシステムの定義から明らかになるように、CADおよびPLMシステムの両方であってもよい。
【0023】
CADシステムとは、さらに、少なくとも、CATIAなどの、モデル化オブジェクトのグラフィカル表現に基づいてモデル化オブジェクトを設計するように適合された任意のシステムを意味する。この場合、モデル化オブジェクトを定義するデータは、モデル化オブジェクトの表現を可能にするデータを含む。CADシステムは、例えば、エッジまたは線を用いて、場合によっては面または表面を用いて、CADモデル化オブジェクトの表現を提供することができる。線、エッジ、または表面は、様々な方法、例えば非一様有理Bスプライン(NURBS)で表すことができる。具体的には、CADファイルは仕様を含み、この仕様からジオメトリを生成することができ、これにより表現を生成することができる。モデル化オブジェクトの仕様は、単一のCADファイルまたは複数のCADファイルに格納することができる。CADシステムにおけるモデル化オブジェクトを表すファイルの典型的なサイズは、部品当たり1メガバイトの範囲である。また、モデル化オブジェクトは、通常、数千の部品のアセンブリであり得る。
【0024】
CADのコンテキストでは、モデル化オブジェクトは、典型的には、例えば、部品または部品のアセンブリ、あるいは場合によっては製品のアセンブリなどの製品を表す3Dモデル化オブジェクトとすることができる。「3Dモデル化オブジェクト」とは、その3D表現を可能にするデータによってモデル化される任意のオブジェクトを意味する。3D表現は、すべての角度から部品を見ることを可能にする。例えば、3Dモデル化オブジェクトは、3D表現されるとき、その軸のいずれかの周りで、または表現が表示されるスクリーン内のいずれかの軸の周りで扱われ、回転され得る。これは、特に、3Dモデル化されていない2Dアイコンを除外する。3D表現の表示は、設計を容易にする(すなわち、設計者がタスクを統計的に達成する速度を増加させる)。これは、製品の設計が製造プロセスの一部であるため、産業における製造プロセスを高速化する。
【0025】
PLMシステムとは、さらに、物理的に製造された製品(または製造される製品)を表すモデル化オブジェクトの管理に適合された任意のシステムを意味する。したがって、PLMシステムでは、モデル化オブジェクトは、物理オブジェクトの製造に適したデータによって定義される。これらは、典型的には、寸法値および/または公差値であってもよい。オブジェクトを正確に製造するためには、このような値を有することが、実際には、より良好である。
【0026】
CAMソリューションとは、製品の製造データを管理するように適合された任意のソリューション、ハードウェアのソフトウェアをさらに意味する。製造データは、一般に、製造する製品、製造プロセス、および必要なリソースに関するデータを含む。CAMソリューションは、製品の製造プロセス全体を計画し最適化するために使用される。例えば、CAMユーザに実現可能性、製造プロセスの期間、または特定のロボットなどの、製造プロセスの特定のステップで使用され得るリソースの数に関する情報を提供することができ、したがって、管理または必要な投資に関する決定を可能にする。CAMは、CADプロセスおよび潜在的CAEプロセスの後の後続プロセスである。このようなCAMソリューションは、DELMIA(登録商標)という商標で、ダッソー・システムズによって提供されている。
【0027】
CAEソリューションとは、モデル化されたオブジェクトの物理的挙動の分析に適合された任意のソリューション、ハードウェアのソフトウェアをさらに意味する。よく知られ、広く使用されているCAE技術は、有限要素法(FEM)であり、これは通常、モデル化されたオブジェクトを、物理的挙動を計算し、方程式を介してシミュレートすることができる要素に分割することを含む。このようなCAEソリューションは、SIMULIA(登録商標)という商標でダッソー・システムズによって提供されている。別の成長中のCAE技術は、CADジオメトリデータを用いずに、物理の異なる分野からの複数の構成要素から構成される複雑なシステムのモデリングおよび解析を含む。CAEソリューションは、シミュレーションを可能にし、したがって、製造する製品の最適化、改善および検証を可能にする。このようなCAEソリューションは、DYMOLA(登録商標)という商標で、ダッソー・システムズによって提供されている。
【0028】
PDMは、製品データ管理(Product Data Management)の略である。PDMソリューションとは、特定の製品に関するすべてのタイプのデータを管理するように適合された任意のソリューション、ハードウェアのソフトウェアを意味する。PDMソリューションは、製品のライフサイクルに関与するすべての人物、すなわち主にエンジニアだけでなく、プロジェクトマネージャ、ファイナンス担当者、販売員、および買い手も含むすべての人物によって使用され得る。PDMソリューションは、一般に、製品指向データベースに基づく。PDMソリューションは、関与する人物が製品に関する一貫したデータを共有することを可能にし、したがって、発散データを使用することを防止する。このようなPDMソリューションは、ENOVIA(登録商標)という商標で、ダッソー・システムズによって提供されている。
【0029】
図3は、システムのGUIの例を示し、システムはCADシステムである。
【0030】
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は、ユーザがグラフィックツールと相互作用することを可能にするように、触覚デバイスによって制御されてもよい。
【0031】
図4はシステムの例を示し、システムはクライアントコンピュータ、例えばユーザのワークステーションである。
【0032】
この例のクライアントコンピュータは、内部通信バス1000に接続された中央処理装置(CPU)1010と、同じくバスに接続されたランダムアクセスメモリ(RAM)1070とを備える。クライアントコンピュータには、バスに接続されたビデオランダムアクセスメモリ1100に関連付けられたグラフィック処理ユニット(GPU)1110がさらに接続される。ビデオRAM1100は、当技術分野ではフレームバッファとしても知られている。大容量記憶装置コントローラ1020は、ハードドライブ1030などの大容量記憶装置へのアクセスを管理する。コンピュータプログラム命令およびデータを有形に具現化するのに適した大容量メモリデバイスは、例として、EPROM、EEPROM、およびフラッシュメモリデバイスなどの半導体メモリデバイス、内部ハードディスクおよびリムーバルディスクなどの磁気ディスク、光磁気ディスク、ならびにCD-ROMディスク1040を含む、すべての形態の不揮発性メモリを含む。前述のいずれも、特別に設計されたASIC(特定用途向け集積回路)によって保管されてもよく、またはそれに組み込まれてもよい。ネットワークアダプタ1050は、ネットワーク1060へのアクセスを管理する。クライアントコンピュータは、また、カーソル制御デバイス、キーボードなどの触覚デバイス1090を含んでもよい。カーソル制御装置は、ユーザがディスプレイ1080上の任意の所望の位置にカーソルを選択的に位置決めすることを可能にするためにクライアントコンピュータで使用される。さらに、カーソル制御装置は、ユーザが様々なコマンドを選択し、制御信号を入力することを可能にする。カーソル制御装置は、システムに制御信号を入力するためのいくつかの信号発生装置を含む。典型的には、カーソル制御装置はマウスであってもよく、マウスのボタンは信号を生成するために使用される。代替的にまたは追加的に、クライアントコンピュータシステムは、感知パッドおよび/または感知スクリーンを備えてもよい。
【0033】
コンピュータプログラムは、コンピュータによって実行可能な命令を含むことができ、命令は、上記のシステムに、本方法を実行させるための手段を含む。プログラムは、システムのメモリを含む任意のデータ記憶媒体に記録可能であってもよい。プログラムは、例えば、デジタル電子回路で、またはコンピュータハードウェア、ファームウェア、ソフトウェアで、またはそれらの組み合わせで実行されてもよい。プログラムは、装置として、例えば、プログラマブルプロセッサによる実行のための機械可読記憶デバイスにおいて有形に具現化される製品として実装され得る。方法ステップは、入力データに対して動作し、出力を生成することによって、本方法の機能を実行するための命令のプログラムを実行するプログラマブルプロセッサによって実行され得る。したがって、プロセッサは、プログラム可能であり、データ記憶システム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスからデータおよび命令を受信し、命令を送信するように結合され得る。アプリケーションプログラムは、高水準手続き型プログラミング言語またはオブジェクト指向プログラミング言語で、あるいは必要に応じてアセンブリ言語または機械語で実行することができる。いずれの場合も、言語は、コンパイルされた言語または解釈された言語とすることができる。プログラムは、完全インストールプログラムまたは更新プログラムであってもよい。システム上でのプログラムの適用は、いずれの場合も、本方法を実行するための命令をもたらす。
【0034】
本明細書における任意のB-repは、例えば(機械)部品または部品のアセンブリ(または等価的に部品のアセンブリであり、部品のアセンブリは、本方法の観点から、部品自体として見ることができ、または、本方法はアセンブリの各部品に独立して適用することができる)、またはより一般的には任意の剛体アセンブリ(例えば可動機構)などの、例えばCADソフトウェアソリューションまたはCADシステムを用いた仮想設計の完了後に、現実世界で製造される製品の形状を表し得る3Dモデル化オブジェクトである。CADソフトウェアソリューションは、航空宇宙、建築、建設、消費財、ハイテクデバイス、産業機器、輸送、船舶、および/または海上石油/ガス生産または輸送を含む、様々な無制限な産業分野における製品の設計を可能にする。したがって、本明細書におけるB-repは、地上車両(例えば、自動車および軽トラック機器、レーシングカー、オートバイ、トラックおよびモータ機器、トラックおよびバス、列車を含む)の一部、航空機(例えば、機体機器、航空宇宙機器、推進機器、防衛製品、航空機器、宇宙機器を含む)の一部、海軍車両(例えば、海軍機器、民間船、洋上設備、ヨットおよび作業船、海洋機器を含む)の一部、一般機械部品(例えば、工業製造機械、大型移動機械または機器、設置機器、工業機器製品、加工金属製品、タイヤ製造製品を含む)の一部、電気機械または電子部品(例えば、消費者電子機器、セキュリティおよび/または制御および/または計装用製品、コンピューティングおよび通信機器、半導体、医療装置および機器を含む)、消費財(例えば、家具、家庭および庭用製品、レジャー製品、ファッション製品、ハード商品小売業者の製品、ソフト商品小売業者の製品を含む)、包装(例えば、食品および飲料およびタバコ、美容およびパーソナルケア、家庭用製品包装を含む)などの、任意の機械部品であり得る工業製品を表す3Dモデル化オブジェクトであり得る。
【0035】
本方法のコンテキストにおいて、機械部品(すなわち、第1および第2のB-repによって表される機械部品)は、薄い壁および厚い領域を特徴とする機械部品であってもよい。
【0036】
例えば、機械部品は、航空宇宙部品、例えば、クリート、ストリンガ、またはフレームであってもよい。
図5は、機械部品の一例を示しており、機械部品は航空宇宙用クリートである。
図6は、機械部品の別の例を示しており、機械部品は航空宇宙用クリートである。
図7は、機械部品の別の例を示しており、機械部品は航空宇宙用ストリンガである。
図8は、機械部品の別の例を示しており、機械部品は航空宇宙用フレームである。
【0037】
代替的にまたは追加的に、機械部品は自動車部品、例えば自動車成形部品であってもよい。
図9は機械部品の一例を示しており、機械部品は自動車成形部品である。この自動車成形部品は、外側ハウジングおよび補強材90および92などの内側補強材のための薄い壁と、固定および製造目的のための、固定具94などの局所的に厚い部分とを特徴とする。典型的な製造特徴は、エジェクタパッド96および98などのエジェクタパッドであり、これらは、金型の開放直後にエジェクタが部品を金型から押し離す場所である。
【0038】
追加的にまたは代替的に、機械部品は、自動車産業、航空宇宙産業、建設設計産業、または船舶設計産業用のアルミニウム押出部品であってもよい。
図10は機械部品の一例を示し、機械部品はアルミニウム押出部品である。このような部品は、典型的には、
図10に示されるように、押し出された立体上に薄い壁および厚いボリュームをもたらす、薄いゾーンおよび厚いゾーンを特徴とする平面プロファイルに基づく。
【0039】
本方法は、初期段階として、機械部品を表す3Dモデル化オブジェクト(すなわち、第1のB-rep)を設計することを含むことができる。「3Dモデル化オブジェクトを設計すること」は、3Dモデル化オブジェクトを作成するプロセスの少なくとも一部である任意のアクションまたは一連のアクションを指す。したがって、本方法は、3Dモデル化オブジェクトをスクラッチから作成することを含むことができる。代替的に、本方法は、以前に作成された3Dモデル化オブジェクトを提供することと、次いで、3Dモデル化オブジェクトを修正することとを含んでもよい。
【0040】
本方法は、本方法を実行した後に、第2のB-repに対応する物理的製品を生成することを含み得る製造プロセスに含まれてもよい。この生成は、前述および後述するように、第2のB-repに基づく構造シミュレーションの後に行われてもよい。いずれの場合も、本方法によって構築される第2のB-repは、製造オブジェクトを表し得る。製造オブジェクトは、部品または部品のアセンブリなどの製品であってもよい。本方法は、第2のB-repの構築を改善し、高速で正確な構造シミュレーションの実行を可能にするので、本方法はまた、製品の製造を改善し、したがって製造プロセスの生産性を高める。
【0041】
本方法は、B-rep処理のためのものである。B-rep処理は、B-repを修正するための任意のアクションまたは一連のアクションを指す。本方法の場合、B-rep処理は、第1のB-repを処理すること(S10)と、第1のB-repに基づいて第2のB-repを構築することとを含む。本方法が実行するB-rep処理をさらに説明する前に、本方法に含まれるB-repの概念を
図11から
図32を参照して説明する。
【0042】
B-repモデルは、トポロジ的実体およびジオメトリ的実体を含む。トポロジ的実体は、面、エッジ、および頂点である。ジオメトリ的実体は3Dオブジェクト:表面、平面、曲線、線、点である。定義により、面は、支持面と呼ばれる面の境界部分である。エッジは、支持曲線と呼ばれる曲線の境界部分である。頂点は、3D空間内の点である。これらの関係は、以下の通りである。曲線の境界部分は、曲線状にある2つの点(頂点)によって定義される。表面の境界部分は、その境界によって定義され、この境界は表面上にあるエッジの集合である。面の境界のエッジは、頂点を共有することによって互いに接続される。面は、エッジを共有することによって、互いに接続される。定義により、2つの面は、エッジを共有する場合に隣接する。同様に、2つのエッジは、頂点を共有する場合に隣接する。
【0043】
図11および
図12は、3つの面、すなわち上部平面および2つの側方円筒面からなる円筒スロットのB-repモデルを示す。
図11は、スロットの斜視図を示す。目に見える面、エッジ、および頂点には番号が付けられている。
図12は、すべての面の分解図を示す。重複した数字は、エッジおよび頂点の共有を示す。面1は、平面の境界部分である。面1の境界はエッジ4およびエッジ5を含み、それらの各々は頂点10および頂点11によって境界付けられる。それらは、両方とも同じ支持円を有する。面2は、すべて無限円筒面上にあるエッジ6、8、5および13によって境界付けられている。面1および面2は、エッジ5を共有するので隣接している。面2および面3は、エッジ8およびエッジ13を共有するので隣接している。面1および面3は、エッジ4を共有するので隣接している。
【0044】
図13は、B-repモデルの、「によって境界付けられる」というトポロジ的関係を示す。上位層のノードは面であり、中間層のノードはエッジであり、下位層のノードは頂点である。
図14および
図15は、
図14に示されるトポロジ的実体(面、エッジ、頂点)と、
図15に示される支持ジオメトリ(無限円筒、無限平面、無限線、点)との間の関係を示す。例えば本方法を実行するCADシステムでは、B-repモデルは、適切なデータ構造内に、「によって境界付けられる」という関係、トポロジ的実体と支持ジオメトリとの関係、および支持ジオメトリの数学的記述を収集する。
【0045】
定義により、B-repの内部エッジは、正確に2つの面によって共有される。エッジを共有する面は、互いに入射する、または共有エッジに入射すると言われる。定義により、境界エッジは共有されず、1つの面のみを境界付ける。定義により、境界面は少なくとも1つの境界エッジに入射する。B-repは、そのすべてのエッジが内部エッジである場合に、閉じていると言われる。B-repは、少なくとも1つの境界エッジを含む場合、開いていると言われる。前の例のB-repは、エッジ6およびエッジ7が境界エッジであるため、開いている。逆に、エッジ4、5、8、およびエッジ13は内側エッジである。閉じたB-repは、
図11および
図12に示されるB-repから、
図16および
図17に示されるようにエッジ6およびエッジ7によって境界付けられたディスク状の面14を追加することによって得られる。閉じたB-repは、材料を(仮想的に)囲む空間の内側部分を定義するので、厚い3Dボリュームをモデル化するために使用される。開いたB-repは、3Dスキンをモデル化するために使用され、3Dスキンは、その厚さが無視できるほど十分に小さい3Dオブジェクトである。
【0046】
B-repのデュアルグラフは、面の隣接性のみを捕捉する論理グラフである。これは、次のように定義される。デュアルグラフのノードは、B-repの面に関連付けられ、デュアルグラフの弧は、B-repのエッジに関連付けられる。弧に関連付けられたB-repエッジが、ノードにそれぞれ関連付けられたB-rep面によって共有される場合、デュアルグラフの弧は、デュアルグラフの2つのノードを接続する。例えば、
図16の円筒形B-repのデュアルグラフを
図18に示す。弧は、エッジ番号でラベル付けされる。
【0047】
B-repの各面は、支持面の助けを借りて定義される法線ベクトルを備える。第1に、法線ベクトルは、支持面の法線ベクトルと同一線上にある。さらに、立体をモデル化する閉じたB-repの法線ベクトルは、材料の外側に向けられる。FをB-repの面とし、Nをその外側法線ベクトルとする。Eを面Fのエッジとし、XをエッジE上の点とし、Tを点XにおけるエッジEの正規化接線ベクトルとする。定義により、
図19に示すように、ベクトルM=N×Tが面の内側領域に向けられる場合、エッジEは反時計回りに配向される。ベクトルNおよびTは正規化され、垂直であるので、ベクトルMは正規化されることに留意されたい。慣例により、B-repのすべての面のすべてのエッジは、
図20に示すように、反時計回りに配向される。
【0048】
数学的な観点から、立体の標準B-repは、多様体オブジェクトを表すために使用され、これは、局所的に、B-repが隣接空間を正確に2つの部分、すなわち、立体の内側および立体の外側で切断することを意味する。この特性は、実際に製造された物体によく適合するにも拘わらず、多材料物体または局所近似のような有用な構成を表すことができない。例えば、
図21は、異なる材料のいくつかの層からなる立体を示す。界面分離材料は、隣接する領域によって共有される面からなる。
図22は、補強材を特徴とする部品の従来のB-repを示す。
図23は、表面によって近似された補強材を示し、一方、隣接する部品はボリュームであり、混合表面/ボリュームオブジェクトであることがわかる。
【0049】
非多様体トポロジは、コヒーレントモデルが、これらの状況をサポートすることを可能にする。B-repデータ構造を再使用および拡張することによって、
図24に示すように、3つ以上の面によって共有されるエッジを捕捉する。それは、その境界付けられた面の内側と同様に境界エッジを捕捉し、これは、
図25に示すように、面の材料を分離しないことを意味する。
【0050】
本方法は、以下でさらに説明するように、面の外挿および表面の外挿を使用することができる。定義により、表面は、
【数1】
である滑らかなマッピング
【数2】
である。パラメータ(u,v)から点P(u,v)を計算するために、様々なモデルが利用可能であり、例えば、ベジエ、Bスプライン、NURBS、または三角法がある。
図26は、表面をパラメータ領域の画像として示している。本開示のコンテキストにおいて、外挿プロセスは領域[a,b]×[c,d]を拡張することであり、[a,b]×[c,d]が[(1-e)a,(1+e)b]×[(1-e)c,(1+e)d]に変更されることを意味し、ここでe>0は外挿係数である。マッピングPが曲率連続である場合、このプロセスは曲率連続外挿表面をもたらす。本開示のコンテキストでは、外挿パラメータはe=0.01であり得る。
図27は外挿効果を示し、点線は外挿前の形状である。面を外挿することは、その支持面を外挿し、外挿された支持面に基づくオフセット境界曲線によって面の境界曲線を置き換えることである。支持面の外挿は、面の境界曲線オフセットを囲むのに十分な幅である。
図28は、支持面P上に規定された面fの外挿を示す。支持面Pは、e’>eで外挿され、その結果、外挿された面Extrapol(f,e)は、より広い支持面Extrapol(P,e’)上で定義され得る。
【0051】
本方法は、面のより具体的な外挿演算を使用することができる。この演算の入力は、外挿すべき面f、外挿パラメータeおよび面のリストL={g
k,k=1,2,・・・}である。特定の外挿は、リストL内の面と共有される面fの境界エッジのみをオフセットすることである。
図29は、面{g
1,g
2,g
3}による面fの特定の外挿を示す。フィレット面hと共有される面fのエッジは、面hがリスト{g
1,g
2,g
3}にないので、外挿に関与しないことを留意されたい。
【0052】
本方法は、例において、第1のB-repの薄い領域を識別するために、2つの面の局所的平行性の概念を使用し得る。この概念を説明する前に、2つの予備的な定義、すなわち、面をオフセットすること、および面を厚くすることについて説明する。法線ベクトルの外側の向きが明示的に含まれることに留意されたい。B-repの面fおよび非負数λが与えられると、オフセット演算は、距離λで面fに平行な面であるオブジェクトOffset(f,λ)を計算することである。N
f(x)を面fの点xでの外側法線ベクトルとすると、Offset(f,λ)は、
【数3】
で定義される。
【0053】
オフセット演算を
図30に示す。増厚演算は、オブジェクトThick(f,λ)を計算することであり、オブジェクトThick(f,λ)は、面fおよび距離λにおけるそのオフセット面によって囲まれるボリュームである。Thick(f,λ)は、
【数4】
で定義される。
【0054】
【0055】
次に、平行性および局所的平行性の定義について説明する。2つの面fおよびgは、各点
【数5】
について、点x-λN
f(x)が面g上にあり、各点
【数6】
について、点y-λN
g(y)が面f上にある場合、距離λで平行である。本開示のコンテキストでは、局所的平行性の概念が使用される。2つの面fと面gとが局所的に平行なのは、面
【数7】
と面
【数8】
とが、ある距離で平行になるようなλ>0が存在する場合である。局所的平行性を
図32に示す。太線は、平行である面fおよび面gのそれぞれの部分を示し、したがって、面fおよび面gを局所的に平行にする。
【0056】
図1のフローチャートに戻って参照すると、本方法は、第1のB-repを提供すること(S10)を含む。第1のB-repは、機械部品を表す立体である。言い換えれば、第1のB-repは、閉じたB-repである。第1のB-repを提供すること(S10)は、第1のB-repを作成すること、すなわち、前述したように、第1のB-repを形成する3Dモデル化オブジェクトを設計することを含むことができる。代替的に、第1のB-repを提供すること(S10)は、第1のB-repが作成された後に、第1のB-repが記憶された(例えば、離れた)メモリから第1のB-repを取り出すことを含むことができる。第1のB-repを提供すること(S10)は、第1のB-repを表示することを含むことができる。
【0057】
さらに
図1のフローチャートを参照すると、本方法は、所定の厚さ閾値を提供すること(S10)をさらに含む。厚さ閾値は、厚さの値であり、例えば厳密に正の実数である。所定の厚さ閾値を提供すること(S10)は、ユーザが、例えば厚さ閾値を選択し、次いで、選択された厚さ閾値を入力として、構築すること(S20)に供給することを含むことができる。ユーザは、例えば、機械部品に関する機械的/構造的考慮に基づいて、厚さ閾値の値を定義することによって、厚さ閾値を選択してもよい。例えば、ユーザは、厚さ閾値よりも薄い厚さを有する機械部品の任意の領域が、構造的かつ/あるいは機械的かつ/あるいは製造的な考慮のために、中間表面によって良好に近似され得る領域であるように、厚さ閾値を決定し得る。
【0058】
さらに
図1のフローチャートを参照すると、本方法は、第1のB-repに基づいて第2のB-repを構築すること(S20)をさらに含む。「第1のB-repに基づく」とは、構成が第1のB-repを入力として受け取り、構成された第2のB-repを出力し、第2のB-repの構成が第1のB-repおよび厚さ閾値を考慮に入れることを意味する。すなわち、第1のB-repから第2のB-repが得られる。第2のB-repは、非多様体オブジェクトを形成する、すなわち、非多様体トポロジを有する。言い換えれば、第2のB-repは閉じたB-repではなく、ソリッドな、閉じたボリュームと表面領域の両方を含む。第2のB-repは、さらに機械部品を表すが、前述したように、また以下でさらに説明するように、機械部品の薄い領域を表すために、ボリュームの代わりに中間表面を有する。構築すること(S20)は、例えば、提供すること(S10)の完了に続いて、自動的に(例えば、本方法が実行されるCADシステムによって)実行されてもよい。これは、本方法が第2のB-repを自動的に構築し得ることを意味し、本方法を効率的にする。
【0059】
さらに
図1のフローチャートを参照すると、第2のB-repを構築することは、第1のB-repの1つまたは複数の薄い領域を識別すること(S200)を含む。次に、1つまたは複数の薄い領域を識別すること(S200)について説明する。
【0060】
各々の薄い領域は、第1のB-repの面によって境界付けられ、厚さ閾値よりも小さい厚さを有するボリュームである。厚さ閾値は、識別すること(S200)で使用される構築すること(S20)の入力に対するものである。1つまたは複数の薄い領域を識別すること(S200)は、第1のB-repの面を探索することと、厚さ閾値よりも小さい厚さを有する領域をそれぞれ部分的に境界付ける面のグループを検出することとを含むことができる。識別すること(S200)は、そのようなグループを第1および第2のグループへと対にすることをさらに含むことができ、それにより、各対の第1および第2のグループは、互いに局所的に平行である薄い領域の境界部分を形成する。
【0061】
ここで、識別すること(S200)の例について、1つまたは複数の薄い領域を識別すること(S200)の例のフローチャートを示す
図2のフローチャートを参照して説明する。
【0062】
例において、1つまたは複数の薄い領域を識別すること(S200)は、第1のB-repの1つまたは複数の隣接接面の各々の第1および第2のグループを決定することを含む。第1のグループの各々は、それぞれの第2のグループと局所的に平行であり、それぞれの第2のグループとともに、薄い領域の境界の少なくとも一部を形成する。
【0063】
前述したように、第1のB-repの2つの面は、第1のB-repのエッジを共有するときに隣接する。2つの面は、共有エッジに沿った法線ベクトル間の角度が、後述するG1連続性許容角度未満であるときに接する。本方法は、例えば、各グループの面を決定することによって、第1および第2のそのようなグループを決定する。決定された第1のグループの各々は、薄い領域のうちの1つの境界の一部を形成し、第1のグループに局所的に平行な決定された第2のグループは、薄い領域の境界の別の一部を形成する。当該部分および当該別の部分は、局所的に平行である。実際、第1のグループは、第2のグループと局所的に平行である。2つのグループは、厚さ閾値より小さい距離だけ離れている。このような第1のグループと第2のグループとを決定することにより、その境界の一部(すなわち、第1のグループと第2のグループとからなる部分)を検出するだけで、効率的に薄い領域を特定することができる。さらに、これは、以下でさらに説明するように、薄い領域の中間表面を計算することを可能にする。
【0064】
図2のフローチャートを参照すると、第1のグループおよび第2のグループを決定することは、例において、その各々が、他の面に局所的に平行である第1のB-repの面を決定することを含むことができる。すなわち、第1のグループおよび第2のグループを決定することは、これらの例では、局所的に平行な第1の面および第2の面を決定することを含む。これらの例では、第1のグループおよび第2のグループを決定することは、第2の決定された隣接接面に局所的に平行な第1の決定された隣接接面を、第1のグループおよび第2のグループにグループ化すること(S2200)をさらに含む。
【0065】
局所的に平行な第1の面および第2の面を決定することは、本方法のスピードおよび効率を改善する。実際、面倒でありうる、第1のグループおよび第2のグループを一度にすべて識別することが、これによって必要でなくなる。むしろ、本方法は、その各々が、(すなわち、第1のグループの)第1の面と、当該第1の面に局所的に平行な第2の面(すなわち、第2の面は、第1のグループに局所的に平行な第2のグループに属している)からなる対を決定する。次いで、本方法は、第1および第2のグループを形成するように、決定された対をグループ化する(S2200)。
【0066】
第2の面に局所的に平行な第1の面を決定することは、第1の面が第2の面に局所的に平行であることを検証することを含み得る。例えば、本方法は、第1のB-repの面を探索し、探索された面の対について、そのような検証を実行することができる。
【0067】
さらに
図2のフローチャートを参照すると、例において、面を決定することは、候補の面を決定すること(S2000)を含む。候補の面は、点が第1のB-repの第2の面から厚さ閾値よりも小さい距離にある第1のB-repの第1の面である。これらの例では、面を決定することは、候補の面の中から、第1の面および第2の面を決定すること(S2100)をさらに含む。第1の面の各々は、それぞれの第2の面に局所的に平行である。
【0068】
これは、これらの例のように、面を決定することを改善し、この決定することは、2つのステップで進行する。まず、候補の面の対が決定される。次いで、これらの対の部分集合のみが、決定された面を形成するために保持され、その後、第1のグループおよび第2のグループにグループ化される(S2200)。これらの2ステップアプローチは、堅牢性を改善する。
【0069】
候補の面を見つけること(S2000)は、第1のB-rep面を探索することと、第1の面および第2の面からなり、第1の面が第2の面から厚さ閾値未満の距離にある点を有するような各対を見つけることとを含むことができる。第1の面を「第1の候補の面」と称し、第2の面を「第2の候補の面」と称してもよい。対を、「候補の面の対」と称してもよい。対を見つけることは、第1の面を探索することと、第1の面の少なくとも1つの点から厚さ閾値よりも小さい距離に位置する少なくとも1つの第2の面を検出することを含み得る。いくつかのそのような第2の面が検出され得、各々が第1の面のそれぞれの点よりも小さな厚さ閾値よりも小さい距離にあることを理解されたい。このような場合、第1の面は、各々が、それぞれの第2の面と候補の面の対を形成する候補の面である。
【0070】
候補の面を決定すること(S2000)は、第1の面および第2の面からなる第1のB-repの面の各対を決定することを可能にし、第1の面は、第2の面に潜在的に平行である。次に、面の決定を完了するために、候補の面の中から、真に局所的に平行である第1の面および第2の面を決定する(S2100)。これは、本方法を堅牢かつ効率的にする。
【0071】
少なくとも1つの第2の面を検出することは、
第1の面を、サンプリングされた点にサンプリングすることと、
各サンプリングされた点について、サンプリングされた点から光線を投射し、当該投射された光線が厚さ閾値よりも小さい距離で第1のB-repの別の面と交差する場合に、かつ、いったん交差した場合に、当該別の面を、第1の面とともに一対の候補の面を形成する第2の面として検出することと、を含んでもよい。
【0072】
候補の面の中から、局所的に平行な第1の面および第2の面を決定することは、候補の面の各対について、対の面が局所的に平行であることを検証すること、例えば、それらが局所的平行性の前述の定義を満たすことを検証することを含むことができる。対の面が平行である場合、それらは、第2の面に局所的に平行な第1の面からなる対として決定される。
【0073】
例において、
面の間の最大距離と、面の間の最小距離との比が、1に閾値を加えたものよりも小さく、かつ/あるいは、
面の間の最大距離と面の間の最小距離との差と、面の対角線長さのうちの少なくとも1つとの間の比が、G1連続性許容角度の正接よりも小さい場合に、2つの面は局所的に平行である。
【0074】
面の対角線長さは、面の2つの点の間の最大距離として定義することができ、距離は、ユークリッド距離などの点の間の任意の適切な距離である。
【0075】
すなわち、2つの面が局所的に平行であることを検証することは、
面の間の最大距離と面の間の最小距離との間の比が、1に閾値を加えたものよりも小さいことを検証すること、および/または
面の間の最大距離と面の間の最小距離との間の差と、面の対角線長さのうちの少なくとも1つとの間の比が、G1連続性許容角度の正接よりも小さいことを検証することを含んでもよい。
【0076】
面の間の最大距離と面の間の最小距離との間の比が、1に閾値を加えたものよりも小さいことを検証することにより、ジオメトリ的観点から、面のジオメトリ的局所平行性を比較的厳密に検証することができる。閾値は、小さい正の実数であってもよく、例えば、1、0.5または0.2よりも小さくてもよく、例えば0.1に等しくてもよい。面の間の最大距離と面の間の最小距離との間の比が、1に閾値を加えたものよりも小さいことを検証することは、
複数の面をサンプリング点にサンプリングすることと、
複数の面の各面について、面の各サンプリングされた点を他の面に投影することと、
複数の面の一つの面のサンプリングされた点と他の面上への投影との間の各(例えば、ユークリッド)距離を計算し、そのような距離のうちの最大距離および最小距離を計算し、当該最大距離と最小距離との比が、1に閾値を加えたものよりも小さいことを検証することと、
上記他の面のサンプリングされた点と、上記面上への投影との間の各(例えば、ユークリッド)距離を計算し、そのような距離のうちの最大距離および最小距離を計算し、当該最大距離と最小距離との比が、1に閾値を加えたものよりも小さいことを検証することと、
を含んでもよい。
【0077】
面の間の最大距離と面の間の最小距離との差と、面の対角線長さの少なくとも1つとの比が、G1連続性許容角度の正接よりも小さいことを検証することにより、製造の実用的な観点から、面の局所的平行性を検証することが可能になる。実際、G1連続性は、エンジニアリングフィレット連続性に対応する。したがって、2つの局所的に平行な面の間の角度が、この公差の下にあることを保証することは、概念を一般的な製造制約と一致させる。G1連続性の概念は、機械的設計において、それ自体知られている。面の間の最大距離と面の間の最小距離との間の差と、面の対角線長さのうちの少なくとも1つとの間の比が、G1連続性許容角度の正接よりも小さいことを検証することは、
複数の面をサンプリング点にサンプリングすることと、
複数の面の各面について、面の各サンプリング点を他の面に投影することと、
複数の面の一つの面のサンプリングされた点と他の面上への投影との間の各(例えば、ユークリッド)距離を計算し、そのような距離のうちの最大距離および最小距離を計算し、当該最大距離と最小距離との間の差と、当該一つの面の対角線長さとの比が、G1連続性許容角度の正接よりも小さいことを検証することと、
上記他の面のサンプリングされた点と上記一つの面上への投影との間の各(例えば、ユークリッド)距離を計算し、そのような距離のうちの最大距離および最小距離を計算し、当該最大距離と最小距離との間の差と、上記他の面の対角線長さとの間の比が、G1連続性許容角度の正接よりも小さいことを検証することと、
を含んでもよい。
【0078】
面の間の最大距離と面の間の最小距離との比が1に閾値を加えたものよりも小さいことと、面の間の最大距離と面の間の最小距離との差と各面の対角線長さとの比が、G1連続性許容角度の正接よりも小さいこととを検証することにより、検証の効率および堅牢性が向上する。
【0079】
さらに
図2のフローチャートを参照すると、グループ化すること(S2200)は、決定された局所的に平行な第1の面および第2の面を、第1のグループおよび第2のグループにグループ化するのに適した任意の既知の方法によって実行され得る。グループ化することは、例において、例えば、第1のB-repのデュアルグラフに基づいて、一方の側で、決定された第1の面と、他方の側で、決定された第1の面にそれぞれ平行な決定された第2の面との間の隣接性および接触性を識別することを含み得る。
【0080】
図1のフローチャートに戻って参照すると、本方法は、各識別された薄い領域について、識別された薄い領域のそれぞれの中間表面を計算すること(S210)をさらに含む。前述したように、薄い領域は、第1のB-repの薄い立体の部分である。B-repの立体部分の中間表面は既知の概念であり、それぞれの中間表面を計算すること(S210)は、任意の既知の方法によって行うことができる。
【0081】
1つまたは複数の薄い領域を識別すること(S200)が、第1のグループおよび第2のグループを前述のように決定することを含む例では、各識別された薄い領域についてそれぞれの中間表面を計算すること(S210)は、決定されたそれぞれの第2のグループに局所的に平行な各決定された第1のグループについて、第1のグループの第1の増厚演算の結果とそれぞれの第2のグループについてのオフセット演算の結果との交差を中間表面として計算することを含むことができる。
【0082】
第1のグループについての第1の増厚演算の結果と、それぞれの第2のグループについてのオフセット演算の結果との交差を計算することは、第1の増厚演算およびオフセット演算を計算することと、次いで、これらの演算のそれぞれの結果の交差を決定することとを含み得る。これは、中間表面を計算する効率的で簡単な方法である。これらの演算のパラメータは、例えば計算すること(S20)のパラメータとして固定されてもよく、その結果、交差はそれぞれの中間表面をもたらす。例えば、増厚演算の増厚距離は、厚さ閾値よりも大きいが、比較的厚さ閾値に近く、例えば、厚さ閾値の1.1倍に等しくてもよい。オフセット演算のオフセット距離は、増厚距離を2で割った程度、例えば、厚さ閾値を2で割ったものに等しくてもよい。
【0083】
オフセット演算は、それぞれの第2のグループについての外挿のオフセットであってもよい。これは、(それぞれの第2のグループから外挿された面のグループである)外挿の結果の境界曲線が、第1の増厚演算の結果の境界曲線から離れているので、交差を安全に計算することを可能にする。外挿は、第1のB-repの代表次元である値の0.001倍に等しい外挿値を有し得る。追加的または代替的に、第1の増厚演算は、厚さ閾値よりも大きい、例えば厚さ閾値の1.1倍に等しい増厚距離を有する。これは、交差を計算するときに接触構成を回避することによって、交差を信頼できるものにする。例において、オフセット演算は、それぞれの第2グループの外挿のオフセットであってもよく、第1の増厚演算は、厚さ閾値よりも大きい、例えば厚さ閾値の1.1倍に等しい増厚距離を有する。これは、それぞれの中間表面を計算すること(S210)の堅牢性を改善する。
【0084】
さらに
図1のフローチャートを参照すると、例において、構築すること(S20)は、第1のB-repの1つまたは複数の局所的に厚い領域を計算すること(S220)をさらに含む。1つまたは複数の厚い領域を計算すること(S220)は、決定されたそれぞれの第2のグループに局所的に平行な、決定された第1のグループごとに、第1のグループについての第2の増厚演算の結果とそれぞれの第2のグループについての第3の増厚結果との交差を計算することを含む。1つまたは複数の厚い領域を計算すること(S220)は、第1のB-repから、計算された各交差を差し引くことをさらに含む。
【0085】
第1のグループについての第2の増厚結果とそれぞれの第2のグループについての第3の増厚演算の結果との交差を計算することは、第2の増厚演算および第3の増厚演算を計算し、次いで、それらの結果の交差を計算することを含み得る。交差の計算は、そのように計算された各交差が、それぞれの識別された薄い領域のうちの1つに実質的に対応する第1のB-repの薄い壁であるようなものである。特に、第3および第2の増厚演算の両方の増厚距離は、厚さ閾値程度、例えば厚さ閾値の1.1倍に等しくてもよい。
【0086】
第1のグループについての第2の増厚演算は、第1のグループについての外挿の増厚であってもよい。そのような場合、さらに、それぞれの第2のグループについての第3の増厚演算は、それぞれの第2のグループについての外挿の増厚である。また、第1のグループについての外挿およびそれぞれの第2のグループについての外挿は、この場合、異なる外挿値を有する。例えば、第1グループについての外挿は、第1のB-repの代表次元の0.01倍に等しい外挿値を有することができ、第2のグループについての外挿は、第1のB-repの代表次元の2倍または0.01倍に等しい外挿値を有することができる。これにより、第2および第3の増厚演算の結果の側面同士の重なりが回避される。追加的にまたは代替的に、第3の増厚演算および第2の増厚演算はそれぞれ、厚さ閾値よりも大きい増厚距離を有し得る。これは、第2の増厚演算の結果を境界付ける第1のグループのオフセットが、第3の増厚演算の結果を境界付ける面から離れているので、交差を信頼できるものにする。さらに、これらの結果の境界面は、それぞれの支持面を共有する。
【0087】
第1のB-repの計算された各交差を差し引くことは、第1のB-repから薄い壁をトリミングすることになる。これは、計算された薄い壁の結合を計算し、次いで、この結合を第1のB-repから減算することによって実行され得る。これにより、この減算から、第1のB-repの局所的な厚い領域、すなわち厚さ閾値よりも大きい厚さを有する領域のみが残る。
【0088】
本方法は、識別された薄い領域を、それぞれの中間表面で置き換えることをさらに含む。これは、第1のB-repから薄い領域をトリミングすることと、トリミングされた薄い領域の代わりに、中間表面を第1のB-repに組み立てることと、を含み得る。
【0089】
さらに
図1のフローチャートを参照すると、置き換えることは、それぞれの中間表面をそれぞれの計算された厚い領域として組み立てること(S230)を含むことができる。組み立ては、それぞれの中間表面の境界エッジをそれぞれの計算された厚い領域の分割エッジと組み立てることによって実行される。これは、第2のB-repのメッシュ化を容易にする。
【0090】
ここで、構成すること(S20)を実行するアルゴリズムについて説明する。第2のB-repを構築すること(S20)は、本方法の例では、5つのステップを含むアルゴリズムを実行することによって、実行され得る。
【0091】
アルゴリズムの入力データは、第1のB-rep S(立体Sとも呼ばれる)およびユーザ定義の厚さ閾値t>0である。言い換えれば、提供すること(S10)は、第1のB-repを提供すること(S10)と、ユーザによって、tを提供すること(S10)とを含む。アルゴリズムの出力データは、第2のB-rep、すなわち隣接するボリュームおよび面からなる非多様体オブジェクトである。アルゴリズムは、5つのステップを含む。簡単にするために、立体Sの境界面は、i=1,・・・,nについて、f
iと番号付けされる。
ステップ1 1つまたは複数の薄い領域の識別(S200)
ステップ1.1 局所的に平行な候補の面の対
ステップ1の目的は、立体S内の局所的に平行な面のすべての対(f
i,f
j)を識別することである。対は、j>iとなるように配置される。アルゴリズムは、交差演算を利用する。面f
iおよび点
【数9】
が与えられると、関数Intersect(f
i,x,f
j,y)は、立体の面f
jおよび点
【数10】
および
【数11】
を求める。ここで、λ>0は、可能な最小値であり、厚さ閾値よりも小さい。この関数を
図33に示す。
【0092】
点yおよび面f
jが存在する場合、関数Intersect(f
i,x,f
j,y)は「真」を返す。点yおよび面f
jが存在しない場合、関数Intersect(f
i,x,f
j,y)は「偽」を返す。第1のループは、局所的に平行な候補の面のp=1,2,・・・に対するテーブル
【数12】
をもたらす。
【数13】
前の命令は、以下で説明するスキャン中の副作用を回避することである。テーブルTは、距離とともに、局所的に平行になる可能性のある面の、反復され、任意に配置された対を特徴とする。テーブルT(・)の要素は、以下のように指定される。T(i)は、テーブルのi行目である。これは、トリプルT(i)=(f,g,d)からなり、ここで、fおよびgは面の識別子であり、dは距離である。次に、要素fはT(1,i)によって指定され、要素gはT(2,i)によって指定され、要素dはT(3,i)によって指定される。ここで、テーブルTは、辞書式順序に従ってソートされる。これは、p’>pならばT(1,p’)>T(1,p)であり、T(1,p’)=T(1,p)ならばT(2,p’)>T(2,p)であり、T(2,p’)=T(2,p)ならばT(3,p’)≧T(3,p)であることを意味する。特に、これは、すべての同一の対の面を連続させる。このように、線形走査を通じて、出力テーブルC(・)に記憶されている局所的に平行な面の候補のすべての対を識別することが可能である。
【数14】
このアルゴリズムから、局所的に平行な面の候補のすべての対は、i<jおよび
【数15】
(ここで
【数16】
である)となるように(f
i,f
j)と番号付けされる。次に、実際の局所的平行性が、以下の手順に従って分析される。
ステップ1.2 厳密に局所的に平行な、または準局所的に平行な面の対
局所的に平行な候補の面(f,g)は、(標準幾何公差)に厳密に平行、または準局所的に平行である。次に、準平行性条件について説明する。面fのサンプリング{x
k,k=1,2,3,・・・}、および面gのサンプリング{y
l,l=1,2,3,・・・}を得る。各kについて、点
【数17】
を面g上に投影し、点
【数18】
を生成し、距離a
k=||p
k-x
k||を保存する。各lについて、点
【数19】
を面f上に投影し、点
【数20】
を生成し、距離b
k=||q
l-y
l||を保存する。ここで、
【数21】
である。L(f)を面fの対角線長さ、すなわち
【数22】
とし、L(g)を面gの対角長さ、すなわち
【数23】
とする。そして、面fおよび面gは、
【数24】
の場合、準局所的に平行である。
【0093】
ここで、ε=2.3degはG1連続性許容角度であり、
【数25】
である。この基準を局主的に平行な面の候補のすべての対に適用すると、集合Kは一般に減少する。
【0094】
定義により、側面は、2つの局所的に平行な面を接続する入力立体Sの面である。側面は、外挿目的のためのさらなるステップで再利用される。例えば、
図34に示す立体の局所的に平行な面のリストは、(f
1,f
9)、(f
3,f
5)、(f
5,f
7)であり、K={(1,9)、(3,5)、(5,7)}である。側面は、f
4、f
6、およびf
10である。
ステップ1.3 接面に局所的に平行な接面のグループ化
結果として得られる中間表面のトポロジを単純化するために、隣接接面の他のグループと局所的に平行な隣接接面のグループを識別しなければならない。次の図の左端の図は、何らかのグループ化が適切である状況を示す。力まかせのアルゴリズムは、多くの隣接接面からなる複雑な中間表面を生成する。グループ化アルゴリズムの目的は、はるかに単純なトポロジを特徴とする中間表面を得ることである。
【0095】
図35は、局所的に平行な面を示す。
図36は、グループ化なしで得られた中間表面を示す。すべての面の複雑さが、中間表面にコピーされる。
図37は、グループ{f
1,f
2,f
3,f
4}および{f
7,f
8,f
9}を考え、最も単純なグループ{f
7,f
8,f
9}をオフセットして中間表面を求めたときの中間表面のトポロジを示している。
【0096】
グループ化は、以下のアルゴリズムに従って行われる。入力立体のデュアルグラフが考慮される。鋭いエッジに関連する弧は「1」とタグ付けされ、滑らかなエッジに関連する弧は「0」とタグ付けされる。本開示のコンテキストでは、2つの同じノードを接続する「0」とタグ付けされた複数の弧は、
図38に示すように、単一の弧によって置き換えられる。これは、以下に説明するように、切断弧の識別にとって非常に重要である。
【0097】
本アルゴリズムのコンテキストでは、デュアルグラフは、前のステップで計算されたように、局所的に平行な面の対を捕捉する弧で強化される。これらの弧は「2」とタグ付けされ、これは、面xおよび面yが局所的に平行であるときに、デュアルグラフのノードxおよびノードyが「2」とタグ付けされた弧と接続されることを意味する。ここではEで示される、強化されたデュアルグラフは、グループ化アルゴリズムの入力データである。次の図は、押し出された立体およびその濃縮されたデュアルグラフEを示す。可読性のために、押し出された立体の前面および背面は無視される。
図39~
図40に示す例では、局所的に平行な面の初期結合は、(f
1,f
12)、(f
3,f
10)、(f
3,f
11)、(f
4,f
8)、(f
5,f
7)である。
図39は立体の例を示し、
図40は初期結合を有する対応する強化されたデュアルグラフを示す。
【0098】
第1のステップは、「2」とタグ付けされたすべての弧およびそれらの入射ノードを、強化されたデュアルグラフEのサブグラフDに収集することである。次に、グラフDに入射ノードがある「0」とタグ付けされた弧が追加され、グラフHが得られる。
図41は、実施例のグラフDを示す。
図42は、実施例のグラフHを示す。
【0099】
定義により(F.Harry,Graph Theory,Addison-Wesley,1969参照。これは参照により本明細書に組み込まれる)、グラフの弧は、当該弧を除去することによりグラフの新たな連結成分が生成される場合、「切断弧」である(再び、F.Harry,Graph Theory,Addison-Wesley,1969を参照)。グループ化のアルゴリズムの重要なステップは、グラフHから「0」とタグ付けされたすべての切断弧を除去することであり、これによりグラフH
1が得られる。
図43は、ノードf
3とノードf
4とを結ぶ弧を除去したものであり、切断弧である。左図はグラフHであり、右図はグラフH
1である。
【0100】
ここで、グラフH
1から「2」とタグ付けされたすべての弧を除去し、グラフH
2を得る。次に、グラフH2の連結成分を介して、面のグループが識別される。
図44は、グラフH2の連結成分を示す。
図45は、隣接接面のグループに局所的に平行な隣接接面の結果として生じるグループを示す。
【0101】
グループ間の結合は、
図45に示すように、グラフH
1の「2」とタグ付けされた弧を使用して容易に得られる。グループは{f
i,・・・,f
j}と記され、必要な数の要素を含む。例示的な立体のグループは、{f
10,f
11}、{f
4,f
5}、および{f
7,f
8}であり、グループ化された面の結果として生じる結合は、(f
1,f
12)、(f
3,{f
10,f
11})、({f
7,f
8},{f
4,f
5})である。
ステップ2 局所中間表面
ここで、局所中間表面は、以下のアルゴリズムに従って計算される。新しい値t
+は、入力厚さ閾値tよりも大きい値、典型的にはt
+=1.1×tに設定される。t
+の存在理由は、後述するように、接触構成を回避するである。外挿値eが定義され、典型的にはe=0.001×Dであり、ここでDは入力立体の代表次元である。局所的に平行な面の対(f
i,f
j)が与えられ、f
iとf
jを接続する側面のリストLが与えられると、面f
iからボリュームThick(f
i,t
+)を作成する。次に、面f
jから、外挿面Extrapol(fi,L,e)と、この外挿面御オフセット面Offset(Extrapol(f
i,L,e),t/2)とを作成する。対(f
i,f
j)に関連する局所中間表面は、Mid(f
i,f
j)で表され、ボリューム/面の交差を計算することによって得られる。すなわち、
【数26】
と表される。
【0102】
外挿の目的は、(外挿された)面の境界曲線がボリュームの境界から離れているので、安全なボリューム/面交差を実行することである。
図46は、側面f
4によって接続された対(f
3,f
5)の局所中間表面を示す。表面Pは、Thick(f
3,t
+)の境界に含まれる支持面である。これは、このステップで言及され、さらなるステップで再利用される。
対のグループ({f
1,・・・,f
n},{f’
1,・・・,f’
m})が与えられると、オフセットする側は、以下の目的を確実するように選択される。
【0103】
最小中間表面上の、この対のグループの複雑さを忠実に捕捉することと、
最小中間表面の結果をできるだけ簡単に生成すること。
【0104】
これを実現するために、アルゴリズムは評価器を使用する。第1の評価器は、「準平行性」に関与する面の面積比に基づいて、対のグループ({f
1,・・・,f
n},{f’
1,・・・,f’
m})の複素辺を測定することである。第2の評価器は、トポロジ的(セルの数およびタイプ)およびジオメトリ的(表面のタイプ)基準に基づいて、辺の単純性を測定することである。
ステップ3 局所的に薄い壁
このステップにおいて、アルゴリズムは、さらなるステップにおいて、局所的に厚い領域を作成するために使用されるボリュームを使用することによって、薄い壁を局所化する局所的に平行な面の各対
【数27】
に対して、面f
iおよび面f
jは、それらの接続側面Lに従って、それぞれ外挿される。面f
iは値eを用いて外挿され、面f
jは値2eを用いて外挿され、これはExtrapol(f
i,L,e)およびExtrapol(f
j,L,2e)と記される。次に、ボリュームV
ijは、厚いボリュームThick(Extrapol(fi,L,e),t
+)およびThick(Extrapol(f
j,L,2e),t
+)を交差させることによって計算され、
【数28】
である。
【0105】
図47は、側面f
4によって接続された一対の面(f
3,f
5)によって画定される薄い壁を局所化するために用いられるボリュームV
3,5を示す。ここで、表面Pは、V
3,5の境界に含まれる支持面であることに留意されたい。これは、このステップで言及され、さらなるステップで再利用される。
ステップ4 局所的に厚い壁
次いで、入力立体Sからすべてのボリューム
【数29】
を差し引くことにより、局所的に厚い領域が得られる。形式的には、局所的に厚い領域は、ボリュームの連結成分であり、
【数30】
である。
【0106】
図48は、すべてのボリュームV
ijが入力立体Sから除去された後の、最終的な厚い領域を示す。ボリュームV
ijは、側面の近傍における立体Sよりも広いことに留意されたい。これは、表面一致を回避するためである。ブール演算のシーケンスを通して、表面Pは立体Rの境界に含まれる。
図48に示す例では、局所的な厚い領域は1つしか存在していないが、工業的な試験では、局所的に厚い領域が多数存在し得ることが示されている。
ステップ5 最終的な非多様体オブジェクト
これまでのところ、結果として得られるデータは、ボリュームのリスト(局所的に厚い領域)および面のリスト(局所的中間表面)である。最後のステップは、ボリュームおよび面を混合する単一の非多様体オブジェクトを、コヒーレントなトポロジ的データ構造に構築することである。典型的には、ボリュームと境界面の中間表面との間の入射は、境界面を分割し、分割エッジを中間表面の境界エッジと共有することによって捕捉される。
図49は、中間表面cとエッジdを共有するために、ボリュームの側面を、エッジdを共有する面aおよび面bに分割することを示す。
【0107】
このトポロジは、面cをメッシュする三角形のエッジおよび頂点が、面aおよび面bをメッシュする三角形のエッジおよび頂点と共有されるようにメッシュを提供する最良の方法である。
図51は、非多様体トポロジから得られるコヒーレントメッシュを示す。逆に、
図50は、トポロジが解かれないときに何が起こるかを示す。面cの三角形は面bの三角形に適合しないので、メッシュは不完全である。
アルゴリズムの堅牢性
交差する接線または重なり合う表面が、幾何学的アルゴリズムの失敗の原因であることは、最新技術から周知である。
図52~
図54は、良好な状況、不良な状況、および破局的な状況を示す。良好な状況は、
図52に示すように、2つの横断面の交差曲線である。不良な状況は、
図53に示すように、2つの表面間の接線交差である。破滅的な状況は、
図54に示すように、2つの表面の局所的な重なりである。
【0108】
アルゴリズムは、表面が重複することを回避させる。ステップ3の実行中、Extrapol(f
i,L,e)およびExtrapol(f
j,L,2e)のための別個の外挿値を選択することによって、ボリュームThick(Extrapol(f
i,L,e),t
+)およびボリュームThick(Extrapol(f
j,L,2e),t
+)の側面の重複が回避される。ボリュームThick(f
i,t
+)の境界を定めるfiのオフセット面は、ボリュームThick(Extrapol(f
j,L,2e),t
+)の境界を定め、f
iから距離tにある面f
jから離れているので、t
+>tを選択することは、V
ijに対する交差を信頼できるものにする。同様に、ボリュームThick(Extrapol(f
j,L,2e),t
+)の境界を定めるfjのオフセット面は、Thick(Extrapol(f
i,L,e),t+)の境界を定め、f
iから距離tにある面f
iから離れている。さらに、ボリュームV
ijの境界面は、面f
iおよびf
jの一部であり、それぞれの支持面を共有することを意味する。
図55は、面f
3のe外挿および面f
5の2e外挿により、側面aが側面bから離れていることを示す。さらに、面Offset(Extrapol(f
5,{f
4},2e),t
+)は面f
3から離れており、面Offset(Extrapol(f
3,{f
4},e),t
+)は面f
5から離れている。
【0109】
ステップ4の実行中に、減算S-Vijを計算するときに、入力立体Sを境界付ける面と一致するVijを境界付ける面の部分は、同じそれぞれの支持面を共有する。これにより、面の局所的な重なりが、危険な数値調査とは対照的に、支持面の論理的共有によって捕捉されるので、減算が完全に安全なものとなる。
【0110】
ステップ5の実行中に、オフセット面Offset(Extrapol(fi,L,e),t/2)をトリミングするために使用される面境界ボリュームThick(fi,t+)は、ステップ4で立体Sをトリミングするためにも使用される。したがって、前の図においてPで示された支持面は、プロセス全体にわたって保存される。これが、局所的な中間表面の境界エッジと、局所的に厚い領域との間に完全な適合が存在する理由である。
【0111】
図56~
図69は、アルゴリズムを示す。
図56は入力立体を示し、
図57はアルゴリズムによって計算された、対応する出力オブジェクトを示す。
図58は入力立体を示し、
図59はアルゴリズムによって計算された、対応する出力オブジェクトを示す。
図60は入力立体を示し、
図61はアルゴリズムによって計算された、対応する出力オブジェクトを示す。
図62は入力立体を示し、
図63はアルゴリズムによって計算された、対応する出力オブジェクトを示す。
図64は入力立体を示し、
図65はアルゴリズムによって計算された、対応する出力オブジェクトを示す。
図66は入力立体を示し、
図67はアルゴリズムによって計算された、対応する出力オブジェクトを示す。
図68は入力立体を示し、
図69はアルゴリズムによって計算された、対応する出力オブジェクトを示す。
【0112】
これらの図は、立体部分がそのB-repによってモデル化され、厚さ閾値が与えられると、アルゴリズムが入力立体のすべての薄い壁を識別するという事実を示す。次に、各薄い壁の中間表面が計算されるとともに、薄い壁を実現するための局所ボリュームが計算される。厚い領域は、入力立体から局所ボリュームを除去することによって得られる。結果として得られるデータは、
図70~
図73に示されるように、コヒーレントトポロジで配置された厚い領域と中間表面との混合セットである。
図70は入力立体を示し、
図71はアルゴリズムによって計算された、対応する出力オブジェクトを示す。
図72は、
図9のエジェクタパッド96または98などのエジェクタパッドを表す入力立体を示し、
図73は、アルゴリズムによって計算された、対応する出力オブジェクトを示す。厚いパッドは不変のままであるが、交差リブは表面によって近似される。
【0113】
本方法は、構築された第2のB-repを表示することをさらに含み得る。
【0114】
本方法は、第2のB-repをハイブリッドメッシュにメッシュ化すること(S30)をさらに含むことができる。
【0115】
メッシュ化(S30)は、任意の既知の方法によって実行され得る。
【0116】
例において、メッシュ化(S30)は、第2のB-repの薄いシート領域、細長い領域、および複合領域を異なってメッシュ化することを含む。薄いシート領域は、第2のB-repの中間表面であり、第3のB-repよりもはるかに長い主要寸法を有する。第2のB-repでは、薄いシート領域は、それぞれの中間表面である。細長い領域は、他の2つのB-repよりもはるかに長い1つの主要寸法を有する第2のB-repの領域である。複合領域は、細長い領域でもなく、薄いシート領域でもない、第2のB-repの領域である。これは、等方性要素形状を表すことができる。これらの例におけるメッシュ化すること(S30)は、
第2のB-repの薄いシート領域/中間表面を、三角形または四角形でメッシュ化することであって、中間表面が複合領域または細長い領域と接する場合、隣接領域のシード処理と等しいシード処理を適用することを含み得る、メッシュ化することと、
複合領域を六面体または四面体のボリューム要素でメッシュ化することと、
を含み得る。
【0117】
ここで説明されている例によりメッシュ化(S30)は、特に、参照により本明細書に組み込まれる、Tierner & al.,Automatic dimensional reduction and meshing of stiffened thin-wall structure,Article in Engineering With Computers,October 2013,DOI:10.1007/s00366-013-0317-yのセクション4に記載されているメッシュ化方法に従って実行され得る。
【0118】
メッシュ化すること(S30)は、ユーザアクションによって、例えば、グラフィカルユーザインタラクションによって実行され得る。例えば、ユーザは、要素を配置するために第2のB-repの位置をクリックすることによって、かつ/あるいは要素を変位させることによって、かつ/あるいは要素をそれらの間に配置することによって、ハイブリッドメッシュの要素をグラフィカルに定義し得る。そのため、本方法は、メッシュ化すること(S30)の最中に、第2のB-repをユーザに表示することができる。
【0119】
図74は、
図71に示す第2のB-repに対して実行されたメッシュ化(S30)の例から得られたハイブリッドメッシュを示す。
【0120】
本方法は、ハイブリッドメッシュに基づいて、機械部品の構造シミュレーションを実行すること(S40)をさらに含むことができる。構造シミュレーションは、例えば、機能性、迎合性、および/または品質目的のための、機械部品の構造挙動の任意のシミュレーションであってもよい。したがって、構造シミュレーションは、構造力学シミュレーションである。本方法はさらに、振動シミュレーション、熱伝達シミュレーション、質量輸送シミュレーション、電磁気シミュレーション、および/または流体力学シミュレーションなどの他のタイプのシミュレーションをさらに実行することができる。
【0121】
構造シミュレーションを実行すること(S40)は、機械部品を表すハイブリッドメッシュ上で境界条件を定義することを含む。境界条件を定義することは、ユーザによって、例えばグラフィカルユーザインタラクションによって実行されてもよく、機械部品の1つまたは複数の部分を固定すること、振動源を定義すること、および/または熱源を定義することのうちの1つまたは複数を含んでもよい。構造シミュレーションを実行すること(S40)は、有限要素法(FEM)などの数値スキームをハイブリッドメッシュ上で実行することをさらに含んでもよい。数値スキームは、シミュレートする構造的挙動を包含する物理方程式/法則の離散化に関する任意の数値スキームであってもよい。
【0122】
本方法は、例えば、機械部品の構造解析を実行するために、かつ/あるいは製造決定を行うために、構造シミュレーションの結果をユーザに表示することをさらに含むことができる。
【0123】
図75は、機械部品を設計するための、本方法が実施例において実施し得る設計フローチャートを示す。本方法は、計算時間が節約されるので、高速設計変更ループを可能にする。これは、設計時間の短縮化、および、設計調査を市場投入するまでの期間または代替するまでの時間が短縮化されることを意味する。