(57)【特許請求の範囲】
【請求項１】
物体に適用される機械加工プロセスにより、物体のモデルの表面の欠陥を判断するための方法であって、前記表面は、前記機械加工プロセスのシミュレーションによって前記物体のモデルから生成され、該方法は、
前記シミュレーションにおいて、前記物体の前記モデルの前記表面をレンダリングするステップと、
レンダリング後の前記表面の前記モデルの各ピクセルにおいて、ピクセルにおける法線ベクトルを求め、求めた前記法線ベクトルに基づいて前記表面の向きを求めるステップと、
ピクセルごとに、ピクセルにおける法線ベクトルと、前記ピクセルに直接隣接する近傍ピクセルにおける法線ベクトルとの間の差に基づいて、前記表面の前記向きの変化率を求めるステップと、
前記変化率を少なくとも１つのしきい値と比較して前記表面の前記欠陥を特定する、比較するステップであって、前記しきい値は、前記機械加工プロセスに基づいて決定される、比較するステップと
を含み、
前記比較するステップは、
前記変化率を最小しきい値と比較することであって、前記最小しきい値を超える値を有する前記変化率に対応する前記ピクセルが特定されること、および
尖部の角度の値に基づいて前記最小しきい値を決定することであって、該尖部は、前記機械加工プロセスのシミュレーション中に機械加工工具の切削部によって形成されること
をさらに含み、
該方法の前記ステップは、プロセッサによって実行され、
前記表面の向きを求めるステップは、
【数１】
0005666013.tif 000005
に従って前記法線ベクトルＮ０を求めることであって、ここでＮ０ｘ、Ｎ０ｙ、Ｎ０ｚは軸ｘ、ｙおよびｚに沿った前記法線ベクトルの成分であることと、
【数２】
0005666013.tif 000006
に従って前記法線ベクトルＮｉを求めることであって、ここでｉは、前記法線ベクトルのインデックスであることと
を含み、
前記変化率を求めるステップは、
【数３】
0005666013.tif 000007
に従って前記変化率の成分Ｒ０ｊを求めることであって、ここでｊは、ｘ、ｙまたはｚであることと、
前記変化率の前記成分に基づいて前記変化率を求めることと
を含む、物体に適用される機械加工プロセスにより、物体のモデルの表面の欠陥を判断するための方法。
【請求項２】
前記変化率を求めるステップは、前記変化率を前記成分Ｒ０ｊの二乗和平方根として求めることをさらに含む、請求項１に記載の方法。
【請求項３】
前記比較するステップは、
前記変化率を最小しきい値と比較することと、
前記変化率を最大しきい値と比較することと
をさらに含み、
前記最小しきい値を超え、かつ前記最大しきい値未満の値を有する前記変化率に対応する前記ピクセルが特定される、請求項１に記載の方法。
【請求項４】
前記レンダリングするステップは、
前記物体の前記モデルの前記表面を低分解能でレンダリングするステップと、
前記欠陥によって特定された前記表面の領域を求めるステップと、
前記表面の前記領域を高分解能でレンダリングするステップであって、それにより、機械加工切削部のエッジに沿った一列のピクセルによって特定される前記領域内の前記表面の前記欠陥を判断する、高分解能でレンダリングするステップと
を含む、請求項１に記載の方法。
【請求項５】
前記物体は、フライスカッターの切削部によって形成される、請求項１に記載の方法。
【請求項６】
前記法線ベクトルを法線フレームバッファーに記憶するステップ
をさらに含む、請求項１に記載の方法。
【請求項７】
前記欠陥に対応するピクセルを強調表示するステップをさらに含む、請求項１に記載の方法。
【請求項８】
前記欠陥に対応する各ピクセルの色を変更するステップと、
前記物体の前記モデルをディスプレイ上にレンダリングするステップと
をさらに含む、請求項１に記載の方法。
【請求項９】
物体に適用される機械加工プロセスにより、物体のモデルの表面の欠陥を判断するためのシステムであって、
前記機械加工プロセスのシミュレーションによって、レンダリングされた前記表面を生成する手段と、
レンダリング後の前記表面の前記モデルの各ピクセルにおいて、ピクセルにおける法線ベクトルに基づいて前記表面の向きを求める手段と、
ピクセルごとに、ピクセルにおける法線ベクトルと、前記ピクセルに直接隣接する近傍ピクセルにおける法線ベクトルとの間の差に基づいて、前記表面の前記向きの変化率を求める手段と、
前記変化率を少なくとも１つのしきい値と比較して前記表面の前記欠陥を特定する、比較する手段であって、前記しきい値は、前記機械加工プロセスに基づいて決定される、比較する手段と
を備え、
前記比較する手段は、前記変化率を最小しきい値と比較し、前記最小しきい値を超える値を有する前記変化率に対応する前記ピクセルを特定し、尖部の角度の値に基づいて前記最小しきい値を決定し、該尖部は、前記機械加工プロセスのシミュレーション中に機械加工工具の切削部によって形成され、
前記表面の向きを求める手段は、
【数４】
0005666013.tif 000008
に従って前記法線ベクトルＮ０を求め、ここでＮ０ｘ、Ｎ０ｙ、Ｎ０ｚは軸ｘ、ｙおよびｚに沿った前記法線ベクトルの成分であり、
【数５】
0005666013.tif 000009
に従って前記法線ベクトルＮｉを求め、ここでｉは、前記法線ベクトルのインデックスであり、
前記変化率を求める手段は、
【数６】
0005666013.tif 000010
に従って前記変化率の成分Ｒ０ｊを求め、ここでｊは、ｘ、ｙまたはｚであり、
前記変化率の前記成分に基づいて前記変化率を求める
物体に適用される機械加工プロセスにより、物体のモデルの表面の欠陥を判断するためのシステム。
【請求項１０】
前記欠陥に対応する前記ピクセルを強調表示する手段をさらに含む、請求項９に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、包括的には機械加工プロセスのシミュレーションに関し、より詳細にはシミュレーション中にレンダリングされる物体のモデルから物体の表面の欠陥を特定することに関する。
【背景技術】
【０００２】
数値制御機械フライス加工
数値制御（ＮＣ）機械加工の工程をシミュレートすることは、コンピューター支援設計（ＣＡＤ）およびコンピューター支援製造（ＣＡＭ）において、根本的に重要である。シミュレーション中に、工作物のコンピューターモデルが、ＮＣ機械加工工具のコンピューター表現および１組のＮＣ機械加工工具の動きを用いて編集され、機械加工工程がシミュレートされる。工作物モデルおよび工具表現を、シミュレーション中に可視化して、工作物および工具ホルダーのような部品間の潜在的な衝突を検出することができ、シミュレーション後に、工作物の最終的な形状を検証することができる。
【０００３】
工作物の最終的な形状は、工具および工具の動きの選択によって影響を及ぼされる。これらの動きを制御するための命令が、通常は、コンピューター支援製造（ＣＡＭ）システムを用いて、工作物の所望の最終的な形状のグラフィック表現から生成される。それらの動きは、通常、準備コードまたはＧコードとしても知られている、数値制御プログラミング言語を用いて実現される。標準規格ＲＳ２７４ＤおよびＤＩＮ ６６０２５／ＩＳＯ ６９８３を参照されたい。
【０００４】
ＣＡＭシステムによって生成されるＧコードは、所望の形状の正確な複製物を製造しない場合がある。さらに、ＮＣ工具の動きは、ＮＣ機械加工システムの作動部によって支配されるが、その速度、動きの範囲、並びに加速および減速能力は、限られている。したがって、実際の工具の動きは、ＮＣ機械加工命令に厳密には従わない場合がある。
【０００５】
工作物の最終的な形状と、工作物の所望の形状との間の不一致は、極めて小さく、視認するのが難しい場合がある。状況によっては、これらの不一致の結果として、工作物の最終的な形状の表面に、大きさが概ね数マイクロメートルの深さおよび幅、数十マイクロメートルの長さの望ましくない溝状の傷または欠け目が生じる可能性がある。
【０００６】
通常、所望の部品を機械加工する前に、より軟質で安価な材料から形成される試験工作物を機械加工することによって、１組のＮＣ機械加工命令が試験される。その試験工作物の目視検査によって、試験工作物において望ましくない不一致が見つかった場合には、それに応じて、ＮＣ機械加工命令を変更することができる。
【０００７】
しかし、この手動試験は、時間およびコストがかかる。単一の試験工作物を機械加工するための時間は、概ね数時間かかる場合があり、許容できる１組のＮＣ機械加工命令が得られるまでに、何度か繰り返すことが必要な場合がある。したがって、コンピューターに基づくシミュレーションおよびレンダリングを用いて、これらの不一致を試験することが望ましい。コンピューターに基づくシミュレーションの例は、引用することにより本明細書の一部をなすものとする、米国特許出願第１２／４９５，５８８号および同第１２／４６８，６０７号に記載されている。
【０００８】
ＮＣ機械加工の特に重要な用途は、モールドおよびダイの製造である。モールドおよびダイは、後に大量生産において用いるために、ＮＣ機械加工によって比較的少量で生産される。このため、モールドおよびダイにおける欠陥は、望ましくないことに、製造部品に移る可能性がある。モールドおよびダイは、多くの場合に、高品質の、空気力学的な、触覚性のまたは美的な仕上げを有する平滑でゆっくりと変化する「自由形状の」表面を有する部品を形成するのに用いられる。例えば、現代の歯ブラシは、モールドを用いてプラスチックから鋳造され、美的利点および触覚的利点の双方を提供する複雑な自由形状の外形を有する。同様に、自動車の車体パネルを打ち抜くためのダイは、空力抵抗、したがって燃費、および消費者に対する車両の美的訴求に大きく影響する可能性がある平滑な自由形状の外形を有する。
【０００９】
自由形状の外形を有する大きな部品を打ち抜くためのダイは、その大きさ（数千ミリメートル）、および自由形状の表面が比較的小さな工具（数ミリメートル程度）を用いてフライス加工され、多数の機械加工命令（多くの場合に数百万）を必要とすることの双方に起因して、生産するのに非常に時間がかかる可能性がある。同じことは、プラスチック部品のための射出成形モールドにも当てはまる。モールドは、通常、製造効率を改善するように、多くの部品の同時生産を可能にするために大型である。
【００１０】
ＮＣ機械加工シミュレーターは、非常に大きなシミュレーションされた部品、例えば、数千ミリメートルの部品における非常に小さな欠陥、例えば、数十ミクロン〜数百ミクロンの欠陥を再生することができる。これらの小さな欠陥を位置特定する問題は、非常に難題である。例えば、人間のオペレーターは、シミュレーションされたモールド全体を細かいスケールで辛抱強く探索しなくてはならず、これは、時間がかかり、エラーが起きやすい。
【００１１】
１つの方法は、機械加工工具の経路を解析することによって、ＮＣ機械加工の欠陥を判断する。特に、経路上の点について、その点と、それぞれ前の点および次の点とを結ぶ２つのベクトルを含む平面に対し垂直なベクトルが計算される。平面の片側に対する法線ベクトルの向きは、経路の曲率の正負符号によって決まる。平滑な平面の場合、連続点からの法線ベクトルは、曲率の同じ正負符号を有して概ね平行になるはずである。しかしながら、その方法は、機械加工経路上の連続点間の関係しか考慮せず、機械加工工具の隣接する経路および／または表面上の隣接する領域によって生じる欠陥を考慮に入れないので、工具経路の局所変動によって生じる欠陥のみに制限される。
【００１２】
したがって、ＮＣ機械加工プロセスのシミュレーション中にレンダリングされる物体のモデルから物体の表面の欠陥を特定する必要がある。
【発明の概要】
【発明が解決しようとする課題】
【００１３】
本発明の目的は、物体のモデルから物体の表面の欠陥を特定するための方法を提供することである。
【００１４】
本発明のさらなる目的は、ユーザーに対し欠陥を強調表示する方法を提供することである。
【００１５】
本発明のさらなる目的は、機械加工プロセスのシミュレーション中にレンダリングされる物体のモデルの表面の欠陥を強調表示する方法を提供することである。
【００１６】
本発明のさらなる目的は、シミュレーションされた表面上の予想される欠陥エリア（possible defect areas）のリストを生成し、このリストをユーザーに提示する方法を提供することである。
【００１７】
本発明のさらなる目的は、欠陥特定の品質を妥協することなくメモリ要件を低減する方法を提供することである。
【課題を解決するための手段】
【００１８】
本発明の実施の形態は、切削深さに対する尖部の角度の依存性が、シミュレーション中にレンダリングされる物体の表面の向きおよび／または物体のモデルに反映されるという認識に基づいている。このため、表面の向き、特に、向きの変化率を用いて、物体のモデルの欠陥を判断することができる。例えば、シミュレーションされた表面のより平滑でない領域を特定し強調表示することができる。
【００１９】
本発明の実施の形態は、表面の向きおよび向きの変化率に基づいて物体の表面の欠陥を判断する。様々な実施の形態において、変化率は、表面に対する法線ベクトルに基づいて求められ、表面の欠陥は、変化率およびしきい値に基づいて特定される。
【００２０】
例えば、１つの実施の形態は、物体に適用される機械加工プロセスにより、該物体の表面の欠陥を判断するための方法であって、前記表面は、前記機械加工プロセスのシミュレーションによって前記物体のモデルから生成され、該方法は、前記表面の前記モデルの各ピクセルにおいて前記表面の向きを求めるステップと、前記表面の前記モデルのピクセルごとに前記表面の前記向きの変化率を求めるステップと、前記変化率を少なくとも１つのしきい値と比較して前記表面の前記欠陥を特定する、比較するステップと、を含む方法を開示する。前記しきい値は、前記機械加工プロセスに基づいて決定される。
【００２１】
別の実施の形態は、物体に適用される機械加工プロセスにより、該物体の表面の欠陥を判断するための方法であって、前記表面は、前記機械加工プロセスのシミュレーションによって前記物体のモデルから生成され、該方法は、前記表面の各ピクセルにおいて法線ベクトルを求めるステップと、前記表面のピクセルごとに、ピクセルにおける法線ベクトルと近傍ピクセルにおける法線ベクトルとの間の差に基づいて前記表面の向きの変化率を求めるステップであって、前記表面の欠陥は、前記変化率の値によって特定されるステップと、前記欠陥をディスプレイ上で強調表示するステップと、を含む方法を開示する。
【００２２】
さらに別の実施の形態は、物体のモデルの表面の欠陥を判断するためのシステムであって、前記機械加工プロセスのシミュレーションによって前記表面を生成する手段と、前記表面の前記モデルの各ピクセルにおいて、ピクセルにおける法線ベクトルに基づいて前記表面の向きを求める手段と、前記表面の前記モデルのピクセルごとに前記表面の前記向きの変化率を求める手段と、前記変化率を少なくとも１つのしきい値と比較して前記表面の前記欠陥を特定する、比較する手段と、を備えるシステムを開示する。前記しきい値は、前記機械加工プロセスに基づいて決定される。
【図面の簡単な説明】
【００２３】
【図１Ａ】数値制御（ＮＣ）機械加工中に自由形状の表面を製造するのに用いられるボールエンドフライスカッターを示す図である。
【図１Ｂ】図１Ａのボールエンドフライスカッターによってフライス加工された物体を示す図である。
【図２】ボールエンドフライスカッターによってフライス加工された物体の側面図である。
【図３】切削深さに対する尖部の角度の依存性のグラフである。
【図４】本発明の１つの実施の形態による物体の表面の欠陥を判断するための方法のブロック図である。
【図５】本発明の１つの実施の形態による、物体の表面をレンダリングしている間に表面の欠陥を強調表示するための方法のブロック図である。
【図６】本発明の１つの実施の形態による、表面の向きの変化率を求める例のブロック図である。
【図７】欠陥を有する表面の部分が強調表示された物体のモデルの例の等角図である。
【図８】本発明の１つの実施の形態の一例のブロック図である。
【発明を実施するための形態】
【００２４】
図１Ａは、数値制御（ＮＣ）機械加工中に自由形状の表面を製造するのに一般的に用いられるボールエンドフライスカッター１００を示している。特に、カッター１００の平滑な半球状底面１０１は、平滑な表面の機械加工が可能である。
【００２５】
図１Ｂは、蒲鉾型表面を生成するボールエンドフライスカッター１００の３つの線形切削部１０３、１０４および１０５によってフライス加工された物体１０２を示している。それぞれの切削部間に、各切削部対の交差部によって形成された三角形の尖部が存在する。例えば切削部１０３および１０４間に尖部１０６が存在する。
【００２６】
図２は、ボールエンドフライスカッターの４つの切削部２０２〜２０５によってフライス加工された物体２０１の側面図である。切削部２０２、２０３および２０５は、破線２０６によって示される同一の深さを有する。しかしながら、切削部２０４は、切削部２０２、２０３および２０５よりも深い。各切削部対は、尖部で交わる。例えば、切削部２０２および切削部２０３は、尖部２０７で交わり、切削部２０３および切削部２０４は、尖部２０８で交わる。切削部２０４は、隣接する切削部よりも深いので、尖部２０８の角度２２０は、尖部２０７の角度２２２よりも大きい。隣接する切削部間の距離は、ステップオーバー距離２３０であり、通常、機械加工命令の生成中にＣＡＭシステムのオペレーターによって決定される。
【００２７】
図３は、切削深さに対する尖部の角度の依存性を示している。この例では、尖部の角度は、０．２ｍｍ離れた２つの切削部間で求められる。すなわち、工具は、４ｍｍの直径を有するボールエンドミル切削工具を用いて、０．２ｍｍの増分距離ステップで移動する。切削深さが増大するとともに角度が増大する。
【００２８】
本発明の実施の形態は、切削深さに対する尖部の角度の依存性が、シミュレーション中にレンダリングされる物体の表面の向きおよび／または物体のモデルに依拠するという認識に基づいている。このため、表面の向き、特に、向きの変化率を用いて、物体のモデルの欠陥を判断することができる。例えば、シミュレーションされる表面のより粗い領域を特定し、強調表示することができる。
【００２９】
図４は、物体のモデルの表面の欠陥を判断するための方法４００のブロック図を示している。本発明の様々な実施の形態において、表面は、物体の表面全体、物体の表面全体の一部分、特定の視点から見える表面、欠陥の確率が高い物体の領域、および／またはそれらの組合せである。１つの実施の形態では、物体のモデルは、１組の機械加工命令に基づいて元の物体のモデルから生成される。本方法のステップは、当該技術分野において既知のプロセッサ４０１によって実行される。
【００３０】
物体のモデルの表面４２５は、物体の表面の基礎を成す表現４１０に基づいてレンダリングモジュール４２０によってシミュレートされる。表面向きモジュール４３０は、表面の各ピクセルにおける表面の向き４３５を求める。
【００３１】
向き比較モジュール４４０は、表面の向きの変化率４４６を求め、これを１つまたは複数のしきい値４４５と比較して、表面の欠陥を判断する。１つの実施の形態は、変化率を最小しきい値と比較する。すなわち、最小しきい値よりも高い値を有する表面の向きの変化率に対応する表面の部分が特定される。付加的にまたは代替的に、別の実施の形態は、変化率を最大しきい値と比較する。すなわち、最大しきい値未満の値を有する表面の向きの変化率に対応する表面の部分が特定される。
【００３２】
様々な実施の形態において、元の表面の形状、工具の大きさ、機械加工命令および／または所望の精度に基づいて、最小しきい値および／または最大しきい値が決定される。
【００３３】
最小しきい値は、物体のシミュレーションされるモデルの表面の大部分にわたる平滑な領域の尖部と、通常あまり頻繁に生じない表面の実際の欠陥と間の区別を容易にする。図３に示すように、尖部の角度は、工具の寸法、例えば直径、およびステップオーバー距離の関数である。例えば、１つの実施の形態では、ステップオーバー距離は、工具の直径および表面の所望の平滑性、すなわち尖部の高さに基づいて選択される。このため、尖部の所望の角度は、機械加工プロセスの前に知られている。
【００３４】
機械加工プロセスは、限定ではないが、旋削加工動作、フライス加工動作およびドリル加工動作を含む。動作に依拠して、機械加工プロセスは、機械加工工具を選択すること、例えば、単一点工具または多刃工具等の工具のタイプ、工具の形状、材料および寸法を選択すること、工具の動きの方向、工具のステップオーバー距離を決定すること、および動作のための機械加工命令を決定することをさらに含む。そして、機械加工命令は、動作順序および工具の経路を含む。
【００３５】
機械加工プロセスは、表面の所望の精度を制御する。例えば、粗切削のためのステップオーバー距離は、仕上げ切削のためのステップオーバー距離よりも大きくすることができる。一方、ステップオーバー距離の値は、機械加工プロセスによって表面の平滑性を制御する一例にすぎない。したがって、本発明の幾つかの実施の形態は、物体の表面を生成する機械加工プロセスに基づいて、最小しきい値および／または最大しきい値を決定する。同様に、幾つかの実施の形態は、物体のモデルの表面を生成する機械加工プロセスのシミュレーションに基づいてしきい値を決定する。
【００３６】
例えば、１つの実施の形態は、尖部の所望の角度の値に基づいて最小しきい値を決定する。この実施の形態の１つの変形形態は、尖部の所望の角度の値を、尖部の角度の許容可能な変動の大きさに依拠したマージンだけ増大させることによって最小のしきい値を決定する。
【００３７】
付加的にかつ代替的に、表面の欠陥が比較的稀であることに基づいて、最小しきい値を決定することができる。例えば、１つの実施の形態は、下記で説明する、ピクセル数対法線ベクトルの変化率のヒストグラムを求め、大部分のピクセルがしきい値未満の変化率を有するように最小しきい値を選択する。
【００３８】
本方法の出力４５５は、出力モジュール４５０によって処理される。例えば、出力モジュールは、欠陥を有する表面の特定された部分をメモリ（図示せず）に記憶する。付加的にまたは代替的に、出力モジュールは、図７に示すようにディスプレイ上に物体のモデルを表示し、欠陥を有する表面の部分７０１を強調表示する。
【００３９】
法線ベクトル
本発明の幾つかの実施の形態は、法線ベクトルに基づいて表面の向きを求める。本明細書において言及されているように、ピクセルにおける法線ベクトルは、１に等しい長さを有し、ピクセルに対応する位置において表面に対し垂直である。例えば、図２を参照すると、ベクトル２０９は、尖部２０８に隣接する切削部２０３に関連付けられた法線ベクトルであり、ベクトル２１０は尖部２０８に隣接する切削部２０４に関連付けられた法線ベクトルである。次に、尖部の各エッジにおいて、表面の法線ベクトルのベクトルドット積を計算することによって尖部の角度が求められる。ドット積は、尖部の角度のコサインである。
【００４０】
オンライン処理
図５は、物体の表面をレンダリングしながら、物体のモデルの表面の欠陥を強調表示するための方法を示している。物体のシミュレーションされた表面のレンダリング５０２は、表面５０１の基礎を成す表現に依拠する。例えば、表面は、元の表面を表す距離場と、切削中に機械加工工具によって掃引される体積を表す距離場との間のブール差によって表すことができる。
【００４１】
１つの実施の形態では、表面は、従来のレイキャスティング法によってレンダリングされる。レイキャスティング法では、各ピクセルと関連付けられた数学的光線が視方向からシミュレーションされた表面上に投影される。表面と交わる各光線の色および明るさは、交差地点における表面の色および法線ベクトルによって決まる。
【００４２】
表面の別の表現５０１は、三角形等の幾何プリミティブのメッシュである。１つの実施の形態では、三角形のメッシュは、ＯｐｅｎＧＬ等のグラフィックスアプリケーションプログラミングインタフェース（ＡＰＩ）を用いてレンダリングされる。通常、色および法線ベクトルは、観察条件に従って、三角形がまたがるピクセルにわたるグラフィック実現によって補間された三角形の各頂点において定義される。
【００４３】
法線ベクトルを用いて、表面がその表面上方の或る位置にある光によって照明されているかのように、ピクセルの明るさを計算する。一例として、１つの従来のコンピューター照明技法は、ピクセルの明るさを、法線ベクトルと無関係の環境成分と、法線ベクトルと表面から照明位置までのベクトルとのベクトルドット積に比例する拡散成分と、表面法線ベクトルと観察方向および光方向の中間にあるベクトルとのドット積に比例する鏡面成分との和に、表面の光沢性によって求められた冪乗を行ったものとして求める。
【００４４】
従来のレンダリングでは、表面の画像内のピクセルごとの法線ベクトルを用いてピクセルの明るさを計算し、その後、その法線ベクトルは、破棄される。結果として得られるピクセル値は、色フレームバッファーと呼ばれるメモリに記憶され、最終的に表示、記憶または送信される。
【００４５】
一方、本発明の１つの実施の形態は、ピクセルの明るさを計算するために求められた法線ベクトルを破棄する代わりに、この法線ベクトルを、表面の欠陥を特定および／または強調表示するために再利用する。この実施の形態では、法線ベクトルを用いてピクセルの明るさを即座に計算する代わりに、表面の画像内の全てのピクセルの法線ベクトル５０３が法線フレームバッファー５０４に記憶される。全ての法線ベクトルが記憶されると、法線ベクトルは、欠陥を特定および／または強調表示するように処理される。
【００４６】
１つの実施の形態では、法線ベクトル間の中心差分に基づいて法線ベクトルの変化率４４６が求められる。特に、ピクセルにおける表面の向きの変化率が、そのピクセルにおける法線ベクトルと近傍ピクセルにおける法線ベクトル、例えば、そのピクセルに隣接するピクセルにおける法線ベクトルとの差として求められる。
【００４７】
図６は、ピクセル６０２における法線ベクトルと、隣接するピクセル６０２〜６１０における法線ベクトルとの間の中心差分に基づいて、ピクセル６０２、例えば窓６０１内の中心ピクセル６０２、における表面の向きの変化率を求める一例を示している。窓６０１は、ピクセルごとの変化率を求めるために、表面のモデルの全てのピクセルにわたって垂直に（６２０）および／または水平に（６３０）移動する。
【００４８】
窓６０１は、法線フレームバッファーから選択された法線ベクトルの３×３のグリッドをカバーする。本明細書において定義されるとき、ピクセル６０２における法線ベクトルは、
【数１】
0005666013.tif 000002
であり、８つの最も近傍のピクセル６０３〜６１０の法線ベクトルは、
【数２】
0005666013.tif 000003
である。ここで、ｉは、窓内の法線ベクトルのインデックスであり、例えば、１〜８の範囲をとり、ｘ、ｙおよびｚは軸ｘ、ｙおよびｚに沿った法線ベクトルの３次元（３Ｄ）成分を特定する。次に、ピクセルロケーション６０２における法線ベクトル成分の変化率Ｒ０が、以下によって求められる。
【数３】
0005666013.tif 000004
ここで、ｊは、ベクトルの成分、すなわち、ｘ、ｙまたはｚを示す。法線ベクトルの変化率は、例えば、成分Ｒ０ｊの二乗和平方根である。
【００４９】
本発明の様々な実施の形態は、異なるしきい値を用いて表面の欠陥を特定する。変化率値が最小しきい値５０７未満である表面の領域は、平滑な表面および／または欠陥でない切削部間の尖部を有する表面に対応する。最大しきい値５０８を超える変化率値を有する表面の領域は、物体のエッジおよび／または表面の非自由形状領域に関連付けられた深い切削部に対応する。したがって、１つの実施の形態では、欠陥範囲内、すなわち、最小しきい値と最大しきい値との間の変化率の値に対応するピクセルのみが、表面の予想される欠陥領域として特定される。
【００５０】
例えば、１つの実施の形態は、欠陥領域内の変化率の値に対応するピクセルの色を、例えば、赤色に変更し（５０９）、その間、他のピクセルの色は、法線フレームバッファーに記憶された値を用いて通常通り計算される（５０６）。別の実施の形態は、ルックアップテーブルを用いて変化率に基づいてピクセルの色を設定する。例えば、最小しきい値未満の変化率を有するピクセルは、青色を付けられ、欠陥範囲内の変化率を有するピクセルは、赤色を付けられ、最大しきい値を超える変化率を有するピクセルは、緑色を付けられる。しかしながら、当業者であれば、欠陥の視覚的特定を向上させるために、多くの他の方法および／またはルックアップテーブルを適用することができることを容易に認識するであろう。欠陥範囲内の変化率を有する領域に対応するピクセルが求められた後、ピクセルは、メモリ５１１内に記憶され、これらのピクセルの色が色フレームバッファー５１０内に記憶される。
【００５１】
オフライン処理
幾つかの実施の形態は、ピクセルの明るさをレンダリングおよび／または求めるプロセスと別個のプロセスにおいて表面の欠陥を特定する。これらの実施の形態は、幾つかの用途において、ピクセルの密度は、表面がレンダリング中に拡大されない限り、小さな欠陥を検出するのに不十分であることを考慮する。同様に、ピクセルの密度が不十分であることによって、表面の不十分なサンプリングに起因して欠陥が見逃される可能性がある。
【００５２】
付加的におよび／または代替的に、表面の幾つかの欠陥は、レンダリングされたモデルにおける観察方向から見えない。１つの実施の形態において、この制限は、広い角度範囲にわたって密なスケールでシミュレーションされた表面を観察することによって克服される。
【００５３】
一方、別の実施の形態は、シミュレーションが完了した後、シミュレーション結果のビューと無関係に表面の欠陥を特定する。実施の形態は、表面の部分を、最小サイズよりも大きい欠陥を特定することができることを保証するのに十分高い分解能でオフスクリーン法線バッファー内にレンダリングする。付加的におよび／または代替的に、実施の形態は、或る範囲の視点から、例えば、＋ｘ、−ｘ、＋ｙ、−ｙ、＋ｚおよびｚ軸のそれぞれに沿って、シミュレーションされた表面を検査する。代替的に、１つの実施の形態は、表面の一部分を粗くレンダリングして、表面のその部分の支配的向きを求め、その支配的向きから表面をレンダリングする。
【００５４】
幾つかの実施の形態では、最小しきい値と最大しきい値との間の表面の向きの変化率を有する全てのピクセルが表面の欠陥に対応するわけではない。幾つかのピクセルは、それによってピクセルの表面法線が誤って求められるような、レンダリングプロセスにおける欠陥に対応する可能性がある。したがって、本発明の１つの実施の形態は、最初に表面の一部分を粗くレンダリングし、低分解能の欠陥検出を実行する。欠陥が低分解能で特定される表面の領域は、次に高分解能で局所的に再レンダリングされ、機械加工切削部のエッジに沿った一列のピクセルによって特定される欠陥の検出を改善する。
【００５５】
また、１つの実施の形態は、法線フレームバッファーを用いて、表面の高分解能のレンダリングに関する情報を保持する。代替的な実施の形態は、表面を重なり合うかまたは隣り合うパッチに分割し、欠陥特定品質を妥協することなくメモリ要件を低減する。
【００５６】
別の実施の形態は、シミュレーションされた表面における予想される欠陥エリアのリストを生成し、このリストをユーザーに出力する。例えば、リストは、低解像度画像の上に重ね合わされ、予想される欠陥領域を取り囲む長方形のボックスとして表すことができる。次に、ユーザーは、これらの領域をより細かく観察し、実際の欠陥の存在に関して最終的な判断を行うことができる。付加的にまたは代替的に、欠陥リストは、予想される欠陥の位置および特性を説明するテキスト形式で提示される。ユーザーが、シミュレーションされた画像の向きを変え、センタリングし、欠陥領域にズームするために欠陥リスト内のエントリを選択することができるようなユーザーインターフェースを用いることが有利である。
【００５７】
図８は、本発明の別の実施の形態の一例を示している。１組の機械加工命令８０１が、ネットワークを介してファイルとして、ＣＤまたはＤＶＤから、または当該技術分野において既知の他の手段によって、ＮＣ機械加工コントローラー８０２に提供される。コントローラー８０２は、プロセッサ８０３と、メモリ８０４と、機械の動作を示すためのディスプレイ８０５とを備える。プロセッサは、機械加工シミュレーションを実行し、本発明の実施の形態による方法、例えば、方法４００を実行して、機械加工シミュレーションの欠陥を特定する画像８０７をディスプレイ８０５上に生成する。
【図１Ａ】
0005666013.tif 000011
【図１Ｂ】
0005666013.tif 000012
【図２】
0005666013.tif 000013
【図３】
0005666013.tif 000014
【図４】
0005666013.tif 000015
【図５】
0005666013.tif 000016
【図６】
0005666013.tif 000017
【図７】
0005666013.tif 000018
【図８】
0005666013.tif 000019