JP2005202792A - 工具高さ計算装置とそのための計算方法とプログラム - Google Patents

工具高さ計算装置とそのための計算方法とプログラム Download PDF

Info

Publication number
JP2005202792A
JP2005202792A JP2004009774A JP2004009774A JP2005202792A JP 2005202792 A JP2005202792 A JP 2005202792A JP 2004009774 A JP2004009774 A JP 2004009774A JP 2004009774 A JP2004009774 A JP 2004009774A JP 2005202792 A JP2005202792 A JP 2005202792A
Authority
JP
Japan
Prior art keywords
tool
map
coordinate
contact
machining
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2004009774A
Other languages
English (en)
Inventor
Shinichi Murahata
晋一 村端
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toyota Motor Corp
Original Assignee
Toyota Motor Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP2004009774A priority Critical patent/JP2005202792A/ja
Publication of JP2005202792A publication Critical patent/JP2005202792A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Numerical Control (AREA)

Abstract

【課題】 加工面にワークを加工する工具のz座標を計算する際に、最大解であることが保証されており、しかも厳密解を計算する技術を提供する。
【解決手段】 複数の面記述式で記述されるxyz空間内で広がる加工面にワークを加工する工具のz座標を計算する装置であり、加工面を微小要素群の集合で近似した数学モデルを記憶している手段と、xy座標を通ってz軸方向に伸びる軸に沿って工具を加工面に接近させたときに、工具に最初に接触する微小要素と、その時の工具のz座標を特定して記憶する手段と、特定された微小要素が属する面を記述している面記述式を特定する手段と、特定された工具のz座標を初期値にして、工具形状を記述する式と特定された面記述式を用いて、工具と面が接触するz座標の厳密解を数値計算する手段を備えている。
【選択図】 図6

Description

本発明は、3軸制御のNC加工技術(数値制御加工技術)に関し、特に工具高さを正確に計算する技術に関する。
NC工作機械は、工具とワークを予め教示された移動経路に沿って相対移動させることによって、ワークを加工面に加工する。3軸制御のNC工作機械では、工具を回転軸に沿ってワークに向けて移動させることでワークを加工する。本明細書と特許請求の範囲では、工具の回転軸ないしは工具の移動方向をz軸という。そのz軸に対して直交座標系を構成する軸をx軸とy軸という。3軸制御のNC工作機械では、xy座標毎に、工具の接近限界を定めるz座標を正確に計算する必要がある。大きなz座標を用いれば加工面が所望のものよりも外側に大きくなり、小さなz座標を用いれば加工面よりも小さく加工されてしまう。
工具位置を座標で特定できるようにするために、工具には基準点が定められている。基準点の座標を指定することによって工具位置が特定される。図1に工具の基準点の一般的な例を示す。図1(a)はボールエンドミル100の場合を示し、図1(b)はフラットエンドミル102の場合を示し、図1(c)はラジアスエンドミル104の場合を示している。図1(a)のボールエンドミル100の場合には、球面状の刃先面100aの中心点を基準点Tとする。図1(b)のフラットエンドミル102の場合には、平面状の刃先面102aの中心点を基準点Tとする。図1(c)のラジアスエンドミル104の場合には、工具の刃先面104aの平面部104bの中心点104dから、円弧状の刃先面104cの半径分だけ上方の点を基準点Tとする。なお、図1(c)の点Pは、円弧状の刃先面104cの中心点を示す。
工具の基準点の座標によって工具位置を定める場合、加工面に加工するためには、工具の基準点Tの座標を加工面からオフセットする必要がある。図2に示すように、例えば工具がボールエンドミル100の場合、加工面Dから刃先面100aの半径d分だけオフセットさせたオフセット面M内に基準点Tが位置すると、加工面Dに加工できる。フラットエンドミル102やラジアスエンドミル104の場合も同様に、刃先面の形状に応じて加工面Dからオフセットさせたオフセット面M内に、工具の基準点Tが位置しなければならない。
図2に示すように、オフセット面Mは、工具回転軸の位置を示すxy座標(xi,yi)に対応付けて、工具基準点Tのz座標(zi)を記憶している2次元マップ110で記述することができる。以下、この2次元マップ110をZマップとよぶ。
Zマップ110を生成するためには、工具回転軸の位置を示すxy座標毎に、加工面Dに工具の刃先面が接するときの工具基準点Tのz座標を求める演算が必要となる。
加工面Dが式で記述されていれば、工具の刃先形状を記述する式と組合せて用い、両者が接触する工具基準点Tのz座標を解くことができる。
しかしながら、両者が接触する工具基準点Tのz座標を解くと、しばしば複数のz座標が計算される。例えば図3はその一例を示し、複数の解をもたらす加工面Dが例示されている。この場合、3つのz座標の解が存在する。過切削を防止するためには、最も大きなz座標(この場合はz1)を選択する必要がある。切削不足については仕上げ工程で修正できるに対し、過切削してしまうとその後に修正するのが困難となるからである。
この技術で問題なのは、解の個数が未知であり、計算された解のうちで最も大きなz座標が最大の解であることを保証できないことである。数値計算をつづけると、さらに大きな解が計算されることがある。例えば図3の場合、高さz2とz3の解が先に計算され、まだ高さz1の解が計算されない段階で最大解を求めてしまうと、高さz2が選択されてしまい、図3のハッチング部Hが過切削されてしまう。
加工面Dを記述する式と工具の刃先形状を記述する式から、両者が接触するときの工具基準点Tのz座標を解く技術では、最大解を求めることが保証できず、過切削の可能性が残ってしまう。
最大解が確実に計算されるようにするために、加工面Dを点群、線群あるいは多面体群で近似することが一般的である。それによって、Zマップを生成する演算は簡単化され、最大解であることが保証できるようになる。図4は、加工面Dを点E1〜点E7群に離散近似した例を示している。例えば、ボールエンドミル100の刃先面100aが点E3に接触するときの基準点Tの高さ位置z3は一意に求まる。同様に、刃先面100aが点E4に接触するときの基準点Tの高さ位置z4、刃先面100aが点E5に接触するときの基準点Tの高さ位置z5も一意に求められる。また、刃先面100aと点E1について解くと、「解なし」という結果が得られる。この場合、回転軸が位置(x1,y1)にある刃先面100aは、点E1に接触しないことを知ることができる。同様に、刃先面100aと点E2、刃先面100aと点E6、刃先面100aと点E7について解くと、「解なし」という結果が得られる。このように、加工面Dを単純な形状の微小要素群(点E群)に離散近似することにより、加工面Dと刃先面100aが接するときの工具高さ位置を求める探索的な演算は、微小要素と刃先面100aの演算に置き換えられ、一意に解を求めることができる。すべての点E群について、刃先面100aが接触するときの基準点Tの高さ位置zを逐次計算することができ、算出したすべての中から最高位置を選択すれば、真の最高位置であることが保証される。
上記では、加工面Dを点群で離散近似した例を示したが、加工面Dを直線群で離散近似しても最高位置であることが保証された解を計算することができ、平面群で離散近似しても最高位置であることが保証された解を計算することができる。離散近似する場合には、点と点の距離、直線距離、平面の辺長を微小に採る必要がある。本明細書と特許請求の範囲では、加工面Dを点群、線群あるいは多面体群で離散近似したものを、微小要素群の集合で近似した数学モデルという。
加工面Dを微小要素群の集合で離散近似し、その数学モデルからオフセット面(Zマップ)を計算する技術が盛んに研究されている。特許文献1には、逆オフセット法と3次元グラフィクス表示技術を利用する方法が開示されている。逆オフセット法は、工具の刃先面が数学モデルに接触する高さを求めることにかえて、工具形状の上下を反転した仮想反転工具の基準点が数学モデル上に位置するように配置する。そして、配置された仮想反転工具形状群から最高位値を選択することにより、刃先面が数学モデルに接する最高位置を求める手法である。特許文献1の技術では、数学モデル上に配置された仮想反転工具形状群から最高位値を選択する工程を、3次元グラフィクス表示技術の陰面処理により行う技術を提案している。
特開2003−256012号公報
前記したように、加工面Dを記述する式と工具の刃先形状を記述する式から両者が接触するときの工具基準点Tのz座標を解くと、最大解を求めることが保証できず、過切削の危険性が残ってしまう。そこで、微小要素群の集合で離散近似した数学モデルを利用する技術が採用されており、この技術を用いれば、最大解であることが保証できないという問題を解決することができる。しかしながら、離散近似した数学モデルは、あくまで近似であり、真の加工面からは誤差が生じてしまう。微小要素群の集合で離散近似した数学モデルから計算した工具基準点Tのz座標はあくまで近似的なものであり、厳密なものではない。
本発明では上記の問題を解決する。本発明では、最大解であることが保証されており、しかも厳密解(近似処理しないで解いた解)を計算する技術を提供する。
本発明は、複数の面記述式で記述されるxyz空間内で広がる加工面にワークを加工する工具のz座標を計算する装置に具現化することができる。その装置は、加工面を微小要素群の集合で近似した数学モデルを記憶している手段と、xy座標を通ってz軸方向に伸びる軸に沿って工具を加工面に接近させたときに、工具に最初に接触する微小要素と、その時の工具のz座標を特定して記憶する手段と、特定された微小要素が属する面を記述している面記述式を特定する手段と、特定された工具のz座標を初期値にして、工具形状を記述する式と特定された面記述式を用いて、工具と面が接触するz座標の厳密解を数値計算する手段を備えている。
本装置では、加工面を微小要素群の集合で近似した数学モデルを記憶している手段と、xy座標を通ってz軸方向に伸びる軸に沿って工具を加工面に接近させたときに、工具が最初に微小要素に接触する時の工具のz座標を特定して記憶する手段を備えていることから、離散近似した数学モデルを利用して最大解を求める従来の技術を実行することができる。
本装置では、それで終わらずに、さらに処理を進めて厳密解を計算する。そのために、本装置では、工具に最初に接触する微小要素を特定し、特定された微小要素が属する面を記述している面記述式を特定する。
加工面は多くの場合に、CAD装置を利用して定義される。CADでは、加工面を、例えば、平面、円柱面、球面、自由曲面等の各種の面の組合せで定義する。各面は、面を記述する式で定義されている。
工具に最初に接触する微小要素が特定されれば、その微小要素が属する面を記述している面記述式を特定することができる。面記述式が特定されれば、その面と工具の刃先面が接触する工具高さの解を解析計算することができる。解析計算では計算の初期値を指定する必要がある。初期値の一つに対して得られる解は一つであり、最大解が得られるとは限らない。そこで、本装置では、離散近似した数学モデルを利用して計算した最大解を初期値にして数値計算を進める。離散近似した数学モデルを利用して計算した最大解は、幾何的には近似であって厳密解ではないが、近傍にある厳密解の位相を表しているとみなせる。この近傍位相のみなしにより厳密最大解に近似する近似最大解を初期値にして、加工面記述式と工具刃先面記述式を利用して両者が接触する工具高さを数値解法していくと、厳密最大解に到達することができる。
この装置によれば、最大解であることが保証されている厳密解(近似処理しないで解いた解)を計算することができ、3軸NC加工装置の加工精度を向上させることができる。
上記の装置において、微小要素毎に、その微小要素が属する面を記述している面記述式を対応づけて記憶しているマップを生成する手段が付加されていると好ましい。
工具に最初に接触する微小要素が特定されれば、特定された微小要素が属する面を記述している面記述式を、そのマップを参照して特定することができる。
また上記の装置において、xy座標毎に、工具に最初に接触する微小要素と、その微小要素が属する面を記述している面記述式と、その時の工具のz座標を対応づけて記憶しているマップを生成する手段が付加されていると好ましい。
そのマップが記述しているz座標を初期値にして、そのマップが記述している面記述式と工具刃先面記述式を利用して両者が接触する工具高さを数値解法していくと、工具の回転軸の位置を示すxy座標毎に、工具と面が接触するz座標の厳密最大解を計算することができる。
各微小要素と各面記述式が、それぞれに固有の識別子で特定されることが好ましい。それにより、各微小要素や各面記述式を識別子で管理することができ、例えば、各微小要素と、その微小要素が属する面を記述している面記述式を、識別子で対応づけて管理することができる。
本発明はまた、複数の面記述式で記述されるxyz空間内で広がる加工面にワークを加工する工具のz座標を計算する新たな方法を提供する。この方法では、前記加工面を微小要素群の集合で近似した数学モデルを生成する工程と、xy座標を通ってz軸方向に伸びる軸に沿って工具を加工面に接近させたときに、工具に最初に接触する微小要素と、その時の工具のz座標を特定する工程と、特定された微小要素が属する面を記述している面記述式を特定する工程と、特定された工具のz座標を初期値にして、工具形状を記述する式と特定された面記述式を用いて、工具と面が接触するz座標の厳密解を数値計算する工程を備えている。
この方法では、加工面を微小要素群の集合で近似した数学モデルを生成する工程と、xy座標を通ってz軸方向に伸びる軸に沿って工具を加工面に接近させたときに、工具が最初に微小要素に接触する時の工具のz座標を特定する工程を備えていることから、離散近似した数学モデルを利用して最大解を求める従来の技術を実行することができる。
本発明の方法では、それで終わらずに、さらに処理を進めて厳密解を計算する。そのために、本発明の方法では、工具に最初に接触する微小要素を特定し、特定された微小要素が属する面を記述している面記述式を特定する。
工具に最初に接触する微小要素が特定されれば、その微小要素が属する面を記述している面記述式を特定することができる。面記述式が特定されれば、その面と工具の刃先面が接触する工具高さの解を計算することができる。解析計算では計算の初期値を指定する必要がある。初期値の一つに対して得られる解は一つであり、最大解が得られるとは限らない。そこで、この方法では、離散近似した数学モデルを利用して計算した最大解を初期値にして数値計算を進める。離散近似した数学モデルを利用して計算した最大解は、幾何的には近似であって厳密解ではないが、近傍にある厳密解の位相を表しているとみなせる。この近傍位相のみなしにより、厳密最大解に近似する近似最大解を初期値にして、加工面記述式と工具刃先面記述式を利用して両者が接触する工具高さを数値解法していくと、厳密最大解に到達することができる。
この方法によれば、最大解であることが保証されている厳密解(近似処理しないで解いた解)を計算することができ、3軸NC加工装置の加工精度を向上させることができる。
本発明によって創作された技術は、複数の面記述式で記述されるxyz空間内で広がる加工面にワークを加工する工具のz座標を計算するプログラムにも具現化される。このプログラムは電子計算機に、前記加工面を微小要素群の集合で近似した数学モデルを生成する処理と、xy座標を通ってz軸方向に伸びる軸に沿って工具を加工面に接近させたときに、工具に最初に接触する微小要素と、その時の工具のz座標を特定する処理と、特定された微小要素が属する面を記述している面記述式を特定する処理と、特定された工具のz座標を初期値にして、工具形状を記述する式と特定された面記述式を用いて、工具と面が接触するz座標の厳密解を数値計算する処理を実施させる。
このプログラムによれば、電子計算機に、最大解であることが保証されている厳密解(近似処理しないで解いた解)を計算させることができ、3軸NC加工装置の加工精度を向上させることができる。
本発明によると、複数の面記述式で記述されるxyz空間内で広がる加工面にワークを加工する工具のz座標を計算する際に、最大解であることが保証されており、しかも厳密解(近似処理しないで解いた解)を計算することができる。
以下、本発明を具現化した実施例について図面を参照して説明する。最初に実施例の主要な特徴を列記する。
(形態1): 加工面の形状を記述するデータは、外部の3次元CAD装置で生成することができる。
(形態2): コンピュータ装置10で生成される工具の経路は、工具の回転軸の位置(x,y)に対応付けて工具の高さ位置zが記述された2次元マップで記述される。
(形態3): コンピュータ装置10は、ボールエンドミルやフラットエンドミルやラジアスエンドミルの経路を生成することができる。
本実施例では、3軸制御のNC工作機械に教示する工具経路情報を、本発明を利用して生成する手法について説明する。3軸制御のNC工作機械では、工具の回転軸方向をz軸方向とする、ワーク(NC工作機械のテーブル)に固定されたxyz直交座標系が定められている。工具の回転軸の位置は座標(x,y)で表され、工具の高さ位置がz座標で表される。即ち、工具の経路は、工具の回転軸の位置(x,y)に対応付けて工具の高さ位置zを記述する2次元マップで記述される。以下、この2次元マップをZマップという。本実施例では、加工面に対して精度の高い加工面が得られるZマップを生成する手法を説明する。
図5に、本実施例で利用するコンピュータ装置10の構成を示す。コンピュータ装置10は、コンピュータ本体12、マウス24、キーボード26、ディスプレイ30、記録装置32等を備えている。
コンピュータ本体12は、CPU14、RAM16、ROM18、ハードディスクドライブ装置20、入出力インターフェース22等を備えている。CPU14やRAM16やROM18やハードディスクドライブ装置20は、入出力インターフェース22に接続されており、互いにデータ等を授受可能である。
マウス24とキーボード26は、コンピュータ装置10にデータやコマンドを入力するための入力装置である。ディスプレイ30は、コンピュータ装置10が利用者に教示する情報を表示する。
マウス24、キーボード26、ディスプレイ30は、コンピュータ本体12の入出力インターフェース22に接続されている。
外部記録装置32は、記録媒体34に対して情報の読み書きを行う。外部記録装置32は記録媒体34に記述されている情報を読み取り、その情報をコンピュータ本体12へ教示する。また、外部記録装置32は、コンピュータ本体12から教示された情報を、記録媒体34に書き込む。外部記録装置32は、入出力インターフェース22にデータ等を授受可能に接続されている。
記録媒体34としては、例えばCD−R、MO、DVD等の記録ディスク等を利用することでき、それらに対応して外部記録装置32には、CD−Rドライブ装置、MOドライブ装置、DVDドライブ装置等を用いることができる。
コンピュータ装置10は、本実施例の処理を実行するためのプログラムを、ハードディスクドライブ装置20に記憶している。このプログラムは、記録媒体34に記述することもできる。このプログラムが記述された記録媒体34を利用すれば、一般的に利用されているコンピュータ装置を用いて、本実施例の処理を行うことができる。
図6は、コンピュータ装置10の機能的な構成を示している。コンピュータ装置10は、機能的に記憶部40と設定部42と処理部44に分類される。記憶部40や設定部42や処理部44は、コンピュータ装置10のハードウェアやソフトウェア等によって構成される。
記憶部40は、コンピュータ装置10が処理に用いるデータ等を記憶する。コンピュータ装置10は、外部から教示されるデータや自己が生成したデータを、記憶部40に記憶する。記憶部40は、加工面データ52、数学モデルデータ54、識別子対応データ56、近似Zマップ(第1マップ)58、微小要素マップ(第2マップ)60、修正Zマップ(第3マップ)62等を記憶する。
加工面データ52は、ワークに要求される加工面(加工面)の形状を記述している。加工面データ52は、外部の3次元CAD(Computer Aided Design)装置によって生成された3次元CADデータである。
図7は加工面データ52が記述する加工面Dの一例を示している。図7に示すように、加工面データ52では、ワークW上の加工面Dを記述している。加工面Dは、複数の基本形状が組合わされて記述されている。基本形状とは、例えば面Sや稜線Cや頂点Vである。面Sには、例えば平面、円柱面、球面、自由曲面等が用いられる。それぞれの基本形状は、個々に設定されたパラメータを用いた表現式で記述される。例えば面Sは、面上にパラメータ(u,v)が定められており、曲面表現式S(u,v)で記述されている。また、稜線Cはパラメータtによって曲線表現式C(t)で記述されている。
すべての基本形状には、それぞれを識別することが可能な識別子IDが割り当てられている。
数学モデルデータ54、識別子対応データ56、近似Zマップ(第1マップ)58、微小要素マップ(第2マップ)60、修正Zマップ(第3マップ)62は、コンピュータ装置10の処理によって生成される。
設定部42は、マウス24やキーボード26を含んで構成されており、利用者がコンピュータ装置10へ指示を与えることを可能とする。設定部42は、利用者の指示に基づいて、工具の経路を生成する条件を設定する。設定部42が設定した条件は、設定部42は処理部44に教示される。設定部42は、近似条件設定部82と、工具設定部84を有している。
処理部44は、記憶部40が記憶しているデータや、設定部42が教示する条件に基づいて、工具経路情報を生成する処理を行う。処理部44は、数学モデル生成部72と、近似Zマップ生成部74と、微小要素マップ生成部76と、接点仮定部78と、Zマップ修正部80を有している。
図8は、コンピュータ装置10の動作を示すフローチャートである。以下、コンピュータ装置10の処理を、図8のフローチャートが示す流れに沿って説明する。
図8のステップS1では、コンピュータ装置10が加工面データ52を入手して、記憶部40に記憶する。このステップS1では、例えば利用者が記録媒体34を用いて、加工面データ52をコンピュータ装置10に教示することができる。コンピュータ装置10は、記録媒体34から加工面データ52を読み取り、記憶部40に記憶する。なお、ここでは加工面データ52が図7に示した加工面Dを記述しているものとして、以下に説明を続ける。
ステップS3では、近似条件設定部82が近似条件を設定する。近似条件設定部82は、利用者の指示に基づいて、加工面データ52が記述する加工面Dを、微小要素によって離散近似するための条件を設定する。例えば利用者は、加工面Dを点群によって離散近似(0次近似)するのか、あるいは加工面Dを微小面群によって離散近似(1次近似)するのかを指示することができる。近似条件設定部82は、設定した近似条件を、処理部44に教示する。なお、ここでは利用者が点群による0次近似を指示したものとし、以下に説明を続ける。
ステップS5では、工具設定部84が工具を設定する。工具設定部84は、利用者の指示に基づいて、工具経路の生成に用いる工具を設定する。このとき利用者は、例えば、図1に示したボールエンドミル100を選択し、その刃先面100aの半径dを教示することができる。あるいは、フラットエンドミル102やラジアスエンドミル104を選択し、それらの半径等を指示することもできる。工具設定部84は、設定した工具を処理部44に教示する。なお、ここでは利用者がボールエンドミル100を指示したものとし、以下に説明を続ける。
図8のステップ7では、数学モデル生成部72による処理が行われる。
数学モデル生成部72の処理動作を説明する。数学モデル生成部72は、記憶部40に記憶されている加工面データ52を読み取る。図7に示したように、加工面データ52では、複数の基本形状群によって加工面Dが形成されている。また、加工面データ52では、各基本形状に識別子IDが割り当てられている。
次に、数学モデル生成部72は、ステップS3で教示された近似条件に基づいて、加工面Dを微小要素群に離散近似する。ここではステップS3において、近似条件が点E群による0次近似に設定されているので、加工面Dは点群によって離散近似(0次近似)される。図9は、加工面Dを点E群によって0次近似した数学モデルDaを示す。このとき、微小要素の点E群には、それぞれを識別可能な識別子idが割り当てられる。数学モデル生成部72は、生成した数学モデルを記述する数学モデルデータ54を生成する。数学モデルデータ54には、微小要素の識別子idが併せて記述される。生成された数学モデルデータ54は、記憶部40に記憶される。
曲面形状等を点群あるいは面群によって離散近似する技術は、たとえばコンピュータグラフィクス技術の分野において多くの手法が提案されている。数学モデルデータ54の生成にそれらの技術を利用することができる。
数学モデル生成部72は、上記の数学モデルデータ54を生成する際に、識別子対応データ56を生成する。識別子対応データ56は、数学モデルDaを構成する点E(微小要素)群の識別子idに対応付けて、加工面Dを構成する基本形状の識別子IDが記述されている。数学モデル生成部72が生成した数学モデルDaを構成する点E群のそれぞれは、加工面Dを構成する基本形状(面S、稜線C、頂点V)群のいずれかを近似している。識別子対応データ56では、点E(微小要素)群の識別子idと、その点E群が近似した基本形状の識別子IDが対応付けて記述される。生成された識別子対応データ56は、記憶部40に記憶される。
図8のステップ9では、近似Zマップ生成部74による処理が行われる。
近似Zマップ生成部74の処理動作を説明する。近似Zマップ生成部74は、記憶部40に記憶されている数学モデルデータ54を読み取る。ここでは、数学モデルデータ54は、図9に示した数学モデルDaを記述している。数学モデルDaを構成している点E(微小要素)群には、識別子が付与されている。
次に、近似Zマップ生成部74は、ステップS5で工具設定部84が設定した工具に基づいて、数学モデルDaに対するZマップを記述する近似Zマップ58を生成する。先に説明したように、Zマップとは、工具の回転軸の位置(x,y)に対応付けて工具の高さ位置zを記述する2次元マップであり、工具の経路を記述する。近似Zマップ58では、数学モデルDaに対する工具の経路が記述される。
近似Zマップ生成部74による近似Zマップ58の生成を説明する。近似Zマップ生成部74は、最初にボールエンドミル100の回転軸の位置(x,y)を設定する。例えばボールエンドミル100の回転軸が位置(x1,y1)に設定された場合、先に示した図4を用いて説明することができる。図4に示すように、近似Zマップ生成部74は、位置(x1,y1)に回転軸が固定されたボールエンドミル100を仮定する。
近似Zマップ生成部74は、仮定したボールエンドミル100の刃先面100aが、点E群に接触するときの基準点Tの高さ位置zを、数学モデルDaを構成するすべての点Eについて逐次算出する。例えば図4に示す場合では、刃先面100aが点E1〜点E7のそれぞれと接触するときの基準点Tの高さ位置を逐次算出する。例えば、刃先面100aと点E3が接触するときの基準点Tの高さ位置を演算すると、高さ位置z3が一意に求まる。同様に、刃先面100aが点E4に接触するときの基準点Tの高さ位置z4、刃先面100aが点E5に接触するときの基準点Tの高さ位置z5も一意に求めることができる。また、刃先面100aと点E1について解くと、「解なし」という結果が得られる。この場合、回転軸が位置(x1,y1)にある刃先面100aは、点E1に接触しないことを知ることができる。同様に、刃先面100aと点E2、刃先面100aと点E6、刃先面100aと点E7について解くと、「解なし」という結果が得られる。図4には、数学モデルDaを構成する一部の点E群が図示されており、実際には図4に図示されない他の点E群についても同様に逐次計算される。それにより、回転軸が位置(x1,y1)にある刃先面100aが、数学モデルDaを構成する点E群のいずれかに接触するときの高さ位置が、すべて確実に求められる。
近似Zマップ生成部74は、上記の逐次計算で得たすべての高さ位置zのうちから、最高位置のものを選択する。例えば、図4に示す場合では、高さ位置z3を選択する。この基準点Tの高さ位置z3は、ボールエンドミル100の回転軸が位置(x1,y1)に位置するときに、刃先面100aが数学モデルDaに接触する最高位置を示す。このようにして、近似Zマップ生成部74は、工具の回転軸の位置(x1,y1)に対応付けて、近似Zマップ58に記述する高さ位置z3を決定する。
近似Zマップ生成部74は、上述した工具の回転軸の位置(x1,y1)に対応付けて、基準点Tの高さの最高位置z3を決定すると、その最高位置z3を導出した点E3の識別子idを認識する。その認識した点E3の識別子idは、回転軸の位置(x1,y1)と共に、微小要素マップ生成部76に教示される。
近似Zマップ生成部74は、工具の回転軸の位置(x,y)を所定のピッチだけ変位させ、再び上記と同様の処理を行う。この処理を繰り返し、図10に示すように、格子状に配置された工具軸の位置(x,y)に対応付けて、基準点Tの高さ位置zが記述された近似Zマップ(第1マップ)58を生成する。近似Zマップ(第1マップ)58では、数学モデルDaに、ボールエンドミル100の刃先面100aが接触する基準点の高さの最高位置が、工具の回転軸の位置に対応付けて記述されている。生成された近似Zマップ58は、記憶部40に記憶される。
図8のステップS11では、微小要素マップ生成部76の処理が行われる。
微小要素マップ生成部76の処理動作を説明する。ステップS9において、微小要素マップ生成部76には、近似Zマップ生成部74から、工具の回転軸の位置(x,y)と点E(微小要素)群のidからなる対のデータが教示される。微小要素マップ生成部76は、教示された回転軸の位置(x,y)と点E(微小要素)群の識別子idからなる対のデータに基づいて、微小要素マップ(第2マップ)60を生成する。図10に示すように、微小要素マップ(第2マップ)60では、工具の回転軸の位置(x,y)に対応付けて点E(微小要素)群の識別子idを記述している。微小要素マップ(第2マップ)60に記述された識別子idは、ボールエンドミル100が近似Zマップ(第1マップ)58に記述された高さに位置するときに、その刃先面100aが接触する点E(微小要素)群の識別子idである。生成された微小要素マップ60は、記憶部40に記憶される。
上述のステップS9で生成された近似Zマップ58を、3軸制御のNC工作機械に教示すれば、加工面Dが点E群で離散近似された数学モデルDaを加工することができる。従来では、3軸制御のNC工作機械によって加工面Dを加工する場合、工具の経路を記述する情報として、この数学モデルに基づいて生成した近似Zマップ58が利用されてきた。
図11を参照して、近似Zマップ58を用いた場合の加工状態を説明する。図11は、ボールエンドミル100の回転軸が位置(x1,y1)に位置している場合を示す。ボールエンドミル100の基準点Tが、近似Zマップ58に記述された高さ位置z3に位置するとき、その刃先面100aは数学モデルDaの微小要素の点E3に接触するが、加工面Dと正しく接していない。刃先面100aが加工面Dに正しく接するとは、刃先面100aが加工面Dに接しており、かつ、その接点のみで接触していることを意味する。図11に示す場合では、刃先面100aが加工面Dと交わっており、加工面Dよりもハッチング部Hの分だけ過剰に切削してしまう。
このように、離散近似した数学モデルは、あくまで近似であり、真の加工面からは誤差が生じてしまう。微小要素群の集合で離散近似した数学モデルから計算した工具基準点Tのz座標はあくまで近似的なものであり、刃先面が加工面に正しく接する厳密なものではない。
この過切削等の誤差を低減するためには、加工面Dをより細かに離散近似することが必要である。しかしながら、加工面Dをいかに細かに離散近似しても、加工面Dと数学モデルの誤差をなくすことはできない。また、微小要素を増加させてしまうと、数学モデルを生成する処理やZマップを生成する処理が増大してしまう。
本実施例では、以下に説明する処理によって、近似Zマップ58が記述する高さ位置zを修正し、刃先面100aが加工面Dに正しく接するときの基準点Tの高さ位置を記述する修正Zマップ62を得る。この修正Zマップ62をNC工作機械に教示すれば、利用する工具形状の限度において、加工面Dを精度よく得ることができる。
図8のステップS13では、接点仮定部78による処理が行われる。図11に示したように、近似Zマップ58が記述する高さ位置では、加工面Dを正しく加工することができない。加工面Dを正しく得ることができるのは、ボールエンドミル100の刃先面100aが加工面Dに正しく接するときである。接点仮定部78は、以下に説明する処理によって、刃先面100aが加工面Dに正しく接するときの接点位置を、精度よく仮定する。
接点仮定部78の処理動作を説明する。ここでは図11を用いて、ボールエンドミル100の回転軸が(x1,y1)に位置する場合を説明する。接点仮定部78は、微小要素マップ60から、設定した位置(x1,y1)に対応する点E群の識別子idを読み取る。微小要素マップ60が記述している識別子idは、ボールエンドミル100が近似Zマップ58に記述された高さに位置するときに、刃先面100aが数学モデルDaと接触する点E群の識別子idである。即ち、ここでは位置(x1,y1)に対応して、点E3の識別子idが読み取られる。
次に接点仮定部78は、その読み取った点Eの識別子idに対応する基本形状群の識別子IDを、識別子対応データ56から読み取る。先に説明したように、識別子対応データ56では、点E(微小要素)群の識別子idと、その点E(微小要素)群が近似した基本形状群の識別子IDが対応付けて記述されている。ボールエンドミル100の回転軸の位置が(x1,y1)の場合、点E3の識別子idに対応して、面Sの識別子IDが読み取られる。面Sは、点E3を含む点E群で近似された基本形状である。
接点仮定部78は、刃先面100aが加工面Dに正しく接するときの接点を、基本形状の面S上に仮定する。仮定する接点の面S上での位置は、第2マップに記述された微小要素の点E3に基づく。ここでは、点E3が面S上に位置していることから、点E3を刃先面100aが加工面Dに正しく接するときの接点S0として仮定することもできる。接点仮定部78は、接点を仮定した基本形状の面Sの表現式S(u,v)を加工面データ52から読み取り、面S上に仮定した接点S0(ここでは点E3)のパラメータ(u0,v0)を得る。
ボールエンドミル100の回転軸の位置を固定した場合、刃先面100aが数学モデルDaに接触する接触点と、刃先面100aが加工面Dと正しく接するときの接点は、近接していると推測できる。例えば図11に示す回転軸の位置が(x1,y1)のボールエンドミル100では、その刃先面100aが数学モデルDaと点E3で接触するので、刃先面100aが加工面Dに接するときの接点は、点E近傍の加工面D上であると推測できる。微小要素の点E3は、基本形状の面Sを近似する点E群の1つであるので、その接点は基本形状の面S上にあると推測できる。刃先面100aが加工面Dに正しく接するときの接点を、微小要素の点E3に基づいて基本形状の面S上に仮定することにより、その接点を正確に仮定することができる。従って、接点仮定部78は、刃先面100aが加工面Dに正しく接するときの接点を、加工面D上に正確に仮定することができる。
接点仮定部78は、刃先面100aが加工面Dに正しく接するときの基準点Tの高さ位置も仮定する。接点仮定部78は、その仮定する高さ位置Z0として、近似Zマップ58が記述している高さ位置を用いる。例えば、図11のボールエンドミル100の回転軸の位置が(x1,y1)の場合では、仮定される高さ位置Z0は高さ位置z3となる。
接点仮定部78は、仮定した接点S0と、仮定した基準点Tの高さ位置Z0を、近似Zマップ58や面Sの表現式等と共にZマップ修正部80に教示する。
ステップS15では、Zマップ修正部80の処理が行われる。Zマップ修正部80は、近似Zマップ58が記述している基準点Tの高さ位置zを、ボールエンドミル100の刃先面100aが加工面Dに正しく接する高さ位置に修正する。
Zマップ修正部80の修正処理は、接点仮定部78から教示された条件に基づいて行われる。例えば、ボールエンドミル100の回転軸の位置が(x1,y1)の場合、刃先面100aは面Sに接すると限定する。また、接点仮定部78が仮定した接点S0と、仮定した基準点Tの高さ位置Z0を初期値として用いる。
刃先面100aが面Sに正しく接するときの基準点Tの高さ位置は、刃先面100aと面Sが正しく接する状態を記述する解析方程式を、ニュートン・ラプソン法等を用いて解くことによって算出できる。一般に解析方程式から算出される解は、与える初期値に強く依存する。Zマップ修正部80では、接点仮定部78が仮定した接点S0と、仮定した基準点Tの高さ位置Z0を初期値として用いる。接点仮定部78が仮定した接点S0や仮定した基準点Tの高さ位置Z0は、正しい解に対して正確に仮定されているので、刃先面100aと面Sが正しく接するときの基準点Tの高さ位置を一意に求めることができる。
図12に、刃先面100aが加工面Dに正しく接する状態を記述する解析方程式の一例を示す。図12は、上記の流れに従い、ボールエンドミル100の回転軸が、位置(x1,y1)に位置する場合を説明する。即ち、図12に示す解析方程式は、刃先面100aが、加工面Dと面Sにおいて接する場合のものである。図12は、ボールエンドミル100の刃先面100aが面Sに正しく接する状態を示している。図中Gは、ボールエンドミル100の回転軸とxy平面の交点G(x,y)である。図中z3’は、基準点Tの高さ位置である。なお、図中z3は、第1マップにおいて位置(x1,y1)に対応付けて記述されている高さ位置z3である。面S上の点Ssは、刃先面100aが面Sに接する接点である。なお、面S上には、接点仮定部78が仮定した接点S0を併せて示す。図中ベクトルSuは接点Ssにおけるu方向の接線方向ベクトルである。また、図中ベクトルSvは、面S上の接点Ssにおけるv方向の接線方向ベクトルである。図中のベクトルkは、z軸正方向の単位ベクトルである。
Zマップ修正部80は、接点仮定部78が仮定した接点S0や仮定した高さ位置Z0を初期値として、図12に示す解析方程式をニュートン・ラプソン法を用いて解き、刃先面100aが面Sに正しく接するときの接点Ssの位置と、基準点Tの高さ位置z3’を算出する。そして、Zマップ修正部80は、近似Zマップ58が位置(x1,y1)に対応付けて記述する高さ位置z3を、算出した高さ位置z3’に修正する。
Zマップ修正部80は、同様にして、近似Zマップ58が他の位置(x,y)に対応付けて記述する高さ位置zも修正する。
図12に示す解析方程式は、刃先面100aが加工面Dと基本形状の面Sにおいて接する場合のものである。Zマップ修正部80は、接点仮定部78によって刃先面100aが加工面Dと基本形状の稜線Cにおいて接すると仮定された場合、図13に示す解析方程式を用いることができる。図13は、ボールエンドミル100の刃先面100aが稜線Cに正しく接する状態を示している。図中Gは、ボールエンドミル100の回転軸とxy平面の交点G(x,y)である。図中zは、基準点Tの高さ位置である。稜線C上にはt座標が定義されている。稜線C上の点Csは刃先面100aが稜線Cに接する接点である。図中のベクトルCtは接点Csにおけるt方向導関数である。図中のベクトルkは、z軸正方向の単位ベクトルである。図13に示す解析方程式を、接点仮定部78が仮定した接点S0や仮定した高さ位置Z0を初期値として、例えばニュートン・ラプソン法によって解くことにより、接点Csと基準点Tの高さ位置zを一意に求めることができる。
また、刃先面100aが加工面Dと基本形状の点Vにおいて接すると仮定された場合は、図14に示す解析方程式を用いることができる。図14は、ボールエンドミル100の刃先面100aが点V(xv,yv,zv)に正しく接する状態を示している。図中Gは、ボールエンドミル100の回転軸とxy平面の交点G(x,y)である。図中Vp(xv,yv)は、点Vからxy平面に下ろした垂線の足の位置である。図中zは、基準点Tの高さ位置である。図中のベクトルkは、z軸正方向の単位ベクトルである。刃先面100aが加工面Dと基本形状の点Vにおいて接すると仮定された場合、図14に示す解析方程式は二次の代数方程式に帰着する。2価中、高い方を選択することにより、基準点Tの高さ位置zを一意に求めることができる。なお、図中の「None」は、「解なし」を意味する。
ステップS17では、Zマップ修正部80が近似Zマップ58が記述する高さ位置zを、ステップS15で算出した高さ位置に修正して、修正Zマップ(第3マップ)62を生成する。修正Zマップ62では、ボールエンドミル100の回転軸の位置(x,y)に対応付けて、刃先面100aが加工面Dに正しく接するときの基準点Tの高さ位置が記述されている。修正Zマップ62を3軸制御のNC工作機械に教示すると、加工面Dを正確に加工させることができる。コンピュータ装置10は、加工面Dに対して修正Zマップ62を一意に生成することができる。
生成された修正Zマップ62は、記憶部40に記憶される。記憶部40に記憶された修正Zマップ62は、外部記録装置32を用いて記録媒体34に記述することもできる。
以上では、図8のステップS3において、加工面Dを点群によって離散近似(0次近似)するように指示した場合を説明した。以下では、図8のステップS3において、加工面Dを微小面F群によって離散近似(1次近似)するように指示した場合を説明する。
図8のステップS3において、加工面Dを微小面群によって離散近似(0次近似)するように指示された場合、ステップS7では加工面Dが微小面F群によって離散近似される。図15は、加工面Dを微小面F群によって1次近似した数学モデルDbを示す。このとき、微小要素の微小面F群には、それぞれを識別可能な識別子idが割り当てられる。数学モデル生成部72は、生成した数学モデルDbを記述する数学モデルデータ54を生成する。数学モデルデータ54には、微小面F群の識別子idが併せて記述されている。生成された数学モデルデータ54は、記憶部40に記憶される。
数学モデル生成部72が生成した数学モデルDbを構成する微小面F群のそれぞれは、加工面Dを構成する基本形状群(面S、稜線C、頂点V)のいずれかを近似している。数学モデル生成部72は、基本形状を微小面F(微小要素)群によって近似するときに、微小面F群の識別子idと、その微小面F群が近似した基本形状の識別子IDが対応付けて記述された識別子対応データ56を生成する。生成された識別子対応データ56は、記憶部40に記憶される。
ステップS9では、近似Zマップ生成部74が、数学モデルDbに対して近似Zマップ58を生成する。数学モデルDbに対して近似Zマップ58を生成する処理は、先に説明した数学モデルDaに対して近似Zマップ58の生成する処理と比して、処理の流れは大きく変わらない。
近似Zマップ生成部74は、ボールエンドミル100の回転軸の位置(x,y)を設定し、刃先面100aが微小面F群に接触するときの基準点Tの高さ位置zを、数学モデルDbを構成するすべての微小面F群について逐次算出する。刃先面100aがそれぞれの微小面Fに接触するときの基準点Tの高さ位置zは、それぞれの微小面Fに対して一意に求めることができる。
近似Zマップ生成部74は、上記の逐次計算で得たすべての高さ位置zのうちから、最高位置のものを選択する。選択された高さ位置zは、回転軸の位置が(x,y)のボールエンドミル100において、刃先面100aが数学モデルDbに接触するときの基準点Tの最高位置である。
近似Zマップ生成部74は、工具の回転軸の位置(x,y)に対して、基準点Tの高さの最高位置を決定すると、その最高位置を導出した微小面Fの識別子idを認識する。その認識した微小面Fの識別子idは、回転軸の位置(x,y)と共に、微小要素マップ生成部76に教示される。
近似Zマップ生成部74は、図16に示すように、格子状に配置された工具軸の位置(x,y)について、上記の最高位置を算出する処理を行う。そして、格子状に配置された工具軸の位置(x,y)に対応付けて、基準点Tの高さ位置zが記述された近似Zマップ(第1マップ)58を生成する。生成された近似Zマップ58は、記憶部40に記憶される。
図8のステップS11では、微小要素マップ生成部76によって、微小要素マップ(第2マップ)60の生成が行われる。図16に示すように、微小要素マップ60には、工具の回転軸の位置(x,y)に対応付けて微小面F(微小要素)群の識別子idが記述される。本実施例の微小要素マップ(第2マップ)60では、近似Zマップ(第1マップ)58が記述する高さに位置するボールエンドミル100の刃先面100aが接触する微小面F(微小要素)群の識別子idが記述される。生成された微小要素マップ60は、記憶部40に記憶される。
図17は、近似Zマップ58に記述された高さ位置に、ボールエンドミル100の基準点Tが位置している状態を示している。図中の微小面Fは、微小要素マップ60において、位置(x,y)に対応付けて記述されている微小要素の微小面Fである。即ち、近似Zマップ58に記述された高さ位置のボールエンドミル100は、その刃先面100aが微小要素の微小面Fと接している。図中のFaは、その接点を示す。
図17には、加工面Dの一部が併せて示されている。詳しくは、識別子対応データ56が微小要素の微小面Fに対応付けて記述している基本形状の面Sである。即ち、微小面Fは、基本形状の面Sを離散近似している微小要素群の一つである。
図17に示すように、近似Zマップ58は数学モデルDbに基づいて生成されているので、近似Zマップ58が記述する位置の刃先面100aは、加工面Dに正しく接していない。図17に示す場合では、刃先面100aのハッチング部Hが、加工面Dよりも下方にまで達しており、加工面Dよりもハッチング部Hの分だけ過剰に切削されてしまう。
ステップS13では、接点仮定部78の処理が行われる。接点仮定部78は、ボールエンドミル100の刃先面100aが、加工面Dに正しく接するときの接点と、基準点Tの高さ位置を仮定する。
接点仮定部78は、微小要素マップ(第2マップ)60と識別子対応データ56から、刃先面100aが加工面Dと接するときに、刃先面100aが接する基本形状の面Sを仮定する。そして、刃先面100aと面Sとの接点を、微小要素の微小面Fの位置に基づいて仮定する。仮定された接点S0は、Zマップ修正部80に教示される。
ボールエンドミル100の回転軸が(x,y)に位置する場合、刃先面100aは数学モデルDbと微小面Fにおいて接することから、刃先面100aが加工面Dに正しく接するときは、微小面Fが近似している基本形状の面Sにおいて接すると推定できる。
接点仮定部78は、刃先面100aが加工面Dに正しく接するときの基準点Tの高さ位置も仮定する。接点仮定部78は、その仮定する高さ位置Z0として、近似Zマップ58が記述している高さ位置を用いる。接点仮定部78は、仮定した接点S0と、仮定した基準点Tの高さ位置Z0を、近似Zマップ58や面Sの表現式等と共にZマップ修正部80に教示する。
ステップS15では、Zマップ修正部80によって、近似Zマップ58に記述された高さ位置が修正される。この処理は、実施例1と同様に行われる。即ち、接点仮定部78が仮定した接点S0や仮定した高さ位置Z0を初期条件とし、図13、14、15に例示した解析方程式を解くことによって、刃先面100aと加工面Dが正しく接するときの工具の高さ位置を一意に求めることができる。
ステップS17では、Zマップ修正部80が近似Zマップ58が記述する高さ位置zを、ステップS15で算出した高さ位置に修正して、修正Zマップ(第3マップ)62を生成する。生成した修正Zマップ62は、記憶部40に記憶される。
以上では、図8のステップS5における工具の選択により、ボールエンドミル100を利用する場合について説明した。
以下に、図1に示したフラットエンドミル102やラジアスエンドミル104を利用する場合を説明する。フラットエンドミル102やラジアスエンドミル104を利用する場合は、ステップS5においてフラットエンドミル102やラジアスエンドミル104を選択すればよい。
フラットエンドミル102やラジアスエンドミル104を利用する場合でも、図8に示すフローチャートの流れに沿って処理が行われる。フラットエンドミル102やラジアスエンドミル104を利用する場合でも、ボールエンドミル100を利用する場合に比して、技術的に格別な差異はない。同様に、近似Zマップ(第1マップ)58や微小要素マップ(第2マップ)60等を生成することができる。
図8のステップS13、S15、S17においても、フラットエンドミル100を利用する場合と同様に、近似Zマップ(第1マップ)58や微小要素マップ(第2マップ)60等を利用して修正Zマップ(第3マップ)を生成することができる。ただし、図13、14、15に例示した解析方程式は利用できない。以下にフラットエンドミル102やラジアスエンドミル104を利用する場合に、Zマップ修正部80が用いることができる解析方程式の例を示す。
図18、19、20に、工具がフラットエンドミル102である場合の解析方程式の一例を示す。図18は、フラットエンドミル102の刃先面102aが、基本形状の面Sと接する場合の解析方程式の一例を示す。図中Gは、フラットエンドミル102の回転軸とxy平面の交点G(x,y)である。図中zは、基準点Tの高さ位置である。面S上の点Ssは、刃先面102aが面Sに接する接点である。図中のベクトルNは、接点Ssにおける面Sの法線方向の単位ベクトルである。図中のベクトルkは、z軸正方向の単位ベクトルである。図18に示す解析方程式を、接点仮定部78が仮定した接点S0や仮定した高さ位置Z0を初期値として、例えばニュートン・ラプソン法によって解くことにより、接点Ssと基準点Tの高さ位置zを一意に求めることができる。
図19は、フラットエンドミル102の刃先面102aが、基本形状の稜線Cと接する場合の解析方程式の一例を示す。図中Gは、フラットエンドミル102の回転軸とxy平面の交点G(x,y)である。図中zは、基準点Tの高さ位置である。稜線C上の点Csは、刃先面102aが稜線Cに接する接点である。図中のベクトルkは、z軸正方向の単位ベクトルである。図19に示す解析方程式を、接点仮定部78が仮定した接点S0や仮定した高さ位置Z0を初期値として、例えばニュートン・ラプソン法によって解くことにより、接点Csと基準点Tの高さ位置zを一意に求めることができる。
図20は、フラットエンドミル102の刃先面102aが点V(xv,yv,zv)に接する場合の解析方程式を示している。図中Gは、フラットエンドミル102の回転軸とxy平面の交点G(x,y)である。図中Vp(xv,yv)は、点Vからxy平面に下ろした垂線の足の位置である。図中zは、基準点Tの高さ位置である。図中のベクトルkは、z軸正方向の単位ベクトルである。図20に示す解析方程式では、接点Csが点Vに特定されていることによって、基準点Tの高さ位置zは一意に求められる。なお、図中の「None」は、「解なし」を意味する。
次に、図21、22、23に、工具がラジアスエンドミル104である場合の解析方程式の一例を示す。図21は、ラジアスエンドミル104の刃先面104aが、基本形状の面Sと接する場合の解析方程式の一例を示す。図中Gは、ラジアスエンドミル104の回転軸とxy平面の交点G(x,y)である。図中zは、基準点Tの高さ位置である。面S上の点Ssは、刃先面104aが面Sに接する接点である。図中Pは、刃先面104aのの円弧状部の中心点である(図1(c)参照)。図中のベクトルSuは、接点Ssにおけるu方向の接線方向ベクトルである。図中のベクトルSvは、接点Ssにおけるv方向の接線方向ベクトルである。図中のベクトルkは、z軸正方向の単位ベクトルである。図21に示す解析方程式を、接点仮定部78が仮定した接点S0や仮定した高さ位置Z0を初期値として、例えばニュートン・ラプソン法によって解くことにより、接点Ssと基準点Tの高さ位置zを一意に求めることができる。
図22は、ラジアスエンドミル104の刃先面104aが、基本形状の稜線Cと接する場合の解析方程式の一例を示す。図中Gは、ラジアスエンドミル104の回転軸とxy平
面の交点G(x,y)である。図中zは、基準点Tの高さ位置である。稜線C上の点Csは、刃先面104aが稜線Cに接する接点である。図中のベクトルCtは、接点Csにおけるt方向の接線方向ベクトルである。図中のベクトルkは、z軸正方向の単位ベクトルである。図22に示す解析方程式を、接点仮定部78が仮定した接点S0や仮定した高さ位置Z0を初期値として、例えばニュートン・ラプソン法によって解くことにより、接点Csと基準点Tの高さ位置zを一意に求めることができる。
図23は、ラジアスエンドミル104の刃先面104aが点V(xv,yv,zv)に接する場合の解析方程式を示している。図中Gは、ラジアスエンドミル104の回転軸とxy平面の交点G(x,y)である。図中Vp(xv,yv)は、点Vからxy平面に下ろした垂線の足の位置である。図中zは、基準点Tの高さ位置である。図中のベクトルkは、z軸正方向の単位ベクトルである。図23に示す解析方程式から、刃先面104aの平面部104が点Vに接する場合、基準点Tの高さ位置はz=zv+rとなる。刃先面104aの円弧状の刃先面104cが点Vに接する場合、解析方程式は二次の代数方程式となり2価中の高値を選択する。このように、接点Csと基準点Tの高さ位置zを一意に求めることができる。なお、図中の「None」は、「解なし」を意味する。
(実施例2) 工具の経路を生成する手法として、逆オフセット法が知られている。本実施例では、逆オフセット法を用いる。なお、本実施例においても、実施例1のコンピュータ装置10を用い、コンピュータ装置10の処理動作の流れは、図8に示したフローチャートで示される。本実施例が実施例1に対して異なる点は、ステップS7の近似Zマップ58の生成処理と、ステップS15の基準点Tの高さ位置の算出処理において、逆オフセット法を用いることである。以下では主に実施例1に対する変更点についてのみ説明し、重複説明を避けるように努める。
図24を参照して、逆オフセット法を説明する。図24には、xyz座標系に置かれた微小面Fが示されている。図24の101は、図1に示したボールエンドミル100を、z軸方向において反転した反転工具101である。反転工具101の刃先面101aは、図1のボールエンドミル100の刃先面100aに対応する。図24のTは、反転工具101における基準点Tである。図24に示すように、反転工具101の基準点Tを微小面F上に位置させて、反転工具101を微小面Fに沿って掃引すると、刃先面101aの軌跡を結んだ掃引面120が形成される。この掃引面120は、微小面Fから刃先面101の半径dだけ離れたオフセット面となる。従って、ボールエンドミル100の基準点Tが掃引面120上に位置しているとき、その刃先面100aは微小面Fと接することとなる。即ち、ボールエンドミル100の基準点Tを、掃引面120上に位置させて移動させれば、微小面Fを加工することができる。このように、逆オフセット法は、反転工具を加工対象面上で掃引し、加工対象面から工具の形状に応じてオフセットした面を得るものである。このオフセット面の高さ位置zを、工具の回転軸の位置(x,y)に対応付けて記述すれば、工具の経路を記述するZマップを生成することができる。
本実施例におけるコンピュータ装置10の処理動作を説明する。コンピュータ装置10の処理動作の流れは、図8のフローチャートによって示される。図8のステップS1〜ステップS7までは、実施例1と同様の処理が行われる。従って、ここでは重複説明を避ける。ただし、ステップS3では、加工面Dを微小面F群によって離散近似(1次近似)するように指示したものとする。従って、ステップS7で生成される数学モデルデータ54は、図15に示す数学モデルDbを記述している。また、ステップS5では、ボールエンドミル100を利用するように指示したものとする。
ステップS9では、数学モデル生成部72が、数学モデルデータ54に基づいて、近似Zマップ(第1マップ)58を生成する。本実施例の数学モデル生成部72は、近似Zマップ58の生成を、逆オフセット法によって行う。図25を参照して、逆オフセット法による近似Zマップ58の生成を説明する。
図25には、数学モデルDbの一部が示されている。詳しくは、数学モデルDbを構成する微小面F群の一部である微小面F1〜F8が示されている。数学モデル生成部74は、図24に示した反転工具101の掃引面120を、微小面F1〜F8のそれぞれについて生成する。即ち、微小面F1〜F8のそれぞれについて、ボールエンドミル100の刃先面100aの半径dに基づくオフセット面を生成する。図25には、微小面F1〜F8に対するオフセット面m1〜m8が示されている。次に、オフセット面m1〜m8を併合して包絡面Mを生成する。図25のU部のように、複数のオフセット面m1〜m8が重なり合う位置では、最も上方に位置するオフセット面m1〜m8を包絡面Mの一部として採用する。このようにして作成された包絡面Mは、数学モデルDbからボールエンドミル100の刃先面100aの半径dと等しい距離だけオフセットしている。即ち、ボールエンドミル100の基準点Tを、包絡面M上に位置させて移動させれば、数学モデルDbを加工することができる。数学モデル生成部74は、包絡面(オフセット面)Mを生成し、包絡面(オフセット面)Mの高さ位置zを、位置(x,y)に対応付けて記述する近似Zマップ58を生成する。図25に示す場合では、近似Zマップ58には、オフセット面M上に白丸で示す点の高さ位置zが記述される。
ステップS11では、微小要素マップ生成部76が微小要素マップ(第2マップ)60を生成する。微小要素マップ60は、位置(x、y)に対応付けて微小要素の微小面F群の識別子idを記述する。図25に示すように、微小面F1〜F8群に対するオフセット面m1〜m8群によって、包絡面Mは構成されている。微小要素マップ60は、位置(x、y)において包絡面Mを構成しているオフセット面m1〜m8の基となる微小面F1〜F8の識別子idを記述する。例えば図25に示す場合、位置(x1,y1)において包絡面Mがオフセット面m4によって構成されているので、微小要素マップ60は位置(x1,y1)に対応付けて微小面F4の識別子idを記述する。
ボールエンドミル100の回転軸が位置(x1,y1)に位置しており、その基準点Tが近似Zマップ58が記述している高さ位置、即ち、包絡面M上に位置していると、その刃先面100aは微小面F4と接する。即ち、微小要素マップ60は、ボールエンドミル100の基準点Tが、近似Zマップ58に記述された高さに位置するときに、刃先面100aが接触する微小面F群の識別子idが記述される。
本実施例で生成された近似Zマップ58や微小要素マップ60は、実施例1において数学モデルDbに対して生成された近似Zマップ58や微小要素マップ60と略同一のものとなる。
ステップS13では、実施例1の場合と同様に、接点仮定部78が、刃先面100aが加工面Dに正しく接するときに、刃先面100aが接する基本形状群(面S、稜線C、点V)を特定し、その接点S0と基準点Tの高さ位置Z0を仮定する。
ステップS15では、Zマップ修正部80の処理が行われる。Zマップ修正部80は、ボールエンドミル100の刃先面100aが加工面Dに正しく接するときの基準点Tの高さ位置を算出する。
Zマップ修正部80は、刃先面100aと加工面Dが正しく接する状態を記述する解析方程式を、ニュートン・ラプソン法等を用いて解く。本実施例では、逆オフセット法による解析方程式が用いられる。この場合においても、接点仮定部78が仮定した接点S0と仮定した高さ位置Z0を初期値として利用することにより、刃先面100aと加工面Dが正しく接するときの基準点Tの高さ位置を一意に求めることができる。
図26に本実施例でZマップ修正部80が用いる解析方程式の一例を示す。図26は、ボールエンドミル100の刃先面100aが、基本形状の面Sと接する場合の解析方程式の一例を示す。図中Gは、ボールエンドミル100の回転軸とxy平面の交点G(x,y)である。図中zは、基準点Tの高さ位置である。面S上の点Ssは、刃先面100aが面Sに接する接点である。図中のベクトルNは、接点Ssにおける面Sの法線方向の単位ベクトルである。図中のベクトルkは、z軸正方向の単位ベクトルである。図26に示す解析方程式を、接点仮定部78が仮定した接点S0や仮定した高さ位置Z0を初期値として、例えばニュートン・ラプソン法によって解くことにより、接点Ssと基準点Tの高さ位置zを一意に求めることができる。
ステップS17では、Zマップ修正部80が、近似Zマップ58が記述する高さ位置zを、ステップS15で算出した高さ位置に修正して、修正Zマップ(第3マップ)62を生成する。ボールエンドミル100が修正Zマップ62の記述している高さ位置zに位置するとき、刃先面100aは加工面Dに正しく接する。修正Zマップ62を3軸制御のNC工作機械に教示すると、加工面Dを正確に加工させることができる。コンピュータ装置10は、修正Zマップ62を一意に生成することができる。生成された修正Zマップ62は、記憶部40に記憶される。
上記では、図8のステップS5における工具の選択により、ボールエンドミル100を利用する場合について説明した。以下に、図1に示したフラットエンドミル102やラジアスエンドミル104を利用する場合を説明する。フラットエンドミル102やラジアスエンドミル104を利用する場合は、ステップS5においてフラットエンドミル102やラジアスエンドミル104を選択すればよい。
フラットエンドミル102やラジアスエンドミル104を利用する場合でも、図8に示すフローチャートの流れに沿って処理が行われる。フラットエンドミル102やラジアスエンドミル104を利用する場合でも、ボールエンドミル100を利用する場合に比して、技術的に格別な差異はない。同様にして、逆オフセット法により近似Zマップ(第1マップ)58を生成し、また微小要素マップ(第2マップ)60を生成することができる。そして、修正Zマップ(第3マップ)を生成することができる。ただし、Zマップ修正部80が利用する解析方程式は、利用する工具がボールエンドミル100とフラットエンドミル102とラジアスエンドミル104の場合では異なる。従って、以下にフラットエンドミル102やラジアスエンドミル104を利用する場合に、Zマップ修正部80が用いることができる解析方程式の例を示す。
図27は、フラットエンドミル102の刃先面102aが、基本形状の面Sと接する場合の解析方程式の一例を示す。図中Gは、フラットエンドミル102の回転軸とxy平面の交点G(x,y)である。図中zは、基準点Tの高さ位置である。面S上の点Ssは、刃先面102aが面Sに接する接点である。図中のベクトルNは、接点Ssにおける面Sの法線方向の単位ベクトルである。図中のベクトルkは、z軸正方向の単位ベクトルである。図27に示す解析方程式を、接点仮定部78が仮定した接点S0や仮定した高さ位置Z0を初期値として、例えばニュートン・ラプソン法によって解くことにより、接点Ssと基準点Tの高さ位置zを一意に求めることができる。
図28は、ラジアスエンドミル104の刃先面104aが、基本形状の面Sと接する場合の解析方程式の一例を示す。図中Gは、ラジアスエンドミル104の回転軸とxy平面の交点G(x,y)である。図中zは、基準点Tの高さ位置である。面S上の点Ssは、刃先面104aが面Sに接する接点である。図中Pは、刃先面104aの円弧状部の中心点である(図1(c)参照)。図中のベクトルNは、接点Ssにおける面Sの法線方向の単位ベクトルである。図中のベクトルkは、z軸正方向の単位ベクトルである。図28に示す解析方程式を、接点仮定部78が仮定した接点S0や仮定した高さ位置Z0を初期値として、例えばニュートン・ラプソン法によって解くことにより、接点Ssと基準点Tの高さ位置zを一意に求めることができる。
以上、本発明の実施形態について詳細に説明したが、これらは例示に過ぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組み合わせによって技術的有用性を発揮するものであり、出願時請求項記載の組み合わせに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
3種のエンドミルを示す図。 オフセット面とそれを記述するZマップを説明する図。 工具の刃先面が加工面に接する高さ位置が複数存在する場合を示す図。 加工面を離散近似する点群に工具の刃先面が接する状態を示す図。 コンピュータ装置10の構成を示す図。 コンピュータ装置10の機能的な構成を示す図。 加工面データが記述する加工面を示す図。 コンピュータ装置10の動作の流れを示すフローチャート。 加工面を点群で離散近似した数学モデルDaを示す図。 数学モデルDaに対する近似Zマップと微小要素マップを説明する図。 近似Zマップが記述する位置の工具と加工面の位置関係を示す図。 解析方程式の一例を示す図(面Sとボールエンドミル)。 解析方程式の一例を示す図(稜線Cとボールエンドミル)。 解析方程式の一例を示す図(点Vとボールエンドミル)。 加工面を面群で離散近似した数学モデルDbを示す図。 数学モデルDbに対する近似Zマップと微小要素マップを説明する図。 近似Zマップが記述する位置の工具と加工面の位置関係を示す図。 解析方程式の一例を示す図(面Sとフラットエンドミル)。 解析方程式の一例を示す図(稜線Cとフラットエンドミル)。 解析方程式の一例を示す図(点Vとフラットエンドミル)。 解析方程式の一例を示す図(面Sとラジアスエンドミル)。 解析方程式の一例を示す図(稜線Cとラジアスエンドミル)。 解析方程式の一例を示す図(点Vとラジアスエンドミル)。 逆オフセット法による反転工具の掃引面を示す図。 逆オフセット法による近似Zマップと微小要素マップを説明する図。 逆オフセット法の解析方程式の一例を示す図(面Sとボールエンドミル)。 逆オフセット法の解析方程式の一例を示す図(面Sとフラットエンドミル)。 逆オフセット法の解析方程式の一例を示す図(面Sとラジアスエンドミル)。
符号の説明
10・・コンピュータグラフィクス装置
12・・コンピュータ本体
20・・ハードディスクドライブ装置
22・・入出力インターフェース
24・・マウス、26・・キーボード
30・・ディスプレイ
32・・外部記録装置、34・・記録媒体
40・・記憶部、42・・設定部、44・・処理部
52・・加工面データ、54・・数学モデルデータ、56・・識別子対応データ
58・・近似Zマップ(第1マップ)
60・・微小要素マップ(第2マップ)
60・・修正Zマップ(第3マップ)
72・・数学モデル生成部
74・・近似Zマップ生成部
76・・微小要素マップ生成部、78・・接点仮定部
80・・Zマップ修正部
82・・近似条件設定部
84・・工具設定部
100・・ボールエンドミル、100a・・ボールエンドミルの刃先面
101・・ボールエンドミルの反転工具、101a・・反転工具101の刃先面
102・・フラットエンドミル、102a・・フラットエンドミルの刃先面
104・・ラジアスエンドミル、104a・・ラジアスエンドミルの刃先面
D・・加工面
Da・・加工面を点群で離散近似した数学モデル、
Db・・加工面を微小面群で離散近似した数学モデル
E・・微小要素の点、F・・微小要素の微小面
S・・基本形状の面、C・・基本形状の稜線、V・・基本形状の点
T・・工具の基準点
Ss・・基本形状の面S上の接点、Cs・・基本形状の稜線C上の接点

Claims (6)

  1. 複数の面記述式で記述されるxyz空間内で広がる加工面にワークを加工する工具のz座標を計算する装置であり、
    前記加工面を微小要素群の集合で近似した数学モデルを記憶している手段、
    xy座標を通ってz軸方向に伸びる軸に沿って工具を加工面に接近させたときに、工具に最初に接触する微小要素と、その時の工具のz座標を特定して記憶する手段、
    特定された微小要素が属する面を記述している面記述式を特定する手段、
    特定された工具のz座標を初期値にして、工具形状を記述する式と特定された面記述式を用いて、工具と面が接触するz座標の厳密解を数値計算する手段、
    を備えている工具のz座標計算装置。
  2. 微小要素毎に、その微小要素が属する面を記述している面記述式を対応づけて記憶しているマップを生成する手段を備えていることを特徴とする請求項1のz座標計算装置。
  3. xy座標毎に、工具に最初に接触する微小要素と、その微小要素が属する面を記述している面記述式と、その時の工具のz座標を対応づけて記憶しているマップを生成する手段を備えていることを特徴とする請求項1または2のz座標計算装置。
  4. 各微小要素と各面記述式が、それぞれに固有の識別子で特定されることを特徴とする請求項1から3のいずれかのz座標計算装置。
  5. 複数の面記述式で記述されるxyz空間内で広がる加工面にワークを加工する工具のz座標を計算する方法であり、
    前記加工面を微小要素群の集合で近似した数学モデルを生成する工程、
    xy座標を通ってz軸方向に伸びる軸に沿って工具を加工面に接近させたときに、工具に最初に接触する微小要素と、その時の工具のz座標を特定する工程、
    特定された微小要素が属する面を記述している面記述式を特定する工程、
    特定された工具のz座標を初期値にして、工具形状を記述する式と特定された面記述式を用いて、工具と面が接触するz座標の厳密解を数値計算する工程、
    を備えている工具のz座標計算方法。
  6. 複数の面記述式で記述されるxyz空間内で広がる加工面にワークを加工する工具のz座標を計算するプログラムであり、電子計算機に、
    前記加工面を微小要素群の集合で近似した数学モデルを生成する処理、
    xy座標を通ってz軸方向に伸びる軸に沿って工具を加工面に接近させたときに、工具に最初に接触する微小要素と、その時の工具のz座標を特定する処理、
    特定された微小要素が属する面を記述している面記述式を特定する処理、
    特定された工具のz座標を初期値にして、工具形状を記述する式と特定された面記述式を用いて、工具と面が接触するz座標の厳密解を数値計算する処理、
    を実施させるプログラム。
JP2004009774A 2004-01-16 2004-01-16 工具高さ計算装置とそのための計算方法とプログラム Pending JP2005202792A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004009774A JP2005202792A (ja) 2004-01-16 2004-01-16 工具高さ計算装置とそのための計算方法とプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004009774A JP2005202792A (ja) 2004-01-16 2004-01-16 工具高さ計算装置とそのための計算方法とプログラム

Publications (1)

Publication Number Publication Date
JP2005202792A true JP2005202792A (ja) 2005-07-28

Family

ID=34822701

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004009774A Pending JP2005202792A (ja) 2004-01-16 2004-01-16 工具高さ計算装置とそのための計算方法とプログラム

Country Status (1)

Country Link
JP (1) JP2005202792A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009017169A1 (ja) * 2007-08-01 2009-02-05 Toyota Jidosha Kabushiki Kaisha 工具参照面を作成する装置と方法とプログラム
WO2017110236A1 (ja) * 2015-12-24 2017-06-29 三菱電機株式会社 工具経路修正装置および工具経路修正方法
CN111506989A (zh) * 2020-04-01 2020-08-07 浙江理工大学 基于三阶密切螺旋线的弓高误差估算方法
JP2020181398A (ja) * 2019-04-25 2020-11-05 ファナック株式会社 波形表示装置、及び波形表示方法
WO2022113871A1 (ja) * 2020-11-25 2022-06-02 ファナック株式会社 表示装置

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009017169A1 (ja) * 2007-08-01 2009-02-05 Toyota Jidosha Kabushiki Kaisha 工具参照面を作成する装置と方法とプログラム
US8255077B2 (en) 2007-08-01 2012-08-28 Toyota Jidosha Kabushiki Kaisha Apparatus, method and program for creating tool reference plane
WO2017110236A1 (ja) * 2015-12-24 2017-06-29 三菱電機株式会社 工具経路修正装置および工具経路修正方法
JP6157781B1 (ja) * 2015-12-24 2017-07-05 三菱電機株式会社 工具経路修正装置および工具経路修正方法
JP2020181398A (ja) * 2019-04-25 2020-11-05 ファナック株式会社 波形表示装置、及び波形表示方法
CN111506989A (zh) * 2020-04-01 2020-08-07 浙江理工大学 基于三阶密切螺旋线的弓高误差估算方法
CN111506989B (zh) * 2020-04-01 2023-05-02 浙江理工大学 基于三阶密切螺旋线的弓高误差估算方法
WO2022113871A1 (ja) * 2020-11-25 2022-06-02 ファナック株式会社 表示装置

Similar Documents

Publication Publication Date Title
Jerard et al. Approximate methods for simulation and verification of numerically controlled machining programs
US9342065B2 (en) Path interference and generation device and method
US10108178B2 (en) Workpiece machining surface display method showing dimples to be formed on mashing surface, workpiece machining surface display device showing the dimples, and tool path generation device having the display
Balasubramaniam et al. Generation of collision-free 5-axis tool paths using a haptic surface
Li et al. Arc–surface intersection method to calculate cutter–workpiece engagements for generic cutter in five-axis milling
Duvedi et al. A multipoint method for 5-axis machining of triangulated surface models
Li et al. Five-axis trochoidal flank milling of deep 3D cavities
CN105598975B (zh) 一种确定工业机器人运动轨迹的方法
JP2010036309A (ja) 加工パラメータ最適化装置、加工パラメータ最適化方法およびプログラム
JP2007279937A (ja) 数値制御単一刃具による輪郭面及び立体の加工方法
JP2005202792A (ja) 工具高さ計算装置とそのための計算方法とプログラム
JP2007200121A (ja) 工具経路作成方法および工具経路作成プログラム
TWI684841B (zh) 加工傾斜平面的多軸工具機的程式碼產生方法及其裝置
JP2006244067A (ja) 工作機械の干渉判定方法
CN105144007A (zh) 在加工仿真期间执行撤销操作和重做操作的系统和方法
Molina-Carmona et al. Morphological offset computing for contour pocketing
JP2005349520A (ja) ワイヤカット放電加工方法、ワイヤカット放電加工方法における加工プログラムの作成方法、およびワイヤカット放電加工用加工プログラム作成装置
JP4784767B2 (ja) 3軸nc木工旋盤システム・工具経路生成方法・工具経路生成プログラム及び記録媒体
WO2014050246A1 (ja) 加工システム及び数値制御データ生成装置及び数値制御データ生成方法
JP4949953B2 (ja) 曲面形状と基準面との距離算出方法
Shaw et al. Reducing X, Y and Z axes movement of a 5-axis AC type milling machine by changing the location of the work-piece
Aras Tool contact maps by rectangular grid decomposition
JP5253829B2 (ja) Cadシステム及びcam加工情報の生成方法
JP2003181745A (ja) 三次元加工方法
JP2007286858A (ja) 面モデルの作成装置と作成方法