(57)【特許請求の範囲】
【請求項１】
主軸の位置を指示する複数の指令点に基づいた加工経路を設定し、前記加工経路に基づいて、前記主軸の移動を制御する制御装置において、
前記加工経路に交差する複数の評価断面を、隣り合う二つの前記評価断面間に存在する前記指令点の数が閾値以下になるように設定する設定部と、
該設定部が設定した評価断面及び前記加工経路の交点を演算する演算部と、
該演算部が演算した交点の位置を修正する交点位置修正部と、
該交点位置修正部が修正した交点に基づいて、前記加工経路に交差する方向における前記指令点の位置を修正する指令点位置修正部と
を備えることを特徴とする制御装置。
【請求項２】
前記設定部は、
前記加工経路に予め定められた間隔で前記評価断面を設定した後、隣り合う二つの前記評価断面の間に存在する前記指令点の数が閾値を超過しているか否かを判定する判定部と、
該判定部にて、隣り合う二つの前記評価断面の間に存在する前記指令点の数が閾値を超過していると判定した場合に、前記二つの評価断面の間に更に評価断面を追加する追加設定部と
を備えることを特徴とする請求項１に記載の制御装置。
【請求項３】
前記追加設定部は、前記二つの評価断面の間の中央に評価断面を追加すること
を特徴とする請求項２に記載の制御装置。
【請求項４】
前記複数の指令点は、第１指令点と該第１指令点の隣に位置する第２指令点とを含み、
前記設定部は、
前記第１指令点及び第２指令点の間に一の前記評価断面を設定する第１設定部と、
前記第１指令点から前記閾値に対応した距離離隔した第３指令点及び該第３指令点の隣に位置する第４指令点を設定する第２設定部と、
該第２設定部にて設定した前記第３指令点及び第４指令点の間に他の前記評価断面を設定する第３設定部と
を備えることを特徴とする請求項１に記載の制御装置。
【請求項５】
前記第１設定部は、前記第１指令点及び第２指令点の間の中央に前記一の評価断面を設定し、
前記第３設定部は、前記第３指令点及び第４指令点の間の中央に前記他の評価断面を設定すること
を特徴とする請求項４に記載の制御装置。
【請求項６】
請求項１から５の何れか一つに記載の制御装置と、
前記主軸と
を備えることを特徴とする工作機械。
【請求項７】
主軸の位置を指示する複数の指令点に基づいた加工経路を設定し、前記加工経路に基づいて、前記主軸の移動を制御する制御方法において、
前記加工経路に交差する複数の評価断面を、隣り合う二つの前記評価断面間に存在する前記指令点の数が閾値以下になるように設定し、
設定した評価断面及び前記加工経路の交点を演算し、
該演算部が演算した交点の位置を修正し、
修正した交点に基づいて、前記加工経路に交差する方向における前記指令点の位置を修正すること
を特徴とする制御方法。
【請求項８】
加工プログラムに従って、主軸の位置を指示する複数の指令点に基づいた加工経路を設定し、前記加工経路に基づいて、前記主軸の移動を制御する制御装置で実行可能なコンピュータプログラムにおいて、
前記制御装置を、
前記加工経路に交差する複数の評価断面を、隣り合う二つの前記評価断面間に存在する前記指令点の数が閾値以下になるように設定する設定部、
該設定部が設定した評価断面及び前記加工経路の交点を演算する演算部、
該演算部が演算した交点の位置を修正する交点位置修正部、及び
該交点位置修正部が修正した交点に基づいて、前記加工経路に交差する方向における前記指令点の位置を修正する指令点位置修正部
として機能させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工具を装着する主軸の移動を制御する制御装置、工作機械及びコンピュータプログラムに関する。
【背景技術】
【０００２】
工作機械は、工具を装着する主軸の移動を制御する制御装置を備える。制御装置は、主軸の位置を指示する複数の指令点を設定し、加工経路を設定する。主軸に装着した工具が３次元の曲面をワークに形成する場合、制御装置は指令点間の微小線分が連続した複数の曲線を演算し、生成する。
【０００３】
例えば前後方向及び左右方向に平行な面（水平面）上に複数の曲線を生成する。複数の曲線は前後方向又は左右方向に並ぶ。制御装置は各曲線に上下方向の位置を設定する。また制御装置は、微小線分の繋ぎ目にて尖った部分が表れるので、スプライン曲線、ベジェ曲線等の滑らかな曲線に基づいて、生成した曲線を補間する。設定された各上下位置にて、補間した曲線に沿って主軸は移動し、ワークを加工する（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第３４６６１１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし上述した補間を行っても、隣り合う曲線の傾きの差、制御装置での演算にて発生する量子化誤差等によって、ワーク表面に鱗状の模様が表れる。特許文献１は指令点を修正することなく、指令点間に、滑らかな線となるように新たな指令点を挿入している。従って、指令点そのものが誤っているにも関わらず、指令点を通ることになり、上述したワーク表面に鱗状の模様が表れるという問題があった。
【０００６】
本発明は斯かる事情に鑑みてなされたものであり、ワークに滑らかな曲面を形成することができる制御装置、工作機械及びコンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係る制御装置は、主軸の位置を指示する複数の指令点に基づいた加工経路を設定し、前記加工経路に基づいて、前記主軸の移動を制御する制御装置において、前記加工経路に交差する複数の評価断面を、隣り合う二つの前記評価断面間に存在する前記指令点の数が閾値以下になるように設定する設定部と、該設定部が設定した評価断面及び前記加工経路の交点を演算する演算部と、該演算部が演算した交点の位置を修正する交点位置修正部と、該交点位置修正部が修正した交点に基づいて、前記加工経路に交差する方向における前記指令点の位置を修正する指令点位置修正部とを備えることを特徴とする。
【０００８】
本発明に係る制御装置は、前記設定部は、前記加工経路に予め定められた間隔で前記評価断面を設定した後、隣り合う二つの前記評価断面の間に存在する前記指令点の数が閾値を超過しているか否かを判定する判定部と、該判定部にて、隣り合う二つの前記評価断面の間に存在する前記指令点の数が閾値を超過していると判定した場合に、前記二つの評価断面の間に更に評価断面を追加する追加設定部とを備えることを特徴とする。
【０００９】
本発明に係る制御装置は、前記追加設定部は、前記二つの評価断面の間の中央に評価断面を追加することを特徴とする。
【００１０】
本発明に係る制御装置は、前記複数の指令点は、第１指令点と該第１指令点の隣に位置する第２指令点とを含み、前記設定部は、前記第１指令点及び第２指令点の間に一の前記評価断面を設定する第１設定部と、前記第１指令点から前記閾値に対応した距離離隔した第３指令点及び該第３指令点の隣に位置する第４指令点を設定する第２設定部と、該第２設定部にて設定した前記第３指令点及び第４指令点の間に他の前記評価断面を設定する第３設定部とを備えることを特徴とする。
【００１１】
本発明に係る制御装置は、前記第１設定部は、前記第１指令点及び第２指令点の間の中央に前記一の評価断面を設定し、前記第３設定部は、前記第３指令点及び第４指令点の間の中央に前記他の評価断面を設定することを特徴とする。
【００１２】
本発明に係る工作機械は、前述した何れかの制御装置と、前記主軸とを備えることを特徴とする。
【００１３】
本発明に係る制御方法は、主軸の位置を指示する複数の指令点に基づいた加工経路を設定し、前記加工経路に基づいて、前記主軸の移動を制御する制御方法において、前記加工経路に交差する複数の評価断面を、隣り合う二つの前記評価断面間に存在する前記指令点の数が閾値以下になるように設定し、設定した評価断面及び前記加工経路の交点を演算し、該演算部が演算した交点の位置を修正し、修正した交点に基づいて、前記加工経路に交差する方向における前記指令点の位置を修正することを特徴とする。
【００１４】
本発明に係るコンピュータプログラムは、加工プログラムに従って、主軸の位置を指示する複数の指令点に基づいた加工経路を設定し、前記加工経路に基づいて、前記主軸の移動を制御する制御装置で実行可能なコンピュータプログラムにおいて、前記制御装置を、前記加工経路に交差する複数の評価断面を、隣り合う二つの前記評価断面間に存在する前記指令点の数が閾値以下になるように設定する設定部、該設定部が設定した評価断面及び前記加工経路の交点を演算する演算部、該演算部が演算した交点の位置を修正する交点位置修正部、及び該交点位置修正部が修正した交点に基づいて、前記加工経路に交差する方向における前記指令点の位置を修正する指令点位置修正部として機能させることを特徴とする。
【００１５】
本発明においては、加工経路に交差する評価断面を設定し、評価断面と加工経路の交点の位置を修正し、修正した交点の位置に基づいて、前記加工経路に交差する方向における指令点の位置を修正する。また隣り合う二つの前記評価断面間に存在する前記指令点の数を閾値以下にする。
【００１６】
本発明においては、評価断面の設定後に、隣り合う二つの評価断面の間に存在する指令点の数が閾値を超過しているのかを判定する。指令点の数が閾値を超過している場合、隣り合う二つの評価断面の間に、新たな評価断面を追加する。
【００１７】
本発明においては、隣り合う二つの評価断面の間の中央に新たな評価断面を追加し、評価断面の数が必要以上に多くなることを防止する。
【００１８】
本発明においては、第１指令点及び第２指令点の間に一の評価断面を設定し、第１指令点から閾値数離隔した位置に配された第３指令点を指定する。そして第３指令点及び該第３指令点の隣に位置する第４指令点の間に他の評価断面を設定する。評価断面の数が過小になること及び過大になることを防止し、指令点に対する位置修正の精度の低下及び計算量の増大を防止する。
【００１９】
本発明においては、第１指令点及び第２指令点の間の中央に一の評価断面を設定し、第３指令点及び第４指令点の間の中央に他の評価断面を設定し、適切な数の評価断面の設定を実現する。
【発明の効果】
【００２０】
本発明に係る制御装置、工作機械、制御方法及び制御プログラムにあっては、加工経路に交差する評価断面を設定し、評価断面と加工経路の交点の位置を修正し、修正した交点の位置に基づいて、前記加工経路に交差する方向における指令点の位置を修正する。加工経路に交差する方向においても、指令点の位置を修正することができるので、滑らかな曲面をワークに形成することができる。また隣り合う二つの評価断面間に存在する指令点の数が閾値以下になるので、指令点の数に対する評価断面の数が過小になり、指令点に対する位置修正の精度が低下することを防止する。
【図面の簡単な説明】
【００２１】
【図１】実施の形態１に係る工作機械を略示する斜視図である。
【図２】制御装置の構成を略示するブロック図である。
【図３】ワークに対する加工経路及び評価断面を略示する平面図である。
【図４】ワークに対する評価断面を略示する斜視図である。
【図５】制御装置による加工経路設定処理を説明するフローチャートである。
【図６】評価断面追加処理を説明するフローチャートである。
【図７】指令点と、評価断面及び加工経路の交点とを略示する模式図である。
【図８】交点テーブルの一例を示す概念図である。
【図９】評価断面上における交点位置の第１の修正方法を説明する説明図である。
【図１０】評価断面上における交点位置の第２の修正方法を説明する説明図である。
【図１１】指令点の修正方法を説明する説明図である。
【図１２】指令点位置修正処理を説明するフローチャートである。
【図１３】実施の形態２におけるワークに対する加工経路及び評価断面を略示する平面図である。
【図１４】制御装置による加工経路設定処理を説明するフローチャートである。
【図１５】最外周／最内周演算処理を説明するフローチャートである。
【図１６】渦巻き状に外周側から内周側に移動する主軸の加工経路を略示する模式図である。
【図１７】渦巻き状に内周側から外周側に移動する主軸の加工経路を略示する模式図である。
【図１８】評価断面設定処理を説明するフローチャートである。
【図１９】評価断面設定処理を説明する模式図である。
【図２０】指令点と、評価断面及び加工経路の交点とを略示する模式図である。
【図２１】実施の形態３における制御装置による加工経路設定処理を説明するフローチャートである。
【図２２】第２評価断面設定処理を説明するフローチャートである。
【図２３】第２評価断面設定処理を説明する模式図である。
【図２４】変更例におけるワークに対する加工経路及び評価断面を略示する平面図である。
【発明を実施するための形態】
【００２２】
（実施の形態１）
以下本発明を実施の形態１に係る工作機械を示す図面に基づいて説明する。以下の説明では図において矢印で示す上下、左右及び前後を使用する。図１は工作機械を略示する斜視図である。
【００２３】
工作機械１００は前後に延びた矩形の基台１を備える。基台１上部の前側にワークを保持するワーク保持部３が設けてある。ワーク保持部３は左右方向を軸方向としたＡ軸及び上下方向を軸方向としたＣ軸回りに回転可能である。
【００２４】
基台１上部の後側に後述するコラム４を支持する為の支持台２が設けてある。支持台２上部に、移動板１６を前後方向に移動するＹ軸方向移動機構１０が設けてある。Ｙ軸方向移動機構１０は、前後に延びた二つのレール１１と、Ｙ軸螺子軸１２と、Ｙ軸モータ１３と、ベアリング１４とを備える。
【００２５】
レール１１は支持台２上部の左右夫々に設けてある。Ｙ軸螺子軸１２は前後に延び、二つのレール１１の間に設けてある。Ｙ軸螺子軸１２の前端部及び中途部夫々にベアリング１４が設けてある。なお中途部に設けたベアリングの図示は省略する。Ｙ軸モータ１３はＹ軸螺子軸１２の後端部に連結している。
【００２６】
Ｙ軸螺子軸１２には転動体（図示略）を介してナット（図示略）が螺合している。転動体は例えばボールである。各レール１１に複数の摺動子１５が摺動可能に設けてある。ナット及び摺動子１５の上部に移動板１６が連結している。移動板１６は水平方向に延びる。Ｙ軸モータ１３の回転によってＹ軸螺子軸１２は回転し、ナットは前後方向に移動し、移動板１６は前後方向に移動する。
【００２７】
移動板１６上面にコラム４を左右方向に移動するＸ軸方向移動機構２０が設けてある。Ｘ軸方向移動機構２０は、左右に延びた二つのレール２１と、Ｘ軸螺子軸２２と、Ｘ軸モータ２３（図２参照）と、ベアリング２４とを備える。
【００２８】
レール２１は移動板１６上面の前後夫々に設けてある。Ｘ軸螺子軸２２は左右に延び、二つのレール２１の間に設けてある。Ｘ軸螺子軸２２の左端部及び中途部夫々にベアリング２４が設けてある。なおＸ軸螺子軸２２の中途部に設けたベアリングの記載は省略する。Ｘ軸モータ２３はＸ軸螺子軸２２の後端部に連結している。
【００２９】
Ｘ軸螺子軸２２には転動体（図示略）を介してナット（図示略）が螺合している。Ｘ軸螺子軸２２にグリスが塗布してある。各レール２１に複数の摺動子２６が摺動可能に設けてある。ナット及び摺動子２６の上部にコラム４が連結している。コラム４は柱状をなす。Ｘ軸モータ２３の回転によってＸ軸螺子軸２２は回転し、ナットは左右方向に移動し、コラム４は左右方向に移動する。
【００３０】
コラム４の前面に主軸ヘッド５を上下方向に移動するＺ軸方向移動機構３０が設けてある。Ｚ軸方向移動機構３０は、上下に延びた二つのレール３１と、Ｚ軸螺子軸３２と、Ｚ軸モータ３３と、ベアリング３４とを備える。
【００３１】
レール３１はコラム４前面の左右夫々に設けてある。Ｚ軸螺子軸３２は上下に延び、二つのレール３１の間に設けてある。Ｚ軸螺子軸３２の下端部及び中途部夫々にベアリング３４が設けてある。なお中途部に設けたベアリングの図示は省略する。Ｚ軸モータ３３はＺ軸螺子軸３２の上端部に連結している。
【００３２】
Ｚ軸螺子軸３２には転動体（図示略）を介してナット（図示略）が螺合している。Ｚ軸螺子軸３２にグリスが塗布してある。各レール３１に複数の摺動子３５が摺動可能に設けてある。ナット及び摺動子３５の前部に主軸ヘッド５が連結している。Ｚ軸モータ３３の回転によってＺ軸螺子軸３２は回転し、ナットは上下方向に移動し、主軸ヘッド５は上下方向に移動する。Ｚ軸モータ３３、Ｚ軸螺子軸３２、ナット及び転動体はボールねじ機構を構成する。
【００３３】
上下に延びた主軸５ａが主軸ヘッド５内に設けてある。主軸５ａは軸回りに回転する。主軸ヘッド５の上端部に主軸モータ６が設けてある。主軸５ａの下端部は工具を装着する。主軸モータ６の回転によって主軸５ａが回転し、工具が回転する。回転した工具は、ワーク保持部３に保持したワークを加工する。
【００３４】
工作機械１００は工具を交換する工具交換装置（図示略）を備える。工具交換装置は工具マガジン（図示略）に収容した工具と主軸５ａに装着した工具を交換する。
【００３５】
図２は制御装置５０の構成を略示するブロック図である。制御装置５０は、ＣＰＵ５１、記憶部５２、ＲＡＭ５３及び入出力インタフェース５４を備える。記憶部５２は書き換え可能なメモリであり、例えばＥＰＲＯＭ、ＥＥＰＲＯＭ等である。記憶部５２は後述する交点テーブル、経路番号ｉ、指令点Ｐk 、交点Ｓid、ｋの最終番号、変数ｃ、変数ｍ、第１基準点Ｏm 、及び第２基準点Ｌm 等を記憶する（ｃ、ｄ、ｉ、ｋ、ｍは自然数）。
【００３６】
作業者が操作部７を操作した場合、操作部７から入出力インタフェース５４に信号が入力する。操作部７は例えばキーボード、ボタン、タッチパネル等である。入出力インタフェース５４は表示部８に信号を出力する。表示部８は文字、図形、記号等を表示する。表示部８は例えば液晶表示パネルである。
【００３７】
制御装置５０は、Ｘ軸モータ２３に対応したＸ軸制御回路５５、サーボアンプ５５ａ及び微分器２３ｂを備える。Ｘ軸モータ２３はエンコーダ２３ａを備える。Ｘ軸制御回路５５はＣＰＵ５１からの指令に基づいて、電流量を示す命令をサーボアンプ５５ａに出力する。サーボアンプ５５ａは前記命令を受け、Ｘ軸モータ２３に駆動電流を出力する。
【００３８】
エンコーダ２３ａはＸ軸制御回路５５に位置フィードバック信号を出力する。Ｘ軸制御回路５５は位置フィードバック信号に基づいて、位置のフィードバック制御を実行する。
【００３９】
エンコーダ２３ａは微分器２３ｂに位置フィードバック信号を出力し、微分器２３ｂは位置フィードバック信号を速度フィードバック信号に変換して、Ｘ軸制御回路５５に出力する。Ｘ軸制御回路５５は、速度フィードバック信号に基づいて、速度のフィードバック制御を実行する。
【００４０】
サーボアンプ５５ａが出力した駆動電流の値を電流検出器５５ｂが検出する。電流検出器５５ｂは駆動電流の値をＸ軸制御回路５５にフィードバックする。Ｘ軸制御回路５５は駆動電流の値に基づいて、電流制御を実行する。
【００４１】
制御装置５０は、Ｙ軸モータ１３に対応したＹ軸制御回路５６、サーボアンプ５６ａ及び微分器１３ｂを備える。Ｙ軸モータ１３はエンコーダ１３ａを備える。Ｙ軸制御回路５６はＣＰＵ５１からの指令に基づいて、電流量を示す命令をサーボアンプ５６ａに出力する。サーボアンプ５６ａは前記命令を受け、Ｙ軸モータ１３に駆動電流を出力する。
【００４２】
エンコーダ１３ａはＹ軸制御回路５６に位置フィードバック信号を出力する。Ｙ軸制御回路５６は位置フィードバック信号に基づいて、位置のフィードバック制御を実行する。
【００４３】
エンコーダ１３ａは微分器１３ｂに位置フィードバック信号を出力し、微分器１３ｂは位置フィードバック信号を速度フィードバック信号に変換して、Ｙ軸制御回路５６に出力する。Ｙ軸制御回路５６は、速度フィードバック信号に基づいて、速度のフィードバック制御を実行する。
【００４４】
サーボアンプ５６ａが出力した駆動電流の値を電流検出器５６ｂが検出する。電流検出器５６ｂは駆動電流の値をＹ軸制御回路５６にフィードバックする。Ｙ軸制御回路５６は駆動電流の値に基づいて、電流制御を実行する。
【００４５】
制御装置５０は、Ｚ軸モータ３３に対応したＺ軸制御回路５７、サーボアンプ５７ａ及び微分器３３ｂを備える。Ｚ軸モータ３３はエンコーダ３３ａを備える。Ｚ軸制御回路５７はＣＰＵ５１からの指令に基づいて、電流量を示す命令をサーボアンプ５７ａに出力する。サーボアンプ５７ａは前記命令を受け、Ｚ軸モータ３３に駆動電流を出力する。
【００４６】
エンコーダ３３ａはＺ軸制御回路５７に位置フィードバック信号を出力する。Ｚ軸制御回路５７は位置フィードバック信号に基づいて、位置のフィードバック制御を実行する。
【００４７】
エンコーダ３３ａは微分器３３ｂに位置フィードバック信号を出力し、微分器３３ｂは位置フィードバック信号を速度フィードバック信号に変換して、Ｚ軸制御回路５７に出力する。Ｚ軸制御回路５７は、速度フィードバック信号に基づいて、速度のフィードバック制御を実行する。
【００４８】
サーボアンプ５７ａが出力した駆動電流の値を電流検出器５７ｂが検出する。電流検出器５７ｂは駆動電流の値をＺ軸制御回路５７にフィードバックする。Ｚ軸制御回路５７は駆動電流の値に基づいて、電流制御を実行する。
【００４９】
制御装置５０は主軸モータ６に対しても、Ｘ〜Ｚ軸モータ２３、１３、３３と同様なフィードバック制御を実行する。
【００５０】
工作機械１００はマガジンモータ６０と、マガジン制御回路５８とを備える。マガジンモータ６０の回転によって工具マガジンが駆動する。マガジン制御回路５８はマガジンモータ６０の回転を制御する。
【００５１】
記憶部５２はワークを加工する加工プログラムを格納する。加工プログラムは、主軸５ａの位置を指示する複数の指令点Ｐk を有する。ｋは加工プログラムを構成する命令の順番を示す。主軸５ａは複数の指令点Ｐk を順次移動し、主軸５ａに装着した工具はワークを加工する。
【００５２】
記憶部５２は指令点Ｐk を予め記憶している。制御装置５０は複数の指令点Ｐk に基づいて、主軸５ａが移動する経路（加工経路）を設定する。制御装置５０は加工経路に基づいて、主軸５ａの移動を実行する。
【００５３】
加工経路の設定方法について説明する。図３はワークに対する加工経路及び評価断面を略示する平面図、図４はワークに対する評価断面を略示する斜視図である。なお図中Ｘ方向は左右方向を示し、Ｙ方向は前後方向を示し、Ｚ方向は上下方向を示す。また図３及び図４におけるワークの形状は加工後の形状を示し、点線は評価断面Ｄd を示している。図３の矢印は加工経路を示す。
【００５４】
制御装置５０は、ワークに対して評価断面Ｄd （ｄは断面番号を示し、自然数である）を設定する。図３に示すように、主軸５ａはＸ方向に沿って大部分が往復移動する場合、加工経路はＸ方向に沿った経路となる。図３に示す如く、制御装置５０は加工経路に略直交する方向に沿った評価断面Ｄd を複数設定する。複数の評価断面Ｄd はＸ方向に並ぶ。尚、作業者は、加工経路がＸ方向であることを予め指示する。
【００５５】
制御装置５０は加工経路設定処理を実行する。図５は、制御装置５０による加工経路設定処理を説明するフローチャートである。
【００５６】
制御装置５０のＣＰＵ５１は、開始信号の入力があるまで待機する（ステップＳ１：ＮＯ）。例えば、ユーザは操作部７を操作して、開始信号を制御装置に入力する。
【００５７】
開始信号の入力があった場合（ステップＳ１：ＹＥＳ）、ＣＰＵ５１は、加工経路に複数の評価断面Ｄd を設定する（ステップＳ２）。ＣＰＵ５１は、複数の評価断面Ｄd を、等間隔を空けて設定する。尚、評価断面Ｄd の設定開始位置、終了位置は予めユーザが設定してもよいし、加工経路から自動的に設定してもよい。
【００５８】
ＣＰＵ５１は、評価断面追加処理を実行し（ステップＳ３）、指令点位置修正処理を実行し（ステップＳ４）、加工経路設定処理を終了する。評価断面追加処理及び指令点位置修正処理の詳細は後述する。
【００５９】
評価断面追加処理について説明する。図６は、評価断面追加処理を説明するフローチャート、図７は、指令点Ｐk と、評価断面Ｄd 及び加工経路の交点とを略示する模式図である。●は指令点、○は評価断面Ｄd と加工経路の交点、矢印は加工経路、点線は評価断面Ｄd を夫々示している。
【００６０】
ＣＰＵ５１は断面番号ｄに１を設定する（ステップＳ１１）。ＣＰＵ５１は、評価断面Ｄd −Ｄd+1 の間の指令点数Ｍd を演算する（ステップＳ１２）。
【００６１】
ＣＰＵ５１は、指令点数Ｍd が閾値Ｔを超過しているか否かを判定する（ステップＳ１３）。指令点数Ｍd が閾値Ｔを超過していない場合（ステップＳ１３：ＮＯ）、ＣＰＵ５１は、断面番号ｄを一つインクリメントし（ステップＳ１８）、断面番号ｄが最終番号であるか否かを判定する（ステップＳ１９）。
【００６２】
断面番号ｄが最終番号でない場合（ステップＳ１９：ＮＯ）、ＣＰＵ５１はステップＳ１２に処理を戻す。断面番号ｄが最終番号である場合（ステップＳ１９：ＹＥＳ）、ＣＰＵ５１は、断面番号ｄを振り直し（ステップＳ２０）、加工経路設定処理に戻る（図５参照）。
【００６３】
指令点数Ｍd が閾値Ｔを超過している場合（ステップＳ１３：ＹＥＳ）、ＣＰＵ５１は、評価断面Ｄd −Ｄd+1 の間の中央に新たな評価断面Ｄnew を追加する（ステップＳ１４、図７参照）。
【００６４】
ＣＰＵ５１は、評価断面Ｄd −Ｄd+1 の間において、隣り合う評価断面間それぞれの指令点数を演算する（ステップＳ１５）。例えば、評価断面Ｄd −Ｄd+1 の間に、評価断面Ｄnew を追加した場合、評価断面Ｄd −Ｄnew 間の指令点数と、評価断面Ｄnew −Ｄd+1 間の指令点数とを演算する。
【００６５】
ＣＰＵ５１は、各指令点数について、閾値Ｔを超過した指令点数が存在するのか否かを判定する（ステップＳ１６）。閾値Ｔを超過した指令点数が存在する場合（ステップＳ１６：ＹＥＳ）、ＣＰＵ５１は、閾値Ｔを超過した数の指令点Ｐk を挟む二つの評価断面を選択する（ステップＳ１７）。ＣＰＵ５１は、ステップＳ１４に処理を戻し、選択した二つの評価断面の中央に新たな評価断面を設定する。
【００６６】
例えば、評価断面Ｄd −Ｄnew 間の指令点数が閾値Ｔを超過している場合、ＣＰＵ５１は、評価断面Ｄd −Ｄnew 間に新たな評価断面を更に追加する。
【００６７】
閾値Ｔを超過した指令点数が存在しない場合（ステップＳ１６：ＮＯ）、ＣＰＵ５１は、断面番号ｄを一つインクリメントし（ステップＳ１８）、断面番号ｄが最終番号であるか否かを判定する（ステップＳ１９）。
【００６８】
断面番号ｄが最終番号でない場合（ステップＳ１９：ＮＯ）、ＣＰＵ５１はステップＳ１２に処理を戻す。断面番号ｄが最終番号である場合（ステップＳ１９：ＹＥＳ）、ＣＰＵ５１は、断面番号ｄを振り直し（ステップＳ２０）、加工経路設定処理に戻る（図５参照）。
【００６９】
ステップＳ２０について説明する。図７に示すように、評価断面Ｄd −Ｄd+1 の間に評価断面Ｄnew が追加されている場合に、断面番号ｄを振り直すと、評価断面Ｄnew は、評価断面d+1 になり、評価断面d+1 は評価断面d+2 になる（図７の括弧書き参照）。
【００７０】
なおステップＳ１４において、隣り合う二つの評価断面の間の中央に、新たな評価断面を追加しているが、二つの評価断面の間の中央以外の位置に新たな評価断面を追加してもよい。
【００７１】
指令点位置修正処理について説明する。図７において、「ｉ」（ｉは自然数）は主軸５ａのＸ方向移動における経路番号を示す。図７に示すように、例えば経路番号１（ｉ＝１）の経路は、左から右に移動する経路を示し、経路番号２（ｉ＝２）の経路は経路番号１の経路を右端で折り返して、右から左に移動する経路を示す。経路番号３以下も同様である。主軸５ａは経路番号順に移動する。
【００７２】
図８は交点テーブルの一例を示す概念図である。図８に示すように、制御装置５０は、各評価断面Ｄd において、移動経路Ｐk −Ｐk+1 との交点Ｓidを演算し、経路番号ｉ、交点座標Ｓid及び移動経路Ｐk −Ｐk+1 を対応付けて、交点テーブルに記憶する。
【００７３】
制御装置５０は、評価断面Ｄd 上における交点位置を例えば第１の修正方法で修正する。図９は評価断面Ｄd 上における交点位置の第１の修正方法を説明する説明図である。制御装置５０は、例えばＺ方向の座標を漸次変更するように修正する。修正の対象となる交点座標Ｓidに対し、前後各二点の交点座標ｓi-2d、ｓi-1d、ｓi+1d、ｓi+2dを使用して修正点tidを決定する。
【００７４】
四つの交点座標ｓi-2d、ｓi-1d、ｓi+1d、ｓi+2dの各Ｚ座標値をｚi-2 、ｚi-1 、ｚi+1 、ｚi+2 とし、修正点tidのＺ座標値をzi′とし、Ｚ座標値の差分をd1 ＝ｚi-2 −ｚi-1、d2 ＝ｚi-1 −ｚi′、d3 ＝zi ′−ｚi+1、d4 ＝ｚi+1 −ｚi+2とし、Ｚ座標値の二回差分d12′、d23′、d34′（Ｚ座標値の差分d1 、d2 、d3 、d4 の差分）が線形に変化するようなzi′を演算する。
【００７５】
Ｚ座標値の二回差分d12′、d23′、d34′は次式で求まる。
d12′＝d2 −d1 ＝（ｚi-1 −zi ′）−（ｚi-2 −ｚi-1）＝２ｚi-1 −zi ′−ｚi-2 ・・・（１）
d23′＝d3 −d2 ＝（zi ′−ｚi+1）−（ｚi-1 −zi ′）＝２ｚi ′−zi+1 −ｚi-1 ・・・（２）
d34′＝d4 −d3 ＝（ｚi+1 −ｚi+2 ）−（zi ′−ｚi+1 ）＝２ｚi+1 −zi+2 −ｚi ′ ・・・（３）
【００７６】
これらが線形に変化することから、
d23′＝（d12′＋d34′）／２ ・・・（４）
を満たす。
【００７７】
式（１）〜（４）に基づき、zi ′を解くと、
zi ′＝（−ｚi-2 ＋４ｚi-1 ＋４ｚi+1 −zi+2 ）／６
となる。
【００７８】
評価断面Ｄd 上における全ての交点Ｓidに対して上記修正を行う。なおＺ座標値が他の交点のＺ座標値と比較して、大きく離れた交点のみを修正してもよい。
【００７９】
制御装置５０は、評価断面Ｄd 上における交点位置を例えば第２の修正方法で修正する。図１０は評価断面上における交点位置の第２の修正方法を説明する説明図である。図１０において、ｕはＸＹ座標に相当し、ｖはＺ座標に相当する。制御装置５０は、例えば修正の対象となる交点Ｓidの周囲にある他の複数の交点を使用して、滑らかな曲線（スプライン曲線、ベジェ曲線、ＮＵＲＢＳ曲線等）を作成し、該曲線上に修正の対象となる交点Ｓidを投影する。
【００８０】
滑らかな曲線として四つの交点ｓi-2d、ｓi-1d、ｓi+1d、ｓi+2dを使用する場合、評価断面Ｄd （ｕｖ平面）上における区間ｓi-2d〜ｓi-1d、区間ｓi-1d〜ｓi+1d、区間ｓi+1d〜ｓi+2dの夫々の曲線式ｖ1(ｕ)、ｖ2(ｕ)、ｖ3(ｕ)は、以下の式となる。
ｖj(ｕ)＝ａj (ｕ-ｕj )3 ＋ｂj (ｕ-ｕj )2 ＋ｃj （ｕ-ｕj ）＋ｄj 
（ｊ＝１、２、３）
【００８１】
交点ｓi-2d、ｓi-1d、ｓi+1d、ｓi+2dを通り、且つ境界点における一次導関数及び二次導関数が連続であることに基づいて、制御装置５０はａj 〜ｄj を決定することができる。
【００８２】
四つの交点の選択は、上述したように、交点Ｓidの両隣に位置する連続した二点を使用する場合に限らない。例えば交点ｓi-3d、ｓi-1d、ｓi+1d、ｓi+3dのように、二点毎に不連続に交点を選択してもよい。
【００８３】
図１０に示すように、修正点tid位置は、滑らかな曲線上において、修正の対象となる交点Ｓidからの距離が最小となる位置である。
【００８４】
ｄ番目の評価断面Ｄd 上に存在する修正後の交点群Ｓd をＴd とする。
Ｔd ＝{tid|ｄ：断面番号、ｉ：経路番号}
【００８５】
制御装置５０は、交点群をＴd を使用して、指令点の位置を修正する。図１１は指令点の修正方法を説明する説明図である。図１１において、Ｐa 〜Ｐf は指令点、○は加工経路と評価断面Ｄd の交点、矢印は加工経路を夫々示す。
【００８６】
例えば指令点Ｐc が修正対象である場合、図１１Ａに示す如く、指令点Ｐc は断面Ｄd-1 と断面Ｄd の間に位置し、経路番号はｉである。制御装置５０は前述した交点テーブルを参照し、指令点Ｐc に関する断面位置及び経路番号を取得する。
【００８７】
図１１Ｂに示す如く、制御装置５０は指令点Ｐc の周囲にある交点、例えば加工経路上に並んだ四つの交点tid+1、tid、tid-1、tid-2を探索する。制御装置５０は四つの交点tid+1、tid、tid-1、tid-2から滑らかな曲線（スプライン曲線、ベジェ曲線、ＮＵＲＢＳ曲線等）を作成し、該曲線上に指令点Ｐc を投影し、修正点Ｐc ′を決定する。制御装置５０は、滑らかな曲線を前述した第２の修正方法と同様な方法で求める。修正点Ｐc ′の位置は、滑らかな曲線上において、指令点Ｐc からの距離が最小となる位置である。制御装置５０は他の指令点の位置を同様に修正する。
【００８８】
図１２は、指令点位置修正処理を説明するフローチャートである。ＣＰＵ５１は、上述した評価断面追加処理（図５、図６参照）を実行した後、交点テーブルを作成する（図７及び図８参照）。具体的には、ＣＰＵ５１は往復動作の経路番号を示す変数ｉ及び加工プログラムを構成する命令の順番を示す変数ｋに「１」を設定する（ステップＳ２１）。
【００８９】
ＣＰＵ５１は移動経路Ｐk −Ｐk+1 を読み込む（ステップＳ２２）。ＣＰＵ５１は移動経路Ｐk −Ｐk+1 が評価断面Ｄd と交差するか否かを判定する（ステップＳ２３）。移動経路Ｐk −Ｐk+1 が評価断面Ｄd と交差しない場合（ステップＳ２３：ＮＯ）、ＣＰＵ５１はｋを一つインクリメントする（ステップＳ２７）。
【００９０】
移動経路Ｐk −Ｐk+1 が評価断面Ｄd と交差する場合（ステップＳ２３：ＹＥＳ）、ＣＰＵ５１は、評価断面Ｄd と移動経路Ｐk −Ｐk+1 との交点Ｓidが既に存在しているか否かを判定する（ステップＳ２４）。
【００９１】
評価断面Ｄd と移動経路Ｐk −Ｐk+1 との交点Ｓidが既に存在していない場合（ステップＳ２４：ＮＯ）、ＣＰＵ５１は記憶部５２の交点テーブル（図８参照）に、経路番号ｉ、交点座標Ｓid及び移動経路Ｐk −Ｐk+1 を対応付けて記憶する（ステップＳ２６）。
【００９２】
評価断面Ｄd と移動経路Ｐk −Ｐk+1 との交点Ｓidが既に存在している場合（ステップＳ２４：ＹＥＳ）、ＣＰＵ５１はｉを一つインクリメントし（ステップＳ２５）、ＣＰＵ５１は記憶部５２の交点テーブルに、経路番号ｉ、交点座標Ｓid及び移動経路Ｐk −Ｐk+1 を対応付けて記憶し（ステップＳ２６）、ｋを一つインクリメントする（ステップＳ２７）。ステップＳ２１〜Ｓ２７は演算部を構成する。
【００９３】
ｋをインクリメントした後、ＣＰＵ５１はｋが最終番号であるか否かを判定する（ステップＳ２８）。ｋが最終番号でない場合（ステップＳ２８：ＮＯ）、ＣＰＵ５１はステップＳ２２に処理を戻す。ｋが最終番号である場合（ステップＳ２８：ＹＥＳ）、ＣＰＵ５１は、上述したように、交点の位置を修正する（ステップＳ２９、式（１）〜式（４）、図９及び図１０参照）。
【００９４】
ＣＰＵ５１は、上述したように、指令点の周囲にある交点を探索し（ステップＳ３０）、指令点の位置を修正し（ステップＳ３１、図１１Ａ及び図１１Ｂ参照）、加工経路設定処理に戻す（図５参照）。
【００９５】
実施の形態１に係る工作機械１００及び制御装置５０にあっては、加工経路に交差する評価断面Ｄd を設定し、評価断面Ｄd と加工経路の交点Ｓidの位置を修正し、修正した交点Ｓidの位置に基づいて、前記加工経路に交差する方向における指令点Ｐk の位置を修正する。加工経路に交差する方向においても、指令点Ｐk の位置を修正することができるので、滑らかな曲面をワークに形成することができる。また隣り合う二つの評価断面間に存在する指令点Ｐk の数が閾値以下になる。故に指令点Ｐk の数に対する評価断面Ｄd の数が過小になり、指令点Ｐk に対する位置修正の精度が低下することを防止できる。
【００９６】
また予め定められた間隔で評価断面Ｄd を設定後に、隣り合う二つの評価断面Ｄd −Ｄd+1 の間に存在する指令点Ｐk の数Ｍd が閾値Ｔを超過しているのかを判定する。指令点Ｐk の数Ｍd が閾値Ｔを超過している場合、隣り合う二つの評価断面Ｄd −Ｄd+1 の間に、新たな評価断面Ｄnew を追加する。
【００９７】
また隣り合う二つの評価断面Ｄd −Ｄd+1 の間の中央に新たな評価断面Ｄnew を追加した。追加する評価断面が既に存在する評価断面の近傍に追加する場合、指令点Ｐk の数Ｍd が閾値Ｔを超える可能性が高く、更に評価断面を追加しなければならない。評価断面Ｄd −Ｄd+1 の間の中央に新たな評価断面Ｄnew を追加した場合、指令点Ｐk の数Ｍd 、が閾値Ｔを超える可能性が低くなり、評価断面を更に追加しなくてもよくなる。故に、評価断面の数が必要以上に多くなることを防止する。
【００９８】
（実施の形態２）
以下本発明を実施の形態２に係る工作機械を示す図面に基づいて説明する。実施の形態２に係る構成の内、実施の形態１と同様な構成については同じ符号を付し、その詳細な説明を省略する。
【００９９】
図１３は、ワークに対する加工経路及び評価断面を略示する平面図である。矢印は加工経路、点線は評価断面Ｄd を示す。制御装置５０は、ワークに対して評価断面Ｄd を設定する。例えば、図１３に示すように、主軸５ａが渦巻き状に周回移動する場合、加工経路は渦巻き方向に沿った経路となる。図１３に示す如く、制御装置５０は加工経路に略直交する方向に沿った評価断面Ｄd を複数設定する。複数の評価断面は加工経路の周方向に並ぶ。尚、作業者は、加工経路の方向が周方向であることを予め指示する。
【０１００】
制御装置５０は加工経路設定処理を実行する。図１４は、制御装置５０による加工経路設定処理を説明するフローチャートである。
【０１０１】
制御装置５０のＣＰＵ５１は、開始信号の入力があるまで待機する（ステップＳ４１：ＮＯ）。開始信号の入力があった場合（ステップＳ４１：ＹＥＳ）、ＣＰＵ５１は、最外周／最内周演算処理を実行し（ステップＳ４２）、評価断面設定処理を実行する（ステップＳ４３）。
【０１０２】
ＣＰＵ５１は、評価断面追加処理を実行し（ステップＳ４４）、指令点位置修正処理を実行し（ステップＳ４５）、加工経路設定処理を終了する。最外周／最内周演算処理及び評価断面追加処理の詳細は後述する。
【０１０３】
最外周／最内周演算処理（ステップＳ４２）について説明する。図１５は、最外周／最内周演算処理を説明するフローチャート、図１６は、渦巻き状に外周側から内周側に移動する主軸５ａの加工経路を略示する模式図、図１７は、渦巻き状に内周側から外周側に移動する主軸５ａの加工経路を略示する模式図である。
【０１０４】
ＣＰＵ５１は、複数の指令点Ｐk について、加工経路の始点に位置する指令点（始点指令点）Ｐ1 から加工経路の終点に位置する指令点（終点指令点）ＰN まで順に識別子（番号）を設定する（ステップＳ５１）。
【０１０５】
ＣＰＵ５１は、始点指令点Ｐ1 に最も近い線分Ｐa Ｐa+1 を演算し（ステップＳ５２）、終点指令点ＰN に最も近い線分Ｐb Ｐb+1 を演算する（ステップＳ５３）。
【０１０６】
ＣＰＵ５１は、始点指令点Ｐ1 と指令点Ｐa との間の加工経路を経路Ａに設定し（ステップＳ５４）、終点指令点ＰN と指令点Ｐb との間の加工経路を経路Ｂに設定する（ステップＳ５５）。
【０１０７】
図７に示す如く、外周側から内周側に主軸５ａが移動する場合、経路Ａは最も外側に位置し、経路Ｂは最も内側に位置する。図８に示す如く、内周側から外周側に主軸５ａが移動する場合、経路Ａは最も内側に位置し、経路Ｂは最も外側に位置する。最も近い線分Ｐa Ｐa+1 の演算は始点指令点Ｐ1 から各線分Ｐ2 Ｐ3 、Ｐ3 Ｐ4 、・・・までの最短距離を演算し、該最短距離の最大値から次第に小さくなった時の最小距離の線分を算出する。最も近い線分Ｐb Ｐb+1 の演算も同様である。経路Ａ及び経路Ｂはそれぞれ略環状をなす。環状とは、図３に示すように渦巻き状のものも含む。
【０１０８】
ＣＰＵ５１は、経路ＡのＸ方向の最小値ＡX_min 及び最大値ＡX_max と、Ｙ方向の最小値ＡY_min 及び最大値ＡY_max を演算する（ステップＳ５６）。
【０１０９】
ＣＰＵ５１は、経路ＢのＸ方向の最小値ＢX_min 及び最大値ＢX_max と、Ｙ方向の最小値ＢY_min 及び最大値ＢY_max を演算する（ステップＳ５７）。
【０１１０】
ＣＰＵ５１は、ＡX_min ＜ＢX_min ＜ＢX_max ＜ＡX_max 且つＡY_min ＜ＢY_min ＜ＢY_max ＜ＡY_max であるのか否かを判定する（ステップＳ５８）。ＡX_min ＜ＢX_min ＜ＢX_max ＜ＡX_max 且つＡY_min ＜ＢY_min ＜ＢY_max ＜ＡY_max である場合（ステップＳ５８：ＹＥＳ）、ＣＰＵ５１は、経路Ａを最も外側に位置する最外周経路に決定し、経路Ｂを最も内側に位置する最内周経路に決定し（ステップＳ５９、図１６参照）、加工経路設定処理に戻り、評価断面設定処理（ステップＳ４３）に進む（図１４参照）。
【０１１１】
ＡX_min ＜ＢX_min ＜ＢX_max ＜ＡX_max 且つＡY_min ＜ＢY_min ＜ＢY_max ＜ＡY_max でない場合（ステップＳ５８：ＮＯ）、ＣＰＵ５１は、ＢX_min ＜ＡX_min ＜ＡX_max ＜ＢX_max 且つＢY_min ＜ＡY_min ＜ＡY_max ＜ＢY_max であるのか否かを判定する（ステップＳ６０）。
【０１１２】
ＢX_min ＜ＡX_min ＜ＡX_max ＜ＢX_max 且つＢY_min ＜ＡY_min ＜ＡY_max ＜ＢY_max である場合（ステップＳ６０：ＹＥＳ）、ＣＰＵ５１は、経路Ａを最も内側に位置する最内周経路に決定し、経路Ｂを最も外側に位置する最外周経路に決定し（ステップＳ６１、図１７参照）、加工経路設定処理に戻り、評価断面設定処理（ステップＳ４３）に進む（図１４参照）。
【０１１３】
ＢX_min ＜ＡX_min ＜ＡX_max ＜ＢX_max 且つＢY_min ＜ＡY_min ＜ＡY_max ＜ＢY_max でない場合（ステップＳ６０：ＮＯ）、ＣＰＵ５１は、エラーを報知し（ステップＳ６２）、処理を終了する。例えば、最外周／最内周演算処理にエラーが生じたことを表示部８に表示する。
【０１１４】
なおエラー報知後、作業者が指令値Ｐk の設定を再度行う等、データの調整又は変更を行い、開始信号を制御装置５０に再度入力した場合に、ＣＰＵ５１は、最外周／最内周演算処理を再度実行するように構成してもよい。
【０１１５】
次に評価断面設定処理（ステップＳ４３）について説明する。図１８は、評価断面設定処理を説明するフローチャート、図１９は、評価断面設定処理を説明する模式図である。
【０１１６】
ＣＰＵ５１は、最外周経路上に、等距離離隔した複数の第１基準点Ｏm （ｍは自然数）を設定し（ステップＳ７１）、最内周経路上に複数の第２基準点Ｌm を設定する（ステップＳ７２、図１９参照）。
【０１１７】
ＣＰＵ５１は、最内周経路上であって、第１基準点Ｏm から最も近い位置にある点を第２基準点Ｌm に設定する（ステップＳ７２）。ＣＰＵ５１は、第１基準点Ｏm 及び第２基準点Ｌm に基づいて、評価断面Ｄd を演算し、設定する（ステップＳ７３）。図１９に示す如く、ＣＰＵ５１は、第１基準点Ｏm 及び第２基準点Ｌm が評価断面Ｄd 上に位置するように、評価断面Ｄd を演算し、設定する。ＣＰＵ５１は、加工経路設定処理に戻り、評価断面追加処理（ステップＳ４４）及び指令点位置修正処理（ステップＳ４５）に進む（図１４参照）。尚、第１基準点Ｏm は始点指令点Ｐ1 から順に等間隔に設定する。第２基準点の設定については後述する。評価断面Ｄd の演算はＸ−Ｙ平面に対して垂直な面であり、上記第１基準点Ｏm と第２基準点Ｌm を含む平面を演算する。
【０１１８】
第２基準点Ｌm は、第１基準点Ｏm から最も近い位置にあるので、評価断面Ｄd は、最内周経路及び最外周経路に対して略垂直になる。
【０１１９】
評価断面追加処理（ステップＳ４４）において、実施の形態１における評価断面追加処理（図６参照）と同様に、ＣＰＵ５１は、評価断面Ｄd −Ｄd+1 の間の指令点数Ｍd が閾値Ｔを超過しているか否かを判定する。指令点数Ｍd が閾値Ｔを超過している場合、評価断面Ｄd −Ｄd+1 の間の中央に新たな評価断面Ｄnew を追加し、全ての評価断面Ｄd −Ｄd+1 間に対して、上記追加処理を実行した後、断面番号ｄを振り直す（図１９参照）。
【０１２０】
評価断面追加処理（ステップＳ４４）は、実施の形態１における評価断面追加処理（図６参照）と同様なので、その詳細な説明を省略する。
【０１２１】
図２０は、指令点Ｐk と、評価断面Ｄd 及び加工経路の交点Ｓidとを略示する模式図である。評価断面追加処理（ステップＳ４４）の実行後、実施の形態１と同様に、ＣＰＵ５１は指令点位置修正処理（ステップＳ４５）を実行する。
【０１２２】
なお指令点位置修正処理（ステップＳ４５）は、実施の形態１における指令点位置修正処理（図１２参照）と同様であるので、その説明を省略する。
【０１２３】
実施の形態２に係る工作機械１００及び制御装置５０にあっても、実施の形態１と同様な作用・効果を奏する。
【０１２４】
（実施の形態３）
以下本発明を実施の形態３に係る工作機械１００を示す図面に基づいて説明する。実施の形態３は、実施の形態２と同様に、主軸５ａが渦巻き状に周回移動し、加工経路は渦巻き方向に沿った経路となる。実施の形態３に係る構成の内、実施の形態１又は２と同様な構成については同じ符号を付し、その詳細な説明を省略する。
【０１２５】
制御装置５０は加工経路設定処理を実行する。図２１は、制御装置５０による加工経路設定処理を説明するフローチャートである。制御装置５０のＣＰＵ５１は、開始信号の入力があるまで待機する（ステップＳ８１：ＮＯ）。
【０１２６】
開始信号の入力があった場合（ステップＳ８１：ＹＥＳ）、ＣＰＵ５１は、最外周／最内周演算処理を実行し（ステップＳ８２）、第２評価断面設定処理を実行して（ステップＳ８３）、指令点位置修正処理を実行し（ステップＳ８４）、加工経路設定処理を終了する。
【０１２７】
最外周／最内周演算処理（ステップＳ８２）は、実施の形態２に係る最外周／最内周演算処理と同様なので、その説明を省略する（図１５参照）。最外周／最内周演算処理実行後、ＣＰＵ５１は、第２評価断面設定処理を実行する。
【０１２８】
第２評価断面設定処理について説明する。図２２は、第２評価断面設定処理を説明するフローチャート、図２３は、第２評価断面設定処理を説明する模式図である。
【０１２９】
ＣＰＵ５１は、最外周経路の複数の指令点Ｐk に対し、最外周経路の端部から順に、指令点Ｐ1 〜ＰZ をそれぞれ設定する（ステップＳ９１参照）。図１６に示す如く、経路Ａが最外周経路である場合、経路Ａの端部に位置する指令点Ｐ1 から順に、Ｐ1 〜ＰZ を設定する。図１７に示す如く、経路Ｂが最外周経路である場合、経路Ｂの端部に位置する指令点ＰN から順に、Ｐ1 〜ＰZ を設定する。
【０１３０】
ＣＰＵ５１は、変数ｃ及びｍそれぞれに１を設定する（ステップＳ９２）。なお前述したように、記憶部５２は変数ｃ及びｍを予め記憶している。
【０１３１】
ＣＰＵ５１は、隣り合う二つの指令点Ｐc 及びＰc+1 の間に第１基準点Ｏm を設定する（ステップＳ９３）。記憶部５２は設定した第１基準点Ｏm を記憶する。ＣＰＵ５１は、変数ｃに閾値Ｔ２を加算し（ステップＳ９４）、閾値Ｔ２加算後の指令点Ｐc を読み込む（ステップＳ９５）。記憶部５２は、読み込んだ指令点Ｐc を記憶する。
【０１３２】
ＣＰＵ５１は、変数ｍを一つインクリメントし（ステップＳ９６）、変数ｃがＺよりも大きいか否かを判定する（ステップＳ９７）。変数ｃがＺよりも大きい場合、Ｐc は最外周経路よりも内側に位置し、変数ｃがＺよりも大きくない場合、Ｐc は最外周経路上に位置する。
【０１３３】
変数ｃがＺよりも大きくない場合（ステップＳ９７：ＮＯ）、ＣＰＵ５１はステップＳ９３に処理を戻す。変数ｃがＺよりも大きい場合（ステップＳ９７：ＹＥＳ）、ＣＰＵ５１は、最内周経路上であって、記憶部５２に記憶した各第１基準点Ｏm （ｍ＝１、２、３、・・・）から最も近い位置にある各点を第２基準点Ｌm （ｍ＝１、２、３、・・・）に設定する（ステップＳ９８、図２３参照）。
【０１３４】
ＣＰＵ５１は、第１基準点Ｏm 及び第２基準点Ｌm に基づいて、評価断面Ｄd を演算し、設定する（ステップＳ９９）。図２３に示す如く、ＣＰＵ５１は、第１基準点Ｏm 及び第２基準点Ｌm が評価断面Ｄd 上に位置するように、評価断面Ｄd を演算し、設定する。
【０１３５】
第２評価断面設定処理を具体的に説明する。閾値Ｔ２を１０とする。ＣＰＵ５１は、指令点Ｐ1 〜ＰZ を設定する（ステップＳ９１）。ここで指令点Ｐ1 を第１指令点とし、指令点Ｐ2 を第２指令点とする。このとき、ＣＰＵ５１は、指令点Ｐ1 から１０個先の指令点Ｐ11（第３指令点）及び指令点Ｐ11の隣の指令点Ｐ12（第４指令点）も設定する。
【０１３６】
ＣＰＵ５１は、指令点Ｐ1 及び指令点Ｐ2 の間に、第１基準点Ｏ1 を設定し、指令点Ｐ11及び指令点Ｐ12の間に、第１基準点Ｏ2 を設定する（ステップＳ９３〜Ｓ９５）。ＣＰＵ５１は、最外周経路全体に対して、これらの処理を繰り返す（ステッ９６、Ｓ９７）。すなわち、第３基準点を第１基準点とし、第４基準点を第２基準点として、同じ処理を繰り返す。
【０１３７】
ＣＰＵ５１は、最内周経路上において、各第１基準点Ｏm （ｍ＝１、２、３、・・・）から最も近い位置にある各点を第２基準点Ｌm （ｍ＝１、２、３、・・・）に設定し（ステップＳ９８）、第１基準点Ｏm 及び第２基準点Ｌm を含むように、評価断面Ｄd を設定する（ステップＳ９９）。
【０１３８】
ＣＰＵ５１は、加工経路設定処理に戻り、指令点位置修正処理（ステップＳ８４）に進む（図２１参照）。指令点位置修正処理（ステップＳ８４）は、実施の形態１又は２の指令点位置修正処理（図１２参照）と同様なので、その説明を省略する。
【０１３９】
実施の形態３に係る工作機械１００及び制御装置５０にあっては、第１指令点及び該第１指令点に隣り合う第２指令点の間、並びに第３指令点及び該第３指令点に隣り合う第４指令点の間に評価断面をそれぞれ設定する。第１指令点と第３指令点との間は、閾値Ｔ２に対応する距離離隔している。故に、評価断面の数が過小になること及び過大になることを防止し、指令点に対する位置修正の精度の低下及び計算量の増大を防止する。
【０１４０】
また第１指令点及び第２指令点の間の中央、並びに第３指令点及び第４指令点の間の中央に、評価断面をそれぞれ設定し、適切な数の評価断面の設定を実現する。
【０１４１】
なお実施の形態３においては、加工経路は渦巻き状をなすが、実施の形態１のように、主軸５ａがＸ又はＹ方向に沿って大部分が往復移動し、加工経路がＸ又はＹ方向に沿った経路である場合においても、実施の形態３に係る構成を適用することができる。この場合、最外周経路ではなく、例えば最初、最後又は中央に位置するいずれかの片道の経路に対して、実施の形態３に係る構成を適用すればよく、加工経路が渦巻き状をなす場合よりも、計算量は減少する。
【０１４２】
図２４は変更例におけるワークに対する加工経路及び評価断面を略示する平面図である。図２４に示す如く、加工経路が渦巻き状をなす場合、制御装置５０は渦巻きの中心及び該中心周りの角度を設定し、渦巻きの中心を基準として放射状に複数の評価断面を設定する。隣り合う二つの評価断面の間に存在する指令点が、予め定めた閾値を超過した場合、二つの評価断面の間に新たな評価断面Ｄnew を追加する。
【符号の説明】
【０１４３】
５ａ  主軸
５０  制御装置
５１  ＣＰＵ
５２  記憶部
５３  ＲＡＭ
１００  工作機械
【図１】
0006582931.tif 000002
【図２】
0006582931.tif 000003
【図３】
0006582931.tif 000004
【図４】
0006582931.tif 000005
【図５】
0006582931.tif 000006
【図６】
0006582931.tif 000007
【図７】
0006582931.tif 000008
【図８】
0006582931.tif 000009
【図９】
0006582931.tif 000010
【図１０】
0006582931.tif 000011
【図１１】
0006582931.tif 000012
【図１２】
0006582931.tif 000013
【図１３】
0006582931.tif 000014
【図１４】
0006582931.tif 000015
【図１５】
0006582931.tif 000016
【図１６】
0006582931.tif 000017
【図１７】
0006582931.tif 000018
【図１８】
0006582931.tif 000019
【図１９】
0006582931.tif 000020
【図２０】
0006582931.tif 000021
【図２１】
0006582931.tif 000022
【図２２】
0006582931.tif 000023
【図２３】
0006582931.tif 000024
【図２４】
0006582931.tif 000025