"外部入力された複数の第1の加工形状の夫々から加工工程毎の第2の加工形状を生成する加工形状生成部と、前記加工工程の実行順序の入力を受け付ける加工順番編集部と、前記第2の加工形状のうちの工具方向が同一の複数の加工形状に対し、当該複数の加工形状のうちの一の加工形状を前記入力された実行順序で加工を実行できるように変形するとともに、当該一の加工形状の変形により重複することとなった他の加工形状から当該重複する部分を削除して、第3の加工形状を生成する加工形状調整部と、前記第3の加工形状と前記入力された実行順序とに基づいて、工作機械を動作させるための制御指令を生成する制御指令生成部と、を備えることを特徴とする自動プログラミング装置。前記加工形状生成部が生成する前記加工工程毎の第2の加工形状は、荒加工により加工される加工形状、壁仕上げ加工により加工される加工形状、および底仕上げ加工により加工される加工形状を含む、ことを特徴とする請求項1に記載の自動プログラミング装置。前記一の加工形状は、前記他の加工形状にかかる加工工程よりも前に実行される加工工程にかかる加工形状であって、前記他の加工形状からみて工具方向に位置し、前記一の加工形状を前記入力された実行順序で加工を実行できるように変形するとは、前記他の加工形状を貫通するように前記一の加工形状を工具方向とは逆向きに伸長することである、ことを特徴とする請求項1または請求項2に記載の自動プログラミング装置。外部入力された複数の第1の加工形状の夫々から加工工程毎の第2の加工形状を生成する加工工程データ生成部と、前記第2の加工形状のうちの工具方向が互いに異なる2つの加工形状に対し、当該2つの加工形状のうちの一の加工形状の底面部が他の加工形状に接している場合、前記一の加工形状の底面部を当該一の加工形状の工具方向に伸長するとともに、当該一の加工形状の変形により重複することとなった他の加工形状から当該重複する部分を削除して、第3の加工形状を生成する加工形状調整部と、前記第3の加工形状に基づいて、工作機械を動作させるための制御指令を生成する制御指令生成部と、を備えることを特徴とする自動プログラミング装置。前記加工形状生成部が生成する前記加工工程毎の第2の加工形状は、荒加工により加工される加工形状、壁仕上げ加工により加工される加工形状、および底仕上げ加工により加工される加工形状を含む、ことを特徴とする請求項4に記載の自動プログラミング装置。前記加工形状調整部は、前記一の加工形状の工具方向に垂直な平面上における、前記一の加工形状と前記他の加工形状とが重複する部分の前記他の加工形状に対する割合が所定の値よりも大きい場合、前記重複する部分を前記他の加工形状から削除し、前記割合が前記所定の値よりも小さい場合、前記重複する部分を削除しない、ことを特徴とする請求項4または請求項5に記載の自動プログラミング装置。外部入力された複数の第1の加工形状の夫々から加工工程毎の第2の加工形状を生成する加工形状生成ステップと、前記加工工程の実行順序の入力を受け付ける加工順番編集ステップと、前記第2の加工形状のうちの工具方向が同一の複数の加工形状に対し、当該複数の加工形状のうちの一の加工形状を前記入力された実行順序で加工を実行できるように変形するとともに、当該一の加工形状の変形により重複することとなった他の加工形状から当該重複する部分を削除して、第3の加工形状を生成する加工形状調整ステップと、前記第3の加工形状と前記入力された実行順序とに基づいて、工作機械を動作させるための制御指令を生成する制御指令ステップと、を備えることを特徴とする制御指令生成方法。前記加工形状生成ステップにおいて生成する前記加工工程毎の第2の加工形状は、荒加工により加工される加工形状、壁仕上げ加工により加工される加工形状、および底仕上げ加工により加工される加工形状を含む、ことを特徴とする請求項7に記載の制御指令生成方法。前記一の加工形状は、前記他の加工形状にかかる加工工程よりも前に実行される加工工程にかかる加工形状であって、前記他の加工形状からみて工具方向に位置し、前記一の加工形状を前記入力された実行順序で加工を実行できるように変形するとは、前記他の加工形状を貫通するように前記一の加工形状を工具方向とは逆向きに伸長することである、ことを特徴とする請求項7または請求項8に記載の制御指令生成方法。外部入力された複数の第1の加工形状の夫々から加工工程毎の第2の加工形状を生成する加工形状生成ステップと、前記第2の加工形状のうちの工具方向が互いに異なる2つの加工形状に対し、当該2つの加工形状のうちの一の加工形状の底面部が他の加工形状に接している場合、前記一の加工形状の底面部を当該一の加工形状の工具方向に伸長するとともに、当該一の加工形状の変形により重複することとなった他の加工形状から当該重複する部分を削除して、第3の加工形状を生成する加工形状調整ステップと、前記第3の加工形状に基づいて、工作機械を動作させるための制御指令を生成する制御指令生成ステップと、を備えることを特徴とする制御指令生成方法。前記加工形状生成ステップにおいて生成される前記加工工程毎の第2の加工形状は、荒加工により加工される加工形状、壁仕上げ加工により加工される加工形状、および底仕上げ加工により加工される加工形状を含む、ことを特徴とする請求項10に記載の制御指令生成方法。前記加工形状調整ステップにおいて、前記一の加工形状の工具方向に垂直な平面上における、前記一の加工形状と前記他の加工形状とが重複する部分の前記他の加工形状に対する割合が所定の値よりも大きい場合、前記重複する部分を前記他の加工形状から削除し、前記割合が前記所定の値よりも小さい場合、前記重複する部分を削除しない、ことを特徴とする請求項10または請求項11に記載の制御指令生成方法。上記特許文献3の技術によれば、穴以外の加工形状は、荒加工、仕上げ加工の特性に合わせた最終的な単純形状に分割される。形状種類や仕上げ程度あるいは表面状態によって、例えばポケット加工なら、加工工程は、荒加工形状と、側面部の仕上げ加工を行う側面仕上げ形状と、底面部の底面仕上げ形状とに分割される。ここで、段付きポケット形状の場合、作業者によって1段目のポケット加工と2段目のポケット加工とが夫々定義されると、加工工程は、1段目の荒加工形状、側面仕上げ形状、底面仕上げ形状と、2段目の荒加工形状、側面仕上げ形状、底面仕上げ形状とに分割されるが、1段目の底面仕上げ形状の一部領域が2段目の荒加工により切削されるため、当該領域にかかる仕上げ加工が無駄加工になるといった問題があった。本発明は、上記に鑑みてなされたものであって、無駄加工をできるだけ減らして加工する制御指令を生成する自動プログラミング装置および制御指令生成方法を得ることを目的とする。上述した課題を解決し、目的を達成するために、本発明は、外部入力された複数の第1の加工形状の夫々から加工工程毎の第2の加工形状を生成する加工形状生成部と、前記加工工程の実行順序の入力を受け付ける加工順番編集部と、前記第2の加工形状のうちの工具方向が同一の複数の加工形状に対し、当該複数の加工形状のうちの一の加工形状を前記入力された実行順序で加工を実行できるように変形するとともに、当該一の加工形状の変形により重複することとなった他の加工形状から当該重複する部分を削除して、第3の加工形状を生成する加工工程調整部と、前記第3の加工形状と前記入力された実行順序とに基づいて、工作機械を動作させるための制御指令を生成する制御指令生成部と、を備えることを特徴とする。本発明にかかる自動プログラミング装置は、オペレータにより入力された加工工程の順序を実行できるように加工形状を変形するとともに、加工形状の変形により、当該変形された加工形状と当該変形された加工形状の前に加工される加工形状とで重複する部分を当該変形された加工形状の前に加工される加工形状から削除するので、無駄加工をできるだけ減らして加工する制御指令を生成することができる。以下に、本発明にかかる自動プログラミング装置および制御指令生成方法の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。実施の形態1.図1は、自動プログラミング装置の実施の形態1の構成を説明する図である。図示するように、自動プログラミング装置1000は、素材形状データ入力部1、加工形状データ入力部2、加工工程データ生成編集部3、工具加工順番工具方向編集部4、加工工程調整部5、加工素材形状生成部6、形状表示部7、プログラム構成要素一覧表示部8、制御指令生成部9、素材形状データ記憶部10、加工素材形状データ記憶部11、加工形状データ記憶部12、および加工工程データ記憶部13、を備えている。素材形状データ入力部1は、素材の形状素材形状を定義する素材形状データを外部入力し、入力された素材形状データを素材形状データ記憶部10および加工素材形状データ記憶部11に夫々格納する。素材形状は、形状の種類、座標位置、形状の寸法などによって定義される。加工形状データ入力部2は、加工により除去される部分の形状加工形状を定義する加工形状データを、外部入力するかまたは加工素材形状データ記憶部11に記憶された加工素材形状データを参照して決定し、加工形状データ記憶部12に加工形状データを格納する。加工形状は、形状の種類、座標位置、形状の寸法などによって定義される。加工工程データ生成編集部3は、加工形状、加工方法、使用工具、加工条件などの、加工工程を定義する加工工程データを、素材形状データ記憶部10に記憶されている素材形状データ、加工形状データ記憶部12に記憶されている加工形状データなどを参照して生成し、生成した加工工程データを加工工程データ記憶部13に格納する。また、加工工程データ生成編集部3は、加工工程データ記憶部13に格納されている加工工程データを、外部指示を基に修正し、修正した加工工程データで加工工程データ記憶部13に格納されている加工工程データを更新する。工具加工順番工具方向編集部4は、加工工程データ記憶部13に記憶されている加工工程データから加工工程に対する使用工具の一覧を示すリストを表示し、外部指示を基に加工工程の使用工具の変更や加工工程の実行順番や工具方向の変更を行い、修正した加工工程データで加工工程データ記憶部13に記憶された加工工程データを更新する。工具方向とは、工具の軸方向において、加工時に工具を送る向きのことである。加工工程調整部5は、加工形状データ記憶部12に格納されている加工形状データと加工工程データ記憶部13に格納されている加工工程データとに基づいて、無駄加工をできるだけ減らすように加工形状の変形を行う。加工形状の変形は、加工工程の加工順番と、加工工程の工具方向と、加工形状の位置関係とを考慮して実行される。変形結果は加工工程データ記憶部13に格納されている加工工程データに反映される。加工素材形状生成部6は、素材形状データ記憶部10に記憶された素材形状データと加工形状データ記憶部12に記憶された加工形状データとから、素材形状から加工形状を除去した加工素材形状データを生成し、生成した加工素材形状データを加工素材形状データ記憶部11に格納する。加工素材形状生成部6は、加工素材形状に応じて領域の寸法が決定される加工形状について領域の寸法を決定して加工形状データを修正し、修正した加工形状データで加工形状データ記憶部12に格納されている加工形状データを更新する。形状表示部7は、プログラム構成要素一覧表示部8から得られる表示対象データを基に、素材形状データ記憶部10に記憶された素材形状データ、加工素材形状データ記憶部11に記憶された加工素材形状データおよび加工形状データ記憶部12に記憶された加工形状データを合成して表示する。プログラム構成要素一覧表示部8は、加工形状データ記憶部12に記憶された加工形状データと加工工程データ記憶部13に記憶された加工工程データとの一覧と素材形状および加工素材形状を選択するための項目を表示し、外部指示から表示対象を決定して表示対象情報を形状表示部7に送る。制御指令生成部9は、加工工程データ記憶部13に格納されている加工工程データを実行の順番に読み出して、読み出した加工工程データから工作機械を制御するための制御指令を逐次生成する。なお、工作機械の駆動動力源モータなどは、数値制御装置による数値制御の下で生成された電流指令により駆動される。制御指令生成部9は、電流指令を制御指令として出力するようにしてもよいし、数値制御装置に電流指令を生成させるためのプログラムである加工プログラムのコードを制御指令として出力するようにしてもよい。素材形状データ記憶部10は素材形状データを記憶する。加工素材形状データ記憶部11は加工素材形状データを記憶する。加工形状データ記憶部12は、加工形状データを、加工素材形状を生成する際の素材形状から除去される順番で記憶する。加工工程データ記憶部13は、加工工程データを、制御指令を生成する際の実行される順番で記憶する。図2は、実施の形態1の自動プログラミング装置1000のハードウェア構成例を説明する図である。図示するように、自動プログラミング装置1000は、通常のコンピュータと同様の構成を具備しており、具体的には、CPUCentralProcessingUnit1001、RAMRandomAccessMemory1002、ROMReadOnlyMemory1003、入力装置1004、および出力装置1005を備えている。CPU1001、RAM1002、ROM1003、入力装置1004および出力装置1005は互いにバスで接続されている。入力装置1004は、マウスやキーボードなどにより構成され、オペレータからの操作内容の入力や外部入力を受け付ける。入力された内容は、CPU1001に送られる。出力装置1005は、液晶ディスプレイやCRTCathodeRayTubeディスプレイなどによって構成され、オペレータが操作入力や外部入力に供するための表示画面を出力する。表示画面はCPU1001によって作成される。ROM1003は、できるだけ無駄加工を減らして加工を行うための制御指令を生成するためのコンピュータプログラムである制御指令生成プログラム1006を記憶している。制御指令生成プログラム1006は、上記した各機能構成要素素材形状データ入力部1、加工形状データ入力部2、加工工程データ生成編集部3、工具加工順番工具方向編集部4、加工工程調整部5、加工素材形状生成部6、形状表示部7、プログラム構成要素一覧表示部8、制御指令生成部9、素材形状データ記憶部10、加工素材形状データ記憶部11、加工形状データ記憶部12、および加工工程データ記憶部13を含むモジュール構成となっており、CPU1001に読み出されてRAM1002に展開される。CPU1001は、RAM1002に展開されたモジュールを実行することによって、夫々の機能構成要素を実現する。CPU1001は、入力装置1004から入力された外部入力に基づいて制御指令を生成し、生成した制御指令を一時的にRAM1002に格納する。RAM1002に格納された制御指令は、図示しない工作機械や数値制御装置に出力される。なお、素材形状データ記憶部10、加工素材形状データ記憶部11、加工形状データ記憶部12、または加工工程データ記憶部13は、外部記憶装置図示せずに生成されるようにしても構わない。また、CPU1001は、生成した制御指令を外部記憶装置に出力するようにしても構わない。また、数値制御装置の機能を実現するコンピュータを用いて自動プログラミング装置1000を実現するようにしてもよい。また、制御指令生成プログラム1006を、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供または配布するように構成しても良い。また、制御指令生成プログラム1006を記憶する記録媒体は、ROM1003だけでなく、CD-ROMなどDISK、着脱可能なフラッシュメモリ、または外部記憶装置で構成することも可能である。次に、自動プログラミング装置1000を用いて実現する制御指令生成方法を説明する。図3は、実施の形態1の制御指令生成方法を説明するフローチャートである。図示するように、自動プログラミング装置1000は、プログラム入力を行う旨のオペレータ指示をチェックしておりステップS301、プログラム入力を実施する指示があった場合ステップS301、Yes、ステップS302の処理へ進み、プログラム入力を実施する指示がなかった場合ステップS301、No、ステップS312の処理へ進む。ステップS302では自動プログラミング装置1000は、素材形状データの入力を行う旨のオペレータ指示をチェックしており、素材形状データ入力を実施する旨の指示があった場合ステップS302、Yes、ステップS303の処理へ進み、素材形状データ入力を実施する旨の指示がなかった場合ステップS302、No、ステップS304の処理へ進む。ステップS303においては、素材形状データ入力部1は、オペレータによって外部入力された素材形状データを受け付けて、受け付けた素材形状データを素材形状データ記憶部10および加工素材形状データ記憶部11に格納する。ステップS303の処理の後、ステップS318の処理に進む。なお、形状表示部7は、素材形状、加工形状、加工素材形状を夫々出力装置1005に表示しており、これらの形状のうちの何れかが更新されたり新規に入力されたりすると、現在表示している形状の表示を更新するステップS318。即ち、ステップS303の後、形状表示部7によって素材形状データの記述内容が出力装置1005に表示される。ここで、加工品の一例を挙げて素材形状データの設定例を説明する。図4-1は、例として挙げる加工品の上面図であり、図4-2は、当該加工品の側面図である。図5-1は、図4-1および図4-2に示した加工品を作成するための素材形状を示す斜視図であり、図5-2および図5-3は、当該素材形状の素材形状データを入力するための表示画面例を説明する図である。図5-1に示すように、当該加工品の素材形状は直方体形状となっている。図5-2に示すように、素材形状データの設定にかかる入力項目には、素材形状の位置を特定するために用いられる素材形状上の基準点の定義、素材形状上の基準点のワーク座標系上での位置位置X、位置Y、位置Z、素材形状のX、YおよびZ軸方向の寸法長さX、長さY、長さZがある。素材形状上の基準点は、図5-3に示す表示画面上で、X、YおよびZ軸方向それぞれにおいて素材形状の範囲中の最小、中心、最大のいずれかの位置を選択することで指定される。図5-2に示す例によれば、基準点の定義としてXCYCZHXおよびY軸方向で範囲の中心、Z軸方向で範囲の最大の点が選択され、直方体形状のZ軸に垂直でZ軸方向側の面の中心点が基準点となっており、図4-1に示す加工品の図面上の基準点と一致させている。これは、ステップS305の処理における加工形状データの入力の際にも加工形状上の基準点として同様に選択することで、素材形状に対する加工形状の位置指定を容易にするためである。図5-2に示す表示画面例の設定により図5-1に示すようにワーク原点に基準点が一致するように素材形状が設定される。また、素材形状の各面には、素材形状の面であることを示す属性情報FW1~FW6が付加される。ステップS304においては、自動プログラミング装置1000は、加工形状データの入力を行う旨のオペレータ指示をチェックしており、加工形状データの入力を実施する旨の指示があった場合ステップS304、Yes、ステップS305の処理へ進み、加工形状データの入力を実施する旨の指示がなかった場合ステップS304、No、ステップS306の処理へ進む。ステップS305では、加工形状データ入力部2は、オペレータから入力された加工形状データを受け付けて、受け付けた加工形状データを加工形状データ記憶部12に格納する。図6-1および図6-2は、ステップS305の動作を説明するフローチャートである。図6-1に示すように、加工形状データ入力部2は、新規加工形状の追加を行う旨のオペレータ指示をチェックしておりステップS601、新規加工形状の追加を行う旨の指示があった場合ステップS601、Yes、ステップS602の処理へ進み、新規加工形状の追加を行う旨の指示がなかった場合ステップS601、No、ステップS607の処理へ進む。ステップS602では、加工形状データ入力部2は、追加する加工形状の種類の選択をオペレータから受け付ける。加工形状の種類が選択されることで、種類に応じた定義データの入力ウィンドウが表示され、入力作業が開始される。ステップS602の処理の後、加工形状データ入力部2は、データ入力または修正作業を終了する旨のオペレータ指示をチェックしておりステップS603、当該オペレータ指示があった場合ステップS603、Yes、ステップS608の処理へ進み、当該オペレータ指示がなかった場合、ステップS604の処理へ進む。ステップS604では、加工形状データ入力部2は、現在の入力項目が加工形状上面加工形状のZ軸に垂直でZ軸方向側の面のZ位置のフィールドでありかつ、空白値が入っていない状態となっているか否かをチェックしており、現在の入力項目が加工形状上面Z位置でかつ値が空白の場合ステップS604、Yes、ステップS605の処理へ進み、現在の入力項目が加工形状上面Z位置ではないかまたは値が空白でない場合ステップS604、No、ステップS606の処理へ進む。なお、加工形状データ入力部2は、外部入力された所望の形状の平面加工形状を定義するための領域を当該平面に垂直な方向にスウィープして得られる立体を加工形状とすることができる。スウィープとは、面を一定方向に掃引して立体に変形する際の、掃引することである。ここでは、加工形状を定義するための領域のスウィープ方向はZ軸方向のみに限るものとして説明するが、加工形状を定義するための領域をオペレータが所望する任意の方向にスウィープすることができるように構成してもよい。また、加工形状を定義するための領域は、平面に限定されず、例えば曲面であってもよい。なお、以降、加工形状を定義するための領域を加工領域と表記することがある。ステップS605では、加工形状データ入力部2は、加工形状上面のZ軸位置の計算と、素材形状と加工形状との間または加工形状間の依存関係の設定とを実施する。図7-1、図7-2、図7-3、図7-4、図8-1、および図8-2は、図4-1および図4-2に示した加工品における中央のポケット部1段目ポケットの加工形状を定義する様子を説明する図である。図7-1は、前記ポケット部を定義するための加工領域を示す図であり、図7-2~図7-4は、当該ポケット部の加工形状を定義するための入力用の表示画面例を示す図である。図7-2~図7-4に示すように、加工形状を定義するための入力項目として、加工形状の位置を指定するための加工形状上の基準点選択、基準点のワーク座標系上でのXY方向位置位置X、位置Y、加工形状のXおよびY軸方向の寸法長さX、長さY、コーナーRの半径、加工形状の上面Z位置上面Z、加工形状の上面から下面加工形状のZ軸に垂直でZ軸-方向側の面までの距離深さが表示されている。基準点は素材形状データ入力の際と同様な設定方法が採用されており、ここでは、初期値として素材形状データ入力の際の値が入る。これにより、素材形状と加工形状とで基準点の取り方を同じとすることで位置の入力を容易に行える多くの場合にて、基準点を指定する手間を省くことができる。図7-2に示す表示画面には、加工形状のZ軸に垂直な平面上における領域図7-1に示す形状の位置および寸法が決まる項目について値が入っている。ここで、入力対象の入力項目を加工形状の上面Z位置上面Zに移した時に、値が空白であることから、ステップS605の処理により、上面Z位置の計算が実行される。この計算では、加工形状のZ軸に垂直な平面上における領域形状を加工素材形状からZ軸方向に離れた位置からZ軸-方向へ移動させた時に、加工素材形状に最初に接したときのZ位置が抽出され、上面Z位置の値として設定される図7-3。図8-1は、図7-1に示した加工領域が加工素材形状に最初に接したときの様子を示している。図8-1に示す加工領域81は、加工形状を定義するための起点となる。このとき、加工形状のZ軸に垂直な平面上における加工領域が最初に接した加工素材形状の面が抽出され、面に付属する属性から素材形状の面であるかあるいはどの加工形状の面であるかが認識され、認識された素材形状または加工形状に設定中の加工形状が依存するという関係が設定される。図8-2は、素材のFW1の面に当該ポケットが依存するという関係が設定されている様子を示している。図7-4は、加工形状の上面から下面までの距離深さが入力された表示画面を示しており、このとき加工素材形状と加工形状との位置関係は図9-1に示すようになる。細線で示した部分が加工素材形状であり、太線で示した部分が当該ポケット部の加工形状である。図6に戻り、ステップS606では、入力用の表示画面に示している現在の入力項目について、オペレータからの指示により値が入力修正される。ステップS606の処理の後、ステップS603の処理へ戻る。ステップS607では、加工形状データ入力部2は、既存の加工形状データの修正を行う旨のオペレータ指示をチェックしており、修正を行う旨の指示があった場合ステップS607、Yes、ステップS603の処理へ進み、修正を行う旨の指示がなかった場合ステップS607、No、加工形状データの入力が終了する。ステップS608では、加工形状データ入力部2は、入力用の表示画面にかかる全項目が入力済みであるかをチェックしており、全項目入力済みの場合ステップS608、Yes、ステップS609の処理へ進み、未入力の項目がある場合ステップS608、No、加工形状データの入力を終了する。ステップS609では、加工形状データ入力部2は、入力対象の加工形状に依存する加工形状が存在するか否かをチェックしており、入力対象の加工形状に依存する加工形状が存在する場合ステップS609、Yes、ステップS610の処理へ進み、入力対象の加工形状に依存する加工形状が存在しない場合ステップS609、No、ステップS611の処理へ進む。ステップS610では、加工形状データ入力部2は、入力対象の加工形状に依存する加工形状を更新する処理を実行する。具体的には、加工形状データ入力部2は、引数で指定された加工形状に依存する加工形状について位置の更新を再帰的に実施する関数を、入力対象の加工形状を引数として呼び出す。図6-2は、ステップS610の処理をさらに詳しく説明するフローチャートである。図示するように、ステップS621~ステップS624の処理は、指定された加工形状に依存する加工形状について位置の更新を再帰的に実施する関数における、指定された加工形状に依存する加工形状を一つずつ取り出して位置の更新を実行するループ処理を構成している。ステップS622では、取り出された加工形状の位置が依存する加工形状の状態に合わせて再計算される。ステップS623では加工位置が再計算された加工形状を引数として依存する加工形状について位置の更新を実施する関数が再帰的に呼び出されている。ステップS611では、加工素材形状生成部6は、素材形状データと加工形状データとから加工素材形状データを生成し、生成した加工素材形状データを加工素材形状データ記憶部11に格納する。ステップS611の処理は具体的には次のようにして実施される。まず、加工素材形状生成部6は、素材形状データのコピーを加工素材形状データとして設定する。そして、加工形状を順番に一つずつ取り出しながら、取り出した加工形状が加工素材形状を基に当該加工形状の領域が決まるものの場合には加工素材形状を基に当該加工形状の領域を確定し、加工素材形状から領域が確定済みの加工形状を除去することで加工素材形状データを更新してゆく。図9-2は図9-1のポケット加工形状が除去された後の加工素材形状の例を示す図である。加工素材形状の各面には、素材形状の面であることを示す属性やポケット加工形状の転写された面であることを示す属性が付属する。図10-1、図10-2、図10-3、図10-4、図11-1、図11-2、図12-1および図12-2は、1段目ポケットの底面にさらにポケット部2段目ポケットを追加する際の様子を示す図である。図10-1は、2段目ポケットを定義するための加工領域を示している。図10-2~図10-4は当該加工領域を用いて2段目ポケットの加工形状を定義するための入力用の表示画面の例であり、入力項目として、加工形状の位置を指定するための加工形状上の基準点選択、基準点のワーク座標系上でのXY方向位置位置X、位置Y、加工形状のXおよびY軸方向の寸法長さX、長さY、コーナーRの半径、加工形状の上面Z位置上面Z、加工形状の上面から下面加工形状のZ軸に垂直でZ軸-方向側の面までの距離深さがある。図10-2に示すように、入力対象の入力項目を加工形状の上面Z位置上面Zに移した時に、値が空白であることから、ステップS605の処理により、上面Z位置の計算が実行され、計算された値が図10-3のように表示される。図11-1は、図10-1の加工領域が加工素材形状に最初に接したときの様子を示している。図示するように、加工領域111は、1段目ポケットの底面に位置している。図11-2に示すように、加工形状のZ軸に垂直な平面上における領域形状が最初に接した加工素材形状の面が抽出され、面に付属する属性から素材形状の面であるかあるいはどの加工形状の面であるかが認識され、認識された素材形状または加工形状に設定中の加工形状が依存するという関係が設定される。図10-4は、加工形状の上面から下面までの距離深さが入力された入力用の表示画面を示しており、このとき加工素材形状と加工形状との位置関係は図12-1に示すようになる。図12-2は、図12-1に示す2段目ポケットにかかる加工形状が除去された加工素材形状の例を示している。加工素材形状の各面には、素材形状の面であることを示す属性やポケット加工形状の転写された面であることを示す属性が付属する。以上の加工形状データの入力においては、加工領域のデータ与えるだけで、加工形状の上面Z位置と共に素材形状および加工形状間の依存関係が設定されるので、加工形状の上面Z位置の入力の手間が省かれると共に、加工形状の修正を連動させるための追加の手間を必要としないで加工形状の連動した修正が可能となる。ステップS305の処理後はS318の処理へ進む。ステップS306では、自動プログラミング装置1000は、加工工程の入力を実施する旨のオペレータ指示をチェックしており、加工工程の入力を実施する指示があった場合ステップS306、Yes、ステップS307の処理へ進み、加工工程の入力を実施する指示がなかった場合ステップS306、No、ステップS308の処理へ進む。ステップS307では、加工工程データ生成編集部3は、加工形状データ記憶部12に記憶された加工形状データを基に加工工程データを生成し、生成した加工工程データを加工工程データ記憶部13に格納する。図13-1および図13-2は、加工工程データの生成の様子を示す図である。図13-2に示すように、加工工程データは、加工形状、加工方法、使用工具、加工条件などの部分的な加工を実行するための記述を含んでいる。図13-1は加工形状と生成される加工工程との関係の例を示している。1段目のポケットの加工形状からは、ポケット荒加工、ポケット壁仕上げ加工、およびポケット底仕上げ加工の加工工程が生成され、2段目のポケットの加工形状からは、ポケット荒加工、ポケット壁仕上げ加工、およびポケット底仕上げ加工の加工工程が生成される。ステップS307の処理の後は、ステップS318の処理へ進む。ステップS308では、自動プログラミング装置1000は、加工工程の使用工具や実行順番や工具方向の編集を実施する旨のオペレータ指示をチェックしており、編集を実施する旨のオペレータ指示があった場合ステップS308、Yes、ステップS309の処理へ進み、編集を実施する旨のオペレータ指示がなかった場合ステップS308、No、ステップS315の処理へ進む。ステップS309では、工具加工順番工具方向編集部4は、加工工程データ記憶部13に記憶された加工工程データに基づいて加工工程に対する使用工具のリストを加工工程の実行順番に表示し、オペレータからの指示に基づいて加工工程の使用工具の変更や加工工程の実行順番の変更を実行する。工具加工順番工具方向編集部4は、変更した加工工程データを加工工程データ記憶部13に格納する。図14-1は加工工程と使用工具のリストを示す図である。本図における加工工程の順番は図13-1に示した加工形状から加工工程を生成した際のものとなっている。このままの順序で加工工程を実行した場合、ポケット荒1段目ポケット~ポケット底仕上げ2段目ポケットまで6回の工具交換動作が必要となる。そこで、図14-2に示すように、同じ工具を使う工程をまとめるよう、工程順序を変更すると、3回の工具交換動作で行うことが可能となり、加工時間が短縮される。このように工具の交換動作を最小限に抑えることは加工時間を短縮する上で重要であり、この作業を図14-1および図14-2に示すリスト表示上で行えるようにすることで使用工具の変更も含め作業が容易になる。ステップS309の処理の後は、ステップS318の処理へ進む。ステップS310では加工工程調整を実行する旨のオペレータ指示をチェックしており、加工工程調整を実行する旨の指示があった場合ステップS310、Yes、ステップS311の処理へ進み、加工工程調整を実行する旨の指示がなかった場合ステップS310、No、ステップS317の処理へ進む。ステップS311では、加工工程の調整が実行される。図15は、加工工程の調整をさらに詳しく説明するフローチャートである。図示するように、ステップS1501~S1503の処理は、指定された加工工程に対応する加工形状を生成するループ処理を構成している。また、ステップS1504~S1507の処理は、指定された加工工程に依存する加工工程を取得し、依存する加工工程の加工形状から、指定された加工工程の加工形状を一つずつ形状の変形を実行するループ処理を構成している。ステップS1502では、加工工程調整部5は、加工形状データ記憶部12に記憶された加工形状から、指定された加工工程に対応する加工形状を抽出し、抽出した加工形状から、当該指定された加工工程に対応する加工形状を生成する。図16-1、図16-2、図16-3、図16-4、図16-5、および図16-6は、加工工程毎の加工形状を示す図である。図9-1の加工形状から、壁仕上げ加工用の壁残し代および底仕上げ加工用の底残し代を除いた、太線で示す加工形状161が、1段目ポケットの荒の加工形状以降、ポケット荒1段目ポケット161となる。なお、細線で示す形状162は、加工品の1段目ポケットにかかる開口部の形状を示している。また、図9-1の加工形状から、壁仕上げを抽出した、太線で示す加工形状163が、1段目ポケットの壁仕上げの加工形状以降、ポケット壁仕上げ1段目ポケット163となる。また、図9-1の加工形状から、底仕上げを抽出した、太線で示す加工形状164が1段目ポケットの底仕上げの加工形状以降、ポケット底仕上げ1段目ポケット164となる。また、図12-1の加工形状から、壁仕上げ加工用の壁残し代および底仕上げ加工用の底残し代を除いて得られる、太線で示す加工形状165が2段目ポケットの荒の加工形状以降、ポケット荒2段目ポケット165となる。なお、細線で示す形状166は、加工品の2段目ポケットにかかる開口部の形状を示している。また、図12-1の加工形状から、壁仕上げを抽出して得られる、太線に示す加工形状167が2段目ポケットの壁仕上げの加工形状以降、ポケット壁仕上げ2段目ポケット167となる。また、図12-1の加工形状から、底仕上げを抽出して得られる太線で示す加工形状168が2段目ポケット底仕上げの加工形状以降、ポケット底仕上げ2段目ポケット168となる。ステップS1505では、加工工程調整部5は、指定された加工工程が依存する加工工程を取得する。ここで、指定された加工工程が依存する加工工程とは、当該指定された加工工程に対して加工順序が前であり、かつ、当該指定された加工工程にかかる加工形状を加工するための工具の進入経路上において加工形状が前記指定された加工工程に最も近い場所に位置する加工工程を意味する。即ち、指定された加工工程にかかる加工形状は、当該加工工程にかかる加工形状に依存する加工工程よりも前に加工が実行され、かつ、前記加工工程に依存する加工工程にかかる加工形状からみて工具方向に位置する。例えば、ポケット荒2段目ポケットやポケット壁仕上げ2段目ポケットはともにポケット荒1段目ポケットに依存する。なお、工具の進入経路とは、工具の移動を開始してから前記指定された加工工程にかかる加工形状の加工を完了するまでの工具の経路を意味する。したがって、前記指定された加工工程と加工形状が重複する加工工程も、加工順序が前記指定された加工工程よりも前であれば、当該指定された加工工程が依存する加工工程に該当する。図17-1は、ステップS1505の動作をさらに詳しく説明するフローチャートである。図示するように、まず、加工工程調整部5は、指定された加工工程よりも加工順序が前の加工工程を取得するステップS1711。そして、加工工程調整部5は、前記取得した加工工程から、前記指定された加工工程を実現するための工具の進入経路上に位置する加工工程を抽出するステップS1712。ステップS1712においては、例えば加工工程調整部5は、前記指定された加工工程にかかる加工形状を工具方向に対して逆向きに延長し、延長した加工形状に加工形状が最初に接するかまたは最初に重複する加工工程を抽出するようにしてもよい。そして、加工工程調整部5は、ステップS1713の処理において、前記抽出した加工工程が前記指定された加工工程に加工工程が接しているか、または重複しているかのいずれか一つであるか否かを判定する。加工工程調整部5は、前記抽出した加工工程が前記指定された加工工程に加工工程が接しておらず、かつ重複していない場合ステップS1713、No、ステップS1714の処理に進み、前記抽出した加工工程が前記指定された加工工程に加工工程が接しているか、または重複している場合ステップS1713、Yes、ステップS1715の処理に進む。ステップS1714の処理においては、加工工程調整部5は、ステップS1712の処理によって抽出した加工工程から、前記指定された加工工程にかかる加工形状を加工するための工具の進入経路上において加工形状が前記指定された加工工程に最も近い場所に位置する加工工程を抽出する。また、ステップS1715の処理においては、加工工程調整部5は、ステップS1712の処理によって抽出した加工工程から、前記指定された加工工程にかかる加工形状に加工形状が接するかまたは重複する加工工程を抽出する。ステップS1714またはステップS1715の処理により抽出された加工工程は、前記指定された加工工程が依存する加工工程である。ステップS1714またはステップS1715の処理を終了すると、加工工程調整部5は、ステップS1505の動作を終了する。ステップS1506では、加工工程調整部5は、指定された加工工程の加工形状を調整する。図17-2は、ステップS1506の動作をさらに詳しく説明するフローチャートである。まず、加工工程調整部5は、指定された加工工程にかかる加工形状と当該指定された加工工程が依存する加工工程にかかる加工形状とが接するか否かをチェックするステップS1721。加工工程調整部5は、指定された加工工程にかかる加工形状と当該指定された加工工程が依存する加工工程にかかる加工形状とが接していない場合ステップS1721、No、ステップS1722の処理に進み、指定された加工工程にかかる加工形状と当該指定された加工工程が依存する加工工程にかかる加工形状とが接していない場合ステップS1721、Yes、ステップS1723の処理に進む。加工工程調整部5は、ステップS1722の処理において、前記指定された加工工程にかかる加工形状を前当該指定された加工工程に依存する加工工程にかかる加工形状に接するまで、前記指定された加工工程にかかる加工形状の形状を工具方向とは逆の方向にスウィープ、即ち伸長する。そして、ステップS1723の処理に移行する。図18-1、図18-2、および図18-3は、ポケット荒2段目ポケットの加工形状の変形の様子を説明する図である。図18-1は、変形前の加工形状を説明する斜視図であり、図18-2は変形前の加工形状を説明する断面図である。また、図18-3は、変形後の加工形状を説明する断面図である。図18-1および図18-2に示すように、ポケット荒2段目ポケット165は、当該ポケット荒2段目ポケットが依存するポケット荒1段目ポケット161とは接しない。そのため、ステップS1722の処理により、ポケット荒2段目ポケット165の加工上面を、前の加工工程のポケット荒1段目ポケット161の底面に接するようにスウィープして、加工形状を変形する。即ち、ポケット荒2段目ポケット165は、図18-3に示すポケット荒2段目ポケット181のように変形せしめられる。図19-1、図19-2、および図19-3は、ポケット壁仕上げ2段目ポケットの加工形状を変形する様子を説明する図である。図19-1は、変形前の加工形状を説明する斜視図であり、図19-2は変形前の加工形状を説明する断面図である。また、図19-3は、変形後の加工形状を説明する断面図である。図19-1および図19-2に示すように、ポケット壁仕上げ2段目ポケット167は、当該ポケット壁仕上げ2段目ポケット167が依存するポケット荒1段目ポケット161とは接しない。そのため、ステップS1722の処理により、ポケット壁仕上げ2段目ポケット167の加工上面を、前の加工工程のポケット荒1段目ポケット161の底面に接するようにスウィープして、加工形状を変形する。即ち、ポケット壁仕上げ2段目ポケット167は、図19-3に示すポケット壁仕上げ2段目ポケット191のように変形せしめられる。加工工程調整部5は、ステップS1723の処理において、指定された加工工程にかかる加工形状と当該指定された加工工程が依存する加工工程にかかる加工形状とが重複するか否かをチェックしステップS1723、重複する場合ステップS1723、Yes、ステップS1724の処理へ進み、重複しない場合ステップS1723、No、ステップS1506の処理にかかる動作を終了する。加工工程調整部5は、ステップS1724の処理において、重複する部分を除去するように前記指定された加工工程にかかる加工形状を変形する。ステップS1724の処理の後、ステップS1506の処理にかかる動作を終了する。図20-1、図20-2、図20-3、図20-4、図20-5、図20-6、および図20-7は、ポケット底仕上げ1段目ポケット164の変形の様子を説明する図である。図20-1は、ポケット底仕上げ1段目ポケット164の上面図であり、図20-2は、ポケット底仕上げ1段目ポケット164の断面図である。図20-3は、変形後のポケット荒2段目ポケット181の上面図であり、図20-4は、変形後のポケット荒2段目ポケット181の断面図である。図20-5、図20-6、図20-7は、夫々、変形後のポケット底仕上げ1段目ポケット201の上面図、斜視図、断面図を示している。ステップS1722の処理における変形の後のポケット荒2段目ポケット181は、当該変形により、加工順序でポケット荒2段目ポケット181よりも後の工程であるポケット底仕上げ1段目ポケット164と一部が重複する。そのため、加工工程調整部5は、ステップS1505の処理において、ポケット荒2段目ポケット181は、ポケット底仕上げ1段目ポケット164が依存する加工工程として抽出する。そして、加工工程調整部5は、ステップS1724の処理において、ポケット底仕上げ1段目ポケット164の加工形状からポケット荒2段目ポケット181と重複する部分を除去するようにポケット底仕上げ1段目ポケット164の加工形状を変形する。即ち、ポケット底仕上げ1段目ポケット164からポケット荒2段目ポケット181と重複する部分が除去されて、ポケット底仕上げ1段目ポケット201のように変形せしめられる。図21-1、図21-2、図22-1、図22-2、図23-1、図23-2、図23-3、図24-1、図24-2、図24-3、図24-4、図24-5、図24-6、図25-1、図25-2、図25-3、図25-4、図25-5、および図25-6は、自動プログラミング装置1000の出力装置1005に表示される表示画面例を示す図である。図21-1に示すように、表示画面は、プログラム構成要素一覧表示部8と形状表示部7とから構成されている。プログラム構成要素一覧表示部8は、素材形状、加工素材形状、加工形状、加工工程を夫々選択することができるようになっており、形状表示部7は、プログラム構成要素一覧表示部8で選択状態となっている要素素材形状、加工素材形状、加工形状、加工工程に対応する形状が3次元表示される。ステップS303の処理の後には、図21-1に示すように、プログラム構成要素一覧表示部8は、素材形状を選択状態として強調表示し、形状表示部7は、対応する素材形状を表示する。ステップS305の処理の後には、図21-2に示すようにプログラム構成要素一覧表示部8は、入力設定された加工形状に属するポケットを選択状態として強調表示し、形状表示部7は、加工素材形状と共に加工形状を表示する。形状表示部7が加工素材形状と共に加工形状を表示することで、加工素材形状に対する加工形状の位置関係の確認が容易となり、確実な加工形状の入力設定するためのオペレータの負担が軽減される。なお、加工素材形状のみを確認したい場合は、図22-1に示すように、プログラム構成要素一覧表示部8で加工素材形状を選択することで形状表示部7に所望の加工素材形状を表示させることができる。ステップS307の処理の後では、図22-2に示すように、プログラム構成要素一覧表示部8は、入力設定された加工工程と関連する加工形状を選択状態として強調表示し、形状表示部7は、加工素材形状と共に関連する加工形状を表示する。ステップS309の処理の直前では、図23-1に示すように、プログラム構成要素一覧表示部8は、加工工程の一覧を表示し、ステップS309の処理を実行した後、図23-2に示すように、プログラム構成要素一覧表示部8は、図23-1に示した状態から加工工程の順番を変更して表示する。オペレータが加工工程を選択すると、図23-3に示すように、プログラム構成要素一覧表示部8は、選択された加工工程を選択状態として強調表示し、形状表示部7は、選択された加工工程に関連する加工形状を加工素材形状と共に表示する。形状表示部7が選択された加工工程に関連する加工形状を加工素材形状と共に表示することで、加工の順番に従った加工部位の確認が容易に行え、確実な加工順番を設定するためのオペレータの負担が軽減される。図24-1~図24-6および図25-1~図25-6は、加工形状にかかる表示の、ステップS311の処理即ち加工工程の調整の前後の差異を説明する図である。図24-1~図24-6は、ステップS311の処理の前の画面表示、図25-1~図25-6は、ステップS311の処理の後の画面表示を夫々示している。1段目のポケットのポケット底仕上げの加工形状の表示をステップS311の処理の前後で比較すると、ステップS311の処理前では、加工順序で後の工程となる2段目のポケット荒および壁仕上げにかかる加工により削られてしまう中央の部分についても加工を行う設定となっており、ステップS311の処理後では、当該中央の部分が加工形状から削除されている。即ち、無駄加工が軽減される設定となっていることが確認できる。なお、図面からは分かりにくいが、ステップS311の処理後の画面表示によれば、2段目のポケット荒および壁仕上げの加工形状は、夫々、加工上面が1段目のポケット荒の加工形状に接するように上方に伸長せしめられている。図3に戻り、ステップS312では、自動プログラミング装置1000は、入力したプログラムを実行する旨のオペレータ指示をチェックしており、プログラムを実行する指示があった場合ステップS312、Yes、ステップS314の処理へ進み、プログラムを実行する指示がなかった場合ステップS312、No、ステップS313の処理へ進む。ステップS314~ステップS316の処理は、制御指令生成部9が加工工程データ記憶部13に格納されている加工工程データを一つずつ取り出して、取り出した加工工程データを逐次制御指令に変換するループ処理を構成している。制御指令生成部9は、取り出した加工工程データから制御指令を生成し、生成した制御指令をRAM1002に出力するステップS315。ステップS313では、自動プログラミング装置1000は、プログラム入力実行操作を終了する旨のオペレータ指示をチェックしており、プログラム入力実行操作を終了する旨の指示があった場合ステップS313、Yes、自動プログラミング装置1000の動作を終了し、プログラム入力実行操作を終了する旨の指示がなかった場合ステップS313、No、ステップS301の処理へ進む。ステップS317では、自動プログラミング装置1000は、例えば形状表示部7に選択表示中の要素と異なる要素を選択する入力がなされるなど、表示対象を変更する旨のオペレータ指示をチェックしており、表示対象を変更する旨のオペレータ指示があった場合ステップS317、Yes、ステップS318の処理へ進み、表示対象を変更する旨のオペレータ指示がなかった場合ステップS317、No、ステップS301の処理へ進む。このように、本発明の実施の形態1によれば、加工工程データ生成編集部3は、外部入力された加工形状第1の加工形状の夫々から加工工程毎の加工形状第2の加工形状を生成し、工具加工順番工具方向編集部4は、加工工程の実行順序の入力を受け付け、加工工程調整部5は、第2の加工形状のうちの工具方向が同一の複数の加工形状に対し、当該複数の加工形状のうちの一の加工形状を前記入力された実行順序で加工を実行できるように変形するとともに、当該一の加工形状の変形により重複することとなった他の加工形状から当該重複する部分を削除して、第3の加工形状を生成し、制御指令生成部9は、第3の加工形状と前記入力された実行順序とに基づいて、工作機械を動作させるための制御指令を生成する、ように構成したので、オペレータにより入力された加工工程の順序を実行できるように加工形状を変形するとともに、加工形状の変形により、当該変形された加工形状と当該変形された加工形状の前に加工される加工形状とで重複する部分を当該変形された加工形状の前に加工される加工形状から削除するので、無駄加工をできるだけ減らして加工する制御指令を生成することができる。また、加工工程データ生成編集部3が生成する第2の加工形状は、荒加工により加工される加工形状、壁仕上げ加工により加工される加工形状、および底仕上げ加工により加工される加工形状を含む、ように構成した。また、前記一の加工形状は、前記他の加工形状にかかる加工工程よりも前に実行される加工工程にかかる加工形状であって、前記他の加工形状からみて工具方向に位置し、前記一の加工形状を前記入力された実行順序で加工を実行できるように変形するとは、前記他の加工形状を貫通するように前記一の加工形状を工具方向とは逆向きに伸長することである、ように構成したので、オペレータにより入力された加工工程の順序を実行できるように加工形状を変形するとともに、加工形状の変形により、当該変形された加工形状と当該変形された加工形状の前に加工される加工形状とで重複する部分を当該変形された加工形状の前に加工される加工形状から削除するので、無駄加工をできるだけ減らして加工する制御指令を生成することができる。実施の形態2.新たな具体例を用いて、実施の形態2の自動プログラミング装置および制御指令生成方法を説明する。なお、実施の形態2の自動プログラミング装置の構成は、図1および図2を用いて説明した実施の形態1の構成とほぼ同様であるため、ここでは実施の形態1の構成を準用して説明する。また、実施の形態2の制御指令生成方法を、図3、図6-1、図6-2、および図15の説明を準用し、重複する説明を省略する。まず、図26-1、図26-3、図26-3、図27-1、図27-2、および図27-3を用いて、素材形状データ入力部1が、ステップS303の処理において、外部入力された素材形状データを受け付ける動作を説明する。図26-1~図26-3は、実施の形態2で説明する加工品を説明する図であり、図27-1は、図26-1~図26-3に示した加工品を作成するための素材形状を示す斜視図であり、図27-2および図27-3は、当該素材形状の素材形状データを入力するための表示画面例を説明する図である。図27-1に示すように、当該加工品の素材形状は、円柱の形状を備えている。図27-2に示すように、素材形状データの設定にかかる入力項目には、素材形状の位置を指定するための素材形状上の基準点位置、素材形状上の基準点のワーク座標系上での位置位置X、位置Y、位置Z、素材形状の直径およびZ軸方向の寸法直径、長さZがある。素材形状上の基準点は、図27-3に示す表示画面上で、X、YおよびZ軸方向それぞれにおいて素材形状の範囲中の最小、中心、最大のいずれかの位置を選択することで指定される。図27-2に示す例によれば、基準点としてXCYCZHXおよびY軸方向で範囲の中心、Z軸方向で範囲の最大の点が選択され、円柱形状のZ軸に垂直でZ軸方向側の面の中心点が基準点となっており、図26-1~図26-3に示す図面上の基準点と一致させている。これは、ステップS305における加工形状データの入力の際にも加工形状上の基準点として同様に選択することで、素材形状に対する加工形状の位置指定を容易にするためである。図27-2に示す表示画面例の設定により図27-1に示すようにワーク原点に基準点が一致するように素材形状が設定される。また、素材形状の各面には、素材形状の面であることを示す属性情報FW1~FW3が付加される。次に、図28-1、図28-2、図28-3、図28-4、図29-1、図29-2、図30-1、および図30-2を用いて、加工形状データ入力部2が、ステップS605の処理において、加工形状上面のZ軸位置の計算と、素材形状と加工形状との間または加工形状間の依存関係の設定とを実施する動作を説明する。図28-1~図28-4、図29-1、図29-2、図30-1、および図30-2は、図26-1~図26-3に示した加工品における端面のポケット部第1ポケットの加工形状を定義する様子を説明する図である。図28-1は、前記ポケット部を定義するための加工領域を示す図であり、図28-2~図28-4は、当該ポケット部の加工形状を定義するための入力用の表示画面例を示す図である。図28-2~図28-4に示すように、当該ポケット部の加工形状を定義するための入力項目として、加工形状の位置を指定するための加工形状上の基準点選択、基準点のワーク座標系上でのXY方向位置位置X、位置Y、加工形状のXおよびY軸方向の寸法長さX、長さY、コーナーRの半径、加工形状の上面Z位置上面Z、加工形状の上面から下面加工形状のZ軸に垂直でZ軸-方向側の面までの距離深さがある。基準点の設定方法は素材形状データ入力の際と同様であり、初期値として素材形状データ入力の際の値が入る。これにより、素材形状と加工形状とで基準点の取り方を同じとすることで位置の入力を容易に行える多くの場合にて、基準点を指定する手間を省くことができる。図28-2に示す表示画面では、加工形状のZ軸に垂直な平面上における加工領域図29-1に示す加工領域291の位置および寸法を定義する値が入っている。次にオペレータが入力対象の入力対象の入力項目を加工形状の上面Z位置上面Zに移した時に、値が空白であることから、ステップS605の処理により、上面Z位置の計算が実行される。この計算では、加工領域を加工素材形状からZ軸方向に離れた位置からZ軸-方向へ移動させた時に、加工素材形状に最初に接したときの加工領域のZ位置が抽出され、上面Z位置の値として設定される図28-3。図29-1は、図28-1に示した加工領域が加工素材形状に最初に接したときの様子を示す図である。このとき、加工形状のZ軸に垂直な平面上における領域形状が最初に接した加工素材形状の面が抽出され、面に付属する属性から素材形状の面であるかあるいはどの加工形状の面であるかが認識され、認識された素材形状または加工形状に設定中の加工形状が依存するという関係が設定される。図29-2は、素材のFW2の面に当該ポケットが依存するという関係が設定されている様子を示している。図28-4では、加工形状の上面から下面までの距離深さが入力された表示画面を示しており、このとき加工素材形状と加工形状との位置関係は図30-1に示すようになる。細線で示した部分が加工素材形状であり、太線で示した部分が当該ポケット部の加工形状である。次に、ステップS611の加工素材形状生成部6の処理について具体的に説明する。図30-2は、図30-1に示すポケット加工形状が加工素材形状から除去されて生成される加工素材形状の例を示す図である。加工素材形状の各面には、素材形状の面であることを示す属性やポケット加工形状の転写された面であることを示す属性が付属する。図31-1、図31-2、図31-3、図31-4、図32-1、図32-2、図33-1、および図33-2は、第1ポケットの壁面にさらにポケット第2ポケットを追加する様子を示す図である。図31-1は、第2ポケットを定義するための加工領域である。また、図31-2~図32-4は、第2ポケットの加工形状を定義するための入力用の表示画面例である。当該表示画面の入力項目として、加工形状の位置を指定するための加工形状上の基準点選択、基準点のワーク座標系上でのXY方向位置位置X、位置Y、加工形状のXおよびY軸方向の寸法長さX、長さY、コーナーRの半径、加工形状の上面Z位置上面Z、加工形状の上面から下面加工形状のZ軸に垂直でZ軸-方向側の面までの距離深さがある。図31-2に示すように、入力対象の入力項目を加工形状の上面Z位置上面Zに移した時に、値が空白であることから、ステップS605の処理により、上面Z位置の計算が実行され、計算された値が図31-3のように表示される。図32-1に、図31-1に示した加工領域が加工素材形状に最初に接したときの様子を示す。ステップS605の処理においては、加工形状のZ軸に垂直な平面上における加工領域が最初に接した加工素材形状の面領域321が抽出され、面に付属する属性から素材形状の面であるかあるいはどの加工形状の面であるかが認識され、認識された素材形状または加工形状に設定中の加工形状が依存するという関係が設定される。図32-2は、素材のFW2の面に当該ポケットが依存するという関係が設定されている様子を示している。図31-4は、加工形状の上面から下面までの距離深さが入力された入力ウィンドウを示しており、このとき加工素材形状と加工形状との位置関係は図33-1に示すようになる。太線で示した加工形状331が当該加工形状である。図33-2に、図33-1の第2ポケットの加工形状が除去された加工素材形状の例を示す。加工素材形状の各面には、素材形状の面であることを示す属性やポケット加工形状の転写された面であることを示す属性が付属する。図34-1、図34-2、図34-3、図35-1、図35-2、図36-1、および図36-2は、第1ポケットの壁面に単純穴の加工形状を追加する様子を示す図である。図34-1は、図34-2の入力用の表示画面で設定された加工形状のZ軸に垂直な平面上における加工領域である。図34-3は、当該表示画面の加工形状上面のZ位置が自動設定されたもので、図34-1に示した領域形状と図33-2に示した加工素材形状を基に図35-1に示す位置領域351が抽出される。また、領域形状の接する面が素材形状の面であることを示す属性の付属する面FW2であることから、図35-2に示すように素材形状と単純穴の加工形状との間に依存関係が構築される。さらに、加工素材形状の生成の際に、単純穴の加工形状が貫通するタイプのもので加工素材形状を基に深さ方向の領域が決まるものであるから、図36-1に示すように、加工素材形状生成部6によって加工素材形状を貫通する深さが自動的に決定されて単純穴の加工形状361が決定され、図36-2に示す加工素材形状が結果として得られる。以上の加工形状データの入力においては、加工形状のZ軸に垂直な平面上の領域形状のデータ与えるだけで、加工形状の上面Z位置と共に素材形状および加工形状間の依存関係が設定されるので、加工形状の上面Z位置の入力の手間が省かれると共に、加工形状の修正を連動させるための追加の手間を必要としないで加工形状の連動した修正が可能となる。次に、加工工程データ生成編集部3が、ステップS307の処理において、加工形状データ記憶部12に記憶された加工形状データを基に加工工程データを生成する動作を具体的に説明する。図37-1および図37-2は加工工程データの生成の様子を示す図である。加工工程データは図37-2に示すように加工形状、加工方法、使用工具、加工条件などの部分的な加工を実行するためのデータ含んだものである。図37-1は加工形状と生成される加工工程との関係の例を示す図である。図示するように、第1ポケットの加工形状からは、ポケット荒第1ポケット加工とポケット壁仕上げ加工第1ポケットとポケット底仕上げ第1ポケット加工の加工工程が生成され、第2ポケットの加工形状からも、ポケット荒第2ポケット加工と壁仕上げ第2ポケット加工と第2ポケット底仕上げ加工の加工工程が生成され、単純穴の加工形状からも、単純穴スポットと単純穴ドリルの加工工程が生成される。次に、工具加工順番工具方向編集部4が、ステップS309の処理において、加工工程データ記憶部13に記憶された加工工程データから加工工程に対する使用工具のリストが加工工程の実行順番に表示する動作を説明する。図38-1は、加工工程と加工工具のリストを示す図である。また、図38-2、図38-3、図38-4は、オペレータによって設定された、第1ポケットの工具方向、第2ポケットの工具方向、単純穴の工具方向の設定例を夫々示す図である。なお、夫々の工具方向は、白抜き矢印で示している。このように、工具方向を所望のように設定することができるため、紙面上方に位置する加工形状の工具方向を紙面上方からに設定し、紙面下方に位置する加工形状の工具方向を紙面下方からに設定することで、加工深さを浅くすることができるようになる。また、ホルダ干渉を回避せしめることができる。さらに、工具突き出し量を短くしたりすることができ、結果として、切削速度を早くすることができる。次に、加工工程調整部5が、ステップS1502の処理において、加工形状データ記憶部12に記憶された加工形状から、指定された加工工程データに対応する加工形状を生成する動作を説明する。図39-1、図39-2、図39-3、図39-4、および図39-5は、加工工程毎の加工形状を示す図である。図39-1に示すように、図30-1に示した加工形状301から、壁仕上げ加工用の壁残し代、底仕上げ加工用の底残し代を除いた太線で示す加工形状391がポケット荒第1ポケットの加工形状以降、ポケット荒第1ポケット391となる。また、図39-2に示すように、図30-1に示した加工形状301から壁仕上げを抽出した太線で示す加工形状392がポケット壁仕上げ第1ポケットの加工形状以降、ポケット壁仕上げ第1ポケット392となる。また、図39-3に示すように、図30-1に示した加工形状301から底仕上げを抽出した太線で示す加工形状393がポケット底仕上げ第1ポケットの加工形状以降、ポケット底仕上げ第1ポケット393となる。また、図39-4に示すように、図33-1に示した加工形状331から壁仕上げ加工用の壁残し代および底仕上げ加工用の底残し代を除いた太線で示す加工形状394がポケット荒第2ポケットの加工形状以降、ポケット荒第2ポケット394となる。また、図39-5に示すように、図33-1に示した加工形状331から壁仕上げを抽出した太線で示した加工形状395がポケット壁仕上げ第2ポケットの加工形状以降、ポケット壁仕上げ第2ポケット395となる。ポケット底仕上げ第2ポケットの加工形状は、図33-1に示した加工形状331から底仕上げを抽出できないので、加工形状無しなる。加工工程調整部5は、ステップS1505の処理において、指定された加工工程が依存する加工工程を取得する。第2の実施の形態において、加工工程調整部5は、工具方向が前記指定された加工工程と同一の加工工程から当該指定された加工工程が依存する加工工程を抽出する際には、第1の実施の形態にて説明した図17-1のフローチャートに従って動作する。そして、工具方向が前記指定された加工工程と異なる加工工程については、加工形状が前記指定された加工工程にかかる加工形状の底面部に接する加工工程および加工形状が前記指定された加工工程にかかる加工形状に重複する加工工程を前記指定された加工工程が依存する加工工程として抽出する。例えば、ポケット荒第2ポケット394および壁仕上げ第2ポケット395の底面部は、ポケット底仕上げ第1ポケット393に接しているので、ポケット荒第2ポケット394および壁仕上げ第2ポケット395はポケット底仕上げ第1ポケット393に依存する。図40-1は、工具方向が前記指定された加工工程と異なる加工工程から当該指定された加工工程が依存する加工工程を抽出する場合のステップS1505における動作をさらに詳細に説明するフローチャートである。図示するように、加工工程調整部5は、指定された加工工程にかかる加工形状の底面部と加工形状が接するか、もしくは重複する加工工程を抽出するステップS4011。そして、ステップS1505の処理を終了する。加工工程調整部5は、ステップS1506の処理において、指定された加工工程の加工形状を調整する動作を実行する。なお、前記指定された加工工程の工具方向と当該指定された加工工程が依存する加工工程の工具方向とが同一である場合、加工工程調整部5は、第1の実施の形態と同等の処理により前記指定された加工工程にかかる加工形状を変形させる。図40-2は、前記指定された加工工程の工具方向と当該指定された加工工程が依存する加工工程の工具方向とが異なる場合におけるステップS1506の動作をさらに詳細に説明するフローチャートである。ステップS4021では、加工工程調整部5は、指定された加工工程にかかる加工形状の底面が、ステップS1505の処理により抽出した前記指定された加工工程に依存する加工工程の加工形状に接しているか否かをチェックし、接している場合ステップS4021、Yes、ステップS4022の処理へ進み、接していない場合ステップS4021、No、ステップS4023の処理へ進む。ステップS4022では、加工工程調整部5は、指定された加工工程の加工形状の底面部を工具方向にあらかじめ決めれらた量だけスウィープ、即ち伸長して、加工形状を変形する。ステップS4022の処理の後、ステップS4023の処理へ進む。図41-1、図41-2、および図41-3は、ポケット荒第2ポケット394の加工形状を変形する様子を説明する図である。図41-1は、変形前の加工形状を説明する斜視図であり、図41-2は変形前の加工形状を説明する断面図である。また、図41-3は、変形後の加工形状を説明する断面図である。図41-1および図41-2に示すように、ポケット荒第2ポケット394はポケット荒第2ポケット394が干渉するポケット底仕上げ第1ポケット393と接する。そのため、ステップS4022の処理により、ポケット底仕上げ第1ポケット393の底面部を、工具方向に伸ばすようにスウィープして、加工形状を変形する。即ち、ポケット荒第2ポケット394は、図41-3に示す加工形状411以降、ポケット荒第2ポケット411のように変形せしめられる。図42-1、図42-2、および図42-3は、単純穴ドリルの加工形状を変形する様子を説明する図である。図42-1は、変形前の加工形状を説明する斜視図であり、図42-2は変形前の加工形状を説明する断面図である。また、図42-3は、変形後の加工形状を説明する断面図である。図42-1および図42-2に示すように、単純穴ドリルの加工形状421以降、単純穴ドリル421は、当該単純穴ドリル421が依存するポケット底仕上げ第1ポケット393と接する。そのため、ステップS4022の処理により、ポケット底仕上げ第1ポケット393の底面部を、工具方向に伸ばすようにスウィープして、加工形状を変形する。即ち、単純穴ドリル421は、図42-3に示す加工形状422以降、単純穴ドリル422のように変形せしめられる。ステップS4023では、加工工程調整部5は、指定された加工工程の加工形状が、当該指定された加工工程が依存する加工工程の加工形状と重複するか否かチェックする。重複しない場合ステップS4023、No、ステップS1506の処理が終了となり、重複が発生する場合ステップS4023、Yes、ステップS4024の処理へ進む。図43は、ポケット底仕上げ第1ポケット393と単純穴ドリル422およびポケット荒第2ポケット411とが重複することを示す図である。ステップS4024では、加工工程調整部5は、指定された加工工程の加工形状を工具方向に垂直な平面でスライスした断面形状を生成し、その面積を求める。そして、重複する工具方向が異なる他の加工工程の加工形状を、指定された加工工程の工具方向に垂直な平面でスライスした断面形状を生成し、その面積を求める。そして、重複する工具方向が異なる他の加工工程の断面形状の面積の、指定された加工工程の断面形状の面積に対する割合が、予め決められた値を超えるか否かを判定する。前記割合が予め決められた値を超えている場合ステップS4024、Yes、加工工程調整部5は、前記指定された加工工程の加工形状から当該重複する部位を削除してステップS4025、ステップS1506の処理が終了となる。前記割合が予め決められた値を超えていない場合ステップS4024、No、ステップS4025の処理はスキップされる。図44-1は、ステップS4024の処理における指定された加工工程としてのポケット底仕上げ第1ポケット393の断面形状を示す図であり、図44-2は、当該ポケット底仕上げ第1ポケット393と重複するポケット荒第2ポケット411、変形後の壁仕上げ第2ポケット395、および単純穴ドリル422の断面形状を示す図である。夫々の図において、断面形状を太線で示している。また、図44-3は、ポケット底仕上げ第1ポケット393の変形後の加工形状ポケット底仕上げ第1ポケット443を示す図である。ここでは、ステップS4024の判定処理において比較に用いられる予め決められた値を10としている。図示するように、ポケット底仕上げ第1ポケット443は、ポケット荒第2ポケット411と重複する部分を除去した形状を備えている。図45-1、図45-2、図46-1、図46-2、図47-1、図47-2、図47-3、図48-1、図48-2、図48-3、図48-4、図48-5、図48-6、図48-7、図48-8、図49-1、図49-2、図49-3、図49-4、図49-5、図49-6、図49-7、および図49-8は、実施の形態2の自動プログラミング装置1000の出力装置1005に表示される表示画面例を示す図である。図45-1に示すように、表示画面はプログラム構成要素一覧表示部8と形状表示部7とから構成され、プログラム構成要素一覧表示部8において選択状態となっている構成要素素材形状、加工素材形状、加工形状、加工工程に対応する形状が形状表示部7に3次元表示される。ステップS303の処理の後には、図45-1に示すように、プログラム構成要素一覧表示部8は、素材形状を選択状態として強調表示し、形状表示部7は、対応する素材形状が表示される。ステップS305の処理の後には、図45-2に示すように、プログラム構成要素一覧表示部8は、入力設定された加工形状に属するポケット2を選択状態として強調表示し、形状表示部7は、加工素材形状と共に加工形状を表示する。なお、ポケット2とは、第2ポケットを指す。以降、プログラム構成要素一覧表示部8が表示出力する加工形状に関し、第1ポケットにかかる加工形状の末尾には1を付し、第2ポケットにかかる加工形状の末尾には2を夫々付して区別するものとする。加工素材形状と共に加工形状を表示することで、加工素材形状に対する加工形状の位置関係の確認が容易となり、確実な加工形状の入力設定するためのオペレータの負担が軽減される。なお、加工素材形状のみを確認したい場合は、図46-1に示すように、プログラム構成要素一覧表示部8で加工素材形状を選択することで形状表示部7に所望の加工素材形状を表示させることができる。ステップS307の処理の後では、図46-2に示すように、プログラム構成要素一覧表示部8は、入力設定された加工工程と関連する加工形状を選択状態として強調表示し、形状表示部7は、加工素材形状と共に関連する加工形状を表示する。ステップS309の処理の前では、ポケット荒第1ポケット391、ポケット壁仕上げ第1ポケット392、ポケット底仕上げ第1ポケット393の工具方向の初期値としてが設定されており、オペレータからの入力により、図47-1の白抜き矢印に示すように、工具方向が1.0,0.0,0.0に変更されて設定されている。同様に、ポケット荒第2ポケット394、壁仕上げ第2ポケット395、第2ポケット底仕上げの工具方向は、初期値としてが設定されていたものが、図47-2の白抜き矢印に示すように、1.0,0.0,0.0に変更されて設定されている。同様に、単純穴スポットおよび単純穴ドリルの工具方向は、初期値として-1.0,0.0,0.0が設定されていたものが、図47-3の白抜き矢印に示すように、1.0,0.0,0.0に変更されて設定されている。図48-1~図48-8および図49-1~図49-8は、加工形状にかかる表示の、ステップS311の処理即ち加工工程の調整の前後の差異を説明する図である。図48-1~図48-8は、ステップS311の処理の前の画面表示、図49-1~図49-8は、ステップS311の処理の後の画面表示を夫々示している。図示するように、ステップS311の処理によって、ポケット荒第2ポケット394、壁仕上げ第2ポケット395、および単純穴ドリルの夫々の加工形状が紙面上方に伸長せしめられている。そして、紙面上方に伸長せしめられる変形が行われることによって無駄加工となる、ポケット底仕上げ第1ポケット393の加工形状のポケット荒第2ポケット394、壁仕上げ第2ポケット395、および単純穴ドリルの夫々の加工形状と重複する部分のうち、所定の割合以上の無駄加工が発生する、ポケット荒第2ポケット394および壁仕上げ第2ポケット395の夫々と重複する部分がポケット底仕上げ第1ポケット393の加工形状から削除されている。即ち、無駄加工を軽減する設定となっていることがわかる。以上述べたように、本発明の実施の形態2によれば、加工工程調整部5は、第2の加工形状のうちの工具方向が互いに異なる2つの加工形状に対し、当該2つの加工形状のうちの一の加工形状の底面部が他の加工形状に接している場合、前記一の加工形状の底面部を当該一の加工形状の工具方向に伸長するとともに、当該一の加工形状の変形により重複することとなった他の加工形状から当該重複する部分を削除して、第3の加工形状を生成する、ように構成したので、前記一の加工形状の底面部の削り残しを無くすことができ、かつ変形により生じる無駄加工を減らすことができるようになる。また、第2の加工形状は、荒加工により加工される加工形状、壁仕上げ加工により加工される加工形状、および底仕上げ加工により加工される加工形状を含む、ように構成した。また、加工工程調整部5は、前記一の加工形状の工具方向に垂直な平面上における、前記一の加工形状と前記他の加工形状とが重複する部分の前記他の加工形状に対する割合が所定の値よりも大きい場合、前記重複する部分を前記他の加工形状から削除し、前記割合が前記所定の値よりも小さい場合、前記重複する部分を削除しない、ように構成したので、程度に応じて無駄加工を削除することが可能になる。"