説明

機械加工シミュレーションを最適化するためのシステム及び方法

本発明の実施の形態は、工作物のボリュームから、掃引されたボリュームのセットを除去することによって実施される工作物の機械加工のシミュレーションを最適化する方法で、ボリュームはセルのセットに分割され、各セルにこのセルと交差する掃引されたボリュームのサブセットを表す距離フィールドのサブセットを関連付けるステップであって、掃引されたボリュームのサブセットの少なくとも一部はセルの複合サーフェイスを形成する関連付けるステップと、セルに少なくとも1つの方向からこのセルに入射する光線のセットを当てるステップと、距離フィールドのサブセットの或る距離フィールドを選択して、セルと関連付けられた最適サブセットに含めるステップであって、距離フィールドによって表される掃引されたボリュームの境界は、複合サーフェイス上に位置する交点において少なくとも1つの光線と交差する選択して含めるステップとを含む方法である。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、包括的には機械加工シミュレーションに関し、より詳細には、距離フィールドの最適サブセットを決定して機械加工プロセスのシミュレーションを最適化することに関する。
【背景技術】
【0002】
数値制御フライス加工
数値制御(NC:numerically controlled)機械加工(例えばフライス加工又は施削)のプロセスをシミュレートすることは、コンピュータコンピュータ支援設計(CAD:computer aided design)及びコンピュータ支援製造(CAM:computer aided manufacturing)において根本的に重要である。シミュレーション中に、工作物のコンピュータモデルが、工具、例えば、NCフライス加工工具のコンピュータ表現及び1組の工具運動を用いて編集され、機械加工プロセスがシミュレートされる。
【0003】
シミュレーションは、工作物と工具保持器との間等の部品間の可能性のある衝突を検出し、工作物の最終形状を検証するために、工作物のモデル及び工具の表現を視覚化する。
【0004】
工作物の最終的な形状は、工具及び工具運動の選択によって影響を及ぼされる。これらの運動を制御するための命令が通常は、コンピュータ支援製造システムを用いて、工作物の所望の最終的な形状のグラフィック表現から生成される。それらの運動は通常、準備コード(preparatory code)又はGコードとしても知られている、数値制御プログラミング言語を用いて実現される。以下の標準規格RS274D及びDIN 66025/ISO 6983を参照されたい。
【0005】
コンピュータ支援製造システムによって生成されるGコードは、所望の最終的な形状の正確な複製物を製造しない場合がある。さらに、NC工具の動きは、機械加工システムのモータによって支配されるが、その速度、運動範囲、並びに加速及び減速能力は限られているため、実際の工具運動は、NC機械加工命令に厳密には従わない場合がある。
【0006】
工作物の実際の最終的な形状と、工作物の所望の最終的な形状との間の不一致は極めて小さい場合があり、見ることが難しい。状況によっては、これらの不一致の結果として、工作物の最終的な形状の表面に、サイズがほぼ数マイクロメートル程度の深さ及び幅、ほぼ数十マイクロメートル程度の長さにわたる望ましくない溝状の傷(gouge)又は欠け目(nick)が生じる。
【0007】
通常、所望の部品を機械加工する前に、より軟質で安価な材料から形成される試験工作物をフライス加工することによって、NC機械加工命令のセットが試験される。その試験工作物の外観検査によって、試験工作物において望ましくない不一致が見つかった場合には、それに応じて、NC機械加工命令が変更される。
【0008】
しかしながら、この手動試験は、時間及びコストがかかる。単一の試験工作物を機械加工するための時間は、ほぼ数時間程度かかる場合があり、許容できるNC機械加工命令のセットが得られるまでに、何度か繰り返すことが必要な場合がある。したがって、コンピュータを利用したシミュレーション及びレンダリングを用いて、これらの不一致を試験することが望ましい。コンピュータに基づくシミュレーションの例は、参照により本明細書に援用される、米国特許出願第12/495,588号及び同第12/468,607号に記載されている。
【0009】
工具
図2Aは、NCフライス加工において用いられる1組の通常の工具202、204、206、及び208を示している。工具が工作物210に対して動かされるとき、工具は工作物から材料を削り取る。ここで、工具202、204、206、及び208は、一般に「掃引されたボリューム(swept volume)」と呼ばれる、サーフェイス212、214、216、及び218に対応する材料を工作物から除去する。各工具によって除去される材料の形状は、工具の形状と、工作物に対する工具の経路とによって決まる。
【0010】
掃引されたボリューム
機械加工中に、工具の支持された運動、すなわち工具経路に従って、工具が工作物に対して動き、工具経路は工作物に対する工具の相対的な位置、向き及び他の形状データについての情報を含むことができる。
【0011】
工具が工具経路に沿って動くとき、工具は「掃引されたボリューム」を切り出す。機械加工中に、工具が工具経路に沿って動くとき、掃引されたボリュームによって横切られる工作物の部分が除去される。この材料除去は、コンピュータにおいて、空間領域構成法(CSG:constructive solid geometry)差分演算としてモデル化することができ、その演算によれば、工作物からの掃引されたボリュームのCSG減算演算を用いて、工作物のその部分が工作物から除去される。
【0012】
図2Bは、経路252に沿って動かされた形状250の掃引されたボリューム260を示している。経路252は、形状250の特定の点の位置を時間の関数として指定する。経路は、形状の向き256、257、及び258を時間の関数として指定することができる。経路は、形状のスケール又は形状の任意の変換を時間の関数として指定することもできる。図2Bにおいて、形状250の元の位置、向き、及びジオメトリは、経路に沿って動くにつれ、形状254の最終的な位置、向き、及びジオメトリに変換される。
【0013】
図3Aは、工具302が直線304に沿って動かされる線形経路を示している。
【0014】
図3Bは、工具302の先端310が円弧312に沿って動かされる円弧経路を示しており、工具の元の軸方向314が経路の端部で最終軸方向316に変換される。
【0015】
図3Cは、工具302の先端310が曲線320に沿って動かされる曲線経路を示している。
【0016】
他の可能な経路形式は、ほんの数例を挙げると、工具を或る点に位置決めすること、工具をポリラインとして知られる連続した線に沿って動かすこと、工具を渦巻き状又はらせん状の曲線に沿って動かすこと、工具を二次ベジエ曲線若しくは三次ベジエ曲線等の多項式曲線、又は区分的多項式曲線として知られる連続した多項式曲線に沿って動かすことを含む。工作物の形状又は材料組成によって影響を受ける経路等の、手順によって規定される経路を含む、シミュレートすることができる任意の形式の経路を検討することができる。
【0017】
距離フィールド
オブジェクトの距離フィールドd(p)はスカラフィールドであり、空間内の点pにおけるd(p)の値は点pからオブジェクトのサーフェイスまでの距離である。従来技術において多くの可能な距離フィールドが知られているが、最も一般的で有用であるのは、ユークリッド距離フィールドである。ユークリッド距離フィールドでは、距離はオブジェクトのサーフェイスに対する最小距離であり、d(p)=0として定義される。
【0018】
加えて、距離フィールドは、オブジェクトの外側を内側と区別するために符号を付され、例えば内側はd(p)>0であり、外側はd(p)<0である。また、pにおける距離フィールドの勾配ベクトルは最小距離の方向を指し、オブジェクトのサーフェイスにおいて、正規化された勾配ベクトルはサーフェイスの法線ベクトルに等しい。参照により本明細書に援用される、米国特許第6,396,492号、同第6,724,393号、同第6,826,024号、及び同第7,042,458号に記載されているように、距離フィールドは陰関数の形式をとり、形状をレンダリング及び編集するための効果的な表現である。
【0019】
適応的にサンプリングされる距離フィールド(ADF:adaptively sampled distance fields)は、ディテール指向サンプリング(detail−directed sampling)を用いて、距離フィールドの空間及び時間的に効率の良い表現を提供する。ADFは、複数のセルからなる空間的な階層内に距離フィールドを格納する。各セルは、距離データと、そのセルに関連する距離フィールドの部分を再構成するための再構成法とを含む。距離データは、距離フィールドの値と、距離フィールドの勾配及び偏導関数とを含むことができる。メモリ要件及び計算要件を削減するために、セル内の距離フィールドは、必要とされるときに再構成することができる。
【0020】
CSG演算を用いてフライス加工をシミュレートするために、ADFを用いることができる。フライス加工される工作物及びフライス加工工具は、ADFとして表すことができる。シミュレートされるフライス加工プロセスは、例えば工作物のADFを変更することにより、シミュレートされる工作物のADFを明示的に生成することができる。代替的には、シミュレートされる工作物は、複合ADFとして暗黙的に表すことができる。複合ADFは、工作物の距離フィールド及びフライス加工工具と、フライス加工工具のためのCSG減算演算子のような、距離フィールドに対応する演算子と、格納された距離フィールドをレンダリング又は他の処理中に要求に応じて合成する距離フィールド再構成法とを格納する。
【0021】
フライス加工工具は、工具距離フィールドによって表すことができる。工具経路は、パラメータ関数によって表すことができる。掃引されたボリュームの距離フィールドは、フライス加工工具を経路に沿って動かすことによって生成される掃引されたボリュームを表すように定義され、ここで掃引されたボリュームの距離フィールドは、掃引されたボリュームの再構成方法に従って連続して定義される。掃引されたボリュームの再構成方法は、サンプル点において掃引されたボリュームの距離フィールドを再構成することができる。
【0022】
特に関心のあるサンプル点の例は、距離フィールドdの値がゼロに等しい、すなわちd=0である、任意のオブジェクトの距離フィールドの等値面(isosurface)上の点である。本明細書において述べられるように、オブジェクトの距離フィールドのゼロ値等値面は、オブジェクトの境界、例えば工作物の境界であるか、又は掃引されたボリュームの境界である。
【0023】
図1Aはセル、例えば101、102、及び103のセルの空間階層からなる複合ADF100の2Dの図であり、工作物のボリュームの一部分及び距離フィールドを表し、それらの境界が示されている。この例では、距離フィールド104〜107は、初期工作物の境界を定義した平面である。距離フィールド108〜110は、ボールエンドミル工具の掃引を表す3つの距離フィールドである。複合ADFの各セルは、元の工作物及びフライス加工工具の掃引されたボリュームを表す距離フィールドのセットのサブセットと関連付けられる。例えば、セル111と関連付けられるのは距離フィールド104、108、及び109であり、これらの距離フィールドは、合わせてセル111内の複合サーフェイスを画定する。距離フィールドのセットのサブセットを組み合わせて工作物の複合距離フィールドを再構成するために、CSG差等の手続き的再構成方法もセルと関連付けられる。複合サーフェイスは、元の工作物距離フィールド及び掃引された工具距離フィールドの境界のパッチからなる、工作物のシミュレートされた境界となるように定義される。
【0024】
セルと関連付けられた距離フィールドのサブセットは、複数の方法によって選択することができる。例えば、サブセットは、セルの中心から境界への距離の絶対値が、セルを完全に取り囲む球の直径よりも小さい距離フィールドのみに限定することができる。代替的に、サブセットは、境界の少なくとも一部分がセルと交差するこの境界を有する掃引されたボリュームを表す距離フィールドのみに制限することができる。これらの距離フィールドは、例えば、距離フィールドがゼロに等しいセル内の点を、境界/セル交差試験を用いて検索することによって決定することができる。
【0025】
セルと関連付けられた距離フィールドのセットのサブセットが、セル内で複合サーフェイスを実際に形成して、幾何演算、例えばレンダリング中に処理されなくてはならない距離フィールド数を最小にすることによって、シミュレータ性能を最大にする距離フィールドのみを含むことが望ましい。不都合なことに、セルの距離フィールドのサブセットを決定する上述した方法は、結果としてのシミュレータ性能が悪い可能性がある。なぜなら、これらの方法によって見つかるサブセットの複数の距離フィールドは、セルには入るが工作物境界の一部分を形成しない掃引されたボリュームを表す可能性があるためである。
【0026】
図1Bは、工作物の一部分の従来の表現の一例を示している。工作物を表す複合ADFは、セルのセット、例えばセル101と、掃引されたボリューム110等の、工具の掃引されたボリュームを表す距離フィールド102〜105のセットとを含む。工作物107の一部分は、セル101と、掃引されたボリュームの距離フィールド103〜105のサブセットとによって表される。掃引されたボリュームの距離フィールド102は、セルの境界と交差しないので、この距離フィールドは通常、サブセットに含まれない。しかしながら、この例において見てとることができるように、掃引されたボリュームの距離フィールド103及び104は、工作物の境界の一部分を形成せず、このため、これらもサブセットに含まれるべきではない。
【0027】
特定の例として、400ミクロンの辺寸法を有する、x軸、y軸、及びz軸に位置合わせされた立方体セルと、x、y平面においてx軸に平行な平行掃引で動く半径2mmの球状の工具とを考える。ここで、掃引間は50ミクロンだけ隔てられ、工具の高さは、工具の最小点がセルの底辺の極めて僅かに上にあるようになっている。このとき、56個の工具掃引ボリュームがセル内に境界を有するが、これらの掃引ボリュームのうちの9個のみが工作物の境界を形成する。
【0028】
したがって、フライス加工プロセスのシミュレーションの性能を最適化するために、セルと関連付けられた距離フィールドのサブセットを最適化する必要がある。
【発明の概要】
【発明が解決しようとする課題】
【0029】
本発明の目的は、フライス加工プロセスのシミュレーションの性能を最適化することである。
【0030】
本発明の更なる目的は、工作物及び掃引されたボリュームを表す距離フィールドのサブセットを最適化することである。
【課題を解決するための手段】
【0031】
本発明の様々な実施の形態において、工作物及び掃引されたボリュームは、距離フィールドを用いて表される。セルと交差する境界を表す距離フィールドを最初に含む距離フィールドのサブセットがセルと関連付けられる。本発明の実施の形態は、サブセットを最適化して、工作物の複合サーフェイスを形成する境界を表す距離フィールドを含む最適サブセットを形成する。
【0032】
実施の形態は、セル内の工作物の、この工作物から掃引されたボリュームを除去することによって形成された複合サーフェイスが、セル及び/又は複合サーフェイスに入射する光線を当てられた場合、これらの光線と、掃引されたボリューム及び複合サーフェイスの境界との交点は、実際に複合サーフェイスを形成した掃引ボリュームを示すという認識に基づいている。
【0033】
本発明の1つの実施の形態は、工作物のボリュームから、掃引されたボリュームのセットを除去することによって実施される工作物のフライス加工のシミュレーションを最適化する方法であって、ボリュームはセルのセットに分割され、この方法は、各セルに、このセルと交差する距離フィールド境界のサブセットを表す距離フィールドのサブセットを関連付けるステップであって、境界のサブセットの少なくとも一部はセル内で工作物の複合サーフェイスを形成する、関連付けるステップと、セルに、少なくとも1つの方向からこのセルに入射する光線のセットを当てるステップであって、各光線は直線の伝播を表す、当てるステップと、距離フィールドのサブセットの或る距離フィールドを選択して、セルと関連付けられた最適サブセットに含めるステップであって、距離フィールドによって表される掃引されたボリュームの境界は、複合サーフェイス上に位置する交点において少なくとも1つの光線と交差する、選択して含めるステップと、を含み、この方法のステップは、プロセッサによって実行される、工作物のボリュームから掃引されたボリュームのセットを除去することによって実施される工作物のフライス加工のシミュレーションを最適化する方法を開示する。
【0034】
別の実施の形態は、工作物のボリュームから、掃引されたボリュームのセットを除去することによって実施される工作物のフライス加工のシミュレーションを最適化する方法であって、ボリュームはセルのセットに分割され、各セルには、このセルと交差する掃引されたボリュームのサブセットが関連付けられ、掃引されたボリュームのサブセットの少なくとも一部がセルの複合サーフェイスを形成するようにされ、この方法は、セルに、このセルに入射する光線のセットを当てるステップであって、光線はこのセルに向かう直線の伝播を表す、当てるステップと、掃引されたボリュームのサブセットの或る掃引されたボリュームを選択して、セルと関連付けられた最適サブセットに含めるステップであって、掃引されたボリュームの境界は、複合サーフェイス上に位置する交点において少なくとも1つの光線と交差する、選択して含めるステップと、を含む、工作物のボリュームから、掃引されたボリュームのセットを除去することによって実施される工作物のフライス加工のシミュレーションを最適化する方法を開示する。
【0035】
更に別の実施の形態は、工作物のボリュームから、掃引されたボリュームのセットを除去することによって実施される工作物のフライス加工のシミュレーションを最適化するシステムであって、ボリュームはセルのセットに分割され、このシステムは、各セルに、このセルと交差する掃引されたボリュームのサブセットを表す距離フィールドのサブセットを関連付ける手段であって、掃引されたボリュームのサブセットの少なくとも一部はセルの複合サーフェイスを形成する、関連付ける手段と、セルに、少なくとも1つの方向からこのセルに入射する光線のセットを当てる手段であって、各光線は直線の伝播を表す、当てる手段と、距離フィールドのサブセットの或る距離フィールドを選択して、セルと関連付けられた最適サブセットに含めるように構成されたプロセッサであって、距離フィールドによって表される掃引されたボリュームの境界は、複合サーフェイス上に位置する交点において少なくとも1つの光線と交差する、プロセッサと、を備える、工作物のボリュームから、掃引されたボリュームのセットを除去することによって実施される前記工作物のフライス加工のシミュレーションを最適化するシステムを開示する。
【図面の簡単な説明】
【0036】
【図1A】機械加工された工作物を表す複合ADFの概略図である。
【図1B】工作物の一部分の従来の表現の一例の概略図である。
【図2A】フライス加工に用いられる工具、及びこの工具を経路に沿って動かすことによって工作物から除去された掃引されたボリュームの概略図である。
【図2B】曲線経路に沿って2D経路を掃引することによって求められた、掃引されたボリュームの概略図である。
【図3A】フライス加工工具の異なる経路の概略図である。
【図3B】フライス加工工具の異なる経路の概略図である。
【図3C】フライス加工工具の異なる経路の概略図である。
【図4A】本発明の実施の形態による、工作物境界を形成する複数の境界を有するセルの2D概略図である。
【図4B】本発明の実施の形態による、光線とセル内の境界との交差を示す2D概略図である。
【図4C】本発明の実施の形態による、光線とセル内の境界との交差を示す2D概略図である。
【図5A】産業環境における本発明の実施の形態の概略図である。
【図5B】本発明の実施の形態による、フライス加工工作物の複合サーフェイスを正確に表すのに必要な掃引された工具の境界の最小リストを決定する方法の流れ図である。
【図6】本発明の実施の形態による、規則的に離間されたグリッド上の光線のセットを示す2D概略図である。
【図7】本発明の実施の形態による、光線のセットを決定する方法を示す2D概略図である。
【図8】本発明の実施の形態によるコンピュータメモリの構成の一例である。
【図9】メモリを用いて最適サブセットを決定する方法900の流れ図である。
【図10】本発明の実施の形態による複合サーフェイスを形成する境界を表す距離フィールドを求めた結果の例である。
【図11A】本発明の実施の形態による複合サーフェイスを形成する境界を表す距離フィールドを求めた結果の例である。
【図11B】本発明の実施の形態による複合サーフェイスを形成する境界を表す距離フィールドを求めた結果の例である。
【図11C】本発明の実施の形態による複合サーフェイスを形成する境界を表す距離フィールドを求めた結果の例である。
【発明を実施するための形態】
【0037】
システム概観
図4Aは、本発明の実施の形態によって対処される問題を示している。セル400内で、境界402は工作物のフライス加工のシミュレーションの開始時の工作物401の元のサーフェイスを定義している。シミュレーション中、3つの掃引されたボリュームの境界403、404、及び405がセルと交差する。したがって、掃引されたボリュームは、セルによって表される工作物のボリュームから除去される。工作物の内部407を取り囲む工作物の複合サーフェイス406は、境界402及び境界405によって形成される。
【0038】
本発明の様々な実施の形態では、工作物及び掃引されたボリュームは、距離フィールドを用いて表される。セルは、このセルと交差する境界402〜405を表す距離フィールドを最初に含む距離フィールドのサブセット551と関連付けられる(450)。本発明の実施の形態は、サブセットを最適化して(500)、工作物の複合サーフェイスを形成する境界、例えば境界402及び405を表す距離フィールドを含む最適サブセット559を形成する。
【0039】
境界は、距離フィールドのゼロ値等値面によって定義される。
【0040】
加えて、共通符号規約の下では、距離フィールドは、掃引されたボリューム内で正であり、境界においてゼロであり、外側で負である。一方、フライス加工プロセスのシミュレーションにおいて、掃引されたボリュームと交差する工作物サーフェイスのいかなる部分も除去されているので、掃引されたボリュームの内部は、工作物の複合サーフェイスの外部にある。したがって、本発明の実施の形態は、掃引されたボリュームを表す距離フィールドをネゲートする、すなわちこの距離フィールドに−1を乗算する。
【0041】
したがって、元のサーフェイスの境界402及び掃引されたボリュームの境界405は、セルの最適サブセットを形成し、工作物の内部を取り囲む。ここで、工作物の複合距離フィールドはゼロより大きいあらゆるところにある。境界403及び404は複合サーフェイスの外側にあり、すなわち、セル内のこれらの境界上のすべての点が工作物の複合サーフェイスに対し負の距離を有する。
【0042】
光線
本発明の実施の形態は、セルによって表され、工作物から掃引されたボリュームを除去することによって形成されたこの工作物の複合サーフェイスが、セル及び/又は複合サーフェイスに入射する光線を当てられた場合、これらの光線と、掃引されたボリューム及び複合サーフェイスの境界との交点が、複合サーフェイスを実際に形成した掃引されたボリュームを示すという認識に基づく。
【0043】
光線は、直線と同一の数学的構造である。光線は、3D空間内の原点Rから発生し、ベクトルRによって与えられた方向に直線で伝播する。光線の伝播は、3D空間内の光線の位置がR(s)=R+Rsによって定義されるように、時間のような座標(time−like coordinate)sによってパラメータ化することができる。
【0044】
図4Bは、光線と、掃引されたボリュームの境界との交差の2次元(2D)の図を示している。例えば、光線408は、点409から発生し、直線で伝播し、点410、412、及び413において、掃引されたボリュームの境界と交差し、点411において元のサーフェイスの境界と交差する。光線のいずれの交点が複合サーフェイス上にあるかを求めることは、光線と、境界のそれぞれとの交点からの距離フィールドの値に基づく。
【0045】
光線と、掃引されたボリュームの境界との交点は、掃引されたボリュームの距離フィールドのゼロ値、すなわちd(R(s))=0が結果として得られる値sによって特定される。交点を求める問題は、当該技術分野において既知の様々な解法を有する従来のルート発見問題(root finding problem)として定式化することができる。本発明の1つの実施の形態は、交差を解析的に求める。別の実施の形態は、ニュートン法及び/又は挟み撃ち(regula falsi)法等の反復手順を用いて、光線と掃引されたボリュームの境界との交点を求める。
【0046】
図4Cは、当該技術分野において球投光(sphere casting)として知られる、光線・サーフェイス交差法を示している。光線430は、点431から発生し、解析的光線/平面交差によって容易に見つけることができる点432においてセルと交差する。点432において、掃引されたボリューム433への距離がこの掃引されたボリューム433の距離フィールドから求められ、434によって示される。新たな試験点435が、光線に沿って距離434だけ動かすことによって求められる。次に、プロセスは、距離436を計算し、次に新たな試験点437を計算し、次に更なる試験点を計算することによって、交点438が求められるまで反復的に繰り返される。
【0047】
1つの実施の形態では、距離フィールドのサブセット551は、交点pにおける距離フィールドiの値がd(p)になるようにi∈[1,N]によってインデックス付けされたN個の距離フィールドを含む。このとき、点pは、i=j∈[1,N]の特定の値についてd(p)=0であり、かつ全てのi≠jについてd(p)>0である場合にのみ複合サーフェイス406上にある。さらに、jは光線408によって示された複合サーフェイスを形成する距離フィールドのインデックスである。例えば、点413は複合サーフェイス上にあり、全ての他の点は複合サーフェイスの外側にある。なぜなら、境界と光線との各他の交点、すなわち点410〜412から境界405への距離、例えば距離460は、正であるためである。
【0048】
したがって、本明細書に定義されるように、距離フィールドのサブセットからの距離フィールドは、距離フィールドの境界と光線との交点がセル内にあり、かつ交点とサブセット内の残りの掃引されたボリュームとの間の距離のセット内の各距離が正である場合、複合サーフェイスの一部分を形成する。境界を表す距離フィールドの値が交点において正である場合、距離は正である。
【0049】
通常、セルは少なくとも1つの方向から光線のセットを当てられる。複合サーフェイスを形成する全ての境界を求めるために、光線のセット内の光線は互いに平行であり、かつ離間される。例えば、別の光線414は、点415から発生し、光線408に平行に伝播する。光線414は、点416においてのみ境界402と交差し、点416は、光線414によって示すように、複合サーフェイス上にある。したがって、異なる点から発生し、かつ/又は異なる方向に伝播する光線はそれぞれ、境界のうちのいずれが(存在する場合)複合サーフェイスを形成するかを求めることができる。
【0050】
幾つかの例では、光線のサブセットは、複合サーフェイスの境界を示さない。例えば、光線417は、点418から発生し、点421、422、及び423において境界403、404、及び405と交差する。しかしながら、これらの交点の全てがセルの複合サーフェイスの外側にある。また、光線は、セルの外側の点(図示せず)において境界と交差する可能性がある。セルの外側の交点は、セルと関連付けられた複合サーフェイス上の有効な点ではない。
【0051】
さらに、境界はセルと交差するが、複合サーフェイスを形成しない可能性がある。例えば、境界403は、工作物の元のサーフェイスの境界402と交差せず、複合サーフェイスを形成しない。境界404は、境界402と交差し、シミュレーションにおいて以前に複合サーフェイスの一部分を形成した可能性がある。しかしながら、図4Bに示す例の時点において、境界404は、セル内の複合サーフェイスの外側にある。したがって、境界402及び405のみがセルの距離フィールドの最適サブセット559の要素である。
【0052】
距離フィールドの最適サブセットの決定
図5Aは、本発明の1つの実施の形態を示している。機械加工命令501のセットが、ネットワークを介してファイルとして、CD若しくはDVDから、又は当該技術分野において既知の他の手段によって、NC機械加工コントローラ502に提供される。コントローラ502は、プロセッサ503と、メモリ504と、機械の動作を示すディスプレイ505とを備える。フライス加工命令501を受信し、本発明の実施の形態500を用いてディスプレイ505上にシミュレートされた工作物の画像507を生成する機械加工シミュレータ506がプロセッサ上で実行される。
【0053】
図5Bは、セル400と関連付けられた距離フィールドの最適サブセット559を決定する方法500のブロック図である。距離フィールドのサブセット551及び光線のセット555が本方法への入力である。距離フィールドのサブセットは、セルと交差する掃引されたボリュームの境界を表す。本方法は当該技術分野において既知のプロセッサ503によって実施される。様々な実施の形態において、セル400は異なる形状及び/又は寸法を有する。
【0054】
例えば、上述した境界/セル交差法を用いて、距離フィールドのセットから距離フィールドのサブセットが選択される。1つの実施の形態では、境界/セル交差法は、セル内の掃引されたボリュームの境界のサーフェイス法線ベクトルのx成分、y成分、及びz成分のそれぞれの絶対値の最大値を求める。
【0055】
光線のセットからの各光線552は、起点及び伝播方向によって特定される。光線のセットは、光線がセル400に入射するように決定される(554)。1つの実施の形態では、光線のセットは、サブセット551、セル内の境界の向き553の範囲に基づいて決定される。
【0056】
本発明の様々な実施の形態が、異なる方法を用いて光線のセットを決定する。例えば、1つの実施の形態では、セットは、特定の方向における境界のサーフェイス法線の最大成分が閾値よりも大きい場合にのみ、その特定の方向から伝播した光線を含む。
【0057】
実施の形態は、光線のセット内の光線552ごとに、上述した解析的方法及び/又は反復的方法を用いて、光線と境界551との間の交点のセット575を決定する(570)。光線と境界との交点576が複合サーフェイス上にあると判断された(580)場合、境界を表す距離フィールド585が最適サブセット559内で選択される(590)。光線のセット内の全ての光線が処理された後、距離フィールドの最適サブセット559が決定される。
【0058】
光線のセットの決定
図6は、本発明の1つの実施の形態による、光線のセット555のサブセット611及び622を決定する一例を示している。光線のサブセット611は、セルの第1の境界610の外側の、正方形の等しく離間された格子の点から発生し、第1の境界に対し垂直にセルを通して伝播する。光線のセットの別のサブセット622は、第1の境界に対し垂直な、セルの第2の境界620の外側から発生し、第2の境界に対し垂直に伝播する。実施の形態の3D実施態様では、光線のセットの第3のサブセットは、最初の2つの境界に対し垂直な第3の境界の外側から発生し、第3の境界に対し垂直に伝播する。1つの実施の形態では、光線のそのような規則的なセットは最適サブセットを決定するのに十分である。
【0059】
一方、他の実施の形態は、光線の規則的なセットを変更する。例えば、1つの実施の形態では、フラットエンドミル加工工具による1組の掃引は、同一の高さ及び工具の向きを用いてセルを通って移動し、それによってセル内の掃引されたボリュームの境界が互いに局所的に同一となる。この実施の形態では、最適サブセットを決定するのに単一の光線で十分である。
【0060】
図7は、本発明の代替的な実施の形態を示している。この実施の形態では、光線701及び702が伝播され、境界704及び705が最適サブセット内にあると判断される。しかしながら、これもまた最適サブセットの一部である境界706が見逃され、不正確な複合サーフェイスが生成された。
【0061】
光線の不完全なサブセットによって生じる複合サーフェイスの欠陥を回避するために、1つの実施の形態は、図5Bに示す適応プロセス580を含む。決定中(580)、適応プロセスは、光線によって実行される複合サーフェイスのサンプリングが、正確な最適サブセットを得るのに十分であるか否かを特定する。十分でない場合、より少ない光線又は更なる光線が伝播される。
【0062】
例えば、光線701と境界704との交点707、及び光線702と境界705との交点708は境界706に近く、それによって点707及び708における境界704及び705のサーフェイスに対する法線が、境界704及び705が光線701と702との間の点709において境界706と交わることを示している。したがって、最適サブセットの正確度を改善するために、更なる光線703を伝播し、複合サーフェイスのサンプリングを増大させる。
【0063】
キャッシング
本発明の1つの実施の形態は、セルの距離フィールドのサブセット551が変更されるたびに最適サブセットを決定する。例えば、フライス加工シミュレータは、フライス加工プログラム内の命令ごとに、工作物の複合サーフェイスの更新画像を生成する。画像のレンダリング時間を最小にするために、フライス加工命令によって生成された新たな距離フィールドによって変更されたADFのセルごとに、距離フィールドの最適サブセットを更新する必要がある。実施の形態の1つの変形形態は、データ、例えば交点575をメモリ561内にキャッシュし、方法550を高速化する。メモリ561は、ランダムアクセスメモリ(RAM:random access memory)等、当該技術分野において既知の任意のメモリとすることができる。フライス加工命令ごとに最適サブセットが更新され、すなわち、距離フィールドが追加及び/若しくは除去されるか、又は最適サブセットは変更されないままである。
【0064】
図8は、メモリとして割り当てられたコンピュータメモリのブロック800の例を示している。ブロックはM個の等しいサイズのサブブロック801に分割され、これらのサブブロックは、それぞれ1つのセルに関するデータを格納することができる。各サブブロックは、N個のロケーション803に更に分割される。各ロケーションは、1つの光線と関連付けられる。例えば、データは、光線と複合サーフェイスとの交点、及びその境界が光線において複合サーフェイスを形成する距離フィールドを一意に特定する数である。複合サーフェイスが存在しない光線の場合、フラグ値、例えば数−1が距離フィールド識別子の代わりに格納される。
【0065】
各サブブロックは、サブブロックID804と関連付けられる。サブブロックID804は、そのデータが現在サブブロック内に格納されているセルの識別子として機能する。例えば、1つの実施の形態では、工作物内のセルの位置のx座標、y座標、及びz座標の組合せから一意のセル識別子数が形成される。
【0066】
図9は、メモリを用いて最適サブセットを決定する方法900の流れ図である。セル識別子901が形成される。ハッシュ関数が、大きな範囲から、キャッシュサブブロック数に対応する[0,M−1]の所望の範囲にセル識別子をマッピングする(902)。ハッシュ関数の例はout(k)=k modulo Mであり、入力セル識別子値kを、モジュロ数学関数を用いて所望の範囲内の出力値outにマッピングする。ハッシュ関数からの出力値を、セルに関するデータを格納するキャッシュサブブロックのアドレスとして用いる(903)。
【0067】
サブブロックが正確なセルに関するデータを格納していることを確かめるために、キャッシュからサブブロックIDが取り出され(904)、セル識別子と比較される(905)。識別子が一致しない場合、サブブロックは、現在のセルによって用いるためにクリアされ、セル識別子を用いてサブブロックIDが書き込まれる(906)。最適サブセットの決定(907)は、上述したように非キャッシュ式で進み、各光線に関するデータ908がキャッシュに格納され(909)、最適サブセット910を更新するために用いられる。
【0068】
代替的に、値が一致するとき、サブブロック内のデータは最適サブセットを決定するのに用いられる。このため、方法900は全ての光線にわたって反復する(911)。光線ごとに、交点は新たな距離フィールドについてのみ計算され(912)、交点の点を用いて、この光線について複合サーフェイスを形成する距離フィールド境界を決定する(913)。
【0069】
図10は、セル内に光線と新たな距離フィールドとの交差が存在するか否か、及びキャッシュ内にその光線に関するデータが存在するか否か、すなわち距離フィールド識別子が≠−1であるか否かに応じた、決定(913)の4つの可能な結果を示している。
【0070】
交差及びキャッシュデータが存在しない場合、光線から何もわからないので、図11A〜図11Cは、3つの上述した事例の例を示している。
【0071】
図11Aにおいて、距離フィールド1102、1103、及び1104がセル1101と現在関連付けられており、距離フィールド1105は新たな距離フィールドである。光線1106は、点1107において距離フィールド1105の境界と交差し、キャッシュは光線1106に関するデータを含まない。したがって、交点1107において、現在セル内にある距離フィールド1102〜1104のサブセットの距離フィールド値が計算される。
【0072】
交点における距離フィールドの値が全て正である、すなわち0より大きい場合、新たな距離フィールドは、この光線について複合サーフェイスを形成し、最適サブセットに追加される。図11Aに示す例において、距離フィールド値は全て負であり、距離フィールド1105は、最適サブセットに追加されない。
【0073】
図11Bにおいて、距離フィールド1122〜1124が現在セル1121に関連付けられており、距離フィールド1125は新たな距離フィールドである。光線1126は、セル内の距離フィールド1125の境界と交差しないが、キャッシュは、光線1126と距離フィールド1123の境界との交点1127を含む。この場合、交差は存在しないが、キャッシュは光線の有効なデータを含み、次に、キャッシュされた交点において新たな距離フィールドの値が求められる。
【0074】
値が正である場合、キャッシュされた距離フィールドが最適サブセットに追加される。例示した例において、交点1127は距離フィールド1125の外側にあり、キャッシュされた距離フィールドが、光線1126に起因して最適サブセットに追加されることがないことを意味する。これは、距離フィールド1126が別の光線に起因して最適サブセットに追加される可能性を排除しないことを理解することが重要である。
【0075】
最後に、図11Cにおいて、距離フィールド1132〜1134が現在セル1131と関連付けられており、距離フィールド1135は新たな距離フィールドである。光線1136は点1138において距離フィールド1135の境界と交差し、キャッシュは、光線1136と距離フィールド1133の境界との交点1137を含む。この場合、交点が存在し、かつ有効なキャッシュされたデータが存在し、次に、新たな交点1138においてキャッシュされた距離フィールド1133の値が計算される。
【0076】
値が正である場合、新たな距離フィールド1135が最適サブセットに追加される。そうでない場合、キャッシュされた距離フィールド1133が最適サブセットに追加される。この例では、交点1138は距離フィールド1133の境界内にあり(すなわちd>0)、このため、距離フィールド1135が最適サブセットに追加される。
【0077】
全ての光線が処理された後、各光線に関するデータがキャッシュに書き込まれ、最適サブセット910が完成する。
【0078】
本発明を、好ましい実施の形態の例として説明してきたが、本発明の趣旨及び範囲内で他のさまざまな適合及び変更を行えることが理解されるべきである。したがって、本発明の真の趣旨及び範囲内に入る全ての変形及び変更を包含することが、添付の特許請求の範囲の目的である。

【特許請求の範囲】
【請求項1】
工作物のボリュームから、掃引されたボリュームのセットを除去することによって実施される前記工作物の機械加工のシミュレーションを最適化する方法であって、前記工作物の前記ボリュームはセルのセットに分割され、前記方法は、
各セルに、前記セルと交差する掃引されたボリュームのサブセットを表す距離フィールドのサブセットを関連付けるステップであって、前記掃引されたボリュームのサブセットの少なくとも一部は前記セルの複合サーフェイスを形成する、関連付けるステップと、
前記セルに、少なくとも1つの方向から前記セルに入射する光線のセットを当てるステップであって、各光線は直線の伝播を表す、当てるステップと、
前記距離フィールドのサブセットの或る距離フィールドを選択して、前記セルと関連付けられた最適サブセットに含めるステップであって、前記距離フィールドによって表される前記掃引されたボリュームの境界は、前記複合サーフェイス上に位置する交点において少なくとも1つの光線と交差する、選択して含めるステップと、
を含み、前記方法の前記ステップはプロセッサによって実行される、工作物のボリュームから掃引されたボリュームのセットを除去することによって実施される前記工作物の機械加工のシミュレーションを最適化する方法。
【請求項2】
前記交点において、前記距離フィールドのサブセットからの各距離フィールドの値を求めるステップと、
前記交点における前記距離フィールドの値がゼロであり、かつ前記サブセット内の残りの距離フィールドの値が正である場合、前記距離フィールドを選択して前記最適サブセットに含めるステップと、
を更に含む、請求項1に記載の方法。
【請求項3】
前記交点における前記距離フィールドの値がゼロであり、かつ前記交点における前記サブセット内の残りの距離フィールドの値が正である、請求項1に記載の方法。
【請求項4】
i=j∈[1,N]についてd(p)=0であり、i≠jについてd(p)>0であり、前記距離フィールドのサブセットはi∈[1,N]によってインデックス付けされたN個の距離フィールドを含み、d(p)は前記交点pにおける前記距離フィールドの前記値を定義し、jは前記最適サブセットにおいて選択された前記距離フィールドのインデックスである、請求項3に記載の方法。
【請求項5】
前記セル内に位置する前記交点を求めるステップ、
を更に含む、請求項1に記載の方法。
【請求項6】
前記セルの外側の点において前記光線を発生させるステップ、
を更に含む、請求項1に記載の方法。
【請求項7】
1つの方向からの前記光線は互いに平行であり、異なる方向からの前記光線は互いに直交する、請求項1に記載の方法。
【請求項8】
前記光線のセットを少なくとも2つの方向から前記セルに向かって伝播させるステップ、
を更に含む、請求項1に記載の方法。
【請求項9】
前記光線のセットを前記複合サーフェイスに対する法線に基づいて決定するステップ、
を更に含む、請求項1に記載の方法。
【請求項10】
前記掃引されたボリュームのセットを更新するステップと、
前記更新に応答して、前記距離フィールドの最適サブセットを決定するステップと、
を更に含む、請求項1に記載の方法。
【請求項11】
前記決定中に計算されたデータの少なくとも一部をメモリにキャッシュするステップ、
を更に含む、請求項10に記載の方法。
【請求項12】
前記メモリを等しいサイズのサブブロックに分割するステップであって、各サブブロックは1つのセルに関するデータを格納する、分割するステップと、
前記サブブロックを複数のロケーションに分割するステップであって、各ロケーションは1つの光線と関連付けられる、分割するステップと、
を更に含む、請求項11に記載の方法。
【請求項13】
前記ロケーションにおける前記データは、前記交点において前記光線と交差する前記境界を表す前記距離フィールドを特定する、請求項12に記載の方法。
【請求項14】
前記ロケーションにおける前記データは、前記光線が前記複合サーフェイスと交差していないことを特定する、請求項12に記載の方法。
【請求項15】
前記掃引されたボリュームを表す前記距離フィールドの値は、前記掃引されたボリュームの内部の場合、負である、請求項1に記載の方法。
【請求項16】
工作物のボリュームから、掃引されたボリュームのセットを除去することによって実施される前記工作物のフライス加工のシミュレーションを最適化する方法であって、前記ボリュームはセルのセットに分割され、各セルは、前記セルと交差する掃引されたボリュームのサブセットと関連付けられ、前記掃引されたボリュームのサブセットの少なくとも一部が前記セルの複合サーフェイスを形成するようにされ、前記方法は、
前記セルに、前記セルに入射する光線のセットを当てるステップであって、光線は前記セルに向かう直線の伝播を表す、当てるステップと、
前記掃引されたボリュームのサブセットの或る掃引されたボリュームを選択して、前記セルと関連付けられた最適サブセットに含めるステップであって、前記掃引されたボリュームの境界は、前記複合サーフェイス上に位置する交点において少なくとも1つの光線と交差する、選択して含めるステップと、
を含む、工作物のボリュームから、掃引されたボリュームのセットを除去することによって実施される前記工作物のフライス加工のシミュレーションを最適化する方法。
【請求項17】
前記境界の前記交点と、前記光線と前記サブセット内の残りの掃引されたボリュームの境界との交点との間の距離のセットを求めるステップと、
前記距離のセット内の各距離が正である場合、前記掃引されたボリュームを選択して前記最適サブセットに含めるステップと、
を更に含む、請求項15に記載の方法。
【請求項18】
工作物のボリュームから、掃引されたボリュームのセットを除去することによって実施される前記工作物のフライス加工のシミュレーションを最適化するシステムであって、前記ボリュームはセルのセットに分割され、前記システムは、
各セルに、前記セルと交差する掃引されたボリュームのサブセットを表す距離フィールドのサブセットを関連付ける手段であって、前記掃引されたボリュームのサブセットの少なくとも一部は前記セルの複合サーフェイスを形成する、関連付ける手段と、
前記セルに、少なくとも1つの方向から前記セルに入射する光線のセットを当てる手段であって、各光線は直線の伝播を表す、当てる手段と、
前記距離フィールドのサブセットの或る距離フィールドを選択して、前記セルと関連付けられた最適サブセットに含めるように構成されたプロセッサであって、前記距離フィールドによって表される前記掃引されたボリュームの境界は、前記複合サーフェイス上に位置する交点において少なくとも1つの光線と交差する、プロセッサと、
を備える、工作物のボリュームから、掃引されたボリュームのセットを除去することによって実施される前記工作物のフライス加工のシミュレーションを最適化するシステム。
【請求項19】
前記交点において、前記距離フィールドのサブセットからの各距離フィールドの値を求める手段と、
前記交点における前記距離フィールドの値がゼロであり、かつ前記サブセット内の残りの距離フィールドの値が正である場合、前記距離フィールドを選択して前記最適サブセットに含める手段と、
を更に備える、請求項18に記載のシステム。
【請求項20】
前記求める手段によって計算されたデータの少なくとも一部をメモリにキャッシュする手段と、
前記メモリを等しいサイズのサブブロックに分割する手段であって、各サブブロックは1つのセルに関するデータを格納する、分割する手段と、
前記サブブロックを複数のロケーションに分割する手段であって、各ロケーションは1つの光線と関連付けられる、分割する手段と、
を更に備える、請求項18に記載のシステム。

【図1A】
image rotate

【図1B】
image rotate

【図2A】
image rotate

【図2B】
image rotate

【図3A】
image rotate

【図3B】
image rotate

【図3C】
image rotate

【図4A】
image rotate

【図4B】
image rotate

【図4C】
image rotate

【図5A】
image rotate

【図5B】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11A】
image rotate

【図11B】
image rotate

【図11C】
image rotate


【公表番号】特表2013−517535(P2013−517535A)
【公表日】平成25年5月16日(2013.5.16)
【国際特許分類】
【出願番号】特願2012−531924(P2012−531924)
【出願日】平成23年3月16日(2011.3.16)
【国際出願番号】PCT/JP2011/057073
【国際公開番号】WO2011/122423
【国際公開日】平成23年10月6日(2011.10.6)
【出願人】(597067574)ミツビシ・エレクトリック・リサーチ・ラボラトリーズ・インコーポレイテッド (484)
【住所又は居所原語表記】201 BROADWAY, CAMBRIDGE, MASSACHUSETTS 02139, U.S.A.
【Fターム(参考)】