"テーブルに取付られたワーク加工物に対して少なくとも直線軸3軸によって加工する3軸加工機を制御する数値制御装置において、ワークを設置した時の設置誤差を補正するワーク設置誤差補正部を備え、前記ワーク設置誤差補正部は、前記直線軸3軸の指令直線軸位置に基づいて工具先端点位置のワークに対する位置を保つように予め設定した設置誤差によって該指令直線軸位置に対する誤差補正を行い補正直線軸位置を求める誤差補正部を備え、前記ワーク設置誤差補正部によって求めた前記補正直線軸位置に基づいて前記直線軸3軸を駆動することを特徴とする数値制御装置。前記設置誤差は、X,Y,Z軸方向の並進誤差、X軸回りの回転誤差、Y軸回りの回転誤差、またはZ軸回りの回転誤差として設定される請求項1に記載の数値制御装置。前記指令直線軸位置は、プログラム指令において指令された前記直線軸3軸の工具基準点位置であることを特徴とする請求項1または請求項2のいずれか1つに記載の数値制御装置。前記指令直線軸位置は、プログラム指令を補間した前記直線軸3軸の工具基準点位置であることを特徴とする請求項1または請求項2のいずれか1つに記載の数値制御装置。前記指令直線軸位置は、プログラム指令において指令された前記直線軸3軸の指令工具先端点位置に工具長補正ベクトルを加算した指令工具基準点位置であることを特徴とする請求項1または請求項2のいずれか1つに記載の数値制御装置。前記指令直線軸位置は、プログラム指令において指令された前記直線軸3軸の指令工具先端点位置に工具長補正ベクトルを加算した指令工具基準点位置を補間した前記直線軸3軸の工具基準点位置であることを特徴とする請求項1または請求項2のいずれか1つに記載の数値制御装置。背景技術で説明した特許文献1~3に開示される技術は、全てワークに対する工具方向を制御できる直線軸と回転軸を持つ5軸加工機に対する数値制御装置を対象としている。つまり、5軸加工機において、ワークの設置誤差に対してワークに対する工具の位置と方向を補正することによって、元の指令におけるワークに対する工具の位置と方向を保持することを目的とする。それに対して、少なくとも直線軸3軸を有する3軸加工機においては、工具の方向を補正することはできないが、加工点である工具先端点位置を補正することが望ましい。その場合、工具方向を制御できる5軸加工機を対象にした上記引用文献に開示された方法は、工具方向も補正できることを前提とした補正方法であるため、3軸加工機においては用いることができない。5軸加工機を対象にした上記特許文献では、例えば図1のように、ワーク位置においてY軸回りに回転誤差βがある場合、工具基準点位置Xc,Yc,ZcTおよび指令工具方向Ic,Jc,KcTに対して回転誤差βの補正計算を数1式のように行い、補正工具基準点位置Xa,Ya,ZaTおよび補正工具方向Ia,Ja,KaTを求める。そして、補正工具方向Ia,Ja,KaTを実現する回転軸位置A,B,C軸などの位置として補正回転軸位置を求め、X,Y,Z軸は補正工具基準点位置Xa,Ya,ZaTへ、回転軸位置A,B,C軸などは補正回転軸位置へ駆動することによって、実ワーク位置に対する工具の位置補正基準点位置と方向を補正し、元の指令におけるワークに対する工具の位置と方向を保持する。ここで、Tは転置を意味する。ただし、以降、自明な場合は特に表記しない。なお、上記右辺のマトリックスは、次の数2式のX軸回りの回転誤差α、Y軸回りの回転誤差β、Z軸回りの回転誤差γによるマトリックスの積においてβに関するマトリックスのみとしたものである。なお、図1および後述の図2では、直方体ワークの各辺がX,Y,Z軸に平行になる位置にある基準ワーク位置に対して、Y軸回りの回転誤差βによって実ワーク位置のようになる場合をX-Z平面で示している。βは小さい量だが、図上では大きく描いている。しかし、3軸加工機の場合は回転軸を持たないため、工具方向の補正を行うことができない。つまり、数1式のIa,Ja,Kaの計算を行わない。その結果、図2のように実ワーク位置と補正工具先端点位置の関係は基準ワーク位置と工具先端点位置の関係とは相違する。それは、数値制御装置は図2の工具基準点位置を直線軸3軸の駆動位置として制御するためである。つまり、工具基準点位置Xc,Yc、Zcに対して回転誤差βによる数1式の計算を行い補正工具基準点位置Xa,Ya,Zaを求めると、対応する補正工具先端点位置は実ワーク位置に対して正しい位置にはならない。工具基準点位置Xc,Yc,Zcに対する計算だけでは実ワーク位置と補正工具先端点位置の関係は基準ワーク位置と工具先端点位置の関係とは相違するためである。このことは、特許文献2の段落0003に回転軸を持たない3軸の工作機械においては、加工中に加工物の回転角度が変化せず回転によって上記設置誤差が変化しないため、ワークオフセットの設定や3次元座標変換機能を使用することにより設置誤差の補正が可能である。とあるが、並進誤差についてはワークオフセットの設定で補正できる場合はあるとしても、回転誤差については3次元座標変換機能によって正確に補正することはできないことも意味する。補正できない原因は、数2式や数1式のマトリックス計算が3次元座標変換であり、上述したようにこれらの計算を3軸加工機に適用しても正確な補正はできないためである。したがって、3軸加工機の場合、5軸加工機におけるワーク設置誤差補正を3軸加工機に適用する方法や、特許文献2での3次元座標変換機能を使用する方法などの従来技術では補正工具先端点位置による正しい加工は行われない。そこで本発明の目的は、少なくとも直線軸3軸を有する3軸加工機において、ワークの設置誤差がある場合に加工点である工具先端点位置を正確に補正する数値制御装置を提供することである。本願の請求項1に係る発明は、テーブルに取付られたワーク加工物に対して少なくとも直線軸3軸によって加工する3軸加工機を制御する数値制御装置において、ワークを設置した時の設置誤差を補正するワーク設置誤差補正部を備え、前記ワーク設置誤差補正部は、前記直線軸3軸の指令直線軸位置に基づいて工具先端点位置のワークに対する位置を保つように予め設定した設置誤差によって該指令直線軸位置に対する誤差補正を行い補正直線軸位置を求める誤差補正部を備え、前記ワーク設置誤差補正部によって求めた前記補正直線軸位置に基づいて前記直線軸3軸を駆動することを特徴とする数値制御装置である。請求項2に係る発明は、前記設置誤差は、X,Y,Z軸方向の並進誤差、X軸回りの回転誤差、Y軸回りの回転誤差、またはZ軸回りの回転誤差として設定される請求項1に記載の数値制御装置である。請求項3に係る発明は、前記指令直線軸位置は、プログラム指令において指令された前記直線軸3軸の工具基準点位置であることを特徴とする請求項1または請求項2のいずれか1つに記載の数値制御装置である。請求項4に係る発明は、前記指令直線軸位置は、プログラム指令を補間した前記直線軸3軸の工具基準点位置であることを特徴とする請求項1または請求項2のいずれか1つに記載の数値制御装置である。請求項5に係る発明は、前記指令直線軸位置は、プログラム指令において指令された前記直線軸3軸の指令工具先端点位置に工具長補正ベクトルを加算した指令工具基準点位置であることを特徴とする請求項1または請求項2のいずれか1つに記載の数値制御装置である。請求項6に係る発明は、前記指令直線軸位置は、プログラム指令において指令された前記直線軸3軸の指令工具先端点位置に工具長補正ベクトルを加算した指令工具基準点位置を補間した前記直線軸3軸の工具基準点位置であることを特徴とする請求項1または請求項2のいずれか1つに記載の数値制御装置である。本発明により少なくとも直線軸3軸を有する3軸加工機において、ワークの設置誤差がある場合に加工点である工具先端点位置を正確に補正する数値制御装置を提供できる。これによって、工具の方向を補正することはできなくても、加工点である工具先端点位置はワークに対して正しい位置となるため、工具先端点での加工を正しく行うことができる。以下に、本発明の実施形態を図面を用いて説明する。ここでは、図3に示す3軸加工機におけるワーク設置誤差の補正を説明する。この機械においては、直線軸X,Y,Zの動作によって工具が移動するようになっている。ワークを設置した時のずれやテーブルの傾斜などによって本来のワーク位置に対して実ワーク位置がずれている。基準機械座標系上の基準ワーク位置と実機械座標系の実ワーク位置が同じとなるように、基準機械座標系に対する実機械座標系を作成する。実機械座標系の基準機械座標系からのずれ量は設置誤差として予め測定され、基準機械座標系に対するX,Y,Z軸方向の並進誤差δx,δy,δz、X軸回りの回転誤差α、Y軸回りの回転誤差β、Z軸回りの回転誤差γとして設定されている。回転誤差を補正する順はα、β、γの順とする。もちろん、これらの設置誤差のうちすべてが設定されている必要はなく、その一部が設定されていればよい。δx、δy、δz、α、β、γは小さい量だが、図上では大きく描いている。ここでは基準機械座標系に対して並進誤差、回転誤差が存在するとしたが、他のワーク座標系などに対して誤差が存在するとしてもよい。図3においては、プログラム指令は基準機械座標系で指令されるとし、工具基準点位置が指令される場合を指令直線軸位置1Xc1,Yc1,Zc1で示し、工具先端点位置が指令される場合を指令直線軸位置2Xc2,Yc2,Zc2で示している。図示の便宜上、指令直線軸位置2Xc2,Yc2,Zc2のみ基準機械座標系原点からの位置ベクトルとして図示し、指令直線軸位置1Xc1,Yc1,Zc1については位置のみ図示している。一般に、工具基準点位置とは工具先端点位置に工具長補正ベクトルを加算した位置である。工具先端点位置は工具の頂点位置またはボールエンドミルであれば先端半球中心の場合もある。工具長補正ベクトルはZ軸方向とし、0,0,hで示している。hの量はプログラムで補正番号を指令することによって与えられる場合や、パラメータなどの設定部により設定されている場合などがある。ここでは工具長補正ベクトル方向をZ軸方向としたが、他の軸方向や傾斜している場合もある。<実施形態1>ここで、工具基準点位置が指令される場合は、指令直線軸位置1Xc1,Yc1,Zc1に対して次の数3式のように計算し、補正直線軸位置1Xa1,Ya1,Za1を得る。この計算を行うのがワーク設置誤差補正部における誤差補正部である。指令直線軸位置1が指令直線軸位置である。補正直線軸位置1が補正直線軸位置である。実際にX,Y,Z軸が移動する位置は補正直線軸位置1Xa1,Ya1,Za1であり、この位置へ直線軸3軸を駆動する。このことによって、工具基準点位置が指令される場合においても、加工点である補正工具先端点位置図3の補正直線軸位置2Xa2,Ya2,Za2は実ワーク位置に対して正しい位置となるため、ワーク設置誤差があっても工具先端点での加工を正しく行うことができる。補正工具先端点位置補正直線軸位置2Xa2,Ya2,Za2は次の数4式のように表される。その結果、従来技術として説明した図2は図4のようになり、ワーク設置誤差があっても補正工具先端点での加工を正しく行うことができる。つまり、数3式のように、工具基準点位置ではなく指令直線軸位置から工具長補正ベクトルを減算した工具先端点位置に対する計算を行うことによって、実ワーク位置と補正工具先端点位置の関係は基準ワーク位置と工具先端点位置の関係と同じとなり、ワーク設置誤差があっても工具先端点での加工を正しく行うことができる。指令直線軸位置1とはプログラムで指令された位置として説明してきたが、それはプログラム指令を補間周期毎に補間したX,Y,Z軸位置とし、その補間したX,Y,Z軸位置である指令直線軸位置1に対してワーク設置誤差補正を行う場合もある図6を参照。<実施形態2>また、工具先端点位置が指令直線軸位置2Xc2,Yc2,Zc2として指令される場合は、指令直線軸位置2Xc2,Yc2,Zc2に工具長補正ベクトル0,0,hを加算し指令工具基準点位置を求め、指令直線軸位置1Xc1,Yc1,Zc1とする。その指令直線軸位置1Xc1,Yc1,Zc1に対して実施形態1と同様に数3式の計算を行い補正直線軸位置1Xa1,Ya1,Za1を得る。この計算を行うのがワーク設置誤差補正部における誤差補正部である。ここでは、指令直線軸位置1が指令直線軸位置である。補正直線軸位置1が補正直線軸位置である。実際にX,Y,Z軸が移動する位置は補正直線軸位置1Xa1,Ya1,Za1であり、この位置へ直線軸3軸を駆動する。このことによって、実施形態1と同様、加工点である補正工具先端点位置図3の補正直線軸位置2は実ワーク位置に対して正しい位置となるため、ワーク設置誤差があっても工具先端点での加工を正しく行うことができる。指令直線軸位置1とはプログラムで指令されたX,Y,Z軸の直線軸3軸の指令工具先端点位置指令直線軸位置2Xc2,Yc2,Zc2に工具長補正ベクトル0,0,hを加算した指令工具基準点位置として説明してきたが、それはプログラムで指令された指令工具先端点位置指令直線軸位置2Xc2,Yc2,Zc2に工具長補正ベクトル0,0,hを加算した指令工具基準点位置を補間周期毎に補間したX,Y,Z軸の直線軸3軸位置とし、その補間したX,Y,Z軸の工具基準点位置を直線軸3軸の指令直線軸位置1としてワーク設置誤差補正を行う場合もある。その場合、プログラムで指令された指令工具先端点位置指令直線軸位置2Xc2,Yc2,Zc2に工具長補正ベクトル0,0,hを加算することは、プログラム指令解析部で行われる。つまり、プログラム指令解析部で作成された指令工具基準点位置を補間部で補間し指令直線軸位置1を作成し、その指令直線軸位置1に対してワーク設置誤差補正を行う図6参照。図3に示す3軸加工機では、直線軸X,Y,Z軸の動作によって工具が移動するようになる3軸加工機としたが、他にも、直線軸X,Y,Z軸の動作によって工具やテーブルが移動するようになっている3軸加工機もある。それらの3軸加工機に対しても上記の計算は同様に行うことができる。また、ここではX,Y,Z軸のみの3軸加工機を例としているが、さらにそれらの平行軸としてU,V,W軸やATC自動工具交換用の補助軸やその他の付加軸が付加されている加工機であってもよい。なお、請求項1に記載の少なくとも直線軸3軸によって加工する3軸加工機の少なくとも直線軸3軸は、X,Y,Zの3直線軸を少なくとも備え、更に、必要に応じてU,V,W軸、補助軸や他の付加軸を備えた加工機を意味する。図5は、プログラム指令に対してワーク設置誤差補正を行う本発明の実施形態の機能ブロック図である。プログラム指令解析部90で解析されたプログラム指令に対してワーク設置誤差補正部92でワーク設置誤差補正を実行する。並進誤差回転誤差指定部96の並進誤差回転誤差に基づいてワーク設置誤差補正部92で誤差補正されたプログラム指令は補間部94で補間され、補間データは各直線軸サーボ98X,98Y,98Zの駆動制御に用いられる。図6は、補間位置に対してワーク設置誤差補正を行う本発明の実施形態の機能ブロック図である。この実施形態では、プログラム指令解析部90で解析されたプログラム指令を補間部94で補間し、補間して得られた補間データに対してワーク設置誤差補正部92でワーク設置誤差補正を行い、補正された補間データは、各直線軸サーボ98X,98Y,98Zの駆動制御に用いられる。図7は、実施形態2において図6のように補間位置に対してワーク設置誤差補正を行う場合のワーク設置誤差補正部の部分を説明するフロチャートである。各ステップに従って説明する。この中で、ステップSA02,ステップSA03が誤差補正部である。●[ステップSA01]並進誤差δx,δy,δz、回転誤差α,β,γを得る。●[ステップSA02]直線軸3軸の補間位置工具基準点位置を指令直線軸位置1Xc1,Yc1,Zc1として得る。●[ステップSA03]数3式によって、補正直線軸位置1Xa1,Ya1,Za1を求める。図8は本発明の一実施形態における数値制御装置CNCの要部ブロック図である。CPU11は数値制御装置100を全体的に制御するプロセッサである。CPU11は、ROM12に格納されたシステムプログラムを、バス20を介して読み出し、該システムプログラムにしたがって数値制御装置全体を制御する。RAM13には一時的な計算データや表示データおよび表示器/MDIユニット70を介してオペレータが入力した各種データが格納される。SRAMメモリ14は、数値制御装置100の電源がOFFされても記憶状態が保持される不揮発性メモリとして構成される。SRAMメモリ14内には、インタフェース15を介して読み込まれた加工プログラムや表示器/MDIユニット70を介して入力された加工プログラムなどが記憶される。また、ROM12には、加工プログラムの作成および編集のために必要とされる編集モードの処理や自動運転のための処理を実施するための各種システムプログラムがあらかじめ書き込まれている。各軸の軸制御回路30~32はCPU11からの各軸の移動指令を受けて、各軸の指令をサーボアンプ40~42に出力する。サーボアンプ40~42はこの指令を受けて、各軸のサーボモータ50~52を駆動する。各軸のサーボモータ50~52は位置速度検出器を内蔵し、この位置速度検出器からの位置速度フィードバック信号を軸制御回路30~32にフィードバックし、位置速度のフィードバック制御を行う。なお、図8では、位置速度のフィードバックについては省略している。サーボモータ50~52は、工作機械のX,Y,Z軸を駆動するものである。スピンドル制御回路60は主軸回転指令を受け、スピンドルアンプ61にスピンドル速度信号を出力する。スピンドルアンプ61はスピンドル速度信号を受けて、主軸モータSM62を指令された回転速度でスピンドル制御回路60にフィードバックし、速度制御を行う。以上のような数値制御装置100の構成は従来の数値制御装置の構成と変わりなく、この数値制御装置100によって3軸加工機が駆動制御される。そして、数値制御装置100のプロセッサCPU100が、ワークを設置したときの設置誤差を補正するアルゴリズムを有するソフトウェアを実行する。"