(57)【要約】【課題】指令点列が目標とした目標曲線のトレランス以内に収まる曲線を得る。又この目標曲線により近い曲線を得て曲線補間をする。【解決手段】指令点列Ｐ，Ｐ…の各点間に内挿点Ｑ，Ｑ…を求め、この内挿点Ｑ，Ｑ…を指令形状点とする。指令形状点Ｑ，Ｑ…は、指令点列Ｐ，Ｐ…が形成された目標曲線のトレランス幅ｗ内にある。指令形状点Ｑ，Ｑ…の各点を順次着目点とし、その着目点の前後の複数の指令形状点より，順次近似曲線を生成する。着目指令形状点を近似曲線に移動させ修正指令点とする。修正指令点より曲線を生成し、この曲線を曲線補間する。指令形状点（内挿点）Ｑ，Ｑ…は、指令点列Ｐ，Ｐ…よりもよりトレランス幅ｗの中心部に存在するから、近似曲線、修正指令点はトレランス幅ｗの中心部となり、生成される曲線はトレランス幅ｗ内に納まり滑らかな曲線が得られる。【選択図】　　　図５
2004078516.tif 000002
【特許請求の範囲】
【請求項１】
数値制御装置における、指令点列から滑らかな曲線を生成しその曲線に沿って補間する方法において、
▲１▼前記指令点列の各点間に内挿点を求め、それを形状指令点とするステップと、
▲２▼該形状指令点の各点について順に着目し、着目した点とその前後の予め決められた点数の形状指令点を選択するステップと、
▲３▼該選択した点に対して近似曲線を生成するステップと、
▲４▼前記着目した点を前記近似曲線に向かって移動し、修正指令点とするステップと、
▲５▼前記ステップ▲２▼からステップ▲４▼までを各形状指令点について繰り返し実行するステップと、
▲６▼前記修正指令点の点列を通る曲線を生成するステップと、
▲７▼生成した曲線を補間するステップと、
を備えた曲線補間方法。
【請求項２】
ステップ▲１▼において、内挿点と指令点をあわせて形状指令点とする、請求項１記載の曲線補間方法。
【請求項３】
ステップ▲１▼において、内挿するにあたり、設定単位以下の細かさで内挿点を求める、請求項１又は請求項２記載の曲線補間方法。
【請求項４】
ステップ▲３▼において、各点と近似曲線との距離の２乗の和が最小となる近似曲線を生成する、請求項１乃至３の内いずれか１項に記載の曲線補間方法。
【請求項５】
ステップ▲４▼において、修正のための移動量が第１の設定値を越えるとき、修正のための移動量は前記第１の設定値分だけとする、請求項１乃至４の内いずれか１項に記載の曲線補間方法。
【請求項６】
ステップ▲４▼において、修正指令点間が第２の設定値よりも短い場合は、さらにその内挿点を修正指令点とし、その内挿点を求めるために使用した修正指令点は削除する、請求項１乃至５の内いずれか１項に記載の曲線補間方法。
【請求項７】
前記内挿点は中点である、請求項６記載の曲線補間方法。
【請求項８】
ステップ▲４▼において、移動するにあたり、設定単位以下の細かさで移動する、請求項１乃至７の内いずれか１項に記載の曲線補間方法。
【請求項９】
ステップ▲６▼において、修正指令点列を通る曲線を生成するにあたり、各修正指令点が対応する近似曲線の点における近似曲線の１階微分の値も使用する、請求項１乃至８の内いずれか１項に記載の曲線補間方法。
【請求項１０】
ステップ▲７▼において、設定単位以下の細かさで補間する、請求項１乃至９の内いずれか１項に記載の曲線補間方法。
【請求項１１】
ステップ▲１▼において、指令点間がある設定値よりも短い場合は、さらにその内挿点を指令点とみなし、その内挿点を求めるために使用した指令点は削除する、請求項１乃至１０の内いずれか１項に記載の曲線補間方法。
【請求項１２】
前記内挿点とは中点である、請求項１１記載の曲線補間方法。
【請求項１３】
ステップ▲６▼において、生成する曲線はＮＵＲＢＳ曲線である、請求項１乃至１２の内いずれか１項に記載の曲線補間方法。
【請求項１４】
ステップ▲６▼において、生成する曲線はスプライン曲線である、請求項１乃至１２の内いずれか１項に記載の曲線補間方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、数値制御装置等で曲面を加工する際の指令点列データより滑らかな曲線を得る曲線補間方法に関する。
【０００２】
【従来の技術】
ＣＡＤ／ＣＡＭ装置や倣い装置などを使って作成した指令点列データに基づいて数値制御工作機械等で金型等の曲面を加工する場合、指令点列データから曲線補間を行って曲面加工が行われている。例えば、特開平２−１１３３０５号公報には、指令点列データから近似的なスプライン曲線を生成し補間する方法が記載されている。
【０００３】
また、特開平１０−２４０３２８号公報には、隣り合う点間の線分ベクトルを求めこの線分ベクトルの差の差分ベクトルの２乗の和が最小となるように各指令点の補正量を求め、各指令点を修正し補間する方法や、指令点列から連続する複数の点列を評価範囲として、この評価範囲の点列に対して近似的な曲線を当てはめ、この近似曲線と評価範囲内の各指令点との差を修正量とし修正指令点列を求める方法等が記載されている。
【０００４】
【発明が解決しようとする課題】
ＣＡＤ／ＣＡＭで作成されるデータは、ＣＡＤで作成されるデータの目標曲線（以下、所期の曲線という）に対してあるトレランス内に入るように線分が作成され、その線分の両端の点が指令点列データとして数値制御装置に指令される。
図１に示すように、ＣＡＭでは所期の曲線Ｃｓに対して、あるトレランス幅２ｗ内に入るように線分Ｌが作成され、その線分の両端の点Ｐ，Ｐ…・が指令点列データとしてＣＡＭから数値制御装置に指令される。この指令点列の位置情報に基づいて曲線Ｃｅが生成されるために、所期の曲線Ｃｓに対するトレランス幅２ｗを越えるような曲線Ｃｅが生成されてしまうことがある。
【０００５】
特開平１０−２４０３２８号公報に記載された技術は、指令点を修正するものであるが、この場合も同様である。指令点を修正しても図１と同様な曲線Ｃｅになる可能性があり、所期の曲線Ｃｓに対するトレランス幅２ｗを越えるような曲線Ｃｅが生成されないという保証はない。
また、指令点列は所期の曲線Ｃｓに対してあるトレランス幅２ｗの帯の端に来ることが多い。そのため、指令点列のみから曲線Ｃｅを生成すると、所期の曲線Ｃｓから離れてしまうことがある。たとえば、図２に示すように、所期の曲線Ｃｓが円弧であった場合、あるトレランス幅２ｗ内に入る線分Ｌを生成すると、指令点Ｐ，Ｐ，Ｐは所期の曲線Ｃｓからトレランス量ｗだけ離れた位置にあり、図３に示すように、各線分Ｌを約０．１５：０．７：０．１５で内分した２点Ｑ１，Ｑ２が所期の曲線Ｃｓ上に存在する点である。
【０００６】
このことは、指令点を修正する場合も同様である。たとえば、上述した図２のように、所期の曲線が円弧であった場合、指令点列は円弧上に並んでいるため、指令点列に対して近似的な曲線を当てはめても指令点列はほとんど修正されない。したがって、修正された指令点列はやはり所期の曲線Ｃｓからトレランス量ｗだけ離れた位置にある。
【０００７】
又、指令点列から生成される曲線Ｃｅは、指令点列の位置を必ず通過する。　そのため、指令点列にＣＡＤ／ＣＡＭでの計算誤差があったり、設定単位への丸め誤差があり、図４に示すような点列Ｐ，Ｐ，Ｐ…であると、その誤差が生成曲線Ｃｅに反映し、加工面の面精度が良くないことや加工時の機械の振動の原因となることがある。このように、指令された点列の位置を必ず通過することが、面精度の劣化の原因となることがある。
【０００８】
そこで、本発明の目的は、所期の曲線に対するトレランス以内に収まる曲線を得る曲線補間方法を提供することにある。又は、所期の曲線により近い曲線を得る曲線補間方法を提供することにある。
【０００９】
【課題を解決するための手段】
指令点Ｐ，Ｐ，Ｐ…・は、図５に示すようにトレランス幅２ｗ内に有り、各指令点列Ｐ，Ｐ，Ｐ…・を結ぶ線分もトレランス幅２ｗ内にある。よって、指令点間線分を内挿すれば、この内挿点Ｑ，Ｑ，Ｑ…もトレランス幅２ｗ内に存在することになる。本発明は、この内挿点を利用して、所期の曲線Ｃｓにより近い滑らかな曲線Ｃｅを生成しその曲線に沿って補間する方法であり、
ステップ▲１▼；指令点列Ｐ，Ｐ，Ｐ…・の各点間に内挿点Ｑ，Ｑ，Ｑ，…・を求め、それを形状指令点とする。この形状指令点（内挿点）Ｑ，Ｑ，Ｑ，…・は指令点Ｐ，Ｐ，Ｐ…・よりもトレランス幅２ｗ内の中心部に位置する。
ステップ▲２▼；該形状指令点Ｑ，Ｑ，Ｑ，…・の各点について順に着目し、着目した点とその前後の予め決められた点数の形状指令点を選択する。
ステップ▲３▼；図６に示すように該選択した形状指令点Ｑ，Ｑ，Ｑ，…・に対して近似曲線Ｃｍを生成する。
ステップ▲４▼；前記着目した形状指令点Ｑを前記近似曲線Ｃｍに向かって移動し、修正指令点Ｑ’とする。
ステップ▲５▼；前記ステップＳ▲２▼からステップＳ▲４▼までを各形状指令点Ｑ，Ｑ，Ｑ，…・について繰り返し実行し、修正指令点Ｑ’，Ｑ’，Ｑ’…・を得る。
ステップ▲６▼；前記修正指令点Ｑ’の点列を通る曲線を生成する。
ステップ▲７▼；生成した曲線を補間する。
以上のステップで構成された曲線補間方法である。
【００１０】
又、前記ステップ▲１▼において、内挿点Ｑだけではなく指令点Ｐをあわせて形状指令点としてもよい。このステップ▲１▼において内挿点を求めるにあたり、点列指令における指令設定単位以下の細かさで内挿点を求めるようにする。
【００１１】
ステップ▲３▼の処理においては、各形状指令点Ｑと近似曲線Ｃｍとの距離の２乗の和が最小となる近似曲線Ｃｍを生成するようにする。
ステップ▲４▼において、修正のための移動量が第１の設定値を越えるとき、修正のための移動量はこの第１の設定値分だけとする。
又、ステップ▲４▼において、図７に示すように、修正指令点Ｑ’間が第２の設定値よりも短い場合は、さらにその内挿点（例えば中点）Ｑ”を修正指令点Ｑ’とし、その内挿点を求めるために使用した修正指令点は削除する。
ステップ▲４▼において、移動するにあたり、点列指令の設定単位以下の細かさで移動するようにする。
【００１２】
ステップ▲６▼において、修正指令点列Ｑ’，Ｑ，’Ｑ’，…・を通る曲線を生成するにあたり、図９に示すように、各修正指令点Ｑ’が対応する近似曲線Ｃｍの点における近似曲線Ｃｍの１階微分の値Ｑ（１）’も使用する。
ステップ▲７▼においては、点列指令の設定単位以下の細かさで補間する。
ステップ▲１▼において、指令点間の距離がある設定値よりも短い場合は図８に示すように、さらにその内挿点（例えば中点）Ｐ’を指令点Ｐとみなし、その内挿点を求めるために使用した指令点は削除するようにする。
ステップ▲６▼において、生成する曲線Ｃｅは、ＮＵＲＢＳ曲線又はスプライン曲線とする。
【００１３】
【発明の実施の形態】
図１０は本発明の曲線補間方法を適用する数値制御装置１００のブロック図である。数値制御装置１００を全体的に制御するプロセッサ１１には、ＲＯＭ、ＲＡＭ、バッテリでバックアップされたＣＭＯＳメモリ等のメモリ１２、記憶媒体にデータを入出力するデータ入出力装置３４が接続されたインターフェイス１３，表示器／ＭＤＩユニット３０が接続されたインターフェイス１６，操作盤３１が接続されたインターフェイス１７、ＰＭＣ（プログラマブル・マシン・コントローラ）１４、表示器／ＭＤＩユニット３０、各軸の軸制御回路１８、スピンドル制御回路２０がバス２２で接続されている。
【００１４】
各軸の軸制御回路１８はプロセッサ１１からの各軸の移動指令量を受けて、各軸の指令をサーボアンプ１９に出力する。サーボアンプ１９はこの指令を受けて、各軸のサーボモータ３２を駆動する。各軸のサーボモータ３２は位置・速度検出器を内蔵し、この位置・速度検出器からの位置・速度フィードバック信号を軸制御回路１８にフィードバックし、位置・速度のフィードバック制御を行う。なお、図１０では、位置・速度のフィードバックについては省略している。
【００１５】
また、スピンドル制御回路２０は主軸回転指令を受け、指令主軸速度と主軸モータ３３に設けられたポジションコーダからの速度フィードバック信号とにより、スピンドルアンプ２１にスピンドル速度信号を出力する。スピンドルアンプ２１はスピンドル速度信号により主軸の速度制御を行う。
【００１６】
データ入出力装置３４からインターフェイス１３を介して、ＣＡＤ／ＣＡＭ装置や倣い装置などを使って作成された指令点列データを含む加工プログラムが入力され、メモリの不揮発性部分に記憶されているものとする。滑らかな曲線を生成して補間することの開始を指令するＧコードとこの指令を解除するＧコードが用意されており、加工プログラムには、図１１に示すように、滑らかな曲線を生成して補間すべき対象の指令点列の最初に、滑らか曲線補間指令のＧコード「Ｇ０６．３」がプログラムされ、この指令をキャンセルする位置に滑らか曲線補間キャンセル指令Ｇコード「Ｇ０６．９」がプログラムされている。このＧコード「Ｇ０６．３」と「Ｇ０６．９」間において本発明が採用する滑らか補間がなされる。
【００１７】
又、この滑らか補間をなす区間を自動的に判断するようにしてもよい。この場合は、プロセッサ１１は加工プログラムより点列を読み、各点列間を結ぶ線分野角度や長さから滑らか曲線を生成して補間するか否かを自動的に判断するようにする。図１２に示すように、点Ｐ１，Ｐ２，Ｐ３の各点間の隣り合う線分間の屈折角度は小さい。及び点，Ｐ６，Ｐ７，Ｐ８の各点間の隣り合う線分間の屈折角度も小さい。よって、これらの区間は滑らか曲線を生成して補間する領域と判断し、又、点Ｐ３とＰ４間の線分と点Ｐ４とＰ５間の線分の屈折角度α、点Ｐ４とＰ５間の線分と点Ｐ５とＰ６間の線分の屈折角度βは大きい。このため、点Ｐ４とＰ５間は滑らかな曲線を生成して補間する処理は行わないようにする。すなわち、指令点列間のとなりあう線分の屈折角が基準値以下の場合には、滑らか曲線を生成して補間する処理を行うものと自動的に判断し、他の場合には行わないように自動的に判断するようにする。
【００１８】
又、図１３に示すように、指令点Ｐ１からＰ４及び指令点Ｐ５からＰ８の各点間の距離は短いが、指令点Ｐ４とＰ５間の距離は長い、このように指令点間の距離が基準値以下の指令点Ｐ０〜Ｐ４、Ｐ５〜Ｐ８場合には、滑らか曲線を生成して補間する処理を行い、基準値より長い指令点Ｐ４〜Ｐ５の場合には、滑らか曲線を生成して補間する処理を行わないものと自動的に判断するようにする。
【００１９】
そこで、Ｇコードにより又は自動的に滑らか曲線を生成して補間する処理と判断されたときの処理について、図１４、図１５に示すフローチャートと共に説明する。
【００２０】
プロセッサ１１は加工プログラムより指令点列Ｐ０，Ｐ１，Ｐ２，Ｐｎ−１，Ｐｎを読込む（Ｓ１）。この読み込んだ指令点列が図１６に示すような指令点列Ｐ０，Ｐ１，Ｐ２，Ｐｎ−１，Ｐｎであったとする。
【００２１】
次に、各点間（Ｐ０，Ｐ１）　，（Ｐ１，Ｐ２）…（Ｐｎ−１，Ｐｎ）に２点の内挿点（Ｑ１，Ｑ２），（Ｑ３，Ｑ４）…（Ｑ２ｎ−１，Ｑ２ｎ）を作成する（Ｓ２）。この実施形態においては、図１７に示すように、内挿比を１：０．７：０．１５としている。すなわち、（Ｐｉ，Ｐｉ＋１）間の内挿点（Ｑ２ｉ＋１，Ｑ２ｉ＋２）の内挿比は、線分（Ｐｉ，Ｐｉ＋１）の距離：線分（Ｑ２ｉ＋１，Ｑ２ｉ＋２）の距離：線分（Ｐｉ，Ｑ２ｉ＋１）の距離＝１：０．７：０．１５とする。
【００２２】
そして、Ｑ０＝Ｐ０，Ｑ２ｎ＋１＝Ｐｎとし（Ｓ３）、これによって内挿点の点列Ｑ０，Ｑ１，Ｑ２，…Ｑ２ｎ，Ｑ２ｎ＋１からなる形状指令点列を生成する。
指標ｉを「１」にセットし（Ｓ４）、該指標ｉの値を判断し（Ｓ５，Ｓ６）、指標ｉが「１」の場合には、形状指令点列Ｑｉ−１，Ｑｉ，Ｑｉ＋１，Ｑｉ＋２（＝Ｑ０，Ｑ１，Ｑ２，Ｑ３）を取り出し（Ｓ１７）、指標ｉが「２〜２ｎ−１」の場合には、形状指令点列Ｑｉ−２，Ｑｉ−１，Ｑｉ，Ｑｉ＋１，Ｑｉ＋２を取出し（Ｓ７）、指標ｉが「２ｎ」の場合には、形状指令点列Ｑｉ−２，Ｑｉ−１，Ｑｉ，Ｑｉ＋１（＝Ｑ２ｎ−２，Ｑ２ｎ−１，Ｑ２ｎ，Ｑ２ｎ＋１）を取出す（Ｓ１８）。なお、指標ｉが「２ｎ＋１」の場合には後述する。
こうして取出した点列に対して、最小２乗法にて近似曲線Ｃｍを作成する。　つまり、取出した点列からの距離の２乗和が最も小さくなる曲線Ｃｍを作成する（Ｓ８）。この近似曲線Ｃｍが図１８に示す一点鎖線の曲線であったとする。次に、この時点の指標ｉに対応する形状指令点Ｑｉを近似曲線Ｃｍに向かって、点列指令の設定単位以下の細かさでかつトレランス量２ｗ以内で移動し、修正指令点Ｑｉ’とする（Ｓ９）。そして、形状指令点Ｑｉに対応する近似曲線Ｃｍ上の修正指令点Ｑｉ’における１階微分値Ｑｉ（１）’を求め記憶する（Ｓ１０）。
【００２３】
指標ｉを「１」インクリメントし（Ｓ１１）、該指標ｉが形状指令点Ｑの数の「２ｎ＋１」を越えたか判断し（Ｓ１２）、越えてなければ、処理Ｓ５に戻り上述した処理を実行する。
【００２４】
指標ｉが「２ｎ＋１」に達したことが、処理Ｓ５で判断されたときには、修正指令点Ｑ２ｎ＋１’＝指令点Ｐｎとし、修正指令点Ｑ２ｎ’から指令点Ｐｎへの方向ベクトルを修正指令点Ｑ２ｎ＋１’に対応する１階微分値Ｑ２ｎ＋１（１）’として記憶し（Ｓ１９）、指標ｉを１インクリメントする（Ｓ１１）。その結果、指標ｉが形状指令点Ｑの数「２ｎ＋１」を越えたことが判別されるので（Ｓ１２）、処理Ｓ１３に移行し、修正指令点Ｑ０’＝指令点Ｐ０とし、指令点Ｐ０から修正指令点Ｑ１’の方向ベクトルを修正指令点Ｑ０’（＝Ｐ０）に対応する１階微分値Ｑ０　（１）’とする。以上の処理によって、形状指令点列Ｑ０，Ｑ１，Ｑ２，…Ｑ２ｎ，Ｑ２ｎ＋１に対応する修正指令点列Ｑ０’，Ｑ１’，Ｑ２’…Ｑ２ｎ’，Ｑ２ｎ＋１’及び各修正指令点の１階微分値Ｑ０　（１）’，Ｑ１　（１）’，Ｑ２　（１）’…Ｑ２ｎ　（１）’，Ｑ２ｎ＋１　（１）’を得る。
【００２５】
さらに本実施形態においては、図１９に示すように、修正指令点Ｑ０’，Ｑ１’…Ｑ２ｎ＋１’の各２点間の距離について、設定されている基準値よりも短い２点Ｑｊ’，Ｑｊ＋１’間の距離があれば、その２点間を内挿した内挿点を求める。この図１９に示す例では２点の中点を新しい修正指令点Ｑｊ’とし、旧い修正指令点Ｑｊ’，Ｑｊ＋１’を削除する。又、旧い修正指令点の１階微分値Ｑｊ（１）’とＱｊ＋１（１）’の平均値を新しい修正指令点Ｑｊ’の１階微分値Ｑｊ（１）’として、旧い修正指令点の１階微分値Ｑｊ（１）’とＱｊ＋１（１）’を削除する。ただし、修正指令点列の両端の修正指令点Ｑ０’，Ｑ２ｎ＋１’及びこの修正指令点の１階微分値Ｑ０（１）’，Ｑ２ｎ＋１（１）’は削除しない。
これによって、曲線生成の元データとして、修正指令点列Ｑ０’，Ｑ１’…Ｑ２ｎ＋１’と、各点における１階微分値Ｑ０（１）’，Ｑ１（１）’…Ｑ２ｎ＋１（１）’が作成される（Ｓ１４）。
【００２６】
次に、修正指令点列Ｑ０’，Ｑ１’…Ｑ２ｎ＋１’および各１階微分値Ｑ０（１）’，Ｑ１（１）’…Ｑ２ｎ＋１（１）’とから、修正指令点列Ｑ０’，Ｑ１’…Ｑ２ｎ＋１’を通る曲線を生成する（Ｓ１５）。
【００２７】
たとえば、２点Ｑｊ’，Ｑｊ＋１’において、それらの位置Ｑｊ’，Ｑｊ＋１’とそれらの点における１階微分値Ｑｊ（１）’，Ｑｊ＋１（１）’が与えられているので、それらの点を結ぶスプライン曲線やＮＵＲＢＳ曲線等の３次曲線を生成して補間することができる。より具体的には、たとえば、２点Ｑｊ’，Ｑｊ＋１’間を次のようなスプライン曲線の３次曲線で結ぶ場合、２点の位置Ｑｊ’，Ｑｊ＋１’と１階微分値Ｑｊ（１）’，Ｑｊ＋１（１）’の４個のデータが与えられるので、次式で示すスプライン曲線の係数Ａ，Ｂ，Ｃ，Ｄは決定され、２点Ｑｊ’，Ｑｊ＋１’間を結ぶ３次曲線Ｃｅが生成される（Ｓ１５）。
【００２８】
ｆ（ｔ）＝Ａｔ３＋Ｂｔ２＋Ｃｔ＋Ｄ　　（Ａ，Ｂ，Ｃ，Ｄは係数、ｔ＝０〜１．０の曲線パラメータ）
ただし、ｆ（ｔ），Ａ，Ｂ，Ｃ，Ｄは次のように各軸ごとに値を持つベクトルである。
ｆ（ｔ）ｘ＝　Ａｘｔ３＋Ｂｘｔ２＋Ｃｘｔ＋Ｄｘ
ｆ（ｔ）ｙ＝　Ａｙｔ３＋Ｂｙｔ２＋Ｃｙｔ＋Ｄｙ
ｆ（ｔ）ｚ＝　Ａｚｔ３＋Ｂｚｔ２＋Ｃｚｔ＋Ｄｚ
なお、図２０にこうして生成された曲線Ｃｅを示す。
次に、こうして生成された曲線Ｃｅを点列指令の設定単位以下の細かさで補間する（Ｓ１６）。
【００２９】
上述の実施形態においては、ステップＳ１で全ての指令点列Ｐ０，Ｐ１，Ｐ２，　…Ｐｎ−１，Ｐｎの読込みを行ってから処理を開始したが、必要点列だけ読みとってその点列に対する処理を行うことも可能である。　そうすることによって、対象の指令点列をすべて読込み終わってから曲線生成の処理を開始するのでなく指令点列を読込みながら読込んだ指令点列に対して曲線を生成していくことが可能である。
【００３０】
又、各指令点間に内挿点（＝形状指令点）を得る場合、上記実施形態では２点の内挿点を作成しているが、２点に限らず他の数の内挿点を作成するようにしてもよい。さらに、近似曲線Ｃｍを作成する場合、上記実施形態では、着目している形状指令点Ｑｉの前後に最大２点の形状指令点を取出しているが、２点という点数を他の数にしてもよい。さらには、指令点列Ｐ０，Ｐ１，Ｐ２，…Ｐｎ−１，Ｐｎ　と内挿点Ｑ１，Ｑ２，…Ｑ２ｎを合わせて形状指令点としてもよい。
【００３１】
さらに、指令点列Ｐ０，Ｐ１，Ｐ２，…Ｐｎ−１，Ｐｎ　の任意の２点を結ぶ線分がある設定値よりも短い場合、図８に示すように、その内挿点または中点を指令点Ｐ’とみなしその内挿点または中点を生成するために使用した２点の指令点は削除するようにしてもよい。この場合、処理Ｓ２で、各指令点Ｐ間の距離が設定基準値以下か判断し，基準以下の場合には、上述した処理を行うようにして、指令点列を作成しなおし、内挿点を求めるようにすればよい。
【００３２】
又、上記実施形態では、処理Ｓ２の処理で指令点Ｐｉ，Ｐｉ＋１間の内挿点Ｑ２ｉ＋１，Ｑ２ｉ＋２おいて、線分（Ｐｉ，Ｐｉ＋１）の距離：線分（Ｑ２ｉ＋１，Ｑ２ｉ＋２）の距離：線分（Ｐｉ，Ｑ２ｉ＋１）の距離＝１：０．７：０．１５とした内挿比を用いたが、他の値にしてもよい。
【００３３】
【発明の効果】
本発明は、より滑らかでかつ所期の曲線に近い曲線を補間することができる。
【図面の簡単な説明】
【図１】指令点列に基づいて曲線を生成する従来の方法の問題点の説明図である。
【図２】従来の方法により生成した曲線と所期の曲線の説明図である。
【図３】従来の方法による所期の曲線上の点の説明図である。
【図４】指令点列によっては、従来の方法では滑らかな生成曲線が得られない例の説明図である。
【図５】本発明が形状指令点として用いる内挿点の説明図である。
【図６】本発明における形状指令点を近似曲線へ移動させ修正指令点を求める説明図である。
【図７】本発明における修正指令点をさらに修正する場合の説明図である。
【図８】本発明において，さらに指令点を修正する場合の説明図である。
【図９】本発明における１階微分値の説明図である。
【図１０】本発明を実施する数値制御装置の一実施形態の要部ブロック図である。
【図１１】同実施形態における曲線を生成して補間するプログラムを指令したプログラム例の説明図である。
【図１２】同実施形態において、曲線を生成して補間するか否かを自動的に判断する方法の説明図である。
【図１３】同実施形態において、曲線を生成して補間するか否かを自動的に判断する別の方法の説明図である。
【図１４】同実施形態における動作処理のフローチャートである。
【図１５】同動作処理フローチャートの続きである。
【図１６】同実施形態における点列指令の説明図である。
【図１７】同実施形態における内挿点（形状指令点）の説明図である。
【図１８】同実施形態における近似曲線を求め、修正指令点及び１階微分値を求める説明図である。
【図１９】同実施形態における修正指令点をさらに修正し新しい修正指令点と１階微分値を求める説明図である。
【図２０】同実施形態において生成される滑らかな曲線の説明図である。
【符号の説明】
１００　数値制御装置
Ｐ，Ｐ０，Ｐ１，Ｐ２，…Ｐｎ−１，Ｐｎ　指令点
Ｑ，Ｑ０，Ｑ１，Ｑ２，…Ｑ２ｎ，Ｑ２ｎ＋１　内挿点（形状指令点）
Ｑ’，Ｑ０’，Ｑ１’，Ｑ２’…Ｑ２ｎ’，Ｑ２ｎ＋１’　修正指令点
Ｑ（１）’，Ｑ０（１）’，Ｑ１（１）’…Ｑ２ｎ＋１（１）’　１階微分値
Ｃｓ　所期の曲線
Ｃｍ　近似曲線
Ｃｅ　生成される曲線
ｗ　トレランス幅
Ｌ　線分
【図１】
2004078516.tif 000003
【図２】
2004078516.tif 000004
【図３】
2004078516.tif 000005
【図４】
2004078516.tif 000006
【図５】
2004078516.tif 000007
【図６】
2004078516.tif 000008
【図７】
2004078516.tif 000009
【図８】
2004078516.tif 000010
【図９】
2004078516.tif 000011
【図１０】
2004078516.tif 000012
【図１１】
2004078516.tif 000013
【図１２】
2004078516.tif 000014
【図１３】
2004078516.tif 000015
【図１４】
2004078516.tif 000016
【図１５】
2004078516.tif 000017
【図１６】
2004078516.tif 000018
【図１７】
2004078516.tif 000019
【図１８】
2004078516.tif 000020
【図１９】
2004078516.tif 000021
【図２０】
2004078516.tif 000022