(57)【要約】  加工できる工具方向が複数あっても、仕上げ面積が最も大きい、凹部エッジの削り残し量が最小となる等の適切な工具方向を自動設定できるよう、製品形状と素材形状から加工形状を生成し、加工形状から抽出した面加工形状から面加工が可能な全工具方向を取得して、各工具方向により加工できる面積を求め、また、各工具方向により加工できない凹部エッジの長さを求め、加工できる面積が最大となり且つ加工できない凹部エッジの長さが最小となる工具方向から加工する加工プログラムを生成する。
2009150723.tif 000002
【特許請求の範囲】
【請求項１】
部品形状のソリッドモデルを入力する部品形状入力ステップと、前記部品形状を配置する部品形状配置ステップと、素材形状のソリッドモデルを入力する素材形状入力ステップと、前記素材形状を配置する素材形状配置ステップと、前記素材形状のソリッドモデルと前記部品形状のソリッドモデルとの差演算を実施して加工形状のソリッドモデルを生成する加工形状生成ステップと、前記加工形状のソリッドモデルから仕上げ面積が大きい工具方向を工具方向に設定するステップと、前記加工形状のソリッドモデルと前記設定された工具方向より加工できる加工形状のソリッドモデルを抽出するステップと、この抽出された加工形状のソリッドモデルより線加工形状のソリッドモデルと線加工方法からなる線加工データと面加工形状のソリッドモデルと面加工方法からなる面加工データを生成する線・面加工データ生成ステップと、前記線・面加工データに基づいて、線加工と面加工を実施する加工順序が記述されている加工プログラムを生成するプログラム生成ステップとを備えてなる数値制御プログラミング方法。
【請求項２】
前記加工形状のソリッドモデルから仕上げ面積が大きい工具方向を工具方向に設定するステップは、加工形状のソリッドモデルより抽出した面加工形状から面加工が可能な全工具方向を取得し、仕上げ面積が最大となる工具方向を工具方向として設定することを特徴とする請求項１に記載の数値制御プログラミング方法。
【請求項３】
加工形状に工具方向を設定するに際し、削り残し量が最小となる工具方向を工具方向として設定するステップを備えたことを特徴とする請求項１または２に記載の数値制御プログラミング方法。
【請求項４】
部品形状のソリッドモデルを入力する部品形状入力手段と、前記部品形状を配置する部品形状配置手段と、素材形状のソリッドモデルを入力する素材形状入力手段と、前記素材形状を配置する素材形状配置手段と、前記素材形状のソリッドモデルと前記部品形状のソリッドモデルとの差演算を実施して加工形状のソリッドモデルを生成する加工形状生成手段と、前記加工形状生成手段により生成された加工形状のソリッドモデルから仕上げ面積が大きい工具方向を工具方向に設定するとともに、前記加工形状生成手段により生成された加工形状のソリッドモデルと前記設定された工具方向より加工できる加工形状のソリッドモデルを抽出し、この抽出された加工形状のソリッドモデルより線加工形状のソリッドモデルと線加工方法からなる線加工データと面加工形状のソリッドモデルと面加工方法からなる面加工データを生成する線・面加工データ生成手段と、前記線・面加工データに基づいて、線加工と面加工を実施する加工順序が記述されている加工プログラムを生成するプログラム生成手段とを備えてなる数値制御プログラミング装置。
【請求項５】
前記線・面加工データ生成手段は、加工形状のソリッドモデルより抽出した面加工形状から面加工が可能な全工具方向を取得して、仕上げ面積が最大となる工具方向を工具方向として設定するものであることを特徴とする請求項４に記載の数値制御プログラミング装置。
【請求項６】
前記線・面加工データ生成手段は、加工形状に工具方向を設定するに際し、削り残し量が最小となる工具方向を工具方向として設定するものであることを特徴とする請求項４または５に記載の数値制御プログラミング装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、数値制御用加工プログラムを自動的に生成する数値制御プログラミング方法及びその装置に関するものである。
【背景技術】
【０００２】
従来、素材及び製品形状データから加工除去領域を抽出する除去領域抽出手段と、加工除去領域を分割して最小除去領域の集合とする最小分割手段と、最小分割領域を結合した加工プリミティブの集合として加工除去領域を再構成して複数種類の加工用再構成除去領域を形成する除去領域再構成手段と、各加工プリミティブに加工順序を決定する加工順序決定手段と、各加工プリミティブに加工フィーチャを割り当てて加工工程候補とする加工フィーチャ認識手段と、各加工工程候補を評価して最適の加工工程を選択する加工工程評価手段と、を備えた工程設計支援システムが提案されている（例えば特開2005-309713号公報参照）。【０００３】
【特許文献１】特開2005-309713号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来の工程設計支援システムでは以上のように構成されているので、複数の加工工程を提示され作業者が工程を選択できるが、加工工程を自動で選択できないなどの課題があった。
この発明は上記のような課題を解決するためになされたもので、加工できる工具方向が複数あっても、仕上げ面積が最も大きい、凹部エッジの削り残し量が最小となる等の適切な工具方向を自動設定し、もって適正な加工プログラムを生成し、適正な加工を実施することができる数値制御プログラミング方法及びその装置を得ることを目的とする。
【課題を解決するための手段】
【０００５】
この発明に係る数値制御プログラミング方法は、部品形状のソリッドモデルを入力する部品形状入力ステップと、前記部品形状を配置する部品形状配置ステップと、素材形状のソリッドモデルを入力する素材形状入力ステップと、前記素材形状を配置する素材形状配置ステップと、前記素材形状のソリッドモデルと前記部品形状のソリッドモデルとの差演算を実施して加工形状のソリッドモデルを生成する加工形状生成ステップと、前記加工形状のソリッドモデルから仕上げ面積が大きい工具方向を工具方向に設定するステップと、前記加工形状のソリッドモデルと前記設定された工具方向より加工できる加工形状のソリッドモデルを抽出するステップと、この抽出された加工形状のソリッドモデルより線加工形状のソリッドモデルと線加工方法からなる線加工データと面加工形状のソリッドモデルと面加工方法からなる面加工データを生成する線・面加工データ生成ステップと、前記線・面加工データに基づいて、線加工と面加工を実施する加工順序が記述されている加工プログラムを生成するプログラム生成ステップとを備えてなるものである。【０００６】
また、この発明に係る数値制御プログラミング方法は、前記加工形状のソリッドモデルから仕上げ面積が大きい工具方向を工具方向に設定するステップが、加工形状のソリッドモデルより抽出した面加工形状から面加工が可能な全工具方向を取得し、仕上げ面積が最大となる工具方向を工具方向として設定することを特徴とするものである。【０００７】
また、この発明に係る数値制御プログラミング方法は、加工形状に工具方向を設定するに際し、削り残し量が最小となる工具方向を工具方向として設定するステップを備えたことを特徴とするものである。【０００８】
また、この発明に係る数値制御プログラミング装置は、部品形状のソリッドモデルを入力する部品形状入力手段と、前記部品形状を配置する部品形状配置手段と、素材形状のソリッドモデルを入力する素材形状入力手段と、前記素材形状を配置する素材形状配置手段と、前記素材形状のソリッドモデルと前記部品形状のソリッドモデルとの差演算を実施して加工形状のソリッドモデルを生成する加工形状生成手段と、前記加工形状生成手段により生成された加工形状のソリッドモデルから仕上げ面積が大きい工具方向を工具方向に設定するとともに、前記加工形状生成手段により生成された加工形状のソリッドモデルと前記設定された工具方向より加工できる加工形状のソリッドモデルを抽出し、この抽出された加工形状のソリッドモデルより線加工形状のソリッドモデルと線加工方法からなる線加工データと面加工形状のソリッドモデルと面加工方法からなる面加工データを生成する線・面加工データ生成手段と、前記線・面加工データに基づいて、線加工と面加工を実施する加工順序が記述されている加工プログラムを生成するプログラム生成手段とを備えてなるものである。【０００９】
また、この発明に係る数値制御プログラミング装置は、前記線・面加工データ生成手段が、加工形状のソリッドモデルより抽出した面加工形状から面加工が可能な全工具方向を取得して、仕上げ面積が最大となる工具方向を工具方向として設定するものである。【００１０】
また、この発明に係る数値制御プログラミング装置は、前記線・面加工データ生成手段が、加工形状に工具方向を設定するに際し、削り残し量が最小となる工具方向を工具方向として設定するものである。
【発明の効果】
【００１１】
この発明によれば、加工できる工具方向が複数あっても、仕上げ面積が最も大きい、凹部エッジの削り残し量が最小となる等の適切な工具方向を自動設定でき、もって適正な加工プログラムを生成し、適正な加工を実施することができる。
【図面の簡単な説明】
【００１２】
【図１】この発明に係る数値制御プログラミング装置が適用されるＣＡＤ／ＣＡＭシステムを示す構成図である。
【図２】この発明に係る数値制御プログラミング装置にて生成される加工プログラムにて加工される形状例を示す図である。
【図３】この発明に係る数値制御プログラミング装置にて生成される加工プログラムの一構成要素である加工ユニットの構成例を示す図である。
【図４】この発明に係る数値制御プログラミング装置にて生成される加工プログラムの一構成要素である加工ユニットの一例を示す図である。
【図５】この発明の実施の形態１に係る数値制御プログラミング装置の構成を示すブロック図である。
【図６】この発明の実施の形態１に係る数値制御プログラミング装置にて生成される加工プログラムにて加工される部品形状の一例を示す図である。
【図７】この発明の実施の形態１に係る数値制御プログラミング装置の素材形状入力手段の動作を説明するためのフローチャートである。
【図８】この発明の実施の形態１に係る数値制御プログラミング装置の素材形状入力手段の動作を補足説明するための図である。
【図９】この発明の実施の形態１に係る数値制御プログラミング装置にて生成される加工プログラムにて加工される部品形状と素材形状との関係を示す斜視図である。
【図１０】素材を加工する機械の素材取付け具形状とその寸法の一例を示す図である。
【図１１】素材を加工する機械の第１取り付け具形状と第２取り付け具形状と素材形状との関係の一例を示す図である。
【図１２】この発明の実施の形態１に係る数値制御プログラミング装置の加工形状生成手段の動作を説明するための加工形状を示す図である。
【図１３】この発明の実施の形態１に係る数値制御プログラミング装置の端面加工データ生成手段の動作を説明するためのフローチャートである。
【図１４】この発明の実施の形態１に係る数値制御プログラミング装置の端面加工データ生成手段の動作を補足説明するための形状を示す図である。
【図１５】この発明の実施の形態１に係る数値制御プログラミング装置の線・面加工データ生成手段の動作を説明するためのフローチャートである。
【図１６】この発明の実施の形態１に係る数値制御プログラミング装置の線・面加工データ生成手段の動作を補足説明するための線・面加工形状を示す図である。
【図１７】この発明の実施の形態１に係る数値制御プログラミング装置の線・面加工データ生成手段の工具方向を決定する処理を示すフローチャートである。
【図１８】この発明の実施の形態１に係る数値制御プログラミング装置の線・面加工データ生成手段の動作を補足説明するための形状を示す図である。
【図１９】図１８の対象形状から求められたベクトル配列を示す図である。
【図２０】この発明の実施の形態１に係る数値制御プログラミング装置の線・面加工データ生成手段の動作を補足説明するための形状を示す図である。
【図２１】この発明の実施の形態１に係る数値制御プログラミング装置の線・面加工データ生成手段の動作を補足説明するため図である。
【図２２】この発明の実施の形態１に係る数値制御プログラミング装置の線・面加工データ生成手段の形状分割の処理を示すフローチャートである。
【図２３】この発明の実施の形態１に係る数値制御プログラミング装置の線加工ユニットを説明するための図である。
【図２４】この発明の実施の形態１に係る数値制御プログラミング装置の面加工ユニットを説明するための図である。
【図２５】この発明の実施の形態１に係る数値制御プログラミング装置の線・面加工データ生成手段の線加工ユニット、面加工ユニット割り当て処理を示すフローチャートである。
【図２６】この発明の実施の形態１に係る数値制御プログラミング装置の線・面加工データ生成手段の線加工ユニット、面加工ユニット割り当て処理を示すフローチャートである。
【図２７】この発明の実施の形態１に係る数値制御プログラミング装置にて生成された加工プログラムにて加工される形状を説明するための図である。
【符号の説明】
【００１３】
１０２  数値制御プログラミング装置
２０５  部品形状入力手段
２０６  部品形状配置手段
２０８  素材形状入力手段
２１０  素材形状配置手段
２１８  加工形状生成手段
２２１  線・面加工データ生成手段
２２４  加工プログラム生成手段
【発明を実施するための最良の形態】
【００１４】
実施の形態１．
以下、本発明の実施の形態１を、図を用いて説明する。
図1は、この発明の実施の形態１による数値制御プログラミング装置が適用されるＣＡＤ／ＣＡＭシステムを示す構成図であり、図において、１００は部品を設計して部品形状や素材形状のソリッドモデルなどを生成する３次元ＣＡＤ、１０１は３次元ＣＡＤ１００により生成された部品形状や素材形状のソリッドモデル、１０２は部品形状や素材形状のソリッドモデルに基づいて数値制御用加工プログラム（以下加工プログラムと言う）を生成する、本発明の対象となる数値制御プログラミング装置、１０３は数値制御プログラミング装置１０２により生成された加工プログラムである。【００１５】
なお、数値制御プログラミング装置１０２は、例えば、部品形状が図２（Ａ）のような形状であって、素材形状が図２（Ｂ）のような形状であるとき、図２（Ｃ）のような形状の面加工と、図２（Ｄ）のような形状の面加工を実施するための加工プログラム１０３を生成する。【００１６】
図３は数値制御プログラミング装置１０２における加工プログラム１０３の一構成要素である加工ユニットを示す構成例であり、加工データ１０４は加工方法の情報、工具データ１０５は使用工具と加工条件の情報、単一形状の構成の形状シーケンスデータ１０６は加工する形状を定義した形状情報である。【００１７】
図４は数値制御プログラミング装置１０２における加工プログラム１０３の加工ユニットの一例（加工ユニットを画面に表示した例）で、「ＵＮｏ．」で示されたプログラム部分が前記加工データ１０４、「ＳＮｏ．」で示されたプログラム部分が前記工具データ１０５、「ＦＩＧ」で示したプログラム部分が前記形状シーケンスデータ１０６である。【００１８】
図５はこの発明の実施の形態１による数値制御プログラミング装置１０２を示す構成図であり、図において、２００は数値制御プログラミング装置の全体的な制御を行うプロセッサ、２０２は例えば作業者が設定する値の入力等を受け付けるデータ入力装置、２０１は各種データや加工プログラム等を表示する表示装置である。
２０３は、加工データ生成の際に利用するパラメータを入力する手段、２０４は入力されたパラメータを記憶するパラメータ記憶部である。
２０５は３次元ＣＡＤ１００により生成された部品形状のソリッドモデルを作業者が入力する部品形状入力手段、２０６は入力された部品形状のソリッドモデルをプログラム座標に配置する部品形状配置手段、２０７はプログラム座標配置された部品形状のソリッドモデルを記憶する部品形状記憶部である。【００１９】
２０８は３次元ＣＡＤ１００により生成された素材形状のソリッドモデルを作業者が入力する機能、及び部品形状記憶部２０５に記憶された部品形状のソリッドモデルに基づき素材形状を生成する機能を備えた素材形状入力手段、２１０は素材形状のソリッドモデルをプログラム座標に配置する素材形状配置手段、２１１はプログラム座標に配置された素材形状のソリッドモデルを記憶する素材形状記憶部である。なお、素材形状入力手段２０８は、３次元ＣＡＤ１００により生成された素材形状のソリッドモデルを作業者が入力する機能、及び部品形状記憶部２０５に記憶された部品形状のソリッドモデルに基づき素材形状を生成する機能の何れか一つの機能を備えたものであってもよい。
２１２は第１工程で加工を行う際の素材形状を把持する第１取付け具形状のソリッドモデルを作業者が設定する第１取付け具形状設定手段、２１３はこの設定された第１取付け具形状のソリッドモデルを記憶する第１取付け具形状記憶部、２１４は第２工程で加工を行う際の素材形状を把持する第２取付け具形状のソリッドモデルを作業者が設定する第２取付け具形状設定手段、２１５はこの設定された第２取付け具形状のソリッドモデルを記憶する第２取付け具形状記憶部、２１６は最初に加工する第１工程と次に加工する第２工程との分割位置を作業者が設定する工程分割位置設定手段、２１７はこの設定された工程分割位置を記憶する工程分割記憶部である。【００２０】
２１８は部品形状記憶部２０７に記憶された部品形状のソリッドモデルと、素材形状記憶部２１１により記憶された素材形状のソリッドモデルとから加工形状のソリッドモデルを生成する加工形状生成手段、２１９は生成された加工形状のソリッドモデルを記憶する加工形状記憶部である。
２２０は部品形状記憶部２０７に記憶された部品形状のソリッドモデルと、加工形状記憶部２１９に記憶された加工形状のソリッドモデルと、第１取付け具形状記憶部２１３に記憶された第１取付け具形状のソリッドモデルと、第２取付け具形状記憶部２１５に記憶された第２取付け具形状のソリッドモデルと、工程分割位置記憶部２１７により記憶された工程分割位置とに基づいて、端面加工形状のソリッドモデルと端面加工方法とからなる端面加工データを生成する端面加工データ生成手段、２２１は生成された端面加工データを記憶する端面加工データ記憶部である。【００２１】
２２２は部品形状記憶部２０７に記憶された部品形状のソリッドモデルと、加工形状記憶部２１９に記憶された加工形状のソリッドモデルと、端面加工データ記憶部２２１に記憶された端面加工データと、第１取付け具形状記憶部２１３に記憶された第１取付け具形状のソリッドモデルと、第２取付け具形状記憶部２１５に記憶された第２取付け具形状のソリッドモデルと、工程分割位置記憶部２１７により記憶された工程分割位置とに基づいて、線加工形状のソリッドモデルと線加工方法とからなる線加工データと、面加工形状のソリッドモデルと面加工方法とからなる面加工データとを生成する線・面加工データ生成手段、２２３は生成された線加工データと面加工データを記憶する線・面加工データ記憶部である。
２２４は端面加工データ記憶部２２１に記憶された端面加工データと、線・面加工データ記憶部２２３に記憶された線・面加工データとを基に、加工プログラムを生成する加工プログラム生成手段である。２２５は生成された加工プログラムを記憶する加工プログラム記憶部である。【００２２】
以下、部品形状のソリッドモデルを部品形状、素材形状のソリッドモデルを素材形状、第１取付け具形状のソリッドモデルを第１取付け具形状、第２取付け具形状のソリッドモデルを第２取付け具形状、加工形状のソリッドモデルを加工形状という。【００２３】
次に本装置の動作について説明する。
まず、作業者がパラメータ入力手段２０３を操作して、加工データ生成する際に必要となるパラメータを設定する。なおパラメータとして、例えば、端面切り落とし量、線加工用径方向最大取り代、線加工用軸方向最大取り代、フェイスミルはみだし量、エンドミルはみだし量、凹ピン角があるときの工具径、線加工最大工具径などが設定される。また設定されたパラメータは、パラメータ記憶部２０４に記憶する。
次に、作業者が部品形状入力手段２０５を操作して、３次元ＣＡＤ１００により生成された、例えば図６に示すような部品形状を入力する。【００２４】
次に、部品形状配置手段２０６により部品形状のＸ軸方向寸法、Ｙ軸方向寸法、Ｚ軸方向寸法から部品形状のＸ軸方向の中間位置、Ｙ軸方向の中間位置、Ｚ軸方向の中間位置を求め、Ｘ軸方向の中間位置のＸ座標値と、Ｙ軸方向の中間位置のＹ座標値と、Ｚ軸方向の中間位置のＺ座標値とを、部品形状の中心位置座標のＸ座標値、Ｙ座標値、Ｚ座標値とする。また、部品形状の中心位置座標がＺ軸上に位置するよう部品形状を平行移動する。さらに部品形状の−Ｚ軸方向端面がZ=0.0になるように部品形状を平行移動させることにより、プログラミング座標上に配置し、プログラミング座標に配置した部品形状を部品形状記憶部２０７に記憶させる。
ここで、部品形状のＸ軸方向寸法、Ｙ軸方向寸法、Ｚ軸方向寸法は、部品形状を幾何的に解析することにより求められる。【００２５】
次に、作業者が素材形状入力手段２０８を操作して、３次元ＣＡＤ１００により生成された素材形状を入力し、素材形状配置手段２１０により、素材形状のＸ軸方向寸法、Ｙ軸方向寸法、Ｚ軸方向寸法から素材形状のＸ軸方向の中間位置、Ｙ軸方向の中間位置、Ｚ軸方向の中間位置を求め、Ｘ軸方向の中間位置のＸ座標値とＹ軸方向の中間位置Ｙ座標値とＺ軸方向の中間位置のＺ座標値を素材形状の中心位置座標のＸ座標値、Ｙ座標値、Ｚ座標値とし、素材形状の中心位置座標が、部品形状記憶部２０７に記憶されているプログラミング座標に配置されている部品形状の中心位置座標と一致するように素材形状を平行移動し、プログラミング座標に配置した素材形状を素材形状記憶部２１１に記憶させる。
ここで、素材形状のＸ軸方向寸法、Ｙ軸方向寸法、Ｚ軸方向寸法は、部品形状を幾何的に解析することにより求められる。
ただし、３次元ＣＡＤ１００により素材形状が生成されていないような場合においては、素材形状入力手段２０８が素材形状を生成し、生成された素材形状を素材形状配置手段２１０によりプログラム座標に平行移動して、素材形状記憶部２１１に記憶させる。【００２６】
ここで、素材形状入力手段２０９の動作を、図７のフローチャートに基づいて説明する。
即ち、前記部品形状より十分大きい径の円柱を生成するため、図８（Ａ）に示すように、前記部品形状のＸ軸方向寸法と前記部品形状のＹ軸方向寸法を足した値を半径Ｒとし、前記部品形状のＺ軸方向寸法の２倍を軸方向長さとする、Ｚ軸を軸中心とする仮の円柱面を生成する（ステップＳ３０１）。
次に、図８（Ｂ）に示すように、前記部品形状の中心座標を円柱面の中心とするように平行移動する（ステップＳ３０２）。
次に、図８（Ｂ）に示すように、仮の円柱面と部品形状との再近接距離ｃｌを幾何解析により求める（ステップＳ３０３）。【００２７】
次に、仮の円柱の半径Ｒから最近接距離ｃlを引いた値を半径値r、前記部品形状のＺ軸方向寸法に、パラメータ記憶部２０４が記憶している端面切り落とし量を足した値を、軸方向長さlとして、円柱形状のソリッドモデルを生成し素材形状とする（ステップＳ３０４）。
ここで、素材形状配置手段２１０により、素材形状のＸ軸方向寸法、Ｙ軸方向寸法、Ｚ軸方向寸法から素材形状のＸ軸方向の中間位置、Ｙ軸方向の中間位置、Ｚ軸方向の中間位置を求め、Ｘ軸方向の中間位置のＸ座標値とＹ軸方向の中間位置Ｙ座標値とＺ軸方向の中間位置のＺ座標値を部品形状の中心位置座標のＸ座標値、Ｙ座標値、Ｚ座標値とする。素材形状の中心位置座標が、部品形状記憶部２０７に記憶されているプログラミング座標に配置されている部品形状の中心位置座標と一致するように、素材形状を平行移動し、プログラミング座標に配置した素材形状を素材形状記憶部２１１に記憶させる。この結果、図９に示すような、部品形状を加工するのに最も適切な素材形状（素材形状を加工して部品形状を生成する際、加工量が最も少なくなる素材形状）が生成される。【００２８】
次に、作業者が第１取付け具形状設定手段２１２を操作して、図１０に示すように、第１取付け具形状が外爪か内爪か、把握径、爪個数、爪内径、爪高さ、爪長さ、爪幅、掴み代Ｚ、掴み代Ｘ、逃がし段Ｚ、逃がし段Ｘの各値を設定し、第１取付け具形状のソリッドモデルを生成し、第１取付け具形状記憶部２１３に記憶する。
次に、作業者が第２取付け具形状設定手段２１４を操作して、第２取付け具形状が外爪か内爪か、把握径、爪個数、爪内径、爪高さ、爪長さ、爪幅、掴み代Ｚ、掴み代Ｘ、逃がし段Ｚ、逃がし段Ｘの各値を設定し、第２取付け具形状のソリッドモデルを生成し、第２取付け具形状記憶部２１５に記憶する。
この結果、図１１に示すように、素材形状を加工して部品形状を生成する際、素材形状を第１取付け具、第２取付け具にて的確に把持できるようになる。【００２９】
次に、作業者が工程分割位置設定手段２１６を操作して、第１工程と第２工程の工程分割位置のＺ座標値と第１工程と第２工程を重複して加工する長さをオーバーラップ量として設定し、工程分割位置のＺ座標値とオーバーラップ量を工程分割位置記憶部２１７に記憶する。
加工形状生成手段２１８は、部品形状と素材形状がそれぞれ部品形状記憶部２０７と素材形状記憶部２１１に記憶されると、素材形状から部品形状を差し引く差演算を実施して図１２に示すような加工形状を生成し、その加工形状を加工形状記憶部２１９に記憶させる。【００３０】
ここで端面加工データ生成手段２２０の動作を、図１３のフローチャートに基づいて説明する。
まず、端面加工データ生成手段２２０は、部品形状の−Ｚ軸方向の極値のＺ座標ｍｉｎ＿ｚと＋Ｚ軸方向の極値のＺ座標ｍａｘ＿ｚを求める（ステップＳ４０１）。なお、部品形状から任意の方向に対しての極値は幾何的な解析により求められる。
次に、図１４（Ａ）に示すように、素材形状より同一半径値以上で、軸方向長さは前記（ｍａｘ＿ｚ−ｍｉｎ＿ｚ）とするＺ軸を軸中心とする円柱形状のソリッドモデルを生成する。以下、円柱形状のソリッドモデルを円柱形状という（ステップＳ４０２）。
次に、円柱形状の−Ｚ軸方向の端面のＺ座標値が前記ｍｉｎ＿ｚとなるように平行移動する（ステップＳ４０３）。【００３１】
次に、加工形状から前記円柱形状を引き算する。なお、これはソリッドモデルの集合演算により求めることができる（ステップＳ４０４）。
次に、図１４（Ｂ）に示すように、引き算した後の形状のソリッドモデルのうち、−Ｚ軸側にある形状のソリッドモデルを第１工程の端面加工形状のソリッドモデルとし、＋Ｚ軸側にある形状のソリッドモデルを第２工程の端面加工形状のソリッドモデルとし、端面加工データ記憶部２２１に記憶する（ステップＳ４０５）。以下、端面加工形状のソリッドモデルを端面形状という。【００３２】
また、線・面加工データ生成手段２２２は、加工形状記憶部２１９に記憶されている加工形状と、端面加工データ記憶部２２１に記憶されている端面加工データに基づいて線・面加工を実施するための線・面加工データを生成する。図１５は線・面加工データ生成部２２２の処理内容を示すフローチャートであり、以下、図１５を参照して、線・面加工データ生成部２２２の処理内容を詳細に説明する。
まず、線・面加工データ生成手段２２２は、図１６に示すように、加工形状から端面加工データの端面加工形状を差し引く差演算を実施することにより線・面加工形状のソリッドモデルを生成する（ステップＳ５０１）。以下、線・面加工形状のソリッドモデルを線・面加工形状という。【００３３】
次に、線・面加工データ生成手段２２２は、線・面加工形状のうち、対象となる形状を一つ対象形状のソリッドモデルとして、対象形状のソリッドモデル（以下  対象形状と言う）の工具方向ベクトルを決定する（ステップＳ５０２）。なお、このステップＳ５０２の詳細は、図１７〜図２１を用いて後述する。
次に、線・面加工データ生成部２２２は工具方向ベクトルと同じ法線ベクトルを持つ平面を集め、工具方向ベクトルに対して、最も手前にある平面を分割面とする。なお、工具方向ベクトルと同じ法線ベクトルをもつ平面が無い場合は、工具方向ベクトルの向きに対する対象形状の極値座標を求め、極値座標を位置ベクトルとし、法線ベクトルを工具方向ベクトルとする平面を生成し分割面とする（ステップＳ５０３）。
なお、対象形状に対する極値座標は幾何解析により求められる。【００３４】
次に、線・面加工データ生成手段２２２は分割面を境界として形状を上下に分割する（ステップＳ５０４）。なお、ステップＳ５０４の詳細は、図２２を用いて後述する。
次に、線・面加工データ生成手段２２２は分割した形状のうち、工具方向に対して、手前にある形状を分割上形状、奥にある形状を分割下形状とする（ステップＳ５０５）。
次に、線・面加工データ生成手段２２２は前記分割上形状に対して、工程分割位置記憶手段２１７に記憶されている工程分割位置より−Ｚ側にある形状は第１工程とし、前記工程分割位置より＋Ｚ側にある形状は第２工程に割り当てる（ステップＳ５０６）。
次に、線・面加工データ生成手段２２２は前記分割上形状に対して線加工ユニット、面加工ユニットの中から適当なユニットを割り当てる（ステップＳ５０７）。なお、ステップＳ５０７の詳細は、図２３〜図２５を用いて後述する。
次に、線・面加工データ生成手段２２２は前記分割下形状を次の対象形状として割り当て、前記分割上形状の処理と同様の処理を行う（ステップＳ５０８）。そしてその他の対象形状があるか否かを判断し、対象形状が無ければ処理を終了する。【００３５】
ここで、ステップ５０２について詳しく説明する。図１７は、線・面加工データ生成手段２２２の工具方向を決定する処理を示すフローチャートであり、以下、 図１７を参照して、線・面データ生成手段２２２の工具方向の決定について詳細に説明する。
まず、線・面データ生成手段２２２は、図１８に示すように、対象形状を構成する面のうち、部品形状を構成していた面を取得する（ステップＳ６０１）。
なお、図１８（Ａ）は対象形状で、図１８（Ｂ）は部品形状を構成していたすべての面である。
次に、前記部品形状を構成していたすべての面のうち、平面と円柱面を抽出する（ステップＳ６０２）。【００３６】
次に、前記抽出した面から平面の法線ベクトルを集め、ベクトル配列に加える（ステップＳ６０３）。ベクトル配列に加える際、同じベクトルはベクトル配列に加えない。
次に、前記抽出した面から円柱面の軸方向ベクトルを集め、前記ベクトル配列に加える（ステップＳ６０４）。
次に、前記抽出した面から隣接する平面の法線ベクトルを集め、外積ベクトルを求め、前記ベクトル配列に加える（ステップＳ６０５）。
なお、図１９は、図１８の対象形状から求められたベクトル配列である。【００３７】
次に、前記ベクトル配列の要素を工具方向とした加工を行った場合に、削り残されずに加工されることにより、部品形状として仕上がる面を求め、そのすべての面の面積を求め総和する（ステップＳ６０６）。
なお、図２０（Ａ）は、ベクトル1（-0.70710678, 0.0, 0.70710678）で仕上がる面で、図２０（Ｂ）は、ベクトル3（0.0, 1.0, 0.0）で仕上がる面である。
次に、前記ベクトル配列の要素を工具方向としてエンドミルで加工した場合、凹んでいる箇所の内壁角の削り残しが生じる辺である凹部エッジを抽出し、抽出したエッジの全長を求める（ステップＳ６０７）。
図２１に凹部エッジにより削り残しが生じる一例を示す。
なお、凹部エッジは対象形状を幾何解析により求められる。
次に、前記ベクトル配列の要素のうち、凹部エッジの長さが最小となり、仕上げ面の面積が最大となるベクトル配列の要素を工具方向とする（ステップＳ６０８）。【００３８】
ここで、ステップＳ５０４について詳しく説明する。図２２は、線・面加工データ生成手段２２２の形状分割の処理を示すフローチャートであり、以下、図２２を参照して線・面データ生成手段２２２の形状分割について、詳細に説明する。【００３９】
まず、線・面データ生成手段２２２は前記分割面を底面とし、前記対象形状より十分大きな寸法の高さ、幅、奥行きとなる直方体を生成する（ステップＳ７０１）。なお、対象形状を幾何解析することによりＸ軸方向、Ｙ軸方向、Ｚ軸方向の各寸法が求められるので、各寸法値をすべて足した値を対象形状より十分大きな寸法として直方体を生成する。
次に、前記直方体の底面の中心座標が前記分割面の中心座標と一致するように、直方体を平行移動する（ステップＳ７０２）。
次に、前記直方体と前記対象形状との積演算により、分割上形状を求める（ステップＳ７０３）。
次に、前記直方体と前記対象形状との差演算により、分割下形状を求める（ステップＳ７０４）。【００４０】
ここで、ステップＳ５０７について詳しく説明する。図２５、図２６は線・面加工データ生成手段２２２の線加工ユニット、面加工ユニット割り当て処理を示すフローチャートであり、以下、図２３〜図２６を参照して、線・面加工データ生成２２２の線加工ユニット、面加工ユニット割り当て処理について、詳細に説明する。【００４１】
まず、線加工ユニットについて説明する。
線中心ユニットは、工具の中心が定義した形状の上を移動するように加工する（図２３（Ａ）参照）。
線右ユニットは、定義した形状の右側を工具が移動するように加工する（図２３（Ｂ）参照）。
線左ユニットは、定義した形状の左側を工具が移動するように加工する（図２３（Ｃ）参照）。
線外ユニットは、定義した形状の外側を一回り工具が移動するように加工する（図２３（Ｄ）参照）。
線内ユニットは、定義した形状の内側を一回り工具が移動するように加工する（図２３（Ｅ）参照）。【００４２】
次に、面加工ユニットについて説明する。
フェイスミルユニットは、フェイスミルを使って、定義した形状の輪郭全面を加工する。加工する際、定義した形状を、工具径分はみ出して加工する（図２４（Ａ）参照）。
エンドミル面ユニットは、エンドミルを使って、定義した形状の輪郭全面を加工する。加工する際、定義した形状を、工具半径分はみ出して加工する（図２４（Ｂ）参照）。
エンドミル山ユニットは、エンドミルを使って、定義した形状のうち、内側の形状輪郭を残し、加工する。外側の形状を池形状とし、内側の形状を山形状とする。池形状に対して工具径分は乱して加工するが、山形状に対して工具ははみ出さない（図２４（Ｃ）参照）。
ポケットミルユニットは、エンドミルを使って、定義した形状をポケットとなるように加工する（図２４（Ｄ）参照）。
ポケット山ユニットは、エンドミルを使って、定義した形状のうち、内側の形状の輪郭を残して、定義した形状がポケットとなるように加工する。外側の形状を池形状とし、内側の形状を山形状とする。池形状と山形状に対して工具ははみ出さない（図２４（Ｅ）参照）。
ポケット谷ユニットは、エンドミルを使って、定義した形状のうち、内側の形状の輪郭を残して、定義した形状がポケットとなるように加工する。外側の形状を池形状とし、内側の形状を谷形状とする。池形状に対して工具ははみ出さないが、谷形状に対しては工具半径分はみ出して加工する（図２４（Ｆ）参照）。【００４３】
まず、線・面データ生成手段２２２は、図２５に示すように、前記分割上形状を前記分割面に前記工具方向から投影した投影平面形状を生成する（ステップＳ８００）。
なお、投影平面形状は、前記分割上形状を幾何解析することにより求められる。
次に山・谷形状の有無を調べる（ステップＳ８０１）。ここで、山・谷形状の有無を方法は前記投影平面形状のループの個数を数え、ループの個数が複数ある場合は山・谷形状有りとなり、ループの個数が１つである場合は山・谷形状無しとなる。なお、山・谷形状無しの場合は、図２６で示すフローチャートに移行する。
次に、山・谷形状がある場合は、加工する際、はみ出してはならない山形状か、はみ出しても良い谷形状かを調べる（ステップＳ８０２）。ここで山形状か谷形状かを調べる方法は、前記投影平面形状の内側にあるループを元に、そのループの内側が前記部品形状の内側になる場合は山形状、前記部品形状の外側になる場合は谷形状となる。ステップ８０２で、山形状である場合には、ステップＳ８０５に移行し、谷形状である場合には、ステップ８０３に移行する。【００４４】
次に、線・面加工データ生成手段２２０は、谷形状である場合には、パラメータ記憶部２０４に記憶されている線加工用径方向最大取り代と線加工用軸方向最大取り代を参照し、前記分割上形状の工具方向に対する径方向の取り代が線加工用径方向最大取り代以下、軸方向の取り代が線加工用軸方向最大取り代以下になるかどうか調べる（ステップＳ８０３）。そして、前記分割上形状の工具方向に対する径方向の取り代が線加工用径方向最大取り代以下、軸方向の取り代が線加工用軸方向最大取り代以下でない場合には、ポケット谷ユニットに割り当てる。また、前記分割上形状の工具方向に対する径方向の取り代が線加工用径方向最大取り代以下、軸方向の取り代が線加工用軸方向最大取り代以下である場合には、ステップＳ８０４に移行する。
なお、前記分割上形状の工具方向に対する径方向の取り代は、前記投影した平面形状の外側ループが池形状となり、池形状と谷形状との最大距離を幾何解析することにより求められる。軸方向の取り代は前記分割上形状の工具方向に対する寸法となる。工具方向に対する寸法は幾何解析により求められる。ここで、池形状とは加工する形状を定義する際、外側の形状輪郭として定義される形状のことで、以下、池形状と言う。【００４５】
次に、前記分割上形状の工具方向に対する径方向の取り代が線加工用径方向最大取り代以下、軸方向の取り代が線加工用軸方向最大取り代以下である場合には、前記分割上形状の池形状が工具方向に対して外側にはみ出して良い全オープンの形状かどうか調べる（ステップＳ８０４）。池形状が全オープンの形状かどうかは、前記投影平面形状の池形状に対して工具方向に対して外側にオフセットした形状が前記部品形状の外側であれば全オープンとなる。全オープンの場合は谷形状を形状シーケンスとする線中心ユニットを割り当て、線オープンでない場合は、池形状を形状シーケンスとする線内ユニットを割り当てる。
ステップＳ８０２で山形状とした場合は、前記投影した平面形状の外側ループの池形状が全オープンかどうか調べる（ステップＳ８０５）。全オープンの形状どうかはステップＳ８０４と同様にして調べる。【００４６】
次にステップＳ８０５で前記投影平面形状の池形状が全オープンで無い場合は、前記投影平面形状を形状シーケンスとするポケット山ユニットに割り当てる。
ステップＳ８０５で前記投影平面形状の池形状が全オープンである場合は、さらに前記分割上形状の径方向の取り代が線加工用径方向最大取り代以下、前記分割上形状の軸方向の取り代が線加工用径方向最大取り代以下であるかどうか調べる（ステップＳ８０６）。前記分割上形状の径方向の取り代が線加工用径方向最大取り代以下、前記分割上形状の軸方向の取り代が線加工用径方向最大取り代以下である場合は、前記投影平面形状の山形状を形状シーケンスとする線外ユニットに割り当てる。【００４７】
ステップＳ８０６で前記分割上形状の径方向の取り代が線加工用径方向最大取り代以下、前記分割上形状の軸方向の取り代が線加工用径方向最大取り代以下でない場合は、次に、パラメータ記憶部２０４に記憶されているエンドミルはみだし量を参照し、径方向にエンドミルはみだし量の長さ、前記投影平面の池形状がはみ出しても、前記部品形状と干渉しない場合は、前記投影平面形状の形状要素を形状シーケンスとするエンドミル山ユニットとする。前記部品形状と干渉する場合は、前記投影平面形状の形状要素を形状シーケンスとするポケット山ユニットとする（ステップＳ８０７）。【００４８】
ステップＳ８０１で山・谷形状が無い場合は、図２６に示すように、パラメータ記憶部２０４に記憶されているフェイスミルはみだし量を参照し、径方向にフェイスミルはみだし量の長さ、前記投影平面の池形状がはみ出しても、前記部品形状と干渉しない場合は、前記投影平面を形状要素とするフェイスミルユニットに割り当てる（ステップＳ８０８）。
次に、ステップＳ８０８で干渉する場合は、パラメータ記憶部２０４に記憶されているエンドミルはみだし量を参照し、径方向にエンドミルはみだし量の長さ、前記投影平面形状の池形状がはみ出しても、前記部品形状と干渉するか否かを判断する（ステップＳ８０９）。そして干渉しない場合は、前記投影平面形状を形状シーケンスとするエンドミルユニットに割り当て、干渉する場合には、ステップ８１０に移行する。【００４９】
次に、前記分割上形状にはみ出して加工するオープン部の有無を調べる（ステップＳ８１０）。オープン部が無い場合は、前記投影平面形状を形状シーケンスとするポケットミルユニットに割り当てる。
次に、ステップＳ８１０で前記前記分割上形状にはみ出して加工するオープン部が有りの場合、分割上形状に対して適当な工具径を取得する（ステップＳ８１１）。【００５０】
ここで、分割上形状に対して適当な工具径を取得するには、前記投影平面形状のうち、はみ出しで加工できない要素のうち、凹円弧形状要素を探す。凹円弧形状要素がある場合は凹円弧半径のうち最小半径以下を工具径として選択する。凹のピン角が有る場合は、パラメータ記憶部２０４の凹ピン角時の工具径を参照して工具径とする。凹円弧形状と凹ピン角が共にない場合は、パラメータ記憶部２０４の線加工最大工具径を参照して工具径とする。
次に、前記投影平面形状のオープン部でない形状要素に対して前記決定した工具径で工具スウィープ形状を生成し、前記分割上形状に対して削り残しがあるかどうか調べる（ステップＳ８１２）。工具スウィープ形状はソリッドモデルの演算により求められる。求まったスウィープ形状を分割上形状から引き算し、形状が残らない場合は削り残しなしとなり、形状が残る場合は削り残し有りとなる。【００５１】
ここで、削り残しが有る場合は、前記投影平面形状を形状シーケンスとするポケットミルユニットに割り当てる。削り残しが無い場合は、パラメータ記憶部２０４の線右指定を参照し（ステップＳ８１３）、線右指定の場合は、前記投影平面形状のオープンでない形状を形状シーケンスとする線右ユニットを割り当てる。線右指定でない場合は、前記投影平面形状のオープンでない形状を形状シーケンスとする線左ユニットを割り当てる。【００５２】
図２７は上述のようにして生成された加工プログラムにしたがって加工された形状を示す斜視図である。なお、加工プログラムは、素材の形状情報及び位置情報（シーケンスデータ）、加工単位の加工方法、加工条件情報、工具情報、加工形状情報（シーケンスデータ）などから構成されている。
即ち、図６に示す部品形状を加工する場合、生成された加工プログラムに従って、図２７（Ａ）〜（Ｃ）に示すように、第１工程で端面加工、フェイスミル加工、エンドミル山加工が施される。
また、図２７（Ｄ）〜（Ｈ）に示すように、第２工程でポケットミル加工、線外加工、ポケットミル加工、ポケット山加工、端面加工が施される。【００５３】
以上で明らかなように、この実施の形態１によれば、加工できる工具方向が複数あっても、仕上げ面積が最も大きい、凹部エッジの削り残し量が最小となる等の適切な工具方向を自動設定でき、もって適正な加工プログラムを生成し、適正な加工を実施することができる。
【産業上の利用可能性】
【００５４】
この発明に係る数値制御プラミング方法及びその装置は、数値制御用加工プログラムを自動で生成するのに適している。
【図１】
2009150723.tif 000003
【図２】
2009150723.tif 000004
【図３】
2009150723.tif 000005
【図４】
2009150723.tif 000006
【図５】
2009150723.tif 000007
【図６】
2009150723.tif 000008
【図７】
2009150723.tif 000009
【図８】
2009150723.tif 000010
【図９】
2009150723.tif 000011
【図１０】
2009150723.tif 000012
【図１１】
2009150723.tif 000013
【図１２】
2009150723.tif 000014
【図１３】
2009150723.tif 000015
【図１４】
2009150723.tif 000016
【図１５】
2009150723.tif 000017
【図１６】
2009150723.tif 000018
【図１７】
2009150723.tif 000019
【図１８】
2009150723.tif 000020
【図１９】
2009150723.tif 000021
【図２０】
2009150723.tif 000022
【図２１】
2009150723.tif 000023
【図２２】
2009150723.tif 000024
【図２３】
2009150723.tif 000025
【図２４】
2009150723.tif 000026
【図２５】
2009150723.tif 000027
【図２６】
2009150723.tif 000028
【図２７】
2009150723.tif 000029
【手続補正書】
【提出日】平成21年4月14日(2009.4.14)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
部品形状のソリッドモデルを入力する部品形状入力ステップと、前記部品形状を配置する部品形状配置ステップと、素材形状のソリッドモデルを入力する素材形状入力ステップと、前記素材形状を配置する素材形状配置ステップと、前記素材形状のソリッドモデルと前記部品形状のソリッドモデルとの差演算を実施して加工形状のソリッドモデルを生成する加工形状生成ステップと、前記加工形状のソリッドモデルより抽出した面加工形状から面加工が可能な全工具方向を取得し、部品形状として仕上がる仕上げ面積が最大となる工具方向を工具方向として設定するステップと、前記加工形状のソリッドモデルと前記設定された工具方向より加工できる加工形状のソリッドモデルを抽出するステップと、この抽出された加工形状のソリッドモデルより線加工形状のソリッドモデルと線加工方法からなる線加工データと面加工形状のソリッドモデルと面加工方法からなる面加工データを生成する線・面加工データ生成ステップと、前記線・面加工データに基づいて、線加工と面加工を実施する加工順序が記述されている加工プログラムを生成するプログラム生成ステップとを備えてなる数値制御プログラミング方法。
【請求項２】
（削除）
【請求項３】
工具としてエンドミルを用いた場合、凹んでいる箇所の内壁角の削り残しが生じる辺である凹部エッジを抽出し、この抽出したエッジの長さが最小となる工具方向を工具方向として設定するステップを備えたことを特徴とする請求の範囲１に記載の数値制御プログラミング方法。
【請求項４】
部品形状のソリッドモデルを入力する部品形状入力手段と、前記部品形状を配置する部品形状配置手段と、素材形状のソリッドモデルを入力する素材形状入力手段と、前記素材形状を配置する素材形状配置手段と、前記素材形状のソリッドモデルと前記部品形状のソリッドモデルとの差演算を実施して加工形状のソリッドモデルを生成する加工形状生成手段と、前記加工形状生成手段により生成された加工形状のソリッドモデルより抽出した面加工形状から面加工が可能な全工具方向を取得し、部品形状として仕上がる仕上げ面積が最大となる工具方向を工具方向として設定するとともに、前記加工形状生成手段により生成された加工形状のソリッドモデルと前記設定された工具方向より加工できる加工形状のソリッドモデルを抽出し、この抽出された加工形状のソリッドモデルより線加工形状のソリッドモデルと線加工方法からなる線加工データと面加工形状のソリッドモデルと面加工方法からなる面加工データを生成する線・面加工データ生成手段と、前記線・面加工データに基づいて、線加工と面加工を実施する加工順序が記述されている加工プログラムを生成するプログラム生成手段とを備えてなる数値制御プログラミング装置。
【請求項５】
（削除）
【請求項６】
前記線・面加工データ生成手段は、工具としてエンドミルを用いた場合、凹んでいる箇所の内壁角の削り残しが生じる辺である凹部エッジを抽出し、この抽出したエッジの長さが最小となる工具方向を工具方向として設定するものであることを特徴とする請求の範囲４に記載の数値制御プログラミング装置。
【国際調査報告】
2009150723.tif 000030
2009150723.tif 000031