(57)【特許請求の範囲】
【請求項１】
工作機械を用いて、２つ以上の区間からなる加工経路に沿って被加工物を加工するための加工プログラムを編集する加工プログラム編集装置であって、
表示領域内に元の加工経路を表示するとともに、前記表示領域を介する作業者の入力操作に応じて、前記元の加工経路に含まれた第１の前記区間上の任意の点および第２の前記区間上の任意の点をそれぞれ始点および終点とする指示経路を指示可能に構成されたＧＵＩ部と、
前記元の加工経路を示す前記加工プログラムを編集することで、前記元の加工経路のうち前記始点から前記終点までの範囲を、前記ＧＵＩ部を用いて指示された前記指示経路に置換してなる新たな加工経路を形成するプログラム編集部と、
を備えることを特徴とする加工プログラム編集装置。
【請求項２】
請求項１に記載の加工プログラム編集装置において、
前記加工プログラムのブロック番号及び指令内容を示す指令情報を生成する指令情報生成部を更に備え、
前記プログラム編集部は、前記指令情報生成部により生成された前記指令情報の前記指令内容に従って、前記ブロック番号に対応する箇所にてコード文を追加、変更又は削除し、前記加工プログラムを編集することを特徴とする加工プログラム編集装置。
【請求項３】
請求項２に記載の加工プログラム編集装置において、
前記指令情報生成部は、前記ブロック番号に対応するコード文により特定される前記始点の座標値及び前記終点の座標値を用いて、前記指令情報を生成することを特徴とする加工プログラム編集装置。
【請求項４】
請求項３に記載の加工プログラム編集装置において、
前記加工プログラムを解析し、前記区間の特徴点と前記ブロック番号を対応付けた探索データを取得するデータ取得部と、
前記データ取得部により取得された前記探索データから、前記区間の特徴点が前記始点又は前記終点に一致する前記ブロック番号を探索するブロック情報探索部と、
を更に備えることを特徴とする加工プログラム編集装置。
【請求項５】
請求項２〜４のいずれか１項に記載の加工プログラム編集装置において、
前記プログラム編集部は、読み出しを部分的に無効化する特定文字をコード文に付与することで、前記加工プログラムを編集することを特徴とする加工プログラム編集装置。
【請求項６】
請求項５に記載の加工プログラム編集装置において、
前記プログラム編集部は、前記ＧＵＩ部を用いた作業者の確定操作に応じて、前記特定文字が付与されたコード文を該特定文字と併せて削除することで、前記加工プログラムを編集することを特徴とする加工プログラム編集装置。
【請求項７】
請求項１〜６のいずれか１項に記載の加工プログラム編集装置において、
前記ＧＵＩ部は、前記表示領域内にある前記元の加工経路に重ねて、該元の加工経路のうち前記始点から前記終点までの範囲とは異なる表示形態で前記指示経路を表示することを特徴とする加工プログラム編集装置。
【請求項８】
請求項１〜７のいずれか１項に記載の加工プログラム編集装置において、
外部装置が作成した前記加工プログラムを受信可能な通信部を更に備え、
前記通信部により受信された前記加工プログラムを編集することを特徴とする加工プログラム編集装置。
【請求項９】
工作機械を用いて、２つ以上の区間からなる加工経路に沿って被加工物を加工するための加工プログラムを編集する加工プログラム編集方法であって、
ＧＵＩ部の表示領域内に元の加工経路を表示する表示ステップと、
前記ＧＵＩ部を用いた作業者の入力操作に応じて、前記元の加工経路に含まれた第１の前記区間上の任意の点および第２の前記区間上の任意の点をそれぞれ始点および終点とする指示経路を指示する指示ステップと、
前記元の加工経路を示す前記加工プログラムを編集することで、前記元の加工経路のうち前記始点から前記終点までの範囲を、指示された前記指示経路に置換してなる新たな加工経路を形成する編集ステップと、
を加工プログラム編集装置が実行することを特徴とする加工プログラム編集方法。
【請求項１０】
工作機械を用いて、２つ以上の区間からなる加工経路に沿って被加工物を加工するための加工プログラムを編集する編集用プログラムであって、
ＧＵＩ部の表示領域内に元の加工経路を表示する表示ステップと、
前記ＧＵＩ部を用いた作業者の入力操作に応じて、前記元の加工経路に含まれた第１の前記区間上の任意の点および第２の前記区間上の任意の点をそれぞれ始点および終点とする指示経路を指示する指示ステップと、
前記元の加工経路を示す前記加工プログラムを編集することで、前記元の加工経路のうち前記始点から前記終点までの範囲を、指示された前記指示経路に置換してなる新たな加工経路を形成する編集ステップと、
を加工プログラム編集装置に実行させることを特徴とする編集用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工作機械を用いて、２つ以上の区間からなる加工経路に沿って被加工物を加工するための加工プログラムを編集する加工プログラム編集装置、方法、及び編集用プログラムに関する。
【背景技術】
【０００２】
従来から、工作機械を制御するための加工プログラムを編集可能な加工プログラム編集装置が種々開発されている。
【０００３】
特許文献１では、加工経路及びコード文を同時に表示すると共に、表示された加工経路の一部の経路を指定することで、表示されたコード文の指定箇所に対応する位置にカーソルを配置する編集支援装置が提案されている。これにより、作業者は、加工経路及びコード文の両者を対応付けて理解可能となり、加工プログラムの編集を支援できる旨が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２０１６／０３５８６８号パンフレット
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１で提案された装置の構成では、両者の対応関係が理解できたとしても、作業者は、指定箇所の前後にあるコード文を参照しながら変更内容を決め、手動でカーソルを合わせ、コード文を編集する必要がある。その結果、思ったほどの作業工数の削減効果が得られないという問題がある。
【０００６】
本発明は上記した問題を解決するためになされたものであり、加工プログラムを編集する作業工数を低減可能な加工プログラム編集装置、方法及び編集用プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
第１の本発明に係る加工プログラム編集装置は、工作機械を用いて、２つ以上の区間からなる実加工経路に沿って被加工物を加工するための加工プログラムを編集する装置であって、表示領域内に元の加工経路を表示すると共に、前記表示領域を介する作業者の入力操作に応じて、前記元の加工経路上にある２つの点をそれぞれ始点及び終点とする指示経路を指示可能に構成されたＧＵＩ部と、前記元の加工経路を示す前記加工プログラムを編集することで、前記元の加工経路のうち前記始点から前記終点までの範囲を、前記ＧＵＩ部を用いて指示された前記指示経路に置換してなる新たな加工経路を形成するプログラム編集部と、を備える。
【０００８】
このように、元の加工経路のうち始点から終点までの範囲を、ＧＵＩ部を用いて指示された指示経路に置換してなる新たな加工経路を形成可能とすることで、作業者は、視覚的に理解し易いインターフェースからの入力操作によって、加工プログラムのコード文を直接的に取り扱わずに、自動的且つ目論見通りに編集できる。これにより、加工プログラムを編集する作業工数を大幅に削減できる。
【０００９】
また、第１の本発明において、前記加工プログラムのブロック番号及び指令内容を示す指令情報を生成する指令情報生成部を更に備え、前記プログラム編集部は、前記指令情報生成部により生成された前記指令情報の前記指令内容に従って、前記ブロック番号に対応する箇所にてコード文を追加、変更又は削除し、前記加工プログラムを編集してもよい。
【００１０】
また、第１の本発明において、前記指令情報生成部は、前記ブロック番号に対応するコード文により特定される前記始点の座標値及び前記終点の座標値を用いて、前記指令情報を生成してもよい。
【００１１】
また、第１の本発明において、前記加工プログラムを解析し、前記区間の特徴点と前記ブロック番号を対応付けた探索データを取得するデータ取得部と、前記データ取得部により取得された前記探索データから、前記区間の特徴点が前記始点又は前記終点に一致する前記ブロック番号を探索するブロック情報探索部と、を更に備えてもよい。データ量が大きい加工プログラムから編集に必要なデータを含む探索データを取得した後に、この探索データを用いて探索処理を行うことで、区間の特徴点及びブロック番号の探索時間が大幅に短縮される。
【００１２】
また、第１の本発明において、前記プログラム編集部は、読み出しを部分的に無効化する特定文字をコード文に付与することで、前記加工プログラムを編集してもよい。特定文字を後に削除することで、コード文の内容を容易に有効化することができる。
【００１３】
また、第１の本発明において、前記プログラム編集部は、前記ＧＵＩ部を用いた作業者の確定操作に応じて、前記特定文字が付与されたコード文を該特定文字と併せて削除することで、前記加工プログラムを編集してもよい。これにより、作業者の意志に反して、加工プログラムの編集内容が自動的に確定するのを防止できる。
【００１４】
また、第１の本発明において、前記ＧＵＩ部は、前記表示領域内にある前記元の加工経路に重ねて、該元の加工経路のうち前記始点から前記終点までの範囲とは異なる表示形態で前記指示経路を表示してもよい。これにより、作業者は、変更前後にわたる加工経路の違いを一見して把握できる。
【００１５】
また、第１の本発明において、外部装置が作成した前記加工プログラムを受信可能な通信部を更に備え、前記通信部により受信された前記加工プログラムを編集してもよい。加工プログラム編集装置が加工プログラムの作成機能を有さない場合、外部装置による再作成を行うことなく、装置単体で加工プログラムを修正して完成させることができる。
【００１６】
第２の本発明に係る加工プログラム編集方法は、工作機械を用いて、２つ以上の区間からなる実加工経路に沿って被加工物を加工するための加工プログラムを編集する方法であって、ＧＵＩ部の表示領域内に元の加工経路を表示する表示ステップと、前記ＧＵＩ部を用いた作業者の入力操作に応じて、前記元の加工経路上にある２つの点をそれぞれ始点及び終点とする指示経路を指示する指示ステップと、前記元の加工経路を示す前記加工プログラムを編集することで、前記元の加工経路のうち前記始点から前記終点までの範囲を、指示された前記指示経路に置換してなる新たな加工経路を形成する編集ステップと、を加工プログラム編集装置が実行する。
【００１７】
第３の本発明に係る編集用プログラムは、工作機械を用いて、２つ以上の区間からなる実加工経路に沿って被加工物を加工するための加工プログラムを編集する編集用プログラムであって、ＧＵＩ部の表示領域内に元の加工経路を表示する表示ステップと、前記ＧＵＩ部を用いた作業者の入力操作に応じて、前記元の加工経路上にある２つの点をそれぞれ始点及び終点とする指示経路を指示する指示ステップと、前記元の加工経路を示す前記加工プログラムを編集することで、前記元の加工経路のうち前記始点から前記終点までの範囲を、指示された前記指示経路に置換してなる新たな加工経路を形成する編集ステップと、を加工プログラム編集装置に実行させる。
【発明の効果】
【００１８】
本発明に係る加工プログラム編集装置、方法及び編集用プログラムによれば、加工プログラムを編集する作業工数を低減できる。
【図面の簡単な説明】
【００１９】
【図１】この実施形態に係る加工プログラム編集装置としての数値制御装置の構成図である。
【図２】図１に示す数値制御装置の機能ブロック図である。
【図３】図１及び図２に示す数値制御装置の動作説明に供される第１フローチャートである。
【図４】図４Ａは、編集前の加工プログラムの内容を示す図である。図４Ｂは、図４Ａに示す編集前の加工プログラムにより特定される、元の加工経路の表示結果を示す画面図である。
【図５】図１及び図２に示す数値制御装置の動作説明に供される第２フローチャートである。
【図６】図６Ａは、作業者の入力操作による画面遷移図である。図６Ｂは、指示情報の内容を示す図である。
【図７】ブロック情報探索部による探索結果を示す説明図である。
【図８】図１及び図２に示す数値制御装置の動作説明に供される第３フローチャートである。
【図９】図９Ａ〜図９Ｃは、ブロック情報の更新過程を示す遷移図である。
【図１０】図１及び図２に示す数値制御装置の動作説明に供される第４フローチャートである。
【図１１】図１１Ａ〜図１１Ｃは、指令情報の更新過程を示す遷移図である。
【図１２】図１及び図２に示す数値制御装置の動作説明に供される第５フローチャートである。
【図１３】図１３Ａは、指令情報の最終的な内容を示す図である。図１３Ｂは、編集中の加工プログラムの内容を示す図である。
【図１４】図１４Ａは、重複加工経路の表示結果を示す画面図である。図１４Ｂは、テキスト編集領域内の表示結果を示す画面図である。
【図１５】図１５Ａは、編集後の加工プログラムの内容を示す図である。図１５Ｂは、図１５Ａに示す編集後の加工プログラムにより特定される、新たな加工経路の表示結果を示す画面図である。
【発明を実施するための形態】
【００２０】
以下、本発明に係る加工プログラム編集装置について、加工プログラム編集方法及び編集用プログラムとの関係において好適な実施形態を挙げ、添付の図面を参照しながら詳細に説明する。
【００２１】
［数値制御装置１０の構成図］
図１は、この実施形態における加工プログラム編集装置としての数値制御装置１０の構成図である。数値制御装置１０は、ＣＡＤ（Computer Aided Design）／ＣＡＭ（Computer Aided Manufacturing）端末１２で作成された加工プログラムＰを用いて、工具１４を有する工作機械１６（１つ以上の下位装置）を統括的に制御する上位装置である。
【００２２】
以下、内容の違いを明確に区別するため、編集前、編集中及び編集後の加工プログラムＰを、それぞれＰ１、Ｐ２、Ｐ３と表記する場合がある。
【００２３】
工作機械１６は、加工プログラムＰに従って、被加工物Ｗに対して工具１４を相対移動させながら、１つ又は複数の区間からなる実加工経路１８に沿って被加工物Ｗに対して加工処理を施す。
【００２４】
数値制御装置１０は、制御部２０と、通信部２２と、ＧＵＩ（Graphical User Interface）部２４と、記憶部２６とを含んで構成される。
【００２５】
通信部２２は、外部装置に対して電気信号を送受信するインターフェースである。これにより、数値制御装置１０は、通信部２２を介して、ＣＡＤ／ＣＡＭ端末１２から加工プログラムＰを取得可能であると共に、工作機械１６の動作を制御するための制御信号を工作機械１６に向けて出力可能である。
【００２６】
ＧＵＩ部２４は、入力部２８による入力機能と、表示部３０（ディスプレイ装置）による出力機能を組み合わせたユーザインターフェースである。入力部２８は、例えば、マウス、キーボード、タッチセンサ又はマイクロフォンを含んで構成される。
【００２７】
記憶部２６は、制御部２０が各構成要素を制御するのに必要なプログラム及びデータ等を記憶している。この記憶部２６は、非一過性であり、且つ、コンピュータ読み取り可能な記憶媒体で構成されてもよい。本図の例では、記憶部２６には、上記した加工プログラムＰ又は後述する探索データＬが格納されている。
【００２８】
制御部２０は、ＣＰＵ（Central Processing Unit）又はＭＰＵ（Micro-Processing Unit）のプロセッサによって構成されている。制御部２０は、記憶部２６に格納されたプログラム（不図示）を読み出し実行することで、プログラム管理部３２、プログラム編集部３４、ブロック情報探索部３６、指令情報生成部３８及びデータ取得部４０の各機能を実現可能である。
【００２９】
［数値制御装置１０の機能ブロック図］
図２は、図１に示す数値制御装置１０の機能ブロック図である。本図における太い実線矢印はデータフローを、細い実線矢印は指令フローをそれぞれ示す。
【００３０】
プログラム管理部３２は、編集対象である加工プログラムＰを管理する。プログラム管理部３２は、ＧＵＩ部２４を用いた作業者の操作に応じて、適切な加工プログラムＰ１、Ｐ３を選択し、データ取得部４０に向けて出力する。
【００３１】
データ取得部４０は、入力された加工プログラムＰを解析し、実加工経路１８（厳密には、シミュレーション上の加工経路）を示す経路情報Ｔを取得する。そして、データ取得部４０は、この経路情報Ｔを用いて実加工経路１８の可視画像を示す表示用データＤを作成し、この表示用データＤをＧＵＩ部２４（表示部３０）に向けて出力する。
【００３２】
ブロック情報探索部３６は、ＧＵＩ部２４からの操作データを用いて指示情報Ｉを作成すると共に、この指示情報Ｉを探索値として探索データＬを探索し、ブロック情報Ｂを作成する。ここで、探索データＬは、上記した経路情報Ｔとブロック番号を対応付けたデータである。
【００３３】
指令情報生成部３８は、指示情報Ｉを用いてブロック情報Ｂを更新し、得られたブロック情報Ｂから指令情報Ｃを生成し、この指令情報Ｃをプログラム編集部３４に向けて出力する。プログラム編集部３４は、入力された指令情報Ｃに従って加工プログラムＰ１を編集することで、編集中の加工プログラムＰ２を得る。
【００３４】
［数値制御装置１０の動作］
この実施形態に係る数値制御装置１０は、以上のように構成される。続いて、数値制御装置１０の動作、詳しくは加工プログラムの編集動作を中心に、図３、図５、図８、図１０、及び図１２のフローチャートを参照しながら説明する。
【００３５】
ここで、数値制御装置１０は、加工プログラムＰの生成機能を有しておらず、ＣＡＤ／ＣＡＭ１２端末が作成した加工プログラムＰを予め受信し、この加工プログラムＰを記憶部２６に格納させていることを想定する。
【００３６】
＜第１フローチャート＞
図３のフローチャートは、データ取得部４０及びＧＵＩ部２４による、操作データを得るまでの一連の動作を示す。
【００３７】
ステップＳ１において、データ取得部４０は、編集前の加工プログラムＰ１を記憶部２６から読み出す。ステップＳ２において、データ取得部４０は、ステップＳ１で読み出した加工プログラムＰ１を解析し、実加工経路１８の目標を示す経路情報Ｔを取得する。ここで、経路情報Ｔには、各々の区間の順番、特徴点の位置情報（座標値又は移動量）が含まれる。
【００３８】
ステップＳ３において、ＧＵＩ部２４は、ステップＳ２で取得された経路情報Ｔを用いて、編集前の加工プログラムＰ１により特定される実加工経路１８の目標（以下、元の加工経路５２という）を可視化・表示する。この可視化に先立ち、データ取得部４０は、経路情報Ｔを用いて元の加工経路５２の可視画像を示す表示用データＤを作成する。そして、表示部３０は、データ取得部４０からの表示用データＤに基づいて画像の表示を行う。
【００３９】
図４Ａに示すように、加工プログラムＰ１は、名称が「Ｏ０００１」であり、「Ｍ３０」指令で終了するメインルーチンを含んで構成される。「Ｏ０００１」は、４ブロック分のコード文（或いは、ＮＣ文）からなり、加工の初期位置は（Ｘ＝１０．０００，Ｙ＝１０．０００）で与えられているとする。
【００４０】
「Ｏ０００１」は、Ｘ−Ｙ平面上において３つの移動指令を含む。Ｎ００１のブロックは、アブソリュート指令（Ｇ９０）、早送り移動の指令（Ｇ００）及び移動指令（Ｘ＝０．０００，Ｙ＝１００．０００）を示す。Ｎ００２のブロックは、移動指令（Ｘ＝１００．０００，Ｙ＝０．０００）を示す。Ｎ００３のブロックは、移動指令（Ｘ＝１７０．０００，Ｙ＝１０．０００）を示す。
【００４１】
ところで、加工プログラムＰ１には、各々のブロックの位置を特定するため、固有の識別子（以下、ブロック番号という）が付与されている。具体的には、シーケンス番号「Ｎ００１」に対応するブロック番号は「００００００１」である場合、「Ｎ００２」、「Ｎ００３」に対応するブロック番号はそれぞれ「００００００２」、「００００００３」である。
【００４２】
図４Ｂに示すように、ＧＵＩ部２４（表示部３０）の表示領域５０内には、元の加工経路５２が描画された描画領域５４と、描画領域５４の下側に設けられた３つのボタン５６、５７、５８が配置されている。［入力］ボタン５６は、元の加工経路５２の編集を許可するためのユーザコントロールである。［消去］ボタン５７は、元の加工経路５２に戻すためのユーザコントロールである。［編集の反映］ボタン５８は、元の加工経路５２に対する編集内容を反映するためのユーザコントロールである。
【００４３】
本図の例では、元の加工経路５２は、それぞれ直線状である３つの区間６１、６２、６３を順次接続してなる。ここで、各々の始点・終点を明確にするため、区間６１〜６３はそれぞれ、矢印を用いて表記されている。区間６１は、シーケンス番号「Ｎ００１」（ブロック番号「００００００１」）における移動指令に対応する。区間６２は、シーケンス番号「Ｎ００２」（ブロック番号「００００００２」）における移動指令に対応する。区間６３は、シーケンス番号「Ｎ００３」（ブロック番号「００００００３」）における移動指令に対応する。
【００４４】
ステップＳ４において、制御部２０は、表示領域５０を介する作業者の入力操作、具体的には描画領域５４内の筆記操作及び［入力］ボタン５６のタッチ操作を受け付けたか否かを判定する。この操作を未だ受け付けていない場合（ステップＳ４：ＮＯ）、ステップＳ３に戻って、この操作を受け付けるまでステップＳ３を繰り返し実行する。一方、この操作を受け付けた場合（ステップＳ４：ＹＥＳ）、次のステップＳ５に進む。
【００４５】
作業者は、例えば、図６Ａに示すように、スタイラスペン６４を用いて、始点６６から終点６８までの範囲を直線状になぞる筆記操作を行ったとする。この操作は、元の加工経路５２の一部を変更するための作業者からの指示に相当する。以下、指示された部分経路のことを指示経路７０という。本図の例では、指示経路７０は、直線状である１つの区間７２（破線で図示）からなる。
【００４６】
ステップＳ５において、制御部２０は、ステップＳ４での入力操作により得られた操作データ（複数の座標値を含む）をブロック情報探索部３６に向けて出力する。このようにして、第１フローチャート（図３）に関する動作が終了する。
【００４７】
＜第２フローチャート＞
図５のフローチャートは、ブロック情報探索部３６による、ブロック情報Ｂを作成するための一連の動作を示す。
【００４８】
ステップＳ６において、ブロック情報探索部３６は、ステップＳ５で出力された操作データが示す複数の特徴点を、始点、終点、及び中継点の３種類に分類する。そして、ブロック情報探索部３６は、各々の特徴点と種類を対応付けた指示情報Ｉを作成する。
【００４９】
図６Ｂに示すように、指示情報Ｉは、特徴点の「座標値」（絶対座標値）と、特徴点の「種類」を含む。１番目の特徴点が始点６６である場合、座標値は（Ｘ＝１０．０００，Ｙ＝１０．０００）であり、種類は「始点」である。２番目の特徴点が中継点７４である場合、座標値は（Ｘ＝５０．０００，Ｙ＝５０．０００）であり、種類は「中継点」である。３番目の特徴点が終点６８である場合、座標値は（Ｘ＝１００．０００，Ｙ＝１００．０００）であり、種類は「終点」である。
【００５０】
ステップＳ７において、ブロック情報探索部３６は、編集前の加工プログラムＰ１に対応する探索データＬを取得する。取得に先立ち、データ取得部４０は、経路情報Ｔとブロック番号を対応付けた探索データＬを作成し、記憶部２６に一時的に記憶させておく。そして、ブロック情報探索部３６は、記憶部２６から読み出すことで探索データＬを取得する。
【００５１】
ステップＳ８において、ブロック情報探索部３６は、探索データＬを構成するすべてのブロックデータに対して探索を行う。具体的には、ブロック情報探索部３６は、ステップＳ７で取得された探索データＬから、指示情報Ｉ（探索値）との間で、種類（ここでは「始点」）及び座標値が共に一致するブロックデータを探索する。
【００５２】
ブロック情報探索部３６は、所定の探索方向（例えば、ブロック番号の昇順）に沿ってブロックデータを順次読み出し、探索値と一致するデータが存在するか否かを判定する（ステップＳ８ａ）。データが存在すると判定された場合（ステップＳ８ａ：ＹＥＳ）、ブロック情報探索部３６は、このデータを「第１ブロックデータ」として一時的に記憶させた上で、次の探索に移行する（ステップＳ８ｂ）。一方、データが存在しないと判定された場合（ステップＳ８ａ：ＮＯ）、ステップＳ８ｂを実行することなく次の探索に移行する。
【００５３】
ここで、座標値の「一致」には、座標値が等しい場合のみならず、両者の距離が許容範囲内である場合も含まれてもよい。スタイラスペン６４を用いて位置を指示する場合、作業者の操作精度に起因する位置誤差が生じ得るからである。
【００５４】
ステップＳ９において、ブロック情報探索部３６は、第１ブロックデータの候補が２つ以上ある場合、予め設定された優先順位に従って、最適な第１ブロックデータを１つ選択する。例えば、同一の始点に対して２つ以上の候補がある場合、この始点との距離が最も小さいブロックデータを選択してもよい。
【００５５】
ステップＳ１０において、ブロック情報探索部３６は、探索データＬを構成するすべてのブロックデータに対して探索を行う。具体的には、ブロック情報探索部３６は、ステップＳ７で取得された探索データＬから、指示情報Ｉ（探索値）との間で、特徴点の種類（ここでは「終点」）及び座標値が共に一致するブロックデータを探索する。
【００５６】
ブロック情報探索部３６は、所定の探索方向に沿ってブロックデータを順次読み出し、探索範囲外であるデータの探索をスキップする（ステップＳ１０ａ）。具体的には、ブロック情報探索部３６は、第１ブロックデータに対応するブロック番号よりも小さい値である場合（ステップＳ１０ａ：ＮＯ）、ステップＳ１０ａにそのまま留まる。一方、第１ブロックデータに対応するブロック番号以上の値である場合（ステップＳ１０ａ：ＹＥＳ）、次のステップＳ１０ｂに移行する。
【００５７】
ブロック情報探索部３６は、所定の探索方向に沿ってブロックデータを順次読み出し、探索値に一致するデータが存在するか否かを判定する（ステップＳ１０ｂ）。データが存在すると判定された場合（ステップＳ１０ｂ：ＹＥＳ）、ブロック情報探索部３６は、このデータを「第２ブロックデータ」として一時的に記憶させた上で、次の探索に移行する（ステップＳ１０ｃ）。一方、データが存在しないと判定された場合（ステップＳ１０ｃ：ＮＯ）、ステップＳ１０ｃを実行することなく次の探索に移行する。
【００５８】
ステップＳ１１において、ブロック情報探索部３６は、第２ブロックデータの候補が２つ以上ある場合、ステップＳ９と同一の又は異なる優先順位に従って、最適な第２ブロックデータを１つ選択する。
【００５９】
ステップＳ１２において、ブロック情報探索部３６は、ステップＳ９で得られた第１ブロックデータと、ステップＳ１１で得られた第２ブロックデータを結合してブロック情報Ｂを作成する。そして、ブロック情報探索部３６は、作成したブロック情報Ｂを指示情報Ｉと併せて、指令情報生成部３８に向けて出力する。このようにして、第２フローチャート（図５）に関する動作が終了する。
【００６０】
図７は、ブロック情報探索部３６による探索結果を示す説明図である。本図に示すように、指示情報Ｉ及び探索データＬが与えられたとする。第１ブロックデータの探索（図５のステップＳ８）に先立ち、指示情報Ｉのうち、ＩＤが「Ａ」であるブロックデータが探索値として選択される。そして、探索方向に沿って探索を行った結果、特徴点の種類（始点）及び座標値（Ｘ＝１０．０００，Ｙ＝１０．０００）が共に一致するブロックデータが得られる。以下、ブロック番号「００００００１」及び座標値「Ｘ＝１０．０００，Ｙ＝１０．０００」を第１ブロックデータとする。
【００６１】
続いて、第２ブロックデータの探索（図５のステップＳ１０）に先立ち、指示情報Ｉのうち、ＩＤが「Ｅ」であるブロックデータが探索値として選択される。そして、探索方向に沿って探索を行った結果、特徴点の種類（終点）及び座標値（Ｘ＝１００．０００，Ｙ＝１００．０００）が共に一致するブロックデータが得られる。以下、ブロック番号「００００００２」及び座標値「Ｘ＝１００．０００，Ｙ＝１００．０００」を第２ブロックデータとする。最後に、第１ブロックデータ及び第２ブロックデータを順次結合することで、ブロック情報Ｂ（図９Ａ参照）が得られる。
【００６２】
＜第３フローチャート＞
図８のフローチャートは、指令情報生成部３８による、ブロック情報Ｂを更新するための一連の動作を示す。図９Ａ〜図９Ｃは、ブロック情報Ｂの更新過程を示す遷移図である。
【００６３】
ステップＳ１３において、指令情報生成部３８は、ステップＳ１２で出力されたブロック情報Ｂに「指令内容」の項目（データ領域）を追加し、指令内容のデータ値をすべて「追加」とする。ステップＳ１４において、指令情報生成部３８は、第１ブロックデータと第２ブロックデータの間に、指示情報Ｉの一部又は全部に対応するブロックデータを挿入する。
【００６４】
図９Ａに示すように、当初のブロック情報Ｂは、２つのブロックデータから構成されている。この状態から、指令情報生成部３８は、［１］「指令内容」の項目を追加し（図８のステップＳ１３）、［２］２つ以上のブロックデータを挿入し（図８のステップＳ１４）、［３］指示情報Ｉにおける「座標値」及び「種類」のデータ値をそれぞれ所定の順番で複製する（図８のステップＳ１４）。
【００６５】
図９Ｂに示すように、図９Ａから更新されたブロック情報Ｂは、４つのブロックデータから構成されている。ここでは、始点６６と終点６８の間を１本の直線で結ぶことを前提とするため、指示情報Ｉの一部（具体的には、種類が「始点」及び「終点」）に対応する１つずつ（合計２つ）のブロックデータが挿入されている。これに代わって、指示情報Ｉの全部に対応するブロックデータを挿入することで、指示経路７０の形状を忠実に再現可能となる。
【００６６】
ステップＳ１５、Ｓ１６において、指令情報生成部３８は、第１ブロックデータにおける特徴点の種類を判別する。具体的には、指令情報生成部３８は、種類が「始点」であるか否かを判別し（ステップＳ１５）、必要に応じて種類が「終点」であるか否かを更に判別する（ステップＳ１６）。
【００６７】
種類が「始点」である場合（ステップＳ１５：ＹＥＳ）、第１ブロックデータにおける指令内容に「削除」のデータ値を格納する（ステップＳ１７）。種類が「終点」である場合（ステップＳ１５：ＮＯ→ステップＳ１６：ＹＥＳ）、第１ブロックデータにおける指令内容に「ＮＯＮＥ」のデータ値を格納する（ステップＳ１８）。種類が「中継点」である場合（ステップＳ１５：ＮＯ→ステップＳ１６：ＮＯ）、第１ブロックデータにおける指令内容に「変更」のデータ値を格納する（ステップＳ１９）。
【００６８】
ステップＳ２０、Ｓ２１において、指令情報生成部３８は、第２ブロックデータにおける特徴点の種類を判別する。具体的には、指令情報生成部３８は、種類が「始点」であるか否かを判別し（ステップＳ２０）、必要に応じて種類が「終点」であるか否かを更に判別する（ステップＳ２１）。
【００６９】
種類が「始点」である場合（ステップＳ２０：ＹＥＳ）、第２ブロックデータにおける指令内容に「ＮＯＮＥ」のデータ値を格納する（ステップＳ２２）。種類が「終点」である場合（ステップＳ２０：ＮＯ→ステップＳ２１：ＹＥＳ）、第２ブロックデータにおける指令内容に「削除」のデータ値を格納する（ステップＳ２３）。種類が「中継点」である場合（ステップＳ２０：ＮＯ→ステップＳ２１：ＮＯ）、第２ブロックデータにおける指令内容に「変更」のデータ値を格納する（ステップＳ２４）。このようにして、第３フローチャート（図８）に関する動作が終了する。
【００７０】
図９Ｂに示す状態から、指令情報生成部３８は、［４］第１ブロックデータにおける「指令内容」のデータ値（削除；図８のステップＳ１７）を決定し、［５］第２ブロックデータにおける「指令内容」のデータ値（削除；図８のステップＳ２３）を決定する。
【００７１】
図９Ｃに示すように、図９Ｂから更新されたブロック情報Ｂは、４つのブロックデータから構成されている。このように、ブロック番号、座標値、種類及び指令内容のデータ値がすべて確定することで、ブロック情報Ｂが完成する。
【００７２】
上から１番目のブロックデータにおいて、ブロック番号は「００００００１」であり、座標値は始点６６の位置（Ｘ＝１０．０００，Ｙ＝１０．０００）であり、種類は「始点」であり、指令内容は「削除」である。上から２番目のブロックデータにおいて、ブロック番号は「ＮＵＬＬ」であり、座標値は始点６６の位置（Ｘ＝１０．０００，Ｙ＝１０．０００）であり、種類は「始点」であり、指令内容は「追加」である。
【００７３】
上から３番目のブロックデータにおいて、ブロック番号は「ＮＵＬＬ」であり、座標値は終点６８の位置（Ｘ＝１００．０００，Ｙ＝１００．０００）であり、種類は「終点」であり、指令内容は「追加」である。上から４番目のブロックにおいて、ブロック番号は「００００００２」であり、座標値は終点６８の位置（Ｘ＝１００．０００，Ｙ＝１００．０００）であり、種類は「終点」であり、指令内容は「削除」である。
【００７４】
＜第４フローチャート＞
図１０のフローチャートは、指令情報生成部３８による、指令情報Ｃを生成するための一連の動作（前半部）を示す。図１１Ａ〜図１１Ｃは、指令情報Ｃの更新過程を示す遷移図である。ここでは、第１ブロックデータ（始点６６）に関わる情報をすべて確定させる。
【００７５】
ステップＳ２５において、指令情報生成部３８は、完成したブロック情報Ｂを用いて、指令情報Ｃのテンプレートを作成する。この指令情報Ｃは、ブロック番号、コード文、及び指令内容を含むブロックデータの集合体である。ステップＳ２６において、指令情報生成部３８は、加工プログラムＰ１からブロック番号に対応する元のコード文を取得し、このコード文を対応箇所に複製する。
【００７６】
図１１Ａに示すように、指令情報Ｃは、ステップＳ２６の実行後において、４つのブロックデータから構成されている。現時点では、ブロック番号が「ＮＵＬＬ」である２つのブロックデータには、コード文の内容が未だ格納されていない。
【００７７】
ステップＳ２７において、指令情報生成部３８は、ブロック番号が「ＮＵＬＬ」（すなわち、指令内容が「追加」）であるブロックデータに対応するコード文を生成する。具体的には、挿入されたブロックデータにおける始点６６から終点６８までの区間７２を直線で結ぶコード文を生成する。例えば、始点６６と終点６８の間に中継点７４が１つも存在しない場合、或いは、始点６６、終点６８及び中継点７４が同一直線上にある場合、複数のブロックデータが１つに統合される点に留意する。
【００７８】
図１１Ｂに示すように、図１１Ａから更新された指令情報Ｃは、３つのブロックデータから構成されている。この状態から、指令情報生成部３８は、［４］第１ブロックデータにおけるコード文を微修正する（図１０のステップＳ３０、Ｓ３１）。加工プログラムＰ１の編集のために第１ブロックデータを削除又は変更する際、前後に隣接する複数のコード文の間で整合性を保つためである。
【００７９】
ステップＳ２８、Ｓ２９において、指令情報生成部３８は、第１ブロックデータにおける指令内容を判別する。具体的には、指令情報生成部３８は、種類が「削除」であるか否かを判別し（ステップＳ２８）、必要に応じて種類が「変更」であるか否かを更に判別する（ステップＳ２９）。
【００８０】
指令内容が「削除」である場合（ステップＳ２８：ＹＥＳ）、第１ブロックデータにおけるコード文の一部を、第１ブロックデータの直後にあるブロックデータに反映させる微修正を行う（ステップＳ３０）。具体的には、指令情報生成部３８は、第１ブロックデータに対応する元のコード文から位置情報（座標値又は移動量）のみを削除し、残りの部分をステップＳ２７で生成されたコード文の対応箇所に付与する。
【００８１】
指令内容が「変更」である場合（ステップＳ２８：ＮＯ→ステップＳ２９：ＹＥＳ）、第１ブロックデータの直後にあるコード文の一部を、第１ブロックデータに反映させる微修正を行う（ステップＳ３１）。具体的には、指令情報生成部３８は、ステップＳ２７で生成されたコード文から「始点」の座標値を取得し、第１ブロックデータにおけるコード文が示す「終点」の座標値を、取得した「始点」の座標値に置換する。
【００８２】
なお、指令内容が「追加」である場合（ステップＳ２８：ＮＯ→ステップＳ２９：ＮＯ）、コード文を修正する必要がないため、そのまま次のステップ（Ｓ３２）に進む。このようにして、第４フローチャート（図１０）に関する動作が終了する。
【００８３】
より詳しくは、図１１Ａは、図１０のステップＳ２５（テンプレートの作成）の実行後における指令情報Ｃを示す図である。また、図１１Ｂは、図１０のステップＳ２７（コード文の生成）の実行後における指令情報Ｃを示す図である。また、図１１Ｃは、図１０のステップＳ３０、Ｓ３１（コード文の微修正）の実行後における指令情報Ｃを示す図である。
【００８４】
図１１Ｃに示すように、図１１Ｂから更新されたブロック情報Ｂは、３つのブロックデータから構成されている。このように、上から１番目、２番目のブロック番号、コード文及び指令内容のデータ値がすべて確定することで、指令情報Ｃの一部が完成する。
【００８５】
指令情報Ｃの上から１番目において、ブロック番号は「００００００１」であり、コード文は編集前の内容「Ｎ００１  Ｇ９０  Ｇ００  Ｙ１００．０００；」と同一であり、指令内容は「削除」である。上から２番目において、ブロック番号は「ＮＵＬＬ」であり、コード文は「Ｎ００１  Ｇ９０  Ｇ００  Ｘ１００．０００  Ｙ１００．０００；」であり、指令内容は「追加」である。上から３番目において、ブロック番号は「００００００２」であり、コード文は編集前の内容「Ｎ００２  Ｘ１００．０００；」と同一であり、指令内容は「削除」である。
【００８６】
＜第５フローチャート＞
図１２のフローチャートは、指令情報生成部３８による、指令情報Ｃを生成するための一連の動作（後半部）を示す。ここでは、第２ブロックデータ（終点６８）に関わる情報をすべて確定させる。
【００８７】
図１１Ｃに示す状態から、指令情報生成部３８は、［５］第２ブロックデータにおけるコード文を微修正する（図１２のステップＳ３４、Ｓ３５）。加工プログラムＰ１の編集のために第２ブロックデータを削除又は変更する際、前後に隣接する複数のコード文の間で整合性を保ち、工作機械１６を正しく作動させるためである。
【００８８】
ステップＳ３２、Ｓ３３において、指令情報生成部３８は、第２ブロックデータにおける指令内容を判別する。具体的には、指令情報生成部３８は、種類が「削除」であるか否かを判別し（ステップＳ３２）、必要に応じて種類が「変更」であるか否かを更に判別する（ステップＳ３３）。
【００８９】
指令内容が「削除」である場合（ステップＳ３２：ＹＥＳ）、第２ブロックデータの直後にブロックデータを１つ挿入した後、所望のデータ値又はコード文を格納する（ステップＳ３４）。具体的には、指令情報生成部３８は、指令内容に「追加」のデータ値を格納すると共に、第２ブロックデータに対応する元のコード文から位置情報のみを削除した残りの部分（例えば、シーケンス番号、準備機能、補助機能）を「コード文」に格納する。
【００９０】
指令内容が「変更」である場合（ステップＳ３２：ＮＯ→ステップＳ３３：ＹＥＳ）、第２ブロックデータにおけるコード文の一部を、第２ブロックデータの直前にあるブロックデータに反映させる微修正を行う（ステップＳ３５）。具体的には、指令情報生成部３８は、ステップＳ２７で生成されたコード文から「終点」の座標値を取得し、第２ブロックデータにおけるコード文が示す「始点」の座標値を、取得した「終点」の座標値に置換する。
【００９１】
なお、指令内容が「追加」である場合（ステップＳ３２：ＮＯ→ステップＳ３３：ＮＯ）、コード文を修正する必要がないため、そのまま次のステップ（Ｓ３６）に進む。
【００９２】
このように、上から３番目、４番目のブロック番号、コード文及び指令内容のデータ値がすべて確定することで、指令情報Ｃの残りの一部が完成する。
【００９３】
図１３Ａに示すように、指令情報Ｃの上から１番目〜３番目に関しては、図１１Ｃに対して変更がないため説明を省略する。上から４番目において、ブロック番号は「ＮＵＬＬ」であり、コード文は「Ｎ００２；」であり、指令内容は「追加」である。
【００９４】
ステップＳ３６において、指令情報生成部３８は、完成した指令情報Ｃをプログラム編集部３４に向けて出力する。このようにして、第５フローチャート（図１２）に関する動作が終了する。
【００９５】
＜編集作業中における動作説明＞
その後、プログラム編集部３４は、この指令情報Ｃに従って加工プログラムＰ１を編集することで、編集中の加工プログラムＰ２を得る。具体的には、プログラム編集部３４は、指令情報Ｃをブロックデータ単位で順次読み出し、得られたブロック番号の箇所に、得られた指令内容に従って、コード文の追加、変更又は削除のいずれかを実行する。なお、ブロック番号が「ＮＵＬＬ」であるブロックデータの場合、現在の箇所（直近に編集したブロックの末尾）にてコード文の編集を行う。
【００９６】
図１３Ａは、指令情報Ｃの最終的な内容を示す図である。図１３Ｂは、編集中の加工プログラムＰ２の内容を示す図である。両図から理解されるように、指令内容が「削除」である場合、元のコード文の先頭には始め括弧「（」が付与されると共に、元のコード文の末尾には閉じ括弧「）」が付与される。
【００９７】
そして、データ取得部４０は、編集中の加工プログラムＰ２を取得した後、上記したステップＳ１〜Ｓ３の動作を行うことで、重複加工経路８０の可視画像を示す表示用データＤを作成する。ここで、データ取得部４０は、始め括弧の直後から閉じ括弧の直前までの範囲にある文字列（又は、単体の文字）の読み出しをスキップする点に留意する。
【００９８】
図１４Ａに示すように、表示領域５０の一部をなす描画領域５４には、元の加工経路５２と指示経路７０が重ねて配置された重複加工経路８０が描画されている。重複加工経路８０のうち、削除される区間６１、６２が破線の矢印で、維持される区間６３が実線の矢印で、追加される区間７２が実線の矢印でそれぞれ示される。本図の例では、追加される区間７２は、削除される区間６１、６２と比べて、相対的に強調して表示されている。
【００９９】
このように、ＧＵＩ部２４は、表示領域５０内にある元の加工経路５２に重ねて、元の加工経路５２のうち始点６６から終点６８までの範囲（つまり、区間６１、６２）とは異なる表示形態で指示経路７０（つまり、区間７２）を表示してもよい。これにより、作業者は、変更前後にわたる加工経路の違いを一見して把握できる。
【０１００】
また、図１４Ｂに示すように、表示領域５０内には、上記した描画領域５４と併せて、加工プログラムＰをテキスト編集可能なテキスト編集領域８２を配置してもよい。この場合、ＧＵＩ部２４は、描画領域５４と同様に、区間６１、６２に対応するブロック（コード文）とは異なる表示形態で、区間７２に対応するブロック（コード文）を表示してもよい。
【０１０１】
＜編集作業の確定＞
作業者は、加工プログラムＰの編集、シミュレーション、試運転、及び試し加工を繰り返し行うことで、最適な加工条件を満たす加工プログラムＰを得る。この場合、作業者は、表示領域５０を介する編集の確定操作、具体的には［編集の反映］ボタン５８（図１４Ａ）のタッチ操作を行う。
【０１０２】
そうすると、制御部２０は、このタッチ操作を受け付けた後、プログラム編集部３４に対して編集内容を確定する旨の指令を行う。そして、プログラム編集部３４は、編集中の加工プログラムＰ２の中から特定文字が付与されたコード文を、この特定文字と併せて削除する編集を行う。
【０１０３】
このように、プログラム編集部３４は、ＧＵＩ部２４を用いた作業者の確定操作に応じて、特定文字が付与されたコード文をこの特定文字と併せて削除することで、加工プログラムＰを編集してもよい。これにより、作業者の意志に反して、加工プログラムＰの編集内容が自動的に確定するのを防止できる。
【０１０４】
データ取得部４０は、図１５Ａに示すような編集後の加工プログラムＰ３を取得した後、上記したステップＳ１〜Ｓ３の動作を行う。これにより、データ取得部４０は、編集後の加工プログラムＰ３により特定される実加工経路１８の目標（以下、新たな加工経路８４という）の可視画像を示す表示用データＤを作成する。
【０１０５】
図１５Ｂに示すように、描画領域５４内には、元の加工経路５２とは異なる新たな加工経路８４が描画されている。新たな加工経路８４は、それぞれ直線状である２つの区間７２、６３を順次接続してなる。区間７２は、シーケンス番号「Ｎ００１」における新たな移動指令に対応する。区間６３は、シーケンス番号「Ｎ００３」における元の移動指令に対応する。なお、シーケンス番号「Ｎ００２」は、加工動作を伴わないダミーの指令である。
【０１０６】
このように、数値制御装置１０は、ＣＡＤ／ＣＡＭ端末１２（外部装置）が作成した加工プログラムＰを受信可能な通信部２２を更に備えており、受信された加工プログラムＰを編集してもよい。数値制御装置１０が加工プログラムＰの作成機能を有さない場合、外部装置による再作成を行うことなく、装置単体で加工プログラムＰを修正して完成させることができる。
【０１０７】
＜編集作業の中止＞
ところで、作業者は、試行錯誤を繰り返した結果、編集前の加工プログラムＰ１をそのまま使用した方がよいとの結論に至ることもあり得る。この場合、作業者は、表示領域５０を介する編集の消去操作、具体的には［消去］ボタン５７（図１４Ａ）のタッチ操作を行う。
【０１０８】
そうすると、制御部２０は、このタッチ操作を受け付けた後、プログラム編集部３４に対して編集内容をすべて消去する旨の指令を行う。そして、プログラム編集部３４は、編集中の加工プログラムＰ２の中から特定文字が付与されたコード文を抽出し、この特定文字のみを削除する編集を行う。
【０１０９】
このように、プログラム編集部３４は、読み出しを部分的に無効化する特定文字をコード文に付与することで、加工プログラムＰを編集してもよい。特定文字を後に削除することで、コード文の内容を容易に有効化することができる。ここで、特定文字の種類は任意であるが、データの復元性を考慮すると、加工プログラムＰに通常使用されない文字（又は文字列）であることが好ましい。
【０１１０】
［この実施形態による効果］
以上のように、数値制御装置１０は、工作機械１６を用いて、２つ以上の区間からなる実加工経路１８に沿って被加工物Ｗを加工するための加工プログラムＰを編集する加工プログラム編集装置である。
【０１１１】
そして、この数値制御装置１０は、［１］表示領域５０内に元の加工経路５２を表示すると共に、表示領域５０を介する作業者の入力操作に応じて、元の加工経路５２上にある２つの点をそれぞれ始点６６及び終点６８とする指示経路７０を指示可能に構成されたＧＵＩ部２４と、［２］元の加工経路５２を示す加工プログラムＰ１を編集することで、元の加工経路５２のうち始点６６から終点６８までの範囲を、ＧＵＩ部２４により指示された指示経路７０に置換してなる新たな加工経路８４を形成するプログラム編集部３４と、を備える。
【０１１２】
上記した加工プログラム編集方法及び編集用プログラムにおいて、［１］元の加工経路５２を表示する表示ステップ（図３のステップＳ３）と、［２］指示経路７０を指示する指示ステップ（図３のステップＳ４）と、［３］加工プログラムＰ１を編集することで新たな加工経路８４を形成する編集ステップ（図１４Ａ〜図１５Ｂ）と、を数値制御装置１０（加工プログラム編集装置）が実行する。
【０１１３】
このように、元の加工経路５２のうち始点６６から終点６８までの範囲を、ＧＵＩ部２４を介して指示された指示経路７０に置換してなる新たな加工経路８４を形成可能とすることで、作業者は、視覚的に理解し易いインターフェースからの入力操作によって、加工プログラムＰのコード文を直接的に取り扱わずに、自動的且つ目論見通りに編集できる。これにより、加工プログラムＰを編集する作業工数を大幅に削減できる。
【０１１４】
また、数値制御装置１０は、加工プログラムＰのブロック番号及び指令内容を示す指令情報Ｃを生成する指令情報生成部３８を更に備え、プログラム編集部３４は、生成された指令情報Ｃの指令内容に従って、ブロック番号に対応する箇所にてコード文を追加、変更又は削除し、加工プログラムＰを編集してもよい。
【０１１５】
また、指令情報生成部３８は、ブロック番号に対応するコード文により特定される始点６６の座標値及び終点６８の座標値を用いて、指令情報Ｃを生成してもよい。
【０１１６】
また、数値制御装置１０は、加工プログラムＰを解析し、区間６１〜６３の特徴点とブロック番号を対応付けた探索データＬを取得するデータ取得部４０と、取得された探索データＬから、区間６１〜６３の特徴点が始点６６又は終点６８に一致するブロック番号を探索するブロック情報探索部３６と、を更に備えてもよい。
【０１１７】
データ量が大きい加工プログラムＰから編集に必要なデータを含む探索データＬを取得した後に、この探索データＬを用いて探索処理を行うことで、区間６１〜６３の特徴点及びブロック番号の探索時間が大幅に短縮される。
【０１１８】
［補足］
なお、この発明は、上述した実施形態に限定されるものではなく、この発明の主旨を逸脱しない範囲で自由に変更できることは勿論である。
【符号の説明】
【０１１９】
１０…数値制御装置（加工プログラム編集装置）
１２…ＣＡＤ／ＣＡＭ端末（外部装置）      １４…工具
１６…工作機械                            １８…実加工経路
２０…制御部                              ２２…通信部
２４…ＧＵＩ部                            ２６…記憶部
２８…入力部                              ３０…表示部
３２…プログラム管理部                    ３４…プログラム編集部
３６…ブロック情報探索部                  ３８…指令情報生成部
４０…データ取得部                        ５０…表示領域
５２…元の加工経路                        ６１〜６３、７２…区間
６６…始点                                ６８…終点
７０…指示経路                            ７４…中継点
８０…重複加工経路                        ８４…新たな加工経路
Ｂ…ブロック情報                          Ｃ…指令情報
Ｄ…表示用データ                          Ｉ…指示情報
Ｌ…探索データ                            Ｐ（Ｐ１、Ｐ２、Ｐ３）…加工プログラム
Ｔ…経路情報                              Ｗ…被加工物
【図１】
0006441262.tif 000002
【図２】
0006441262.tif 000003
【図３】
0006441262.tif 000004
【図４】
0006441262.tif 000005
【図５】
0006441262.tif 000006
【図６】
0006441262.tif 000007
【図７】
0006441262.tif 000008
【図８】
0006441262.tif 000009
【図９】
0006441262.tif 000010
【図１０】
0006441262.tif 000011
【図１１】
0006441262.tif 000012
【図１２】
0006441262.tif 000013
【図１３】
0006441262.tif 000014
【図１４】
0006441262.tif 000015
【図１５】
0006441262.tif 000016