(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023087679
(43)【公開日】2023-06-23
(54)【発明の名称】3D軸機械加工設計
(51)【国際特許分類】
G05B 19/4097 20060101AFI20230616BHJP
G06F 30/10 20200101ALI20230616BHJP
G06F 30/20 20200101ALI20230616BHJP
【FI】
G05B19/4097 B
G06F30/10 100
G06F30/20
【審査請求】未請求
【請求項の数】14
【出願形態】OL
(21)【出願番号】P 2022198449
(22)【出願日】2022-12-13
(31)【優先権主張番号】21306754.9
(32)【優先日】2021-12-13
(33)【優先権主張国・地域又は機関】EP
(71)【出願人】
【識別番号】500102435
【氏名又は名称】ダッソー システムズ
【氏名又は名称原語表記】DASSAULT SYSTEMES
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】ティボー ドミニック マリエ ベルナルト ローズ
【テーマコード(参考)】
3C269
5B146
【Fターム(参考)】
3C269AB01
3C269BB08
3C269EF69
3C269KK08
3C269MN42
3C269QB02
3C269QC01
3C269QC03
3C269QD02
5B146AA06
5B146DJ11
5B146EA01
5B146EA18
(57)【要約】 (修正有)
【課題】3D機械加工設計のために改善されたソリューションを構成する方法を開示する。
【解決手段】3D軸機械加工設計のためのコンピュータ実装方法に関し、本方法は、第一のメッシュを提供するステップを備え、第一のメッシュは、機械加工工具のヘッドを表す。さらに、第二のメッシュを提供するステップを備え、第二のメッシュは、機械加工される部品を表す。第一のメッシュは、閉じている。本方法は、第一のメッシュで区切られた体積による、第二のメッシュで表現される曲面におけるミンコフスキー差の境界を決定するステップをさらに備える。境界を決定するステップは、境界の各要素に関して、多面体サイクルにおける要素の多重度を計算することにより、多面体サイクルとして境界を計算するステップを含む。本方法は、この決定された境界に基づいて、機械加工される部品の3D軸機械加工のために機械加工工具の経路を決定するステップをさらに備える。
【選択図】
図5
【特許請求の範囲】
【請求項1】
3D軸機械加工設計のためのコンピュータ実装方法であって、
機械加工工具のヘッドを表す第一のメッシュと、機械加工される部品を表す第二のメッシュとを提供するステップであって、前記第一のメッシュは閉じている、ステップと、
前記第一のメッシュによって区切られた体積による、前記第二のメッシュによって表現される曲面におけるミンコフスキー差の境界を決定するステップであって、前記境界を決定するステップは、前記境界の各要素に関して、多面体サイクルにおける前記要素の多重度を計算することにより、前記多面体サイクルとして前記境界を計算するステップを含む、ステップと、
前記決定された境界に基づいて、前記機械加工される部品の3D軸機械加工のために前記機械加工工具の経路を決定するステップと
を備えることを特徴とする、方法。
【請求項2】
前記第一のメッシュは曲面メッシュであり、前記第二のメッシュは曲面メッシュであることを特徴とする、請求項1記載の方法。
【請求項3】
前記第一のメッシュは三角形の曲面メッシュであり、前記第二のメッシュは三角形の曲面メッシュであることを特徴とする、請求項2記載の方法。
【請求項4】
前記多面体サイクルは、前記ミンコフスキー差における要素群の和であり、前記和における前記要素は、
前記第一のメッシュの辺による、前記第二のメッシュの各辺における第一の差と、
前記第一のメッシュの面による、前記第二のメッシュの各頂点における第二の差と、
前記第一のメッシュの頂点による、前記第二のメッシュの各面における第三の差と
を含み、前記和における各要素は、その決定された多重度によって重み付けされることを特徴とする、請求項2または3の何れかに記載の方法。
【請求項5】
前記多面体サイクルとしての前記境界を計算するステップは、
各第一の差に関して、前記差の前記多重度を計算するステップと、
前記第一の差の前記計算済み多重度を伝搬することにより、前記第二の差および第三の差の前記多重度を計算するステップであって、前記伝搬は、前記多面体サイクルの前記境界がゼロであるという性質に基づいている、ステップと
を含む特徴とする、請求項4記載の方法。
【請求項6】
前記第二のメッシュが開いている場合、前記伝搬は、境界の辺を含む第一の差群からの、前記第一の差における前記計算済み多重度を伝搬するステップを含み、および/または、
前記第二のメッシュが閉じている場合、前記伝搬は、各第二の差または第三の差に関して、
前記差における第一の多重度値と、前記差における第二の多重度値とを計算するステップであって、前記第二の多重度値は、前記第一の多重度値の絶対値である、ステップと、
前記第一の多重度値および前記第二の多重度値の平均として、前記差の前記多重度を計算するステップと
を含む
ことを特徴とする、請求項5記載の方法。
【請求項7】
前記第一の多重度値および前記第二の多重度値を計算するステップは、
前記第一の多重度値に関する初期値を提供するステップと、
ゼロに等しい修正項を提供するステップと、
前記第二の差または第三の差の各々に含まれる前記面と共通する辺を有する各面に関して、
第一の差群における計算済みの多重度を使用して、前記第一の多重度値および前記第二の多重度値を、前記各面と前記第二の差または第三の差に含まれる前記頂点とを含む、相当する前記差へ伝搬するステップと、
前記相当する差に関する前記第一の多重度値と前記修正項との差異が、前記相当する差に関する前記第二の多重度値よりも大きい場合、前記修正項を更新するステップであって、前記更新するステップは、前記相当する差に関する前記第一の多重度値と前記相当する差に関する前記第二の多重度値との差異の値を前記修正項に指定するステップを含む、ステップと、
前記第一の多重度の前記初期値から前記修正項を減算するステップと
を含むことを特徴とする、請求項6記載の方法。
【請求項8】
前記方法は、前記第一の差に関する前記多重度を計算する前に、ガウス分布を使用することにより、多重度ゼロを有する前記第一の差をフィルタリングするステップを備えることを特徴とする、請求項5ないし7の何れか一つに記載の方法。
【請求項9】
前記多面体サイクルは、型
【数1】
を有しており、ここで、
【数2】
であり、さらに、
S
2は前記第二のメッシュであり、V
1は前記第一のメッシュによって区切られた前記体積であり、
πの像は、V
1によるS
2における前記ミンコフスキー差であり、
前記要素群は、前記差π(v
1,t
2)、π(t
1,v
2)およびπ(e
1,e
2)の和であり、v、eおよびtは、それぞれ前記メッシュにおける前記頂点、前記辺および前記面である
ことを特徴とする、請求項2ないし8の何れか一つに記載の方法。
【請求項10】
前記多面体サイクルは、多面体鎖
【数3】
の境界であり、ここで、χはオイラー標数であることを特徴とする、請求項9記載の方法。
【請求項11】
前記第一のメッシュは非凸状であり、前記第二のメッシュは非凸状であることを特徴とする、請求項1ないし10の何れか一つに記載の方法。
【請求項12】
請求項1ないし11の何れか一つに記載の方法を実行するための命令を備えることを特徴とする、コンピュータプログラム。
【請求項13】
請求項12記載のコンピュータプログラムをその内部に記録していることを特徴とする、コンピュータ可読データ記憶メディア。
【請求項14】
メモリに結合されたプロセッサを備えるコンピュータシステムであって、前記メモリは、請求項12記載のコンピュータプログラムをその内部に記録していることを特徴とする、コンピュータシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、コンピュータプログラムおよびシステムの分野に関連し、より具体的には、3D軸機械加工設計(3D axis machining design)に関する方法、システム、およびプログラムに関する。
【背景技術】
【0002】
多くのシステムおよびプログラムが、オブジェクトの設計、エンジニアリングおよび製造のために市場に提供されている。CADは、コンピュータ支援設計(Computer-Aided Design)の頭字語であり、例えば、それは、オブジェクトを設計するためのソフトウェアソリューションに関連する。CAEは、コンピュータ支援エンジニアリング(Computer-Aided Engineering)の頭字語であり、例えば、それは、将来の製品における物理的な動作をシミュレーションするためのソフトウェアソリューションに関連する。CAMは、コンピュータ支援製造(Computer-Aided Manufacturing)の頭字語であり、例えば、それは、製造プロセスおよび操作を定義するためのソフトウェアソリューションに関連する。このようなコンピュータ支援設計システムでは、グラフィカルユーザーインターフェースは、技術の効率に関して重要な役割を果たす。これらの技術は、製品ライフサイクル管理(PLM)システムの内部に組み込まれ得る。PLMとは、企業が製品データを共有し、共通のプロセスを適用し、企業の知識を活用して、拡張された事業の概念全体に亘って、構想から製品寿命までの製品開発のために役立つ、ビジネス戦略を指している。ダッソー・システムズによって(商標CATIA、ENOVIAおよびDELMIAの下で)提供されるPLMソリューションは、製品エンジニアリング知識を整理するエンジニアリングハブ、製造エンジニアリング知識を管理する製造ハブ、およびエンジニアリングハブおよび製造ハブの両方への事業の統合および結合を可能にする事業ハブを提供する。このシステムはすべて、製品、プロセス、リソースを対応付けるオープンオブジェクトモデルを提供することにより、動的で知識ベースの製品作成と、最適化された製品定義、製造準備、生産およびサービスを推進する意志決定支援とを可能にする。
【0003】
部品製造に関する既知のリューションは、3D軸機械加工である。
【0004】
しかしながら、3D軸機械加工設計のために改善された方法が、依然として必要とされている。
【発明の概要】
【0005】
したがって、3D軸機械加工設計のためのコンピュータ実装方法が提供される。本方法は、第一のメッシュを提供するステップを備える。第一のメッシュは、機械加工工具のヘッドを表す。本方法は、第二のメッシュを提供するステップを備える。第二のメッシュは、機械加工される部品を表す。第一のメッシュは、閉じている。本方法は、第一のメッシュによって区切られた体積による、第二のメッシュで表現される曲面におけるミンコフスキー差(Minkowski subtraction)の境界を決定するステップをさらに備える。この境界を決定するステップは、境界の各要素に関して、多面体サイクル(polyhedral cycle)における要素の多重度を計算することにより、多面体サイクルとして境界を計算するステップを含む。本方法は、この決定された境界に基づいて、機械加工される部品の3D軸機械加工のための機械加工工具の経路を決定するステップをさらに備える。
【0006】
本方法は、次のものの一つまたは複数を備え得る。すなわち、
- 第一のメッシュは曲面メッシュ(surface mesh)であり、第二のメッシュは曲面メッシュである。
- 第一のメッシュが三角形の曲面メッシュであり、第二のメッシュが三角形の曲面メッシュである。
- 多面体サイクルは、ミンコフスキー差における要素群の和であり、この和における要素群は、次のものを含む。すなわち、
〇 第一のメッシュの辺(edge)による、第二のメッシュの各辺における第一の差と、
〇 第一のメッシュの面(face)による、第二のメッシュの各頂点(vertex)における第二の差と、
〇 第一のメッシュの頂点による、第二のメッシュの各面における第三の差と、
であって、この和の各要素は、その決定された多重度によって重み付けされる。
- 多面体サイクルとしての境界を計算するステップは、次のものを含む。すなわち、
〇 各第一の差に関して、その差の多重度を計算するステップと、
〇 第一の差における計算済み多重度を伝搬することにより、第二の差および第三の差における多重度を計算するステップであって、この伝搬は、多面体サイクルの境界がゼロであるという性質に基づいている、ステップと、
- 第二のメッシュが開いている場合、この伝搬は、境界の辺群を含む第一の差群から、第一の差における計算済み多重度を伝搬するステップを含む。
- 第二のメッシュが閉じている場合、この伝番は、各第二の差または第三の差に関して、次のものを含む。すなわち、
〇 この差における第一の多重度値およびこの差における第二の多重度値を計算するステップであって、第二の多重度値が第一の多重度値の絶対値である、ステップと、
〇 第一の多重度値および第二の多重度値の平均として、この差の多重度を計算するステップ。
- 第一の多重度値および第二の多重度値を計算するステップは、次のものを含む。
〇 第一の多重度値に関する初期値を提供するステップと、
〇 ゼロに等しい修正項を提供するステップと、
〇 上記の各第二の差または第三の差に含まれる面と共通する辺を有する各面に関して、
第一の差群における計算済み多重度を使用して、上記の各面と上記の第二の差または第三の差に含まれる頂点とを含む該当する差に、第一の多重度値および第二の多重度値を伝搬するステップと、
上記の該当する差に関する第一の多重度値と修正項との差異が前上記の該当する差に関する第二の多重度値よりも大きい場合、修正項を更新するステップであって、この更新するステップは、上記の該当する差に関する第一の多重度値と上記の該当する差に関する第二の多重度値との差異の値を修正項に指定する、ステップと、
〇 第一の多重度の初期値から修正項を減算するステップ。
- 本方法は、第一の差に関する多重度を計算する前に、ガウス分布を使用することにより、多重度ゼロを有する第一の差をフィルタリングするステップを備える。
- 多面体サイクルは、型(type)
【0007】
【0008】
を有する。ここで、
【0009】
【0010】
であり、さらに、
〇 S2は第二のメッシュであり、V1は第一のメッシュによって区切れた体積であり、
〇 πの像は、V1によるS2におけるミンコフスキー差であり、
〇 要素群は、差π(v1,t2)、π(t2,v1)およびπ(e1,e2)の和であり、ここで、v、eおよびtは、それぞれメッシュ群における頂点、辺および面である。
- 多面体サイクルは、多面体鎖
【0011】
【0012】
における境界であり、ここで、χはオイラー標数(Euler characteristic)であり、および/または、
- 第一のメッシュは非凸状であり、および/または、第二のメッシュは非凸状である。
【0013】
本方法を実行するための命令を含むコンピュータプログラムが、さらに提供される。
【0014】
このコンピュータプログラムをその内部に記録しているコンピュータ可読記憶メディアが、さらに提供される。
【0015】
メモリに結合されたプロセッサを備えるコンピュータシステムであって、そのメモリは、このコンピュータプログラムをその内部に記録している、コンピュータシステムがさらに提供される。
【図面の簡単な説明】
【0016】
ここで、添付図面を参照して、非限定的な例を説明する。
【発明を実施するための形態】
【0017】
3D軸機械加工設計のためのコンピュータ実装方法が提供される。本方法は、第一のメッシュを提供するステップを備える。第一のメッシュは、機械加工工具のヘッドを表す。本方法は、第二のメッシュを提供するステップを備える。第二のメッシュは、機械加工される部品を表す。第一のメッシュは、閉じている。本方法は、第一のメッシュによって区切られた体積による、第二のメッシュで表現される曲面におけるミンコフスキー差の境界を決定するステップをさらに備える。この境界を決定するステップは、境界の各要素に関して、多面体サイクルにおける要素の多重度を計算することにより、多面体サイクルとして境界を計算するステップを含む。本方法は、この決定された境界に基づいて、機械加工される部品の3D軸機械加工のために機械加工工具の経路を決定するステップをさらに備える。
【0018】
これにより、3D軸機械加工設計のために改善されたソリューションが構成される。
【0019】
特に、本方法は、工具の切削ヘッドおよび部品のメッシュ表現におけるミンコフスキー差に基づいて、機械加工される部品の3D軸機械加工のために機械加工工具の経路を決定することを可能にする。具体的には、本方法の入力は、提供される第一のメッシュおよび第二のメッシュであり、第一のメッシュは機械加工工具の切削ヘッドを表し、第二のメッシュは機械加工される部品を表す。ここで、機械加工工具の経路を決定するステップは、部品を機械加工するために、工具をどこにどのように移動させるかを決定するステップである。そのために、工具を移動させることにより、機械加工される部品を形成するように、材料の固体ブロックを切削する必要があることは、機械加工自体から知られている。そのための工具の動きは、工具の切削ヘッドが機械加工される部品の最終形状、すなわち一度機械加工された部品の形状、すなわち部品を形成するために機械加工が一旦行われると残ることになる材料ブロックの部分に対して、接線方向に移動するようなことでなければならない。この経路を決定するために、機械加工される部品の切削ヘッドを表す、第一のメッシュによって区切られた体積による、機械加工される部品(または、その部品における少なくとも機械加工される部分)の外側表面を表す、第二のメッシュによって表現される曲面におけるミンコフスキー差が、本方法によって使用される。このミンコフスキー差は、形状が第二のメッシュに対応する機械加工ざれる部品を得るために、切削ヘッドを動かす必要がない点群のセットを表す。本方法は、このミンコフスキー差の境界を決定し、そのために、これは、切削する必要がなくて、機械加工を行うために部品の形状に対応する、材料ブロックの部分を区切る曲面に対応する。したがって、この決定された境界は、部品を形成するように、必要な材料を除去するために、切削が行われることになる曲面に対応する。次に、この決定された境界に基づいて、本方法は、機械加工される部品の3D軸機械加工のために機械加工工具の経路を決定する。本方法は、この決定された境界から直接的に経路を取得し得るか、または別の例では、この決定された境界の後処理を実行した後に経路を取得し得る。
【0020】
本方法が決定する3D軸機械加工のための機械加工工具の経路は、機械加工される部品の3D軸機械加工プロセスに使用可能である。3D軸機械加工プロセスは、この決定された経路に基づいて部品を直接的に機械加工し得る。例えば、本方法は、例として、CADファイルとして、またはCADファイル内において、この決定された経路を出力し得て、次に、機械加工プロセスは、CADファイルを機械加工工具に供給するステップ、および/または、この決定された経路にしたがって機械加工工具をプログラミングするステップを備える。代替として、機械加工プロセスは、機械加工の前に、まず、この決定された経路に基づいて機械加工シミュレーションを実行することにより、その決定された経路にしたがって材料の除去を確認するステップと、次に、それが確認された場合、その決定された経路にしたがって部品を機械加工するステップを備え得る。本方法は、そのような製造プロセスに含まれ得る。換言すると、機械加工される部品の3D軸機械加工のために3D軸機械加工プロセスが提供され、このプロセスは次のものを備える。すなわち、
- 材料ブロックおよび機械加工工具を、例えば、本方法を実行するCADシステムに提供するステップであって、材料ブロックおよび機械加工工具の仕様(例えば、幾何学的形状、寸法、トポロジー、型、および/またはパラメータ)を提供するステップを含み得る、ステップと、
- 本方法を(例えば、CADシステムにおいて)実行し、これによって3D軸機械加工のために機械加工工具の経路を決定するステップであって、この経路は、操作される際に機械加工工具が追従することになる経路であり、これにより、本方法がその決定された経路を、例えば、CADファイルとして、またはCADファイル内に出力する、第二のメッシュで表現された機械加工される部品を形成するために、材料ブロックが切削される、ステップと、
- オプションとして、この決定された経路に基づいて(例えば、CADファイルに基づいて)3D軸機械加工シミュレーションを(例えば、PLMシステムにおいて)実行することにより、その経路を確認し、オプションとして、この決定された経路が確認されない限り、本方法およびシミュレーションを再実行するステップであって、そのシミュレーションは、材料ブロックの数値モデルを入力として受け取る、ステップと、
- オプションとして、CADファイルを3D軸機械加工工具に供給し、および/または、この決定された経路にしたがって(例えば、シミュレーションによって確認されたものとして)3D軸機械加工工具のセットアップを決定するステップと、
- この決定された経路にしたがって(例えば、シミュレーションによって確認されたものとして)材料ブロックに沿って3D軸機械加工工具を移動させることにより、機械加工される部品を3D軸機械加工するステップであって、これは、例えば、供給されたCADファイルを直接的に使用する(すなわち、機械装置がCADファイルを読み取り、この決定された経路にしたがって機械加工を自動的に実行する)ことにより、および/または、決定されたセットアップの通りに、この決定された経路にしたがって材料ブロックを切削する工具を起動するステップを含み得る、ステップ。
【0021】
さらに、本方法は、機械加工される部品の3D軸機械加工のために機械加工工具の経路を提供するだけでなく、部品または工具に関する何ら凸性仮説(convexity hypothesis)が無く、そのように実行する。例えば、第一のメッシュは非凸状(すなわち、凹状)とし得て、および/または、第二のメッシュは非凸状(すなわち、凹状)とし得る。例において、二つのメッシュは、非凸状である。本方法は、多面体サイクルとしてミンコフスキー差の境界を計算することにより、そのように行うことを処理する。特に、この計算は、多面体サイクルにおける要素群の多重度を計算する。多面体サイクルにおけるこの計算には、何ら凸性仮説が含まれていない。実際としては、機械加工される部品および機械加工工具は多くの場合に非凸状とし得ることから、何ら凸性仮説が無いことは、あらゆる産業の適用例を考慮することを可能にする。例えば、機械加工工具のヘッドは、多くの場合、非凸状とし得る。
図1および2は、非凸状の切削ヘッドを有する機械加工工具の例を示す。例えば、機械加工工具の切削ヘッドは、機械加工中に改善された材料排出を可能にするように凹状とし得る。さらに、実世界で通常は凸状である工具に関してさえも、数値的な歪み(artefact)、近似値、および/または誤差のために、工具を表すメッシュにおいて微小な凹みが生じる場合がある。その上、本方法は、第一のメッシュまたは第二のメッシュにおけるメッシュ精度に依存しないため、これは、本方法に堅牢性を与える。
【0022】
ここで、本方法について、さらに説明する。
【0023】
本方法は、3D軸機械加工設計用である。3D軸機械加工は、CADおよび製造の分野でよく知られている機械加工の方法である。3D軸機械加工設計とは、本方法によって3D軸機械加工工具の経路を出力することによって行われる製造準備および/または製造セットアップ決定の方法であることを意味する。
【0024】
本方法は、第一のメッシュおよび第二のメッシュを提供するステップを備える。第一のメッシュおよび第二のメッシュは本方法の入力となり、その一方で、決定される経路は出力となる。
【0025】
第一のメッシュは、機械加工工具のヘッド(すなわち、切削ヘッド)のメッシュ表現である。機械加工工具は、3D軸機械加工工具であり、これは、「切削ヘッド」とも呼ばれて、材料を切削するように構成されたヘッドと、(非切削の)ホルダとを備える。第一のメッシュを提供するステップは、例えば、メッシュがその作成まで保存されている(例として、遠隔の)メモリから、第一のメッシュを取得するステップを含み得る。代替として、第一のメッシュを提供するステップは、第一のメッシュを作成するステップを含み得る。第一のメッシュを作成するステップは、(例えば、工具を提供することによって)機械加工工具の切削ヘッド、および/または、それらの仕様を提供するステップと、次に、第一のメッシュを計算するステップとを含み得る。第一のメッシュを計算するステップは、提供された工具から3D再構成プロセスを実行するステップを含み得る。この3D再構成プロセスは、例えば、一つまたは複数のセンサで機械加工工具をスキャンして、任意の適切なメッシュ化の方法によって第一の点群をメッシュ化することにより、機械加工工具の切削ヘッドを表す第一の点群を取得するステップを含み得る。また、第一のメッシュは、工具のCADモデル(例えば、B-rep)から生じ得て、オプションとして、第一のメッシュを提供するステップは、CADモデルから第一のメッシュを取得するステップを含み得る。第一のメッシュは、閉じたメッシュである。第一のメッシュは、曲面メッシュであり得て、すなわち、工具のヘッドの外面に対応する曲面をメッシュ化する。それにも関わらず、第一のメッシュは、そのヘッドに対応する体積(volume)をメッシュ化する、3Dボリューム・メッシュ(すなわち、多面体モデル)の一部である場合があり、このような場合、第一のメッシュは、3Dボリューム・メッシュによってメッシュ化された体積を区切る、閉じたメッシュである。第一のメッシュは、辺、頂点、および面を有する。第一のメッシュは、三角形の曲面メッシュであってよく、すなわち、その面は三角形である。第一のメッシュは、別種類の曲面メッシュ、すなわち、全て三角形ではない面、例えば、凸多角形である面を有する曲面メッシュであってもよい。
【0026】
第二のメッシュは、機械加工される部品のメッシュ表現である。これは、第二のメッシュが部品全体または部品における少なくとも機械加工される部分を表すことを意味する。機械加工される部品は、3D軸機械加工によって製造されるための部品である。第二のメッシュは、3D軸機械加工によって一度製造された機械加工部品を表し、すなわち部品またはその部品で機械加工される部分の最終的な形状、すなわち3D軸機械加工が一旦行われた後の形状を表す。換言すると、第二のメッシュは、材料の未加工ブロックを3D軸機械加工して機械加工部品を形成することにより、材料の未加工ブロックに与えるための形状を表す。第二のメッシュを提供するステップは、例えば、メッシュがその作成までさらに保存されている(例として、遠隔の)メモリから、第二のメッシュを取得するステップを含み得る。代替として、第二のメッシュを提供するステップは、第二のメッシュを作成するステップを含み得る。これは、例えば、CADシステム上で、本方法に先行するか、または本方法が初期段階として含む、設計プロセスにおいて、機械加工される部品を設計するステップを含み得る。この設計プロセスは、第二のメッシュ、または部品に関する別のCADモデル(例えば、B-rep)をもたらし得て、オプションとして、第二のメッシュを提供するステップは、CADモデルから第二のメッシュを取得するステップを含み得る。第二のメッシュは、例えば、部品の外面の一部分を表す、開いたメッシュである場合があり、または例えば、部品の外面の全体を表す、閉じたメッシュである場合がある。第二のメッシュは、曲面メッシュであってよく、すなわち、部品またはその部品の一部分の外面に対応する曲面をメッシュ化する。第二のメッシュは、辺、頂点、および面を有する。第二のメッシュは、三角形の曲面メッシュであってよく、すなわち、その面は三角形である。第二のメッシュは、別種類の曲面メッシュ、すなわち、全てが三角形ではない面、例えば、凸多角形である面を有する、曲面メッシュであってもよい。
【0027】
さらに、第一のメッシュおよび第二のメッシュを提供するステップに加えて、本方法は、第一のメッシュによって区切られた体積による、第二のメッシュによって表現された曲面におけるミンコフスキー差の境界を決定するステップを備える。
【0028】
ミンコフスキー和およびミンコフスキー差の概念自体は、知られている。BによるAにおけるミンコフスキー差は、ミンコフスキー和A+(-B)であり、ここで、-Bは、原点に対してBの対称となる。ここで、この差では、Aが第二のメッシュであり、Bは第一のメッシュによって区切られた体積である。実際には、第一のメッシュは、閉じたメッシュであり、そのため、体積を区切り、この体積の外面を形成する。ミンコフスキー差は、数学的に次のように定義される。すなわち、
【0029】
【0030】
である。ここで、S2は第二のメッシュであり、V1は第一のメッシュによって区切られた体積であり、πの像はV1によるS2におけるミンコフスキー差である。これにより、本方法は、πの像の境界を計算する。第一のメッシュは、S1で表記され得て、体積V1を取り囲む閉じた曲面メッシュである。V1は、多面体モデルによって表現され得る。S1は、取り囲まれた体積V1の外部へ向きのあるその面(例えば、三角形)を有する二次元多様体である。S2は、境界の有無に関わらない二次元多様体である、閉じた、または開いた(すなわち、境界を有する)曲面メッシュ(多面体モデル)である。
【0031】
この境界を決定するステップは、境界の各要素に関して、多面体サイクルにおける要素の多重度を計算することにより、多面体サイクルとして境界を計算するステップを含む。多面体サイクルの概念自体は、数学の分野で知られている。多面体サイクルは、ミンコフスキー差に属する要素、すなわち、第一のメッシュの要素による第二のメッシュの各要素の差である要素を含む。このサイクルにおける各要素は、和における要素に関する向きのある寄与を表す多重度を有する。本方法は、これらの多重度を計算する。
【0032】
そのため、本方法は、多面体サイクルとしてS2-V1(ミンコフスキー差)の境界を計算する。多面体サイクルは、辺が両方の向きで全く同じ回数だけ表示されるような、向きのある三角形のセットである。計算されるサイクルは、組み合わせ水密(combinatorial watertight)である。多面体サイクルは、型
【0033】
【0034】
における向きのある面(例えば、三角形)の評価された和である。境界演算子によるサイクルの像は、サイクルの境界と呼ばれ、
【0035】
【0036】
がゼロであること(サイクルの性質)になる。面、例えば、三角形(代表として、辺)の、評価された和において、
【0037】
【0038】
であり、ここで、σは順列であり、ε(σ)はその符号数である。S
2-V
1の境界は、多面体サイクルの台(support)のサブセットである。これらの面は、三角形の面の向きを示す
図3に例証されるように配向される。境界演算子は、多面体鎖における等価構造と互換性を有する。
【0039】
多面体サイクルは、次の式によって定義し得る。すなわち、
【0040】
【0041】
である。その和は、
【0042】
【0043】
に等しくなり、ここで、要素群は、差π(v1.t2)、π(t1,v2)およびπ(e1,e2)の和であり、v、eおよびtは、複数のメッシュにおける頂点、辺、および面(例えば、メッシュが三角形のメッシュである場合、三角形の面)をそれぞれ表す。
【0044】
上記の式における多面体サイクルは、多面体鎖
【0045】
【0046】
における境界として定義され得て、ここで、χはオイラー標数である。
【0047】
【0048】
となる要素
【0049】
【0050】
に関する多重度ω(t)は、次の式によって定義され得る。すなわち、
【0051】
【0052】
である。
【0053】
多重度に関する上記の式は、理論的なものであるが、本方法によってそのように計算されることなく、本方法は、後述されるように、別の方法で多重度を計算し得る。上記の式は、V1がボリューム・メッシュによってメッシュ化される場合に成り立ち、これにより、V1×S2に対応する凸状複合体が存在する。ただし、本方法は、後述されるように、V1のボリューム・メッシュ化の選択に依存しないで、何ら凸性仮説を必要としない他の方法で、多重度を計算し得て、そのため、本方法は、V1に関する複素数(complex)の計算を回避し、V1、すなわちS1を取り囲む曲面メッシュに基づいて多重度を計算する。
【0054】
したがって、重みは、関数
【0055】
【0056】
の値の変化と和
【0057】
【0058】
とに対応しており、これは、境界
【0059】
【0060】
の同値類を表す。
【0061】
例において、多面体サイクルは、ミンコフスキー差における要素群の和であり、その和における要素群は、次のものを含む。すなわち、
- 第一のメッシュの辺による、第二のメッシュの各辺における第一の差と、
- 第一のメッシュの面による、第二のメッシュの各頂点における第二の差と、
- 第一のメッシュの頂点による、第二のメッシュの各面における第三の差と
であり、ここで、この和における各要素は、その決定された多重度によって重み付けられる。メッシュが三角形のメッシュである場合、それらの面は三角形の面となる。代替として、それらの面は、別種類の面、(すなわち、メッシュが三角形のメッシュでない場合に)例えば、凸多角形(convex polygon)によって形成される面であってもよい。本方法は、第一の差、第二の差および第三の差が縮退(degenerate)していないという仮説を使用し得る。本方法は、単純化シミュレーション(Simulation of Simplicity)の方法を適用することにより、この仮説を強化し得る。その和
【0062】
【0063】
において、項(term)π(e1
i,e2
j)は、それらの多重度ω(e1
i,e2
j)によって重み付けられた第一の差であり、項π(v1
i,t2
j)は、それらの多重度ω(v1
i,t2
j)によって重み付けられた第二の差であり、項π(t1
i,v2
j)は、それら多重度ω(t1
i,v2
j)によって重み付けられた第三の差である。
【0064】
多面体サイクルとして境界を計算するステップは、各第一の差に関して、その差の多重度を計算するステップと、次に、第一の差における計算済みの多重度を伝搬することにより(すなわち、第一の差群から第一および第二の差を順次推定することにより)、第二および第三の差における多重度を計算するステップとを含み得る。この伝搬は、多面体サイクルの境界がゼロとなるという性質に基づいている。換言すると、この伝搬は、第一の差における計算済みの多重度と、多面体サイクルの境界がゼロとなるというよく知られた性質とを使用することにより、計算済みの第一の差から第二および第三の差を推定する。
【0065】
第一の差に関する計算は、「アルゴリズム1」と呼ばれて、ここで説明される第一のアルゴリズムを実行することによって行われ得る。アルゴリズム1は、多面体サイクルを形成する、上述された和における型ω(e1
i,e2
j)の項を計算する。後述されるその他のアルゴリズム2ないし7と同様に、その面が三角形の面であるが、より一般的な面に拡張することができる場合に関して、アルゴリズム1を説明する。
【0066】
アルゴリズム1は、次のように定義される関数Sideを使用する。すなわち、
【0067】
【0068】
である。
【0069】
アルゴリズム1は、任意の第一の差π(e1
i,e2
j)の多重度ω(e1
i,e2
j)を計算する。簡単にするために、辺e1
iおよびe2
jは、e1およびe2と表記される。辺e1およびe2の向きは、アルゴリズム1では無関係である。実際には、e1の向きの変化は、多重度の符号の変化を意味する。そのため、多面体サイクルにおける重み付き三角形は、
【0070】
【0071】
と同一になり、ここで、e1
Tは、反転された辺e1である。アルゴリズム1の表記では、
【0072】
【0073】
となる。
【0074】
アルゴリズム1は、次の通りである。すなわち、
【0075】
【0076】
である。
【0077】
第二のメッシュが開いており、そのために境界を有する場合、実際には、この伝搬は、境界の辺を含む第一の差から(すなわち、境界の辺を含む第一の差から開始する、すなわち、そのような差に含まれる少なくとも一つの辺は境界の辺である)、第一の差における計算済みの多重度を伝搬するステップを含み得る。この伝搬は、多重度を伝搬するために、任意の多重度変更関数を使用するステップを含み得る。例えば、差における所与の多重度を伝搬するステップは、(例えば、所与の差と頂点を共有する)隣接する差の多重度に、所与の多重度の値と、差間の多重度の変化との和を割り当てるステップを含み得て、本方法は、そのような割り当てを繰り返し得る。そのために、本方法は、以下のアルゴリズム3と、S2およびS1の役割が入れ替わるアルゴリズム3の修正とを実行し得る。アルゴリズム3は、任意の第二の差π(v1,t2)の多重度ω(v1,t2)を計算する。アルゴリズム3は、多重度の変化を計算するために、次のアルゴリズム2を使用する。すなわち、
【0078】
【0079】
である。
【0080】
アルゴリズム3は、次の通りである。すなわち、
【0081】
【0082】
である。
【0083】
任意の第三の差π(t1,v2)における多重度ω(t1,v2)を計算するために(開かれた第二のメッシュにおける現在説明される場合に)、本方法は、アルゴリズム3と同様のアルゴリズムを使用し得るが、これは、アルゴリズム3であるが、S2およびS1の役割が入れ替わった、多重度変更アルゴリズム(アルゴリズム2)の修正版を使用する。この修正版は、次のアルゴリズム4である。すなわち、
【0084】
【0085】
である。
【0086】
代替として、第二のメッシュが閉じている場合、この伝搬は、各第二の差または第三の差に関して、次のものを含み得る。すなわち、
- その差における第一の多重度値と、その差における第二の多重度値とを計算するステップであって、第二の多重度値が第一の多重度値の絶対値である、ステップと、
- 第一の多重度値および第二の多重度値の平均として、その差の多重度を計算するステップ。
【0087】
この代替において、第一の多重度値および第二の多重度値を計算するステップは、次のものを含み得る。すなわち、
- 第一の多重度値に関する初期値を提供するステップと、
- ゼロに等しい修正項を提供するステップと、
- 上記の第二の差または第三の差に含まれる面(すなわち、上記の各第二の差または第三の差のいずれかが頂点に減算する面、または、上記の各第二の差または第三の差が頂点を減算する面)と共通する辺を有する各面に関して、
〇 第一の差群における計算済み多重度を使用して、上記の各面と、上記の第二の差または第三の差に含まれる頂点(上記の相当する差が上記の含まれる面に減算する頂点、または、上記の第二の差または第三の差が上記の含まれる面を減算する頂点)とを含む相当する差に、第一の多重度値および第二の多重度値を伝搬するステップであって、この伝搬は、上記の相当する差の多重度に、上記の第二の差または第三の差に関する多重度の値と修正項との和を割り当てるステップを含み得て、この多重度は、第一の多重度値および第二の多重度値の平均である、ステップと、
〇 上記の相当する差に関する第一の多重度値と修正項との差異(例えば、修正項による、第一の多重度値の減算)が上記の相当する差に関する第二の多重度値より大きい場合、修正項を更新するステップであって、この更新するステップは、上記の相当する差に関する第一の多重度値と上記の相当する差に関する第二の多重度値との差異(例えば、第二の多重度値による、第一の多重度値の減算)の値を修正項に指定するステップを含む、ステップと、
- 第一の多重度の初期値から修正項を減算するステップ。
【0088】
初期の多重度値を提供するステップは、初期の多重度値を計算するステップを含み得る。そのために、本方法は、次のアルゴリズム5を実行し得る。すなわち、
【0089】
【0090】
である。
【0091】
次に、第二のメッシュが閉じている、この代替では、この伝搬は、第一の多重度値および第二の多重度値の計算を計算するステップに関する、以下のアルゴリズム6および7を実行するステップを含み得る。各第二の差π(t1,v2)に関する第一の多重度値(ω2と表記される)および第二の多重度値(ω1と表記される)を計算するために、本方法は、アルゴリズム6を実行し得て、これは次の通りである。すなわち、
【0092】
【0093】
である。
【0094】
各第三の差π(t1,v2)に関する第一の多重度値(ω2と表記される)および第二の多重度値(ω1と表記される)を計算するために、本方法は、アルゴリズム7を実行し得て、これは、次の通りである。すなわち、
【0095】
【0096】
である。
【0097】
アルゴリズム7の実行後に、本方法は、-1によってω1(t1,v2)およびω2(t1,v2)を乗算するステップを備える。
【0098】
次に、アルゴリズム6および7の実行に加えて、本方法は、第二の差および第三の差に関する多重度ωを
【0099】
【0100】
として計算することにより、それらを取得し得る。
【0101】
別の実装では、本方法は、関数πがミンコフスキー差ではなくミンコフスキー和である場合、およびπ(e1,e2)に関する式が
【0102】
【0103】
である場合を考慮し得る。
【0104】
これら代替の実装では、本方法は、まず、原点を中心とする中心対称を、機械加工工具のヘッドを表す第一のメッシュS1に適用するステップを含み得て、これは、V1およびS2のミンコフスキー和の場合に帰することを可能にする。次に、これらの実装において、本方法は、多重度を計算するために、次のものを備え得る。すなわち、
- 後述されるように、オプションとしてガウス分布を使用するフィルタリングの後に、A1、B1、CおよびDがそれらの対称点によってそれぞれ変更された、すなわち-A1、-B1、-Cおよび-Dに変更された、アルゴリズム1の修正版を適用するステップと、
- S2が閉じている場合、
〇 任意の三角形を選択して、v1、v1’およびv1”がそれらの対称点によってそれぞれ変更された、すなわち-v1、-v1’および-v1”に変更された、アルゴリズム5の修正版を適用するステップと、
〇 アルゴリズム6と、アルゴリズム7の修正版との適用によって多重度を伝搬するステップであって、「辺e1が三角形t1’の向きとは反対の向きを有すること」は「辺e1が三角形t1’と同じ向きを有すること」によって置き換えられ、アルゴリズム7の実行後に-1によるω1(t1,v2)およびω2(t1,v2)の乗算が存在しない、ステップと、
〇 上述された通り、(各(ω1,ω2)に関して)ω1およびω2の平均を計算するステップと、
- S2が開いている場合、境界の三角形を選択して、(上述された通り、アルゴリズム2または4を使用して)アルゴリズム3を適用することにより、境界から多重度を伝番するステップ。
【0105】
本方法は、第一の差に関する多重度を計算するステップの前に、ガウス分布を使用することにより、多重度ゼロを有する第一の差をフィルタリングするステップを含み得る。実際には、幾つかの多重度は、ゼロに等しくなる。これらをフィルタリングすることは、第一の差に関する多重度を計算するための計算を節約し、これにより、計算リソースを節約することを可能にする。この場合、S2は、各辺e2の近傍にある多様体であるが、S2は、大域多様体である場合、またはそうではない場合がある。例において、ガウス分布の最適化は、各辺eiに関して、それら二つの隣接する三角形の法線単位
【0106】
【0107】
および
【0108】
【0109】
と、それらの単位ベクトルとそれらの逆ベクトルによって定義される球面S
2上の二点を通過する大円上の円弧群とを考慮し得る。辺e
iに関する二つの円弧は、
図4に表現される。
【0110】
【0111】
および
【0112】
【0113】
が互いに素である場合、このペアの多重度はゼロとなる。
【0114】
本方法は、その決定された境界に基づいて、機械加工される部品の3D軸機械加工のために機械加工工具の経路を決定するステップをさらに備える。この決定された経路は、その決定された境界から決定されたzレベル機械加工経路であってよく、この場合、その経路は、3D軸機械加工プロセスで使用され得る。例えば、本方法を含み得る、上述された3D軸機械加工プロセスは、本方法によって決定されたzレベル機械加工経路を使用して、zレベル3D軸機械加工プロセスにしたがって部品を機械加工し得る。その決定された境界に基づいて機械加工工具の経路を決定するステップは、機械加工設計で知られた任意の適切な方法によって実施され得る。この経路は、ミンコフスキー差における決定された境界に直接的に対応し得て、これにより、本方法は、その境界から直接的に経路を決定(パラメータ化)し得る。代替として、本方法は、その決定された境界を後処理することにより、機械加工工具の経路を決定し得る。
【0115】
ここで、その決定された境界を後処理することによって、機械加工工具の経路を決定するステップに関するプロセスの例が説明され、このプロセスは、本方法に含まれることにより、その決定された境界の後処理によって機械加工工具の経路を決定するステップが、このプロセスを実行するステップを含み得る。
【0116】
このプロセスは、
【0117】
【0118】
の二次元の多面体サイクル(例えば、本方法によって計算される多面体サイクル)を入力として受け取り、この多面体サイクルは、3D軸機械加工工具Tのヘッドを表すメッシュによって区切られた体積による、製造中加工品W(すなわち、機械加工される部品)を表すメッシュのミンコフスキー差W-Tを表す。この多面体サイクルは、多面体鎖
【0119】
【0120】
の境界であり、ここで、
【0121】
【0122】
であり、さらにχはオイラー標数である。このプロセスは、法線zを有する平面上で一連の機械加工経路を通じて機械加工が行われる、すなわち、
図5に例証されるように、機械加工工具が、一連の経路を追従することによって連続して適用される、zレベル機械加工シナリオのための工具の経路を計算する。
図5に示されるように、製造中加工品30は、一連の経路32上で機械加工工具のヘッド34を連続的に移動させることにより、機械加工される(簡単にするために、
図5において、そのうちの二つだけが参照とされる)。
【0123】
このプロセスは、そのような(法線zを有する)平面Pと、この平面上の関数
【0124】
【0125】
および
【0126】
【0127】
の制限とを考慮する。
【0128】
【0129】
は、依然として、関数
【0130】
【0131】
の境界である。この関数
【0132】
【0133】
は、関数
【0134】
【0135】
の台を形成する曲線セットの巻数と見做すことができる。この関数
【0136】
【0137】
は、辺の加重和、すなわち、
【0138】
【0139】
の和における平面および三角形の間における交差辺によって定義される。このプロセスは、平面上に三角形が無くて、縮退した交差も無いという仮説の下で実施される。このプロセスを実行する前に仮説が満足されない場合、本方法は、単純化シミュレーションの方法を実行することにより、仮設を強化し得る。それらの辺は、三角形から向きを継承する。辺の向きを逆にすることは、その重み/多重度の符号を変更する(三角形の法線を逆にするようなことである)ことと同じである。
【0140】
このプロセスは、サイクルにおける辺の台間の交差を解くステップ(すなわち、多面体サイクルの自動交差を解くステップ)を備え、これは、次のような性質、すなわち
【0141】
【0142】
を用いて、
【0143】
【0144】
を
【0145】
【0146】
として書き換えることと同じである(例えば、このプロセスは、この書き換えを実装し得る)。
図6は、次のような交差の分解を例証する。すなわち、交点LとLが作成され、[AE]、[FG]、[CD]および[GH]が分解される。新しいサイクルは、依然として、
【0147】
【0148】
の境界であり、というのは、それらは、点の有限集合を除いて、どこでも等しくなるからである。
【0149】
次に、このプロセスは、ミンコフスキー差W-Tによって平面Pの交差を構成するステップを備える。この構成は、集合
【0150】
【0151】
の連結成分がミンコフスキー差の面であるという考慮に基づいている。関数
【0152】
【0153】
は、面上で一定である。
図6において、5面がある。すなわち、巻数(WN)1を有する2面、巻数2を有する1面、および巻数0を有する2面(外側および内側)である。面の巻数はχ(π
-1(x))であり、およびχ(φ)=0であるとから、非ゼロの巻数を有する面は、ミンコフスキー差の内側にある。しかしながら、一方でχ(π
-1(x))=0およびπ
-1(x)≠0を有する場合もある。このプロセスは、次のテストの一つまたは複数を実行することにより、巻数ゼロを有する面がミンコフスキー差の内側にあるか、または外側にあるかを判断するステップを含み得る。すなわち、
- 論理的な基準に基づいて、面の境界にある一つまたは複数の線分がミンコフスキー差の境界に属することができないことを検出するステップ。例えば、辺/辺面から生じる線分は、凹面状にある二つの辺の何れかである境界上にあることはできない。簡単にするために、頂点/三角形から生じる線分は、凹面であるか、または、面の多重度が負である場合、頂点の円錐の境界上にあることはできない。
- 点Mがミンコフスキー差W-Tに属する面の内側にあるかどうかをテストするステップであって、これは、メッシュ差Wおよびメッシュ差T+Mが交差するかどうかをテストすることと同じである、ステップ。
【0154】
次に、このプロセスは、どの面が交差
【0155】
【0156】
に属するかを一度検出した後に、それらの結合を実行するステップを有し、
図7に例証されるように、それらの境界ループを抽出し得る。
【0157】
本方法は、上述されたプロセスの代わりに、別のプロセスを実行することにより、機械加工工具の経路を決定し、多面体サイクルの三角形間の自動交差を解き、次に、ミンコフスキー差の外部エンベロープを構築し得る。この代替プロセスは、平面によってエンベロープと交差し、輪郭を抽出する。
【0158】
本方法は、コンピュータ実装される。これは、方法のステップ(または、実質的に全てのステップ)が少なくとも一つのコンピュータ、または同様の任意のシステムによって実行されることを意味する。そのため、本方法のステップは、可能な限り全自動または半自動で、コンピュータによって実行される。例において、本方法のステップの少なくとも幾つかを始動させることは、ユーザー・コンピュータ間の相互作用を通じて実行され得る。必要とされるユーザー・コンピュータ間の相互作用のレベルは、予測される自動化のレベルに依存し得て、ユーザーの希望を実装するための必要性に対する均衡を取得し得る。例では、このレベルは、ユーザー定義および/または事前定義であってよい。
【0159】
方法のコンピュータ実装に関する典型的な例は、この目的に適したシステムを用いてその方法を実行することである。システムは、メモリおよびグラフィカルユーザーインターフェース(GUI)に結合されたプロセッサであって、そのメモリが、本方法を実行するための命令を含むコンピュータプログラムをその内部に記録している、プロセッサを備え得る。メモリは、データベースを格納することもある。メモリは、そのような格納に適した任意のハードウェアであり、幾つかの物理的に異なる部品(例えば、プログラム用に一つ、および可能であればデータベース用に一つ)で可能な限り構成される。
【0160】
図8は、システムの例を示し、そのシステムは、クライアントコンピュータシステム、例えば、ユーザーのワークステーションである。
【0161】
例におけるクライアントコンピュータは、内部通信バス1000に接続された中央処理ユニット(CPU)1010と、同様にバスに接続されたランダムアクセスメモリ(RAM)1070とを備える。さらに、クライアントコンピュータには、バスに接続されたビデオランダムアクセスメモリ1100に関連付けられるグラフィカル処理ユニット(1110)が設けられる。ビデオRAM1100は、当技術分野ではフレームバッファとしても知られている。大容量記憶装置コントローラ1020は、ハードドライブ1030などの大容量記憶装置へのアクセスを管理する。コンピュータプログラム命令およびデータを有形に具体化するのに適した大容量記憶装置には、例として、EPROM、EEPROMおよびフラッシュメモリ装置などの半導体記憶装置、内部ハードディスクおよびリムーバブルディスクなどの磁気ディスク、光磁気ディスク、およびCD-ROM1040を含む、不揮発性メモリの全ての形態が含まれる。上述の何れも、特別設計のASIC(特定用途向け集積回路)によって補足し得るか、またはそれに組み込み得る。ネットワークアダプタ1050は、ネットワーク1060へのアクセスを管理する。また、クライアントコンピュータは、カーソル制御デバイス、キーボードなどの触覚デバイス1090を含み得る。カーソル制御デバイスは、クライアントコンピュータで使用されることにより、ディスプレイ1080における任意の所望位置でカーソルをユーザーが選択的に配置することを可能にする。さらに、カーソル制御デバイスは、ユーザーが様々なコマンドを選択し、制御信号を入力することを可能にする。カーソル制御デバイスは、システムへ制御信号を入力するための複数の信号発生デバイスを含む。通常、カーソル制御デバイスは、マウスであってよく、マウスのボタンは、信号を発生するために使用される。代替として、または追加として、クライアントコンピュータシステムは、感知パッドおよび/または感知スクリーンを備え得る。
【0162】
コンピュータプログラムは、コンピュータによって実行可能である命令を含み得て、この命令は、上記のシステムに本方法を実行させるための手段を含む。このプログラムは、システムのメモリを含む、任意のデータ記憶メディアに記録可能であり得る。例えば、このプログラムは、デジタル電子回路、もしくはコンピュータハードウェア、ファームウェア、ソフトウェア、またはそれらの組み合わせにおいて実装し得る。このプログラムは、装置として、例えば、プログラム可能なプロセッサによって実行するための機械可読記憶装置に有形として具体化された製品として実装し得る。方法のステップは、命令のプログラムを実行して、入力データを操作し、出力を生成することにより、本方法の関数を実行するプログラム可能なプロセッサによって実行し得る。そのため、プロセッサは、プログラム可能であり得て、データ記憶システム、少なくとも一つの入力装置、および少なくとも一つの出力装置からデータおよび命令を受信し、それらにデータおよび命令を送信するように結合し得る。アプリケーションプログラムは、必要に応じて、高レベルの手続き型もしくはオブジェクト指向のプログラミング言語、またはアセンブリ言語もしくはマシン語で実装し得る。何れの場合でも、言語は、コンパイルされる言語または解釈される言語であり得る。プログラムは、完全インストールプログラムまたは更新プログラムであり得る。システムにプログラムを適用することは、何れの場合で、本方法を実行するための命令をもたらすことになる。
【手続補正書】
【提出日】2023-02-07
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
3D軸機械加工設計のためのコンピュータ実装方法であって、
機械加工工具のヘッドを表す第一のメッシュと、機械加工される部品を表す第二のメッシュとを提供するステップであって、前記第一のメッシュは閉じている、ステップと、
前記第一のメッシュによって区切られた体積による、前記第二のメッシュによって表現される曲面におけるミンコフスキー差の境界を決定するステップであって、前記境界を決定するステップは、前記境界の各要素に関して、多面体サイクルにおける前記要素の多重度を計算することにより、前記多面体サイクルとして前記境界を計算するステップを含む、ステップと、
前記決定された境界に基づいて、前記機械加工される部品の3D軸機械加工のために前記機械加工工具の経路を決定するステップと
を備えることを特徴とする、方法。
【請求項2】
前記第一のメッシュは曲面メッシュであり、前記第二のメッシュは曲面メッシュであることを特徴とする、請求項1記載の方法。
【請求項3】
前記第一のメッシュは三角形の曲面メッシュであり、前記第二のメッシュは三角形の曲面メッシュであることを特徴とする、請求項2記載の方法。
【請求項4】
前記多面体サイクルは、前記ミンコフスキー差における要素群の和であり、前記和における前記要素は、
前記第一のメッシュの辺による、前記第二のメッシュの各辺における第一の差と、
前記第一のメッシュの面による、前記第二のメッシュの各頂点における第二の差と、
前記第一のメッシュの頂点による、前記第二のメッシュの各面における第三の差と
を含み、前記和における各要素は、その決定された多重度によって重み付けされることを特徴とする、請求項2記載の方法。
【請求項5】
前記多面体サイクルとしての前記境界を計算するステップは、
各第一の差に関して、前記差の前記多重度を計算するステップと、
前記第一の差の前記計算済み多重度を伝搬することにより、前記第二の差および第三の差の前記多重度を計算するステップであって、前記伝搬は、前記多面体サイクルの前記境界がゼロであるという性質に基づいている、ステップと
を含む特徴とする、請求項4記載の方法。
【請求項6】
前記第二のメッシュが開いている場合、前記伝搬は、境界の辺を含む第一の差群からの、前記第一の差における前記計算済み多重度を伝搬するステップを含み、および/または、
前記第二のメッシュが閉じている場合、前記伝搬は、各第二の差または第三の差に関して、
前記差における第一の多重度値と、前記差における第二の多重度値とを計算するステップであって、前記第二の多重度値は、前記第一の多重度値の絶対値である、ステップと、
前記第一の多重度値および前記第二の多重度値の平均として、前記差の前記多重度を計算するステップと
を含む
ことを特徴とする、請求項5記載の方法。
【請求項7】
前記第一の多重度値および前記第二の多重度値を計算するステップは、
前記第一の多重度値に関する初期値を提供するステップと、
ゼロに等しい修正項を提供するステップと、
前記第二の差または第三の差の各々に含まれる前記面と共通する辺を有する各面に関して、
第一の差群における計算済みの多重度を使用して、前記第一の多重度値および前記第二の多重度値を、前記各面と前記第二の差または第三の差に含まれる前記頂点とを含む、相当する前記差へ伝搬するステップと、
前記相当する差に関する前記第一の多重度値と前記修正項との差異が、前記相当する差に関する前記第二の多重度値よりも大きい場合、前記修正項を更新するステップであって、前記更新するステップは、前記相当する差に関する前記第一の多重度値と前記相当する差に関する前記第二の多重度値との差異の値を前記修正項に指定するステップを含む、ステップと、
前記第一の多重度の前記初期値から前記修正項を減算するステップと
を含むことを特徴とする、請求項6記載の方法。
【請求項8】
前記方法は、前記第一の差に関する前記多重度を計算する前に、ガウス分布を使用することにより、多重度ゼロを有する前記第一の差をフィルタリングするステップを備えることを特徴とする、請求項5記載の方法。
【請求項9】
前記多面体サイクルは、型
【数1】
を有しており、ここで、
【数2】
であり、さらに、
S
2は前記第二のメッシュであり、V
1は前記第一のメッシュによって区切られた前記体積であり、
πの像は、V
1によるS
2における前記ミンコフスキー差であり、
前記要素群は、前記差π(v
1,t
2)、π(t
1,v
2)およびπ(e
1,e
2)の和であり、v、eおよびtは、それぞれ前記メッシュにおける前記頂点、前記辺および前記面である
ことを特徴とする、請求項
2記載の方法。
【請求項10】
前記多面体サイクルは、多面体鎖
【数3】
の境界であり、ここで、χはオイラー標数であることを特徴とする、請求項9記載の方法。
【請求項11】
前記第一のメッシュは非凸状であり、前記第二のメッシュは非凸状であることを特徴とする、請求項1記載の方法。
【請求項12】
請求項1ないし11の何れか一つに記載の方法を実行するための命令を備えることを特徴とする、コンピュータプログラム。
【請求項13】
請求項12記載のコンピュータプログラムをその内部に記録していることを特徴とする、コンピュータ可読データ記憶メディア。
【請求項14】
メモリに結合されたプロセッサを備えるコンピュータシステムであって、前記メモリは、請求項12記載のコンピュータプログラムをその内部に記録していることを特徴とする、コンピュータシステム。