(57)【特許請求の範囲】
【請求項１】
加工プログラムの入力を受け付ける加工プログラム受付部と、
前記加工プログラム中の第１の指令コードが有効な範囲を修正範囲とすることが指定された第１抽出ルールを含む抽出ルールを設定する抽出ルール設定部と、
前記抽出ルールに基づいて、前記第１の指令コードが含まれるブロックを開始ブロックとし、同じモーダルグループの指令コードであって前記第１の指令コードと異なる指令コードである第２の指令コードを含むブロックの直前のブロックを終了ブロックとする第１の修正範囲を決定し、前記加工プログラムから前記第１の修正範囲のデータを抽出する抽出部と、
前記抽出部により抽出された前記第１の修正範囲のデータを修正する修正部と、
前記加工プログラムと、前記修正部により修正された前記第１の修正範囲のデータとに基づいて、修正後加工プログラムを生成する生成部と、
を備えることを特徴とする加工プログラム修正装置。
【請求項２】
前記加工プログラムは、複数の加工工程に対応するデータを含み、
前記抽出ルール設定部は、前記複数の加工工程の中から、選択された加工工程の範囲を第２の修正範囲とし、前記第２の修正範囲のデータを前記加工プログラムから抽出するための第２抽出ルールを含む抽出ルールを設定し、
前記抽出部は、前記複数の加工工程ごとの加工プログラム内の位置を示す情報および前記第２抽出ルールに基づいて、前記第２の修正範囲のデータを前記加工プログラムから抽出し、
前記修正部は、前記抽出部により抽出された前記第２の修正範囲のデータを修正し、
前記生成部は、前記加工プログラムと、前記修正部により修正された前記第２の修正範囲のデータとに基づいて、前記修正後加工プログラムを生成することを特徴とする請求項１に記載の加工プログラム修正装置。
【請求項３】
加工対象物の加工形状モデルを定義する情報である形状データの入力を受け付ける形状データ受付部と、
工具の工具モデルを定義する情報である工具データの入力を受け付ける工具データ受付部とを備え、
前記抽出ルール設定部は、前記工具データに基づいて生成される工具モデルが移動する工具経路上に前記工具モデルを仮想的に通過させた際に、前記工具モデルと前記形状データに基づいて生成される加工形状モデルとが接する状態になる仕上げ加工を行う範囲および前記工具モデルと前記加工形状モデルとが接しない状態になる荒加工を行う範囲を第３の修正範囲とし、前記第３の修正範囲のデータを前記加工プログラムから抽出する第３抽出ルールを含む抽出ルールを設定し、
前記抽出部は、前記第３抽出ルールに基づいて、前記加工プログラムから前記第３の修正範囲のデータを抽出し、
前記修正部は、前記抽出部により抽出された前記第３の修正範囲のデータを修正し、
前記生成部は、前記加工プログラムと、前記修正部により修正された前記第３の修正範囲のデータとに基づいて、前記修正後加工プログラムを生成することを特徴とする請求項１に記載の加工プログラム修正装置。
【請求項４】
前記抽出ルール設定部は、前記工具データに基づいて生成される工具モデルが移動する工具経路上に前記工具モデルを仮想的に通過させた際に、前記工具モデルと前記形状データに基づいて生成される加工形状モデルの任意の曲面とが接している状態になる範囲を第４の修正範囲とし、前記第４の修正範囲のデータを前記加工プログラムから抽出する第４抽出ルールを含む抽出ルールを設定し、
前記抽出部は、前記第４抽出ルールに基づいて、前記加工プログラムから前記第４の修正範囲のデータを抽出し、
前記修正部は、前記抽出部により抽出された前記第４の修正範囲のデータを修正し、
前記生成部は、前記加工プログラムと、前記修正部により修正された前記第４の修正範囲のデータとに基づいて、前記修正後加工プログラムを生成することを特徴とする請求項３に記載の加工プログラム修正装置。
【請求項５】
前記抽出部により抽出された前記第１の修正範囲のデータを表示し、前記第１の修正範囲を編集する表示編集部を備え、
前記修正部は、前記表示編集部により編集された前記第１の修正範囲のデータを修正することを特徴とする請求項１に記載の加工プログラム修正装置。
【請求項６】
前記表示編集部は、パラメータの設定の入力を受け付け、受け付けたパラメータを対応する修正範囲に関連付けることを特徴とする請求項５に記載の加工プログラム修正装置。    
【請求項７】
加工プログラムの入力を受け付ける加工プログラム受付工程と、
前記加工プログラム中の第１の指令コードが有効な範囲を修正範囲とすることが指定された第１抽出ルールを含む抽出ルールを設定する抽出ルール設定工程と、
前記抽出ルールに基づいて、前記第１の指令コードが含まれるブロックを開始ブロックとし、同じモーダルグループの指令コードであって前記第１の指令コードと異なる指令コードである第２の指令コードを含むブロックの直前のブロックを終了ブロックとする第１の修正範囲を決定し、前記加工プログラムから前記第１の修正範囲のデータを抽出する抽出工程と、
前記抽出工程により抽出された前記第１の修正範囲のデータを修正する修正工程と、
前記加工プログラムと、前記修正工程により修正された前記第１の修正範囲のデータとに基づいて、修正後加工プログラムを生成する生成工程と、
を含むことを特徴とする加工プログラム修正方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、加工対象物を加工するための加工プログラムを編集する加工プログラム修正装置および加工プログラム修正方法に関する。
【背景技術】
【０００２】
加工プログラムは、数値制御装置、ＣＡＤ（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｄｅｓｉｇｎ）装置、またはＣＡＭ（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｍａｎｕｆａｃｔｕｒｉｎｇ）装置などにより生成される。加工プログラムとは、加工対象物および工具を予め設定された経路に移動させる移動指令などが記述されたプログラムである。【０００３】
ここで、加工プログラムの一部の修正が行われる場合がある。例えば、特許文献１には、予め指定した加工プログラム内の特定の範囲に対して変更を加える工作機械が開示されている。具体的には、特許文献１に記載の工作機械は、加工プログラムを表示領域に表示し、範囲指定ボタンの選択操作に応じて、表示領域に表示された加工プログラム内の範囲を指定し、編集ボタンの選択操作に応じて、指定された範囲内の制御コードを編集する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１５−２０７１３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載の工作機械は、加工プログラムの所望の範囲を指定する場合、作業者が範囲指定ボタンを操作する必要がある。【０００６】
例えば、長大な加工プログラムの中の一部を修正範囲として指定する場合、加工プログラムの中から複数の異なる部分を修正範囲として指定する場合などにおいては、範囲指定ボタンによる操作が煩雑となり、修正範囲の指定に多大な時間と手間とを要し、作業者の作業能率が低下する可能性がある。【０００７】
また、作業者は、加工プログラムの内容を理解していないと修正範囲の指定ができないため、加工プログラムの内容を理解するために時間を要する。このため、作業者の作業能率が低下する可能性がある。【０００８】
本発明は、上記に鑑みてなされたものであって、作業者の作業能率の低下を抑制しつつ加工プログラムの所望の修正範囲を指定することができる加工プログラム修正装置および加工プログラム修正方法を得ることを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するために、本発明は、加工プログラムの入力を受け付ける加工プログラム受付部と、加工プログラム中の第１の指令コードが有効な範囲を修正範囲とすることが指定された第１抽出ルールを含む抽出ルールを設定する抽出ルール設定部と、抽出ルールに基づいて、第１指令コードが含まれるブロックを開始ブロックとし、同じモーダルグループの指令コードであって第１の指令コードと異なる指令コードである第２の指令コードを含むブロックの直前のブロックを終了ブロックとする第１の修正範囲を決定し、加工プログラムから第１の修正範囲のデータを抽出する抽出部と、抽出部により抽出された第１の修正範囲のデータを修正する修正部と、加工プログラムと、修正部により修正された第１の修正範囲のデータとに基づいて、修正後加工プログラムを生成する生成部とを備える。
【発明の効果】
【００１０】
本発明にかかる加工プログラム修正装置は、作業者の作業能率の低下を抑制しつつ加工プログラムの所望の修正範囲を指定することができるという効果を奏する。
【図面の簡単な説明】
【００１１】
【図１】実施の形態１にかかる加工プログラム修正装置の構成を示す図
【図２】実施の形態１における加工プログラムの一例を示す図
【図３】実施の形態１における加工工程ごとの加工プログラム内の位置を示す情報の一例を示す図
【図４】実施の形態１における表示編集部の構成を示す図
【図５】実施の形態１における加工プログラム修正装置による加工プログラムを修正する動作を示すフローチャート
【図６】実施の形態１における加工プログラムの修正範囲を示す図
【図７】実施の形態１における加工プログラムの修正範囲を示す図
【図８】実施の形態１における加工プログラムの修正範囲を示す図
【図９】実施の形態２にかかる加工プログラム修正装置の構成を示す図
【図１０】実施の形態２における加工プログラム修正装置による加工プログラムを修正する動作を示すフローチャート
【図１１】実施の形態２における加工プログラムの一例を示す図
【図１２】実施の形態２における加工プログラムによって加工される形状の加工形状モデルを示す斜視図
【図１３】実施の形態２における加工プログラムによって加工される形状の加工形状モデルを示す断面図
【図１４】実施の形態２における工具データの一例を示す図
【図１５】実施の形態２における移動指令による経路と加工形状モデルとを示す図
【図１６】実施の形態２における工具モデルと加工形状モデルとが接していない状態を示す図
【図１７】実施の形態２における工具モデルと加工形状モデルとが接している状態を示す図
【図１８】実施の形態２における加工プログラムの修正範囲を示す図
【図１９】実施の形態２における加工プログラムの修正範囲を示す図
【図２０】実施の形態１および実施の形態２における加工プログラム修正装置のハードウェアの構成例を示す図
【発明を実施するための形態】
【００１２】
以下に、本発明の実施の形態にかかる加工プログラム修正装置および加工プログラム修正方法を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１３】
実施の形態１．
図１は、本発明の実施の形態１における加工プログラム修正装置１の構成を示す図である。加工プログラム修正装置１は、加工プログラムの入力を受け付ける加工プログラム受付部１１と、修正範囲のデータを加工プログラムから抽出するための抽出ルールを設定する抽出ルール設定部１２とを備える。抽出ルールは、例えば、「加工プログラム中のＧコードまたはＭコードなどの指令コードのうち、特定の指令コードが有効な範囲、または特定の指令コードが無効な範囲を抽出する」などである。また、修正範囲とは、加工プログラム修正装置１による加工プログラム中の修正対象を指示および要求するブロックの範囲、または、加工プログラム修正装置１による加工プログラム中の修正を許容するブロックの範囲である。
【００１４】
ここで、加工プログラムについて説明する。加工プログラムには、加工対象物と、加工対象物を加工する工具との相対的な移動を指令する指令コードを含む複数の指令コードが記述されている。図２は、加工プログラム１００の一例を示す図である。加工プログラム１００は、複数のブロックから構成されている。各ブロックは、「Ｎ００１」などのシーケンス番号１０１と、「Ｇ００Ｘ０．Ｙ０．」などの指令コード１０２とにより構成されている。なお、図２に示すブロックの構成は、一例であり、各ブロックは、シーケンス番号１０１および指令コード１０２以外の要素を含んでもよい。また、指令コード１０２は、例えば、Ｇコード、Ｍコード、およびマクロ文などによる文字列の予め定められたフォーマットで記述される。Ｇコードとは、例えば、数値制御によって位置決め、直線補間、円弧補間、平面指定を行う際に、加工プログラムに記述される指令コードである。Ｍコードは、加工を行うための補助機能を実現するための指令コードである。また、修正範囲のデータとは、修正範囲のブロックに含まれているシーケンス番号１０１および指令コード１０２である。
【００１５】
また、加工プログラム１００は、複数の加工工程に対応するデータから構成されている。図３は、加工工程ごとの加工プログラム１００内の位置を示す情報の一例を示す図である。当該情報は、加工工程の番号を示す工程番号と、加工工程の名称を示す加工工程名と、加工プログラム１００内の加工工程の開始を示す開始ブロックと、加工工程の終了を示す終了ブロックとにより構成されている。「加工工程１」は、開始ブロックが「Ｎ０１０」の番号のブロックであり、終了ブロックが「Ｎ０２８」の番号のブロックである。「加工工程２」は、開始ブロックが「Ｎ０２９」の番号のブロックであり、終了ブロックが「Ｎ０４６」の番号のブロックである。「加工工程３」は、開始ブロックが「Ｎ０５０」の番号のブロックであり、終了ブロックが「Ｎ０６９」の番号のブロックである。
【００１６】
また、加工プログラム修正装置１は、抽出ルールに基づいて、加工プログラムから修正範囲のデータを抽出する抽出部１３と、抽出部１３により抽出された修正範囲のデータを修正する修正部１４とを備える。修正部１４は、例えば、修正範囲のデータに含まれている指令コードを修正する。
【００１７】
加工プログラム修正装置１は、修正後加工プログラムを生成する生成部１５と、修正後加工プログラムを出力する加工プログラム出力部１６とを備える。生成部１５は、加工プログラムと、修正部１４により修正された修正範囲のデータとに基づいて、修正後加工プログラムを生成する。加工プログラム出力部１６は、生成部１５により生成された修正後加工プログラムを外部装置に出力する。
【００１８】
また、加工プログラム修正装置１は、加工プログラムを記憶する加工プログラム記憶部２１と、抽出ルールを記憶する抽出ルール記憶部２２と、修正範囲のデータを記憶する修正範囲記憶部２３と、修正後加工プログラムを記憶する修正後加工プログラム記憶部２４とを備える。
【００１９】
加工プログラムは、例えば、ＣＡＤ装置またはＣＡＭ装置により生成される。加工プログラム受付部１１は、ＣＡＤ装置またはＣＡＭ装置から加工プログラムの入力を受け付ける。なお、加工プログラム受付部１１は、外部媒体に保存されている加工プログラムの入力を受け付けてもよいし、作業者によるキーボードなどの加工プログラム修正装置１に備えられている入力機器の操作に応じて、加工プログラムの入力を受け付けてもよい。
【００２０】
加工プログラム受付部１１は、加工プログラムを加工プログラム記憶部２１に記憶させる。
【００２１】
つぎに、抽出ルール設定部１２による抽出ルールの設定方法について説明する。抽出ルールの設定方法には、予め定められている複数の抽出ルールの中から任意の抽出ルールを作業者に選択させ、当該選択に基づいて抽出ルールを設定する方法がある。なお、予め定められている複数の抽出ルールは、抽出ルール記憶部２２に記憶されている。
【００２２】
抽出ルールを設定する方法について説明する。抽出ルール設定部１２は、複数の抽出ルールを加工プログラム修正装置１に備えられている表示部に表示する。作業者は、キーボード、マウスなどの加工プログラム修正装置１に備えられている入力機器を操作して、複数の抽出ルールの中から抽出ルールを選択する。また、抽出ルールが選択されたとき、選択された抽出ルールによっては、作業者に数値または文字列の入力を求めることがある。抽出ルール設定部１２は、作業者による選択に応じて、または作業者による選択とこの選択時の要求により入力された数値または文字列とに応じて、抽出ルールを設定する。なお、複数の抽出ルールが選択された場合には、抽出ルール設定部１２は、選択された抽出ルールにおいて、重複する部分のみを抽出ルールとして設定してもよいし、また、選択された抽出ルールのすべてを抽出ルールとして設定してもよい。
【００２３】
抽出ルール設定部１２は、設定した抽出ルールを抽出ルール記憶部２２に記憶させる。
【００２４】
抽出部１３は、加工プログラム記憶部２１から加工プログラムを読み出す。また、抽出部１３は、抽出ルール記憶部２２から抽出ルールを読み出す。抽出部１３は、抽出ルールに基づいて、加工プログラムから修正範囲のデータを抽出する。抽出部１３は、抽出した修正範囲のデータを修正範囲記憶部２３に記憶させる。
【００２５】
修正部１４は、修正範囲記憶部２３から修正範囲のデータを読み出し、読み出したデータを修正する。詳細は後述するが、修正部１４は、パラメータに基づいて、読み出したデータを修正する。修正部１４は、修正した修正範囲のデータを修正範囲記憶部２３に記憶させる。以下では、修正部１４により修正された修正範囲のデータは、第１修正後データという。
【００２６】
生成部１５は、加工プログラムの修正範囲のデータを、第１修正後データに変更することにより修正後加工プログラムを生成する。
【００２７】
具体的には、生成部１５は、加工プログラム記憶部２１から加工プログラムを読み出す。また、生成部１５は、修正範囲記憶部２３から第１修正後データを読み出す。
【００２８】
生成部１５は、加工プログラムの修正範囲のデータを削除し、削除した部分に第１修正後データを挿入することにより修正後加工プログラムを生成する。なお、生成部１５は、加工プログラムの修正範囲のデータに第１修正後データを上書きすることにより修正後加工プログラムを生成してもよい。
【００２９】
生成部１５は、生成した修正後加工プログラムを修正後加工プログラム記憶部２４に記憶させる。
【００３０】
加工プログラム出力部１６は、修正後加工プログラム記憶部２４に記憶されている修正後加工プログラムを読み出し、読み出した修正後加工プログラムを数値制御装置などの外部装置に出力する。
【００３１】
よって、加工プログラム修正装置１は、抽出ルールに基づいて、加工プログラムから修正範囲のデータを抽出することができるので、作業者が加工プログラムを確認しながら修正範囲を指定する必要がなく、作業者による作業能率の低下を抑制することができる。また、加工プログラム修正装置１は、抽出ルールを設定することにより、所望の修正範囲を指定することができるので、加工プログラムの内容を理解する作業者の作業を低減し、作業者による作業能率の低下を抑制することができる。
【００３２】
また、加工プログラム修正装置１は、抽出部１３により抽出された修正範囲のデータを表示し、修正範囲を編集する表示編集部１７を備える。図４は、表示編集部１７の構成を示す図である。表示編集部１７は、抽出部１３により抽出された修正範囲のデータを表示する表示部１７ａと、作業者による操作を受け付ける操作部１７ｂとを備える。
【００３３】
作業者は、表示部１７ａに表示されている修正範囲を編集したい場合、操作部１７ｂを操作する。表示編集部１７は、操作部１７ｂにより受け付けた操作に基づいて、修正範囲を編集する。例えば、抽出ルールによって抽出された修正範囲が所望の範囲ではなかった場合、作業者は、操作部１７ｂを操作して、修正範囲のブロックを削除、または追加する。
【００３４】
表示編集部１７は、編集した修正範囲のデータを修正範囲記憶部２３に記憶させる。
【００３５】
なお、作業者は、表示部１７ａに表示されている修正範囲のデータを確認するだけで、修正範囲の編集を行わない場合もある。
【００３６】
よって、加工プログラム修正装置１は、修正部１４によって修正される前に修正範囲のデータを作業者に確認させることができる。例えば、作業者は、表示部１７ａに表示されている修正範囲のデータにより、所望の範囲のデータが抽出できているのかどうかの確認をすることができる。作業者は、所望の範囲のデータが表示部１７ａに表示されていなければ、所望の範囲のデータが抽出される抽出ルールに設定を変更することができる。
【００３７】
また、表示編集部１７は、修正範囲のデータを修正するためのパラメータの設定の入力を受け付け、受け付けたパラメータを、対応する修正範囲に関連付ける。具体的には、表示編集部１７は、受け付けたパラメータを修正範囲記憶部２３に記憶されている修正範囲に対応付けて、修正範囲記憶部２３に記憶する。パラメータは、例えば、修正範囲に対してどのような修正を行うかを指示および選択する情報、修正範囲のデータに含まれている指令コードにより示される指令点の座標を修正する場合に、どの程度の修正量まで許容するかというトレランス情報などである。
【００３８】
修正部１４は、修正範囲記憶部２３から修正範囲のデータと、修正範囲に関連付けられているパラメータとを読み出し、読み出したパラメータに基づいて修正範囲のデータを修正する。
【００３９】
また、加工プログラムに複数個所の修正範囲がある場合には、表示編集部１７は、それぞれの修正範囲に対してパラメータの入力を受け付け、受け付けた各パラメータを、対応するそれぞれの修正範囲に関連付ける。具体的には、表示編集部１７は、受け付けた各パラメータを修正範囲記憶部２３に記憶されているそれぞれの修正範囲に関連付ける。
【００４０】
修正部１４は、修正範囲記憶部２３から複数の修正範囲のデータと、各修正範囲に関連付けられているパラメータとを読み出し、読み出した各パラメータに基づいてそれぞれの修正範囲のデータを修正する。
【００４１】
よって、加工プログラム修正装置１は、加工プログラムに複数個所の修正範囲がある場合、受け付けた各パラメータに基づいて、対応するすべての修正範囲のデータを修正することができる。
【００４２】
ここで、加工プログラム修正装置１による加工プログラムを修正する動作について、図５に示すフローチャートを用いて説明する。
【００４３】
ステップＳＴ１において、加工プログラム受付部１１は、加工プログラムの入力を受け付ける。加工プログラム受付部１１は、加工プログラムを加工プログラム記憶部２１に記憶させる。
【００４４】
ステップＳＴ２において、抽出ルール設定部１２は、予め定められている抽出ルールの中から選択することにより抽出ルールを設定する。予め定められている抽出ルールは、例えば、「加工プログラム中のＧコードまたはＭコードなどの指令コードのうち、特定の指令コードが有効な範囲、または特定の指令コードが無効な範囲を抽出する」、「加工プログラム中に特定文字列を含む範囲、または特定文字列を含まない範囲を抽出する」、「加工プログラム中の特定の加工工程の範囲を抽出する」などである。抽出ルールは、これらに限定されない。また、抽出ルールが選択されたとき、選択された抽出ルールによっては、作業者に数値または文字列の入力を求めることがある。例えば、選択された抽出ルールが「加工プログラム中のＧコードまたはＭコードなどの指令コードのうち、特定の指令コードが有効な範囲、または特定の指令コードが無効な範囲を抽出する」である場合、作業者は、特定の指令コードを表す数値または文字列を入力する。また、選択された抽出ルールが、「加工プログラム中に特定文字列を含む範囲、または特定文字列を含まない範囲を抽出する」である場合、作業者は、特定文字列を表す数値または文字列を入力する。また、複数の抽出ルールが選択された場合には、複数の抽出ルールの論理積または論理和などの論理演算によって抽出ルールが設定される。また、抽出ルールは、作業者により選択または入力された内容に基づいて設定される。抽出ルール設定部１２は、設定した抽出ルールを抽出ルール記憶部２２に記憶させる。
【００４５】
ステップＳＴ３において、抽出部１３は、ステップＳＴ２の工程により設定された抽出ルールに基づいて、加工プログラムから修正範囲のデータを抽出する。抽出部１３は、抽出した修正範囲のデータを修正範囲記憶部２３に記憶させる。
【００４６】
ステップＳＴ４において、表示編集部１７は、修正範囲記憶部２３から修正範囲のデータを読み出し、読み出した修正範囲のデータを表示する。また、表示編集部１７は、修正範囲のデータを表示するとともに、パラメータの入力を促す画面を表示する。例えば、パラメータの入力を促す画面は、メニューにパラメータを設定するボタンが表示される形態でもよい。また、表示編集部１７は、作業者の操作に応じて修正範囲を編集した場合には、編集した修正範囲のデータを修正範囲記憶部２３に記憶させる。
【００４７】
また、表示編集部１７は、修正範囲のデータを修正するためのパラメータの設定の入力を受け付けた場合、受け付けたパラメータを、対応する修正範囲に関連付ける。なお、パラメータの設定の入力を受け付けなかった場合には、表示編集部１７は、予め定められているパラメータを、対応する修正範囲に関連付けてもよい。以下では、表示編集部１７は、修正範囲のデータを修正するためのパラメータの設定の入力を受け付けた場合を想定して説明する。
【００４８】
ステップＳＴ５において、抽出ルール設定部１２は、抽出ルールの再設定が行われたかどうかを判断する。表示編集部１７は、抽出ルールの再設定を促す画面を表示する。例えば、抽出ルールの再設定を促す画面は、メニューに抽出ルールを再設定するボタンが表示される形態でもよい。抽出ルール設定部１２は、抽出ルールの再設定が行われたと判断した場合（ステップＳＴ５  Ｙｅｓ）は、ステップＳＴ２に戻り、抽出ルールの再設定が行われていないと判断した場合（ステップＳＴ５  Ｎｏ）は、ステップＳＴ６に進む。
【００４９】
ステップＳＴ６において、修正部１４は、修正範囲記憶部２３から修正範囲のデータと、修正範囲に関連付けられているパラメータとを読み出し、読み出したパラメータに基づいて修正範囲のデータを修正する。修正部１４は、修正した修正範囲のデータを修正範囲記憶部２３に記憶させる。
【００５０】
ステップＳＴ７において、生成部１５は、加工プログラムの修正範囲のデータを、ステップＳＴ６の工程により修正した修正範囲のデータに変更することにより修正後加工プログラムを生成する。生成部１５は、生成した修正後加工プログラムを修正後加工プログラム記憶部２４に記憶させる。
【００５１】
ステップＳＴ８において、加工プログラム出力部１６は、修正後加工プログラム記憶部２４に記憶されている修正後加工プログラムを読み出し、読み出した修正後加工プログラムを数値制御装置などの外部装置に出力する。
【００５２】
よって、加工プログラム修正装置１は、作業者が任意に設定した抽出ルールに基づいて、加工プログラムから修正範囲のデータを抽出することができるので、作業者が加工プログラムを確認しながら修正範囲を指定する必要がなく、作業者による作業能率の低下を抑制することができる。
【００５３】
また、抽出ルール設定部１２は、単一または複数の指令コードが有効な範囲を修正範囲とし、修正範囲のデータを加工プログラムから抽出する第１抽出ルールを設定する。抽出部１３は、第１抽出ルールに基づいて、単一または複数の指令コードが有効な範囲のデータを加工プログラムから抽出する。
【００５４】
ここで、抽出ルールの一例として、「ワーク座標系選択Ｇ５５が有効な範囲のデータを抽出する」が選択された場合において、加工プログラム１００から修正範囲のデータを抽出する手順について説明する。
【００５５】
抽出部１３は、加工プログラムからワーク座標系選択Ｇ５５が有効な範囲のデータを抽出する。具体的には、抽出部１３は、加工プログラムの最初のブロック「Ｎ００１  Ｏ１００」から順番に、「Ｇ５５」の文字列が含まれるブロックを探索する。なお、以下では、ブロック「Ｎ００１  Ｏ１００」をブロック「Ｎ００１・・・」として表現する。
【００５６】
本実施の形態１では、ブロック「Ｎ０５０・・・」に「Ｇ５５」の文字列が含まれている。抽出部１３は、ブロック「Ｎ０５０・・・」を修正範囲の開始ブロックにする。
【００５７】
つぎに、抽出部１３は、加工プログラムから「Ｇ５５」の指令が無効になるブロックを探索する。「Ｇ５５」が無効になるのは、「Ｇ５５」と同じモーダルグループの指令コードである「Ｇ５４」、「Ｇ５６」から「Ｇ５９」のいずれかが指令される場合である。
【００５８】
よって、抽出部１３は、「Ｇ５５」が指令されたブロック「Ｎ０５０・・・」以降のブロック内に、「Ｇ５４」、「Ｇ５６」から「Ｇ５９」のいずれかの文字列が含まれるブロックを探索する。本実施の形態１では、ブロック「Ｎ０７０・・・」に「Ｇ５４」の文字列が含まれている。抽出部１３は、ブロック「Ｎ０７０・・・」の直前のブロック「Ｎ０６９・・・」を修正範囲の終了ブロックにする。
【００５９】
よって、抽出部１３は、図６に示すように、ブロック「Ｎ０５０・・・」からブロック「Ｎ０６９・・・」までの範囲を修正範囲ｒ１とし、修正範囲ｒ１のデータを抽出する。図６は、加工プログラム１００の修正範囲ｒ１を示す図である。
【００６０】
また、抽出ルールの一例として、「ワーク座標系選択Ｇ５５が有効な範囲のデータを抽出する」と「円弧補間指令Ｇ０２またはＧ０３が指令される範囲のデータを抽出する」とが選択された場合において、加工プログラム１００から修正範囲のデータを抽出する手順について説明する。なお、以下では、ワーク座標系選択Ｇ５５が有効な範囲であって、円弧補間指令Ｇ０２またはＧ０３が指令される範囲のデータを抽出する場合について説明する。
【００６１】
抽出部１３は、上述と同様の手順で加工プログラムからワーク座標系選択Ｇ５５が有効な範囲を第１修正候補範囲とする。よって、抽出部１３は、ブロック「Ｎ０５０・・・」からブロック「Ｎ０６９・・・」までの範囲を第１修正候補範囲とする。
【００６２】
つぎに、抽出部１３は、加工プログラムから「Ｇ０２」または「Ｇ０３」の円弧補間指令による動作指令がなされているブロックを探索する。
【００６３】
具体的には、抽出部１３は、加工プログラムの先頭のブロック「Ｎ００１・・・」から順番に、「Ｇ０２」または「Ｇ０３」の文字列が含まれるブロックを探索する。
【００６４】
例えば、抽出部１３は、加工プログラムの最初のブロック「Ｎ００１・・・」から順番に、「Ｇ０２」または「Ｇ０３」の文字列が含まれるブロックを探索する、または、円弧補間指令以降で同じグループモーダルの補間指令が指令されるまでの移動指令のブロックを探索する。
【００６５】
本実施の形態１では、ブロック「Ｎ０１６・・・」，ブロック「Ｎ０１８・・・」，ブロック「Ｎ０２０・・・」，ブロック「Ｎ０２２・・・」，ブロック「Ｎ０２６・・・」，ブロック「Ｎ０５７・・・」からブロック「Ｎ０６８・・・」に「Ｇ０２」または「Ｇ０３」の文字列が含まれている。
【００６６】
抽出部１３は、「Ｇ０２」または「Ｇ０３」の文字列が含まれているこれらのブロックを第２修正候補範囲とする。
【００６７】
抽出部１３は、第１修正候補範囲と第２修正候補範囲との重複する範囲を修正範囲にする。よって、抽出部１３は、図７に示すように、ブロック「Ｎ０５７・・・」からブロック「Ｎ０６８・・・」までの範囲を修正範囲ｒ２とし、修正範囲ｒ２のデータを抽出する。図７は、加工プログラム１００の修正範囲ｒ２を示す図である。
【００６８】
また、抽出ルール設定部１２は、加工工程が選択された場合、選択された加工工程の範囲を修正範囲とし、修正範囲のデータを加工プログラムから抽出するための第２抽出ルールを設定する。なお、上述したように加工プログラムは、複数の加工工程に対応するデータから構成されている。
【００６９】
抽出部１３は、加工工程ごとの加工プログラム１００内の位置を示す情報および第２抽出ルールに基づいて、修正範囲のデータを加工プログラムから抽出する。
【００７０】
ここで、抽出ルールの一例として、「加工工程２の範囲のデータを抽出する」と「直線補間Ｇ０１が指令される範囲のデータを抽出する」とが選択された場合において、加工プログラム１００から修正範囲のデータを抽出する手順について説明する。なお、以下では、「加工工程２」の範囲であって、直線補間Ｇ０１が指令される範囲のデータを抽出する場合について説明する。
【００７１】
抽出部１３は、加工プログラムから「加工工程２」の範囲のデータを抽出する。「加工工程２」の範囲は、図３に示すように、ブロック「Ｎ０２９・・・」からブロック「Ｎ０４６・・・」である。よって、抽出部１３は、ブロック「Ｎ０２９・・・」からブロック「Ｎ０４６・・・」までの範囲を第１修正候補範囲とする。
【００７２】
つぎに、抽出部１３は、加工プログラムから「Ｇ０１」の補間指令による動作指令がなされているブロックを探索する。例えば、抽出部１３は、加工プログラムの最初のブロック「Ｎ００１・・・」から順番に、「Ｇ０１」の文字列が含まれるブロックを探索する、または、直線補間指令以降で同じグループモーダルの補間指令が指令されるまでの移動指令のブロックを探索する。
【００７３】
本実施の形態１では、ブロック「Ｎ０１１・・・」，ブロック「Ｎ０１３・・・」からブロック「Ｎ０１５・・・」，ブロック「Ｎ０１７・・・」，ブロック「Ｎ０１９・・・」，ブロック「Ｎ０２１・・・」，ブロック「Ｎ０２３」からブロック「Ｎ０２５・・・」，ブロック「Ｎ０３０・・・」からブロック「Ｎ０４６・・・」，ブロック「Ｎ０５１」からブロック「Ｎ０５６・・・」，ブロック「Ｎ０６９・・・」に「Ｇ０１」の文字列が含まれている。抽出部１３は、「Ｇ０１」の文字列が含まれているこれらのブロックを第２修正候補範囲とする。
【００７４】
抽出部１３は、第１修正候補範囲と第２修正候補範囲との重複する範囲を修正範囲にする。よって、抽出部１３は、図８に示すように、ブロック「Ｎ０３０・・・」からブロック「Ｎ０４６・・・」までの範囲を修正範囲ｒ３とし、修正範囲ｒ３のデータを抽出する。図８は、加工プログラム１００の修正範囲ｒ３を示す図である。
【００７５】
実施の形態１における加工プログラム修正装置１は、抽出ルールに基づいて、加工プログラムから修正範囲のデータを抽出することができるので、作業者が加工プログラムを確認しながら修正範囲を指定する必要がなく、作業者による作業能率の低下を抑制することができる。
【００７６】
また、実施の形態１における加工プログラム修正装置１は、抽出ルール設定部１２により、単一または複数の指令コードが有効な範囲を修正範囲とし、修正範囲のデータを加工プログラムから抽出する第１抽出ルールを設定し、抽出部１３により、第１抽出ルールに基づいて、単一または複数の指令コードが有効な範囲のデータを加工プログラムから抽出する。よって、実施の形態１における加工プログラム修正装置１は、作業者が加工プログラムを確認しながら修正範囲を指定する必要がなく、作業者による作業能率の低下を抑制することができる。
【００７７】
また、実施の形態１における加工プログラム修正装置１は、抽出ルール設定部１２により、複数の加工工程の中から、選択された加工工程の範囲を修正範囲とし、修正範囲のデータを加工プログラムから抽出する第２抽出ルールを設定する。実施の形態１における加工プログラム修正装置１は、抽出部１３により、加工工程ごとの加工プログラム１００内の位置を示す情報および第２抽出ルールに基づいて、修正範囲のデータを加工プログラム１００から抽出する。よって、実施の形態１における加工プログラム修正装置１は、作業者が加工プログラムを確認しながら修正範囲を指定する必要がなく、作業者による作業能率の低下を抑制することができる。
【００７８】
また、実施の形態１における加工プログラム修正装置１は、加工プログラムの修正範囲を表示し、編集を受け付ける表示編集部１７を備えることにより、抽出された修正範囲を表示することによって修正前に修正範囲を確認することができ、手戻りが減少して、作業者による作業能率の低下を抑制することができる。また、実施の形態１における加工プログラム修正装置１は、修正後に修正範囲を確認することで修正の結果の確認が容易になり、作業者による作業能率の低下を抑制することができる。
【００７９】
また、実施の形態１における加工プログラム修正装置１は、表示編集部１７により、各々の修正範囲について加工プログラムを修正するためのパラメータの設定を受け付け、修正部１４により、各々の修正範囲に設定されたパラメータに基づいて加工プログラムを修正するので、複数の修正範囲が抽出された場合に、各々の修正範囲に対して異なる変換パラメータを設定することができ、一つの加工プログラムを複数回修正することなく一度で修正することができ、作業者による作業能率の低下を抑制することができる。
【００８０】
実施の形態２．
図９は、本発明の実施の形態２における加工プログラム修正装置２の構成を示す図である。加工プログラム修正装置２は、形状データの入力を受け付ける形状データ受付部３１と、工具データの入力を受け付ける工具データ受付部３２と、形状データが記憶される形状データ記憶部２５と、工具データが記憶される工具データ記憶部２６とを備える点が実施の形態１における加工プログラム修正装置１の構成と異なる。以下では、実施の形態１における加工プログラム修正装置１の構成と同一の構成には同一の符号を付し、説明を省略する。
【００８１】
加工プログラム修正装置２は、加工プログラムの入力を受け付ける加工プログラム受付部１１と、加工対象物の加工形状モデルを定義する情報である形状データの入力を受け付ける形状データ受付部３１と、工具の工具モデルを定義する情報である工具データの入力を受け付ける工具データ受付部３２とを備える。
【００８２】
形状データは、例えば、ＣＡＤ装置またはＣＡＭ装置により生成される。ＣＡＤ装置またはＣＡＭ装置は、作業者の操作に応じて予め定められたフォーマットの形状データを生成する。形状データ受付部３１は、形状データの入力を受け付ける。なお、形状データ受付部３１は、作業者によるキーボードなどの加工プログラム修正装置２に備えられている入力機器の操作に応じて、形状データの入力を受け付けてもよい。
【００８３】
工具データは、例えば、ＣＡＤ装置またはＣＡＭ装置により生成される。ＣＡＤ装置またはＣＡＭ装置は、作業者の操作に応じて予め定められたフォーマットの工具データを生成する。工具データ受付部３２は、工具データの入力を受け付ける。なお、工具データ受付部３２は、作業者によるキーボードなどの加工プログラム修正装置２に備えられている入力機器の操作に応じて、工具データの入力を受け付けてもよい。なお、工具データは、抽出部１３において工具モデルを生成するために必要な情報であって、例えば、工具の種類、工具径、工具長などの情報から構成される。
【００８４】
加工プログラム修正装置２は、修正範囲のデータを加工プログラムから抽出するための抽出ルールを設定する抽出ルール設定部１２と、抽出ルールに基づいて、加工プログラムから修正範囲のデータを抽出する抽出部１３とを備える。抽出部１３は、抽出ルール、形状データ、および工具データに基づいて、加工プログラムから修正範囲のデータを抽出する。
【００８５】
加工プログラム修正装置２は、抽出部１３により抽出された修正範囲のデータを修正する修正部１４と、加工プログラムと、修正部１４により修正された修正範囲のデータとに基づいて、修正後加工プログラムを生成する生成部１５と、生成部１５により生成された修正後加工プログラムを外部装置に出力する加工プログラム出力部１６とを備える。
【００８６】
加工プログラム修正装置２は、抽出部１３により抽出された修正範囲のデータを表示し、修正範囲を編集する表示編集部１７を備える。
【００８７】
加工プログラム修正装置２は、加工プログラムを記憶する加工プログラム記憶部２１と、抽出ルールを記憶する抽出ルール記憶部２２と、修正範囲のデータを記憶する修正範囲記憶部２３と、修正後加工プログラムを記憶する修正後加工プログラム記憶部２４とを備える。加工プログラム修正装置２は、形状データが記憶される形状データ記憶部２５と、工具データが記憶される工具データ記憶部２６とを備える。
【００８８】
ここで、加工プログラム修正装置２による加工プログラムを修正する動作について、図１０に示すフローチャートを用いて説明する。
【００８９】
ステップＳＴ１１において、加工プログラム受付部１１は、加工プログラムの入力を受け付ける。加工プログラム受付部１１は、加工プログラムを加工プログラム記憶部２１に記憶させる。
【００９０】
ステップＳＴ１２において、形状データ受付部３１は、形状データの入力を受け付ける。形状データ受付部３１は、形状データを形状データ記憶部２５に記憶させる。
【００９１】
ステップＳＴ１３において、工具データ受付部３２は、工具データの入力を受け付ける。工具データ受付部３２は、工具データを工具データ記憶部２６に記憶させる。
【００９２】
ステップＳＴ１４において、抽出ルール設定部１２は、抽出ルールを設定する。抽出ルールは、作業者により選択または入力された内容に基づいて設定される。抽出ルール設定部１２は、設定した抽出ルールを抽出ルール記憶部２２に記憶させる。
【００９３】
ステップＳＴ１５において、抽出部１３は、ステップＳＴ１２の工程により受け付けた形状データ、ステップＳＴ１３の工程により受け付けた工具データ、およびステップＳＴ１４の工程により設定された抽出ルールに基づいて、加工プログラムから修正範囲のデータを抽出する。抽出部１３は、抽出した修正範囲のデータを修正範囲記憶部２３に記憶させる。
【００９４】
ステップＳＴ１６において、表示編集部１７は、修正範囲記憶部２３から修正範囲のデータを読み出し、読み出した修正範囲のデータを表示する。また、表示編集部１７は、作業者の操作に応じて修正範囲を編集した場合には、編集した修正範囲のデータを修正範囲記憶部２３に記憶させる。
【００９５】
また、表示編集部１７は、修正範囲のデータを修正するためのパラメータの設定の入力を受け付けた場合、受け付けたパラメータを対応する修正範囲に関連付ける。なお、パラメータの設定の入力を受け付けなかった場合には、表示編集部１７は、予め定められているパラメータを対応する修正範囲に関連付けてもよい。以下では、表示編集部１７は、修正範囲のデータを修正するためのパラメータの設定の入力を受け付けた場合を想定して説明する。
【００９６】
ステップＳＴ１７において、抽出ルール設定部１２は、抽出ルールの再設定が行われたかどうかを判断する。抽出ルール設定部１２は、抽出ルールの再設定が行われたと判断した場合（ステップＳＴ１７  Ｙｅｓ）は、ステップＳＴ１４に戻り、抽出ルールの再設定が行われていないと判断した場合（ステップＳＴ１７  Ｎｏ）は、ステップＳＴ１８に進む。
【００９７】
ステップＳＴ１８において、修正部１４は、修正範囲記憶部２３から修正範囲のデータと、修正範囲に関連付けられているパラメータとを読み出し、読み出したパラメータに基づいて修正範囲のデータを修正する。修正部１４は、修正した修正範囲のデータを修正範囲記憶部２３に記憶させる。
【００９８】
ステップＳＴ１９において、生成部１５は、加工プログラムの修正範囲のデータを、ステップＳＴ１８の工程により修正した修正範囲のデータに変更することにより修正後加工プログラムを生成する。生成部１５は、生成した修正後加工プログラムを修正後加工プログラム記憶部２４に記憶させる。
【００９９】
ステップＳＴ２０において、加工プログラム出力部１６は、修正後加工プログラム記憶部２４に記憶されている修正後加工プログラムを読み出し、読み出した修正後加工プログラムを数値制御装置などの外部装置に出力する。
【０１００】
よって、加工プログラム修正装置２は、作業者が任意に設定した抽出ルールに基づいて、加工プログラムから修正範囲のデータを抽出することができるので、作業者が加工プログラムを確認しながら修正範囲を指定する必要がなく、作業者による作業能率の低下を抑制することができる。
【０１０１】
また、抽出ルール設定部１２は、工具データに基づいて生成される工具モデルが移動する工具経路上に工具モデルを仮想的に通過させる。抽出ルール設定部１２は、工具モデルと形状データに基づいて生成される加工形状モデルとが接する状態になる仕上げ加工を行う範囲を修正範囲とする。また、抽出ルール設定部１２は、工具モデルと加工形状モデルとが接しない状態になる荒加工を行う範囲を修正範囲とする。抽出ルール設定部１２は、仕上げ加工を行う範囲、または、荒加工を行う範囲を修正範囲とし、修正範囲のデータを加工プログラムから抽出するルールを第３抽出ルールとして設定する。
【０１０２】
抽出部１３は、第３抽出ルールに基づいて、加工プログラムから仕上げ加工の範囲または荒加工の範囲のデータを抽出する。
【０１０３】
また、抽出ルール設定部１２は、工具データに基づいて生成される工具モデルが移動する工具経路上に工具モデルを仮想的に通過させる。抽出ルール設定部１２は、工具モデルと形状データに基づいて生成される加工形状モデルの任意の曲面とが接している状態になる範囲を修正範囲とし、修正範囲のデータを加工プログラムから抽出するルールを第４抽出ルールとして設定する。
【０１０４】
抽出部１３は、第４抽出ルールに基づいて、加工プログラムから工具モデルと加工形状モデルの任意の曲面とが接している状態になる範囲のデータを抽出する。
【０１０５】
ここで、加工プログラム修正装置２の具体的な動作について説明する。図１１は、加工プログラム２００の一例を示す図である。加工プログラム２００は、指令位置を３次元の座標アドレス「Ｘ」、「Ｙ」および「Ｚ」とこれらに続く数値とにより座標を示している。
【０１０６】
図１２は、加工プログラム２００によって加工される形状の加工形状モデルＭ１の斜視図である。図１３は、加工形状モデルＭ１の断面図である。加工形状モデルＭ１は、加工曲面Ｓ０から加工曲面Ｓ３を有する。
【０１０７】
また、図１３に示すように、加工曲面Ｓ０と加工曲面Ｓ１とは、接続位置ｅ０において接続されている。また、加工曲面Ｓ１と加工曲面Ｓ２とは、接続位置ｅ１において接続されている。また、加工曲面Ｓ２と加工曲面Ｓ３とは、接続位置ｅ２において接続されている。
【０１０８】
また、図１４は、工具データの一例を示す図である。工具データは、工具の番号を示す工具番号と、工具の種別を示す工具種別と、工具の長さを示す工具長と、工具の直径を示す工具径と、コーナの半径を示すコーナＲとにより構成される。本実施の形態２では、加工プログラム２００で指令される工具は、工具番号１の工具であるとする。
【０１０９】
抽出ルール設定部１２において、「加工プログラム中の仕上げ加工を行う範囲のデータを抽出する」が抽出ルールとして設定された場合について説明する。
【０１１０】
抽出部１３は、加工プログラム２００から仕上げ加工を行う範囲のデータを抽出する。具体的には、抽出部１３は、加工プログラム２００中の移動指令による経路に沿って工具モデルを移動させた際に、工具モデルと加工形状モデルとが接する状態になる範囲のデータを抽出する。
【０１１１】
まず、抽出部１３は、加工プログラム２００中の各ブロックの移動指令を抽出し、抽出した移動指令に基づいて、経路を生成する。経路には、指令点が含まれている。
【０１１２】
図１５は、抽出部１３により生成された移動指令による経路と加工形状モデルＭ１とを示す図である。図１５には、早送り指令による経路Ｐ１と、直線補間指令による経路Ｐ２とが示されている。
【０１１３】
また、指令点ＣＬ０１２から指令点ＣＬ０５４の各指令点は、加工プログラム２００中の移動指令の指令座標が記述されているブロック「Ｎ０１２・・・」からブロック「Ｎ０５３・・・」の各ブロックに対応している。
【０１１４】
つぎに、抽出部１３は、指令点ＣＬ０１２から指令点ＣＬ０５４の各指令点に工具データにより定義される工具モデルを仮想的に配置した際に、工具モデルと加工形状モデルとが接しているか否かを判定する。この判定は、工具モデルと加工形状モデルとの最短距離を用いて判定することができる。例えば、抽出部１３は、工具モデルと加工形状モデルとの最短距離がゼロまたは予め定められた距離の場合には、工具モデルと加工形状モデルとが接していると判定する。
【０１１５】
図１６は、工具モデルＴ１と加工形状モデルＭ１とが接していない状態を示す図である。なお、図１６中のＣＬは、指令点を示している。図１７は、工具モデルＴ１と加工形状モデルＭ１とが接している状態を示す図である。なお、図１７中のＣＬは、指令点を示している。
【０１１６】
本実施の形態２では、指令点ＣＬ０４０から指令点ＣＬ０５４に工具番号１の工具モデルを配置した際に、工具モデルと加工形状モデルとが接する。
【０１１７】
よって、抽出部１３は、図１８に示すように、指令点ＣＬ０４０から指令点ＣＬ０５４に対応する加工プログラム２００中のブロック「Ｎ０４０・・・」からブロック「Ｎ０５４・・・」までの範囲を修正範囲ｒ４とし、修正範囲ｒ４のデータを抽出する。図１８は、加工プログラム２００の修正範囲ｒ４を示す図である。
【０１１８】
つぎに、抽出ルール設定部１２において、「加工プログラム２００中の加工形状モデルの加工曲面Ｓ１を加工する範囲のデータを抽出する」が抽出ルールとして設定された場合について説明する。
【０１１９】
抽出部１３は、加工プログラム２００から加工形状モデルの加工曲面Ｓ１を加工する範囲のデータを抽出する。具体的には、抽出部１３は、加工プログラム２００中の移動指令による経路に沿って工具モデルを移動させた際に、工具モデルと加工曲面Ｓ１とが接する状態となる範囲のデータを抽出する。
【０１２０】
まず、抽出部１３は、加工プログラム２００中の各ブロックの移動指令を抽出し、抽出した移動指令に基づいて、経路を生成する。
【０１２１】
つぎに、抽出部１３は、指令点ＣＬ０１２から指令点ＣＬ０５４の各指令点に工具データにより定義される工具モデルを仮想的に配置した際に、工具モデルと加工曲面Ｓ１とが接するか否かを判定する。この判定は、工具モデルと加工曲面Ｓ１との最短距離を用いて判定することができる。例えば、抽出部１３は、工具モデルと加工曲面Ｓ１との最短距離がゼロまたは予め定められた距離の場合には、工具モデルと加工曲面Ｓ１とが接していると判定する。
【０１２２】
本実施の形態２では、指令点ＣＬ０４１から指令点ＣＬ０５１に工具番号１の工具モデルを配置した際に、工具モデルと加工曲面Ｓ１が接する。
【０１２３】
よって、抽出部１３は、図１９に示すように、指令点ＣＬ０４１から指令点ＣＬ０５１に対応する加工プログラム２００中のブロック「Ｎ０４１・・・」からブロック「Ｎ０５１・・・」までの範囲を修正範囲ｒ５とし、修正範囲ｒ５からデータを抽出する。図１９は、加工プログラム２００の修正範囲ｒ５を示す図である。
【０１２４】
ここで、特許第６１５７７８１号公報には、加工曲面に工具が接しない指令があった場合に、工具が加工曲面に接するように修正指令点の修正すべき方向である指令点修正方向に従って修正指令点を修正することにより工具経路データを修正する装置が開示されている。
【０１２５】
具体的には、特許第６１５７７８１号公報に記載の装置は、加工プログラムである工具経路データ、工具データ、および形状に基づいて、工具経路データに記述される指令点へ配置した際の、加工形状の加工曲面上であって工具による被加工点の情報である被切削点情報を算出する。工具経路データおよび被切削点情報に基づいて、工具経路データに記述される指令点から修正すべき指令点である修正指令点を抽出する。抽出した修正指令点に基づいて、修正指令点の修正すべき方向である指令点修正方向を決定する。工具が加工曲面に接するように指令点修正方向に従って修正指令点を修正することにより工具経路データを修正する。
【０１２６】
修正部１４は、上述した特許第６１５７７８１号公報にかかる発明を利用して、抽出部１３により抽出した修正範囲のデータを修正してもよい。
【０１２７】
よって、実施の形態２における加工プログラム修正装置２は、形状データ、工具データ、および抽出ルールに基づいて、加工プログラムから修正範囲のデータを抽出することができるので、作業者が加工プログラムを確認しながら修正範囲を指定する必要がなく、作業者による作業能率の低下を抑制することができる。また、実施の形態２における加工プログラム修正装置２は、抽出ルールを設定することにより、所望の修正範囲を指定することができるので、加工プログラムの内容を理解する作業者の作業を低減し、作業者による作業能率の低下を抑制することができる。
【０１２８】
また、実施の形態２における加工プログラム修正装置２は、作業者が任意に設定した抽出ルールに基づいて、加工プログラムから工具モデルと加工形状モデルの任意の曲面とが接している状態になる範囲のデータを抽出することができるので、作業者が工具モデルと加工形状モデルの任意の曲面とが接している状態になる範囲を指定する必要がなく、作業者による作業能率の低下を抑制することができる。
【０１２９】
また、実施の形態２における加工プログラム修正装置２は、作業者が任意に設定した抽出ルールに基づいて、加工プログラムから仕上げ加工の範囲または荒加工の範囲のデータを抽出することができるため、作業者が仕上げ加工の範囲または荒加工の範囲を指定する必要がなく、作業者による作業能率の低下を抑制することができる。
【０１３０】
図２０は、加工プログラム修正装置１，２のハードウェア構成例を示す図である。加工プログラム修正装置１，２は、コンピュータであり、出力部３０１、プロセッサ３０２、メモリ３０３、表示部３０４および入力部３０５を備える。図１および図９に示した加工プログラム出力部１６は、出力部３０１により実現される。
【０１３１】
図１および図９に示した抽出ルール設定部１２、抽出部１３、修正部１４および生成部１５は、メモリ３０３に格納されたプログラムがプロセッサ３０２により実行されることにより実現される。
【０１３２】
図１に示した加工プログラム記憶部２１、抽出ルール記憶部２２、修正範囲記憶部２３および修正後加工プログラム記憶部２４、および図９に示した加工プログラム記憶部２１、抽出ルール記憶部２２、修正範囲記憶部２３、修正後加工プログラム記憶部２４、形状データ記憶部２５、工具データ記憶部２６は、メモリ３０３により実現される。
【０１３３】
プロセッサ３０２は、例えば、ＣＰＵ、マイクロプロセッサなどであり、処理回路である。メモリ３０３は、プロセッサ３０２によりプログラムが実行される際の記憶領域としても用いられる。
【０１３４】
図１に示した加工プログラム受付部１１、および図９に示した加工プログラム受付部１１、形状データ受付部３１、工具データ受付部３２は、入力部３０５により実現される。
【０１３５】
図１および図９に示した表示編集部１７は、表示部３０４および入力部３０５が一体化されたタッチパネルにより実現される。なお、表示編集部１７の表示機能は、表示部３０４により実現されてもよい。また、表示編集部１７の編集機能は、入力部３０５により実現されてもよい。
【０１３６】
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
【符号の説明】
【０１３７】
１，２  加工プログラム修正装置、１１  加工プログラム受付部、１２  抽出ルール設定部、１３  抽出部、１４  修正部、１５  生成部、１６  加工プログラム出力部、１７  表示編集部、１７ａ  表示部、１７ｂ  操作部、２１  加工プログラム記憶部、２２  抽出ルール記憶部、２３  修正範囲記憶部、２４  修正後加工プログラム記憶部、２５  形状データ記憶部、２６  工具データ記憶部、３１  形状データ受付部、３２  工具データ受付部、１００，２００  加工プログラム。
【要約】
加工プログラムの入力を受け付ける加工プログラム受付部（１１）と、修正範囲のデータを加工プログラムから抽出するための抽出ルールを設定する抽出ルール設定部（１２）と、抽出ルールに基づいて、加工プログラムから修正範囲のデータを抽出する抽出部（１３）と、抽出部（１３）により抽出された修正範囲のデータを修正する修正部（１４）と、加工プログラムと、修正部（１４）により修正された修正範囲のデータとに基づいて、修正後加工プログラムを生成する生成部（１５）とを備える。【図１】
0006479275.tif 000002
【図２】
0006479275.tif 000003
【図３】
0006479275.tif 000004
【図４】
0006479275.tif 000005
【図５】
0006479275.tif 000006
【図６】
0006479275.tif 000007
【図７】
0006479275.tif 000008
【図８】
0006479275.tif 000009
【図９】
0006479275.tif 000010
【図１０】
0006479275.tif 000011
【図１１】
0006479275.tif 000012
【図１２】
0006479275.tif 000013
【図１３】
0006479275.tif 000014
【図１４】
0006479275.tif 000015
【図１５】
0006479275.tif 000016
【図１６】
0006479275.tif 000017
【図１７】
0006479275.tif 000018
【図１８】
0006479275.tif 000019
【図１９】
0006479275.tif 000020
【図２０】
0006479275.tif 000021