"加工プログラムに基づきワークを加工する工作機械を駆動制御する数値制御装置において、加工を行う際の加工速度を与える速度データと加工精度を与える精度データを指定する指定手段と、前記加工プログラムを前記指定された速度データと精度データを用いて各処理周期での指令位置点列およびサーボ位置点列をシミュレーションにより求めるシミュレーション部と、前記シミュレーション部内において前記ワークを加工する予測加工時間を求める加工時間予測部と、前記指令位置点列およびサーボ位置点列を用い前記ワークを加工する際の予測加工誤差を求める加工誤差予測部と、を有することを特徴とする数値制御装置。前記加工誤差予測部は、前記シミュレーションの各処理周期での前記指令位置点列および前記サーボ位置点列を取得し、前記指令位置点列における特定指令位置から前記サーボ位置点列への距離、および、前記特定指令位置から各サーボ位置の隣り合う点間を結ぶ線分への垂線の長さのうちより長さの短いものを前記特定指令位置の誤差とし、各指令位置での前記各誤差のうち最も大きいものを前記指令位置点列と前記サーボ位置点列間の誤差とすることを特徴とする請求項1に記載の数値制御装置。前記加工誤差予測部は、前記シミュレーションの各処理周期での前記指令位置点列および前記サーボ位置点列を取得し、前記サーボ位置点列における特定サーボ位置から前記指令位置点列への距離、および、前記特定サーボ位置から各指令位置の隣り合う点間を結ぶ線分への垂線の長さのうちより長さの短いものを前記特定サーボ位置の誤差とし、各サーボ位置での前記各誤差のうち最も大きいものを前記指令位置点列と前記サーボ位置点列間の誤差とすることを特徴とする請求項1に記載の数値制御装置。前記加工誤差予測部は、前記シミュレーションの各処理周期での指令位置点列およびサーボ位置点列を取得し、前記指令位置点列における特定指令位置から前記サーボ位置点列への距離および前記特定指令位置から各サーボ位置の隣り合う点間を結ぶ線分への垂線の長さのうちより長さの短いものを前記特定指令位置の誤差とし、各指令位置での前記各誤差のうち最も大きいものを前記指令位置点列から前記サーボ位置点列間の誤差とし、前記サーボ位置点列における特定サーボ位置から各指令位置点列への距離および前記特定サーボ位置から各指令位置の隣り合う点間を結ぶ線分への垂線の長さのうちより長さの短いものを前記特定サーボ位置の誤差とし、各サーボ位置での各前記誤差のうち最も大きいものを前記サーボ位置点列から前記指令位置点列への誤差とし、前記指令位置点列から前記サーボ位置点列への前記誤差と前記サーボ位置点列から前記指令位置点列への前記誤差のうちより大きいものを前記指令位置点列と前記サーボ位置点列の誤差とすることを特徴とする請求項1に記載の数値制御装置。前記精度データは複数の前記精度データでかつ前記速度データは複数の前記速度データでの複数の予測加工時間および複数の予測加工誤差を求め、それら前記複数の予測加工時間および前記複数の予測加工誤差からあらかじめ設定されている許容加工誤差内で最も短い予測加工時間に対する前記精度データおよび前記速度データを求めることを特徴とする請求項1~請求項4のいずれか1つに記載の数値制御装置。前記数値制御装置は回転軸を含む多軸加工機を制御する数値制御装置であり、前記加工誤差予測部は前記指令位置点列および前記サーボ位置点列から工具先端点位置の3次元指令位置点列および3次元サーボ位置点列を求め、前記3次元指令位置点列を前記指令位置点列および前記3次元サーボ御位置点列を前記サーボ位置点列として前記指令位置点列と前記サーボ位置点列間の誤差を求めることを特徴とする請求項1~請求項5のいずれか1つに記載の数値制御装置。前記精度データは、許容加速度または許容コーナ速度差の加工条件データで与えられる請求項1~請求項6のいずれか1つに記載の数値制御装置。特許文献1や特許文献2に開示される技術は、加工時間を予測することは行っているが、加工誤差の予測を行うものではない。したがって、どの程度の加工速度であればどの程度の加工精度のワークを加工できるのかを、試し加工を行わないでシミュレーションで知りたい。、また、許容加工誤差内の精度でワークをできるだけ短い加工時間で加工するにはどの程度の加工速度とすればよいのかを、試し加工を行わないでシミュレーションで知りたい。というユーザーの要望には応えられない。特許文献3に開示される技術は、加工誤差の計算を指数関数状の加減速特性で加減速が行われていることを前提としている。しかし、近年の数値制御装置は、指数関数状の加減速特性だけでなく直線状の加減速やベル形加減速と呼ばれる滑らかな加減速など複雑な速度制御が行われており、特許文献3に開示される簡単な計算式では加工誤差を予測することができない。特許文献4に開示される技術は、指令位置の各点に対して、それぞれ隣り合う2点を結ぶ指令線分を定義する指令線分定義部と、各時刻における実位置から前記指令線分の各々に至る垂線のうち最小の垂線の長さと、その実位置と該実位置に最も近い指令位置を結ぶ線分の長さのうち、より長さの短いものを指令経路に対する実位置の誤差として計算する誤差計算部を有しているが、前記実位置のデータはシミュレーションではなく実際に駆動軸サーボを動作させて得たものである。また、特許文献4に開示される技術は、実位置Qmから指令位置Pnへの長さを誤差としているが、逆に指令位置Pnから実位置Qmへの長さを誤差とするべき場合もある。例えば図1のような90度のコーナ加工において、特許文献4に開示される技術では実位置から指令位置への長さ、つまり破線を誤差としている。しかし、この場合は指令位置P4から実位置Q4-Q5への線分への垂線一点鎖線の方が大きいのでそれを誤差とすべきである。このように、指令位置から実位置への長さを誤差とすべき場合もあるので、特許文献4に開示される技術における誤差を評価する方法では不十分である。また、特許文献4に開示される技術は誤差を計算し表示又は出力するのみであり、この技術ではどの程度の加工速度、加工条件であればどの程度の加工精度のワークを加工できるのかを、試し加工を行わないでシミュレーションで知りたい、また許容加工誤差内の精度を持つワークをできるだけ短い加工時間で加工するにはどの程度の加工速度、加工条件とすればいいのかを、試し加工を行わないでシミュレーションで知りたいという要望には応えられない。また、数値制御装置は従来技術として加工条件選択機能を備えている。この加工条件選択機能は、図2に示される許容加速度や許容コーナ速度差のような加工条件データをあらかじめパラメータで設定しておき、図3に示されるプログラム指令のブロックのようにどの精度データで加工するかを指定して加工を行うものである。図2においては、速度重視精度データ1および精度重視精度データ10の場合のそれぞれの許容加速度と許容コーナ速度差の加工条件データの設定をしておき、それらの間の精度データ精度データ2~精度データ9については、これらの設定値から比例配分して加工条件データを得ることを示している。ここでは代表的な2つの加工条件データのみ記載しているが、他にも加加速度加速度変化量、補間後加減速時定数など様々な加工条件データを同様に設定することができる。図3においては、それらの精度データのうちどの精度データを指定するかの指令を示している。G05.1Q1は加工条件選択指令のブロックであることを表し、Rrのrで図2における1~10の精度データのうちどの精度データを選択するかを指令する。例えば粗加工ではrを小さく指定し仕上げ加工ではrを大きく指定する。もちろん、このように精度データを1~10のような数値で指令するのではなく、許容加速度や許容コーナ速度差などの加工条件データを直接指令することや、許容加速度や許容速度差などのパラメータ設定値を設定してもよい。この2ブロック目のF指令は加工指令における速度指令であるが、オーバライド1~200によって実際の指令速度は、F指令オーバライド1~200に変更できる。また、F指令を無視しパラメータに設定されたパラメータ設定速度とすることもできる。また、プログラムのF指令を変更速度指令に変更しその変更した速度とすることもできる。例えば、図2のパラメータ設定において、G05.1Q1R4と指令すると、許容加速度は1533mm/sec2=620003600/9、許容コーナ速度差は800mm/min=610003400/9の値を、それぞれ加工条件データとして許容加速度、許容コーナ速度差のパラメータに設定し加工を行う。あるいは、上述のようにこれらのデータを直接指令したり、これらのデータに対応するパラメータ設定値を設定してもよい。しかし、この加工条件選択機能では精度データを簡便に指令することはできるが、各精度データにおいてどの程度の加工誤差になるのか、どの程度の加工時間で加工できるのかはわからなかった。そこで本発明の目的は、上記従来技術の問題点に鑑み、加工時間加工誤差予測用データとして精度データおよび速度データを与え、加工プログラムを指定し、シミュレーションによって予測加工時間を求める加工時間予測部と予測加工誤差を求める加工誤差予測部を有する数値制御装置、および、前記精度データは複数の前記精度データでかつ前記速度データは複数の前記速度データでの複数の予測加工時間および複数の予測加工誤差を求め、それら複数の予測加工時間および複数の予測加工誤差からあらかじめ設定されている許容加工誤差内で最も短い予測加工時間を求める数値制御装置を提供することである。本願の請求項1に係る発明は、加工プログラムに基づきワークを加工する工作機械を駆動制御する数値制御装置において、加工を行う際の加工速度を与える速度データと加工精度を与える精度データを指定する指定手段と、前記加工プログラムを前記指定された速度データと精度データを用いて各処理周期での指令位置点列およびサーボ位置点列をシミュレーションにより求めるシミュレーション部と、前記シミュレーション部内において前記ワークを加工する予測加工時間を求める加工時間予測部と、前記指令位置点列およびサーボ位置点列を用い前記ワークを加工する際の予測加工誤差を求める加工誤差予測部と、を有することを特徴とする数値制御装置である。請求項2に係る発明は、前記加工誤差予測部は、前記シミュレーションの各処理周期での前記指令位置点列および前記サーボ位置点列を取得し、前記指令位置点列における特定指令位置から前記サーボ位置点列への距離、および、前記特定指令位置から各サーボ位置の隣り合う点間を結ぶ線分への垂線の長さのうちより長さの短いものを前記特定指令位置の誤差とし、各指令位置での前記各誤差のうち最も大きいものを前記指令位置点列と前記サーボ位置点列間の誤差とすることを特徴とする請求項1に記載の数値制御装置である。請求項3に係る発明は、前記加工誤差予測部は、前記シミュレーションの各処理周期での前記指令位置点列および前記サーボ位置点列を取得し、前記サーボ位置点列における特定サーボ位置から前記指令位置点列への距離、および、前記特定サーボ位置から各指令位置の隣り合う点間を結ぶ線分への垂線の長さのうちより長さの短いものを前記特定サーボ位置の誤差とし、各サーボ位置での前記各誤差のうち最も大きいものを前記指令位置点列と前記サーボ位置点列間の誤差とすることを特徴とする請求項1に記載の数値制御装置である。請求項4に係る発明は、前記加工誤差予測部は、前記シミュレーションの各処理周期での指令位置点列およびサーボ位置点列を取得し、前記指令位置点列における特定指令位置から前記サーボ位置点列への距離および前記特定指令位置から各サーボ位置の隣り合う点間を結ぶ線分への垂線の長さのうちより長さの短いものを前記特定指令位置の誤差とし、各指令位置での前記各誤差のうち最も大きいものを前記指令位置点列から前記サーボ位置点列間の誤差とし、前記サーボ位置点列における特定サーボ位置から各指令位置点列への距離および前記特定サーボ位置から各指令位置の隣り合う点間を結ぶ線分への垂線の長さのうちより長さの短いものを前記特定サーボ位置の誤差とし、各サーボ位置での各前記誤差のうち最も大きいものを前記サーボ位置点列から前記指令位置点列への誤差とし、前記指令位置点列から前記サーボ位置点列への前記誤差と前記サーボ位置点列から前記指令位置点列への前記誤差のうちより大きいものを前記指令位置点列と前記サーボ位置点列の誤差とすることを特徴とする請求項1に記載の数値制御装置である。請求項5に係る発明は、前記精度データは複数の前記精度データでかつ前記速度データは複数の前記速度データでの複数の予測加工時間および複数の予測加工誤差を求め、それら前記複数の予測加工時間および前記複数の予測加工誤差からあらかじめ設定されている許容加工誤差内で最も短い予測加工時間に対する前記精度データおよび前記速度データを求めることを特徴とする請求項1~請求項4のいずれか1つに記載の数値制御装置である。請求項6に係る発明は、前記数値制御装置は回転軸を含む多軸加工機を制御する数値制御装置であり、前記加工誤差予測部は前記指令位置点列および前記サーボ位置点列から工具先端点位置の3次元指令位置点列および3次元サーボ位置点列を求め、前記3次元指令位置点列を前記指令位置点列および前記3次元サーボ御位置点列を前記サーボ位置点列として前記指令位置点列と前記サーボ位置点列間の誤差を求めることを特徴とする請求項1~請求項5のいずれか1つに記載の数値制御装置である。請求項7に係る発明は、前記精度データは、許容加速度または許容コーナ速度差の加工条件データで与えられる請求項1~請求項6のいずれか1つに記載の数値制御装置である。本発明により、加工時間加工誤差予測用データとして精度データおよび速度データを与え、加工プログラムを指定し、シミュレーションによって予測加工時間を求める加工時間予測部と予測加工誤差を求める加工誤差予測部を有する数値制御装置、および、前記精度データは複数の前記精度データでかつ前記速度データは複数の前記速度データでの複数の予測加工時間および複数の予測加工誤差を求め、それら複数の予測加工時間および複数の予測加工誤差からあらかじめ設定されている許容加工誤差内で最も短い予測加工時間を求める数値制御装置を提供できる。以下、本発明の実施形態を図面と共に説明する。図4は、本願発明の特長をまとめたものであり、本発明は1組乃至複数の速度データおよび精度データにおいてどの程度の加工誤差および加工時間が予測されるかについてシミュレーションを行い、どの程度の速度データおよび精度データであれば、どの程度の加工精度のワークがどの程度の加工時間で加工できるのか図41参照、また、許容加工誤差内の精度を持つワークをできるだけ短い加工時間で加工するにはどの程度の加工速度、加工条件とすればいいのか図42を推定するものである。本発明では誤差の評価において、シミュレーションによるサーボ位置から指令位置への誤差と、シミュレーションによる指令位置からサーボ位置への誤差として評価する。このことによって、より精度よく誤差を予測することができる。これらのことによって、1の効果としては、実加工の前にシミュレーションで予測加工誤差と予測加工時間を得ることができるので生産計画を立てやすくなる。2の効果としては、できるだけ加工時間を短くすることにより、工作機械をより効率的に稼働することができる。また、そのことにより、省エネルギーの加工を行うことができるという効果を得る。以下、本発明の実施形態1~3を説明する。<実施形態1>図5は、本発明に係る加工プログラムの加工時間予測部および加工誤差予測部を備えた数値制御装置1の機能ブロック図である。プログラム解析部3は加工プログラム2を読み取り解析を行い補間用データを作成する。補間部4は、補間前加減速部5によってブロック間やブロックに対して作成された速度に基づいて、補間用データにしたがって補間を行い補間データΔPnを作成する。補間後加減速部7は補間データΔPnに対して補間後加減速を行いそのデータを蓄積して位置としサーボ位置指令データVCnを作成する。サーボ位置指令データVCnは補間後加減速部7からサーボシミュレーション部8に送られ、サーボシミュレーション部8において実際のサーボ動作をシミュレーションしたサーボ位置データQn以下、単にサーボ位置Qnというを作成する。ここで、図6を用いてサーボ動作をシミュレーションするサーボシミュレーション部8を説明する。処理周期毎に補間後加減速部7からサーボ位置指令データVCnがサーボシミュレーション部8に入力される。サーボシミュレーション部8に入力したサーボ位置指令データVCnは、フィードフォワードシミュレーション部80に入力する。フィードフォワードシミュレーション部80はサーボ位置指令データVCnの微分処理を行いフィードフォワード係数を乗算してΔUnとして出力する。サーボ位置指令データVCnと前回の処理周期のサーボ位置フィードバックデータQn1との差分をポジションループゲインシミュレーション部81に入力する。ポジションループゲインシミュレーション部81では、その差分にポジションループゲインを乗算したΔRnを出力する。ΔUnとΔRnの和が位置シミュレーション部82に入力され、それを蓄積してサーボ位置Qnとする。なお、添え字nや後出するmを持つデータは、送り軸の数を合算した軸数分のデータを持つベクトルである。これらの処理は、パラメータ、マクロ変数およびDI信号などの各種の加工時間加工誤差予測用データを参照する。また、これらの処理において、実際にサーボを動作させることは行わず、全てシミュレーションである。ここで、加工時間加工誤差予測用データは、パラメータ、マクロ変数、DI信号などについて同種の加工用データとは別に用意する。したがって、ここにおけるDI信号は加工時間予測および加工誤差予測用の仮想の信号データである。上述したように、サーボシミュレーション部8は、ポジションループゲインによる遅れやフィードフォワードによるサーボ動作のシミュレーションを行なう部分である。したがって、加工用のサーボ処理部とは別に用意する。プログラム解析部3、補間部4、補間前加減速部5、および、補間後加減速部7については、加工用の同種処理部とは別に用意してもよいし、加工用フォアグランドの同種処理部をバックグラウンドで使用してもよい。なお、図6のサーボシミュレーション部8の構成は一例であって、他の構成のシミュレーション部8によってサーボシミュレーションを行なってもよい。プログラム解析部3、補間部4、補間前加減速部5、および、補間後加減速部7の各シミュレーションの処理方法については従来技術であるので詳述しない。ただし、補間部4、補間前加減速部5、および、補間後加減速部7のシミュレーションの処理周期は加工用に比べて長くてよい。例えば加工用の補間部、補間前加減速部および補間後加減速部の処理周期は1msecであっても、加工時間予測および加工誤差予測用の補間部4、補間前加減速部5および補間後加減速部7のシミュレーションの処理周期は8msec程度の粗い周期を想定した処理としてもよい。このことによってより高速に加工時間予測および加工誤差予測を行うことができる。加工時間予測部6は、補間データ形状によって加工時間予測の計算を行ってもよいし、補間回数をカウントすることによって加工時間を予測してもよい。補間データ形状による計算とは、例えば、直線型加減速であれば、各ブロックの補間データの形状は、当該ブロックの指令速度を上限とし、斜辺を補間前加減速部5で作成される当該ブロックの加速度とし、谷部の速度を補間前加減速部で作成される当該ブロックのコーナ速度とし、面積を当該ブロックの指令ブロック長とする形状になるので、予測される当該ブロックの加工時間を計算することができる図7参照。詳細には、各補間データΔPnは図8のような処理周期毎の矩形形状であるが、一般に処理周期に比べて当該ブロックの加工時間は十分長いので、図7では各矩形形状をつないだ全体が形状を示している。補間回数をカウントすることによる予測とは、補間部4から補間データΔPnが作成される回数をカウントし回数に処理周期を乗算することによって加工時間を得る方法である。それらの加工時間予測方法は従来技術であるので詳述しない。加工誤差予測部9は、補間データΔPnによる補間経路と補間後加減速およびサーボ動作シミュレーションによる遅れ経路との差を誤差として予測する。加工誤差予測部9は上述のようにサーボシミュレーション部8からサーボ位置Qnを得る。また、補間部4からの出力データとして補間データΔPnが得られている。加工誤差予測部9でPn=Pn1ΔPnとしてそれを蓄積することで、指令位置Pnを得る。このことによって、指令位置点列Pnとサーボ位置点列Qnが作成される。ただし、Pnの点列に対してQnの点列は補間後加減速およびサーボ動作シミュレーションによる遅れ分の処理周期回数だけ多い。そのため、以後、Pnn=0,1,2,,neに対してQmm=0,1,2,,meと別の添え字で表記する。ne,meはそれぞれの点列の最終点の番号であり、一般にme>neである。加工誤差予測部9の処理について図9のフローチャートで説明する。●[ステップSA01]n=0,m=0,Maxep=0,Maxeq=0とする。●[ステップSA02]点列Pnに対してその範囲を規定するためあらかじめ設定している数dnにしたがい、n-dn≦n≦ndnの点列Pnを用意する。n-dn≦n≦ndnが0≦n≦neの範囲を超えている場合は、0≦n≦neの範囲内の点列のみとする。点列Qmに対しても同様に、その範囲を規定するためあらかじめ設定している数dmにしたがい、m-dm≦m≦mdmの点列Qmを用意する。m-dm≦m≦mdmが0≦m≦meの範囲を超えている場合は、0≦m≦meの範囲内の点列のみとする。●[ステップSA03]特定指令位置Pnから点列Qmへの誤差計算を行い、Pnから点列Qmへの誤差Epを得る。また、Epの最大値Maxepを更新し、mを更新する。この処理については、図11に示すフローチャートにより詳細に説明する。●[ステップSA04]特定サーボ位置Qmから点列Pnへの誤差計算を行い、Qmから点列Pnへの誤差Eqを得る。また、Eqの最大値Maxeqを更新する。nを更新する。●[ステップSA05]n=neかつm=meかどうか判断し、NoであればステップSA02に戻る。YesであればステップSA06へ移行する。●[ステップSA06]MaxepとMaxeqの大きい方を指令位置点列Pnとサーボ位置点列Qm間の予測誤差Eeとし、処理を終了する。つまり、指令位置点列Pnとサーボ位置点列Qmについて、n-dn≦n≦ndnおよびm-dm≦m≦mdmの範囲に対して特定位置指令Pnから点列Qmへの誤差Epと特定サーボ位置Qmから点列Pnへの誤差Eqを計算する。これの計算をn,mを更新しながら行う。それぞれの最大値Maxep=MaxEp,Maxeq=MaxEqを求め、さらにそれらのうちの大きい方を指令位置点列Pnとサーボ位置列間Qmの予測誤差Ee=MaxMaxep,Maxeqとする。図10参照MaxEpは複数のEpのうちの最大のもの、MaxEqは複数のEqのうちの最大のもの、MaxMaxep,MaxeqはMaxepとMaxeqのうち大きいものを示す。ステップSA03が特定指令位置Pnから点列Qmへの誤差計算を行いその誤差Epの最大値Maxepを作成するのに対して、ステップSA04は同様に特定サーボ位置Qmから点列Pnへの誤差計算を行い、その誤差Eqの最大値Maxeqを作成する。ステップSA03とステップSA04はどちらか一方のみ行ってもよい。従来技術で述べたように、特許文献4に開示されている技術は、上記のステップSA04に相当する計算のみを行っている。ただし、すでに述べたように特許文献4では実際に駆動軸サーボを動作させて得た実位置に対する計算であるのに対して、本発明ではシミュレーションによって得た位置に対する計算である。なお、ここでは、最初から最後までの指令位置点列Pnn=0,1,2,,neとサーボ位置点列Qmm=0,1,2,,meを作成してから誤差を計算すると説明したが、加工プログラムを必要なブロックずつ読み込みながら必要な指令位置Pnn-dn≦n≦ndnとサーボ位置Qmm-dm≦m≦mdmを求めて同様の計算を行うこともできる。そうすれば、全ての点列Pnおよび点列Qmを作成しておく必要はないのでメモリを節約できる。また、記号Pnに対して指令位置Pn、特定指令位置Pn、指令位置点列Pn、点列Pn、というように前につける言葉で少し意味が相違する。指令位置Pnは1つの指令位置を示す。特定指令位置Pnは特定の、すなわち着目する指令位置を示す。指令位置点列Pnおよび点列Pnは複数の指令位置による指令点列Pnを示す。Qmについても同様である。上記の図9のフローチャートのステップSA03について、図11のフローチャートでさらに説明する。●[ステップSB01]i=m-dm,Ep=|Pn-Qi|と初期値をセットする。ここで、一般的にi=m-dmとしたが、上記図9のフローチャートの説明のステップSA02で説明したように、Qmについてm-dm≦m≦mdmが0≦m≦meの範囲を超えている場合は、iはm-dm≦m≦mdmと0≦m≦meが重なる範囲内の一番小さい値とする。●[ステップSB02]PnとQi1の間の長さ|Pn-Qi1|を計算し、|Pn-Qi1|<EpならEp=|Pn-Qi1|かつim=i1とし、そのときのi1を記憶する。●[ステップSB03]QiとQi1間の線分Lqを作成する。●[ステップSB04]Pnから線分Lqに垂線があるかどうか判断する。なければステップSB07へ移行し、あればステップSB05へ移行する。●[ステップSB05]PnからLqへの垂線の長さLperを計算する。●[ステップSB06]Lper<Epなら、Ep=Lperとしかつim=i1としてそのときのi1を記憶する。●[ステップSB07]i=mdm-1かどうか判断する。YesならステップSB09へ移行する。NoならステップSB08へ移行する。ここで、一般的に、i=mdm-1かどうかとしたが、上記図9のフローチャートの説明のステップSA02で述べたように、Qmについてm-dm≦m≦mdmが0≦m≦meの範囲を超えている場合は、iはm-dm≦m≦mdmと0≦m≦meが重なる範囲内の一番大きな値の1だけ小さい値と等しいかどうか判断する。その結果、Pnから点列Qmm-dm≦m≦mdmの隣り合う線分への垂線のうちより長さの短いものがEpとして求まる。これを、Pnと点列Qmm-dm≦m≦mdm間の誤差とする。図12参照●[ステップSB08]iに1を加えてiとし、ステップSB02に戻り処理を継続する。●[ステップSB09]Ep>MaxepならMaxep=Epとし、Epの最大値Maxepを更新する。●[ステップSB10]im>mなら、m=imとする。im≦mなら、m=m1としてmを更新する。ただし、mが最大値meを超えるようならmはmeとし、処理を終了する。このように加工時間予測部6と加工誤差予測部9を備えた図5に示される数値制御装置1に対して、加工条件選択機能図2参照において説明した精度データと速度データを与え、加工プログラムを指定して動作させれば、予測加工時間Teと予測加工誤差Eeを求めることができる。ここで、速度データの与え方は、DI信号としてオーバライドを与える。パラメータでパラメータ設定速度を与える、あるいはプログラム上のF指令を変更速度指令に変更するなどいろいろの方法がありうる。もちろん、加工プログラムの一部だけを加工時間予測と加工誤差予測の対象としてもよい。例えば、切削指令G01,G02,G03などモード部分だけを対象としてもよい。また、加工プログラム中のある工具で切削するブロックだけとかある工程部分だけを対象としてもよい。図13は、精度データ9、速度データオーバライド50で予測加工時間Teと予測加工誤差Eeを得た1つの例を示している。上段が予測加工時間Te単位分、下段が予測加工誤差Ee単位mmである。このように、精度データや速度データオーバライドを指定して予測加工時間と予測加工誤差を同時にシミュレーションによって得ることができる。<実施形態2>実施形態2では、許容加工誤差内で一番加工時間の短い条件を得る。精度データと速度データを変更していくつかの精度データと速度データによって予測加工時間Teと予測加工誤差Eeを求め、図14のような表を作成する。ここでは速度データはパラメータ設定速度を与えている。図14は、5つの太枠内精度データ1,速度データ1000mm/min、精度データ10,速度データ1000mm/min、精度データ5,速度データ2000mm/min、精度データ1,速度データ3000mm/min、精度データ10,速度データ3000mm/minが得られた予測加工時間と予測加工誤差であり、上段が予測加工時間Te単位分、下段が予測加工誤差Ee単位mmである。その他の枠内のデータについては、それから比例配分で内挿したものである。もちろん、5つの太枠以外においても、あるいは全ての枠においてシミュレーションしてもよい。そして、あらかじめ設定されている許容加工誤差を0.05mmとした場合、斜線を入れた枠のデータは許容誤差を超えているので排除される。その結果、許容加工誤差内で予測加工時間も最も短いデータは、精度データ9,速度データ3000mm/minであることが容易に得られる。したがって、加工に対する推奨条件は精度データ9,速度データ3000mm/minとなる。<実施形態3>工具ヘッドやテーブルに回転軸を持つ多軸加工機の場合、加工誤差予測部9は指令位置点列PnPXn,PYn,PZn,PBn,PCnおよびサーボ位置点列QmQXm,QYm,QZm,QBm,QCmおよび工具長から工具先端点位置の3次元指令位置点列Pn’PXn,PYn,PZnおよび工具先端点位置の3次元サーボ位置点列QmQXm,QYm,QZmを求め、それらを実施形態1や実施形態2での指令位置点列およびサーボ位置点列と同様に扱って加工誤差を予測することができる。ここで、添え字B,CについてはB軸とC軸の回転軸を持つ多軸加工機を想定してそれらの位置として表記したが、他の軸A,BやA,C軸の回転軸を持つ場合もある。また、多軸加工機には工具ヘッド回転型5軸加工機、テーブル回転型多軸加工機、混合型工具ヘッドもテーブルも回転多軸加工機がある。それぞれにおいて、上記工具先端点位置とは、加工するワークが載るテーブルにおける座標系での工具先端点位置の指令位置点列PnPXn,PYn,PZnおよびサーボ位置点列QmQXm,QYm,QZmである。ここで、テーブルが回転する多軸加工機の場合、加工するワークが載るテーブルにおける座標系とはテーブル上にあってテーブル回転とともに回転する座標系である。図15は工具ヘッド回転型5軸加工機の工具ヘッド部分の概略図、図16は工具ヘッド回転型5軸加工機におけるPn,QmおよびPn,Qmの関係を図示している。図17は、本発明を適用した一実施形態の加工時間予測部および加工誤差予測部を有する数値制御装置の構成を概略で示すブロック図である。数値制御装置1は図2を用いて説明した加工条件選択機能を備えている。プロセッサであるCPU111は、ROM112に格納されたシステムプログラムに従って数値制御装置1の全体を制御する。RAM113は、各種のデータあるいは入出力信号が格納される。不揮発性メモリ114に格納された各種のデータは電源切断後もそのまま保存される。グラフィック制御回路115は、デジタル信号を表示用の信号に変換し、表示装置116に与える。キーボード117は、数値キー、文字キーなどを有する各種設定データを入力する手段である。軸制御回路118は、CPU111から各軸の移動指令を受けて軸の指令をサーボアンプ119に出力する。このサーボアンプ119は、この移動指令を受けて工作機械20のサーボモータ図示せずを駆動する。これらの構成要素はバス121で互いに結合されている。PMCプログラマブルマシンコントローラ122は、加工プログラムの実行時に、バス121経由でT機能信号工具選択指令などを受け取る。そして、この信号を、シーケンスプログラムで処理して、動作指令として信号を出力し、工作機械20を制御する。また、工作機械20から状態信号を受けて、CPU111に必要な入力信号を転送する。更に、バス121には、システムプログラム等によって機能が変化するソフトウェアキー123、NCデータを記憶装置などの外部機器に送るインタフェース124が接続されている。このソフトウェアキー123は、表示装置116、キーボード117と共に、表示装置/MDIパネル125に設けられている。"