(57)【要約】【課題】  加工面にワークを加工する工具のｚ座標を計算する際に、最大解であることが保証されており、しかも厳密解を計算する技術を提供する。【解決手段】  複数の面記述式で記述されるｘｙｚ空間内で広がる加工面にワークを加工する工具のｚ座標を計算する装置であり、加工面を微小要素群の集合で近似した数学モデルを記憶している手段と、ｘｙ座標を通ってｚ軸方向に伸びる軸に沿って工具を加工面に接近させたときに、工具に最初に接触する微小要素と、その時の工具のｚ座標を特定して記憶する手段と、特定された微小要素が属する面を記述している面記述式を特定する手段と、特定された工具のｚ座標を初期値にして、工具形状を記述する式と特定された面記述式を用いて、工具と面が接触するｚ座標の厳密解を数値計算する手段を備えている。【選択図】  図６
2005202792.tif 000002
【特許請求の範囲】
【請求項１】
複数の面記述式で記述されるｘｙｚ空間内で広がる加工面にワークを加工する工具のｚ座標を計算する装置であり、
前記加工面を微小要素群の集合で近似した数学モデルを記憶している手段、
ｘｙ座標を通ってｚ軸方向に伸びる軸に沿って工具を加工面に接近させたときに、工具に最初に接触する微小要素と、その時の工具のｚ座標を特定して記憶する手段、
特定された微小要素が属する面を記述している面記述式を特定する手段、
特定された工具のｚ座標を初期値にして、工具形状を記述する式と特定された面記述式を用いて、工具と面が接触するｚ座標の厳密解を数値計算する手段、
を備えている工具のｚ座標計算装置。
【請求項２】
微小要素毎に、その微小要素が属する面を記述している面記述式を対応づけて記憶しているマップを生成する手段を備えていることを特徴とする請求項１のｚ座標計算装置。
【請求項３】
ｘｙ座標毎に、工具に最初に接触する微小要素と、その微小要素が属する面を記述している面記述式と、その時の工具のｚ座標を対応づけて記憶しているマップを生成する手段を備えていることを特徴とする請求項１または２のｚ座標計算装置。
【請求項４】
各微小要素と各面記述式が、それぞれに固有の識別子で特定されることを特徴とする請求項１から３のいずれかのｚ座標計算装置。
【請求項５】
複数の面記述式で記述されるｘｙｚ空間内で広がる加工面にワークを加工する工具のｚ座標を計算する方法であり、
前記加工面を微小要素群の集合で近似した数学モデルを生成する工程、
ｘｙ座標を通ってｚ軸方向に伸びる軸に沿って工具を加工面に接近させたときに、工具に最初に接触する微小要素と、その時の工具のｚ座標を特定する工程、
特定された微小要素が属する面を記述している面記述式を特定する工程、
特定された工具のｚ座標を初期値にして、工具形状を記述する式と特定された面記述式を用いて、工具と面が接触するｚ座標の厳密解を数値計算する工程、
を備えている工具のｚ座標計算方法。
【請求項６】
複数の面記述式で記述されるｘｙｚ空間内で広がる加工面にワークを加工する工具のｚ座標を計算するプログラムであり、電子計算機に、
前記加工面を微小要素群の集合で近似した数学モデルを生成する処理、
ｘｙ座標を通ってｚ軸方向に伸びる軸に沿って工具を加工面に接近させたときに、工具に最初に接触する微小要素と、その時の工具のｚ座標を特定する処理、
特定された微小要素が属する面を記述している面記述式を特定する処理、
特定された工具のｚ座標を初期値にして、工具形状を記述する式と特定された面記述式を用いて、工具と面が接触するｚ座標の厳密解を数値計算する処理、
を実施させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３軸制御のＮＣ加工技術（数値制御加工技術）に関し、特に工具高さを正確に計算する技術に関する。
【背景技術】
【０００２】
ＮＣ工作機械は、工具とワークを予め教示された移動経路に沿って相対移動させることによって、ワークを加工面に加工する。３軸制御のＮＣ工作機械では、工具を回転軸に沿ってワークに向けて移動させることでワークを加工する。本明細書と特許請求の範囲では、工具の回転軸ないしは工具の移動方向をｚ軸という。そのｚ軸に対して直交座標系を構成する軸をｘ軸とｙ軸という。３軸制御のＮＣ工作機械では、ｘｙ座標毎に、工具の接近限界を定めるｚ座標を正確に計算する必要がある。大きなｚ座標を用いれば加工面が所望のものよりも外側に大きくなり、小さなｚ座標を用いれば加工面よりも小さく加工されてしまう。
工具位置を座標で特定できるようにするために、工具には基準点が定められている。基準点の座標を指定することによって工具位置が特定される。図１に工具の基準点の一般的な例を示す。図１（ａ）はボールエンドミル１００の場合を示し、図１（ｂ）はフラットエンドミル１０２の場合を示し、図１（ｃ）はラジアスエンドミル１０４の場合を示している。図１（ａ）のボールエンドミル１００の場合には、球面状の刃先面１００ａの中心点を基準点Ｔとする。図１（ｂ）のフラットエンドミル１０２の場合には、平面状の刃先面１０２ａの中心点を基準点Ｔとする。図１（ｃ）のラジアスエンドミル１０４の場合には、工具の刃先面１０４ａの平面部１０４ｂの中心点１０４ｄから、円弧状の刃先面１０４ｃの半径分だけ上方の点を基準点Ｔとする。なお、図１（ｃ）の点Ｐは、円弧状の刃先面１０４ｃの中心点を示す。
【０００３】
工具の基準点の座標によって工具位置を定める場合、加工面に加工するためには、工具の基準点Ｔの座標を加工面からオフセットする必要がある。図２に示すように、例えば工具がボールエンドミル１００の場合、加工面Ｄから刃先面１００ａの半径ｄ分だけオフセットさせたオフセット面Ｍ内に基準点Ｔが位置すると、加工面Ｄに加工できる。フラットエンドミル１０２やラジアスエンドミル１０４の場合も同様に、刃先面の形状に応じて加工面Ｄからオフセットさせたオフセット面Ｍ内に、工具の基準点Ｔが位置しなければならない。
図２に示すように、オフセット面Ｍは、工具回転軸の位置を示すｘｙ座標（ｘｉ，ｙｉ）に対応付けて、工具基準点Ｔのｚ座標（ｚｉ）を記憶している２次元マップ１１０で記述することができる。以下、この２次元マップ１１０をＺマップとよぶ。
【０００４】
Ｚマップ１１０を生成するためには、工具回転軸の位置を示すｘｙ座標毎に、加工面Ｄに工具の刃先面が接するときの工具基準点Ｔのｚ座標を求める演算が必要となる。
加工面Ｄが式で記述されていれば、工具の刃先形状を記述する式と組合せて用い、両者が接触する工具基準点Ｔのｚ座標を解くことができる。
しかしながら、両者が接触する工具基準点Ｔのｚ座標を解くと、しばしば複数のｚ座標が計算される。例えば図３はその一例を示し、複数の解をもたらす加工面Ｄが例示されている。この場合、３つのｚ座標の解が存在する。過切削を防止するためには、最も大きなｚ座標（この場合はｚ１）を選択する必要がある。切削不足については仕上げ工程で修正できるに対し、過切削してしまうとその後に修正するのが困難となるからである。
この技術で問題なのは、解の個数が未知であり、計算された解のうちで最も大きなｚ座標が最大の解であることを保証できないことである。数値計算をつづけると、さらに大きな解が計算されることがある。例えば図３の場合、高さｚ２とｚ３の解が先に計算され、まだ高さｚ１の解が計算されない段階で最大解を求めてしまうと、高さｚ２が選択されてしまい、図３のハッチング部Ｈが過切削されてしまう。
加工面Ｄを記述する式と工具の刃先形状を記述する式から、両者が接触するときの工具基準点Ｔのｚ座標を解く技術では、最大解を求めることが保証できず、過切削の可能性が残ってしまう。
【０００５】
最大解が確実に計算されるようにするために、加工面Ｄを点群、線群あるいは多面体群で近似することが一般的である。それによって、Ｚマップを生成する演算は簡単化され、最大解であることが保証できるようになる。図４は、加工面Ｄを点Ｅ１〜点Ｅ７群に離散近似した例を示している。例えば、ボールエンドミル１００の刃先面１００ａが点Ｅ３に接触するときの基準点Ｔの高さ位置ｚ３は一意に求まる。同様に、刃先面１００ａが点Ｅ４に接触するときの基準点Ｔの高さ位置ｚ４、刃先面１００ａが点Ｅ５に接触するときの基準点Ｔの高さ位置ｚ５も一意に求められる。また、刃先面１００ａと点Ｅ１について解くと、「解なし」という結果が得られる。この場合、回転軸が位置（ｘ１，ｙ１）にある刃先面１００ａは、点Ｅ１に接触しないことを知ることができる。同様に、刃先面１００ａと点Ｅ２、刃先面１００ａと点Ｅ６、刃先面１００ａと点Ｅ７について解くと、「解なし」という結果が得られる。このように、加工面Ｄを単純な形状の微小要素群（点Ｅ群）に離散近似することにより、加工面Ｄと刃先面１００ａが接するときの工具高さ位置を求める探索的な演算は、微小要素と刃先面１００ａの演算に置き換えられ、一意に解を求めることができる。すべての点Ｅ群について、刃先面１００ａが接触するときの基準点Ｔの高さ位置ｚを逐次計算することができ、算出したすべての中から最高位置を選択すれば、真の最高位置であることが保証される。
上記では、加工面Ｄを点群で離散近似した例を示したが、加工面Ｄを直線群で離散近似しても最高位置であることが保証された解を計算することができ、平面群で離散近似しても最高位置であることが保証された解を計算することができる。離散近似する場合には、点と点の距離、直線距離、平面の辺長を微小に採る必要がある。本明細書と特許請求の範囲では、加工面Ｄを点群、線群あるいは多面体群で離散近似したものを、微小要素群の集合で近似した数学モデルという。
【０００６】
加工面Ｄを微小要素群の集合で離散近似し、その数学モデルからオフセット面（Ｚマップ）を計算する技術が盛んに研究されている。特許文献１には、逆オフセット法と３次元グラフィクス表示技術を利用する方法が開示されている。逆オフセット法は、工具の刃先面が数学モデルに接触する高さを求めることにかえて、工具形状の上下を反転した仮想反転工具の基準点が数学モデル上に位置するように配置する。そして、配置された仮想反転工具形状群から最高位値を選択することにより、刃先面が数学モデルに接する最高位置を求める手法である。特許文献１の技術では、数学モデル上に配置された仮想反転工具形状群から最高位値を選択する工程を、３次元グラフィクス表示技術の陰面処理により行う技術を提案している。
【特許文献１】特開２００３−２５６０１２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
前記したように、加工面Ｄを記述する式と工具の刃先形状を記述する式から両者が接触するときの工具基準点Ｔのｚ座標を解くと、最大解を求めることが保証できず、過切削の危険性が残ってしまう。そこで、微小要素群の集合で離散近似した数学モデルを利用する技術が採用されており、この技術を用いれば、最大解であることが保証できないという問題を解決することができる。しかしながら、離散近似した数学モデルは、あくまで近似であり、真の加工面からは誤差が生じてしまう。微小要素群の集合で離散近似した数学モデルから計算した工具基準点Ｔのｚ座標はあくまで近似的なものであり、厳密なものではない。
本発明では上記の問題を解決する。本発明では、最大解であることが保証されており、しかも厳密解（近似処理しないで解いた解）を計算する技術を提供する。
【課題を解決するための手段】
【０００８】
本発明は、複数の面記述式で記述されるｘｙｚ空間内で広がる加工面にワークを加工する工具のｚ座標を計算する装置に具現化することができる。その装置は、加工面を微小要素群の集合で近似した数学モデルを記憶している手段と、ｘｙ座標を通ってｚ軸方向に伸びる軸に沿って工具を加工面に接近させたときに、工具に最初に接触する微小要素と、その時の工具のｚ座標を特定して記憶する手段と、特定された微小要素が属する面を記述している面記述式を特定する手段と、特定された工具のｚ座標を初期値にして、工具形状を記述する式と特定された面記述式を用いて、工具と面が接触するｚ座標の厳密解を数値計算する手段を備えている。
【０００９】
本装置では、加工面を微小要素群の集合で近似した数学モデルを記憶している手段と、ｘｙ座標を通ってｚ軸方向に伸びる軸に沿って工具を加工面に接近させたときに、工具が最初に微小要素に接触する時の工具のｚ座標を特定して記憶する手段を備えていることから、離散近似した数学モデルを利用して最大解を求める従来の技術を実行することができる。
本装置では、それで終わらずに、さらに処理を進めて厳密解を計算する。そのために、本装置では、工具に最初に接触する微小要素を特定し、特定された微小要素が属する面を記述している面記述式を特定する。
加工面は多くの場合に、ＣＡＤ装置を利用して定義される。ＣＡＤでは、加工面を、例えば、平面、円柱面、球面、自由曲面等の各種の面の組合せで定義する。各面は、面を記述する式で定義されている。
工具に最初に接触する微小要素が特定されれば、その微小要素が属する面を記述している面記述式を特定することができる。面記述式が特定されれば、その面と工具の刃先面が接触する工具高さの解を解析計算することができる。解析計算では計算の初期値を指定する必要がある。初期値の一つに対して得られる解は一つであり、最大解が得られるとは限らない。そこで、本装置では、離散近似した数学モデルを利用して計算した最大解を初期値にして数値計算を進める。離散近似した数学モデルを利用して計算した最大解は、幾何的には近似であって厳密解ではないが、近傍にある厳密解の位相を表しているとみなせる。この近傍位相のみなしにより厳密最大解に近似する近似最大解を初期値にして、加工面記述式と工具刃先面記述式を利用して両者が接触する工具高さを数値解法していくと、厳密最大解に到達することができる。
この装置によれば、最大解であることが保証されている厳密解（近似処理しないで解いた解）を計算することができ、３軸ＮＣ加工装置の加工精度を向上させることができる。
【００１０】
上記の装置において、微小要素毎に、その微小要素が属する面を記述している面記述式を対応づけて記憶しているマップを生成する手段が付加されていると好ましい。
工具に最初に接触する微小要素が特定されれば、特定された微小要素が属する面を記述している面記述式を、そのマップを参照して特定することができる。
【００１１】
また上記の装置において、ｘｙ座標毎に、工具に最初に接触する微小要素と、その微小要素が属する面を記述している面記述式と、その時の工具のｚ座標を対応づけて記憶しているマップを生成する手段が付加されていると好ましい。
そのマップが記述しているｚ座標を初期値にして、そのマップが記述している面記述式と工具刃先面記述式を利用して両者が接触する工具高さを数値解法していくと、工具の回転軸の位置を示すｘｙ座標毎に、工具と面が接触するｚ座標の厳密最大解を計算することができる。
【００１２】
各微小要素と各面記述式が、それぞれに固有の識別子で特定されることが好ましい。それにより、各微小要素や各面記述式を識別子で管理することができ、例えば、各微小要素と、その微小要素が属する面を記述している面記述式を、識別子で対応づけて管理することができる。
【００１３】
本発明はまた、複数の面記述式で記述されるｘｙｚ空間内で広がる加工面にワークを加工する工具のｚ座標を計算する新たな方法を提供する。この方法では、前記加工面を微小要素群の集合で近似した数学モデルを生成する工程と、ｘｙ座標を通ってｚ軸方向に伸びる軸に沿って工具を加工面に接近させたときに、工具に最初に接触する微小要素と、その時の工具のｚ座標を特定する工程と、特定された微小要素が属する面を記述している面記述式を特定する工程と、特定された工具のｚ座標を初期値にして、工具形状を記述する式と特定された面記述式を用いて、工具と面が接触するｚ座標の厳密解を数値計算する工程を備えている。
【００１４】
この方法では、加工面を微小要素群の集合で近似した数学モデルを生成する工程と、ｘｙ座標を通ってｚ軸方向に伸びる軸に沿って工具を加工面に接近させたときに、工具が最初に微小要素に接触する時の工具のｚ座標を特定する工程を備えていることから、離散近似した数学モデルを利用して最大解を求める従来の技術を実行することができる。
本発明の方法では、それで終わらずに、さらに処理を進めて厳密解を計算する。そのために、本発明の方法では、工具に最初に接触する微小要素を特定し、特定された微小要素が属する面を記述している面記述式を特定する。
工具に最初に接触する微小要素が特定されれば、その微小要素が属する面を記述している面記述式を特定することができる。面記述式が特定されれば、その面と工具の刃先面が接触する工具高さの解を計算することができる。解析計算では計算の初期値を指定する必要がある。初期値の一つに対して得られる解は一つであり、最大解が得られるとは限らない。そこで、この方法では、離散近似した数学モデルを利用して計算した最大解を初期値にして数値計算を進める。離散近似した数学モデルを利用して計算した最大解は、幾何的には近似であって厳密解ではないが、近傍にある厳密解の位相を表しているとみなせる。この近傍位相のみなしにより、厳密最大解に近似する近似最大解を初期値にして、加工面記述式と工具刃先面記述式を利用して両者が接触する工具高さを数値解法していくと、厳密最大解に到達することができる。
この方法によれば、最大解であることが保証されている厳密解（近似処理しないで解いた解）を計算することができ、３軸ＮＣ加工装置の加工精度を向上させることができる。
【００１５】
本発明によって創作された技術は、複数の面記述式で記述されるｘｙｚ空間内で広がる加工面にワークを加工する工具のｚ座標を計算するプログラムにも具現化される。このプログラムは電子計算機に、前記加工面を微小要素群の集合で近似した数学モデルを生成する処理と、ｘｙ座標を通ってｚ軸方向に伸びる軸に沿って工具を加工面に接近させたときに、工具に最初に接触する微小要素と、その時の工具のｚ座標を特定する処理と、特定された微小要素が属する面を記述している面記述式を特定する処理と、特定された工具のｚ座標を初期値にして、工具形状を記述する式と特定された面記述式を用いて、工具と面が接触するｚ座標の厳密解を数値計算する処理を実施させる。
このプログラムによれば、電子計算機に、最大解であることが保証されている厳密解（近似処理しないで解いた解）を計算させることができ、３軸ＮＣ加工装置の加工精度を向上させることができる。
【発明の効果】
【００１６】
本発明によると、複数の面記述式で記述されるｘｙｚ空間内で広がる加工面にワークを加工する工具のｚ座標を計算する際に、最大解であることが保証されており、しかも厳密解（近似処理しないで解いた解）を計算することができる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明を具現化した実施例について図面を参照して説明する。最初に実施例の主要な特徴を列記する。
（形態１）：  加工面の形状を記述するデータは、外部の３次元ＣＡＤ装置で生成することができる。
（形態２）：  コンピュータ装置１０で生成される工具の経路は、工具の回転軸の位置（ｘ，ｙ）に対応付けて工具の高さ位置ｚが記述された２次元マップで記述される。
（形態３）：  コンピュータ装置１０は、ボールエンドミルやフラットエンドミルやラジアスエンドミルの経路を生成することができる。
【実施例】
【００１８】
本実施例では、３軸制御のＮＣ工作機械に教示する工具経路情報を、本発明を利用して生成する手法について説明する。３軸制御のＮＣ工作機械では、工具の回転軸方向をｚ軸方向とする、ワーク（ＮＣ工作機械のテーブル）に固定されたｘｙｚ直交座標系が定められている。工具の回転軸の位置は座標（ｘ，ｙ）で表され、工具の高さ位置がｚ座標で表される。即ち、工具の経路は、工具の回転軸の位置（ｘ，ｙ）に対応付けて工具の高さ位置ｚを記述する２次元マップで記述される。以下、この２次元マップをＺマップという。本実施例では、加工面に対して精度の高い加工面が得られるＺマップを生成する手法を説明する。
【００１９】
図５に、本実施例で利用するコンピュータ装置１０の構成を示す。コンピュータ装置１０は、コンピュータ本体１２、マウス２４、キーボード２６、ディスプレイ３０、記録装置３２等を備えている。
コンピュータ本体１２は、ＣＰＵ１４、ＲＡＭ１６、ＲＯＭ１８、ハードディスクドライブ装置２０、入出力インターフェース２２等を備えている。ＣＰＵ１４やＲＡＭ１６やＲＯＭ１８やハードディスクドライブ装置２０は、入出力インターフェース２２に接続されており、互いにデータ等を授受可能である。
マウス２４とキーボード２６は、コンピュータ装置１０にデータやコマンドを入力するための入力装置である。ディスプレイ３０は、コンピュータ装置１０が利用者に教示する情報を表示する。
マウス２４、キーボード２６、ディスプレイ３０は、コンピュータ本体１２の入出力インターフェース２２に接続されている。
【００２０】
外部記録装置３２は、記録媒体３４に対して情報の読み書きを行う。外部記録装置３２は記録媒体３４に記述されている情報を読み取り、その情報をコンピュータ本体１２へ教示する。また、外部記録装置３２は、コンピュータ本体１２から教示された情報を、記録媒体３４に書き込む。外部記録装置３２は、入出力インターフェース２２にデータ等を授受可能に接続されている。
記録媒体３４としては、例えばＣＤ−Ｒ、ＭＯ、ＤＶＤ等の記録ディスク等を利用することでき、それらに対応して外部記録装置３２には、ＣＤ−Ｒドライブ装置、ＭＯドライブ装置、ＤＶＤドライブ装置等を用いることができる。
コンピュータ装置１０は、本実施例の処理を実行するためのプログラムを、ハードディスクドライブ装置２０に記憶している。このプログラムは、記録媒体３４に記述することもできる。このプログラムが記述された記録媒体３４を利用すれば、一般的に利用されているコンピュータ装置を用いて、本実施例の処理を行うことができる。
【００２１】
図６は、コンピュータ装置１０の機能的な構成を示している。コンピュータ装置１０は、機能的に記憶部４０と設定部４２と処理部４４に分類される。記憶部４０や設定部４２や処理部４４は、コンピュータ装置１０のハードウェアやソフトウェア等によって構成される。
【００２２】
記憶部４０は、コンピュータ装置１０が処理に用いるデータ等を記憶する。コンピュータ装置１０は、外部から教示されるデータや自己が生成したデータを、記憶部４０に記憶する。記憶部４０は、加工面データ５２、数学モデルデータ５４、識別子対応データ５６、近似Ｚマップ（第１マップ）５８、微小要素マップ（第２マップ）６０、修正Ｚマップ（第３マップ）６２等を記憶する。
加工面データ５２は、ワークに要求される加工面（加工面）の形状を記述している。加工面データ５２は、外部の３次元ＣＡＤ（Computer Aided Design）装置によって生成された３次元ＣＡＤデータである。
図７は加工面データ５２が記述する加工面Ｄの一例を示している。図７に示すように、加工面データ５２では、ワークＷ上の加工面Ｄを記述している。加工面Ｄは、複数の基本形状が組合わされて記述されている。基本形状とは、例えば面Ｓや稜線Ｃや頂点Ｖである。面Ｓには、例えば平面、円柱面、球面、自由曲面等が用いられる。それぞれの基本形状は、個々に設定されたパラメータを用いた表現式で記述される。例えば面Ｓは、面上にパラメータ（ｕ，ｖ）が定められており、曲面表現式Ｓ（ｕ，ｖ）で記述されている。また、稜線Ｃはパラメータｔによって曲線表現式Ｃ（ｔ）で記述されている。
すべての基本形状には、それぞれを識別することが可能な識別子ＩＤが割り当てられている。
数学モデルデータ５４、識別子対応データ５６、近似Ｚマップ（第１マップ）５８、微小要素マップ（第２マップ）６０、修正Ｚマップ（第３マップ）６２は、コンピュータ装置１０の処理によって生成される。
【００２３】
設定部４２は、マウス２４やキーボード２６を含んで構成されており、利用者がコンピュータ装置１０へ指示を与えることを可能とする。設定部４２は、利用者の指示に基づいて、工具の経路を生成する条件を設定する。設定部４２が設定した条件は、設定部４２は処理部４４に教示される。設定部４２は、近似条件設定部８２と、工具設定部８４を有している。
【００２４】
処理部４４は、記憶部４０が記憶しているデータや、設定部４２が教示する条件に基づいて、工具経路情報を生成する処理を行う。処理部４４は、数学モデル生成部７２と、近似Ｚマップ生成部７４と、微小要素マップ生成部７６と、接点仮定部７８と、Ｚマップ修正部８０を有している。
【００２５】
図８は、コンピュータ装置１０の動作を示すフローチャートである。以下、コンピュータ装置１０の処理を、図８のフローチャートが示す流れに沿って説明する。
図８のステップＳ１では、コンピュータ装置１０が加工面データ５２を入手して、記憶部４０に記憶する。このステップＳ１では、例えば利用者が記録媒体３４を用いて、加工面データ５２をコンピュータ装置１０に教示することができる。コンピュータ装置１０は、記録媒体３４から加工面データ５２を読み取り、記憶部４０に記憶する。なお、ここでは加工面データ５２が図７に示した加工面Ｄを記述しているものとして、以下に説明を続ける。
【００２６】
ステップＳ３では、近似条件設定部８２が近似条件を設定する。近似条件設定部８２は、利用者の指示に基づいて、加工面データ５２が記述する加工面Ｄを、微小要素によって離散近似するための条件を設定する。例えば利用者は、加工面Ｄを点群によって離散近似（０次近似）するのか、あるいは加工面Ｄを微小面群によって離散近似（１次近似）するのかを指示することができる。近似条件設定部８２は、設定した近似条件を、処理部４４に教示する。なお、ここでは利用者が点群による０次近似を指示したものとし、以下に説明を続ける。
ステップＳ５では、工具設定部８４が工具を設定する。工具設定部８４は、利用者の指示に基づいて、工具経路の生成に用いる工具を設定する。このとき利用者は、例えば、図１に示したボールエンドミル１００を選択し、その刃先面１００ａの半径ｄを教示することができる。あるいは、フラットエンドミル１０２やラジアスエンドミル１０４を選択し、それらの半径等を指示することもできる。工具設定部８４は、設定した工具を処理部４４に教示する。なお、ここでは利用者がボールエンドミル１００を指示したものとし、以下に説明を続ける。
【００２７】
図８のステップ７では、数学モデル生成部７２による処理が行われる。
数学モデル生成部７２の処理動作を説明する。数学モデル生成部７２は、記憶部４０に記憶されている加工面データ５２を読み取る。図７に示したように、加工面データ５２では、複数の基本形状群によって加工面Ｄが形成されている。また、加工面データ５２では、各基本形状に識別子ＩＤが割り当てられている。
次に、数学モデル生成部７２は、ステップＳ３で教示された近似条件に基づいて、加工面Ｄを微小要素群に離散近似する。ここではステップＳ３において、近似条件が点Ｅ群による０次近似に設定されているので、加工面Ｄは点群によって離散近似（０次近似）される。図９は、加工面Ｄを点Ｅ群によって０次近似した数学モデルＤａを示す。このとき、微小要素の点Ｅ群には、それぞれを識別可能な識別子ｉｄが割り当てられる。数学モデル生成部７２は、生成した数学モデルを記述する数学モデルデータ５４を生成する。数学モデルデータ５４には、微小要素の識別子ｉｄが併せて記述される。生成された数学モデルデータ５４は、記憶部４０に記憶される。
曲面形状等を点群あるいは面群によって離散近似する技術は、たとえばコンピュータグラフィクス技術の分野において多くの手法が提案されている。数学モデルデータ５４の生成にそれらの技術を利用することができる。
数学モデル生成部７２は、上記の数学モデルデータ５４を生成する際に、識別子対応データ５６を生成する。識別子対応データ５６は、数学モデルＤａを構成する点Ｅ（微小要素）群の識別子ｉｄに対応付けて、加工面Ｄを構成する基本形状の識別子ＩＤが記述されている。数学モデル生成部７２が生成した数学モデルＤａを構成する点Ｅ群のそれぞれは、加工面Ｄを構成する基本形状（面Ｓ、稜線Ｃ、頂点Ｖ）群のいずれかを近似している。識別子対応データ５６では、点Ｅ（微小要素）群の識別子ｉｄと、その点Ｅ群が近似した基本形状の識別子ＩＤが対応付けて記述される。生成された識別子対応データ５６は、記憶部４０に記憶される。
【００２８】
図８のステップ９では、近似Ｚマップ生成部７４による処理が行われる。
近似Ｚマップ生成部７４の処理動作を説明する。近似Ｚマップ生成部７４は、記憶部４０に記憶されている数学モデルデータ５４を読み取る。ここでは、数学モデルデータ５４は、図９に示した数学モデルＤａを記述している。数学モデルＤａを構成している点Ｅ（微小要素）群には、識別子が付与されている。
次に、近似Ｚマップ生成部７４は、ステップＳ５で工具設定部８４が設定した工具に基づいて、数学モデルＤａに対するＺマップを記述する近似Ｚマップ５８を生成する。先に説明したように、Ｚマップとは、工具の回転軸の位置（ｘ，ｙ）に対応付けて工具の高さ位置ｚを記述する２次元マップであり、工具の経路を記述する。近似Ｚマップ５８では、数学モデルＤａに対する工具の経路が記述される。
【００２９】
近似Ｚマップ生成部７４による近似Ｚマップ５８の生成を説明する。近似Ｚマップ生成部７４は、最初にボールエンドミル１００の回転軸の位置（ｘ，ｙ）を設定する。例えばボールエンドミル１００の回転軸が位置（ｘ１，ｙ１）に設定された場合、先に示した図４を用いて説明することができる。図４に示すように、近似Ｚマップ生成部７４は、位置（ｘ１，ｙ１）に回転軸が固定されたボールエンドミル１００を仮定する。
近似Ｚマップ生成部７４は、仮定したボールエンドミル１００の刃先面１００ａが、点Ｅ群に接触するときの基準点Ｔの高さ位置ｚを、数学モデルＤａを構成するすべての点Ｅについて逐次算出する。例えば図４に示す場合では、刃先面１００ａが点Ｅ１〜点Ｅ７のそれぞれと接触するときの基準点Ｔの高さ位置を逐次算出する。例えば、刃先面１００ａと点Ｅ３が接触するときの基準点Ｔの高さ位置を演算すると、高さ位置ｚ３が一意に求まる。同様に、刃先面１００ａが点Ｅ４に接触するときの基準点Ｔの高さ位置ｚ４、刃先面１００ａが点Ｅ５に接触するときの基準点Ｔの高さ位置ｚ５も一意に求めることができる。また、刃先面１００ａと点Ｅ１について解くと、「解なし」という結果が得られる。この場合、回転軸が位置（ｘ１，ｙ１）にある刃先面１００ａは、点Ｅ１に接触しないことを知ることができる。同様に、刃先面１００ａと点Ｅ２、刃先面１００ａと点Ｅ６、刃先面１００ａと点Ｅ７について解くと、「解なし」という結果が得られる。図４には、数学モデルＤａを構成する一部の点Ｅ群が図示されており、実際には図４に図示されない他の点Ｅ群についても同様に逐次計算される。それにより、回転軸が位置（ｘ１，ｙ１）にある刃先面１００ａが、数学モデルＤａを構成する点Ｅ群のいずれかに接触するときの高さ位置が、すべて確実に求められる。
【００３０】
近似Ｚマップ生成部７４は、上記の逐次計算で得たすべての高さ位置ｚのうちから、最高位置のものを選択する。例えば、図４に示す場合では、高さ位置ｚ３を選択する。この基準点Ｔの高さ位置ｚ３は、ボールエンドミル１００の回転軸が位置（ｘ１，ｙ１）に位置するときに、刃先面１００ａが数学モデルＤａに接触する最高位置を示す。このようにして、近似Ｚマップ生成部７４は、工具の回転軸の位置（ｘ１，ｙ１）に対応付けて、近似Ｚマップ５８に記述する高さ位置ｚ３を決定する。
近似Ｚマップ生成部７４は、上述した工具の回転軸の位置（ｘ１，ｙ１）に対応付けて、基準点Ｔの高さの最高位置ｚ３を決定すると、その最高位置ｚ３を導出した点Ｅ３の識別子ｉｄを認識する。その認識した点Ｅ３の識別子ｉｄは、回転軸の位置（ｘ１，ｙ１）と共に、微小要素マップ生成部７６に教示される。
近似Ｚマップ生成部７４は、工具の回転軸の位置（ｘ，ｙ）を所定のピッチだけ変位させ、再び上記と同様の処理を行う。この処理を繰り返し、図１０に示すように、格子状に配置された工具軸の位置（ｘ，ｙ）に対応付けて、基準点Ｔの高さ位置ｚが記述された近似Ｚマップ（第１マップ）５８を生成する。近似Ｚマップ（第１マップ）５８では、数学モデルＤａに、ボールエンドミル１００の刃先面１００ａが接触する基準点の高さの最高位置が、工具の回転軸の位置に対応付けて記述されている。生成された近似Ｚマップ５８は、記憶部４０に記憶される。
【００３１】
図８のステップＳ１１では、微小要素マップ生成部７６の処理が行われる。
微小要素マップ生成部７６の処理動作を説明する。ステップＳ９において、微小要素マップ生成部７６には、近似Ｚマップ生成部７４から、工具の回転軸の位置（ｘ，ｙ）と点Ｅ（微小要素）群のｉｄからなる対のデータが教示される。微小要素マップ生成部７６は、教示された回転軸の位置（ｘ，ｙ）と点Ｅ（微小要素）群の識別子ｉｄからなる対のデータに基づいて、微小要素マップ（第２マップ）６０を生成する。図１０に示すように、微小要素マップ（第２マップ）６０では、工具の回転軸の位置（ｘ，ｙ）に対応付けて点Ｅ（微小要素）群の識別子ｉｄを記述している。微小要素マップ（第２マップ）６０に記述された識別子ｉｄは、ボールエンドミル１００が近似Ｚマップ（第１マップ）５８に記述された高さに位置するときに、その刃先面１００ａが接触する点Ｅ（微小要素）群の識別子ｉｄである。生成された微小要素マップ６０は、記憶部４０に記憶される。
【００３２】
上述のステップＳ９で生成された近似Ｚマップ５８を、３軸制御のＮＣ工作機械に教示すれば、加工面Ｄが点Ｅ群で離散近似された数学モデルＤａを加工することができる。従来では、３軸制御のＮＣ工作機械によって加工面Ｄを加工する場合、工具の経路を記述する情報として、この数学モデルに基づいて生成した近似Ｚマップ５８が利用されてきた。
図１１を参照して、近似Ｚマップ５８を用いた場合の加工状態を説明する。図１１は、ボールエンドミル１００の回転軸が位置（ｘ１，ｙ１）に位置している場合を示す。ボールエンドミル１００の基準点Ｔが、近似Ｚマップ５８に記述された高さ位置ｚ３に位置するとき、その刃先面１００ａは数学モデルＤａの微小要素の点Ｅ３に接触するが、加工面Ｄと正しく接していない。刃先面１００ａが加工面Ｄに正しく接するとは、刃先面１００ａが加工面Ｄに接しており、かつ、その接点のみで接触していることを意味する。図１１に示す場合では、刃先面１００ａが加工面Ｄと交わっており、加工面Ｄよりもハッチング部Ｈの分だけ過剰に切削してしまう。
このように、離散近似した数学モデルは、あくまで近似であり、真の加工面からは誤差が生じてしまう。微小要素群の集合で離散近似した数学モデルから計算した工具基準点Ｔのｚ座標はあくまで近似的なものであり、刃先面が加工面に正しく接する厳密なものではない。
この過切削等の誤差を低減するためには、加工面Ｄをより細かに離散近似することが必要である。しかしながら、加工面Ｄをいかに細かに離散近似しても、加工面Ｄと数学モデルの誤差をなくすことはできない。また、微小要素を増加させてしまうと、数学モデルを生成する処理やＺマップを生成する処理が増大してしまう。
本実施例では、以下に説明する処理によって、近似Ｚマップ５８が記述する高さ位置ｚを修正し、刃先面１００ａが加工面Ｄに正しく接するときの基準点Ｔの高さ位置を記述する修正Ｚマップ６２を得る。この修正Ｚマップ６２をＮＣ工作機械に教示すれば、利用する工具形状の限度において、加工面Ｄを精度よく得ることができる。
【００３３】
図８のステップＳ１３では、接点仮定部７８による処理が行われる。図１１に示したように、近似Ｚマップ５８が記述する高さ位置では、加工面Ｄを正しく加工することができない。加工面Ｄを正しく得ることができるのは、ボールエンドミル１００の刃先面１００ａが加工面Ｄに正しく接するときである。接点仮定部７８は、以下に説明する処理によって、刃先面１００ａが加工面Ｄに正しく接するときの接点位置を、精度よく仮定する。
【００３４】
接点仮定部７８の処理動作を説明する。ここでは図１１を用いて、ボールエンドミル１００の回転軸が（ｘ１，ｙ１）に位置する場合を説明する。接点仮定部７８は、微小要素マップ６０から、設定した位置（ｘ１，ｙ１）に対応する点Ｅ群の識別子ｉｄを読み取る。微小要素マップ６０が記述している識別子ｉｄは、ボールエンドミル１００が近似Ｚマップ５８に記述された高さに位置するときに、刃先面１００ａが数学モデルＤａと接触する点Ｅ群の識別子ｉｄである。即ち、ここでは位置（ｘ１，ｙ１）に対応して、点Ｅ３の識別子ｉｄが読み取られる。
次に接点仮定部７８は、その読み取った点Ｅの識別子ｉｄに対応する基本形状群の識別子ＩＤを、識別子対応データ５６から読み取る。先に説明したように、識別子対応データ５６では、点Ｅ（微小要素）群の識別子ｉｄと、その点Ｅ（微小要素）群が近似した基本形状群の識別子ＩＤが対応付けて記述されている。ボールエンドミル１００の回転軸の位置が（ｘ１，ｙ１）の場合、点Ｅ３の識別子ｉｄに対応して、面Ｓの識別子ＩＤが読み取られる。面Ｓは、点Ｅ３を含む点Ｅ群で近似された基本形状である。
接点仮定部７８は、刃先面１００ａが加工面Ｄに正しく接するときの接点を、基本形状の面Ｓ上に仮定する。仮定する接点の面Ｓ上での位置は、第２マップに記述された微小要素の点Ｅ３に基づく。ここでは、点Ｅ３が面Ｓ上に位置していることから、点Ｅ３を刃先面１００ａが加工面Ｄに正しく接するときの接点Ｓ０として仮定することもできる。接点仮定部７８は、接点を仮定した基本形状の面Ｓの表現式Ｓ（ｕ，ｖ）を加工面データ５２から読み取り、面Ｓ上に仮定した接点Ｓ０（ここでは点Ｅ３）のパラメータ（ｕ０，ｖ０）を得る。
【００３５】
ボールエンドミル１００の回転軸の位置を固定した場合、刃先面１００ａが数学モデルＤａに接触する接触点と、刃先面１００ａが加工面Ｄと正しく接するときの接点は、近接していると推測できる。例えば図１１に示す回転軸の位置が（ｘ１，ｙ１）のボールエンドミル１００では、その刃先面１００ａが数学モデルＤａと点Ｅ３で接触するので、刃先面１００ａが加工面Ｄに接するときの接点は、点Ｅ近傍の加工面Ｄ上であると推測できる。微小要素の点Ｅ３は、基本形状の面Ｓを近似する点Ｅ群の１つであるので、その接点は基本形状の面Ｓ上にあると推測できる。刃先面１００ａが加工面Ｄに正しく接するときの接点を、微小要素の点Ｅ３に基づいて基本形状の面Ｓ上に仮定することにより、その接点を正確に仮定することができる。従って、接点仮定部７８は、刃先面１００ａが加工面Ｄに正しく接するときの接点を、加工面Ｄ上に正確に仮定することができる。
【００３６】
接点仮定部７８は、刃先面１００ａが加工面Ｄに正しく接するときの基準点Ｔの高さ位置も仮定する。接点仮定部７８は、その仮定する高さ位置Ｚ０として、近似Ｚマップ５８が記述している高さ位置を用いる。例えば、図１１のボールエンドミル１００の回転軸の位置が（ｘ１，ｙ１）の場合では、仮定される高さ位置Ｚ０は高さ位置ｚ３となる。
接点仮定部７８は、仮定した接点Ｓ０と、仮定した基準点Ｔの高さ位置Ｚ０を、近似Ｚマップ５８や面Ｓの表現式等と共にＺマップ修正部８０に教示する。
【００３７】
ステップＳ１５では、Ｚマップ修正部８０の処理が行われる。Ｚマップ修正部８０は、近似Ｚマップ５８が記述している基準点Ｔの高さ位置ｚを、ボールエンドミル１００の刃先面１００ａが加工面Ｄに正しく接する高さ位置に修正する。
Ｚマップ修正部８０の修正処理は、接点仮定部７８から教示された条件に基づいて行われる。例えば、ボールエンドミル１００の回転軸の位置が（ｘ１，ｙ１）の場合、刃先面１００ａは面Ｓに接すると限定する。また、接点仮定部７８が仮定した接点Ｓ０と、仮定した基準点Ｔの高さ位置Ｚ０を初期値として用いる。
刃先面１００ａが面Ｓに正しく接するときの基準点Ｔの高さ位置は、刃先面１００ａと面Ｓが正しく接する状態を記述する解析方程式を、ニュートン・ラプソン法等を用いて解くことによって算出できる。一般に解析方程式から算出される解は、与える初期値に強く依存する。Ｚマップ修正部８０では、接点仮定部７８が仮定した接点Ｓ０と、仮定した基準点Ｔの高さ位置Ｚ０を初期値として用いる。接点仮定部７８が仮定した接点Ｓ０や仮定した基準点Ｔの高さ位置Ｚ０は、正しい解に対して正確に仮定されているので、刃先面１００ａと面Ｓが正しく接するときの基準点Ｔの高さ位置を一意に求めることができる。
【００３８】
図１２に、刃先面１００ａが加工面Ｄに正しく接する状態を記述する解析方程式の一例を示す。図１２は、上記の流れに従い、ボールエンドミル１００の回転軸が、位置（ｘ１，ｙ１）に位置する場合を説明する。即ち、図１２に示す解析方程式は、刃先面１００ａが、加工面Ｄと面Ｓにおいて接する場合のものである。図１２は、ボールエンドミル１００の刃先面１００ａが面Ｓに正しく接する状態を示している。図中Ｇは、ボールエンドミル１００の回転軸とｘｙ平面の交点Ｇ（ｘ，ｙ）である。図中ｚ３’は、基準点Ｔの高さ位置である。なお、図中ｚ３は、第１マップにおいて位置（ｘ１，ｙ１）に対応付けて記述されている高さ位置ｚ３である。面Ｓ上の点Ｓｓは、刃先面１００ａが面Ｓに接する接点である。なお、面Ｓ上には、接点仮定部７８が仮定した接点Ｓ０を併せて示す。図中ベクトルＳｕは接点Ｓｓにおけるｕ方向の接線方向ベクトルである。また、図中ベクトルＳｖは、面Ｓ上の接点Ｓｓにおけるｖ方向の接線方向ベクトルである。図中のベクトルｋは、ｚ軸正方向の単位ベクトルである。
Ｚマップ修正部８０は、接点仮定部７８が仮定した接点Ｓ０や仮定した高さ位置Ｚ０を初期値として、図１２に示す解析方程式をニュートン・ラプソン法を用いて解き、刃先面１００ａが面Ｓに正しく接するときの接点Ｓｓの位置と、基準点Ｔの高さ位置ｚ３’を算出する。そして、Ｚマップ修正部８０は、近似Ｚマップ５８が位置（ｘ１，ｙ１）に対応付けて記述する高さ位置ｚ３を、算出した高さ位置ｚ３’に修正する。
Ｚマップ修正部８０は、同様にして、近似Ｚマップ５８が他の位置（ｘ，ｙ）に対応付けて記述する高さ位置ｚも修正する。
【００３９】
図１２に示す解析方程式は、刃先面１００ａが加工面Ｄと基本形状の面Ｓにおいて接する場合のものである。Ｚマップ修正部８０は、接点仮定部７８によって刃先面１００ａが加工面Ｄと基本形状の稜線Ｃにおいて接すると仮定された場合、図１３に示す解析方程式を用いることができる。図１３は、ボールエンドミル１００の刃先面１００ａが稜線Ｃに正しく接する状態を示している。図中Ｇは、ボールエンドミル１００の回転軸とｘｙ平面の交点Ｇ（ｘ，ｙ）である。図中ｚは、基準点Ｔの高さ位置である。稜線Ｃ上にはｔ座標が定義されている。稜線Ｃ上の点Ｃｓは刃先面１００ａが稜線Ｃに接する接点である。図中のベクトルＣｔは接点Ｃｓにおけるｔ方向導関数である。図中のベクトルｋは、ｚ軸正方向の単位ベクトルである。図１３に示す解析方程式を、接点仮定部７８が仮定した接点Ｓ０や仮定した高さ位置Ｚ０を初期値として、例えばニュートン・ラプソン法によって解くことにより、接点Ｃｓと基準点Ｔの高さ位置ｚを一意に求めることができる。
【００４０】
また、刃先面１００ａが加工面Ｄと基本形状の点Ｖにおいて接すると仮定された場合は、図１４に示す解析方程式を用いることができる。図１４は、ボールエンドミル１００の刃先面１００ａが点Ｖ（ｘｖ，ｙｖ，ｚｖ）に正しく接する状態を示している。図中Ｇは、ボールエンドミル１００の回転軸とｘｙ平面の交点Ｇ（ｘ，ｙ）である。図中Ｖｐ（ｘｖ，ｙｖ）は、点Ｖからｘｙ平面に下ろした垂線の足の位置である。図中ｚは、基準点Ｔの高さ位置である。図中のベクトルｋは、ｚ軸正方向の単位ベクトルである。刃先面１００ａが加工面Ｄと基本形状の点Ｖにおいて接すると仮定された場合、図１４に示す解析方程式は二次の代数方程式に帰着する。２価中、高い方を選択することにより、基準点Ｔの高さ位置ｚを一意に求めることができる。なお、図中の「Ｎｏｎｅ」は、「解なし」を意味する。
【００４１】
ステップＳ１７では、Ｚマップ修正部８０が近似Ｚマップ５８が記述する高さ位置ｚを、ステップＳ１５で算出した高さ位置に修正して、修正Ｚマップ（第３マップ）６２を生成する。修正Ｚマップ６２では、ボールエンドミル１００の回転軸の位置（ｘ，ｙ）に対応付けて、刃先面１００ａが加工面Ｄに正しく接するときの基準点Ｔの高さ位置が記述されている。修正Ｚマップ６２を３軸制御のＮＣ工作機械に教示すると、加工面Ｄを正確に加工させることができる。コンピュータ装置１０は、加工面Ｄに対して修正Ｚマップ６２を一意に生成することができる。
生成された修正Ｚマップ６２は、記憶部４０に記憶される。記憶部４０に記憶された修正Ｚマップ６２は、外部記録装置３２を用いて記録媒体３４に記述することもできる。
【００４２】
以上では、図８のステップＳ３において、加工面Ｄを点群によって離散近似（０次近似）するように指示した場合を説明した。以下では、図８のステップＳ３において、加工面Ｄを微小面Ｆ群によって離散近似（１次近似）するように指示した場合を説明する。
図８のステップＳ３において、加工面Ｄを微小面群によって離散近似（０次近似）するように指示された場合、ステップＳ７では加工面Ｄが微小面Ｆ群によって離散近似される。図１５は、加工面Ｄを微小面Ｆ群によって１次近似した数学モデルＤｂを示す。このとき、微小要素の微小面Ｆ群には、それぞれを識別可能な識別子ｉｄが割り当てられる。数学モデル生成部７２は、生成した数学モデルＤｂを記述する数学モデルデータ５４を生成する。数学モデルデータ５４には、微小面Ｆ群の識別子ｉｄが併せて記述されている。生成された数学モデルデータ５４は、記憶部４０に記憶される。
数学モデル生成部７２が生成した数学モデルＤｂを構成する微小面Ｆ群のそれぞれは、加工面Ｄを構成する基本形状群（面Ｓ、稜線Ｃ、頂点Ｖ）のいずれかを近似している。数学モデル生成部７２は、基本形状を微小面Ｆ（微小要素）群によって近似するときに、微小面Ｆ群の識別子ｉｄと、その微小面Ｆ群が近似した基本形状の識別子ＩＤが対応付けて記述された識別子対応データ５６を生成する。生成された識別子対応データ５６は、記憶部４０に記憶される。
【００４３】
ステップＳ９では、近似Ｚマップ生成部７４が、数学モデルＤｂに対して近似Ｚマップ５８を生成する。数学モデルＤｂに対して近似Ｚマップ５８を生成する処理は、先に説明した数学モデルＤａに対して近似Ｚマップ５８の生成する処理と比して、処理の流れは大きく変わらない。
近似Ｚマップ生成部７４は、ボールエンドミル１００の回転軸の位置（ｘ，ｙ）を設定し、刃先面１００ａが微小面Ｆ群に接触するときの基準点Ｔの高さ位置ｚを、数学モデルＤｂを構成するすべての微小面Ｆ群について逐次算出する。刃先面１００ａがそれぞれの微小面Ｆに接触するときの基準点Ｔの高さ位置ｚは、それぞれの微小面Ｆに対して一意に求めることができる。
近似Ｚマップ生成部７４は、上記の逐次計算で得たすべての高さ位置ｚのうちから、最高位置のものを選択する。選択された高さ位置ｚは、回転軸の位置が（ｘ，ｙ）のボールエンドミル１００において、刃先面１００ａが数学モデルＤｂに接触するときの基準点Ｔの最高位置である。
近似Ｚマップ生成部７４は、工具の回転軸の位置（ｘ，ｙ）に対して、基準点Ｔの高さの最高位置を決定すると、その最高位置を導出した微小面Ｆの識別子ｉｄを認識する。その認識した微小面Ｆの識別子ｉｄは、回転軸の位置（ｘ，ｙ）と共に、微小要素マップ生成部７６に教示される。
近似Ｚマップ生成部７４は、図１６に示すように、格子状に配置された工具軸の位置（ｘ，ｙ）について、上記の最高位置を算出する処理を行う。そして、格子状に配置された工具軸の位置（ｘ，ｙ）に対応付けて、基準点Ｔの高さ位置ｚが記述された近似Ｚマップ（第１マップ）５８を生成する。生成された近似Ｚマップ５８は、記憶部４０に記憶される。
【００４４】
図８のステップＳ１１では、微小要素マップ生成部７６によって、微小要素マップ（第２マップ）６０の生成が行われる。図１６に示すように、微小要素マップ６０には、工具の回転軸の位置（ｘ，ｙ）に対応付けて微小面Ｆ（微小要素）群の識別子ｉｄが記述される。本実施例の微小要素マップ（第２マップ）６０では、近似Ｚマップ（第１マップ）５８が記述する高さに位置するボールエンドミル１００の刃先面１００ａが接触する微小面Ｆ（微小要素）群の識別子ｉｄが記述される。生成された微小要素マップ６０は、記憶部４０に記憶される。
【００４５】
図１７は、近似Ｚマップ５８に記述された高さ位置に、ボールエンドミル１００の基準点Ｔが位置している状態を示している。図中の微小面Ｆは、微小要素マップ６０において、位置（ｘ，ｙ）に対応付けて記述されている微小要素の微小面Ｆである。即ち、近似Ｚマップ５８に記述された高さ位置のボールエンドミル１００は、その刃先面１００ａが微小要素の微小面Ｆと接している。図中のＦａは、その接点を示す。
図１７には、加工面Ｄの一部が併せて示されている。詳しくは、識別子対応データ５６が微小要素の微小面Ｆに対応付けて記述している基本形状の面Ｓである。即ち、微小面Ｆは、基本形状の面Ｓを離散近似している微小要素群の一つである。
図１７に示すように、近似Ｚマップ５８は数学モデルＤｂに基づいて生成されているので、近似Ｚマップ５８が記述する位置の刃先面１００ａは、加工面Ｄに正しく接していない。図１７に示す場合では、刃先面１００ａのハッチング部Ｈが、加工面Ｄよりも下方にまで達しており、加工面Ｄよりもハッチング部Ｈの分だけ過剰に切削されてしまう。
【００４６】
ステップＳ１３では、接点仮定部７８の処理が行われる。接点仮定部７８は、ボールエンドミル１００の刃先面１００ａが、加工面Ｄに正しく接するときの接点と、基準点Ｔの高さ位置を仮定する。
接点仮定部７８は、微小要素マップ（第２マップ）６０と識別子対応データ５６から、刃先面１００ａが加工面Ｄと接するときに、刃先面１００ａが接する基本形状の面Ｓを仮定する。そして、刃先面１００ａと面Ｓとの接点を、微小要素の微小面Ｆの位置に基づいて仮定する。仮定された接点Ｓ０は、Ｚマップ修正部８０に教示される。
ボールエンドミル１００の回転軸が（ｘ，ｙ）に位置する場合、刃先面１００ａは数学モデルＤｂと微小面Ｆにおいて接することから、刃先面１００ａが加工面Ｄに正しく接するときは、微小面Ｆが近似している基本形状の面Ｓにおいて接すると推定できる。
接点仮定部７８は、刃先面１００ａが加工面Ｄに正しく接するときの基準点Ｔの高さ位置も仮定する。接点仮定部７８は、その仮定する高さ位置Ｚ０として、近似Ｚマップ５８が記述している高さ位置を用いる。接点仮定部７８は、仮定した接点Ｓ０と、仮定した基準点Ｔの高さ位置Ｚ０を、近似Ｚマップ５８や面Ｓの表現式等と共にＺマップ修正部８０に教示する。
【００４７】
ステップＳ１５では、Ｚマップ修正部８０によって、近似Ｚマップ５８に記述された高さ位置が修正される。この処理は、実施例１と同様に行われる。即ち、接点仮定部７８が仮定した接点Ｓ０や仮定した高さ位置Ｚ０を初期条件とし、図１３、１４、１５に例示した解析方程式を解くことによって、刃先面１００ａと加工面Ｄが正しく接するときの工具の高さ位置を一意に求めることができる。
ステップＳ１７では、Ｚマップ修正部８０が近似Ｚマップ５８が記述する高さ位置ｚを、ステップＳ１５で算出した高さ位置に修正して、修正Ｚマップ（第３マップ）６２を生成する。生成した修正Ｚマップ６２は、記憶部４０に記憶される。
【００４８】
以上では、図８のステップＳ５における工具の選択により、ボールエンドミル１００を利用する場合について説明した。
以下に、図１に示したフラットエンドミル１０２やラジアスエンドミル１０４を利用する場合を説明する。フラットエンドミル１０２やラジアスエンドミル１０４を利用する場合は、ステップＳ５においてフラットエンドミル１０２やラジアスエンドミル１０４を選択すればよい。
フラットエンドミル１０２やラジアスエンドミル１０４を利用する場合でも、図８に示すフローチャートの流れに沿って処理が行われる。フラットエンドミル１０２やラジアスエンドミル１０４を利用する場合でも、ボールエンドミル１００を利用する場合に比して、技術的に格別な差異はない。同様に、近似Ｚマップ（第１マップ）５８や微小要素マップ（第２マップ）６０等を生成することができる。
図８のステップＳ１３、Ｓ１５、Ｓ１７においても、フラットエンドミル１００を利用する場合と同様に、近似Ｚマップ（第１マップ）５８や微小要素マップ（第２マップ）６０等を利用して修正Ｚマップ（第３マップ）を生成することができる。ただし、図１３、１４、１５に例示した解析方程式は利用できない。以下にフラットエンドミル１０２やラジアスエンドミル１０４を利用する場合に、Ｚマップ修正部８０が用いることができる解析方程式の例を示す。
【００４９】
図１８、１９、２０に、工具がフラットエンドミル１０２である場合の解析方程式の一例を示す。図１８は、フラットエンドミル１０２の刃先面１０２ａが、基本形状の面Ｓと接する場合の解析方程式の一例を示す。図中Ｇは、フラットエンドミル１０２の回転軸とｘｙ平面の交点Ｇ（ｘ，ｙ）である。図中ｚは、基準点Ｔの高さ位置である。面Ｓ上の点Ｓｓは、刃先面１０２ａが面Ｓに接する接点である。図中のベクトルＮは、接点Ｓｓにおける面Ｓの法線方向の単位ベクトルである。図中のベクトルｋは、ｚ軸正方向の単位ベクトルである。図１８に示す解析方程式を、接点仮定部７８が仮定した接点Ｓ０や仮定した高さ位置Ｚ０を初期値として、例えばニュートン・ラプソン法によって解くことにより、接点Ｓｓと基準点Ｔの高さ位置ｚを一意に求めることができる。
【００５０】
図１９は、フラットエンドミル１０２の刃先面１０２ａが、基本形状の稜線Ｃと接する場合の解析方程式の一例を示す。図中Ｇは、フラットエンドミル１０２の回転軸とｘｙ平面の交点Ｇ（ｘ，ｙ）である。図中ｚは、基準点Ｔの高さ位置である。稜線Ｃ上の点Ｃｓは、刃先面１０２ａが稜線Ｃに接する接点である。図中のベクトルｋは、ｚ軸正方向の単位ベクトルである。図１９に示す解析方程式を、接点仮定部７８が仮定した接点Ｓ０や仮定した高さ位置Ｚ０を初期値として、例えばニュートン・ラプソン法によって解くことにより、接点Ｃｓと基準点Ｔの高さ位置ｚを一意に求めることができる。
【００５１】
図２０は、フラットエンドミル１０２の刃先面１０２ａが点Ｖ（ｘｖ，ｙｖ，ｚｖ）に接する場合の解析方程式を示している。図中Ｇは、フラットエンドミル１０２の回転軸とｘｙ平面の交点Ｇ（ｘ，ｙ）である。図中Ｖｐ（ｘｖ，ｙｖ）は、点Ｖからｘｙ平面に下ろした垂線の足の位置である。図中ｚは、基準点Ｔの高さ位置である。図中のベクトルｋは、ｚ軸正方向の単位ベクトルである。図２０に示す解析方程式では、接点Ｃｓが点Ｖに特定されていることによって、基準点Ｔの高さ位置ｚは一意に求められる。なお、図中の「Ｎｏｎｅ」は、「解なし」を意味する。
【００５２】
次に、図２１、２２、２３に、工具がラジアスエンドミル１０４である場合の解析方程式の一例を示す。図２１は、ラジアスエンドミル１０４の刃先面１０４ａが、基本形状の面Ｓと接する場合の解析方程式の一例を示す。図中Ｇは、ラジアスエンドミル１０４の回転軸とｘｙ平面の交点Ｇ（ｘ，ｙ）である。図中ｚは、基準点Ｔの高さ位置である。面Ｓ上の点Ｓｓは、刃先面１０４ａが面Ｓに接する接点である。図中Ｐは、刃先面１０４ａのの円弧状部の中心点である（図１（ｃ）参照）。図中のベクトルＳｕは、接点Ｓｓにおけるｕ方向の接線方向ベクトルである。図中のベクトルＳｖは、接点Ｓｓにおけるｖ方向の接線方向ベクトルである。図中のベクトルｋは、ｚ軸正方向の単位ベクトルである。図２１に示す解析方程式を、接点仮定部７８が仮定した接点Ｓ０や仮定した高さ位置Ｚ０を初期値として、例えばニュートン・ラプソン法によって解くことにより、接点Ｓｓと基準点Ｔの高さ位置ｚを一意に求めることができる。
【００５３】
図２２は、ラジアスエンドミル１０４の刃先面１０４ａが、基本形状の稜線Ｃと接する場合の解析方程式の一例を示す。図中Ｇは、ラジアスエンドミル１０４の回転軸とｘｙ平
面の交点Ｇ（ｘ，ｙ）である。図中ｚは、基準点Ｔの高さ位置である。稜線Ｃ上の点Ｃｓは、刃先面１０４ａが稜線Ｃに接する接点である。図中のベクトルＣｔは、接点Ｃｓにおけるｔ方向の接線方向ベクトルである。図中のベクトルｋは、ｚ軸正方向の単位ベクトルである。図２２に示す解析方程式を、接点仮定部７８が仮定した接点Ｓ０や仮定した高さ位置Ｚ０を初期値として、例えばニュートン・ラプソン法によって解くことにより、接点Ｃｓと基準点Ｔの高さ位置ｚを一意に求めることができる。
【００５４】
図２３は、ラジアスエンドミル１０４の刃先面１０４ａが点Ｖ（ｘｖ，ｙｖ，ｚｖ）に接する場合の解析方程式を示している。図中Ｇは、ラジアスエンドミル１０４の回転軸とｘｙ平面の交点Ｇ（ｘ，ｙ）である。図中Ｖｐ（ｘｖ，ｙｖ）は、点Ｖからｘｙ平面に下ろした垂線の足の位置である。図中ｚは、基準点Ｔの高さ位置である。図中のベクトルｋは、ｚ軸正方向の単位ベクトルである。図２３に示す解析方程式から、刃先面１０４ａの平面部１０４が点Ｖに接する場合、基準点Ｔの高さ位置はｚ＝ｚｖ＋ｒとなる。刃先面１０４ａの円弧状の刃先面１０４ｃが点Ｖに接する場合、解析方程式は二次の代数方程式となり２価中の高値を選択する。このように、接点Ｃｓと基準点Ｔの高さ位置ｚを一意に求めることができる。なお、図中の「Ｎｏｎｅ」は、「解なし」を意味する。
【００５５】
（実施例２）  工具の経路を生成する手法として、逆オフセット法が知られている。本実施例では、逆オフセット法を用いる。なお、本実施例においても、実施例１のコンピュータ装置１０を用い、コンピュータ装置１０の処理動作の流れは、図８に示したフローチャートで示される。本実施例が実施例１に対して異なる点は、ステップＳ７の近似Ｚマップ５８の生成処理と、ステップＳ１５の基準点Ｔの高さ位置の算出処理において、逆オフセット法を用いることである。以下では主に実施例１に対する変更点についてのみ説明し、重複説明を避けるように努める。
【００５６】
図２４を参照して、逆オフセット法を説明する。図２４には、ｘｙｚ座標系に置かれた微小面Ｆが示されている。図２４の１０１は、図１に示したボールエンドミル１００を、ｚ軸方向において反転した反転工具１０１である。反転工具１０１の刃先面１０１ａは、図１のボールエンドミル１００の刃先面１００ａに対応する。図２４のＴは、反転工具１０１における基準点Ｔである。図２４に示すように、反転工具１０１の基準点Ｔを微小面Ｆ上に位置させて、反転工具１０１を微小面Ｆに沿って掃引すると、刃先面１０１ａの軌跡を結んだ掃引面１２０が形成される。この掃引面１２０は、微小面Ｆから刃先面１０１の半径ｄだけ離れたオフセット面となる。従って、ボールエンドミル１００の基準点Ｔが掃引面１２０上に位置しているとき、その刃先面１００ａは微小面Ｆと接することとなる。即ち、ボールエンドミル１００の基準点Ｔを、掃引面１２０上に位置させて移動させれば、微小面Ｆを加工することができる。このように、逆オフセット法は、反転工具を加工対象面上で掃引し、加工対象面から工具の形状に応じてオフセットした面を得るものである。このオフセット面の高さ位置ｚを、工具の回転軸の位置（ｘ，ｙ）に対応付けて記述すれば、工具の経路を記述するＺマップを生成することができる。
【００５７】
本実施例におけるコンピュータ装置１０の処理動作を説明する。コンピュータ装置１０の処理動作の流れは、図８のフローチャートによって示される。図８のステップＳ１〜ステップＳ７までは、実施例１と同様の処理が行われる。従って、ここでは重複説明を避ける。ただし、ステップＳ３では、加工面Ｄを微小面Ｆ群によって離散近似（１次近似）するように指示したものとする。従って、ステップＳ７で生成される数学モデルデータ５４は、図１５に示す数学モデルＤｂを記述している。また、ステップＳ５では、ボールエンドミル１００を利用するように指示したものとする。
【００５８】
ステップＳ９では、数学モデル生成部７２が、数学モデルデータ５４に基づいて、近似Ｚマップ（第１マップ）５８を生成する。本実施例の数学モデル生成部７２は、近似Ｚマップ５８の生成を、逆オフセット法によって行う。図２５を参照して、逆オフセット法による近似Ｚマップ５８の生成を説明する。
図２５には、数学モデルＤｂの一部が示されている。詳しくは、数学モデルＤｂを構成する微小面Ｆ群の一部である微小面Ｆ１〜Ｆ８が示されている。数学モデル生成部７４は、図２４に示した反転工具１０１の掃引面１２０を、微小面Ｆ１〜Ｆ８のそれぞれについて生成する。即ち、微小面Ｆ１〜Ｆ８のそれぞれについて、ボールエンドミル１００の刃先面１００ａの半径ｄに基づくオフセット面を生成する。図２５には、微小面Ｆ１〜Ｆ８に対するオフセット面ｍ１〜ｍ８が示されている。次に、オフセット面ｍ１〜ｍ８を併合して包絡面Ｍを生成する。図２５のＵ部のように、複数のオフセット面ｍ１〜ｍ８が重なり合う位置では、最も上方に位置するオフセット面ｍ１〜ｍ８を包絡面Ｍの一部として採用する。このようにして作成された包絡面Ｍは、数学モデルＤｂからボールエンドミル１００の刃先面１００ａの半径ｄと等しい距離だけオフセットしている。即ち、ボールエンドミル１００の基準点Ｔを、包絡面Ｍ上に位置させて移動させれば、数学モデルＤｂを加工することができる。数学モデル生成部７４は、包絡面（オフセット面）Ｍを生成し、包絡面（オフセット面）Ｍの高さ位置ｚを、位置（ｘ，ｙ）に対応付けて記述する近似Ｚマップ５８を生成する。図２５に示す場合では、近似Ｚマップ５８には、オフセット面Ｍ上に白丸で示す点の高さ位置ｚが記述される。
【００５９】
ステップＳ１１では、微小要素マップ生成部７６が微小要素マップ（第２マップ）６０を生成する。微小要素マップ６０は、位置（ｘ、ｙ）に対応付けて微小要素の微小面Ｆ群の識別子ｉｄを記述する。図２５に示すように、微小面Ｆ１〜Ｆ８群に対するオフセット面ｍ１〜ｍ８群によって、包絡面Ｍは構成されている。微小要素マップ６０は、位置（ｘ、ｙ）において包絡面Ｍを構成しているオフセット面ｍ１〜ｍ８の基となる微小面Ｆ１〜Ｆ８の識別子ｉｄを記述する。例えば図２５に示す場合、位置（ｘ１，ｙ１）において包絡面Ｍがオフセット面ｍ４によって構成されているので、微小要素マップ６０は位置（ｘ１，ｙ１）に対応付けて微小面Ｆ４の識別子ｉｄを記述する。
ボールエンドミル１００の回転軸が位置（ｘ１，ｙ１）に位置しており、その基準点Ｔが近似Ｚマップ５８が記述している高さ位置、即ち、包絡面Ｍ上に位置していると、その刃先面１００ａは微小面Ｆ４と接する。即ち、微小要素マップ６０は、ボールエンドミル１００の基準点Ｔが、近似Ｚマップ５８に記述された高さに位置するときに、刃先面１００ａが接触する微小面Ｆ群の識別子ｉｄが記述される。
本実施例で生成された近似Ｚマップ５８や微小要素マップ６０は、実施例１において数学モデルＤｂに対して生成された近似Ｚマップ５８や微小要素マップ６０と略同一のものとなる。
【００６０】
ステップＳ１３では、実施例１の場合と同様に、接点仮定部７８が、刃先面１００ａが加工面Ｄに正しく接するときに、刃先面１００ａが接する基本形状群（面Ｓ、稜線Ｃ、点Ｖ）を特定し、その接点Ｓ０と基準点Ｔの高さ位置Ｚ０を仮定する。
ステップＳ１５では、Ｚマップ修正部８０の処理が行われる。Ｚマップ修正部８０は、ボールエンドミル１００の刃先面１００ａが加工面Ｄに正しく接するときの基準点Ｔの高さ位置を算出する。
Ｚマップ修正部８０は、刃先面１００ａと加工面Ｄが正しく接する状態を記述する解析方程式を、ニュートン・ラプソン法等を用いて解く。本実施例では、逆オフセット法による解析方程式が用いられる。この場合においても、接点仮定部７８が仮定した接点Ｓ０と仮定した高さ位置Ｚ０を初期値として利用することにより、刃先面１００ａと加工面Ｄが正しく接するときの基準点Ｔの高さ位置を一意に求めることができる。
【００６１】
図２６に本実施例でＺマップ修正部８０が用いる解析方程式の一例を示す。図２６は、ボールエンドミル１００の刃先面１００ａが、基本形状の面Ｓと接する場合の解析方程式の一例を示す。図中Ｇは、ボールエンドミル１００の回転軸とｘｙ平面の交点Ｇ（ｘ，ｙ）である。図中ｚは、基準点Ｔの高さ位置である。面Ｓ上の点Ｓｓは、刃先面１００ａが面Ｓに接する接点である。図中のベクトルＮは、接点Ｓｓにおける面Ｓの法線方向の単位ベクトルである。図中のベクトルｋは、ｚ軸正方向の単位ベクトルである。図２６に示す解析方程式を、接点仮定部７８が仮定した接点Ｓ０や仮定した高さ位置Ｚ０を初期値として、例えばニュートン・ラプソン法によって解くことにより、接点Ｓｓと基準点Ｔの高さ位置ｚを一意に求めることができる。
【００６２】
ステップＳ１７では、Ｚマップ修正部８０が、近似Ｚマップ５８が記述する高さ位置ｚを、ステップＳ１５で算出した高さ位置に修正して、修正Ｚマップ（第３マップ）６２を生成する。ボールエンドミル１００が修正Ｚマップ６２の記述している高さ位置ｚに位置するとき、刃先面１００ａは加工面Ｄに正しく接する。修正Ｚマップ６２を３軸制御のＮＣ工作機械に教示すると、加工面Ｄを正確に加工させることができる。コンピュータ装置１０は、修正Ｚマップ６２を一意に生成することができる。生成された修正Ｚマップ６２は、記憶部４０に記憶される。
【００６３】
上記では、図８のステップＳ５における工具の選択により、ボールエンドミル１００を利用する場合について説明した。以下に、図１に示したフラットエンドミル１０２やラジアスエンドミル１０４を利用する場合を説明する。フラットエンドミル１０２やラジアスエンドミル１０４を利用する場合は、ステップＳ５においてフラットエンドミル１０２やラジアスエンドミル１０４を選択すればよい。
フラットエンドミル１０２やラジアスエンドミル１０４を利用する場合でも、図８に示すフローチャートの流れに沿って処理が行われる。フラットエンドミル１０２やラジアスエンドミル１０４を利用する場合でも、ボールエンドミル１００を利用する場合に比して、技術的に格別な差異はない。同様にして、逆オフセット法により近似Ｚマップ（第１マップ）５８を生成し、また微小要素マップ（第２マップ）６０を生成することができる。そして、修正Ｚマップ（第３マップ）を生成することができる。ただし、Ｚマップ修正部８０が利用する解析方程式は、利用する工具がボールエンドミル１００とフラットエンドミル１０２とラジアスエンドミル１０４の場合では異なる。従って、以下にフラットエンドミル１０２やラジアスエンドミル１０４を利用する場合に、Ｚマップ修正部８０が用いることができる解析方程式の例を示す。
【００６４】
図２７は、フラットエンドミル１０２の刃先面１０２ａが、基本形状の面Ｓと接する場合の解析方程式の一例を示す。図中Ｇは、フラットエンドミル１０２の回転軸とｘｙ平面の交点Ｇ（ｘ，ｙ）である。図中ｚは、基準点Ｔの高さ位置である。面Ｓ上の点Ｓｓは、刃先面１０２ａが面Ｓに接する接点である。図中のベクトルＮは、接点Ｓｓにおける面Ｓの法線方向の単位ベクトルである。図中のベクトルｋは、ｚ軸正方向の単位ベクトルである。図２７に示す解析方程式を、接点仮定部７８が仮定した接点Ｓ０や仮定した高さ位置Ｚ０を初期値として、例えばニュートン・ラプソン法によって解くことにより、接点Ｓｓと基準点Ｔの高さ位置ｚを一意に求めることができる。
【００６５】
図２８は、ラジアスエンドミル１０４の刃先面１０４ａが、基本形状の面Ｓと接する場合の解析方程式の一例を示す。図中Ｇは、ラジアスエンドミル１０４の回転軸とｘｙ平面の交点Ｇ（ｘ，ｙ）である。図中ｚは、基準点Ｔの高さ位置である。面Ｓ上の点Ｓｓは、刃先面１０４ａが面Ｓに接する接点である。図中Ｐは、刃先面１０４ａの円弧状部の中心点である（図１（ｃ）参照）。図中のベクトルＮは、接点Ｓｓにおける面Ｓの法線方向の単位ベクトルである。図中のベクトルｋは、ｚ軸正方向の単位ベクトルである。図２８に示す解析方程式を、接点仮定部７８が仮定した接点Ｓ０や仮定した高さ位置Ｚ０を初期値として、例えばニュートン・ラプソン法によって解くことにより、接点Ｓｓと基準点Ｔの高さ位置ｚを一意に求めることができる。
【００６６】
以上、本発明の実施形態について詳細に説明したが、これらは例示に過ぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組み合わせによって技術的有用性を発揮するものであり、出願時請求項記載の組み合わせに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【図面の簡単な説明】
【００６７】
【図１】３種のエンドミルを示す図。
【図２】オフセット面とそれを記述するＺマップを説明する図。
【図３】工具の刃先面が加工面に接する高さ位置が複数存在する場合を示す図。
【図４】加工面を離散近似する点群に工具の刃先面が接する状態を示す図。
【図５】コンピュータ装置１０の構成を示す図。
【図６】コンピュータ装置１０の機能的な構成を示す図。
【図７】加工面データが記述する加工面を示す図。
【図８】コンピュータ装置１０の動作の流れを示すフローチャート。
【図９】加工面を点群で離散近似した数学モデルＤａを示す図。
【図１０】数学モデルＤａに対する近似Ｚマップと微小要素マップを説明する図。
【図１１】近似Ｚマップが記述する位置の工具と加工面の位置関係を示す図。
【図１２】解析方程式の一例を示す図（面Ｓとボールエンドミル）。
【図１３】解析方程式の一例を示す図（稜線Ｃとボールエンドミル）。
【図１４】解析方程式の一例を示す図（点Ｖとボールエンドミル）。
【図１５】加工面を面群で離散近似した数学モデルＤｂを示す図。
【図１６】数学モデルＤｂに対する近似Ｚマップと微小要素マップを説明する図。
【図１７】近似Ｚマップが記述する位置の工具と加工面の位置関係を示す図。
【図１８】解析方程式の一例を示す図（面Ｓとフラットエンドミル）。
【図１９】解析方程式の一例を示す図（稜線Ｃとフラットエンドミル）。
【図２０】解析方程式の一例を示す図（点Ｖとフラットエンドミル）。
【図２１】解析方程式の一例を示す図（面Ｓとラジアスエンドミル）。
【図２２】解析方程式の一例を示す図（稜線Ｃとラジアスエンドミル）。
【図２３】解析方程式の一例を示す図（点Ｖとラジアスエンドミル）。
【図２４】逆オフセット法による反転工具の掃引面を示す図。
【図２５】逆オフセット法による近似Ｚマップと微小要素マップを説明する図。
【図２６】逆オフセット法の解析方程式の一例を示す図（面Ｓとボールエンドミル）。
【図２７】逆オフセット法の解析方程式の一例を示す図（面Ｓとフラットエンドミル）。
【図２８】逆オフセット法の解析方程式の一例を示す図（面Ｓとラジアスエンドミル）。
【符号の説明】
【００６８】
１０・・コンピュータグラフィクス装置
１２・・コンピュータ本体
２０・・ハードディスクドライブ装置
２２・・入出力インターフェース
２４・・マウス、２６・・キーボード
３０・・ディスプレイ
３２・・外部記録装置、３４・・記録媒体
４０・・記憶部、４２・・設定部、４４・・処理部
５２・・加工面データ、５４・・数学モデルデータ、５６・・識別子対応データ
５８・・近似Ｚマップ（第１マップ）
６０・・微小要素マップ（第２マップ）
６０・・修正Ｚマップ（第３マップ）
７２・・数学モデル生成部
７４・・近似Ｚマップ生成部
７６・・微小要素マップ生成部、７８・・接点仮定部
８０・・Ｚマップ修正部
８２・・近似条件設定部
８４・・工具設定部
１００・・ボールエンドミル、１００ａ・・ボールエンドミルの刃先面
１０１・・ボールエンドミルの反転工具、１０１ａ・・反転工具１０１の刃先面
１０２・・フラットエンドミル、１０２ａ・・フラットエンドミルの刃先面
１０４・・ラジアスエンドミル、１０４ａ・・ラジアスエンドミルの刃先面
Ｄ・・加工面
Ｄａ・・加工面を点群で離散近似した数学モデル、
Ｄｂ・・加工面を微小面群で離散近似した数学モデル
Ｅ・・微小要素の点、Ｆ・・微小要素の微小面
Ｓ・・基本形状の面、Ｃ・・基本形状の稜線、Ｖ・・基本形状の点
Ｔ・・工具の基準点
Ｓｓ・・基本形状の面Ｓ上の接点、Ｃｓ・・基本形状の稜線Ｃ上の接点
【図１】
2005202792.tif 000003
【図２】
2005202792.tif 000004
【図３】
2005202792.tif 000005
【図４】
2005202792.tif 000006
【図５】
2005202792.tif 000007
【図６】
2005202792.tif 000008
【図７】
2005202792.tif 000009
【図８】
2005202792.tif 000010
【図９】
2005202792.tif 000011
【図１０】
2005202792.tif 000012
【図１１】
2005202792.tif 000013
【図１２】
2005202792.tif 000014
【図１３】
2005202792.tif 000015
【図１４】
2005202792.tif 000016
【図１５】
2005202792.tif 000017
【図１６】
2005202792.tif 000018
【図１７】
2005202792.tif 000019
【図１８】
2005202792.tif 000020
【図１９】
2005202792.tif 000021
【図２０】
2005202792.tif 000022
【図２１】
2005202792.tif 000023
【図２２】
2005202792.tif 000024
【図２３】
2005202792.tif 000025
【図２４】
2005202792.tif 000026
【図２５】
2005202792.tif 000027
【図２６】
2005202792.tif 000028
【図２７】
2005202792.tif 000029
【図２８】
2005202792.tif 000030