(57)【要約】  ＮＣプログラム検索方法において、加工対象物の形状データが外部入力されると、加工対象物の形状データに対応する画像データを加工対象画像データとして生成する第１の画像生成ステップと、過去に作成されたＮＣプログラムに基づいて、加工仕上がり形状の画像データを仕上がり形状画像データとして生成する第２の画像生成ステップと、仕上がり形状画像データを、対応するＮＣプログラムと関連付けて保存する保存ステップと、加工対象画像データと、仕上がり形状画像データとの比較を行うことによって両者の類似度を算出する類似度算出ステップと、類似度に基づいて、加工対象画像データに類似または一致する仕上がり形状画像データの候補を検索して表示する検索ステップと、仕上がり形状画像データの候補の中から、外部入力によって指定された仕上がり形状画像データのＮＣプログラムを表示する表示ステップとを含む。
2014091543.tif 000002
【特許請求の範囲】
【請求項１】
加工対象物の形状データが外部入力されると、前記加工対象物の形状データに対応する画像データを加工対象画像データとして生成する第１の画像生成ステップと、
過去に作成されたＮＣプログラムに基づいて、加工仕上がり形状の画像データを仕上がり形状画像データとして生成する第２の画像生成ステップと、
前記仕上がり形状画像データを、対応するＮＣプログラムと関連付けて保存する保存ステップと、
前記加工対象画像データと、前記仕上がり形状画像データとの比較を行うことによって両者の類似度を算出する類似度算出ステップと、
前記類似度に基づいて、前記加工対象画像データに類似または一致する仕上がり形状画像データの候補を検索して表示する検索ステップと、
前記仕上がり形状画像データの候補の中から、外部入力によって指定された仕上がり形状画像データのＮＣプログラムを表示する第１のプログラム表示ステップと、
を含むことを特徴とするＮＣプログラム検索方法。
【請求項２】
前記検索ステップでは、前記類似度が高い順番で、前記仕上がり形状画像データの候補が一覧表示されることを特徴とする請求項１に記載のＮＣプログラム検索方法。
【請求項３】
前記第２の画像生成ステップは、
前記過去に作成されたＮＣプログラムの加工単位ごとの加工に関する定義データに基づいて、素材から除去される形状である除去形状を生成する除去形状生成ステップと、
前記定義データに基づいて、前記素材の形状である素材形状を生成する素材形状生成ステップと、
前記素材形状および前記除去形状を用いて、前記仕上がり形状画像データを生成する画像生成ステップと、
を有することを特徴とする請求項１または２に記載のＮＣプログラム検索方法。
【請求項４】
前記第１の画像生成ステップは、
前記加工対象物の形状データまたは前記加工対象画像データに基づいて、前記加工対象物の形状寸法である第１の形状寸法を算出する第１の形状寸法算出ステップを有し、
前記第２の画像生成ステップは、
前記仕上がり形状画像データに基づいて、前記加工仕上がり形状の形状寸法である第２の形状寸法を算出する第２の形状寸法算出ステップをさらに有し、
前記類似度算出ステップは、
前記第１の形状寸法と前記第２の形状寸法とに基づいて、前記加工対象物の形状と前記加工仕上がり形状とを比較することによって類似度を算出することを特徴とする請求項１または２に記載のＮＣプログラム検索方法。
【請求項５】
前記加工対象物を加工する際に用いるＮＣプログラムに関する情報として、素材の材質、加工種類、工具種類および工具呼びの少なくとも１つが絞り込み情報として外部入力によって指定されると、前記過去に作成されたＮＣプログラムの中から前記絞り込み情報に応じたＮＣプログラムを抽出するプログラム抽出ステップをさらに含み、
前記類似度算出ステップでは、
抽出されたＮＣプログラムに対応する仕上がり形状画像データを抽出し、抽出した仕上がり形状画像データと、前記加工対象画像データとの比較を行うことによって前記類似度を算出することを特徴とする請求項１または２に記載のＮＣプログラム検索方法。
【請求項６】
前記類似度算出ステップでは、
前記加工対象画像データの画素と、前記仕上がり形状画像データの画素との間の一致度に基づいて前記類似度を算出することを特徴とする請求項１または２に記載のＮＣプログラム検索方法。
【請求項７】
前記類似度算出ステップでは、
前記加工対象画像データのエッジまたはエッジ端点と、前記仕上がり形状画像データのエッジまたはエッジ端点との間の一致度に基づいて前記類似度を算出することを特徴とする請求項１または２に記載のＮＣプログラム検索方法。
【請求項８】
前記第２の画像生成ステップでは、
複数の視線方向から前記加工仕上がり形状画像データを生成することを特徴とする請求項１または２に記載のＮＣプログラム検索方法。
【請求項９】
１〜複数の仕上がり形状画像データの中から、外部入力によって複数の加工単位が指定されると、指定された加工単位を組み合わせてＮＣプログラムを生成するプログラム生成ステップと、
生成されたＮＣプログラムを表示する第２のプログラム表示ステップをさらに含むことを特徴とする請求項１〜８のいずれか１つに記載のＮＣプログラム検索方法。
【請求項１０】
外部入力される指示に従って、表示中のＮＣプログラムを編集する編集ステップをさらに含むことを特徴とする請求項１〜９のいずれか１つに記載のＮＣプログラム検索方法。
【請求項１１】
加工対象物の形状データが外部入力される入力部と、
前記加工対象物の形状データに対応する画像データを加工対象画像データとして生成する画像データ生成部と、
過去に作成されたＮＣプログラムを記憶しておくＮＣプログラム記憶部と、
前記過去に作成されたＮＣプログラムに基づいて、加工仕上がり形状の画像データを仕上がり形状画像データとして生成する仕上がり形状生成部と、
前記仕上がり形状画像データを、対応するＮＣプログラムと関連付けて記憶する画像データ記憶部と、
前記加工対象画像データと、前記仕上がり形状画像データとの比較を行うことによって両者の類似度を算出するとともに、前記類似度に基づいて、前記加工対象画像データに類似または一致する仕上がり形状画像データの候補を検索する検索部と、
前記仕上がり形状画像データの候補を表示するとともに、
前記仕上がり形状画像データの候補の中から、外部入力によって仕上がり形状画像データが指定されると、指定された仕上がり形状画像データに対応するＮＣプログラムを表示する表示部と、
を備えることを特徴とするＮＣプログラム検索装置。
【請求項１２】
加工対象物の形状データが外部入力されると、前記加工対象物の形状データに対応する画像データを加工対象画像データとして生成する第１の画像生成ステップと、
過去に作成されたＮＣプログラムに基づいて、加工仕上がり形状の画像データを仕上がり形状画像データとして生成する第２の画像生成ステップと、
前記仕上がり形状画像データを、対応するＮＣプログラムと関連付けて保存する保存ステップと、
前記加工対象画像データと、前記仕上がり形状画像データとの比較を行うことによって両者の類似度を算出する類似度算出ステップと、
前記類似度に基づいて、前記加工対象画像データに類似または一致する仕上がり形状画像データの候補を検索して表示する検索ステップと、
前記仕上がり形状画像データの候補の中から、外部入力によって指定された仕上がり形状画像データのＮＣプログラムを表示する第１のプログラム表示ステップと、
外部入力される指示に従って、表示中のＮＣプログラムを編集する編集ステップと、
を含むことを特徴とするＮＣプログラム作成方法。
【請求項１３】
加工対象物の形状データが外部入力される入力部と、
前記加工対象物の形状データに対応する画像データを加工対象画像データとして生成する画像データ生成部と、
過去に作成されたＮＣプログラムを記憶しておくＮＣプログラム記憶部と、
前記過去に作成されたＮＣプログラムに基づいて、加工仕上がり形状の画像データを仕上がり形状画像データとして生成する仕上がり形状生成部と、
前記仕上がり形状画像データを、対応するＮＣプログラムと関連付けて記憶する画像データ記憶部と、
前記加工対象画像データと、前記仕上がり形状画像データとの比較を行うことによって両者の類似度を算出するとともに、前記類似度に基づいて、前記加工対象画像データに類似または一致する仕上がり形状画像データの候補を検索する検索部と、
前記仕上がり形状画像データの候補を表示するとともに、
前記仕上がり形状画像データの候補の中から、外部入力によって仕上がり形状画像データが指定されると、指定された仕上がり形状画像データに対応するＮＣプログラムを表示する表示部と、
外部入力される指示に従って、表示中のＮＣプログラムを編集する編集部と、
を備えることを特徴とするＮＣプログラム作成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工作機械を数値制御するためのＮＣプログラムを検索するＮＣプログラム検索方法、ＮＣプログラム検索装置、ＮＣプログラム作成方法およびＮＣプログラム作成装置に関する。
【背景技術】
【０００２】
工作機械を数値制御するためのＮＣプログラム（数値制御加工プログラム）を作成する装置として、プログラム作成装置がある。このような、プログラム作成装置の中には、ＮＣプログラムを作成する際に作成を支援する機能（作成支援機能）を有しているものがある。【０００３】
近年、作成支援機能の充実化が進んでおり、オペレータが製作図面を見ながら加工対象物の座標値を設定していくことで容易にＮＣプログラムを作成できるようになった。また、設計者がＣＡＤシステムを用いてモデリングしたＣＡＤデータを、直接読み込んでＮＣプログラムの作成を行なうことができるプログラム作成装置も登場している。また、最近の数値制御装置は、内部メモリの容量が増えたので、多数のＮＣプログラムを内部メモリに格納できるようになった。このため、オペレータは加工すべきワークに応じて必要なＮＣプログラムを選択し、加工すべきワークに応じてＮＣプログラムを編集している。その際に、オペレータは、類似製品に対しては過去の製品のＮＣプログラムを利用することで、ＮＣプログラムの作成を効率化している。【０００４】
ところが、従来のＮＣプログラム作成装置は、過去に生成されたＮＣプログラムを利用できるような機能を備えていないので、全ての製品について同じ手順でＮＣプログラムを生成する必要があった。このため、ＮＣプログラムを作成するうえでの効率面において、十分とはいえなかった。【０００５】
特許文献１に記載の検索装置は、素材の形状特徴、加工部位の形状特徴および加工種類からなる加工要素データと、工具関連データをプログラミング基礎データとして予め複数の製品について記憶している。そして、検索装置は、加工対象製品および素材の３次元形状データを基に、加工対象製品の加工要素データを生成し、生成した加工要素データを基に、記憶しておいたプログラミング基礎データを検索し、加工対象製品に類似した製品のプログラミング基礎データを抽出している。【０００６】
また、特許文献２に記載のプログラムの管理装置は、ＮＣプログラムと、このＮＣプログラムに関係する写真と、プログラム情報を関連付けて記憶している。そして、管理装置は、ＮＣプログラムと、前記写真と、加工結果などを検索情報としてオペレータに入力させている。これにより、管理装置は、記憶しているＮＣプログラムの中から、検索情報に基づいて、所望のＮＣプログラムを抽出している。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００３−５８２１５号公報
【特許文献２】特開２００１−２５５９１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記前者の従来技術では、３次元形状データを基に加工要素データを生成しなければならないので、加工要素データ単位での利用しかできない。また、記憶しておいたプログラミング基礎データを検索する際には、素材の形状などの一致性、または寸法差に基づいて、プログラミング基礎データを検索しているので、オペレータが満足する検索条件を設定しなければ、所望の検索を行えないという問題があった。【０００９】
また、上記後者の従来技術では、ＮＣプログラムと、加工品の写真と、加工結果などとを、オペレータが入力する必要があるので、検索処理に手間がかかる。また、ＮＣプログラムと加工結果とを関連付けただけなので、多数のＮＣプログラムに関連付けられた加工結果の中から、オペレータ自身が加工結果を探し出さなければならないという問題があった。【００１０】
本発明は、上記に鑑みてなされたものであって、ＮＣプログラムの検索を容易に効率良く行うことができるＮＣプログラム検索方法、ＮＣプログラム検索装置、ＮＣプログラム作成方法およびＮＣプログラム作成装置を得ることを目的とする。
【課題を解決するための手段】
【００１１】
上述した課題を解決し、目的を達成するために、本発明は、加工対象物の形状データが外部入力されると、前記加工対象物の形状データに対応する画像データを加工対象画像データとして生成する第１の画像生成ステップと、過去に作成されたＮＣプログラムに基づいて、加工仕上がり形状の画像データを仕上がり形状画像データとして生成する第２の画像生成ステップと、前記仕上がり形状画像データを、対応するＮＣプログラムと関連付けて保存する保存ステップと、前記加工対象画像データと、前記仕上がり形状画像データとの比較を行うことによって両者の類似度を算出する類似度算出ステップと、前記類似度に基づいて、前記加工対象画像データに類似または一致する仕上がり形状画像データの候補を検索して表示する検索ステップと、前記仕上がり形状画像データの候補の中から、外部入力によって指定された仕上がり形状画像データのＮＣプログラムを表示する第１のプログラム表示ステップとを含むことを特徴とする。
【発明の効果】
【００１２】
本発明によれば、ＮＣプログラムの検索を容易に効率良く行うことが可能になるという効果を奏する。
【図面の簡単な説明】
【００１３】
【図１】図１は、実施の形態に係るＮＣプログラム作成装置の構成を示すブロック図である。
【図２】図２は、実施の形態に係るＮＣプログラム作成装置の動作処理手順を示すフローチャートである。
【図３】図３は、画像データ生成部の動作処理手順を示すフローチャートである。
【図４】図４は、丸物加工を行う場合の製品形状データの配置処理手順を示すフローチャートである。
【図５】図５は、角物加工を行う場合の製品形状データの配置処理手順を示すフローチャートである。
【図６】図６は、丸物加工を行う場合の製品形状データの配置例を示す図である。
【図７】図７は、角物加工を行う場合の製品形状データの配置例を示す図である。
【図８】図８は、正面の画像データの一例を示す図である。
【図９】図９は、背面の画像データの一例を示す図である。
【図１０】図１０は、左側面の画像データの一例を示す図である。
【図１１】図１１は、右側面の画像データの一例を示す図である。
【図１２】図１２は、上面の画像データの一例を示す図である。
【図１３】図１３は、下面の画像データの一例を示す図である。
【図１４】図１４は、左上正面の画像データの一例を示す図である。
【図１５】図１５は、左下正面の画像データの一例を示す図である。
【図１６】図１６は、右上正面の画像データの一例を示す図である。
【図１７】図１７は、右下正面の画像データの一例を示す図である。
【図１８】図１８は、左上背面の画像データの一例を示す図である。
【図１９】図１９は、左下背面の画像データの一例を示す図である。
【図２０】図２０は、右上背面の画像データの一例を示す図である。
【図２１】図２１は、右下背面の画像データの一例を示す図である。
【図２２】図２２は、類似度が高い順番で並べられた画像データ一覧の生成処理手順を示すフローチャートである。
【図２３】図２３は、加工仕上がり形状の一例を示す図である。
【図２４】図２４は、図２３の形状データを基にして類似度が高い順に並べられた画像一覧の表示例を示す図である。
【図２５】図２５は、旋削加工の加工形状を生成する処理手順を示すフローチャートである。
【図２６】図２６は、面加工の加工形状を生成する処理手順を示すフローチャートである。
【図２７】図２７は、線加工の加工形状を生成する処理手順を示すフローチャートである。
【図２８】図２８は、穴加工の加工形状を生成する処理手順を示すフローチャートである。
【図２９】図２９は、旋削加工断面形状の一例を示す図である。
【図３０】図３０は、旋削加工の除去形状の一例を示す図である。
【図３１】図３１は、素材形状から旋削加工の除去形状を取り去った加工仕上がり形状の一例を示す図である。
【図３２】図３２は、面加工の加工平面形状の一例を示す図である。
【図３３】図３３は、面加工の除去形状の一例を示す図である。
【図３４】図３４は、図３３に示した面加工の除去形状が取り去られた加工仕上がり形状の一例を示す図である。
【図３５】図３５は、線加工の形状データの一例を示す図である。
【図３６】図３６は、線加工の形状要素を含む平面形状の一例を示す図である。
【図３７】図３７は、線加工の除去形状の一例を示す図である。
【図３８】図３８は、図３７に示した線加工の除去形状が取り去られた加工仕上がり形状の一例を示す図である。
【図３９】図３９は、穴断面形状の一例を示す図である。
【図４０】図４０は、穴加工単体形状の一例を示す図である。
【図４１】図４１は、穴加工の除去形状の一例を示す図である。
【図４２】図４２は、図４１に示した穴加工の除去形状が取り去られた加工仕上がり形状の一例を示す図である。
【図４３】図４３は、ドリル加工を含んだＮＣプログラムの加工仕上がり形状の一例を示す図である。
【図４４】図４４は、ドリル加工の除去形状を示す図である。
【図４５】図４５は、ドリル加工のＮＣプログラムの一例を示す図である。
【図４６】図４６は、ドリル加工を含まないＮＣプログラムの加工仕上がり形状の一例を示す図である。
【図４７】図４７は、ドリル加工の除去形状および加工プログラムを、加工仕上がり形状に挿入した後の加工仕上がり形状の一例を示す図である。
【図４８】図４８は、挿入したドリル加工のＮＣプログラムの一例を示す図である。
【図４９】図４９は、挿入したドリル加工を移動し、さらに挿入したドリル加工をコピーして再度挿入し移動した加工仕上がり形状の一例を示す図である。
【図５０】図５０は、挿入し移動したドリル加工とコピーして挿入し移動したドリル加工とで構成される除去形状の一例を示す図である。
【図５１】図５１は、挿入し移動したドリル加工とコピーして挿入し移動したドリル加工とで構成されるＮＣプログラムの一例を示す図である。
【発明を実施するための形態】
【００１４】
以下に、本発明の実施の形態に係るＮＣプログラム検索方法、ＮＣプログラム検索装置、ＮＣプログラム作成方法およびＮＣプログラム作成装置を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１５】
実施の形態
図１は、実施の形態に係るＮＣプログラム作成装置の構成を示すブロック図である。ＮＣプログラム作成装置（数値制御加工プログラミング装置）１０１は、数値制御（ＮＣ：Numerical  Control  machining）プログラムを作成する装置である。ＮＣプログラムは、数値制御によって機械をＮＣ加工する際に用いられるプログラムである。ＮＣ加工を行うＮＣ制御装置は、加工対象物である素材（加工前の被加工物）を加工することによって、加工仕上がり形状を有した製品（加工後の被加工物）を形成する。
【００１６】
ＮＣプログラム作成装置１０１は、作成支援装置１０２と、対話操作処理部６と、表示部７と、指示入力部８と、ＮＣプログラム出力部９とを備えている。そして、作成支援装置１０２は、ＣＡＤデータ入力部１、画像データ生成部２、ＮＣプログラム検索部３、加工仕上がり形状生成部４、ＮＣプログラム編集部５、画像データ保存部１１、ＮＣプログラム保存部１２、ＮＣプログラムＤＢ（Database）１３、画像データＤＢ１４を有している。
【００１７】
対話操作処理部６は、表示部７、指示入力部８および作成支援装置１０２に接続されている。また、ＮＣプログラム出力部９は、作成支援装置１０２に接続されている。
【００１８】
ＮＣプログラム作成装置１０１のうち、例えば、画像データ生成部２、ＮＣプログラム検索部３、加工仕上がり形状生成部４、ＮＣプログラム編集部５、対話操作処理部６、ＮＣプログラム出力部９などは、ソフトウエアによって構成されている。
【００１９】
ＣＡＤ（Computer  Aided  Design）データ入力部１は、ＣＡＤシステム（図示せず）やＣＡＤデータ記憶装置（図示せず）などの外部装置などからＣＡＤデータ２１を入力し、画像データ生成部２へ送る。
【００２０】
ＣＡＤデータ２１は、例えば、製品に関する情報、素材に関する情報、素材から製品を形成する際に用いられる加工指示に関する情報などを含んで構成されている。ＣＡＤデータ２１内の製品に関する情報には、例えば、製品の形状データなどがある。製品の形状データ（以下、製品形状データという）は、例えば、ＣＡＤシステムなどを用いて生成されたものであり、製品の形状および寸法を示す情報を有している。また、ＣＡＤデータ２１内の素材に関する情報には、素材の材質および寸法に関するデータなどがある。また、ＣＡＤデータ２１内の加工指示に関する情報には、素材のうち加工によって除去する領域（加工領域）のデータなどがある。
【００２１】
画像データ生成部２は、ＣＡＤデータ２１を用いて、製品の画像データ（加工対象画像データ）を生成し、画像データ保存部１１に保存する。製品の画像データは、製品の形状を２次元表示または３次元表示させた画像のデータである。画像データ保存部１１は、画像データ生成部２で生成された画像データを保存するメモリなどである。
【００２２】
表示部７は、液晶モニタなどの表示端末であり、ＣＡＤデータ２１、オペレータによって指定された製品形状データの図形要素、または加工に関するデータなどを表示する。指示入力部８は、マウスやキーボードを備えて構成され、オペレータ（作業者）からの指示情報などを入力する。入力された指示情報は、対話操作処理部６へ送られる。
【００２３】
対話操作処理部６は、ＣＡＤデータ入力部１に入力されたＣＡＤデータ２１を表示部７に表示させる。また、対話操作処理部６は、指示入力部８からの指示情報を入力する。対話操作処理部６は、例えばオペレータがマウスなどによって指定した画像データを、指示情報として指示入力部８から受け付ける。対話操作処理部６は、指示入力部８からの指示情報に基づいて、ＮＣプログラムの編集を受け付ける。また、対話操作処理部６は、指示情報に応じた編集をＮＣプログラム編集部５に行わせ、編集後のＮＣプログラムをＮＣプログラム保存部１２に保存する。
【００２４】
ＮＣプログラム保存部１２は、編集前のＮＣプログラムおよび編集後のＮＣプログラムを記憶するメモリなどである。ＮＣプログラム保存部１２は、ＮＣプログラム編集部５がＮＣプログラムＤＢ１３から読み出したＮＣプログラムおよびＮＣプログラム編集部５で編集されたＮＣプログラムを記憶する。
【００２５】
ＮＣプログラム検索部３は、画像データ保存部１１に保存された画像データと、画像データＤＢ１４に保存されている画像データとの比較を行うことによって、両者の類似度を算出する。ＮＣプログラム検索部３は、算出した類似度に基づいて、類似度が高い画像データの一覧を生成する。ＮＣプログラム検索部３で生成された画像データの一覧は、表示部７によって表示される。
【００２６】
ＮＣプログラムＤＢ１３は、過去のＮＣプログラムを記憶するデータベースである。画像データＤＢ１４は、ＮＣプログラムＤＢ１３が記憶している過去のＮＣプログラムに対応する画像データ（仕上がり形状画像データ）を記憶するデータベースである。画像データＤＢ１４は、過去に生成されたＮＣプログラムと、このＮＣプログラムに対応する画像データの対応関係を記憶しておく。
【００２７】
ＮＣプログラム編集部５は、オペレータに指定された画像データにリンクするＮＣプログラムをＮＣプログラムＤＢ１３から取得し、ＮＣプログラム保存部１２に保存する。オペレータに指定される画像データは、表示部７に表示されている画像データの一覧から、オペレータが指示入力部８を介して指定するものである。オペレータに指定された画像データは、指示入力部８および対話操作処理部６を介してＮＣプログラム編集部５に通知される。これにより、ＮＣプログラム編集部５は、通知された画像データに対応するＮＣプログラムをＮＣプログラムＤＢ１３から読み出す。
【００２８】
また、ＮＣプログラム編集部５は、ＮＣプログラム保存部１２に保存されているＮＣプログラムを、オペレータからの指示に従って編集する。オペレータによる編集指示は、表示部７に表示されているＮＣプログラムに対し、オペレータが指示入力部８を介して入力するものである。オペレータによって入力された編集指示は、指示入力部８および対話操作処理部６を介してＮＣプログラム編集部５に通知される。これにより、ＮＣプログラム編集部５は、通知された編集指示に対応する編集処理を行う。ＮＣプログラム編集部５は、編集後のＮＣプログラムを、ＮＣプログラム保存部１２およびＮＣプログラムＤＢ１３に保存する。
【００２９】
加工仕上がり形状生成部４は、ＮＣプログラムＤＢ１３に保存されているＮＣプログラムに対応する画像データが、画像データＤＢ１４に無い場合に、ＮＣプログラムから加工仕上がり形状の画像データを生成する。加工仕上がり形状生成部４は、ＮＣプログラムＤＢ１３内からＮＣプログラムを読み出すとともに、読み出したＮＣプログラムを用いて加工仕上がり形状を生成する。加工仕上がり形状生成部４は、生成した加工仕上がり形状を画像データＤＢ１４に保存する。
【００３０】
ＮＣプログラム出力部９は、オペレータから出力指示されたＮＣプログラムを、ＮＣプログラム保存部１２から読み出して、ＮＣプログラム３１として外部に出力する。オペレータによるＮＣプログラムの出力指示は、表示部７に表示されているＮＣプログラムに対し、オペレータが指示入力部８を介して入力するものである。オペレータによって入力された出力指示は、指示入力部８および対話操作処理部６を介してＮＣプログラム編集部５に通知される。これにより、ＮＣプログラム編集部５は、通知された出力指示に対応するＮＣプログラムをＮＣプログラム保存部１２から読み出して、ＮＣプログラム出力部９に送る。
【００３１】
なお、ＮＣプログラム作成装置１０１は、ＮＣプログラム作成装置そのものとして構築されることなく、パーソナルコンピュータ内や、ＮＣ装置内に構築される場合もある。また、ＮＣプログラム作成装置１０１のハードウェア構成は、ＣＰＵ（Central  Processing  Unit）、メモリなどを有する一般的なパーソナルコンピュータと実質的に同一である。
【００３２】
つぎに、ＮＣプログラム作成装置１０１の動作処理について説明する。図２は、実施の形態に係るＮＣプログラム作成装置の動作処理手順を示すフローチャートである。ＣＡＤデータ入力部１は、ＣＡＤデータ２１を入力し（ステップＳ１０１）、画像データ生成部２に送る。
【００３３】
これにより、画像データ生成部２は、ＣＡＤデータ２１に応じた製品の画像データを生成する（ステップＳ１０２）。そして、画像データ生成部２は、生成した画像データを画像データ保存部１１に保存する。
【００３４】
ＮＣプログラム検索部３は、画像データ生成部２が生成した画像データと、画像データＤＢ１４に保存されている過去の画像データとの比較を行うことによって、両者の類似度を算出する。そして、ＮＣプログラム検索部３は、算出した類似度に基づいて、類似度が高い順番に画像データの候補を並べた画像データの一覧を生成する（ステップＳ１０３）。ＮＣプログラム検索部３で生成された画像データの一覧は、表示部７によって表示される（ステップＳ１０４）。
【００３５】
ここで、画像データ生成部２の処理について説明する。図３は、画像データ生成部の動作処理手順を示すフローチャートである。画像データ生成部２は、ＣＡＤデータ入力部１に入力されたＣＡＤデータ２１から製品形状データを抽出し、加工特性に応じた方向に配置する（ステップＳ２０１）。
【００３６】
次に、画像データ生成部２は、製品形状データからワイヤフレーム画像を生成する（ステップＳ２０２）。この後、画像データ生成部２は、製品形状データからシェーディング画像を生成する（ステップＳ２０３）。
【００３７】
画像データ生成部２は、たとえば、製品形状データからエッジやシルエットを数学的に解析することによって、製品形状データからワイヤフレーム画像を生成する。具体的には、画像データ生成部２は、製品（製品形状データ）から十分に離れた視点位置から、以下に示す視線方向ベクトルと、以下に示す画面の上方向ベクトルとを組み合わせて画像データを生成する。そして、画像データ生成部２は、生成した画像データが、画像データ枠内におさまるように、画像データにスケールをかけることによって、ワイヤフレーム画像を生成する。
【００３８】
また、画像データ生成部２は、たとえば、任意の光源を基に、製品形状データによって定義される形状に陰影をつけることにより、シェーディング画像を生成する。具体的には、画像データ生成部２は、製品（製品形状データ）から十分に離れた視点位置から、以下に示す視線方向ベクトルと、以下に示す画面の上方向ベクトルとを組み合わせて画像データを生成する。そして、画像データ生成部２は、生成した画像データが、画像データ枠内におさまるように、画像データにスケールをかけることによって、シェーディング画像を生成する。
【００３９】
なお、視線方向ベクトルは、視点位置からの方向ベクトルである。また、必ずしも、全視線方向の組み合わせの画像データが必要ではなく、丸物加工の場合、たとえば正面、背面、左側面、右側面、上面および下面の画像データを生成すればよい。
【００４０】
正面：視線方向ベクトル（０，０，１）、画面の上方向ベクトル（１，０，０）
背面：視線方向ベクトル（０，０，−１）、画面の上方向ベクトル（１，０，０）
左側面：視線方向ベクトル（０，１，０）、画面の上方向ベクトル（１，０，０）
右側面：視線方向ベクトル（０，−１，０）、画面の上方向ベクトル（１，０，０）
上面：視線方向ベクトル（−１，０，０）、画面の上方向ベクトル（０，１，０）
下面：視線方向ベクトル（１，０，０）、画面の上方向ベクトル（０，−１，０）
左上正面：視線方向ベクトル（−１，１，１）、画面の上方向ベクトル（１，０，０）
左下正面：視線方向ベクトル（１，１，１）、画面の上方向ベクトル（１，０，０）
右上正面：視線方向ベクトル（−１，−１，１）、画面の上方向ベクトル（１，０，０）
右下正面：視線方向ベクトル（１，−１，１）、画面の上方向ベクトル（１，０，０）
左上背面：視線方向ベクトル（−１，１，−１）、画面の上方向ベクトル（１，０，０）
左下背面：視線方向ベクトル（１，１，−１）、画面の上方向ベクトル（１，０，０）
右上背面：視線方向ベクトル（−１，−１，−１）、画面の上方向ベクトル（１，０，０）
右下背面：視線方向ベクトル（１，−１，−１）画面の上方向ベクトル（１，０，０）
【００４１】
ここで、製品形状データを、加工特性に応じた方向に配置する処理（ステップＳ２０１の処理）について説明する。被加工物への加工処理としては、例えば、旋削加工を行う丸物加工、またはミル加工を行う角物加工などがある。
【００４２】
図４は、丸物加工を行う場合の製品形状データの配置処理手順を示すフローチャートである。また、図５は、角物加工を行う場合の製品形状データの配置処理手順を示すフローチャートである。また、図６は、丸物加工を行う場合の製品形状データの配置例を示す図であり、図７は、角物加工を行う場合の製品形状データの配置例を示す図である。丸物加工の対象物が丸物加工物５０であり、角物加工の対象物が角物加工物６０である。
【００４３】
被加工物への加工処理が、旋削加工を行う丸物加工の場合、画像データ生成部２は、ＣＡＤデータ２１内の製品形状データから最大径の円柱面（以下、最大円柱面という）を検索する（ステップＳ３０１）。そして、画像データ生成部２は、最大円柱面５１の中心軸（柱軸）がＺ軸と一致するよう、製品形状データを回転・移動させる（ステップＳ３０２）。
【００４４】
次に、画像データ生成部２は、ＣＡＤデータからＺ軸と垂直でない平面を検索する。ここでの画像データ生成部２は、最大円柱面５１の中心軸に垂直とならない平面（円柱の上面に非平行な平面）５２を検索する。最大円柱面５１の中心軸に対して垂直とならない平面が複数ある場合、画像データ生成部２は、例えば、最大面積の平面を検索する（ステップＳ３０３）。
【００４５】
画像データ生成部２は、最大円柱面５１の中心軸に垂直とならない平面（円柱の上面に非平行な平面）５２がある場合（ステップＳ３０４、Ｙｅｓ）、その平面５２の法線ベクトルが＋Ｘ軸方向ベクトル（１，０，０）を向き、かつＹ値が０、Ｘ値が正値となるように、最大円柱面５１の中心軸（Ｚ軸）を中心として製品（製品形状データ）（丸物加工物５０）を回転させる（ステップＳ３０５）。
【００４６】
また、最大円柱面５１の中心軸（Ｚ軸）に対して垂直とならない平面が無い場合（ステップＳ３０４、Ｎｏ）、画像データ生成部２は、ＣＡＤデータから穴形状を検索する。複数の穴形状がある場合、画像データ生成部２は、最大径の穴形状を検索する（ステップＳ３０６）。
【００４７】
画像データ生成部２は、最大円柱面５１に形成される穴５３の位置に基づいて、製品を回転させる。例えば、画像データ生成部２は、穴５３の形状が円柱状である場合、穴５３を構成する円柱面（穴５３の側壁面）の中心軸ベクトルが＋Ｘ軸方向ベクトル（１，０，０）を向き、かつＹ値が０となるように、最大円柱面５１の中心軸を中心として製品を回転させる（ステップＳ３０７）。
【００４８】
この場合において、穴形状が複数ある場合、画像データ生成部２は、最大径の穴形状の円柱面を回転させる。画像データ生成部２は、平面の法線ベクトルまたは穴形状の円柱面の中心軸ベクトルが、＋Ｘ軸方向ベクトルを向くように回転させた後、製品（ＣＡＤデータ）の−Ｚ軸方向の端点もしくは端面の位置ベクトルのＺ値がＺ＝０となるように、製品形状データをＺ軸に沿って平行移動させる（ステップＳ３０８）。
【００４９】
被加工物への加工処理が、ミル加工を行う角物加工の場合、画像データ生成部２は、ＣＡＤデータ２１内の製品形状データから最大面積を有した平面６１を検索する（ステップＳ４０１）。
【００５０】
そして、画像データ生成部２は、製品形状データの＋Ｚ軸方向の端点もしくは端面の位置ベクトルのＺ値が０となるように、Ｚ軸に沿って製品形状データ（ＣＡＤデータ）を平行移動する（ステップＳ４０２）。
【００５１】
次に、画像データ生成部２は、製品形状データの長手方向がＸ軸方向（１，０，０）となるように、製品形状データを回転移動する（ステップＳ４０３）。そして、画像データ生成部２は、製品形状データの−Ｘ軸方向の端点もしくは端面の位置ベクトルのＸ値がＸ＝０となるように、Ｘ軸に沿って製品形状データを平行移動させる。さらに、製品形状データの−Ｙ軸方向の端点もしくは端面の位置ベクトルのＹ値がＹ＝０となるようにＹ軸に沿って製品形状データを平行移動させる（ステップＳ４０４）。画像データ生成部２は、生成したシェーディング画像を仕上がり形状画像データとして画像データＤＢ１４に保存する。
【００５２】
図８は、正面の画像データの一例を示す図であり、図９は、背面の画像データの一例を示す図である。また、図１０は、左側面の画像データの一例を示す図であり、図１１は、右側面の画像データの一例を示す図である。また、図１２は、上面の画像データの一例を示す図であり、図１３は、下面の画像データの一例を示す図である。
【００５３】
また、図１４は、左上正面の画像データの一例を示す図であり、図１５は、左下正面の画像データの一例を示す図である。また、図１６は、右上正面の画像データの一例を示す図であり、図１７は、右下正面の画像データの一例を示す図である。
【００５４】
また、図１８は、左上背面の画像データの一例を示す図であり、図１９は、左下背面の画像データの一例を示す図である。また、図２０は、右上背面の画像データの一例を示す図であり、図２１は、右下背面の画像データの一例を示す図である。図８〜図２１に示した各画像データは、図６に示した丸物加工物５０の画像データに対応している。
【００５５】
ここで、ＮＣプログラム検索部３の動作について説明する。ＮＣプログラム検索部３は、画像データ生成部２が生成した１〜複数の視線方向の画像データを元画像として、画像データＤＢ１４の画像データの中から、同じ視線方向どうしの画像データを対象画像として１〜複数抽出する。換言すると、画像データ生成部２が生成した画像データの視線方向と同じ視線方向を有した画像データが、画像データＤＢ１４内から対象画像として抽出される。ＮＣプログラム検索部３は、抽出した対象画像と、元画像との間の類似度を算出する。
【００５６】
ＮＣプログラム検索部３は、算出した類似度に基づいて、類似度が高い順番で画像データの一覧を生成する。なお、ＮＣプログラムＤＢ１３に保存されているＮＣプログラムに対応する画像データが、画像データＤＢ１４に無い場合には、加工仕上がり形状生成部４が、ＮＣプログラムから加工仕上がり形状を生成する。そして、画像データ生成部２が、生成された加工仕上がり形状から画像データを生成し、画像データＤＢ１４に保存する。
【００５７】
なお、ＮＣプログラム検索部３は、加工対象物を加工する際に用いるＮＣプログラムに関する情報として、素材の材質、加工種類、工具種類および工具呼びの少なくとも１つが絞り込み情報として、指示入力部８から入力された場合に、過去に作成されたＮＣプログラムの中から絞り込み情報に応じたＮＣプログラムを抽出してもよい。この場合、ＮＣプログラム検索部３は、抽出したＮＣプログラムに対応する画像データを用いて類似度を算出する。これにより、ＮＣプログラムの検索を短時間で実行することが可能となる。
【００５８】
ここで、類似度が高い順番で並べられた画像データ一覧の生成処理（ステップＳ１０３の処理）について説明する。図２２は、類似度が高い順番で並べられた画像データ一覧の生成処理手順を示すフローチャートである。
【００５９】
ＮＣプログラム検索部３は、ステップＳ１０２で生成されて画像データ保存部１１に保存され画像データと、加工仕上がり形状生成部４で生成されて画像データＤＢ１４に保存されている加工仕上がり形状の画像データとの比較を行い、類似度を算出する（ステップＳ５０１）。
【００６０】
ＮＣプログラム検索部３は、例えば、元画像と対象画像とを比較し、元画像に描画されている画素と、対象画像に描画されている画素との一致数または一致割合に基づいて、類似度を算出する。たとえば、ＮＣプログラム検索部３は、画像データ生成部２が生成した画像データに描画されている画素の全画素数を分母とし、描画されている部分が一致する画素数を分子とすることによって、類似度を算出する。換言すると、ＮＣプログラム検索部３は、元画像と対象画像との間で一致している画素数を、元画像の全画素数で割った値を類似度とする。この方法で類似度が算出された場合、元画像と対象画像との間で全ての画素が一致する場合は類似度が１となり、全ての画素が一致しない場合は類似度が０となる。
【００６１】
また、ＮＣプログラム検索部３は、元画像の形状寸法（第１の形状寸法）と対象画像の形状寸法（第２の形状寸法）とを比較することによって類似度を算出してもよい。この場合、ＮＣプログラム検索部３は、製品（加工対象物）の形状データに基づいて、元画像の形状寸法を算出してもよいし、加工対象画像データに基づいて、元画像の形状寸法を算出してもよい。また、ＮＣプログラム検索部３は、仕上がり形状画像データに基づいて、対象画像の形状寸法を算出する。
【００６２】
たとえば、ＮＣプログラム検索部３は、元画像および対象画像の、エッジの位置を比較することによって類似度を算出する。この場合、ＮＣプログラム検索部３は、例えば、元画像のエッジと、最も近い対象画像のエッジとの画像上での距離を求める。そして、ＮＣプログラム検索部３は、求めた距離に応じた類似値をエッジ間ごとに設定し、エッジ間ごとの類似値（距離）の分布を導出する。さらに、ＮＣプログラム検索部３は、導出した類似値の分布に基づいて、類似度を算出する。
【００６３】
例えば、ＮＣプログラム検索部３は、エッジ間ごとの距離が０の場合の類似値を１とし、距離が１の場合の類似値を０．９とし、距離が２の場合の類似値を０．８とする。このように、ＮＣプログラム検索部３は、エッジ間ごとの距離が長くなるに従って類似値が小さくなり、距離が１０以上離れている場合の類似値が０となるよう、距離に対する類似値を設定する。ＮＣプログラム検索部３は、たとえば、エッジ間ごとの類似値の平均値を類似度とする。この方法で類似度が算出された場合、元画像と対象画像との間で画像が一致している場合には類似度が１となり、全く一致しない場合は類似度が０となる。
【００６４】
なお、ＮＣプログラム検索部３は、元画像および対象画像の、エッジ端点の位置を比較することによって類似度を算出してもよい。この場合も、ＮＣプログラム検索部３は、エッジの位置を比較する場合と同様に、元画像と対象画像との間のエッジ端点間の距離を求める。そして、ＮＣプログラム検索部３は、求めた距離に応じた類似値をエッジ端点間ごとに設定し、エッジ端点間ごとの類似値（距離）の分布を導出する。さらに、ＮＣプログラム検索部３は、導出した類似値の分布に基づいて、類似度を算出する。また、ＮＣプログラム検索部３は、元画像および対象画像の、エッジおよびエッジ端点の両方の位置を比較することによって類似度を算出してもよい。
【００６５】
ＮＣプログラム検索部３は、類似度を算出した後、算出した類似度の高い順番に画像データＤＢ１４の画像をソートし、一覧表示させる（ステップＳ５０２）。図２３は、加工仕上がり形状の一例を示す図である。図２４は、図２３の形状データを基にして類似度が高い順番に並べられた画像一覧の表示例である。
【００６６】
ＮＣプログラム編集部５は、類似度が高い順番に並べられた画像データの一覧からオペレータが選択した画像データに関連するＮＣプログラムを、ＮＣプログラムＤＢ１３から取得し、画像データとともに表示部７に表示する。
【００６７】
また、ＮＣプログラム検索部３は、画像の類似度だけでなく、加工仕上がり形状生成部４で生成された各ＮＣプログラムの加工仕上がり形状の径方向、Ｚ軸方向の最大長さ、またはＸ軸、Ｙ軸、Ｚ軸の各軸方向の最大長さなどを画像データＤＢ１４内に保存しておいてもよい。この場合、ＮＣプログラム検索部３は、保存しておいたデータと、ＣＡＤデータ入力部１で入力された製品形状の寸法長さとを比較して、例えば、径方向の長さの差分が少ない加工仕上がり形状の順番にソートして製品形状データを一覧表示する。これにより、例えば、作業者が指定した方向の長さでソートされたＮＣプログラムに、絞り込むことができる。
【００６８】
また、ＮＣプログラム検索部３は、ＮＣプログラムＤＢ１３に保存されているＮＣプログラムから、作業者が指定した素材材質、特定の加工種類、特定の加工形状または特定の工具種類／予備などと一致するよう、ＮＣプログラムをソートしてもよい。
【００６９】
加工仕上がり形状生成部４は、ＮＣプログラムの加工工程ごとに仕上がり形状の画像データを生成する。ＮＣプログラムにおける各加工工程は、加工工程の種類と、使用工具と、加工する形状（領域）を定義する形状情報とを用いて規定されている。
【００７０】
加工工程の種類には、たとえば、（１）旋削加工、（２）穴あけ加工、（３）線加工、（４）領域加工などがある。具体的には、（１）旋削加工には、（１−１）旋削加工棒材加工、（１−２）旋削ドリル加工、（１−３）旋削ねじ切り加工などがある。また、（２）穴あけ加工には、（２−１）ドリル加工、（２−２）段付き穴開け加工、（２−３）タップ加工などがある。また、（３）線加工には、工具を指定した形状沿いに動かす線加工などがあり、（４）領域加工には、指定した形状を除去する（４−１）ポケットミル加工、（４−２）表面加工などがある。
【００７１】
使用工具には、たとえば、旋削バイト、ドリル、エンドミル、フェイスミル、タップなどがある。加工する形状を定義する形状情報では、直線と円弧を用いて形状が定義される。
【００７２】
（１）旋削加工は、旋削加工を行う形状が＋ＸＺ平面に定義されている。加工仕上がり形状生成部４は、旋削加工の形状情報（旋削加工を行う形状）を、旋削軸を中心に３６０度回転させることによって、旋削加工の除去形状を生成する。
【００７３】
（２）穴あけ加工は、加工工程ごとに、穴径、穴深さ、穴底角度および穴の淵の面取り量が定義されている。加工仕上がり形状生成部４は、穴径、穴深さ、穴底角度および穴の淵の面取り量から、穴あけ加工の単体の除去形状を生成し、穴あけ加工を行う位置が定義されている形状情報に平行移動もしくは回転移動させることによって、穴あけ加工の除去形状を生成する。
【００７４】
また、加工仕上がり形状生成部４は、使用する工具形状を、線加工として定義された形状情報に沿ってスウィープさせたスウィープ形状を生成し、これにより線加工の除去形状を生成する。
【００７５】
また、ＮＣプログラムに素材外径、素材内径または素材長さが定義されている場合、加工仕上がり形状生成部４は、定義された素材外径を直径とし素材長さを円柱の軸方向とする円柱形状を生成する。そして、加工仕上がり形状生成部４は、素材内径を直径とし、素材長さを円柱の軸方向とする円柱形状を取り去った形状を素材形状とする。
【００７６】
素材がＮＣプログラムに定義されていない場合、加工仕上がり形状生成部４は、ＮＣプログラムの各加工工程で生成された除去形状の全てを包含する直方体を生成し、素材形状とする。
【００７７】
ここで、加工仕上がり形状生成部４の動作について説明する。図２５は、旋削加工の加工形状を生成する処理手順を示すフローチャートである。加工仕上がり形状生成部４は、旋削加工を行う形状が＋ＸＺ平面に定義され、かつ旋削加工の形状情報からなる旋削加工を行う際の、旋削加工断面形状を生成する（ステップＳ６０１）。そして、加工仕上がり形状生成部４は、旋削加工断面形状を旋削軸であるＺ軸を中心に３６０度回転させて、旋削加工の除去形状を生成する（ステップＳ６０２）。加工仕上がり形状生成部４は、旋削加工断面形状をＺ軸を中心に３６０度回転させることによって、旋削加工断面形状に押し出された領域を、旋削加工の除去形状とする。
【００７８】
図２６は、面加工の加工形状を生成する処理手順を示すフローチャートである。加工仕上がり形状生成部４は、面加工で定義された形状情報を閉形状として、加工平面形状を生成する（ステップＳ７０１）。そして、加工仕上がり形状生成部４は、加工平面形状を加工平面の法線ベクトルに沿って、取り代分だけスウィープさせた形状を、面加工の除去形状とする（ステップＳ７０２）。加工仕上がり形状生成部４は、加工平面形状をスウィープさせることによって、加工平面形状に押し出された領域を、面加工の除去形状とする。
【００７９】
図２７は、線加工の加工形状を生成する処理手順を示すフローチャートである。加工仕上がり形状生成部４は、線加工で定義される形状要素ごとに、形状要素を含む平面形状を生成する。具体的には、加工仕上がり形状生成部４は、形状要素が直線の場合は長方形平面を生成し、形状要素が円弧の場合は扇形平面を生成する（ステップＳ８０１）。ここでの各形状要素の幅は、線加工で定義されている径方向の取り代となる。次に、加工仕上がり形状生成部４は、形状要素の交点において、線加工で定義されている径方向の取り代を直径とする円形状（交点形状）を生成する（ステップＳ８０２）。加工仕上がり形状生成部４は、ステップＳ８０１において生成した全形状要素を含む平面形状と、ステップＳ８０２において生成した全交点形状を足し算して、線加工平面形状を生成する（ステップＳ８０３）。
【００８０】
そして、加工仕上がり形状生成部４は、ステップＳ８０３において生成した線加工平面形状を、平面の法線ベクトル方向に、線加工で定義された軸方向の取り代の長さ分スウィープした形状を線加工の除去形状とする（ステップＳ８０４）。加工仕上がり形状生成部４は、線加工平面形状をスウィープさせたことによって押し出された形状を、線加工の除去形状とする。
【００８１】
図２８は、穴加工の加工形状を生成する処理手順を示すフローチャートである。加工仕上がり形状生成部４は、穴加工で定義される穴深さ、穴先端角度、穴面取り、および穴径から、ＸＺ平面に穴断面形状を生成する（ステップＳ９０１）。そして、加工仕上がり形状生成部４は、ステップＳ９０１で生成した穴断面形状を、Ｚ軸を中心に３６０度回転させて、穴加工単体形状を生成する（ステップＳ９０２）。穴断面形状を、Ｚ軸を中心に３６０度回転させたことによって、押し出される領域が、穴加工単体形状となる。
【００８２】
さらに、加工仕上がり形状生成部４は、穴加工で定義される穴個数分穴加工単体形状をコピーして、加工位置、加工方向に合わせてコピーした穴単体形状を、それぞれ平行・回転移動させて、穴加工の除去形状とする（ステップＳ９０３）。
【００８３】
このように、加工仕上がり形状生成部４は、過去に作成されたＮＣプログラムの加工単位ごとの加工に関する定義データに基づいて、素材から除去される形状である除去形状を生成する。また、加工仕上がり形状生成部４は、定義データに基づいて、素材の形状である素材形状を生成する。
【００８４】
加工仕上がり形状生成部４は、ＮＣプログラムから生成した素材形状から、ＮＣプログラムの各加工工程で生成した除去形状を全て取り去ることによって、加工仕上がり形状を生成する。
【００８５】
なお、ＮＣプログラムＤＢ１３に保存されているＮＣプログラムに対応する画像データが、画像データＤＢ１４に無い場合は、加工仕上がり形状生成部４がＮＣプログラムから加工仕上がり形状を生成する。そして、画像データ生成部２は、生成した加工仕上がり形状から画像データを生成し、画像データＤＢ１４に保存する。
【００８６】
図２９は、旋削加工断面形状の一例を示す図であり、図３０は、旋削加工の除去形状の一例を示す図であり、図３１は、素材形状から旋削加工の除去形状を取り去った加工仕上がり形状の一例を示す図である。
【００８７】
また、図３２は、面加工の加工平面形状の一例を示す図であり、図３３は、面加工の除去形状の一例を示す図であり、図３４は、図３３に示した面加工の除去形状が取り去られた加工仕上がり形状の一例を示す図である。図３４では、素材形状から旋削加工の除去形状と面加工の除去形状を取り去った後の、加工仕上がり形状の一例を示している。
【００８８】
また、図３５は、線加工の形状データの一例を示す図であり、図３６は、線加工の形状要素を含む平面形状の一例を示す図である。また、図３７は、線加工の除去形状の一例を示す図であり、図３８は、図３７に示した線加工の除去形状が取り去られた加工仕上がり形状の一例を示す図である。図３８では、素材形状から旋削加工の除去形状と面加工の除去形状と線加工の除去形状とを取り去った後の、加工仕上がり形状の一例を示している。
【００８９】
また、図３９は、穴断面形状の一例を示す図であり、図４０は穴加工単体形状の一例を示す図である。また、図４１は、穴加工の除去形状の一例を示す図であり、図４２は、図４１に示した穴加工の除去形状が取り去られた加工仕上がり形状の一例を示す図である。図４２では、素材形状から旋削加工の除去形状と面加工の除去形状と線加工の除去形状と穴加工の除去形状とを取り去った後の、加工仕上がり形状の一例を示している。
【００９０】
ここで、ＮＣプログラム編集部５の動作について説明する。ＮＣプログラム編集部５は、類似度が高い順番に並べられた画像データの一覧からオペレータが選択した画像データに関連するＮＣプログラムを、ＮＣプログラムＤＢ１３から取得し、画像データとともに表示部７に表示する。
【００９１】
そして、表示部７に表示されているＮＣプログラムがオペレータによって編集されると、ＮＣプログラム編集部５は、編集された内容を反映したＮＣプログラムをＮＣプログラム出力部９に送る。これにより、ＮＣプログラム出力部９は、ＮＣプログラム編集部５から送られてきたＮＣプログラムを出力する。
【００９２】
ＮＣプログラム編集部５は、たとえば、ＮＣプログラム内の各加工工程の除去形状を生成し、加工仕上がり形状とともに、表示部７に表示させる。表示部７に表示されている各加工工程の除去形状がオペレータによって選択されると、ＮＣプログラム編集部５は、選択された除去形状に対応するＮＣプログラム上の各加工工程を取り出して、別のＮＣプログラムに除去形状とともに挿入させてもよい。換言すると、１〜複数の仕上がり形状画像データの中から、外部入力によって複数の加工単位が指定されると、ＮＣプログラム編集部５は、指定された加工単位を組み合わせてＮＣプログラムを生成してもよい。
【００９３】
図４３は、ドリル加工を含んだＮＣプログラムの加工仕上がり形状の一例を示す図であり、図４４は、ドリル加工の除去形状を示す図であり、図４５は、ドリル加工のＮＣプログラムの一例を示す図である。
【００９４】
また、図４６は、ドリル加工を含まないＮＣプログラムの加工仕上がり形状の一例を示す図である。また、図４７は、ドリル加工の除去形状および加工プログラムを、加工仕上がり形状に挿入した後の加工仕上がり形状の一例を示す図である。図４７では、図４２のドリル加工を含んだＮＣプログラムの加工仕上がり形状からドリル加工の除去形状及び加工プログラムを取り出し、図４５の加工仕上がり形状に挿入した後の加工仕上がり形状の一例を示している。また、図４８は、図４７の加工形状データに挿入したドリル加工のＮＣプログラムの一例を示す図である。
【００９５】
図４９は、挿入したドリル加工を移動し、さらに挿入したドリル加工をコピーして再度挿入し移動した加工仕上がり形状の一例を示す図である。また、図５０は、挿入し移動したドリル加工とコピーして挿入し移動したドリル加工とで構成される除去形状の一例を示す図であり、図５１は、挿入し移動したドリル加工とコピーして挿入し移動したドリル加工とで構成されるＮＣプログラムの一例を示す図である。
【００９６】
このように、本実施の形態のＮＣプログラム作成装置１０１は、製品（加工対象物）の形状データ（ＣＡＤデータ２１）が外部入力されると、製品の形状データに対応する画像データ（加工対象画像データ）を生成する。また、ＮＣプログラム作成装置１０１は、過去に作成されたＮＣプログラムに基づいて、加工仕上がり形状の画像データ（仕上がり形状画像データ）を生成し、対応するＮＣプログラムと関連付けて保存しておく。そして、ＮＣプログラム作成装置１０１は、加工対象画像データと、仕上がり形状画像データとの比較を行うことによって両者の類似度を算出する。ＮＣプログラム作成装置１０１は、類似度に基づいて、加工対象画像データに類似または一致する仕上がり形状画像データの候補を検索して一覧表示させる。そして、ＮＣプログラム作成装置１０１は、仕上がり形状画像データの候補の中から、外部入力（オペレータ）によって指定された仕上がり形状画像データのＮＣプログラムを表示する。
【００９７】
このため、加工する被加工物に類似する画像データを容易に検索することが可能となる。また、画像データ（ＣＡＤデータ２１）に応じたＮＣプログラムを容易に取得することが可能となる。
【００９８】
このように実施の形態によれば、画像データの類似度を算出し、類似度が高い順番に並べられた画像データの一覧を生成しているので、ＣＡＤデータ２１に類似する加工仕上がり形状のＮＣプログラムを容易に効率良く検索することが可能になる。したがって、ＮＣプログラムの再利用が容易になり、ＮＣプログラムを容易に効率よく作成できる。
【００９９】
また、過去のＮＣプログラムから仕上がり形状画像データを生成しているので、工具経路シミュレーションを行う場合よりも、計算量が少なく短時間で仕上がり形状画像データを得ることが可能となる。
【０１００】
また、元画像の形状寸法と対象画像の形状寸法とを比較することによって類似度を算出しているので、相似形の形状に対しても、画像データの類似性を解析することが可能となる。
【０１０１】
また、元画像に描画されている画素と、対象画像に描画されている画素との一致数または一致割合に基づいて、類似度を算出しているので、画像データの類似度を、容易に定量化できる。
【０１０２】
１〜複数の視線方向の画像データを元画像として、画像データＤＢ１４の画像データの中から、同じ視線方向どうしの画像データを対象画像として１〜複数抽出するので、検索する画像データの類似度の精度を向上できる。また、仕上がり形状画像データの中から指定された加工単位を組み合わせてＮＣプログラムを生成しているので、容易に加工単位の再利用を行うことが可能となる。
【産業上の利用可能性】
【０１０３】
以上のように、本発明に係るＮＣプログラム検索方法、ＮＣプログラム検索装置、ＮＣプログラム作成方法およびＮＣプログラム作成装置は、工作機械を数値制御するためのＮＣプログラムの検索に適している。
【符号の説明】
【０１０４】
１  ＣＡＤデータ入力部、２  画像データ生成部、３  ＮＣプログラム検索部、４  加工仕上がり形状生成部、５  ＮＣプログラム編集部、６  対話操作処理部、７  表示部、８  指示入力部、９  ＮＣプログラム出力部、１１  画像データ保存部、１２  ＮＣプログラム保存部、１３  ＮＣプログラムＤＢ、１４  画像データＤＢ、２１  ＣＡＤデータ、３１  ＮＣプログラム、５０  丸物加工物、５１  最大円柱面、５２，６１  平面、５３  穴、６０  角物加工物、１０１  ＮＣプログラム作成装置、１０２  作成支援装置。
【図１】
2014091543.tif 000003
【図２】
2014091543.tif 000004
【図３】
2014091543.tif 000005
【図４】
2014091543.tif 000006
【図５】
2014091543.tif 000007
【図６】
2014091543.tif 000008
【図７】
2014091543.tif 000009
【図８】
2014091543.tif 000010
【図９】
2014091543.tif 000011
【図１０】
2014091543.tif 000012
【図１１】
2014091543.tif 000013
【図１２】
2014091543.tif 000014
【図１３】
2014091543.tif 000015
【図１４】
2014091543.tif 000016
【図１５】
2014091543.tif 000017
【図１６】
2014091543.tif 000018
【図１７】
2014091543.tif 000019
【図１８】
2014091543.tif 000020
【図１９】
2014091543.tif 000021
【図２０】
2014091543.tif 000022
【図２１】
2014091543.tif 000023
【図２２】
2014091543.tif 000024
【図２３】
2014091543.tif 000025
【図２４】
2014091543.tif 000026
【図２５】
2014091543.tif 000027
【図２６】
2014091543.tif 000028
【図２７】
2014091543.tif 000029
【図２８】
2014091543.tif 000030
【図２９】
2014091543.tif 000031
【図３０】
2014091543.tif 000032
【図３１】
2014091543.tif 000033
【図３２】
2014091543.tif 000034
【図３３】
2014091543.tif 000035
【図３４】
2014091543.tif 000036
【図３５】
2014091543.tif 000037
【図３６】
2014091543.tif 000038
【図３７】
2014091543.tif 000039
【図３８】
2014091543.tif 000040
【図３９】
2014091543.tif 000041
【図４０】
2014091543.tif 000042
【図４１】
2014091543.tif 000043
【図４２】
2014091543.tif 000044
【図４３】
2014091543.tif 000045
【図４４】
2014091543.tif 000046
【図４５】
2014091543.tif 000047
【図４６】
2014091543.tif 000048
【図４７】
2014091543.tif 000049
【図４８】
2014091543.tif 000050
【図４９】
2014091543.tif 000051
【図５０】
2014091543.tif 000052
【図５１】
2014091543.tif 000053
【手続補正書】
【提出日】平成25年4月24日(2013.4.24)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
加工対象物の形状データが外部入力されると、前記加工対象物の形状データに対応する画像データを加工対象画像データとして生成する第１の画像生成ステップと、
過去に作成されたＮＣプログラムに基づいて、加工仕上がり形状の画像データを仕上がり形状画像データとして生成する第２の画像生成ステップと、
前記仕上がり形状画像データを、対応するＮＣプログラムと関連付けて保存する保存ステップと、
前記加工対象画像データと、前記仕上がり形状画像データとの比較を行うことによって両者の類似度を算出する類似度算出ステップと、
前記類似度に基づいて、前記加工対象画像データに類似または一致する仕上がり形状画像データの候補を検索して表示する検索ステップと、
前記仕上がり形状画像データの候補の中から、外部入力によって指定された仕上がり形状画像データのＮＣプログラムを表示する第１のプログラム表示ステップと、
を含むことを特徴とするＮＣプログラム検索方法。
【請求項２】
前記検索ステップでは、前記類似度が高い順番で、前記仕上がり形状画像データの候補が一覧表示されることを特徴とする請求項１に記載のＮＣプログラム検索方法。
【請求項３】
前記第２の画像生成ステップは、
前記過去に作成されたＮＣプログラムの加工単位ごとの加工に関する定義データに基づいて、素材から除去される形状である除去形状を生成する除去形状生成ステップと、
前記定義データに基づいて、前記素材の形状である素材形状を生成する素材形状生成ステップと、
前記素材形状および前記除去形状を用いて、前記仕上がり形状画像データを生成する画像生成ステップと、
を有することを特徴とする請求項１または２に記載のＮＣプログラム検索方法。
【請求項４】
前記第１の画像生成ステップは、
前記加工対象物の形状データまたは前記加工対象画像データに基づいて、前記加工対象物の形状寸法である第１の形状寸法を算出する第１の形状寸法算出ステップを有し、
前記第２の画像生成ステップは、
前記仕上がり形状画像データに基づいて、前記加工仕上がり形状の形状寸法である第２の形状寸法を算出する第２の形状寸法算出ステップをさらに有し、
前記類似度算出ステップは、
前記第１の形状寸法と前記第２の形状寸法とに基づいて、前記加工対象物の形状と前記加工仕上がり形状とを比較することによって類似度を算出することを特徴とする請求項１または２に記載のＮＣプログラム検索方法。
【請求項５】
前記加工対象物を加工する際に用いるＮＣプログラムに関する情報として、素材の材質、加工種類、工具種類および工具呼びの少なくとも１つが絞り込み情報として外部入力によって指定されると、前記過去に作成されたＮＣプログラムの中から前記絞り込み情報に応じたＮＣプログラムを抽出するプログラム抽出ステップをさらに含み、
前記類似度算出ステップでは、
抽出されたＮＣプログラムに対応する仕上がり形状画像データを抽出し、抽出した仕上がり形状画像データと、前記加工対象画像データとの比較を行うことによって前記類似度を算出することを特徴とする請求項１または２に記載のＮＣプログラム検索方法。
【請求項６】
前記類似度算出ステップでは、
前記加工対象画像データの画素と、前記仕上がり形状画像データの画素との間の一致度に基づいて前記類似度を算出することを特徴とする請求項１または２に記載のＮＣプログラム検索方法。
【請求項７】
前記類似度算出ステップでは、
前記加工対象画像データのエッジまたはエッジ端点と、前記仕上がり形状画像データのエッジまたはエッジ端点との間の一致度に基づいて前記類似度を算出することを特徴とする請求項１または２に記載のＮＣプログラム検索方法。
【請求項８】
前記第２の画像生成ステップでは、
複数の視線方向から前記仕上がり形状画像データを生成することを特徴とする請求項１または２に記載のＮＣプログラム検索方法。
【請求項９】
１〜複数の仕上がり形状画像データの中から、外部入力によって複数の加工単位が指定されると、指定された加工単位を組み合わせてＮＣプログラムを生成するプログラム生成ステップと、
生成されたＮＣプログラムを表示する第２のプログラム表示ステップをさらに含むことを特徴とする請求項１〜８のいずれか１つに記載のＮＣプログラム検索方法。
【請求項１０】
外部入力される指示に従って、表示中のＮＣプログラムを編集する編集ステップをさらに含むことを特徴とする請求項１〜９のいずれか１つに記載のＮＣプログラム検索方法。
【請求項１１】
加工対象物の形状データが外部入力される入力部と、
前記加工対象物の形状データに対応する画像データを加工対象画像データとして生成する画像データ生成部と、
過去に作成されたＮＣプログラムを記憶しておくＮＣプログラム記憶部と、
前記過去に作成されたＮＣプログラムに基づいて、加工仕上がり形状の画像データを仕上がり形状画像データとして生成する仕上がり形状生成部と、
前記仕上がり形状画像データを、対応するＮＣプログラムと関連付けて記憶する画像データ記憶部と、
前記加工対象画像データと、前記仕上がり形状画像データとの比較を行うことによって両者の類似度を算出するとともに、前記類似度に基づいて、前記加工対象画像データに類似または一致する仕上がり形状画像データの候補を検索する検索部と、
前記仕上がり形状画像データの候補を表示するとともに、
前記仕上がり形状画像データの候補の中から、外部入力によって仕上がり形状画像データが指定されると、指定された仕上がり形状画像データに対応するＮＣプログラムを表示する表示部と、
を備えることを特徴とするＮＣプログラム検索装置。
【請求項１２】
加工対象物の形状データが外部入力されると、前記加工対象物の形状データに対応する画像データを加工対象画像データとして生成する第１の画像生成ステップと、
過去に作成されたＮＣプログラムに基づいて、加工仕上がり形状の画像データを仕上がり形状画像データとして生成する第２の画像生成ステップと、
前記仕上がり形状画像データを、対応するＮＣプログラムと関連付けて保存する保存ステップと、
前記加工対象画像データと、前記仕上がり形状画像データとの比較を行うことによって両者の類似度を算出する類似度算出ステップと、
前記類似度に基づいて、前記加工対象画像データに類似または一致する仕上がり形状画像データの候補を検索して表示する検索ステップと、
前記仕上がり形状画像データの候補の中から、外部入力によって指定された仕上がり形状画像データのＮＣプログラムを表示する第１のプログラム表示ステップと、
外部入力される指示に従って、表示中のＮＣプログラムを編集する編集ステップと、
を含むことを特徴とするＮＣプログラム作成方法。
【請求項１３】
加工対象物の形状データが外部入力される入力部と、
前記加工対象物の形状データに対応する画像データを加工対象画像データとして生成する画像データ生成部と、
過去に作成されたＮＣプログラムを記憶しておくＮＣプログラム記憶部と、
前記過去に作成されたＮＣプログラムに基づいて、加工仕上がり形状の画像データを仕上がり形状画像データとして生成する仕上がり形状生成部と、
前記仕上がり形状画像データを、対応するＮＣプログラムと関連付けて記憶する画像データ記憶部と、
前記加工対象画像データと、前記仕上がり形状画像データとの比較を行うことによって両者の類似度を算出するとともに、前記類似度に基づいて、前記加工対象画像データに類似または一致する仕上がり形状画像データの候補を検索する検索部と、
前記仕上がり形状画像データの候補を表示するとともに、
前記仕上がり形状画像データの候補の中から、外部入力によって仕上がり形状画像データが指定されると、指定された仕上がり形状画像データに対応するＮＣプログラムを表示する表示部と、
外部入力される指示に従って、表示中のＮＣプログラムを編集する編集部と、
を備えることを特徴とするＮＣプログラム作成装置。
【国際調査報告】
2014091543.tif 000054
2014091543.tif 000055