(57)【要約】【課題】  オフセット面モデルを精度よく作成するための技術を提供する。【解決手段】  オフセット面モデルの作成装置は、曲面データが曲面を記述している三次元空間に三次元格子点とその近傍領域を設定する手段と、曲面が近傍領域内を通過する第１格子点とその曲面上の最寄点の対のデータ群の作成手段と、最寄点をオフセットさせた仮オフセット点が近傍領域内に位置する第２格子点群を記述するデータの作成手段と、第２格子点群のなかで、最寄りに位置する第１格子点までの距離が所定のオフセット判定範囲である第３格子点群を記述するデータの作成手段と、第３三次元格子点毎に最寄点をオフセットさせたオフセット点を計算し、計算したオフセット点群を記述するオフセット面モデルデータを作成する手段と、第３三次元格子点に隣接する三次元格子点群を第２三次元格子群に追加する手段とを備えている。【選択図】図１
2007286858.tif 000002
【特許請求の範囲】
【請求項１】
曲面を記述している曲面データに基づいて、その曲面から所定のオフセット距離だけオフセットしたオフセット面モデルを作成する装置であって、
三次元空間に配置された曲面を記述している曲面データの記憶手段と、
曲面データが曲面を記述している三次元空間に所定間隔で三次元格子点を配置し、三次元格子点毎に所定半径の近傍領域を設定する手段と、
曲面が近傍領域内を通過する第１三次元格子点と、第１三次元格子点に対する曲面上の最寄点とを特定し、第１三次元格子点と最寄点の対のデータ群を記述する第１格子点データを作成する手段と、
第１格子点データに記述されている第１三次元格子点と最寄点の対のデータ毎に、第１三次元格子点と最寄点との相対位置からオフセット方向を定め、最寄点をオフセット方向へオフセット距離だけ移動させた仮オフセット点を求め、仮オフセット点が近傍領域内に存在する第２三次元格子点を特定し、特定した第２三次元格子点群を記述する第２格子点データを作成する手段と、
第２格子点データに記述されている第２三次元格子点群から、第１格子点データに記述されている第１三次元格子点群のなかで最寄りに位置する第１三次元格子点までの距離が所定のオフセット判定範囲である第３三次元格子点群を特定し、特定した第３三次元格子点群を記述する第３格子点データを作成する手段と、
第３格子点データに記述されている第３三次元格子点毎に、第１格子点データに記述されている最寄点群のなかで最寄りに位置する最寄点を、第３三次元格子点に向けてオフセット距離だけ移動させたオフセット点を計算し、計算したオフセット点群を記述するオフセット面モデルデータを作成する手段と、
第３格子点データに記述されている第３三次元格子点に隣接する三次元格子点群を、第２格子点データに追加する手段と、
を備えるオフセット面モデルの作成装置。
【請求項２】
前記第３格子点データの作成手段が用いる前記オフセット判定範囲は、前記オフセット距離から前記近傍領域の直径を減算した値と、前記オフセット距離に前記近傍領域の直径を加算した値までの範囲であることを特徴とする請求項１の作成装置。
【請求項３】
曲面を記述している曲面データに基づいて、その曲面から所定のオフセット距離だけオフセットしたオフセット面モデルを作成する方法であって、
三次元空間に配置された曲面を記述している曲面データを用意する工程と、
曲面データが曲面を記述している三次元空間に所定間隔で三次元格子点を配置し、三次元格子点毎に所定半径の近傍領域を設定する工程と、
曲面が近傍領域内を通過する第１三次元格子点と、第１三次元格子点に対する曲面上の最寄点とを特定し、第１三次元格子点と最寄点の対のデータ群を記述する第１格子点データを作成する工程と、
第１格子点データに記述されている第１三次元格子点と最寄点の対のデータ毎に、第１三次元格子点と最寄点との相対位置からオフセット方向を定め、最寄点をオフセット方向へオフセット距離だけ移動させた仮オフセット点を求め、仮オフセット点が近傍領域内に存在する第２三次元格子点を特定し、特定した第２三次元格子点群を記述する第２格子点データを作成する工程と、
第２格子点データに記述されている第２三次元格子点群から、第１格子点データに記述されている第１三次元格子点群のなかで最寄りに位置する第１三次元格子点までの距離が所定のオフセット判定範囲である第３三次元格子点群を特定し、特定した第３三次元格子点群を記述する第３格子点データを作成する工程と、
第３格子点データに記述されている第３三次元格子点毎に、第１格子点データに記述されている最寄点群のなかで最寄りに位置する最寄点を、第３三次格子点に向けてオフセット距離だけ移動させたオフセット点を計算し、計算したオフセット点群を記述するオフセット面モデルデータを作成する工程と、
第３格子点データに記述されている第３三次元格子点に隣接する三次元格子点群を、第２格子点データに追加する工程と、
を備えるオフセット面モデルの作成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＮＣ加工技術（数値制御加工技術）等で用いられる面モデルを作成する技術に関する。特に、曲面を記述するデータに基づいて、その曲面から所定距離だけオフセットしたオフセット面モデルを作成する技術に関する。
【背景技術】
【０００２】
ＮＣ加工技術は、工具と素材を予め教示された移動経路に沿って相対移動させることによって、素材に所定の加工面を形成する。加工面の形状は、三次元ＣＡＤ（Computer Aided Design）装置等を用いて作成された加工面データで表現される。ＮＣ工作機械を用いて素材に加工面を形成するためには、その加工面を記述する加工面データに基づいて、工具の移動経路を定める必要がある。
ＮＣ加工技術では、工具の位置を座標で記述するために、工具に基準点が定められている。それにより、工具の移動経路は、工具の基準点の移動経路によって定められる。工具の移動経路は、工具の刃先面を加工面に接触させながら移動させたときに、工具基準点が移動する経路に等しい。即ち、工具の移動経路は、加工面から工具形状分だけオフセットさせた面上に位置することとなる。工具の移動経路を定めるためには、加工面を記述する面データに基づいて、加工面から工具形状分だけオフセットさせたオフセット面モデルを作成する必要がある。
特許文献１には、逆オフセット法を利用して、工具参照面モデルを作成する技術が記載されている。逆オフセット法は、加工面を点群あるいは微小平面群（STL: Stereo lithography）等の近似要素で近似し、工具形状を加工時の姿勢に対して反転させた仮想反転工具を、工具基準点が各近似要素に位置するように配置する。そして、配置した仮想反転工具形状群の包絡面を求めることによって、加工面から工具形状分だけオフセットさせたオフセット面モデルを作成するものである。
【特許文献１】特開平４−１３３１０３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
特許文献１の技術では、曲面を直接取り扱うことができないことから、曲面を近似要素群で近似した近似モデルに基づいて、オフセット面モデルを計算する必要が生じる。そのことから、作成されるオフセット面モデルには、近似処理に起因する誤差が生じてしまう。この誤差を低減するためには、曲面を細かに近似することが必要となるが、細かな近似処理を行うほど、計算負荷は増大してしまう。計算負荷を過剰に増大させることなく、オフセット面モデルを精度よく作成する技術が必要とされている。
本発明は、上記の課題を解決する。本発明は、計算負荷を増大させることなく、オフセット面モデルを精度よく作成するための技術を提供する。
【課題を解決するための手段】
【０００４】
本発明の技術は、曲面を記述している曲面データに基づいて、その曲面から所定のオフセット距離だけオフセットしたオフセット面モデルを作成する装置に具現化することができる。このオフセット面モデルの作成装置は、三次元空間に配置された曲面を記述している曲面データの記憶手段と、曲面データが曲面を記述している三次元空間に所定間隔で三次元格子点を配置し、三次元格子点毎に所定半径の近傍領域を設定する手段と、曲面が近傍領域内を通過する第１三次元格子点と、第１三次元格子点に対する曲面上の最寄点とを特定し、第１三次元格子点と最寄点の対のデータ群を記述する第１格子点データを作成する手段と、第１格子点データに記述されている第１三次元格子点と最寄点の対のデータ毎に、第１三次元格子点と最寄点との相対位置からオフセット方向を定め、最寄点をオフセット方向へオフセット距離だけ移動させた仮オフセット点を求め、仮オフセット点が近傍領域内に存在する第２三次元格子点を特定し、特定した第２三次元格子点群を記述する第２格子点データを作成する手段と、第２格子点データに記述されている第２三次元格子点群から、第１格子点データに記述されている第１三次元格子点群のなかで最寄りに位置する第１三次元格子点までの距離が所定のオフセット判定範囲である第３三次元格子点群を特定し、特定した第３三次元格子点群を記述する第３格子点データを作成する手段と、第３格子点データに記述されている第３三次元格子点毎に、第１格子点データに記述されている最寄点群のなかで最寄りに位置する最寄点を、第３三次元格子点に向けてオフセット距離だけ移動させたオフセット点を計算し、計算したオフセット点群を記述するオフセット面モデルデータを作成する手段と、第３格子点データに記述されている第３三次元格子点に隣接する三次元格子点群を、第２格子点データに追加する手段とを備えている。
【０００５】
このオフセット面モデルの作成装置は、先ず、曲面が配置されている三次元空間に三次元格子点を配置するとともに、三次元格子点毎に三次元格子点を中心とする所定半径の近傍領域を設定する。
次いで、オフセット面モデルの作成装置は、曲面が近傍領域内を通過する第１三次元格子点と、第１三次元格子点に対する曲面上の最寄点とを特定し、第１三次元格子点と最寄点の対のデータ群を記述する第１格子点データを作成する。それにより、曲面データが記述している曲面を、三次元格子点群の集合で表現するデータを得る。
次いで、オフセット面モデルの作成装置は、第１格子点データが記述している第１三次元格子点と最寄点の対のデータ毎に、第１三次元格子点と最寄点との相対位置からオフセット方向を定め、最寄点をオフセット方向へオフセット距離だけ移動させた仮オフセット点を求め、仮オフセット点が近傍領域内に存在する第２三次元格子点を特定し、特定した第２三次元格子点群を記述する第２格子点データを作成する。第１三次元格子点に対する曲面上の最寄点は、第１三次元格子点から曲面へ下ろした垂線の足となる。従って、第１三次元格子点と最寄点との相対位置、即ち、第１三次元格子点と最寄点とを結ぶベクトルから、曲面の最寄点における法線方向を求めることができる。第１三次元格子点と最寄点との相対位置から、複雑な計算を必要とすることなく、各最寄点におけるオフセット方向を正しく求めることができる。
【０００６】
次いで、オフセット面モデルの作成装置は、第２格子点データに記述されている第２三次元格子点群から、第１格子点データに記述されている第１三次元格子点群のなかで最寄りに位置する第１三次元格子点までの距離が所定のオフセット判定範囲である第３三次元格子点群を特定し、特定した第３三次元格子点群を記述する第３格子点データを作成する。第２三次元格子点群のそれぞれは、曲面上の一最寄点をオフセットさせた仮オフセット点の近傍に位置することから、曲面をオフセットさせたオフセット面の近傍に位置する三次元格子点となり得る。その一方において、曲面上の一最寄点をオフセットさせた仮オフセット点は、曲面の他の部分に対してオフセット距離よりも近接することがあり、第２三次元格子点群のそれぞれが、必ずしもオフセット面の近傍に位置するとは限られない。このオフセット面モデルの作成装置では、第２三次元格子点群のなかから、最寄りに位置する第１三次元格子点までの距離が所定のオフセット判定範囲であるものを特定することで、オフセット面の近傍に位置する第３三次元格子点群を抽出する。
【０００７】
次いで、オフセット面モデルの作成装置は、第３格子点データに記述されている第３三次元格子点毎に、第１格子点データに記述されている最寄点群のなかで最寄りに位置する最寄点を、第３三次元格子点に向けてオフセット距離だけ移動させたオフセット点を計算し、計算したオフセット点群を記述するオフセット面モデルデータを作成する。ここで計算するオフセット点群は、曲面上に位置する最寄点群をオフセットさせた点であり、曲面をオフセットさせたオフセット面上に位置する点群を求めることができる。
次いで、オフセット面モデルの作成装置は、第３格子点データに記述されている第３三次元格子点に隣接する三次元格子点群を、第２格子点データに追加する。第３三次元格子点はオフセット面の近傍に位置することから、第３三次元格子点に隣接する三次元格子点群も、オフセット面の近傍に位置しうるものとなる。そのことから、第３三次元格子点に隣接する三次元格子点群を第２格子点データに追加し、第３三次元格子点に隣接する三次元格子点群についても上記した処理を実行することによって、オフセット点を漏れなく求めることができる。
最終的に、曲面をオフセット距離だけオフセットさせたオフセット面をオフセット点群によって表現するオフセット面モデルデータを得ることができる。
この作成装置によると、オフセット面モデルを作成する中間過程では三次元格子点を用いて計算処理を低減し、最終的には曲面上の点をオフセットさせたオフセット点によってオフセット面モデルを作成する。従来のように、曲面を近似した近似要素からオフセットさせたオフセット面モデルに比して、精度のよいオフセット面モデルが得られる。
【０００８】
上記の装置では、前記第３格子点データの作成手段が用いる前記オフセット判定範囲が、前記オフセット距離から前記近傍領域の直径を減算した値と、前記オフセット距離に前記近傍領域の直径を加算した値までの範囲であることが好ましい。
それにより、第２格子点データに記述されている第２三次元格子点群のなかから、オフセット面の近傍に位置する第３三次元格子点群を、過不足なく抽出することができる。
【０００９】
本発明の技術はまた、曲面を記述している曲面データに基づいて、その曲面から所定のオフセット距離だけオフセットしたオフセット面モデルを作成する方法にも具現化することができる。この方法は、三次元空間に配置された曲面を記述している曲面データを用意する工程と、曲面データが曲面を記述している三次元空間に所定間隔で三次元格子点を配置し、三次元格子点毎に所定半径の近傍領域を設定する工程と、曲面が近傍領域内を通過する第１三次元格子点と、第１三次元格子点に対する曲面上の最寄点とを特定し、第１三次元格子点と最寄点の対のデータ群を記述する第１格子点データを作成する工程と、第１格子点データに記述されている第１三次元格子点と最寄点の対のデータ毎に、第１三次元格子点と最寄点との相対位置からオフセット方向を定め、最寄点をオフセット方向へオフセット距離だけ移動させた仮オフセット点を求め、仮オフセット点が近傍領域内に存在する第２三次元格子点を特定し、特定した第２三次元格子点群を記述する第２格子点データを作成する工程と、第２格子点データに記述されている第２三次元格子点群から、第１格子点データに記述されている第１三次元格子点群のなかで最寄りに位置する第１三次元格子点までの距離が所定のオフセット判定範囲である第３三次元格子点群を特定し、特定した第３三次元格子点群を記述する第３格子点データを作成する工程と、第３格子点データに記述されている第３三次元格子点毎に、第１格子点データに記述されている最寄点群のなかで最寄りに位置する最寄点を、第３三次格子点に向けてオフセット距離だけ移動させたオフセット点を計算し、計算したオフセット点群を記述するオフセット面モデルデータを作成する工程と、第３格子点データに記述されている第３三次元格子点に隣接する三次元格子点群を、第２格子点データに追加する工程とを備える。
この方法によると、オフセット面モデルを作成する中間過程では三次元格子点を用いて計算処理を低減し、最終的には曲面上の点をオフセットさせたオフセット点によってオフセット面モデルを作成する。従来のように、曲面を近似する近似要素からオフセットさせたオフセット面モデルに比して、精度のよいオフセット面モデルが得られる。
【発明の効果】
【００１０】
本発明によって、曲面を記述するデータに基づいて、その曲面からオフセット距離だけオフセットしたオフセット面モデルを精度よく作成することができる。作成したオフセット面モデルを用いてＮＣ工作機械に教示する工具経路を作成することで、ＮＣ工作機械に加工面を精度よく成形させることが可能となる。
【発明を実施するための最良の形態】
【００１１】
以下に説明する実施例の主要な特徴を列記する。
（特徴１）  曲面データは、３次元ＣＡＤ装置を用いて作成される。
（特徴２）  三次元格子点は、三次元方向に関して等間隔に配置される。
（特徴３）  三次元格子点の間隔に対し、三次元格子点の近傍領域の直径は、３１／２倍に設定される。
【実施例】
【００１２】
図１は、本発明を実施したオフセット面モデルの作成装置１０（以下、単に作成装置と略す）の機能的な構成を示している。作成装置１０は、例えば加工面等の曲面を記述している曲面データに基づいて、その曲面から工具形状分だけオフセットしたオフセット面モデルを作成する装置である。作成装置１０が作成したオフセット面モデルは、例えば数値制御（ＮＣ）工作機械を用いて素材に加工面を形成するための工具の移動経路の作成に用いることができる。
図１に示すように、作成装置１０は、機能的に、データ記憶部２０と、データ作成部５０と、入出力部７０を備えている。作成装置１０は、主にコンピュータ装置を用いて構成されており、コンピュータ装置のハードウエアやソフトウエア等によって、データ記憶部２０やデータ作成部５０や入出力部７０が構成されている。
【００１３】
データ記憶部２０は、曲面データ２２と、曲面格子点データ（第１格子点データ）２４と、仮オフセット格子点データ（第２格子点データ）２６と、オフセット格子点データ（第３格子点データ）２８と、オフセット面データ３０等を記憶することができる。曲面データ２２は、例えば所望する加工面等の曲面を記述するデータであり、ｘｙｚ直交座標が定義されている三次元空間に配置された曲面を記述している。曲面データ２２は、入出力部７０を介して外部から作成装置１０に教示される。曲面格子点データ２４と、仮オフセット格子点データ２６と、オフセット格子点データ２８と、オフセット面データ３０は、データ作成部５０によって作成される。
データ作成部５０は、格子点設定部５２と、曲面格子点データ作成部５４と、仮オフセット格子点データ作成部５６と、オフセット格子点判定部５８と、オフセット点計算部６０を備えている。データ作成部５０は、データ記憶部２０に記憶されている曲面データ２２に基づいて、各種の演算処理を行い、最終的にオフセット面データ３０を作成する。オフセット面データ３０は、曲面データ２２が記述している曲面から、所定距離だけオフセットしたオフセット面を記述するものである。また、データ作成部５０は、オフセット面データ３０を作成する演算過程において、曲面格子点データ２４と仮オフセット格子点データ２６とオフセット格子点データ２８を作成する。
【００１４】
図２は、作成装置１０が、オフセット面データ３０を作成する処理の流れを示すフローチャートである。図２に示すフローに沿って、作成装置１０が、外部から教示された曲面データ２２に基づいて、オフセット面データ３０を作成する処理手順について説明する。
先ず、ステップＳ２において、作成装置１０は、入出力部７０を介して曲面データ２２入力し、データ記憶部２０に記憶する。曲面データ２２は、例えば外部の三次元ＣＡＤ（Computer Aided Design）装置等によって作成される。
図３は、曲面データ２２が記述している加工面２２ａの一例を示している。図３に例示するように、曲面データ２２は、ｘｙｚ空間に配置された複数の基本形状によって、ｘｙｚ空間に配置されている加工面２２ａを記述している。基本形状には、例えば頂点Ｖや稜線Ｃや面Ｓ等が用いられている。稜線Ｃには、例えば直線や曲線等が用いられており、面Ｓには、平面、円柱面、球面、自由曲面等が用いられている。稜線Ｃは、パラメータｔを用いた曲線表現式Ｃ（ｔ）で記述されている。面Ｓは、パラメータｕ，ｖを用いた面表現式Ｓ（ｕ，ｖ）で記述されている。加工面２２ａを記述している基本形状Ｖ、Ｃ、Ｓには、それぞれを識別可能な識別子ＩＤが割り当てられている。
なお、曲面データ２２は、ｘｙｚ空間に配置された点群や、ｘｙｚ空間に配置された微小平面群（STL: Stereo lithography）によって、加工面２２ａを近似して記述するデータであってもよい。
【００１５】
図２のステップＳ４では、曲面データ２２が記述しているｘｙｚ空間、即ち、加工面２２ａが配置されているｘｙｚ空間に、データ作成部５０の格子点設定部５２が、三次元格子点群を設定する。三次元格子点群とは、ｘｙｚ空間に三次元格子を区画したときの交点群である。
図４は、格子点設定部５２によって三次元格子点ｇ群が設定されたｘｙｚ空間を示している。なお、図４は、図示の明瞭化を目的として、三次元格子点群の間隔を実際よりも拡大して示している。図４に示すように、格子点設定部５２は、加工面２２ａが配置されているｘｙｚ空間に、ｘｙｚ方向のそれぞれに関して所定の間隔ｂで配列する三次元格子点ｇ群を設定する。各三次元格子点ｇは、整数座標（ｉ，ｊ，ｋ）を用いて識別される。ここで、ｉはｘ方向に関する位置を意味し、ｘ方向においてｉ番目に位置することを示す。ｊはｙ方向に関する位置を意味し、ｙ方向においてｊ番目に位置することを示す。ｋはｚ方向に関する位置を意味し、ｚ方向においてｋ番目に位置することを示す。即ち、三次元格子点ｇ：（ｉ，ｊ，ｋ）は、ｘｙｚ空間において座標（ｂ×ｉ，ｂ×ｊ，ｂ×ｋ）に位置することを意味する。
【００１６】
図２のステップＳ６では、曲面格子点データ作成部５４が、曲面格子点データ２４を作成する。図５に示すように、曲面格子点データ２４は、ステップＳ４で設定した三次元格子点ｇ群毎に半径ａ（直径２ａ）の近傍領域Ｒを設定したときに、加工面２２ａが近傍領域Ｒを通過する三次元格子点ｇｍ群を記述するデータである。また、それらの三次元格子点ｇｍ群に対応付けて、加工面２２ａ上の最寄点ｐと、その最寄点ｐが位置する基本形状（頂点Ｖ，稜線Ｃ，面Ｓ）の識別子ＩＤを記述している。以下、曲面格子点データ２４に記述されている三次元格子点ｇｍを、曲面格子点（第１三次元格子点）ｇｍということがある。
【００１７】
ここで、曲面格子点データ作成部５４が、曲面データ２２から曲面格子点データ２４を作成する手順について説明する。先に説明したように、曲面データ２２では、ｘｙｚ空間に配置された頂点Ｖや稜線Ｃや面Ｓ等の基本形状群によって、加工面２２ａが記述されている。そこで、図６（ａ）〜（ｃ）に例示するように、曲面格子点データ作成部５４は、先ず加工面２２ａを構成する頂点Ｖに関して曲面格子点ｇｍを特定し、次いで加工面２２ａを構成する稜線Ｃに関して曲面格子点ｇｍを特定し、最後に加工面２２ａを構成する面Ｓに関して曲面格子点ｇｍを特定する。
図６（ａ）に示すように、先ず、曲面格子点データ作成部５４は、ステップＳ４で設定した三次元格子点ｇ群のなかで、曲面データ２２に記述されている頂点Ｖが近傍領域Ｒ内に存在する三次元格子点ｇ群を特定する。図７は、その近傍領域Ｒ内に頂点Ｖが存在する三次元格子点ｇを示している。曲面格子点データ作成部５４は、曲面データ２２に記述されている頂点Ｖ毎に、頂点Ｖから各三次元格子点ｇまでの距離をそれぞれ計算し、計算した距離が近傍領域Ｒの半径ａ以下である三次元格子点ｇを、曲面格子点ｇｍとして曲面格子点データ２４に記録していく。
【００１８】
図６（ｂ）に示すように、次いで、曲面格子点データ作成部５４は、ステップＳ４で設定した三次元格子点ｇ群のなかで、曲面データ２２に記述されている稜線Ｃが近傍領域Ｒを通過する三次元格子点ｇ群を特定する。図８は、その近傍領域Ｒ内に稜線Ｃが存在する三次元格子点ｇを示している。図８に示すように、近傍領域Ｒ内に稜線Ｃが存在する三次元格子点ｇでは、三次元格子点ｇに対する稜線Ｃ上の最寄点Ｃａまでの距離が、近傍領域Ｒの半径ａよりも短くなる。三次元格子点ｇに対する稜線Ｃ上の最寄点Ｃａは、三次元格子点ｇと最寄点Ｃａを結ぶベクトルと、最寄点Ｃａにおける接線ベクトルＣ’が垂直であることを拘束条件とし、ニュートン・ラプソン法の解析演算を実行することによって求めることができる。ただし、最寄点Ｃａを求める解析演算においては、与える初期点が不適切であると、正しい最寄点Ｃａが算出されない場合がある。そこで、曲面格子点データ作成部５４は、先ず稜線Ｃ上に少なくとも一つの初期点を定めるとともに、その初期点が近傍領域Ｒ内に位置する三次元格子点ｇを特定する。そして、特定した三次元格子点ｇに関して、先に定めた稜線Ｃ上の初期点を用いて解析演算を行い、最寄点Ｃａを算出する。それにより、稜線Ｃに関する一の曲面格子点ｇｍと、それに対する稜線Ｃ上の最寄点Ｃａを正しく特定することができる。曲面格子点データ作成部５４は、特定した曲面格子点ｇｍと最寄点Ｃａを、曲面格子点データ２４に記録する。次いで、曲面格子点データ作成部５４は、先に特定した曲面格子点ｇｍに隣接する三次元格子点ｇに関して、先に特定した最寄点Ｃａを初期点に用いて解析演算を行い、隣接する三次元格子点ｇに対する最寄点Ｃａを求める。そして、隣接する三次元格子点ｇと最寄点Ｃａとの距離を計算し、計算した距離が近傍領域Ｒの半径ａ以下であれば、その三次元格子点ｇを曲面格子点ｇｍとして曲面格子点データ２４に記録する。曲面格子点データ作成部５４は、先に特定した曲面格子点ｇｍに隣接する２６個の三次元格子点ｇのそれぞれに関して、同様の処理を実行する。以降、曲面格子点ｇｍを特定する度に、その曲面格子点ｇｍに隣接する２６個の三次元格子点ｇを上記した解析演算処理の対象に加えていくことで、稜線Ｃに沿って位置する三次元格子点ｇに関して解析演算を順次行っていく。それにより、稜線Ｃに関する曲面格子点ｇｍ群を漏れなく正しく特定することができる。
【００１９】
図６（ｃ）に示すように、最後に、曲面格子点データ作成部５４は、ステップＳ４で設定した三次元格子点ｇ群のなかで、曲面データ２２に記述されている面Ｓが近傍領域Ｒ内を通過する三次元格子点ｇ群を特定する。図９は、その近傍領域Ｒ内に面Ｓが存在する三次元格子点ｇを示している。図９に示すように、近傍領域Ｒ内に面Ｓが存在する三次元格子点ｇでは、三次元格子点ｇに対する面Ｓ上の最寄点Ｓａまでの距離が、近傍領域Ｒの半径ａよりも短くなる。三次元格子点ｇに対する面Ｓ上の最寄点Ｓａは、三次元格子点ｇと最寄点Ｓａとを結ぶベクトルと、最寄点Ｓａにおけるｓ方向の接線ベクトルＳｕおよびｕ方向の接線ベクトルＳｕが垂直であることを拘束条件とし、ニュートン・ラプソン法の解析演算を実行することによって求めることができる。ただし、最寄点Ｓａを求める解析演算においては、与える初期点が不適切であると、正しい最寄点Ｓａが算出されない場合がある。そこで、曲面格子点データ作成部５４は、先ず面Ｓ上に少なくとも一つの初期点を定めるとともに、その初期点が近傍領域Ｒ内に位置する三次元格子点ｇを特定する。そして、特定した三次元格子点ｇに関して、先に定めた面Ｓ上の初期点を用いて解析演算を行い、最寄点Ｓａを算出する。それにより、面Ｓに関する一の曲面格子点ｇｍと、それに対する面Ｓ上の最寄点Ｓａを正しく特定することができる。曲面格子点データ作成部５４は、特定した曲面格子点ｇｍと最寄点Ｓａを、曲面格子点データ２４に記録する。次いで、曲面格子点データ作成部５４は、先に特定した曲面格子点ｇｍに隣接する三次元格子点ｇに関して、先に特定した最寄点Ｓａを初期点に用いて解析演算を行い、隣接の三次元格子点ｇに対する最寄点Ｓａを求める。そして、三次元格子点ｇと最寄点Ｓａとの距離が近傍領域Ｒの半径ａ以下であれば、曲面格子点ｇｍとして曲面格子点データ２４に記録する。曲面格子点データ作成部５４は、先に特定した曲面格子点ｇｍに隣接する２６個の三次元格子点ｇのそれぞれに関して、同様の処理を実行する。以降、曲面格子点ｇｍを特定する度に、その曲面格子点ｇｍに隣接する２６個の三次元格子点ｇを上記した解析演算処理の対象に加えていくことで、面Ｓに沿って位置する三次元格子点ｇに関して解析演算を順次行っていく。それにより、面Ｓに関する曲面格子点ｇｍ群を漏れなく正しく特定することができる。
【００２０】
図２のステップＳ８では、仮オフセット格子点データ作成部５６が、曲面格子点データ２４を用いて、仮オフセット格子点データ２６を作成する。図１０に示すように、仮オフセット格子点データ２６は、曲面格子点データ２４に記述されている加工面２２ａ上の最寄点ｐ毎に、加工面２２ａの法線方向にオフセット距離ｒだけ移動させた仮オフセット点ｈ群を定めたときに、仮オフセット点ｈ群が近傍領域Ｒ内に位置する三次元格子点ｇｆ群を記述するデータである。以下、仮オフセット格子点データ２６に記述されている三次元格子点ｇｆ、即ち、仮オフセット点ｈが近傍領域Ｒ内に位置する三次元格子点ｇｆを、仮オフセット格子点ｇｆということがある。ここで、オフセット距離ｒは、工具形状等に応じて予め定めておくことができる。仮オフセット格子点データ作成部５６は、先ず、曲面格子点データ２４に記述されている曲面格子点ｇｍと最寄点ｐとの相対位置から、最寄点ｐをオフセットさせるオフセット方向を定める。曲面格子点ｇｍと最寄点ｐとの相対位置、即ち、曲面格子点ｇｍと最寄点ｐとを結ぶベクトルは、加工面２２ａの最寄点ｐにおける法線方向を示す。そのことから、曲面格子点ｇｍと最寄点ｐとを通る直線状に定めた仮オフセット点ｈは、加工面２２ａ上の最寄点ｐから加工面２２ａの法線方向にオフセットすることとなる。次いで、最寄点ｐをオフセット方向へオフセット距離ｒだけ移動させた仮オフセット点ｈを求める。そして、仮オフセット点ｈが近傍領域Ｒ内に位置する三次元格子点ｇｆを特定し、仮オフセット格子点ｇｆとして仮オフセット格子点データ２６に記録していく。
【００２１】
図２のステップＳ１０、Ｓ１２では、オフセット格子点判定部５８が、仮オフセット格子点データ２６に記述されている各仮オフセット点格子ｇｆに対して、オフセット格子点であるのか否かの判定を行う。先のステップＳ８で求めた仮オフセット格子点ｇｆ群のそれぞれは、加工面２２ａ上の一つの最寄点ｐをオフセットさせた仮オフセット点ｈの近傍に位置することから、加工面２２ａをオフセットさせたオフセット面の近傍に位置する三次元格子点となり得る。その一方において、加工面２２ａ上の一つの最寄点ｐをオフセットさせた仮オフセット点ｈは、加工面２２ａの他の部分に対してオフセット距離ｒよりも近接することがあり、仮オフセット格子点ｇｆ群のそれぞれが、必ずしもオフセット面の近傍に位置するとは限られない。そのことから、このステップＳ１０、Ｓ１２の処理では、仮オフセット格子点ｇｆ群のなかから、加工面２２ａをオフセット距離だけオフセットさせたオフセット面の近傍に位置するものを抽出する。
先ず、図２のステップＳ１０では、オフセット格子点判定部５８は、仮オフセット格子点データ２６から、一つの仮オフセット格子点ｇｆを選択する。
次いで、ステップＳ１２では、オフセット格子点判定部５８が、選択した仮オフセット格子点ｇｆが、オフセット格子点であるのか否かの判定を行う。図１１を参照して、この判定処理について説明する。図１１に示すように、オフセット格子点判定部５８は、選択した仮オフセット格子点ｇｆを中心に、オフセット距離ｒから近傍領域Ｒの直径２ｒを減算した半径ｒ−２ａの第１判定領域Ｕ１と、オフセット距離ｒに近傍領域Ｒの直径２ｒを加算した半径ｒ＋２ａの第２判定領域Ｕ２を定める。そして、曲面格子点データ２４に記述されている曲面格子点ｇｍが、第１判定領域Ｕ１内に存在しないとともに、第１判定領域Ｕ１と第２判定領域Ｕ２の差分領域に存在する場合に、選択した仮オフセット格子点ｇｆをオフセット格子点であると判定する。即ち、曲面格子点データ２４に記述されている曲面格子点ｇｍのなかで仮オフセット格子点ｇｆの最寄りに位置する曲面格子点ｇｍまでの距離が、第１判定領域Ｕ１の半径ｒ−２ａ以上であって、第２判定領域Ｕ２の半径ｒ＋２ａ以上であるときに、選択した仮オフセット格子点ｇｆをオフセット格子点であると判定する。このとき併せて、曲面格子点データ２４に記述されている曲面格子点ｇｍのなかで、第２判定領域Ｕ２内に存在するもの（図１１中のハッチングが付された曲面格子点ｇｍ）を特定する。そして、オフセット格子点判定部５８は、オフセット格子点であると判定した仮オフセット格子点ｇｆと、その第２判定領域Ｕ２内に存在する曲面格子点ｇｍ群とを対応付けて、データ記憶部２０に記録する。それにより、オフセット格子点ｇｆと、その第２判定領域Ｕ２内に存在する曲面格子点ｇｍ群とを対応付けて記述するオフセット格子点データ２８が作成される。一方、曲面格子点ｇｍが第１判定領域Ｕ１内に存在する場合、あるいは、曲面格子点ｇｍが第２判定領域Ｕ２内に存在しない場合には、選択した仮オフセット格子点ｇｆはオフセット格子点ではないと判定する。この場合、ステップＳ１０へ戻る。
【００２２】
図２に示すステップＳ１４では、オフセット点計算部６０が、ステップＳ１２で判定されたオフセット格子点ｇｆを用いて、加工面２２ａへの最短距離が略オフセット距離ｒであるオフセット点を計算する。
図１２、図１３を参照して、オフセット点計算部６０がオフセット点を計算する処理について説明する。図１２に示すように、先ず、オフセット点計算部６０は、ステップＳ１０においてオフセット格子点であると判定したオフセット格子点ｇｆを中心に、オフセット距離ｒから近傍領域Ｒの半径ａを減算した半径ｒ−ａの第３判定領域Ｕ３と、オフセット距離ｒに近傍領域Ｒの半径ａを加算した半径ｒ＋ａの第４判定領域Ｕ４を定める。次いで、オフセット点計算部６０は、ステップＳ１２で特定した第２判定領域Ｕ２内に存在する曲面格子点ｇｍ群のなかから、その加工面２２ａ上の最寄点ｐが、第３判定領域Ｕ３外に位置するとともに第４判定領域Ｕ４内に位置するものを特定する。図１２に示す例では、曲面格子点ｇｍ１に対する最寄点ｐ１と、曲面格子点ｇｍ２に対する最寄点ｐ２が、第３判定領域Ｕ３外に位置するとともに第４判定領域Ｕ４内に位置することから、２つの曲面格子点ｇｍ１、ｇｍ２が特定されることとなる。
【００２３】
図１３に示すように、次いで、オフセット点計算部６０は、特定した２つの曲面格子点ｇｍ１、ｇｍ２のそれぞれに関して、オフセット候補点ｑ１、ｑ２を計算する。オフセット候補点ｑ１は、曲面格子点ｇｍ１に対する加工面２２ａ上の最寄点ｐ１を、オフセット格子点ｇｆに向けて、オフセット距離ｒだけオフセットさせた点である。同様に、オフセット候補点ｑ２は、曲面格子点ｇｍ２に対する加工面２２ａ上の最寄点ｐ２を、オフセット格子点ｇｆに向けて、オフセット距離ｒだけオフセットさせた点である。
次いで、オフセット点計算部６０は、オフセット候補点ｑ１、ｑ２のそれぞれに関して、オフセット候補点ｑ１、ｑ２からオフセット格子点ｇｆまでの符号付き距離値ｄ１、ｄ２を計算する。符号付き距離値ｄ１、ｄ２は、次式、ｄｉ＝（最寄点ｐｉとオフセット格子点ｇｆとの距離）−（オフセット距離ｒ）を用いて計算される。即ち、符号付き距離値ｄ１、ｄ２は、オフセット候補点ｑ１、ｑ２とオフセット格子点ｇｆとの距離を示すとともに、オフセット候補点ｑ１、ｑ２がオフセット格子点ｇｆよりも加工面２２ａに対して遠方に位置していれば負の値をとり、オフセット候補点ｑ１、ｑ２がオフセット格子点ｇｆよりも加工面２２ａに対して近隣に位置していれば正の値をとる。
最後に、オフセット点計算部６０は、オフセット候補点ｑ１、ｑ２のなかから、符号付き距離値ｄ１、ｄ２が最小となったものをオフセット点に定める。図１４に示す例では、オフセット候補点ｐ１、ｐ２のなかから、オフセット候補点ｑ１がオフセット点と定められる。即ち、オフセット点ｑ１は、加工面２２ａ上の最寄点ｐ１、ｐ２のなかでオフセット格子点ｇｆの最寄りに位置する最寄点ｐ１を、オフセット格子点ｇｆに向けてオフセット距離ｒだけ移動させたものとなる。オフセット点計算部６０は、計算したオフセット点ｑ１をデータ記憶部２０のオフセット面データ３０に記録する。このように、オフセット格子点ｇｆに対して、一つのオフセット点ｑ１が求められる。
【００２４】
図２のステップＳ１６では、図１５に示すように、仮オフセット格子点データ作成部５６が、オフセット格子点ｇｆに隣接する２６個の三次元格子点ｇ群を、仮オフセット格子点として仮オフセット格子点データ２６に追加する。オフセット格子点ｇｆに隣接する２６個の三次元格子点ｇは、オフセット格子点であり得る。そのことから、オフセット格子点ｇｆに隣接する２６個の三次元格子点ｇを仮オフセット格子点データ２６に記録し、オフセット格子点ｇｆに隣接する２６個の三次元格子点ｇにも上記した処理を実行することによって、オフセット格子点ｇｆおよびオフセット点ｑを漏れなく求めることができる。
図２のステップＳ１８では、仮オフセット格子点データ２６に記述されているすべての仮オフセット格子点ｇｆに対して処理が終了したのか否かが判定される。すべての仮オフセット格子点ｇｆに対して処理が終了するまで、ステップＳ１０〜Ｓ１６の処理が繰り返し実行され、オフセット面データ３０にオフセット点ｑが記録されていく。最終的に、オフセット面データ３０には、加工面２２ａからオフセット距離ｒだけオフセットしたオフセット点ｑ群が記録されることとなる。即ち、加工面２２ａからオフセット距離ｒだけオフセットしたオフセット面を、オフセット点ｑ群によって表現するオフセット面モデルが得られる。
【００２５】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。
本明細書または図面に説明した技術要素は、単独であるいは各種の組み合わせによって技術的有用性を発揮するものであり、出願時の請求項に記載の組み合わせに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【図面の簡単な説明】
【００２６】
【図１】オフセット面モデルの作成装置の構成を示すブロック図。
【図２】オフセット面モデルの作成装置が実行する処理フローを示す図。
【図３】曲面データが記述する曲面の一例を示す図。
【図４】三次元空間に設定した三次元格子点群を示す図。
【図５】曲面格子点群を例示する図。
【図６】曲面格子点群を特定する手順を示す図。
【図７】近傍領域内に基本形状の頂点が存在する三次元格子点を示す図。
【図８】近傍領域内に基本形状の稜線が存在する三次元格子点を示す図。
【図９】近傍領域内に基本形状の面が存在する三次元格子点を示す図。
【図１０】仮オフセット格子点を例示する図。
【図１１】第１判定領域と第２判定領域を例示する図。
【図１２】第３判定領域と第４判定領域を例示する図。
【図１３】オフセット候補点からオフセット点を選択する処理を説明する図。
【図１４】オフセット格子点に隣接する三次元格子点を例示する図。
【符号の説明】
【００２７】
１０・・オフセット面モデルの作成装置
２０・・データ記憶部
２２・・曲面データ
２４・・曲面格子点データ
２６・・仮オフセット格子点データ
２８・・オフセット格子点データ
３０・・オフセット面データ
５０・・データ作成部
５２・・格子点設定部
５４・・曲面格子点データ作成部
５６・・仮オフセット格子点データ作成部
５８・・オフセット格子点データ作成部
６０・・オフセット点計算部
【図１】
2007286858.tif 000003
【図２】
2007286858.tif 000004
【図３】
2007286858.tif 000005
【図４】
2007286858.tif 000006
【図５】
2007286858.tif 000007
【図６】
2007286858.tif 000008
【図７】
2007286858.tif 000009
【図８】
2007286858.tif 000010
【図９】
2007286858.tif 000011
【図１０】
2007286858.tif 000012
【図１１】
2007286858.tif 000013
【図１２】
2007286858.tif 000014
【図１３】
2007286858.tif 000015
【図１４】
2007286858.tif 000016