(57)【要約】【課題】指令点列、内挿点列の一部に密集した点列がある場合でも、滑らかな曲線を得て補間できるようにする。【解決手段】密集した内挿点群の部分はを平均化して１つの代表内挿点Ｑ3に置き換える。この代表内挿点で置き換えられた内挿点列Ｑ1〜Ｑ6を形状指令点列とする。この形状指令点の各点について順に着目し、着目した点とその前後の予め決められた点数の形状指令点を選択し近似曲線Ｃｍを生成する。着目した点を前記近似曲線に向かって移動し、修正指令点とする。修正指令点の点列を通る曲線を生成する。この曲線を補間する。内挿点が密接した部分では、その密接した内挿点に基づいて曲線を生成すると、図１で破線に示すように滑らかな曲線は得られない。しかし、密接した内挿点を平均化して１つの代表内挿点Ｑ3として、近似曲線Ｃｍを生成すれば、滑らかな曲線が得られる。【選択図】図１
2007293478.tif 000002
【特許請求の範囲】
【請求項１】
数値制御装置において指令点列から滑らかな曲線を生成しその曲線に沿って補間する曲線補間方法において、
（１）前記指令点列から内挿点を求めて内挿点列とするステップと、
（２）前記内挿点列の点間が設定された距離よりも小さい複数の内挿点を内挿点群としてまとめるステップと、
（３）各前記まとめた内挿点群において平均化を行い平均化された点を前記内挿点群に代わる代表内挿点とするステップと、
（４）点群としてまとめられなかった内挿点と前記代表内挿点をあわせて形状指令点とするステップと、
（５）形状指令点の各点について順に着目し、着目した点とその前後の予め決められた点数の形状指令点を選択するステップと、
（６）該選択した点に対して近似曲線を生成するステップと、
（７）前記着目した点を前記近似曲線に向かって移動し、修正指令点とするステップと、
（８）前記（５）のステップから（７）のステップまでを各形状指令点について繰り返し実行するステップと、
（９）前記修正指令点の点列を通る曲線を生成するステップと、
（１０）生成した曲線を補間するステップと、
を備えた曲線補間方法。
【請求項２】
前記（１）のステップについて、前記指令点列をもって内挿点列とするステップとする請求項１記載の曲線補間方法。
【請求項３】
前記（３）のステップにおける平均化は、相加平均である請求項１または請求項２記載の曲線補間方法。
【請求項４】
前記（３）のステップについて、前記まとめた内挿点群に対する近似曲線上に平均化された点の代表内挿点を求める請求項１または請求項２記載の曲線補間方法。
【請求項５】
前記（３）のステップについて、前記まとめた内挿点群に対する近似曲線を作成し近似曲線上で相加平均の点に最も近い点を求めることによって平均化された点の代表内挿点を求める請求項４記載の曲線補間方法。
【請求項６】
（３）のステップについて、前記まとめた内挿点群に対する近似曲線とその近似曲線上に対応内挿点群を作成し近似曲線を直線に展開した時の対応内挿点群の相加平均位置の近似曲線上の位置を求めることによって平均化された点の代表内挿点を求める請求項４記載の曲線補間方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数値制御装置等で曲面を加工する際の指令点列データより滑らかな曲線を得て補間する曲線補間方法に関する。
【背景技術】
【０００２】
ＣＡＤ／ＣＡＭ装置や倣い装置などを使って作成した指令点列データに基づいて数値制御工作機械等で金型等の曲面を加工する場合、ＣＡＤ／ＣＡＭ装置で作成される指令点列データから目標曲線を生成し、該曲線を線分で近似し、その線分の両端の点が指令点列データとして数値制御装置に指令され、この指令点列データから曲線補間を行って曲面加工が行われている。  
この場合、ＣＡＤ／ＣＡＭ装置で作成される指令点列データから得られる目標曲線に対して、あるトレランス幅内に入るように線分が作成され、その線分の両端の点が指令点列データとしてＣＡＭから数値制御装置に指令される。この指令点列の位置情報に基づいて曲線が生成されるために、ＣＡＤ／ＣＡＭ装置で作成される指令点列データから目標曲線に対するトレランス幅を越えるような曲線が生成されてしまうことがある。
【０００３】
又、指令点列はＣＡＤ／ＣＡＭ装置で得られた目標曲線に対してあるトレランス幅の帯の端に来ることが多い。そのため、指令点列のみから曲線を生成すると、ＣＡＤ／ＣＡＭ装置で得られた目標曲線から離れてしまうことがある。  
例えば、図１６に示すように、ＣＡＤで作成されるデータの目標曲線Ｃｓが円弧であった場合、あるトレランス幅２ｗ内に入る線分Ｌを生成すると、指令点Ｐ，Ｐ，Ｐは目標曲線Ｃｓからトレランス量ｗだけ離れた位置なる。目標曲線Ｃｓ上には、各線分Ｌを約０．１５：０．７：０．１５で内分した２点Ｑ1，Ｑ2が存在することになる。
【０００４】
さらに、ＣＡＤ／ＣＡＭ装置で得られた目標曲線が円弧であった場合、指令点列は円弧上に並んでいるため、指令点列に対して近似的な曲線を当てはめても指令点列はほとんど修正されない。したがって、修正された指令点列はやはりＣＡＤ／ＣＡＭ装置で得られた目標曲線からトレランス量だけ離れた位置にある。
【０００５】
そこで、本願出願人は、特許文献１に示すように、数値制御装置に指令された指令点列の各点間を約０．１５：０．７：０．１５の内挿比で内挿した内挿点の点列を生成し、該内挿点列より近似曲線を生成し、かつ、各内挿点を該近似曲線に向かって移動させ、修正指令点とし、該修正指令点の点列を通る曲線を生成し、この生成した曲線を補間して出力するようにすることによって、ＣＡＤ／ＣＡＭ装置で得られた目標曲線に対するトレランス幅２ｗ以内に収まる曲線求めて曲線補間方法を提案した。
【０００６】
【特許文献１】特開２００４−７８５１６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ＣＡＤ／ＣＡＭ装置から得られる指令点列データは、近年、細かな点列で指令される傾向にある。そのため、部分的に微小間隔の点列で指令されると、該指令点列データによって得られた曲線を補間し得られた補間点を内挿し、この内挿点より最終的な曲線を求める上述した特許文献１に記載された曲線補間方法は、部分的に微小間隔で指令された点列の部分で滑らかな曲線が得られないという場合が生じる。  
特許文献１に記載された曲線補間方法は、着目点の前後２点ずつの合計５点の内挿点に着目して曲線を生成していることから、例えば、図１７のように内挿点Ｑ1〜Ｑ11が求められたとする。内挿点Ｑ5を着目点とすると、着目点の前後２点ずつの合計内挿点Ｑ3，Ｑ4，Ｑ5，Ｑ6，Ｑ7から作成した近似曲線に対し、その近似曲線に向かって内挿点Ｑ5を移動して修正指令点として、該修正指令点の点列を通る曲線を生成し、この生成した曲線を補間するようにしたものであるが、微小点列が細かく指令されていることから、内挿点Ｑ3，Ｑ4，Ｑ5，Ｑ6，Ｑ7が近くに密集しており、内挿点Ｑ5の修正指令点も内挿点Ｑ5とほとんど同じ位置となる。
【０００８】
同様に、内挿点Ｑ6を着目点とすると、着目点の前後２点ずつの合計内挿点Ｑ4，Ｑ5，Ｑ6，Ｑ7，Ｑ8から作成した近似曲線に対し、該近似曲線に向かって内挿点Ｑ6を移動して修正指令点を求めることになるが、この修正指令点も、微小点列が細かく指令されていることから、内挿点Ｑ6の修正指令点も内挿点Ｑ6とほとんど同じ位置となる。
【０００９】
そのため、内挿点が密集する場合、着目した内挿点を移動して修正指令点とすることがほとんど意味をなさなくなる場合がある。その結果、ばらついている内挿点に対しできるだけ多くの内挿点を参照して全体としては滑らかな曲線を得ることを目的としているにもかかわらず、図１７の破線Ｃｍに示すように内挿点が密集した部分では滑らかな曲線を得られないという問題がある。
そこで、本発明は、この問題を解決することを目的とするものである。
【課題を解決するための手段】
【００１０】
本願請求項１に係る発明は、数値制御装置において指令点列から滑らかな曲線を生成しその曲線に沿って補間する曲線補間方法であって、
（１）前記指令点列から内挿点を求めて内挿点列とするステップと、
（２）前記内挿点列の点間が設定された距離よりも小さい複数の内挿点を内挿点群としてまとめるステップと、
（３）各前記まとめた内挿点群において平均化を行い平均化された点を前記内挿点群に代わる代表内挿点とするステップと、
（４）点群としてまとめられなかった内挿点と前記代表内挿点をあわせて形状指令点とするステップと、
（５）形状指令点の各点について順に着目し、着目した点とその前後の予め決められた点数の形状指令点を選択するステップと、
（６）該選択した点に対して近似曲線を生成するステップと、
（７）前記着目した点を前記近似曲線に向かって移動し、修正指令点とするステップと、
（８）前記（５）のステップから（７）のステップまでを各形状指令点について繰り返し実行するステップと、
（９）前記修正指令点の点列を通る曲線を生成するステップと、
（１０）生成した曲線を補間するステップと、
で構成されたた曲線補間方法である。
【００１１】
また、請求項２に係る発明は、上述した（１）のステップについて、内挿点列の代わりに指令点列を用いるようにしたものである。  
さらに、請求項３に係る発明は、前記（３）のステップにおける平均化を、相加平均とし、請求項４に係る発明は、前記（３）のステップで、前記まとめた内挿点群に対する近似曲線上に平均化された点の代表内挿点を求めるようにした。さらに、請求項５に係る発明は、前記（３）のステップについて、前記まとめた内挿点群に対する近似曲線を作成し近似曲線上で相加平均の点に最も近い点を求めることによって平均化された点の代表内挿点を求めた。また、請求項６に係る発明は、前記（３）のステップについて、前記まとめた内挿点群に対する近似曲線とその近似曲線上に対応内挿点群を作成し近似曲線を直線に展開した時の対応内挿点群の相加平均位置の近似曲線上の位置を求めることによって平均化された点の代表内挿点として求めた。
【発明の効果】
【００１２】
指令点列、内挿点列が一部で密集している場合においても、滑らかな近似曲線を得ることができ、該滑らかな曲線に基づいて補間を行う最終的な曲線を得ることから、滑らかな曲線に基づいた補間ができる。
【発明を実施するための最良の形態】
【００１３】
まず、本発明の原理、基本的なアルゴリズムを説明する。
図１７で示したように、内挿点が密集した部分では、滑らかな曲線を得られない。そこで、本発明は、この密集した部分の内挿点について平均化を行い、平均化によって作成された点群の代表点を新たな内挿点とし、平均化の対象とした内挿点については削除する。  図１は、この密集した内挿点の部分を１つの代表内挿点に変えて、滑らかな曲線を得る説明図である。図１７で示す例において、密集した内挿点Ｑ3，Ｑ4，Ｑ5，Ｑ6，Ｑ7，Ｑ8の平均を求めて、図１では１つの代表内挿点Ｑ3としている。その結果、図１７で内挿点Ｑ1〜Ｑ11であったものが、図１では内挿点Ｑ1〜Ｑ6となる。
【００１４】
これにより、近似曲線Ｃｍは一点鎖線の滑らかな曲線となる。すなわち、内挿点Ｑ3が着目点として、前後の５点の内挿点Ｑ1，Ｑ2，Ｑ3，Ｑ4，Ｑ5から近似曲線Ｃｍが求められ、この近似曲線Ｃｍに向かって内挿点Ｑ3を移動して修正指令点とすることになる。
よって、内挿点Ｑ3に対して内挿点Ｑ1，Ｑ2，Ｑ3，Ｑ4，Ｑ5から滑らかな曲線が作成されるために十分な移動を行って修正指令点とすることができる。
微小点列が細かく指令されていることによって密集した内挿点が作成されても、作成される曲線は十分滑らかな曲線となる。
【００１５】
図２は本発明の曲線補間方法を適用する数値制御装置１００の一実施形態のブロック図である。数値制御装置１００を全体的に制御するプロセッサ１１には、ＲＯＭ、ＲＡＭ、バッテリでバックアップされたＣＭＯＳメモリ等のメモリ１２、記憶媒体にデータを入出力するデータ入出力装置３４が接続されたインターフェイス１３，表示器／ＭＤＩユニット３０が接続されたインターフェイス１６，操作盤３１が接続されたインターフェイス１７、ＰＭＣ（プログラマブル・マシン・コントローラ）１４、表示器／ＭＤＩユニット３０、各軸の軸制御回路１８、スピンドル制御回路２０がバス２２で接続されている。
【００１６】
各軸の軸制御回路１８はプロセッサ１１からの各軸の移動指令量を受けて、各軸の指令をサーボアンプ１９に出力する。サーボアンプ１９はこの指令を受けて、各軸のサーボモータ３２を駆動する。各軸のサーボモータ３２は位置・速度検出器を内蔵し、この位置・速度検出器からの位置・速度フィードバック信号を軸制御回路１８にフィードバックし、位置・速度のフィードバック制御を行う。なお、図２では、位置・速度のフィードバックについては省略している。
【００１７】
また、スピンドル制御回路２０は主軸回転指令を受け、指令主軸速度と主軸モータ３３に設けられたポジションコーダからの速度フィードバック信号とにより、スピンドルアンプ２１にスピンドル速度信号を出力する。スピンドルアンプ２１はスピンドル速度信号により主軸の速度制御を行う。ＰＭＣ（プログラマブル・マシン・コントローラ）１４にはＩ／Ｏユニット１５が接続され、機械の各種センサや各種アクチュエータ等に接続されている。
【００１８】
データ入出力装置３４からインターフェイス１３を介して、ＣＡＤ／ＣＡＭ装置や倣い装置などを使って作成された指令点列データを含む加工プログラムが入力され、メモリの不揮発性部分に記憶されているものとする。滑らかな曲線を生成して補間することの開始を指令するＧコードとこの指令を解除するＧコードが用意されており、加工プログラムには、図３に示すように、滑らかな曲線を生成して補間すべき対象の指令点列の最初に、滑らか曲線補間指令のＧコード「Ｇ０６．３」がプログラムされ、この指令をキャンセルする位置に滑らか曲線補間キャンセル指令Ｇコード「Ｇ０６．９」がプログラムされている。このＧコード「Ｇ０６．３」と「Ｇ０６．９」間において本発明が採用する滑らか補間がなされる。
【００１９】
又、この滑らか補間をなす区間を自動的に判断するようにしてもよい。この場合は、プロセッサ１１は加工プログラムより点列を読み、各点列間を結ぶ線分野角度や長さから滑らか曲線を生成して補間するか否かを自動的に判断するようにする。図４に示すように、指令点Ｐ1，Ｐ2，Ｐ3の各点間の隣り合う線分間の屈折角度は小さい。及び指令点Ｐ6，Ｐ7，Ｐ8の各点間の隣り合う線分間の屈折角度も小さい。よって、これらの区間は滑らか曲線を生成して補間する領域と判断する。又、指令点Ｐ3とＰ4間の線分と指令点Ｐ4とＰ5間の線分の屈折角度α、指令点Ｐ4とＰ5間の線分と指令点Ｐ5とＰ6間の線分の屈折角度βは大きい。このため、指令点Ｐ4とＰ5間は滑らかな曲線を生成して補間する処理は行わないようにする。すなわち、指令点列間のとなりあう線分の屈折角が基準値以下の場合には、滑らか曲線を生成して補間する処理を行うものと自動的に判断し、他の場合には行わないように自動的に判断するようにする。
【００２０】
又、図５に示すように、指令点Ｐ0からＰ4及び指令点Ｐ5からＰ8の各点間の距離は短いが、指令点Ｐ4とＰ5間の距離は長い、このように指令点間の距離が基準値以下の指令点Ｐ0〜Ｐ4、Ｐ5〜Ｐ8場合には、滑らか曲線を生成して補間する処理を行い、基準値より長い指令点Ｐ4〜Ｐ5の場合には、滑らか曲線を生成して補間する処理を行わないものと自動的に判断するようにする。
そこで、Ｇコードにより又は自動的に滑らか曲線を生成して補間する処理と判断されたときの処理について、図６に示すフローチャートと共に説明する。
【００２１】
プロセッサ１１は加工プログラムより指令点列Ｐ0，Ｐ1，Ｐ2，…Ｐn-1，Ｐnを読込む（Ｓ１）。この読み込んだ指令点列が図７に示すような指令点列Ｐ0，Ｐ1，Ｐ2，…Ｐn-1，Ｐnであったとする。
【００２２】
次に、各点間（Ｐ0，Ｐ1) ，(Ｐ1，Ｐ2）…(Ｐn-1，Ｐn)に２点の内挿点(Ｑ1，Ｑ2），（Ｑ3，Ｑ4）…（Ｑ2n-1，Ｑ2n）を作成する（Ｓ２）。この実施形態においては、図８に示すように、内挿比を1：0.7：0.15としている。すなわち、 (Ｐi，Ｐi+1)間の内挿点(Ｑ2i+1，Ｑ2i+2）の内挿比は、線分(Ｐi，Ｐi+1)の距離：線分(Ｑ2i+1，Ｑ2i+2)の距離：線分(Ｐi，Ｑ2i+1)の距離=1：0.7：0.15とする。
【００２３】
そして、Ｑ0=Ｐ0，Ｑ2n+1=Ｐnとし（Ｓ３）、これによって内挿点列Ｑ0，Ｑ1，Ｑ2，…Ｑ2n，Ｑ2n+1を作成する。各隣り合った内挿点間の距離を計算し、内挿点Ｑ0とＱ1間の距離をＬ0, 内挿点Ｑ1とＱ2間の距離をＬ1，…Ｑ2nとＱ2n+1間の距離をＬ2nとする。
ある正の設定値Ｖに対して、
Ｌi＜Ｖ          …（１-0）
Ｌi+1＜Ｖ         …（１-1）
...
Ｌi+k＜Ｖ         …（１-k）
となる i,k(１≦ｉ≦２ｎ−１，１≦ｉ＋ｋ≦２ｎ−１)が存在した場合、すなわち、点列間の距離が連続して設定値Ｖより小さい場合があるとき、内挿点Ｑi，Ｑi+1，...Ｑi+k+1 を一群の内挿点群とし、平均化を行う。ここでは相加平均を行う。つまり、
Ｑin＝（Ｑi＋Ｑi+1＋…Ｑi+k+1）／（ｋ＋２）      …（２）
として、Ｑinを内挿点Ｑi，Ｑi+1，...Ｑi+k+1 に代わる代表内挿点とし、内挿点Ｑi，Ｑi+1，...Ｑi+k+1 は内挿点の点列から削除する（Ｓ４）。設定値Ｖは、内挿点列Ｑ0，Ｑ1，Ｑ2，…Ｑ2n，Ｑ2n+1において、部分的に密集しその間の距離が短い部分がある場合に、その密集した部分の点列間の距離よりも長く、密集していない点列間の距離よりも短い値に設定する。また、ｉまたはｋが０または２ｎの場合は含まないので、内挿点Ｑ0とＱ2n+1は平均化の対象としない。（１-0）〜（１-k）が成立するすべての一群の内挿点群について平均化を行う。そのようにして内挿点の点列番号を付け直して形状指令点として整理し、図９に示すように形状指令点列Ｒ0，Ｒ1，Ｒ2，…Ｒmとなったとする（Ｓ５）。図９において、内挿点Ｑi，Ｑi+1，...Ｑi+ki+1 の群と、内挿点Ｑj，Ｑj+1...Ｑj+kj+1 の群が、上述した（１-0）〜（１-k）式が成立する内挿点群であったとしている。この密集した内挿点Ｑi，Ｑi+1，...Ｑi+ki+1 、内挿点Ｑj，Ｑj+1...Ｑj+kj+1に対してそれぞれ平均化を行い代表内挿点Ｑin，Ｑjnを求め、点列番号を付け直しする（Ｓ５）。内挿点Ｑ0〜Ｑi-1を形状指令点列Ｒ0〜Ｒi-1、ＱinをＲi、Ｑj+kj+1〜Ｑj-1をＲi+1〜Ｒq-1、ＱjnをＲq、Ｑj+kj+2〜Ｑ2n+1をＲq+1〜Ｒmとし、形状指令点列Ｒ0，Ｒ1，Ｒ2，…Ｒmとする。また、ｍ≧４とする。つまり、平均化しても形状指令点は少なくとも５点は存在するとする。
図９において、実線矢印は内挿点の点列番号を付け直したことを意味し、値そのものは変化していない。
【００２４】
次に、指標ｉを「１」にセットし（Ｓ６）、該指標ｉの値を判断し（Ｓ７）、指標ｉが「１」の場合には、形状指令点列Ｒi-1，Ｒi，Ｒi+1，Ｒi+2（＝Ｒ0，Ｒ1，Ｒ2，Ｒ3）を取り出し（Ｓ８）、指標ｉが「２〜ｍ-2」の場合には、形状指令点列Ｒi-2，Ｒi-1，Ｒi，Ｒi+1，Ｒi+2を取出し（Ｓ９）、指標ｉが「ｍ−１」の場合には、形状指令点列Ｒi-2，Ｒi-1，Ｒi，Ｒi+1（＝Ｒm-3，Ｒm-2，Ｒm-1，Ｒm）を取出す（Ｓ１０）。
【００２５】
こうして取出した点列に対して、最小２乗法にて近似曲線Ｃｍを作成する。 つまり、取出した点列からの距離の２乗和が最も小さくなる曲線Ｃｍを作成する（Ｓ１１）。この近似曲線Ｃｍが図１０に示す一点鎖線の曲線であったとする。次に、この時点の指標ｉに対応する形状指令点Ｒiを近似曲線Ｃｍに向かって、点列指令の設定単位以下の細かさで、かつ設定されているトレランス量２ｗ以内で移動し、修正指令点Ｒi’とする（Ｓ１２）。そして、形状指令点Ｒiに対応する近似曲線Ｃｍ上の修正指令点Ｒi’における１階微分値Ｒi(1)’を求め記憶する（Ｓ１３）。
【００２６】
指標ｉを「１」インクリメントし（Ｓ１４）、該指標ｉが形状指令点Ｒの数の「ｍ」以上になったか判断し（Ｓ１５）、以上でなければ、処理Ｓ７に戻り上述した処理を実行する。
【００２７】
指標ｉが「ｍ」以上になったことが、処理Ｓ１５で判断されたときには、修正指令点Ｒ0’=形状指令点Ｒ0とし、形状指令点Ｒ0から修正指令点Ｒ1’の方向ベクトルを修正指令点Ｒ0’（＝Ｒ0）に対応する１階微分値Ｒ0 (1)’とする（Ｓ１６）。さらに、修正指令点Ｒm’=形状指令点Ｒmとし、修正指令点Ｒm-1’から指令点Ｒmへの方向ベクトルを修正指令点Ｒm’に対応する１階微分値Ｒm(1)’として記憶する。（Ｓ１７）、以上の処理によって、形状指令点列Ｒ0，Ｒ1，Ｒ2，…Ｒmに対応する修正指令点列Ｒ0’，Ｒ1’，Ｒ2’…Ｒm’及び各修正指令点の１階微分値Ｒ0(1)’，Ｒ1(1)’，Ｒ2(1)’…Ｒm(1)’を得る。
【００２８】
次に、修正指令点列Ｒ0’，Ｒ1’…Ｒm’および各１階微分値Ｒ0(1)’，Ｒ1(1)’…Ｒm(1)’とから、修正指令点列Ｒ0’，Ｒ1’…Ｒm’を通る曲線を生成する（Ｓ１８）。
たとえば、２点Ｒu’，Ｒu+1’において、それらの位置Ｒu’，Ｒu+1’とそれらの点における１階微分値Ｒu(1)’，Ｒu+1(1)’が与えられているので、それらの点を結ぶスプライン曲線やＮＵＲＢＳ曲線等の３次曲線を生成して補間することができる。より具体的には、たとえば、２点Ｒu’，Ｒu+1’間を次のようなスプライン曲線の３次曲線で結ぶ場合、２点の位置Ｒu’，Ｒu+1’と１階微分値Ｒu(1)’，Ｒu+1(1)’の４個のデータが与えられるので、次式で示すスプライン曲線の係数Ａ，Ｂ，Ｃ，Ｄは決定され、２点Ｒu’，Ｒu+1’間を結ぶ３次曲線Ｃｅが生成される（Ｓ１８）。
【００２９】
ｆ（ｔ）＝Ａｔ3＋Ｂｔ2＋Ｃｔ＋Ｄ      (Ａ，Ｂ，Ｃ，Ｄは係数、ｔ＝０〜１．０〜の曲線パラメータ)
ただし、ｆ（ｔ）, Ａ，Ｂ，Ｃ，Ｄは次のように各軸ごとに値を持つベクトルである。
ｆ（ｔ）ｘ＝Ａxｔ3＋Ｂxｔ2＋Ｃxｔ＋Ｄx
ｆ（ｔ）ｙ＝Ａyｔ3＋Ｂyｔ2＋Ｃyｔ＋Ｄy
ｆ（ｔ）ｚ＝Ａzｔ3＋Ｂzｔ2＋Ｃzｔ＋Ｄz
なお、図１１にこうして生成された曲線Ｃｅを示す。  
次に、こうして生成された曲線Ｃｅを点列指令の設定単位以下の細かさで補間する（Ｓ１９）。
【００３０】
上述の実施形態においては、処理Ｓ１で全ての指令点列Ｐ0，Ｐ1，Ｐ2, …Ｐn-1，Ｐnの読込みを行ってから処理を開始したが、必要点列だけ読みとってその点列に対する処理を行うことも可能である。 そうすることによって、対象の指令点列をすべて読込み終わってから曲線生成の処理を開始するのでなく指令点列を読込みながら読込んだ指令点列に対して曲線を生成していくことが可能である。
【００３１】
又、上記実施形態では、処理Ｓ２の処理で指令点Ｐi，Ｐi+1間の内挿点Ｑ2i+1，Ｑ2i+2おいて、線分(Ｐi，Ｐi+1)の距離：線分(Ｑ2i+1，Ｑ2i+2)の距離：線分(Ｐi，Ｑ2i+1)の距離=1：0.7：0.15とした内挿比を用いたが、他の値にしてもよい。
【００３２】
又、上記実施形態では、処理Ｓ２の処理で平均化として相加平均を行ったが、ある曲線に近く内挿点Ｑi，Ｑi+1，...Ｑi+k+1が分布している場合は相加平均を行うと図１２のように曲線から離れた場所に、内挿点Ｑi，Ｑi+1，...Ｑi+k+1の平均を取った代表内挿点Ｑinが生成される可能性がある。
【００３３】
そこで、図１３のように密集した内挿点Ｑi…Ｑi+k+1の群に対して最小２乗法によって近似曲線Ｃａを生成し、該近似曲線Ｃａ上において、相加平均によって求められる点Ｑinが最も近い点Ｑinaを平均化した代表内挿点Ｑinaとすることも可能である。
【００３４】
または、図１４のように密集した内挿点の群に対して最小２乗法によって近似曲線Ｃａを生成しＣａ上で各内挿点から一番近い点を対応内挿点群Ｑi’，Ｑi+1’，...Ｑi+k+1’とし、図１５のように該近似曲線Ｃａを直線Ｃａ’に展開したときのＱi’，Ｑi+1’，...Ｑi+k+1’に対応する点をＱi”，Ｑi+1”，...Ｑi+k+1”とし、それらの相加平均位置をＱia”とし、該相加平均位置の点Ｑia”の近似曲線Ｃａ上での対応する点Ｑia’を平均化した点、すなわち、密集した内挿点の代表内挿点とすることも可能である。
【００３５】
なお、上述した実施形態では、ＣＡＤ等で作成された指令点列から、その指令点間を内挿して内挿点を求め、内挿点より近似曲線Ｃｍを作成し、さらに最終的な曲線Ｃｅを求めたが、内挿点を求めず、指令点列より近似曲線Ｃｍを求め、その後最終的な曲線Ｃｅを求めるようにしてもよい。すなわち、指令点間の距離が設定値よりも短い指令点が連続した指令点群の場合（指令点間で（１-0）〜（１-k）の式が成立する場合）、その指令点群を平均化処理して１つの代表指令点を求め、その指令点群をこの代表指令点に置き換え、全体的な指令点列を求めて、該指令点列に基づいて、近似曲線Ｃｍ、最終的な補間を実行する曲線Ｃｅを求めるようにしてもよい。この場合、図６に示すフローチャートにおいては処理Ｓ２、Ｓ３を必要とせず、指令点列に基づいて図６のの処理が実行され、処理Ｓ４、Ｓ５における「内挿点」が「指令点」に代わり、他は同じ処理となる。
【図面の簡単な説明】
【００３６】
【図１】本発明の原理説明図である。
【図２】本発明を実施する数値制御装置の一実施形態の要部ブロック図である。
【図３】同実施形態における曲線を生成して補間するよう指令したプログラム例の説明図である。
【図４】同実施形態において、曲線を生成して補間するか否かを自動的に判断する方法の説明図である。
【図５】同実施形態において、曲線を生成して補間するか否かを自動的に判断する別の方法の説明図である。
【図６】同実施形態における動作処理のフローチャートである。
【図７】同実施形態における点列指令の説明図である。
【図８】同実施形態における内挿点（形状指令点）の説明図である。
【図９】同実施形態における密集した内挿点の平均を求め代表内挿点として形状指令点列を求める説明図である。
【図１０】同実施形態における近似曲線を求め、修正指令点及び１階微分値を求める説明図である。
【図１１】同実施形態において生成される滑らかな曲線の説明図である。
【図１２】密集した内挿点を相加平均によって求めた代表内挿点が曲線から離れた位置生成される場合を説明する説明図である。
【図１３】密集した内挿点群から近似曲線を求めて、内挿点を相加平均によって求めた点に最も近い点を平均化した点（代表内挿点）とする説明図である。
【図１４】密集した内挿点の平均化した点（代表内挿点）を求める別の方法の説明図である。
【図１５】同密集した内挿点の平均化した点（代表内挿点）を求める別の方法の説明図である。
【図１６】ＣＡＤで生成された指令点がトレランス幅の端に来ること、及び内挿点の説明図である。
【図１７】曲線を得るための従来の方法では、内挿点が密集していると、なめらかな曲線が得られないことの説明図である。
【符号の説明】
【００３７】
１００  数値制御装置
Ｐ，Ｐ0，Ｐ1，Ｐ2，…Ｐn  指令点
Ｑ0，Ｑ1，Ｑ2，…Ｑ2n，Ｑ2n+1  内挿点（形状指令点）
Ｒ0，Ｒ1，Ｒ2，…Ｒ2n，Ｒm  形状指令点
Ｒ0’，Ｒ1’，Ｒ2’…Ｒm’  修正指令点
Ｒ0(1)’，Ｒ1(1)’…Ｒm(1)’  １階微分値
Ｃｍ  近似曲線
Ｃｅ  生成される曲線
【図１】
2007293478.tif 000003
【図２】
2007293478.tif 000004
【図３】
2007293478.tif 000005
【図４】
2007293478.tif 000006
【図５】
2007293478.tif 000007
【図６】
2007293478.tif 000008
【図７】
2007293478.tif 000009
【図８】
2007293478.tif 000010
【図９】
2007293478.tif 000011
【図１０】
2007293478.tif 000012
【図１１】
2007293478.tif 000013
【図１２】
2007293478.tif 000014
【図１３】
2007293478.tif 000015
【図１４】
2007293478.tif 000016
【図１５】
2007293478.tif 000017
【図１６】
2007293478.tif 000018
【図１７】
2007293478.tif 000019