(57)【特許請求の範囲】
【請求項１】
加工面モデルから工具形状分だけオフセットさせた工具参照面モデルを作成する装置であって、
第１のｘｙｚ座標空間に配置された加工面モデルを記述している加工面モデルデータを記憶する加工面モデルデータ記憶手段と、
第２のｘｙｚ座標空間に工具基準点を原点に合わせるとともに反転配置された反転工具の形状を記述している反転工具モデルデータを記憶する反転工具モデルデータ記憶手段と、
第１のｘｙｚ座標空間及び第２のｘｙｚ座標空間に所定の格子間隔で整列する立方格子点群を設定するとともに、各立方格子点を中心格子点とする半径が前記格子間隔の３１／２／２倍以内の球領域を設定する格子球領域設定手段と、
第１のｘｙｚ空間に設定された球領域のなかでその内部に加工面モデルが存在する加工面被覆球領域を特定するとともに、特定した加工面被覆球領域の中心格子点に対する加工面モデル上の最寄点を特定する加工面被覆球領域特定手段と、
特定された加工面被覆球領域と、その中心格子点に対する加工面モデル上の最寄点を、対応付けて記憶する加工面被覆球領域データ記憶手段と、
第２のｘｙｚ空間に設定された球領域のなかでその内部に反転工具モデルが存在する反転工具被覆球領域を特定するとともに、特定した反転工具被覆球領域の中心格子点に対する反転工具モデル上の最寄点を特定する反転工具被覆球領域特定手段と、
特定された反転工具被覆球領域と、その中心格子点に対する反転工具モデル上の最寄点を、対応付けて記憶する反転工具被覆球領域データ記憶手段と、
加工面被覆球領域データ記憶手段に記憶されている加工面被覆球領域群と、反転工具被覆球領域データ記憶手段に記憶されている反転工具被覆球領域群を用い、第１のｘｙｚ空間に設定された球領域のなかでその中心格子点に工具基準点を合わせて反転工具被覆球領域群を反転配置したときに反転配置した反転工具被覆球領域群が加工面被覆球領域群に外接することになる工具参照面被覆球領域を特定するとともに、その反転配置した反転工具被覆球領域群が外接する１又は複数の工具参照面被覆球領域を外接点被覆球領域として特定する工具参照面被覆球領域特定手段と、
特定された１又は複数の外接点被覆球領域のそれぞれについて以下の各処理、即ち、その中心格子点に対する加工面モデル上の最寄点を加工面被覆球領域データ記憶手段から読み出す処理、外接点被覆球領域の中心格子点から工具参照面被覆球領域の中心格子点への相対位置座標を計算する処理、工具基準点からその中心格子点への相対位置が計算した相対位置座標に等しい反転工具被覆球領域に対する反転工具モデル上の最寄点を反転工具被覆球領域データ記憶手段から読み出す処理、読み出した加工面モデル上の最寄点を読み出した反転工具モデル上の最寄点の位置座標分だけ移動させたオフセット候補点を計算する処理を実行するとともに、計算した１又は複数のオフセット候補点のなかで工具参照面被覆球領域内に位置するとともに工具参照面被覆球領域の中心格子点に対して最寄りに位置するものをオフセット点として特定するオフセット点特定手段と、
オフセット点特定手段によって特定されたオフセット点の位置座標を記憶する工具参照面モデルデータ記憶手段と、
を備えることを特徴とする工具参照面モデルを作成する装置。
【請求項２】
前記加工面被覆球領域特定手段は、加工面頂点被覆球領域特定手段と加工面稜線被覆球領域特定手段と加工面面分被覆球領域特定手段を備え、
前記加工面頂点被覆球領域特定手段は、加工面モデルデータから加工面モデルを構成する頂点を抽出し、抽出した頂点がその内部に存在する球領域を特定し、特定した球領域を抽出した頂点と併せて加工面被覆球領域データ記憶手段に記憶させるものであり、
前記加工面稜線被覆球領域特定手段は、加工面モデルデータから加工面モデルを構成する稜線を抽出し、抽出した稜線上の任意の一点がその内部に存在する球領域を起点とする加工面被覆球領域として特定し、特定した起点とする加工面被覆球領域球領域に隣接する２６の球領域を探索対象とする球領域に設定し、探索対象に設定されたそれぞれの球領域について以下の各処理、即ち、その中心格子点に対する稜線上の最寄点を計算する処理、計算した稜線上の最寄点がその内部に存在する球領域を加工面被覆球領域として特定する処理、特定した加工面被覆球領域が加工面被覆球領域データ記憶手段に記憶されていなければ特定した加工面被覆球領域をその最寄点と併せて加工面被覆球領域データ記憶手段に記憶させるとともに特定した加工面被覆球領域に隣接する２６の球領域を探索対象とする球領域に追加設定する処理、を実行するものであり、
前記加工面面分被覆球特定手段は、加工面モデルデータから加工面モデルを構成する面分とその境界を構成する頂点及び稜線を抽出し、抽出した頂点及び稜線をその内部に含む加工面球近傍領域群を加工面球近傍領域データ記憶手段から読み出し、読み出した加工面球近傍領域群を境界球領域群に設定し、抽出した面分上の任意の一点がその内部に存在するとともに設定した境界球領域群に隣接する球領域を起点とする加工面被覆球領域として特定し、特定した起点とする加工面被覆球領域に隣接する２６の球領域を探索対象とする球領域に設定し、探索対象に設定したそれぞれの球領域について以下の各処理を含む被覆球領域特定処理、即ち、その中心格子点に対する面分上の最寄点を計算する処理、計算した面分上の最寄点がその内部に存在するとともに設定した境界球領域に隣接する球領域を加工面被覆球領域として特定する処理、特定した加工面被覆球領域が加工面被覆球領域データ記憶手段に記憶されていなければ特定した加工面被覆球領域をその最寄点と併せて加工面被覆球領域データ記憶手段に記憶させるとともに特定した加工面被覆球領域に隣接する２６の球領域を探索対象とする球領域に追加設定する処理を含む被覆球領域特定処理を実行し、特定した加工面被覆球領域群を新たな境界球領域群に設定するとともに起点及び探索対象とする球領域を新たに特定して前記被覆球領域特定処理を繰り返し実行するものである、
ことを特徴とする請求項１に記載の工具参照面モデルを作成する装置。
【請求項３】
前記反転工具被覆球領域特定手段は、反転工具頂点被覆球領域特定手段と反転工具稜線被覆球領域特定手段と反転工具面分被覆球領域特定手段を備え、
前記反転工具頂点被覆球領域特定手段は、反転工具モデルデータから反転工具モデルを構成する頂点を抽出し、抽出した頂点がその内部に存在する球領域を特定し、特定した球領域を抽出した頂点と併せて反転工具被覆球領域データ記憶手段に記憶させるものであり、
前記反転工具稜線被覆球領域特定手段は、反転工具モデルデータから反転工具モデルを構成する稜線を抽出し、抽出した稜線上の任意の一点がその内部に存在する球領域を起点とする反転工具被覆球領域として特定し、特定した起点とする反転工具被覆球領域球領域に隣接する２６の球領域を探索対象とする球領域に設定し、探索対象に設定されたそれぞれの球領域について以下の各処理、即ち、その中心格子点に対する稜線上の最寄点を計算する処理、計算した稜線上の最寄点がその内部に存在する球領域を反転工具被覆球領域として特定する処理、特定した反転工具被覆球領域が反転工具被覆球領域データ記憶手段に記憶されていなければ特定した反転工具被覆球領域をその最寄点と併せて反転工具被覆球領域データ記憶手段に記憶させるとともに特定した反転工具被覆球領域に隣接する２６の球領域を探索対象とする球領域に追加設定する処理、を実行するものであり、
前記反転工具面分被覆球領域特定手段は、反転工具モデルデータから反転工具モデルを構成する面分とその境界を構成する頂点及び稜線を抽出し、抽出した頂点及び稜線をその内部に含む反転工具球近傍領域群を反転工具球近傍領域データ記憶手段から読み出し、読み出した反転工具球近傍領域群を境界球領域群に設定し、抽出した面分上の任意の一点がその内部に存在するとともに設定した境界球領域群に隣接する球領域を起点とする反転工具被覆球領域として特定し、特定した起点とする反転工具被覆球領域に隣接する２６の球領域を探索対象とする球領域に設定し、探索対象に設定したそれぞれの球領域について以下の各処理を含む被覆球領域特定処理、即ち、その中心格子点に対する面分上の最寄点を計算する処理、計算した面分上の最寄点がその内部に存在するとともに設定した境界球領域に隣接する球領域を反転工具被覆球領域として特定する処理、特定した反転工具被覆球領域が反転工具被覆球領域データ記憶手段に記憶されていなければ特定した反転工具被覆球領域をその最寄点と併せて反転工具被覆球領域データ記憶手段に記憶させるとともに特定した反転工具被覆球領域に隣接する２６の球領域を探索対象とする球領域に追加設定する処理を含む被覆球領域特定処理を実行し、特定した反転工具被覆球領域群を新たな境界球領域群に設定するとともに起点及び探索対象とする球領域を新たに特定して前記被覆球領域特定処理を繰り返し実行するものである、
ことを特徴とする請求項１又は２に記載の工具参照面モデルを作成する装置。
【請求項４】
前記工具参照面被覆球領域特定手段は、前記工具参照面被覆球領域を特定する際に、規定の探索方向に沿って整列する球領域を処理対象に設定し、処理対象に設定した球領域のなかから少なくとも一つの前記工具参照面被覆球領域を特定し、特定した工具参照面被覆球領域に隣接する２６の球領域を処理対象に設定し、処理対象に設定した球領域のなかから前記工具参照面被覆球領域を特定するとともに特定した前記工具参照面被覆球領域に隣接する２６の球領域を処理対象とする球領域に追加設定することを特徴とする請求項１から３のいずれか一項に記載の工具参照面モデルを作成する装置。
【請求項５】
前記工具参照面被覆球領域特定手段は、前記工具参照面被覆球領域を特定する際に、加工面被覆球領域データ記憶手段から任意の加工面被覆球領域及びその中心格子点に対する加工面モデル上の最寄点を抽出し、抽出した加工面被覆球領域の中心格子点及び最寄点からその最寄点における加工面モデルの法線方向を計算し、計算した法線方向に沿って整列する球領域を処理対象に設定し、処理対象に設定した球領域のなかから少なくとも一つの前記工具参照面被覆球領域を特定し、特定した工具参照面被覆球領域に隣接する２６の球領域を処理対象に設定し、処理対象に設定した球領域のなかから前記工具参照面被覆球領域を特定するとともに特定した前記工具参照面被覆球領域に隣接する２６の球領域を処理対象とする球領域に追加設定することを特徴とする請求項１から３のいずれか一項に記載の工具参照面モデルを作成する装置。
【請求項６】
加工面モデルから工具形状分だけオフセットさせた工具参照面モデルを作成する方法であって、電子計算機に、
第１のｘｙｚ座標空間に配置された加工面モデルを記述している加工面モデルデータを記憶する加工面モデルデータ記憶処理と、
第２のｘｙｚ座標空間に工具基準点を原点に合わせるとともに反転配置された反転工具の形状を記述している反転工具モデルデータを記憶する反転工具モデルデータ記憶処理と、
第１のｘｙｚ座標空間及び第２のｘｙｚ座標空間に所定の格子間隔で整列する立方格子点群を設定するとともに、各立方格子点を中心格子点とする半径が前記格子間隔の３１／２／２倍以内の球領域を設定する格子球領域設定処理と、
第１のｘｙｚ空間に設定された球領域のなかでその内部に加工面モデルが存在する加工面被覆球領域を特定するとともに、特定した加工面被覆球領域の中心格子点に対する加工面モデル上の最寄点を特定する加工面被覆球領域特定処理と、
特定された加工面被覆球領域と、その中心格子点に対する加工面モデル上の最寄点を、対応付けて記憶する加工面被覆球領域データ記憶処理と、
第２のｘｙｚ空間に設定された球領域のなかでその内部に反転工具モデルが存在する反転工具被覆球領域を特定するとともに、特定した反転工具被覆球領域の中心格子点に対する反転工具モデル上の最寄点を特定する反転工具被覆球領域特定処理と、
特定された反転工具被覆球領域と、その中心格子点に対する反転工具モデル上の最寄点を、対応付けて記憶する反転工具被覆球領域データ記憶処理と、
加工面被覆球領域データ記憶処理で記憶した加工面被覆球領域群と、反転工具被覆球領域データ記憶処理で記憶した反転工具被覆球領域群を用い、第１のｘｙｚ空間に設定された球領域のなかでその中心格子点に工具基準点を合わせて反転工具被覆球領域群を反転配置したときに反転配置した反転工具被覆球領域群が加工面被覆球領域群に外接することになる工具参照面被覆球領域を特定するとともに、その反転配置した反転工具被覆球領域群が外接する１又は複数の工具参照面被覆球領域を外接点被覆球領域として特定する工具参照面被覆球領域特定処理と、
特定された１又は複数の外接点被覆球領域のそれぞれについて以下の各処理、即ち、その中心格子点に対する加工面モデル上の最寄点を加工面被覆球領域データ記憶手段から読み出す処理、外接点被覆球領域の中心格子点から工具参照面被覆球領域の中心格子点への相対位置座標を計算する処理、工具基準点からその中心格子点への相対位置が計算した相対位置座標に等しい反転工具被覆球領域に対する反転工具モデル上の最寄点を反転工具被覆球領域データ記憶手段から読み出す処理、読み出した加工面モデル上の最寄点を読み出した反転工具モデル上の最寄点の位置座標分だけ移動させたオフセット候補点を計算する処理を実行するとともに、計算した１又は複数のオフセット候補点のなかで工具参照面被覆球領域内に位置するとともに工具参照面被覆球領域の中心格子点に対して最寄りに位置するものをオフセット点として特定するオフセット点特定処理と、
オフセット点特定手段によって特定されたオフセット点の位置座標を記憶する工具参照面モデルデータ記憶処理と、
を実行させる工具参照面モデルを作成する方法。
【請求項７】
加工面モデルから工具形状分だけオフセットさせた工具参照面モデルを作成するためのプログラムであって、電子計算機に、
第１のｘｙｚ座標空間に配置された加工面モデルを記述している加工面モデルデータを記憶する加工面モデルデータ記憶処理と、
第２のｘｙｚ座標空間に工具基準点を原点に合わせるとともに反転配置された反転工具の形状を記述している反転工具モデルデータを記憶する反転工具モデルデータ記憶処理と、
第１のｘｙｚ座標空間及び第２のｘｙｚ座標空間に所定の格子間隔で整列する立方格子点群を設定するとともに、各立方格子点を中心格子点とする半径が前記格子間隔の３１／２／２倍以内の球領域を設定する格子球領域設定処理と、
第１のｘｙｚ空間に設定された球領域のなかでその内部に加工面モデルが存在する加工面被覆球領域を特定するとともに、特定した加工面被覆球領域の中心格子点に対する加工面モデル上の最寄点を特定する加工面被覆球領域特定処理と、
特定された加工面被覆球領域と、その中心格子点に対する加工面モデル上の最寄点を、対応付けて記憶する加工面被覆球領域データ記憶処理と、
第２のｘｙｚ空間に設定された球領域のなかでその内部に反転工具モデルが存在する反転工具被覆球領域を特定するとともに、特定した反転工具被覆球領域の中心格子点に対する反転工具モデル上の最寄点を特定する反転工具被覆球領域特定処理と、
特定された反転工具被覆球領域と、その中心格子点に対する反転工具モデル上の最寄点を、対応付けて記憶する反転工具被覆球領域データ記憶処理と、
加工面被覆球領域データ記憶処理で記憶した加工面被覆球領域群と、反転工具被覆球領域データ記憶処理で記憶した反転工具被覆球領域群を用い、第１のｘｙｚ空間に設定された球領域のなかでその中心格子点に工具基準点を合わせて反転工具被覆球領域群を反転配置したときに反転配置した反転工具被覆球領域群が加工面被覆球領域群に外接することになる工具参照面被覆球領域を特定するとともに、その反転配置した反転工具被覆球領域群が外接する１又は複数の工具参照面被覆球領域を外接点被覆球領域として特定する工具参照面被覆球領域特定処理と、
特定された１又は複数の外接点被覆球領域のそれぞれについて以下の各処理、即ち、その中心格子点に対する加工面モデル上の最寄点を加工面被覆球領域データ記憶手段から読み出す処理、外接点被覆球領域の中心格子点から工具参照面被覆球領域の中心格子点への相対位置座標を計算する処理、工具基準点からその中心格子点への相対位置が計算した相対位置座標に等しい反転工具被覆球領域に対する反転工具モデル上の最寄点を反転工具被覆球領域データ記憶手段から読み出す処理、読み出した加工面モデル上の最寄点を読み出した反転工具モデル上の最寄点の位置座標分だけ移動させたオフセット候補点を計算する処理を実行するとともに、計算した１又は複数のオフセット候補点のなかで工具参照面被覆球領域内に位置するとともに工具参照面被覆球領域の中心格子点に対して最寄りに位置するものをオフセット点として特定するオフセット点特定処理と、
オフセット点特定手段によって特定されたオフセット点の位置座標を記憶する工具参照面モデルデータ記憶処理と、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＮＣ加工技術（数値制御加工技術）等で用いられる面モデルを作成する技術に関する。特に、加工面モデルから工具形状分だけオフセットさせた工具参照面モデルを作成する技術に関する。
【背景技術】
【０００２】
ＮＣ加工技術は、工具と素材を予め教示された移動経路に沿って相対移動させることによって、素材に所定の加工面を形成する。加工面の形状は、三次元ＣＡＤ（Computer Aided Design）装置等を用いて作成された加工面モデルで表現される。ＮＣ工作機械を用いて素材に所望の加工面を形成するためには、その加工面を記述する加工面モデルに基づいて、工具の移動経路を定める必要がある。
ＮＣ加工技術では、工具の位置を座標で記述するために、工具に工具基準点が定められている。そして、工具の移動経路は、工具基準点の移動経路によって定められる。工具の移動経路は、工具の刃先面を加工面に接触させながら移動させたときに、工具基準点が移動する経路に等しい。そのことから、工具の移動経路は、加工面から工具形状分だけオフセットさせた面上に位置することとなる。工具の移動経路を定めるためには、加工面を記述する加工面モデルに基づいて、加工面から工具形状分だけオフセットさせた工具参照面モデルを作成する必要がある。
特許文献１には、逆オフセット法を利用して、工具参照面モデルを作成する技術が記載されている。逆オフセット法は、加工面モデルと工具形状を加工時の姿勢に対して反転させた反転工具モデルを用い、工具基準点を加工面モデル上に配置した反転工具モデル群の包絡面モデルを求めることによって、加工面モデルから工具形状分だけオフセットさせた工具参照面モデルを作成するものである。
【０００３】
【特許文献１】特開平６−２５４７４４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来の逆オフセット法は、加工面モデル上に配置した反転工具モデル群の包絡評価を、ｘｙ方向に関して平面格子状に設定した各位置でのｚ軸座標に基づいて行っている。そのことから、例えば加工面モデルに縦壁（ｚ軸方向に伸びる面）が含まれていると、その位置では包絡評価を行うことができなくなる。従来の逆オフセット法では、加工面モデルの形状によって、工具参照面モデルの精度が悪化することがある。
上記の問題を鑑み、本発明は、加工面モデルの形状によらず、工具参照面モデルを精度よく作成するための技術を提供する。
【課題を解決するための手段】
【０００５】
本発明は、加工面モデルから工具形状分だけオフセットさせた工具参照面モデルを作成する装置に具現化される。この装置は、第１のｘｙｚ座標空間に配置された加工面モデルを記述している加工面モデルデータを記憶する加工面モデルデータ記憶手段と、第２のｘｙｚ座標空間に工具基準点を原点に合わせるとともに反転配置された反転工具の形状を記述している反転工具モデルデータを記憶する反転工具モデルデータ記憶手段を備えている。この装置は、外部から教示された加工面モデルデータや反転工具モデルデータを記憶し、それらの加工面モデルデータや反転工具モデルデータを用いて工具参照面モデルを作成する。
【０００６】
この装置はさらに、第１のｘｙｚ座標空間及び第２のｘｙｚ座標空間に所定の格子間隔で整列する立方格子点群を設定するとともに、各立方格子点を中心格子点とする半径が前記格子間隔の３１／２／２倍以内の球領域を設定する格子球領域設定手段と、第１のｘｙｚ空間に設定された球領域のなかでその内部に加工面モデルが存在する加工面被覆球領域を特定するとともに、特定した加工面被覆球領域の中心格子点に対する加工面モデル上の最寄点を特定する加工面被覆球領域特定手段と、特定された加工面被覆球領域とその中心格子点に対する加工面モデル上の最寄点を対応付けて記憶する加工面被覆球領域データ記憶手段と、第２のｘｙｚ空間に設定された球領域のなかでその内部に反転工具モデルが存在する反転工具被覆球領域を特定するとともに、特定した反転工具被覆球領域の中心格子点に対する反転工具モデル上の最寄点を特定する反転工具被覆球領域特定手段と、特定された反転工具被覆球領域とその中心格子点に対する反転工具モデル上の最寄点を対応付けて記憶する反転工具被覆球領域データ記憶手段とを備えている。
それにより、外部から教示された加工面モデルを立方格子点群の集合で記述するデータを作成するとともに、外部から教示された反転工具モデルを立方格子点群の集合で記述するデータを作成する。これらのデータは、各立方格子点に対する各モデル上の最寄点を併せて保持するので、各モデルの細かな形状についても記述することになる。
【０００７】
この装置はさらに、加工面被覆球領域データ記憶手段に記憶されている加工面被覆球領域群と反転工具被覆球領域データ記憶手段に記憶されている反転工具被覆球領域群を用い、第１のｘｙｚ空間に設定された球領域のなかでその中心格子点に工具基準点を合わせて反転工具被覆球領域群を反転配置したときに反転配置した反転工具被覆球領域群が加工面被覆球領域群に外接することになる工具参照面被覆球領域を特定するとともに、その反転配置した反転工具被覆球領域群が外接する１又は複数の工具参照面被覆球領域を外接点被覆球領域として特定する工具参照面被覆球領域特定手段を備えている。
それにより、工具参照面モデルを立方格子点の格子間隔の精度で求めることができる。工具参照面モデルを立方格子点の格子間隔の精度で求めておくことにより、後述するオフセット点の算出に必要となる計算処理を低減することができる。
【０００８】
この装置はさらに、特定された１又は複数の外接点被覆球領域のそれぞれについて以下の各処理、即ち、その中心格子点に対する加工面モデル上の最寄点を加工面被覆球領域データ記憶手段から読み出す処理、外接点被覆球領域の中心格子点から工具参照面被覆球領域の中心格子点への相対位置座標を計算する処理、工具基準点からその中心格子点への相対位置が計算した相対位置座標に等しい反転工具被覆球領域に対する反転工具モデル上の最寄点を反転工具被覆球領域データ記憶手段から読み出す処理、読み出した加工面モデル上の最寄点を読み出した反転工具モデル上の最寄点の位置座標分だけ移動させたオフセット候補点を計算する処理を実行するとともに、計算した１又は複数のオフセット候補点のなかで工具参照面被覆球領域内に位置するとともに工具参照面被覆球領域の中心格子点に対して最寄りに位置するものをオフセット点として特定するオフセット点特定手段と、オフセット点特定手段によって特定されたオフセット点の位置座標を記憶する工具参照面モデルデータ記憶手段を備えている。
【０００９】
この装置によると、工具参照面モデル上の点であるオフセット点を正確に特定することができる。工具参照面被覆球領域の中心格子点から各オフセット候補点までの距離の比較は三次元方向に関して行われるので、いずれの方向に関しても一意にオフセット点が特定される。工具参照面被覆球領域毎にオフセット点を特定していくことにより、特定されたオフセット点群によって工具参照面モデルを規定することができる。この装置によれば、加工面モデルが例えば縦壁を含む形状であっても、工具参照面モデルを精度よく作成することができる。
【００１０】
上記した装置では、前記した加工面被覆球領域特定手段が、下記する加工面頂点被覆球領域特定手段と、加工面稜線被覆球領域特定手段と、加工面面分被覆球領域特定手段を備えることが好ましい。それにより、加工面モデルがその内部に存在するすべての加工面被覆球領域を効率よく特定することが可能となる。
ここで、前記加工面頂点被覆球領域特定手段は、加工面モデルデータから加工面モデルを構成する頂点を抽出し、抽出した頂点がその内部に存在する球領域を特定し、特定した球領域を抽出した頂点と併せて加工面被覆球領域データ記憶手段に記憶させるものである。
【００１１】
また、前記加工面稜線被覆球領域特定手段は、加工面モデルデータから加工面モデルを構成する稜線を抽出し、抽出した稜線上の任意の一点がその内部に存在する球領域を起点とする加工面被覆球領域として特定し、特定した起点とする加工面被覆球領域球領域に隣接する２６の球領域を探索対象とする球領域に設定し、探索対象に設定されたそれぞれの球領域について以下の各処理、即ち、その中心格子点に対する稜線上の最寄点を計算する処理、計算した稜線上の最寄点がその内部に存在する球領域を加工面被覆球領域として特定する処理、特定した加工面被覆球領域が加工面被覆球領域データ記憶手段に記憶されていなければ特定した加工面被覆球領域をその最寄点と併せて加工面被覆球領域データ記憶手段に記憶させるとともに特定した加工面被覆球領域に隣接する２６の球領域を探索対象とする球領域に追加設定する処理を実行するものである。
【００１２】
そして、前記加工面面分被覆球特定手段は、加工面モデルデータから加工面モデルを構成する面分とその境界を構成する頂点及び稜線を抽出し、抽出した頂点及び稜線をその内部に含む加工面球近傍領域群を加工面球近傍領域データ記憶手段から読み出し、読み出した加工面球近傍領域群を境界球領域群に設定し、抽出した面分上の任意の一点がその内部に存在するとともに設定した境界球領域群に隣接する球領域を起点とする加工面被覆球領域として特定し、特定した起点とする加工面被覆球領域に隣接する２６の球領域を探索対象とする球領域に設定し、探索対象に設定したそれぞれの球領域について以下の各処理を含む被覆球領域特定処理、即ち、その中心格子点に対する面分上の最寄点を計算する処理、計算した面分上の最寄点がその内部に存在するとともに設定した境界球領域に隣接する球領域を加工面被覆球領域として特定する処理、特定した加工面被覆球領域が加工面被覆球領域データ記憶手段に記憶されていなければ特定した加工面被覆球領域をその最寄点と併せて加工面被覆球領域データ記憶手段に記憶させるとともに特定した加工面被覆球領域に隣接する２６の球領域を探索対象とする球領域に追加設定する処理を含む被覆球領域特定処理を実行し、特定した加工面被覆球領域群を新たな境界球領域群に設定するとともに起点及び探索対象とする球領域を新たに特定して前記被覆球領域特定処理を繰り返し実行するものである。
【００１３】
上記した装置では、前記した反転工具被覆球領域特定手段が、下記する反転工具頂点被覆球領域特定手段と反転工具稜線被覆球領域特定手段と反転工具面分被覆球領域特定手段を備えることが好ましい。それにより、反転工具モデルがその内部に存在するすべての反転工具被覆球領域を効率よく特定することが可能となる。
ここで、前記反転工具頂点被覆球領域特定手段は、反転工具モデルデータから反転工具モデルを構成する頂点を抽出し、抽出した頂点がその内部に存在する球領域を特定し、特定した球領域を抽出した頂点と併せて反転工具被覆球領域データ記憶手段に記憶させるものである。
【００１４】
また、前記反転工具稜線被覆球領域特定手段は、反転工具モデルデータから反転工具モデルを構成する稜線を抽出し、抽出した稜線上の任意の一点がその内部に存在する球領域を起点とする反転工具被覆球領域として特定し、特定した起点とする反転工具被覆球領域球領域に隣接する２６の球領域を探索対象とする球領域に設定し、探索対象に設定されたそれぞれの球領域について以下の各処理、即ち、その中心格子点に対する稜線上の最寄点を計算する処理、計算した稜線上の最寄点がその内部に存在する球領域を反転工具被覆球領域として特定する処理、特定した反転工具被覆球領域が反転工具被覆球領域データ記憶手段に記憶されていなければ特定した反転工具被覆球領域をその最寄点と併せて反転工具被覆球領域データ記憶手段に記憶させるとともに特定した反転工具被覆球領域に隣接する２６の球領域を探索対象とする球領域に追加設定する処理、を実行するものであり、
【００１５】
そして、前記反転工具面分被覆球領域特定手段は、反転工具モデルデータから反転工具モデルを構成する面分とその境界を構成する頂点及び稜線を抽出し、抽出した頂点及び稜線をその内部に含む反転工具球近傍領域群を反転工具球近傍領域データ記憶手段から読み出し、読み出した反転工具球近傍領域群を境界球領域群に設定し、抽出した面分上の任意の一点がその内部に存在するとともに設定した境界球領域群に隣接する球領域を起点とする反転工具被覆球領域として特定し、特定した起点とする反転工具被覆球領域に隣接する２６の球領域を探索対象とする球領域に設定し、探索対象に設定したそれぞれの球領域について以下の各処理を含む被覆球領域特定処理、即ち、その中心格子点に対する面分上の最寄点を計算する処理、計算した面分上の最寄点がその内部に存在するとともに設定した境界球領域に隣接する球領域を反転工具被覆球領域として特定する処理、特定した反転工具被覆球領域が反転工具被覆球領域データ記憶手段に記憶されていなければ特定した反転工具被覆球領域をその最寄点と併せて反転工具被覆球領域データ記憶手段に記憶させるとともに特定した反転工具被覆球領域に隣接する２６の球領域を探索対象とする球領域に追加設定する処理を含む被覆球領域特定処理を実行し、特定した反転工具被覆球領域群を新たな境界球領域群に設定するとともに起点及び探索対象とする球領域を新たに特定して前記被覆球領域特定処理を繰り返し実行するものである。
【００１６】
上記した装置では、前記した工具参照面被覆球領域特定手段が、前記工具参照面被覆球領域を特定する際に、規定の探索方向に沿って整列する球領域を処理対象に設定し、処理対象に設定した球領域のなかから少なくとも一つの前記工具参照面被覆球領域を特定し、特定した工具参照面被覆球領域に隣接する２６の球領域を処理対象に設定し、処理対象に設定した球領域のなかから前記工具参照面被覆球領域を特定するとともに特定した前記工具参照面被覆球領域に隣接する２６の球領域を処理対象とする球領域に追加設定することを特徴とすることが好ましい。
あるいは、前記した工具参照面被覆球領域特定手段が、前記工具参照面被覆球領域を特定する際に、加工面被覆球領域データ記憶手段から任意の加工面被覆球領域及びその中心格子点に対する加工面モデル上の最寄点を抽出し、抽出した加工面被覆球領域の中心格子点及び最寄点からその最寄点における加工面モデルの法線方向を計算し、計算した法線方向に沿って整列する球領域を処理対象に設定し、処理対象に設定した球領域のなかから少なくとも一つの前記工具参照面被覆球領域を特定し、特定した工具参照面被覆球領域に隣接する２６の球領域を処理対象に設定し、処理対象に設定した球領域のなかから前記工具参照面被覆球領域を特定するとともに特定した前記工具参照面被覆球領域に隣接する２６の球領域を処理対象とする球領域に追加設定することを特徴とするが好ましい。
それにより、工具参照面モデルがその内部に存在するすべての工具参照面被覆球領域を効率よく特定することが可能となる。
【００１７】
本発明はまた、電子計算機を用いて加工面モデルから工具形状分だけオフセットさせた工具参照面モデルを作成する方法にも具現化される。この方法は、電子計算機に、第１のｘｙｚ座標空間に配置された加工面モデルを記述している加工面モデルデータを記憶する加工面モデルデータ記憶処理と、第２のｘｙｚ座標空間に工具基準点を原点に合わせるとともに反転配置された反転工具の形状を記述している反転工具モデルデータを記憶する反転工具モデルデータ記憶処理と、第１のｘｙｚ座標空間及び第２のｘｙｚ座標空間に所定の格子間隔で整列する立方格子点群を設定するとともに、各立方格子点を中心格子点とする半径が前記格子間隔の３１／２／２倍以内の球領域を設定する格子球領域設定処理を実行させる。
【００１８】
この方法はさらに、電子機計算機に、第１のｘｙｚ空間に設定された球領域のなかでその内部に加工面モデルが存在する加工面被覆球領域を特定するとともに特定した加工面被覆球領域の中心格子点に対する加工面モデル上の最寄点を特定する加工面被覆球領域特定処理と、特定された加工面被覆球領域とその中心格子点に対する加工面モデル上の最寄点を対応付けて記憶する加工面被覆球領域データ記憶処理を実行させる。また、第２のｘｙｚ空間に設定された球領域のなかでその内部に反転工具モデルが存在する反転工具被覆球領域を特定するとともに特定した反転工具被覆球領域の中心格子点に対する反転工具モデル上の最寄点を特定する反転工具被覆球領域特定処理と、特定された反転工具被覆球領域とその中心格子点に対する反転工具モデル上の最寄点を対応付けて記憶する反転工具被覆球領域データ記憶処理を実行させる。
【００１９】
この方法はさらに、電子計算機に、加工面被覆球領域データ記憶処理で記憶した加工面被覆球領域群と、反転工具被覆球領域データ記憶処理で記憶した反転工具被覆球領域群を用い、第１のｘｙｚ空間に設定された球領域のなかでその中心格子点に工具基準点を合わせて反転工具被覆球領域群を反転配置したときに反転配置した反転工具被覆球領域群が加工面被覆球領域群に外接することになる工具参照面被覆球領域を特定するとともに、その反転配置した反転工具被覆球領域群が外接する１又は複数の工具参照面被覆球領域を外接点被覆球領域として特定する工具参照面被覆球領域特定処理と、特定された１又は複数の外接点被覆球領域のそれぞれについて以下の各処理、即ち、その中心格子点に対する加工面モデル上の最寄点を加工面被覆球領域データ記憶手段から読み出す処理、外接点被覆球領域の中心格子点から工具参照面被覆球領域の中心格子点への相対位置座標を計算する処理、工具基準点からその中心格子点への相対位置が計算した相対位置座標に等しい反転工具被覆球領域に対する反転工具モデル上の最寄点を反転工具被覆球領域データ記憶手段から読み出す処理、読み出した加工面モデル上の最寄点を読み出した反転工具モデル上の最寄点の位置座標分だけ移動させたオフセット候補点を計算する処理を実行するとともに、計算した１又は複数のオフセット候補点のなかで工具参照面被覆球領域内に位置するとともに工具参照面被覆球領域の中心格子点に対して最寄りに位置するものをオフセット点として特定するオフセット点特定処理を実行させる。
【００２０】
この方法によると、工具参照面モデル上の点であるオフセット点を正確に特定することができる。工具参照面被覆球領域の中心格子点から各オフセット候補点までの距離の比較は三次元方向に関して行われるので、いずれの方向に関しても一意にオフセット点が特定される。工具参照面被覆球領域毎にオフセット点を特定していくことにより、特定されたオフセット点群によって工具参照面モデルを規定することができる。この方法によれば、加工面モデルが例えば縦壁を含む形状であっても、工具参照面モデルを精度よく作成することができる。
【００２１】
本発明はさらに、加工面モデルから工具形状分だけオフセットさせた工具参照面モデルを作成するためのプログラムに具現化することもできる。このプログラムは、上記した各処理を電子計算機に実行させるためのプログラムである。このプログラムを用いることにより、汎用の電子計算機を用いて本発明に係る装置や方法を実施することが可能となる。
【発明の効果】
【００２２】
本発明によって工具参照面モデルを作成することにより、ＮＣ工作機械を用いた加工面の形成精度を向上することが可能となる。
【発明を実施するための最良の形態】
【００２３】
（実施例１）
図１は、本発明を実施した工具参照面モデルの作成装置１０（以下、単に作成装置と略す）の機能的な構成を示している。作成装置１０は、例えば加工面の形状を記述する加工面モデルから工具形状分だけオフセットさせた工具参照面モデルを作成する装置である。作成装置１０が作成した工具参照面モデルは、例えば数値制御（ＮＣ）工作機械を用いて素材に加工面を形成するための工具の移動経路の作成に用いられる。
図１に示すように、作成装置１０は、機能的に、データ記憶部２０と、データ作成部５０と、入出力部９０を備えている。作成装置１０は、コンピュータ装置を用いて構成されており、そのハードウエアやソフトウエア等によってデータ記憶部２０やデータ作成部５０や入出力部９０が構成されている。
【００２４】
データ記憶部２０は、加工面モデルデータ２２と、反転工具モデルデータ２４と、加工面被覆球領域データ２６と、反転工具被覆球領域データ２８と、工具参照面モデルデータ３０を記憶することができる。
加工面モデルデータ２２は、ｘｙｚ空間に配置された加工面モデルを記述するデータであり、外部の三次元ＣＡＤ装置によって作成される。加工面モデルデータ２２は、ｘｙｚ空間に配置された複数の基本形状によって加工面モデルを表現する。基本形状には、例えば頂点や稜線や面分が用いられている。加工面モデルデータ２２は、入出力部９０を介して本実施例の作成装置１０に入力され、データ記憶部２０に記憶される。
反転工具モデルデータ２４は、ｘｙｚ空間に工具基準点を原点合わせて反転配置された反転工具モデルを記述するデータであり、外部の三次元ＣＡＤ装置によって作成される。反転工具モデルデータ２４は、加工面モデルデータ２２と同様に、ｘｙｚ空間に配置された複数の基本形状によって反転工具モデルを表現する。反転工具モデルデータ２４は、入出力部９０を介して本実施例の作成装置１０に入力され、データ記憶部２０に記憶される。
加工面被覆球領域データ２６と反転工具被覆球領域データ２８と工具参照面モデルデータ３０は、データ処理部５０によって作成されるデータである。
【００２５】
データ記憶部５０は、格子球領域設定処理部５２と、加工面被覆球領域特定処理部５４と、反転工具被覆球領域特定処理部６２と、工具参照面被覆球領域特定処理部７０と、オフセット点特定処理部７２を備えている。そのなかで、加工面被覆球領域特定処理部５４は、頂点被覆球領域特定処理部５６と、稜線被覆球領域特定処理部５８と、面分被覆球領域特定処理部６０を有している。また、反転工具被覆球領域特定処理部６２も、頂点被覆球領域特定処理部６４と、稜線被覆球領域特定処理部６６と、面分被覆球領域特定処理部６８を有している。
格子球領域設定処理部５２は、加工面モデルデータ２２が加工面モデルを記述するｘｙｚ空間及び反転工具モデルデータ２４が反転工具モデルを記述するｘｙｚ空間に、所定の格子間隔で整列する立方格子点群を設定する処理を行う。また、設定した各立方格子点から前記した格子間隔の３１／２／２倍以下の距離範囲内を各格子点を中心格子点とする球領域に設定する処理を行う。
【００２６】
加工面被覆球領域特定処理部５４は、加工面モデルデータ２２が加工面モデルを記述するｘｙｚ空間（第１のｘｙｚ空間）に設定された球領域のなかで、その内部に加工面モデルが存在する加工面被覆球領域を特定する処理を行う。また、特定した加工面被覆球領域の中心格子点に対する加工面モデル上の最寄点を特定する処理を行う。そして、特定した加工面被覆球領域とその中心格子点に対する加工面モデル上の最寄点を対応付けて記述する加工面被覆球領域データ２６を作成する。
【００２７】
先に説明したように、加工面被覆球領域特定処理部５４は、頂点被覆球領域特定処理部５６と稜線被覆球領域特定処理部５８と面分被覆球領域特定処理部６０を有している。頂点被覆球領域特定処理部５６は、加工面モデルデータ２２から加工面モデルを構成する頂点を抽出し、抽出した頂点がその内部に存在する球領域を特定し、特定した球領域を抽出した頂点と併せて加工面被覆球領域データ２６に記録する処理を行う。
稜線被覆球領域特定処理部５８は、加工面モデルデータ２２から加工面モデルを構成する稜線を抽出し、抽出した稜線上の任意の一点がその内部に存在する球領域を起点とする加工面被覆球領域として特定する処理を行う。そして、特定した起点とする加工面被覆球領域球領域に隣接する２６の球領域を探索対象とする球領域に設定し、探索対象に設定されたそれぞれの球領域について以下の各処理、即ち、その中心格子点に対する稜線上の最寄点を計算する処理、計算した稜線上の最寄点がその内部に存在する球領域を加工面被覆球領域として特定する処理、特定した加工面被覆球領域が加工面被覆球領域データ２６に記録されていなければ特定した加工面被覆球領域をその最寄点と併せて加工面被覆球領域データ２６に記憶させるとともに特定した加工面被覆球領域に隣接する２６の球領域を探索対象とする球領域に追加設定する処理を実行する。
【００２８】
面分被覆球特定処理部６０は、加工面モデルデータ２２から加工面モデルを構成する面分とその境界を構成する頂点及び稜線を抽出し、抽出した頂点及び稜線をその内部に含む加工面球近傍領域群を加工面球近傍領域データ２６から読み出し、読み出した加工面球近傍領域群を境界球領域群に設定し、抽出した面分上の任意の一点がその内部に存在するとともに設定した境界球領域群に隣接する球領域を起点とする加工面被覆球領域として特定する処理を行う。そして、特定した起点とする加工面被覆球領域に隣接する２６の球領域を探索対象とする球領域に設定し、探索対象に設定したそれぞれの球領域について以下の各処理を含む被覆球領域特定処理、即ち、その中心格子点に対する面分上の最寄点を計算する処理、計算した面分上の最寄点がその内部に存在するとともに設定した境界球領域に隣接する球領域を加工面被覆球領域として特定する処理、特定した加工面被覆球領域が加工面被覆球領域データ２６に記録されていなければ特定した加工面被覆球領域をその最寄点と併せて加工面被覆球領域データに記録させるとともに特定した加工面被覆球領域に隣接する２６の球領域を探索対象とする球領域に追加設定する処理を含む被覆球領域特定処理を実行する。そして、特定した加工面被覆球領域群を新たな境界球領域群に設定するとともに起点及び探索対象とする球領域を新たに特定して前記被覆球領域特定処理を繰り返し実行する。
【００２９】
反転工具被覆球領域特定処理部６２は、反転工具モデルデータ２４が反転工具モデルを記述するｘｙｚ空間（第２のｘｙｚ空間）に設定された球領域のなかで、その内部に反転工具モデルが存在する反転工具被覆球領域を特定する処理を行う。また、特定した反転工具被覆球領域の中心格子点に対する反転工具モデル上の最寄点を特定する処理を行う。それにより、反転工具被覆球領域特定処理部６２は反転工具被覆球領域データ２８を作成する。より詳しくは、頂点被覆球領域特定処理部６４と稜線被覆球領域特定処理部６６と面分被覆球領域特定処理部６８が、加工面被覆球領域特定処理部５４のそれらと同様の処理を行い、反転工具モデルを構成する頂点と稜線と面分についてそれぞれ反転工具被覆球領域を特定する処理を行う。
【００３０】
工具参照面被覆球領域特定処理部７０は、加工面被覆球領域データ２６と記録されている加工面被覆球領域群と、反転工具被覆球領域データ２８に記録されている反転工具被覆球領域群を用い、工具面モデルが配置されたｘｙｚ空間に設定された球領域のなかで、その中心格子点に工具基準点を合わせて反転工具被覆球領域群を反転配置したときに反転配置した反転工具被覆球領域群が加工面被覆球領域群に外接することになる工具参照面被覆球領域を特定する処理を行う。また、その反転配置した反転工具被覆球領域群が外接する１又は複数の工具参照面被覆球領域を外接点被覆球領域として特定する処理を行う。
オフセット点特定処理部７２は、特定された１又は複数の外接点被覆球領域のそれぞれについて以下の各処理、即ち、その中心格子点に対する加工面モデル上の最寄点を加工面被覆球領域データ記憶手段から読み出す処理、外接点被覆球領域の中心格子点から工具参照面被覆球領域の中心格子点への相対位置座標を計算する処理、工具基準点からその中心格子点への相対位置が計算した相対位置座標に等しい反転工具被覆球領域に対する反転工具モデル上の最寄点を反転工具被覆球領域データ記憶手段から読み出す処理、読み出した加工面モデル上の最寄点を読み出した反転工具モデル上の最寄点の位置座標分だけ移動させたオフセット候補点を計算する処理を実行する。さらに、計算した１又は複数のオフセット候補点のなかで工具参照面被覆球領域内に位置するとともに工具参照面被覆球領域の中心格子点に対して最寄りに位置するものをオフセット点として特定する処理を行う。特定されたオフセット点は、工具参照面被覆球領域の中心格子点と共に、工具参照面データ３０に記録される。それにより、その内部に工具参照面モデルが存在する球領域及びその中心格子点に対する工具参照面モデル上の最寄点を対応付けて記述する工具参照面モデル３０がデータ記憶部２０内に作成される。
【００３１】
図２は、作成装置１０が実行する処理の流れを示すフローチャートである。図２に示すフローチャートに沿って、作成装置１０が実行する処理について詳細に説明する。
ステップＳ２では、作成装置１０が、入出力装置９０から入力された加工面モデルデータ２２を、データ記憶部２０に記憶する処理を行う。
ステップＳ４では、作成装置１０が、入出力装置９０から入力された反転工具モデルデータ２４を、データ記憶部２０に記憶する処理を行う。
ステップＳ６では、格子球領域設定処理部５２が、加工面モデルデータ２２が加工面モデルを記述するｘｙｚ空間及び反転工具モデルデータ２４が反転工具モデルを記述するｘｙｚ空間に、立方格子点群および各立方格子点を中心とする球領域の設定を行う。立方格子点の格子間隔ａは、許容誤差（必要精度）に基づいて、オペレータが指定する。球領域の半径ｒは、格子間隔ａの３1/2／２倍に設定される。
【００３２】
ステップＳ８では、加工面被覆球領域特定処理部５４が、先に説明した加工面被覆球領域を特定する処理を行う。ステップＳ８の処理は、概して３段階に区分することができる。
第１段階では、頂点被覆球領域特定処理部５６が、図３に示すように、加工面モデルデータ２２から加工面モデル１２２を構成する頂点Ｖを抽出し、抽出した頂点Ｖがその内部に存在する球領域を加工面被覆球領域１２６として特定する。図４に示すように、頂点Ｖは三つの面分Ｓ１、Ｓ２、Ｓ３によって規定されることから、頂点Ｖの位置座標は面分Ｓ１、Ｓ２、Ｓ３の交点を解析演算することによって算出することができる。頂点Ｖの位置座標が判明すれば、頂点Ｖと各格子点との距離をそれぞれ計算し、球領域の半径ｒ以内に位置する格子点を加工面被覆球領域１２６の中心格子点１２６ｇとして特定することができる。
【００３３】
第２段階では、稜線被覆球領域特定処理部５８が、図５に示すように、加工面モデルデータ２２を構成する稜線Ｃがその内部に存在する球領域を加工面被覆球領域１２６として特定していく。図６に示すように、稜線Ｃは二つの面分Ｓ１、Ｓ２の交線によって規定される。球領域１２６の中心格子点１２６ｇに対する稜線Ｃ上の最寄点ｘは、中心格子点１２６ｇと最寄点ｘを結ぶベクトルと最寄点ｘにおける稜線Ｃの接線ベクトルｔが垂直であることを条件とし、解析演算によって求めることができる。なお、最寄点ｘにおける稜線Ｃの接線ベクトルｔは、最寄点ｘにおける面分Ｓ１の法線ベクトルｍと最寄点ｘにおける面分Ｓ２の法線ベクトルｎの両者に垂直なベクトルとして求めることができる。そして、最寄点ｘまでの距離が球領域１２６の半径以内であれば、その中心格子点１２６ｇを中心とする球領域は加工面被覆球領域１２６となる。
【００３４】
ここで、稜線被覆球領域特定処理部５８は、稜線Ｃが内在する加工面被覆球領域１２６を以下の順序によって特定していく。以下に説明する処理では、現在連結体と新規連結体と退避連結体の設定が適宜行われる。先ず、稜線被覆球領域特定処理部５８は、加工面モデルデータ２２から、稜線Ｃ及びその両端に位置する頂点Ｖを抽出する。次いで、抽出した頂点Ｖがその内部に存在する加工面被覆球領域１２６を加工面被覆球領域データ２６から読み出し、読み出した一方の頂点Ｖの加工面被覆球領域１２６を現在連結体に設定する。次いで、現在連結体に隣接するとともに、その内部に稜線Ｃが存在する球領域を一つ特定し、新規連結体の起点となる加工面被覆球領域１２６として設定する。次いで、特定した起点とする加工面被覆球領域１２６に隣接する２６の球領域を探索対象に設定し、探索対象に設定した２６の球領域のなかから加工面被覆球領域１２６を一つ探索する。以後、加工面被覆球領域１２６を一つ特定するたびに、それに隣接する２６の球領域へ探索対象を順次移行していく。それにより、一連に連なる加工面被覆球領域１２６が新規連結体として特定されていく。探索対象とした２６の隣接球領域に加工面被覆球領域１２６が存在しない場合、その時点の新規連結体を現在連結体に設定し、その時点の現在連結体を退避連結体に設定する。そして、新たな現在連結体を基に、新たな新規連結体の起点となる加工面被覆球領域１２６を探索する。以上の処理が繰り返されることにより、一連に連なる加工面被覆球領域１２６群からなる連結体が複数特定される。そして、例えば加工面モデル２２が複雑な形状である場合、同時に複数の連結体が退避連結体として蓄積されていく。
【００３５】
新規連結体の起点となる加工面被覆球領域１２６が存在しない場合、退避連結体に設定された連結体のなかで最新のものを現在連結体に設定し、現在連結体を構成する加工面被覆球領域１２６を辿って、加工面被覆球領域１２６の探索を行う。新規連結体の起点となる加工面被覆球領域１２６が特定されれば、それを起点として新たな新規連結体の探索を行う。新規連結体の起点となる加工面被覆球領域１２６が存在しなければ、その時点で最新の退避連結体を現在連結体に設定する。すべての退避連結体について探索が完了した時点で、加工面被覆球領域１２６の特定処理は終了する。
以上により、その内部に稜線Ｃが存在する加工面被覆球領域１２６と、その中心格子点１２６ｇに対する加工面モデル１２２上の最寄点が特定され、加工面被覆球領域データ２６に記録される。
【００３６】
第３段階では、面分被覆球領域特定処理部６０が、図７に示すように、加工面モデルデータ２２を構成する面分Ｓがその内部に存在する球領域を加工面被覆球領域１２６として特定していく。図８に示すように、球領域１２６の中心格子点１２６ｇに対する面分Ｓ上の最寄点ｘは、中心格子点１２６ｇと最寄点ｘとを結ぶベクトルと最寄点ｘにおける面分Ｓの法線ベクトルｎが平行であることを条件とし、解析演算によって求めることができる。そして、最寄点ｘまでの距離が球領域１２６の半径以内であれば、その中心格子点１２６ｇを中心とする球領域は加工面被覆球領域１２６となる。
【００３７】
ここで、面分被覆球領域特定処理部６０は、その内部に面分Ｓが存在する加工面被覆球領域１２６を以下の順序によって特定していく。この処理においても、現在連結体と新規連結体と退避連結体の設定が適宜行われる。
先ず、面分被覆球領域特定処理部６０は、加工面モデルデータ２２から、面分Ｓとその周縁に位置する頂点Ｖ及び稜線Ｃを抽出する。次いで、抽出した頂点Ｖ又は稜線Ｃがその内部に存在する加工面被覆球領域１２６群を加工面被覆球領域データ２６から読み出し、読み出した加工面被覆球領域１２６群を現在連結体に設定する。次いで、現在連結体に隣接するとともに、その内部に面分Ｓが存在する球領域を一つ特定し、新規連結体の起点となる加工面被覆球領域１２６として設定する。次いで、特定した起点とする加工面被覆球領域１２６に隣接する２６の球領域を探索対象に設定し、探索対象に設定した２６の球領域のなかから、その内部に面分Ｓが存在するとともに現在連結体に隣接する加工面被覆球領域１２６を一つ特定する。以後、加工面被覆球領域１２６を一つ特定するたびに、それに隣接する２６の球領域へ探索対象を順次移行していく。それにより、面分Ｓの周縁に沿って一連に連なる加工面被覆球領域１２６が新規連結体として特定されていく。このとき、特定した順序を示すリンク情報が併せて保持される。
探索対象とした２６の隣接球領域に加工面被覆球領域１２６が存在しない場合、その時点の新規連結体を現在連結体に設定し、その時点の現在連結体を退避連結体に設定する。そして、新たな現在連結体を基に、新たな新規連結体の起点となる加工面被覆球領域１２６を探索する。以上の処理が繰り返されることにより、一連に連なる加工面被覆球領域１２６群からなる連結体が複数特定される。そして、例えば加工面モデル１２２が複雑な形状の場合、同時に複数の連結体が退避連結体として蓄積されていく。
【００３８】
新規連結体の起点となる加工面被覆球領域１２６が存在しない場合、退避連結体に設定された連結体のなかで最新のものを現在連結体に設定し、現在連結体を構成する加工面被覆球領域１２６を辿って、加工面被覆球領域１２６の探索を行う。新規連結体の起点となる加工面被覆球領域１２６が特定されれば、それを起点として新たな新規連結体の探索を行う。新規連結体の起点となる加工面被覆球領域１２６が存在しなければ、その時点で最新の退避連結体を現在連結体に設定する。すべての退避連結体について探索が完了した時点で、加工面被覆球領域１２６の特定処理は終了する。
以上により、その内部に面分Ｓが存在する加工面被覆球領域１２６と、その中心格子点１２６ｇに対する加工面モデル１２２上の最寄点が特定され、加工面被覆球領域データ２６に記録される。この段階で、その内部に加工面モデル１２２が存在するすべての加工面被覆球領域１２６と、その中心格子点１２６ｇに対する加工面モデル１２２上の最寄点ｘが特定され、加工面被覆球領域データ２６に記録されている。
【００３９】
続いて、ステップＳ１０では、反転工具被覆球領域特定処理部６２が、図９に示すように、反転工具モデルデータ２４が記述する反転工具モデル１２４がその内部に存在する反転工具被覆球領域１２８を特定する処理を行う。ステップＳ１０の処理は、先に説明したステップＳ８の加工面被覆球領域１２６を特定する処理と同様に行われる。即ち、反転工具被覆球領域１２８を特定する処理は概して３段階に区分され、第１段階では、反転工具被覆球領域特定処理部６２の頂点被覆球近傍特定処理部６４により、反転工具モデル１２４を構成する頂点がその内部に存在する反転工具被覆球領域１２８が特定され、第２段階では、反転工具被覆球領域特定処理部６２の稜線被覆球近傍特定処理部６６により、反転工具モデル１２４を構成する稜線がその内部に存在する反転工具被覆球領域１２８が特定され、第２段階では、反転工具被覆球領域特定処理部６２の面分被覆球近傍特定処理部６８により、反転工具モデル１２４を構成する面分がその内部に存在する反転工具被覆球領域１２８が特定される。それにより、その内部に反転工具モデル１２４が存在するすべての反転工具被覆球領域１２８と、その中心格子点１２８ｇに対する反転工具モデル１２４上の最寄点ｘが特定され、反転工具被覆球領域データ２８に記録される。さらに、反転工具被覆球領域特定処理部６２は、図９に示すように、特定した反転工具被覆球領域１２８群に内接する内接箱領域１２９ａと、特定した反転工具被覆球領域１２８群に外接する内接箱領域１２９ｂを特定し、反転工具被覆球領域データ２８に記録する。
【００４０】
ステップＳ１２では、工具参照面被覆球領域特定処理部７０が、先に説明した工具参照面被覆球領域を特定する処理を行う。工具参照面被覆球領域は、加工面モデル１２２から工具形状分だけオフセットした工具参照面がその内部に存在する球領域である。
先ず、工具参照面被覆球領域特定処理部７０は、図１０に示すように、加工面モデル１２２が配置されたｘｙｚ空間に、加工面モデル１２２から離間した基準平面２０２を設定する。次いで、工具参照面被覆球領域特定処理部７０は、基準平面２０２上に、基準環状線２０４を設定する。基準環状線２０４の形状は特に限定されない。次いで、基準環状線２０４がその内部に存在するすべての球領域２０６とその中心格子点２０６ｇを特定する。次いで、図１１に示すように、工具参照面被覆球領域特定処理部７０は、基準平面２０２上に特定した中心格子点２０６ｇ毎に、その中心格子点２０６ｇを通過してｚ軸に平行な探索軸２０８を設定する。そして、探索軸２０８がその内部に存在する球領域を探索対象に定め、探索対象に定めた球領域のなかから工具参照面被覆球領域１３２を特定する。探索軸２０８がその内部に存在する球領域は、例えば３ＤＤＤＡ（3-D Digital Differential Analyzer)によって逐次特定していくことができる。
【００４１】
工具参照面被覆球領域１３２は、その中心格子点に工具基準点を合わせて反転工具被覆球領域１２８群を反転配置したときに、反転配置した反転工具被覆球領域１２８群が加工面被覆球領域１２６群に外接することになる球領域である。このような球領域を特定するために、工具参照面被覆球領域１３２は、反転工具被覆球領域データ２８に記録されている内接箱領域１２９ａと内接箱領域１２９ｂを反転配置して利用する。図１２に示すように、探索対象の球領域の中心格子点に合わせて内接箱領域１２９ａ及び外接箱領域１２９ｂを反転配置したときに、少なくとも一つの加工面被覆球領域１２６の中心格子点１２６ｇが内接箱領域１２９ａ内に位置すれば、探索対象とした球領域は加工面被覆球領域１２６群に対して近接しすぎており、工具参照面被覆球領域１３２ではないと判定することができる。また、図１４に示すように、すべての加工面被覆球領域１２６の中心格子点１２６ｇが反転配置した外接箱領域１２９ｂの外部に位置すれば、探索対象とした球領域は加工面被覆球領域１２６群に対して離間しすぎており、工具参照面被覆球領域１３２ではない判定することができる。一方、図１３に示すように、すべての加工面被覆球領域１２６の中心格子点１２６ｇが反転配置した内接箱領域１２９ａの外部に位置し、少なくとも一つの加工面被覆球領域１２６の中心格子点１２６ｇが反転配置した外接箱領域１２９ｂの内部に位置すれば、探索対象とした球領域は工具参照面被覆球領域１３２であると判定することができる。このとき、反転配置した外接箱領域１２９ｂの内部に位置する中心格子点１２６ｇは、工具参照面被覆球領域１３２群と反転配置した反転工具被覆球領域１２８群の外接位置を示す外接点被覆球領域として特定される。外接点被覆球領域とされる工具参照面被覆球領域１３２は、通常、一つの工具参照面被覆球領域１３２に対して複数特定される。
【００４２】
工具参照面被覆球領域１３２を特定した後、続くステップＳ１４では、オフセット点特定処理部７２により、特定した工具参照面被覆球領域１３２毎に、オフセット点を特定する処理が行われる。図１５に示すように、オフセット点特定処理部７２は、先ず、工具参照面被覆球領域１３２とともに特定された外接点被覆球領域１２６毎に、オフセット候補点１３０ｘを特定する。オフセット候補点１３０ｘは、以下の手順によって求められる。最初に、外接点被覆球領域１２６の中心格子点１２６ｇに対する加工面モデル１２２上の最寄点ｘを、加工面被覆球領域データ２６から読み出す。次いで、外接点被覆球領域１２６の中心格子点１２６ｇから工具参照面被覆球領域１３２の中心格子点１３２ｇへの相対位置座標（図中ｈ）を計算する。次いで、反転工具被覆球領域データ２８から、中心格子点１２８ｇの座標が計算した相対位置座標ｈと等しい反転工具被覆球領域１２８の最寄点ｘを読み出す。次いで、読み出した加工面モデル１２２上の最寄点ｘを、読み出した反転工具モデル１２４上の最寄点ｘの位置座標分だけ平行移動させ、その点をオフセット候補点１３０ｘとする。オフセット候補点１３０ｘは、反転工具モデル１２４を外接点被覆球領域１２６の中心格子点１２６ｇに合わせて配置したときに、工具参照面被覆球領域１３２の中心格子点１３２ｇに最近接する反転工具モデル１２４上の最寄点ｘである。一又は複数のオフセット候補点１３０ｘを算出した後、オフセット点特定処理部７２は、工具参照面被覆球領域１３２の中心格子点１３２ｇに対して最寄りに位置するものをオフセット点とし、工具参照面被覆球領域１３２とともに工具参照面モデルデータ３０に記録する。特定されたオフセット点は、工具参照面モデルを構成する点となる。
【００４３】
ステップＳ１２とステップＳ１４の処理は繰り返し実行され、工具参照面被覆球領域１３２とそのオフセット点が逐次特定されていく。工具参照面被覆球領域１３２の探索は、既に特定された工具参照面被覆球領域１３２を基に、以下に説明する手順で行われる。先ず、図１１に示す段階では、複数の工具参照面被覆球領域１３２が、工具参照面モデル１３０上で互いに間隔を持ちながら周回するように特定される。従って、続く処理では、互いに離間する工具参照面被覆球領域１３２同士の間に存在する工具参照面被覆球領域１３２を特定する。そのために、探索軸を二分補完法によって定め、探索軸に沿って工具参照面被覆球領域１３２を探索する。二分補完法は、既に特定された二つの工具参照面被覆球領域１３２の中心格子点とそのオフセット点を用い、各オフセット点における工具参照面モデルの法線ベクトル（中心格子点とそのオフセット点を通過するベクトル）の平均ベクトルと、二つのオフセット点の中間点を計算し、計算した中間点を通過して計算した平均ベクトルに平行な軸を、探索軸として設定するものである。離間し合う二つの工具参照面被覆球領域１３２毎に二分補完法によって探索軸を定めて工具参照面被覆球領域１３２を特定していくことにより、工具参照面モデル１３０上を互いに隣接して周回する工具参照面被覆球領域１３２群を特定することができる。
【００４４】
ここで、工具参照面モデル１３０上を互いに隣接して周回する工具参照面被覆球領域１３２群を特定する処理は、以下に説明する手順で行うこともできる。先ず、図１６に示すように、加工面モデル１２２を通過する基準平面３０２を設定し、その内部に基準平面３０２が存在する加工面被覆球領域１２６群を、加工面被覆球領域データ２６から読み出す。次いで、図１７に示すように、読み出した加工面被覆球領域１２６毎に、その最寄点ｘを通過する加工面モデル１２２の法線ｎを探索軸として定め、工具参照面被覆球領域１３２を探索する。以上によって特定される工具参照面被覆球領域１３２群は、工具参照面モデル１３０上で間隔を持って周回する。従って、図１８に示すように、互いに離間する工具参照面被覆球領域１３２同士の間について、二分補完法による探索軸の設定を行い、工具参照面被覆球領域１３２を特定していく。それにより、工具参照面モデル１３０上を互いに隣接して周回する工具参照面被覆球領域１３２群を特定することができる。
【００４５】
周回する工具参照面被覆球領域１３２群を特定した後、残余の工具参照面被覆球領域１３２を特定する処理が行われる。この処理では、現在連結体と新規連結体と退避連結体の設定が適宜行われる。先ず、上記した周回する工具参照面被覆球領域１３２群は、現在連結体に設定される。そして、現在連結体に隣接する球領域を探索対象として工具参照面被覆球領域１３２を一つ特定する。
次いで、特定した工具参照面被覆球領域１３２を新規連結体の起点とし、それに隣接する２６の球領域を探索対象として、現在連結体に隣接する一つの工具参照面被覆球領域１３２を特定する。工具参照面被覆球領域１３２を特定する度に、それに隣接する２６の球領域へ探索対象を順次移行していく。それにより、図１９に示すように、一連に連なる工具参照面被覆球領域１３２群が新規連結体として特定されていく。このとき、特定した順序を示すリンク情報が併せて保持される。探索対象とした２６の隣接球領域に工具参照面被覆球領域１３２が存在しない場合、その時点の新規連結体を現在連結体に設定し、その時点の現在連結体を退避連結体に設定する。そして、新たな現在連結体を基に、新たな新規連結体の起点となる工具参照面被覆球領域１３２を探索する。以上の処理が繰り返されることにより、一連に連なる工具参照面被覆球領域１３２群からなる連結体が複数特定される。そして、例えば工具参照面モデル１３０が複雑な形状の場合（即ち、加工面モデル１２２が複雑な形状の場合）、複数の連結体が退避連結体として蓄積されていく。
【００４６】
新規連結体の起点となる工具参照面被覆球領域１３２が存在しない場合、退避連結体に設定された連結体のなかで最新のものを現在連結体に設定し、現在連結体を構成する工具参照面被覆球領域１３２を辿って、工具参照面被覆球領域１３２の探索を行う。新規連結体の起点となる工具参照面被覆球領域１３２が特定されれば、それを起点として新たな新規連結体の探索が行われる。新規連結体の起点となる工具参照面被覆球領域１３２が存在しなければ、その時点で最新の退避連結体が現在連結体へ設定される。すべての退避連結体について探索が完了した時点で、工具参照面被覆球領域１３２の特定処理は終了する。
以上により、すべての工具参照面被覆球領域１３２と、その中心格子点１３２ｇに対する工具参照面モデル１３０上の最寄点が特定され、工具参照面モデルデータ３０に記録される。工具参照面モデルデータ３０は、記録された最寄点群によって工具参照面モデル１３０を記述するデータとなり、ＮＣ加工装置の工具移動経路を作成するために好適に利用することができる。
【００４７】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。
本明細書または図面に説明した技術要素は、単独であるいは各種の組み合わせによって技術的有用性を発揮するものであり、出願時の請求項に記載の組み合わせに限定されるものではない。本明細書又は図面に例示した技術は複数の目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【図面の簡単な説明】
【００４８】
【図１】工具参照面モデルデータの作成装置の構成を示すブロック図。
【図２】工具参照面モデルデータの作成装置の処理フローを示す図。
【図３】加工面モデルの頂点に対して工具面被覆球近傍を特定する状態を示す図。
【図４】加工面モデルの頂点と工具面被覆球近傍の幾何的関係を説明する図。
【図５】加工面モデルの稜線に対して工具面被覆球近傍を特定する状態を示す図。
【図６】加工面モデルの稜線と工具面被覆球近傍の幾何的関係を説明する図。
【図７】加工面モデルの面分に関する工具面被覆球近傍を示す図。
【図８】加工面モデルの面分と工具面被覆球近傍の幾何的関係を説明する図。
【図９】反転工具モデルに対して反転工具被覆球領域群を特定した状態を示す図。
【図１０】加工面モデルの外部に基準平面を定めた状態を示す図。
【図１１】ｚ軸方向に探索軸を設定する処理を説明する図。
【図１２】反転配置した反転工具モデルと加工面モデルが干渉する位置関係を示す図。
【図１３】反転配置した反転工具モデルと加工面モデルが外接する位置関係を示す図。
【図１４】反転配置した反転工具モデルと加工面モデルが離間する位置関係を示す図。
【図１５】オフセット点を特定する処理を説明する図。
【図１６】加工面モデルを通過するように基準平面を定めた状態を示す図。
【図１７】加工面モデルの法線方向に探索軸を設定する処理を説明する図。
【図１８】最初の現在連結体となる工具参照面被覆球領域群を示す図。
【図１９】新規連結体として工具参照面被覆球領域群を特定する処理を説明する図。
【符号の説明】
【００４９】
１０：工具参照面モデルデータの作成装置
２０：データ記憶部
２２：加工面モデルデータ
２４：反転工具モデルデータ
２６：加工面被覆球領域データ
２８：反転工具被覆球領域データ
３０：工具参照面モデルデータ
５０：データ処理部
５２：格子球領域設定処理部
５４：加工面被覆球領域特定処理部
５６：加工面被覆球領域特定処理部の頂点被覆球領域特定処理部
５８：加工面被覆球領域特定処理部の稜線被覆球領域特定処理部
６０：加工面被覆球領域特定処理部の面分被覆球領域特定処理部
６２：反転工具被覆球領域特定処理部
６４：反転工具被覆球領域特定処理部の頂点被覆球領域特定処理部
６６：反転工具被覆球領域特定処理部の稜線被覆球領域特定処理部
６８：反転工具被覆球領域特定処理部の面分被覆球領域特定処理部
７０：工具参照面被覆球領域特定処理部
７２：オフセット点特定処理部
【図１】
0004905285.tif 000002
【図２】
0004905285.tif 000003
【図３】
0004905285.tif 000004
【図４】
0004905285.tif 000005
【図５】
0004905285.tif 000006
【図６】
0004905285.tif 000007
【図７】
0004905285.tif 000008
【図８】
0004905285.tif 000009
【図９】
0004905285.tif 000010
【図１０】
0004905285.tif 000011
【図１１】
0004905285.tif 000012
【図１２】
0004905285.tif 000013
【図１３】
0004905285.tif 000014
【図１４】
0004905285.tif 000015
【図１５】
0004905285.tif 000016
【図１６】
0004905285.tif 000017
【図１７】
0004905285.tif 000018
【図１８】
0004905285.tif 000019
【図１９】
0004905285.tif 000020