(57)【特許請求の範囲】
【請求項１】
目標曲線形状を連続する微小線分群で近似的に表し、微小線分群から求めた点群データの一部を数値制御装置により補正して、微小線分群を目標曲線形状に近似させる方法において、
前記点群データが微小線分群の凸形状範囲にあるか凹形状範囲にあるかを識別する凹凸範囲識別手順と、
前記凹形状範囲に挟まれた凸形状範囲または凸形状範囲に挟まれた凹形状範囲を補正範囲とし、該補正範囲の両端を通る補正用直線を生成し、補正範囲に含まれる点群データを前記補正用直線上に移動または削除することにより、補正範囲に含まれる点群データを微小線分群が目標曲線形状に接近するように補正する点群データ補正手順とを
備えたことを特徴とする点群データ補正方法。
【請求項２】
目標曲線形状を連続する微小線分群で近似的に表し、微小線分群から求めた点群データの一部を数値制御装置により補正して、微小線分群を目標曲線形状に近似させる方法において、
前記点群データが微小線分群の凸形状範囲にあるか凹形状範囲にあるかを識別する凹凸範囲識別手順と、
前記凹形状範囲に挟まれた凸形状範囲または凸形状範囲に挟まれた凹形状範囲を補正範囲とし、該補正範囲の両端および該補正範囲の前後に隣接する範囲に位置する任意の一点以上を含む三つ以上の点データまたはそれらの近傍を通る補正用曲線を生成し、補正範囲に含まれる点群データを前記補正用曲線上に移動または削除することにより、補正範囲に含まれる点群データを微小線分群が目標曲線形状に接近するように補正する点群データ補正手順とを
備えたことを特徴とする点群データ補正方法。
【請求項３】
目標曲線形状を連続する微小線分群で近似的に表し、微小線分群から求めた点群データの一部を数値制御装置により補正して、微小線分群を目標曲線形状に近似させる工程において、
前記点群データが微小線分群の凸形状範囲にあるか凹形状範囲にあるかを識別する凹凸範囲識別処理と、
前記凹形状範囲に挟まれた凸形状範囲または凸形状範囲に挟まれた凹形状範囲を補正範囲とし、該補正範囲の両端を通る補正用直線を生成し、補正範囲に含まれる点群データを前記補正用直線上に移動または削除することにより、補正範囲に含まれる点群データを微小線分群が目標曲線形状に接近するように補正する点群データ補正処理とを
前記数値制御装置のコンピュータに実行させることを特徴とする点群データ補正プログラム。
【請求項４】
目標曲線形状を連続する微小線分群で近似的に表し、微小線分群から求めた点群データの一部を数値制御装置により補正して、微小線分群を目標曲線形状に近似させる工程において、
前記点群データが微小線分群の凸形状範囲にあるか凹形状範囲にあるかを識別する凹凸範囲識別処理と、
前記凹形状範囲に挟まれた凸形状範囲または凸形状範囲に挟まれた凹形状範囲を補正範囲とし、該補正範囲の両端および該補正範囲の前後に隣接する範囲に位置する任意の一点以上を含む三つ以上の点データまたはそれらの近傍を通る補正用曲線を生成し、補正範囲に含まれる点群データを前記補正用曲線上に移動または削除することにより、補正範囲に含まれる点群データを微小線分群が目標曲線形状に接近するように補正する点群データ補正処理とを
前記数値制御装置のコンピュータに実行させることを特徴とする点群データ補正プログラム。
【請求項５】
目標曲線形状を連続する微小線分群で近似的に表し、微小線分群から求めた点群データの一部を数値制御装置により補正して、補正後の点群データを用いて目標曲線形状に近似した近似曲線を生成する工程において、
前記点群データが微小線分群の凸形状範囲にあるか凹形状範囲にあるかを識別する凹凸範囲識別処理と、
前記凹形状範囲に挟まれた凸形状範囲または凸形状範囲に挟まれた凹形状範囲を補正範囲とし、該補正範囲の両端を通る補正用直線を生成し、補正範囲に含まれる点群データを前記補正用直線上に移動または削除することにより、補正範囲に含まれる点群データを微小線分群が目標曲線形状に接近するように補正する点群データ補正処理と、
補正後の前記点群データと前記補正範囲外の点群データとを総合し、目標曲線形状に近似する滑らかな近似曲線を生成する近似曲線生成処理とを
前記数値制御装置のコンピュータに実行させることを特徴とする近似曲線生成プログラム。
【請求項６】
目標曲線形状を連続する微小線分群で近似的に表し、微小線分群から求めた点群データの一部を数値制御装置により補正して、補正後の点群データを用いて目標曲線形状に近似した近似曲線を生成する工程において、
前記点群データが微小線分群の凸形状範囲にあるか凹形状範囲にあるかを識別する凹凸範囲識別処理と、
前記凹形状範囲に挟まれた凸形状範囲または凸形状範囲に挟まれた凹形状範囲を補正範囲とし、該補正範囲の両端および該補正範囲の前後に隣接する範囲に位置する任意の一点以上を含む三つ以上の点データまたはそれらの近傍を通る補正用曲線を生成し、補正範囲に含まれる点群データを前記補正用曲線上に移動または削除することにより、補正範囲に含まれる点群データを微小線分群が目標曲線形状に接近するように補正する点群データ補正処理と、
補正後の前記点群データと前記補正範囲外の点群データとを総合し、目標曲線形状に近似する滑らかな近似曲線を生成する近似曲線生成処理とを
前記数値制御装置のコンピュータに実行させることを特徴とする近似曲線生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、目標曲線形状を連続する微小線分群で近似的に表し、この微小線分群から求めた点群データの一部を数値制御装置により補正して、微小線分群を目標曲線形状に近似させる方法とプログラムに関する。
【背景技術】
【０００２】
従来、ＣＡＤ／ＣＡＭ装置等を使用してＮＣ（数値制御）プログラムを作成し、ＮＣプログラムを数値制御装置に入力し、ＮＣプログラム中の移動指令データにより外部装置、例えば工作機械の複数の駆動軸を制御し、工具等を曲線経路に沿って移動し、金型等の曲面を加工する技術が知られている。
【０００３】
また、加工面の精度や品質を高め、さらに加工時間を短縮するなどの目的で、目標曲線形状を連続する微小線分群で近似的に表し、その微小線分群から求めた点群データの一部を補正して、目標曲線形状に近似する滑らかな曲線を生成し、この近似曲線を用いて曲線補間を行う数値制御装置も知られている。
【０００４】
例えば、特許文献１には、隣り合う点データ間を結ぶ線分ベクトルの差分ベクトルの２乗和が最小となるような補正量を求め、この補正量で点群データを修正して、曲線補間を行う数値制御装置が記載されている。
【０００５】
特許文献２には、数値制御装置において、連続する複数の点群データを評価範囲とし、まず、評価範囲内の点群データを用いて近似的な曲線を求め、次いで、その近似曲線と評価範囲内の各点データとの差を修正量として算出し、この修正量で点群データを修正する方法が記載されている。
【０００６】
また、特許文献２には、隣り合う点群データの間に追加の点データを内挿し、内挿した点データを含む連続する複数の点群データを評価範囲として近似的な曲線を作成し、この近似曲線と評価範囲内の点データとの差を修正量として点群データを修正し、修正後の点群データにより最終的な近似曲線を生成する方法も記載されている。
【０００７】
【特許文献１】特開平１０−２４０３２８号公報
【特許文献２】特開２００４−７８５１６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
ところで、工具経路のように元々曲線である目標形状を連続する微小線分群で近似的に表す場合、通常、点群データをＣＡＤ／ＣＡＭ装置等による近似演算処理過程を通して生成している。
【０００９】
例えば、図８、図９に示すように、まず、ＣＡＤ等の装置を用いて目標とする加工曲面形状（Ｋｊ）を作成する。次に、ＣＡＭ等の装置内で、加工曲面形状（Ｋｊ）を使用工具の半径分外に膨らませ、オフセット形状（Ｋｏ）を作成する。このオフセット形状（Ｋｏ）は予め指定された許容誤差範囲内で微小な平面を組み合わせた多面体（Ｋｐ）として近似的に表現される。
【００１０】
続いて、ＣＡＭ等の装置内で、工具の移動経路に合わせて多面体（Ｋｐ）の断面線を数値制御装置に応じた指令形態になるように多数の微小線分（Ｌ）に分割し、各微小線分（Ｌ）の端点位置座標を定義するための点群データ（Ｐｉなど）を求める。
【００１１】
しかし、この種の近似演算処理過程によって作成された点群データは、例えば、図９に示す点データ（Ｐｉ-２、Ｐｉ-1、Ｐｉ+2）のように、工具半径分外に膨らました理想的なオフセット形状（Ｋｏ）からずれた点データを含む場合がある。また、点群データを数値制御装置に応じた最小指令単位（桁数）以内に丸める必要があると、点群データの一部がオフセット形状（Ｋｏ）からさらにずれてしまうこともある。
【００１２】
このため、実際の点群データは、場所によってオフセット形状（Ｋｏ）からのずれ量が変化し、微小線分群に揺らぎを生じさせる場合がある。特に、曲率半径が大きく緩やかな加工曲面形状（Ｋｊ）を目標として近似させる場合には、図９に示す点データ（Ｐｉ-1）のように、一部の点データが微小線分の凹凸形状をオフセット形状（Ｋｏ）に対し反転させてしまうこともある。
【００１３】
よって、すべての点群データ（Ｐｉ）がオフセット形状（Ｋｏ）の近傍に存在しているとして処理する従来の方法によると、生成した近似曲線に揺らぎや移動方向の反転部分が含まれる可能性がある。従って、この種の点群データがＮＣプログラム中の移動指令データに含まれていると、実加工に際し、加工面上にうねりや加工痕などを与えるという問題点がある。
【００１４】
また、許容誤差や点群データの生成間隔を小さく指定することで、点群データの位置精度や密度を上げようとすればするほど、点群データの間隔に比べ、その間で近似すべき形状の変化量が少なくなるうえ、最小指令単位（桁数）以内への丸めの影響も大きくなるため、微小線分群に揺らぎや移動方向の反転部分がさらに生じやすくなり、加工精度に深刻な影響を与えるという問題点もある。
【００１５】
本発明は、上述した問題点を解決するためになされたものであり、数値制御装置を用い、微小線分群から揺らぎや移動方向の反転部分をなくすことができる点群データ補正方法およびプログラム、並びに、その微小線分群を用いて目標曲線形状に極めて近似した滑らかな曲線を生成できる近似曲線生成プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１６】
上記課題を解決するために、本発明は、目標曲線形状を連続する微小線分群で近似的に表し、微小線分群から求めた点群データの一部を数値制御装置により補正して、微小線分群を目標曲線形状に近似させる工程において、以下の点群データ補正方法、点群データ補正プログラムおよび近似曲線生成プログラムを提供する。
【００１７】
（１）点群データが微小線分群の凸形状範囲にあるか凹形状範囲にあるかを識別する手順と、凹形状範囲に挟まれた凸形状範囲または凸形状範囲に挟まれた凹形状範囲を補正範囲とし、この補正範囲に含まれる点群データを微小線分群が目標曲線形状に接近するように補正する手順とを備えたことを特徴とする点群データ補正方法。
【００１８】
（２）点群データが微小線分群の凸形状範囲にあるか凹形状範囲にあるかを識別する処理と、凹形状範囲に挟まれた凸形状範囲または凸形状範囲に挟まれた凹形状範囲を補正範囲とし、この補正範囲に含まれる点群データを微小線分群が目標曲線形状に接近するように補正する処理とを数値制御装置のコンピュータに実行させることを特徴とする点群データ補正プログラム。
【００１９】
（３）点群データが微小線分群の凸形状範囲にあるか凹形状範囲にあるかを識別する処理と、凹形状範囲に挟まれた凸形状範囲または凸形状範囲に挟まれた凹形状範囲を補正範囲とし、この補正範囲に含まれる点群データを微小線分群が目標曲線形状に接近するように補正する処理と、補正後の点群データと補正範囲外の点群データとを総合して、目標曲線形状に近似する滑らかな近似曲線を生成する処理とを数値制御装置のコンピュータに実行させることを特徴とする近似曲線生成プログラム。
【００２０】
（４）上記凹凸形状範囲を識別する手順または処理において、点群データ中の連続する三つの点データを選択し、一つ目と三つ目の点データを結ぶ線分に対し、二つ目の点データが目標曲線形状の中心側に位置するか中心とは反対側に位置するかを調べて、微小線分群の凹凸形状を評価することを特徴とする上記（１）の点群データ補正方法、上記（２）の点群データ補正プログラム、または上記（３）の近似曲線生成プログラム。
【００２１】
（５）上記凹凸形状範囲を識別する手順または処理において、点群データ中の連続する三つの点データを選択し、一つ目から二つ目の点データに進む変位ベクトルに対し、二つ目から三つ目の点データに進む変位ベクトルが目標曲線形状の中心とは反対側に向いているか中心側に向いているかを調べて、微小線分群の凹凸形状を評価することを特徴とする上記（１）の点群データ補正方法、上記（２）の点群データ補正プログラム、または上記（３）の近似曲線生成プログラム。
【００２２】
（６）上記凹凸形状範囲を識別する手順または処理において、点群データ中の連続する三つの点データを通る円または球を求め、二つ目の点データを基点とする円または球の中心方向ベクトルが目標曲線形状の中心とは反対側に向いているか中心側に向いているかを調べて、微小線分群の凹凸形状を評価することを特徴とする上記（１）の点群データ補正方法、上記（２）の点群データ補正プログラム、または上記（３）の近似曲線生成プログラム。
【００２３】
（７）上記点群データを補正する手順または処理において、補正範囲の始端および終端に位置する二つの点データを結ぶ補正用直線を求め、補正範囲に含まれる点群データのうち、補正用直線に対するずれ量が予め定めた基準値以下となる点データを削除または補正用直線上に移動することを特徴とする上記（１）〜（６）の何れか一つの点群データ補正方法、点群データ補正プログラム、または近似曲線生成プログラム。
【００２４】
（８）上記点群データを補正する手順または処理において、補正範囲の始端、終端および該補正範囲の前後に隣接する範囲に位置する任意の一点以上を含む三つ以上の点データまたはそれらの近傍を通る補正用曲線を求め、補正範囲に含まれる点群データのうち、補正用曲線に対するずれ量が予め定めた基準値以下となる点データを削除または補正用曲線上に移動することを特徴とする上記（１）〜（６）の何れか一つの点群データ補正方法、点群データ補正プログラム、または近似曲線生成プログラム。
【発明の効果】
【００２５】
本発明に係る点群データ補正方法、点群データ補正プログラム、近似曲線生成プログラムは、それぞれ、微小線分群の凹凸形状をチェックし、前後の凹凸形状と異なる形状範囲に含まれる点群データを補正するので、ＣＡＤ／ＣＡＭ装置等による近似演算処理過程で生じた誤差による微小線分群の揺らぎや移動方向の反転部分を解消することができる。
【００２６】
従って、数値制御装置が目標曲線形状に極めて近似した滑らかな曲線補間を行うことができ、加工面にうねりや加工痕などを生じさせることなく、金型等の曲面を高精度で高品質に加工することができる。また、工作機械等の駆動軸に不必要な加減速を与えるおそれもなくなり、加工時間を短縮することが可能である。
【発明を実施するための最良の形態】
【００２７】
以下、本発明に係る実施形態を図面に基づいて説明する。図１〜図７は本発明の方法またはプログラムを具体化した幾つかの実施例を示し、図８〜図１１は各実施例における点群データの補正内容を補足的に例示し、図１２は本発明の方法またはプログラムを実施する数値制御装置の構成を例示する。
【実施例１】
【００２８】
図１は点群データ補正方法の実施例１を示す。この実施例１では、数値制御装置１（図１２参照）で使用されるＮＣプログラム中の移動指令データを作成するにあたり、ＣＡＤ／ＣＡＭ装置等により目標曲線形状であるオフセット形状（Ｋｏ）を連続する微小線分群で近似的に表し（図８、図９参照）、その微小線分群から求めた点群データの一部を数値制御装置１にて補正し、微小線分群をオフセット形状（Ｋｏ）に近似させるという方法が採用されている。
【００２９】
点群データの一部を補正するにあたり、数値制御装置１のコンピュータ（ＣＰＵ）２は、図１のフローチャートに示す点群データ補正プログラム１０を開始する。この補正プログラム１０は、凹凸範囲識別処理Ｓ１１と点群データ補正処理Ｓ１２とから構成されている。
【００３０】
凹凸範囲識別処理Ｓ１１では、ＣＡＤ／ＣＡＭ装置から入力した点群データが、微小線分群の凸形状範囲に含まれているか、凹形状範囲に含まれているかを識別する。例えば、図９に示す点群データの各点データ（Ｐｉ−４〜Ｐｉ＋４）を順次調べ、点データ（Ｐｉ−１）が凹形状範囲に含まれ、その他の点データが凸形状範囲に含まれていると判断する。より具体的な識別処理については、実施例３〜５に従って後述する。
【００３１】
点群データ補正処理Ｓ１２では、識別結果を参照し、凹形状範囲に挟まれた凸形状範囲、または凸形状範囲に挟まれた凹形状範囲を検索する。そして、検索した範囲を補正範囲とし、この補正範囲に含まれる点群データを該当する範囲の微小線分群がオフセット形状（Ｋｏ）に接近するように補正する。
【００３２】
例えば、図９において、凸形状範囲に挟まれた凹形状範囲に含まれる点データ（Ｐｉ−１）をオフセット形状（Ｋｏ）側へ移動し、新たな点データ（Ｐ’ｉ−１）として登録する。あるいは、この点データ（Ｐｉ−１）を削除し、点データ（Ｐｉ−２）と点データ（Ｐｉ）を結ぶ線分として、オフセット形状（Ｋｏ）に接近させる。より具体的な補正処理については、実施例６，７に従って後述する。
【００３３】
これにより、ＣＡＤ／ＣＡＭ装置で点群データを算出し保存する際に生じた誤差による微小線分群の揺らぎや移動方向の反転部分を解消することが可能となる。従って、工作機械における金型等の曲面加工に際し、その加工面からうねりや加工痕などをなくすことができる。
【実施例２】
【００３４】
図２は点群データ補正方法の実施例２を示す。この実施例では、実施例１と同様の方法で点群データの一部を補正したのちに、補正後の点群データを用いて目標曲線形状に近似した滑らかな曲線を生成する。この近似曲線を生成するにあたり、数値制御装置１のコンピュータ２は図２のフローチャートに示す近似曲線生成プログラム２０を開始する。このプログラム２０は、凹凸範囲識別処理Ｓ２１と点群データ補正処理Ｓ２２と近似曲線生成処理Ｓ２３とから構成されている。
【００３５】
凹凸範囲識別処理Ｓ２１では、実施例１と同様、ＣＡＤ／ＣＡＭ装置から入力した点群データが、微小線分群の凸形状範囲に含まれているか、凹形状範囲に含まれているかを識別する。点群データ補正処理Ｓ２２では、実施例１と同様、凹形状範囲に挟まれた凸形状範囲、または凸形状範囲に挟まれた凹形状範囲を検索し、検索した補正範囲に含まれる点群データを該当範囲の微小線分群が目標曲線形状に接近するように補正する。
【００３６】
近似曲線生成処理Ｓ２３では、補正後の点群データと補正範囲外の点群データとを総合し、これらの点群データまたはそれらの近傍を通る目標曲線形状に極めて近似した滑らかな近似曲線を生成する。なお、点群データから近似曲線を生成する方法としては、従来と同様の方法、例えば、スプライン曲線補間方法や最小二乗法近似方法などを採用することができる。
【実施例３】
【００３７】
図３は点群データ補正方法の実施例３を示す。この実施例は、実施例１および実施例２において、凹凸範囲識別処理Ｓ１１，Ｓ２１の具体的な処理を例示する。点群データ補正方法自体の処理フローは実施例１，２と同じである（図１、図２参照）。
【００３８】
図３に示すフローチャートにおいて、凹凸範囲識別処理Ｓ３１が開始されると、まず、最初の点群データを評価するための範囲（始端／終端）および凹凸形状（例えば平坦）の初期値を設定する（Ｓ３１０）。そして、最初の評価データとして、点群データ中から連続する三つの点データ、例えば、図９の点データ（Ｐｊ），（Ｐｊ＋１），（Ｐｊ＋２）（ただしｊ＝ｉ-4）を選択する（Ｓ３１１）。
【００３９】
次に、選択した三つの点データのうち、一つ目の点データ（Ｐｊ）と三つ目の点データ（Ｐｊ＋２）とを結ぶ線分（Ｌｊ）に対し、二つ目の点データ（Ｐｊ＋１）が加工曲面形状（Ｋｊ）側に位置しているか、それとは反対の工具側に位置しているか、あるいは線分（Ｌｊ）上に位置しているかを調べて、微小線分群の凹凸形状（凹、凸、平坦）を評価する（Ｓ３１２）。
【００４０】
続いて、今回評価した凹凸形状が直前範囲（または初期範囲）の凹凸形状に対し反転しているかどうかを判断する（Ｓ３１３）。凹凸形状が同じかまたはどちらかが平坦である場合は、直前範囲の終端を点データ（Ｐｊ＋１）に移して拡大するとともに、この範囲の凹凸形状を今回の評価結果に従って更新する（Ｓ３１４）。
【００４１】
一方、凹凸形状が凹から凸へまたは凸から凹へ反転した場合には、直前範囲と区別し、今回評価した範囲の始端／終端の点データに加え、その範囲の凹形状または凸形状を登録する（Ｓ３１５）。その後、未評価の点群データの有無を確認し（Ｓ３１６）、未評価データがあれば、評価済みの三つの点データを一つずつシフトし（Ｓ３１７）、次の点データを処理する（Ｓ３１２〜Ｓ３１６）。未評価データがなければ、すべての点群データに凹凸形状範囲を関連付けた識別データを登録し（Ｓ３１８）、この凹凸範囲識別処理Ｓ３１を終了する。
【実施例４】
【００４２】
図４は点群データ補正方法の実施例４を示す。この実施例では、実施例１，２の凹凸範囲識別処理Ｓ１１，Ｓ２１において、実施例３とは異なる処理により凹凸形状範囲を識別している。
【００４３】
図４に示すフローチャートにおいて、凹凸範囲識別処理Ｓ４１が開始されると、まず、最初の点群データを評価するための初期値を設定する（Ｓ４１０）。次に、点群データ中から最初の三つの点データ（Ｐｊ），（Ｐｊ＋１），（Ｐｊ＋２）を選択し、同時に、一つ目の点データ（Ｐｊ）から二つ目の点データ（Ｐｊ＋１）に進む変位ベクトル（Ｈｊ：図示略）を求める（Ｓ４１１）。
【００４４】
続いて、二つ目の点データ（Ｐｊ＋１）から三つ目の点データ（Ｐｊ＋２）に進む変位ベクトル（Ｈｊ＋１）を求め、先の変位ベクトル（Ｈｊ）に対し、後の変位ベクトル（Ｈｊ＋１）が加工曲面形状（Ｋｊ）側に向いているか、それとは反対の工具側に向いているか、あるいは同じ方向に向いているかを調べ、微小線分群の凹凸形状（凹、凸、平坦）を評価する（Ｓ４１２）。
【００４５】
その後、実施例３と同様に、凹凸形状の反転をチェックし（Ｓ４１３）、反転していない場合に、直前範囲を拡大してその凹凸形状を更新し（Ｓ４１４）、反転した場合は、直前範囲と区別して今回評価した範囲とその凹凸形状を登録する（Ｓ４１５）。そして、未評価の点群データの有無を確認し（Ｓ４１６）、未評価データがあれば、評価済み点データと変位ベクトルとを一つずつシフトし（Ｓ４１７）、すべての点群データを評価した後に、識別データを登録する（Ｓ４１８）。
【実施例５】
【００４６】
図５は点群データ補正方法の実施例５を示す。この実施例では、実施例１，２の凹凸範囲識別処理Ｓ１１，Ｓ２１において、実施例３，４とは異なる処理により凹凸形状範囲を識別している。
【００４７】
図５に示すフローチャートにおいて、凹凸範囲識別処理Ｓ５１が開始されると、まず、最初の点群データを評価するための初期値を設定する（Ｓ５１０）。次に、点群データ中から最初の三つの点データ（Ｐｊ），（Ｐｊ＋１），（Ｐｊ＋２）を選択する（Ｓ５１１）。
【００４８】
続いて、選択した三つの点データを通る円または球（図９の図示例ではオフセット形状Ｋｏと略一致）を求め、二つ目の点データ（Ｐｊ＋１）を基点とする円または球の中心方向ベクトル（ＣＶ：図示略）が加工曲面形状（Ｋｊ）側に向いているか、それとは反対の工具側に向いているか、あるいは、三つの点データが同一直線上にあって中心方向ベクトル（ＣＶ）が求められていないかを調べ、微小線分群の凹凸形状（凹、凸、平坦）を評価する（Ｓ５１２）。
【００４９】
その後、実施例３と同様に、凹凸形状の反転をチェックし（Ｓ５１３）、反転していない場合に、直前範囲を拡大して凹凸形状を更新し（Ｓ５１４）、反転した場合は、直前範囲と区別して今回評価した範囲とその凹凸形状を登録する（Ｓ５１５）。そして、未評価の点群データの有無を確認し（Ｓ５１６）、未評価データがあれば、評価済み点データを一つずつシフトし（Ｓ５１７）、すべての点群データを評価した後に、識別データを登録する（Ｓ５１８）。
【実施例６】
【００５０】
図６、図１０は点群データ補正方法の実施例６を示す。この実施例は、実施例１および実施例２において、点群データ補正処理Ｓ１２，Ｓ２２の具体的な処理を例示する。点群データ補正方法自体の処理フローは実施例１，２と同じである（図１、図２参照）。
【００５１】
図６に示すフローチャートにおいて、点群データ補正処理Ｓ６２が開始されると、まず、凹凸範囲識別処理Ｓ１１，Ｓ２１（詳しくは、図３のＳ３１、図４のＳ４１、図５のＳ５１）で求めた識別データから、点群データの並び順に凹凸凹または凸凹凸の連続する三つの形状範囲を検索する（Ｓ６２０）。
【００５２】
次いで、凹形状範囲に挟まれた凸形状範囲または凸形状範囲に挟まれた凹形状範囲、例えば、図１０に示す二つ目の凹形状範囲を補正範囲として設定する（Ｓ６２１）。次に、補正範囲の始端に位置する点データ（Ｐｋ）と、補正範囲の終端に位置する点データ（Ｐｋ＋ｍ）とを結ぶ補正用直線（Ｌｋ）を生成する（Ｓ６２２）。
【００５３】
続いて、生成した補正用直線（Ｌｋ）に対する点データ（Ｐｊ）のずれ量（εｊ）を並び順に算出し（Ｓ６２３）、算出したずれ量（εｊ）を予め定めた基準値（εｒ）と比較する（Ｓ６２４）。そして、ずれ量（εｊ）≦基準値（εｒ）である場合に、該当部位の微小線分群がオフセット形状（Ｋｏ）に接近するように、その点データ（Ｐｊ）を補正用直線（Ｌｋ）上に移動し、補正後の点データ（Ｐ’ｊ）を登録する（Ｓ６２５）。なお、その点データ（Ｐｊ）を削除することで、微小線分群をオフセット形状（Ｋｏ）に接近させることも可能である。
【００５４】
一方、ずれ量（εｊ）＞基準値（εｒ）である場合は、この点データ（Ｐｊ）を補正せず、次に、補正範囲内に未処理の点データがあるかどうかを判断する（Ｓ６２６）。未処理データがあれば、次の点データにシフトし（Ｓ６２７）、残りの点データを順次処理する（Ｓ６２３〜Ｓ６２６）。
【００５５】
一つの補正範囲の処理が終了すると、続いて、別の補正範囲があるかどうかを判断し（Ｓ６２８）、あれば次の補正範囲にシフト（Ｓ６２９）、同様の処理（Ｓ６２２〜Ｓ６２８）を繰り返した後に、一連の点群データ補正処理Ｓ６２を終了する。こうすれば、ＣＡＤ／ＣＡＭ装置の近似演算処理過程で生じた誤差による微小線分群の揺らぎや移動方向の反転部分をなくし、目標とするオフセット形状（Ｋｏ）に極めて近似した曲線を生成することができる。
【実施例７】
【００５６】
図７、図１１は点群データ補正方法の実施例７を示す。この実施例では、実施例１，２の点群データ補正処理Ｓ１２，Ｓ２２において、実施例６とは異なる処理により点群データを補正している。
【００５７】
図７に示すフローチャートにおいて、点群データ補正処理Ｓ７２が開始されると、まず、実施例６と同様、識別データから凹凸凹または凸凹凸の連続する三つの形状範囲を検索する（Ｓ７２０）。次いで、凹形状範囲に挟まれた凸形状範囲または凸形状範囲に挟まれた凹形状範囲、例えば、図１１に示す二つ目の凹形状範囲を補正範囲として設定する（Ｓ７２１）。
【００５８】
次に、実施例６とは異なり、補正範囲の始端に位置する点データ（Ｐｋ）、補正範囲の終端に位置する点データ（Ｐｋ＋ｍ）、および補正範囲の前後に隣接する範囲に位置する任意の一点以上を含む三つ以上の点データ、例えば、一つ目の凸形状範囲内の点データ（Ｐｋ−１）や三つ目の凸形状範囲内の点データ（Ｐｋ＋ｍ＋１）など、またはそれらの近傍を通る滑らかな補正用曲線（Ｃｋ）をスプライン曲線補間方法や最小二乗法近似方法などを用いて生成する（Ｓ７２２）。
【００５９】
続いて、補正用曲線（Ｃｋ）に対する点データ（Ｐｊ）のずれ量（εｊ）を算出し（Ｓ７２３）、ずれ量（εｊ）を基準値（εｒ）と比較する（Ｓ７２４）。ずれ量（εｊ）≦基準値（εｒ）である場合は、該当部位の微小線分群がオフセット形状（Ｋｏ）に接近するように、点データ（Ｐｊ）を補正用曲線（Ｃｋ）上に移動し、補正後の点データ（Ｐ’ｊ）を登録するか（Ｓ７２５）、あるいは、点データ（Ｐｊ）を削除する。ずれ量（εｊ）＞基準値（εｒ）である場合は、その点データ（Ｐｊ）を補正しない。
【００６０】
次に、未処理の点データの有無をチェックし（Ｓ７２６）、未処理データがあれば次の点データにシフトし（Ｓ７２７）、残りの点データを順次処理する（Ｓ７２３〜Ｓ７２６）。その後、別の補正範囲の有無をチェックし（Ｓ７２８）、あれば次の補正範囲にシフトし（Ｓ７２９）、すべての補正範囲を処理した後に、点群データ補正処理Ｓ７２を終了する。この補正処理Ｓ７２によっても、実施例６と同様、目標とするオフセット形状（Ｋｏ）に極めて近似した曲線を生成することができる。
【実施例８】
【００６１】
図１２に示す実施例８は、上記実施例１〜７の点群データ補正方法を実施する数値制御装置１の構成を例示する。この数値制御装置１は、コンピュータ（ＣＰＵ）２と入出力装置３と記憶装置４と制御インターフェース５とをバス６で接続して構成されている。コンピュータ２は、図１〜図７に示した各プログラムにおいて、凹凸範囲識別処理Ｓ１１，Ｓ２１，Ｓ３１，Ｓ４１，Ｓ５１、点群データ補正処理Ｓ１２，Ｓ２２，Ｓ６２，Ｓ７２および近似曲線生成処理Ｓ２３を実行する。
【００６２】
入出力装置３は、操作員からの入力を受け付けたり、数値制御装置１の処理結果を出力したりする。記憶装置４は、数値制御装置１の処理に必要な点群データ等の情報や前記プログラムなどを記憶する。そして、コンピュータ２がそのプログラムを記憶装置４から呼び出し、プログラムに記述された前記処理を実行し、補正した点群データや生成した近似曲線を用い、制御インターフェース５を介して工作機械等の外部装置７の複数の駆動軸を制御するように構成されている。
【図面の簡単な説明】
【００６３】
【図１】本発明の実施例１の点群データ補正方法を示すフローチャートである。
【図２】本発明の実施例２の点群データ補正方法を示すフローチャートである。
【図３】本発明の実施例３の点群データ補正方法を示すフローチャートである。
【図４】本発明の実施例４の点群データ補正方法を示すフローチャートである。
【図５】本発明の実施例５の点群データ補正方法を示すフローチャートである。
【図６】本発明の実施例６の点群データ補正方法を示すフローチャートである。
【図７】本発明の実施例７の点群データ補正方法を示すフローチャートである。
【図８】ＣＡＤ／ＣＡＭ装置等による点群データの生成方法を示す説明図である。
【図９】実施例１〜５の補足説明図である。
【図１０】実施例６の補足説明図である。
【図１１】実施例７の補足説明図である。
【図１２】本発明の実施例８を示す数値制御装置のブロック図である。
【符号の説明】
【００６４】
１    数値制御装置
２    コンピュータ（ＣＰＵ）
４    記憶装置
７    外部装置
１０    点群データ補正プログラム
２０    近似曲線生成プログラム
Ｋｊ    加工曲面形状
Ｋｏ    オフセット形状
Ｌｋ    補正用直線
Ｃｋ    補正用曲線
Ｓ１１，Ｓ２１，Ｓ３１，Ｓ４１，Ｓ５１    凹凸範囲識別処理
Ｓ１２，Ｓ２２，Ｓ６２，Ｓ７２    点群データ補正処理
Ｓ２３    近似曲線生成処理
【図１】
0004928387.tif 000002
【図２】
0004928387.tif 000003
【図３】
0004928387.tif 000004
【図４】
0004928387.tif 000005
【図５】
0004928387.tif 000006
【図６】
0004928387.tif 000007
【図７】
0004928387.tif 000008
【図８】
0004928387.tif 000009
【図９】
0004928387.tif 000010
【図１０】
0004928387.tif 000011
【図１１】
0004928387.tif 000012
【図１２】
0004928387.tif 000013