(57)【要約】【課題】  加工プログラムから有用な情報を直接取得し、様々な解析を行うことができる加工プログラム解析装置、加工プログラム解析プログラムおよび加工プログラム解析方法を提供する。【解決手段】  加工プログラムの指令点列を構成する各指令点について、１または複数の指令点の位置座標を用いて所定の物理量を算出する物理量算出部４３と、各指令点の物理量に対してクラスター分析を行うことにより、物理量を複数のグループに分類する物理量分類部４５と、を有する。【選択図】  図１
2018101347.tif 000002
【特許請求の範囲】
【請求項１】
加工プログラムの指令点列を構成する各指令点について、１または複数の指令点の位置座標を用いて所定の物理量を算出する物理量算出部と、
各指令点の前記物理量に対してクラスター分析を行うことにより、前記物理量を複数のグループに分類する物理量分類部と、
を有する、加工プログラム解析装置。
【請求項２】
前記所定の物理量は、下記式（１）で定義される移動量、下記式（２）で定義される角度、下記式（３）で定義される曲率半径、下記式（４）で定義される移動量変化量、下記式（５）で定義される移動量変化量の変化量、または下記式（６）で定義される移動量の比率のいずれかである、請求項１に記載の加工プログラム解析装置；
Ｖｉ＝Ｐｉ＋１−Ｐｉ−１  ・・・式（１）
2018101347.tif 000009
Ａｉ＝Ｐｉ＋１−２Ｐｉ＋Ｐｉ−１  ・・・式（４）
Ｊｉ＝Ｐｉ＋１−３Ｐｉ＋３Ｐｉ−１−Ｐｉ−２  ・・・式（５）
2018101347.tif 000010
ただし、各符号は以下を表す。
ｉ：指令点番号
Ｐｉ：第ｉ番目の指令点の位置座標
Ｖｉ：第ｉ番目の指令点の移動量
θｉ：第ｉ番目の指令点の角度
ρｉ：第ｉ番目の指令点の曲率半径
ｃ１：Ｐｉ、Ｐｉ＋１間の移動を示す曲線を近似したｎ次多項式の１次の項の係数
ｃ２：Ｐｉ、Ｐｉ＋１間の移動を示す曲線を近似したｎ次多項式の２次の項の係数
Ａｉ；第ｉ番目の指令点の移動量変化量
Ｊｉ；第ｉ番目の指令点の移動量変化量の変化量
ｋｉ；第ｉ番目の指令点の移動量の比率
【請求項３】
前記物理量算出部は、前記物理量分類部によって同一のグループに分類された前記物理量を有する各指令点について、前記物理量とは異なる前記物理量を算出し、前記物理量分類部は、前記異なる物理量に対してクラスター分析を行うことにより、さらに複数のグループに再分類する、請求項１または請求項２に記載の加工プログラム解析装置。
【請求項４】
前記物理量算出部は、各指令点について異なる複数の前記物理量を算出し、前記物理量分類部は、前記複数の物理量からなる物理量群に対してクラスター分析を行うことにより、前記物理量群を複数のグループに分類する、請求項１から請求項３のいずれかに記載の加工プログラム解析装置。
【請求項５】
前記加工プログラムが、少なくとも２つの直線軸および少なくとも１つの回転軸を有する多軸加工機の動作を制御する多軸加工機用加工プログラムである場合、前記物理量算出部は、前記各指令点に対応する機械位置の位置座標を用いて前記物理量を算出する機能を有する、請求項１から請求項４のいずれかに記載の加工プログラム解析装置。
【請求項６】
前記物理量分類部によって分類されたグループを識別可能な態様で、前記各指令点のプロットを出力する解析結果出力部を有する、請求項１から請求項５のいずれかに記載の加工プログラム解析装置。
【請求項７】
加工プログラムの指令点列を構成する各指令点について、１または複数の指令点の位置座標を用いて所定の物理量を算出する物理量算出部と、
各指令点の前記物理量に対してクラスター分析を行うことにより、前記物理量を複数のグループに分類する物理量分類部と、
してコンピュータを機能させる、加工プログラム解析プログラム。
【請求項８】
加工プログラムの指令点列を構成する各指令点について、１または複数の指令点の位置座標を用いて所定の物理量を算出する物理量算出ステップと、
各指令点の前記物理量に対してクラスター分析を行うことにより、前記物理量を複数のグループに分類する物理量分類ステップと、
を有する、加工プログラム解析方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工作機械を数値制御するための加工プログラムを解析する加工プログラム解析装置、加工プログラム解析プログラムおよび加工プログラム解析方法に関するものである。
【背景技術】
【０００２】
従来、工作機械を数値制御して自由曲面等を加工する場合、図３８に示すように、工具経路を微小線分に区分する指令点の点列データ（指令点列）を含む加工プログラムが使用されている。この加工プログラムは、近年の加工内容の複雑化に伴い、ＣＡＤ（Computer-Aided Design：コンピュータ支援設計）機能およびＣＡＭ（Computer Aided Manufacturing：コンピュータ支援製造）機能を兼ね備えたＣＡＤ／ＣＡＭ装置によって生成されることが多い。
【０００３】
しかしながら、当該ＣＡＤ／ＣＡＭ装置の性能によっては、図３９に示すように、生成された加工プログラムの指令点列が不揃いになってしまうことが知られている。そして、このような不揃いの指令点列を含む加工プログラムによってワークを加工した場合、工具経路に誤差が生じるため、加工面に傷や筋目等の痕跡が残ってしまうという問題がある。
【０００４】
なお、加工プログラムの良否や問題点等を解析するものとして、例えば、特開２００４−２１９５４号公報には、加工プログラムの工具軌跡の各微小線分について、特定軸に対する傾きの正、負、または０を判定し、各傾きに対して異なる表示属性により微小線分あるいは微小線分の端点を表示する工具軌跡表示方法が開示されている（特許文献１）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−２１９５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、加工プログラムに含まれる指令点列は、各指令点についての単なる位置座標にしか過ぎない。このため、上記特許文献１では、いずれか一つの特定軸に対する工具経路上の凹凸程度は識別できるものの、それ以外の有用な情報を加工プログラムから直接取得することができないという問題がある。
【０００７】
例えば、加工プログラムによって加工されるワークがどのような加工面を有するかの情報や、各指令点が隣接する工具経路を含む周囲の指令点との位置関係において不揃いか否かの情報を解析できれば、加工面の品位の向上に資するものと考えられる。しかしながら、従来、位置座標以外の情報を含まない加工プログラムからは、上述したような情報を直接取得することができず、限られた解析しか行うことができないという問題がある。
【０００８】
本発明は、このような問題点を解決するためになされたものであって、加工プログラムから有用な情報を直接取得し、様々な解析を行うことができる加工プログラム解析装置、加工プログラム解析プログラムおよび加工プログラム解析方法を提供することを目的としている。
【課題を解決するための手段】
【０００９】
本発明に係る加工プログラム解析装置は、加工プログラムから有用な情報を直接取得し、様々な解析を行うという課題を解決するために、加工プログラムの指令点列を構成する各指令点について、１または複数の指令点の位置座標を用いて所定の物理量を算出する物理量算出部と、各指令点の前記物理量に対してクラスター分析を行うことにより、前記物理量を複数のグループに分類する物理量分類部と、を有する。
【００１０】
また、本発明の一態様として、加工プログラムによって加工されるワークがどのような加工面を有するかを識別するという課題を解決するために、前記所定の物理量は、下記式（１）で定義される移動量、下記式（２）で定義される角度、または下記式（３）で定義される曲率半径のいずれかであってもよく、不揃いの指令点を抽出するという課題を解決するために、前記所定の物理量は、下記式（４）で定義される移動量変化量、下記式（５）で定義される移動量変化量の変化量、または下記式（６）で定義される移動量の比率のいずれかであってもよい。
Ｖｉ＝Ｐｉ＋１−Ｐｉ−１  ・・・式（１）
2018101347.tif 000003
Ａｉ＝Ｐｉ＋１−２Ｐｉ＋Ｐｉ−１  ・・・式（４）
Ｊｉ＝Ｐｉ＋１−３Ｐｉ＋３Ｐｉ−１−Ｐｉ−２  ・・・式（５）
2018101347.tif 000004
ただし、各符号は以下を表す。
ｉ：指令点番号
Ｐｉ：第ｉ番目の指令点の位置座標
Ｖｉ：第ｉ番目の指令点の移動量
θｉ：第ｉ番目の指令点の角度
ρｉ：第ｉ番目の指令点の曲率半径
ｃ１：Ｐｉ、Ｐｉ＋１間の移動を示す曲線を近似したｎ次多項式の１次の項の係数
ｃ２：Ｐｉ、Ｐｉ＋１間の移動を示す曲線を近似したｎ次多項式の２次の項の係数
Ａｉ；第ｉ番目の指令点の移動量変化量
Ｊｉ；第ｉ番目の指令点の移動量変化量の変化量
ｋｉ；第ｉ番目の指令点の移動量の比率
【００１１】
さらに、本発明の一態様として、解析精度を向上するという課題を解決するために、前記物理量算出部は、前記物理量分類部によって同一のグループに分類された前記物理量を有する各指令点について、前記物理量とは異なる前記物理量を算出し、前記物理量分類部は、前記異なる物理量に対してクラスター分析を行うことにより、さらに複数のグループに再分類してもよい。
【００１２】
また、本発明の一態様として、解析精度を向上するという課題を解決するために、前記物理量算出部は、各指令点について異なる複数の前記物理量を算出し、前記物理量分類部は、前記複数の物理量からなる物理量群に対してクラスター分析を行うことにより、前記物理量群を複数のグループに分類してもよい。
【００１３】
さらに、本発明の一態様として、多軸加工機用加工プログラムを解析対象として適用するという課題を解決するために、前記加工プログラムが、少なくとも２つの直線軸および少なくとも１つの回転軸を有する多軸加工機の動作を制御する多軸加工機用加工プログラムである場合、前記物理量算出部は、前記各指令点に対応する機械位置の位置座標を用いて前記物理量を算出する機能を有していてもよい。
【００１４】
また、本発明の一態様として、解析結果を一目で確認し理解するという課題を解決するために、前記物理量分類部によって分類されたグループを識別可能な態様で、前記各指令点のプロットを出力する解析結果出力部を有していてもよい。
【００１５】
また、本発明に係る加工プログラム解析プログラムは、加工プログラムから有用な情報を直接取得し、様々な解析を行うという課題を解決するために、加工プログラムの指令点列を構成する各指令点について、１または複数の指令点の位置座標を用いて所定の物理量を算出する物理量算出部と、各指令点の前記物理量に対してクラスター分析を行うことにより、前記物理量を複数のグループに分類する物理量分類部としてコンピュータを機能させる。
【００１６】
さらに、本発明に係る加工プログラム解析方法は、加工プログラムから有用な情報を直接取得し、様々な解析を行うという課題を解決するために、加工プログラムの指令点列を構成する各指令点について、１または複数の指令点の位置座標を用いて所定の物理量を算出する物理量算出ステップと、各指令点の前記物理量に対してクラスター分析を行うことにより、前記物理量を複数のグループに分類する物理量分類ステップとを有する。
【発明の効果】
【００１７】
本発明によれば、加工プログラムから有用な情報を直接取得し、様々な解析を行うことができる。
【図面の簡単な説明】
【００１８】
【図１】本発明に係る加工プログラム解析装置の一実施形態を示すブロック図である。
【図２】本実施形態において、解析結果記憶部に記憶される解析結果の一例を示す図である。
【図３】本実施形態の加工プログラム解析方法を示すフローチャートである。
【図４】実施例１〜５で解析対象としたブレード加工プログラムの工具経路を示す図である。
【図５】実施例１における、移動量の定義式を示す図である。
【図６】実施例１において、移動量を算出した結果を示す図である。
【図７】実施例１において、移動量を３つのグループに分類した結果を示す図である。
【図８】実施例１において、移動量の分類結果に基づいて、ブレード加工プログラムの加工面を識別した解析結果を示す図である。
【図９】実施例１における、角度の定義式を示す図である。
【図１０】実施例１において、角度を算出した結果を示す図である。
【図１１】実施例１において、角度を２つのグループに分類した結果を示す図である。
【図１２】実施例１において、角度の分類結果に基づいて、ブレード加工プログラムの加工面を識別した結果を示す図である。
【図１３】実施例１における、曲率半径の定義式を示す図である。
【図１４】実施例１において、曲率半径を算出した結果を示す図である。
【図１５】実施例１において、曲率半径を２つのグループに分類した結果を示す図である。
【図１６】実施例１において、曲率半径の分類結果に基づいて、ブレード加工プログラムの加工面を識別した結果を示す図である。
【図１７】実施例２における、移動量変化量の定義式を示す図である。
【図１８】実施例２において、移動量変化量を算出した結果を示す図である。
【図１９】実施例２において、移動量変化量を３つのグループに分類した結果を示す図である。
【図２０】実施例２において、移動量変化量の分類結果に基づいて、ブレード加工プログラムにおける不揃いの指令点を抽出した結果を示す図である。
【図２１】実施例２における、移動量変化量の変化量の定義式を示す図である。
【図２２】実施例２において、移動量変化量の変化量を算出した結果を示す図である。
【図２３】実施例２において、移動量変化量の変化量を３つのグループに分類した結果を示す図である。
【図２４】実施例２において、移動量変化量の変化量の分類結果に基づいて、ブレード加工プログラムにおける不揃いの指令点を抽出した結果を示す図である。
【図２５】実施例２における、移動量の比率の定義式を示す図である。
【図２６】実施例２において、移動量の比率を算出した結果を示す図である。
【図２７】実施例２において、移動量の比率を２つのグループに分類した結果を示す図である。
【図２８】実施例２において、移動量の比率の分類結果に基づいて、ブレード加工プログラムにおける不揃いの指令点を抽出した結果を示す図である。
【図２９】実施例３において、移動量によって加工面を識別した後、移動量変化量によって不揃い点を抽出した結果を示す図である。
【図３０】実施例３の比較例として、移動量変化量のみによって、ブレード加工プログラムにおける不揃いの指令点を抽出した結果を示す図である。
【図３１】実施例４において、位置および移動量を算出した結果を示す図である。
【図３２】実施例４において、位置および移動量を組み合わせて、ブレード加工プログラムにおける加工面を識別した結果を示す図である。
【図３３】実施例５における、指令点の位置座標を示す図である。
【図３４】実施例５における、機械の位置座標を示す図である。
【図３５】実施例５において、指令点の移動量および機械の移動量を４つのグループに分類した際の、指令点の移動量に関する分類結果を示す図である。
【図３６】実施例５において、指令点の移動量および機械の移動量を４つのグループに分類した際の、機械の移動量に関する分類結果を示す図である。
【図３７】実施例５において、指令点の移動量および機械の移動量を用いて、ブレード加工プログラムの加工面を識別した結果を示す図である。
【図３８】加工プログラムの指令点列を構成する指令点およびその刃先経路を示す図である。
【図３９】不揃いの指令点が生じた加工プログラムの工具経路を示す図である。
【発明を実施するための形態】
【００１９】
以下、本発明に係る加工プログラム解析装置、加工プログラム解析プログラムおよび加工プログラム解析方法の一実施形態について図面を用いて説明する。
【００２０】
本実施形態の加工プログラム解析装置１は、加工プログラムについて様々な解析を行うものであり、パーソナルコンピュータ、タブレット端末またはスマートフォン等の一般的なコンピュータによって構成されている。具体的には、加工プログラム解析装置１は、図１に示すように、主として、データの入力や解析結果の表示を行うための表示入力手段２と、本実施形態の加工プログラム解析プログラム１ａや各種データを記憶するとともに、演算処理手段４が各種処理を行う際のワーキングエリアとして機能する記憶手段３と、記憶手段３にインストールされた加工プログラム解析プログラム１ａを実行することにより、各種の演算処理を実行する演算処理手段４とから構成されている。以下、各構成手段について詳細に説明する。
【００２１】
なお、本実施形態において、加工プログラム解析装置１は、一般的なコンピュータによって構成されているが、この構成に限定されるものではない。例えば、コンピュータ数値制御（ＣＮＣ：Computer Numerical Control）可能な数値制御装置や、上述したＣＡＤ／ＣＡＭ装置等の特殊なコンピュータに本発明に係る加工プログラム解析機能を実装し、加工プログラム解析装置１として構成してもよい。
【００２２】
表示入力手段２は、タッチパネル等で構成されており、入力機能と表示機能とを兼ね備えたものである。本実施形態において、表示入力手段２は、後述する物理量の選択や、グループ数の設定等を受け付ける入力機能と、加工プログラムの解析結果等を表示する表示機能とを有している。なお、本実施形態では、表示機能および入力機能を兼ね備えた表示入力手段２を使用しているが、この構成に限定されるものではなく、表示機能のみを備えた液晶ディスプレイ等の表示手段、および入力機能のみを備えたキーボードやマウス等の入力手段をそれぞれ別個に有していてもよい。
【００２３】
記憶手段３は、ハードディスク、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、フラッシュメモリ等で構成されており、各種データを記憶するとともに、演算処理手段４が各種処理を行う際のワーキングエリアとして機能するものである。本実施形態において、記憶手段３は、図１に示すように、プログラム記憶部３１と、加工プログラム記憶部３２と、解析結果記憶部３３と、物理量定義式記憶部３４とを有している。
【００２４】
プログラム記憶部３１には、本実施形態の加工プログラム解析装置１を制御するための加工プログラム解析プログラム１ａがインストールされている。そして、演算処理手段４が、当該加工プログラム解析プログラム１ａを実行することにより、加工プログラム解析装置１としてのコンピュータを後述する各構成部として機能させるようになっている。
【００２５】
なお、加工プログラム解析プログラム１ａの利用形態は、上記構成に限られるものではない。例えば、ＣＤ−ＲＯＭやＵＳＢメモリ等のように、コンピュータで読み取り可能な非一時的な記録媒体に加工プログラム解析プログラム１ａを記憶させておき、当該記録媒体から直接読み出して実行してもよい。また、外部サーバ等からクラウドコンピューティング方式やＡＳＰ（Application Service Provider）方式等で利用してもよい。
【００２６】
加工プログラム記憶部３２は、解析対象となる加工プログラムを記憶するものである。本実施形態において、加工プログラムは、各種の工作機械を数値制御するためのものであり、ＣＡＤ／ＣＡＭ装置によって生成されている。また、加工プログラムには、行番号に対応付けて、工具経路を微小線分に区分する各指令点の位置座標が、指令点列として含まれている。
【００２７】
解析結果記憶部３３は、加工プログラムの解析結果を記憶するものである。本実施形態において、解析結果記憶部３３は、図２に示すように、データテーブル形式で構成されており、加工プログラムの指令点列を構成する各指令点について、工具経路に沿ってシーケンシャルに振られた指令点番号と、Ｘ軸、Ｙ軸およびＺ軸の各座標値で表された位置座標と、後述する物理量算出部４３によって算出された物理量と、後述する物理量分類部４５によって分類されたグループのグループ番号とを記憶するようになっている。
【００２８】
なお、図２に示す例では、実施例１で後述する移動量Ｖｉ（＝Ｐｉ＋１−Ｐｉ−１）が物理量の一つとして記憶されている。また、物理量の算出に用いる位置座標は、直線軸（Ｘ，Ｙ，Ｚ）に限定されるものではなく、回転軸（Ａ，Ｂ，Ｃ）でもよいし、直線軸（Ｘ，Ｙ，Ｚ）と回転軸（Ａ，Ｂ，Ｃ）の組み合わせでもよい。さらに、図２の移動量Ｖｉは、前後の指令点の位置座標を用いて算出する物理量であるため、指令点列の先頭および後尾の指令点については物理量は算出されず、グループに分類されることもない。
【００２９】
物理量定義式記憶部３４は、加工プログラムの解析に用いる所定の物理量を算出するための定義式を記憶するものである。本発明において、物理量とは、物理系の性質を表現し、その測定方法や、大きさの単位が規定された全ての量を含む概念である。また、本発明に係る定義式としては、加工プログラムの指令点列を構成する各指令点について、１または複数の指令点の位置座標を用いて算出される物理量が定義されている。
【００３０】
具体的には、所定の物理量としては、実施例１〜５で後述するとおり、移動量、角度、曲率半径、移動量変化量、移動量変化量の変化量または移動量の比率等の物理量が使用可能である。そして、当該物理量を算出するための定義式として、下記式（１）〜（６）等の定義式が、当該物理量に対応付けて物理量定義式記憶部３４に記憶されている。なお、物理量定義式記憶部３４には、表示入力手段２を介して任意の物理量およびその定義式を設定できるようになっている。
【００３１】
つぎに、演算処理手段４は、ＣＰＵ（Central Processing Unit）等によって構成されており、記憶手段３にインストールされた加工プログラム解析プログラム１ａを実行することにより、図１に示すように、指令点取得部４１と、物理量選択部４２と、物理量算出部４３と、グループ数設定部４４と、物理量分類部４５と、解析結果出力部４６として機能するようになっている。以下、演算処理手段４の各構成部についてより詳細に説明する。
【００３２】
指令点取得部４１は、加工プログラムから指令点を取得するものである。本実施形態において、指令点取得部４１は、加工プログラム記憶部３２から加工プログラムを読み出し、当該加工プログラムの指令点列を構成する各指令点の位置座標を取得して、解析結果記憶部３３に順次記憶させるようになっている。
【００３３】
物理量選択部４２は、加工プログラムの解析に使用する１または２以上の物理量を選択するものである。本実施形態において、物理量選択部４２は、物理量定義式記憶部３４に予め用意されている各種の物理量の中から、表示入力手段２を介して所望の物理量の選択を受け付けると、当該選択された物理量の種別を物理量算出部４３に提供するようになっている。また、本実施形態において、物理量選択部４２は、後述するとおり、異なる複数の物理量を並列的に用いて解析する場合、２以上の物理量を選択するようになっている。
【００３４】
なお、物理量選択部４２は、上記構成に限定されるものではなく、予め所定の物理量をデフォルトで選択するように構成されていてもよい。また、使用する物理量が常に固定であれば、物理量選択部４２を設ける必要はない。
【００３５】
物理量算出部４３は、各指令点について物理量を算出するものである。本実施形態において、物理量算出部４３は、指令点取得部４１によって取得された各指令点の位置座標を解析結果記憶部３３から読み出すとともに、物理量選択部４２によって選択された物理量に対応する定義式を物理量定義式記憶部３４から読み出す。そして、物理量算出部４３は、読み出した定義式に基づき、１または複数の指令点の位置座標を用いて、各指令点についての物理量を算出し、解析結果記憶部３３に記憶するようになっている。
【００３６】
また、本実施形態において、加工プログラム記憶部３２に記憶された加工プログラムが、少なくとも２つの直線軸および少なくとも１つの回転軸を有する多軸加工機の動作を制御する多軸加工機用加工プログラムである場合、物理量算出部４３は、各指令点に対応する機械位置の位置座標を用いて物理量を算出する機能を有している。詳細については、実施例５で後述する。
【００３７】
グループ数設定部４４は、各指令点の物理量をクラスター分析する際のグループ数（クラスタ数）を設定するものである。本実施形態において、グループ数設定部４４は、表示入力手段２を介して所望のグループ数の入力を受け付けると、当該入力されたグループ数を物理量分類部４５に設定するようになっている。なお、最適なグループ数は、解析に使用する物理量や、ワークの形状等によって異なる。よって、本実施形態では、所望の解析結果が得られるまで、グループ数を適宜変更しうるようになっている。
【００３８】
物理量分類部４５は、各指令点の物理量に対してクラスター分析を行うことにより、物理量を複数のグループに分類するものである。本発明において、クラスター分析とは、いわゆる非階層的クラスター分析に相当するものである。具体的には、分類するグループ数を予め定めておき、互いに性質が類似するものを同一のグループに分類し、そうでないものを異なるグループに分類することで、予め定めたグループ数にグルーピングする手法である。
【００３９】
よって、本実施形態において、物理量分類部４５は、物理量算出部４３によって算出された各指令点の物理量を解析結果記憶部３３から読み出し、グループ数設定部４４によって設定されたグループ数となるように、各指令点の物理量をクラスター分析し分類する。そして、物理量分類部４５は、分類結果として得られたグループ番号を各指令点の物理量に対応付けて解析結果記憶部３３に記憶するようになっている。
【００４０】
なお、クラスター分析に使用するアルゴリズムとしては、計算時間と分析精度の観点から、Ｋ−ｍｅａｎｓ法（Ｋ平均法）が好ましいが、物理量をグルーピング可能な手法であれば、特に限定されるものではなく、他のクラスタリングアルゴリズムを使用してもよい。
【００４１】
また、本実施形態において、物理量分類部４５は、同一のグループに分類された物理量を有する各指令点について、先の分類に用いた物理量とは異なる物理量に対してクラスター分析を行うことにより、さらに複数のグループに再分類する機能を有している。これにより、異なる複数の物理量によって指令点列が直列的に評価されるため、解析能力が向上することとなる。詳細については、実施例３で後述する。
【００４２】
さらに、本実施形態において、物理量分類部４５は、各指令点について算出された異なる複数の物理量からなる物理量群に対してクラスター分析を行うことにより、当該物理量群を複数のグループに分類する機能を有している。これにより、異なる複数の物理量によって指令点列が並列的に評価されるため、解析能力が向上することとなる。詳細については、実施例４で後述する。
【００４３】
解析結果出力部４６は、物理量分類部４５による分類結果を加工プログラムの解析結果として出力するものである。本実施形態において、解析結果出力部４６は、物理量分類部４５によって分類されたグループを識別可能な態様で、各指令点のプロットを表示するようになっている。具体的には、解析結果出力部４６は、解析結果記憶部３３から各指令点の位置座標およびグループ番号を読み出し、グループ番号が異なる各グループごとに、互いに識別しうる色や形状またはその組み合わせ等の表示態様を設定する。そして、解析結果出力部４６は、各指令点の位置座標に対応する位置に、設定した表示態様のプロット点を表示入力手段２に表示させるようになっている。
【００４４】
なお、解析結果の表示方法としては、ＸＹＺ空間内に各指令点に対応するプロット点を３次元表示してもよく、ＸＹ平面等において２次元表示してもよい。また、本実施形態では、解析結果出力部４６が、解析結果を表示入力手段２に表示しているが、この構成に限定されるものではなく、ユーザが理解しうる出力形式であれば、解析結果を紙に印刷して出力してもよい。さらに、本実施形態では、解析結果をユーザに提供するために出力しているが、解析結果を解析結果記憶部３３に蓄積するように構成してもよく、この場合、解析結果出力部４６を設ける必要はない。
【００４５】
つぎに、本実施形態の加工プログラム解析装置１、加工プログラム解析プログラム１ａおよび加工プログラム解析方法の作用について、図３を参照しつつ説明する。
【００４６】
まず、本実施形態の加工プログラム解析装置１によって加工プログラムを解析する前段階として、加工プログラム記憶部３２に解析対象となる加工プログラムを記憶させておくとともに、物理量定義式記憶部３４に各種の定義式を記憶させておく。これにより、加工プログラムを解析する準備が整うこととなる。
【００４７】
上記準備が整えられると、図３に示すように、まず、指令点取得部４１が、加工プログラム記憶部３２内の加工プログラムから指令点列を構成する指令点を取得する（ステップＳ１）。これにより、図２に示すように、各指令点の位置座標が解析結果記憶部３３に記憶される。
【００４８】
つぎに、表示入力手段２を介したオペレータの選択操作に応じて、物理量選択部４２が、１または２以上の物理量を選択すると（ステップＳ２）、物理量算出部４３が、各指令点について、ステップＳ２で選択された物理量を算出する（ステップＳ３）。これにより、図２に示すように、各指令点について１つの物理量または２以上の物理量群が、解析結果記憶部３３に記憶される。
【００４９】
つづいて、グループ数設定部４４が、ステップＳ３で算出された物理量（群）を複数のグループに分類するためのグループ数を設定すると（ステップＳ４）、物理量分類部４５が、当該物理量（群）に対してクラスター分析を行うことにより、物理量（群）を複数のグループに分類する（ステップＳ５）。これにより、図２に示すように、物理量（群）が類似する指令点には同一のグループ番号が付与され、物理量が類似しない指令点には異なるグループ番号が付与される。この分類結果によって、加工プログラムから有用な情報が直接取得され、様々な解析が可能となる。
【００５０】
そして、解析結果出力部４６が、分類されたグループを識別可能な態様で各指令点のプロットを表示する（ステップＳ６）。これにより、物理量の種類に応じて、性質が類似する指令点がまとまって表示されるとともに、性質が非類似の指令点が異なる態様で表示される。よって、例えば、実施例１で後述する移動量、角度または曲率半径等を物理量とした場合、図８、図１２、図１６に示すように、同一のグループに分類された指令点群によって、加工プログラムによって加工されるワークの加工面が識別される。
【００５１】
また、実施例２で後述する移動量変化量、移動量変化量の変化量または移動量の比率等を物理量とした場合、図２０、図２４、図２８に示すように、同一のグループに分類された指令点群の中に異なるグループの指令点が不規則・不連続に出現するため、当該指令点が周囲の指令点との位置関係において不揃いの指令点として抽出される。さらに、ステップＳ２で２以上の物理量を選択した場合、実施例４で後述するように、物理量の次元が増大されるため、解析精度が向上する。
【００５２】
なお、ステップＳ６で出力された解析結果に基づいて、グループ数の変更が必要であれば（ステップＳ７：ＹＥＳ）、ステップＳ４に戻り、グループ数設定部４４によって新たなグループ数を設定する。これにより、解析結果に応じて適宜グループ数を変更して再分析でき、多種多様な物理量や複雑なワーク形状であっても最適な分析が可能となる。
【００５３】
一方、グループ数の変更が不要であれば（ステップＳ７：ＮＯ）、分類された各グループに対して再分類が必要か否かを判断し（ステップＳ８）、不要であれば（ステップＳ８：ＮＯ）、本処理を終了する。
【００５４】
一方、再分類する場合には（ステップＳ８：ＹＥＳ）、ステップＳ２へ戻り、表示入力手段２を介したオペレータの選択操作に応じて、物理量選択部４２が、先の分類に用いた物理量とは異なる物理量を選択する（ステップＳ２）。これにより、実施例３で後述するように、同一のグループに分類された各指令点について、上述したステップＳ３からステップＳ６の処理が再度実行されるため、解析精度が向上する。
【００５５】
以上のような本実施形態によれば、以下のような効果を奏する。
１．加工プログラムから有用な情報を直接取得し、様々な解析を行うことができる。
２．加工プログラムによって加工されるワークがどのような加工面を有するかを識別することができる。
３．加工プログラムの指令点列を構成する各指令点のうち、周囲の指令点との位置関係において不揃いの指令点を抽出することができる。
４．識別された加工面に対して不自然な指令点や、不揃いの指令点を補正することで加工面の品位を向上することができる。
５．異なる物理量を直列的または並列的にクラスター分析することにより、解析精度を向上することができる。
６．解析結果を一目で確認し理解することができる。
【００５６】
つぎに、本発明に係る加工プログラム解析装置１、加工プログラム解析プログラム１ａおよび加工プログラム解析方法の具体的な実施例について説明する。
【００５７】
以下の実施例１〜実施例５では、解析対象の加工プログラムとして、工具刃先を螺旋状に移動させることにより、図４に示すようなブレード状のワークを削り出すブレード加工プログラムを使用した。また、クラスター分析には、Ｋ−ｍｅａｎｓアルゴリズムを使用した。さらに、以下の説明では、各種の処理を実行する主体としての加工プログラム解析装置１が文言上省略されている場合がある。
【実施例１】
【００５８】
本実施例１では、加工プログラムによって加工されるワークがどのような加工面を有するかを識別しうる物理量の検討を行った。具体的には、少なくとも前後の指令点の位置座標を用いる物理量として、下記式（１）で定義される移動量、下記式（２）で定義される角度、および下記式（３）で定義される曲率半径を案出し、各物理量を用いて前記ブレード加工プログラムの解析を行った。以下、各物理量について具体的に説明する。
【００５９】
（１）移動量
本実施例１では、１つ目の物理量として、図５に示すように、第ｉ番目の指令点の移動量Ｖｉを下記式（１）によって定義した。
Ｖｉ＝Ｐｉ＋１−Ｐｉ−１  ・・・式（１）
ただし、各符号は以下を表す。
ｉ：指令点番号
Ｐｉ：第ｉ番目の指令点の位置座標
Ｖｉ：第ｉ番目の指令点の移動量
【００６０】
なお、上記移動量を言葉で定義すると、指令点における工具の移動方向といえる（時間は入っていないので速度ではない）。本実施例１では、単に隣の指令点との差分によって移動量を定義しているが、何ブロックかにまたがって平均化してもよく、前後の指令点を含む３点について近似曲線を求め、当該近似曲線の接線方向を移動量（移動方向）としてもよい。
【００６１】
つぎに、ブレード加工プログラムの各指令点について、上記式（１）を用いてＸＹＺの各軸に対応する３つの移動量（Ｖｘ，Ｖｙ，Ｖｚ）を算出した。その結果を図６に示す。なお、第ｉ番目の指令点における各軸ごとの移動量（Ｖｘ，Ｖｙ，Ｖｚ）は、第ｉ＋１番目の指令点の位置座標（Ｐｘｉ＋１，Ｐｙｉ＋１，Ｐｚｉ＋１）および第ｉ−１番目の指令点の位置座標（Ｐｘｉ−１，Ｐｙｉ−１，Ｐｚｉ−１）を用いて下記式（１−１）〜（１−３）によって表される。
Ｖｘｉ＝Ｐｘｉ＋１−Ｐｘｉ−１  ・・・式（１−１）
Ｖｙｉ＝Ｐｙｉ＋１−Ｐｙｉ−１  ・・・式（１−２）
Ｖｚｉ＝Ｐｚｉ＋１−Ｐｚｉ−１  ・・・式（１−３）
【００６２】
そして、算出した移動量に対してクラスター分析を行うことにより、当該移動量を３つのグループに分類した。その分類結果を図７に示す。また、当該分類結果に基づいて出力した解析結果を図８に示す。なお、本実施例１および後述の実施例２〜５における分類結果や解析結果は、ブレード加工プログラムの指令点列を構成する各指令点のうち、所定のＸＹ平面内における指令点を抜粋して表示したものである。
【００６３】
図７に示すように、移動量の分布を３つのグループに分類した結果、原点付近に分布する第１グループ（○印）と、第１象限内に分布する第２グループ（△印）と、第３象限内に分布する第３グループ（×印）とに分類された。そして、各指令点の位置座標に対応する位置に、分類されたグループを識別可能な態様でプロット点を表示した結果、図８に示すように、ブレード加工プログラムの加工面として、エッジ面（○印）と、ブレード表面（×印）と、ブレード裏面（△印）とが明確に識別された。
【００６４】
（２）角度
本実施例１では、２つ目の物理量として、図９に示すように、第ｉ番目の指令点の角度θｉを下記式（２）によって定義した。
2018101347.tif 000005
ただし、各符号は以下を表す。
ｉ：指令点番号
Ｐｉ：第ｉ番目の指令点の位置座標
θｉ：第ｉ番目の指令点の角度
【００６５】
つぎに、ブレード加工プログラムの各指令点について、上記式（２）を用いて角度θを算出した。その結果を図１０に示す。そして、算出した角度に対してクラスター分析を行うことにより、当該角度を２つのグループに分類した。その分類結果を図１１に示す。また、当該分類結果に基づいて出力した解析結果を図１２に示す。なお、図１１におけるグラフの横軸は角度θ（theta）を示し、縦軸は指令点の頻度（frequency）を示している。
【００６６】
図１１に示すように、角度の分布を２つのグループに分類した結果、右上がりの斜線を付した第１グループと、右下がりの斜線を付した第２グループとに分類された。そして、各指令点の位置座標に対応する位置に、分類されたグループを識別可能な態様でプロット点を表示した結果、図１２に示すように、ブレード加工プログラムの加工面として、エッジ面（○印）と、ブレード表面・裏面（△印）とが明確に識別された。
【００６７】
（３）曲率半径
３つ目の物理量である曲率半径を定義するに際しては、まず、図１３に示すように、加工プログラムの指令点列を構成する４つの指令点Ｐｉ−１、Ｐｉ、Ｐｉ＋１、Ｐｉ＋２に基づいて、Ｐｉ、Ｐｉ＋１間の移動を示す曲線を下記式に示すｎ次多項式（ｎ：任意の自然数）によって近似した。
2018101347.tif 000006
ただし、各符号は以下を表す。
ｉ ：指令点番号
ｃｉ：係数
ｕ ：媒介変数
Ｃ（ｕ）：Ｐｉ、Ｐｉ＋１間の移動を示す曲線を近似したｎ次多項式
【００６８】
そして、第ｉ番目の指令点における曲率半径ρｉを下記式（３）によって定義した。
2018101347.tif 000007
なお、上記式（３）は、図１３に示すように、Ｃ（０）の一階微分の２乗をＣ（０）の二階微分で除算した値として定義されるものである。また、上記係数ｃｉは、最小二乗法等の回帰分析によって算出される。さらに、上記近似式は任意の次数でよいが、本実施例３では、３次近似式（ｎ＝３）であるＣ（ｕ）＝ｃ３ｕ３＋ｃ２ｕ２＋ｃ１ｕ＋ｃ０を使用した。
【００６９】
つぎに、ブレード加工プログラムの各指令点について、上記式（３）を用いて曲率半径ρを算出した。その結果を図１４に示す。そして、算出した曲率半径に対してクラスター分析を行うことにより、当該曲率半径を２つのグループに分類した。その分類結果を図１５に示す。また、当該分類結果に基づいて出力した解析結果を図１６に示す。なお、図１５におけるグラフの横軸は曲率半径（radius）を示し、縦軸は指令点の頻度（frequency）を示している。
【００７０】
図１５に示すように、曲率半径の分布を２つのグループに分類した結果、右上がりの斜線を付した第１グループと、右下がりの斜線を付した第２グループとに分類された。そして、各指令点の位置座標に対応する位置に、分類されたグループを識別可能な態様でプロット点を表示した結果、図１６に示すように、ブレード加工プログラムの加工面として、エッジ面（○印）と、ブレード表面・裏面（△印）とが明確に識別された。
【００７１】
以上より、本実施例１によれば、上記式（１）〜（３）で定義される移動量、角度または曲率半径を物理量として使用することにより、加工プログラムの指令点列を構成する各指令点が、当該加工プログラムによって加工されるワークのどの加工面に属するかを識別できることが示された。
【実施例２】
【００７２】
本実施例２では、加工プログラムの指令点列を構成する各指令点のうち、周囲の指令点との位置関係において不揃いの指令点を抽出しうる物理量の検討を行った。具体的には、少なくとも前後の指令点の位置座標を用いる物理量として、下記式（４）で定義される移動量変化量、下記式（５）で定義される移動量変化量の変化量、および下記式（６）で定義される移動量の比率を案出し、各物理量を用いて前記ブレード加工プログラムの解析を行った。以下、各物理量について具体的に説明する。
【００７３】
（４）移動量変化量
本実施例２では、４つ目の物理量として、図１７に示すように、第ｉ番目の指令点の移動量変化量Ａｉを下記式（４）によって定義した。
Ａｉ＝Ｐｉ＋１−２Ｐｉ＋Ｐｉ−１  ・・・式（４）
ただし、各符号は以下を表す。
ｉ：指令点番号
Ｐｉ：第ｉ番目の指令点の位置座標
Ａｉ；第ｉ番目の指令点の移動量変化量
【００７４】
つぎに、ブレード加工プログラムの各指令点について、上記式（４）を用いてＸＹＺの各軸に対応する３つの移動量変化量（Ａｘ，Ａｙ，Ａｚ）を算出した。その結果を図１８に示す。なお、第ｉ番目の指令点における各軸ごとの移動量変化量（Ａｘ，Ａｙ，Ａｚ）は、第ｉ＋１番目の指令点の位置座標（Ｐｘｉ＋１，Ｐｙｉ＋１，Ｐｚｉ＋１）、第ｉ番目の指令点の位置座標（Ｐｘｉ，Ｐｙｉ，Ｐｚｉ）、および第ｉ−１番目の指令点の位置座標（Ｐｘｉ−１，Ｐｙｉ−１，Ｐｚｉ−１）を用いて下記式（４−１）〜（４−３）によって表される。
Ａｘｉ＝Ｐｘｉ＋１−２Ｐｘｉ＋Ｐｘｉ−１  ・・・式（４−１）
Ａｙｉ＝Ｐｙｉ＋１−２Ｐｙｉ＋Ｐｙｉ−１  ・・・式（４−２）
Ａｚｉ＝Ｐｚｉ＋１−２Ｐｚｉ＋Ｐｚｉ−１  ・・・式（４−３）
【００７５】
そして、算出した移動量変化量に対してクラスター分析を行うことにより、当該移動量変化量を３つのグループに分類した。その分類結果を図１９に示す。また、当該分類結果に基づいて出力した解析結果を図２０に示す。
【００７６】
図１９に示すように、移動量変化量の分布を３つのグループに分類した結果、原点付近に分布する第１グループ（○印）と、第１象限内に分布する第２グループ（△印）と、第３象限内に分布する第３グループ（×印）とに分類された。そして、各指令点の位置座標に対応する位置に、分類されたグループを識別可能な態様でプロット点を表示した結果、図２０に示すように、第１グループ（○印）の指令点群の中に第２グループ（△印）および第３のグループ（×印）の指令点が不規則かつ不連続に点在しており、不揃いの指令点として明確に抽出された。
【００７７】
（５）移動量変化量の変化量
本実施例２では、５つ目の物理量として、図２１に示すように、第ｉ番目の指令点の移動量変化量の変化量Ｊｉを下記式（５）によって定義した。
Ｊｉ＝Ｐｉ＋１−３Ｐｉ＋３Ｐｉ−１−Ｐｉ−２  ・・・式（５）
ただし、各符号は以下を表す。
ｉ：指令点番号
Ｐｉ：第ｉ番目の指令点の位置座標
Ｊｉ；第ｉ番目の指令点の移動量変化量の変化量
【００７８】
つぎに、ブレード加工プログラムの各指令点について、上記式（５）を用いてＸＹＺの各軸に対応する３つの移動量変化量の変化量（Ｊｘ，Ｊｙ，Ｊｚ）を算出した。その結果を図２２に示す。なお、第ｉ番目の指令点における各軸ごとの移動量変化量の変化量（Ｊｘ，Ｊｙ，Ｊｚ）は、第ｉ＋１番目の指令点の位置座標（Ｐｘｉ＋１，Ｐｙｉ＋１，Ｐｚｉ＋１）、第ｉ番目の指令点の位置座標（Ｐｘｉ，Ｐｙｉ，Ｐｚｉ）、第ｉ−１番目の指令点の位置座標（Ｐｘｉ−１，Ｐｙｉ−１，Ｐｚｉ−１）、および第ｉ−２番目の指令点の位置座標（Ｐｘｉ−２，Ｐｙｉ−２，Ｐｚｉ−２）を用いて下記式（５−１）〜（５−３）によって表される。
Ｊｘｉ＝Ｐｘｉ＋１−３Ｐｘｉ＋３Ｐｘｉ−１−Ｐｘｉ−２  ・・・式（５−１）
Ｊｙｉ＝Ｐｙｉ＋１−３Ｐｙｉ＋３Ｐｙｉ−１−Ｐｙｉ−２  ・・・式（５−２）
Ｊｚｉ＝Ｐｚｉ＋１−３Ｐｚｉ＋３Ｐｚｉ−１−Ｐｚｉ−２  ・・・式（５−３）
【００７９】
そして、算出した移動量変化量の変化量に対してクラスター分析を行うことにより、当該移動量変化量の変化量を３つのグループに分類した。その分類結果を図２３に示す。また、当該分類結果に基づいて出力した解析結果を図２４に示す。
【００８０】
図２３に示すように、移動量変化量の変化量の分布を３つのグループに分類した結果、原点付近に分布する第１グループ（○印）と、第１象限内に分布する第２グループ（△印）と、第３象限内に分布する第３グループ（×印）とに分類された。そして、各指令点の位置座標に対応する位置に、分類されたグループを識別可能な態様でプロット点を表示した結果、図２４に示すように、第１グループ（○印）の指令点群の中に第２グループ（△印）および第３のグループ（×印）の指令点が不規則かつ不連続に点在しており、不揃いの指令点として明確に抽出された。
【００８１】
（６）移動量の比率
本実施例２では、６つ目の物理量として、図２５に示すように、第ｉ番目の指令点の移動量の比率ｋｉを下記式（６）によって定義した。
2018101347.tif 000008
ただし、各符号は以下を表す。
ｉ：指令点番号
Ｐｉ：第ｉ番目の指令点の位置座標
ｋｉ；第ｉ番目の指令点の移動量の比率
【００８２】
つぎに、ブレード加工プログラムの各指令点について、上記式（６）を用いて移動量の比率ｋを算出した。その結果を図２６に示す。そして、算出した移動量の比率に対してクラスター分析を行うことにより、当該移動量の比率を２つのグループに分類した。その分類結果を図２７に示す。また、当該分類結果に基づいて出力した解析結果を図２８に示す。なお、図２７におけるグラフの横軸は移動量の比率（ratio）を示し、縦軸は指令点の頻度（frequency）を示している。
【００８３】
図２７に示すように、移動量の比率の分布を２つのグループに分類した結果、右上がりの斜線を付した第１グループと、右下がりの斜線を付した第２グループとに分類された。そして、各指令点の位置座標に対応する位置に、分類されたグループを識別可能な態様でプロット点を表示した結果、図２８に示すように、第２グループ（○印）の指令点群の中に第１グループ（△印）の指令点が不規則かつ不連続に点在しており、不揃いの指令点として明確に抽出された。
【００８４】
以上より、本実施例２によれば、上記式（４）〜（６）で定義される移動量変化量、移動量変化量の変化量または移動量の比率を物理量として使用することにより、加工プログラムの指令点列を構成する各指令点のうち、周囲の指令点との位置関係において不揃いの指令点を抽出できることが示された。また、実施例１および実施例２によれば、物理量を適宜選択することにより、様々な解析結果を得られることが示された。
【００８５】
なお、指令点は工具経路上を一定の時間間隔で移動するものであるから、上述した移動量を時間で除算すれば速度に相当する。この場合、移動量の差分である移動量変化量は加速度に相当し、移動量変化量の差分である移動量変化量の変化量は加加速度（躍度）に相当するといえる。よって、移動量変化量を用いて解析すれば、加工プログラムにおける加速度の異常箇所が不揃いの指令点として抽出され、移動量変化量の変化量を用いて解析すれば、加工プログラムにおける加加速度の異常箇所が不揃いの指令点として抽出されることとなる。
【実施例３】
【００８６】
本実施例３では、異なる物理量を直列的に組み合わせてクラスター分析した場合における、解析結果に及ぼす影響を検討した。なお、直列的とは、所定の物理量によって同一のグループに分類された各グループのそれぞれに対して、当該物理量とは異なる物理量を用いてさらにグルーピングすることをいうものとする。
【００８７】
具体的には、まず、実施例１と同様、ブレード加工プログラムの各指令点について移動量を算出し、クラスター分析を行って３つのグループ（エッジ面、ブレード表面、ブレード裏面）に分類した。つづいて、当該３つのグループのうち、いずれかのグループ（面）に分類された各指令点について、移動量変化量を算出し、クラスター分析を行ってさらに３つのグループ（○印、△印、×印）に分類した。そして、当該分類結果に基づいて、不揃いの指令点を抽出した結果を図２９に示す。
【００８８】
一方、比較例として、図２９で解析した同一の指令点列について、実施例２と同様、移動量変化量のみを用いて不揃いの指令点を抽出した。その結果を図３０に示す。図２９に示すように、いずれかの加工面に限って不揃いの指令点を抽出した本実施例３では、図３０に示す比較例では抽出されなかった不揃いの指令点（△印、×印）が数多く抽出されており、抽出精度が向上されているのがわかる。なお、物理量の性質に鑑みて、他の物理量の組み合わせによっても同様の効果が得られるものと推認される。
【００８９】
以上より、本実施例３によれば、異なる物理量を直列的に組み合わせてクラスター分析することにより、解析精度が向上することが示された。
【実施例４】
【００９０】
本実施例４では、異なる物理量を並列的に組み合わせてクラスター分析した場合における、解析結果に及ぼす影響を検討した。なお、並列的とは、異なる複数の物理量によって高次元化された物理量群を用いてグルーピングすることをいうものとする。
【００９１】
具体的には、まず、ブレード加工プログラムの各指令点について、位置座標および移動量からなる６次元の物理量群（Ｐｘ，Ｐｙ，Ｐｚ，Ｖｘ，Ｖｙ，Ｖｚ）を算出した。その結果を図３１に示す。そして、当該６次元の物理量群（Ｐｘ，Ｐｙ，Ｐｚ，Ｖｘ，Ｖｙ，Ｖｚ）に対してクラスター分析を行い、４つのグループ（○印、△印、×印、◇印）に分類した。そして、当該分類結果に基づいて、加工面を識別した結果を図３２に示す。
【００９２】
図３２に示すように、高次元化された物理量によって加工面を識別した本実施例４では、移動量のみで加工面を識別した図８では区別できなかった左エッジ面（○印）と右エッジ面（×印）とが区別されており、識別精度が向上されていた。なお、物理量の性質に鑑みて、他の物理量の組み合わせによっても同様の効果が得られるものと推認される。
【００９３】
以上より、本実施例４によれば、異なる物理量を並列的に組み合わせてクラスター分析することにより、解析精度が向上することが示された。また、物理量を算出しようとする指令点の位置座標（Ｐｘ，Ｐｙ，Ｐｚ）自体も物理量として使用できることが示された。
【実施例５】
【００９４】
本実施例５では、多軸加工機用加工プログラムを解析対象として適用できるかの検証を行った。なお、多軸加工機用加工プログラムは、少なくとも２つの直線軸および少なくとも１つの回転軸を有する多軸加工機の動作を制御するものである。また、本実施例５では、多軸加工機用加工プログラムとして、５軸加工機用加工プログラムを使用した。
【００９５】
なお、多軸加工機で加工を行う場合、工具先端点制御と呼ばれる数値制御機能を用いて加工を行うことが一般的である。当該工具先端点制御とは、工具の姿勢変化に応じて、常に刃先が指令された経路に沿って移動するように制御する機能である。このため、多軸加工機を構成する各軸の実際の位置（以下、機械位置という）の位置座標は、加工プログラムの指令点列を構成する各指令点の位置座標とは異なる。
【００９６】
そこで本実施例５では、まず、ブレード加工プログラムの指令点列を構成する各指令点の位置座標と、当該各指令点に対応する実際の機械位置の位置座標とを用意した。これら指令点の位置座標および機械位置の位置座標をそれぞれ図３３および図３４に示す。
【００９７】
つぎに、第ｉ番目の指令点の移動量Ｖｐｉ、および当該指令点に対応する実際の機械の移動量Ｖｍｉをそれぞれ下記式（７），（８）によって定義し、各移動量を算出した。
Ｖｐｉ＝Ｐｐｉ＋１−Ｐｐｉ−１  ・・・式（７）
Ｖｍｉ＝Ｐｍｉ＋１−Ｐｍｉ−１  ・・・式（８）
ただし、各符号は以下を表す。
ｉ：指令点番号
Ｐｐｉ：第ｉ番目の指令点の位置座標
Ｖｐｉ：第ｉ番目の指令点の移動量
Ｐｍｉ：第ｉ番目の機械位置の位置座標
Ｖｍｉ：第ｉ番目の機械の移動量
【００９８】
つづいて、算出した６次元の物理量群（Ｖｐｘ，Ｖｐｙ，Ｖｐｚ，Ｖｍｘ，Ｖｍｙ，Ｖｍｚ）に対してクラスター分析を行うことにより、当該物理量群を４つのグループ（○印、△印、×印、◇印）に分類した。当該分類結果のうち、指令点の移動量に関する結果を図３５に示し、機械の移動量に関する結果を図３６に示す。
【００９９】
そして、上記分類結果に基づいて、各指令点の位置座標に対応する位置に、分類されたグループを識別可能な態様でプロット点を表示した結果、図３７に示すように、ブレード加工プログラムの加工面として、ブレード表面（◇印）と、ブレード裏面（△印）と、各エッジ面の右サイド（○印）と、各エッジ面の左サイド（×印）とが明確に識別された。なお、物理量の性質に鑑みて、他の物理量の組み合わせによっても同様の効果が得られるものと推認される。
【０１００】
以上より、本実施例５によれば、本発明に係る加工プログラム解析装置１、加工プログラム解析プログラム１ａおよび加工プログラム解析方法は、多軸加工機用加工プログラムについても解析対象として適用できることが示された。また、指令点の位置座標から変換された機械位置の位置座標を用いて算出された物理量を使用できることが示された。
【０１０１】
なお、本発明に係る加工プログラム解析装置１、加工プログラム解析プログラム１ａおよび加工プログラム解析方法は、上述した実施形態や実施例に限定されるものではなく、適宜変更することができる。
【０１０２】
例えば、上述した本実施形態では、少なくとも前後の指令点の位置座標を用いて算出する物理量として、上記式（１）〜式（６）によって定義される物理量を例示したが、これらに限定されるものではなく、各指令点の物理量は、１または複数の指令点の位置座標を用いて算出されるものであればよい。具体的には、実施例４で上述したとおり、ある指令点の位置座標自体や、当該指令点について算出された加工反力等のように、１つの指令点の位置座標を用いて算出された物理量を使用してもよい。また、実施例５で上述したように、指令点の位置座標から変換された機械位置の位置座標を用いて物理量を算出してもよい。さらに、物理量の算出に使用する指令点としては、当該指令点や、当該指令点の前後の指令点のみならず、当該指令点に隣接しない指令点を分散的に使用してもよい。
【０１０３】
また、上述した各実施例では、ブレード加工プログラムや５軸加工機用加工プログラムを解析対象としているが、他の形状のワークを加工するための加工プログラムや、他の多軸加工機用加工プログラムについても同様に解析可能である。
【０１０４】
また、上述した実施例３〜５においては、異なる２種類の物理量を直列的または並列的に組み合わせて解析しているが、物理量の組み合わせは各実施例での組み合わせに限定されるものではなく、異なる３種類以上の物理量を直列的または並列的に組み合わせて解析してもよい。
【符号の説明】
【０１０５】
１  加工プログラム解析装置
１ａ  加工プログラム解析プログラム
２  表示入力手段
３  記憶手段
４  演算処理手段
３１  プログラム記憶部
３２  加工プログラム記憶部
３３  解析結果記憶部
３４  物理量定義式記憶部
４１  指令点取得部
４２  物理量選択部
４３  物理量算出部
４４  グループ数設定部
４５  物理量分類部
４６  解析結果出力部
【図１】
2018101347.tif 000011
【図２】
2018101347.tif 000012
【図３】
2018101347.tif 000013
【図４】
2018101347.tif 000014
【図５】
2018101347.tif 000015
【図６】
2018101347.tif 000016
【図７】
2018101347.tif 000017
【図８】
2018101347.tif 000018
【図９】
2018101347.tif 000019
【図１０】
2018101347.tif 000020
【図１１】
2018101347.tif 000021
【図１２】
2018101347.tif 000022
【図１３】
2018101347.tif 000023
【図１４】
2018101347.tif 000024
【図１５】
2018101347.tif 000025
【図１６】
2018101347.tif 000026
【図１７】
2018101347.tif 000027
【図１８】
2018101347.tif 000028
【図１９】
2018101347.tif 000029
【図２０】
2018101347.tif 000030
【図２１】
2018101347.tif 000031
【図２２】
2018101347.tif 000032
【図２３】
2018101347.tif 000033
【図２４】
2018101347.tif 000034
【図２５】
2018101347.tif 000035
【図２６】
2018101347.tif 000036
【図２７】
2018101347.tif 000037
【図２８】
2018101347.tif 000038
【図２９】
2018101347.tif 000039
【図３０】
2018101347.tif 000040
【図３１】
2018101347.tif 000041
【図３２】
2018101347.tif 000042
【図３３】
2018101347.tif 000043
【図３４】
2018101347.tif 000044
【図３５】
2018101347.tif 000045
【図３６】
2018101347.tif 000046
【図３７】
2018101347.tif 000047
【図３８】
2018101347.tif 000048
【図３９】
2018101347.tif 000049