(57)【要約】【課題】本発明は、ＣＡＭ等で作成された加工プログラムを最適化してワークの加工を行う工作機械及び加工プログラム最適化方法を提供する。【解決手段】加工プログラムに基づきワーク加工を行う工作機械において、加工プログラム最適化ソフトウエアに基づいて、加工プログラムを最適化する。その加工プログラム最適化においては、曲面形状における近似曲線を作成した後に、直線による連続した指令軌跡に再度出力し直して、曲面形状の加工プログラムにおける加工プログラム指令点を円滑化すると共に、前記加工プログラム指令点を間隔適正化する。【選択図】 図８
2016161958.tif 000002
【特許請求の範囲】
【請求項１】
加工プログラムに基づきワーク加工を行う工作機械において、
前記加工プログラムを最適化する加工プログラム最適化手段と、前記加工プログラム最適化手段により最適化された加工プログラムに基づいて機械駆動および加工部を制御する制御手段とを備え、
前記加工プログラム最適化手段が、曲面形状の加工プログラムにおける加工プログラム指令点を円滑化すると共に、前記加工プログラム指令点を間隔適正化することを特徴とする工作機械。
【請求項２】
前記加工プログラム最適化手段は、前記曲面形状における近似曲線を作成した後に、直線による連続した指令軌跡に再度出力し直すことを特徴とする請求項１に記載の工作機械。
【請求項３】
前記加工プログラム最適化手段は、前記曲面形状における評価関数を最小とする接線ベクトルの組み合わせをとって、元の加工プログラム指令点との距離の総和が最小となる近似曲線を決定することを特徴とする請求項１に記載の工作機械。
【請求項４】
前記加工プログラム最適化手段は、条件に合う複数の加工プログラム指令点間をひとつのセグメントと定め、傾向の似ている加工プログラム指令点間が連続する場合にまとめて3次曲線に近似することを特徴とする請求項１または請求項２に記載の工作機械。
【請求項５】
前記加工プログラム最適化手段は、スムージング曲線作成時におけるセグメントを近似する3次曲線とセグメントをつなぐ接線ベクトルの決定において、軌跡全体に対する評価関数を作成し、その誤差が最小となる形でそれぞれのセグメントのスムージング曲線を決定することを特徴とする請求項１または請求項２に記載の工作機械。
【請求項６】
加工プログラムに基づきワーク加工を行う工作機械における前記加工プログラムの最適化方法であって、
曲面形状の加工プログラムにおける加工プログラム指令点を円滑化すると共に、前記加工プログラム指令点を間隔適正化することを特徴とする加工プログラム最適化方法。
【請求項７】
前記加工プログラム最適化方法が、前記曲面形状における近似曲線を作成した後に、直線による連続した指令軌跡に再度出力し直すことを特徴とする請求項６に記載の加工プログラム最適化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＣＡＭ等で作成された加工プログラムを最適化してワークの加工を行う工作機械及び加工プログラム最適化方法に関するものである。
【背景技術】
【０００２】
一般的に、工作機械を用いて加工をおこなうためには、加工プログラムが必要であり、その加工プログラムはCAMなどの外部のプログラム作成ソフトウェアにて作成されている。
【０００３】
また、現在の工作機械は、外部で作成された加工プログラムの指令をなるべく正確に実現できるようにつくられており、加工プログラムの指令を高い精度で実現する機械が一般的に良い機械とされている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１−１４７６１０号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、外部で作成された加工プログラム自体が、その品質に問題を抱えている場合が存在し、加工プログラムにより、曲線加工において本来の形状には存在しない蛇行や折れを生じる場合があった。
【０００６】
CADの形状データを使って加工プログラムを作成するのがCAMであるが、CAMで加工プログラムを作成する際の計算精度が問題で、CADの形状データを正確に表現した加工プログラムが作成できない場合があった。
【０００７】
すなわち、CADのデータは、面と面との間にはわずかな距離があったり、曲面の構成データが均一でなくきれいな断面が取れない場合など、必ず誤差が存在する。こういった誤差を適切に処理することができずに、本来の形状には存在しない蛇行や折れが加工プログラムに含まれてしまうことがあった。
【０００８】
また、こういった問題は、そもそもCADの形状データ自体の品質が悪過ぎる際にも発生する。その場合には、CAMでいかに精度よく計算したとしても解決できず、同様に本来の形状には存在しない蛇行や折れが加工プログラムに含まれてしまう。
【０００９】
以上のように、CAMの計算精度や元のCADデータの品質が問題で、本来の形状には存在しない蛇行や折れを含む加工プログラムが作成されることがある。それをそのまま利用して加工すると、加工品に面のうねりやキズができ、加工品質が悪くなってしまう。
【００１０】
一方、CAMでの加工プログラムの作成時に、プログラムの品質を高めるために計算精度を上げると、曲面形状の加工プログラムを作成した際に必要以上に指令点が出力されることとなる。このような加工プログラムを用いて工作機械で加工をおこなうと、工作機械上の数値制御装置の演算に非常に時間がかかるために、本来の加工時間よりも長く時間がかかってしまう。
【００１１】
以上のように、曲面形状の加工に対して必要以上に加工プログラム指令点が出力されてしまうと、加工時間が長くなるという課題がある。
【００１２】
上記２点の課題に対して、加工プログラムの指令点列が存在した時に、それぞれの指令位置間に対して順番に作成したスプライン曲線を滑らかに接続し、そのスプライン曲線からの距離が所定のトレランス以内となる直線あるいは円弧をスプライン近似曲線を作成する方法が知られている（特許文献１参照）。
【００１３】
しかしながら、従来技術（特許文献１）では、加工プログラム指令点間それぞれをひとつのセグメントとしているため、傾向の似ている指令点間が連続する場合も異なるセグメントとなるため、作成されるスプライン曲線に不要なうねりが存在する可能性があった。
【００１４】
また、従来技術（特許文献１）では、加工プログラム指令点に対して順番に3次のスプライン曲線を作成し、滑らかに接続していく方式をとっている。これは、隣り合う曲線同士は滑らかになるが、軌跡全体としては最適な決定方法とはならず、作成されるスプライン曲線に不要なうねりが存在する可能性があった。
【００１５】
また、従来技術（特許文献１）では、スプライン曲線を直線に近似する際に、所定のトレランス以内で近似する方式をとっている。これは、多くの場合に常に所定のトレランス量の誤差が発生するプログラム軌跡となってしまうものであった。
【００１６】
本発明は、上記課題を解決するためのものであり、その目的は、曲面形状の加工を含む加工でも、短い加工時間で、加工品質の高い加工を行うことができる工作機械及び加工プログラム最適化方法を提供することである。
【００１７】
本発明の他の目的は、本来の形状には存在しない蛇行や折れなどのガタつきが含まれている加工プログラムを円滑化することができ、曲面形状の加工プログラムに不要に過剰な指令点が含まれている加工プログラムの間隔適正化をおこなうことができる工作機械及び加工プログラム最適化方法を提供することである。
【課題を解決するための手段】
【００１８】
本発明は上述の問題を解決するためのものであり、請求項１に係る発明は、加工プログラムに基づきワーク加工を行う工作機械において、
前記加工プログラムを最適化する加工プログラム最適化手段と、前記加工プログラム最適化手段により最適化された加工プログラムに基づいて機械駆動および加工部を制御する制御手段とを備え、
前記加工プログラム最適化手段が、曲面形状の加工プログラムにおける加工プログラム指令点を円滑化すると共に、前記加工プログラム指令点を間隔適正化することを特徴とする。
【００１９】
請求項２に係る発明は、前記加工プログラム最適化手段が、前記曲面形状における近似曲線を作成した後に、直線による連続した指令軌跡に再度出力し直すことを特徴とする。
【００２０】
請求項３に係る発明は、前記加工プログラム最適化手段が、前記曲面形状における評価関数を最小とする接線ベクトルの組み合わせをとって、元の加工プログラム指令点との距離の総和が最小となる近似曲線を決定することを特徴とする。
【００２１】
請求項４に係る発明は、前記加工プログラム最適化手段が、条件に合う複数の加工プログラム指令点間をひとつのセグメントと定め、傾向の似ている加工プログラム指令点間が連続する場合にまとめて3次曲線に近似することを特徴とする。
【００２２】
請求項５に係る発明は、前記加工プログラム最適化手段が、スムージング曲線作成時におけるセグメントを近似する3次曲線とセグメントをつなぐ接線ベクトルの決定において、軌跡全体に対する評価関数を作成し、その誤差が最小となる形でそれぞれのセグメントのスムージング曲線を決定することを特徴とする。
【００２３】
請求項６に係る発明は、加工プログラムに基づきワーク加工を行う工作機械における前記加工プログラムの最適化方法であって、
曲面形状の加工プログラムにおける加工プログラム指令点を円滑化すると共に、前記加工プログラム指令点を間隔適正化することを特徴とする。
【００２４】
請求項７に係る発明は、前記加工プログラム最適化方法が、前記曲面形状における近似曲線を作成した後に、直線による連続した指令軌跡に再度出力し直すことを特徴とする。
【発明の効果】
【００２５】
曲面形状を含む加工でも、短い加工時間で、加工品質の高い加工を行うことができるという効果を奏する。
【図面の簡単な説明】
【００２６】
【図１】本発明を実施したCAMの接続された工作機械１の概略構成図である。
【図２】工作機械１によって実行される加工プログラムの作成手順のフローチャートである。
【図３】工作機械１によって実行される加工プログラムの作成手順の説明図である。
【図４】工作機械１によって実行される加工プログラムの作成手順の説明図である。
【図５】工作機械１によって実行される加工プログラムの作成手順の説明図である。
【図６】工作機械１によって実行される加工プログラムの作成手順の説明図である。
【図７】工作機械１によって実行される加工プログラムの作成手順の説明図である。
【図８】加工プログラム最適化ソフトウエア５aに基づく加工プログラムの最適化方法のフローチャートである。
【図９】加工プログラム最適化ソフトウエア５aに基づく加工プログラムの最適化方法の説明図である。
【図１０】加工プログラム最適化ソフトウエア５aに基づく加工プログラムの最適化方法の説明図である。
【図１１】加工プログラム最適化ソフトウエア５aに基づく加工プログラムの最適化方法の説明図である。
【図１２】加工プログラム最適化ソフトウエア５aに基づく加工プログラムの最適化方法の説明図である。
【図１３】加工プログラム最適化ソフトウエア５aに基づく加工プログラムの最適化方法の説明図である。
【図１４】加工プログラム最適化ソフトウエア５aに基づく加工プログラムの最適化方法の数式である。
【図１５】加工プログラム最適化ソフトウエア５aに基づく加工プログラムの最適化方法の説明図である。
【図１６】加工プログラム最適化ソフトウエア５aに基づく加工プログラムの最適化方法の説明図である。
【図１７】加工プログラム最適化ソフトウエア５aに基づく加工プログラムの最適化方法の説明図である。
【図１８】加工プログラム最適化ソフトウエア５aに基づく加工プログラムの最適化方法の説明図である。
【図１９】スムージング曲線の作成方法のフローチャートである。
【図２０】スムージング曲線の作成方法の説明図である。
【図２１】スムージング曲線の作成方法の説明図である。
【図２２】スムージング曲線の作成方法の説明図である。
【図２３】スムージング曲線の作成方法の説明図である。
【図２４】スムージング曲線の作成方法の説明図である。
【図２５】スムージング曲線の作成方法の説明図である。
【図２６】スムージング曲線の作成方法の説明図である。
【図２７】スムージング曲線の作成方法の説明図である。
【図２８】本発明の他の実施形態による工作機械１の概略構成図である。
【図２９】本発明の他の実施形態による工作機械１の概略構成図である。
【発明を実施するための形態】
【００２７】
本発明の実施形態を図面を参照し説明する。
【００２８】
図１は、本発明を実施したCAMの接続された工作機械１の概略構成図である。
【００２９】
図１に示すように、工作機械１は、パソコンからなるCAM３で作成された加工プログラムを最適化する加工プログラム最適化ソフトウエア５aを有するコンピュータ（加工プログラム最適化手段）５と、加工プログラム最適化ソフトウエア５aに基づいて最適化された加工プログラムを入力し、その加工プログラムに従って機械駆動および加工部７を駆動するNC装置（制御手段）９とを有している。
【００３０】
そのNC装置９も、コンピュータよりなり、入力した加工プログラムを保存する加工プログラム保存領域９aを有している。
【００３１】
CAM３、コンピュータ５およびNC装置９は、ＲＯＭおよびＲＡＭが接続されたＣＰＵおよび表示機能と入力機能とを有する画面を備えた入力表示装置を有している。
【００３２】
ＮＣ装置９は、加工プログラム保存領域９aを有し、このプログラム保存領域９aには加工プログラムが保存される。
【００３３】
機械駆動および加工部７は、テーブル７aと、工具主軸７bと、工具７cと、ワークＷとを有する。
【００３４】
次に、工作機械１によって実行される加工プログラムの作成手順について説明する。
【００３５】
図２は、工作機械１によって実行される加工プログラムの作成手順のフローチャートであり、図３〜図７は、工作機械１によって実行される加工プログラムの作成手順の説明図である。
【００３６】
図２のステップ１０１において、CAM３は、オペレータの指示による所定の作成プログラムに基づいて加工プログラムを作成する。図３は、CAM３により加工プログラムが作成される説明図である。
【００３７】
ステップ１０３において、CAM３により作成された加工プログラムが、ネットワーク回線等を介して工作機械１のコンピュータ５に転送される。図４は、CAM３により作成された加工プログラムが工作機械１のコンピュータ５に転送される説明図である。
【００３８】
ステップ１０５において、コンピュータ５は、CAM３により作成された加工プログラムを加工プログラム最適化ソフトウエア５aによって最適化する。図５は、CAM３により作成された加工プログラムが加工プログラム最適化ソフトウエア５aによって最適化される説明図である。
【００３９】
なお、加工プログラムの加工プログラム最適化ソフトウエア５aによる最適化については後で詳しく説明する。
【００４０】
ステップ１０７において、コンピュータ５により最適化された加工プログラムが、NC装置９の加工プログラム保存領域９aに転送される。図６は、CAM３により作成された加工プログラムがNC装置９の加工プログラム保存領域９aに転送される説明図である。
【００４１】
ステップ１０９において、NC装置９は、最適化された加工プログラムに基づいて機械駆動および加工部７の駆動制御を行い、ワークＷの加工を行う。図７は、NC装置９により、最適化された加工プログラムに基づく機械駆動および加工部７の駆動制御によるワークＷの加工される説明図である。
【００４２】
なお、コンピュータ５は、加工プログラム最適化ソフトウエア５aに基づいて加工プログラムの最適化を行う加工プログラム最適化手段として機能する。
【００４３】
次に、加工プログラム最適化ソフトウエア５aに基づく加工プログラムの最適化について説明する。
【００４４】
図８は、加工プログラム最適化ソフトウエア５aに基づく加工プログラムの最適化方法のフローチャートであり、図９〜１８は、加工プログラム最適化ソフトウエア５aに基づく加工プログラムの最適化方法の説明図および数式である。
【００４５】
ここで、最適化とは、加工プログラム指定点の円滑化と間隔適正化を指し示すものとする。
【００４６】
図８のステップ２０１において、コンピュータ５は、加工プログラムの最適化を実行する範囲を抽出する。
【００４７】
すなわち、図９に示すように、加工品質が悪くなる、あるいは加工時間が長くなるといった問題は、加工プログラムにおける短い直線指令が連続している区間にて発生するため、その区間を抽出する。
【００４８】
抽出方法は以下のように行う。
【００４９】
まず、最適化の必要がない以下の軌跡を判別する。
【００５０】
１、円弧にて動作指令されている軌跡
２、直線ではあるが、指定値よりも長い直線の軌跡
３、早送り軌跡（G00）といわれる、加工はせずに位置決め移動のみをおこなう軌跡
上記にて判別した軌跡以外を、最適化が必要な範囲として抽出する。従って、図９に示すように、一連の加工軌跡の中に多数の最適化範囲が存在している区間（黒の実線部分）が、最適化が必要な範囲として抽出される。
【００５１】
次に、ステップ２０３において、コンピュータ５は、抽出した加工プログラムの直線指令点の全てが、設定されたスムージングトレランスの範囲内に含まれるように、スムージング曲線を作成する。図１０に、スムージング曲線作成の説明図を示す。
【００５２】
ここでは、抽出した加工プログラムの直線指令点の全てが、設定されたスムージングトレランスの範囲内に含まれるように、スムージング曲線を作成する。実際の作成方法としては、スムージング曲線の式を仮に定義し、その曲線の式と各指令点との距離を計算する。曲線と指令点との距離がスムージングトレランスの2分の1を超えるものがあれば、スムージング曲線を定義し直す。すべての指令点からの距離がスムージングトレランスの2分の1になる曲線を、スムージング曲線として決定する。なお、より詳細のスムージング曲線の作成方法については、後述する。
【００５３】
ステップ２０５において、コンピュータ５は、ステップ時間により計算したプログラム指令候補点を作成する。すなわち、図１１に示すように、指令速度でステップ時間進んだ位置に指令候補点を作成する。
【００５４】
以下に、その計算方法を説明する。
【００５５】
図１２に示すように、AからBに工具が移動するケースを考える。
【００５６】
AB間の距離が加減速に必要とする距離に比べて十分長い場合、工具速さのグラフは図１３に示すようになる。
【００５７】
このグラフは、時間tに関して2次式で構成されており、接線連続である。このグラフをtで積分すると、工具の移動距離を表すことになる。ここでFは指定された速さである。TAからTBを単位ステップ時間ΔTで分割した分割点をTiとすると、図１４に示す式がAB間の工具軌跡の途中点PiPi+1の間隔となる。
【００５８】
次に、ステップ２０７において、コンピュータ５は、指令点出力トレランスにより計算したプログラム指令候補点を作成する。
【００５９】
すなわち、図１５に示すように、指令点出力トレランスの範囲内で最も進んだ位置に指令候補点を作成する。
【００６０】
この指令候補点の作成方法を以下に示す。
【００６１】
まず、始点よりも先のスムージング曲線上に任意の点を決め、この任意の点と始点とを結ぶ直線を作成し、この直線とスムージング曲線との距離の最大値を求める。
【００６２】
直線とスムージング曲線の最大値が、指令点出力トレランス以下であれば、任意の点をスムージング曲線上のもう少し先へ進める。直線とスムージング曲線の最大値が、指令点出力トレランス以上であれば、任意の点をスムージング曲線上のもっと手前に戻す。
【００６３】
これを繰り返し、直線とスムージング曲線の最大値が、指令点出力トレランスと等しくなったところを、指令候補点と定める。
【００６４】
ステップ２０９において、コンピュータ５は、プログラム指令点を確定する。
【００６５】
すなわち、図１６に示すように、CとDの指令候補点を比較し、始点に近い方をプログラム指令点に確定する。ここでは、Cで作成した指令候補点の方が始点に近いため、Cで作成した方をプログラム指令点として確定する。
【００６６】
なお、単位時間当たりに実行できるプログラム指令点の数は、NC装置９の演算性能に依存するため、加工時間を削減する目的から極力少なくしたい。そのため、ステップ時間を定め、単位時間当たりにNC装置の性能以上のプログラム指令点が出力されないようにする。
【００６７】
しかし、ステップ時間に依存した距離ごとに指令点を出力したのでは、元の指令点を近似したスムージング曲線との誤差が大きくなってしまう可能性がある。そのため、スムージング曲線と最終的な指令点との距離が指令点出力トレランス以下になる処理を加える。
【００６８】
以上の理由から、点Cと点Dのうち近い方の点を指令点として定める。
【００６９】
次に、ステップ２１１において、コンピュータ５は、次のプログラム指令点の作成が必要か判断する。
【００７０】
すなわち、プログラム指令点を作成したら、最適化範囲の終点までにプログラム指令点の作成が必要かどうか判断する。この例では、図１７に示すように、最適化範囲の終点まで距離があるため、次々とプログラム指令点を繰り返し作成する。
【００７１】
ステップ２１３において、コンピュータ５は、次の最適化実行範囲の抽出が必要かどうかを判断する。
【００７２】
すなわち、図１８に示すように、対象の最適化範囲へのプログラム指令点の作成が完了したとすると、この範囲以外に最適化範囲があるようであればB〜Fを繰り返し実行する。すべての最適化範囲に対して、プログラム指令点の作成が完了したら、プログラムの最適化を終了とする。
【００７３】
次に、図８のステップ２０３におけるスムージング曲線の作成方法の詳細について説明する。
【００７４】
図１９は、スムージング曲線の作成方法のフローチャートであり、図２０〜図２７は、スムージング曲線の作成方法の説明図である。なお、図２０〜図２７では、スムージング曲線の作成方法をよりわかり易くするため、図９〜図１８における場合とは異なる形状の曲線を用いて説明する。
【００７５】
まず、最適化範囲全体に対して一度に円滑な曲線を求めようとすると、元々の軌跡に対する誤差が大きくなってしまうことがあるという問題について説明する。すなわち、図２０に示すような曲線に対して、最適化範囲全体に対して一度に円滑な曲線を求めようとすると、図２１に示すように、スムージング曲線の誤差が大きくなってしまう問題がある。
【００７６】
図１９に示すスムージング曲線の作成方法は、この問題を解決するものである。
【００７７】
図１９のステップ３０１において、コンピュータ５は、曲線近似するための準備として、対象範囲をセグメントに分割する。
【００７８】
ここでは、ひとつのセグメントは、円滑化公差で直線近似できる範囲までとして定義する。以下に、その方法を述べる。
【００７９】
図２２に示すように、最初の点P1とその2つ先の点P3とを直線でつなぐ。この直線と間の点P2との距離をD13-2とする。D13-2が所定のスムージングトレランス以下である場合に、P1〜P3は同じセグメントと規定する。
【００８０】
そして、P1〜P3が同じセグメントと規定できたら、図２３に示すように、次にP1とP4を直線でつなぐ。この直線とP2の距離D14-2、および直線とP3の距離D14-3が所定のスムージングトレランス以下である場合に、P1〜P4を同じセグメントと規定する。
【００８１】
P1〜P4が同じセグメントと規定できたら、図２４に示すように、次にP1とP5を直線でつなぐ。この直線とP2の距離D15-2、直線とP3の距離D15-3、および直線とP4の距離D15-4が所定のスムージングトレランス以下である場合に、P1〜P5を同じセグメントと規定する。しかし、たとえばD15-2がスムージングトレランスよりも大きい場合には、P1〜P4までの範囲を同じセグメントとし、P4から続く範囲は次のセグメントとなるように規定する。
【００８２】
以上を繰り返し、セグメント分割した例を図２５に示す。
【００８３】
ステップ３０３において、コンピュータ５は、セグメントを近似する3次曲線と、セグメントをつなぐ接ベクトルの決定を行う。
【００８４】
ここで、各セグメントは3次曲線で近似し、セグメントの接続位置では接連続となるように定義する。これにより、3次曲線の両端点での接線ベクトルを定めれば、3次曲線が決定されることになる。さらに、図２６の式で示すように、評価関数を3次曲線と元の指令点との距離の総和とし、変数である接線ベクトルを変分法により求める。
【００８５】
ステップ３０５において、コンピュータ５は、スムージング曲線の決定を行う。
【００８６】
すなわち、図２７に示すように、評価関数を最小とする接線ベクトルの組み合わせをとることで、元の加工プログラム指令点との距離の総和が最小となる近似曲線を決定する。
【００８７】
その結果、分割後の範囲それぞれに対して円滑な曲線を作成し、接連続となるようにつなぐことで、適切なスムージング曲線を作成することとなる。
このように、上記実施形態によれば、条件に合う複数の加工プログラム指令点間をひとつのセグメントと定めている。これにより、傾向の似ている加工プログラム指令点間が連続する場合にまとめて3次曲線に近似されるため、うねりのない適切なスムージング曲線の作成が可能であり、より滑らかで高精度な加工が実現できる。
【００８８】
これに対して、従来技術（特許文献１）では、加工プログラム指令点間それぞれをひとつのセグメントとしている。そのため、傾向の似ている指令点間が連続する場合も異なるセグメントとなるため、作成されるスプライン曲線に不要なうねりが存在する可能性がある。
【００８９】
また、上記実施形態によるスムージング曲線作成時におけるセグメントを近似する3次曲線とセグメントをつなぐ接線ベクトルの決定方法によれば、軌跡全体に対する評価関数を作成してその誤差が最小となる形でそれぞれのセグメントのスムージング曲線を決定する方式をとっている。これにより、全体を見てうねりのない適切なスムージング曲線の作成が可能であり、より滑らかで高精度な加工が実現できる。
【００９０】
これに対して、従来技術（特許文献１）では、加工プログラム指令点に対して順番に3次のスプライン曲線を作成し、滑らかに接続していく方式をとっている。これは、隣り合う曲線同士は滑らかになるが、軌跡全体としては最適な決定方法とはならず、作成されるスプライン曲線に不要なうねりが存在する可能性がある。
【００９１】
また、上記実施形態によるプログラム指令点の決定において、ステップ時間により計算したプログラム指令候補点Cと指令点出力トレランスにより計算したプログラム指令候補点Dのうち、より近い方を採用するという方式によれば、D点よりC点が近い場合には、C点を採用する。
【００９２】
これにより、所定のトレランス量を大きく下まわる高精度な軌跡作成が可能である。さらに、C点は、ステップ時間を考慮して作成している点のため、指令点が箇条になり加工時間が長くなることはない。以上により、加工が遅くならずにより滑らかで高精度な加工が実現できる。
【００９３】
これに対して、従来技術（特許文献１）では、スプライン曲線を直線に近似する際に、所定のトレランス以内で近似する方式をとっている。これは、多くの場合に常に所定のトレランス量の誤差が発生するプログラム軌跡となってしまう。
【００９４】
また、指令点をいくつかの区分曲線に近似し、円滑化する方法が知られている。しかしながら、この従来方法では工作機械の駆動部に対する指令が、曲線であるため、数値演算装置が曲線指令に対応していなければならない。
【００９５】
曲線指令に対応した数値演算装置を持たない工作機械においては、加工品質が悪化することと加工時間が長くなることを防止できないという課題がある。本発明では、近似曲線を作成した後に、直線による連続した指令軌跡に再度出力し直すというところに特徴がある。これにより、直線指令にのみ対応した数値制御装置に対しても最適化が可能である。
【００９６】
以上のように、本発明では、CAMで作成された加工プログラムを工作機械がそのまま実行するのではなく、加工プログラムの最適化ソフトウェアが加工プログラムを最適化してから実行する仕組みとする。これにより、本来の形状には存在しない蛇行や折れなどのガタつきが含まれている加工プログラムを円滑化することができる。
【００９７】
また、曲面形状の加工プログラムに不要に過剰な指令点が含まれている加工プログラムの間隔適正化をおこなうこともできる。
【００９８】
また、加工プログラムの円滑化と間隔適正化により、加工品質の向上と加工時間の短縮を実現することができる。
【００９９】
この発明は前述の発明の実施の形態に限定されることなく、適宜な変更を行うことにより、その他の態様で実施し得るものである。
【０１００】
例えば、図２８に示すように、最適化後の加工プログラムをNC装置の外にある加工プログラム外部保存領域１１に保存し、工具主軸やテーブルを動作させる際に直接その加工プログラムを実行するようにしても良い。
【０１０１】
また、図２９に示すように、加工プログラムの最適化ソフトウェアが、工作機械１の外にあるパソコン３上に設け、最適化した加工プログラムを加工プログラム外部保存領域１１に転送するようにしても良い。
【符号の説明】
【０１０２】
１  工作機械
３  パソコン
５  コンピュータ
５a 加工プログラムの最適化ソフトウエア
７  機械工藤および加工部
７a テーブル
７b工具主軸
７c工具
９  ＮＣ装置
９a 加工プログラム保存領域
Ｗ  ワーク
【図１】
2016161958.tif 000003
【図２】
2016161958.tif 000004
【図３】
2016161958.tif 000005
【図４】
2016161958.tif 000006
【図５】
2016161958.tif 000007
【図６】
2016161958.tif 000008
【図７】
2016161958.tif 000009
【図８】
2016161958.tif 000010
【図９】
2016161958.tif 000011
【図１０】
2016161958.tif 000012
【図１１】
2016161958.tif 000013
【図１２】
2016161958.tif 000014
【図１３】
2016161958.tif 000015
【図１４】
2016161958.tif 000016
【図１５】
2016161958.tif 000017
【図１６】
2016161958.tif 000018
【図１７】
2016161958.tif 000019
【図１８】
2016161958.tif 000020
【図１９】
2016161958.tif 000021
【図２０】
2016161958.tif 000022
【図２１】
2016161958.tif 000023
【図２２】
2016161958.tif 000024
【図２３】
2016161958.tif 000025
【図２４】
2016161958.tif 000026
【図２５】
2016161958.tif 000027
【図２６】
2016161958.tif 000028
【図２７】
2016161958.tif 000029
【図２８】
2016161958.tif 000030
【図２９】
2016161958.tif 000031