(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023082702
(43)【公開日】2023-06-14
(54)【発明の名称】3DCADモデルの分割
(51)【国際特許分類】
G06F 30/10 20200101AFI20230607BHJP
G06F 30/23 20200101ALI20230607BHJP
G06T 17/00 20060101ALI20230607BHJP
【FI】
G06F30/10
G06F30/10 100
G06F30/23
G06T17/00
【審査請求】未請求
【請求項の数】15
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2022193319
(22)【出願日】2022-12-02
(31)【優先権主張番号】21306697.0
(32)【優先日】2021-12-02
(33)【優先権主張国・地域又は機関】EP
(71)【出願人】
【識別番号】500102435
【氏名又は名称】ダッソー システムズ
【氏名又は名称原語表記】DASSAULT SYSTEMES
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】ローレン マリーニ
(72)【発明者】
【氏名】ヴィンセント ブーヴィエ
【テーマコード(参考)】
5B080
5B146
【Fターム(参考)】
5B080AA08
5B080AA13
5B080AA14
5B080BA00
5B080CA01
5B080DA01
5B080FA02
5B080GA00
5B146DJ08
5B146EA08
5B146EA18
(57)【要約】 (修正有)
【課題】機械部品に関するコンピュータ支援設計(CAD)3Dモデルを分割するためのコンピュータ実装方法、システム及びプログラムを提供する。
【解決手段】方法は、CAD3Dモデルの体積型B-Repを提供するステップと、体積型B-Repにおける一つ又は複数のリボンを検出するステップと、一つ又は複数の検出済みリボンに関連付けられる一つ又は複数の幾何学的基準に基づいて、一つ又は複数の検出済みリボンをランク付けするステップと、ランク付けするステップに続いて、ランク付けされた一つ又は複数の検出済みリボンの各々を順次選択するステップと、選択したリボンの各々の幾何学的基準に関連付けた分割方法を使用して、CAD3Dモデルの体積型B-Repを分割して、二つ以上の分割部分を取得するステップと、取得済みリボンの各々の分割部分が、掃引可能な体積を表すかどうかを判定するステップと、を備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
機械部品に関するコンピュータ支援設計(CAD)3Dモデルを分割するためのコンピュータ実装方法であって、
前記CAD3Dモデルの体積型B-Repを提供するステップ(S10)と、
前記体積型B-Repにおける一つまたは複数のリボンを検出するステップ(S20)であって、各リボンが、前記体積型B-Repにおける一つまたは複数の接続面を含み、展開されると、長方形に位相同型である、ステップと、
前記一つまたは複数の検出済みリボンの各々に関連付けられる一つまたは複数の幾何学的基準に基づいて、前記一つまたは複数の検出済みリボンをランク付けするステップ(S30)と、
前記一つまたは複数の検出済みリボンの各々を順次選択するステップ(S40)であって、前記選択は、前記ランク付けするステップに続いて実行される、ステップと、
選択されたリボンの各々に関して、
前記選択されたリボンにおける前記幾何学的基準に関連付けられた分割方法を使用して、CAD3Dモデルの前記体積型B-Repを分割するステップ(S50)であって、これによって二つ以上の分割部分を取得する、ステップと、
取得済み分割部分の各々に関して、前記分割部分が掃引可能な体積を表すかどうかを判定するステップ(S60)と
を備えることを特徴とする、方法。
【請求項2】
前記一つまたは複数の検出済みリボンに関連付けられた前記一つまたは複数の幾何学的基準は、
前記検出済みリボンが凹部であること、
前記検出済みリボンが凸部であること、
前記検出済みリボンが閉鎖的であること、および/または
前記検出済みリボンが回転性を有すること
から選択されることを特徴とする、請求項1に記載の方法。
【請求項3】
一つまたは複数の幾何学的基準に基づいて前記一つまたは複数の検出済みリボンをランク付けするステップは、次のランク付け順序、すなわち
a)前記検出済みリボンが閉鎖的であり、かつ、凸部であること、
b)前記検出済みリボンが閉鎖的であり、かつ、凹部であること、
c)前記検出済みリボンが凸部であること、
d)前記検出済みリボンが凹部であること、および
e)前記検出済みリボンが回転体であること
で前記選択されたリボンをランク付けするステップを含むことを特徴とする、請求項2に記載の方法。
【請求項4】
a)またはc)にしたがってランク付けされた検出済みリボンの各々に関して、分割方法を使用してCAD3Dモデルの前記体積型B-Repを分割するステップは、
前記体積型B-Repにおける残りの部分から前記凸部を分離するステップであって、
前記リボンにおける凹状隣接体を選択するステップと、
前記体積型B-Repを通して前記凹状隣接体を外挿するステップと
による、ステップ
を含むことを特徴とする、請求項3に記載の方法。
【請求項5】
b)にしたがってランク付けされた検出済みリボンの各々に関して、分割方法を使用してCAD3Dモデルの前記体積型B-Repを分割するステップは、
前記検出済みリボンが大きな影響を与えるかどうかを判定するステップであって、前記検出済みリボンが、前記体積型B-Repと前記検出済みリボンの外挿との交差部分と、前記リボンとの間の距離よりも小さいサイズを有する場合、前記検出済みリボンは大きな影響を与える、ステップと、
前記検出済みリボンが大きな影響を与える場合、前記リボンにおける凸状隣接体のオフセットである、分割面を作成するステップと
を含むことを特徴とする、請求項3または4の何れかに記載の方法。
【請求項6】
d)にしたがってランク付けされた検出済みリボンの各々に関して、分割方法を使用してCAD3Dモデルの前記体積型B-Repを分割するステップは、
前記体積型B-Repを通して前記リボンを外挿することにより、分割面を作成するステップ
を含むことを特徴とする、請求項3ないし5の何れかに記載の方法。
【請求項7】
e)にしたがってランク付けされた検出済みリボンの各々に関して、分割方法を使用してCAD3Dモデルの前記体積型B-Repを分割するステップは、
前記リボンによって囲まれた体積を、その一つが円柱である三つの体積に分割するステップ
を含むことを特徴とする、請求項3ないし6の何れかに記載の方法。
【請求項8】
前記体積型B-Repにおける一つまたは複数のリボンを検出するステップは、
一つまたは複数の滑らかな曲面を検出するステップであって、検出済みの滑らかな曲面の各々は、前記体積型B-Repにおける接続面のグループを含み、前記グループ内の接続面の各ペアが滑らかな接合を有する、ステップと、
前記検出済みの一つまたは複数の滑らか曲面の中から一つまたは複数の正方形の滑らかな曲面を選択するステップであって、正方形の滑らかな曲面の各々が、展開されると、長方形に位相同型である、ステップと、
前記検出済みの一つまたは複数の正方形の滑らかな曲面のうちの一つまたは複数の接続面のセットを選択することにより、リボンを検出するステップであって、検出済みリボンの各々が、前記一つまたは複数の選択された接続面のうちの一つの幅を有する、ステップと
をさらに含むことを特徴とする、請求項1ないし7の何れかに記載の方法。
【請求項9】
前記検出済みの一つまたは複数の滑らかな曲面の各々に関して、二つの接続面の各々の間の角度が150度以上かつ210度以下であることを特徴とする、請求項8に記載の方法。
【請求項10】
分割方法を使用してCAD3Dモデルの前記体積型B-Repを分割するステップは、取得済み分割部分の各々に関して、一つまたは複数のトレースを計算するステップであって、トレースが、前記取得済み分割部分の面上に存在する一つまたは複数の辺のセットであり、前記一つまたは複数の辺の各々が、分割の結果として作成される、ステップをさらに含むことを特徴とする、請求項1ないし9の何れかに記載の方法。
【請求項11】
前記分割部分が掃引可能な体積であるかどうかを判定するステップは、取得済み分割部分に関して、
開始面および目標面を決定するステップであって、前記開始面および前記目標面の各々が前記ランク付けされたリボンに隣接する、ステップと、
前記ランク付けされたリボン上に掃引経路を決定するステップと、
前記掃引経路に沿った前記開始面から前記目標面への掃引が存在することを決定するステップであって、これによって前記分割部分が掃引可能な体積を表すことを判定する、ステップと
を含むことを特徴とする、請求項1ないし10の何れかに記載の方法。
【請求項12】
選択されたリボンの各々に関して、二つ以上の分割部分を取得するステップの後で、前記分割の結果として作成された二辺の各々の間の角度が品質角度以上であることを検証するステップをさらに備えることを特徴とする、請求項1ないし11の何れかに記載の方法。
【請求項13】
請求項1ないし12の何れか一つに記載の方法を実行するための命令を備えることを特徴とする、コンピュータプログラム。
【請求項14】
請求項13に記載のコンピュータプログラムを記録していることを特徴とする、コンピュータ可読記憶メディア。
【請求項15】
メモリおよびグラフィックユーザーインターフェースに結合されたプロセッサを備えるシステムであって、前記メモリは、請求項13に記載のコンピュータプログラムを記録していることを特徴とする、システム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、コンピュータプログラムおよびシステムの分野に関連し、より具体的には、機械部品(mechanical part)に関するコンピュータ支援設計(CAD)の3Dモデルを処理するための方法、システムおよびプログラムに関する。
【背景技術】
【0002】
多数のシステムおよびプログラムが、オブジェクトの設計、エンジニアリングおよび製造のために市場に提供されている。CADは、コンピュータ支援設計(Computer-Aided Design)の頭字語であり、例えば、それは、オブジェクトを設計するためのソフトウェアソリューションに関連する。CAEは、コンピュータ支援エンジニアリング(Computer-Aided Engineering)の頭字語であり、例えば、それは、将来の製品における物理的な動作をシミュレーションするためのソフトウェアソリューションに関連する。CAMは、コンピュータ支援製造(Computer-Aided Manufacturing)の頭字語であり、例えば、それは、製造プロセスおよび操作を定義するためのソフトウェアソリューションに関連する。このようなコンピュータ支援設計システムでは、グラフィカルユーザーインターフェースは、手法の効率に関して重要な役割を果たす。これらの技術は、製品ライフサイクル管理(PLM)システムの内部に組み込まれ得る。PLMとは、企業が製品データを共有し、共通のプロセスを適用し、企業の知識を活用して、拡張された事業の概念全体に亘って、構想から製品寿命までの製品開発のために役立つ、ビジネス戦略を指している。ダッソー・システムズ(Dassault Systemes)によって(商標CATIA、ENOVIAおよびDELMIAの下で)提供されるPLMソリューションは、製品エンジニアリング知識を整理するエンジニアリングハブ、製造エンジニアリング知識を管理する製造ハブ、およびエンジニアリングハブおよび製造ハブの両方への事業の統合および結合を可能にする事業ハブを提供する。このシステムはすべて、製品、プロセス、リソースを対応付けるオープンオブジェクトモデルを提供することにより、動的で知識ベースの製品作成と、最適化された製品定義、製造準備、生産およびサービスを推進する意志決定支援とを可能にする。
【0003】
六面体メッシュ生成(Hexahedral meshing)は、変形した立方体(六面体)で構成されるメッシュを生成する。六面体メッシュは、幾つかの物理学(変形力学、流体力学など)のシミュレーションによく使用される。というのは、六面体メッシュは、そのようなシミュレーションに基づく設計およびエンジニアリングに関するシステムおよびプログラムに関連して、速度および精度の両方を大幅に向上させるためである。幾つかの物理現象のシミュレーションを行う目的で六面体メッシュを使用する利点については、例えば、「六面体メッシュ生成:ギャップにご用心!(Hexahedral Meshing: Mind the Gap!)」(レイ(Ray)等、hal-01551603、2017年)に説明されている。
【0004】
しかしながら、既知の従来技術では、六面体メッシュを得るために、設計者は、自身の3D体積型部品(volumetric part)を手動で分割している。この手動分割は、3D体積型部品を掃引体積(swept volume)(掃引可能領域(sweepable region)とも呼ばれる)に分解することを目的としている。それから、各領域に関するこの掃引可能性は、メッシュ生成ツールによって使用されることにより、各領域に関する3D六面体メッシュを作成する。この手動分割は、面倒な作業であるだけでなく、設計者の専門知識(設計者の分析など)に依存する。そのため、手動分割の結果は不確実となる。
【0005】
これに関連する中で、部品(機械部品など)に関するコンピュータ支援設計の3Dモデルを分割するための改善方法が依然として必要とされている。
【発明の概要】
【0006】
そのため、機械部品に関するコンピュータ支援設計(CAD)の3Dモデルを分割するためのコンピュータ実装方法を提供する。本方法は、CAD3Dモデルの体積型B-Repを提供するステップと、体積型B-Repにおける一つまたは複数のリボン(ribbon)を検出するステップであって、各リボンが、体積型B-Repにおける一つまたは複数の接続面を含み、展開されると、長方形に位相同型(homeomorphic)である、ステップと、一つまたは複数の検出済みリボンの各々に関連付けられる一つまたは複数の幾何学的基準(geometrical criteria)に基づいて、一つまたは複数の検出済みリボンをランク付けするステップと、ランク付けされた一つまたは複数の検出済みリボンの各々を順次(successively)選択するステップであって、この選択が、ランク付けするステップに続いて行われる、ステップとを備える。本方法は、選択済みリボンの各々に関して、選択済みリボンの幾何学的基準に関連付けられた分割方法を使用して、CAD3Dモデルの体積型B-Repを分割するステップであって、これによって二つ以上の分割部分(partition)を取得する、ステップと、取得済み分割部分の各々に関して、その分割部分が掃引可能な体積を表すかどうかを判定するステップとをさらに備える。
【0007】
本方法は、以下のうちの一つまたは複数を備え得る。すなわち、
- 一つまたは複数の検出済みリボンの各々に関連付けられた一つまたは複数の幾何学的基準は、検出済みリボンが凹部(depression)であること、検出済みリボンが凸部(protrusion)であること、検出済みリボンが閉鎖的(closed)であること、および/または、検出済みリボンが回転性(revolution)を有することの中から選択されることと、
- 一つまたは複数の幾何学的記述に基づいて一つまたは複数の検出済みリボンをランク付けするステップは、検出済みリボンを次のランク付け順序でランク付けするステップを含むこと、すなわち、検出済みリボンが閉鎖的であり、かつ、凸部であること、検出済みリボンが閉鎖的であり、かつ、凹部であること、検出済みリボンが凸部であること、検出済みリボンが凹部であること、および、検出済みリボンが回転体であること、
- a)またはc)にしたがってランク付けされた検出済みリボンの各々に関して、分割方法を使用してCAD3Dモデルの体積型B-Repを分割するステップは、リボンの凹状隣接体(concave neighbor)を選択し、体積型B-Repを通して凹状隣接体を外挿することにより、体積型B-Repにおける残りの部分から凸部を分離するステップを含む。
- b)にしたがってランク付けされた検出済みリボンの各々に関して、分割方法を使用してCAD3Dモデルの体積型B-Repを分割するステップは、検出済みリボンが大きな影響(large impact)を有するかどうかを判定するステップであって、検出済みリボンが、体積型B-Repと検出済みリボンの外挿(extrapolation)との交差部分(intersection)と、リボンとの間との距離よりも小さいサイズを有する場合、検出済みリボンが大きい影響を有する、ステップと、検出済みリボンが大きい影響を有する場合、リボンにおける凸状隣接体のオフセットである分割面を作成するステップとを含む。
- d)にしたがってランク付けされた検出済みリボンの各々に関して、分割方法を使用してCAD3Dモデルの体積型B-Repを分割するステップは、体積型B-Repを通してリボンを外挿することにより、分割面を作成するステップを含む。
- e)にしたがってランク付けされた検出済みリボンの各々に関して、分割方法を使用してCAD3Dモデルの体積型B-Repを分割するステップは、リボンで囲まれた体積を、その一つが円柱である三つの体積に分割するステップを含む。
- 体積型B-Repにおける一つまたは複数のリボンを検出するステップは、一つまたは複数の滑らかな曲面を検出するステップであって、検出済みの滑らかな曲面の各々は、体積型B-Repの接続面からなるグループを含み、グループ内の接続面の各ペアは、滑らかな接合を有する、ステップと、検出済みの一つまたは複数の滑らか曲面の中から一つまたは複数の正方形の滑らかな曲面を選択するステップであって、正方形の滑らかな曲面の各々は、展開されると、長方形に位相同型である、ステップと、一つまたは複数の検出済みの滑らかな曲面のうちの一つまたは複数の接続面のセットを選択することによってリボンを検出するステップであって、検出済みリボンの各々は、一つまたは複数の選択された接続面の一つの幅を有する、ステップとをさらに含む。
- 一つまたは複数の検出済みの滑らかな曲面の各々に関して、二つの接続面の各々の間の角度は、150度以上210度以下である。
- 分割方法を使用してCAD3Dモデルの体積型B-Repを分割するステップは、取得済み分割部分の各々に関して、一つまたは複数のトレース(trace)を計算するステップであって、トレースは、取得済み分割部分の面に存在する一つまたは複数の辺のセットであり、一つまたは複数の辺の各々は、分割の結果として作成される、ステップをさらに含む。
- 分割部分が掃引可能な体積を表すかどうかを判定するステップは、取得済み分割部分の各々に関して、開始面および目標面を決定するステップであって、開始面および目標面の各々は、ランク付けされたリボンに隣接する、ステップと、ランク付けされたリボン上に掃引経路を決定するステップと、掃引経路に沿った開始面から目標面への掃引(sweep)が存在することを決定するステップと、それによって分割部分が掃引可能な体積を表すことを判定するステップを含む。および/または、
- 本方法は、選択されたリボンに関して、二つ以上の分割部分を取得した後に、分割の結果として作成された二辺の各々の間の角度が、品質角度以上であることを検証するステップをさらに含む。
【0008】
さらに、本方法を実行するための命令を含むコンピュータプログラムを提供する。
【0009】
さらに、このコンピュータプログラムを記録しているコンピュータ可読記憶メディアを提供する。
【0010】
さらに、メモリに結合されたプロセッサを備えるシステムを提供しており、このメモリは、そのコンピュータプログラムを記録している。
【図面の簡単な説明】
【0011】
ここで、添付図面を参照して、非限定的な例を説明する。
【
図1】本方法の一例におけるフローチャートを示す図である。
【
図3】掃引可能な体積を含む、機械部品のCADモデルの例を示す図である。
【
図4】掃引可能な体積を含む、機械部品のCADモデルの例を示す図である。
【
図5】本方法の一例におけるフローチャートを示す図である。
【
図6A】滑らかな曲面、正方形で滑らかな曲面、およびリボンを示す図である。
【
図6B】滑らかな曲面、正方形で滑らかな曲面、およびリボンを示す図である。
【
図7A】滑らかな曲面、正方形で滑らかな曲面、およびリボンを示す図である。
【
図7B】滑らかな曲面、正方形で滑らかな曲面、およびリボンを示す図である。
【
図7C】滑らかな曲面、正方形で滑らかな曲面、およびリボンを示す図である。
【
図15】本方法に含まれるB-repの概念を示す図である。
【
図16】本方法に含まれるB-repの概念を示す図である。
【
図17】本方法に含まれるB-repの概念を示す図である。
【
図18】本方法に含まれるB-repの概念を示す図である。
【
図19A】本方法に含まれるB-repの概念を示す図である。
【
図19B】本方法に含まれるB-repの概念を示す図である。
【
図19C】本方法に含まれるB-repの概念を示す図である。
【
図19D】本方法に含まれるB-repの概念を示す図である。
【
図19E】本方法に含まれるB-repの概念を示す図である。
【
図20】本システムにおけるグラフィカルユーザーインターフェースの一例を示す図である。
【発明を実施するための形態】
【0012】
図1におけるフローチャートを参照して、機械部品に関するコンピュータ支援設計(CAD)の3Dモデルを分割するためのコンピュータ実装方法を提示する。本方法は、CAD3Dモデルの体積型B-Repを提供するステップを備える。本方法は、体積型B-Repにおける一つまたは複数のリボンを検出するステップをさらに備える。各リボンは、体積型B-Repにおける一つまたは複数の接続面を含み、展開されると、長方形に位相同型である。本方法は、一つまたは複数の検出済みリボンの各々に関連付けられる一つまたは複数の幾何学的基準に基づいて、一つまたは複数の検出済みリボンをランク付けするステップと、ランク付けされた一つまたは複数の検出済みリボンの各々を順次選択するステップとをさらに備える。この選択は、ランク付けするステップに続いて実行される。本方法は、選択されたリボンの各々に関して、選択されたリボンの幾何学的基準に関連付けられた分割方法を使用して、CAD3Dモデルの体積型B-Repを分割するステップをさらに備える。本方法は、取得済み分割部分の各々に関して、その分割部分が掃引可能な体積を表すかどうかを判定するステップをさらに備える。
【0013】
これは、例えば、CADモデルを自動的に分割し、および/または、そのように取得された分割部分に基づいてCADモデルをモザイク化する(すなわち、三角形に分割する)ために、機械部品に関するCAD3Dモデルを処理するための改善されたソリューションを構成する。自動分割は、再現性が高く、時間もかからず、特に複雑な機械部品でより適切な分割を提供するため、自動分割は、手動分割と比較して技術的な適用では有利なソリューションである。実際、本方法は、一つまたは複数のリボンを検出して、それらをランク付けすることにより、CAD3Dモデルの提供済み体積型B-Rep表現のために(自動)分割を提供する。「分割」とは、提供済み体積型B-Repを二つ以上の副体積(sub-volume)に分割することを意味する。
【0014】
本方法は、ランク付けにしたがって選択されたリボンの幾何学的基準に関連付けられた分割方法を使用して、体積型B-Repを分割する。このような分割方法は、任意の既知な方法にしたがって実行され得る。分割方法の例については、後述する。そのため、本方法は、CAD3DモデルのB-Repにおける特にランク付けされたリボンに対して、CAD3Dモデルを分割(split)(すなわち、分割(partition))するために、文献において既存のソリューションを採用することを可能にする。
【0015】
特に、本方法は、CADモデルの体積型B-Repを分割することにより、CADモデルの分割を改善する。B-Rep表現は、比較的高いレベルの細部を提供しつつ、比較的高い情報のコンパクトさを提供する。また、B-Rep形式は、非構造化表現などの他のタイプと比較して、最も関連性の高い情報、すなわち立体の境界を提供する。B-Repは、工業デザインのソフトウェアソリューションで標準化されている。
【0016】
例において、機械部品に関するCADモデルの分割は、例えば、メッシュタイプ(例えば、六角形)などの、一つまたは複数のモザイク化(tessellation)基準に基づいてモデルをモザイク化する(すなわち、三角形に分割する)前に、3DCADモデルを処理する際に実行され得る。そのような例では、本方法は、そのようなモザイク化基準を保証し、取得済み分割部分の各々が掃引可能な体積を表すかどうかを検証し得る。「掃引可能な体積」とは、体積が掃引として、すなわち経路に沿って面を移動することによって、表現され得ることを意味する。このような体積には、ソース側と呼ばれる面のセット、ターゲット側と呼ばれる面のセットが含まれ、これら二つのセットの間には掃引経路を表す別の面のセットがある。そのような領域の例は、ソース側210、ターゲット側220、および掃引経路230を表す
図2Aおよび2Bに提示される。さらに、
図2Aは、ソース側210から掃引経路230に沿った各要素層およびターゲット側220に複製されたノード240を表示する。このような体積は、機械部品に関するCADモデルに有用である。掃引可能な体積で構成された機械部品に関する3DCADモデルにおける例は、
図3および4に提示される。掃引可能な体積の取得は、掃引メッシュ法(sweep mesh method)を取得済み分割部分の各々に適用することを可能にすることにより、3D設計の分野で知られるように好都合となる。
【0017】
CAD3Dモデルを掃引可能な体積に分割することは、物理シミュレーション、すなわち設計プロセスおよび製造プロセスを支援するソフトウェアソリューションなどに基づく、物理シミュレーションおよび製造CADの分野に特に関連しており、これにより、その目的は、設計されたCAD3Dモデルに対応する物理的な製品を作成することである。これに関連して、CAD3Dモデルは製造製品を表し、これは、その設計に対する下流で製造され得る。そのため、本方法は、シミュレーション、設計、および/または製造などのプロセスの一部となり得る。本方法は、例えば、設計および/または製造などのプロセス内でCADモデルをテストするステップを形成するか、またはその一部であり得て、CADモデル設計をテストするステップは、(例えば、CADモデル、または取得済み分割部分の各々におけるモザイク化を行うことによる)(物理ベースの)シミュレーションのためにCADモデルを準備するステップと、CADモデルによって表現される機械部品が(例えば、所定の閾値を超える降伏応力を有する)そのようなシミュレーションの結果に基づいて一つまたは複数の物理的基準を満たすかどうかを検証するステップとを含む。例えば、本方法は、CAD3Dモデルを二つ以上のより小さい、および/またはより複雑でない分割部分に分割し、それによってCADモデルのモザイク化を促進し、および/またはモザイク化のプロセスから得られるメッシュの品質を改善し得る。メッシュの品質におけるこのような改善は、二元的に改善されたソリューションを構成しており、一つ目は、対応する機械部品における物理シミュレーションおよび物理的基準検証に関する品質を改善することであり、二つ目は、そのようなシミュレーション結果を取得する時間効率を改善することである。物理シミュレーションの分野で知られているように、モザイク化の品質を向上させると、計算効率が向上し、それによってモザイク化に基づくシミュレーションの結果で所定の精度を達成するための計算の消費時間が改善される。特に、分割方法の結果である掃引可能な体積は、六面体メッシュ生成のために、すなわち変形した体積で構成される六面体メッシュにモザイク化されるために、理想的な候補となる。六面体メッシュは、四面体メッシュと比較して所定の精度のために含まれる要素数が少ないため、このようなメッシュを使用すると、シミュレーション速度が大幅に向上する。さらに、六面体メッシュにおける物理シミュレーションは、より現実的である。というのは、それらは、より高次元の変動をより適切に捉え、四面体で発生するロック現象を回避し、精度をさらに向上させる幾何学的境界の特徴、および/または物理的特性(フロー方向、衝撃波、熱勾配等)に沿って六面体要素からなる六面体層を整列させ得るためである。そのため、製造CADプロセスは、理想的な機械部品に設計段階中により迅速に収束する、すなわち実際または仮想のプロトタイプと試行錯誤との必要がより少なく済む。
【0018】
代替的または追加的に、本方法は、例えば、そのような設計および/または製造プロセス内でCAD機能を取得するステップを形成し得るか、またはその一部であり得て、CAD機能を取得するステップは、二つ以上のより小さい、および/またはそれほど複雑でない分割部分を取得し、それから取得済み分割部分の各々に対してCAD機能を取得するステップを実行するために、CADモデルを分割するステップを含む。CAD機能を取得するステップは、幾何学的形状(geometry)の検出と、各CAD機能による検出済み幾何学的形状のパラメータ化(parameterization)を含み得る。例えば、CAD機能を取得するステップは、機能ツリー構築(feature-tree construction)のステップであり得る。このステップ内において、本方法は、押出面(extrusion surface)を検出し、一方、例えば、他の方法は他の幾何学的形状を検出し得る。次に、本方法は、検出された押出面をパラメータ化するステップをさらに備える。実際、本方法のように各押出面を検出するステップは、上述の押出面を表すCAD3Dモデルにおける各表層部分のパラメータ化を可能にする。このパラメータ化は、CADモデルの操作/編集を容易にする。
【0019】
本方法を含むCADモデルをテストするステップとCAD機能を取得するステップとの何れかの後に、例えば、本方法によるモザイク化、および/またはパラメータ化かつ検出済み幾何学的形状/CAD機能を使用する設計、および/または製造のステップが続き得る。これらの後続するステップは、さらなる設計および/または編集アクション、テスト、シミュレーション、および/または製造を含み得る。換言すると、本方法は、製造プロセスの後続ステップ(例えば、さらなる設計/編集アクション、テスト、シミュレーション、および/または製造)で使用するために、CADモデルが適合したステップにおける製造CADプロセスに含まれ得る。本方法は、本方法によって取得済み分割部分を使用する他の多くのアプリケーションに含まれ得る。
【0020】
本方法は、コンピュータに実装される。これは、本方法のステップ(または実質的にすべてのステップ)が、少なくとも一つのコンピュータまたは同様な任意のシステムによって実行されることを意味する。そのため、本方法のステップは、コンピュータによって、可能な限り全自動または半自動で実行される。例において、本方法のステップの少なくとも幾つかのトリガーは、ユーザーおよびコンピュータの相互作用を通して実行される。必要とされるユーザーおよびコンピュータの相互作用のレベルは、予測される自動化のレベルに依存し得て、ユーザーの要望を実現する必要性とバランスを取り得る。例において、このレベルは、ユーザー定義され得て、および/または事前定義され得る。例えば、機械部品に関するCAD3Dモデルの体積型B-Repを提供するステップは、ユーザーのアクションによって誘発され得る。例えば、このアクションには、ユーザーによるCAD3Dモデルのインポート、ロード、または作成が含まれ得る。
【0021】
方法に関するコンピュータ実装の典型的な例は、この目的に適合したシステムでその方法を実行することである。システムは、メモリおよびグラフィカルユーザーインターフェース(GUI)に結合されたプロセッサを備え得て、そのメモリは、本方法を実行するための命令を含むコンピュータプログラムを記録している。また、メモリは、データベースを格納し得る。メモリは、そのような格納に適合した任意のハードウェアであり、場合により幾つかの物理的に異なる部分(例えば、プログラム用に一つ、場合によりデータベース用に一つ)で構成される。
【0022】
本方法は、通常、CAD3Dモデルなどのモデル化オブジェクトを操作する。モデル化オブジェクトは、例えば、データベースなどに保存されたデータによって定義される任意のオブジェクトである。さらに言うと、「モデル化オブジェクト」という表現は、データ自体を指す。システムのタイプに応じて、モデル化オブジェクトは、様々な種類のデータによって定義され得る。実際、システムは、CADシステム、CAEシステム、CAMシステム、PDMシステム、および/またはPLMシステムの任意の組み合わせであり得る。これらの様々なシステムにおいて、モデル化オブジェクトは、対応するデータによって定義される。その結果、CADオブジェクト、PLMオブジェクト、PDMオブジェクト、CAEオブジェクト、CAMオブジェクト、CADデータ、PLMデータ、PDMデータ、CAMデータ、CAEデータについて言及し得るものもある。ただし、モデル化オブジェクトは、これらのシステムの任意の組み合わせに対応するデータによって定義され得るため、これらのシステムは、その他のシステムに排他的なものでない。そのため、システムは、以下に提供されるそのようなシステムの定義から明らかになるように、CADシステムおよびPLMシステムの両方である可能性もある。
【0023】
CADシステムとは、モデル化オブジェクトのグラフィカル表現に基づいて、モデル化オブジェクトを少なくとも設計することに適合した、CATIAなどの任意のシステムをさらに意味する。この場合、モデル化オブジェクトを定義するデータは、モデル化オブジェクトの表現を可能にするデータを含む。CADシステムは、例えば、辺または線を使用して、場合によっては面または曲面を使用して、CADモデル化オブジェクトの表現を提供し得る。線、辺、または曲面は、様々な方法、例えば、非一様有理Bスプライン(NURBS)で表し得る。具体的には、CADファイルは仕様を含み、そこから幾何学的形状が生成されるので、これは順番に表現を生成することを可能にする。モデル化オブジェクトの仕様は、単一のCADファイルまたは複数のCADファイルに保存し得る。CADシステムでモデル化オブジェクトを表すファイルの一般的なサイズは、部品当たり1メガバイトの範囲となる。また、モデル化オブジェクトは、通常、何千もの部品の集合体であり得る。
【0024】
CADに関連して、モデル化オブジェクトは、通常、例えば、部品、もしくは部品の集合体、または場合によって製品の集合体などの製品を表す、3Dモデル化オブジェクトまたは3D(CAD)モデルであり得る。「3Dモデル化オブジェクト」または「3Dモデル」とは、その3D表現を可能にするデータによってモデル化された任意のオブジェクトを意味する。3D表現は、あらゆる角度から部品の表示を可能にする。例えば、3Dモデル化オブジェクトは、3D表現されると、その軸の何れかを、または表現が表示される画面内における任意の軸を中心に処理または回転させ得る。特に、これは、3Dモデル化されない2Dアイコンを除外している。3D表現の表示により、設計が容易になる(すなわち、設計者が統計的に自身の作業を達成する速度が向上する)。製品の設計は製造プロセスの一部であるため、これにより業界における製造プロセスの速度が上昇する。
【0025】
3Dモデル化オブジェクト、または3Dモデルは、例えば、(例えば、機械的)部品、または部品の集合体(または、部品の集合体が本方法の観点から部品自体と見做され得て、または本方法が集合体の各部品に個別に適用され得るため、部品の集合体に同等として)、またはより一般的には、任意の剛体の集合体(例えば、可動機構)などの、CADソフトウェアソリューション、またはCADシステムを使用してその仮想設計が完了した後に、実世界で製造される製品の幾何学的形状を表し得る。CADソフトウェアソリューションは、航空宇宙、建築、建設、消費材、ハイテクデバイス、産業機器、輸送、海洋、および/またはオフショア石油/ガス生産あるいは輸送を含む、様々かつ際限のない産業分野で製品の設計を可能にする。そのため、3Dモデル化オブジェクトは、地上車両の一部(例えば、乗用車および軽トラックの機器、レーシングカー、オートバイ、トラックおよびモーターの機器、トラックおよびバス、列車を含む)、航空機の一部(例えば、航空機体機器、航空宇宙機器、推進機器、防衛製品、航空機器、宇宙機器を含む)、海軍車両の一部(例えば、海軍設備、商船、オフショア設備、ヨットおよびワークボート、海洋設備を含む)、一般的な機械部品(産業用製造機械、大型移動機械または機器、組込機器、産業機器製品、加工金属製品、タイヤ製造製品を含む)、電子機械部品または電子部品(家電製品、セキュリティおよび/または制御および/または計装の製品、コンピューティングおよび通信機器、半導体、医療装置および機器を含む)、消費材(例えば、家具、家庭用品および園芸用品、レジャー用品、ファッション製品、ハードグッズ小売業者の製品、ソフトグッズ小売業者の製品を含む)、包装(例えば、食品、飲料、およびタバコ、美容医療および個人医療、家庭用品の包装)などの、任意の機械部品であり得る工業製品を表し得る。
【0026】
CADシステムは、履歴ベースであり得る。この場合、モデル化オブジェクトは、幾何学的特徴の履歴を含むデータによってさらに定義される。実際、モデル化オブジェクトは、標準的なモデリング機能(例えば、押出、回転、切断、および/または丸み付け)、および/または標準的な曲面機能(例えば、掃引、ブレンド、ロフト、塗潰し、変形、および/または平滑化)を使用して、物理的な人(例えば、設計者/ユーザー)によって設計され得る。このようなモデリング機能をサポートする多くのCADシステムは、履歴ベースのシステムである。これは、設計機能の作成履歴が、通常、入力リンクおよび出力リンクを介して上述の幾何学的特徴をともに対応付ける非循環のデータフローによって保存されることを意味する。履歴ベースのモデリングパラダイムは、1980年代の始めからよく知られている。モデル化オブジェクトは、履歴およびB-rep(すなわち、境界表現)という二つの永続的なデータ表現によって記述される。B-repは、履歴で定義される計算の結果である。モデル化オブジェクトが表現される際に、コンピュータの画面に表示される部品の形状は、B-rep(例えば、B-repのモザイク)である。部品の履歴は、設計の意図である。基本的に、履歴は、モデル化オブジェクトが受けた操作に関する情報を収集する。B-repは、複雑な部品をより簡単に表示させるように、履歴とともに保存され得る。履歴は、設計意図にしたがって部品の設計変更を可能にするために、B-repと共に保存され得る。
【0027】
PLMシステムとは、物理的に製造された製品(または製造される製品)を表すモデル化オブジェクトの管理に適合した任意のシステムをさらに意味する。そのため、PLMシステムでは、モデル化オブジェクトは、物理オブジェクトの製造に適したデータによって定義される。これらは、通常、寸法値および/または公差値であり得る。オブジェクトを正しく製造するためには、実際、そのような値を有する方がより優れている。例えば、PLMシステムは、CADモデルに提供された押出機能に関する機械加工または成形において、製造公差を管理し得る。
【0028】
CAMシステムとは、製品の製造データを管理するために適合した、ハードウェアのソフトウェアである任意のソリューションをさらに意味する。製造データは、通常、製造する製品、製造プロセス、および必要なリソースに関連するデータを含む。CAMソリューションは、製品の製造プロセス全体を計画して最適化するために使用される。例えば、実現可能性、製造プロセスの期間、または製造プロセスにおける特定のステップで使用され得る特定のロボットなどの、リソースの個数に関する情報をCAMユーザーに提供することができ、これによって管理または必要とされる投資に関する決定が可能になる。CAMは、CADプロセスおよび潜在的なCAEプロセスの後に続くプロセスである。例えば、CAMソリューションは、機械加工のパラメータに関する情報、またはCADモデルにおいて提供される押出機能に緊密に結び付いた成形のパラメータを提供し得る。このようなCAMソリューションは、商標DELMIAの下でダッソー・システムズによって提供されている。
【0029】
CAEシステムとは、モデル化オブジェクトの物理的挙動の分析に適合した、ハードウェアのソフトウェアである任意のソリューションをさらに意味する。よく知られて広く使用されるCAE手法は、通常、方程式を介して演算してシミュレーションすることができる要素群にモデル化オブジェクトを分割することを含む、有限要素法(FEM)である。このようなCAEソリューションは、商標SIMULIAの下でダッソー・システムズによって提供されている。別の成長中のCAE手法は、CADの幾何学的データを使用せずに、物理学における様々な分野からの複数の構成要素から構成される複雑なシステムのモデリングおよび分析を伴う。CAEソリューションにより、製造する製品に関してシミュレーションが可能になり、これによる最適化、改善、および検証が可能になる。このようなCAEソリューションは、商標DYMOLAの下でダッソー・システムズによって提供されている。
【0030】
PDMは、製品データ管理を表す。PDMソリューションとは、特定の製品に関連するあらゆるタイプのデータを管理するために適合した、ハードウェアのソフトウェアであるソリューションを意味する。PDMソリューションは、製品のライフサイクルに関与する全ての関係者によって使用され得る。すなわち、主にエンジニアであるが、プロジェクトマネージャー、財務担当者、営業担当者、購買担当者も含まれる。PDMソリューションは、通常、製品指向のデータベースに基づいている。これにより、関係者が自身の製品に関する一貫したデータを共有することを可能になるため、関係者が異なるデータを使用することを防いでいる。このようなPDMソリューションは、商標ENOVIAの下でダッソー・システムズによって提供されている。
【0031】
上述した通り、機械部品に関するCAD3Dモデルを分割するための方法は、CAD3Dモデルの体積型B-Repを提供するステップ(S10)を備える。体積型B-Repのモデルは、トポロジー的エンティティおよび幾何学的エンティティを含む。トポロジー的エンティティは、面(face)、辺(edge)および頂点(vertex)であり、幾何学的エンティティは、3Dオブジェクト、すなわち曲面(surface)、平面(plane)、曲線(curve)、線(line)、および点(point)である。定義上、面は、サポート面と呼ばれる曲面の境界部分である。辺は、サポート曲線と呼ばれる曲線の境界部分である。さらに、定義上、頂点は、3D空間における点である。曲線の境界部分は、上述の曲線上にある二つの点(すなわち、頂点)によって定義される。曲面の境界部分は、上述の部分の境界によって定義される。上述の境界は、曲面上にある頂点のセットである。面の境界における辺は、頂点を共有することによって共に接続される。面は、辺を共有することによって共に接続される。定義上、二面が辺を共有する場合、これらの面は隣接する。同様に、二辺が頂点を共有する場合、これらの辺は隣接する。CAD3Dモデルの体積型B-Repモデルは、適切なデータ構造において、トポロジー関係、トポロジー的エンティティおよびサポート形状の間の関係、およびサポート形状に関する数学的記述「によって境界付けられる」ことを備える。トポロジー関係「によって境界付けられる」とは、トポロジー的エンティティの各々が他のトポロジー的エンティティによって境界付けられることを定義する関係を意味する。CAD3Dモデルの体積型B-Repを提供するステップは、ユーザーによって体積型B-Repを入力するステップ、またはメモリ(例えば、RAMまたは永続メモリ)から体積型B-Repを検索するステップを含み得る。
【0032】
説明のために、B-Repモデルは、
図19を参照してさらに議論される。
図19Aおよび19Bは、三面、すなわち頂部平面および二つの側部円筒面からなる円柱形スロットのB-Repモデルを例証する。
図19Aは、目に見える面、辺、および頂点に番号が付けられているスロットの斜視図である。
図19Bは、スロットにおける全ての面の分解図を提示する。重複する番号は、辺および頂点の共有を示す。面1は、平面の境界部分である。このB-Repモデルでは、面1の境界には、辺4および5が含まれており、それらの各々が頂点10および11によって囲まれている。これらの辺の両方は、同じサポート円を有する。面2は、辺6、8、5および13によって境界付けられており、これらの全てが無限円筒面上にある。面1および2が辺5を共有するため、これらの面は隣接しており、面2および3が辺8および13を共有するため、これらの面は隣接しており、面1および3が辺4を共有するため、これらの面は隣接している。
図19Cは、B-Repモデルのトポロジー関係「によって境界付けられる」ことを例証する。上位層のノードは面であり、中間層のノードは辺であり、下位層のノードは頂点である。
図19Dないし19Cは、トポロジー的エンティティ(面、辺、頂点)とサポート形状(無限円筒、無限平面、無限線、点)との間の関係を例証する。CADシステムでは、B-Repモデルは、適切なデータ構造において、「によって境界付けられる」関係、トポロジー的エンティティとサポート形状との間の関係、およびサポート形状の数学的記述を収集する。
【0033】
本方法は、体積型B-Repにおける一つまたは複数のリボンを検出するステップ(S20)をさらに備える。各リボンは、体積型B-Repにおける一つまたは複数の接続面を含み、展開されると、長方形に位相同型である。リボンにおける一つまたは複数の接続面の各々は、一つまたは複数の辺によってリボンにおける別の面に接続され得る。接続面とは、隣接する面を意味する。換言すると、リボンにおける二つの接続面の各々は、一つまたは複数の辺を共有し得る。「展開されている」リボンとは、リボンが平面上で実質的に平らになっている場合を意味する。換言すると、展開されたリボンにおける一つ以上の接続面のうちの任意の二面の間における角度は、実質的に180度であり得る。「実質的」とは、展開されたリボンにおける一つ以上の接続面のうちの任意の二面の間における角度が、180度から小さな閾値までしか異なり得ないことを意味する。例において、閾値の値は、1度以下または0.5度以下であり得る。「長方形に位相同型」であるとは、トポロジーの分野で知られているように、展開されたリボンの領域、すなわち展開された各平面上で境界付けられた領域と、長方形との間に位相同型が存在することを意味する。展開された各平面上で境界付けられた領域は、リボンにおける一つまたは複数の接続面における一つまたは複数の辺、またはリボンにおける一つあるいは複数の接続面における一つあるいは複数の辺に関する展開で構成される境界によって囲まれ得る。
【0034】
例において、体積型B-Repにおける一つまたは複数のリボンを検出するステップは、以下の手順にしたがって実行され得る。
【0035】
(1)検出済みの滑らかな曲面の各々が、体積型B-Repの接続面からなるグループと、滑らかな接合を有するグルーブにおける接続面の各ペアとを含むように、一つまたは複数の滑らかな曲面を検出するステップ。換言すると、一つまたは複数のリボンの検出は、B-Repの面(例えば、全ての面)を、接続(すなわち、隣接)面に対する各面の接合部の滑らかさに応じて、一つまたは複数のグループにグルーブ化することを含み得る。グループの任意ペアの間で滑らかな接合を共有する面からなるグループは、等価的に滑らかな曲面と呼ばれ得る。「滑らかな接合」とは、接合における二面の間で定義される角度が滑らかな範囲にあることを意味する。一例では、滑らかな範囲は、150度以上かつ210度以下である角度を含み得る。すなわち、検出済みの一つまたは複数の滑らかな曲面の各々に関して、二つの接続面の各々の間における角度が、150度以上かつ210度以下であり得る。滑らかな曲面の例は、滑らかな曲面610が四つの接続面611、612、613および614を含む滑らかな曲面である、
図6Aに例証される。滑らか曲面610における二つの隣接面の各々の間における角度は、150度および210度の間である。
【0036】
(2)検出済みの一つまたは複数の滑らかな曲面から一つまたは複数の正方形の滑らかな曲面を選択するステップ。長方形の滑らかな曲面の各々は、展開されると、長方形に位相同型である。別の言い方をすると、正方形の滑らかな曲面の各々は、展開すると、領域の境界として二つまたは四つの超越辺(super edge)を有する領域を表す、滑らかな曲面である。「超越辺」とは、二辺の各々が滑らかな接合(すなわち、滑らかな接触)によって接続される、開いたワイヤーを意味する。超越辺には、n個の辺(1≦n)が含まれ、各辺の端がその次の辺の端に接続される、辺の集合で構成される。超越辺は閉鎖的であり得て、例えば、円柱の基部の各端部(例えば、
図19Aに描写されるように、二つの半円からなる)における閉じた円が超越辺である。幾つかの例では、辺の集合における二つの接続辺は接続位置で正接し得て、すなわち、その二辺が180度の角度で接続されている。正方形の滑らかな曲面は、二つまたは四つの滑らかな曲面を隣接面として有する、滑らかな曲面であり得る。正方形の滑らかな曲面の例は、
図6Bに提示される。正方形の滑らかな曲面610(灰色、上部)は、一面を有する滑らかな曲面620(背面)、二面を有する滑らかな曲面630(右面)、三面を有する滑らかな曲面640(前面)、および一面を有する滑らかな曲面650(左面)から構成される、四つの隣接する滑らかな曲面を有する。検出済みの一つまたは複数の滑らかな曲面の何れもが正方形の滑らかな曲面でない例では、本方法は、CAD3Dモデルにおいて提供済み体積型B-Repの副体積になり得る、提供済み体積型B-Repを分割することがない。
【0037】
(3)検出済みの一つまたは複数の正方形の滑らかな曲面のうちの一つまたは複数の接続面のセットを選択することによって検出するステップ。検出済みリボンの各々は、一つまたは複数の選択された接続面のうちの一つの幅を有し得る。一つまたは複数の接続面のセットは、経路、すなわちリボンの経路に沿って接続され得て、リボンの幅は、(リボンの)経路に垂直であるリボンの接続面のうちの一つのサイズに対応し得る。例において、リボンは、任意選択的にリボンの経路に直交する掃引方向(または経路)を表し得る。そのような例では、リボンの幅は、掃引方向に沿ったリボンのサイズに対応する。掃引方向でリボンに隣接する面は、開始面/目標面と呼ばれる。開始面は、目標面に対する掃引方向に沿った掃引の基部プロファイルを表し得る。そのため、リボンを検出するステップは、本方法が掃引メッシュ法によるメッシュ生成操作中に掃引経路として機能し得る、CAD3Dモデルにおける領域を見付けることを可能にする。
【0038】
図7Aないし7Cは、検出済みリボンの例を示す。
図7Aは、折り畳まれた形態(上図)および展開された形態(下図)に、四つの正方形の滑らかな曲面711、712、713および714を含むリボン710を提示する。リボン710の展開は、リボン経路718に沿って実行される。さらに、リボン710は、掃引方向717に沿った開始面715から目標面716への掃引を提示する。掃引方向717は、リボン経路718と直交する。
【0039】
図7Bにおいて、リボン720は、四つの正方形の滑らかな曲面721、722、723および724(図示されない)を含む。さらに、リボン720は、掃引方向727に沿った開始面725および目標面726による掃引を提示する。
【0040】
図7Cにおいて、リボン740は、二面741および742を有する正方形の滑らかな曲面を含む。さらに、リボン740は、掃引方向745に沿った開始面743および目標面744による掃引を提示する。
【0041】
図1のフローチャートに戻って、本方法は、一つまたは複数の検出済みリボンの各々に関連付けられる一つまたは複数の幾何学的基準に基づいて、一つまたは複数の検出済みリボンをランク付けする(S30)。「一つまたは複数の幾何学的基準」とは、一つまたは複数の記述子、すなわち検出済みリボンの幾何学的形状を特徴付ける単語を意味する。
【0042】
例において、一つまたは複数の検出済みリボンの各々に関連付けられた一つまたは複数の幾何学的基準は、検出済みリボンが凹部であること、検出済みリボンが凸部であること、検出済みリボンが閉鎖的であること、および/または検出済みリボンが回転性を有することの中から選択され得る。リボンと開始面および目標面との接続(すなわち、接触)が片側で凹状であり、かつ反対側で凸状である場合、およびリボンが「イン(In)」として検出される場合、リボンは、凹部として見做される。
【0043】
以下に、接続の凸性/凹性の概念を説明する。3Dモデル化オブジェクトのB-Repが与えられる場合、Eを面(すなわち、曲面)F
1およびF
2が共有する辺とし、Xを辺E上の点とする。面F
1およびF
2の外向き法線ベクトル(outer normal vector)の各々は、N
1およびN
2で表示される。P
1およびP
2を、法線ベクトルN
1およびN
2をそれぞれ有して点Xを通る平面とする。平面P
1およびP
2は、外側3D領域と、点Xの近傍にある内側3D領域を局所的に定義する。本来、ベクトルN
1およびN
2は、外側3D領域を指す。M
1およびM
2は、面F
1およびF
2に関する点Xの各物体ベクトル(material vector)とする。本来、M
1およびM
2は、凸状3D領域を指している。定義により、M
1+M
2およびN
1+N
2が反対の方向を有する場合、すなわち
図15に例証されるように、<M
1+M
2,N
1+N
2><0である場合、辺Eは点Xで凸状になる。辺E、または等価的に面F
1およびF
2の各接続は、全ての点で凸状である場合、凸状になる。逆に、M
1+M
2およびN
1+N
2が同じ方向を有する場合、すなわち
図16に例証されるように、<M
1+M
2,N
1+N
2>>0である場合、辺E、または等価的に面F
1およびF
2の各接続は、点Xで凹状であると言われる。辺Eは、全ての点で凹状である場合、凹状になる。それ以外の場合、<N
1+N
2,N
1+N
2>=0は、辺Eが滑らかな辺またはナイフ状の辺の何れかであることを意味する。滑らかな辺は、
図17に例証されるように、M
1+M
2=0かつN
1=N
2であるようなものである。通常、それは、典型的な機械部品に関するB-Repで発生する。ナイフ状の辺は、
図18に例示されるように、N
1+N
2=0かつM
1=M
2であるようなものである。ナイフ状の辺は、完全を期すために説明されており、通常は機械部品のモデリングには使用されない。
【0044】
凹部リボンの一例は、
図8A(灰色)に凹状接続801および凸状接続802を有して提示される。リボンと開始面および目標面との接続が片側で凹状であり、かつ反対側で凸状である場合、およびリボンが「アウト(Out)」として検出される場合、リボンは凸部として見做される。凸部リボンの一例は、
図8B(灰色)に凹状接続803および凸状接続804を有して提示される。リボンが開始面および目標面以外に隣接しない場合、リボンは閉鎖的であると見做される。閉じたリボンの一例は、
図8C(灰色)に提示される。さらに、本方法は、検出済みリボンが大きな影響を与えるかどうかを確認し得る。B-Repとこのリボンの外挿との交差部分と、リボンとの間の距離が、リボンのサイズよりも大きい場合、リボンは大きな影響を与えると見做される。「リボンのサイズ」とは、デカルト座標系においてリボンの面のセットに関する境界ボックスの最大対角線の長さを意味する。大きな影響を与えるリボンの一例は、
図8D(灰色)に距離805を有して提示される。「リボンの外挿」とは、リボンの掃引方向(すなわち、
図7を参照して説明された通り、掃引方向745)に沿ったリボンの延長を意味する。リボンが同じ軸を有する回転面に置かれている場合、リボンは回転体として見做される。回転リボンの一例は、
図8E(灰色)に軸806および半径807を有して提示される。リボンが穴(hole)または瘤(bump)の一部である場合、リボンはインまたはアウトであるとそれぞれ見做される。具体的には、リボンの各面に関して、面の重心が物体(すなわち、物体が占める体積)の内側にある場合、リボンはインとして検出され、リボンの各面に関して、面の重心が物体の外側にある場合、リボンはアウトとして検出される。
図8Fにおいて、(中心809および810を有する)面の重心は808であり、物体の方向は811である。ドット付きの矢印は、面の中心から面の重心までの方向を表す。構成812の場合、リボンはインとして検出されるが、構成813の場合、リボンはアウトとして検出される。本方法は、凸部基準および凹部基準を区別するためだけに、インまたはアウトとしてリボンを検出し得る。
【0045】
例において、一つまたは複数の幾何学的基準に基づいて一つまたは複数の検出済みリボンをランク付けするステップは、次のランク付け順序で検出済みリボンをランク付けするステップを含む。a)検出済みリボンが、閉鎖的であり、かつ、凸部であること、b)検出済みリボンが、閉鎖的であり、かつ、凹部(すなわち、穴)であること、c)検出済みリボンが凸部であること、d)検出済みリボンが凹部であること、およびe)検出済みリボンが回転体であること。例において、本方法は、上述された幾何学的基準のうちの一つまたは複数を確認し得て、例えば、本方法は、a)からe)までの最初に満たされた条件に基づいて一つまたは複数の検出済みリボンをランク付けし得る。例において、本方法は、例えば、永続メモリに保存される構成ファイルにしたがって、上述されたランク付け順序を適用し得る。このような例では、本方法は、構成ファイルの各行を最初の行から最後の行まで分析して、検出済みリボンの中から対応するリボンを見付け得る。このような構成の例は、
図9Aに提示される。
【0046】
図1におけるフローチャートに戻って、本方法は、ランク付けされた一つまたは複数のリボンの各々を順次選択し(S40)、この選択は、ランク付けするステップに続いて実行される。選択されたリボンの各々に関して、本方法は、選択されたリボンの幾何学的基準に関連付けられた分割方法を使用して、CAD3Dモデルの体積型B-Repを分割し(S50)、これによって二つ以上の分割部分を取得する。分割方法は、既存のトポロジー操作を使用し得る。例において、既存のトポロジー操作は、曲面の外挿(または、曲面境界の外挿)、および/または、例えば、体積と曲面との間の交差による幾何学的形状の分割、ワイヤーによる体積の面の切断、および/または面の組み立てなどの一つまたは複数の標準的なCAD操作であり得る。
【0047】
例において、分割方法と選択されたリボンとの間の関連付けは、構成ファイルの各行がリボンの幾何学的基準に関連する分割方法を格納する、構成ファイルにしたがい得る。このような構成ファイルの例は、
図9Bに提示される。次に、本方法は、選択されたリボンの幾何学的基準にしたがって分割方法を選択し得る。
【0048】
例において、a)またはc)にしたがってランク付けされた検出済みリボンの各々に関して、分割方法を使用してCAD3Dモデルの体積型B-Repを分割するステップは、リボンの凹状隣接体を選択して、体積型B-Repを通じて凹状隣接体を外挿することにより、体積型B-Repにおける残りの部分から凸部を分離するステップを備え得る。凹状隣接体を外挿するステップは、例えば、検出済みリボンが閉じた凸部(すなわち、a)にしたがってランク付けされる)である場合に、内部の穴を除去し得る。そのような例にしたがって分割する例が、
図10Aないし10Dに提示される。
図10Aにおいて、リボン1010は、閉じた凸部であると検出される。本方法は、凹状隣接面1020を選択し得る。次に、本方法は、凹状隣接体1020を外挿することにより、分割面1030を作成し得る。次に、本方法は、体積型B-Repを二つの体積1040および1050に分割し得る。
【0049】
例において、b)にしたがってランク付けされた検出済みリボンの各々に関して、分割方法を使用してCAD3Dモデルの体積型B-Repを分割するステップは、検出済みリボンが大きな影響を与え、検出済みリボンが大きな影響を与える場合に、リボンの凹状隣接体のオフセットである分割面を作成するかどうかを判定するステップを備え得る。上述した通り、検出済みリボンが、体積型B-Repと検出済みリボンの外挿との交差部分と、リボンとの間の距離よりも小さいサイズである場合、検出済みリボンは大きな影響を与える。このような例にしたがって分割する例は、
図11Aないし11Cに提示される。
図11Aにおいては、リボン1110は、閉じた凹部であると検出され、大きな影響を与える。本方法は、凹状隣接面1020を選択して、穴を除去するためにオフセット上に分割面1030を作成し得る。次に、本方法は、体積型B-Repを二つの体積1040および1050に分割し得る。
【0050】
例において、d)にしたがってランク付けされた検出済みリボンの各々に関して、分割方法を使用してCAD3Dモデルの体積型B-Repを分割するステップは、体積型B-Repを通してリボンを外挿することにより、分割面を作成するステップを備え得る。このような例にしたがって分割する例は、
図12Aないし12Cに提示されている。
図12Aにおいて、リボン1210は、凹部であると見做される。本方法は、体積型B-Repを通してリボン1210を外挿1220することにより、分割面1230を作成し得る。次に、本方法は、体積型B-Repを二つの体積1040および1050に分割し得る。
【0051】
例において、e)にしたがってランク付けされた検出済みリボンの各々に関して、分割方法を使用してCAD3Dモデルの体積型B-Repを分割するステップは、リボンによって囲まれた体積を、その一つが円柱である三つの体積に分割するステップを備え得る。このような例にしたがって分割する例は、
図13Aないし13Cに提示される。
図13Aにおいて、リボン1310は、凹部であると検出される。本方法は、リボンの1320およびリボンの軸1330から分割面1340を作成し得る。次に、本方法は、体積型B-Repを三つの体積1350、1360および円柱1370に分割し得る。
【0052】
例において、分割方法を使用してCAD3Dモデルの体積型B-Repを分割するステップは、取得済み分割部分の各々に関して、一つまたは複数のトレースを計算するステップをさらに備え得て、トレースは、取得済み分割部分の面上に存在する一つまたは複数の辺のセットであり、一つまたは複数の辺の各々は、分割の結果として作成される。「分割の結果として作成される」とは、トレースの作成が隣接する体積の分割の結果であることを意味する。トレースの例は、
図14に提示されており、体積型B-Repは、四つの体積1400、1410、1420および1430に分割され、トレース1450はこのような分割の結果である。
【0053】
図1に戻って、取得済みの各分割部分に関して、本方法は、分割部分が掃引可能な体積を表すかどうかを判定する(S60)。例において、分割部分が掃引可能な体積であるかどうかを判定するステップは、取得済みの各分割部分に関して、開始面および目標面を決定するステップを含む。上述した通り、開始面および目標面の各々は、ランク付けされたリボンに隣接する。この判定するステップは、ランク付けされたリボン上の掃引経路を決定するステップ、掃引経路に沿った開始面から目標面への掃引が存在することを決定するステップ、これによって分割部分が掃引可能な体積を表すことを判定するステップをさらに含む。掃引経路は、リボンの経路(すなわち、リボンにおける一つまたは複数の面を接続する方向)に対して垂直な方向であり得る。
図7Aを参照すると、掃引経路717の一例は、リボン経路718に対して垂直である。
【0054】
例において、本方法は、選択されたリボンの各々に関して、二つ以上の分割部分を取得するステップの後に、分割の結果として作成された二つの辺の各々の間の角度が品質角度以上であることを検証するステップをさらに備える。本方法は、品質角度未満を有する辺が作成されていないことを検証することにより、品質チェックのような位置付けのステップを実行し得る。品質角度は、0.5度から5.0度までの範囲の角度であり得る。品質角度は、分割後に体積をモザイク化するために使用され得るメッシュ生成ソフトウェアの性能にしたがって設定され得る。
【0055】
例において、本方法は、再帰的な方法で実行し得る。そのような例では、分割部分が掃引可能な体積を表していないことを、本方法が決定する場合、本方法は、その分割部分の体積型B-Repにおけるリボン検出に関する開示された方法を呼び出し得る。取得済みの全ての分割部分の体積が掃引可能になると、本方法は停止し得る。
【0056】
図20は、システムのGUIの一例を示し、このシステムは、CADシステムである。モデル2000は、本方法に提供されるCAD3Dモデルの一例である。GUI2000は、メニューバー2110および2120、ならびにボトムツールバー2140およびサイドツールバー2150を有する、典型的なCADのようなインターフェースであり得る。このようなメニューバーおよびツールバーは、ユーザーが選択可能なアイコンのセットを含み、各アイコンは、当技術分野で知られているように、一つまたは複数の操作または機能に関連付けられる。これらのアイコンの幾つかはGUI2100に表示される3Dモデル化オブジェクト2000の編集および/または作業に適合したソフトウェアツールに関連付けられる。ソフトウェアツールは、ワークベンチにグループ化され得る。各ワークベンチは、ソフトウェアツールのサブセットで構成される。特に、ワークベンチの一つは、モデル化された製品2000の幾何学的特徴を編集することに適した編集ワークベンチである。装置中には、設計者は、例えば、オブジェクト2000の一部を事前に選択し、次に操作(例えば、寸法、色等を変更する)を開始するか、または適切なアイコンを選択することによって幾何学的制約を編集し得る。例えば、典型的なCAD操作は、画面に表示された3Dモデル化オブジェクトのパンチまたは折り曲げに関するモデリングである。GUIは、例えば、表示された製品2000に関連するデータ2500を表示し得る。図の例では、「機能ツリー」として表示されたデータ2500と、その3D表現2000とは、ブレーキキャリパーとディスクを含むブレーキ集合体に関連している。GUIは、例えば、オブジェクトの3D方向付けを容易にするため、編集された製品の動作のシミュレーション、または表示された製品2000の様々な属性のレンダリングを誘発するために、様々なタイプのグラフィックツール2130、2070および2080をさらに示し得る。カーソル2060は、触覚デバイスによって制御されて、ユーザーがグラフィックツールと相互作用することを可能にし得る。
【0057】
図21は、システムの一例を示しており、このシステムは、クライアントコンピュータシステム、例えば、ユーザーのワークステーションである。
【0058】
この例におけるクライアントコンピュータは、内部通信パス1000に接続された中央処理ユニット(CPU)1010と、同様にパスに接続されたランダムアクセスメモリ(RAM)1070とを備える。さらに、クライアントコンピュータには、バスに接続されたビデオランダムアクセスメモリ1100に関連付けられるグラフィク処理ユニット(GPU)1110が設けられる。ビデオRAM1100は、当技術分野ではフレームバッファとしても知られている。大容量記憶装置コントローラ1020は、ハードドライブ1030などの大容量記憶装置へのアセスを管理する。コンピュータプログラム命令およびデータを有形に具体化することに適した大容量記憶装置には、例として、EPROM、EEPROMおよびフラッシュメモリなどの半導体メモリデバイス、内部ハードディスクおよびリムーバブルディスクなどの磁気ディスク、光磁気ディスク、およびCD-ROMディスク1040を含む、あらゆる形態の不揮発性メモリが含まれる。上述の何れも、特別に設計されたASIC(特定用途向け集積回路)によって補足され得るか、または組み込まれ得る。ネットワークアダプタ1050は、ネットワーク1060へのアクセスを管理する。また、クライアントコンピュータには、カーソル制御デバイス、キーボードなどの触覚デバイス1090が含まれ得る。カーソル制御デバイスは、クライアントコンピュータで使用されて、ユーザーがディスプレイ1080上に任意の所望位置に選択的にカーソルを配置することができるようにする。さらに、カーソル制御デバイスは、ユーザーが様々なコマンドを選択して、制御信号を入力することを可能にする。カーソル制御デバイスは、制御信号をシステムに入力するための多数の信号発生装置を含む。通常、カーソル制御デバイスはマウスであり、マウスのボタンを使用して信号を生成する。代替的または追加的に、クライアントコンピュータシステムは、感知バッドおよび/または感知スクリーンを備え得る。
【0059】
コンピュータプログラムは、コンピュータによって実行可能な命令を含み得て、その命令は、上述のシステムに本方法を実行させるための手段を備える。プログラムは、システムのメモリを含む任意のデータ記憶メディアに記録可能であり得る。プログラムは、例えば、デジタル電子回路で、またはコンピュータハードウェア、ファームウェア、ソフトウェアで、またはそれらの組み合わせで実装され得る。プログラムは、装置、例えば、プログラム可能なプロセッサによる実行のために機械可読記憶装置に有形的に具現化された製品として実装され得る。方法のステップは、命令のプログラムを実行して、入力データを操作して出力を生成することによって方法の機能を実行するプログラム可能なプロセッサによって実行され得る。そのため、プロセッサは、プログラム可能であり得て、データ記憶システム、少なくとも一つの入力装置、および少なくとも一つの出力装置からデータおよび命令を受信し、それらにデータおよび命令を送信するように結合され得る。アプリケーションプログラムは、必要に応じて、高レベルの手続き型プログラミング言語またはオブジェクト指向型プログラミング言語、またはアセンブリ言語あるいはマシン語で実装され得る。いずれにせよ、言語は、コンパイル型言語またはインタープリター型言語であり得る。プログラムは、完全インストールプログラムまたは更新プログラムであり得る。システムにプログラムを適用すると、どのような場合でも、本方法を実行するための命令が得られる。
【0060】
ここで、本方法の実装について、説明する。
【0061】
そのような実装は、体積を分析し、幾つかの掃引可能ない領域に分割するために求められる。この分割操作が実行された後に、従来技術の既知なアルゴリズムが使用されて、幾つかの掃引可能な領域の各々に関する3Dの六面体メッシュを作成し得る。
【0062】
図5を参照して、実装は、反復プログラムを使用して、B-repモデルの分割を実行する。ステップ1では、実装は、リボンを検出して所定のB-repを分析し、それらを特徴付ける。ステップ2では、実装は、検出済みリボンの一つと分割方法を選択する。リボン(および関連する分割方法)の選択は、ステップ1で見付けられたリボンの基準に依存する。ステップ3では、実装は、ステップ2で見付けられた分割方法を使用してB-repモデルを分割し、それによって幾つかの副体積を取得する。ステップ4では、実装は、各副体積を確認して、それが掃引メッシュ法を使用して、六面体でメッシュ化可能(meshable)であるかどうかを検出する。次に、実装は、メッシュ化可能な全ての副体積、実装が分割に失敗した全ての副体積、およびステップ1の入力として与えられた他の体積を保存する。副体積が組み立てのために保存されている場合、実装は、反復プロセスを停止する。ステップ5では、実装は、全ての副体積を組み立てる。
【0063】
六面体メッシュ生成は、変形した立方体(すなわち、六面体)で構成される六面体メッシュを生成する。引用文献「六面体メッシュ生成:ギャップにご用心!(Hexahedral Meshing: Mind the Gap!)」(レイ(Ray)等、hal-01551603、2017年)で説明されているように、六面体メッシュは、シミュレーションの速度および精度の両方を大幅に向上させるため、それらは、変形力学(例えば、弾性および弾塑性)、流体力学、または生体力学シミュレーションのような幾つかの物理現象のシミュレーションを行うためによく使用される。この改善は、(1)六面体メッシュに含まれる要素の数が、四面体メッシュと比較して少ないこと(すなわち、単一の六面体と比較して5~6個の四面体)、(2)六面体の要素に関連付けられた三次線形関数の基底は、より高次の変化をより適切に捉えることができる三次項を有すること、(3)六面体メッシュは、四面体で発生するロック現象を回避すること、および(4)六面体要素からなる六面体層は、幾何学的境界の特徴および/または幾つかの物理的特性(フロー方向、衝撃波、熱勾配等)に沿って配置され得ることという事実に起因する。六面体メッシュは、弾性解析および弾塑性解析で曲げおよび捩りに優れた性能を発揮し、および/または荷重条件、材料の非圧縮性、接触、摩擦、および集合的条件に関係なく、妥当な接触圧力および接触剪断応力を提供することにより、生体力学シミュレーションでより良い結果をもたらすことが知られている。六面体メッシュ生成は、掃引可能な領域のために標準的なメッシュ生成ツールによって取得され得て、すなわち領域には、ソース側と呼ばれる面のセット、ターゲット側と呼ばれる面のセットが含まれ、その間に掃引経路と呼ばれる別の面のセットが設定される。このような領域の場合、メッシュ生成ツールは、面の開始セットに2D正方形メッシュを作成し、面の目標セットに同じ2D正方形メッシュを複製する。次に、メッシュ生成ツールは、開始2Dメッシュから目標2Dメッシュまで掃引を行うことにより、例えば、「オープン体積の自動六面体掃引メッシュ生成(Automatic Hexahedral Sweep Mesh Generation of Open Volumes)」(ムカジー(Mukherjee)等、第21回国際メッシュ生成円卓会議の議事録、2013年)の方法を使用することにより、3D六面体メッシュを作成し得る。
【0064】
さらに、実装は、例えば、オペレータによる手動分割と比較して時間を節約する自動分割機能を提供する。さらに、自動分割は、複雑な部品に対してより関連性の高い分割部分を取得し、再現可能性を向上させる。
【0065】
実装は、3D体積部品としてのB-rep(すなわち、3DCADモデルの体積型B-rep)に基づいており、
図5を参照して説明される。
【0066】
[ステップ1:リボンの検出]
まず、実装は、一つまたは複数のリボンを検出するために、B-repの全ての面を、それらの接合の滑らかさに応じてグループ化する。隣接する二面は、それらの間の全ての辺が所定の範囲内で最大角度を取得する場合にのみ、同じグループになる。ここで選択した範囲は、150~210度である。このようなグループは、滑らかな曲面と呼ばれる。次に、実装は、正方形の滑らかな曲面を検出する。正方形の滑らかな曲面が展開されると、その境界は四つの超越辺のみで構成される。超越辺は、滑らかな接触により二辺が接続されているオープンワイヤーである。実際には、正方形の滑らかな曲面は、隣接する二つまたは四つの滑らかな曲面を有する滑らかな曲面である。
【0067】
最後に、実装は、リボンを検出する。リボン検出の背後にある考え方は、メッシュ生成操作中に掃引経路になる可能性のある領域を見付けることである。そのため、リボンは、掃引方向によっても定義される。具体的には、リボンは、接続された正方形の滑らかな曲面のセットである。リボンは、少なくとも一つの正方形の滑らかな曲面で構成され、正方形の滑らかな曲面の幅の一つのみである。掃引方向におけるリボンの隣接面は、開始面/目標面と呼ばれる。
【0068】
[ステップ2.1:幾何学的基準の計算]
まず、各リボンに関して、実装は、リボンを特徴付ける単語である五つの基準を計算する。
・凹部の基準:リボンは、開始面/目標面との接続が片側で凹状であり、かつ、反対側で凸状である場合、および以下に定義されるように、「イン」として検出される場合、凹部として見做される。
・凸部の基準:リボンは、開始面/目標面との接続が片側で凹状であり、かつ、反対側で凸状である場合、および以下で定義されるように、「アウト」として検出される場合、凸部として見做される。
・閉鎖の基準:リボンが開始面/目標面以外に隣接しない場合、そのリボンは閉鎖的であると見做される。
・大きな影響の基準:B-repモデルとこのリボンの外挿との交差部分と、リボンとの間の距離がリボンのサイズより大きい場合、そのリボンは大きな影響を与えると見做される。
・回転の基準:リボンが同じ軸を有する回転面上に存在する場合、そのリボンは回転体として見做される。
・イン/アウト:考え方は、リボンが穴または瘤の一部であるかどうかを検出することである。具体的には、リボンにおける各面に関して、面の重心が物体の内側にあるか、または外側にあるかを、実装が確認する。
【0069】
[ステップ2.2:分割する最初のリボンの選択]
部品を切り取る(すなわち、分割する)ために、実装は、一般的なロジックにしたがう。実装は、最も局所的な切り取りを優先することにより、部品が複雑過ぎてメッシュ化できないものを最初に分離する。最も単純な部品は、円柱である。考え方は、最初に細部を切り取ることである。具体的には、実装は、(部品のサイズと比較して)小さいリボンの周囲の切り取りを行おうとする。「最も局所的」という用語の背後にある考え方は、モデルにおける残りの部分への影響をできるだけ小さくして細部を切り取ることができるようにすることである。実装は、例えば、円形の穴など、特権的な掃引方向で領域を分離する。
【0070】
このロジックは、次の性質を有するリボンの周囲にこの順序で区画を切り取るアルゴリズムを提供する。すなわち、
1.閉じた凸部:実装は、閉じた凸部の瘤を除去することから開始する。関連する切り取りは、部品における残りの部分に影響することはない。実際、瘤は、隣接する形状を変更することなく外れる。
2.閉じた凹部:次に、実装は、穴のある領域を処理する。穴は、方向を押し付ける。これらの領域は、抽出される必要があり、そうしないと、それらは隣接する切り取りによってより複雑になるリスクがある。
3.凸部:ここでは、瘤の近くにあるものを除去することが最適である。関連する切り取りは、隣接する形状をわずかに変更する。
4.凹部:最後に、最終の局所的な基準は、閉鎖的でない凹部を分離することである。これは、抽出される必要がある局所的な掃引方向を多分に押し付けるためである。
5.回転:回転リボンの場合、実装は、掃引によってメッシュ化することができる新しい体積要素を作成する、以下で説明される特定の切断方法を使用する。アルゴリズムのアプローチが包括的な体積切断であるため、アルゴリズムは、第五の基準に到達し得る。
【0071】
具体的には、アルゴリズムは、構成ファイルによって駆動される。実装は、構成ファイルの各行を、最初の行から最後の行まで分析し得る。このような構成ファイルの一例は、
図9Aに例証される。構成ファイルの各行は、基準を提示する。実装が各行の基準に対応するリボンを見付けた場合、見付けられたリボンは、アルゴリズムに適したリボンである。それ以外の場合、実装は、構成ファイルにおける次の行に進行する。次に、実装は、以下で説明されるように、見付けられたリボンの周囲で分割を実行する。
【0072】
[ステップ3:体積の分割]
実装は、リボンの基準および構成ファイルに応じて分割方法を選択する。構成ファイルの一例は、
図8Bに提示される。
【0073】
実装は、体積を分割するために、四つの方法を使用し得る。すなわち、
・オフセット法:オフセット法の考え方は、B-repモデルにおける残りの部分から穴を分離することである。それを行うために、実装は、リボンにおける凸状隣接体のオフセットである分割面を作成する。オフセットの値は、リボンサイズによって異なる。オフセット法の一例は、
図11に例証される。
・リボン外挿法:リボン外挿法の考え方は、穴の問題を処理することである。それを行うために、実装は、B-repモデルを通してリボンを外挿して、分割面を作成する。リボン外挿法の一例は、
図12に例証される。
・隣接外挿法:隣接外挿法の考え方は、B-repモデルにおける残りの部分から凸部を分離することである。それを行うために、実装は、リボンにおける凹状隣接体を選択し、それを外挿して内部の穴を除去する。隣接外挿法の一例は、
図10に例証される。
・軸方向法:軸方向法の考え方は、回転体を処理することである。実装は、このB-repモデルを特別のパターンによって分割して、掃引方向を使用してメッシュ化可能である三つの体積を取得する。隣接外挿法の一例は、
図13に例証される。
【0074】
図9Bにおける構成ファイルの例を参照すると、本方法の実装は、三つの基準、すなわち凹部、閉鎖、および大きな影響によって特徴付けられるリボンの場合には、オフセット法を使用する。さらに、実装は、凹部の基準によって特徴付けられるリボンの場合、リボン外挿法を使用する。実装は、凸部の基準によって特徴付けられるリボンの場合に隣接外挿法を使用し得て、二つの基準、すなわち回転性および閉鎖によって特徴付けられるリボンの場合に軸方向法を使用し得る。
【0075】
実装は、既存のトポロジー操作を使用して、分割を実行する。トポロジー操作は、曲面の外挿(または、曲面境界の外挿)、および/または、例えば、体積と曲面との交差部分による幾何学的形状の分割、ワイヤーによる体積における面の切断、および/または面の組み立てなどの、一つまたは複数の標準的なCAD操作であり得る。
【0076】
実装は、品質角度より小さい角度で辺が作成されていないことを確認することにより、分割のステップの後に品質チェックを実行し得る。実装は、メッシュ生成ツール機能(mesher capability)にしたがって品質角度を0.5度から5.0度までの範囲で設定し得る。幾つかの適切な実装では、品質角度は、0.5度に等しくなり得る。
【0077】
ステップの3における結果は、複数体積の3D部品である。
【0078】
[ステップ4:メッシュ化可能性(meshablility)の確認ステップ]
体積が掃引メッシュ法を使用してメッシュ化することができる場合のみ、実装は、その体積を「メッシュ化可能」と宣言し得る。このステップでは、実装は、ステップ3からの結果である副体積を分析し、全ての「メッシュ化可能な」副体積を保存する。全ての「メッシュ化不可な」副体積は、ステップ1からのアルゴリズムを使用して分割される。
【0079】
[ステップ5:組み立て]
このステップでは、実装は、全ての副体積を標準結合で一つの部品に組み立てて、内部面を保持する。
【外国語明細書】