(57)【特許請求の範囲】
【請求項１】
指令点列で指令された工具経路から曲線を生成する工具経路曲線化方法であって、
前記指令点列を結ぶ折れ線経路を基準とし、前記折れ線経路を含み、前記曲線がその中に含まれるべき領域を定義するステップと、
前記曲線が該領域内に含まれるか否かを該領域の表面の幾何学的形状に基づいて判定するステップと、
前記判定ステップにより前記領域に包含されると判定された曲線を生成するステップと、を含む工具経路曲線化方法。
【請求項２】
前記領域の形状を設定によって指定できるようにした、請求項１に記載の工具経路曲線化方法。
【請求項３】
前記領域が、隣接する指令点を結ぶ線分を軸として一つの曲線を回転して出来る回転体である、請求項１に記載の工具経路曲線化方法。
【請求項４】
指令点列で指令された工具経路から曲線を生成する工具経路曲線化装置であって、
前記指令点列を結ぶ折れ線経路を基準とし、前記折れ線経路を含み、前記曲線がその中に含まれるべき領域を定義する定義手段と、
前記曲線が該領域内に含まれるか否かを該領域の表面の幾何学的形状に基づいて判定する判定手段と、
前記判定手段により前記領域に包含されると判定された曲線を生成する曲線生成手段と、を備えた工具経路曲線化装置。
【請求項５】
前記領域の形状を設定によって指定できるようにした、請求項４に記載の工具経路曲線化装置。
【請求項６】
前記領域が、隣接する指令点を結ぶ線分を軸として一つの曲線を回転して出来る回転体である、請求項４に記載の工具経路曲線化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、形状誤差を保証する工具経路の曲線化方法および曲線化装置に関する。
【背景技術】
【０００２】
与えられた点列を補間する曲線や点列の各点の近傍を通る曲線を求める方法は広く知られており（非特許文献１，２）、数値制御工作機械による加工においては、なめらかな加工面の実現と加工時間の短縮を目的として、点列で与えられた工具経路を曲線へ変換するために、これらの方法が利用されている（特許文献１〜６）。
【０００３】
一般に、加工プログラムの長さは加工物によって変わり、時間を要する加工では工具経路を構成する点の数も非常に多くなる。したがって、曲線化を一回の処理で完了することは困難で、点列を分割して少しずつ曲線を生成して行くという方式が採用されている。また、曲線生成と加工を並行して行おうとすると、必然的にこのやり方を取ることになる。分割された点群から生成される曲線は、パラメトリック曲線の形式で表わされ、Ｂスプライン曲線やＮＵＲＢＳ曲線など、用途に適した表現形式が採用される。
【０００４】
このような点列の曲線化において、当初は、点列の各点を通る曲線（補間曲線）の生成を主眼としていたが、ＣＡＭで加工プログラムを作成する時に生じる形状誤差などを考慮して、点列を通過する曲線よりも、点列の近傍を通る曲線（近似曲線）が指向されるようになっている。近似曲線には、点列の各点が曲線から所定の距離以内にあるという条件が課されるのが一般的である（特許文献１）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３−１７１３７６号公報
【特許文献２】特開２００７−２９３４７８号公報
【特許文献３】特開２００６−３０９６４５号公報
【特許文献４】特開２００５−１８２４３７号公報
【特許文献５】特開２００４−０７８５１６号公報
【特許文献６】特許第３３６６２１３号公報
【非特許文献】
【０００６】
【非特許文献１】Les Piegl, Wayne Tiller, The NURBS Book, Springer-Verlag,pp405-453
【非特許文献２】I.J.Schoenberg, Spline functions and the problem of graduation, Proceedings of the National Academy of Sciences of the U.S.A., 52 (1964),pp947-950
【非特許文献３】ゴールドスタイン, 古典力学, 吉岡書店, （1967),pp46-51
【発明の概要】
【発明が解決しようとする課題】
【０００７】
点列から生成された曲線は経路のなめらかさをもたらすが、それと同時に、元の点列の近くを通ることが求められる。そのため、従来の曲線化では、点列の各点と曲線上のそれらの対応点との距離が予め設定した値以下になるように、曲線を生成する。
【０００８】
しかしながら、この方法では、指令点のところでのみ曲線との距離を見ているので、他の部分では、曲線が点列から大きく離れてしまうこともあり得る。そのため、曲線化による工具経路の形状誤差を一定の値以下に抑えたい時には適用できないという問題があった。
【０００９】
また特許文献６には、補間曲線の場合に、指令点に挟まれた曲線上に幾つかの点を取り、指令点を結ぶ線分とこれらの各点との距離を見る方法が開示されている。この方法は、指令点のところだけで距離を見る方法に比べて、より細かい判定ができるが、隣り合う点にはさまれた区間はチェックしないので、原理的に誤差が許容値以下であることを保証するものではない。
【００１０】
そこで、本発明の目的は、上記従来技術に関わる曲線生成上の問題を解決するために、生成した曲線全体が元の点列から見てある領域の中に納まるような、形状誤差を保証する工具経路の曲線生成方法および曲線生成装置を提供することである。
【課題を解決するための手段】
【００１１】
点列で与えられた工具経路を曲線化する方法であって、生成した曲線と元の経路との形状誤差が指定した値以下になるように曲線を生成する。曲線の生成方法は従来のもの、すなわち、曲線の形状を変えるための変数である制御点を導入し、曲線と点列の各点との距離の和が最小になるように制御点の位置を決める。制御点を変数とする曲線の表現と制御点を求める方法は、非特許文献１に記載されている近似曲線を求める手法を採用する。
【００１２】
制御点の数を与えて曲線が決まると、指令点と曲線との距離を求め、全ての指令点について距離が指定した値以下になるまで、制御点を追加して曲線生成と距離の確認を繰り返す。全ての指令点が曲線から指定した距離以内にある時は、生成した曲線が点列を結ぶ折れ線経路を基準とする一つの空間領域に含まれるか否かを判定する。曲線全体が指定した領域に含まれるようになるまで、制御点を追加して曲線生成と距離の確認を繰り返すことにより、所望の曲線が得られる。
【００１３】
このような領域の最も簡単な例は、折れ線を構成する個々の線分を軸とする円筒を連結したものである。しかし、本発明の方法は、領域を円筒に限るものではなく、より一般的に、線分の軸をＺ軸とする座標系において、ｘ＝ｆ（ｚ）で表わされる曲線をＺ軸廻りに回転した回転体でよい。また、この判定手段は生成された曲線の情報だけを用いるもので、曲線を生成する方法自体とは独立しており、曲線生成方法によらずに適用できる。
【００１４】
そして、本願の請求項１に係る発明は、指令点列で指令された工具経路から曲線を生成する工具経路曲線化方法であって、前記指令点列を結ぶ折れ線経路を基準とし、前記折れ線経路を含み、前記曲線がその中に含まれるべき領域を定義するステップと、前記曲線が該領域内に含まれるか否かを該領域の表面の幾何学的形状に基づいて判定するステップと、前記判定ステップにより前記領域に包含されると判定された曲線を生成するステップと、を含む工具経路曲線化方法である。
【００１５】
請求項２に係る発明は、前記領域の形状を設定によって指定できるようにした、請求項１に記載の工具経路曲線化方法である。  
請求項３に係る発明は、前記領域が、隣接する指令点を結ぶ線分を軸として一つの曲線を回転して出来る回転体である、請求項１に記載の工具経路曲線化方法である。
【００１６】
請求項４に係る発明は、指令点列で指令された工具経路から曲線を生成する工具経路曲線化装置であって、前記指令点列を結ぶ折れ線経路を基準とし、前記折れ線経路を含み、前記曲線がその中に含まれるべき許容領域を定義する定義手段と、前記曲線が該領域内に含まれるか否かを該領域の表面の幾何学的形状に基づいて判定する判定手段と、前記判定手段により前記領域に包含されると判定された曲線を生成する曲線生成手段と、を備えた工具経路曲線化装置である。
【００１７】
請求項５に係る発明は、前記領域の形状を設定によって指定できるようにした、請求項４に記載の工具経路曲線化装置である。
【００１８】
請求項６に係る発明は、前記領域が、隣接する指令点を結ぶ線分を軸として一つの曲線を回転して出来る回転体である、請求項４に記載の工具経路曲線化装置である。
【００１９】
そして、請求項１、４の発明により、点列で与えられた加工経路を曲線化する時に、点列を結ぶ折れ線経路からの距離が定められた値を超えない曲線を得ることが可能になる。
【００２０】
請求項２、５の発明により、点列で与えられた加工経路を曲線化する時に、加工プログラム毎に曲線と元の点列との離れ具合を所望の範囲に抑えることができる。
【００２１】
請求項３、６の発明により、点列で与えられた加工経路を曲線化する時に、隣り合う点の中間では点のところよりも曲線と折れ線経路との距離が大きくなることを許容して、柔軟な曲線生成を可能にする。
【発明の効果】
【００２２】
本発明により、生成した曲線全体が元の点列から見てある領域の中に納まるような、形状誤差を保証する工具経路の曲線生成方法および曲線生成装置を提供できる。
【図面の簡単な説明】
【００２３】
【図１】工具経路曲線化装置の構成を示す図である。
【図２】点列データの例を示す図である。
【図３】許容領域を構成する要素領域を示す図である。
【図４】部分曲線生成の処理のフローを示す図である。
【図５】円筒の要素領域と曲線との交点を示す図である。
【図６】円筒に含まれない曲線区間を示す図である。
【図７】曲線を含む回転楕円体を示す図である。
【図８】円筒面上の点を経由して２点を結ぶ経路を示す図である。
【図９】円筒の接続部の曲線を示す図である。
【図１０】曲線が許容領域に含まれることを検証する処理のフローを示す図である。
【図１１】円筒の要素領域に含まれることを判定する処理のフローを示す図である。
【図１２】円筒の接続領域に含まれることを判定する処理のフローを示す図である。
【発明を実施するための形態】
【００２４】
以下、本発明の実施形態を図面と共に説明する。
まず本明細書で用いる用語を定義する。曲線生成のために分割された点列のそれぞれを部分点列とし、部分点列から生成された曲線を部分曲線とする。また、曲線の形状誤差を保証するために、部分点列の各点を結ぶ折れ線経路を基準に定義され、曲線がその中に含まれるべき領域を許容領域とする。部分点列の各点と曲線との距離、或いは、部分点列の各点を結ぶ線分と曲線との距離の許容値をトレランスとする。
【００２５】
本発明の方法を具体的に説明する。図１は本発明の一実施形態である工具経路曲線化装置を示すブロック図である。工具経路曲線化装置１は、ＮＣ指令解読部１０、点列取得部２０、曲線生成部３０、形状誤差判定部４０、曲線出力部５０を含む。
【００２６】
ＮＣ指令解読部１０は工作機械を制御する数値制御装置に搭載されるＮＣ指令解読部と同じもので、ＮＣ指令２（加工プログラム）を解読し、工具経路を構成する点列の点列データを取り出す。点列データは工具経路上の点の位置を表わすデータで、５軸加工の場合は位置に加えて工具の向きを表わすデータも含む。図２に３軸加工の場合の点列データの構造を示す。一つの点のデータは、工具先端の座標Ｘ，Ｙ，Ｚから成り、点の数だけこのデータが含まれている。
【００２７】
点列取得部２０はＮＣ指令解読部１０に対し、必要とする点列データを要求して取得する。所定の数Ｎの点のデータを取得することを基本とし、要求された点列の中に工具経路の屈曲点と判定される箇所があれば、屈曲点までの点列データを取得する。曲線生成部３０は部分曲線を生成する。部分曲線は部分点列の始点と終点を通り、その他の点の近傍を通るパラメトリック曲線である。パラメトリック曲線としてＢスプライン曲線を用いるが、ＮＵＲＢＳ曲線や区分多項式曲線など他の形式の曲線でもよい。部分曲線は、数１式のように表わされる。
【００２８】
【数１】
0005926358.tif 000002
ｕは曲線のパラメータで、０≦ｕ≦１の範囲の値を取る。Ｃ（ｕ）（Ｃの上に矢印付き）はパラメータの値がｕの時に曲線上の点が占める位置を表わす。Ｎｉ，３（ｕ）は３次のＢスプライン基底関数、Ｐｉ（Ｐの上に矢印付き）はＢスプライン曲線の制御点である。
【００２９】
パラメータｕの変域はノットと呼ばれる数の組Ｕ＝｛ｕ０,・・・,ｕｎ+４｝によって分割される。Ｂスプライン基底関数Ｎｉ，３（ｕ）はノットに依存する。したがって、数１式はノットと制御点を変数として曲線を表わしており、これらの変数の値を決めることによって曲線が定まる。数１式のような曲線を決める方法は幾つかあり、非特許文献１、２に記載されているように周知であるから、ここでは省略する。
【００３０】
曲線の形状誤差の保証は、数１式の曲線が許容領域に含まれることを検証することである。許容領域は、折れ線を構成する各線分に対して定義された要素領域を接続したものである。以下の説明では簡単のため、要素領域を、線分を軸としトレランスを半径とする円筒と、円筒の接続部で曲線がどちらの円筒にも含まれない部分を覆う球とする（図３）。要素領域をＤｉ、要素領域Ｄｉに対応する曲線の要素（その求め方は後述する）をＣｉとすると、曲線が許容領域に含まれることは、数２式により表すことができる。
【００３１】
【数２】
0005926358.tif 000003
Ｎｄは要素領域の数である。
【００３２】
形状誤差が保証された曲線は、ノットと制御点の数を与えて、非特許文献１、２に記載されている方法によりそれらの値を決めて曲線を生成し、その曲線が許容領域に含まれるか否かを検証して、許容領域に含まれるまで、ノットと制御点を追加して曲線生成と検証を繰り返すことによって生成される。
【００３３】
曲線が許容領域に含まれるためには、部分点列の各点が曲線からトレランス以下の距離になければならない。すなわち、数３式の関係が要求される。
【００３４】
【数３】
0005926358.tif 000004
ただし、εはトレランス、Ｑｋ（Ｑの上に矢印付き）は部分点列の点、ｕｋ（ｕの上に線付き）は曲線上でＱｋ（Ｑの上に矢印付き）に最も近い点のパラメータの値でＣ（ｕｋ）（Ｃの上に矢印付きでｕの上に矢印付き）はその点を表わす。
【００３５】
数２式の検証を常に行うと計算負荷が大きいので、前記の検証においては、まず、数３式で部分点列の各点が許容領域にあるか否かを調べ、許容領域にない点がある時は数２式の検証は行わずに、ノットと制御点を追加して曲線を生成し直す。数３式が満足された場合に限り、数２式を検証する。
【００３６】
上述した方法により、実際に曲線を生成する手順を図４のフローチャートに従って説明する。
ステップＳＡ１００：ノットと制御点の数を初期値に設定する。  
ステップＳＡ１０１：部分曲線を生成する。  
ステップＳＡ１０２：数３式により、部分点列の各点が曲線からトレランス以内にあるか否かを判定する。全ての点がトレランス内にあれば、ステップＳＡ１０３へ進む。そうでなければ、ステップＳＡ１０４へ進む。  
ステップＳＡ１０３：数２式により、各曲線要素が対応する要素領域に含まれるか否かを判定する。全ての曲線要素が含まれていれば、曲線が求まったので処理を終了する。そうでなければ、ステップＳＡ１０４へ進む。  
ステップＳＡ１０４：ノットと制御点の数を増やして、ステップＳＡ１０１へ戻る。
【００３７】
次に、前記ステップＳＡ１０３の、曲線要素が対応する要素領域に含まれるか否かを判定する方法を説明する。まず、要素領域が図３の円筒の場合を取り上げる。円筒の半径はトレランスεである。図５に示すように、円筒の軸の両端を与える点をＱｋ，Ｑｋ＋１とし、Ｑｋ，Ｑｋ＋１を通り円筒の軸に直交する平面と曲線との交点を、それぞれ、Ａｋ，Ｂｋ、ＡｋからＢｋまでの曲線長をＬｋとする。
【００３８】
まず、第１の方法について述べる。これは、ＡｋとＢｋに挟まれた曲線区間上の一点Ｐから円筒の軸に下ろした垂線の長さの最大値がトレランス以下であることを検証するもので、垂線の足をＱとして、ＰＱの長さが最大になる箇所を求め、その最大値がトレランス以下であれば、曲線は円筒に含まれる。最大値を取るのは、区間の端点Ａｋ，Ｂｋ、或いはその間でＰＱの長さが極値を取る点のいずれかであるから、これらの点で曲線との距離を求め、その中の最大値をとればよい。
【００３９】
ＰＱの長さが極値を取る点では、Ｐ（その位置をＣ（ν）（Ｃの上に矢印付き）とする）における曲線の接線Ｃ’（ν）（Ｃの上に矢印付き）とＰＱが直交する。ただし、曲線のパラメータに関する微分をダッシュ（’）で表わしており、Ｃ’（ν）（Ｃの上に矢印付き）＝ｄＣ’（ν）（Ｃの上に矢印付き）／ｄνである。
Ｑの位置を、パラメータｕを用いて、数４式により表す。
【００４０】
【数４】
0005926358.tif 000005
ただし、数５式の関係を満たす必要がある。
【００４１】
【数５】
0005926358.tif 000006
なお、ｕｋは、部分点列の始点からＱｋまでの折れ線の長さの折れ線の全長（部分点列の始点から終点までの長さ）に対する比を表わす。Ｃ（ν）（Ｃの上に矢印付き）とＱ（ｕ）（Ｑの上に矢印付き）のパラメータの間には、数６式の関係がある。
【００４２】
【数６】
0005926358.tif 000007
そして、接線Ｃ’（ν）（Ｃの上に矢印付き）とＰＱの直交条件から、数７式を得る。
【００４３】
【数７】
0005926358.tif 000008
数４式〜数６式より、数７式はパラメータνに関する５次方程式であり、これを解いてＰＱの長さが極値を取る点のパラメータが求まるので、Ｐ，Ｑの位置が決まり、その長さの極大値（または極小値）が得られる。５次方程式の解は、ニュートン法を用いて求める。パラメータの変域は０≦ｕ≦１なので、極値が存在しないこともあるが、その場合は端点Ａｋ，Ｂｋのいずれかで距離が最大になる。なお、ニュートン法については周知の手法なので説明を省略する。
【００４４】
ＡｋＱｋの長さは、ＡｋＱｋとＱｋＱｋ＋１が直交するので、Ａｋの位置をＣ（νｋ）（Ｃの上に矢印付き）とすると、数８式により表される。
【００４５】
【数８】
0005926358.tif 000009
数８式は、νｋに関する３次方程式なので、容易に解を得ることが出来る。Ｂｋの位置も同様にして求まる。こうして、ＡｋＱｋ、ＢｋＱｋ＋１、ＰＱの極値が求まったので、その中の最大値をｄｍａｘとする（ＰＱが極値を持たない時はＡｋＱｋ、ＢｋＱｋ＋１の大きい方をｄｍａｘとする）。
したがって、数９式が満たされれば曲線区間ＡｋＢｋが円筒に含まれる。
【００４６】
【数９】
0005926358.tif 000010
図６に示すような、曲線が円筒の接続部分でどちらの円筒にも含まれない箇所では、曲線区間Ｂｋ−１ＡｋがＱｋを中心とする半径εの球に含まれることを検証する。この場合も、円筒のときと同様、曲線区間Ｂｋ−１ＡｋでＰＱｋの長さの極値を求める。今度は、数７式に代わり、数１０式の解を求めればよい。
【００４７】
【数１０】
0005926358.tif 000011
数１０式は５次方程式であり、円筒の場合と同様、ニュートン法を適用して解を得る。Ｂｋ−１の位置は円筒の要素領域の判定において既に求められている。したがって、円筒の場合と同様の手順で曲線区間Ｂｋ−１Ａｋが球に含まれることを判定できる。
【００４８】
次に、第２の判定方法を説明する。これは、図７に示すように、２点Ａｋ，Ｂｋを結ぶ長さがＬｋの曲線は、Ａｋ，Ｂｋを焦点とし、焦点からの距離の和がＬｋの回転楕円体に含まれることに基づく方法で、この回転楕円体が円筒に含まれるか否かを調べる。円筒の接続部分は、第１の判定方法と同様、別の判定方法を適用するので、回転楕円体が円筒の側面からはみ出すか否かを確かめれば十分で、底面からはみ出すケースは無視してよい。
【００４９】
回転楕円体が円筒の側面からはみ出すか否かの判定は、回転楕円体と円筒を円筒の軸に直交する平面に投影することによって、直接行うことが出来るが、より簡単な以下に述べる方法を採用する。
【００５０】
図８に示すように、Ｌｋが円筒の側面上の点Ｐを経由してＡｋからＢｋに到る折れ線経路の長さの最小値を超えない、すなわち、数１１式を満たすか否かを判定する。数１１式を満たすならば、回転楕円体が円筒の側面からはみ出さない。ただし、Ｌ１，Ｌ２は、それぞれ、ＡＰ，ＰＢの長さを表わす。
【００５１】
【数１１】
0005926358.tif 000012
したがって、数１１式が満足されるか否かによって、回転楕円体が円筒の側面からはみ出すか否かを判定できるので、問題は、Ｌ１+Ｌ２の最小値を求めることに還元される。
【００５２】
次に、この最小値を求める手順を説明する。Ｑｋを原点とし、ＱｋＱｋ＋１をＺ軸とする座標系をとり、この座標系におけるＡｋ，Ｂｋ，Ｐの座標を、それぞれ、Ａｋ（ｘ１，ｙ１，ｚ１），Ｂｋ（ｘ２，ｙ２，ｚ２），Ｐ（ｘ，ｙ，ｚ）とすると、数１２式の関係がなりたつ。
【００５３】
【数１２】
0005926358.tif 000013
したがって、数１３式の条件の下でＬの最小値を求めればよい。
【００５４】
【数１３】
0005926358.tif 000014
数１３式は拘束条件付の極値問題で、よく知られた方法−例えば、非特許文献３のＬａｇｒａｎｇｅの未定乗数法−により解を得ることができる。
【００５５】
円筒の接続部分も、同様に、拘束条件付の極値問題として扱うことができる。その手順を以下に述べる。この場合は、図９に示すように、Ｑｋを中心とする半径εの円の内部に曲線が含まれるか否かを検証することになる。Ｂｋ−１とＡｋ間の曲線の長さをＬｋとすると、Ｌｋが円周上の点Ｐを経由してＢｋ−１からＡｋへ到る折れ線の長さの最小値を超えないならば、曲線が円からはみ出さない。したがって、Ｑｋを原点とする座標系をとり、この座標系におけるＡｋ，Ｂｋ−１，Ｐの座標を、それぞれ、Ａｋ（ｘ２，ｙ２），Ｂｋ-１（ｘ1，ｙ1），Ｐ（ｘ，ｙ）とすると、数１４式がなりたつ。
【００５６】
【数１４】
0005926358.tif 000015
したがって、数１３式の拘束条件の下でＬの最小値を求めればよい。円筒の場合と同様、Ｌａｇｒａｎｇｅの未定乗数法により解を得ることができる。
【００５７】
以上の実施形態で述べた方法により、曲線が許容領域に含まれることを検証する手順を、図１０のフローチャートを基に説明する。
ステップＳＢ１００：曲線区間を初期値に設定する。ｋ＝０の時は、点Ｑ０と点Ｑ１に対応する曲線区間である。
ステップＳＢ１０１：曲線区間の終点ＢｋとＡｋからＢｋまでの曲線長Ｌｋを求める。
ステップＳＢ１０２：要素領域が図５の円筒の場合の判定を行う。その詳細な手順は後述する。
ステップＳＢ１０３：ステップＳＢ１０２の判定結果により、円筒部に含まれない場合はステップＳＢ１０９へ、含まれる場合は、ステップＳＢ１０４の接続部の判定へ進む。
ステップＳＢ１０４：要素領域が図６の接続部の場合の判定を行う。その詳細な手順は後述する。最後の曲線区間の場合（ｋ＝Ｎ−２，  Ｎは部分点列に含まれる点の数）は、接続部がないので、判定を行わずに判定結果を含まれるとする。
ステップＳＢ１０５：ステップＳＢ１０４の判定結果により、接続部に含まれない場合はステップＳＢ１０９へ、含まれる場合は、ステップＳＢ１０６へ進む。
ステップＳＢ１０６：最後の曲線区間か否かを判定し、最後の曲線であればステップＳＢ１０８へ、そうでなければステップＳＢ１０７へ進む。
ステップＳＢ１０７：ｋを１増やして次の曲線区間へ移行し、ステップＳＢ１０１へ戻る。
ステップＳＢ１０８：曲線が許容領域に含まれると判定する。
ステップＳＢ１０９：曲線が許容領域に含まれないと判定する。
【００５８】
次に、前記ステップＳＢ１０２の円筒の場合の判定手順を、図１１のフローチャートを基に説明する。
ステップＳＣ１００：ＡｋからＢｋまでの曲線長Ｌｋを求める。Ｌｋは、数１５式により与えられる。
【００５９】
【数１５】
0005926358.tif 000016
ただし、｜Ｃ’（ｕ）｜（Ｃの上に矢印付き｜｜）はＣ’（ｕ）（Ｃの上に矢印付き）の長さである。νｋ，νｋ+１+は、それぞれ、Ｃ（νｋ）＝Ａｋ，Ｃ（νｋ+１）＝Ｂｋとなるパラメータの値で、Ａｋ，Ｂｋの位置を求める時に得られる。
【００６０】
次に、数式１２と数１３式の極値問題の解を求めてＬｍｉｎとする。
ステップＳＣ１０１：Ｍｉｎ｛Ｌ１+Ｌ２｝＝Ｌｍｉｎとして、数１１式を評価する。数１１式が成り立てばステップＳＣ１０２へ進み、そうでなければ、ステップＳＣ１０３へ進む。
ステップＳＣ１０２：曲線区間は円筒領域に含まれると判定する。
ステップＳＣ１０３：曲線区間は円筒領域に含まれないと判定する。
【００６１】
次に、前記ステップＳＢ１０４の接続部の領域の場合の判定手順を、図１２のフローチャートを基に説明する。
ステップＳＤ１００：Ｂｋ−１からＡｋまでの曲線長Ｌｋを求める。Ｌｋは数１６式で与えられる。
【００６２】
【数１６】
0005926358.tif 000017
次に、数式１４と数１３式の極値問題の解を求めてＬｍｉｎとする。
ステップＳＤ１０１：Ｍｉｎ｛Ｌ１+Ｌ２｝＝Ｌｍｉｎとして、数１１式を評価する。数１１式が成り立てばステップＳＤ１０２へ進み、そうでなければ、ステップＳＤ１０３へ進む。
ステップＳＤ１０２：曲線区間は接続部の領域に含まれると判定する。
ステップＳＤ１０３：曲線区間は接続部の領域に含まれないと判定する。
【００６３】
なお。ここで述べる実施形態では、パラメトリック曲線としてＢスプライン曲線を用いているが、ＮＵＲＢＳ曲線など他の形式の曲線への拡張は、数１式の表現形式を変えて同じ考え方を適用すればよい。
【符号の説明】
【００６４】
１  工具経路曲線化装置
２  ＮＣ指令
１０  ＮＣ指令解読部
２０  点列取得部
３０  曲線生成部
４０  形状誤差判定部
５０  曲線出力部
【要約】
【課題】生成した曲線全体が元の点列から見てある領域の中に納まるような、形状誤差を保証する工具経路曲線化方法および工具経路曲線化装置を提供する。
【解決手段】工具経路曲線化装置１は、ＮＣ指令解読部１０、点列取得部２０、曲線生成部３０、形状誤差判定部４０、曲線出力部５０を含む。ＮＣ指令解読部１０は工作機械を制御する数値制御装置に搭載されるＮＣ指令解読部と同じもので、ＮＣ指令２（加工プログラム）を解読し、工具経路を構成する点列の点列データを取り出す。点列データは工具経路上の点の位置を表わすデータで、５軸加工の場合は位置に加えて工具の向きを表わすデータも含む。
【選択図】図１【図１】
0005926358.tif 000018
【図２】
0005926358.tif 000019
【図３】
0005926358.tif 000020
【図４】
0005926358.tif 000021
【図５】
0005926358.tif 000022
【図６】
0005926358.tif 000023
【図７】
0005926358.tif 000024
【図８】
0005926358.tif 000025
【図９】
0005926358.tif 000026
【図１０】
0005926358.tif 000027
【図１１】
0005926358.tif 000028
【図１２】
0005926358.tif 000029