(57)【特許請求の範囲】
【請求項１】
Ｘ軸，Ｙ軸，Ｚ軸の互いに直交する３つの直線送り軸と、該３つの直線送り軸から選定された１つの直線送り軸に平行な軸を中心として、その軸周りに回転する方向の回転送り軸たるＡ軸と、該Ａ軸の回転中心軸と直交する軸を中心として、その軸周りに回転する方向の回転送り軸たるＢ軸と、主軸の軸線を中心としてその軸周りに回転する方向の回転送り軸たるＣ軸とを備えた６軸ＮＣ工作機械を制御するためのＮＣプログラムを生成する方法であって、
座標軸が前記Ｘ軸，Ｙ軸，Ｚ軸の３つの直線送り軸と同方向である絶対座標系における工具中心の位置データ、並びに前記Ａ軸及びＢ軸の２つの回転送り軸に関する回転角度データを少なくとも含んで構成される既成の５軸制御用ＮＣプログラムを用い、前記絶対座標系における工具中心の位置データ、回転送り軸に関する回転角度データを基に、ワーク座標系における工具中心の位置データ、及び工具軸のベクトルデータから構成されるＣＬデータを生成した後、
生成された前記ＣＬデータを基に、前記絶対座標系における工具中心の位置データ、並びに前記Ａ軸，Ｂ軸及びＣ軸の３つの回転送り軸に関する回転角度データを少なくとも含んで構成される６軸制御用のＮＣプログラムを生成することを特徴とする６軸制御ＮＣプログラム生成方法。
【請求項２】
Ｘ軸，Ｙ軸，Ｚ軸の互いに直交する３つの直線送り軸と、該３つの直線送り軸から選定された１つの直線送り軸に平行な軸を中心として、その軸周りに回転する方向の回転送り軸たるＡ軸と、該Ａ軸の回転中心軸と直交する軸を中心として、その軸周りに回転する方向の回転送り軸たるＢ軸と、主軸の軸線を中心としてその軸周りに回転する方向の回転送り軸たるＣ軸とを備えた６軸ＮＣ工作機械を制御するためのＮＣプログラムを生成する装置であって、
データを入出力するための入出力手段と、
座標軸が前記Ｘ軸，Ｙ軸，Ｚ軸の３つの直線送り軸と同方向である絶対座標系における工具中心の位置データ、並びに前記Ａ軸及びＢ軸の２つの回転送り軸に関する回転角度データを少なくとも含んで構成される既成の５軸制御用ＮＣプログラムを記憶する記憶手段と、
前記記憶手段に格納された５軸制御用ＮＣプログラムを構成する前記絶対座標系における工具中心の位置データ、及び回転送り軸に関する回転角度データを基に、ワーク座標系における工具中心の位置データ、及び工具軸のベクトルデータから構成されるＣＬデータを生成するＣＬデータ生成手段と、
前記ＣＬデータ生成手段によって生成された前記ＣＬデータを基に、前記絶対座標系における工具中心の位置データ、並びに前記Ａ軸，Ｂ軸及びＣ軸の３つの回転送り軸に関する回転角度データを少なくとも含んで構成される６軸制御用のＮＣプログラムを生成するＮＣデータ生成手段とを設けて構成したことを特徴とする６軸制御ＮＣプログラム生成装置。
【請求項３】
Ｘ軸，Ｙ軸，Ｚ軸の互いに直交する３つの直線送り軸と、該３つの直線送り軸から選定された１つの直線送り軸に平行な軸を中心として、その軸周りに回転する方向の回転送り軸たるＡ軸と、該Ａ軸の回転中心軸と直交する軸を中心として、その軸周りに回転する方向の回転送り軸たるＢ軸と、主軸の軸線を中心としてその軸周りに回転する方向の回転送り軸たるＣ軸とを備えた６軸ＮＣ工作機械を制御するためのＮＣプログラムを生成する処理を、コンピュータに実行させるためのプログラムであって、
座標軸が前記Ｘ軸，Ｙ軸，Ｚ軸の３つの直線送り軸と同方向である絶対座標系における工具中心の位置データ、並びに前記Ａ軸及びＢ軸の２つの回転送り軸に関する回転角度データを少なくとも含んで構成される既成の５軸制御用ＮＣプログラムを用い、前記絶対座標系における工具中心の位置データ、回転送り軸に関する回転角度データを基に、ワーク座標系における工具中心の位置データ、及び工具軸のベクトルデータから構成されるＣＬデータを生成する処理と、
生成された前記ＣＬデータを基に、前記絶対座標系における工具中心の位置データ、並びに前記Ａ軸，Ｂ軸及びＣ軸の３つの回転送り軸に関する回転角度データを少なくとも含んで構成される６軸制御用のＮＣプログラムを生成する処理とを、コンピュータに順次実行させるためのプログラム。
【請求項４】
前記請求項３に記載したプログラムを記憶したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、数値制御工作機械（ＮＣ工作機械）に用いられるＮＣプログラムの生成方法及び生成装置に関し、更に詳しくは、６軸制御ＮＣ工作機械のＮＣプログラムの生成方法及び生成装置に関する。
【０００２】
【従来の技術】
回転工具によってワークを加工するＮＣ工作機械として、従来、Ｘ軸，Ｙ軸，Ｚ軸の互いに直交する３つの直線送り軸と、該３つの直線送り軸から選定された２つの直線送り軸に平行な軸を中心として、それぞれその軸周りに回転する方向の２つの回転送り軸たるＡ軸及びＢ軸とを備えた５軸制御ＮＣ工作機械が知られている。この５軸制御ＮＣ工作機械は、前記直交３軸方向の直線送り軸からなる３軸制御ＮＣ工作機械に比べて、工具のアプローチ方向がさまざまにとれるため、オーバーハングした形状や側面に凹みをもつような形状の加工など複雑な加工でも段取替えなしに高能率，高精度で加工することができる。斯くして、複雑な形状、特に自由曲面の加工に対応でき、且つ加工時間の短縮を図れるため、５軸制御ＮＣ工作機械は近年さかんに導入されている。
【０００３】
かかる５軸制御ＮＣ工作機械の動作を制御するためのＮＣプログラムは、その制御軸が多いため、人手では容易にこれを作成することが出来ない。そこで、従来、５軸制御用のＮＣプログラム生成装置が提案されている。この５軸制御ＮＣプログラム生成装置におけるプログラム生成手順の一例を図８に基づき簡単に説明する。尚、図８は、５軸制御ＮＣ工作機械におけるＮＣプログラム生成の処理手順の一例を示したフローチャートである。
【０００４】
図８に示すように、上記５軸制御ＮＣプログラム生成装置では、まず、ＣＡＤ部において、入出力装置などを用いて工作物の形状が定義され、その３次元形状データが生成される。
【０００５】
次に、ＣＡＭ部のメインプロセッサにおいて、ＣＡＤ部で定義された工作物の３次元形状データと、工具形状，面に対する工具姿勢，送りピッチなどの経路生成情報からワーク座標系における各工具移動位置の工具中心点ｐ（ｘ，ｙ，ｚ）が算出され、その後、工具軸（即ち、主軸）の方向を表す工具軸ベクトルＴ（ｉ，ｊ，ｋ）が算出される。尚、ここに言う前記工具中心点ｐは、通常の場合、工具先端の中心位置であるが、ボールエンドミルのように先端が球形状をした工具である場合には、当該球の中心位置若しくは工具先端の中心位置を指す。ついで、５軸制御による加工では、工具が工作物に対して任意の姿勢をとれることから、主軸側（主軸，工具，チャックなど）とテーブル側（テーブル，治具，工作物など）との干渉が問題となるため、これらの干渉の有無が確認され、干渉がある場合はその干渉を回避するように工具姿勢などが変更される。こうして、ワーク座標系におけるＣＬデータ（工具経路データ）が生成される。
【０００６】
次に、ＣＡＭ部のポストプロセッサにおいて、工作機械ごとに予め設定された工作機械データに基づいて、前記ＣＬデータを構成する工具軸ベクトルＴ（ｉ，ｊ，ｋ）から回転送り軸たるＡ軸，Ｂ軸の回転角度Ａ，Ｂが算出され、ついで、算出された回転角度Ａ，Ｂ及び前記ワーク座標系における工具中心点ｐ（ｘ，ｙ，ｚ）から、この回転送り軸が回転した後の絶対座標系における工具中心点Ｐ（Ｘ，Ｙ，Ｚ）が算出される。尚、かかる工具中心点Ｐについても、上記と同様、通常の場合、工具先端の中心位置を指すが、ボールエンドミルのように先端が球形状をした工具である場合には、当該球の中心位置若しくは工具先端の中心位置を指す。ついで、工具経路を幾つかに分割して位置偏差を許容値以下に抑えるリニアライゼーション処理が行われた後、予め設定された加工条件データに基づいて、送り速度制御処理，主軸回転速度制御処理が順次実施されて、ＮＣデータ（ＮＣプログラム）が生成される。
【０００７】
尚、前記絶対座標系は、５軸ＮＣ工作機械に対して設定された座標系であって、その座標軸が前記Ｘ軸，Ｙ軸，Ｚ軸の３つの直線送り軸と同方向となった座標系であり、前記ワーク座標系はワークに対して設定された座標系であるが、前記回転送り軸たるＡ軸及びＢ軸による回転を加えない状態では、前記絶対座標系とワーク座標系の各軸はそれぞれ同じ方向となっている。
【０００８】
ところで、回転工具を用いた前記５軸制御ＮＣ工作機械による加工では、加工面にピックフィードマークなどの刃物跡が残るなど、表面粗さについては必ずしも高精度な加工面を得ることができず、このため、従来、後工程として手磨きなどの表面仕上げ工程が必要となっていた。そこで、近時、このような問題を解決するために、ヘールバイトなどの非回転工具を用いて加工面を仕上げる加工法が提案されており、かかる加工を行うための工作機械として、従来の５軸に加えて、主軸の軸線を中心としてその軸周りに回転する方向の回転送り軸たるＣ軸を付加した構造の、即ち、主軸の回転を低速送り制御可能にした６軸制御ＮＣ工作機械が提案されている。
【０００９】
また、かかる６軸制御ＮＣ工作機械についても、その動作を制御するためのＮＣプログラムを自動的に生成する６軸制御用のＮＣプログラム生成装置が必要であるが、これは、上述した５軸制御用のＮＣプログラム生成装置を発展させたものが提案されている。
【００１０】
【発明が解決しようとする課題】
ところが、ＮＣプログラム生成装置は高価であり、従来の５軸制御用のＮＣプログラム生成装置に加えて、更に、６軸制御用のＮＣプログラム生成装置を用意するのは、利用者にとって極めて負担が重く、結果として、加工コストの増加を招きかねない。
【００１１】
また、過去に５軸制御ＮＣ工作機械による加工履歴のある製品を、６軸制御ＮＣ工作機械で加工する場合に、加工に使用した５軸制御用のＮＣプログラムを基に６軸制御用のＮＣプログラムを生成することができれば、過去の加工において得られたノウハウを反映させることができるため、効率的な加工を行うことができる。即ち、通常、ＮＣプログラム生成装置によって得られたＮＣプログラムは、これがそのままの状態で最適なものとなっているのではなく、実加工を通して、工具の移動位置などについて修正がなされ、最適なものに仕上げられる。したがって、このように最適化された５軸制御用のＮＣプログラムを利用すれば、これを基に生成される６軸制御用のＮＣプログラムを最適に近いものとすることができ、効率的な加工を行うことが可能となる。一方、６軸制御用のＮＣプログラムを一から生成する場合には、再度、最適化のための修正を行わなければ成らず、非効率この上ない。
【００１２】
本発明は以上の実情に鑑み成されたものであって、既存の５軸制御用ＮＣプログラムを利用することで、６軸制御ＮＣ工作機械のＮＣプログラムを効率的に作成可能にした６軸制御用ＮＣプログラムの生成方法及び生成装置、並びに６軸制御ＮＣプログラム生成プログラム及びこのプログラムを記憶したコンピュータ読み取り可能な記録媒体の提供を目的とする。
【００１３】
【課題を解決するための手段及びその効果】
上記課題を解決するための本発明は、６軸制御ＮＣ工作機械のＮＣプログラムを効率的に作成可能にした６軸制御用ＮＣプログラムの生成方法及び生成装置、並びに６軸制御ＮＣプログラム生成プログラム及びこのプログラムを記憶したコンピュータ読み取り可能な記録媒体に係る。
【００１４】
そして、本発明の請求項１に記載した発明は、Ｘ軸，Ｙ軸，Ｚ軸の互いに直交する３つの直線送り軸と、該３つの直線送り軸から選定された１つの直線送り軸に平行な軸を中心として、その軸周りに回転する方向の回転送り軸たるＡ軸と、該Ａ軸の回転中心軸と直交する軸を中心として、その軸周りに回転する方向の回転送り軸たるＢ軸と、主軸の軸線を中心としてその軸周りに回転する方向の回転送り軸たるＣ軸とを備えた６軸ＮＣ工作機械を制御するためのＮＣプログラムを生成する方法であって、
座標軸が前記Ｘ軸，Ｙ軸，Ｚ軸の３つの直線送り軸と同方向である絶対座標系における工具中心の位置データ、並びに前記Ａ軸及びＢ軸の２つの回転送り軸に関する回転角度データを少なくとも含んで構成される既成の５軸制御用ＮＣプログラムを用い、前記絶対座標系における工具中心の位置データ、回転送り軸に関する回転角度データを基に、ワーク座標系における工具中心の位置データ、及び工具軸のベクトルデータから構成されるＣＬデータを生成した後、
生成された前記ＣＬデータを基に、前記絶対座標系における工具中心の位置データ、並びに前記Ａ軸，Ｂ軸及びＣ軸の３つの回転送り軸に関する回転角度データを少なくとも含んで構成される６軸制御用のＮＣプログラムを生成することを特徴とする６軸制御ＮＣプログラム生成方法に係る。
【００１５】
また、請求項２に記載した装置発明は、Ｘ軸，Ｙ軸，Ｚ軸の互いに直交する３つの直線送り軸と、該３つの直線送り軸から選定された１つの直線送り軸に平行な軸を中心として、その軸周りに回転する方向の回転送り軸たるＡ軸と、該Ａ軸の回転中心軸と直交する軸を中心として、その軸周りに回転する方向の回転送り軸たるＢ軸と、主軸の軸線を中心としてその軸周りに回転する方向の回転送り軸たるＣ軸とを備えた６軸ＮＣ工作機械を制御するためのＮＣプログラムを生成する装置であって、
データを入出力するための入出力手段と、
座標軸が前記Ｘ軸，Ｙ軸，Ｚ軸の３つの直線送り軸と同方向である絶対座標系における工具中心の位置データ、並びに前記Ａ軸及びＢ軸の２つの回転送り軸に関する回転角度データを少なくとも含んで構成される既成の５軸制御用ＮＣプログラムを記憶する記憶手段と、
前記記憶手段に格納された５軸制御用ＮＣプログラムを構成する前記絶対座標系における工具中心の位置データ、及び回転送り軸に関する回転角度データを基に、ワーク座標系における工具中心の位置データ、及び工具軸のベクトルデータから構成されるＣＬデータを生成するＣＬデータ生成手段と、
前記ＣＬデータ生成手段によって生成された前記ＣＬデータを基に、前記絶対座標系における工具中心の位置データ、並びに前記Ａ軸，Ｂ軸及びＣ軸の３つの回転送り軸に関する回転角度データを少なくとも含んで構成される６軸制御用のＮＣプログラムを生成するＮＣデータ生成手段とを設けて構成したことを特徴とする６軸制御ＮＣプログラム生成装置に係る。
【００１６】
また、請求項３に記載した発明は、Ｘ軸，Ｙ軸，Ｚ軸の互いに直交する３つの直線送り軸と、該３つの直線送り軸から選定された１つの直線送り軸に平行な軸を中心として、その軸周りに回転する方向の回転送り軸たるＡ軸と、該Ａ軸の回転中心軸と直交する軸を中心として、その軸周りに回転する方向の回転送り軸たるＢ軸と、主軸の軸線を中心としてその軸周りに回転する方向の回転送り軸たるＣ軸とを備えた６軸ＮＣ工作機械を制御するためのＮＣプログラムを生成する処理を、コンピュータに実行させるためのプログラムであって、
座標軸が前記Ｘ軸，Ｙ軸，Ｚ軸の３つの直線送り軸と同方向である絶対座標系における工具中心の位置データ、並びに前記Ａ軸及びＢ軸の２つの回転送り軸に関する回転角度データを少なくとも含んで構成される既成の５軸制御用ＮＣプログラムを用い、前記絶対座標系における工具中心の位置データ、回転送り軸に関する回転角度データを基に、ワーク座標系における工具中心の位置データ、及び工具軸のベクトルデータから構成されるＣＬデータを生成する処理と、
生成された前記ＣＬデータを基に、前記絶対座標系における工具中心の位置データ、並びに前記Ａ軸，Ｂ軸及びＣ軸の３つの回転送り軸に関する回転角度データを少なくとも含んで構成される６軸制御用のＮＣプログラムを生成する処理とを、コンピュータに順次実行させるためのプログラムに係る。
【００１７】
また、請求項４に記載した発明は、前記請求項３に記載したプログラムを記憶したコンピュータ読み取り可能な記録媒体に係る。
【００１８】
これら請求項１乃至３に記載した各発明によれば、まず、既成の５軸制御用ＮＣプログラムを構成する絶対座標系における工具中心の位置データ、及び回転送り軸に関する回転角度データに基づき、ワーク座標系における工具中心の位置データ、及び工具軸のベクトルデータから構成されるＣＬデータが生成される。
【００１９】
次に、生成されたＣＬデータを構成するワーク座標系における工具中心の位置データ、及び工具軸のベクトルデータに基づき、絶対座標系における工具中心の位置データと、Ａ軸，Ｂ軸及びＣ軸の３つの回転送り軸に関する回転角度データとを少なくとも含んで構成される６軸制御用ＮＣプログラムが生成される。
【００２０】
回転送り軸たるＣ軸の回転角度は、ワークに対する工具加工作用面の向き（方向）を決定するものであるが、絶対座標系の位置データに変換されたＮＣプログラムからは、ワークに対する工具の姿勢を認識することができず、従って、５軸制御ＮＣプログラムから、直接的に６軸制御用のＮＣプログラムを生成することができない。
【００２１】
また、ＮＣプログラムを構成するコードは、基本的に各国共通であるが、ＣＬデータについては、そのフォーマットを含めて各装置メーカによって区々である。このため、５軸制御ＮＣプログラム生成装置によって生成されたＣＬデータについても、現実的にはこれを利用することができない。
【００２２】
そこで、本発明では、既成の５軸制御用ＮＣプログラムからＣＬデータを逆生成し、生成されたＣＬデータを基に６軸制御用ＮＣプログラムを生成するようにしているのである。
【００２３】
斯くして、本発明によれば、５軸制御用ＮＣプログラムを利用することで、容易、且つ効率的に６軸制御用ＮＣプログラムを生成することができる。
【００２４】
５軸制御用ＮＣプログラムは、実加工を通して、工具の移動位置などについて修正がなされ、最適なものに仕上げられており、このように最適化された５軸制御用のＮＣプログラムを利用することで、これを基に生成される６軸制御用のＮＣプログラムを最適に近いものとすることができ、効率的な加工を行うことが可能となる。
【００２５】
更に、本発明によれば、既存の５軸制御ＮＣプログラム生成装置を利用し、これに、６軸制御用のＮＣプログラムを生成するための機能を付加した構成をとることによって、６軸制御ＮＣプログラム生成装置を構成することができるので、装置構成のためのコストを低く抑えることができる。
【００２６】
尚、上記６軸制御用ＮＣプログラムにおける工具中心位置及び回転送り軸Ａ軸及びＢ軸の回転角は、前記５軸制御用ＮＣプログラムの工具中心位置及び回転送り軸Ａ軸及びＢ軸の回転角と同一の値となることがある。この場合、工具中心位置及び回転送り軸Ａ軸及びＢ軸の回転角については、５軸制御用ＮＣプログラムと同一の値についてはこの値を用いる一方、Ｃ軸の回転角については、これをＣＬデータから生成して、６軸制御用ＮＣプログラムを生成するようにしても良い。
【００２７】
また、本発明において、上記ＣＬデータ及び５軸制御用ＮＣプログラムを構成する工具中心の位置データは、通常の場合、工具先端の中心位置データを指すが、ボールエンドミルのように先端が球形状をした工具である場合には、当該球の中心位置データ若しくは工具先端の中心位置データを指す。また、６軸制御用ＮＣプログラムを構成する工具中心の位置データは、工具先端の中心位置データを指す。
【００２８】
【発明の実施の形態】
以下、本発明の具体的な実施形態について添付図面に基づき説明する。図１は、本発明の一実施形態に係る６軸制御ＮＣプログラム生成装置（以下、単にＮＣプログラム生成装置という）の概略構成を示したブロック図である。尚、本例では、前記６軸制御ＮＣプログラム生成装置１によってＮＣプログラムを自動生成する態様の一例として、図２に示した６軸制御ＮＣ工作機械１０を制御するためのＮＣプログラム自動生成例を例示する。したがって、本例の６軸制御ＮＣプログラム生成装置１は、図２に示した６軸制御ＮＣ工作機械１０に限らず、これを各種構造の６軸制御ＮＣ工作機械に適用することができる。
【００２９】
まず、上記６軸制御ＮＣ工作機械１０の概略構成について、図２に基づいて説明する。同図２に示すように、上記６軸制御ＮＣ工作機械１０は、ベッド１１，傾斜テーブル１２，回転テーブル１３，コラム１４，主軸頭１５，主軸１６などから構成されている。そして、傾斜テーブル１２は矢示Ｘ軸方向に、コラム１４は矢示Ｚ軸方向に、主軸頭１５は矢示Ｙ軸方向に、それぞれ適宜直線送り機構（図示せず）によって駆動，制御されるようになっており、更に、傾斜テーブル１２は矢示Ａ軸方向に、回転テーブル１３は矢示Ｂ軸方向に、主軸１６は矢示Ｃ軸方向に、それぞれ適宜回転送り機構（図示せず）によって、駆動，制御されるようになっている。
【００３０】
前記直線送り軸たるＸ軸，Ｙ軸，Ｚ軸は互いに直交しており、回転送り軸たるＡ軸はＸ軸に平行な軸周りに回転し、Ｂ軸は、前記傾斜テーブル１２の上面が垂直となったときを基準とするとＺ軸に平行な軸線周りに回転し、Ｃ軸は主軸１６の軸線（Ｚ軸に沿った軸線）を中心としてその軸周りに回転する。斯くして、回転テーブル１３上に取付けられたワーク（図示せず）と主軸１６に装着された工具１７とは、前記直線送り機構（図示せず）及び回転送り機構（図示せず）の作動によって、前記Ｘ軸，Ｙ軸，Ｚ軸，Ａ軸，Ｂ軸及びＣ軸の各送り軸方向に相対移動せしめられ、かかる相対移動によってワークが加工される。この６軸制御の代表的な加工法としては、ヘールバイトなどを主軸１６に装着し、これを非回転でワーク表面に接触，走査させ、ワーク表面を高精度に仕上げる加工法が挙げられる。
【００３１】
前記ＮＣプログラム生成装置１は、ＣＰＵ，ＲＯＭ，ＲＡＭや外部記憶装置などから構成されるコンピュータからなり、図１に示すように、５軸ＮＣデータ記憶部２，ＣＬデータ記憶部４，６軸ＮＣデータ記憶部６，加工条件データ記憶部７，工作機械データ記憶部８などの各データ記憶部と、ＣＬデータ生成部３，６軸ＮＣデータ生成部５などの各処理部から構成され、外部の入出力装置９などと接続している。尚、前記ＣＬデータ生成部３及び６軸ＮＣデータ生成部５における各処理は、ＮＣプログラム生成装置１を構成するコンピュータにインストールされたプログラムによって実行される。
【００３２】
前記５軸ＮＣデータ記憶部２は、５軸制御用のＮＣプログラムを記憶する機能部であり、別設の５軸制御ＮＣプログラム生成装置（図示せず）によって生成された既成の５軸制御ＮＣプログラムが前記入出力装置９を介して入力され、入力された５軸制御ＮＣプログラムがこの５軸ＮＣデータ記憶部２に格納される。尚、ここに言う５軸制御ＮＣプログラムとは、前記ＮＣ工作機械１０を例にとれば、前記直線送り軸Ｘ軸，Ｙ軸及びＺ軸と回転送り軸Ａ軸及びＢ軸の動作を制御するＮＣプログラムであって、ＮＣプログラムは、絶対座標系における工具移動経路上の各点の位置データ（工具中心の座標値），回転送り軸Ａ軸及びＢ軸における回転角度データや、各送り軸の送り速度，主軸１６の回転速度などから構成される。また、絶対座標系はＮＣ工作機械１０に対して設定される座標系であり、各座標軸は前記送り軸Ｘ軸，Ｙ軸，Ｚ軸に対してそれぞれ平行になっている。このため、以下の説明では、絶対座標系における各座標軸を送り軸と同様にＸ軸，Ｙ軸，Ｚ軸という。
【００３３】
前記ＣＬデータ生成部３は、前記５軸ＮＣデータ記憶部２に格納された５軸制御ＮＣプログラムを順次読み出して、これをＣＬデータに変換する処理を行ない、生成したＣＬデータを前記ＣＬデータ記憶部４に格納する処理を行なう。尚、ここに言うＣＬデータとは、ワーク座標系における工具移動経路上の各点の位置データ（工具中心の座標値），工具軸（工具１７の中心軸、即ち主軸１６の中心軸）ベクトルや切削送りか早送りかを示すコードなどから構成されるデータである。また、ワーク座標系は、回転テーブル１３に載置，固定されたワーク（図示せず）に対して設定される座標系であり、前記回転送り軸たるＡ軸及びＢ軸による回転を加えない状態では、各座標軸は前記絶対座標系の座標軸Ｘ軸，Ｙ軸，Ｚ軸に対してそれぞれ平行になっている。以下の説明では、このワーク座標系における各座標軸をｘ軸，ｙ軸，ｚ軸という。
【００３４】
また、前記６軸ＮＣデータ生成部５は、前記ＣＬデータ記憶部４に格納されたＣＬデータを読み出して、加工条件データ記憶部７に格納された加工条件データ、及び工作機械データ記憶部８に格納された工作機械データを参照して、前記ＣＬデータを６軸制御用のＮＣプログラムに変換する処理を行ない、生成した６軸制御ＮＣプログラムを前記６軸ＮＣデータ記憶部６に格納する処理を行なう。尚、ここに言う６軸制御ＮＣプログラムとは、前記ＮＣ工作機械１０を例にとれば、前記直線送り軸Ｘ軸，Ｙ軸及びＺ軸と回転送り軸Ａ軸，Ｂ軸及びＣ軸の動作を制御するＮＣプログラムであって、ＮＣプログラムは、前記絶対座標系における工具移動経路上の各点の位置データ（工具中心の座標値），回転送り軸Ａ軸，Ｂ軸及びＣ軸における回転角度データや、各送り軸の送り速度などから構成される。また、加工条件データ記憶部７及び工作機械データ記憶部８には、前記入出力装置９を介して各データが入力され、格納される。
【００３５】
以下、前記ＣＬデータ生成部３及び６軸ＮＣデータ生成部５における処理について、更に詳しく説明する。
【００３６】
上述したように、前記ＣＬデータ生成部３では、前記５軸ＮＣデータ記憶部２に格納された既成の５軸制御ＮＣプログラムからＣＬデータが生成される。「従来の技術」の項で説明したように、従来のＮＣプログラム生成装置では、３次元形状データからＣＬデータが生成され、ＣＬデータからＮＣプログラムが生成されるが、このＣＬデータ生成部３では、かかるＮＣプログラムの生成手順とは逆にＮＣプログラムからＣＬデータを生成するのである。これは、５軸制御ＮＣプログラムから直接的に６軸制御ＮＣプログラムを生成することができないからであり、このため、一旦、５軸制御ＮＣプログラムをＣＬデータに逆変換し、変換されたＣＬデータから６軸制御ＮＣプログラムを生成するようにしたものである。
【００３７】
上述したように、ＣＬデータは、ワーク座標系における工具移動経路上の各点の位置データや工具軸ベクトルなどから構成され、ＮＣプログラムは、絶対座標系における工具移動経路上の各点の位置データや回転送り軸Ａ軸及びＢ軸における回転角度データなどから構成される。まず、かかるＣＬデータとＮＣプログラムとの関係を図３及び図４を用いて説明する。尚、図３は、工具軸ベクトルＴｎと回転送り軸Ａ軸及びＢ軸の回転角Ａｎ，Ｂｎとの関係を示した説明図であり、図４は、回転送り軸Ａ軸及びＢ軸をそれぞれ角度Ａｎ，Ｂｎだけ回転させたときの、絶対座標系における工具中心の座標値とワーク座標系における工具中心の座標値との関係を示した説明図である。
【００３８】
図３に示すように、前記ＮＣ工作機械１０において、回転送り軸Ａ軸及びＢ軸をそれぞれ角度Ａｎ，Ｂｎだけ回転させたとき、工具軸ベクトルＴｎ（ｉｎ，ｊｎ，ｋｎ）が直線送り軸Ｚ軸と一致した位置にくるとすると、工具軸ベクトルＴｎ（ｉｎ，ｊｎ，ｋｎ）と回転角Ａｎ，Ｂｎとの関係は、次式数式１によって表せる。尚、図３中のベクトルＴｎｘｙ（ｉｎ，ｊｎ，０）は、工具軸ベクトルＴｎ（ｉｎ，ｊｎ，ｋｎ）のＸ−Ｙ平面に対する正射影である。また、前記ＮＣ工作機械１０における構造上の制限からｋｎは、ｋｎ≧０となる。
【００３９】
【数１】
0004531297.tif 000002
【００４０】
また、図４に示すように、前記ＮＣ工作機械１０において、回転送り軸Ａ軸及びＢ軸をそれぞれ角度Ａｎ，Ｂｎだけ回転させたとき、ワーク座標系における工具中心位置ｐｎ（ｘｎ，ｙｎ，ｚｎ）が絶対座標系における工具中心位置Ｐｎ（Ｘｎ，Ｙｎ，Ｚｎ）になったとすると、ワーク座標系における工具中心位置ｐｎ（ｘｎ，ｙｎ，ｚｎ）と絶対座標系における工具中心位置Ｐｎ（Ｘｎ，Ｙｎ，Ｚｎ）との関係は、次式数式２によって表せる。尚、数式２において、前記ＮＣ工作機械１０の回転送り軸Ａ軸及びＢ軸をそれぞれ角度Ａｎ，Ｂｎだけ回転させる前の状態における絶対座標系とワーク座標系の各軸の方向はそれぞれ一致している。
【００４１】
【数２】
0004531297.tif 000003
【００４２】
斯くして、このＣＬデータ生成部３では、前記５軸ＮＣデータ記憶部２に格納された５軸制御ＮＣプログラムが順次読み出され、その絶対座標系における工具中心位置Ｐｎ（Ｘｎ，Ｙｎ，Ｚｎ）データ及び回転送り軸Ａ軸及びＢ軸の角度Ａｎ，Ｂｎデータから、前記数式１及び２にしたがって、ワーク座標系における工具中心位置ｐｎ（ｘｎ，ｙｎ，ｚｎ）データ及び工具軸ベクトルＴｎ（ｉｎ，ｊｎ，ｋｎ）データを生成し、生成された工具中心位置ｐｎ（ｘｎ，ｙｎ，ｚｎ）データ及び工具軸ベクトルＴｎ（ｉｎ，ｊｎ，ｋｎ）データ、即ち、ＣＬデータが前記ＣＬデータ記憶部４に格納される。
【００４３】
前記６軸ＮＣデータ生成部５では、上記のようにして、前記ＣＬデータ生成部３によって生成され、前記ＣＬデータ記憶部４に格納されたＣＬデータが順次読み出され、読み出されたＣＬデータから６軸制御用のＮＣプログラムが生成される。６軸制御用のＮＣプログラムは、上述したように、絶対座標系における工具中心位置Ｐｎ（Ｘｎ，Ｙｎ，Ｚｎ）、並びに回転送り軸Ａ軸，Ｂ軸及びＣ軸における回転角Ａｎ，Ｂｎ，Ｃｎなどの各データからなる。
【００４４】
回転角Ａｎ，Ｂｎは、上記図３に示した工具軸ベクトルＴｎ（ｉｎ，ｊｎ，ｋｎ）と回転角Ａｎ，Ｂｎとの関係からこれを容易に求めることができ、回転角Ａｎは下式数式３により、回転角Ｂｎは下式数式４によりそれぞれ算出される。
【００４５】
【数３】
0004531297.tif 000004
【００４６】
【数４】
0004531297.tif 000005
【００４７】
また、工具中心位置Ｐｎ（Ｘｎ，Ｙｎ，Ｚｎ）は、上記図４に示したワーク座標系における工具中心位置ｐｎ（ｘｎ，ｙｎ，ｚｎ）と絶対座標系における工具中心位置Ｐｎ（Ｘｎ，Ｙｎ，Ｚｎ）との関係からこれを容易に求めることができ、具体的には、下式数式５によって算出される。尚、かかる変換式は工作機械の構造によって異なり、工作機械の構造に応じた変換式が前記工作機械データ記憶部８に格納され、これが工作機械の構造に応じて選択的に使用される。
【００４８】
【数５】
0004531297.tif 000006
【００４９】
次に、回転送り軸Ｃ軸における回転角Ｃｎの算出手順について、図５〜図７に基づいて説明する。尚、本例では、回転角Ｃｎは、図７に示すように、前記回転送り軸Ａ軸，Ｂ軸をそれぞれ回転角Ａｎ，Ｂｎで回転させ、工具軸を絶対座標系におけるＺ軸に一致させたときの、工具（ヘールバイト）１７の加工作用面に対する法線ベクトルｆ’ｎがＸ軸と成す角度と定義している。尚、図７においては、回転後の工具軸ベクトルをＴ’ｎで表している。
【００５０】
ところで、ワーク座標系における工具中心位置ｐｎ（ｘｎ，ｙｎ，ｚｎ）データ及び工具軸ベクトルＴｎ（ｉｎ，ｊｎ，ｋｎ）データからなるＣＬデータを、模式的に図示すると図５に示すようになる。そして、本例では、前記工具（ヘールバイト）１７の加工作用面に対して直交するように設定した面内に位置するベクトルＦｎ（工具軸を中心として工具１７の加工作用面が向いている方向を示すベクトルであり、以下、方向ベクトルという）を次のように定義する。
【００５１】
即ち、工具１６が位置座標ｐｎ−１，ｐｎ，ｐｎ＋１の順に移動するとき、位置座標ｐｎにおける方向ベクトルＦｎを、位置座標ｐｎ−１から位置座標ｐｎに向かうベクトルｐｎ−１ｐｎと位置座標ｐｎから位置座標ｐｎ＋１に向かうベクトルｐｎｐｎ＋１との合成ベクトルとして定義する。但し、ｐ１についてはベクトルｐ１ｐ２とする。このように定義される方向ベクトルＦｎは、下式数式６によって表せる。
【００５２】
【数６】
0004531297.tif 000007
【００５３】
尚、前記方向ベクトルＦｎは、上記定義に限られるものではなく、要は工具１７の移動方向に対して当該工具１７の加工作用面をどの方向に向けるかの問題であり、具体的には切削負荷などを考慮して決定されるべきものである。かかる観点からすると、各座標位置ｐｎを曲線で補間して、各点ｐｎにおける一次微分ベクトルとして方向ベクトルＦｎを定義しても良い。
【００５４】
上記の如く定義された方向ベクトルＦｎ、及び前記工具軸ベクトルＴｎの関係を示すと図６のようになる。尚、図６中のベクトルｆｎは工具１７の加工作用面１７ａに対する法線ベクトルであり、工具軸ベクトルＴｎに対して直交している。また、方向ベクトルＦｎは位置座標Ｐｎ点，工具軸ベクトルＴｎ及び法線ベクトルｆｎを含む平面内に位置している。また、ベクトルＨｎは方向ベクトルＦｎ，工具軸ベクトルＴｎ及び法線ベクトルｆｎに対して直交する補助ベクトルである。斯くして、補助ベクトルＨｎは、方向ベクトルＦｎと工具軸ベクトルＴｎとの外積から決定される。即ち、補助ベクトルＨｎは、上式数式６によって表される前記方向ベクトルＦｎのｘ成分をｓｎ、ｙ成分をｔｎ、ｚ成分をｕｎとし、方向ベクトルＦｎを下式数式７で表すと、これを下式数式８によって表すことができる。
【００５５】
【数７】
0004531297.tif 000008
【００５６】
【数８】
0004531297.tif 000009
【００５７】
図６に示した状態から、前記回転送り軸Ａ軸，Ｂ軸をそれぞれ回転角Ａｎ，Ｂｎで回転させ、工具軸を絶対座標系におけるＺ軸に一致させると、前記工具軸ベクトルＴｎ，方向ベクトルＦｎ，法線ベクトルｆｎ，補助ベクトルＨｎは、図７に示すように、それぞれ工具軸ベクトルＴ’ｎ，方向ベクトルＦ’ｎ，法線ベクトルｆ’ｎ，補助ベクトルＨ’ｎとなる。そして、法線ベクトルｆ’ｎ及び補助ベクトルＨ’ｎはＸ−Ｙ平面内に位置し、法線ベクトルｆｎは方向ベクトルＦｎに対して正射影の関係となる。
【００５８】
斯くして、補助ベクトルＨ’ｎは、これを下式数式９によって表すことができる。
【００５９】
【数９】
0004531297.tif 000010
【００６０】
そして、下式数式１０によって表される補助ベクトルＨ’ｎのｘ成分（Ｈ’ｎｘ）及び下式数式１１によって表される補助ベクトルＨ’ｎのｙ成分（Ｈ’ｎｙ）から、回転送り軸Ｃ軸の回転角Ｃｎは、これを下式数式１２によって算出することができる。尚、数式１２において、逆三角関数によって算出された角度αｎは非負角、つまり方向を持たない角度としている。
【００６１】
【数１０】
0004531297.tif 000011
【００６２】
【数１１】
0004531297.tif 000012
【００６３】
【数１２】
0004531297.tif 000013
【００６４】
このように、６軸ＮＣデータ生成部５では、前記ＣＬデータから、回転送り軸Ａ軸の回転角Ａｎが数式３によって算出され、回転送り軸Ｂ軸の回転角Ｂｎが数式４によって算出され、回転送り軸Ｃ軸の回転角Ｃｎが数式６〜１２によって算出される。また、ワーク座標系における工具中心位置ｐｎ（ｘｎ，ｙｎ，ｚｎ）が、数式５によって絶対座標系における工具中心位置Ｐｎ（Ｘｎ，Ｙｎ，Ｚｎ）に変換される。そして、加工条件データ記憶部７に格納された加工条件データを参照して、各送り軸Ｘ軸，Ｙ軸，Ｚ軸，Ａ軸，Ｂ軸，Ｃ軸の送り速度が設定された後、リニアライゼーション処理などの処理が行なわれて、最終的な６軸制御ＮＣプログラムが生成される。そして、このようにして生成された６軸制御ＮＣプログラムが前記６軸ＮＣデータ記憶部６に格納される。
【００６５】
以上詳述したように、本例のＮＣプログラム生成装置１によれば、前記ＣＬデータ生成部３において、前記５軸ＮＣデータ記憶部２に格納された既成の５軸制御ＮＣプログラムが順次読み出されて、これがＣＬデータに変換され、変換されたＣＬデータが順次前記ＣＬデータ記憶部４に格納される。また、前記６軸ＮＣデータ生成部５では、前記ＣＬデータ記憶部４に格納されたＣＬデータが順次読み出されて、これが６軸制御ＮＣプログラムに変換され、変換された６軸制御ＮＣプログラムが前記６軸ＮＣデータ記憶部６に格納される。
【００６６】
回転送り軸たるＣ軸の回転角Ｃｎは、ワークに対する工具加工作用面の向き（方向）を決定するものであり、絶対座標系の位置データに変換されたＮＣプログラムからでは、ワークに対する工具１７の姿勢を認識することができず、従って、５軸制御ＮＣプログラムから、直接的に６軸制御用のＮＣプログラムを生成することができない。また、ＮＣプログラムを構成するコードは、基本的に各国共通であるが、ＣＬデータについては、そのフォーマットを含めて各装置メーカによって区々である。このため、５軸制御ＮＣプログラム生成装置によって生成されたＣＬデータについても、現実的にはこれを利用することができない。そこで、本例のＮＣプログラム生成装置１では、既成の５軸制御用ＮＣプログラムからＣＬデータを逆生成し、生成されたＣＬデータを基に６軸制御用ＮＣプログラムを生成するようにしている。斯くして、このように、５軸制御用ＮＣプログラムを利用して、これからＣＬデータを逆生成し、生成されたＣＬデータから６軸制御用ＮＣプログラムを生成することで、容易、且つ効率的に６軸制御用ＮＣプログラムを生成することができる。
【００６７】
また、５軸制御用ＮＣプログラムは、実加工を通して、工具の移動位置などについて修正がなされ、最適なものに仕上げられており、このように最適化された５軸制御用のＮＣプログラムを利用することで、これを基に生成される６軸制御用のＮＣプログラムを最適に近いものとすることができ、効率的な加工を行うことが可能となる。
【００６８】
尚、上述したように、前記ＣＬデータ生成部３及び６軸ＮＣデータ生成部５における各処理は、ＮＣプログラム生成装置１を構成するコンピュータにインストールされたプログラムによって実行され、かかるプログラムは、フロッピーディスクやＣＤ−ＲＯＭなどの記録媒体に格納された状態から、入出力装置９を介してコンピュータ内にインストールすることができる。
【００６９】
また、本実施形態において、上記ＣＬデータを構成する工具中心の座標値（ワーク座標系）、５軸制御用ＮＣプログラムを構成する工具中心の座標値（絶対座標系）及び６軸制御用ＮＣプログラムを構成する工具中心の座標値（絶対座標系）は、それぞれ工具先端の中心位置座標の意である。
【００７０】
以上、本発明の一実施形態について説明したが、本発明の採り得る具体的な態様は、何らこれに限定されるものでない。
【００７１】
例えば、上述の例では、ＮＣプログラム生成装置１を独立したものとして構成しているが、既存の５軸制御ＮＣプログラム生成装置、あるいはＮＣ工作機械に組み込んだ構成としても何ら差し支えない。
【００７２】
また、上記ＣＬデータを構成する工具中心の座標値（ワーク座標系）及び５軸制御用ＮＣプログラムを構成する工具中心の座標値（絶対座標系）は、これを工具先端の中心位置座標としたが、ボールエンドミルのように先端が球形状をした工具である場合には、当該球の中心位置座標としてこれを扱っても差し支えない。
【００７３】
また、前記６軸ＮＣデータ生成部５において生成される６軸制御用ＮＣプログラムの回転角Ａｎ，Ｂｎは、前記５軸ＮＣデータ記憶部２に格納された５軸制御用ＮＣプログラムの回転角Ａｎ，Ｂｎと同じ値であるため、前記６軸制御ＮＣデータ生成部５において、前記５軸ＮＣデータ記憶部２に格納された５軸制御用ＮＣプログラムの回転角Ａｎ，Ｂｎをそのまま流用して、６軸制御用ＮＣプログラムを生成するように構成しても良い。更に、５軸制御用ＮＣプログラムの工具中心位置Ｐｎ（Ｘｎ，Ｙｎ，Ｚｎ）が工具先端の中心位置座標である場合には、６軸ＮＣデータ生成部５において生成される６軸制御用ＮＣプログラムの工具中心位置Ｐｎ（Ｘｎ，Ｙｎ，Ｚｎ）も５軸制御用ＮＣプログラムの工具中心位置Ｐｎ（Ｘｎ，Ｙｎ，Ｚｎ）と同じ値となるため、この場合には、前記６軸制御ＮＣデータ生成部５において、前記５軸ＮＣデータ記憶部２に格納された５軸制御用ＮＣプログラムにＣ軸の回転角Ｃｎを追加して６軸制御用ＮＣプログラムを生成するようにすることができる。
【図面の簡単な説明】
【図１】本発明の一実施形態に係る６軸制御ＮＣプログラム生成装置の概略構成を示したブロック図である。
【図２】本実施形態に係る６軸制御ＮＣ工作機械を示した斜視図である。
【図３】本実施形態に係る回転送り軸Ａ軸及びＢ軸の回転角Ａｎ及びＢｎの算出方法を説明するための説明図である。
【図４】ワーク座標系における工具中心位置データと、絶対座標系における工具中心位置データとの相互間の変換について説明するための説明図である。
【図５】本実施形態に係る回転送り軸Ｃ軸の回転角Ｃｎの算出方法を説明するための説明図である。
【図６】本実施形態に係る回転送り軸Ｃ軸の回転角Ｃｎの算出方法を説明するための説明図である。
【図７】本実施形態に係る回転送り軸Ｃ軸の回転角Ｃｎの算出方法を説明するための説明図である。
【図８】従来の５軸制御ＮＣプログラムの生成手順を示したフローチャートである。
【符号の説明】
１      ６軸制御ＮＣプログラム生成装置（ＮＣプログラム生成装置）
２      ５軸ＮＣデータ記憶部
３      ＣＬデータ生成部
４      ＣＬデータ記憶部
５      ６軸ＮＣデータ生成部
６      ６軸ＮＣデータ記憶部
７      加工条件データ記憶部
８      工作機械データ記憶部
９      入出力装置
１０    ６軸制御ＮＣ工作機械
１１    ベッド
１２    傾斜テーブル
１３    回転テーブル
１４    コラム
１５    主軸頭
１６    主軸
１７    工具
１７ａ  加工作用面
【図１】
0004531297.tif 000014
【図２】
0004531297.tif 000015
【図３】
0004531297.tif 000016
【図４】
0004531297.tif 000017
【図５】
0004531297.tif 000018
【図６】
0004531297.tif 000019
【図７】
0004531297.tif 000020
【図８】
0004531297.tif 000021