(57)【要約】  数値制御装置は、工具に対する移動指令または加工対象物に対する移動指令が記述された加工プログラムを入力する加工プログラム入力部（１１）と、移動指令、および移動指令により指令された指令位置を通過する工具経路の形状の特徴を表した形状特徴情報に基づいて曲線経路を生成する曲線経路生成部（１４）と、を備える。
2018122988.tif 000002
【特許請求の範囲】
【請求項１】
工具に対する移動指令または加工対象物に対する移動指令が記述された加工プログラムを入力する加工プログラム入力部と、
前記移動指令、および前記移動指令により指令された指令位置を通過する工具経路の形状の特徴を表した形状特徴情報に基づいて曲線経路を生成する曲線経路生成部と、
を備えることを特徴とする数値制御装置。
【請求項２】
前記形状特徴情報が前記加工プログラムに記述され、
前記加工プログラムを解析して前記指令位置および前記形状特徴情報を求める加工プログラム解析部、
を備えることを特徴とする請求項１に記載の数値制御装置。
【請求項３】
前記形状特徴情報は、前記曲線経路の生成を一旦中断することを指示する曲線キャンセル情報であり、
前記曲線経路生成部は、前記曲線キャンセル情報と対応付けられている前記指令位置において曲線経路の生成を中断して当該指令位置を曲線経路の終点とするとともに、当該指令位置を始点とする新たな曲線経路の生成を開始する、
ことを特徴とする請求項１または２に記載の数値制御装置。
【請求項４】
前記形状特徴情報は、前記指令位置における接線方向ベクトルであり、
前記曲線経路生成部は、前記接線方向ベクトルと対応付けられている指令位置における接線方向が、対応付けられている接線方向ベクトルの向きと一致するように曲線経路を生成する、
ことを特徴とする請求項１または２に記載の数値制御装置。
【請求項５】
前記接線方向ベクトルは、前記曲線経路の先頭の指令位置における接線方向ベクトルおよび前記曲線経路の末尾の指令位置における接線方向ベクトルであり、
前記曲線経路生成部は、前記曲線経路の先頭の指令位置における接線方向が、対応付けられている接線方向ベクトルの向きと一致し、かつ前記曲線経路の末尾の指令位置における接線方向が対応付けられている接線方向ベクトルの向きと一致するように曲線経路を生成する、
ことを特徴とする請求項４に記載の数値制御装置。
【請求項６】
前記曲線経路生成部は、前記接線方向ベクトルが対応付けられていない指令位置がある場合、当該指令位置における接線方向ベクトルを、当該指令位置とともに曲線経路を構成する指令位置に基づいて算出する、
ことを特徴とする請求項４または５に記載の数値制御装置。
【請求項７】
前記曲線経路生成部は、曲線経路の先頭の指令位置に対応付けられた接線方向ベクトルが存在しておらず、かつ、当該曲線経路の直前の曲線経路の末尾の指令位置に対応付けられた接線方向ベクトルが存在する場合、当該直前の曲線経路の末尾の指令位置に対応付けられた接線方向ベクトルを、接線方向ベクトルが対応付けられていない前記先頭の指令位置における接線方向ベクトルとする、
ことを特徴とする請求項４、５または６に記載の数値制御装置。
【請求項８】
前記工具を定義する情報である工具データを入力する工具データ入力部と、
前記加工対象物の加工形状モデルを定義する形状データを入力する形状データ入力部と、
前記移動指令により指令された指令位置、前記工具データおよび前記形状データに基づいて、前記指令位置を通過する工具経路の形状の特徴を表した形状特徴情報を算出する形状特徴情報算出部と、
を備えることを特徴とする請求項１に記載の数値制御装置。
【請求項９】
工具に対する移動指令または加工対象物に対する移動指令が記述された加工プログラムを入力する加工プログラム入力部と、
前記工具を定義する情報である工具データを入力する工具データ入力部と、
前記加工対象物の加工形状モデルを定義する形状データを入力する形状データ入力部と、
前記移動指令により指令された指令位置、前記工具データおよび前記形状データに基づいて、前記指令位置を通過する工具経路の形状の特徴を表した形状特徴情報を算出する形状特徴情報算出部と、
前記指令位置および前記形状特徴情報に基づいて前記加工プログラムを変換する加工プログラム変換部と、
を備えることを特徴とするプログラム変換装置。
【請求項１０】
前記形状特徴情報算出部は、前記指令位置の各々を工具が通過するときの加工形状上における切削点を前記指令位置ごとに算出し、算出した各切削点が加工形状の加工曲面の境界上に存在するか、および、１つの指令位置に対応する切削点が加工形状の複数の加工曲面上に存在するかを判断し、
前記加工プログラム変換部は、前記切削点が加工形状の加工曲面の境界上に存在する場合、および、１つの指令位置に対応する切削点が複数の加工曲面上に存在すると判断された場合、当該切削点に対応する指令位置を指令する移動指令に対して、曲線経路の生成を一旦中断することを指示する曲線キャンセル情報を付加する、
ことを特徴とする請求項９に記載のプログラム変換装置。
【請求項１１】
前記形状特徴情報算出部は、前記指令位置の各々を工具が通過するときの加工形状上における切削点を前記指令位置ごとに算出し、算出した各切削点が加工形状の曲率不連続な位置に存在するかを判断し、
前記加工プログラム変換部は、前記切削点が加工形状の曲率不連続な位置に存在すると判断された場合、当該切削点に対応する指令位置を指令する移動指令に対して、曲線経路の生成を一旦中断することを指示する曲線キャンセル情報を付加する、
ことを特徴とする請求項９または１０に記載のプログラム変換装置。
【請求項１２】
前記形状特徴情報算出部は、前記指令位置の各々を工具が通過するときの加工形状上における切削点を前記指令位置ごとに算出し、算出した各切削点に対応する各指令位置における接線方向ベクトルを算出し、
前記加工プログラム変換部は、各指令位置を指令する移動指令に対して、前記算出された接線方向ベクトルを付加する、
ことを特徴とする請求項９から１１のいずれか一つに記載のプログラム変換装置。
【請求項１３】
工具に対する移動指令または加工対象物に対する移動指令が記述された加工プログラムを受け取る加工プログラム取得ステップと、
前記移動指令、および前記移動指令により指令された指令位置を通過する工具経路の形状の特徴を表した形状特徴情報に基づいて曲線経路を生成する曲線経路生成ステップと、
前記曲線経路に対して補間処理を行って前記工具経路を生成する工具経路生成ステップと、
を含むことを特徴とする数値制御方法。
【請求項１４】
工具に対する移動指令または加工対象物に対する移動指令が記述された加工プログラムを受け取る加工プログラム取得ステップと、
前記工具を定義する情報である工具データを受け取る工具データ取得ステップと、
前記加工対象物の加工形状モデルを定義する形状データを受け取る形状データ取得ステップと、
前記移動指令により指令された指令位置、前記工具データおよび前記形状データに基づいて、前記指令位置を通過する工具経路の形状の特徴を表した形状特徴情報を算出する形状特徴情報算出ステップと、
前記指令位置および前記形状特徴情報に基づいて前記加工プログラムを変換する加工プログラム変換ステップと、
を含むことを特徴とするプログラム変換方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数値制御工作機械を構成する数値制御装置、数値制御加工プログラムを変換するプログラム変換装置、数値制御方法およびプログラム変換方法に関する。
【背景技術】
【０００２】
数値制御工作機械が加工対象物を加工するためには、加工対象物または数値制御工作機械に装着された工具を、予め設定された経路に移動させるための移動指令が記述された数値制御加工プログラム（以下単に「加工プログラム」と称する）が用いられる。加工プログラムは、例えば市販のＣＡＤ（Ｃｏｍｐｕｔｅｒ−Ａｉｄｅｄ  Ｄｅｓｉｇｎ）／ＣＡＭ（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｍａｎｕｆａｃｔｕｒｉｎｇ）装置によって作成され、例えばＧコードおよびマクロ文といった文字列の規定のフォーマットで記述される。ここでＧコードとは、数値制御で用いられる命令コードの１つであり、制御対象物の位置決め、直線補間、円弧補間または平面指定を行う際に加工プログラムに記述される指令コードである。【０００３】
従来、自由曲面を有する形状の加工対象物の加工を行う場合、ＣＡＤ／ＣＡＭ装置を利用して加工対象物の自由曲面に接するようにして仮想的に工具を移動させた直線、円弧、曲線等からなる理想的な経路を微小線分によって近似した経路（以下「工具経路」と称する）を作成した後、数値制御工作機械がその工具経路に沿って工具を移動させて切削加工する。【０００４】
ＣＡＤ／ＣＡＭ装置から出力される工具経路は数値制御装置が解釈できるＧコードの移動指令として加工プログラムに記述され、加工プログラムは数値制御工作機械が有する数値制御装置に入力される。数値制御装置は加工プログラムを読み取り解釈することにより、移動指令から補間周期ごとに工具経路を補間した補間データを作成する。数値制御装置は、作成した補間データによって数値制御工作機械の各軸を制御し、工具を所望の位置に移動させることにより加工対象物を加工する。【０００５】
自由曲面を加工するための工具経路をＣＡＤ／ＣＡＭ装置が作成する一般的な手順を説明する。工具経路を生成する場合、ＣＡＤ／ＣＡＭ装置は、まず、加工対象物における加工すべき曲面（以下「加工曲面」と称する）の形状から、加工曲面に接するように工具を移動させた際に要求される理想的な経路を算出する。ＣＡＤ／ＣＡＭ装置は、次に、許容誤差の情報を取得し、算出された理想的な経路との最大誤差が許容誤差以下になるように、理想的な経路上に指令点をサンプリングし、指令点間を直線で補間した微小線分に近似することにより工具経路を作成する。このようにして作成した工具経路に従った加工では、加工曲面は近似された指令点間を直線で補間することにより加工されるため、加工結果の加工品質が低下するといった問題がある。この問題に対し、従来は、数値制御装置が、ＣＡＤ／ＣＡＭ装置から受け取った工具経路を部分的に曲線経路に復元して、スプライン曲線などの曲線を推測して復元して、復元した曲線経路を補間する加工を行っていた。これにより滑らかな加工結果を得られることが期待できる。【０００６】
しかし、許容誤差によって近似された指令点のみから推測して曲線経路を復元すると、復元した曲線経路が復元されるべき理想的な経路の形状と一致せず加工結果が加工曲面の形状と乖離してしまう、といった可能性があった。また、指令点のうち曲線経路として復元されるべき範囲が異なり、本来直線であるべき形状が曲線として復元される、逆に曲線として復元されるべき形状が直線のままである、といった可能性があった。これらのように近似された指令点のみから推測して復元された曲線経路によって加工されると、所望の加工精度および加工品位が得られないといった問題が存在する。【０００７】
この問題の解決方法として、数値制御装置が曲線経路を復元するために有用な情報を加工プログラムに対して付加する発明が特許文献１で開示されている。特許文献１に記載された発明では、加工プログラムに元形状を近似した工具経路の移動指令と工具経路の元形状が直線か曲線かを示す元形状情報と含ませ、元形状情報が直線であれば直線のままとし、元形状情報が曲線であれば曲線経路として復元する。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特許第４５６０１９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、特許文献１に記載の発明において、加工プログラムに含まれる元形状情報は、工具経路の元形状が直線か曲線かを示すだけであり、復元すべき理想的な曲線経路の形状を具体的に示す情報ではない。そのため、復元した曲線経路が復元すべき理想的な経路の形状と一致せず、所望の加工精度および加工品位が得られる加工の実現が難しい。【００１０】
特許文献１に記載の発明においては元形状情報によって元形状が直線か曲線かを判別することは可能であるが、それらの元形状同士がどのような接続関係になっているかを判別することはできないため、理想的な曲線経路を復元できない可能性がある。例えば、複数の加工曲面に沿って加工を行う工具経路であった場合に、元形状情報から工具経路の元形状が曲線であることを判別することはできるが、加工する加工曲面が切り替わる位置における接続関係が接線連続であるか曲率連続であるか、またはそのどちらでもなく角部であるか、を判別することはできない。そのため、元形状に角部が存在したとしても復元された曲線経路に角部が存在しない可能性がある。これとは逆に、元形状が接線連続であったとしても復元された曲線経路に角部が存在してしまう可能性がある。さらに、単一の加工曲面に沿って加工を行う工具経路であった場合でも、工具経路に沿った加工曲面の途中に曲率不連続な位置または接線不連続な位置が存在する場合に、そのような位置において曲率および接線方向の連続性を考慮した曲線を復元することはできない。このように、特許文献１に記載の発明には、理想的な曲線経路の形状を復元できない問題がある。【００１１】
また、特許文献１に記載の発明においては、作業者が加工プログラムの各々の移動指令に対して元形状が直線か曲線かを判断し、元形状情報を加工プログラムに記載する必要があるため、作業者に大きな時間と手間がかかって負担となり、作業能率が低下する問題がある。【００１２】
本発明は、上記に鑑みてなされたものであって、加工精度および加工品位の向上を実現する数値制御装置を得ることを目的とする。
【課題を解決するための手段】
【００１３】
上述した課題を解決し、目的を達成するために、本発明にかかる数値制御装置は、工具に対する移動指令または加工対象物に対する移動指令が記述された加工プログラムを入力し、移動指令、および移動指令により指令された指令位置を通過する工具経路の形状の特徴を表した形状特徴情報に基づいて曲線経路を生成する。
【発明の効果】
【００１４】
本発明にかかる数値制御装置は、加工結果の加工精度および加工品位を向上させることができる、という効果を奏する。
【図面の簡単な説明】
【００１５】
【図１】実施の形態１にかかる数値制御装置の構成例を示す図
【図２】実施の形態１にかかる数値制御装置の動作例を示すフローチャート
【図３】実施の形態１にかかる数値制御装置に入力される加工プログラムの第１の具体例を示す図
【図４】実施の形態１にかかる数値制御装置が曲線経路を生成する動作の第１の具体例を示す図
【図５】実施の形態１にかかる数値制御装置に入力される加工プログラムの第２の具体例を示す図
【図６】実施の形態１にかかる数値制御装置が曲線経路を生成する動作の第２の具体例を示す図
【図７】実施の形態２にかかる数値制御装置の構成例を示す図
【図８】実施の形態２にかかる数値制御装置の動作例を示すフローチャート
【図９】工具情報がボールエンドミル工具の形状を表す場合の指令位置、工具モデルおよび加工形状モデルの加工曲面の関係例を示す図
【図１０】工具情報がボールエンドミル工具の形状を表す場合の指令位置、工具モデルおよび加工形状モデルの加工曲面の関係例を示す図
【図１１】工具情報がボールエンドミル工具の形状を表す場合の指令位置、工具モデルおよび加工形状モデルの加工曲面の関係例を示す図
【図１２】工具情報がラジアスエンドミル工具の形状を表す場合の指令位置、工具モデルおよび加工形状モデルの加工曲面の関係例を示す図
【図１３】工具情報がラジアスエンドミル工具の形状を表す場合の指令位置、工具モデルおよび加工形状モデルの加工曲面の関係例を示す図
【図１４】工具情報がラジアスエンドミル工具の形状を表す場合の指令位置、工具モデルおよび加工形状モデルの加工曲面の関係例を示す図
【図１５】工具情報がフラットエンドミル工具の形状を表す場合の指令位置、工具モデルおよび加工形状モデルの加工曲面の関係例を示す図
【図１６】工具情報がフラットエンドミル工具の形状を表す場合の指令位置、工具モデルおよび加工形状モデルの加工曲面の関係例を示す図
【図１７】工具情報がフラットエンドミル工具の形状を表す場合の指令位置、工具モデルおよび加工形状モデルの加工曲面の関係例を示す図
【図１８】実施の形態２にかかる数値制御装置に入力される加工プログラムおよび指令位置の具体例を示す図
【図１９】実施の形態２にかかる数値制御装置に入力される加工プログラムおよび指令位置の具体例を示す図
【図２０】加工形状モデルの具体例を示す図
【図２１】加工形状モデルの具体例を示す図
【図２２】工具モデルの具体例を示す図
【図２３】切削点の算出方法を説明するための図
【図２４】曲線経路区間を説明するための図
【図２５】接線方向ベクトルの算出手順を説明するための図
【図２６】接線方向ベクトルの具体例を示す図
【図２７】開始接線方向ベクトルおよび終了接線方向ベクトルの具体例を示す図
【図２８】実施の形態３にかかるプログラム変換装置の構成例を示す図
【図２９】実施の形態３にかかるプログラム変換装置の動作例を示すフローチャート
【図３０】実施の形態３にかかるプログラム変換装置が生成する変換後加工プログラムの具体例を示す図
【図３１】数値制御装置およびプログラム変換装置のハードウェア構成を示す図
【発明を実施するための形態】
【００１６】
以下に、本発明の実施の形態にかかる数値制御装置、プログラム変換装置、数値制御方法およびプログラム変換方法を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１７】
実施の形態１．
図１は、本発明の実施の形態１にかかる数値制御装置の構成例を示す図である。数値制御装置１０は、モータ駆動部１６を介して、図示しない工作機械に対して数値制御を実行する装置である。
【００１８】
数値制御装置１０は、外部から入力される加工プログラムを受け取る加工プログラム入力部１１と、加工プログラムを記憶する加工プログラム記憶部１２と、加工プログラムを解析する加工プログラム解析部１３と、加工プログラムの解析結果に基づいて曲線経路を生成する曲線経路生成部１４と、曲線経路に対して補間処理を行う曲線経路補間部１５とを備える。また、加工プログラム解析部１３は、加工プログラムを解析し、工具経路を構成する指令位置を求める工具経路解析部１３１と、加工プログラムを解析し、後述する形状特徴情報を求める形状特徴情報解析部１３２とを備える。本実施の形態にかかる数値制御装置１０は、外部から加工プログラムが入力されると、加工プログラムを解析して工具経路を生成し、モータ駆動部１６へ出力する動作を実行する。
【００１９】
図１に示した実施の形態１にかかる数値制御装置１０が工具経路を生成する動作について説明する。ここでは、まず、数値制御装置１０が工具経路を生成する手順について説明し、その後、工具経路を生成する動作の具体例について説明する。なお、本実施の形態では２つの具体例を説明する。
【００２０】
図２は、実施の形態１にかかる数値制御装置１０の動作例を示すフローチャートである。図２のフローチャートは、数値制御装置１０が工具経路を生成する動作の手順を示している。
【００２１】
数値制御装置１０が工具経路を生成する動作においては、まず、加工プログラムが数値制御装置１０に入力される（ステップＳ１０１）。すなわち、数値制御装置１０において、加工プログラム入力部１１が、工作機械を数値制御するための加工プログラムを外部から読み込む。加工プログラムには、加工対象物である被加工物または工具を予め設定された経路に移動させるための移動指令と、工具が移動指令により指令された指令位置を通過する際の曲線経路の形状の特徴を表した形状特徴情報とが記述されている。指令位置を指定された順番に結んだものが工具経路であり、工具経路は１対以上の曲線経路を含んで構成される。よって、形状特徴情報は工具経路の形状の特徴を表す情報ともいえる。
【００２２】
形状特徴情報としては、曲線経路の生成をキャンセルすべき指令位置を示す曲線キャンセル情報、および指令位置における曲線経路の接線方向を示す接線方向ベクトルが該当する。また、指令位置を始点とする移動指令の曲線経路の始点における接線方向を示す接線方向ベクトルおよび指令位置を終点とする移動指令の曲線経路の終点における接線方向を示す接線方向ベクトルの組み合わせが形状特徴情報に該当する。また、指令位置における曲線経路の曲率、曲線経路の区間を示す曲線区間情報なども形状特徴情報に該当する。形状特徴情報は、これらの情報の中の１つ、または２つ以上を組み合わせて構成される。
【００２３】
ステップＳ１０１として実行する加工プログラムの入力は、ＣＡＤ／ＣＡＭシステムにより出力された、例えばＧコードのフォーマットで記述されたファイルを読込むことにより実現される。または、作業者がキーボードなどの入力機器を操作することにより必要な情報を入力して加工プログラムを作成することにより実現される。数値制御装置１０は、加工プログラム入力部１１を介して入力された加工プログラムを、加工プログラム記憶部１２で記憶する。
【００２４】
数値制御装置１０は、次に、ステップＳ１０１を実行して取得した加工プログラムを解析する（ステップＳ１０２）。このステップＳ１０２では、まず、加工プログラム解析部１３が、加工プログラム記憶部１２から加工プログラムを読み出し、読み出した加工プログラム中に記述された移動指令により指令された指令位置を工具経路解析部１３１において求めるとともに、加工プログラム中に記述された形状特徴情報を形状特徴情報解析部１３２において求める。このとき、形状特徴情報は各々の指令位置に対応付けて求められる。すなわち、加工プログラム解析部１３の工具経路解析部１３１および形状特徴情報解析部１３２は、それぞれ加工プログラムを解析し、移動指令により示された各指令位置を求めるとともに、各指令位置に対応付けられている形状特徴情報を求める。工具経路解析部１３１および形状特徴情報解析部１３２は、求めた指令位置および形状特徴情報を曲線経路生成部１４に渡す。
【００２５】
数値制御装置１０は、次に、曲線経路を生成する（ステップＳ１０３）。すなわち、数値制御装置１０において、曲線経路生成部１４が、加工プログラム解析部１３から受け取った指令位置および形状特徴情報に基づいて、曲線経路を生成する。ここで生成する曲線経路には複数の指令位置間を直線とする直線経路も含む。
【００２６】
例えば、形状特徴情報として曲線キャンセル情報が含まれている場合、曲線経路生成部１４は、指令位置の先頭から順に曲線経路を生成していき曲線キャンセル情報が対応付けられている指令位置に到達すると、曲線経路の生成を一旦キャンセルする。曲線経路生成部１４は、次に、曲線経路の生成をキャンセルした指令位置を先頭として順に曲線経路を生成していき、全ての指令位置について処理するまで処理を続けて、全体を複数の曲線経路として生成する。なお、曲線キャンセル情報が複数含まれている場合、曲線経路生成部１４は、複数の曲線キャンセル情報の各々と対応付けられている指令位置に到達するごとに、曲線経路の生成のキャンセルと再開とを繰り返す。
【００２７】
また、例えば、形状特徴情報として接線方向ベクトルが含まれている場合、曲線経路生成部１４は、指令位置の先頭から順に曲線経路を生成していき、接線方向ベクトルと対応付けられている指令位置に到達すると、当該指令位置を通過する際の曲線経路の接線方向が、対応付けられている接線方向ベクトルの向きと同じになるように曲線経路を生成する。
【００２８】
特に、曲線経路の始点における接線方向を示す接線方向ベクトルおよび指令位置を終点とする移動指令の曲線経路の終点における接線方向を示す接線方向ベクトルの組み合わせが形状特徴情報として含まれている場合は以下の方法で曲線経路を生成する。曲線経路生成部１４は、指令位置の先頭から順に曲線経路を生成していき、上記の形状特徴情報と対応付けられている指令位置に到達すると、曲線経路が当該指令位置へ到達する際の接線方向が対応付けられている接線方向ベクトルの向きと同じになるように曲線経路を生成するとともに、当該指令位置から曲線経路が出発する際の接線方向が対応付けられている接線方向ベクトルの向きと同じになるように曲線経路を生成する。この場合の「形状特徴情報と対応付けられている指令位置に到達する」とは、曲線経路の始点における接線方向を示す接線方向ベクトルおよび指令位置を終点とする移動指令の曲線経路の終点における接線方向を示す接線方向ベクトルの組み合わせと対応付けられている指令位置に到達することをいう。
【００２９】
また、ある指令位置に対応付けられた形状特徴情報として、指令位置を終点とする移動指令の曲線経路の終点における接線方向を示す接線方向ベクトルが含まれ、かつ曲線経路の始点における接線方向を示す接線方向ベクトルが含まれていない場合、曲線経路生成部１４は、当該指令位置を始点とする曲線経路を、当該指令位置に対応付けられている、曲線経路の終点における接線方向を示す接線方向ベクトルを用いて生成する。
【００３０】
また、ある指令位置に対応付けられた形状特徴情報として、指令位置を終点とする移動指令の曲線経路の終点における接線方向を示す接線方向ベクトルおよび曲線経路の始点における接線方向を示す接線方向ベクトルの両方が含まれていない場合、すなわち、接線方向ベクトルが対応付けられていない指令位置が存在する場合、曲線経路生成部１４は、当該指令位置における接線方向ベクトルを、当該指令位置とともに１つの曲線経路を構成する指令位置に基づいて算出し、算出した接線方向ベクトルを使用して曲線経路を生成する。曲線経路を構成する指令位置に基づいて接線方向ベクトルを算出して曲線経路を生成する方法としては、例えば、特許第１９３００８５号公報または特開平２−３６４０６号公報で開示されている方法を用いることができる。
【００３１】
曲線経路生成部１４は、曲線経路の生成が終了すると、生成した曲線経路を曲線経路補間部１５に渡す。
【００３２】
数値制御装置１０は、次に、曲線経路を補間する（ステップＳ１０４）。すなわち、数値制御装置１０において、曲線経路補間部１５が、曲線経路生成部１４から受け取った曲線経路上に、単位時間である補間周期あたりの工具の移動量を求めて補間した補間点を生成する。ステップＳ１０４で補間処理を行った後の曲線経路が工具経路となる。曲線経路補間部１５は、補間点の生成が終了すると、補間点をモータ駆動部１６に渡す。
【００３３】
以上のような手順で動作することにより、実施の形態１にかかる数値制御装置１０は工具経路を生成する。
【００３４】
つづいて、数値制御装置１０の動作の具体例、すなわち図２に示したステップＳ１０１〜Ｓ１０４を実行して工具経路を生成する動作の第１の具体例について、図３および図４を用いて説明する。図３は、数値制御装置１０に入力される加工プログラムの第１の具体例を示す図、図４は、数値制御装置１０が曲線経路を生成する動作の第１の具体例を示す図である。
【００３５】
図２に示したステップＳ１０１において、数値制御装置１０の加工プログラム入力部１１は、図３に示す加工プログラム１００を取得し、これを加工プログラム記憶部１２が記憶する。図３に示す加工プログラム１００は、Ｇコードのフォーマットで記述されており、数値制御工作機械に一つの動作を指令するブロックと呼ばれる一行単位の集まりで構成されている。ブロックは、一つの動作に対する命令を含むワードと呼ばれる単位の集まりで構成される。ワードはアドレスと呼ばれるアルファベットと数値で構成される。加工プログラム１００では、各ブロックは、シーケンス番号１０１および移動指令１０２を含む複数のワードから構成されている。シーケンス番号１０１は、アドレス「Ｎ」およびこれに続く数値で構成される。シーケンス番号はブロックの指標である。移動指令１０２は、アドレス「Ｇ」およびこれに続く数値と、アドレス「Ｘ」およびこれに続く数値と、アドレス「Ｙ」およびこれに続く数値とで構成される。アドレス「Ｇ」および数字「０１」は、直線補間による軸の移動の指令を意味し、アドレス「Ｘ」および「Ｙ」とこれらに続く数値は、軸が移動する指令位置の座標を意味する。例えば、図３に示したシーケンス番号Ｎ０１の移動指令「Ｇ０１  Ｘ０．０  Ｙ２０．０」は、座標「Ｘ０．０  Ｙ２０．０」の指令位置への直線補間による軸の移動を意味する指令である。また、曲線キャンセル情報１０３は、アドレス「Ｌ」とこれに続く数値「０」により、同ブロックに指令された指令位置において曲線経路の生成をキャンセルすることを示す。例えば、図３に示したシーケンス番号Ｎ０３のブロックは、移動指令「Ｇ０１  Ｘ３０．０  Ｙ２０．０」および曲線キャンセル情報「Ｌ０」を含んで構成されている。そのため、シーケンス番号Ｎ０３のブロックは、移動指令に従って軸を座標「Ｘ３０．０  Ｙ２０．０」の指令位置まで移動させた後、この指令位置において曲線経路の生成をキャンセルすることを意味する。なお、図３に示した加工プログラム１００では、説明の便宜上、指令位置の座標を２次元、すなわち座標アドレスを「Ｘ」および「Ｙ」のみとしているが、実際の数値制御工作機械の数値制御装置に入力される加工プログラムでは、指令位置が３次元の座標アドレス「Ｘ」、「Ｙ」および「Ｚ」とこれらに続く数値とにより座標が示される。
【００３６】
図２に示したステップＳ１０２において、数値制御装置１０の加工プログラム解析部１３は、加工プログラム１００を解析し、図４（ａ）に示す各ブロックの移動指令によって指令される指令位置ＣＬ１〜ＣＬ１０を求める。ここで、指令位置ＣＬ１はシーケンス番号Ｎ０１のブロックの移動指令による指令位置を示す。ＣＬ２〜ＣＬ１０も同様である。
【００３７】
また、加工プログラム解析部１３は、曲線キャンセル情報が指令される指令位置ＣＬ３およびＣＬ８を求める。曲線キャンセル情報が記述されたシーケンス番号「Ｎ０３」のブロックおよびシーケンス番号「Ｎ０８」のブロックの指令位置は、それぞれ図４（ａ）に示した指令位置ＣＬ３およびＣＬ８に対応する。
【００３８】
図２に示したステップＳ１０３において、数値制御装置１０の曲線経路生成部１４は、指令位置ＣＬ１〜ＣＬ１０と、指令位置ＣＬ３およびＣＬ８に指令された曲線キャンセル情報とに基づいて、曲線経路を生成する。
【００３９】
図４（ｂ）に、工具経路の先頭となる指令位置ＣＬ１から順に指令位置を通過する曲線経路を生成する様子を示す。曲線経路生成部１４は、まず、指令位置ＣＬ１、ＣＬ２およびＣＬ３を通過する曲線経路を生成する。このとき、ＣＬ３において曲線キャンセル情報が指令されているため、曲線経路生成部１４は、ＣＬ３を曲線経路の終点として曲線経路の生成を中断する。図４に示した例では、指令位置ＣＬ１、ＣＬ２およびＣＬ３は一直線上に位置するため直線経路となり、曲線経路＃１が生成される。曲線経路生成部１４は、次に、指令位置ＣＬ３を始点として曲線経路の生成を再開し、ＣＬ３、ＣＬ４、ＣＬ５、ＣＬ６、ＣＬ７およびＣＬ８を通過する曲線経路を生成する。このとき、ＣＬ８において曲線キャンセル情報が指令されているため、曲線経路生成部１４は、ＣＬ８を終点として曲線経路の生成を中断する。この結果、曲線経路＃２が生成される。曲線経路生成部１４は、次に、指令位置ＣＬ８を始点として曲線経路の生成を再開し、ＣＬ８、ＣＬ９およびＣＬ１０を通過する曲線経路を生成する。この結果、曲線経路＃３が生成される。
【００４０】
図２に示したステップＳ１０４において、数値制御装置１０の曲線経路補間部１５は、曲線経路生成部１４が生成した曲線経路＃１〜＃３に従って、それぞれ補間周期あたりの工具の移動量を求めて補間した補間点を生成し、モータ駆動部１６に渡す。例えば、隣り合った指令位置の間を工具が移動する場合の所要時間が補間周期のＮ倍の場合、曲線経路補間部１５は、指令位置の間にＮ−１個の補間点を生成する。
【００４１】
つづいて、数値制御装置１０の動作の第２の具体例について、図５および図６を用いて説明する。図５は、数値制御装置１０に入力される加工プログラムの第２の具体例を示す図、図６は、数値制御装置１０が、曲線経路を生成する動作の第２の具体例を示す図である。
【００４２】
図２に示したステップＳ１０１において、数値制御装置１０の加工プログラム入力部１１は、図５に示す加工プログラム２００を取得し、これを加工プログラム記憶部１２が記憶する。加工プログラム２００のうち、シーケンス番号および移動指令は図３に示した加工プログラム１００と同じため説明を省略する。開始接線方向ベクトル２０１は、アドレス「ＶＡ」、「ＶＢ」および「ＶＣ」とこれに続く数値により構成されている。開始接線方向ベクトル２０１は、同ブロックの移動指令の指令位置に向かう曲線経路の始点、つまり直前のブロックの移動指令の指令位置における接線方向を表すベクトルの情報である。例えば、図５に示したシーケンス番号Ｎ０２のブロックに含まれている開始接線方向ベクトル２０１は、シーケンス番号Ｎ０１のブロックが指令する指令位置すなわち、座標「Ｘ０．０  Ｙ２０．０」の指令位置における接線方向を表すベクトルの情報である。開始接線方向ベクトル２０１のアドレス「ＶＡ」、「ＶＢ」および「ＶＣ」は、それぞれベクトルのＸ、ＹおよびＺ成分を示す。また、終了接線方向ベクトル２０２は、アドレス「ＶＤ」、「ＶＥ」および「ＶＦ」とそれに続く数値により、同ブロックの移動指令の指令位置に向かう曲線経路の終点における接線方向を表すベクトルの情報である。例えば、図５に示したシーケンス番号Ｎ０５のブロックに含まれている終了接線方向ベクトル２０２は、同じブロックすなわちシーケンス番号Ｎ０５のブロックが指令する指令位置である座標「Ｘ５３．５  Ｙ１５．５」の指令位置における接線方向を表すベクトルの情報である。終了接線方向ベクトル２０２のアドレス「ＶＤ」、「ＶＥ」および「ＶＦ」は、それぞれベクトルのＸ、ＹおよびＺ成分を示す。
【００４３】
図２に示したステップＳ１０２において、数値制御装置１０の加工プログラム解析部１３は、加工プログラム２００を解析し、図６（ａ）に示す各ブロックの移動指令によって指令される指令位置ＣＬ１〜ＣＬ１０を求める。ここで、指令位置ＣＬ１はシーケンス番号Ｎ０１のブロックの移動指令による指令位置を示す。ＣＬ２〜ＣＬ１０も同様である。
【００４４】
また、加工プログラム解析部１３は、図６（ａ）に示すように、各ブロックの移動指令の指令位置ＣＬ１〜ＣＬ１０における開始接線方向ベクトルＳＶ２、ＳＶ４およびＳＶ９と、終了接線方向ベクトルＥＶ２〜ＥＶ１０とを求める。
【００４５】
図２に示したステップＳ１０３において、数値制御装置１０の曲線経路生成部１４は、指令位置ＣＬ１〜ＣＬ１０と、開始接線方向ベクトルＳＶ２、ＳＶ４およびＳＶ９と、終了接線方向ベクトルＥＶ２〜ＥＶ１０とに基づいて、曲線経路を生成する。
【００４６】
図６（ｂ）に、工具経路の先頭となる指令位置ＣＬ１から順に指令位置を通過する曲線経路を生成する様子を示す。曲線経路生成部１４は、まず、指令位置ＣＬ１、ＣＬ２およびＣＬ３を通過する曲線経路を生成する。このとき、指令位置ＣＬ１からＣＬ２に向かう曲線経路では、曲線経路の始点であるＣＬ１において開始接線方向ベクトルＳＶ２で指令された接線方向となり、かつ、曲線経路の終点であるＣＬ２において終了接線方向ベクトルＥＶ２で指令された接線方向となるように、曲線経路を生成する。次の指令位置ＣＬ２からＣＬ３に向かう曲線経路では、曲線経路の始点であるＣＬ２において開始接線方向ベクトルは指令されないため、ＣＬ２における終了接線方向ベクトルＥＶ２で指令された接線方向となり、かつ、曲線経路の終点であるＣＬ３において終了接線方向ベクトルＥＶ３で指令された接線方向となるように、曲線経路を生成する。次の指令位置ＣＬ３からＣＬ４に向かう曲線経路では、曲線経路の始点である指令位置ＣＬ３において開始接線方向ベクトルＳＶ４が指令されるため、指令位置ＣＬ３で曲線経路の生成を一旦中断する。この結果、曲線経路＃４が生成される。以下、同様の手順で曲線経路＃５および曲線経路＃６を生成する。このように、図５に示した加工プログラム２００による曲線経路の生成では、開始接線方向ベクトル２０１を含んだブロック内の座標が指令する指令位置において曲線経路の生成を一旦中断し、この指令位置を始点とする次の曲線経路の生成に移行する。
【００４７】
図２に示したステップＳ１０４において、数値制御装置１０の曲線経路補間部１５は、曲線経路生成部１４が生成した曲線経路＃４〜＃６に従って、それぞれ補間周期あたりの工具の移動量を求めて補間した補間点を生成し、モータ駆動部１６に渡す。
【００４８】
以上のように、本実施の形態にかかる数値制御装置１０においては、工具または加工対象物の移動を指令する移動指令と、工具経路上の特定の指令位置における経路の形状の特徴を表す形状特徴情報とが記述された加工プログラムが入力されると、移動指令および形状特徴情報に基づいて、工具経路を構成する各曲線経路を生成することとした。
【００４９】
本実施の形態にかかる数値制御装置１０によれば、移動指令の指令位置を通過する際の曲線経路の形状特徴情報に基づいて曲線経路を生成することが可能となり、復元した曲線経路と復元されるべき理想的な経路の形状との一致度を高めることができ、加工結果の加工精度および加工品位が向上する。
【００５０】
また、本実施の形態にかかる数値制御装置１０によれば、形状特徴情報として曲線キャンセル情報を指令するため、曲線キャンセル情報に従って曲線経路の生成をキャンセルすることが可能となり、復元した曲線経路を復元されるべき理想的な経路に近づけることができる。この結果、加工結果の加工精度および加工品位が向上する。
【００５１】
また、本実施の形態にかかる数値制御装置１０によれば、形状特徴情報として開始接線方向ベクトルおよび終了接線方向ベクトルを指令するため、開始接線方向ベクトルおよび終了接線方向ベクトルに従って曲線経路を生成することが可能となる。すなわち、数値制御装置１０は、曲線経路が指令位置を通過する際の接線方向を、開始接線方向ベクトルおよび終了接線方向ベクトルの方向と一致するように曲線経路を生成するため、復元した曲線経路を復元されるべき理想的な経路に近づけることが可能となり、加工結果の加工精度および加工品位を向上させることができる。
【００５２】
また、本実施の形態にかかる数値制御装置１０によれば、移動指令と一緒に移動指令の始点における接線方向ベクトルが指令されない場合、直前の移動指令の終点における接線方向ベクトルを当該移動指令の始点における接線方向ベクトルとする。そのため、加工プログラムのうち特定の移動指令の終点における接線方向ベクトルと直後の移動指令の始点における接線方向ベクトルが一致する場合には、移動指令の終点における接線方向ベクトルのみを指令すればよい。したがって、加工プログラムの容量を少なくできるとともに、作業者が加工プログラムを作成する際の作業量および作業時間を削減することができ、作業能率を向上させることができる。
【００５３】
また、本実施の形態にかかる数値制御装置１０によれば、移動指令と一緒に接線方向ベクトルが指令されない場合に当該移動指令が指令する指令位置における接線方向ベクトルを、当該指令位置とともに曲線経路を構成する指令位置に基づいて算出するため、作業者は、加工プログラムのうち加工結果の加工精度や加工品位を向上させたい部分について接線方向ベクトルを指令すればよい。そのため、加工プログラムの容量を少なくできるとともに、作業者が加工プログラムを作成する際の作業量および作業時間を削減することができ、作業能率を向上させることができる。
【００５４】
実施の形態２．
図７は、実施の形態２にかかる数値制御装置の構成例を示す図である。図７では、実施の形態１で説明した数値制御装置１０と共通の構成要素に同じ符号を付している。本実施の形態では、数値制御装置１０と共通の構成要素についての説明は省略する。
【００５５】
実施の形態２にかかる数値制御装置１０ａは、実施の形態１にかかる数値制御装置１０の加工プログラム解析部１３および曲線経路生成部１４が加工プログラム解析部１３ａおよび曲線経路生成部１４ａにそれぞれ置き換えられ、さらに、工具データ入力部２１、工具データ記憶部２２、形状データ入力部２３、形状データ記憶部２４および形状特徴情報算出部２５が追加された構成である。また、形状特徴情報算出部２５は、切削点算出部２５１、切削点記憶部２５２、曲線経路区間算出部２５３、曲線経路区間記憶部２５４、接線方向ベクトル算出部２５５および接線方向ベクトル記憶部２５６を備える。
【００５６】
上述したように、実施の形態１にかかる数値制御装置１０では、形状特徴情報が含まれている加工プログラムを処理対象とし、加工プログラムに含まれている移動指令および形状特徴情報に基づいて曲線経路を復元して工具経路を生成した。これに対して、本実施の形態にかかる数値制御装置１０ａでは、後述する工具データおよび形状データを用いて形状特徴情報を算出する。
【００５７】
加工プログラム解析部１３ａは、加工プログラムを解析して加工プログラム中に記述された移動指令により指令された指令位置を求める。
【００５８】
工具データ入力部２１は、外部から入力される、加工対象物を加工するための工具を定義する情報である工具データを受け取る。工具データは、工具の種別を表現する情報、工具径、工具刃先半径および工具長といった工具の形状を表現する情報である。数値制御装置１０ａは、工具データに基づいて工具モデルを生成ことが可能である。すなわち、工具データは、数値制御装置１０ａが工具モデルを生成するために必要な各種情報を含んで構成される。工具データ記憶部２２は、工具データ入力部２１に入力された工具データを記憶する。
【００５９】
形状データ入力部は、外部から入力される形状データを受け取る。入力される形状データは、加工対象物の加工形状モデルを定義するデータ、すなわち加工形状モデルの形状を表すデータである。加工形状モデルは、工具により加工すべき曲面である加工曲面および干渉を回避すべき曲面である干渉曲面を有する。また、加工形状モデルとは、加工プログラムに従って工作機械が加工対象物を加工することにより得られる結果である加工物の理想的な形状である。工作機械は加工形状モデルと加工物との誤差が少なくなるように加工対象物を加工する。
【００６０】
形状データ記憶部２４は、形状データ入力部２３に入力された形状データを受け取り、受け取った形状データを記憶する。
【００６１】
形状特徴情報算出部２５は、加工プログラムに記述された移動指令が指令する指令位置、工具データおよび形状データに基づいて形状特徴情報を算出する。
【００６２】
切削点算出部２５１は、加工プログラムが指令する指令位置、工具データおよび形状データに基づいて、加工対象物上の切削点を算出する。切削点記憶部２５２は、切削点算出部２５１で算出された切削点を記憶する。
【００６３】
曲線経路区間算出部２５３は、形状データおよび切削点記憶部２５２で記憶されている切削点に基づいて、曲線経路区間を算出する。曲線経路区間記憶部２５４は、曲線経路区間算出部２５３で算出された曲線経路区間を記憶する。
【００６４】
接線方向ベクトル算出部２５５は、形状データ、切削点記憶部２５２で記憶されている切削点および曲線経路区間記憶部２５４で記憶されている曲線経路区間に基づいて、各切削点における接線方向ベクトルを算出する。
【００６５】
曲線経路生成部１４ａは、加工プログラム中に記述された移動指令により指令された指令位置と、曲線経路区間記憶部２５４で記憶されている曲線経路区間と、接線方向ベクトル記憶部２５６で記憶されている接線方向ベクトルとに基づいて曲線経路を生成する。
【００６６】
図７に示した実施の形態２にかかる数値制御装置１０ａが工具経路を生成する動作について説明する。上述した実施の形態１と同様に、まず、数値制御装置１０ａが工具経路を生成する手順について説明し、その後、工具経路を生成する動作の具体例について説明する。
【００６７】
図８は、実施の形態２にかかる数値制御装置１０ａの動作例を示すフローチャートである。図８のフローチャートは、数値制御装置１０ａが工具経路を生成する動作の手順を示している。
【００６８】
数値制御装置１０ａが工具経路を生成する動作においては、まず、加工プログラム、工具データおよび形状データが数値制御装置１０ａに入力される（ステップＳ２０１）。すなわち、数値制御装置１０ａにおいて、加工プログラム入力部１１が加工プログラムを外部から読み込み、工具データ入力部２１が工具データを外部から読み込み、形状データ入力部２３が形状データを外部から読み込む。数値制御装置１は、加工プログラム入力部１１を介して入力された加工プログラムを加工プログラム記憶部１２で記憶し、工具データ入力部２１を介して入力された工具データを工具データ記憶部２２で記憶し、形状データ入力部２３を介して入力された形状データを形状データ記憶部２４で記憶する。
【００６９】
ステップＳ２０１として実行する加工プログラムの入力は、ＣＡＤ／ＣＡＭシステムにより出力された、例えばＧコードのフォーマットで記述されたファイルを読込むことにより実現される。または、作業者がキーボードなどの入力機器を操作することにより必要な情報を入力して加工プログラムを作成することにより実現される。また、ステップＳ２０１として実行する工具データの入力は、作業者がキーボードなどの入力機器を使用して工具データを入力することにより実現される。または、ＣＡＤデータが外部から入力され、工具データ入力部２１がＣＡＤデータを変換するなどして工具データを生成することにより実現される。また、ステップＳ２０１として実行する形状データの入力は、作業者がキーボードなどの入力機器を操作することにより形状データを入力することにより実現される。または、ＣＡＤデータが外部から入力され、形状データ入力部２３がＣＡＤデータを変換するなどして形状データを生成することにより実現される。
【００７０】
数値制御装置１０ａは、次に、ステップＳ２０１で入力された加工プログラムを解析する（ステップＳ２０２）。このステップＳ２０２では、加工プログラム解析部１３ａが、加工プログラム記憶部１２から加工プログラムを読み出し、読み出した加工プログラム中に記述された移動指令の指令位置を求める。加工プログラム解析部１３ａは、求めた指令位置を切削点算出部２５１に渡す。
【００７１】
数値制御装置１０ａは、次に、ステップＳ２０２で求めた指令位置、工具データ記憶部２２で記憶している工具データおよび形状データ記憶部２４で記憶している形状データに基づいて切削点を算出する（ステップＳ２０３）。切削点の算出は切削点算出部２５１が行う。
【００７２】
ステップＳ２０３において、切削点算出部２５１は、まず、加工プログラム解析部１３ａから指令位置を受け取り、工具データ記憶部２２から工具データを読み出すとともに、形状データ記憶部２４から形状データを読み出す。切削点算出部２５１は、次に、工具データに基づいて工具形状の工具モデルを作成し、形状データに基づいて、加工対象物である加工形状の加工形状モデルを作成する。加工形状モデルは複数の加工曲面から構成される。次に、切削点算出部２５１は、各指令位置に工具モデルを配置した際の、加工形状モデルの加工曲面上における仮想的な加工点である切削点を求める。ここで、指令位置は工具が加工対象物を加工するときの工具の加工対象物に対する相対的な位置であり、指令位置に工具モデルを配置すると、理想的には各指令位置において工具モデルと加工形状モデルの加工曲面が接する。ただし、誤差などによって工具モデルと加工形状モデルの加工曲面が接しない場合もある。このような場合も加味して、切削点算出部２５１は、図９から図１７に示す方法で切削点を算出する。切削点算出部２５１が切削点を算出する方法について、図９から図１７を参照しながら説明する。なお、切削点は、通常は指令位置の各々に対して１つずつ算出されるが、指令位置が特定の条件を満たしている場合、特定の条件を満たしている指令位置に対して複数算出される。
【００７３】
図９から図１１は、工具情報がボールエンドミル工具の形状を表す場合の指令位置、工具モデルおよび加工形状モデルの加工曲面の関係例を示す図である。図９は、指令位置に配置した工具モデルが加工形状モデルの加工曲面と離反した状態にある様子を示している。このような工具モデルと加工曲面とが離反した状態の場合、切削点算出部２５１は、工具モデルと加工曲面の間の距離が最短となる加工曲面上の一点を切削点として算出する。図１０は、指令位置に配置した工具モデルが加工形状モデルの加工曲面と接触した状態にある様子を示している。このような工具モデルと加工曲面とが接触した状態の場合、切削点算出部２５１は、工具モデルと加工曲面とが接触している一点を切削点として算出する。図１１は、指令位置に配置した工具モデルが加工曲面と干渉する状態にある様子を示している。このような工具モデルと加工曲面とが干渉する状態の場合、切削点算出部２５１は、工具モデルと加工曲面とが接触する状態となるまで工具モデルを内側へオフセットさせ、両者が接触する状態となった時点で工具モデルと加工曲面とが接触している一点を切削点として算出する。
【００７４】
図１２から図１４は、工具情報がラジアスエンドミル工具の形状を表す場合の指令位置、工具モデルおよび加工形状モデルの加工曲面の関係例を示す図である。図１２は、指令位置に配置した工具モデルが加工形状モデルの加工曲面と離反した状態にある様子を示している。このような工具モデルと加工曲面とが離反した状態の場合、切削点算出部２５１は、工具モデルと加工曲面の間の距離が最短となる加工曲面上の一点を切削点として算出する。図１３は、指令位置に配置した工具モデルが加工形状モデルの加工曲面と接触した状態にある様子を示している。このような工具モデルと加工曲面とが接触した状態の場合、切削点算出部２５１は、工具モデルと加工曲面とが接触している一点を切削点として算出する。図１４は、指令位置に配置した工具モデルが加工曲面と干渉する状態にある様子を示している。このような工具モデルと加工曲面とが干渉する状態の場合、切削点算出部２５１は、工具モデルと加工曲面とが接触する状態となるまで工具モデルを内側へオフセットさせ、両者が接触する状態となった時点で工具モデルと加工曲面とが接触している一点を切削点として算出する。
【００７５】
図１５から図１７は、工具情報がフラットエンドミル工具の形状を表す場合の指令位置、工具モデルおよび加工形状モデルの加工曲面の関係例を示す図である。図１５は、指令位置に配置した工具モデルが加工形状モデルの加工曲面と離反した状態にある様子を示している。このような工具モデルと加工曲面とが離反した状態の場合、切削点算出部２５１は、工具モデルと加工曲面の間の距離が最短となる加工曲面上の一点を切削点として算出する。図１６は、指令位置に配置した工具モデルが加工形状モデルの加工曲面と接触した状態にある様子を示している。このような工具モデルと加工曲面とが接触した状態の場合、切削点算出部２５１は、工具モデルと加工曲面とが接触している一点を切削点として算出する。図１７は、指令位置に配置した工具モデルが加工曲面と干渉する状態にある様子を示している。このような工具モデルと加工曲面とが干渉する状態の場合、切削点算出部２５１は、工具モデルと加工曲面とが接触する状態となるまで工具モデルを内側へオフセットさせ、両者が接触する状態となった時点で工具モデルと加工曲面とが接触している一点を切削点として算出する。
【００７６】
なお、加工プログラム中に工具の移動指令だけでなく、回転軸の回転指令などにより工具軸方向が指令された場合であっても、指令位置において指令された工具軸方向へ工具モデルを傾けて、同様の方法を用いて切削点を求めることが可能である。
【００７７】
また、指令位置に工具モデルを配置した時に工具モデルが同時に複数の加工曲面に近接する場合、切削点算出部２５１は、それぞれの加工曲面に対して切削点を算出する。
【００７８】
また、算出した切削点が複数の加工曲面同士の接続位置上であった場合、切削点算出部２５１は、切削点がそれぞれの加工曲面上に存在しているものとして扱う。
【００７９】
なお、実用的には、切削点算出部２５１は、指令位置に工具モデルを配置した際の工具モデルと各加工曲面との間の最近接距離が予め与えられたある閾値以下となる場合に切削点を算出すればよい。
【００８０】
切削点算出部２５１は、上記のようにして求めた切削点を、切削点が算出された指令位置および切削点が存在する加工曲面と対応付けて、切削点記憶部２５２に格納する。すなわち、切削点記憶部２５２は、切削点算出部２５１で算出された各切削点を、いずれの指令位置に工具モデルを配置した際に得られた切削点かを示す情報、および、切削点がいずれの加工曲面上に存在するかを示す情報と併せて記憶する。以下、切削点と併せて記憶する、いずれの指令位置に工具モデルを配置した際に得られた切削点かを示す情報と、切削点がいずれの加工曲面上に存在するかを示す情報とをまとめて、属性情報と称する場合がある。
【００８１】
数値制御装置１０ａは、次に、切削点記憶部２５２で記憶している切削点および属性情報と、形状データ記憶部２４で記憶している形状データとに基づいて、曲線経路区間を算出する（ステップＳ２０４）。曲線経路区間の算出は曲線経路区間算出部２５３が行う。
【００８２】
ステップＳ２０４において、曲線経路区間算出部２５３は、まず、切削点記憶部２５２から切削点および属性情報を読み出すとともに、形状データ記憶部２４から形状データを読み出し、形状データに基づいて加工形状モデルを生成する。曲線経路区間算出部２５３は、次に、先頭の指令位置から順番に、１つの曲線経路上にある指令位置をグループ化して曲線経路区間を求める。このとき、曲線経路区間算出部２５３は、各指令位置に対応する切削点を確認し、切削点が特定の条件を満たしている場合、当該指令位置を曲線経路区間の末尾とする。切削点が特定の条件を満たしているか否かは属性情報から判断する。曲線経路区間算出部２５３は、例えば、以下の（１）〜（４）のいずれかに該当する場合、切削点が特定の条件を満たしていると判断し、指令位置を曲線経路区間の末尾とする。
【００８３】
（１）指令位置における切削点が加工曲面の接続位置である場合、すなわち、切削点の属性情報が、切削点が複数の加工曲面同士の接続位置上であることを示している、または、指令位置における切削点が複数の加工曲面上に存在する場合、切削点が特定の条件を満たしているとする。
（２）指令位置において工具が接触する加工曲面が切替わる場合、すなわち、ある指令位置における切削点が存在する加工曲面と、直後の指令位置における切削点が存在する加工曲面とが異なる場合、切削点が特定の条件を満たしているとする。
（３）指令位置における切削点が曲率不連続な位置である場合、すなわち、加工形状モデルの加工曲面の切削点における連続性を評価し、曲率連続ではない場合、切削点が特定の条件を満たしているとする。
（４）指令位置における切削点が接線不連続な位置である場合、すなわち、加工形状モデルの加工曲面の切削点における連続性を評価し、接線連続ではない場合、切削点が特定の条件を満たしているとする。
【００８４】
曲線経路区間算出部２５３は、上記の（１）〜（４）とは異なる条件を使用して指令位置を曲線経路区間の末尾とするか否かを判別してもよい。
【００８５】
曲線経路区間算出部２５３は、曲線経路区間が一つ得られた場合、得られた曲線経路区間の末尾とした指令位置を次の曲線経路区間の先頭として、指令位置および指令位置における切削点を順次同様に確認し、新たな曲線経路区間を算出する。曲線経路区間算出部２５３は、全ての指令位置における切削点の確認が終わるまで同様の処理を行い、曲線経路区間を算出する。曲線経路区間算出部２５３は、算出した曲線経路区間を曲線経路区間記憶部２５４に格納する。
【００８６】
数値制御装置１０ａは、次に、切削点記憶部２５２で記憶している切削点および属性情報と、曲線経路区間記憶部２５４で記憶している曲線経路区間と、形状データ記憶部２４で記憶している形状データとに基づいて、接線方向ベクトルを算出する（ステップＳ２０５）。接線方向ベクトルの算出は接線方向ベクトル算出部２５５が行う。
【００８７】
ステップＳ２０５において、接線方向ベクトル算出部２５５は、まず、切削点記憶部２５２から切削点および属性情報を読み出すとともに曲線経路区間記憶部２５４から曲線経路区間を読み出し、さらに、形状データ記憶部２４から形状データを読み出す。接線方向ベクトル算出部２５５は、次に、形状データに基づいて加工形状モデルを生成し、各々の曲線経路区間に対して、各指令位置を通過する際の曲線経路の接線方向ベクトルを算出する。
【００８８】
曲線経路の接線方向ベクトルの算出では、接線方向ベクトル算出部２５５は、まず、一つの曲線経路区間を取り出し、当該曲線経路区間に含まれる指令位置および指令位置に対応する切削点を取り出す。接線方向ベクトル算出部２５５は、次に、加工形状モデルの加工曲面の切削点における法線方向ベクトルを算出する。法線方向ベクトルの算出方法としては、例えば、パラメータで表現されたパラメトリック曲面である加工曲面において、加工曲面上の切削点における各パラメータの方向を示すベクトルの外積を算出することにより法線方向ベクトルを得る方法がある。接線方向ベクトル算出部２５５は、次に、算出した法線方向ベクトルと垂直になるように、各々の切削点に対応する指令位置における曲線経路の接線方向ベクトルを求める。求めた接線方向ベクトルは加工形状モデルの加工曲面の切削点において加工曲面と平行である。
【００８９】
１つの指令位置に対応する切削点が複数存在する場合、接線方向ベクトル算出部２５５は、当該指令位置の直前の指令位置に対応する切削点を有する加工曲面と同一の加工曲面上にある切削点を選択する。または、接線方向ベクトル算出部２５５は、当該指令位置の直後の指令位置に対応する切削点を有する加工曲面と同一の加工曲面上にある切削点を選択する。そして、接線方向ベクトル算出部２５５は、選択した切削点における法線方向ベクトルを用いて接線方向ベクトルを算出する。すなわち、接線方向ベクトル算出部２５５は、取り出した曲線経路区間と対応する加工曲面上にある切削点における法線方向ベクトルを用いて接線方向ベクトルを算出する。
【００９０】
接線方向ベクトルの算出方法としては、例えば、各指令位置を通過する曲線経路を仮曲線経路として予め生成しておき、仮曲線経路の指令位置における接線方向ベクトルである仮接線方向ベクトルが法線方向ベクトルと垂直になるように、仮接線方向ベクトルを補正することにより、最終的な接線方向ベクトルを求める方法がある。また、接線方向ベクトルを求める対象の指令位置の前後の指令位置を用いて、直前の指令位置から直後の指令位置への方向となる仮接線方向ベクトルを予め求めておき、仮接線方向ベクトルが法線方向ベクトルと垂直になるように、仮接線方向ベクトルを補正し、最終的な接線方向ベクトルを求める方法がある。
【００９１】
接線方向ベクトル算出部２５５は、１つの曲線経路区間に含まれる各指令位置における接線方向ベクトルの算出が終了すると、次の曲線経路区間を取り出して同様の処理を行い、各指令位置における接線方向ベクトルを算出する。接線方向ベクトル算出部２５５は、同様の処理を繰り返し、曲線経路区間記憶部２５４が記憶している全ての曲線経路区間について、各指令位置における接線方向ベクトルを算出する。接線方向ベクトル算出部２５５は、算出した各接線方向ベクトルを、対応する指令位置の情報とともに接線方向ベクトル記憶部２５６に格納する。
【００９２】
数値制御装置１０ａは、次に、加工プログラムを解析して求めた指令位置と、曲線経路区間記憶部２５４で記憶している曲線経路区間と、接線方向ベクトル記憶部２５６で記憶している接線方向ベクトルとに基づいて、曲線経路を生成する（ステップＳ２０６）。曲線経路の生成は曲線経路生成部１４ａが行う。
【００９３】
ステップＳ２０６において、曲線経路生成部１４ａは、まず、加工プログラム解析部１３ａから指令位置を受け取り、曲線経路区間記憶部２５４から曲線経路区間を読み出すとともに、接線方向ベクトル記憶部２５６から接線方向ベクトルを読み出す。
【００９４】
曲線経路生成部１４ａは、次に、曲線経路区間に基づいて、曲線キャンセル情報を指令する指令位置を決定する。曲線経路生成部１４ａは、各々の曲線経路区間の末尾の指令位置を、曲線キャンセル情報を指令する指令位置に決定する。
【００９５】
曲線経路生成部１４ａは、次に、接線方向ベクトルに基づいて、各々の指令位置における開始接線方向ベクトルおよび終了接線方向ベクトルを決定する。開始接線方向ベクトルおよび終了接線方向ベクトルは、実施の形態１で説明した開始接線方向ベクトルおよび終了接線方向ベクトルである。曲線経路生成部１４ａは、曲線経路区間の先頭の指令位置に対応する接線方向ベクトルを当該指令位置における開始接線方向ベクトルに決定し、曲線経路区間の先頭の指令位置に該当しない指令位置に対応する接線方向ベクトルを当該指令位置における終了接線方向ベクトルに決定する。
【００９６】
曲線経路生成部１４ａは、次に、指令位置、曲線キャンセル情報、開始接線方向ベクトルおよび終了接線方向ベクトルに従って曲線経路を生成する。曲線経路生成部１４ａは、実施の形態１の曲線経路生成部１４が曲線経路を生成する手順と同様の手順で曲線経路を生成する。
【００９７】
数値制御装置１０ａは、次に、曲線経路を補間する（ステップＳ２０７）。このステップＳ２０７の処理は実施の形態１で説明したステップＳ１０４と同様の処理であるため、説明を省略する。
【００９８】
以上のような手順で動作することにより、実施の形態１にかかる数値制御装置１０ａは工具経路を生成する。
【００９９】
つづいて、数値制御装置１０ａの動作の具体例、すなわち図８に示したステップＳ２０１〜Ｓ２０７を実行して工具経路を生成する動作の具体例について、図１８〜図２７を用いて説明する。図１８および図１９は、数値制御装置１０ａに入力される加工プログラムおよび指令位置の具体例を示す図、図２０および図２１は、加工形状モデルの具体例を示す図、図２２は、工具モデルの具体例を示す図、図２３は、切削点の算出方法を説明するための図、図２４は、曲線経路区間を説明するための図、図２５は、接線方向ベクトルの算出手順を説明するための図、図２６は、接線方向ベクトルの具体例を示す図、図２７は、開始接線方向ベクトルおよび終了接線方向ベクトルの具体例を示す図である。
【０１００】
図８に示したステップＳ２０１において、数値制御装置１０ａの加工プログラム入力部１１は、図１８に示す加工プログラム３００を取得し、これを加工プログラム記憶部１２が記憶する。なお、図１８に示した加工プログラム３００では、指令位置の座標を２次元、すなわち座標アドレスを「Ｘ」および「Ｚ」のみとしているが、実際の数値制御工作機械の数値制御装置に入力される加工プログラムでは、指令位置が３次元の座標アドレス「Ｘ」、「Ｙ」および「Ｚ」とこれらに続く数値とにより座標が示される。
【０１０１】
また、図８に示したステップＳ２０１において、数値制御装置１０ａの工具データ入力部２１は、図２２に示す工具モデルＴ１０を生成するための工具データを取得し、これを工具データ記憶部２２が記憶する。
【０１０２】
また、図８に示したステップＳ２０１において、数値制御装置１０ａの形状データ入力部２３は、図２０に示す加工形状モデルＭ１を生成するための形状データを取得し、これを形状データ記憶部２４が記憶する。加工形状モデルＭ１は、ＣＡＤ／ＣＡＭシステムにより生成される。数値制御装置１０ａに入力される形状データは所定のフォーマットのＣＡＤデータである。また、加工形状モデルＭ１は、加工曲面Ｓ０〜Ｓ３を有し、図２１加工形状モデルＭ１の断面図に示すように、加工曲面Ｓ０とＳ１は接続位置ｅ０において、加工曲面Ｓ１とＳ２は接続位置ｅ１において、加工曲面Ｓ２とＳ３は接続位置ｅ２において、それぞれ接続されている。また接続位置ｅ０およびｅ２においては各々の加工曲面が接線連続に接続されており、接続位置ｅ１においては加工曲面が位置連続に接続されている。
【０１０３】
図８に示したステップＳ２０２において、数値制御装置１０ａの加工プログラム解析部１３ａは、加工プログラム３００を解析し、図１９に示す各ブロックの移動指令によって指令される指令位置ＣＬ１１〜ＣＬ２５を求める。ここで、指令位置ＣＬ１１はシーケンス番号Ｎ１１のブロックの移動指令による指令位置を示す。ＣＬ１２〜ＣＬ２５も同様である。加工プログラム解析部１３ａは、求めた指令位置を切削点算出部２５１および曲線経路生成部１４ａに渡す。
【０１０４】
図８に示したステップＳ２０３において、数値制御装置１０ａの切削点算出部２５１は、まず、工具データに基づいて工具モデルＴ１０を生成し、次に、形状データに基づいて加工形状モデルＭ１を生成する。切削点算出部２５１は、次に、指令位置ＣＬ１１〜ＣＬ２５の各々に工具モデルＴ１０を配置した場合の、加工形状モデルＭ１における切削点を算出する。
【０１０５】
図２３（ａ）は、工具モデルＴ１０を指令位置ＣＬ１１に配置した場合の工具モデルＴ１０および加工形状モデルＭ１の断面図である。図２３（ａ）では指令位置ＣＬ１２〜ＣＬ２５を併せて表示している。
【０１０６】
切削点算出部２５１が、指令位置ＣＬ１１〜ＣＬ２５の各々について、一つまたは二つの切削点を算出する様子を図２３（ｂ）に示す。切削点算出部２５１は、まず、指令位置ＣＬ１１に工具モデルＴ１０を配置したときの切削点として、加工曲面Ｓ０上の点であるＣＰ１１０を算出する。切削点算出部２５１は、次に、指令位置ＣＬ１２に工具モデルＴ１０を配置したときの切削点として、加工曲面Ｓ０とＳ１の接続位置ｅ０上の点である切削点ＣＰ１２０を算出する。このとき、切削点算出部２５１は、切削点ＣＰ１２０に対し、加工曲面の接続位置上であるとの属性情報を付加する。切削点算出部２５１は、次に、指令位置ＣＬ１３に工具モデルＴ１０を配置したときの切削点として、加工曲面Ｓ１上の点である切削点ＣＰ１３０を算出する。以下、切削点算出部２５１は、指令位置ＣＬ１４〜ＣＬ２１を対象として、同様の手順で切削点ＣＰ１４０〜ＣＰ２１０を算出する。切削点算出部２５１は、指令位置ＣＬ２２に工具モデルＴ１０を配置した場合、加工曲面Ｓ１および加工曲面Ｓ２の二つの加工曲面に近接するため、指令位置ＣＬ２２に対応する切削点として、加工曲面Ｓ１上の点である切削点ＣＰ２２０および加工曲面Ｓ２上の点である切削点ＣＰ２２１を算出する。また、切削点算出部２５１は、指令位置ＣＬ２３に対応する切削点として切削点ＣＰ２３０を算出し、指令位置ＣＬ２４に対応する切削点として切削点ＣＰ２４０を算出し、指令位置ＣＬ２５に対応する切削点として切削点ＣＰ２５０を算出する。切削点算出部２５１は、算出した切削点および属性情報を切削点記憶部２５２に渡し、切削点記憶部２５２がこれを記憶する。
【０１０７】
図８に示したステップＳ２０４において、数値制御装置１０ａの曲線経路区間算出部２５３は、切削点記憶部２５２で記憶されている切削点および属性情報に基づいて、指令位置ＣＬ１１〜ＣＬ２５に対応する曲線経路区間を算出する。
【０１０８】
図２４は、曲線経路区間算出部２５３が算出する曲線経路区間と指令位置ＣＬ１１〜ＣＬ２５との対応関係を示す図である。曲線経路区間算出部２５３は、切削点または指令位置が以下のいずれかの条件を満たしている場合、条件を満たしている切削点に対応する指令位置、または、条件を満たしている指令位置が曲線経路区間の末尾に該当すると判断して曲線経路を算出する。
【０１０９】
（条件１）切削点の属性情報が複数の加工曲面同士の接続位置上であることを示している。
（条件２）１つの指令位置に対して複数の切削点が存在する、すなわち、１つの指令位置が複数の加工曲面に対して切削点を有している。
【０１１０】
上記の（条件１）および（条件２）を用いて曲線経路区間算出部２５３が図２４に示した曲線経路区間ＣＲ０〜ＣＲ３を算出する動作を以下に示す。
【０１１１】
曲線経路区間算出部２５３は、まず、最初の曲線経路区間の先頭を指令位置ＣＬ１１とし、次に、これに続く指令位置ＣＬ１２を確認する。ここで、曲線経路区間算出部２５３が行う指令位置ＣＬ１２の確認は、指令位置ＣＬ１２に対応する切削点および切削点の属性情報を確認することである。他の指令位置の確認も同様である。曲線経路区間算出部２５３は、指令位置ＣＬ１２に対応する切削点は切削点ＣＰ１２０であり、ＣＰ１２０は接続位置ｅ０上であることから上記の（条件１）を満たしている。そのため、曲線経路区間算出部２５３は、指令位置ＣＬ１２が曲線経路区間の末尾に該当すると判断する。この結果、指令位置ＣＬ１１およびＣＬ１２で構成される曲線経路区間ＣＲ０が得られる。曲線経路区間算出部２５３は、次に、曲線経路区間ＣＲ０の末尾である指令位置ＣＬ１２を次の曲線経路区間の先頭とし、これに続く指令位置ＣＬ１３を確認する。曲線経路区間算出部２５３は、指令位置ＣＬ１３が上記（条件２）を満たしておらず、かつ指令位置ＣＬ１３に対応する切削点ＣＰ１３０が上記（条件１）を満たしていないため、指令位置ＣＬ１３が曲線経路区間の末尾には該当しないと判断する。曲線経路区間算出部２５３は、同様の手順で指令位置ＣＬ１４〜ＣＬ２１を確認し、これらの指令位置が曲線経路区間の末尾には該当しないと判断する。曲線経路区間算出部２５３は、次に、指令位置ＣＬ２２を確認する。指令位置ＣＬ２２に対応する切削点が切削点ＣＰ２２０およびＣＰ２２１であり、複数の切削点を有することから、指令位置ＣＬ２２は上記（条件２）を満たしている。そのため、曲線経路区間算出部２５３は、指令位置ＣＬ２２が曲線経路区間の末尾に該当すると判断する。この結果、指令位置ＣＰ１３〜ＣＰ２２で構成される曲線経路区間ＣＲ１が得られる。曲線経路区間算出部２５３は、以下、同様の手順で残りの指令位置ＣＬ２３からＣＬ２５を確認し、曲線経路区間ＣＲ２およびＣＲ３を算出する。曲線経路区間算出部２５３は、算出した曲線経路区間ＣＲ０〜ＣＲ３を曲線経路区間記憶部２５４に渡し、曲線経路区間記憶部２５４がこれを記憶する。
【０１１２】
図８に示したステップＳ２０５において、数値制御装置１０ａの接線方向ベクトル算出部２５５は、切削点記憶部２５２で記憶されている切削点および属性情報と、曲線経路区間記憶部２５４で記憶されている曲線経路区間と、形状データ記憶部２４で記憶されている形状データとに基づいて、指令位置ＣＬ１１〜ＣＬ２５における接線方向ベクトルを算出する。
【０１１３】
接線方向ベクトルを算出する処理において、接線方向ベクトル算出部２５５は、まず、形状データに基づいて加工形状モデルＭ１を生成し、次に、図２５（ａ）に示した法線方向ベクトル、すなわち、図２４に示した曲線経路区間ＣＲ１に含まれる指令位置ＣＬ１２〜ＣＬ２２（図２３参照）について、対応する切削点ＣＰ１２０〜ＣＰ２２１における法線方向ベクトルＮＶ１２０〜ＮＶ２２１を算出する。接線方向ベクトル算出部２５５は、切削点ＣＰ１２０〜ＣＰ２２１において加工曲面を評価することにより、各切削点における法線方向ベクトルを算出する。
【０１１４】
接線方向ベクトル算出部２５５は、次に、指令位置ＣＬ１２〜ＣＬ２２を通過する仮曲線経路、具体的には、図２５（ｂ）に示した仮曲線経路ＰＣＶ１を生成する。このとき、接線方向ベクトル算出部２５５は、仮曲線経路ＰＣＶ１が指令位置を通過するときの接線方向ベクトルを仮接線方向ベクトルＰＶ１２１〜ＰＶ２２０として求める。
【０１１５】
接線方向ベクトル算出部２５５は、次に、求めた仮接線方向ベクトルＰＶ１２１〜ＰＶ２２０を補正することにより、図２５（ｃ）に示した最終的な接線方向ベクトルＴＶ１２１〜ＴＶ２２０を求める。図２５（ｃ）は、各指令位置ＣＬ１２〜ＣＬ２２における仮接線方向ベクトルＰＶ１２１〜ＰＶ２２０を、各指令位置に対応する切削点における法線方向ベクトルＮＶ１２０〜ＮＶ２２１に対して垂直になるように補正する場合の例を示している。
【０１１６】
接線方向ベクトル算出部２５５は、仮接線方向ベクトルＰＶ１２１〜ＰＶ２２０を補正する場合、まず、仮曲線経路ＰＣＶ１が指令位置ＣＬ１２を通過するときの仮接線方向ベクトルＰＶ１２１について、指令位置ＣＬ１２と対応する切削点ＣＰ１２０の法線方向ベクトルＮＶ１２０と垂直になるように補正し、最終的な接線方向ベクトルＴＶ１２１を求める。接線方向ベクトル算出部２５５は、以下、指令位置ＣＬ１３〜ＣＬ２１について、同様に、接線方向ベクトルＴＶ１３０〜ＴＶ２１０を求める。また、接線方向ベクトル算出部２５５は、指令位置ＣＬ２２において、指令位置ＣＬ２２と対応する切削点として切削点ＣＰ２２０およびＣＰ２２１の２つが存在するため、算出に用いる切削点を選択する。ここで、接線方向ベクトル算出部２５５は、指令位置ＣＬ２２の直前の指令位置ＣＬ２１と対応する切削点ＣＰ２１０が加工曲面Ｓ１上に存在するため、同じ加工曲面Ｓ１上に存在する切削点ＣＰ２２０を選択する。そして、接線方向ベクトル算出部２５５は、仮接線方向ベクトルＰＶ２２０を、選択した切削点ＣＰ２２０の法線方向ベクトルＮＶ２２０と垂直になるように補正し、最終的な接線方向ベクトルＴＶ２２０を求める。
【０１１７】
接線方向ベクトル算出部２５５は、以上の手順により、曲線経路区間ＣＲ１に含まれる指令位置ＣＬ１２〜ＣＬ２２における接線方向ベクトルＴＶ１２１〜ＴＶ２２０を算出する。接線方向ベクトル算出部２５５は、他の曲線経路区間ＣＲ０、ＣＲ２およびＣＲ３についても、指令位置における接線方向ベクトルを同様の手順で算出する。図２６は、曲線経路区間ＣＲ０、ＣＲ２およびＣＲ３のそれぞれにおける法線方向ベクトルおよび接線方向ベクトルの一例を示す図である。図２６（ａ）は、指令位置ＣＬ１１〜ＣＬ１２における切削点の法線方向ベクトルＮＶ１１０〜ＮＶ１２０と、法線方向ベクトルＮＶ１１０〜ＮＶ１２０を用いて算出された接線方向ベクトルＴＶ１１０〜ＴＶ１２０とを示している。図２６（ｂ）は、指令位置ＣＬ２２〜ＣＬ２４における切削点の法線方向ベクトルＮＶ２２１〜ＮＶ２４０と、法線方向ベクトルＮＶ２２１〜ＮＶ２４０を用いて算出された接線方向ベクトルＴＶ２２１〜ＴＶ２４０とを示している。図２６（ｃ）は、指令位置ＣＬ２４〜ＣＬ２５における切削点の法線方向ベクトルＮＶ２４０〜ＮＶ２５０と、法線方向ベクトルＮＶ２４０〜ＮＶ２５０を用いて算出された接線方向ベクトルＴＶ２４０〜ＴＶ２５０とを示している。
【０１１８】
接線方向ベクトル算出部２２５は、算出した各指令位置における接線方向ベクトルＴＶ１１０〜ＴＶ２５０を接線方向ベクトル記憶部２５６に渡し、接線方向ベクトル記憶部２５６がこれを記憶する。
【０１１９】
図８に示したステップＳ２０６において、数値制御装置１０ａの曲線経路生成部１４ａは、加工プログラム解析部１３ａから出力される指令位置と、曲線経路区間記憶部２５４で記憶されている曲線経路区間と、接線方向ベクトル記憶部２５６で記憶されている接線方向ベクトルとに基づいて、曲線経路を生成する。
【０１２０】
曲線経路を生成する処理において、曲線経路生成部１４ａは、まず、曲線経路区間記憶部２５４から読み出した曲線経路区間ＣＲ０〜ＣＲ３に基づいて、曲線キャンセル情報を指令する指令位置を決定する。具体的には、曲線経路生成部１４ａは、各々の曲線経路区間の末尾である指令位置ＣＬ１２、ＣＬ２２、ＣＬ２４およびＣＬ２５を、曲線キャンセル情報を指令する指令位置に決定する。
【０１２１】
曲線経路生成部１４ａは、次に、曲線経路区間記憶部２５４から読み出した曲線経路区間のうち、各々の曲線経路区間に含まれる指令位置における開始接線方向ベクトルおよび終了接線方向ベクトルを求める。曲線経路生成部１４ａは、まず、曲線経路区間ＣＲ０の指令位置ＣＬ１１およびＣＬ１２における開始接線方向ベクトルおよび終了接線方向ベクトルを求める。具体的には、曲線経路生成部１４ａは、指令位置ＣＬ１１が曲線経路区間ＣＲ０の先頭であるため、接線方向ベクトルＴＶ１１０を指令位置ＣＬ１１における開始接線方向ベクトルＳＶ１２に決定する。また、曲線経路生成部１４ａは、指令位置ＣＬ１２における接線方向ベクトルＴＶ１２０を、指令位置ＣＬ１２における終了接線方向ベクトルＥＶ１２に決定する。曲線経路生成部１４ａは、次に、曲線経路区間ＣＲ１の指令位置ＣＬ１２〜ＣＬ２２における開始接線方向ベクトルおよび終了接線方向ベクトルを求める。具体的には、曲線経路生成部１４ａは、指令位置ＣＬ１２が曲線経路区間ＣＲ１の先頭であるため、接線方向ベクトルＴＶ１２１を指令位置ＣＬ１２における開始接線方向ベクトルＳＶ１３に決定し、指令位置ＣＬ１３における接線方向ベクトルＴＶ１３０を、指令位置ＣＬ１３における終了接線方向ベクトルＥＶ１３に決定する。曲線経路生成部１４ａは、以下、同様に、指令位置ＣＬ１４〜ＣＬ２２における開始接線方向ベクトルおよび終了接線方向ベクトルを求める。曲線経路生成部１４ａは、曲線経路区間ＣＲ２およびＣＲ３についても同様に、各指令位置における開始接線方向ベクトルおよび終了接線方向ベクトルを求める。以上の手順で曲線経路生成部１４ａが求めた開始接線方向ベクトルおよび終了接線方向ベクトルを図２７（ａ）に示す。
【０１２２】
なお、図２７において、終了接線方向ベクトルおよび開始接線方向ベクトルの双方が対応付けられている指令位置が、曲線キャンセル情報を指令する指令位置に該当する。これは、曲線キャンセル情報を指令する指令位置は、ある曲線経路区間の末尾に該当し、かつ次の曲線経路区間の先頭にも該当するためである。例えば、指令位置ＣＬ１２（図２３（ａ）参照）は、図２４に示したように、曲線経路区間ＣＲ０の末尾であり、かつ曲線経路区間ＣＲ１の先頭でもあるため、この指令位置ＣＬ１２には、終了接線方向ベクトルＥＶ１２および開始接線方向ベクトルＳＶ１３の双方が対応付けられている。曲線キャンセル情報、終了接線方向ベクトルおよび開始接線方向ベクトルは、実施の形態２にかかる形状特徴情報である。
【０１２３】
曲線経路生成部１４ａは、次に、加工プログラム解析部１３ａから出力された指令位置ＣＬ１１〜ＣＬ２５と、曲線キャンセル情報を指令する指令位置として求めた指令位置ＣＬ１２、ＣＬ２２、ＣＬ２４およびＣＬ２５と、曲線経路区間ＣＲ０〜ＣＲ３について求めた開始接線方向ベクトルＳＶ１２，ＳＶ１３，ＳＶ２３，ＳＶ２５および終了接線方向ベクトルＥＶ１２〜ＥＶ２５と、に基づいて、曲線経路を生成する。曲線経路生成部１４ａは、図２７（ｂ）に示した曲線経路＃７〜＃１０を生成する。
【０１２４】
図８に示したステップＳ２０７において、数値制御装置１０ａの曲線経路補間部１５は、曲線経路生成部１４ａが生成した曲線経路＃７〜＃１０に従って、それぞれ補間周期あたりの工具の移動量を求めて補間した補間点を生成し、モータ駆動部１６に渡す。
【０１２５】
以上のように、本実施の形態にかかる数値制御装置１０ａは、加工プログラムに含まれる移動指令が指令する指令位置と、加工で使用する工具の種別および形状などを示す情報を付含んだ工具データと、加工対象物の加工形状モデルを定義する形状データとに基づいて、各移動指令に対応する形状特徴情報を算出し、指令位置および算出した形状特徴情報に基づいて、工具経路を構成する各曲線経路を生成することとした。形状特徴情報は、上述した曲線キャンセル情報、開始接線方向ベクトルおよび終了接線方向ベクトルである。
【０１２６】
本実施の形態にかかる数値制御装置１０ａによれば、加工プログラムに形状特徴情報が含まれていない場合でも、形状特徴情報に基づいて補間曲線を生成することが可能となり、実施の形態１にかかる数値制御装置１０と同様に、復元した曲線経路と復元されるべき理想的な経路の形状との一致度を高めることができ、加工結果の加工精度および加工品位を向上させることができる。また、作業者が加工プログラムを作成する際の作業量および作業時間を削減することができ、作業能率を向上させることができる。
【０１２７】
実施の形態３．
実施の形態２では、数値制御装置が、加工プログラムに含まれる移動指令、工具データおよび形状データに基づいて、形状特徴情報を算出し、算出した形状特徴情報を考慮して曲線経路を生成することとした。これに対して、本実施の形態では、形状特徴情報を考慮して加工プログラムを変換し、形状特徴情報を考慮して曲線経路を生成する機能を有さない数値制御装置でも実施の形態２と同様の曲線経路を生成可能な加工プログラムを生成するプログラム変換装置を説明する。
【０１２８】
図２８は、実施の形態３にかかるプログラム変換装置の構成例を示す図である。実施の形態３にかかるプログラム変換装置３０は、加工プログラム入力部１１、加工プログラム記憶部１２、加工プログラム解析部１３ａ、工具データ入力部２１、工具データ記憶部２２、形状データ入力部２３、形状データ記憶部２４、形状特徴情報算出部２５、加工プログラム変換部３１、変換後加工プログラム記憶部３２および変換後加工プログラム出力部３３を備える。
【０１２９】
プログラム変換装置３０の構成要素のうち、加工プログラム入力部１１、加工プログラム記憶部１２、加工プログラム解析部１３ａ、工具データ入力部２１、工具データ記憶部２２、形状データ入力部２３、形状データ記憶部２４および形状特徴情報算出部２５は、実施の形態２にかかる数値制御装置１０ａの加工プログラム入力部１１、加工プログラム記憶部１２、加工プログラム解析部１３ａ、工具データ入力部２１、工具データ記憶部２２、形状データ入力部２３、形状データ記憶部２４および形状特徴情報算出部２５と同じものである。そのため、これらの各構成要素については説明を省略する。
【０１３０】
加工プログラム変換部３１は、形状特徴情報算出部２５で算出された形状特徴情報に基づいて加工プログラムを変換する。具体的には、加工プログラム変換部３１は、加工プログラム解析部１３ａから出力される指令位置と、曲線経路区間記憶部２５４で記憶されている曲線経路区間と、接線方向ベクトル記憶部２５６で記憶されている接線方向ベクトルとに基づいて、加工プログラム記憶部１２で記憶されている加工プログラムを変換する。
【０１３１】
変換後加工プログラム記憶部３２は、加工プログラム変換部３１で変換された後の加工プログラムである変換後加工プログラムを記憶する。
【０１３２】
変換後加工プログラム出力部３３は、変換後加工プログラム記憶部３２で記憶されている変換後加工プログラムを読み出して外部へ出力する。
【０１３３】
図２９は、実施の形態３にかかるプログラム変換装置３０の動作例を示すフローチャートである。図２９のフローチャートは、プログラム変換装置３０が加工プログラムを変換して変換後加工プログラムを外部へ出力する動作の手順を示している。
【０１３４】
プログラム変換装置３０が加工プログラムを変換して変換後加工プログラムを外部へ出力する動作においては、まず、プログラム変換装置３０に加工プログラム、工具データおよび形状データを入力する（ステップＳ３０１）。このステップＳ３０１は、実施の形態２で説明した数値制御装置１０ａが実行するステップＳ２０１と同様の処理であるため、説明を省略する。
【０１３５】
プログラム変換装置３０は、次に、ステップＳ３０１で入力された加工プログラムを解析する（ステップＳ３０２）。このステップＳ３０２は、実施の形態２で説明した数値制御装置１０ａが実行するステップＳ２０２と同様の処理であるため、説明を省略する。
【０１３６】
プログラム変換装置３０は、次に、ステップＳ３０２で求めた指令位置、工具データ記憶部２２で記憶している工具データおよび形状データ記憶部２４で記憶している形状データに基づいて切削点を算出する（ステップＳ３０３）。このステップＳ３０３は、実施の形態２で説明した数値制御装置１０ａが実行するステップＳ２０３と同様の処理であるため、説明を省略する。
【０１３７】
プログラム変換装置３０は、次に、切削点記憶部２５２で記憶している切削点および属性情報と、形状データ記憶部２４で記憶している形状データとに基づいて、曲線経路区間を算出する（ステップＳ３０４）。このステップＳ３０４は、実施の形態２で説明した数値制御装置１０ａが実行するステップＳ２０４と同様の処理であるため、説明を省略する。
【０１３８】
プログラム変換装置３０は、次に、切削点記憶部２５２で記憶している切削点および属性情報と、曲線経路区間記憶部２５４で記憶している曲線経路区間と、形状データ記憶部２４で記憶している形状データとに基づいて、接線方向ベクトルを算出する（ステップＳ３０５）。このステップＳ３０５は、実施の形態２で説明した数値制御装置１０ａが実行するステップＳ２０５と同様の処理であるため、説明を省略する。
【０１３９】
プログラム変換装置３０は、次に、加工プログラム解析部１３ａから出力される指令位置と、曲線経路区間記憶部２５４で記憶されている曲線経路区間と、接線方向ベクトル記憶部２５６で記憶されている接線方向ベクトルとに基づき、加工プログラム記憶部１２で記憶されている加工プログラムを変換して変換後加工プログラムを生成し、外部へ出力する（ステップＳ３０６）。このステップＳ３０６では、加工プログラム変換部３１が変換後加工プログラムを生成し、変換後加工プログラム出力部３３がこれを出力する。
【０１４０】
ステップＳ３０６において、加工プログラム変換部３１は、まず、加工プログラム解析部１３ａから指令位置を受け取り、曲線経路区間記憶部２５４から曲線経路区間を読み出すとともに、接線方向ベクトル記憶部２５６から接線方向ベクトルを読み出す。
【０１４１】
加工プログラム変換部３１は、次に、曲線経路区間に基づいて、曲線キャンセル情報を指令する指令位置を決定する。加工プログラム変換部３１は、各々の曲線経路区間の末尾の指令位置を、曲線キャンセル情報を指令する指令位置に決定する。
【０１４２】
加工プログラム変換部３１は、次に、接線方向ベクトルに基づいて、各々の指令位置における開始接線方向ベクトルおよび終了接線方向ベクトルを決定する。開始接線方向ベクトルおよび終了接線方向ベクトルは、実施の形態１で説明した開始接線方向ベクトルおよび終了接線方向ベクトルである。加工プログラム変換部３１は、曲線経路区間の先頭の指令位置に対応する接線方向ベクトルを当該指令位置における開始接線方向ベクトルに決定し、曲線経路区間の先頭の指令位置に該当しない指令位置に対応する接線方向ベクトルを当該指令位置における終了接線方向ベクトルに決定する。
【０１４３】
加工プログラム変換部３１は、次に、加工プログラム記憶部１２から加工プログラムを読み出し、読み出した加工プログラムを、曲線キャンセル情報を指令する指令位置と、各々の指令位置における開始接線方向ベクトルおよび終了接線方向ベクトルとに基づいて変換する。具体的には、加工プログラム変換部３１は、加工プログラムのブロックのうち、曲線キャンセル情報を指令する指令位置に対応するブロックに対して曲線キャンセル情報を付加し、さらに、各々の指令位置に対応するブロックに対して開始接線方向ベクトルおよび終了接線方向ベクトルの一方または双方を付加することにより、変換後加工プログラムを生成する。なお、加工プログラム変換部３１は、開始接線方向ベクトルが求められていない指令位置に対応するブロックについては、開始接線方向ベクトルを付加しなくてもよいし、当該指令位置における終了接線方向ベクトルを開始接線方向ベクトルとして付加してもよい。
【０１４４】
加工プログラム変換部３１で生成された変換後加工プログラムは変換後加工プログラム記憶部３２に格納される。変換後加工プログラム出力部３３は、変換後加工プログラム記憶部３２から変換後加工プログラムを読み出して外部へ出力する。変換後加工プログラムの外部への出力は、加工プログラム入力部１１に入力された加工プログラムと同じ形式で行ってもよいし、他の形式で行ってもよい。なお、加工プログラム入力部１１には、テキスト形式またはバイナリ形式といった形式の加工プログラムが入力される。
【０１４５】
つづいて、プログラム変換装置３０が、入力された加工プログラムを変換して変換後加工プログラムとして出力する動作の具体例を説明する。ここでは、図１２〜図２２および図２７〜図３０を用いて説明する。図３０は、プログラム変換装置３０が生成する変換後加工プログラムの具体例を示す図である。
【０１４６】
図２９に示したステップＳ３０１において、プログラム変換装置３０の加工プログラム入力部１１は、図１８に示す加工プログラム３００を取得し、これを加工プログラム記憶部１２が記憶する。
【０１４７】
また、図２９に示したステップＳ３０１において、プログラム変換装置３０の工具データ入力部２１は、図２２に示す工具モデルＴ１０を生成するための工具データを取得し、これを工具データ記憶部２２が記憶する。
【０１４８】
また、図２９に示したステップＳ３０１において、プログラム変換装置３０の形状データ入力部２３は、図２０に示す加工形状モデルＭ１を生成するための形状データを取得し、これを形状データ記憶部２４が記憶する。加工形状モデルＭ１は、ＣＡＤ／ＣＡＭシステムにより生成される。プログラム変換装置３０に入力される形状データは所定のフォーマットのＣＡＤデータである。また、加工形状モデルＭ１は、加工曲面Ｓ０〜Ｓ３を有し、図２１の断面図に示すように、加工曲面Ｓ０とＳ１は接続位置ｅ０において、加工曲面Ｓ１とＳ２は接続位置ｅ１において、加工曲面Ｓ２とＳ３は接続位置ｅ２において、それぞれ接続されている。また接続位置ｅ０およびｅ２においては各々の加工曲面が接線連続に接続されており、接続位置ｅ１においては加工曲面が位置連続に接続されている。このステップＳ３０１の処理は、実施の形態２で説明した数値制御装置１０ａが実行するステップＳ２０１と同様の処理である。
【０１４９】
図２９に示したステップＳ３０２〜Ｓ３０５においては、プログラム変換装置３０が、実施の形態２で説明した数値制御装置１０ａが実行するステップＳ２０２〜Ｓ２０５と同様の処理を実行する。
【０１５０】
図２９に示したステップＳ３０６において、プログラム変換装置３０の加工プログラム変換部３１は、まず、加工プログラム解析部１３ａから指令位置ＣＬ１１〜ＣＬ２５を受け取り（図２３（ａ）参照）、さらに、曲線経路区間記憶部２５４から曲線経路区間ＣＲ０〜ＣＲ３を読み出すとともに（図２４参照）、接線方向ベクトル記憶部２５６から接線方向ベクトルＴＶ１２１〜ＴＶ２２０を読み出す（図２５（ｃ）参照）。
【０１５１】
加工プログラム変換部３１は、次に、曲線経路区間ＣＲ０〜ＣＲ３に基づいて、曲線キャンセル情報を指令する指令位置を決定する。具体的には、加工プログラム変換部３１は、各々の曲線経路区間の末尾である指令位置ＣＬ１２、ＣＬ２２、ＣＬ２４およびＣＬ２５を、曲線キャンセル情報を指令する指令位置に決定する。
【０１５２】
加工プログラム変換部３１は、次に、曲線経路区間記憶部２５４から読み出した曲線経路区間のうち、各々の曲線経路区間に含まれる指令位置における開始接線方向ベクトルおよび終了接線方向ベクトルを求める。加工プログラム変換部３１は、まず、曲線経路区間ＣＲ０の指令位置ＣＬ１１およびＣＬ１２における開始接線方向ベクトルおよび終了接線方向ベクトルを求める。具体的には、加工プログラム変換部３１は、指令位置ＣＬ１１が曲線経路区間ＣＲ０の先頭であるため、接線方向ベクトルＴＶ１１０を指令位置ＣＬ１１における開始接線方向ベクトルＳＶ１２に決定する。また、加工プログラム変換部３１は、指令位置ＣＬ１２における接線方向ベクトルＴＶ１２０を、指令位置ＣＬ１２における終了接線方向ベクトルＥＶ１２に決定する。加工プログラム変換部３１は、次に、曲線経路区間ＣＲ１の指令位置ＣＬ１２〜ＣＬ２２における開始接線方向ベクトルおよび終了接線方向ベクトルを求める。具体的には、加工プログラム変換部３１は、指令位置ＣＬ１２が曲線経路区間ＣＲ１の先頭であるため、接線方向ベクトルＴＶ１２１を指令位置ＣＬ１２における開始接線方向ベクトルＳＶ１３に決定し、指令位置ＣＬ１３における接線方向ベクトルＴＶ１３０を、指令位置ＣＬ１３における終了接線方向ベクトルＥＶ１３に決定する。加工プログラム変換部３１は、以下、同様に、指令位置ＣＬ１４〜ＣＬ２２における開始接線方向ベクトルおよび終了接線方向ベクトルを求める。加工プログラム変換部３１は、曲線経路区間ＣＲ２およびＣＲ３についても同様に、各指令位置における開始接線方向ベクトルおよび終了接線方向ベクトルを求める。以上の手順で加工プログラム変換部３１が求めた開始接線方向ベクトルおよび終了接線方向ベクトルは図２７（ａ）に示したものとなる。
【０１５３】
加工プログラム変換部３１は、次に、上記の処理で決定した、曲線キャンセル情報を指令する指令位置と、各指令位置における開始接線方向ベクトルおよび終了接線方向ベクトルとに基づいて、加工プログラム３００を変換し、図３０に示した変換後加工プログラム４００を生成する。すなわち、加工プログラム変換部３１は、加工プログラム３００を構成している各ブロックのうち、曲線キャンセル情報を指令する指令位置に対応するブロックに対して曲線キャンセル情報を付加し、さらに、各ブロックに対して、対応する指令位置における開始接線方向ベクトルおよび終了接線方向ベクトルを付加する。図３０に示したように、加工プログラム変換部３１は、変換前の加工プログラム３００の各ブロックの移動指令が指令する指令位置が、曲線キャンセル情報が指令される指令位置であった場合には、アドレス「Ｌ」に数値「０」を加えた「Ｌ０」という指令４０３を、曲線キャンセル情報として付加する。加工プログラム変換部３１は、また、各ブロックの移動指令が指令する指令位置に対応する開始接線方向ベクトルが存在する場合、ベクトルのＸ、ＹおよびＺ成分をそれぞれアドレス「ＶＡ」、「ＶＢ」および「ＶＣ」とし、これらに成分値を加えた構成の指令４０１を、開始接線方向ベクトルとして付加する。加工プログラム変換部３１は、また、各ブロックの移動指令が指令する指令位置に対応する終了接線方向ベクトルが存在する場合、ベクトルのＸ、ＹおよびＺ成分をそれぞれアドレス「ＶＤ」、「ＶＥ」および「ＶＦ」とし、これらに成分値を加えた構成の指令４０２を、終了接線方向ベクトルとして付加する。
【０１５４】
加工プログラム変換部３１は、変換後加工プログラム４００の生成が終了すると、変換後加工プログラム４００を変換後加工プログラム記憶部３２に格納し、これを変換後加工プログラム出力部３３が読み出して外部へ出力する。
【０１５５】
以上のように、本実施の形態にかかるプログラム変換装置３０は、加工プログラムに含まれる移動指令が指令する指令位置と、加工で使用する工具の種別および形状などを示す情報を付含んだ工具データと、加工対象物の加工形状モデルを定義する形状データとに基づいて、各移動指令に対応する形状特徴情報を算出し、形状特徴情報に基づいて加工プログラムを変換することとした。
【０１５６】
本実施の形態にかかるプログラム変換装置３０によれば、形状特徴情報が含まれていない加工プログラムを、形状特徴情報を含んだ加工プログラムに変換することができる。また、作業者が加工プログラムを作成する際の作業量および作業時間を削減することができ、作業能率を向上させることができる。
【０１５７】
また、本実施の形態にかかるプログラム変換装置３０によれば、各移動指令の指令位置を工具が通過する際の加工形状上の切削点を求め、切削点が加工形状モデルの加工曲面の境界上に存在するか、または加工形状モデルの２つ以上の加工曲面に同時に接する場合に、移動指令と一緒に曲線キャンセル情報を指令するように加工プログラムを変換する。そのため、加工プログラムに曲線キャンセル情報が含まれていない場合であっても自動的に曲線キャンセル情報を含んだ加工プログラムを得ることが可能となる。よって、作業者が加工プログラムを作成する際の作業量および作業時間を削減することができ、作業能率を向上させることができる。さらに、加工曲面の境界および加工曲面によって角部が形成される位置を工具が通過する際に生成される補間曲線がキャンセルされるため、加工結果の加工精度を向上させることができる。
【０１５８】
また、本実施の形態にかかるプログラム変換装置３０によれば、各移動指令の指令位置を工具が通過する際の加工形状上の切削点を求め、切削点が加工形状の曲率不連続な位置に存在する場合に、移動指令と一緒に曲線キャンセル情報を指令するように加工プログラムを変換する。そのため、加工プログラムに曲線キャンセル情報が含まれていない場合であっても自動的に曲線キャンセル情報を含んだ加工プログラムを得ることが可能となる。よって、作業者が加工プログラムを作成する際の作業量および作業時間を削減することができ、作業能率を向上させることができる。さらに、加工曲面の境界および加工曲面によって角部が形成される位置を工具が通過する際に生成される補間曲線がキャンセルされるため、加工結果の加工精度を向上させることができる。
【０１５９】
また、本実施の形態にかかるプログラム変換装置３０によれば、各移動指令の指令位置を工具が通過する際の加工形状上の切削点を求め、切削点における加工形状の加工曲面の接線方向ベクトルを算出し、移動指令と一緒に算出した接線方向ベクトルを指令するように加工プログラムを変換する。そのため、加工プログラムに接線方向ベクトルが含まれていない場合でも自動的に接線方向ベクトルを含んだ加工プログラムを得ることが可能となる。よって、作業者が加工プログラムを作成する際の作業量および作業時間を削減することができ、作業能率を向上させることができる。さらに、加工曲面の境界および加工曲面によって角部が形成される位置を工具が通過する際に生成される補間曲線がキャンセルされるため、加工結果の加工精度を向上させることができる。
【０１６０】
図３１は、本発明の各実施の形態にかかる数値制御装置およびプログラム変換装置のハードウェア構成を示す図である。図３１に示したハードウェアは、演算処理を行うプロセッサ５１と、プロセッサ５１がワークエリアに用いるメモリ５２と、数値制御装置またはプログラム変換装置として動作するためのプログラムを記憶する記憶装置５３と、ユーザとの間の入力インタフェースである入力装置５４と、ユーザに情報を表示する表示装置５５と、被制御機器または他の数値制御装置、その他の各種装置との通信機能を有する通信装置５６と、を備える。プロセッサ５１、メモリ５２、記憶装置５３、入力装置５４、表示装置５５および通信装置５６はデータバス５０で接続されている。ここで、プロセッサ５１は、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、ＣＰＵ（Central  Processing  Unit）、またはＤＳＰ（Digital  Signal  Processor）などであってもよい。また、メモリ５２は、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリ、ＥＰＲＯＭ（Erasable  Programmable  ＲＯＭ）、またはＥＥＰＲＯＭ（Electrically  ＥＰＲＯＭ）などの、不揮発性または揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、またはＤＶＤ（Digital  Versatile  Disc）などが該当する。
【０１６１】
各実施の形態で説明した数値制御装置およびプログラム変換装置は、プロセッサ５１が、数値制御装置またはプログラム変換装置として動作するためのプログラムを記憶装置５３から読み出して実行することにより実現することができる。
【０１６２】
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
【符号の説明】
【０１６３】
１０，１０ａ  数値制御装置、１１  加工プログラム入力部、１２  加工プログラム記憶部、１３，１３ａ  加工プログラム解析部、１４，１４ａ  曲線経路生成部、１５  曲線経路補間部、１６  モータ駆動部、２１  工具データ入力部、２２  工具データ記憶部、２３  形状データ入力部、２４  形状データ記憶部、２５  形状特徴情報算出部、３０  プログラム変換装置、３１  加工プログラム変換部、３２  変換後加工プログラム記憶部、３３  変換後加工プログラム出力部、１３１  工具経路解析部、１３２  形状特徴情報解析部、２５１  切削点算出部、２５２  切削点記憶部、２５３  曲線経路区間算出部、２５４  曲線経路区間記憶部、２５５  接線方向ベクトル算出部、２５６  接線方向ベクトル記憶部。
【図１】
2018122988.tif 000003
【図２】
2018122988.tif 000004
【図３】
2018122988.tif 000005
【図４】
2018122988.tif 000006
【図５】
2018122988.tif 000007
【図６】
2018122988.tif 000008
【図７】
2018122988.tif 000009
【図８】
2018122988.tif 000010
【図９】
2018122988.tif 000011
【図１０】
2018122988.tif 000012
【図１１】
2018122988.tif 000013
【図１２】
2018122988.tif 000014
【図１３】
2018122988.tif 000015
【図１４】
2018122988.tif 000016
【図１５】
2018122988.tif 000017
【図１６】
2018122988.tif 000018
【図１７】
2018122988.tif 000019
【図１８】
2018122988.tif 000020
【図１９】
2018122988.tif 000021
【図２０】
2018122988.tif 000022
【図２１】
2018122988.tif 000023
【図２２】
2018122988.tif 000024
【図２３】
2018122988.tif 000025
【図２４】
2018122988.tif 000026
【図２５】
2018122988.tif 000027
【図２６】
2018122988.tif 000028
【図２７】
2018122988.tif 000029
【図２８】
2018122988.tif 000030
【図２９】
2018122988.tif 000031
【図３０】
2018122988.tif 000032
【図３１】
2018122988.tif 000033
【手続補正書】
【提出日】平成29年7月20日(2017.7.20)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
工具に対する移動指令または加工対象物に対する移動指令が記述された加工プログラムを入力する加工プログラム入力部と、
前記移動指令、および前記移動指令により指令された指令位置を通過する工具経路の形状の特徴を表した形状特徴情報に基づいて曲線経路を生成する曲線経路生成部と、
を備え、
前記形状特徴情報は、前記指令位置における接線方向ベクトルであり、
前記曲線経路生成部は、前記接線方向ベクトルと対応付けられている指令位置における接線方向が、対応付けられている接線方向ベクトルの向きと一致するように曲線経路を生成する、
ことを特徴とする数値制御装置。
【請求項２】
前記形状特徴情報が前記加工プログラムに記述され、
前記加工プログラムを解析して前記指令位置および前記形状特徴情報を求める加工プログラム解析部、
を備えることを特徴とする請求項１に記載の数値制御装置。
【請求項３】
前記形状特徴情報は、前記接線方向ベクトルと、前記曲線経路の生成を一旦中断することを指示する曲線キャンセル情報とであり、
前記曲線経路生成部は、前記曲線キャンセル情報と対応付けられている前記指令位置において曲線経路の生成を中断して当該指令位置を曲線経路の終点とするとともに、当該指令位置を始点とする新たな曲線経路の生成を開始する、
ことを特徴とする請求項１または２に記載の数値制御装置。
【請求項４】
前記接線方向ベクトルは、前記曲線経路の先頭の指令位置における接線方向ベクトルおよび前記曲線経路の末尾の指令位置における接線方向ベクトルであり、
前記曲線経路生成部は、前記曲線経路の先頭の指令位置における接線方向が、対応付けられている接線方向ベクトルの向きと一致し、かつ前記曲線経路の末尾の指令位置における接線方向が対応付けられている接線方向ベクトルの向きと一致するように曲線経路を生成する、
ことを特徴とする請求項１から３のいずれか一つに記載の数値制御装置。
【請求項５】
前記曲線経路生成部は、前記接線方向ベクトルが対応付けられていない指令位置がある場合、当該指令位置における接線方向ベクトルを、当該指令位置とともに曲線経路を構成する指令位置に基づいて算出する、
ことを特徴とする請求項１から４のいずれか一つに記載の数値制御装置。
【請求項６】
前記曲線経路生成部は、曲線経路の先頭の指令位置に対応付けられた接線方向ベクトルが存在しておらず、かつ、当該曲線経路の直前の曲線経路の末尾の指令位置に対応付けられた接線方向ベクトルが存在する場合、当該直前の曲線経路の末尾の指令位置に対応付けられた接線方向ベクトルを、接線方向ベクトルが対応付けられていない前記先頭の指令位置における接線方向ベクトルとする、
ことを特徴とする請求項１から５のいずれか一つに記載の数値制御装置。
【請求項７】
工具に対する移動指令または加工対象物に対する移動指令が記述された加工プログラムを入力する加工プログラム入力部と、
前記移動指令、および前記移動指令により指令された指令位置を通過する工具経路の形状の特徴を表した形状特徴情報に基づいて曲線経路を生成する曲線経路生成部と、
前記工具を定義する情報である工具データを入力する工具データ入力部と、
前記加工対象物の加工形状モデルを定義する形状データを入力する形状データ入力部と、
前記移動指令により指令された指令位置、前記工具データおよび前記形状データに基づいて、前記指令位置を通過する工具経路の形状の特徴を表した形状特徴情報を算出する形状特徴情報算出部と、
を備えることを特徴とする数値制御装置。
【請求項８】
工具に対する移動指令または加工対象物に対する移動指令が記述された加工プログラムを入力する加工プログラム入力部と、
前記工具を定義する情報である工具データを入力する工具データ入力部と、
前記加工対象物の加工形状モデルを定義する形状データを入力する形状データ入力部と、
前記移動指令により指令された指令位置、前記工具データおよび前記形状データに基づいて、前記指令位置を通過する工具経路の形状の特徴を表した形状特徴情報を算出する形状特徴情報算出部と、
前記指令位置および前記形状特徴情報に基づいて前記加工プログラムを変換する加工プログラム変換部と、
を備えることを特徴とするプログラム変換装置。
【請求項９】
前記形状特徴情報算出部は、前記指令位置の各々を工具が通過するときの加工形状上における切削点を前記指令位置ごとに算出し、算出した各切削点が加工形状の加工曲面の境界上に存在するか、および、１つの指令位置に対応する切削点が加工形状の複数の加工曲面上に存在するかを判断し、
前記加工プログラム変換部は、前記切削点が加工形状の加工曲面の境界上に存在する場合、および、１つの指令位置に対応する切削点が複数の加工曲面上に存在すると判断された場合、当該切削点に対応する指令位置を指令する移動指令に対して、曲線経路の生成を一旦中断することを指示する曲線キャンセル情報を付加する、
ことを特徴とする請求項８に記載のプログラム変換装置。
【請求項１０】
前記形状特徴情報算出部は、前記指令位置の各々を工具が通過するときの加工形状上における切削点を前記指令位置ごとに算出し、算出した各切削点が加工形状の曲率不連続な位置に存在するかを判断し、
前記加工プログラム変換部は、前記切削点が加工形状の曲率不連続な位置に存在すると判断された場合、当該切削点に対応する指令位置を指令する移動指令に対して、曲線経路の生成を一旦中断することを指示する曲線キャンセル情報を付加する、
ことを特徴とする請求項８または９に記載のプログラム変換装置。
【請求項１１】
前記形状特徴情報算出部は、前記指令位置の各々を工具が通過するときの加工形状上における切削点を前記指令位置ごとに算出し、算出した各切削点に対応する各指令位置における接線方向ベクトルを算出し、
前記加工プログラム変換部は、各指令位置を指令する移動指令に対して、前記算出された接線方向ベクトルを付加する、
ことを特徴とする請求項８から１０のいずれか一つに記載のプログラム変換装置。
【請求項１２】
工具に対する移動指令または加工対象物に対する移動指令が記述された加工プログラムを受け取る加工プログラム取得ステップと、
前記移動指令、および前記移動指令により指令された指令位置を通過する工具経路の形状の特徴を表した形状特徴情報に基づいて曲線経路を生成する曲線経路生成ステップと、
前記曲線経路に対して補間処理を行って前記工具経路を生成する工具経路生成ステップと、
を含み、
前記形状特徴情報は、前記指令位置における接線方向ベクトルであり、
前記曲線経路生成ステップでは、前記接線方向ベクトルと対応付けられている指令位置における接線方向が、対応付けられている接線方向ベクトルの向きと一致するように曲線経路を生成する、
ことを特徴とする数値制御方法。
【請求項１３】
工具に対する移動指令または加工対象物に対する移動指令が記述された加工プログラムを受け取る加工プログラム取得ステップと、
前記工具を定義する情報である工具データを受け取る工具データ取得ステップと、
前記加工対象物の加工形状モデルを定義する形状データを受け取る形状データ取得ステップと、
前記移動指令により指令された指令位置、前記工具データおよび前記形状データに基づいて、前記指令位置を通過する工具経路の形状の特徴を表した形状特徴情報を算出する形状特徴情報算出ステップと、
前記指令位置および前記形状特徴情報に基づいて前記加工プログラムを変換する加工プログラム変換ステップと、
を含むことを特徴とするプログラム変換方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１３
【補正方法】変更
【補正の内容】
【００１３】
上述した課題を解決し、目的を達成するために、本発明にかかる数値制御装置は、工具に対する移動指令または加工対象物に対する移動指令が記述された加工プログラムを入力し、移動指令、および移動指令により指令された指令位置を通過する工具経路の形状の特徴を表した形状特徴情報に基づいて曲線経路を生成する。形状特徴情報は、指令位置における接線方向ベクトルであり、数値制御装置は、接線方向ベクトルと対応付けられている指令位置における接線方向が、対応付けられている接線方向ベクトルの向きと一致するように曲線経路を生成する。
【手続補正書】
【提出日】平成29年10月16日(2017.10.16)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
工具に対する移動指令または加工対象物に対する移動指令が記述された加工プログラムを入力する加工プログラム入力部と、
前記移動指令、および前記移動指令により指令された指令位置を通過する工具経路の形状の特徴を表した形状特徴情報に基づいて曲線経路を生成する曲線経路生成部と、
を備え、
前記形状特徴情報は、前記指令位置における接線方向ベクトルであり、
前記曲線経路生成部は、前記接線方向ベクトルと対応付けられている指令位置における接線方向が、対応付けられている接線方向ベクトルの向きと一致するように曲線経路を生成する、
ことを特徴とする数値制御装置。
【請求項２】
前記形状特徴情報が前記加工プログラムに記述され、
前記加工プログラムを解析して前記指令位置および前記形状特徴情報を求める加工プログラム解析部、
を備えることを特徴とする請求項１に記載の数値制御装置。
【請求項３】
前記形状特徴情報は、前記接線方向ベクトルと、前記曲線経路の生成を一旦中断することを指示する曲線キャンセル情報とであり、
前記曲線経路生成部は、前記曲線キャンセル情報と対応付けられている前記指令位置において曲線経路の生成を中断して当該指令位置を曲線経路の終点とするとともに、当該指令位置を始点とする新たな曲線経路の生成を開始する、
ことを特徴とする請求項１または２に記載の数値制御装置。
【請求項４】
前記接線方向ベクトルは、前記曲線経路の先頭の指令位置における接線方向ベクトルおよび前記曲線経路の末尾の指令位置における接線方向ベクトルであり、
前記曲線経路生成部は、前記曲線経路の先頭の指令位置における接線方向が、対応付けられている接線方向ベクトルの向きと一致し、かつ前記曲線経路の末尾の指令位置における接線方向が対応付けられている接線方向ベクトルの向きと一致するように曲線経路を生成する、
ことを特徴とする請求項１から３のいずれか一つに記載の数値制御装置。
【請求項５】
前記曲線経路生成部は、前記接線方向ベクトルが対応付けられていない指令位置がある場合、当該指令位置における接線方向ベクトルを、当該指令位置とともに曲線経路を構成する指令位置に基づいて算出する、
ことを特徴とする請求項１から４のいずれか一つに記載の数値制御装置。
【請求項６】
前記曲線経路生成部は、曲線経路の先頭の指令位置に対応付けられた接線方向ベクトルが存在しておらず、かつ、当該曲線経路の直前の曲線経路の末尾の指令位置に対応付けられた接線方向ベクトルが存在する場合、当該直前の曲線経路の末尾の指令位置に対応付けられた接線方向ベクトルを、接線方向ベクトルが対応付けられていない前記先頭の指令位置における接線方向ベクトルとする、
ことを特徴とする請求項１から５のいずれか一つに記載の数値制御装置。
【請求項７】
工具に対する移動指令または加工対象物に対する移動指令が記述された加工プログラムを入力する加工プログラム入力部と、
前記工具を定義する情報である工具データを入力する工具データ入力部と、
前記加工対象物の加工形状モデルを定義する形状データを入力する形状データ入力部と、
前記移動指令により指令された指令位置、前記工具データおよび前記形状データに基づいて、前記指令位置を通過する工具経路の形状の特徴を表した形状特徴情報を算出する形状特徴情報算出部と、
を備え、
前記形状特徴情報は、前記指令位置における接線方向ベクトルの情報を含むことを特徴とする数値制御装置。
【請求項８】
工具に対する移動指令または加工対象物に対する移動指令が記述された加工プログラムを入力する加工プログラム入力部と、
前記工具を定義する情報である工具データを入力する工具データ入力部と、
前記加工対象物の加工形状モデルを定義する形状データを入力する形状データ入力部と、
前記移動指令により指令された指令位置、前記工具データおよび前記形状データに基づいて、前記指令位置を通過する工具経路の形状の特徴を表した形状特徴情報を算出する形状特徴情報算出部と、
前記指令位置および前記形状特徴情報に基づいて前記加工プログラムを変換する加工プログラム変換部と、
を備え、
前記形状特徴情報は、前記指令位置における接線方向ベクトルの情報を含むことを特徴とするプログラム変換装置。
【請求項９】
前記形状特徴情報算出部は、前記指令位置の各々を工具が通過するときの加工形状上における切削点を前記指令位置ごとに算出し、算出した各切削点が加工形状の加工曲面の境界上に存在するか、および、１つの指令位置に対応する切削点が加工形状の複数の加工曲面上に存在するかを判断し、
前記加工プログラム変換部は、前記切削点が加工形状の加工曲面の境界上に存在する場合、および、１つの指令位置に対応する切削点が複数の加工曲面上に存在すると判断された場合、当該切削点に対応する指令位置を指令する移動指令に対して、曲線経路の生成を一旦中断することを指示する曲線キャンセル情報を付加する、
ことを特徴とする請求項８に記載のプログラム変換装置。
【請求項１０】
前記形状特徴情報算出部は、前記指令位置の各々を工具が通過するときの加工形状上における切削点を前記指令位置ごとに算出し、算出した各切削点が加工形状の曲率不連続な位置に存在するかを判断し、
前記加工プログラム変換部は、前記切削点が加工形状の曲率不連続な位置に存在すると判断された場合、当該切削点に対応する指令位置を指令する移動指令に対して、曲線経路の生成を一旦中断することを指示する曲線キャンセル情報を付加する、
ことを特徴とする請求項８または９に記載のプログラム変換装置。
【請求項１１】
前記形状特徴情報算出部は、前記指令位置の各々を工具が通過するときの加工形状上における切削点を前記指令位置ごとに算出し、算出した各切削点に対応する各指令位置における接線方向ベクトルを算出し、
前記加工プログラム変換部は、各指令位置を指令する移動指令に対して、前記算出された接線方向ベクトルを付加する、
ことを特徴とする請求項８から１０のいずれか一つに記載のプログラム変換装置。
【請求項１２】
工具に対する移動指令または加工対象物に対する移動指令が記述された加工プログラムを受け取る加工プログラム取得ステップと、
前記移動指令、および前記移動指令により指令された指令位置を通過する工具経路の形状の特徴を表した形状特徴情報に基づいて曲線経路を生成する曲線経路生成ステップと、
前記曲線経路に対して補間処理を行って前記工具経路を生成する工具経路生成ステップと、
を含み、
前記形状特徴情報は、前記指令位置における接線方向ベクトルであり、
前記曲線経路生成ステップでは、前記接線方向ベクトルと対応付けられている指令位置における接線方向が、対応付けられている接線方向ベクトルの向きと一致するように曲線経路を生成する、
ことを特徴とする数値制御方法。
【請求項１３】
工具に対する移動指令または加工対象物に対する移動指令が記述された加工プログラムを受け取る加工プログラム取得ステップと、
前記工具を定義する情報である工具データを受け取る工具データ取得ステップと、
前記加工対象物の加工形状モデルを定義する形状データを受け取る形状データ取得ステップと、
前記移動指令により指令された指令位置、前記工具データおよび前記形状データに基づいて、前記指令位置を通過する工具経路の形状の特徴を表した形状特徴情報を算出する形状特徴情報算出ステップと、
前記指令位置および前記形状特徴情報に基づいて前記加工プログラムを変換する加工プログラム変換ステップと、
を含み、
前記形状特徴情報は、前記指令位置における接線方向ベクトルの情報を含むことを特徴とするプログラム変換方法。
【国際調査報告】
2018122988.tif 000034
2018122988.tif 000035
2018122988.tif 000036
2018122988.tif 000037