(57)【要約】【課題】工具の輪郭誤差に応じて工具の位置を補正しつつワークの加工をするワークの加工機において、工具を交換したり、工具が摩耗したりしなったりしたとき等に、その都度、ＮＣプログラムを作り直す必要を無くす。【解決手段】ワーク５を加工する工具３を保持する工具保持部９と、ワーク５を工具３で加工するために、工具３を移動する移動部１１と、ＮＣプログラムに基づいて、ワーク５に対し工具３を移動するように、移動部１１を制御する制御部１３とを有し、前記ＮＣプログラムには、工具３の位置を算出するための演算式が組み込まれ、工具３の輪郭誤差に加え、切削移動距離と摩耗量および撓み量との関係に基づいて、プログラムが補正されるワークの加工機１である。【選択図】図１
2020184321.tif 000002
【特許請求の範囲】
【請求項１】
工具によりワークを所望の形状に加工する加工方法であって、
ＮＣプログラムに前記工具の位置を補正する為の演算式を組み込み、
前記ＮＣプログラムに基づいて前記工具が移動する経路である加工パスを演算し、
前記加工パスから前記工具の各部位が前記ワークを切削する切削移動距離を算出し、
前記切削移動距離から前記工具の各部位の摩耗量と撓み量を算出し、
前記工具の輪郭誤差に加えて摩耗量と撓み量によって前記ＮＣプログラムを補正し、
その補正した前記ＮＣプログラムによって加工する加工方法。
【請求項２】
請求項１に記載の加工方法において、
前記ＮＣプログラムは、前記工具の輪郭誤差による前記ワークの加工誤差の発生を抑えるために、前記演算式を用いて、前記工具の位置を補正する加工方法。
【請求項３】
請求項１に記載の加工方法において、
前記摩耗量および撓み量を考慮しない輪郭誤差による補正量と、前記摩耗量および撓み量を考慮した輪郭誤差による補正量の比率を設定し、前記加工パスが、前記加工の開始から加工の終了に向かうにつれて、前記摩耗量および撓み量を考慮しない輪郭誤差による補正量の比率を低下させ、且つ、前記摩耗量および撓み量を考慮した輪郭誤差による補正量の比率を増加させる加工方法。
【請求項４】
請求項１に記載の加工方法において、
前記摩耗量は加工前後に測定した工具形状の変化から求め、
前記撓み量は加工後に測定したワーク形状と、加工目標とする形状の差から削り残し量を求め、削り残し量から摩耗量を引いたものが撓み量である加工方法。
【請求項５】
工具によりワークを所望の形状に加工する加工機であって、
ＮＣプログラムに前記工具の位置を補正する為の演算式を組み込み、
前記ＮＣプログラムに基づいて前記工具が移動する経路である加工パスを演算し、
前記加工パスから前記工具の各部位が前記ワークを切削する切削移動距離を算出し、
前記切削移動距離から前記工具の各部位の摩耗量と撓み量を算出し、
前記工具の輪郭誤差に加えて摩耗量と撓み量によって前記ＮＣプログラムを補正し、
その補正した前記ＮＣプログラムによって加工する加工機。
【請求項６】
工具によりワークを所望の形状に加工するためのＮＣプログラムの生成方法であって、
前記ＮＣプログラムに、前記工具の位置を補正するための演算式を組み込むステップと、
前記演算式に、加工点の法線方向に前記工具の輪郭誤差を補正するための法線単位ベクトルと変数を組み込むステップと、
前記ＮＣプログラムに基づいて前記工具が移動する経路である加工パスを演算するステップと、
前記加工パスから前記工具の各部位が前記ワークを切削する距離である切削移動距離を算出するステップと、
前記切削移動距離から前記工具の各部位の摩耗量および撓み量を算出するステップと、
前記工具の輪郭誤差に加えて前記摩耗量および撓み量によって前記ＮＣプログラムを補正するステップと、を有するＮＣプログラムの生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ワークの加工方法およびワークの加工機に係り、特に、工具の輪郭補正をしてワークを加工するものに関する。
【背景技術】
【０００２】
従来、ＮＣプログラム（プログラム）によって、ワーク（ワーク）に対して工具（ツール）を相対移動しつつ、ワークに切削加工を施すワークの加工機（ＮＣ工作機械）が知られている。
【０００３】
従来のＮＣ工作機械では、たとえば、エンドミル等の工具を回転しつつ、ＮＣプログラムに含まれている具体的な数字（小数等の数値）に応じて、工具を相対移動してワークの加工を行っている。ここで、従来の技術を示す文献として特許文献１を掲げる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開昭６３−２３３４０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、工具には、その切削距離やＮＣプログラムの進捗率等に応じて、撓みや摩耗が生じる。この工具の撓みには、工具自身の撓みや工具の軸受けの姿勢変化等が含まれる。この撓みや摩耗等により輪郭誤差（理想的な工具の輪郭形状と実際の工具の輪郭形状との差）が生じる。超精密加工をする工作機械では、ワークの形状誤差要因のうちの多くをエンドミル等の工具の輪郭誤差が占めている。
【０００６】
そこで、工具の輪郭誤差に応じて工具の位置を補正しつつワークの加工をすることで、ワークの形状誤差を極力小さくすることが考えられる。このときに、プログラムに含まれている具体的な数字によって工具を相対移動すると、プログラムの構成が簡単になる。
【０００７】
しかし、具体的な数字を使うと、工具を交換したり、工具が摩耗および撓みを生じたとき等、その都度、ＮＣプログラムを作り直さなければならないという問題がある。
【０００８】
本発明は、上記問題点に鑑みてなされたものであり、工具の輪郭誤差に応じて工具の位置を補正しつつワークの加工をするワークの加工方法およびワークの加工機において、工具を交換したり、工具が摩耗および撓みを生じたとき等に、その都度、ＮＣプログラムを作り直すことを不要とするワークの加工方法およびワークの加工機を提供することを目的とする。
【課題を解決するための手段】
【０００９】
請求項１に記載の発明は、工具によりワークを所望の形状に加工する加工方法であって、ＮＣプログラムに前記工具の位置を補正する為の演算式を組み込み、前記ＮＣプログラムに基づいて前記工具が移動する経路である加工パスを演算し、前記加工パスから前記工具の各部位が前記ワークを切削する切削移動距離を算出し、前記切削移動距離から前記工具の各部位の摩耗量と撓み量を算出し、前記工具の輪郭誤差に加えて摩耗量と撓み量によって前記ＮＣプログラムを補正し、その補正した前記ＮＣプログラムによって加工する加工方法である。
【００１０】
請求項２に記載の発明は、請求項１に記載の加工方法において、前記ＮＣプログラムは、前記工具の輪郭誤差による前記ワークの加工誤差の発生を抑えるために、前記演算式を用いて、前記工具の位置を補正する加工方法である。
【００１１】
請求項３に記載の発明は、請求項１に記載の加工方法において、前記摩耗量および撓み量を考慮しない輪郭誤差による補正量と、前記摩耗量および撓み量を考慮した輪郭誤差による補正量の比率を設定し、前記加工パスが、前記加工の開始から加工の終了に向かうにつれて、前記摩耗量および撓み量を考慮しない輪郭誤差による補正量の比率を低下させ、且つ、前記摩耗量および撓み量を考慮した輪郭誤差による補正量の比率を増加させる加工方法である。
【００１２】
請求項４に記載の発明は、請求項１に記載の加工方法において、前記摩耗量は加工前後に測定した工具形状の変化から求め、前記撓み量は加工後に測定したワーク形状と、加工目標とする形状の差から削り残し量を求め、削り残し量から摩耗量を引いたものが撓み量である加工方法である。
【００１３】
請求項５に記載の発明は、工具によりワークを所望の形状に加工する加工機であって、ＮＣプログラムに前記工具の位置を補正する為の演算式を組み込み、前記ＮＣプログラムに基づいて前記工具が移動する経路である加工パスを演算し、前記加工パスから前記工具の各部位が前記ワークを切削する切削移動距離を算出し、前記切削移動距離から前記工具の各部位の摩耗量と撓み量を算出し、前記工具の輪郭誤差に加えて摩耗量と撓み量によって前記ＮＣプログラムを補正し、その補正した前記ＮＣプログラムによって加工する加工機である。
【００１４】
請求項６に記載の発明は、工具によりワークを所望の形状に加工するためのＮＣプログラムの生成方法であって、前記ＮＣプログラムに、前記工具の位置を補正するための演算式を組み込むステップと、前記演算式に、加工点の法線方向に前記工具の輪郭誤差を補正するための法線単位ベクトルと変数を組み込むステップと、前記ＮＣプログラムに基づいて前記工具が移動する経路である加工パスを演算するステップと、前記加工パスから前記工具の各部位が前記ワークを切削する距離である切削移動距離を算出するステップと、前記切削移動距離から前記工具の各部位の摩耗量および撓み量を算出するステップと、前記工具の輪郭誤差に加えて前記摩耗量および撓み量によって前記ＮＣプログラムを補正するステップと、を有するＮＣプログラムの生成方法である。
【発明の効果】
【００１５】
本発明によれば、工具の輪郭誤差に応じて工具の位置を補正しつつワークの加工をするワークの加工方法およびワークの加工機において、工具を交換したり、工具が摩耗したり撓んだりしたとき等に、その都度、ＮＣプログラムを作り直す必要を無くすことができるものを提供することができるという効果を奏する。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施形態に係るワークの加工機におけるワークと工具とを示す図である。
【図２】本発明の実施形態に係るワークの加工機とこのシステムを示す図である。
【図３】本発明の実施形態に係るワークの加工機における工具の輪郭誤差を説明する図である。
【図４】本発明の実施形態に係るワークの加工機における工具の輪郭誤差を説明する図である。
【図５】本発明の実施形態に係るワークの加工機における保持済みワークに対する工具の移動経路を示す図である。
【図６】本発明の実施形態に係るワークの加工機のプログラムにおける、位置の補正がされていない工具の位置座標を示す図である。
【図７】本発明の実施形態に係るワークの加工機のプログラムにおける、位置の補正がされた工具の位置座標を示す図である。
【図８】補正がされる工具の部位を示す図である。
【図９】図８で示す部位における位置の補正がされた工具の位置座標を示す図である。
【図１０】図８、図９の態様を一般化した図である。
【図１１】本発明の実施形態に係るワークの加工機における工具の磨耗や撓みを説明する図である。
【図１２】本発明の実施形態に係るワークの加工機の処理手順を示すフローチャートである。
【図１３】工具を用いて加工するワークの表面形状を示す図である。
【図１４】ワークと工具の接触を示す図であり、（ａ）は加工方向を示し、（ｂ）は凸形状の表面を加工する様子を示し、（ｃ）は凹形状の表面を加工する様子を示す。
【図１５】ＮＣプログラムの進捗率と各領域の摩耗量との関係を示すグラフである。
【図１６】工具先端部の領域の切削距離を示す図であり、（ａ）はワークの表面を示す図であり、（ｂ）は工具による加工方向を示す図であり、（ｃ）は工具先端の各領域を示す図であり、（ｄ）はＮＣプログラム進捗率と切削移動距離との関係を示すグラフである。
【図１７】切削移動距離と摩耗量との関係を示すグラフである。
【図１８】切削移動距離と撓み量との関係を示すグラフである。
【図１９】ＮＣプログラムの進捗率と各領域の撓み量との関係を示すグラフである。
【図２０】摩耗量および撓み量を考慮しない輪郭誤差と摩耗量および撓み量を考慮した輪郭誤差との比率を示す図である。
【図２１】本発明の実施形態に係るワークの加工機のプログラムにおける、工具の座標を補正する式を示す図である。
【図２２】本発明に係るワークの加工機の処理手順の他の実施形態のフローチャートである。
【図２３】本発明に係るワークの加工機の処理手順の他の実施形態のフローチャートである。
【図２４】工具の軸受けの姿勢変化のようすを示す概略図である。
【発明を実施するための形態】
【００１７】
本発明の実施形態に係るワークの加工機（工作機械）１は、工具（加工工具；たとえばボールエンドミル）３を用いて被加工物としてのワーク５を加工するものであり、図１や図２で示すように、ワーク保持部７と工具保持部９と移動部１１と制御部１３（制御装置）とを備えて構成されている。
【００１８】
ここで、空間における所定の一方向をＸ方向（Ｘ軸方向；横方向）とし、空間における所定の他の一方向であってＸ方向に対して直交する方向をＹ方向（Ｙ軸方向；前後方向）とし、Ｘ方向とＹ方向とに対して直交する方向をＺ方向（Ｚ軸方向；上下方向）する。なお、この定義では、Ｘ方向とＹ方向とが水平方向であってＺ方向が上下方向になるがこれに限定されるものではなく、Ｘ方向もしくはＹ方向が上下方向となってもよいし、Ｘ方向、Ｙ方向、Ｚ方向が、水平方向や上下方向に対して斜めになっていてもよい。
【００１９】
ワーク保持部７は、ワーク５を保持するように構成されており、工具保持部９は、工具３を保持するように構成されている。工具保持部９で保持されている保持済み工具３（以下、単に「工具３」という）は、ワーク保持部７で保持されている保持済みワーク５（以下、単に「ワーク５」という）を加工（切削加工）するようになっている。
【００２０】
工具３としての（ボールエンドミル）は、外周に切れ刃部が設けられている。さらに説明すると、ボールエンドミル３は、円柱状の基端部１５（図１）と半球状の先端部１７とを備えて構成されている。基端部１５の外径と先端部１７の直径とはお互いが一致しており、基端部１５の中心軸Ｃ１の延伸方向の一方の端に、先端部１７がくっついた形状になっている。なお、先端部１７の中心軸と基端部１５の中心軸Ｃ１とはお互いが一致している。
【００２１】
ここで、先端部１７の円形の端面（基端部１５の円形の端面にくっついている端面）の中心を、先端部１７の中心Ｃ２とする。この中心Ｃ２は、工具３の中心軸Ｃ１上に存在している。
【００２２】
ボールエンドミル３の切れ刃は、先端部１７の外周と基端部１５の端部（先端部１７側の端部）とに形成されている。ボールエンドミル３は、基端部１５の他方の端部が工具保持部９に係合して工具保持部で保持されるようになっている。
【００２３】
そして、工具保持部９で保持されている工具３は、回転（中心軸Ｃ１を回転中心にして自転）することで、切れ刃でワーク５を切削加工するようになっている。
【００２４】
移動部１１は、ワーク５を保持済み工具３で加工するために、ワーク５に対して工具３を相対的に移動するように構成されている。なお、工具３に対してワーク５を移動しても良い。
【００２５】
制御部１３は、ＮＣプログラムに基づいて移動部１１を制御し、ワーク５に対し工具３を移動するように構成されている。
【００２６】
さらに説明すると、図２で示すように、ワーク５の加工機１は、ベッド１９とテーブル２１とコラム２３と主軸支持体２５と主軸筐体２７とスピンドル２９と備えて構成されている。
【００２７】
テーブル２１は、図示しないリニアガイドベアリングを介してベッド１９に支持されており、図示しないリニアモータ等のアクチュエータにより、Ｘ方向でベッド１９に対して相対移動されるようになっている。
【００２８】
コラム２３はベッド１９に一体的に設けられている。主軸支持体２５は、図示しないリニアガイドベアリングを介してコラム２３に支持されており、図示しないリニアモータ等のアクチュエータにより、Ｙ方向でコラム２３に対して相対移動されるようになっている。
【００２９】
主軸筐体２７は、図示しないリニアガイドベアリングを介して主軸支持体２５に支持されており、図示しないリニアモータ等のアクチュエータにより、Ｚ方向で主軸支持体２５に対して相対移動されるようになっている。
【００３０】
スピンドル２９は、ベアリングを介して主軸筐体２７に支持されており、図示しないモータ等のアクチュエータにより、中心軸（Ｚ方向に延びている工具３と共通の中心軸）Ｃ１を回転中心にして主軸筐体２７に対し回転自在になっている。
【００３１】
スピンドル２９には、工具保持部９が設けられており、テーブル２１の上面には、ワーク保持部７が設けられている。これにより、ワーク５に対し保持済み工具３がＸ方向、Ｙ方向、Ｚ方向で相対的に移動するようになっている。
【００３２】
ＮＣプログラムには、工具３の位置（ワーク５に対する座標）を算出するための演算式（たとえば、四則演算等を用いた数式式）が組み込まれている。すなわち、保持済み工具３が移動するときの位置座標は、演算式の解によって決定されるようになっている。
【００３３】
また、ＮＣプログラムは、工具３の輪郭誤差によるワーク５の加工誤差の発生を抑えるために、演算式を用いて、工具３の位置を補正するように構成されている
工具３の位置の補正は、該工具３の加工点Ｔ１（詳細は後述する）における加工面に対する法線ベクトルＶ１と、工具３との輪郭誤差とを用いてなされる。これにより、Ｘ方向、Ｙ方向、Ｚ方向のうちの少なくともいずれかの方向（法線ベクトルＶ１の形態で決まる）で、工具３の三次元的な位置が補正される。
【００３４】
ここでは、まず、図２に示す工具形状測定装置３１により測定される輪郭誤差の補正である初期校正処理（後述する図１２のステップＳ１０２）について説明する。
【００３５】
工具３の輪郭誤差は、工具形状測定装置３１によって、ワーク５を実際に加工する前に、事前に求められる。なお、以下では、「工具形状測定装置３１」を用いて初期的に工具３の輪郭誤差を算出する処理を、「初期校正処理」という。
【００３６】
工具形状測定装置３１は、ワークの加工機１の所定の位置に設置されている。そして、保持済み工具３の形状を工具形状測定装置３１（レーザやカメラなど）で測定可能な位置に保持済み工具３を位置させて、保持済み工具３を回転（中心軸Ｃ１まわりで自転）させておくことで、保持済み工具３の外形を機上（ワークの加工機１の機上）で測定するようになっている。
【００３７】
この測定した保持済み工具３の外形と、理想的な形状の（形状誤差の無い）保持済み工具の外形との差（工具３の部位毎の差）を、工具３の「輪郭誤差」とする。
【００３８】
図３（ａ）に破線で示すものは、理想的な形状の工具の外形形状であり、図３（ａ）に実線で示すものは、形状誤差のある実際の工具３の外形形状である。図３（ａ）では、中心軸Ｃ１まわりで工具の回転をしていない。また、図３（ａ）に実線で示す保持済み工具３は、中心軸Ｃ１に対してごく僅かに右側に偏って位置している。
【００３９】
図３（ｂ）に破線で示すものは、理想的な形状の工具の外形形状であり、図３（ｂ）に実線で示すものは、形状誤差のある実際の工具３（図３（ａ）に実線で示した工具３）を中心軸Ｃ１のまわりで回転させたときの外形形状である。
【００４０】
図３（ｂ）に実線で示す工具３の形状は、当然のことであるが中心軸Ｃ１に対して線対称になっている。ワーク５の加工が、ボールエンドミル３の先端部１７でされるとすれば、ボールエンドミル３の輪郭誤差は、図３で示すように、先端部１７の１／４の円弧（即ち、角度が９０°の範囲）で求めればよいことになる。
【００４１】
なお、工具形状測定装置として、たとえば、特開昭６３−２３３４０３号公報で示されているものを掲げることができる。
【００４２】
ここで、工具（ボールエンドミル）３の輪郭誤差を、図４を参照しつつさらに詳しく説明する。
【００４３】
図４に二点鎖線で示す半円弧状のものは、形状誤差の無い工具の外形形状である。図４に実線で示すものは、工具形状測定装置３１で測定された工具３の先端部１７の外形形状である。なお、図では理解を容易にするために、輪郭誤差を誇張して記載している。
【００４４】
工具３の半球状の先端部１７の中心Ｃ２から工具３の、１／４円弧状の外形に向かって延びる複数本の半直線Ｌ００〜Ｌ９０を、角度１０°間隔で引く。工具３の中心軸Ｃ１と半直線Ｌ００と交差角度は「０°」になっている。保持済み工具３の中心軸Ｃ１と半直線Ｌ１０と交差角度は「１０°」になっている。同様にして、保持済み工具３の中心軸Ｃ１と半直線Ｌ２０〜半直線Ｌ９０と交差角度は「２０°」〜「９０°」になっている。
【００４５】
ここで、半直線Ｌ００と理想形状の工具の外形との交点を交点Ｑ００ａとする。同様に、半直線Ｌ１０、Ｌ２０、・・Ｌ９０と、理想形状の工具の外形との交点を交点Ｑ１０ａ、Ｑ２０ａ・・Ｑ９０ａとする。一方、半直線Ｌ００、Ｌ１０、Ｌ２０、・・Ｌ９０と、工具形状測定装置３１で測定した実際の工具３の外形との交点を交点Ｑ００ｂ、Ｑ１０ｂ、Ｑ２０ｂ・・Ｑ９０ｂとする。
【００４６】
そして、それぞれの差分を参照符号「＃５００〜＃５９０」としてメモリなどに記憶する。具体的に、「＃５００＝Ｑ００ｂ−Ｑ００ａ」とし、「＃５１０＝Ｑ１０ｂ−Ｑ１０ａ」とし、以下同様にして、「＃５９０＝Ｑ９０ｂ−Ｑ９０ａ」とする。
【００４７】
参照符号（プログラム変数番号になる）＃５００〜＃５９０で示す寸法の値は、半直線Ｌ００〜Ｌ９０において、理想形状の工具の外形との交点Ｑ００ａ〜Ｑ９０ａと、実際の工具３の外形との交点Ｑ００ｂ〜Ｑ９０ｂとの間の距離であり、それぞれの半直線における工具３の輪郭誤差の値を示している。
【００４８】
なお、図４では、工具３の中心軸Ｃ１に対する半直線Ｌ００〜Ｌ９０の交差角度が１０°の間隔で刻まれていることで、工具３の輪郭誤差が１０カ所で求められて存在していることになるが、交差角度がさらに細かい間隔（たとえば、１°の間隔）で刻まれていてもよい。
【００４９】
すなわち、たとえば、工具３の中心軸Ｃ１との交差角度が「６４°」になっている半直線Ｌ６４のところにおける工具３の輪郭誤差（交点Ｑ６４ａと交点Ｑ６４ｂとの間の距離；＃５６４）という具合に、工具３の輪郭誤差が９１カ所で求められて存在していてもよい。
【００５０】
これらの各輪郭誤差の値は、工具形状測定装置３１を用いて上述した「初期校正処理」を実施することにより、工具３の輪郭誤差を示すデータとして、工具３によるワーク５の加工がされる前に、予め、図２で示すＰＣ３３ａのメモリ（ＰＣ３３や制御部１３のメモリ３５でもよい）に記憶されている。なお、図２に符号４７で示すものは、工具３の輪郭誤差を示すデータである。
【００５１】
ここで、工具３の輪郭誤差によるワーク５の加工精度の悪化を防ぐためのＮＣプログラム（補正有ＮＣプログラム）について説明する。
【００５２】
図２で示すように、ＣＡＤデータ（完成品としてワークの形状を示すデータ）３７と、ＣＡＭ３９で作成された加工パス（工具の輪郭誤差が「０」であるとするＣＡＤデータに基づいたＮＣプログラム）とから、工具３の加工点Ｔ１（図５参照）における法線ベクトル（単位法線ベクトル）Ｖ１を、たとえば、ＰＣ３３（ＰＣ３３ａでもよい。）で求める。
【００５３】
工具３の半球状の先端部１７の切れ刃部がワーク５を切削加工しているときに、工具３とワーク５との接触点が加工点Ｔ１になる。
【００５４】
さらに説明すると、ワーク５を工具３を用い所定の切り込み量で切削加工しているときに、ワーク５に対して工具３がＸ方向やＹ方向やＺ方向に移動しているのであるが、この加工をしているときに、たとえば、工具３がこの移動方向の最も後端で、ワーク５に接している点（加工後にワークの外形形状を決める箇所）が加工点Ｔ１になる。
【００５５】
加工点Ｔ１を中心とした加工点Ｔ１の近傍は曲面であるが、平面とみなせるごく微小な面が存在しているとみなすこともできる。法線ベクトルＶ１は、上記ごく微小な曲面に対して直交しているベクトルであり、Ｘ方向の成分とＹ方向の成分とＺ方向の成分とを備えている。また、法線ベクトルＶ１は、このスカラー量が「１」になっている。
【００５６】
即ち、法線ベクトルＶ１は単位ベクトルである。そして、本実施形態では、初期校正処理により、工具３のずれ量（スカラー量）を演算する。更に、法線ベクトルＶ１を演算する。そして、後述するように、法線ベクトルＶ１をＸ方向、Ｙ方向、Ｚ方向のそれぞれの方向に分解し、更に、ずれ量を乗算して、Ｘ方向、Ｙ方向、Ｚ方向のずれ量を演算する。
【００５７】
ワーク５を切削加工するときの保持済み工具３の位置の補正についてさらに説明する。
【００５８】
図５に示すように、ワーク５を切削加工するとき、工具３は、Ｘ方向、Ｙ方向、Ｚ方向のうちの少なくともいずれかの方向で、保持済みワーク５に対して移動する。このときの工具３の座標値は、たとえば、図６で示すように、座標値ｆ５１（Ｘ−１．６０６５７  Ｙ−０．４２５８３  Ｚ−１．０９８０９）から、座標値ｆ５２（Ｘ−１．６２９５１  Ｙ−０．６１４１    Ｚ−１．０９８０９）に所定の僅かな時間をかけてたとえば直線的に移動する。同様にして、座標値ｆ５２から座標値ｆ５３に移動し、さらに、座標値ｆ５３から座標値ｆ５４に、座標値ｆ５４から座標値ｆ５５に・・・・移動する。また、加工点Ｔ１も当然に移動する。
【００５９】
なお、図６で示すものは、工具３の輪郭誤差に対する補正がされていないときの（理想的な工具で切削加工するときに）工具３の座標値（ＮＣプログラムの一部）を示している。
【００６０】
図７は、図６に示した座標値ｆ５１〜ｆ５５に、補正値を加算した座標値ｆ６１〜ｆ６５を示している。工具３の輪郭誤差に対する補正がされることで、図７で示すような、・・・座標値ｆ６１、座標値ｆ６２、座標値ｆ６３、座標値ｆ６４、座標値ｆ６５・・・を、この順に工具３が通ることとなる。
【００６１】
なお、座標値ｆ６１、座標値ｆ６２・・・は、演算式を備えており、ＰＣ３３で作成され、ワークの加工機１の制御部１３に送られる。そして、制御部１３で演算式の計算が行われるようになっている。なお、ＰＣ３３を用いることなく、制御部１３で、演算式を備えている座標値ｆ６１、座標値ｆ６２・・・が作成される構成であってもよい。
【００６２】
工具３の輪郭誤差に対する補正をするときの保持済み工具３の座標値を、座標値ｆ６１を例に掲げて説明する。
【００６３】
座標値ｆ６１におけるＸ座標の「−１．６０６５７」は、補正がされる前の（輪郭誤差の補正の無い）保持済み工具３のＸ方向の座標値である。座標値ｆ６１における「−０．８９１０１」は、加工点Ｔ１における法線ベクトルＶ１のＸ方向成分である。座標値ｆ６１における「＊」は、掛け算の記号（×）である。座標値ｆ６１における参照符号「＃５６４」は、図４を用いて説明したような、工具３の加工点Ｔ１における輪郭誤差（スカラー量）である。
【００６４】
座標値ｆ６１におけるＹ座標の「−０．４２５８３」は、補正がされる前の（輪郭誤差の補正の無い）工具３のＹ方向の座標値である。座標値ｆ６１における「０．１１５２８」は、加工点Ｔ１における法線ベクトルＶ１のＹ方向成分である。座標値ｆ６１における参照符号「＃５６４」は、図４を用いて説明したような、工具３の加工点Ｔ１における輪郭誤差（スカラー量）である。
【００６５】
座標値ｆ６１におけるＺ座標の「−１．０９８０９」は、補正がされる前の（輪郭誤差の補正の無い）工具３のＺ方向の座標値である。座標値ｆ６１における「−０．４３９１」は、加工点Ｔ１における法線ベクトルＶ１のＺ方向成分である。座標値ｆ６１における参照符号「＃５６４」は、図４を用いて説明したような、保持済み工具３の加工点Ｔ１における輪郭誤差（スカラー量）である。
【００６６】
なお、座標値ｆ６１におけるＸ方向成分とＹ方向成分とＺ方向成分とを有する法線ベクトルＶ１の大きさは「１」になる。すなわち、「（（−０．８９１０１・・・）２+（０．１１５２８・・・）２+（−０．４３９１・・・）２）１／２＝１」になる。
【００６７】
ここで、図２で示すような、ワーク５の加工機１、ＰＣ３３、ＣＡＭ３９を備えたワークの加工システムの動作について説明する。
【００６８】
初期状態では、工具３が工具保持部９で保持されており、ワーク５がワーク保持部７で保持されており、保持済み工具３の輪郭誤差が測定されている。
【００６９】
上記初期状態で、ＣＡＭ３９で加工パス４１を作成し、ＣＡＤデータ３７と加工パス４１とで、ＰＣ３３により工具３の輪郭誤差に基づいた補正がされた加工パス（補正済み加工パス）４３を作成し、補正済み加工パス４３をワークの加工機１の制御装置（制御部１３）に送る。
【００７０】
ワークの加工機１は、制御部１３の制御の下、補正済み加工パス４３に基づき移動部１１を制御して、保持済み工具３を回転させつつ保持済みワーク５に対して適宜移動し、保持済みワーク５の切削加工を行う。
【００７１】
ワークの加工機１によれば、ＮＣプログラムに、工具３の位置（座標値）を算出するための演算式が組み込まれているので、工具を交換したり、工具が摩耗したとき等に、その都度、ＮＣプログラムを作り直す必要を無くすことができる。
【００７２】
すなわち、具体的な数字を使うと、工具を交換したり工具が摩耗したりしたとき等に、その都度、ＮＣプログラムを作り直さなければいけないが、演算式にすることで、その時々に変化する工具輪郭誤差に随時対処することができる。
【００７３】
また、演算式を用いることで、測定した工具輪郭値を変数に格納しておき、加工時に計算（演算）が行われるので、ＮＣプログラムを一度作成すればその後ずっと利用することができる。また、ＮＣプログラムの演算式の演算を制御部１３で行うので、専用の装置が不要になる。
【００７４】
また、ワークの加工機１によれば、ＮＣプログラムが、工具３の輪郭誤差によるワーク５の加工誤差の発生を抑えるために、演算式を用いて、工具３の位置を補正するように構成されているので、ＮＣプログラムの構成を簡素化することができる。
【００７５】
また、ワークの加工機１によれば、ＣＡＤデータ３７と加工パス４１とを用いて工具３の加工点Ｔ１における法線ベクトルＶ１を求め、この法線ベクトルＶ１と加工点Ｔ１における工具３の輪郭誤差とを含む演算式を用いて工具３の位置を補正しているので、保持済み工具３の位置を確実に精度良く補正をすることができる。
【００７６】
ところで、上記説明では、ワークの加工機１へのＮＣプログラムの供給を外部のＰＣ３３から送信で行っているが、ワークの加工機１へのＮＣプログラムの供給をメモリカード等のメディアを介して行ってもよい。
【００７７】
ところで、図４で示す態様では、工具３の輪郭誤差が１°単位で求められている。すなわち、輪郭誤差が求められている工具３の部位は、非連続（連続していない）、たとえば１°毎のとびとびの状態で存在している。
【００７８】
そこで、加工点Ｔ１が、輪郭誤差が存在していない工具３の部位になっている場合には、加工点Ｔ１を間にしてお互いが隣接している２つの部位の輪郭誤差を用いて、加工点Ｔ１の輪郭誤差を算出し、この算出した輪郭誤差を用いて、工具３の位置の補正をするようになっている。
【００７９】
詳しく説明すると、工具３の輪郭誤差は、図４を用いて説明したように、工具３の回転中心軸Ｃ１に対する交差角度を１°毎の間隔にして求められている。しかし、実際には、工具３の加工点Ｔ１が、図８で示すように、たとえば、６３．９°の角度のところになる事態が当然に発生する。
【００８０】
この場合、６３．９°の角度（中途の角度）のところの工具３の輪郭誤差は、中途の角度に隣接している一方の角度６３°のところの工具３の輪郭誤差を示す参照符号「＃５６３」と、中途の角度に隣接している他方の角度６４°のところの工具３の輪郭誤差を示す参照符号「＃５６４」とを用いて求められる。この場合、一方の角度６３°、他方の角度６４°のうちで、上記中途の角度６３．９°に近い角度６４°のところにおける輪郭誤差を示す参照符号「＃５６４」を偏重して用いる。
【００８１】
具体例を掲げて説明すると、中途の角度６３．９°と一方の角度６３°との第１の差０．９°を求め、他方の角度６４°と中途の角度６３．９°と第２の差０．１°を求める。
【００８２】
また、他方の角度６４°と一方の角度６３°との差である１°に対する第１の差０．９°の第１の割合である「０．９」と、他方の角度６４°と一方の角度６３°との差である１°に対する第２の差０．１°の第２の割合である「０．１」とを求める。
【００８３】
中途の角度６３．９°のところにおける工具の輪郭誤差は、第１の割合０．９×他方の角度６４°のところの工具の輪郭誤差を示す参照符号「＃５６４」と、第２の割合０．１×一方の角度６３°のところの工具の輪郭誤差を示す参照符号「＃５６３」との和で求められる。
【００８４】
中途の角度６３．９°のところの工具の輪郭誤差で補正をするときの保持済み工具３の座標値を、図９に示す座標値ｆ８１を例に掲げて説明する。
【００８５】
座標値ｆ８１における「−１．６０６５７」は、補正がされる前の（輪郭誤差の補正の無い）保持済み工具のＸ方向の座標値である。座標値ｆ８１における「−０．８９１０１」は、座標値ｆ８１の加工点Ｔ１における法線ベクトルのＸ方向成分である。
【００８６】
座標値ｆ８１における参照符号「＃５６３」は、図４を用いて説明したような、保持済み工具３の加工点Ｔ１における輪郭誤差（スカラー量）である。座標値ｆ８１における「０．０４６」は、上述した第２の割合「０．１」に相当する値（割合）である。
【００８７】
座標値ｆ８１における参照符号「＃５６４」は、図４を用いて説明したような、保持済み工具３の加工点Ｔ１における輪郭誤差（スカラー量）である。座標値ｆ８１における「０．９５４」は、上述した第１の割合「０．９」に相当する値（割合）である。
【００８８】
座標値ｆ８１における「−０．４２５８３」は、補正がされる前の（輪郭誤差の補正の無い）工具３のＹ方向の座標値である。座標値ｆ８１における「０．１１５２８」は、座標値ｆ８１の加工点Ｔ１における法線ベクトルのＹ方向成分である。
【００８９】
座標値ｆ８１における参照符号「＃５６３」は、図４を用いて説明したような、工具３の加工点Ｔ１における輪郭誤差（スカラー量）である。座標値ｆ８１における「０．０４６」は、上述した第２の割合「０．１」に相当する値（割合）である。
【００９０】
座標値ｆ８１における参照符号「＃５６４」は、図４を用いて説明したような、工具３の加工点Ｔ１における輪郭誤差（スカラー量）である。座標値ｆ８１における「０．９５４」は、上述した第１の割合「０．９」に相当する値（割合）である。
【００９１】
座標値ｆ８１における「−１．０９８０９」は、補正がされる前の（輪郭誤差の補正の無い）工具３のＺ方向の座標値である。座標値ｆ８１における「−０．４３９１」は、座標値ｆ８１の加工点Ｔ１における法線ベクトルのＺ方向成分である。
【００９２】
座標値ｆ８１における参照符号「＃５６３」は、図４を用いて説明したような、工具３の加工点Ｔ１における輪郭誤差（スカラー量）である。座標値ｆ８１における「０．０４６」は、上述した第２の割合「０．１」に相当する値（割合）である。
【００９３】
座標値ｆ８１における参照符号「＃５６４」は、図４を用いて説明したような、工具３の加工点Ｔ１における輪郭誤差（スカラー量）である。座標値ｆ８１における「０．９５４」は、上述した第１の割合「０．９」に相当する値（割合）である。
【００９４】
座標値ｆ８２、座標値ｆ８３、座標値ｆ８４、座標値ｆ８５・・・も座標値ｆ８１と同様に解釈される。
【００９５】
工具３の輪郭誤差に対する補正（中途の角度のところの工具３の輪郭誤差で補正）がされることで、図９で示すような、・・・座標値ｆ８１、座標値ｆ８２、座標値ｆ８３、座標値ｆ８４、座標値ｆ８５・・・をこの順に工具３が通って、ワーク５の切削加工がなされる。
【００９６】
なお、図８、図９では、具体的な数字を掲げているが、図８で示す態様を一般化すると図１０（ａ）で示すようになり、図９で示す態様を一般化すると図１０（ｂ）で示すようになる。
【００９７】
ワークの加工機１によれば、輪郭誤差が求められている保持済み工具３の部位が非連続のとびとびの状態で存在しており、加工点Ｔ１が、輪郭誤差が存在していない工具３の部位になっていても、加工点Ｔ１を間にしてお互いが隣接している２つの部位の輪郭誤差を用いて、加工点Ｔ１の輪郭誤差を算出し、この算出した輪郭誤差を用いて、工具３の位置の補正をするので、被加工面における段差等の発生が防止され、より形状精度のよいワーク５を得ることができる。
【００９８】
上述のように、初期校正処理では、工具形状測定装置３１を用いて工具３（保持済み工具）の輪郭誤差を演算して、初期構成処理を実施することにより、工具３の輪郭誤差を相殺するように補正する処理について説明した。
【００９９】
次に、上記初期校正処理に加えて、工具３の摩耗や撓みにより生じる輪郭誤差の補正処理について説明する。
【０１００】
本願発明は、上述した工具形状測定装置３１により測定される輪郭誤差の補正に加えて、工具３によるワーク５の加工を開始してから終了するまでの間の工具３の摩耗量および撓み量を測定し、この摩耗量および撓み量に起因して変化する工具３の形状を考慮してＮＣプログラムを補正し、より高精度なワーク５の加工を実施する。
【０１０１】
図１１は工具３の先端部の形状を示す説明図であり、図１１（ａ）に示すように、ｆ０は理想的な工具形状を示し、ｆ１は、実工具形状を示し、ｆ２は、撓み量を合成した工具形状を示す。図１１（ｂ）に示すように、斜線部分Ｒは、摩耗による消失量を示す。なお、摩耗による消失量Ｒおよび撓みによる歪み量ｆ２の算出については、後で詳しく説明する。
【０１０２】
図１１から理解されるように、工具３は、加工を継続することにより摩耗および撓みにより形状が変化する。本願発明では、摩耗および撓みによる形状の変化を考慮して、ＮＣプログラムを補正する。
【０１０３】
摩耗量のデータを収集する処理として、工具３を用いて実際にワーク５を加工し、この加工時における摩耗量を測定しメモリ等に記憶する。
【０１０４】
この処理では、任意の加工処理において、工具３がワーク５の加工を開始してから加工が終了するまでの間の、加工パスを取得する。そして、加工パス中で、工具３がワーク５と接触している場所、及び接触していない場所を算出し、工具３とワーク５が接触している場所における移動距離を「切削移動距離」とする。
【０１０５】
ここで、図１２に示すフローチャートを参照して、本発明の実施形態に係るワークの加工機の処理手順について説明する。
【０１０６】
初めに、図１２のステップＳ１０１において、市販のＣＡＭに基づいて、ワーク５を加工する際のＮＣプログラム、即ち、工具３による加工パスの３次元座標を生成する。ステップＳ１０２において、前述した初期校正処理を行う。
【０１０７】
ステップＳ１０３において、ＮＣプログラムと、加工機のＣＡＤデータを比較し、工具３の各領域Ｒ１〜Ｒ５の切削移動距離を算出する。
【０１０８】
ここで、図１３、図１４を参照して、「切削移動距離」の算出方法について説明する。たとえば、図１３に示す如くの、表面が曲面形状を有するワーク５を工具を用いて切削する場合には、図１４（ａ）に示すように、工具３を第１の方向（ここでは、矢印Ｙ１に示す方向）に向けて移動させ、更に、第１の方向に直交する方向にスライド移動させて、再度矢印Ｙ１の方向に移動させて切削するという処理を連続的に実施する。この際、加工形状に応じて、たとえば図１４（ｂ）に示す加工点Ａ、図１４（ｃ）に示す加工点Ｂのように、加工点に応じて、工具３の先端部がワーク５に接触する部位を認識できる。
【０１０９】
即ち、工具３による加工を開始してから終了するまでに、工具３が移動する際に、工具３の先端がワーク５と接触して移動する距離、即ち切削移動距離を算出することができる。なお、接触、非接触の判断は、たとえば、ワーク５の表面から、工具３による加工の深さが０．５［μｍ］以上である場合を、工具３とワーク５が接触しているものと判断する。或いは、他の判断基準として、工具３とワーク５の仕上がり形状の表面との距離が一定値以下の場合に、工具３とワーク５が接触しているものと判断する。しかし、これらに限定されるものではない。
【０１１０】
ステップＳ１０４において、各領域Ｒ１〜Ｒ５の切削移動距離毎の摩耗量Ｍを予測する。具体的に、図１５に示したグラフを作成し、各領域Ｒ１〜Ｒ５毎の、進捗率に応じた摩耗量Ｍを予測する。
【０１１１】
ここでは、切削移動距離と工具３の摩耗量との関係を算出し、この関係を対応テーブルとしてメモリなどに記憶する。そして、実加工時において、工具３が摩耗により形状変化した量を推定し、ＮＣプログラムを補正する。以下に一例をあげて詳細に説明する。
【０１１２】
図１６は、工具３を用いてワーク５を加工する手順、及び工具３の切削移動距離を示す説明図である。図１６（ａ）は、ワーク５の形状を示しており、表面に平面部及び曲面部を有している。図１６（ｂ）は、工具３によりワーク５を加工する際の、加工経路を示す説明図である。図１６（ｂ）に示すように、工具３を第１の方向（トラバース方向）に移動させながらワーク５を加工し、更に、第１の方向に直交する第２の方向（ピックフィード方向）にスライドさせて、更に、第１の方向に移動させるという動作を繰り返しながら、ワーク５を加工する。
【０１１３】
図１６（ｃ）は、工具３の先端部の領域を示す図、図１６（ｄ）は、ＮＣプログラムの進捗率［％］と、工具３の先端部の各部位の切削移動距離との関係を示すグラフである。
【０１１４】
図１６（ｃ）に示すように、工具３の軸方向を「０°」とし、工具３の軸と直交する方向を「９０°」と定義し、０°付近を領域Ｒ１とし、９０°付近を領域Ｒ５として、工具３の先端部を５つの領域Ｒ１、Ｒ２、Ｒ３、Ｒ４、Ｒ５に分割する。すると、ＮＣプログラムのデータから、各領域Ｒ１〜Ｒ５によりワーク５を切削する距離を算出することができ、たとえば、図１６（ｄ）に示すグラフのようになる。なお、本実施形態では、５つの領域Ｒ１〜Ｒ５に区分する例について説明するが、本発明はこれに限定されるものではない。
【０１１５】
従って、ワーク５の加工を実施する際に、ＮＣプログラムの進捗率に対する、各領域Ｒ１〜Ｒ５の切削移動距離のデータが得られる。即ち、本実施形態では、実際にワーク５を加工する際の工具３の加工パス中で、該工具３がワーク５と接触しているときの、切削移動距離を算出する。この際、ＣＡＤデータを参照して、工具３がワーク５に接触している領域Ｒ１〜Ｒ５を特定し、更に、各領域Ｒ１〜Ｒ５の切削距離を求める。
【０１１６】
図１７は、工具３をＮＣプログラムに従って作動させて、ワーク５を加工したときの、切削移動距離と各領域Ｒ１〜Ｒ５の摩耗量Ｍとの関係を示すグラフである。
【０１１７】
この切削移動距離と各領域Ｒ１〜Ｒ５の摩耗量Ｍとの関係は、以下のように求められる。
【０１１８】
まず、摩耗量Ｍのデータを収集する処理としては、工具３を用いて実際にワーク５を加工し、この加工時における摩耗量を測定しメモリ等に記憶する。すなわち、加工の前後の工具形状の測定結果を比較して工具３の摩耗量を得る。
【０１１９】
そして、工具３がワーク５の加工を開始してから加工が終了するまでの間の、加工パスを取得し、その加工パス中で、工具３がワーク５と接触している場所、及び接触していない場所を算出し、工具３とワーク５が接触している場所における移動距離を「切削移動距離」とする。
【０１２０】
このようにして、切削移動距離と各領域Ｒ１〜Ｒ５の摩耗量Ｍとの関係が得られる。
【０１２１】
図１７のグラフから理解されるように、切削移動距離が一定であることを条件とすると、工具３の先端の「０°」付近の領域Ｒ１では摩耗量が小さく、領域Ｒ２では摩耗量が大きくなり、更に、領域Ｒ５に向かうほど摩耗量が小さくなることが理解される。即ち、概して言えば、摩耗量の大きさはＲ２＞Ｒ３＞Ｒ４＞Ｒ５＞Ｒ１となっている。
【０１２２】
そして、制御部１３では、図１６（ｄ）に示したグラフと、図１７に示したグラフに基づいて、ＮＣプログラムの進捗率に対する各領域Ｒ１〜Ｒ５の摩耗量を推定することができる。たとえば、図１５に示すグラフが得られる。
【０１２３】
そして、図１５に示すグラフを参照することにより、ＮＣプログラムの進捗率に対する、各領域Ｒ１〜Ｒ５の摩耗量Ｍを推定することができる。この推定結果を用いて、工具３の形状を補正することにより、高精度な加工を行う。詳細な補正方法は、前述した初期校正処理による輪郭誤差を演算し、更に、上述した摩耗量Ｍを考慮して、ＮＣプログラムを補正すれば良い。
【０１２４】
具体的に、工具３の先端の０°から９０°までの９１個の角度についてそれぞれ、摩耗量Ｍを演算し、ＮＣプログラムの進捗率が１００％のときの工具３の形状（即ち、摩耗量Ｍを考慮した工具３の形状）を基準とした輪郭誤差を参照符号「＃６００〜６９０」として制御部１３のメモリに記憶する。即ち、「＃５００〜＃５９０」は摩耗量Ｍを考慮しない輪郭誤差による参照符号であり、「＃６００〜＃６９０」は摩耗量Ｍを考慮した輪郭誤差による参照符号である。
【０１２５】
そして、加工の進捗率に応じて、参照符号＃５００〜＃５９０、及び参照符号＃６００〜＃６９０を配分して補正値を演算し、ＮＣプログラムを補正する。
【０１２６】
ステップ１０５において、各領域Ｒ１〜Ｒ５の切削移動距離毎の撓み量Ｌを予測する。具体的に、図１９に示したグラフを作成し、各領域Ｒ１〜Ｒ５毎の、進捗率に応じた撓み量Ｌを予測する。
【０１２７】
ここでは、切削移動距離と工具３の撓み量Ｌとの関係を算出し、この関係を対応テーブルとしてメモリなどに記憶する。そして、実加工時において、工具３が撓みにより形状変化した量を推定し、ＮＣプログラムを補正する。以下、詳細に説明する。
【０１２８】
図１６には、工具３を用いてワーク５を加工する手順、及び工具３の切削移動距離が示されている。
【０１２９】
前述したように、ＮＣプログラムのデータから、各領域Ｒ１〜Ｒ５によりワーク５を切削する距離を算出することができ、たとえば、図１６（ｄ）に示すグラフのようになる。なお、本実施形態では、５つの領域Ｒ１〜Ｒ５に区分する例について説明するが、本発明はこれに限定されるものではない。
【０１３０】
従って、ワーク５の加工を実施する際に、ＮＣプログラムの進捗率に対する、各領域Ｒ１〜Ｒ５の切削移動距離のデータが得られる。
【０１３１】
図１８は、工具３をＮＣプログラムに従って作動させて、ワーク５を加工したときの、切削移動距離と各領域Ｒ１〜Ｒ５の撓み量Ｌとの関係を示すグラフである。
【０１３２】
ここで、この切削移動距離と各領域Ｒ１〜Ｒ５の撓み量Ｌとの関係は、以下のように求められる。
【０１３３】
まず、工具３の摩耗量Ｍのデータを収集する。ここでは、工具３を用いて実際にワーク５を加工し、この加工時における摩耗量を測定しメモリ等に記憶する。すなわち、加工の前後の工具形状の測定結果を比較して工具３の摩耗量を得る。
【０１３４】
次に、加工後のワーク形状を測定し、本来加工する予定の形状（ＣＡＤデータ等）と比較して削り残しの量を得る。すなわち、削り残しの原因は、摩耗と撓みであるので、削り残しの量が摩耗より多い場合は、その多い分が撓みとなる。
【０１３５】
従って、削り残しの量−摩耗量＝撓み量の式から撓み量が得られる。
【０１３６】
そして、工具３がワーク５の加工を開始してから加工が終了するまでの間の、加工パスを取得し、その加工パス中で、工具３がワーク５と接触している場所、及び接触していない場所を算出し、工具３とワーク５が接触している場所における移動距離を「切削移動距離」とする。
【０１３７】
このようにして、切削移動距離と各領域Ｒ１〜Ｒ５の撓み量Ｌとの関係が得られる。
【０１３８】
図１８のグラフから理解されるように、切削移動距離が一定であることを条件とすると、工具３の先端の「０°」付近の領域Ｒ１では撓み量Ｌが小さく、領域Ｒ２では撓み量Ｌが大きくなり、更に、領域Ｒ５に向かうほど撓み量Ｌが小さくなることが理解される。即ち、概して言えば、撓み量Ｌの大きさはＲ２＞Ｒ３＞Ｒ４＞Ｒ５＞Ｒ１となっている。
【０１３９】
そして、制御部１３では、図１６（ｄ）に示したグラフと、図１８に示したグラフに基づいて、ＮＣプログラムの進捗率に対する各領域Ｒ１〜Ｒ５の撓み量Ｌを推定することができる。たとえば、図１９に示すグラフが得られる。
【０１４０】
そして、図１９に示すグラフを参照することにより、ＮＣプログラムの進捗率に対する、各領域Ｒ１〜Ｒ５の撓み量Ｌを推定することができる。この推定結果を用いて、工具３の形状を補正することにより、高精度な加工を行う。詳細な補正方法は、前述した初期校正処理によって輪郭誤差を演算し、更に、上述した撓み量Ｌを考慮して、ＮＣプログラムを補正すれば良い。
【０１４１】
具体的に、工具３の先端の０°から９０°までの９１個の角度についてそれぞれ、撓み量Ｌを演算し、ＮＣプログラムの進捗率が１００％のときの工具３の形状（即ち、撓み量Ｌを考慮した工具３の形状）を基準とした輪郭誤差を参照符号「＃６００〜６９０」として制御部１３のメモリに記憶する。即ち、「＃５００〜＃５９０」は撓み量Ｌを考慮しない輪郭誤差による参照符号であり、「＃６００〜＃６９０」は撓み量Ｌを考慮した輪郭誤差による参照符号である。
【０１４２】
そして、加工の進捗率に応じて、参照符号＃５００〜＃５９０、及び参照符号＃６００〜＃６９０を配分して補正値を演算し、ＮＣプログラムを補正する。
【０１４３】
図２０は、０°〜９０°までの各角度毎の、参照符号＃５００と参照符号＃６００の配分率を示す説明図である。工具３による加工が開始されてから、終了するまでの配分率が設定されている。
【０１４４】
図２０から理解されるように、加工開始前においては、摩耗量Ｍおよび撓み量Ｌを考慮しない輪郭誤差による参照符号＃５００〜＃５９０を１００％、摩耗量Ｍおよび撓み量Ｌを考慮した輪郭誤差による参照符号＃６００〜＃６９０を０％とする。その後、進捗率が高まるにつれて参照符号＃６００〜＃６９０の比率を増加させ、参照符号＃５００〜＃５９０の比率を低下させる。加工終了時において、摩耗量Ｍおよび撓み量Ｌを考慮しない輪郭誤差による参照符号＃５００〜＃５９０を０％、摩耗Ｍおよび撓み量Ｌを考慮した輪郭誤差による参照符号＃６００〜＃６９０を１００％とする。
【０１４５】
たとえば、前述した図９の（ｆ８５）に記載したＸ成分である、［−１．６８０７７＋［−０．９０９７４＊［＃５６５＊０．２２７＋＃５６６＊０．７７３］］］を例に挙げると、参照符号「＃５６５」を「＃５６５」と「＃６６５」を所定の比率で配分した数値とする。同様に、参照点「＃５６６」を「＃５６６」と「＃６６６」を所定の比率で配分した数値とする。
【０１４６】
具体的に、図９の（ｆ８５）に示した「＃５６５」を、「（０．６６７）＊（＃５６５）＋（０．３３３）＊（＃６６５）」とする。この場合は、摩耗量Ｍおよび撓み量Ｌを考慮しない輪郭誤差による参照符号＃５６５の比率は「０．６６７」で、摩耗量Ｍおよび撓み量Ｌを考慮した輪郭誤差による参照符号＃６６５の比率は「０．３３３」である。
【０１４７】
即ち、角度６５°の場合には、図２１の式に示すように、Ｘ座標を演算する。なお、Ｙ座標、Ｚ座標は記載を省略しているが、Ｘ座標と同様の演算式となる。
【０１４８】
摩耗および撓みにより変化した後の実際の工具の形状は、加工が終了して測定を実施するまで知ることができない。しかし、前述した図１５および図１９に示したグラフを参照することにより、摩耗量および撓み量を推定することができる。
【０１４９】
ステップＳ１０６において、ＮＣプログラムに、摩耗予測および撓み予測を加えたベクトル演算式を付加し、更に、加工終了時点での工具３の各角度（０°〜９０°）における総摩耗量を専用のファイルなどに保存する。
【０１５０】
ステップＳ１０７において、加工機１の制御部１３にＮＣプログラムを読み込ませる。
【０１５１】
ステップＳ１０９において、ステップＳ１０２の処理で採取した工具形状に基づいて、ＮＣプログラムの補正量を算出し、参照符号（＃５００〜＃５９０）を制御部１３のメモリ等にセットする。
【０１５２】
ステップＳ１１０において、工具３の摩耗量および撓み量のデータに基づいて、ＮＣプログラムの補正量を算出し、参照符号（＃６００〜＃６９０）を制御部１３のメモリ等にセットする。その後、ステップＳ１１１において、工具３による加工を開始する。
【０１５３】
こうして、工具３の摩耗量Ｍおよび撓み量Ｌを考慮した輪郭誤差に基づいてＮＣプログラムを補正して工具３を作動させ、ワーク５の加工を実施することができるのである。
【０１５４】
このようにして、ワークの加工機では、ワーク５の加工が進むにつれて変動する工具３の摩耗量および撓み量を予め測定し、切削移動距離に応じた摩耗量および撓み量を推定する。そして、工具３によるワーク５の加工が開始されてから加工が進捗するにつれて、摩耗量Ｍおよび撓み量Ｌを考慮しない輪郭誤差による参照符号「＃５００〜＃５９０」と、摩耗量Ｍおよび撓み量Ｌを考慮した輪郭誤差による参照符号「＃６００〜＃６９０」の比率を変化させて、ＮＣプログラムを補正している。従って、工具３の輪郭誤差、及び工具３の摩耗量に応じた適切なＮＣプログラムの補正が可能となり、ワーク５を高精度に加工することが可能となる。
【０１５５】
なお、参照符号＃５００〜＃５９０と、参照符号＃６００〜＃６９０の比率は、一例として図２０に示した比率を例に挙げて説明したが、本発明はこれに限定されるものではなく、ワーク５、工具３の形状、状況に応じて適宜の変更が可能である。
【０１５６】
ところで、上記記載内容を、ワークの加工方法として把握してもよい。
【０１５７】
すなわち、ワークを保持するワーク保持段階と、前記ワーク保持段階で保持された保持済みワークを加工する工具を保持する工具保持段階と、前記保持済みワークを前記工具保持段階で保持された保持済み工具で加工するために、前記保持済みワークに対し前記保持済み工具を移動する移動段階とを有し、前記移動段階は、ＮＣプログラムに基づいて、前記保持済みワークに対し前記保持済み工具を移動する段階であり、前記ＮＣプログラムには、前記保持済み工具の位置を算出するための演算式が組み込まれているワークの加工方法として把握してもよい。
【０１５８】
上記ワークの加工方法において、前記ＮＣプログラムは、前記保持済み工具の輪郭誤差による前記保持済みワークの加工誤差の発生を抑えるために、前記演算式を用いて、前記保持済み工具の位置を補正するようにしてもよい。
【０１５９】
また、上記ワークの加工方法において、前記輪郭誤差が求められている前記保持済み工具の部位は、非連続のとびとびの状態で存在しており、前記加工点が、前記輪郭誤差が存在していない前記保持済み工具の部位になっている場合には、前記加工点を間にしてお互いが隣接している２つの部位の輪郭誤差を用いて、前記加工点の輪郭誤差を算出し、この算出した輪郭誤差を用いて、前記保持済み工具の位置の補正をするようにしてもよい。
【０１６０】
また、上記ワークの加工方法において、前記ＮＣプログラムに基づいて、前記保持済み工具が前記ワークの加工を開始してから加工が終了するまでの間に、前記ワークに対して移動する経路である加工パスを演算し、前記保持済み工具における各部位が、前記ワークを切削する距離である切削移動距離を算出し、且つ、前記保持済み工具による加工が終了したときの、前記各部位の摩耗量および撓み量に応じて、前記各部位毎の切削移動距離と摩耗量および撓み量との関係を取得し、前記保持済み工具の輪郭誤差に加え、前記切削移動距離と摩耗量および撓み量との関係に基づいて、前記ＮＣプログラムを補正するようにしてもよい。
【０１６１】
また、上記ワークの加工方法において、前記摩耗量および撓み量を考慮しない輪郭誤差による補正量と前記摩耗量および撓み量を考慮した輪郭誤差による補正量の比率を設定し、前記加工パスが、前記加工の開始から加工の終了に向かうにつれて、前記摩耗量および撓み量を考慮しない輪郭誤差による補正量の比率を低下させ、且つ、前記摩耗量および撓み量を考慮した輪郭誤差による補正量の比率を増加させるようにしてもよい。
【０１６２】
また、上記記載内容を、プログラム（ＮＣプログラム；ワークの加工プログラム）として把握してもよい。
【０１６３】
すなわち、ワーク保持部で保持されている保持済みワークを、工具保持部で保持されている保持済み工具で加工するために、前記保持済みワークに対し前記保持済み工具を移動する移動手順を、ワークの加工機に実行させるためのプログラムであって、前記プログラムには、前記保持済み工具の位置を算出するための演算式が組み込まれているプログラムとして把握してもよい。
【０１６４】
上記プログラムにおいて、前記保持済み工具の輪郭誤差による前記保持済みワークの加工誤差の発生を抑えるために、前記演算式を用いて、前記保持済み工具の位を補正するようにしてもよい。
【０１６５】
また、上記プログラムにおいて、前記輪郭誤差が求められている前記保持済み工具の部位は、非連続のとびとびの状態で存在しており、前記加工点が、前記輪郭誤差が存在していない前記保持済み工具の部位になっている場合には、前記加工点を間にしてお互いが隣接している２つの部位の輪郭誤差を用いて、前記加工点の輪郭誤差を算出し、この算出した輪郭誤差を用いて、前記保持済み工具の位置の補正をするようにしてもよい。
【０１６６】
また、上記プログラムにおいて、ＮＣプログラムに基づいて、前記保持済み工具が前記ワークの加工を開始してから加工が終了するまでの間に、前記ワークに対して移動する経路である加工パスを演算し、前記保持済み工具における各部位が、前記ワークを切削する距離である切削移動距離を算出し、且つ、前記保持済み工具による加工が終了したときの、前記各部位の摩耗量および撓み量に応じて、前記各部位毎の切削移動距離と摩耗量および撓み量との関係を取得し、前記保持済み工具の輪郭誤差に加え、前記切削移動距離と摩耗量および撓み量との関係に基づいて、前記ＮＣプログラムを補正するようにしてもよい。
【０１６７】
また、上記プログラムにおいて、前記摩耗量および撓み量を考慮しない輪郭誤差による補正量と、前記摩耗量および撓み量を考慮した輪郭誤差による補正量の比率を設定し、前記加工パスが、前記加工の開始から加工の終了に向かうにつれて、前記摩耗量および撓み量を考慮しない輪郭誤差による補正量の比率を低下させ、且つ、前記摩耗量および撓み量を考慮した輪郭誤差による補正量の比率を増加させるようにしてもよい。
【０１６８】
次に、図２２および図２３に示すフローチャートを参照して、本発明に係るワークの加工機の処理手順の他の実施形態について説明する。この他の実施形態では、サンプル加工から本加工に至るまでの加工機の処理手順を説明する。
【０１６９】
図２２および図２３は、本発明に係るワークの加工機の処理手順の他の実施形態のフローチャートである。
【０１７０】
まず、図２２のステップＳ２０１において、ＣＡＭ３９により、ワーク５をサンプル加工する際のＮＣプログラム、即ち、工具３による加工パスの３次元座標を生成される。ステップＳ２０２において、前述した初期校正処理のために、工具形状測定装置３１により、保持済み工具３の形状が測定される。
【０１７１】
次に、ステップ２０３において、ＰＣ３３により、サンプル加工用のＮＣプログラムに、工具３の形状を考慮したベクトル演算式が付加される。すなわち、例えば、図２１に示すような、工具３の座標を補正するための演算式が、ＮＣプログラムに組み込まれる。
【０１７２】
このように、ＮＣプログラムに、工具３の位置（座標値）を補正するための演算式が組み込まれているので、工具を交換したり、工具が摩耗したとき等に、その都度、ＮＣプログラムを作り直す必要を無くすことができる。
【０１７３】
すなわち、具体的な数字を使うと、工具を交換したり工具が摩耗したりしたとき等に、その都度、ＮＣプログラムを作り直さなければいけないが、演算式にすることで、その時々に変化する工具輪郭誤差に随時対処することができる。
【０１７４】
また、この演算式を用いることで、測定した工具輪郭値を変数に格納しておき、加工時に計算（演算）が行われるので、ＮＣプログラムを一度作成すればその後ずっと利用することができる。また、ＮＣプログラムの演算式の演算を制御部１３で行うので、専用の装置が不要になる。
【０１７５】
また、ワークの加工機１によれば、ＮＣプログラムが、工具３の輪郭誤差によるワーク５の加工誤差の発生を抑えるために、演算式を用いて、工具３の位置を補正するように構成されているので、ＮＣプログラムの構成を簡素化することができる。
【０１７６】
また、ワークの加工機１によれば、ＣＡＤデータ３７と加工パス４１とを用いて工具３の加工点Ｔ１における法線ベクトルＶ１を求め、この法線ベクトルＶ１と加工点Ｔ１における工具３の輪郭誤差とを含む演算式を用いて工具３の位置を補正しているので、保持済み工具３の位置を確実に精度良く補正をすることができる。
【０１７７】
次に、ステップ２０４において、制御部１３により、サンプル加工用のＮＣプログラムが読み込まれ、ステップ２０５において、ＰＣ３３により、上記ステップ２０２において採取された工具形状に基づいて、ＮＣプログラムにおける工具形状補正量が算出され、制御部１３のメモリ等に演算変数としてセットされる。
【０１７８】
次に、ステップ２０６において、加工機１により、ワークとしてワーク５のサンプル加工が行われ、ステップ２０７において、上記サンプル加工の１工程目が終了した時点で、加工が中断され、ステップ２０８において、工具形状測定装置３１により、加工機１上の工具３の形状が測定され、ステップ２０９において、ワーク５の形状が測定される。
【０１７９】
次に、ステップ２１０において、ＰＣ３３により、ＮＣプログラムと、加工機１のＣＡＤデータとが比較され、工具３の各領域Ｒ１〜Ｒ５の切削移動距離が算出される。すなわち、工具角度毎の切削移動距離が算出される。
【０１８０】
ここで、図１３、図１４を参照して、「切削移動距離」の算出方法について説明する。たとえば、図１３に示す如くの、表面が曲面形状を有するワーク５を工具を用いて切削する場合には、図１４（ａ）に示すように、工具３を第１の方向（ここでは、矢印Ｙ１に示す方向）に向けて移動させ、更に、第１の方向に直交する方向にスライド移動させて、再度矢印Ｙ１の方向に移動させて切削するという処理を連続的に実施する。この際、加工形状に応じて、たとえば図１４（ｂ）に示す加工点Ａ、図１４（ｃ）に示す加工点Ｂのように、加工点に応じて、工具３の先端部がワーク５に接触する部位を認識できる。
【０１８１】
即ち、工具３による加工を開始してから終了するまでに、工具３が移動する際に、工具３の先端がワーク５と接触して移動する距離、即ち切削移動距離を算出することができる。なお、接触、非接触の判断は、たとえば、ワーク５の表面から、工具３による加工の深さが０．５［μｍ］以上である場合を、工具３とワーク５が接触しているものと判断する。或いは、他の判断基準として、工具３とワーク５の仕上がり形状の表面との距離が一定値以下の場合に、工具３とワーク５が接触しているものと判断する。しかし、これらに限定されるものではない。
【０１８２】
次に、ステップＳ２１１において、ＰＣ３３により、上記ステップ２０８において工具形状測定装置３１により測定された工具３の形状から、各領域Ｒ１〜Ｒ５の切削移動距離毎の摩耗量Ｍが算出される。すなわち、工具角度毎の切削移動距離毎の摩耗量Ｍが算出される。
【０１８３】
具体的には、図１５に示したグラフを作成し、各領域Ｒ１〜Ｒ５毎の、進捗率に応じた摩耗量Ｍが算出され、ＰＣ３３に記憶される。
【０１８４】
ここでは、切削移動距離と工具３の摩耗量との関係を算出し、この関係を対応テーブルとしてＰＣ３３のメモリなどに記憶する。そして、実加工時において、工具３が摩耗により形状変化した量を推定し、ＮＣプログラムを補正する。以下に一例をあげて詳細に説明する。
【０１８５】
図１６は、工具３を用いてワーク５を加工する手順、及び工具３の切削移動距離を示す説明図である。図１６（ａ）は、ワーク５の形状を示しており、表面に平面部及び曲面部を有している。図１６（ｂ）は、工具３によりワーク５を加工する際の、加工経路を示す説明図である。図１６（ｂ）に示すように、工具３を第１の方向（トラバース方向）に移動させながらワーク５を加工し、更に、第１の方向に直交する第２の方向（ピックフィード方向）にスライドさせて、更に、第１の方向に移動させるという動作を繰り返しながら、ワーク５を加工する。
【０１８６】
図１６（ｃ）は、工具３の先端部の領域を示す図、図１６（ｄ）は、ＮＣプログラムの進捗率［％］と、工具３の先端部の各部位の切削移動距離との関係を示すグラフである。
【０１８７】
図１６（ｃ）に示すように、工具３の軸方向を「０°」とし、工具３の軸と直交する方向を「９０°」と定義し、０°付近を領域Ｒ１とし、９０°付近を領域Ｒ５として、工具３の先端部を５つの領域Ｒ１、Ｒ２、Ｒ３、Ｒ４、Ｒ５に分割する。すると、ＮＣプログラムのデータから、各領域Ｒ１〜Ｒ５によりワーク５を切削する距離を算出することができ、たとえば、図１６（ｄ）に示すグラフのようになる。なお、本実施形態では、５つの領域Ｒ１〜Ｒ５に区分する例について説明するが、本発明はこれに限定されるものではない。
【０１８８】
従って、ワーク５の加工を実施する際に、ＮＣプログラムの進捗率に対する、各領域Ｒ１〜Ｒ５の切削移動距離のデータが得られる。即ち、本実施形態では、実際にワーク５を加工する際の工具３の加工パス中で、該工具３がワーク５と接触しているときの、切削移動距離を算出する。この際、ＣＡＤデータを参照して、工具３がワーク５に接触している領域Ｒ１〜Ｒ５を特定し、更に、各領域Ｒ１〜Ｒ５の切削距離を求める。
【０１８９】
図１７は、工具３をＮＣプログラムに従って作動させて、ワーク５を加工したときの、切削移動距離と各領域Ｒ１〜Ｒ５の摩耗量Ｍとの関係を示すグラフである。
【０１９０】
この切削移動距離と各領域Ｒ１〜Ｒ５の摩耗量Ｍとの関係は、以下のように求められる。
【０１９１】
まず、摩耗量Ｍのデータを収集する処理としては、工具３を用いて実際にワーク５を加工し、この加工時における摩耗量を測定しメモリ等に記憶する。すなわち、加工の前後の工具形状の測定結果を比較して工具３の摩耗量を得る。
【０１９２】
そして、工具３がワーク５の加工を開始してから加工が終了するまでの間の、加工パスを取得し、その加工パス中で、工具３がワーク５と接触している場所、及び接触していない場所を算出し、工具３とワーク５が接触している場所における移動距離を「切削移動距離」とする。
【０１９３】
このようにして、切削移動距離と各領域Ｒ１〜Ｒ５の摩耗量Ｍとの関係が得られる。
【０１９４】
図１７のグラフから理解されるように、切削移動距離が一定であることを条件とすると、工具３の先端の「０°」付近の領域Ｒ１では摩耗量が小さく、領域Ｒ２では摩耗量が大きくなり、更に、領域Ｒ５に向かうほど摩耗量が小さくなることが理解される。即ち、概して言えば、摩耗量の大きさはＲ２＞Ｒ３＞Ｒ４＞Ｒ５＞Ｒ１となっている。
【０１９５】
そして、ＰＣ３３では、図１６（ｄ）に示したグラフと、図１７に示したグラフに基づいて、ＮＣプログラムの進捗率に対する各領域Ｒ１〜Ｒ５の摩耗量を推定することができる。たとえば、図１５に示すグラフが得られる。
【０１９６】
そして、図１５に示すグラフを参照することにより、ＰＣ３３では、ＮＣプログラムの進捗率に対する、各領域Ｒ１〜Ｒ５の摩耗量Ｍを算出することができる。この算出結果を用いて、工具３の形状を補正することにより、高精度な加工を行う。詳細な補正方法は、前述した初期校正処理による輪郭誤差を演算し、更に、上述した摩耗量Ｍを考慮して、ＮＣプログラムを補正すれば良い。
【０１９７】
具体的には、工具３の先端の０°から９０°までの９１個の角度についてそれぞれ、摩耗量Ｍを演算し、ＮＣプログラムの進捗率が１００％のときの工具３の形状（即ち、摩耗量Ｍを考慮した工具３の形状）を基準とした輪郭誤差を参照符号「＃６００〜６９０」として制御部１３のメモリに記憶する。即ち、「＃５００〜＃５９０」は摩耗量Ｍを考慮しない輪郭誤差による参照符号であり、「＃６００〜＃６９０」は摩耗量Ｍを考慮した輪郭誤差による参照符号である。
【０１９８】
そして、ＰＣ３３により、加工の進捗率に応じて、参照符号＃５００〜＃５９０、及び参照符号＃６００〜＃６９０を配分して補正値が演算され、ＮＣプログラムが補正される。
【０１９９】
次に、ステップＳ２１２において、ＰＣ３３により、各領域Ｒ１〜Ｒ５の切削移動距離毎の撓み量Ｌが算出される。すなわち、工具角度毎の撓み量Ｌと切削移動距離の対応関係が算出される。
【０２００】
具体的には、図１９に示したグラフを作成し、各領域Ｒ１〜Ｒ５毎の、進捗率に応じた撓み量Ｌが算出され、ＰＣ３３に記憶される。
【０２０１】
ここでは、切削移動距離と工具３の撓み量Ｌとの関係を算出し、この関係を対応テーブルとしてメモリなどに記憶する。そして、実加工時において、工具３が撓みにより形状変化した量を推定し、ＮＣプログラムを補正する。以下、詳細に説明する。
【０２０２】
図１６には、工具３を用いてワーク５を加工する手順、及び工具３の切削移動距離が示されている。
【０２０３】
前述したように、ＮＣプログラムのデータから、各領域Ｒ１〜Ｒ５によりワーク５を切削する距離を算出することができ、たとえば、図１６（ｄ）に示すグラフのようになる。なお、本実施形態では、５つの領域Ｒ１〜Ｒ５に区分する例について説明するが、本発明はこれに限定されるものではない。
【０２０４】
従って、ワーク５の加工を実施する際に、ＮＣプログラムの進捗率に対する、各領域Ｒ１〜Ｒ５の切削移動距離のデータが得られる。
【０２０５】
図１８は、工具３をＮＣプログラムに従って作動させて、ワーク５を加工したときの、切削移動距離と各領域Ｒ１〜Ｒ５の撓み量Ｌとの関係を示すグラフである。
【０２０６】
ここで、この切削移動距離と各領域Ｒ１〜Ｒ５の撓み量Ｌとの関係は、以下のように求められる。
【０２０７】
まず、工具３の摩耗量Ｍのデータを収集する。ここでは、工具３を用いて実際にワーク５を加工し、この加工時における摩耗量を測定しメモリ等に記憶する。すなわち、加工の前後の工具形状の測定結果を比較して工具３の摩耗量を得る。
【０２０８】
次に、加工後のワーク形状を測定し、本来加工する予定の形状（ＣＡＤデータ等）と比較して削り残しの量を得る。すなわち、削り残しの原因は、摩耗と撓みであるので、削り残しの量が摩耗より多い場合は、その多い分が撓みとなる。
【０２０９】
従って、削り残しの量−摩耗量＝撓み量の式から撓み量が得られる。
【０２１０】
そして、工具３がワーク５の加工を開始してから加工が終了するまでの間の、加工パスを取得し、その加工パス中で、工具３がワーク５と接触している場所、及び接触していない場所を算出し、工具３とワーク５が接触している場所における移動距離を「切削移動距離」とする。
【０２１１】
このようにして、切削移動距離と各領域Ｒ１〜Ｒ５の撓み量Ｌとの関係が得られる。
【０２１２】
図１８のグラフから理解されるように、切削移動距離が一定であることを条件とすると、工具３の先端の「０°」付近の領域Ｒ１では撓み量Ｌが小さく、領域Ｒ２では撓み量Ｌが大きくなり、更に、領域Ｒ５に向かうほど撓み量Ｌが小さくなることが理解される。即ち、概して言えば、撓み量Ｌの大きさはＲ２＞Ｒ３＞Ｒ４＞Ｒ５＞Ｒ１となっている。
【０２１３】
そして、制御部１３では、図１６（ｄ）に示したグラフと、図１８に示したグラフに基づいて、ＮＣプログラムの進捗率に対する各領域Ｒ１〜Ｒ５の撓み量Ｌを推定することができる。たとえば、図１９に示すグラフが得られる。
【０２１４】
そして、図１９に示すグラフを参照することにより、ＮＣプログラムの進捗率に対する、各領域Ｒ１〜Ｒ５の撓み量Ｌを推定することができる。この推定結果を用いて、工具３の形状を補正することにより、高精度な加工を行う。詳細な補正方法は、前述した初期校正処理によって輪郭誤差を演算し、更に、上述した撓み量Ｌを考慮して、ＮＣプログラムを補正すれば良い。
【０２１５】
具体的に、工具３の先端の０°から９０°までの９１個の角度についてそれぞれ、撓み量Ｌを演算し、ＮＣプログラムの進捗率が１００％のときの工具３の形状（即ち、撓み量Ｌを考慮した工具３の形状）を基準とした輪郭誤差を参照符号「＃６００〜６９０」として制御部１３のメモリに記憶する。即ち、「＃５００〜＃５９０」は撓み量Ｌを考慮しない輪郭誤差による参照符号であり、「＃６００〜＃６９０」は撓み量Ｌを考慮した輪郭誤差による参照符号である。
【０２１６】
そして、加工の進捗率に応じて、参照符号＃５００〜＃５９０、及び参照符号＃６００〜＃６９０を配分して補正値を演算し、ＮＣプログラムを補正する。
【０２１７】
図２０は、０°〜９０°までの各角度毎の、参照符号＃５００と参照符号＃６００の配分率を示す説明図である。工具３による加工が開始されてから、終了するまでの配分率が設定されている。
【０２１８】
図２０から理解されるように、加工開始前においては、摩耗量Ｍおよび撓み量Ｌを考慮しない輪郭誤差による参照符号＃５００〜＃５９０を１００％、摩耗量Ｍおよび撓み量Ｌを考慮した輪郭誤差による参照符号＃６００〜＃６９０を０％とする。その後、進捗率が高まるにつれて参照符号＃６００〜＃６９０の比率を増加させ、参照符号＃５００〜＃５９０の比率を低下させる。加工終了時において、摩耗量Ｍおよび撓み量Ｌを考慮しない輪郭誤差による参照符号＃５００〜＃５９０を０％、摩耗Ｍおよび撓み量Ｌを考慮した輪郭誤差による参照符号＃６００〜＃６９０を１００％とする。
【０２１９】
たとえば、前述した図９の（ｆ８５）に記載したＸ成分である、［−１．６８０７７＋［−０．９０９７４＊［＃５６５＊０．２２７＋＃５６６＊０．７７３］］］を例に挙げると、参照符号「＃５６５」を「＃５６５」と「＃６６５」を所定の比率で配分した数値とする。同様に、参照点「＃５６６」を「＃５６６」と「＃６６６」を所定の比率で配分した数値とする。
【０２２０】
具体的に、図９の（ｆ８５）に示した「＃５６５」を、「（０．６６７）＊（＃５６５）＋（０．３３３）＊（＃６６５）」とする。この場合は、摩耗量Ｍおよび撓み量Ｌを考慮しない輪郭誤差による参照符号＃５６５の比率は「０．６６７」で、摩耗量Ｍおよび撓み量Ｌを考慮した輪郭誤差による参照符号＃６６５の比率は「０．３３３」である。
【０２２１】
即ち、角度６５°の場合には、図２１の式に示すように、Ｘ座標を演算する。なお、Ｙ座標、Ｚ座標は記載を省略しているが、Ｘ座標と同様の演算式となる。
【０２２２】
摩耗および撓みにより変化した後の実際の工具の形状は、加工が終了して測定を実施するまで知ることができない。しかし、前述した図１５および図１９に示したグラフを参照することにより、摩耗量および撓み量を算出することができる。
【０２２３】
そして、ステップＳ２１３において、ＰＣ３３により、加工終了時点での工具３の各角度（０°〜９０°）における撓み量Ｌと摩擦量Ｍと切削移動距離の対応関係が記憶される。
【０２２４】
そして、総摩耗量および総撓み量が、ＰＣ３３により、加工機１の制御部１３に読み込まれる。なお、加工終了時点での工具３の各角度（０°〜９０°）における総摩耗量総撓み量を専用のファイルなどに保存しても良い。
【０２２５】
次に、ステップ２１４において、ＰＣ３３により、全てのサンプル加工工程が終了したか否かが判定され、全てのサンプル加工工程が終了していない場合、全てのサンプル加工工程が終了するまで、上記ステップ２０６〜２１３が繰り替えされる。
【０２２６】
そして、上記ステップ２１４において全てのサンプル加工工程が終了したと判定された場合、図２３のステップ２１５において、ＰＣ３３により、全てのサンプル加工工程が終了した時点における工具角度毎の摩耗量と切削移動距離との対応グラフデータが作成され、ＰＣ３３のメモリ等に記憶され、ステップ２１６において、ＰＣ３３により、全てのサンプル加工工程が終了した時点における工具角度毎の撓み量と切削移動距離との対応グラフデータが作成され、ＰＣ３３のメモリ等に記憶される。
【０２２７】
次に、ステップＳ２１７において、ＣＡＭ３９により、ワーク５を本加工する際のパスであるＮＣプログラムが生成され、ステップＳ２１８において、ＰＣ３３により、工具形状測定装置３１により、本加工における保持済み工具３の形状が測定される。
【０２２８】
そして、ステップＳ２１９において、ＰＣ３３により、本加工用のＮＣプログラムとＣＡＤデータとが比較され、工具角度毎の切削移動距離が算出され、ステップ２２０において、ＰＣ３３により、工具角度毎の摩耗量が予測され、ステップ２２１において、ＰＣ３３により、工具角度毎の撓み量が予測される。
【０２２９】
次に、ステップＳ２２２において、ＰＣ３３により、本加工用のＮＣプログラムに、工具形状、摩耗量、撓み量を考慮したベクトル演算式が付加され、ステップ２２３において、ＰＣ３３により、本加工用のＮＣプログラムが、加工機１の制御部１３へ読み込まれ、ステップ２２４において、ＰＣ３３により、工具形状、摩耗量、撓み量による補正量が算出され、加工機１の制御部１３における演算式の演算変数にセットされる。なお、上記ステップ２１７〜２２４の処理内容は、サンプル加工の場合と同様である。
【０２３０】
そして、ステップＳ２２５において、上記本加工用のＮＣプログラムによる制御部１３の制御に基づいて、加工機１によりワークの本加工が開始され、ステップ２２６において、連続する他の本加工があるか否かが判定され、連続する他の本加工がある場合、ステップ２１７に戻り、連続する他の本加工がない場合は処理を終了する。
【０２３１】
また、工具の撓みには、工具自身の撓みの他に、工具の軸受けの姿勢変化が考えられる。
【０２３２】
図２４は、工具の軸受けの姿勢変化のようすを示す概略図である。
【０２３３】
図２４に示すように、工具３を取り付けた軸受け３ａを空気静圧により工具保持部材３ｂ内に保持する場合に、その工具保持部材３ｂ内において軸受け３ａが姿勢変化を起こしてしまう場合があった。
【０２３４】
図２４において、軸受け３ａの正常な状態は点線で示し、軸受け３ａの姿勢変化を起こした状態は実線で示している。
【０２３５】
このように、工具保持部材３ｂ内において軸受け３ａが姿勢変化を起こした場合にも、前述した本願発明による図１２あるいは図２２、２３に示した処理手順を適用して輪郭誤差を補正したワーク５の加工を実施することができる。
【符号の説明】
【０２３６】
１  ワークの加工機
３  工具
５  ワーク
７  ワーク保持部
９  工具保持部
１１  移動部
１３  制御部
１５  基端部
１７  先端部
１９  ベッド
２１  テーブル
２３  コラム
２５  主軸支持体
２７  主軸筐体
２９  スピンドル
３１  工具形状測定装置
３５  メモリ
３７  データ
３９  ＣＡＭ
４１、４３  加工パス
Ｃ１  中心軸
Ｃ２  中心
ＣＶ１、ＣＶ２、ＣＶ３  輪郭誤差
Ｔ１  加工点
【図１】
2020184321.tif 000003
【図２】
2020184321.tif 000004
【図３】
2020184321.tif 000005
【図４】
2020184321.tif 000006
【図５】
2020184321.tif 000007
【図６】
2020184321.tif 000008
【図７】
2020184321.tif 000009
【図８】
2020184321.tif 000010
【図９】
2020184321.tif 000011
【図１０】
2020184321.tif 000012
【図１１】
2020184321.tif 000013
【図１２】
2020184321.tif 000014
【図１３】
2020184321.tif 000015
【図１４】
2020184321.tif 000016
【図１５】
2020184321.tif 000017
【図１６】
2020184321.tif 000018
【図１７】
2020184321.tif 000019
【図１８】
2020184321.tif 000020
【図１９】
2020184321.tif 000021
【図２０】
2020184321.tif 000022
【図２１】
2020184321.tif 000023
【図２２】
2020184321.tif 000024
【図２３】
2020184321.tif 000025
【図２４】
2020184321.tif 000026