(57)【特許請求の範囲】
【請求項１】
ＮＣプログラムを使用して加工制御を行う数値制御装置において、
ＮＣプログラムにおいてあらかじめ指定された工具番号から次の工具番号までの加工指令の範囲を一加工工程と認識する手段と、
切削条件と最終的に作成される加工領域の形である加工領域形状とを定義し、当該切削条件と当該加工領域形状とから複数指令を生成して可動軸を制御する加工サイクル指令を、前記一加工工程から生成する加工サイクル生成手段と、
ＮＣプログラム上の前記一加工工程を前記加工サイクル指令に置き換えたＮＣプログラムを生成する手段と、を有することを特徴とする数値制御装置。
【請求項２】
前記加工サイクル生成手段は、
工具番号ごとに加工種類と工具形状データが定義されている工具データリストを備え、
前記工具データリストと前記あらかじめ指定された工具番号とに基づいて対応する加工種類と工具形状データを特定し、
特定された前記加工種類と前記工具形状データおよび前記一加工工程から加工サイクル指令を生成する、請求項１記載の数値制御装置。
【請求項３】
前記加工サイクル生成手段は、
加工種類と必要な切削条件を関連付ける切削条件テーブルを更に備え、
特定された前記加工種類と前記工具形状データおよび前記一加工工程に加えて、
前記切削条件テーブルと前記加工種類から前記加工種類に対応する切削条件を特定し、
特定された前記切削条件をも使用して加工サイクル指令を生成する、請求項２記載の数値制御装置。
【請求項４】
前記加工サイクル生成手段は、
特定された前記加工種類と前記工具形状データ、前記一加工工程および特定された前記切削条件に加えて、
前記一加工工程から切削送り指令を抽出し、
前記抽出した切削送り指令を直線または円弧の図形である形状要素データに変換して加工領域形状を生成することによって加工サイクル指令を生成する、請求項３記載の数値制御装置。
【請求項５】
前記加工領域形状は前記形状要素データから刃先Ｒや工具径の値だけオフセットした形状として生成する加工領域形状である、請求項４記載の数値制御装置。
【請求項６】
ＮＣプログラムの一部を、切削条件と最終的に作成される加工領域の形である加工領域形状とを定義し、当該切削条件と当該加工領域形状とから複数指令を生成して可動軸を制御する加工サイクル指令に置き換えたＮＣプログラムを生成するプログラム編集方法であって、
ＮＣプログラムにおいてあらかじめ指定された工具番号から次の工具番号までの加工指令の範囲を一加工工程と認識するステップと、
前記一加工工程から加工サイクル指令を生成する加工サイクル生成ステップと、
ＮＣプログラム上の前記一加工工程を前記加工サイクル指令に置き換えたＮＣプログラムを生成するステップと、を有することを特徴とするプログラム編集方法。
【請求項７】
工具番号ごとに加工種類と工具形状データが定義されている工具データリストをあらかじめ記憶しておき、
前記加工サイクル生成ステップは、
前記工具データリストと前記あらかじめ指定された工具番号とに基づいて対応する加工種類と工具形状データを特定し、
特定された前記加工種類と前記工具形状データおよび前記一加工工程から加工サイクル指令を生成する、請求項６記載のプログラム編集方法。
【請求項８】
加工種類と必要な切削条件を関連付ける切削条件テーブルをあらかじめ記憶しておき、前記加工サイクル生成ステップは、
特定された前記加工種類と前記工具形状データおよび前記一加工工程に加えて、
前記切削条件テーブルと前記加工種類から対応する切削条件を特定し、
特定された前記切削条件をも使用して加工サイクル指令を生成する、請求項７記載のプログラム編集方法。
【請求項９】
前記加工サイクル生成ステップは、
特定された前記加工種類と前記工具形状データ、前記一加工工程および特定された前記切削条件に加えて、
前記一加工工程から切削送り指令を抽出し、
前記抽出した切削送り指令を直線または円弧の図形である形状要素データに変換して加工領域形状を生成することによって加工サイクル指令を生成する、請求項８記載のプログラム編集方法。
【請求項１０】
前記加工領域形状は前記形状要素データから刃先Ｒや工具径の値だけオフセットした形状として生成する加工領域形状である、請求項９記載のプログラム編集方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＮＣプログラムの一部から加工サイクル指令を生成する数値制御装置およびＮＣプログラムの一部から加工サイクル指令を生成するプログラム編集方法に関する。
【背景技術】
【０００２】
ワークを加工するＮＣプログラムを作成する場合、オペレータは工具の移動経路の始点、終点を計算し、その移動指令を１ブロックずつ作成する必要がある。ブロックとはＮＣプログラムの経路を指令する最小単位のことである。
【０００３】
このようなＮＣプログラムを実行することでワークの加工が行われるが、実際に加工が行われている間にも最適な切削条件などを求めてしばしばプログラムの修正や編集が行われる。この場合、オペレータは加工内容に関連する複数のブロックを特定し、各々のブロック毎に必要な編集を行っていた。
【０００４】
ＮＣプログラムを直接編集する以外にも、従来技術として、ＮＣプログラムからＣＡＤ／ＣＡＭや自動プログラミング装置などのＮＣプログラム作成装置へ入力可能なデータを自動的に生成する技術がある（たとえば、特許文献１参照）。また、ＮＣプログラムから図形データを抽出し、ＣＡＤ上で図形データを編集することでＮＣプログラムを間接的に編集できるようにする技術がある（たとえば、特許文献２参照）。
【０００５】
一方、加工プログラムに用いられる指令として加工サイクル指令がある。加工サイクル指令は、複数のブロックからなる一連の移動指令を１つの指令で行うようにしたものであり、特許文献３の図１などに例示されるものである。加工サイクル指令は、切削条件と加工領域形状とを定義した指令であり、工作機械を制御する数値制御装置は、加工プログラムに記述された加工サイクル指令により定義された切削条件と加工領域形状とから、複数の移動指令を生成して可動軸を制御する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第３６５００２７号公報
【特許文献２】特許第２５８４２２９号公報
【特許文献３】特開２０１４−１６９８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来のＮＣプログラムの編集方法には以下のような問題点がある。ワークの加工ではＮＣプログラムの各ブロックに対応する非常に多くの加工制御が行われることで一つの加工形状が形成される。そのため、ＮＣプログラムを編集する際には対象となるＮＣプログラムにより実行される加工手順を理解した上で関連するブロックをすべて特定する必要があるので、編集するブロックの特定に時間を要し、また、非常に多くのブロックを編集する必要があった。
【０００８】
また、ＣＡＤ／ＣＡＭや自動プログラミング装置を用いて編集を支援する技術を導入すると、個々のブロックを直接編集する必要がないのでオペレータのプログラム編集にかける労力は軽減するものの、当該技術を導入するためには数値制御装置以外にＣＡＤ／ＣＡＭや自動プログラミング装置という大掛かりな装置を用意する必要があり、コスト面での問題があった。
【０００９】
そこで、本発明の目的は、既存のＮＣプログラムから切削条件と加工領域形状を抽出し、ブロック数が少なく、数値制御装置上で入力ガイダンスなどを使用して容易に編集できる加工サイクル指令を生成する数値制御装置およびプログラム編集方法を提供することである。
【課題を解決するための手段】
【００１０】
本願請求項１に係る発明は、ＮＣプログラムを使用して加工制御を行う数値制御装置において、ＮＣプログラムにおいてあらかじめ指定された工具番号から次の工具番号までの加工指令の範囲を一加工工程と認識する手段と、切削条件と最終的に作成される加工領域の形である加工領域形状とを定義し、当該切削条件と当該加工領域形状とから複数指令を生成して可動軸を制御する加工サイクル指令を、前記一加工工程から生成する加工サイクル生成手段と、ＮＣプログラム上の前記一加工工程を前記加工サイクル指令に置き換えたＮＣプログラムを生成する手段と、を有することを特徴とする数値制御装置である。
【００１１】
本願請求項２に係る発明は、前記加工サイクル生成手段は、工具番号ごとに加工種類と工具形状データが定義されている工具データリストを備え、前記工具データリストと前記あらかじめ指定された工具番号とに基づいて対応する加工種類と工具形状データを特定し、特定された前記加工種類と前記工具形状データおよび前記一加工工程から加工サイクル指令を生成する、請求項１記載の数値制御装置である。
【００１２】
本願請求項３に係る発明は、前記加工サイクル生成手段は、加工種類と必要な切削条件を関連付ける切削条件テーブルを更に備え、特定された前記加工種類と前記工具形状データおよび前記一加工工程に加えて、前記切削条件テーブルと前記加工種類から前記加工種類に対応する切削条件を特定し、特定された前記切削条件をも使用して加工サイクル指令を生成する、請求項２記載の数値制御装置である。
【００１３】
本願請求項４に係る発明は、前記加工サイクル生成手段は、特定された前記加工種類と前記工具形状データ、前記一加工工程および特定された前記切削条件に加えて、前記一加工工程から切削送り指令を抽出し、前記抽出した切削送り指令を直線または円弧の図形である形状要素データに変換して加工領域形状を生成することによって加工サイクル指令を生成する、請求項３記載の数値制御装置である。
【００１４】
本願請求項５に係る発明は、前記加工領域形状は前記形状要素データから刃先Ｒや工具径の値だけオフセットした形状として生成する加工領域形状である、請求項１記載の数値制御装置である。
【００１５】
本願請求項６に係る発明は、ＮＣプログラムの一部を、切削条件と最終的に作成される加工領域の形である加工領域形状とを定義し、当該切削条件と当該加工領域形状とから複数指令を生成して可動軸を制御する加工サイクル指令に置き換えたＮＣプログラムを生成するプログラム編集方法であって、ＮＣプログラムにおいてあらかじめ指定された工具番号から次の工具番号までの加工指令の範囲を一加工工程と認識するステップと、前記一加工工程から加工サイクル指令を生成する加工サイクル生成ステップと、ＮＣプログラム上の前記一加工工程を前記加工サイクル指令に置き換えたＮＣプログラムを生成するステップと、を有することを特徴とするプログラム編集方法である。
【００１６】
本願請求項７に係る発明は、工具番号ごとに加工種類と工具形状データが定義されている工具データリストをあらかじめ記憶しておき、前記加工サイクル生成ステップは、前記工具データリストと前記あらかじめ指定された工具番号とに基づいて対応する加工種類と工具形状データを特定し、特定された前記加工種類と前記工具形状データおよび前記一加工工程から加工サイクル指令を生成する、請求項６記載のプログラム編集方法である。
【００１７】
本願請求項８に係る発明は、加工種類と必要な切削条件を関連付ける切削条件テーブルをあらかじめ記憶しておき、前記加工サイクル生成ステップは、特定された前記加工種類と前記工具形状データおよび前記一加工工程に加えて、前記切削条件テーブルと前記加工種類から対応する切削条件を特定し、特定された前記切削条件をも使用して加工サイクル指令を生成する、請求項７記載のプログラム編集方法である。
【００１８】
本願請求項９に係る発明は、前記加工サイクル生成ステップは、特定された前記加工種類と前記工具形状データ、前記一加工工程および特定された前記切削条件に加えて、前記一加工工程から切削送り指令を抽出し、前記抽出した切削送り指令を直線または円弧の図形である形状要素データに変換して加工領域形状を生成することによって加工サイクル指令を生成する、請求項８記載のプログラム編集方法である。
【００１９】
本願請求項１０に係る発明は、前記加工領域形状は前記形状要素データから刃先Ｒや工具径の値だけオフセットした形状として生成する加工領域形状である、請求項６記載のプログラム編集方法である。
【発明の効果】
【００２０】
本発明により、既存のＮＣプログラムから、ブロック数が少なく、数値制御装置上で入力ガイダンスなどを使用して容易に編集できる加工サイクル指令を生成することができるので、ＣＡＤ／ＣＡＭや自動プログラミング装置を使用せずに、ＮＣプログラムを容易に編集することができる。
【図面の簡単な説明】
【００２１】
【図１】本発明の数値制御装置のブロック図である。
【図２】加工サイクル生成部のブロック図である。
【図３】工具データリストの一例を示す図である。
【図４】切削条件テーブルの一例を示す図である。
【図５】実施形態において加工対象となるワークの図面を示す図である。
【図６】実施形態におけるＮＣプログラムを示す図である。
【図７】加工領域形状生成部の基本フローチャートである。
【図８】ＮＣプログラムから形状要素データ群抽出処理の流れを説明する図である。
【図９】旋削荒加工の場合の加工領域形状生成処理の流れを説明する図である。
【図１０】実施形態におけるＮＣプログラムの一部を加工サイクル指令に変換したプログラムを示す図である。
【図１１】旋削仕上げ加工の場合の加工領域形状生成処理の流れを説明する図である。
【図１２】旋削溝荒加工の場合の加工領域形状生成処理の流れを説明する図である。
【図１３】旋削溝仕上げ加工の場合の加工領域形状生成処理の流れを説明する図である。
【図１４】穴あけ加工の場合の加工領域形状生成処理の流れを説明する図である。
【図１５】平面加工の場合の加工領域形状生成処理の流れを説明する図である。
【図１６】輪郭加工の場合の加工領域形状生成処理の流れを説明する図である。
【図１７】ポケット加工の場合の加工領域形状生成処理の流れを説明する図である。
【発明を実施するための形態】
【００２２】
以下、本発明に係る数値制御装置、プログラム編集方法の実施の形態の一例を適宜図面に基づいて説明する。
【００２３】
図１は、本発明に係る数値制御装置１００のブロック図である。数値制御装置１００は、ＩＳＯコードで作成されているＮＣプログラム１０から一加工工程を認識する一加工工程認識部２０、一加工工程認識部２０によって認識された一加工工程のＩＳＯコードから加工サイクルを生成する加工サイクル生成部３０、生成した一加工サイクルにより一加工工程のＩＳＯコードを置き換えたＮＣプログラム５０を生成するＮＣプログラム生成部４０を備えている。
【００２４】
図２は、数値制御装置１００が備える加工サイクル生成部３０のブロック図である。加工サイクル生成部３０は、認識された一加工工程のＮＣプログラム３１から切削条件を抽出する切削条件生成部３２、認識された一加工工程のＮＣプログラム３１から加工領域形状を生成する加工領域形状生成部３３、図示しないメモリ乃至記憶装置にあらかじめ記憶された工具データリスト３４と切削条件テーブル３５とを備えている。
【００２５】
図３は工具データリスト３４の一例を示したものである。工具データリスト３４は、工具番号に対して工具種類、加工種類、工具形状データを対応付けて記憶したリストである。例えば、工具番号１には、工具種類は汎用工具、加工種類は旋削荒加工、工具形状データとして、刃先Ｒ０．８、仮想刃先方向３、が対応付けて記憶されている。
【００２６】
図４は切削条件テーブル３５の一例を示したものである。切削条件テーブル３５は、加工種類に対して切削条件を対応付けて記憶したテーブルである。例えば、加工種類である旋削荒加工には、切削条件として送り速度、周速、切込量が設定されている。
【００２７】
以下では、本発明に係る数値制御装置上でＮＣプログラムから加工サイクル指令を生成する動作手順を説明する。本実施形態では図５の図面に合わせてワークを加工するＮＣプログラムを編集する場合を例に説明する。図６は、図５の図面に合わせてワークを加工するＮＣプログラムを示したものである。
【００２８】
一加工工程認識部２０は、入力されたＮＣプログラム１０から一加工工程を認識する。一加工工程認識部２０は、ＮＣプログラム１０のブロックを先頭から順に読み込み、加工サイクルに変換する対象となる指令範囲で使用している工具番号を特定する。図６のＮＣプログラム中では、ブロックＮ０００２のＴ指令「Ｔ１０１」により工具番号１を指定している。一加工工程認識部２０は、Ｎ０００２以降のブロックで次にＴ指令が現れるブロックを特定する。図６のプログラム中では、ブロック００４８のＴ指令「Ｔ２０２」で工具番号２を指定しており、ここで工具が変更されることがわかる。一加工工程認識部２０は、ブロック００４８のＴ指令のひとつ前のブロックＮ００４７までを工具番号１に対応する加工を行う一加工工程として認識する。
【００２９】
次に、加工サイクル生成部３０は、一加工工程認識部２０によって認識された一加工工程のＮＣプログラム３１を入力として加工サイクルを生成する。加工サイクル生成部３０は一加工工程のＮＣプログラム３１内において指定されている工具番号を用いて、図３に示す工具データリスト３４から指定された工具番号に対応する加工種類を特定する。図６のプログラムから認識された一加工工程では工具番号１が指定されているので、工具データリスト３４を参照し加工種類を旋削荒加工と特定することができる。
【００３０】
加工種類が特定されると、加工サイクル生成部３０は特定された加工種類を用いて、図４に示す切削条件テーブル３５から旋削荒加工の切削条件を特定する。図６のＮＣプログラムから認識された一加工工程では加工種類が旋削荒加工と特定されているので、切削条件テーブル３５を参照し切削条件を送り速度、周速、切込量と特定することができる。そして、切削条件生成部３２は、特定した切削条件を用いて一加工工程から切削条件を抽出する。例えば、図６のＮＣプログラムにおける送り速度としては、Ｎ００１０のＦ０．８を抽出する。
【００３１】
次に、加工領域形状生成部３３は、一加工工程認識部２０により認識された一加工工程のＮＣプログラム３１から加工領域形状を生成する。加工領域形状生成処理の基本フローチャートを図７に示す。
【００３２】
加工領域形状生成部３３は、一加工工程認識部２０により認識された一加工工程のＮＣプログラム３１から切削送り指令をすべて抽出する（Ｓ７０１）。次に、抽出した切削送り指令を形状要素データに変換する（Ｓ７０２）。そして、変換した形状要素データを形状要素データ群へと変換し（Ｓ７０３）、最後に形状要素データ群から加工領域形状を生成する（Ｓ７０４）。
【００３３】
図６のＮＣプログラムから認識された一加工工程に対して形状要素データ群の抽出処理（Ｓ７０１〜Ｓ７０３）を適用した例を図８に示す。まず加工領域形状生成部３３は、一加工工程のプログラムを構成するブロック群の中から切削送り指令（Ｇ０１，Ｇ０２など）を抽出し、抽出した切削送り指令から各切削送り指令の開始点を求める（Ｓ８０１，Ｓ８０２）。そして、これら開始点の情報と切削送り指令の種類およびパラメータを形状要素データに変換する（Ｓ８０３）。例えば、切削指令が「Ｇ０１Ｘ４０．Ｚ−０７６２」、開始点が「Ｘ４０．，Ｚ１．」である場合、Ｇ０１は直線補間であるから、当該指令から変換される形状要素データは「直線、始点Ｘ４０．Ｚ１．、終点Ｘ４０．Ｚ−０．７６２」となる。そして各切削送り指令に対して同様の変換を行うことで、形状要素データ群が生成される。
【００３４】
次に、図６のＮＣプログラムから抽出された形状要素データ群に基づいて加工領域形状を生成する処理（Ｓ７０４）を図９に示す。図９は、加工種類が旋削荒加工である場合の加工領域形状の生成処理手順を示している。
【００３５】
旋削荒加工における加工領域形状の生成処理では、まず加工領域形状生成部３３は、一加工工程認識部２０が認識した一加工工程から形状要素データ群を抽出する（Ｓ９０１、Ｓ９０２）。
【００３６】
形状要素データ群が生成されると、加工領域形状生成部３３は、生成された形状要素データ群の中から切削方向、切込方向と逆方向の形状要素データを特定し、これを削除する（Ｓ９０３）。
【００３７】
次に、加工領域形状生成部３３は、削除された後に残った形状要素データ全てを包含する矩形データを求める（Ｓ９０４）。本実施形態ではＳ９０４に示すように、（ａ）と（ｂ）とを結ぶ直線を対角線とする矩形ですべての形状要素データを囲むことができる。
【００３８】
次に、加工領域形状生成部３３は、（ａ）点から（ｂ）点までの連続する形状要素データを抽出し、抽出された形状要素データを部品形状へと変換する（Ｓ９０５）。
【００３９】
次に、Ｓ９０４で求めた矩形を素材形状とし、素材形状とＳ９０５で変換した部品形状とを合成する（Ｓ９０６）。
【００４０】
次に、仕上げ代、刃先Ｒ分をオフセットして加工サイクルの加工領域形状を作成する（Ｓ９０７）。
【００４１】
最後に、切削条件生成部３２が抽出した切削条件と、加工領域形状生成部３３が生成した加工領域形状とに基づいてＮＣプログラム上で編集可能な加工サイクル指令を生成する。生成された加工サイクル指令の例を図１０に示す。この例では、「Ｇ１１２０」が切削条件を意味し、「Ｇ１４５０」から続く各指令が加工領域形状（それぞれのブロックがＳ９０７の一連の形状要素に対応している）を意味している。
【００４２】
このような処理手順により生成された加工サイクル指令は、加工領域形状を直接的に意味する指令で表現されるため、通常のＮＣプログラムと比較してオペレータが形状を想定しながら容易に編集することができる。
【００４３】
以上の実施形態では、加工種類が旋削荒加工の場合における加工領域形状の生成処理について示したが、本願発明における加工領域形状の生成は旋削荒加工の場合にとどまるものではない。以下に、他の加工種類における加工領域形状の生成処理を例示する。
【００４４】
（旋削仕上げ加工の場合の加工領域形状生成処理の流れ）  
一加工工程認識部２０によって認識された一加工工程から特定された加工種類が旋削仕上げ加工である場合における加工領域形状生成の流れを図１１に示す。
【００４５】
旋削仕上げ加工における加工領域形状の生成処理では、まず加工領域形状生成部３３は、一加工工程認識部２０が認識した一加工工程から形状要素データ群を抽出する（Ｓ１１０１、Ｓ１１０２）。  
形状要素データ群が生成されると、抽出された形状要素データ全てを包含する矩形データを求める（Ｓ１１０３）。  
次に、加工領域形状生成部３３は、形状要素データを部品形状へと変換し、Ｓ１１０３で求めた矩形を素材形状として部品形状と合成する（Ｓ１１０４）。  
最後に、刃先Ｒ分をオフセットして加工サイクルの加工領域形状を作成する（Ｓ１１０５）。
【００４６】
（旋削溝荒加工の場合の加工領域形状生成処理の流れ）  
一加工工程認識部２０によって認識された一加工工程から特定された加工種類が旋削溝荒加工である場合における加工領域形状生成の流れを図１２に示す。  
【００４７】
旋削溝荒加工における加工領域形状の生成処理では、まず加工領域形状生成部３３は、一加工工程認識部２０が認識した一加工工程から形状要素データ群を抽出する（Ｓ１２０１、Ｓ１２０２）。  
形状要素データ群が抽出されると、加工領域形状生成部３３は、抽出した形状要素データ群を刃先基準方向で並び替え、形状要素データ間が溝幅以上に空いている部分を境目としてそれぞれを別の加工領域として抽出する（Ｓ１２０３）。  
次に、加工領域形状生成部３３は、加工領域の１ケ分の形状要素データ群を抽出し、抽出された形状要素データ全てを包含する矩形データを求める（Ｓ１２０４）。  
次に、加工領域形状生成部３３は、（ａ）点から（ｆ）点までの連続する形状要素データを抽出し、抽出された形状要素データを要素部品形状へと変換する（Ｓ１２０５）。  
次に、Ｓ１２０４で求めた矩形を素材形状とし、素材形状とＳ１２０５で変換した要素部品形状とを合成する（Ｓ１２０６）。  
次に、溝幅の分だけ領域を拡張する（Ｓ１２０７）。  
次に、仕上げ代、刃先Ｒ分をオフセットして加工サイクルの加工領域形状を作成する（Ｓ１２０８）。  
そして、すべての加工領域を加工領域形状に変換するまでＳ１２０４〜Ｓ１２０８を繰り返す。
【００４８】
（旋削溝仕上げ加工の場合の加工領域形状生成処理の流れ）
一加工工程認識部２０によって認識された一加工工程から特定された加工種類が旋削溝仕上げ加工である場合における加工領域形状生成の流れを図１３に示す。  
【００４９】
旋削溝仕上げ加工における加工領域形状の生成処理では、まず加工領域形状生成部３３は、一加工工程認識部２０が認識した一加工工程から形状要素データ群を抽出する（Ｓ１３０１、Ｓ１３０２）。  
形状要素データ群が抽出されると、加工領域形状生成部３３は、生成された形状要素データ群の中から切込逆方向の形状要素データを特定し、これを削除する（Ｓ１３０３）。
次に、加工領域形状生成部３３は、加工領域の１ケ分の形状要素データ群を抽出し、抽出された形状要素データ全てを包含する矩形データを求める（Ｓ１３０４）。  
次に、加工領域形状生成部３３は、（ａ）点から（ｆ）点までの連続する形状要素データを要素部品形状へと変換する（Ｓ１３０５）。  
次に、Ｓ１３０４で求めた矩形を素材形状とし、素材形状とＳ１３０５で変換した要素部品形状とを合成する（Ｓ１３０６）。  
次に、溝幅の分だけ領域を拡張する（Ｓ１３０７）。  
次に、仕上げ代、刃先Ｒ分をオフセットして加工サイクルの加工領域形状を作成する（Ｓ１３０８）。  
そして、すべての加工領域を加工領域形状に変換するまでＳ１３０４〜Ｓ１３０８を繰り返す。
【００５０】
（穴あけ加工の場合の加工領域形状生成処理の流れ）  
一加工工程認識部２０によって認識された一加工工程から特定された加工種類が穴あけ加工である場合における加工領域形状生成の流れを図１４に示す。  
【００５１】
穴あけ加工における加工領域形状の生成処理では、まず加工領域形状生成部３３は、一加工工程認識部２０が認識した一加工工程から形状要素データ群を抽出する（Ｓ１４０１、Ｓ１４０２）。  
形状要素データ群が抽出されると、加工領域形状生成部３３は、生成された形状要素データ群の中から切込方向と逆方向の形状要素データを特定し、これを削除する（Ｓ１４０３）。  
次に、加工領域形状生成部３３は、形状要素データを直線１形状にまとめる（Ｓ１４０４）。  
最後に、加工領域形状生成部３３は、加工サイクルの加工領域形状である始点、終点、穴深さを決定する（Ｓ１４０５）。
【００５２】
（平面加工の場合の加工領域形状生成処理の流れ）
一加工工程認識部２０によって認識された一加工工程から特定された加工種類が平面加工である場合における加工領域形状生成の流れを図１５に示す。  
【００５３】
平面加工における加工領域形状の生成処理では、まず加工領域形状生成部３３は、一加工工程認識部２０が認識した一加工工程から工具軸方向に一番低い高さの形状要素データ群を抽出する（Ｓ１５０１、Ｓ１５０２）。  
形状要素データ群が抽出されると、加工領域形状生成部３３は、抽出された形状要素データ全てを包含する矩形データを求める（Ｓ１５０３）。  
次に、Ｓ１５０３で求めた矩形を部品形状へと変換する（Ｓ１５０４）。  
次に、Ｓ１５０４で変換した部品形状を外部へと広がる方向に工具半径でオフセットする（Ｓ１５０５）。  
最後に、加工領域形状生成部３３は、Ｓ１５０５で求めたオフセットした部品形状から加工サイクルの加工領域形状を作成する（Ｓ１５０６）。
【００５４】
（輪郭加工の場合の加工領域形状生成の流れ）
一加工工程認識部２０によって認識された一加工工程から特定された加工種類が輪郭加工である場合における加工領域形状生成の流れを図１６に示す。
【００５５】
輪郭加工における加工領域形状の生成処理では、まず加工領域形状生成部３３は、一加工工程認識部２０が認識した一加工工程から工具軸方向に一番低い高さの形状要素データ群を抽出する（Ｓ１６０１、Ｓ１６０２）。  
形状要素データ群が抽出されると、加工領域形状生成部３３は、抽出された形状要素データの中から最終形状要素データを特定し、特定した最終形状要素データの終点を求める（Ｓ１６０３）。  
次に、最終形状要素データが載る形状要素データを求め（Ｓ１６０４）、最終形状要素データから遡って、最終形状要素データの終点が載る形状要素データまでを抽出する（Ｓ１６０５）。  
そして、抽出した形状要素データを部品形状へと変換し（Ｓ１６０６）、部品形状が狭まる方向に工具半径でオフセットする（Ｓ１６０７）。  
最後に、加工領域形状生成部３３は、Ｓ１６０７で求めたオフセットした部品形状から加工サイクルの加工領域形状を作成する（Ｓ１６０８）。
【００５６】
（ポケット加工の場合の加工領域形状生成の流れ）
一加工工程認識部２０によって認識された一加工工程から特定された加工種類がポケット加工である場合における加工領域形状生成の流れを図１７に示す。
【００５７】
ポケット加工における加工領域形状の生成処理では、まず加工領域形状生成部３３は、一加工工程認識部２０が認識した一加工工程から工具軸方向に一番低い高さの形状要素データ群を抽出する（Ｓ１７０１、Ｓ１７０２）。  
形状要素データ群が抽出されると、加工領域形状生成部３３は、抽出された形状要素データの中から最終形状要素データを特定し、特定した最終形状要素データの終点を求める（Ｓ１７０３）。  
次に、最終形状要素データが載る形状要素データを求め（Ｓ１７０４）、最終形状要素データから遡って、最終形状要素データの終点が載る形状要素データまでを抽出する（Ｓ１７０５）。  
そして、抽出した形状要素データを部品形状へと変換し（Ｓ１７０６）、部品形状が広がる方向に工具半径でオフセットする（Ｓ１７０７）。  
最後に、加工領域形状生成部３３は、Ｓ１７０７で求めたオフセットした部品形状から加工サイクルの加工領域形状を作成する（Ｓ１７０８）。
【符号の説明】
【００５８】
１０  ＮＣプログラム
２０  一加工工程認識部
３０  加工サイクル生成部
３１  一加工工程のＮＣプログラム
３２  切削条件生成部
３３  加工領域形状生成部
３４  工具データリスト
３５  切削条件テーブル
３６  加工サイクル
４０  ＮＣプログラム生成部
５０  ＮＣプログラムの一部を加工サイクル指令に置き換えたＮＣプログラム
１００  数値制御装置
【図１】
0005960189.tif 000002
【図２】
0005960189.tif 000003
【図３】
0005960189.tif 000004
【図４】
0005960189.tif 000005
【図５】
0005960189.tif 000006
【図６】
0005960189.tif 000007
【図７】
0005960189.tif 000008
【図８】
0005960189.tif 000009
【図９】
0005960189.tif 000010
【図１０】
0005960189.tif 000011
【図１１】
0005960189.tif 000012
【図１２】
0005960189.tif 000013
【図１３】
0005960189.tif 000014
【図１４】
0005960189.tif 000015
【図１５】
0005960189.tif 000016
【図１６】
0005960189.tif 000017
【図１７】
0005960189.tif 000018