(57)【要約】 【課題】加工プログラムを容易に生成することが可能な加工プログラム生成装置、加工システム、及び、加工プログラム生成用のプログラムを提供する。 【解決手段】加工プログラム生成装置は、加工エリアに対応する加工エリア画像を表示部に表示する表示制御手段と、表示部に表示された加工エリア画像上にポインティングデバイスに対する手書き入力によって描かれる手書きの線を表す複数の座標値をポインティングデバイスからの信号に基づいて特定する座標値特定手段と、座標値特定手段が特定した座標値それぞれに基づいて、当該座標値それぞれで工具の移動経路を指定した加工プログラムを生成する加工プログラム生成手段と、を備える。【選択図】図８
2015111338.tif 000002
【特許請求の範囲】
【請求項１】
工具によって被加工物の加工エリアを加工するときに用いられる加工プログラムであり、加工時における前記工具の加工エリア内の移動経路を複数の第１座標値で指定した加工プログラムを生成する加工プログラム生成装置であって、
前記加工エリアに対応する加工エリア画像を表示部に表示する表示制御手段と、
前記表示部に表示された前記加工エリア画像上にポインティングデバイスに対する手書き入力によって描かれる手書きの線を表す複数の第２座標値を前記ポインティングデバイスからの信号に基づいて特定する座標値特定手段と、
前記座標値特定手段が特定した前記第２座標値それぞれに基づいて、前記第２座標値それぞれを前記第１座標値それぞれとした前記加工プログラムを生成する加工プログラム生成手段と、
を備えることを特徴とする加工プログラム生成装置。
【請求項２】
工具によって被加工物の加工エリアを加工するときに用いられる加工プログラムであり、加工時における前記工具の加工エリア内の移動経路を前記加工エリアに設定された第１座標系の複数の第１座標値で指定した加工プログラムを生成する加工プログラム生成装置であって、
前記加工エリアに対応する加工エリア画像を表示部に表示する表示制御手段と、
前記表示部に表示された前記加工エリア画像上にポインティングデバイスに対する手書き入力によって描かれる手書きの線を表す前記加工エリア画像に設定された第２座標系の複数の第２座標値を前記ポインティングデバイスからの信号に基づいて特定する座標値特定手段と、
前記座標値特定手段が特定した前記第２座標値それぞれに基づいて、前記第２座標値それぞれを前記第１座標系の座標値それぞれに変換し、変換した後の座標値それぞれを前記第１座標値それぞれとした前記加工プログラムを生成する加工プログラム生成手段と、
を備えることを特徴とする加工プログラム生成装置。
【請求項３】
請求項１又は２に記載の加工プログラム生成装置と、
前記加工プログラム生成装置が生成した前記加工プログラムに従って前記工具を前記被加工物に対して相対的に移動させ、前記加工エリアに前記手書きの線に対応する加工を行う加工装置と、
を備えることを特徴とする加工システム。
【請求項４】
工具によって被加工物の加工エリアを加工するときに用いられる加工プログラムであり、加工時における前記工具の加工エリア内の移動経路を複数の第１座標値で指定した加工プログラムを生成するコンピュータを、
前記加工エリアに対応する加工エリア画像を表示部に表示する表示制御手段、
前記表示部に表示された前記加工エリア画像上にポインティングデバイスに対する手書き入力によって描かれる手書きの線を表す複数の第２座標値を前記ポインティングデバイスからの信号に基づいて特定する座標値特定手段、
前記座標値特定手段が特定した前記第２座標値それぞれに基づいて、前記第２座標値それぞれを前記第１座標値それぞれとした前記加工プログラムを生成する加工プログラム生成手段、
として機能させることを特徴とする加工プログラム生成用のプログラム。
【請求項５】
工具によって被加工物の加工エリアを加工するときに用いられる加工プログラムであり、加工時における前記工具の加工エリア内の移動経路を前記加工エリアに設定された第１座標系の複数の第１座標値で指定した加工プログラムを生成するコンピュータを、
前記加工エリアに対応する加工エリア画像を表示部に表示する表示制御手段、
前記表示部に表示された前記加工エリア画像上にポインティングデバイスに対する手書き入力によって描かれる手書きの線を表す前記加工エリア画像に設定された第２座標系の複数の第２座標値を前記ポインティングデバイスからの信号に基づいて特定する座標値特定手段、
前記座標値特定手段が特定した前記第２座標値それぞれに基づいて、前記第２座標値それぞれを前記第１座標系の座標値それぞれに変換し、変換した後の座標値それぞれを前記第１座標値それぞれとした前記加工プログラムを生成する加工プログラム生成手段、
として機能させることを特徴とする加工プログラム生成用のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、加工プログラム生成装置、加工システム、及び、加工プログラム生成用のプログラムに関する。
【背景技術】
【０００２】
特許文献１には、ＣＡＤ装置により作成される形状データから工作機械に出力するＮＣプログラムを作成するＮＣプログラム作成装置が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−１５０７２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１に記載されたＮＣプログラム作成装置でＮＣプログラムを作成するとしても、まず、ＣＡＤ装置を用いなければならず、ＣＡＤ装置の操作を熟知していないユーザにとっては、ＣＡＤ装置での形状データの生成がそもそも困難となり、ＮＣプログラムを作成することが困難である。これは、加工プログラムの一例であるＮＣプログラムに限らず、加工プログラム全般に言えることである。このように、加工プログラムの生成は、未だ容易ではない。
【０００５】
本発明は、上記課題を解決するために、加工プログラムを容易に生成することが可能な加工プログラム生成装置、加工システム、及び、加工プログラム生成用のプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明の第１の観点に係る加工プログラム生成装置は、
工具によって被加工物の加工エリアを加工するときに用いられる加工プログラムであり、加工時における前記工具の加工エリア内の移動経路を複数の第１座標値で指定した加工プログラムを生成する加工プログラム生成装置であって、
前記加工エリアに対応する加工エリア画像を表示部に表示する表示制御手段と、
前記表示部に表示された前記加工エリア画像上にポインティングデバイスに対する手書き入力によって描かれる手書きの線を表す複数の第２座標値を前記ポインティングデバイスからの信号に基づいて特定する座標値特定手段と、
前記座標値特定手段が特定した前記第２座標値それぞれに基づいて、前記第２座標値それぞれを前記第１座標値それぞれとした前記加工プログラムを生成する加工プログラム生成手段と、
を備えることを特徴とする。
【０００７】
また、本発明の第２の観点に係る加工プログラム生成装置は、
工具によって被加工物の加工エリアを加工するときに用いられる加工プログラムであり、加工時における前記工具の加工エリア内の移動経路を前記加工エリアに設定された第１座標系の複数の第１座標値で指定した加工プログラムを生成する加工プログラム生成装置であって、
前記加工エリアに対応する加工エリア画像を表示部に表示する表示制御手段と、
前記表示部に表示された前記加工エリア画像上にポインティングデバイスに対する手書き入力によって描かれる手書きの線を表す前記加工エリア画像に設定された第２座標系の複数の第２座標値を前記ポインティングデバイスからの信号に基づいて特定する座標値特定手段と、
前記座標値特定手段が特定した前記第２座標値それぞれに基づいて、前記第２座標値それぞれを前記第１座標系の座標値それぞれに変換し、変換した後の座標値それぞれを前記第１座標値それぞれとした前記加工プログラムを生成する加工プログラム生成手段と、
を備えることを特徴とする。
【０００８】
また、本発明の第３の観点に係る加工システムは、
前記加工プログラム生成装置と、
前記加工プログラム生成装置が生成した前記加工プログラムに従って前記工具を前記被加工物に対して相対的に移動させ、前記加工エリアに前記手書きの線に対応する加工を行う加工装置と、
を備えることを特徴とする。
【０００９】
また、本発明の第４の観点に係る加工プログラム生成用のプログラムは、
工具によって被加工物の加工エリアを加工するときに用いられる加工プログラムであり、加工時における前記工具の加工エリア内の移動経路を複数の第１座標値で指定した加工プログラムを生成するコンピュータを、
前記加工エリアに対応する加工エリア画像を表示部に表示する表示制御手段、
前記表示部に表示された前記加工エリア画像上にポインティングデバイスに対する手書き入力によって描かれる手書きの線を表す複数の第２座標値を前記ポインティングデバイスからの信号に基づいて特定する座標値特定手段、
前記座標値特定手段が特定した前記第２座標値それぞれに基づいて、前記第２座標値それぞれを前記第１座標値それぞれとした前記加工プログラムを生成する加工プログラム生成手段、
として機能させることを特徴とする。
【００１０】
また、本発明の第５の観点に係る加工プログラム生成用のプログラムは、
工具によって被加工物の加工エリアを加工するときに用いられる加工プログラムであり、加工時における前記工具の加工エリア内の移動経路を前記加工エリアに設定された第１座標系の複数の第１座標値で指定した加工プログラムを生成するコンピュータを、
前記加工エリアに対応する加工エリア画像を表示部に表示する表示制御手段、
前記表示部に表示された前記加工エリア画像上にポインティングデバイスに対する手書き入力によって描かれる手書きの線を表す前記加工エリア画像に設定された第２座標系の複数の第２座標値を前記ポインティングデバイスからの信号に基づいて特定する座標値特定手段、
前記座標値特定手段が特定した前記第２座標値それぞれに基づいて、前記第２座標値それぞれを前記第１座標系の座標値それぞれに変換し、変換した後の座標値それぞれを前記第１座標値それぞれとした前記加工プログラムを生成する加工プログラム生成手段、
として機能させることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、加工プログラムを容易に生成することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態に係る加工システムの構成を示すブロック図である。
【図２】タッチパネルに設定される座標値を説明する図である。
【図３】タッチパネルに表示される画面の例の図である。
【図４】座標情報の内容例を示す図である。
【図５】加工プログラム生成処理の一例を示すフローチャートである。
【図６】タッチパネルに設定される座標値や加工エリア画像に設定される座標値を説明する図である。
【図７】タッチパネルに設定される座標値と加工エリア画像に設定される座標値との関係を示す図である。
【図８】座標情報から加工プログラムを生成する様子を示す図である。
【図９】加工の様子を説明する図である。
【図１０】加工プログラム（ＮＣプログラム）の具体的構成例を示す図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施形態に係る加工プログラム生成装置、加工システムなどについて図面を参照して説明する。
【００１４】
図１に示すように、本実施形態に係る加工システム１は、加工プログラム生成装置１１と加工装置１２とを備える。加工プログラム生成装置１１は、加工プログラムを生成する。加工装置１２は、加工プログラム生成装置１１で生成された加工プログラムに従って、被加工物（ワーク）を加工する。被加工物への加工は、加工装置１２に取り付けられた工具によって行われる。なお、この実施の形態では、加工プログラムは、ＮＣプログラムであり、加工時における工具の移動経路をＸＹなどの複数の座標値（工具が通る位置を表す座標値）で指定する複数のコード、工具が進む速度を指定するコードなどを含む（詳しくは後述するが、図１０などを参照）。また、ＮＣ（Ｎｕｍｅｒｉｃａｌ  Ｃｏｎｔｒｏｌ）は、ＣＮＣ（Ｃｏｍｐｕｔｅｒ  Ｎｕｍｅｒｉｃａｌ  Ｃｏｎｔｒｏｌ）も含む概念とする。
【００１５】
加工プログラム生成装置１１は、パーソナルコンピュータ、スマートフォン、タブレット端末などからなる。加工プログラム生成装置１１は、図１に示すように、操作部１１１と、表示部１１２と、制御部１１３と、記憶部１１４と、通信部１１５と、を備える。
【００１６】
操作部１１１は、ペンタブレット、タッチパッド、タッチセンサ、マウスなどのポインティングデバイス（位置入力装置）などから構成される。ポインティングデバイスは、例えば、手書きで線を描く手書き入力が可能な装置である。操作部１１１は、キーボードなどを備えてもよい。操作部１１１は、ユーザからの操作を受け付け、受け付けた操作の内容を示す操作信号を制御部１１３に供給する。
【００１７】
表示部１１２は、液晶ディスプレイ、ＥＬ（Ｅｌｅｃｔｒｏｌｕｍｉｎｅｓｃｅｎｃｅ）ディスプレイなどから構成され、制御部１１３の制御のもとで、所定の画像（例えば、後述の加工エリア画像など）を表示する。
【００１８】
なお、操作部１１１と表示部１１２とは、タッチパネルなどから構成されてもよい。このような場合、タッチパネルのうち、画像を表示する部分（例えば、液晶パネルなど）が表示部１１２であり、操作を検出する位置入力装置（例えば、タッチパッドなど）が操作部１１１である。
【００１９】
制御部１１３は、加工プログラム生成装置１１全体を制御するとともに、後述の操作内容特定処理（操作部１１１への操作内容を特定する処理）や加工プログラム生成処理（操作部１１１に対する操作に基づいて加工プログラムを生成する処理）などを行う。制御部１１３は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などから構成される。ＣＰＵは、記憶部１１４に記憶された各種の制御プログラム（例えば、操作内容特定処理や加工プログラム生成処理などをＣＰＵに実行させて加工プログラムを生成させるプログラムなどであり、加工プログラム以外のプログラム）に従って、また、記憶部１１４に記憶された各種データを用いて、制御部１１３が実行する処理（例えば、後述の操作内容特定処理や加工プログラム生成処理など）を実際に実行する。ＲＡＭは、ＣＰＵが処理を実行するのに必要なデータを一時記憶するメインメモリなどとして機能する。制御部１１３の構成は任意であり、例えば、制御部１１３の少なくとも一部を、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｓｅｃｃｅｒ）などの各種電子回路としてもよい。
【００２０】
記憶部１１４は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ハードディスク装置、フラッシュメモリなどを含んで構成される。記憶部１１４は、制御部１１３（ＣＰＵなど）に処理を行わせる各種の制御プログラム（例えば、操作内容特定処理や加工プログラム生成処理などをＣＰＵに実行させて加工プログラムを生成させるプログラムなどであり、加工プログラム以外のプログラム）、制御部１１３（ＣＰＵなど）が処理実行時に使用する各種データなどを記憶する不揮発性の記憶部である。記憶部１１４に記憶される各種の制御プログラムや各種データは、制御部１１３のＲＡＭに一度読み出されてもよいし、制御部１１３（ＣＰＵなど）が直接読み込んでもよい。また、記憶部１１４は、後述の加工プログラム生成処理で生成された加工プログラムなどを記憶する。
【００２１】
通信部１１５は、有線又は無線によってデータ通信可能な通信モジュールを含み、制御部１１３は、当該通信部１１５を介して有線又は無線で後述の加工プログラムを加工装置１２に供給する。
【００２２】
加工装置１２は、サーボ制御部１２１と、サーボ駆動部１２２と、通信部１２３と、によって構成されている。加工装置１２は、一般的なＮＣ工作機械などであればよい。
【００２３】
サーボ制御部１２１は、ＣＰＵ、ＲＡＭ、各種の記憶装置などを含んで構成されるコンピュータである。サーボ制御部１２１は、加工装置１２全体を制御する。特に、サーボ制御部１２１は、後述の加工プログラム（加工プログラム生成装置１１から供給される。）に従って、サーボ駆動部１２２を制御して、被加工物を加工する。
【００２４】
サーボ駆動部１２２は、サーボモータと、サーボモータの駆動力を工具Ｋ（図９参照）に伝達する伝達機構と、を備える。伝達機構には、工具Ｋが取り付けられる。サーボモータは、サーボ制御部１２１によって制御されて駆動される。サーボモータの駆動力は、伝達機構などを介して工具Ｋに伝達される。工具Ｋは、伝達される駆動力によって動き、被加工物を加工する。ここでは、工具Ｋの移動によって、被加工物の加工エリア４０（図９参照）を工具Ｋによって削り、当該被加工物から所定形状の線（幅の広い帯状のものを含む。以下同じ。）を削り出す加工が行われる。なお、この実施の形態では、線を削り出すことを、「線を描く」とも表現する。サーボ制御部１２１が、サーボ駆動部１２２を制御し、加工プログラムが各座標値で指定する位置に工具Ｋを順次移動させていくことによって、工具Ｋによる加工が行われる。
【００２５】
通信部１２３は、有線又は無線によってデータ通信可能な通信モジュールを含み、サーボ制御部１２１には、当該通信部１２３を介して有線又は無線で後述の加工プログラムが供給される。
【００２６】
加工装置１２は、ユーザが操作を行うためのキーボードやマウスなどの操作装置、操作画面などを表示する液晶ディスプレイなどの各種ディスプレイなどを備えてもよい。
【００２７】
ここで、加工プログラム生成装置１１の動作などについて説明する。ここでは、加工プログラム生成装置１１をタッチパネル式のタブレット端末であるものとし、操作部１１１と表示部１１２とはタブレット端末が備えるタッチパネル１１２Ａ（図２などを参照）で構成されているものとして以下説明する。ユーザは、タッチパネル１１２Ａに対して、タッチパネル１１２Ａを指でタッチするタッチ操作を行う。タッチ操作としては、タッチパネル１１２Ａをタップするタップ操作や、タッチパネル１１２Ａに指を触れたまま指を移動させるスワイプ操作などがある。タッチパネル１１２Ａは、タッチ操作があったとき、指が触れている領域を特定可能な操作信号を制御部１１３に供給する。
【００２８】
制御部１１３は、タッチパネル１１２Ａからの操作信号に基づいて操作内容特定処理を実行する。操作内容特定処理は、所定時間の経過ごとに（例えば、０．１秒など。タッチパネル１１２Ａの操作検出の分解能に応じた期間であればよい。）、繰り返し行われる。操作内容特定処理は、後述の加工プログラム生成処理と並行して独立で行われる。制御部１１３は、繰り返し行われる操作内容特定処理にて、指が触れている領域を特定してタッチ操作の内容を特定する。制御部１１３は、タッチ操作の内容として、タップ操作がなされたか（例えば、操作信号の供給期間が所定期間よりも短い場合にはタップ操作がなされたと判別できる）、スワイプ操作が開始されたか（例えば、操作信号の供給期間が所定期間を超えた場合にはスワイプ操作が開始されたと判別できる）、タッチパネル１１２Ａにおけるタッチ位置などを特定できる（例えば、操作信号によって特定される指が触れている領域に基づいて特定できる）。特定されるタッチ位置としては、タップされた位置や、スワイプ操作における現在の指の位置などがあり、タッチ位置は、指のタッチパネル１１２Ａと接触する部分の中心の位置などである。
【００２９】
タッチ位置についてさらに説明する。タッチパネル１１２Ａには、ＸＹ座標（２次元座標）の座標値が設定されている。例えば、図２に示すように、タッチパネル１１２Ａの左上の位置（図２における四角の領域）の座標値として（１，１）が設定され、その右の位置の座標値として（２，１）が設定され、さらにその右の位置の座標値として（３，１）が設定され、・・・、右上の位置の座標値として（Ｘｉ，１）（図２では、Ｘｉ＝４４）が設定され、・・・、左下の位置の座標値として（１，Ｙｉ）（図２では、Ｙｉ＝３６）が設定され、・・・、右下の位置の座標値として（Ｘｉ，Ｙｉ）が設定されている。タッチ位置は、当該座標値で表される。制御部１１３は、操作信号に基づいて、例えば、タッチパネル１１２Ａにおいて指が接触している領域内の座標値（図２における各四角の領域の座標値であり、通常複数となる。）を特定し、特定した座標値の位置のうちの中心位置にある座標値をタッチ位置として特定する。なお、図２では、各座標値の位置は大きく描かれているが、実際には各位置や各座標値はもっと細かく設定される。
【００３０】
制御部１１３は、繰り返し実行する操作内容特定処理にて、タップ操作がなされたことを特定したときには、ＲＡＭに設けられたタップ操作フラグ（タップ操作がなされたときにオンとなるフラグ）をオン状態とするとともに、特定したタップ操作のタッチ位置（座標値）を当該フラグに対応付けてＲＡＭに保持する。
【００３１】
制御部１１３は、繰り返し実行する操作内容特定処理にて、スワイプ操作が開始され、かつ、スワイプ操作の開始位置（開始時のタッチ位置）が後述の加工エリア画像２１上であることを特定したときには、ＲＡＭに設けられたスワイプ操作フラグ（スワイプ操作がなされたときにオンとなるフラグ）をオン状態とするとともに、特定したスワイプ操作における現在のタッチ位置（座標値）を当該フラグに対応付けて、ＲＡＭに、操作内容特定処理の実行毎に時系列順に順次保持していく。例えば、制御部１１３は、保持順序を示す保持番号ととともに座標値をＲＡＭに格納する。図４に、ＲＡＭに格納された保持番号と座標値とを例示する。例えば、図４では、まず、座標値として（１５，１５）が保持され（保持番号「１」）、その次に座標値として（１５，１６）が保持され（保持番号「２」）、・・・、最新の座標値として（３０，２８）が保持されている（保持番号「Ｋ」）。制御部１１３は、スワイプ操作フラグをオン状態としたあと、タッチ位置が後述の加工エリア画像２１の表示領域から外れる、又は、指がタッチパネル１１２Ａから離れて操作信号の供給が無くなるなどして、加工エリア画像２１におけるスワイプ操作が終了した場合には、新たな座標値の保持をやめるとともに、スワイプ操作フラグをオフ状態にする。
【００３２】
制御部１１３が実行する加工プログラム生成処理について説明する。まず、加工プログラム生成処理が実行されているときに、タッチパネル１１２Ａに表示される画像などを説明する。加工プログラム生成処理が実行されているときには、タッチパネル１１２Ａに加工エリア画像２１が表示される（図３（Ａ））。加工エリア画像２１は、被加工物の加工エリアを表している。タッチパネル１１２Ａの、加工エリア画像２１が表示されている表示領域に対して、ユーザがスワイプ操作を行うと、当該スワイプ操作による指の動きに追従するように、加工エリア画像２１に指の動きを示す線（指の動きの軌跡の線）が描かれる。例えば、図３（Ｂ）のように、始点Ｓ１（指が触れた位置）から終点Ｓ２（指が離れた位置）までスワイプ操作が行われると、当該スワイプ操作による指の動きの軌跡を示す線Ｓ（手書きの線ともいう。）が加工エリア画像２１内に描かれる（なお、矢印Ｙは、指の動きを示す。）。ユーザは、このようなスワイプ操作によって、加工エリア画像２１内に所望の線を描くことができる。なお、当該スワイプ操作は、手書きで所望の線を描く操作であるので、当該スワイプ操作は手書きの線を描く手書き入力でもある。また、タッチパネル１１２Ａを指でタッチしてから、指をタッチパネル１１２Ａから離すまでの１回のスワイプ操作（一筆書きで線を描く１回の操作）は、１回の手書き入力になる。ユーザは、当該１回の手書き入力（スワイプ操作）を繰り返し行うことで、複数の線を加工エリア画像２１に描くことができる。
【００３３】
加工プログラム生成処理において、制御部１１３は、まず、タッチパネル１１２Ａに、加工エリア画像２１、終了ボタン画像２２、及び、消去ボタン画像２３を表示する（図５のステップＳ１０１，図３（Ａ）参照）。なお、表示された各画像は、加工プログラム生成処理が終了するまで、表示されることになる。
【００３４】
加工エリア画像２１は加工エリア４０（図９参照）を表す画像であり、その縦横比が加工エリア４０（工具を動かす範囲でもある。）の縦横比に一致する。
【００３５】
終了ボタン画像２２は、手書き入力によって描かれた線に対応した線を描く加工プログラムを生成し、加工プログラム生成処理の終了を指示するボタンの画像である。
【００３６】
消去ボタン画像２３は、ユーザによる１回の手書き入力をキャンセルし、１つ前の状態に戻す操作（最も新しく描かれた線を消去する操作）を指示するボタンの画像である。
【００３７】
制御部１１３は、ステップＳ１０１のあと、タッチパネル１１２Ａにおける、終了ボタン画像２２を表示している表示領域がタップされたか否かを判別する（ステップＳ１０４）。例えば、制御部１１３は、タップ操作フラグがオン状態であり、かつ、当該タップ操作フラグに対応してＲＡＭに格納されているタッチ位置（座標値）が終了ボタン画像２２を表示している表示領域内の座標値のいずれかに合致するか否かを判別し、タップ操作フラグがオフ状態であったり、タッチ位置（座標値）が終了ボタン画像２２を表示している表示領域外の座標値に合致した場合には、終了ボタン画像２２を表示している表示領域がタップされていないと判別する（ステップＳ１０４；Ｎｏ）。
【００３８】
制御部１１３は、終了ボタン画像２２の表示領域がタップされていないと判別すると（ステップＳ１０４；Ｎｏ）、タッチパネル１１２Ａにおける、加工エリア画像２１を表示している表示領域にて、スワイプ操作が開始されたか否かを判別する（ステップＳ１１０）。例えば、制御部１１３は、スワイプ操作フラグがオン状態であるか否かを判別することで、加工エリア画像２１においてスワイプ操作が開始されたか否かを判別する。
【００３９】
制御部１１３は、スワイプ操作フラグがオン状態であると判別するなどして、スワイプ操作が開始されたと判別すると（ステップＳ１１０；Ｙｅｓ）、順次保持されるタッチ位置（座標値）に沿って線を描画する描画処理を実行する（ステップＳ１１１）。制御部１１３は、当該描画処理をスワイプ操作フラグがオフ状態になったときに、当該描画処理を終了する。制御部１１３は、ステップＳ１１１における描画処理において、例えば、タッチ位置（座標値）がＲＡＭに保持されるたびに、タッチパネル１１２Ａに対する表示制御を行う。制御部１１３は、表示制御として、最も新しく保持された座標値が表すタッチ位置（加工エリア画像２１上の位置）に、当該タッチ位置（座標値）を中心にした所定の大きさの円、四角形などの図形（塗りつぶしの図形）を描く制御を行う。制御部１１３は、このような表示制御を順次実行することによって、スワイプ操作によって移動する指の各タッチ位置（順次保持される座標値）それぞれを中心とした図形を加工エリア画像内に順次描いていく制御を行う。操作内容特定処理の実行間隔を短くすることで、順次描かれる図形は、少なくとも一部同士が重なることになる。このため、当該表示制御が順次繰り返し実行されることで、図形が繋がって線が描画されることになる。なお、図形の描画時、前回描画した図形と今回描画する図形とを結ぶ直線を当該表示制御の実行毎に描画するようにしてもよい。このようにしても、操作内容特定処理の実行間隔を短くすることで、図形同士の間隔（保持されるタッチ位置の間隔）が狭くなるので、指の動きが曲線的であっても、当該描画処理にて、指の動きに追従して、曲線状に線が描かれる。このような処理は、例えば、描画する図形が小さいときに有効である。以上のように、当該描画処理により、スワイプ操作によって、加工エリア画像２１内に所望の線（曲線など）を手書きで描くことができる。例えば、図３（Ｂ）のように、始点Ｓ１（指が触れた位置）から終点Ｓ２（指が離れた位置）までスワイプ操作（ここでは、手書き入力でもある。）が行われると、当該スワイプ操作による指の動きの軌跡を示す線Ｓが加工エリア画像２１内に指の動きに追従するように描かれていく（矢印Ｙは、指の動きを示す。）。なお、ステップＳ１１１は、１回のスワイプ操作が終了すると終了するので、１回のステップＳ１１１では、１つの線が描画されることになる。なお、描画処理は、手書き入力によって手書きの線を描く処理であればよく、他の適切な処理も採用できる。
【００４０】
ステップＳ１１１のあとに実行されるステップＳ１１２において、制御部１１３は、ステップＳ１１１でＲＡＭに順次保持した各保持番号と各保持番号に対応した各タッチ位置（座標値）との集まりを座標情報として記憶部１１４に記録する。１回のスワイプ操作が実行されるごとにステップＳ１１２が実行され、１回のスワイプ操作で描かれる直線が加工エリア画像２１に複数描かれることがあるので、制御部１１３は、記憶順序を特定可能に、座標情報を記憶する。
【００４１】
制御部１１３は、スワイプ操作フラグがオフ状態であるなどして、加工エリア画像２１を表示している表示領域にてスワイプ操作が開始されていないと判別すると（ステップＳ１１０；Ｎｏ）、タッチパネル１１２Ａにおける、消去ボタン画像２３を表示している表示領域がタップされたか否かを判別する（ステップＳ１２１）。例えば、制御部１１３は、タップ操作フラグがオン状態であり、かつ、当該タップ操作フラグに対応してＲＡＭに格納されているタッチ位置（座標値）が消去ボタン画像２３を表示している表示領域内の座標値のいずれかに合致するか否かを判別し、タップ操作フラグがオン状態であり、タッチ位置（座標値）が消去ボタン画像２３を表示している表示領域内の座標値に合致する場合には、消去ボタン画像２３を表示している表示領域がタップされたと判別する（ステップＳ１２１；Ｙｅｓ）。
【００４２】
制御部１１３は、消去ボタン画像２３の表示領域がタップされたと判別すると（ステップＳ１２１；Ｙｅｓ）、もっとも最近記憶部１１４に格納した座標情報（直近のステップＳ１１２で記憶部１１４に記録した座標情報）を記憶部１１４から削除する処理を行うとともに、もっとも最近描画した線（直近のステップＳ１１１でタッチパネル１１２Ａに表示した線）を消去する表示制御を行う（ステップＳ１２２）。これによって、消去ボタン画像２３のタップによって、もっとも新しいスワイプ操作がキャンセルされることになる。なお、このとき、制御部１１３は、タップ操作フラグをオフ状態にするとともに、当該タップ操作フラグに対応してＲＡＭに格納しているタッチ位置（座標値）のデータを消去するとよい。
【００４３】
制御部１１３は、タップ操作フラグがオフ状態である、又は、当該タップ操作フラグに対応してＲＡＭに格納されているタッチ位置（座標値）が消去ボタン画像２３を表示している表示領域内の座標値に合致しないなどして、消去ボタン画像２３の表示領域がタップされていないと判別すると（ステップＳ１２１；Ｎｏ）、ステップＳ１０４の処理を実行する。ステップＳ１１２のあとやステップＳ１２２のあとも、制御部１１３は、ステップＳ１０４の処理を行う。
【００４４】
制御部１１３は、ステップＳ１０４にて、タップ操作フラグがオン状態であり、当該タップ操作フラグに対応してＲＡＭに格納されているタッチ位置（座標値）が終了ボタン画像２２を表示している表示領域内の座標値であるなどして、終了ボタン画像２２を表示している表示領域がタップされたと判別した場合には（ステップＳ１０４；Ｙｅｓ）、記憶部１１４に記録した座標情報に基づいて、加工プログラムを生成し（ステップＳ１０５）、生成した加工プログラムを記憶部１１４に記録（保存）し（ステップＳ１０６）、加工プログラム生成処理を終了する。なお、このとき、制御部１１３は、タップ操作フラグをオフ状態にするとともに、当該タップ操作フラグに対応してＲＡＭに格納しているタッチ位置（座標値）のデータを消去するとよい。
【００４５】
ステップＳ１０５では、制御部１１３は、記憶部１１４に記録した座標情報（今回の加工プログラム生成処理で記録されたすべての座標情報）を読み出し、読み出した座標情報に含まれる座標値を、加工エリア画像２１上の座標値に変換し、変換した加工エリア画像２１上の座標値に基づいて加工プログラムを生成する。
【００４６】
加工エリア画像２１の表示位置は、予め定められており、加工エリア画像２１内の座標値（具体的には、加工エリア画像２１に設定されている座標系におけるＸＹ座標の座標値）とタッチパネル１１２Ａ内の座標値（具体的には、タッチパネル１１２Ａに設定されている座標系におけるＸＹ座標の座標値）とは、それぞれが対応している。例えば、加工エリア画像２１は、図６におけるタッチパネル１１２Ａの表示画面のうち、ドットが付された領域に表示される。例えば、加工エリア画像２１は、加工エリア画像２１の左上の位置が、タッチパネル１１２Ａの（２，２）の座標値の位置になり、加工エリア画像２１の右上の位置が、タッチパネル１１２Ａの（Ｘｉ−１，２）の座標値の位置（ここでは、（４３，２））になり、加工エリア画像２１の左下の位置が、タッチパネル１１２Ａの（２，Ｙｉ−６）の座標値の位置（ここでは、（２，３０））になり、加工エリア画像２１の右下の位置が、タッチパネル１１２Ａの（Ｘｉ−１，Ｙｉ−６）の座標値の位置（ここでは、（４３，３０））になるように表示される。加工エリア画像２１内の各位置（図６における四角の領域それぞれ）と、タッチパネル１１２Ａ内の各位置（図２、６における四角の領域それぞれ）と、は互いに対応しており、加工エリア画像２１の左上の位置が、（１，１）の座標値の位置になるように加工エリア画像２１における座標値が設定される。すなわち、加工エリア画像２１内の座標値（図６における四角の領域それぞれの座標値）は、タッチパネル１１２Ａ内の座標値のＸの値、及び、Ｙの値をそれぞれ１減じた値になる（図７参照）。
【００４７】
制御部１１３は、ステップＳ１０５において、例えば、変換前の座標値と変換後の座標値との対応表（記憶部１１４に予め記憶されている）を参照して、座標情報に含まれる座標値を、加工エリア画像２１上の座標値に変換するか（例えば、図７に示す関係の対応表を参照し、座標情報の座標値が（３，２）であれば、当該座標値を（２，１）に変換する）、記憶部１１４に記録した座標情報に含まれる座標値を予め定められた方法で演算する（図６の例では、座標値のＸの値及びＹの値をそれぞれ１減じる）などして、記憶部１１４に記録した座標情報に含まれる座標値を、加工エリア画像２１上の座標値に変換する。制御部１１３は、変換後の座標値を変換前の座標値に対応していた保持番号に対応付けてＲＡＭに保持する。制御部１１３は、座標情報が複数の場合には、座標情報ごとに変換後の座標値を保持番号に対応付けて保持する。その後、制御部１１３は、変換後の座標値を用いて、当該変換後の座標値を示すコード（具体的には、加工プログラムで用いられる形式のコード）を保持番号順に記述した加工プログラムを生成する。複数の座標情報がある場合には、座標情報の古い順に座標情報ごとに、変換後の座標値を示すコードを保持番号順に記述するようにする。
【００４８】
例えば、図８に示すように、制御部１１３は、座標情報Ａ−１の座標値を変換して変換後の座標値を保持番号に対応付けて保持する（保持番号と変換後の座標値とからなる情報を変換後座標情報Ａ−２という）。同様に、制御部１１３は、座標情報Ｂ−１（座標情報Ａ−１よりも後に記憶された情報）の座標値を変換して変換後の座標値を保持番号に対応付けて保持する（保持番号と変換後の座標値とからなる情報を変換後座標情報Ｂ−２という）。制御部１１３は、まず、先に記憶された座標情報Ａ−１に対応する変換後座標情報Ａ−２に含まれる各座標値に基づき、各座標値を示すコードを保持番号順に生成し、後に記憶された座標情報Ｂ−１に対応する変換後座標情報Ｂ−２に含まれる各座標値に基づき、各座標値を示すコードを保持番号順に生成し、生成した各コードに基づいて、当該生成した順序で当該各コードを変換後座標情報ごとに記述した加工プログラムを生成する。
【００４９】
各コードの形式は、予め定まっている。図８に示すように、１つの座標値（ここでは、Ｘ座標の値とＹ座標の値との組み）を示すコードは、「Ｘ？？  Ｙ！！」で記述される。ここで、「？？」は変換後の座標値におけるＸ座標の値、「！！」は変換後の座標値におけるＹ座標の値である。つまり、「？？」及び「！！」が当該コードが示す座標値となっている。各コードが示す座標値は、加工プログラムの中で、加工において工具Ｋ（図９参照）を順次移動させる移動先の位置（座標）を示すものであり、当該コードは、工具Ｋの移動先の位置を当該コードが示す座標値で指定するものである。
【００５０】
なお、図８の加工プログラムにおける「Ｇ０１」、「Ｚ−０．０５００」、「Ｆ５００」、「Ｆ４０００」などは予め設定されたコードとして、加工プログラムを生成するときに用いられる。加工プログラムには、他のコードも含まれるが、当該他のコードも予め設定されたコードとして、加工プログラム生成時に用いられればよい。各コードについては、図１０を参照したときに詳しく説明するが、「Ｇ０１」は、工具Ｋの動き（ここでは、直線移動）を指定するコードであり、「Ｚ−０．０５００」は、Ｚ軸方向の工具の移動先を指定する座標値を示すコードであり、「Ｆ４０００」や「Ｆ５００」は、工具の移動速度を指定するコードである。「Ｇ０１  Ｚ−０．０５００  Ｆ５００」は、「Ｚ−０．０５００」が示す座標の位置に、工具Ｋ（図９参照）を、「Ｇ０１」が指定する動きかつ「Ｆ５００」が指定する速さで動かすことを指定する。「Ｘ？？  Ｙ！！」が記述された各行では、その前の行に記載されている「Ｇ０１」が省略され、最初の行に記述されている「Ｆ４０００」は２行目以降で省略されている。「Ｘ？？  Ｙ！！」が記述された各行は、工具Ｋ（図９参照）を「Ｘ？？  Ｙ！！」が示す座標値の位置に、「Ｇ０１」が指定する動きかつ「Ｆ４０００」が指定する速さで動かすことを指定する。
【００５１】
制御部１１３は、所定タイミング（例えば、ユーザが操作部１１１を操作して加工プログラムの出力を指示したタイミングなど）で、記憶部１１４に保存された加工プログラムを、通信部１１５を介して加工装置１２に供給する。
【００５２】
加工装置１２のサーボ制御部１２１は、加工プログラム生成装置１１から供給される加工プログラムを通信部１２３を介して取得し、取得した加工プログラムに従ってサーボ駆動部１２２を制御し、工具Ｋ（図９参照）を動かす。工具Ｋは、サーボ駆動部１２２によってＸ軸、Ｙ軸、及び、Ｚ軸に沿って移動可能なっている。Ｘ軸及びＹ軸は、被加工物の加工エリア４０（図９参照）（平面）の面内方向に延びる軸であり、互い直交する。Ｚ軸は、加工エリアの法線方向に延びる軸である。サーボ制御部１２１は、サーボ駆動部１２２を制御し、工具ＫをＸ軸、Ｙ軸、Ｚ軸に沿って動かし、被加工物に所定の線（具体的には、加工プログラムに含まれるコードがＸＹ座標の座標値で指定する位置を通る線であり、加工エリア画像２１に描かれた線に対応する線）を描く。特にサーボ制御部１２１は、加工プログラムにおける、座標値（ＸＹ座標の座標値であり、ここでは加工エリア画像２１の座標値と同じ値である。）を示すコードを含む一行分のコード（一行分のコードをまとめてブロックをともいう。）を上から順次読み込み、当該コードが示す座標値によって指定される位置（具体的には、当該座標値の位置）に工具Ｋを移動させていくようにサーボ駆動部１２２を制御する。工具Ｋは、各コードが示す各座標値の位置に順次移動していくことで、被加工物の加工エリア４０を削っていき、当該加工エリア４０に線を描く。加工エリア４０内のＸＹ座標の座標値と、加工エリア画像２１内の座標値（ＸＹ座標の値）とは、各値それぞれが対応しており（具体的には、加工エリア４０に設定されている座標系と加工エリア画像２１に設定されている座標系とが対応するようになっており、加工エリア４０の縦横比と加工エリア画像２１の縦横比は同じになっている。）、同じ座標値をとる位置は、加工エリア４０内及び加工エリア画像２１内で相対的に同じ位置になるので、加工エリア４０に描かれた線は、加工エリア画像２１内に描かれた線に対応する線（ここでは、加工エリアに描かれた線の相似形になっている線）となる。
【００５３】
加工エリア４０に対する加工について、図９を参照してさらに説明する。工具は、初期位置として、被加工物から所定の高さとなる位置に配置される。加工装置１２のサーボ制御部１２１は、加工プログラムに従って、工具Ｋを以下のように動かすよう、サーボ駆動部１２２を制御する。まず、サーボ制御部１２１は、加工プログラムに従って、工具ＫをＸ軸Ｙ軸の平面上で動かし、加工の最初の位置（加工開始位置）まで移動させる（高さは変化させない）（図９（Ａ））。加工開始位置は、座標値で特定されていればよく、特に、ステップＳ１０５で加工プログラムを生成するときに、座標情報の保持番号「１」に対応した座標値で特定されればよい。ステップＳ１０５では、制御部１１３は、加工プログラムを生成するときに、保持番号「１」に対応した変換後の座標値を加工開始位置の座標値として、加工プログラムに含ませるようにすればよい。その後、サーボ制御部１２１は、加工プログラム（例えば、「Ｇ０１  Ｚ−０．０５００  Ｆ５００」）に従って、工具ＫをＺ軸方向に動かし、工具Ｋを加工エリア４０に切り込ませる（図９（Ａ））。
【００５４】
その後、サーボ制御部１２１は、加工プログラムに含まれる、座標値を示すコードを含むブロックをブロックごと（一行毎）に順次読み込み、工具ＫをＸ軸Ｙ軸の平面内で動かし、読み込んだコードが示す座標値の位置に工具Ｋを順次移動させていく。工具Ｋは、加工エリア４０に切り込んだ状態で移動するので、これによって、複数の座標値によって表される線Ｇ（読み込まれた順に各座標値の位置を通る線）が加工エリア４０に描かれる（図９（Ｂ））。その後、サーボ制御部１２１は、工具ＫをＺ軸方向に動かし、１回のスワイプ操作によって描かれる線Ｇ（１つの座標情報に基づいて描かれる線であり、加工エリア画像２１に描かれた線に対応する線）を描く加工を終了する。その後、２回目以降のスワイプ操作があれば、同様にして、線を描く加工が行われる。
【００５５】
ここで、図１０を参照して加工プログラムの詳細を説明する。なお、加工プログラムは、一般的な工作機械に使用される形式のものであればよい。なお、加工プログラムにおいて、工具を移動させる移動先の位置を指定する座標値以外のコードは、予め設定されており、加工プログラム生成時に適宜加工プログラムに組み込まれればよい。具体的には、座標値を示すコード以外は、テンプレートなどして予め用意されており、加工プログラム生成時には、座標値を示すコードをこのテンプレートに記述することで、加工プログラムを生成するようにすればよい。
【００５６】
第１加工前コード群は、工具ＫをＸ軸方向及びＹ軸方向に動かして加工開始位置まで移動させるコード群である。「Ｇ００  Ｘ５．２３４４  Ｙ７２．５０００」はＸ座標が５．２３４４、Ｙ座標が７２．５０００である位置へ工具Ｋを移動させることを指定するコードの集まり（ブロック）である。「Ｘ５．２３４４  Ｙ７２．５０００」が示す座標値（Ｘ及びＹに続く数値）は、ステップＳ１０５で生成した変換後座標情報における保持番号「１」に対応する座標値であればよい。制御部１１３は、例えば、ステップＳ１０５で加工プログラムを生成するときに、変換後の座標情報における保持番号「１」に対応する座標値を用いて当該座標値を示すコードを生成して、工具Ｋの移動態様を示すコードである「Ｇ００」（ここでは、工具Ｋの早送りによる移動を指定する。）のあとに組み込めばよい。「Ｇ００  Ｚ５．００００」（「Ｚ」に続く数値がＺ座標の座標値を示す。）はＺ座標の座標値が５．００００である位置へ工具Ｋを移動させることを指定するコードの集まり（ブロック）である。Ｚ座標は、ここでは、工具Ｋの先端（加工エリア４０側の先端）が加工エリア４０の位置にあるときをＺ＝０とし、工具Ｋの先端が加工エリア４０から離れているときはＺ＞０、工具Ｋが加工エリア４０に切り込んでいるときはＺ＜０とする。工具Ｋの初期位置は、Ｚ座標が５．００００である位置よりも高い位置にあるので、サーボ制御部１２１は、「Ｇ００  Ｚ５．００００」によって工具Ｋを加工エリア４０に近づかせる。このような一連のデータによって、サーボ制御部１２１は、工具Ｋを加工開始位置まで移動させてから、工具ＫをＺ軸方向に動かし、加工エリアに切り込ませる。
【００５７】
第１加工時コード群は、工具ＫをＺ軸方向に移動させて加工エリア４０に切り込ませ、各コードが示す座標値の位置に工具Ｋを移動させるコード群である。例えば、最初の「Ｇ０１  Ｚ−０．０５００  Ｆ５００」はＺ座標が−０．０５００である位置（工具Ｋが加工エリアに切り込む位置）へ、「Ｆ５００」に対応する速度で工具Ｋを直線移動（「Ｇ０１」によって指定される。）させることを指定するコードの集まり（ブロック）である。第１加工時コード群の２行目以降のブロックに含まれるコードが示す各座標値（各行におけるＸ及びＹそれぞれに続く数値）は、ステップＳ１０５で変換された変換後座標情報における座標値と同じ値である。各座標値を示すコードは、変換後座標情報で同じ座標値に対応していた保持番号の順（サーボ制御部１２１の読み込み順）に上から各行に記述されている。例えば、「Ｘ５．２３４４  Ｙ７２．５０００」は、ステップＳ１０５で変換される座標情報のうちの最初に記憶部１１４に記録された座標情報の保持番号「１」に対応付けられていた座標値を示すコードになっている。次の「Ｘ５．３９０６  Ｙ７２．５０００」は、ステップＳ１０５で変換される座標情報のうちの最初に記憶部１１４に記録された座標情報の保持番号「２」に対応付けられていた座標値を示すコードになっている。第１加工時コード群を構成する２行目以降の各行（各ブロック）は、「Ｇ０１」が省略されており、２行目以降の各行は、各コード（「Ｘ５．２３４４  Ｙ７２．５０００」など）が示す座標値の位置を移動先として工具Ｋを動かすことを指定するものとなっている。２行目以降の各行が順次サーボ制御部１２１に読み込まれ、サーボ制御部１２１は、順次読み込んだ各行のコードが示す座標値の位置に工具Ｋを順次移動させていく。このとき、工具Ｋは、加工エリア４０に切り込んだ状態で移動するので、これによって、加工エリア４０に線（スワイプ操作で描かれた線に対応する線）を描く加工（線の形状を切り出す加工）が行われることになる。なお、工具Ｋの移動速度は、第１加工時コード群を構成する２行目に記述されている「Ｆ４０００」で指定される。なお、第１加工時コード群は、１つの座標情報分であり、１回のスワイプ操作で描かれる線が通る複数の位置をそれぞれ示す複数の座標値を示すコード群を含むものとなっている。なお、「Ｆ４０００」は、予め定められていればよく、ステップＳ１０５で加工プログラムを生成するときに、設定値として加工プログラムに組み込まれればよい。第１加工時コード群に従うと、工具Ｋは、まず、「Ｇ０１  Ｚ−０．０５００  Ｆ５００」によって加工エリア４０に切り込み、最初の位置である「Ｘ５．２３４４  Ｙ７２．５０００」から、「Ｘ５．３９０６  Ｙ７２．５０００」の位置、「Ｘ５．６２５０  Ｙ７２．５７８１」の位置、「Ｘ５．９３７５  Ｙ７２．５７８１」の位置・・・「Ｘ１９．８４３８  Ｙ７２．１８７５」の位置に「Ｆ４０００」に対応する移動速度で順次移動し、加工エリア４０を削る加工が行われる。
【００５８】
第１加工後コード群は、１つの線を描く加工が行われたあと（１回のスワイプ操作で描かれた線に対応する線の描画加工が行われたあと）に、工具ＫをＺ軸方向に動かし、工具Ｋを加工エリア４０から離すことを指定するコードからなる。「Ｇ００  Ｚ５．００００」によって、工具Ｋは、Ｚ座標が５．００００である位置に早送りで移動させられる。これによって、１つの線を描く（削り出す）加工が完了する。
【００５９】
第２加工前コード群は、第１加工前コード群と同様に、工具ＫをＸ軸方向及びＹ軸方向に動かして加工開始位置（２つ目の線を描く加工の開始位置であり、２回目のスワイプ操作で描かれた線に対応する線の描画加工の開始位置）まで移動させるコード群である。なお、第２加工前コード群の読み込み時は、工具Ｋが初期位置の高さではなく、「Ｚ５．００００」の位置にあるので、第２加工前コード群では「Ｇ００  Ｚ５．００００」が省略されている。
【００６０】
第２加工時コード群は、工具ＫをＺ軸方向に移動させて加工エリア４０に切り込ませ、各コードが示す座標値の位置に工具Ｋを移動させるコード群であり、２つ目の線を加工エリア４０に描くため、工具Ｋの切り込みを指定するコードや工具Ｋが順次通る各位置を各座標値（移動先の座標値）で指定するコードを含む。第２加工時コード群は、第１加工時コード群と同様の構造であるので、説明を省略する。
【００６１】
第２加工後コード群は、１つの線を描く加工が行われたあと（１回のスワイプ操作で描かれた線に対応する線の描画加工が行われたあと）に、工具ＫをＺ軸方向に動かし、工具Ｋを加工エリア４０から離すことを指示するデータである。ここでは、第２加工時コード群に基づく加工が終了すると、加工エリア４０への加工が完了するので、第２加工後コード群には、「Ｇ００  Ｚ５．００００」のあと、さらに工具Ｋを加工エリア４０の法線方向に移動させることを指定する「Ｇ００  Ｚ１００．００００」が含まれる。
【００６２】
上記では、表示部１１２及び操作部１１１をタッチパネルとして説明を行ったが、操作部１１１は、ペンタブレット、タッチパッド、タッチセンサ、マウスなどの他のポインティングデバイス（位置入力装置）などから構成されてもよい。操作部１１１が含むポインティングデバイスは、手書き入力可能な装置であればよい。手書き入力とは、指など、手の動きをポインティングデバイスに入力して、加工エリア画像２１に所望の線（手の動きの軌跡を表す線）を手書きで描く操作であればよい。手書きとは、手（指も含む）の動きによって、手の軌跡の線を描くことなどをいう。例えば、操作部１１１がペンタブレットである場合には、ペンの動き（具体的にはペンを持つ手の動き）が手書き入力として入力され、加工エリア画像２１に所望の線（手の動きの軌跡を表す線）が描かれる。例えば、操作部１１１がタッチパッドやタッチセンサである場合には、指の動きが手書き入力として入力され、加工エリア画像２１に所望の線（指の動きの軌跡を表す線）が描かれる。例えば、操作部１１１がマウスである場合には、マウスの動き（具体的にはマウスを持つ手の動き）が手書き入力として入力され、加工エリア画像２１に所望の線（指の動きの軌跡を表す線）が描かれる。操作部１１１がマウスである場合には、マウスのボタンが押された状態でマウスを移動させることで、手書き入力がなされ、加工エリア画像２１に所望の線（指の動きの軌跡を表す線）が描かれる。ポインティングデバイスが、タッチパネル１１２Ａ以外のものであっても、制御部１１３は、タッチパネル１１２Ａのときと同様に、当該ポインティングデバイスからの操作信号に基づいて、当該ポインティングデバイスに入力された位置を特定し、加工エリア画像２１に線を描く描画処理を行い、線が通る位置（入力された位置）の座標値をもとに加工プログラムを生成する。
【００６３】
上記実施形態では、操作部１１１のポインティングデバイスへの操作入力開始（例えば、タッチパネル１１２Ａを指で触ること、マウスのボタンを押すことなど）を工具Ｋの切り込み（所謂工具の前進）に対応させ、操作部１１１のポインティングデバイスへの操作（指の動き、マウスの動きなど）を工具Ｋの移動（線の描画加工であり、所謂送り）に対応させ、操作部１１１のポインティングデバイスへの操作入力終了（タッチパネル１１２Ａから指を離すこと、マウスのボタンを離すこと）を工具Ｋが加工エリア４０から離れること（所謂後退）に対応させており、これによって、操作部１１１のポインティングデバイスへの操作と工具による加工とを対応させることができ、操作部１１１への操作と工具の動きとを連動させることができる。これによって、ユーザは、加工時の工具の動きを直感的に把握することができる。
【００６４】
また、上記実施形態では、加工エリア画像２１と加工エリア４０とで、同じ座標値を設定しており、加工エリア画像２１にポインティングデバイスを用いて手書きで描いた線を通る各位置（各点）の座標値を加工プログラムに用いるので、加工エリア画像２１に手書きで描いた線の相似形となる線が加工エリア４０に描かれる加工が行われる。このため、ユーザは、加工エリア画像２１に手書きで線を描くことで、当該線の相似形（なお、同じ大きさであってもよい。）を加工エリア４０に描くことができる。このため、ユーザは、手書きという直感的な操作によって、加工プログラムを生成できるとともに工具Ｋによる加工を行わせることできるので、ユーザは簡単な操作で加工プログラムの生成や工具による加工を行うことができる。
【００６５】
また、上記実施形態では、工具Ｋの移動速度を一定値としているので、加工エリア画像２１に線を描く速度（指の速度など）によらず、加工中、一定速度で工具Ｋを移動させることができる。これによって、工具Ｋによる加工の精度の低下を防ぐことができる。工具Ｋの移動速度を、線を描く速度に依存させて変化させてしまうと、工具Ｋによる加工エリア４０の削りの度合いが一定とならないことがあるが、一定速度で工具Ｋを移動させることで、削りの度合いが一定とならないことを防止でき、工具Ｋによる加工の精度の低下を防ぐことができる。
【００６６】
以上、上記で説明したように、この実施の形態では、加工エリア４０に対応する加工エリア画像２１を表示部１１２に表示する。そして、操作部１１１のポインティングデバイスに手書き入力（手書きの線を描く操作）されたときに供給される当該ポインティングデバイスからの信号に基づいて加工エリア画像４０に手書き入力に応じた手書きの線を描く。また、このとき、前記ポインティングデバイスからの信号に基づいて、当該手書きの線を表す複数の座標値（加工エリア画像４０において、手書きの線が通る位置（点）の座標値）を特定する。そして、当該座標値それぞれに基づいて、当該座標値を工具Ｋが通る移動経路を指定する複数の座標値（工具Ｋが通る位置の座標値）それぞれとした加工プログラムを生成する。このような構成によって、ポインティングデバイスを操作するという直感的な手書き入力によって描いた所望の線と同様の線を描くことが可能な加工プログラムを生成できるので、所望の線と同様の線を加工エリアに描くための加工プログラムを容易に生成できる。特に手書き入力という直感的で容易な操作で加工プログラムを生成でき、初心者でも加工プログラムを容易に生成できる。さらに、手書きの線に対応する線が加工エリア４０に描画されるので、ユーザのサインやユーザによって描かれた自由曲線などを加工エリア４０に描くことができ、加工の自由度が向上する。
【００６７】
なお、工具Ｋによる加工によって描かれる線の太さ、加工エリア４０の大きさや縦横比、工具Ｋの移動速度（「Ｆ」に続く数値など）、工具Ｋの切り込み量（切り込み時の工具のＺ座標の座標値）、などの各種パラメータ（具体的には、加工プログラムのコードで使用される各種値など）は、ユーザが設定できるようにしてもよい。例えば、制御部１１３は、表示部１１２に設定画面を表示し、ユーザは操作部１１１を操作して各種パラメータを入力するようにする。制御部１１３は、入力されたパラメータを、加工プログラムを生成するときの設定値として設定し、加工プログラムを生成するときには、当該設定値を用いて加工プログラムを生成する。また、加工エリアの大きさや縦横比がユーザによって設定されたときには、当該設定された縦横比と同じ縦横比で設定された大きさに応じた大きさの加工エリア画像２１を表示するようにする。線の太さは、例えば、工具の種類を変更することで、変更できる。線の太さを設定できる場合、加工装置１２は、加工に使用する工具を複数の工具から選択でき、加工プログラムは、加工に使用する工具を指定する工具指定データを含むようにすればよい。加工装置１２は、工具指定データが指定する工具で加工を行うように動作する。
【００６８】
なお、上記実施形態では、加工エリア４０に描かれる線は、加工エリア画像２１に描かれた線をＸ軸方向及び／又はＹ軸方向に圧縮又は伸長したものであってもよい（縦横比を変える圧縮又は伸長であってもよいし、縦横比を変えない圧縮又は伸長であってもよい。）。このような場合には、圧縮率又は伸長率に応じて、加工エリア画像２１の座標値（加工エリア画像２１に設定された第１座標系の座標値）を加工エリア４０用の座標値（加工エリア画像４０に設定された第２座標系の座標値）に変換し（例えば、Ｘ軸方向に１／２圧縮する場合には、Ｘ座標の座標値を１／２にすればよい。）、変換後の座標値を加工プログラムが指定する座標値とするよい（つまり、各コードが示す座標値を変換後の座標値とするとよい）。また、加工エリア４０に設定される座標系の原点と、加工エリア画像２１に設定される座標系の原点とが異なってもよい（例えば、加工エリア４０における原点の位置と加工エリア画像２１における原点の位置とが異なってもよい。例えば、加工エリア４０の原点は加工エリア４０の中心で、加工エリア画像２１の原点は左上など。）。このような場合には、原点位置の違いに応じて、加工エリア画像２１の座標値（加工エリア画像２１に設定された第１座標系の座標値）を加工エリア４０用の座標値（加工エリア画像４０に設定された第２座標系の座標値）に変換し（例えば、加工エリア画像２１の座標値を原点位置の違いに応じた値（加工エリア画像２１と加工エリア４０とにおける同じ位置の両座標値の差の値など）で増減させて変換すればよい）、変換後の座標値を加工プログラムが指定する座標値とするよい（つまり、各コードが示す座標値を変換後の座標値とするとよい）。制御部１１３は、加工エリア画像２１に描かれた線の座標値それぞれに基づいて、当該座標値それぞれに対応する各値（各座標値と各値とは一対一の関係とするとよい。）を工具Ｋが通る移動経路を指定する座標値（工具Ｋが通る位置の座標値）それぞれとした加工プログラムを生成すればよい。このような構成であっても、ポインティングデバイスを操作するという直感的な手書き入力によって描いた所望の線に対応する線を描くことが可能な加工プログラムを生成できるので、所望の線に対応する線を加工エリアに描くための加工プログラムを容易に生成できる。さらに、手書きの線に対応する線が加工エリア４０に描画されるので、ユーザのサイン（一方向に圧縮又は縮小される場合がある）やユーザによって描かれた自由曲線（一方向に圧縮又は縮小される場合がある）などを加工エリア４０に描くことができ、加工の自由度が向上する。なお、線の描画処理によって得られる座標情報に含まれる座標値を全て用いて加工プログラムを生成しなくてもよく、一部の座標値を間引いて他の一部の座標値に基づいて当該一部の座標値（例えば、１つとばしの座標値）で工具Ｋの移動経路を指定する加工プログラムを生成してもよい。これによって、加工プログラムのデータ量を小さくすることができる。
【００６９】
上記実施形態では、工具Ｋを加工エリア４０に対して移動させていたが、被加工物（加工エリア４０）を移動させるようにしてもよい。つまり、工具Ｋは、加工エリア４０に対して相対的に動けばよい。この場合、加工プログラムは、工具Ｋが加工エリア４０上のどの位置にあるかを座標値によって指定するか、加工エリア４０の位置を座標値によって指定させてもよい。加工プログラムは、加工時における工具Ｋの加工エリア４０内の移動経路を複数の座標値で指定するものであればよく、当該座標値は、加工エリア４０を動かすときの、加工エリア４０の位置を示す座標値であってもよい。
【００７０】
加工エリア４０は、平面でなく、円柱や円筒の外周面などであってもよい。例えば、被加工物を円柱状又は円筒状のものとし、加工エリア４０をその外周面としてもよい。この場合、加工プログラムにおけるＸ座標又はＹ座標の座標値を被加工物の回転角で記述すればよい。このようにして、加工エリア画像２１の座標値（加工エリア画像２１に設定された第１座標系の座標値）を円柱や円筒の外周面である加工エリア４０用の座標値（加工エリア画像４０に設定された第２座標系の座標値）に変換するとよい。
【００７１】
上記では、タッチパネルの座標値を特定し、特定した座標値を加工エリア画像上の座標値に変換してから、加工プログラムを生成しているが、最初から加工エリア画像上の座標値を特定して加工プログラムを生成してもよい。また、加工プログラムは、スワイプ操作など、１つの線を描くごとに生成してもよい。
【００７２】
上記では、加工プログラムとして、ＮＣプログラムを例示したが、加工プログラムは、工具によって被加工物の加工エリアを加工するときに用いられ、加工時における前記工具の加工エリア内の移動経路を複数の座標値で指定したプログラムであれば、どのようなプログラムであってもよい。加工プログラム生成装置１１で生成された加工プログラムは、所定の記憶媒体（フラッシュメモリやＵＳＢ（Universal Serial Bus）メモリなど）に記憶されて、加工装置１２に供給されてもよい。
【符号の説明】
【００７３】
１        加工システム
１１      加工プログラム生成装置
１２      加工装置
２１      加工エリア画像
２２      終了ボタン画像
２３      消去ボタン画像
１１１    操作部
１１２    表示部
１１２Ａ  タッチパネル
１１３    制御部
１１４    記憶部
１１５    通信部
１２１    サーボ制御部
１２２    サーボ駆動部
１２３    通信部
Ｇ        線
Ｋ        工具
Ｓ        線
Ｓ１      始点
Ｓ２      終点
Ｙ        矢印
【図１】
2015111338.tif 000003
【図２】
2015111338.tif 000004
【図３】
2015111338.tif 000005
【図４】
2015111338.tif 000006
【図５】
2015111338.tif 000007
【図６】
2015111338.tif 000008
【図７】
2015111338.tif 000009
【図８】
2015111338.tif 000010
【図９】
2015111338.tif 000011
【図１０】
2015111338.tif 000012