(57)【特許請求の範囲】
【請求項１】
工作機械の加工プログラムの編集を支援する加工プログラム編集支援装置において、
表示装置と、
該表示装置の画面上の任意の点を指定する入力装置と、
前記画面を、プログラムデータ表示領域および形状表示領域を含む少なくとも２つの表示領域に分割して表示する表示制御部と、を備え、
前記加工プログラムは、各加工工程に区切られたデータを含むプログラムデータを有し、該プログラムデータは、各加工工程での加工の方法を定義する加工方法データと、各加工工程での加工に寄与する形状を定義する形状定義データとを含み、
前記表示制御部は、
前記プログラムデータ表示領域の表示候補を前記プログラムデータとし、該プログラムデータの少なくとも一部を表示対象として前記プログラムデータ表示領域に表示し、
前記形状表示領域の表示候補を前記形状定義データから得られる定義形状とし、該定義形状の少なくとも一部を表示対象として前記形状表示領域に表示するものであって、
前記形状定義データは、素材の形状を定義する素材形状データと、前記各加工工程のために定義され且つ、前記加工工程を実行することで除去される形状を定義する除去形状データとを含み、
前記定義形状は、除去形状とワーク形状とを含み、
前記表示制御部は、前記形状表示領域に前記表示対象が表示されているときに、前記形状表示領域の特定箇所が前記入力装置を介して指定されると、内側に前記特定箇所を含む前記除去形状を、前記形状表示領域の指定表示対象の候補が登録される加工形状テーブルに登録し、該加工形状テーブルの先頭に登録された指定表示対象の候補を、前記形状表示領域の指定表示対象として、前記形状表示領域における他の表示対象とは差別化して表示し、また、前記プログラムデータ表示領域の表示候補のなかで前記形状表示領域の指定表示対象に対応する加工工程に区切られたデータの少なくとも一部を、前記プログラムデータ表示領域の指定表示対象として、前記プログラムデータ表示領域に頭出しした状態で表示し、
前記表示制御部は、前記特定箇所との距離が所定量以内の箇所が前記入力装置を介して連続して指定される場合、前記加工形状テーブルに登録された順に従って次の前記指定表示対象の候補を前記形状表示領域の指定表示対象として他の表示対象とは差別化して表示
する
ことを特徴とする加工プログラム編集支援装置。
【請求項２】
前記除去形状は、前記除去形状データで定義される形状であり、
前記加工プログラムを実行する前の前記ワーク形状は、前記素材形状データで定義され、
前記ワーク形状は、前記加工工程の実行前の前記ワーク形状と、前記加工工程の前記除去形状とを差集合演算して求められる形状であり、
前記形状表示領域の指定表示対象は、加工工程単位で特定された前記除去形状であり、
前記表示制御部は、前記形状表示領域の指定表示対象とされた前記除去形状が定義された前記加工工程の実行前の前記ワーク形状と、前記形状表示領域の指定表示対象とされた前記除去形状とを重ねて表示することにより、前記形状表示領域の指定表示対象を差別化して表示する
ことを特徴とする請求項１に記載の加工プログラム編集支援装置。
【請求項３】
前記表示制御部は、前記プログラムデータ表示領域に表示されたプログラムデータが変更されると、前記形状表示領域に表示する前記除去形状を、前記変更されたプログラムデータに対応した除去形状に変更して表示する
ことを特徴とする請求項２に記載の加工プログラム編集支援装置。
【請求項４】
前記加工方法データは、当該加工方法データに対応する前記加工工程の工程名称を示す工程名称データを含み、
前記表示制御部は、
前記画面に、更に、前記工程名称データを表示候補とする表示領域を工程一覧表示領域として設け、前記工程名称データの少なくとも一部を表示対象として前記工程一覧表示領域に表示し、
前記プログラムデータ表示領域、前記形状表示領域、および前記工程一覧表示領域のいずれか１つの表示領域に当該表示領域の表示対象が表示されているときに、該いずれか１つの表示領域の特定箇所が前記入力装置を介して指定されると、当該いずれか１つの表示領域の表示対象と前記特定箇所と、により特定される表示候補を、該いずれか１つの表示領域の指定表示対象として、該いずれか１つの表示領域の表示対象に含めて且つ、該いずれか１つの表示領域における他の表示対象とは差別化して表示し、また、残りの２つの表示領域における表示候補のなかで前記いずれか１つの表示領域の指定表示対象に対応する、残りの２つの表示領域の表示候補を、当該残りの２つの表示領域の指定表示対象として、当該残りの２つの表示領域の表示対象に含めて且つ、当該残りの２つの表示領域における他の表示対象とは差別化して表示する
ことを特徴とする請求項１に記載の加工プログラム編集支援装置。
【請求項５】
工作機械の加工プログラムの編集を支援する加工プログラム編集支援装置において、
表示装置と、
該表示装置の画面上の任意の点を指定する入力装置と、
前記画面を、プログラムデータ表示領域および形状表示領域を含む少なくとも２つの表示領域に分割して表示する表示制御部と、を備え、
前記加工プログラムは、各加工工程に区切られたデータを含むプログラムデータを有し、該プログラムデータは、各加工工程での加工の方法を定義する加工方法データと、各加工工程での加工に寄与する形状を定義する形状定義データとを含み、
前記表示制御部は、
前記プログラムデータ表示領域の表示候補を前記プログラムデータとし、該プログラムデータの少なくとも一部を表示対象として前記プログラムデータ表示領域に表示し、
前記形状表示領域の表示候補を前記形状定義データから得られる定義形状とし、該定義
形状の少なくとも一部を表示対象として前記形状表示領域に表示するものであって、
前記形状定義データは、工具の移動経路を定義する座標値データを含む形状指令コードを、実行順に１行ずつ定義されるものであり、前記定義形状は、前記１行ずつ定義された前記形状指令コードの前記座標値データが示す座標点を、前記加工プログラムに従って順次接続する接続線であり、
前記表示制御部は、前記形状表示領域に前記表示対象が表示されているときに、前記形状表示領域の特定箇所が前記入力装置を介して指定されると、少なくとも一部が前記特定箇所を中心とした所定領域に含まれる表示対象の前記接続線を、前記形状表示領域の指定表示対象の候補が登録される加工形状テーブルに登録し、該加工形状テーブルの先頭に登録された指定表示対象の候補を、前記形状表示領域の指定表示対象として、前記形状表示領域における他の表示対象の前記接続線を示す線の線種、太さ、色の少なくとも１つを変更した線で表示することにより、前記形状表示領域における指定表示対象を差別化して表示し、また、前記プログラムデータ表示領域の表示候補のなかで前記形状表示領域の指定表示対象に対応する加工工程に区切られたデータの少なくとも一部を、前記プログラムデータ表示領域の指定表示対象として、前記プログラムデータ表示領域に頭出しした状態で表示し、
前記表示制御部は、前記特定箇所との距離が所定量以内の箇所が前記入力装置を介して連続して指定される場合、前記加工形状テーブルに登録された順に従って次の前記指定表示対象の候補を前記形状表示領域の指定表示対象として前記形状表示領域に表示する
ことを特徴とする加工プログラム編集支援装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工作機械によるワークの加工の仕方を定義するデータが各加工工程に区切られている加工プログラムの編集を支援する加工プログラム編集支援装置に関する。
【背景技術】
【０００２】
たとえば特許文献１には、加工プログラムを１ブロックずつ解析し、解析されたデータが示す形状をグラフィック表示する装置が提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平３−９４３０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ただし、上記の装置では、あくまでも１ブロックの解析が終わる都度、その解析されたブロックに対応する形状が表示されるに過ぎない。このため、たとえば、加工プログラムの全ての解析が終わることで得られた形状のうちその形状の一部を加工するプログラムが加工プログラムのなかのどの部分であるかについては、ユーザが手探りで探す必要がある。また、たとえば、加工プログラムの全体をユーザが眺めた後、特定のプログラムが規定する工程によって生じる形状がどうなるかという疑問がユーザに生じたとしても、その形状をユーザは直ちに把握することはできない。【０００５】
本発明は、そうした実情に鑑みてなされたものであり、その目的は、加工プログラムの編集をより好適に支援することのできる加工プログラム編集支援装置を提供することにある。
【課題を解決するための手段】
【０００６】
以下、上記課題を解決するための手段およびその作用効果について記載する。
技術的思想１：工作機械の加工プログラムの編集を支援する加工プログラム編集支援装置において、表示装置と、該表示装置の画面上の任意の点を指定する入力装置と、前記画面を、プログラムデータ表示領域および形状表示領域を含む少なくとも２つの表示領域に分割して表示する表示制御部と、を備え、前記加工プログラムは、各加工工程に区切られたデータを含むプログラムデータを有し、該プログラムデータは、各加工工程での加工の方法を定義する加工方法データと、各加工工程での加工に寄与する形状を定義する形状定義データとを含み、前記表示制御部は、前記プログラムデータ表示領域の表示候補を前記プログラムデータとし、該プログラムデータの少なくとも一部を表示対象として前記プログラムデータ表示領域に表示し、前記形状表示領域の表示候補を前記形状定義データから得られる定義形状とし、該定義形状の少なくとも一部を表示対象として前記形状表示領域に表示するものであって、前記形状定義データは、素材の形状を定義する素材形状データと、前記各加工工程のために定義され且つ、前記加工工程を実行することで除去される形状を定義する除去形状データとを含み、前記定義形状は、除去形状とワーク形状とを含み、前記表示制御部は、前記形状表示領域に前記表示対象が表示されているときに、前記形状表示領域の特定箇所が前記入力装置を介して指定されると、内側に前記特定箇所を含む前記除去形状を、前記形状表示領域の指定表示対象の候補が登録される加工形状テーブルに登録し、該加工形状テーブルの先頭に登録された指定表示対象の候補を、前記形状表示領域の指定表示対象として、前記形状表示領域における他の表示対象とは差別化して表示し、また、前記プログラムデータ表示領域の表示候補のなかで前記形状表示領域の指定表示対象に対応する加工工程に区切られたデータの少なくとも一部を、前記プログラムデータ表示領域の指定表示対象として、前記プログラムデータ表示領域に頭出しした状態で表示し、前記表示制御部は、前記特定箇所との距離が所定量以内の箇所が前記入力装置を介して連続して指定される場合、前記加工形状テーブルに登録された順に従って次の前記指
定表示対象の候補を前記形状表示領域の指定表示対象として他の表示対象とは差別化して表示することを特徴とする加工プログラム編集支援装置。
【０００８】
上記表示制御部は、以下の制御を行う。すなわち、入力装置を介して形状表示領域の特定箇所が指定されると、形状表示領域に表示された定義形状と特定箇所によって特定された表示候補である定義形状を形状表示領域の指定表示対象に特定し、他の表示対象と差別化して表示する。また、プログラムデータ表示領域の指定表示対象を、形状表示領域の指定表示対象である定義形状に対応するプログラムデータとし、プログラムデータ表示領域に頭出しした状態で表示する。
【０００９】
したがって、形状表示領域に表示された定義形状とプログラム表示領域に表示されたプログラムデータとを対応付けてユーザに理解させることができる。したがって、加工プログラムの編集をより好適に支援することができる。
また、２次元である表示装置の画面において、形状表示領域における特定箇所が入力装置を介して指定された場合、特定箇所から特定される定義形状の候補は、表示候補のなかに複数存在し得る。そこで、上記装置では、加工形状テーブルに複数の候補を登録する。そして、形状表示領域において位置的に互いに近い箇所が指定される都度、加工形状テーブルに登録された順に従って次の指定表示対象の候補を形状表示領域の指定表示対象として表示する。これにより、ユーザは、意図した定義形状に関する情報を取得することができる。
【００１０】
技術的思想２：前記除去形状は、前記除去形状データで定義される形状であり、前記加工プログラムを実行する前の前記ワーク形状は、前記素材形状データで定義され、前記ワーク形状は、前記加工工程の実行前の前記ワーク形状と、前記加工工程の前記除去形状とを差集合演算して求められる形状であり、前記形状表示領域の指定表示対象は、加工工程単位で特定された前記除去形状であり、前記表示制御部は、前記形状表示領域の指定表示対象とされた前記除去形状が定義された前記加工工程の実行前の前記ワーク形状と、前記形状表示領域の指定表示対象とされた前記除去形状とを重ねて表示することにより、前記形状表示領域の指定表示対象を差別化して表示することを特徴とする技術的思想１に記載の加工プログラム編集支援装置。
【００１１】
上記表示制御部は、加工工程直前のワーク形状に対し、加工工程の除去形状を差別化して画面に表示する。加工工程の除去形状は、加工工程の特徴を示すものであるため、画面に表示された除去形状から、当該除去形状に対応する加工工程が加工プログラムに含まれるどの加工工程であるかを、ユーザは瞬時に把握することができる。その結果、指定表示対象とされた加工工程が、これから編集を行う加工工程か否かを、瞬時に正しく判断することができ、加工プログラムの目的の箇所を素早く特定することができる。また、加工工程が進むに連れて、ワークの形状は製品形状に近づくため、画面に表示されたワーク形状から、加工プログラムの進捗をユーザは直感的に把握することもできる。【００１２】
技術的思想３：前記表示制御部は、前記プログラムデータ表示領域に表示されたプログラムデータが変更されると、前記形状表示領域に表示する前記除去形状を、前記変更されたプログラムデータに対応した除去形状に変更して表示することを特徴とする技術的思想２に記載の加工プログラム編集支援装置。【００１３】
上記加工プログラム編集支援装置であれば、加工プログラムの作成中や加工プログラムの編集中において、入力されたデータや編集されたデータによる除去形状の変化を、ユーザは確認できる。例えば、誤ったデータが入力された場合であっても、また、誤ったデータに編集された場合であっても、加工プログラムの作成中や加工プログラムの編集中において、ユーザはその誤りに気付くことができる。それゆえに、ユーザが加工プログラムを取り扱う初心者であっても、データの入力やデータの編集に際し、それに躊躇することが抑えられる。【００１６】
技術的思想４：前記加工方法データは、当該加工方法データに対応する前記加工工程の工程名称を示す工程名称データを含み、前記表示制御部は、前記画面に、更に、工程名称データを表示候補とする表示領域を工程一覧表示領域として設け、前記工程名称データの
少なくとも一部を表示対象として前記工程一覧表示領域に表示し、前記プログラムデータ表示領域、前記形状表示領域、および前記工程一覧表示領域のいずれか１つの表示領域に当該表示領域の表示対象が表示されているときに、該いずれか１つの表示領域の特定箇所が前記入力装置を介して指定されると、当該いずれか１つの表示領域の表示対象と前記特定箇所と、により特定される表示候補を、該いずれか１つの表示領域の指定表示対象として、該いずれか１つの表示領域の表示対象に含めて且つ、該いずれか１つの表示領域における他の表示対象とは差別化して表示し、また、残りの２つの表示領域における表示候補のなかで前記いずれか１つの表示領域の指定表示対象に対応する、残りの２つの表示領域の表示候補を、当該残りの２つの表示領域の指定表示対象として、当該残りの２つの表示領域の表示対象に含めて且つ、当該残りの２つの表示領域における他の表示対象とは差別化して表示することを特徴とする技術的思想１に記載の加工プログラム編集支援装置。
【００１７】
上記装置では、工程一覧の表示対象が指定されるときに、その表示対象に対応する定義形状が表示されるため、互いに異なる複数の加工工程における除去形状などの把握が容易である。特に、加工プログラムが長い場合、プログラムデータ表示領域で加工プログラムの全容を概観することが困難であるため、上記構成が有効である。また、画面上に工程一覧表示領域を設けることで、加工工程と、加工プログラムのデータと、加工工程によって加工される形状との対応関係をユーザが迅速に把握することができる。【００１８】
技術的思想５：工作機械の加工プログラムの編集を支援する加工プログラム編集支援装置において、表示装置と、該表示装置の画面上の任意の点を指定する入力装置と、前記画面を、プログラムデータ表示領域および形状表示領域を含む少なくとも２つの表示領域に分割して表示する表示制御部と、を備え、前記加工プログラムは、各加工工程に区切られたデータを含むプログラムデータを有し、該プログラムデータは、各加工工程での加工の方法を定義する加工方法データと、各加工工程での加工に寄与する形状を定義する形状定義データとを含み、前記表示制御部は、前記プログラムデータ表示領域の表示候補を前記プログラムデータとし、該プログラムデータの少なくとも一部を表示対象として前記プログラムデータ表示領域に表示し、前記形状表示領域の表示候補を前記形状定義データから得られる定義形状とし、該定義形状の少なくとも一部を表示対象として前記形状表示領域に表示するものであって、前記形状定義データは、工具の移動経路を定義する座標値データを含む形状指令コードを、実行順に１行ずつ定義されるものであり、前記定義形状は、前記１行ずつ定義された前記形状指令コードの前記座標値データが示す座標点を、前記加工プログラムに従って順次接続する接続線であり、前記表示制御部は、前記形状表示領域に前記表示対象が表示されているときに、前記形状表示領域の特定箇所が前記入力装置を介して指定されると、少なくとも一部が前記特定箇所を中心とした所定領域に含まれる表示対象の前記接続線を、前記形状表示領域の指定表示対象の候補が登録される加工形状テーブルに登録し、該加工形状テーブルの先頭に登録された指定表示対象の候補を、前記形状表示領域の指定表示対象として、前記形状表示領域における他の表示対象の前記接続線を示す線の線種、太さ、色の少なくとも１つを変更した線で表示することにより、前記形状表示領域における指定表示対象を差別化して表示し、また、前記プログラムデータ表示領域の表示候補のなかで前記形状表示領域の指定表示対象に対応する加工工程に区切られたデータの少なくとも一部を、前記プログラムデータ表示領域の指定表示対象として、前記プログラムデータ表示領域に頭出しした状態で表示し、前記表示制御部は、前記特定箇所との距離が所定量以内の箇所が前記入力装置を介して連続して指定される場合、前記加工形状テーブルに登録された順に従って次の前記指定表示対象の候補を前記形状表示領域の指定表示対象として前記形状表示領域に表示することを特徴とする加工プログラム編集支援装置。
【００１９】
上記加工プログラム編集支援装置によれば、指令コードによって工具の移動経路が定義された加工プログラムにおいても、形状表示領域に表示された定義形状とプログラム表示領域に表示されたプログラムデータとを対応付けてユーザに理解させることができる。【００２１】
上記加工プログラム編集支援装置によれば、定義形状が閉じた形状でない場合であっても、加工形状テーブルに登録された順に従って次の指定表示対象の候補が形状表示領域の指定表示対象として表示され、ユーザは、意図した定義形状に関する情報を取得することができる。また、特定箇所の近傍に、開いた形状を有する多数の定義形状が入り乱れているとしても、ユーザは、意図した定義形状に関する情報を取得することができる。【００２２】
技術的思想６：前記形状表示領域に表示された前記除去形状に、該除去形状を定義する座標値の基準となるワーク原点とＸ、Ｙ、Ｚ各軸の方向を示す直交座標系シンボルを合わせて表示することを特徴とする技術的思想１に記載の加工プログラム支援装置。
【００２３】
プログラムデータの除去形状データを記述する座標値の基準となる座標系の位置、あるいは座標軸の方向をユーザが勘違いしたり、座標系の設定データをユーザが間違えて入力したりすると、形状表示領域に表示された除去形状が、ユーザの意図した形状とは異なる形状となる。除去形状だけが表示された場合は、ユーザの意図した形状と表示された形状とが異なることは瞬時に判断できるが、そのような異なる形状となった原因に関しては、示唆されるものがないため、経験の浅いユーザは、根本的な原因を修正することなく座標値データを修正しようとして、真の間違いが修正できなくなることもある。上記装置では、除去形状を定義する座標値の基準となるワーク原点の位置と、Ｘ、Ｙ、Ｚの各軸の方向を表現する矢印と、を明示する直交座標系シンボルが、除去形状に合わせて表示されているため、座標系の位置、あるいは座標軸の方向をユーザが勘違いしたり、座標系の設定データをユーザが間違えて入力したりした場合、そのことにユーザが容易に気づくことができる。【００２４】
技術的思想７：前記形状教示領域に表示された前記除去形状に、該除去形状を定義するプログラムデータの座標値データを合わせて表示することを特徴とする技術的思想６に記載の加工プログラム支援装置。
【００２５】
除去形状を定義する除去形状データの座標値をユーザが誤入力すると、表示される除去形状はユーザの意図した形状とは異なる。上記装置では、表示された除去形状に座標値データが合わせて表示されているため、表示された座標値の中で、どの座標値が間違っていたのかを容易に判断することができる。また、表示された座標値と形状とを比較することで、どの座標値を変更すると形状がどの様に変化するかをユーザは予測することが可能となり、ユーザが間違ったデータを修正したり、加工における無駄を排除するために数値を調整したりすることが容易である。
【図面の簡単な説明】
【００２６】
【図１】第１の実施形態にかかるシステム構成図。
【図２】同実施形態にかかる加工プログラムの構成ファイルを示す図。
【図３】同実施形態にかかる加工ユニットの種類を示す図。
【図４】同実施形態にかかる製品形状を示す斜視図。
【図５】同実施形態にかかる加工プログラムを例示する図。
【図６】同実施形態にかかる編集支援画像を例示する平面図。
【図７】同実施形態にかかる初期表示処理の手順を示す流れ図。
【図８】同実施形態にかかる一工程における加工ユニットを例示する図。
【図９】上記加工ユニットによって定まる加工形状を示す斜視図。
【図１０】同実施形態にかかる一工程における加工ユニットを例示する図。
【図１１】上記加工ユニットによって定まる加工形状を示す斜視図。
【図１２】同実施形態の形状表示領域がタップされた際の処理の手順を示す流れ図。
【図１３】（ａ）および（ｂ）は、同実施形態の形状表示領域がタップされた際の処理を例示する図。
【図１４】（ａ）および（ｂ）は、同実施形態の形状表示領域がタップされた際の処理を例示する図。
【図１５】同実施形態の工程一覧表示領域がタップされた際の処理の手順を示す流れ図。
【図１６】同実施形態のプログラムデータ表示領域がタップされた際の処理の手順を示す流れ図。
【図１７】同実施形態のプログラムデータ表示領域のデータが更新された際の処理の手順を示す流れ図。
【図１８】（ａ）および（ｂ）は、同実施形態のプログラムデータ表示領域のデータが更新された際の画像を例示する図。
【図１９】第２の実施形態にかかる加工プログラムを例示する図。
【図２０】同実施形態にかかる編集支援画像を例示する平面図。
【図２１】同実施形態にかかる初期表示処理の手順を示す流れ図。
【図２２】同実施形態にかかる工程情報テーブルを示す図。
【図２３】同実施形態における座標値テーブルを示す図。
【図２４】同実施形態の工程一覧表示領域がタップされた際の処理の手順を示す流れ図。
【図２５】（ａ）および（ｂ）は、同実施形態の工程一覧表示領域がタップされた際の処理を示す図。
【図２６】（ａ）および（ｂ）は、同実施形態の工程一覧表示領域がタップされた際の処理を示す図。
【図２７】同実施形態の形状表示領域がタップされた際の処理の手順を示す流れ図。
【図２８】同実施形態のプログラムデータ表示領域がタップされた際の処理の手順を示す流れ図。
【発明を実施するための形態】
【００２７】
＜第１の実施形態＞
以下、加工プログラム編集支援装置の第１の実施形態について、図面を参照しつつ説明する。
【００２８】
図１に、本実施形態のシステム構成図を示す。
ワーク１０は、加工対象である。複合加工機２０は、ワーク１０を回転させながら工具によってワーク１０を加工する機能と、ワーク１０を固定し、工具を変位させることでワーク１０を加工する機能とを備える。換言すると、複合加工機２０は、旋盤、フライス盤、ドリル盤等の機能を併せ持つ工作機械である。
【００２９】
数値制御装置３０は、複合加工機２０がワーク１０を加工するための指令信号を複合加工機２０に送信する。数値制御装置３０は、中央処理装置（ＣＰＵ）３２、表示装置３４、タッチパネル３６、ボタン３７，およびメモリ３８を備えている。表示装置３４は、たとえば液晶表示パネルや有機ＥＬ表示パネル等を備え、画面に文字列やグラフィック画像を表示する。タッチパネル３６は、表示装置３４の画面に重ねて配置されている。タッチパネル３６は、指や指示棒等の指示部材が接触するか、所定以上近接する点を指定点として検知する機能を有した入力装置である。ボタン３７は、タッチパネル３６とは別に、ユーザが数値制御装置３０に対して特定の指示をする際に用いる専用の入力装置である。
【００３０】
メモリ３８は、数値制御装置３０に予め搭載されているプログラム等のデータを記憶するとともに、ＣＰＵ３２が処理を行う際に一時的にデータを記憶する機能を有する。特に、メモリ３８には、加工プログラム４０や、編集支援プログラム４２が記憶されている。
【００３１】
図２に、本実施形態にかかる加工プログラム４０を構成するユニットの例を示す。ユニットとは、ここでは加工や工作機械の周辺装置の動作、あるいはワークの設置場所等を定義するためのデータであって、加工プログラムが有するプログラムデータの一例である。
【００３２】
本実施形態にかかる加工プログラム４０は、大きくは、共通ユニット５０、座標系・ワーク姿勢設定ユニット５２、加工ユニット５４、およびエンドユニット５６によって構成されている。ここで、共通ユニット５０は、加工プログラム４０の先頭に必ず設定するユニットであり、プログラム全体に共通するデータ、例えば素材材質や素材形状等を設定するものであり、素材の形状を定義するデータである素材形状データを含む。座標系・ワーク姿勢設定ユニット５２は、機械座標系における加工プログラム原点の座標値（基本座標）や加工時のワークの姿勢等を設定するものである。加工ユニット５４は、加工工程の内容を設定するものであり、加工方法を宣言し、使用する工具の指定や、加工時の取り代や、主軸の回転数や、工具の送り速度などの切削条件等のデータである各加工工程での加工方法データを含む。また、加工ユニット５４は、各加工工程によって加工する加工形状、詳しくは、各加工工程を実行することによって除去される形状である除去形状を加工工程単位に定義するデータである除去形状データを含む。
【００３３】
なお、加工におけるワークの形状を定義する形状定義データは、上記素材形状データと上記除去形状データとを含む。加工プログラムを実行する前のワーク形状は、素材形状データによって定義される。各加工工程が行われた後のワーク形状は、加工工程が行われる前のワーク形状と、加工工程の除去形状との差集合演算によって求められる。形状定義データから得られる形状である定義形状は、加工に寄与する形状であり、これら素材の形状、除去形状、各加工工程後の形状であるワーク形状、全ての加工が完了した後のワーク形状である製品形状を含む。また、加工工程単位とは、加工方法データと加工の形状を定義するデータとを１つずつ含む範囲を１つとして加工プログラム編集支援装置で取り扱われる単位である。
【００３４】
エンドユニット５６は、加工プログラム４０の最後に設定する、加工プログラムの終了を示すユニットである。
図３に、加工ユニット５４の種類を示す。
【００３５】
加工ユニット５４で定義される加工方法は、「点加工ユニット」、「Ｃ軸点加工ユニット」、「線加工ユニット」、「Ｃ軸線加工ユニット」、「面加工ユニット」、および「旋削加工ユニット」に分類され、それらは更に細分化されている。すなわち、たとえば、「点加工ユニット」は、「ドリル」ユニットや「タップ」ユニット等に細分化されている。なお、これら各ユニットに含まれるデータのうちユニットの名称やユニットの番号を示すデータは、加工工程の工程名称を示す工程名称データの一例である。
【００３６】
図４に、本実施形態の説明に利用するワーク１０に対し全ての加工が完了した後のワーク形状である製品形状６０を示す。製品形状６０は、第１円柱部６２、第１円柱部６２よりも外径が大きい第２円柱部６４、第２円柱部６４よりも外形が大きい第３円柱部６６、第３円柱部６６から外径を縮めるように形成されたテーパ部６８、およびテーパ部６８につながる第４円柱部７０を備えている。そして、第３円柱部６６には、一部がフラットな面とされたフェイスミル面７４が形成され、フェイスミル面７４には、ドリル穴７６が形成されている。また、第４円柱部７０には、凹部７８が形成されている。
【００３７】
図５は、ワーク１０を製品形状６０に加工するための加工プログラム４０である。加工プログラム４０は、複数のユニットから構成され、各ユニットは、加工方法データを構成するユニットデータを備えている。なお、加工ユニット５４は、さらに、加工方法データを構成する工具シーケンスデータ（ＳＮｏ）、および、除去形状データの一例である形状シーケンスデータ（ＦＩＧ）を備えている点で、他のユニットとは相違している。
【００３８】
ここで、ユニット番号「Ｕｎｏ」が「０」となるユニット、すなわち加工プログラム４０の先頭データは、上記共通ユニット５０となっている。またユニット番号が「１」、「２」、「３」、「５」、「７」、「８」、「１１」については、座標系・ワーク姿勢設定ユニット５２である。「ＦＲＭ」ユニット、「ＦＲＭシフト」ユニットは、加工原点の設定である。「ヘッド選択」ユニットはワーク主軸が複数ある機械においてどのワーク主軸に関する加工であるかを宣言するユニットである。単一ワーク主軸の機械では、このユニットは存在しない。「インデックス」ユニットは機械を構成する回転軸の姿勢を設定するユニットである。この場合、「棒材」ユニットの前の「インデックス」ユニットでは、工具主軸のＢ軸角度を設定することで旋削加工時の工具主軸の姿勢を指令することができる。また、「フェイスミル」ユニット、「ドリル」ユニットの前の「インデックス」ユニットでは、ワーク主軸のＣ軸角度を設定することで、ワークのどの面に加工を行うかを指令したり、工具主軸のＢ軸角度を設定することで、斜めの面に加工を行うように指令したりすることができる。ユニット番号が「４」である「棒材」ユニットは、加工ユニット５４の「旋削加工ユニット」に分類されたうちの１つである。「旋削加工ユニット」はワークを回転させながら工具によって加工する加工法であり、「棒材」ユニットは棒状のワークを旋削加工する加工法である。なお、加工プログラム４０は、ワーク１０の加工のために複合加工機２０や数値制御装置３０が行う処理（加工処理）を、その加工工程の順に記述したものであるが、必ずしも記載された工程順に加工を行うわけではなく、設定によっては、例えば仕上げ加工のみ最後に行うようにすることもできる。
【００３９】
上記編集支援プログラム４２は、加工プログラム４０の作成および編集を支援するプログラムである。
図６に、ＣＰＵ３２が編集支援プログラム４２を実行することで、表示装置３４の画面３５に表示される編集支援画像を例示する。
【００４０】
編集支援画像が表示される画面３５は、図６の上側の縁部を除けば、工程一覧表示領域３５ａ、形状表示領域３５ｂ、およびプログラムデータ表示領域３５ｃに分割されている。工程一覧表示領域３５ａは、加工工程として、工程名称の一例である加工プログラム４０の各ユニットの名称と、ユニットの番号を表示候補とする表示領域である。そして、表示候補のうちの少なくとも一部（図では、ユニット番号が「０」〜「１１」まで）が、表示対象として工程一覧表示領域３５ａに表示される。
【００４１】
形状表示領域３５ｂは、加工プログラム４０で定義される形状（３Ｄモデル）を表示候補とする表示領域である。なお、実際に形状表示領域３５ｂに形状が表示されるときには、３Ｄのモデルを２次元図形に変換した画像が形状として表示される。更に詳しく言えば、加工プログラム４０の各加工工程で定義される除去形状と、加工プログラム４０を実行することによって変遷するワークの形状であって、素材形状から始まり、加工工程を経るに従い除去形状が除去されて変形し、最終的に製品形状６０となる、各段階におけるワーク形状、つまり、各加工工程の前後で異なるワーク形状と、が、形状表示領域３５ｂの表示候補である。
【００４２】
プログラムデータ表示領域３５ｃは、加工プログラム４０の内容を記述するデータ（詳細データ）を表示候補とする表示領域である。詳細データは、加工プログラム４０によって記述される加工工程の内容を記述するデータであり、加工ユニット５４の工具シーケンスデータや形状シーケンスデータ等を含む。そして、加工プログラム４０を構成する詳細データのうちの少なくとも一部（図では、ユニット番号が「０」〜「３」のデータと、「４」のデータの一部）が表示対象としてプログラムデータ表示領域３５ｃに表示される。
【００４３】
なお、図６において、工程一覧表示領域３５ａの図中右端部のスクロール機能によって、よりユニット番号が大きいユニットも表示可能である。また、形状表示領域３５ｂにおいて、ピンチアウト操作によって、製品形状モデル６０Ｍを拡大して表示したり、ピンチイン操作によって、製品形状モデル６０Ｍを縮小して表示したり、あるいは、モデルを平行移動したり、回転したりすることが可能である。また、図６において、プログラムデータ表示領域３５ｃの右端のスクロール機能によって、より後の加工工程を記述する加工プログラム４０のデータも表示可能である。
【００４４】
図７に、図６に示した編集支援画像の表示処理の手順を示す。図７に示す処理は、編集支援プログラム４２がＣＰＵ３２によって実行されることで実現される。図７に示す処理は、表示制御部による制御を構成する。
【００４５】
図７に示す一連の処理において、ＣＰＵ３２は、まず、指定された加工プログラムがメモリ３８に存在するか否かを判断する（Ｓ１０）。ＣＰＵ３２は、指定された加工プログラムがメモリ３８に存在しないと判断する場合（Ｓ１０：ＮＯ）、この一連の処理を一旦終了する。これに対し、ＣＰＵ３２は、指定された加工プログラムが存在すると判断する場合（Ｓ１０：ＹＥＳ）、加工プログラム４０を読み込み、表示装置３４を操作して、加工プログラム４０のデータ（詳細データ）の先頭からプログラムデータ表示領域３５ｃに表示可能なだけのデータを表示対象とし、その文字列の画像をプログラムデータ表示領域３５ｃに表示する（Ｓ１２）。
【００４６】
次に、ＣＰＵ３２は、加工プログラム４０から工程一覧表示領域３５ａに表示するデータを取得する（Ｓ１４）。詳しくは、ＣＰＵ３２は、加工プログラム４０を構成する各ユニットの番号とユニットの名称とをセットで取得する。続いてＣＰＵ３２は、表示装置３４を操作して、取得したセットを表示候補とし、取得したセットの先頭から工程一覧表示領域３５ａに表示可能なだけのセットを表示対象として、その文字列の画像を工程一覧表示領域３５ａに表示する（Ｓ１６）。
【００４７】
次に、ＣＰＵ３２は、加工プログラム４０からワーク１０の素材形状データを取得し、３Ｄモデル化する（Ｓ１８）。次に、ＣＰＵ３２は、加工プログラム４０のデータに基づいて加工ユニット毎の加工形状を取得する（Ｓ２０）。加工ユニット毎の加工形状は、加工ユニットで加工され、それによって、除去される部位の形状を定義するデータであり、定義形状に含まれ、以後除去形状と称する場合がある。ＣＰＵ３２は、加工ユニットのデータに基づいて除去形状を計算することができ、これも３Ｄモデル化する。次に、ＣＰＵ３２は、ステップＳ１８において取得した素材形状モデルと、ステップＳ２０において取得した加工ユニット毎の除去形状である加工形状モデルとを用いて、製品形状モデル６０Ｍを作成する（Ｓ２４）。換言すれば、ＣＰＵ３２は、加工ユニット実行前のワーク形状を示すワークモデルから、加工ユニットの加工形状モデルの差集合演算によって、ワーク形状の一例である加工後のワークモデルを作成する処理を、加工プログラムに従って加工プログラムの最初から最後まで実行して、製品形状モデル６０Ｍを生成する。以下に、製品形状モデル６０Ｍの生成処理について詳細に説明する。
【００４８】
図８は、図５に示した加工プログラム４０のうちユニット番号が「４」である「棒材」ユニットのプログラムデータを例示している。「棒材」ユニットは、図３に示したように、「旋削加工ユニット」のうちの１つである。本実施形態では、ユニット番号が「４」の「棒材」ユニットは、同ユニットを規定する情報の１つである「加工部」の指定が「外径」となっており、図４に示した製品形状６０の外周を形成する加工工程のうち旋削加工によって形成する工程部分に対応する。
【００４９】
図８に示されるように、加工ユニット５４は、工具およびその工具の切削条件を設定する工具シーケンスデータ（ＳＮｏ）と、このユニットで加工される加工形状を規定する形状シーケンスデータ（ＦＩＧ）とを有する。工具シーケンスデータ（ＳＮｏ）の行数はこのユニットで使用する工具の本数であり、先頭の「Ｒ」、「Ｆ」は、荒加工用、仕上げ加工用の工具であることを示し、「Ｒ」、「Ｆ」の次に記載されている数字が、使用される順を示す。形状シーケンスデータ（ＦＩＧ）は、特に行数の制限はない。
【００５０】
形状シーケンスデータ（ＦＩＧ）内の各行で設定される点は、図４に例示した座標系におけるＸ軸、Ｙ軸、およびＺ軸の座標値によって規定されている。座標系は、図５に示した加工プログラム４０のユニット番号が「１」で定義されている。「旋削加工ユニット」の形状シーケンスデータ（ＦＩＧ）は、回転体の断面形状をＸＺ平面で定義したものであり、この形状シーケンスデータ（ＦＩＧ）を用いてこの加工ユニットで加工によって除去すべき形状（除去形状）を特定することができる。図８に示した例では、形状シーケンスデータ（ＦＩＧ）が、５行のシーケンスデータとなっており、「１」行目の「線」は、図４の第１円柱部６２の形状に対応し、「２」行目の「線」は、第２円柱部６４に対応し、以下のデータも、第３円柱部６６、テーパ部６８、第４円柱部７０にそれぞれ対応する。以上のように規定したＸＺ平面における断面形状を回転させることにより、加工して得られる棒材モデルを得ることができる。そして、ユニット番号「４」の加工前のワークモデルである素材形状モデルから棒材モデルを差集合演算して、定義形状である除去形状の一例である、図９に示す「棒材」ユニットの加工形状モデル６２Ｍを得ることができる。図９や図１３（ｂ）、図１４（ａ）に示されるように、形状表示領域３５ｂに表示される加工形状モデル６２Ｍには、「棒材」ユニットの加工形状を定義する座標値の基準となる座標系の、原点の位置と、Ｘ、Ｙ、Ｚ各軸の「＋」の方向を示す矢印と、を表現した直交座標系のシンボルが合わせて表示される。加工プログラムの作成に習熟していないユーザが、間違った座標系を基準として座標値を入力した場合であっても、ユーザの意図した形状とは異なる形状とともに、直交座標系のシンボルも表示されるため、入力された座標値が座標系の勘違いにより正しい値ではなかったことにユーザは瞬時に気付くことができる。
【００５１】
図１０は、図５に示した加工プログラム４０のうちユニット番号が「９」である「フェイスミル」ユニットのプログラムデータを例示している。「フェイスミル」ユニットは、図３に示したように、「面加工ユニット」のうちの１つである。本実施形態では、「フェイスミル」ユニットの加工によって、図４に示したフェイスミル面７４を形成する。
【００５２】
図１０に示す形状シーケンスデータ（ＦＩＧ）は、４行からなり、それらによって、「フェイスミル」ユニットのＸＹ平面における加工範囲を規定し、ユニットデータを規定する情報である「深さ」および「取代−Ｚ」で、加工面の高さ位置（Ｚ軸原点から「深さ」データの位置が加工面の高さ位置）および厚み（加工面から「取代−Ｚ」の厚み）を規定している。以上の加工範囲、加工面の高さ位置および厚みのデータを用いて、定義形状である除去形状の一例である、図１１に示す編みかけ部分の「フェイスミル」ユニットの加工形状モデル７４Ｍを生成することができる。図１１および図１４（ａ）に示されるように、形状表示領域３５ｂに表示される加工形状モデル７４Ｍには、形状シーケンスデータ（ＦＩＧ）で規定された座標値データ（各コーナのＸＹ座標値（５０、４０）、（０、４０）、（０、−４０）、（５０、−４０））が、ユニット番号「８」の「ＦＲＭシフト」で定義された座標系の、原点位置と、Ｘ、Ｙ、Ｚ各軸の「＋」方向を示す矢印と、を表現する直交座標系シンボルとともに表示されている。このため、設定されている座標系をユーザが勘違いしたり、プログラムデータで定義された座標系の設定が間違っていたりした場合、ユーザの意図した形状とは異なる加工形状モデルが表示されるが、加工形状モデルと合わせて表示されている直交座標系シンボルにより、ユーザはその間違いに容易に気づくことができる。また、座標値データをユーザが誤入力した場合も、加工形状モデルが規定された座標点の近傍に座標値データが表示されているため、ユーザが注目する加工形状モデルの一部と、その周りに表示されている他の部分との間において、大きさと座標値データとを比較することにより、ユーザは容易に誤入力に気付くことができる。また、後述するように、加工形状モデルを規定する座標値データとは異なるラフな数値を入力することが許されてはいるが、実際の形状を示す数値とは大幅に異なる数値が入力されると、ワークの存在しない箇所で加工動作が行われるような非効率な加工となる。これに対し、座標値データの数字と加工形状モデルとを比較しながら座標値データをユーザが変更することで、より効率的な加工となるように加工プログラムを改善することが、上記装置の操作に習熟していないユーザであっても容易である。
【００５３】
図１０には、形状シーケンスデータ（ＦＩＧ）に規定された座標値が、実際のフェイスミル面７４の境界の座標値と一致しない例を示している。これは、加工プログラム４０の作成を簡易に行ったためのものである。すなわち、フェイスミル面７４の境界座標として正確な値を入力することは、ユーザに複雑な計算を要求することになる。しかし、たとえば第３円柱部６６の外周に図１１に示すＺ軸に直交する平面を形成することが目的であるなら、そもそも境界座標は必要ではない。フェイスミル面７４は、Ｚ軸上の座標値が定まれば一義的に定まる。このため、加工プログラム４０の作成時には、Ｘ軸およびＹ軸の各成分の値として、実際のフェイスミル面７４から外れた外側にくると想定される値をラフに入力することで入力を簡便化することができる。このような入力がなされ、図１１に示されるような実際の加工面より広い加工形状を設定したとしても、加工後の製品形状を特定することができる。すなわち、定義形状の一例である素材形状モデルから、これもまた定義形状の一例である図９に示した「棒材」ユニットの加工形状モデル６２Ｍを差集合演算し、更に、これもまた定義形状の一例である図１１に示した「フェイスミル」ユニットの加工形状モデル７４Ｍを差集合演算処理することで、ワークモデルにフェイスミル面７４が創成される。
【００５４】
こうした手法を加工プログラム４０の先頭からエンドユニットまで適用することで、図４に示した製品形状モデル６０Ｍが得られる。
図７に戻り、ＣＰＵ３２は、形状表示領域３５ｂに、得られたワークモデルを表示する（Ｓ２６）。指定された加工プログラムの初期表示時は、表示された加工プログラムの全てのプログラムデータに対して上記手法を適用した結果のワークモデルが形状表示領域３５ｂに表示され、完成した加工プログラムの場合は、製品形状モデル６０Ｍが表示される。なお、前述の処理は全て３Ｄモデルに基づいて行っており、形状表示領域３５ｂに表示するために、上記３Ｄモデルを設定された視点に基づいて２次元図形に変換する。すなわち３Ｄモデルを表示用平面に投影する。その２次元図形を形状表示領域３５ｂに表示する。そして、ＣＰＵ３２は、図７に示した一連の処理を一旦終了する。
【００５５】
以上により、ＣＰＵ３２は、図６に示した編集支援画像を画面３５に表示する。
ＣＰＵ３２は、上記編集支援プログラム４２を実行することで、図６に例示する編集支援画像を用いて、ユーザが加工プログラム４０を編集する支援を行う機能を実現する。すなわち、上述したように、画面３５にはタッチパネル３６が重ねて配置されている。このため、ユーザが画面３５に表示された編集支援画像に基づき、タッチパネル３６のうち画面３５内の特定箇所の直上部分をタップする場合、ＣＰＵ３２は、タッチパネル３６の出力信号に基づき、ユーザが編集支援画像のどの部分を指定したかを特定することができる。そして、ＣＰＵ３２は、工程一覧表示領域３５ａ、形状表示領域３５ｂ、およびプログラムデータ表示領域３５ｃのいずれか１つの表示領域におけるいずれか１つの表示対象が指定されることで、それ以外の表示領域の表示対象を上記指定された表示対象に対応するように変更する。すなわち、工程一覧表示領域３５ａ、形状表示領域３５ｂ、およびプログラムデータ表示領域３５ｃのいずれか１つの表示領域が対象表示領域であり、ＣＰＵ３２は、対象表示領域におけるいずれか１つの表示対象が指定されることで、対象表示領域以外の表示領域の表示対象を、上記指定された表示候補との間で加工工程が一致するように変更する。なお、以下では、タッチパネル３６のうち編集支援画像の特定箇所の直上に位置する部分がタップされたことを、編集支援画像の特定箇所がタップされたと称することもある。
【００５６】
図１２に、形状表示領域３５ｂの特定箇所が指定される場合の処理を示す。図１２に示す処理は、編集支援プログラム４２がＣＰＵ３２によって実行されることで実現される。図１２に示す処理は、表示制御部の制御を構成する。
【００５７】
ＣＰＵ３２は、形状表示領域３５ｂに表示対象が表示された状態で形状表示領域３５ｂの特定箇所がタップされると、タッチパネル３６の出力値からタップされた点（指定点）の画面３５上の座標値を取得する（Ｓ３０）。そして、ＣＰＵ３２は、取得した座標値が前回取得した指定点の座標値と同一であるか否かを判断する（Ｓ３２）。なお、この判断においては、前回取得した指定点から所定の半径を有する領域を定義しておき、今回取得した座標値がその領域内に入る場合には、同一であると判断してもよい。
【００５８】
そして、ＣＰＵ３２は、同一ではないと判断する場合（Ｓ３２：ＮＯ）、形状表示領域３５ｂに表示されている表示対象と上記指定点とに基づき、これらから特定される表示候補を、形状表示領域３５ｂの表示候補のうちユーザが指定した表示候補として抽出し、加工形状テーブルを作成する（Ｓ３４）。具体的には、ＣＰＵ３２は、形状表示領域３５ｂに表示されている製品形状モデル６０Ｍにおいて、明示的には表示されていないが、各加工ユニットの加工形状モデル（除去形状）も、製品形状モデル６０Ｍと同一条件で２次元形状に変換して保持する。先に説明したように、加工ユニットの加工前のワークモデル（ワーク形状）と加工ユニットの加工形状モデル（除去形状）との差集合演算により加工後のワークモデル（ワーク形状）が生成されるので、製品形状モデル６０Ｍにおける各加工ユニットによる加工箇所には、当該加工箇所に対応する加工ユニットの加工形状モデル（除去形状）が必ず存在する。そして、ＣＰＵ３２は、指定点の座標値が、２次元化された各加工形状モデルの領域に含まれるか否かを判断して、指定点の座標値が含まれる加工形状モデルの加工ユニットを抽出し、加工形状テーブルを作成する。図１２には、加工形状テーブルとして、ユニット番号が「４」および「９」の２つのユニットが抽出されるものを例示している。なお、ここで、抽出された加工ユニットは、その除去形状を形状表示領域３５ｂに表示した場合に、特定箇所（指定点）がその除去形状の内側に含まれる加工ユニットである。
【００５９】
図１３（ａ）に、形状表示領域３５ｂに表示されている製品形状モデル６０Ｍのフェイスミル面７４がタップされる場合を示している。ここで、ＣＰＵ３２は、フェイスミル面７４を加工する加工ユニットのみならず、形状表示領域３５ｂの２次元画像上で上記指定点が除去形状に含まれる加工ユニットを抽出し、抽出された加工ユニットを加工プログラム４０のプログラム順に並べて加工形状テーブルを作成する。ここでは、図１３（ａ）から明らかなように、上記指定点は、フェイスミル面７４および「棒材」ユニットで定義された第３円柱部６６近傍の「棒材」ユニットの加工形状に含まれるため、これらのユニットを抽出して加工順に並べることで、ユニット番号「４」および「９」の加工形状テーブルが作成される。
【００６０】
図１２に戻り、ＣＰＵ３２は、表示装置３４を操作し、加工形状テーブルによって指定される加工ユニット５４の加工形状モデルの中から加工形状テーブルの順番が最先のものを、すなわち、加工形状テーブルの先頭に登録されたものを、指定表示対象としてハイライト表示する（Ｓ３６）。
【００６１】
図１３（ｂ）に、形状表示領域３５ｂに表示されたフェイスミル面７４部分のタッチパネル３６がタップされた結果を例示する。ＣＰＵ３２は加工形状テーブルからユニット番号「４」を取得し、図１３（ｂ）に示すように、形状表示領域３５ｂにユニット番号「４」の加工前のワークモデルに重ねて「棒材」ユニットの加工形状モデル６２Ｍを表示する。本実施形態では、加工形状モデル６２Ｍの色を変えつつ輝度を高くすることでハイライト表示を行うが、図では、これを網掛けで表現している。ここで、ハイライト表示は、形状表示領域３５ｂに表示された他の表示対象であるワークモデルに対して加工形状モデル６２Ｍを差別化して目立たせるものである。なおこの場合、ユニット番号「４」の前に加工ユニットが存在していないため、この時点におけるワークモデルは素材形状モデルと同一であり、「棒材」ユニットの加工形状モデルの生成手法の説明において既に述べたように、素材形状モデルは「棒材」ユニットの加工形状モデル６２Ｍの一部として表現されている。
【００６２】
図１２に戻り、ＣＰＵ３２は、表示装置３４を操作し、工程一覧表示領域３５ａに表示されている表示対象のうちの指定表示対象であるハイライト表示部分を、形状表示領域３５ｂのハイライト表示部分に対応したものに更新する（Ｓ３８）。すなわち、図１３（ａ）に示すように、ユニット番号が「０」の「共通」を指定表示対象としてこれがハイライト表示された状態から、図１３（ｂ）に示すように、ユニット番号が「４」の「棒材」を指定表示対象としてこれがハイライト表示された状態に変更する。なお、本実施形態では、加工工程（ユニット名称）の色を変えつつ輝度を高くすることでハイライト表示を行うが、図では、これを網掛けで表現している。
【００６３】
図１２に戻り、ＣＰＵ３２は、表示装置３４を操作し、プログラムデータ表示領域３５ｃにおいて、ユニット番号が「４」の「棒材」ユニットのプログラムを指定表示対象とし、これを頭出しするとともに、その部分にカーソルＫを移動させる（Ｓ４０）。すなわち、図１３（ａ）に示すように、ユニット番号が「０」のプログラムのデータが指定表示対象として頭出しされていた状態から、図１３（ｂ）に示すように、ユニット番号が「４」のプログラムのデータが指定表示対象として頭出しされた状態に変更される。頭出し処理は、プログラムデータ表示領域３５ｃの表示候補のうち指定表示対象を差別化して表示するためのものである。
【００６４】
なお、図１３（ｂ）には、ユニット番号が「４」であることを示す部分の右側に表示された文字「棒材」にカーソルＫが移動している例を示している。カーソルＫの位置にあるデータは、変更が可能であることを示す。ただし、このカーソルＫは、指定表示対象をそれ以外の表示候補に対して差別化して目立たせることをも狙っている。
【００６５】
図１２に戻り、ＣＰＵ３２は、ステップＳ３２において前回と同じ座標であると判断する場合（Ｓ３２：ＹＥＳ）、加工形状テーブルの次のユニット番号の加工ユニット５４を、指定表示対象として、これをハイライト表示する（Ｓ４２）。
【００６６】
図１４（ａ）は、形状表示領域３５ｂにユニット番号「４」の「棒材」ユニットが指定表示対象とされてこれがハイライト表示されているときに、もう一度フェイスミル面７４が表示されていた箇所がタップされる場合を示す。ＣＰＵ３２は、タップされた座標が前回と同じと判断して、加工形状テーブルから前回のハイライト対象としたユニット番号「４」の次に位置するユニット番号「９」を取得し、図１４（ｂ）に示すように形状表示領域３５ｂのユニット番号「９」の加工前のワークモデルにおいて、「フェイスミル」ユニットによる加工形状を指定表示対象としてこれをハイライト表示する。そして、ＣＰＵ３２は、図１２のステップＳ３８，Ｓ４０を実行することで、工程一覧表示領域３５ａの表示およびプログラムデータ表示領域３５ｃの表示を更新する。図１４（ｂ）には、工程一覧表示領域３５ａにおいて、ユニット番号が「９」の「フェイスミル」が指定表示対象とされ、これがハイライト表示されるとともに、プログラムデータ表示領域３５ｃにおいて、ユニット番号が「９」の「フェイスミル」の詳細データが指定表示対象とされ、これが頭出しされた状態を示している。なお、ユニット番号「９」の「フェイスミル」ユニットが指定表示対象とされ、ハイライト表示されているときに、更にフェイスミル面７４がタップされた場合、加工形状テーブルのユニット番号「９」の次にユニット番号が登録されていなければ、加工形状テーブルの先頭のユニット番号が採用され、再度ユニット番号「４」の「棒材」ユニットが指定表示対象とされ、ハイライト表示される。すなわち、加工形状テーブルに登録された順に従って、循環的に次の指定表示対象の候補を指定表示対象とする。
【００６７】
図１２に戻り、ＣＰＵ３２は、ステップＳ４０の処理を完了する場合、この一連の処理を一旦終了する。
図１２に示す処理によれば、形状表示領域３５ｂに表示されている加工形状に気になる部分があると感じたユーザは、その部分をタップすることで、その加工形状を加工する加工工程が一連の加工工程全体のどこに該当するかを工程一覧表示領域３５ａのハイライトによって迅速に把握することができる。また、プログラムデータ表示領域３５ｃにおいて頭出しされた加工プログラム４０の詳細データによって、詳細データの内容を迅速に把握することができる。
【００６８】
図１５に、工程一覧表示領域３５ａの特定箇所が指定される場合の処理を示す。図１５に示す処理は、編集支援プログラム４２がＣＰＵ３２によって実行されることで実現される。図１５に示した処理は、表示制御部の制御を構成する。
【００６９】
工程一覧表示領域３５ａに表示されたユニットの番号またはユニットの名称の文字列の１つがタップされると、ＣＰＵ３２は、タッチパネル３６の出力値に基づき、タップされた特定箇所を含む領域に表示された画像が示すユニット番号を指定されたユニット番号として取得する（Ｓ５０）。次に、ＣＰＵ３２は、取得したユニット番号が、現在選択中のユニット番号であるか否かを判断する（Ｓ５２）。そしてＣＰＵ３２は、現在選択中のユニット番号ではないと判断する場合（Ｓ５２：ＮＯ）、表示装置３４を操作し、工程一覧表示領域３５ａに表示されるユニットのうちハイライトする対象を選択されたユニット番号のユニットに変更する（Ｓ５４）。換言すれば、指定表示対象を更新する。続いて、ＣＰＵ３２は、表示装置３４を操作し、プログラムデータ表示領域３５ｃにおいて、ステップＳ５０において取得したユニット番号に対応する加工プログラム４０の詳細データを頭出しし、また、頭出しした詳細データ中のデータにカーソルを移動させる（Ｓ５６）。そしてＣＰＵ３２は、表示装置３４を操作し、指定されたユニット番号に対応する加工工程によって加工される除去形状を指定表示対象としてハイライト表示する（Ｓ５８）。ここで、ステップＳ５８の処理以前に、形状表示領域３５ｂにおいて別の部分が指定表示対象としてハイライト表示されていた場合、形状表示領域３５ｂの全ての表示対象を一旦消去した後に、新たに設定された指定表示対象をワークモデルに対してハイライト表示する。これにより、たとえば、形状表示領域３５ｂの表示が図１４（ａ）に例示した状態であるとき、工程一覧表示領域３５ａのユニット番号が「９」のフェイスミルの文字列がタップされると、図１４（ｂ）に示すように、形状表示領域３５ｂの表示が更新される。ちなみに、ステップＳ５０でタップされたユニット番号が加工ユニット５４のデータを指定するものではない場合、加工形状のハイライトは行わない。
【００７０】
ＣＰＵ３２は、上記ステップＳ５２において肯定判断する場合や、ステップＳ５８の処理が完了する場合には、この一連の処理を一旦終了する。
図１５の処理によれば、工程一覧表示領域３５ａに表示された工程の一覧に基づき、特定の加工工程が気になったユーザが、その加工工程を表現する画像が表示されている領域をタップすることで、形状表示領域３５ｂのハイライト表示によって、その加工工程による加工形状を迅速に把握することができる。また、プログラムデータ表示領域３５ｃにおいて頭出しされた加工プログラム４０のデータによって、加工工程を記述するデータの内容を迅速に把握することができる。
【００７１】
図１６に、プログラムデータ表示領域３５ｃの特定箇所が指定される場合の処理を示す。図１６に示す処理は、編集支援プログラム４２がＣＰＵ３２によって実行されることで実現される。なお、図１６に示す処理は、表示制御部の制御を構成する。
【００７２】
プログラムデータ表示領域３５ｃの特定箇所がタップされると、ＣＰＵ３２は、タッチパネル３６の出力値に基づき、表示装置３４を操作し、特定箇所を含む領域に表示されているデータがユーザにより指定されたとして、同データにカーソルＫを移動する（Ｓ６０）。次に、ＣＰＵ３２は、カーソルＫの移動先に対応するユニット番号を取得する（Ｓ６２）。そして、ＣＰＵ３２は、取得されたユニット番号が、現在選択されているユニット番号であるか否かを判断する（Ｓ６４）。換言すれば、指定表示対象として表示されているユニット番号であるか否かを判断する。そして、ＣＰＵ３２は、現在選択されているユニット番号ではないと判断する場合（Ｓ６４：ＮＯ）、表示装置３４を操作し、工程一覧表示領域３５ａにおけるハイライト対象を更新する（Ｓ６６）。また、ＣＰＵ３２は、表示装置３４を操作し、形状表示領域３５ｂにおけるハイライト対象を更新する（Ｓ６８）。ここで、ＣＰＵ３２は、ユニット番号によって指定されたデータが加工ユニット５４である場合、ハイライト対象を変更する。これにより、たとえば、形状表示領域３５ｂの表示が図１４（ａ）に例示した状態であるとき、プログラムデータ表示領域３５ｃがスクロールされ、ユニット番号が「９」のフェイスミルのデータの文字列が表示された状態で、その文字列がタップされると、図１４（ｂ）に示すように、形状表示領域３５ｂの表示が更新される。一方、ＣＰＵ３２は、ユニット番号によって指定されたデータが加工ユニット５４ではない場合、ハイライト表示を行わない。
【００７３】
なお、ＣＰＵ３２は、上記ステップＳ６４において肯定判断する場合や、ステップＳ６８の処理が完了する場合には、図１６に示す一連の処理を一旦終了する。
図１６の処理によれば、ユーザがプログラムデータ表示領域３５ｃに表示されたデータをタップすることで、工程一覧表示領域３５ａのハイライト表示によって上記タップされたデータによって記述される加工工程を迅速に把握することができる。また、形状表示領域３５ｂのハイライト表示によって、同加工工程によって加工される加工形状を迅速に把握することができる。
【００７４】
図１２、図１５、および図１６の処理によれば、ユーザは、加工工程と、加工工程による加工形状と、加工工程のプログラムの詳細データとを互いに関連づけて容易に認識することができる。
【００７５】
図１７に、プログラムデータ表示領域３５ｃに表示されたデータが上記ボタン３７等の操作によって変更される場合の処理を示す。図１７に示す処理は、編集支援プログラム４２がＣＰＵ３２によって実行されることで実現される。図１７に示す処理は、表示制御部の制御を構成する。
【００７６】
図１７に示す一連の処理において、ＣＰＵ３２は、プログラムデータ表示領域３５ｃに表示されたプログラム値に変更があるか否かを判断する（Ｓ７０）。そして、ＣＰＵ３２は、プログラム値に変更がある場合（Ｓ７０：ＹＥＳ）、プログラムデータ表示領域３５ｃに表示されているプログラムの画像を更新する（Ｓ７２）。さらに、ＣＰＵ３２は、変更されたプログラム値に基づき、形状表示領域３５ｂに表示される加工形状を変更する（Ｓ７４）。なお、ＣＰＵ３２は、ステップＳ７４の処理が完了する場合や、上記ステップＳ７０において否定判断する場合には、この一連の処理を一旦終了する。
【００７７】
図１８に、図１７の処理例を示す。図１８（ａ）には、カーソルＫによって指定され、変更が可能となっている数値が「１５０」である例を示す。この数値は、図４に示した製品形状６０におけるテーパ部６８の「終点−Ｚ」（テーパ部小径側Ｚ軸座標値）に対応している。図１８（ｂ）には、同数値を「２００」に変更した例を示す。この場合、形状表示領域３５ｂにおいて、テーパ部６８が変更された画像に更新される。なお、この処理は、ＣＰＵ３２が、ユニット番号が「４」の棒材の加工ユニットによって定義される加工形状を再計算し、素材形状等に対するこの再計算された加工形状の差集合演算を行うことで実現することができる。ちなみに、図１８（ｂ）においては、カーソルＫの位置が図１８（ａ）の位置とは相違しているが、これは、図１８（ｂ）において数値を「２００」に確定させることでカーソルＫが移動したためである。
【００７８】
これにより、ユーザは、加工プログラム４０のデータの変更によって、加工形状がどのように変更されるかを迅速に把握することができる。このため、データの入力ミス等に迅速に気づくことができる。
【００７９】
なお、図１２、図１５、図１６、および図１７の処理は、ワーク１０を製品形状６０とする加工プログラム４０を一旦入力した後にのみ実行されるものではない。すなわち、加工プログラム４０がワーク１０を製品形状６０に加工するものとしては未完成であって作成途中のものであっても実行される。このため、作成途中において新たに入力したデータがいかなる加工形状となるかを迅速に把握することもできる。
【００８０】
＜第２の実施形態＞
以下、加工プログラム編集支援装置の第２の実施形態について、第１の実施形態との相違点を中心に図面を参照しつつ説明する。
【００８１】
本実施形態にかかる加工プログラム４０は、ＥＩＡ／ＩＳＯの規格に従ったものである。図１９に、本実施形態にかかる加工プログラム４０を例示する。
図示されるように、本実施形態では、国際規格ＥＩＡ／ＩＳＯで規定された指令コードの一例であるＧコードやＴコードを用いてプログラムを記述する。工具交換指令コードの一例であって切削を行う工具を指令するＴコード、工具またはワークを回転させるときの回転数を指令するＳコード、および、切削時の工具とワークとの相対的な移動速度を指令するＦコードは、加工方法データの一例である。これに対し、工具の移動経路を定義する指令コードの一例であるＧコードの少なくとも一部や指令位置座標を示す座標値データは、形状定義データの一例である。図示されるように、本実施形態にかかる加工プログラム４０は、加工工程のみを表現するものが定められていない。そこで、本実施形態の加工プログラム編集支援装置は、ワーク１０の加工に用いる工具を指令するＴコードを加工工程の区切りとし、Ｔコードを工程名称データとして取り扱う。
【００８２】
図２０に、本実施形態にかかる編集支援画像を例示する。図２０に示されるように、形状表示領域３５ｂには、定義形状の一例であるワーク１０の加工形状として、工具のプログラム指令位置によって特定された加工形状が実線にて表示されている。また、形状表示領域３５ｂ内の破線は、位置決め指令（あるいは、早送り指令とも言う）時の工具の移動経路であって、定義形状の一例を示す。なお、図２０に示した実線と破線とは、接続線の一例であって、実際には双方の線の形状が同一（たとえば同一の太さの実線）であって、色が互いに相違することを想定しているが、図面の記載の制約のために、実線および破線によって区別して記載した。なお、プログラムデータ表示領域３５ｃの表示候補は、プログラムデータの一例であって、加工プログラム４０の内容を記述するデータ（詳細データ）である。すなわち、詳細データは、加工プログラム４０によって記述される加工工程の内容を記述するデータであり、本実施形態では、加工工程の区切りとして用いる指令コード以外のＧコード等をも含めたものが詳細データとなっている。
【００８３】
図２１に、図２０に示す編集支援画像の表示処理の手順を示す。なお、図２１において、図７に示した処理に対応する処理については、便宜上、同一のステップ番号を付して説明を省略している。図２１に示す処理は、表示制御部の制御を構成する。
【００８４】
この一連の処理において、ＣＰＵ３２は、ステップＳ１２において、プログラムデータ表示領域３５ｃへの表示処理が完了すると、ステップＳ１４ａにおいて、加工プログラム４０からＴコードを抽出することで、工程情報テーブルを作成する。図２２に、工程情報テーブルを示す。工程情報テーブルは、加工プログラム４０に含まれるＴコードのうちプログラム先頭からの行数（以後、プログラム行数と言う）の小さいものから順に並べられたものである。ただし、工程番号が「１」となるものは、Ｔコードに対応していない。これは、プログラムの先頭を意味するものである。なお、本実施形態では、このように作成された工程情報テーブルにおいて、加工工程の先頭の行から次の加工工程の前の行までのブロックで行われる動作を、総称して加工工程と称す。すなわち、ＣＰＵ３２は、工程名称データとして認識したＴコードを含む行から、次に認識したＴコードを含む行の直前の行までを、先に認識したＴコードの加工工程として認識する。
【００８５】
図２１に戻り、ＣＰＵ３２は、ステップＳ１６において、工程情報テーブルに基づき、表示装置３４を操作し、工程一覧表示領域３５ａに加工工程としてＴコードを示す文字列を表示する。なお、図２０に示したように、工程番号が「１」となるものは、加工プログラム４０のトップ（Program Top）である旨を表示している。
【００８６】
次に、ＣＰＵ３２は、ステップＳ２３において、加工プログラム４０の先頭からＧコードを順次サーチして、プログラム行数、Ｇコードの種類、および指令位置座標を抽出し、メモリ３８に座標値テーブルを作成する。こうして作成された座標値テーブルの座標値は、そのＧコードによる終点位置の座標値が、加工形状を定義する点の座標値である。なお、移動経路を加工形状として描画する前提として、初期位置は機械原点に位置するものとして扱う。
【００８７】
図２１に戻り、ＣＰＵ３２は、座標値テーブルを生成した後、ステップＳ２６ａにおいて形状表示領域３５ｂにワーク１０の加工形状を表示する。ここでは、ＣＰＵ３２は、まず、３次元仮想空間に上記座標値テーブルの値に基づいて、座標値テーブルの先頭から最終行まで、座標値データが示す座標点とその点に接続される接続線を配置して３Ｄモデルを作成し、加工形状モデルとしてメモリ３８に記憶する。次に、ＣＰＵ３２は、上記加工形状モデルを、設定された視点に基づいて２次元図形に変換する（表示用平面に投影する）。そして、ＣＰＵ３２は、その２次元図形を形状表示領域３５ｂに表示する。なお、３Ｄモデルおよび２次元図形における点および線は、大きさを持っておらず、従って図形を拡大したとしても線の太さが太くなることはない。なお、座標値テーブルによって形成される接続線は、座標値テーブルの先頭の座標値データが示す点と初期位置である機械原点とを接続する接続線が座標値テーブル先頭の接続線であり、それ以降に関しては、座標値テーブルの座標値データが示す座標点と、当該座標値データの１つ前の座標値データが示す座標点とを接続する線である。言い換えると、座標値テーブルのある行が示す接続線とは、その行の座標値データが示す座標点と、その前の行の座標値データが示す座標点とを接続する接続線であり、その行の座標値データが示す座標点を終点とする接続線である、とも言うことができる。
【００８８】
なお、加工プログラムによって得られる定義形状の一例として挙げた、上記の処理で表示された加工形状は、厳密には加工の結果として得られる加工形状と異なるが、簡易的な上記処理によって得られる加工形状であっても、加工部位の特定には、十分実用に耐える。そして、上記加工プログラム編集支援装置は、加工形状モデルを作成するための処理が簡易的であるがゆえに、実際の工具の移動経路を演算して表示する従来の移動経路表示方法に比較して、処理に要する時間が極めて短時間で済み、加工プログラムの編集箇所を特定するための支援機能として適している。また、上記加工形状は形状表示領域３５ｂの表示候補であり、グラフィック画像の２次元図形に変換する際の視点や表示倍率の設定により、表示対象となる加工形状は可変である。
【００８９】
図２４に、工程一覧表示領域３５ａの特定箇所が指示される場合の処理を示す。図２４に示す処理は、編集支援プログラム４２がＣＰＵ３２によって実行されることで実現される。図２４に示す処理は、表示制御部の制御を構成する。なお、図２４において、図１５に示した処理に対応する処理については、便宜上、同一のステップ番号を付与して、説明を省略している。
【００９０】
図２４に示す処理において、ＣＰＵ３２は、ステップＳ５６の処理の後、形状表示領域３５ｂにおいて、指定された加工工程の加工形状を指定表示対象として選択的に表示する（Ｓ５９）。
【００９１】
図２５（ａ）は、工程一覧表示領域３５ａにおいて工程番号が「３」の加工工程「ＴＮｏ．３」がタップされた状態を示し、図２５（ｂ）は、形状表示領域３５ｂにおいて、工程番号が「３」である加工工程「ＴＮｏ．３」の加工形状のみが選択的に表示された状態を示す。具体的には、ＣＰＵ３２は、形状表示領域３５ｂをまず画面消去した後、工程情報テーブルより工程番号が「３」の開始プログラム行数および終了プログラム行数を取得し、座標値テーブルより前記開始プログラム行から終了プログラム行までのデータを取得して加工形状表示することにより、工程番号「３」のみの加工形状を表示する。つまり、工程一覧表示領域３５ａに表示されている加工工程をユーザが指定して、ＣＰＵ３２が加工工程を特定した場合は、形状表示領域３５ｂにおいては、ＣＰＵ３２は、特定した加工工程のプログラムデータをすべて選択して、そのプログラムデータによる定義形状を指定表示対象としたことになる。これを全行処理と称す。一方、以下に述べるが、プログラムデータ表示領域３５ｃにおいては、ＣＰＵ３２は、特定された加工工程の先頭の行、つまり、工程名称データとして認識された行が指定表示対象とされ、既にその行が表示されていればカーソルを移動させることでその行が指定表示対象であることを示しており、これを単独行処理と称す。
【００９２】
なお、図２５（ｂ）には、ステップＳ５６の処理がなされた後のプログラムデータ表示領域３５ｃに表示対象として表示される加工プログラム４０の詳細データを示しており、これは、図２５（ａ）においてプログラムデータ表示領域３５ｃに表示対象として表示される加工プログラム４０の詳細データと同一となっており、カーソルＫのみが移動している。これは、プログラムデータ表示領域３５ｃに表示される加工プログラム４０の詳細データを変更しなくても、選択された加工工程を記述するデータを表示可能であるために、頭出しを行わなかった例である。ちなみに、カーソルＫは、「Ｔ３Ｔ７Ｍ６」と記載された行に表示されている。ここで、左側のＴコードである「Ｔ３」が今回加工に利用される工具データであり、右側のＴコードである「Ｔ７」は、次回加工に利用される工具データである。加工プログラム４０の、より下の行には、「Ｔ７」が冒頭に現れる行が存在し、この行が、Ｔコードが「Ｔ７」である工具を利用した加工を規定するものとなる。なお、図２５（ｂ）においては、「Ｔ３Ｔ７Ｍ６」と記載された行にカーソルＫが移動していることによって、その部分が指定表示対象となっている。
【００９３】
図２６（ａ）は、工程一覧表示領域３５ａにおいて工程番号が「６」の加工工程「ＴＮｏ．２７」がタップされた状態を示し、図２６（ｂ）は、形状表示領域３５ｂにおいて、工程番号が「６」である加工工程「ＴＮｏ．２７」の加工形状のみが指定表示対象として選択的に表示された状態を示す。この場合、頭出しが行われた結果、図２６（ｂ）においてプログラムデータ表示領域３５ｃに表示されるプログラムの詳細データは、図２６（ａ）においてプログラムデータ表示領域３５ｃに表示されるプログラムの詳細データとは相違している。
【００９４】
図２４の処理によれば、ユーザは、工程一覧表示領域３５ａに表示された加工工程の１つをタップすることで、形状表示領域３５ｂの画像によって、指定した加工工程の加工形状を迅速に把握することができる。また、プログラムデータ表示領域３５ｃに表示された加工プログラム４０の詳細データによって、その加工工程を記述するデータを迅速に把握することができる。なお、図２５および図２６の説明においては、ともに、特定された加工工程の加工形状が、元々表示された状態で加工工程が特定されて、その後、指定表示対象以外の表示対象が消えて、指定表示対象のみが表示される。これに対し、ユーザがグラフィック画像の２次元図形への変換のための視点を変更する等して、特定された加工工程の加工形状が表示されていない状態で加工工程が特定された場合は、形状表示領域３５ｂのサイズに合わせて２次元図形の倍率が変更され、且つ、視点の平行移動によって、形状表示領域３５ｂの中央に指定表示対象が表示される。
【００９５】
図２７に、形状表示領域３５ｂの特定箇所が指定される場合の処理を示す。図２７に示す処理は、編集支援プログラム４２がＣＰＵ３２によって実行されることで実現される。図２７に示す処理は、表示制御部の制御を構成する。なお、図２７において、図１２に示した処理に対応する処理については、便宜上、同一のステップ番号を付与して、説明を省略している。
【００９６】
図２７に示すように、ＣＰＵ３２は、ステップＳ３４ａにおいて加工形状テーブルを作成する。すなわち、ＣＰＵ３２は、形状表示領域３５ｂの特定箇所がタップされると、タッチパネル３６の出力値に基づき、形状表示領域３５ｂに表示されている２次元化された加工形状モデルにおいて、指定点を中心とした所定の半径の円内の領域に存在する線を抽出する。これは、本実施形態では、形状表示領域３５ｂに表示される加工形状が線であることに鑑み、同円内の領域が特定箇所として指定されたと見なすための処理である。そして、図２３に示した座標値テーブルに基づき、抽出した線が作成された元のプログラム行数を取得する。そして、取得されたプログラム行数を列挙することで加工形状テーブルを生成する。なお、座標値テーブルに代えて、形状表示領域３５ｂに線を表示するに際して、表示した線とプログラム行数とをセットでメモリ３８に記憶させておいてもよい。これによれば、より迅速にプログラム行数を取得することができる。
【００９７】
そして、ＣＰＵ３２は、ステップＳ３６ａにて表示装置３４を操作し、形状表示領域３５ｂにおいて、加工形状テーブルに列挙されたプログラム行数の最初のデータにより定まる加工形状（接続線）を、すなわち、加工形状テーブルの先頭に登録された加工形状（接続線）を、指定表示対象としてハイライト表示する。すなわち、該当部分の線のみ色を変えるようにしたり、線を太くしたりする。次に、ＣＰＵ３２は、ステップＳ３８ａにて表示装置３４を操作し、工程一覧表示領域３５ａにおいて、工程情報テーブルに基づいて該当するプログラム行数を含む加工工程を検索し、得られた加工工程の工程番号の文字列を指定表示対象としてハイライト表示する。さらに、ＣＰＵ３２は、ステップＳ４０において、工程情報テーブルに基づき、表示装置３４を操作し、プログラムデータ表示領域３５ｃにおいて該当するプログラムの詳細データを指定表示対象として頭出しし、また、その行、つまり、形状表示領域３５ｂにて指定表示対象として採用された加工形状テーブルのプログラム行数が示す行にカーソルを移動させる。
【００９８】
図２７に示す処理によれば、形状表示領域３５ｂに表示されている加工形状に気になる部分があると感じたユーザは、その部分をタップすることで、その加工形状に加工する加工工程が加工工程全体のどこに該当するかを工程一覧表示領域３５ａのハイライトによって迅速に把握することができる。また、プログラムデータ表示領域３５ｃにおいて頭出しされた加工プログラム４０の詳細データによって、プログラムの内容を迅速に把握することができる。また、ワークの同一部位を多数の工具で繰り返し加工するような場合、加工形状が錯綜してどの工具の加工形状であるかが、判別困難なことがあるが、このような場合であっても、工程一覧表示領域３５ａで工程番号や工具名称をタップしてその加工工程のみの加工形状を一旦表示させた後に、形状表示領域３５ｂをタップすることで、目的の加工形状を素早く特定することができる。
【００９９】
図２８に、プログラムデータ表示領域３５ｃの特定箇所が指定される場合の処理を示す。図２８に示す処理は、編集支援プログラム４２がＣＰＵ３２によって実行されることで実現される。この処理は、表示制御部の制御を構成する。なお、図２８において、図１６に示した処理に対応する処理については、便宜上、同一のステップ番号を付している。
【０１００】
ＣＰＵ３２は、ステップＳ６０の処理が完了すると、ステップＳ８０でカーソル位置のプログラム行数が以前と同一か否かを判断し、違うプログラム行数に移動したと判断した場合（Ｓ８０：ＮＯ）、カーソルの位置するプログラム行数により定まる加工形状（接続線）を形状表示領域３５ｂにおける指定表示対象とし、ハイライト表示する（Ｓ８２）。次にＣＰＵ３２は、工程情報テーブルに基づき、カーソルが位置するプログラム行数に対応した工程番号を取得する（Ｓ６２ａ）。すなわち、工程情報テーブルには、各加工工程のはじめのプログラム行数が記載されているため、これに基づき工程番号を取得することができる。たとえばカーソルの位置のプログラム行数が「８」である場合、工程番号が「３」であるプログラム行数「６」よりも大きく、工程番号が「４」であるプログラム行数「３２」よりも小さい。このため、工程番号が「３」であると特定できる。
【０１０１】
そして、ＣＰＵ３２は、ステップＳ６２ａにおいて特定した工程番号が現在選択中のものであるか否かを判断する（Ｓ６４ａ）。そして、現在選択中の工程番号ではないと判断する場合（Ｓ６４ａ：ＮＯ）、工程一覧表示領域３５ａの表示を更新する（Ｓ６６）。
【０１０２】
図２８の処理によれば、ユーザがプログラムデータ表示領域３５ｃ内に表示された加工プログラム４０の詳細データのうちの任意のデータの文字列をタップすることで、工程一覧表示領域３５ａのハイライト表示によって上記データが加工工程のどの部分に対応するかを迅速に把握することができる。また、形状表示領域３５ｂのハイライト表示によって、上記データによって決定される加工形状を迅速に把握することができる。
【０１０３】
＜その他の実施形態＞
なお、上記各実施形態は、以下のように変更して実施してもよい。
・「指定表示対象の表示手法について」
図１３や図２６等においては、工程一覧表示領域３５ａにおいて、指定表示対象の画像の色を変えつつ輝度を高くする手法を例示したがこれに限らない。たとえば、色を変えることなく、輝度を高くしてもよい。また、たとえば、輝度を高くすることなく色を変えてもよい。
【０１０４】
図１３や図２６等においては、プログラムデータ表示領域３５ｃにおいて、指定表示対象を頭出しするとともに、そのうちの特定の部分にカーソルＫを移動したがこれに限らない。たとえば、頭出しした直後においては、カーソルＫの位置を定義せず、カーソルＫを表示しなくてもよい。この場合、たとえば、プログラムデータ表示領域３５ｃ内の特定の文字列等がタップされることで、その部分にカーソルＫを出現させればよい。
【０１０５】
図１３や図１４においては、形状表示領域３５ｂにおいて加工形状のハイライトを行ったが、これに限らない。ハイライト表示に代えて、たとえば色を変えてもよい。また、たとえば、ハイライト表示に併せてハイライト表示している部分を指し示す矢印を表示してもよく、またたとえば、ハイライト表示を行うことなく矢印のみを表示してもよい。
【０１０６】
図２４においては、特定の加工工程が指定されると、ＣＰＵ３２は、形状表示領域３５ｂにおいて、指定された加工工程によって加工される加工形状のみを選択的に表示したがこれに限らない。たとえば、指定された加工工程によって加工される加工形状のみハイライト表示してもよい。また、たとえば、指定された加工工程によって加工される加工形状のみ色を変えて表示してもよい。
【０１０７】
図１５や図１６においては、特定の加工工程が指定されると、ＣＰＵ３２は、形状表示領域３５ｂにおいて、その加工工程によって加工される加工形状をハイライト表示したが、これに限らない。たとえば、その加工形状のみを実線とし、残りを破線にて表示してもよい。また、たとえば、加工形状以外を表示しないようにしてもよい。
【０１０８】
・「指定表示対象の特定手法について」
図１２や図２７においては、加工形状テーブルに、指定表示対象の候補を加工工程の順に登録し、番号が先となるものから順に指定表示対象としたが、これに限らない。たとえば、指定表示対象の候補を加工工程とは逆の順に加工形状テーブルに登録し、番号が先となるものから順に指定表示対象としてもよい。
【０１０９】
図２７の処理では、形状表示領域３５ｂに表示されている２次元化された加工形状モデルにおいて、指定点を中心とした所定の半径の円内に存在する線を、ユーザによって指定された表示候補に特定したが、これに限らない。たとえば、ユーザによって指定された表示候補を特定するためのデータを、形状表示領域３５ｂに表示するデータに基づき形状表示領域３５ｂに表示される線に所定の幅を持たせた領域を規定するデータとして生成し、指定点を含む領域に対応する線を、ユーザによって指定された表示候補に特定してもよい。
【０１１０】
・「表示領域の分割について」
上記実施形態では、工程一覧表示領域３５ａ、形状表示領域３５ｂ、およびプログラムデータ表示領域３５ｃのそれぞれの領域の大きさや配置座標が固定されているものとしていたが、これに限らない。たとえば、タッチパネル３６上でのピンチイン操作やピンチアウト操作等によって、特定の領域自体の拡大や縮小を指示可能としてもよい。これにより、たとえば、工程一覧表示領域３５ａおよび形状表示領域３５ｂを拡大すべく、図６の下方にそれらの領域を拡大する旨を指示することで、プログラムデータ表示領域３５ｃが縮小され、工程一覧表示領域３５ａおよび形状表示領域３５ｂが拡大される。なお、この際、画面３５内に、工程一覧表示領域３５ａ、形状表示領域３５ｂ、およびプログラムデータ表示領域３５ｃが全て常時表示されていることは必須ではない。たとえば、工程一覧表示領域３５ａおよび形状表示領域３５ｂを拡大することで、プログラムデータ表示領域３５ｃが表示されないようにすることを可能としてよい。この場合であっても、必要に応じてプログラムデータ表示領域３５ｃを表示可能とすることで、互いの領域に表示された情報をユーザが容易に関連づけることができることには相違ない。
【０１１１】
・「形状生成処理部について」
上記第１の実施形態では、形状シーケンスデータ（ＦＩＧ）によって規定される形状（座標情報）の差集合に基づき、形状表示領域３５ｂに表示する定義形状を生成した。また、第２の実施形態では、加工プログラム４０において設定された複数の座標値データで示される空間上の点をＧコードによって決定された属性を有する線で接続して定義形状を生成した。しかし、これらのように、加工プログラムによって規定された座標情報の差集合や線の接続処理に基づき形状表示領域３５ｂに表示する加工形状のデータを生成するものに限らない。たとえば、加工プログラム４０を数値制御装置３０が用いるコードに変換してワーク１０を加工するシミュレーションを実行し、シミュレーションによって生成されるデータから得られる形状を、形状表示領域３５ｂに表示する定義形状としてもよい。この場合、シミュレーション結果のうち、各加工工程の終了時のデータを記憶しておくことで、各加工工程のワーク形状の画像を形状表示領域３５ｂに表示することも可能となる。
【０１１２】
・「加工プログラムについて」
加工方法データと形状定義データとを有する加工プログラムとしては、図２、図３に例示したデータを有するプログラムに限らない。たとえば、点加工、線加工、面加工について、工具とは独立に除去形状を定義したユニットを複数備え、それらユニットに組み合わせ可能な工具を規定するデータ（ユニット）を別途備えるプログラムであってもよい。この場合、工具と切削条件とが入力された第１実施形態のような工具シーケンスデータが加工方法データの一例であり、除去形状を定義したユニットの後に工具を規定したユニットを記載することで加工プログラムを作成すればよい。
【０１１３】
・「プログラム編集支援装置について」
編集支援プログラム４２がＣＰＵ３２によって実行されるものに限らない。たとえば、上記実施形態において編集支援プログラム４２がＣＰＵ３２によって実行されることで実現された機能の少なくとも一部を専用のハードウェア手段によって実現してもよい。
【０１１４】
・「編集支援プログラムのインストール対象について」
数値制御装置３０に限らず、たとえば汎用のコンピュータであってもよい。
・「工作機械について」
複合加工機としては、上記実施形態で例示したものに限らない。たとえば、旋盤のようにワーク１０を回転させて切削する機能を搭載しつつも、フライス盤のように、固定されたワーク１０を回転する工具が加工する機能を搭載しないものであってもよい。
【０１１５】
・「入力装置について」
入力装置は、タッチパネル３６に限らない。たとえば、マウス等、表示領域の特定箇所を指示可能な装置であってもよい。この際、特定箇所は、点に限らず、幅を持った領域であってもよい。ただし、この場合、工程一覧表示領域３５ａやプログラムデータ表示領域３５ｃ内の特定箇所が指定される場合、特定箇所の一部を含む加工工程の画像やデータの画像が指定されたとすることが望ましい。
【符号の説明】
【０１１６】
１０…ワーク、２０…複合加工機、３０…数値制御装置、３２…中央処理装置、３２…ＣＰＵ、３４…表示装置、３５…画面、３５ａ…工程一覧表示領域、３５ｂ…形状表示領域、３５ｃ…プログラムデータ表示領域、３６…タッチパネル、３７…ボタン、３８…メモリ、４０…加工プログラム、４２…編集支援プログラム、５０…共通ユニット、５２…座標系・ワーク姿勢設定ユニット、５４…加工ユニット、５６…エンドユニット、６０…製品形状、６０Ｍ…製品形状モデル、６２…第１円柱部、６２Ｍ…加工形状モデル、６４…第２円柱部、６６…第３円柱部、６８…テーパ部、７０…第４円柱部、７４…フェイスミル面、７４Ｍ…加工形状モデル、７６…ドリル穴、７８…凹部。
【図１】
0005990662.tif 000002
【図２】
0005990662.tif 000003
【図３】
0005990662.tif 000004
【図４】
0005990662.tif 000005
【図５】
0005990662.tif 000006
【図６】
0005990662.tif 000007
【図７】
0005990662.tif 000008
【図８】
0005990662.tif 000009
【図９】
0005990662.tif 000010
【図１０】
0005990662.tif 000011
【図１１】
0005990662.tif 000012
【図１２】
0005990662.tif 000013
【図１３】
0005990662.tif 000014
【図１４】
0005990662.tif 000015
【図１５】
0005990662.tif 000016
【図１６】
0005990662.tif 000017
【図１７】
0005990662.tif 000018
【図１８】
0005990662.tif 000019
【図１９】
0005990662.tif 000020
【図２０】
0005990662.tif 000021
【図２１】
0005990662.tif 000022
【図２２】
0005990662.tif 000023
【図２３】
0005990662.tif 000024
【図２４】
0005990662.tif 000025
【図２５】
0005990662.tif 000026
【図２６】
0005990662.tif 000027
【図２７】
0005990662.tif 000028
【図２８】
0005990662.tif 000029