(57)【要約】【課題】幾何学的点データを効率良く格納するデータ構造を導入することにより、加工時間短縮を目的とする加工計画の精度を落とすことなく、加工計画にかかる計算時間を短縮する。【解決手段】複数方向に走査又は移動可能とされた加工手段を用いてワークを加工する際に、ワーク上に散在する加工位置又は加工エリアを表わす点の位置データを、ツリー型のデータ構造で表現する。【選択図】図５７
2004253006.tif 000002
【特許請求の範囲】
【請求項１】
複数方向に走査又は移動可能とされた加工手段を用いてワークを加工する際に、
ワーク上に散在する加工位置又は加工エリアを表わす点の位置データを、ツリー型のデータ構造で表現することを特徴とする加工計画方法。
【請求項２】
前記ツリーが、ｋ次元二分探索木であることを特徴とする請求項１に記載の加工計画方法。
【請求項３】
ワーク上に散在する加工エリアの位置を決定した後、前記ツリーを用いて、各加工エリア内の点データを列挙することを特徴とする請求項１又は２に記載の加工計画方法。
【請求項４】
前記ツリーの根節点から、内部節点については、その節点の子節点が表わす領域と探索領域との重なり具合により、その節点の子節点を探索するかどうかを判定し、葉節点に行き着いた時のみ、直接、点データにアクセスすることを特徴とする請求項１に記載の加工計画方法。
【請求項５】
前記ツリーを用いて、注目点に最も近い点を探索する最近傍点探索処理を行うことを特徴とする請求項１又は２に記載の加工計画方法。
【請求項６】
前記最近傍点探索処理を、前記ツリーの根節点から始めることを特徴とする請求項５に記載の加工計画方法。
【請求項７】
注目点を中心とする、現在の最近傍点までの距離を半径に持つ円と節点の表わす領域が重なりを持つ場合に、その節点について探索を行うことを特徴とする請求項６に記載の加工計画方法。
【請求項８】
前記節点が葉節点である場合は、当該節点が表わす領域内の全ての点について距離を求め、短いかどうか判定することを特徴とする請求項７に記載の加工計画方法。
【請求項９】
各点のデータが、それぞれ自分の所属する葉節点に関する情報を有し、
前記最近傍点探索処理を、最近傍を探そうとしている注目点の存在する葉節点に直接アクセスし、次いで、探索が必要である節点が存在する場合に限り、前記ツリーの根節点の方向に溯ることにより行うことを特徴とする請求項５に記載の加工計画方法。
【請求項１０】
注目点を中心とする、現在の最近傍点までの距離を半径に持つ円と節点の表わす領域が、現在の節点を表わす領域の外にはみ出す場合は、そのはみ出し具合に応じて、自分の兄弟節点又は自分の親の兄弟節点の探索を行うことを特徴とする請求項９に記載の加工計画方法。
【請求項１１】
請求項５に記載の最近傍点探索処理と、
見つかった最近傍点を外したツリーを用いて、次の最近傍点を探索する処理とを反復することにより、
注目点に近い順に近傍点を列挙することを特徴とする加工計画方法。
【請求項１２】
請求項５に記載の最近傍点探索処理により、未だ加工経路につなげられていない最近傍点を探索して新たな注目点とし、加工経路につなげる処理と、
見つかった注目点を外したツリーを用いて、次の最近傍点を探索して新たな注目点とし、加工経路につなげる処理を、
始点から終点まで繰り返して、加工経路を作成することを特徴とする加工計画方法。
【請求項１３】
前記ツリーから、見つかった点を外す処理を、各点データに付随するインデックスの終了番号を減らすか、又は、開始番号を増やすことにより行うことを特徴とする請求項１１又は１２に記載の加工計画方法。
【請求項１４】
前記ツリーから、見つかった点を外すと、ある節点内の点データが全て消えてしまう場合は、その節点を訪れる必要が無いことを示す情報を、節点に持たせることを特徴とする請求項１３に記載の加工計画方法。
【請求項１５】
請求項１２に記載の加工計画方法により決定された加工経路を、巡回セールスマン問題を適用して加工順序を決定する際の初期解とすることを特徴とする加工計画方法。
【請求項１６】
ある加工エリア内の点データの配置と、別の加工エリア内の点データの配置とが相対的に一致しているエリアの組を発見することにより、必要のない負荷の高い演算を省くことを特徴とする加工計画方法。
【請求項１７】
前記点データの配置が相対的に一致するエリアの組を探す処理を、
一方のエリアの全点に対し、一定の座標のずれ量を加えた点位置データを作成し、
もう一方のエリアのツリーの根節点から、前記点位置データの存在する領域を表す節点へと次々に移り、
葉節点に移ったときにのみ前記点位置データと一致する点位置データが存在するかどうかを調べるという処理により行うことを特徴とする請求項１６に記載の加工計画方法。
【請求項１８】
前記ツリーを、加工エリア内の点データを最少数の同寸矩形で囲む処理において、ループ呼び出しで一時的な加工エリアを作成する度に、その一時的な加工エリア、及び、各加工エリア内の一時的な点位置データの両方について作成することを特徴とする請求項１又は２に記載の加工計画方法。
【請求項１９】
前記ツリーを、加工エリア確定時に、加工エリア、及び、各加工エリア内の点位置データの両方について作成することを特徴とする請求項１又は２に記載の加工計画方法。
【請求項２０】
請求項１乃至１９のいずれかに記載の加工計画方法により決定された加工を行うことを特徴とする加工方法。
【請求項２１】
請求項１乃至１９のいずれかに記載の加工計画方法を実施するためのコンピュータプログラム。
【請求項２２】
複数方向に走査又は移動可能とされた加工手段を用いてワークを加工する際に加工計画を立てるための加工計画装置において、
ツリー型のデータ構造で表現された、ワーク上に散在する加工位置又は加工エリアを表わす点の位置データを記憶する手段と、
前記ツリー型のデータ構造で表現された位置データを用いて、加工エリア位置や加工順序を決定する手段と、
を備えたことを特徴とする加工計画装置。
【請求項２３】
請求項２２に記載の加工計画装置を含むことを特徴とする加工装置。
【請求項２４】
請求項２２に記載の加工計画装置を実現するためのコンピュータプログラム。
【請求項２５】
請求項２１又は２４に記載のコンピュータプログラムが記録された、コンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数方向に走査又は移動可能とされた加工手段や、複数方向に移動可能とされたステージを用いて、該ステージ上に配置されたワークを加工する際の加工計画方法、装置、及び、加工方法、装置に係り、特に、レーザビームを照射してプリント配線基板等に複数の穴開け加工を行うレーザ穴開け機に用いるのに好適な、穴開け等の加工位置の２次元平面における分布状態を数学的に捉えて、機器の動作を最適に計画することにより、加工時間を短縮することが可能な加工計画方法、該加工計画方法により決定された加工を行う加工方法、前記加工計画方法を実施するためのプログラムが記録された、コンピュータ読み取り可能な記録媒体、同様の加工計画装置、及び、該加工計画装置を含む加工装置に関する。
【背景技術】
【０００２】
近年、電子機器の小型化や高密度実装化の要求に伴い、複数のプリント配線基板を重ね合わせた多層プリント配線基板が提供されるようになってきている。このような多層プリント配線基板では、上下に積層されたプリント配線基板のそれぞれに形成された導電層間を電気的に接続するため、これらの基板に、スルーホールあるいはビアホールと呼ばれる穴が形成される。そして、これらの穴の内部に導電膜を形成することにより、各プリント配線基板の導電層間の接続が行われる。
【０００３】
プリント配線基板に形成される穴は、最近のプリント配線基板の小型化や高機能化に伴って小型化し、直径０．１mm以下になってきている。このような小径の穴を精度よく形成するために、パルス発振型のレーザビームが用いられている。
【０００４】
従来のパルス発振型レーザを用いたレーザ穴開け機の一例の構成を図１（全体構成）及び図２（詳細構成）に示す。このレーザ穴開け機１０は、パルス状レーザビームを発生するレーザ発振器１２と、該レーザ発振器１２により発生されたレーザビーム１３の出力を、加工対象であるプリント配線基板（ワークとも称する）６の二つの走査エリア（加工エリア）８Ｌ、８Ｒに導いて、左右同時加工を可能とするために２等分するビームスプリッタ１４と、該ビームスプリッタ１４により反射された左側のレーザビーム１３Ｌを、走査エリア８Ｌ内でＸ軸方向（図の左右方向）及びＹ軸方向（図の前後方向）に走査するための左ガルバノユニット（ガルバノシステム又は単にユニットとも称する）２２Ｌ（図２参照）と、前記ビームスプリッタ１４を通過した後、ミラー１６で反射された右側のレーザビーム１３Ｒを、右側の走査エリア８Ｒ内で同じくＸ軸方向及びＹ軸方向に走査するための右ガルバノユニット２２Ｒ（図２参照）と、前記プリント配線基板８をＸ軸方向に平行移動するためのＸステージ４０Ｘ、及び、該Ｘステージ４０Ｘ上で前記プリント配線基板８をＹ軸方向に移動するためのＹステージ４０Ｙを含むＸＹステージ４０（図２参照）とを主に備えている。
【０００５】
前記左ガルバノユニット２２Ｌ及び右ガルバノユニット２２Ｒには、図２に詳細に示す如く、レーザビーム１３Ｌ、１３Ｒをそれぞれ反射するためのミラー２４Ｌ、２４Ｒと、該ミラー２４Ｌ、２４Ｒで反射されたレーザビームを、例えばＹ軸方向に走査するための第１ガルバノミラー２６Ｌ、２６Ｒと、該第１ガルバノミラー２６Ｌ、２６Ｒを駆動するための第１ガルバノスキャナ（単に第１スキャナとも称する）２８Ｌ、２８Ｒと、前記第１ガルバノミラー２６Ｌ、２６ＲによってＹ軸方向に走査されたレーザビームを、更にこれに垂直なＸ軸方向に走査するための第２ガルバノミラー３０Ｌ、３０Ｒと、該第２ガルバノミラー３０Ｌ、３０Ｒを駆動するための第２ガルバノスキャナ（単に第２スキャナとも称する）３２Ｌ、３２Ｒと、前記第１及び第２ガルバノミラー２６Ｌ、２６Ｒ、３０Ｌ、３０ＲによりＸ軸方向及びＹ軸方向に走査されたレーザビームを、プリント配線基板８の表面に対して垂直に偏向し、照射口（図示省略）を介して落とすためのｆθレンズ３４Ｌが、それぞれ収容されている。
【０００６】
ここで、例えば前記左ガルバノユニット２２Ｌは固定され、右ガルバノユニット２２Ｒは、例えば、そのＸ軸方向位置が可変とされ、加工開始前に、ユニット間距離（Ｌ軸値と称する）Ａが変更可能とされている。
【０００７】
基板６上のビーム照射可能範囲は、ｆθレンズ３４Ｌ、３４Ｒの大きさがコストや品質等の点で制限されているため、加工中は完全に位置が固定されるビーム照射口の真下位置を中心とする、例えば４０mm×４０mmのＸ軸、Ｙ軸に両辺が平行な矩形範囲（走査エリアと称する）８Ｌ、８Ｒに限定されている。
【０００８】
一方、基板６の大きさは、例えば最大約５００mm×６００mm程度の大きさであり、一般に走査エリアよりも広い。従って、基板全体の穴開け加工を行うために、基板を支えるＸＹステージ４０をＸＹ平面内で自由な方向に駆動させ、基板６を移動するようにしている。
【０００９】
このようなレーザ穴開け機は、図３に全体の動作を示す如く、
（１）ＸＹステージ４０によって基板６を移動する、
（２）左右の走査エリア８Ｌ、８Ｒ内のレーザ穴開け加工を行う、
という２ステップの繰り返し（ステップアンドリピートと称する）により、基板全体の穴開けを行っている。被加工面では、レーザビームが照射された部分が蒸発し、プリント配線基板６に穴が形成される。ここで、レーザビームは２分されているため、同時に加工される走査エリアは左右に２つあり、同時加工エリア間距離は加工ヘッド間距離に等しい。
【００１０】
又、各走査エリア８Ｌ、８Ｒ内の加工については、図４に示す如く、左右ユニット２２Ｌ、２２Ｒの第１、第２スキャナ２８Ｌ、２８Ｒ、３２Ｌ、３２Ｒによる、基板上の穴開け終了点から次の穴開け予定点への移動走査（ビーム走査と称する）が全て完了した段階でレーザビームを照射するという工程を繰り返している。
【００１１】
以下、レーザ穴開け機の各機器が、システムとして如何に作用して穴開け加工を行うかを、図５を参照して説明する。
【００１２】
レーザ穴開け機１０を作動するときの装置への入力は、ＣＡＤデータ５０とパソコン上のウィンドウ５２から入力されるＧＵＩ入力の二つである。
【００１３】
即ち、穴開け位置、基板位置合せ用のアライメントマーク位置、レーザ照射回数（ショット数と称する）等の穴開け条件は、図示しないＣＡＤ装置により作成され、ファイルに保存されている。基板の種類は、携帯電話基板、マザーボードのパッケージ基板などが主であり、穴座標の配置が、多くの場合、ある程度の点の集まり（パターン）をいくつか並べた形式になっていることが多い。従って、ＣＡＤデータ５０自体も、穴位置データを全て並べるという方法ではなく、図６に示す如く、パターンの始まりと終わりの信号の間に穴座標を配置し、その後にそのパターンについてのシフト量をパターン数だけ書き並べるという方法を採っているものが多い。
【００１４】
加工担当者は、パソコン上の入力用のウィンドウ５２で、加工データファイル名の入力箇所に、フレキシブルディスク又はネットワーク上にあるＣＡＤデータ５０のデータファイルを選択する。その他、点データのＸＹ交換（点データのＸ座標とＹ座標を入れ替えてガルバノユニットの処理領域分割線を、例えば、Ｘ軸垂直からＹ軸垂直に変更するための交換）をするかどうか、右ユニット２２Ｒの位置（Ｌ軸値）、ＣＡＤデータ５２のフォーマット（Ｅｘｃｅｌｌｏｎ、ＳＨＩ、ＨＺフォーマット等）等といった、いくつかの項目に関し、選択式の入力を行う。
【００１５】
全ての入力項目への入力を完了し、加工担当者が入力完了ボタン（入力を中心とした変換ボタン）を押下すると、計画装置６０が入力内容を基に計画処理を行い、計画完了信号を返す。するとパソコン画面上に、選択した基板に対する計画結果が目視で確かめられるよう、穴開け位置、左右ユニット処理の区別、走査エリアの配置位置等を視覚的に表現した平面図が現れる。加工者は、平面図を確認し、問題なければ、ウィンドウ上の加工開始ボタンを押下する。この操作により、レーザ穴開け加工機１０は作動する。
【００１６】
計画装置６０が計画し、作成するデータは、Ｌ軸値データＡ、ステージ停止位置（走査エリア位置）データＢ、ステージ停止位置の訪問順序データＣ、各走査エリア内の穴開け位置データＤ、各走査エリア内の穴開け位置訪問順序データＥの５つである。
【００１７】
従来、前記計画装置６０は、図７に示すような方法で、ＣＡＤデータ５０とウィンドウ入力値に従って設定を行っていた。
【００１８】
以下、計画装置６０が計画し、作成するデータについて、詳細に説明する。
【００１９】
（１）ユニット間距離データＡ
左右ガルバノユニット２２Ｌ、２２Ｒ間の距離（Ｌ軸値）Ａは、例えば約１５０〜３００mmの範囲で設定可能とされている。パソコンの入力用ウィンドウ５２に従って、距離を設定する。このデータは、右ユニット２０Ｒを駆動するときの指令値として使用する。
【００２０】
（２）走査エリア位置データＢ
各ユニットの作業領域を、例えば格子点間距離が４０mmの正方格子状に小分割する。４つの格子点に囲まれた４０mm×４０mmの正方形すべてを走査エリアとする。
【００２１】
（３）走査エリア位置訪問順序データＣ
始点は、各ユニットの左下隅の走査エリアとする。ステージが走査エリア間を訪問する軌跡（ステージパスと称する）として、例えば図８に示す如く、Ｘ軸方向を蛇の進行方向とする蛇行経路を採ることができる。
【００２２】
（４）各走査エリア内の穴開け位置データＤ
すべての穴開け位置に対し、例えばラベルを用いて、自分の属する走査エリアを一つ特定する。
【００２３】
（５）各走査エリア内の穴開け位置訪問順序データＥ
各走査エリアは、例えば、４０mm×４０mmの正方形であるが、図９に示す如く、その正方形領域を例えばまずＸ軸について、例えば１０等分し、Ｙ軸に平行な直線を、エリアの左端から４mm毎に書き加える。その結果、Ｙ軸方向４０mm、Ｘ軸方向４mmの短冊状領域が１０個できる。各短冊状領域の穴開け位置に対し、Ｙ座標値によるソートをする。但し、隣り合う短冊状領域は、常に、一方が昇順、もう一方が降順並びとする。ある短冊状領域の最後の点の次に訪問する点が、その右隣の短冊状領域の最初の点になるようにする。以上の操作により決定される、走査エリア内の穴開け位置間をビーム照射位置が訪問する軌跡（ガルバノパスと称する）は、全体的には、Ｘ軸方向を蛇の進行方向とする蛇行経路を採ることができる。
【００２４】
レーザ穴開け機の各機器は、制御装置６２からの指令に従い動作する。
【００２５】
具体的には、前記右ユニット２２Ｒの駆動は、加工開始指令を、制御装置６２が受けたタイミングで指令される。移動が完了した時点で移動完了信号を制御装置６２に伝える。
【００２６】
又、前記レーザ発振器１２によるレーザの発振は、両ユニット２２Ｌ、２２Ｒの二つの第２スキャナ３２Ｌ、３２Ｒから出される移動完了信号の両方を、制御装置６２が受けたタイミングで指令される。必要なショット数を発振完了した時点で、発振完了信号を制御装置６２に返す。その走査エリアの最後に訪問する点であれば、その走査エリア内にある全ての穴開け位置のレーザ穴開け加工処理が終了したという信号を、制御装置６２に返す。又、その走査エリアの最後に訪問する点であって、且つ、現在の走査エリアが最後に訪問するエリアであれば、加工終了信号を、パソコン上のウィンドウ５２に伝える。
【００２７】
又、前記スキャナ２８Ｌ、２８Ｒ、３２Ｌ、３２Ｒの駆動は、レーザ発振器１２から出力されるレーザ発振完了信号、又は、ＸＹステージ４０から出力される移動完了信号を、制御装置６２が送るタイミングで指令される。次の穴開け位置点への移動を完了する時点で、移動完了信号を制御装置６２に返す。
【００２８】
前記ＸＹステージ４０の駆動は、スキャナ２８Ｌ、２８Ｒ、３２Ｌ、３２Ｒから出力される、ある走査エリア内のすべての穴開け位置のデータ穴開け加工処理が終了したという信号を、制御装置６２が受けたタイミングで指令される。次の走査エリアへの移動が完了した時点で、移動完了信号を制御装置６２に返す。
【００２９】
【特許文献１】特開平１１−１４９３１７号公報
【発明の開示】
【発明が解決しようとする課題】
【００３０】
しかしながら、従来の計画方法は、穴開け点位置の分布状態に係らず、予め作成しておいた型に嵌めようという方法であり、決して最適であるとは限らず、特に、次の４点について最適な設定を行える装置が望まれていた。
【００３１】
（１）点データＸＹ座標交換
（２）ユニット間距離設定
いずれも従来は、入力ウィンドウにおける二者択一という安直な設定方法であり、最適な方法設定ができない。
【００３２】
（３）ステージパス設定
上記の設定法に従えば、穴開け位置が１カ所しかないような走査エリアも出てきてしまい、走査エリアの数が最適化されていない。
【００３３】
（４）ガルバノパス設定
上記設定法に従えば、１回の移動距離が、例えば走査エリアの端から端まで４０mmであるような無駄な動きも出てくる。
【００３４】
なお特許文献１には、半導体ウェハの各加工対象チップ内の加工対象のヒューズを溶断するに当り、２つのヘッドの相対的な位置関係を決定し、該位置関係を維持しつつ、全加工対象チップを結ぶチップ間最適経路、及び、チップ内のヒューズ、ブロックの全てを結ぶ最適経路を決定する方法が記載されているが、領域を２分割するのではなく、加工領域があるチップに移った時の、加工すべきヒューズ位置の分担を、（２ヘッド用フライブロック用内ヒューズ数）／（２ヘッド用フライブロック）を最大化できるよう、二つの加工処理部に二分するものであり、本願が対象とする、レーザ穴開け機に適用するのに適したものではなかった。
【００３５】
又、出願人は、特願２０００−３１８０で、走査エリア内のガルバノパスを巡回セールスマン問題を解くことにより最適化する方法を提案しているが、ステージパスについては考慮しておらず、未だ十分なものでは無かった。
【００３６】
又、前記のような加工計画のプログラムは、通常、レーザ加工機のソフトウェアに組み込まれているが、計算負荷が大きく、計算専用の高速処理マシンを持たせられない加工機側の動作に悪影響を与えたり、最新のプログラムを使用するためには毎回バージョンアップする必要がある等の問題点を有していた。これは、加工計画のプログラムを抽出して、単品のソフトウェアとして提供する場合でも同じである。なお、フレキシブルディスク等の記録媒体を利用して、ユーザから加工位置データを郵送してもらい、メーカ側のサポートセンタ等で加工計画を作成して、郵送で送り返すことも考えられるが、郵送でのやり取りに時間がかかってしまう。
【００３７】
本発明は、前記従来の問題点を解消するべくなされたもので、幾何学的点データを効率良く格納するデータ構造を導入することにより、加工時間短縮を目的とする加工計画の精度を落とすことなく、加工計画にかかる計算時間を短縮することを第１の課題とする。
【００３８】
本発明は、又、前記加工計画を実施するための加工計画装置を提供することを第２の課題とする。
【課題を解決するための手段】
【００３９】
本発明は、複数方向に走査又は移動可能とされた加工手段を用いてワークを加工する際に、ワーク上に散在する加工位置又は加工エリアを表わす点の位置データを、ツリー型のデータ構造で表現することにより、前記第１の課題を解決したものである。
【００４０】
又、前記ツリーを、ｋ次元二分探索木としたものである。
【００４１】
又、ワーク上に散在する加工エリアの位置を決定した後、前記ツリーを用いて、各加工エリア内の点データを列挙するようにしたものである。
【００４２】
又、前記ツリーの根節点から、内部節点については、その節点の子節点が表わす領域と探索領域との重なり具合により、その節点の子節点を探索するかどうかを判定し、葉節点に行き着いた時のみ、直接、点データにアクセスするようにしたものである。
【００４３】
又、前記ツリーを用いて、注目点に最も近い点を探索する最近傍点探索処理を行うようにしたものである。
【００４４】
又、前記最近傍点探索処理を、前記ツリーの根節点から始めるようにしたものである。
【００４５】
又、注目点を中心とする、現在の最近傍点までの距離を半径に持つ円と節点の表わす領域が重なりを持つ場合に、その節点について探索を行うようにしたものである。
【００４６】
又、前記節点が葉節点である場合は、当該節点が表わす領域内の全ての点について距離を求め、短いかどうか判定するようにしたものである。
【００４７】
又、各点のデータが、それぞれ自分の所属する葉節点に関する情報を有し、前記最近傍点探索処理を、最近傍を探そうとしている注目点の存在する葉節点に直接アクセスし、次いで、探索が必要である節点が存在する場合に限り、前記ツリーの根節点の方向に溯ることにより行うようにしたものである。
【００４８】
又、注目点を中心とする、現在の最近傍点までの距離を半径に持つ円と節点の表わす領域が、現在の節点を表わす領域の外にはみ出す場合は、そのはみ出し具合に応じて、自分の兄弟節点又は自分の親の兄弟節点の探索を行うようにしたものである。
【００４９】
又、前記最近傍点探索処理と、見つかった最近傍点を外したツリーを用いて、次の最近傍点を探索する処理とを反復することにより、注目点に近い順に近傍点を列挙するようにしたものである。
【００５０】
又、前記最近傍点探索処理により、未だ加工経路につなげられていない最近傍点を探索して新たな注目点とし、加工経路につなげる処理と、見つかった注目点を外したツリーを用いて、次の最近傍点を探索して新たな注目点とし、加工経路につなげる処理を、始点から終点まで繰り返して、加工経路を作成するようにしたものである。
【００５１】
又、前記ツリーから、見つかった点を外す処理を、各点データに付随するインデックスの終了番号を減らすか、又は、開始番号を増やすことにより行うようにしたものである。
【００５２】
又、前記ツリーから、見つかった点を外すと、ある節点内の点データが全て消えてしまう場合は、その節点を訪れる必要が無いことを示す情報を、節点に持たせるようにしたものである。
【００５３】
又、前記の加工計画方法により決定された加工経路を、巡回セールスマン問題を適用して加工順序を決定する際の初期解とするようにしたものである。
【００５４】
又、ある加工エリア内の点データの配置と、別の加工エリア内の点データの配置とが相対的に一致しているエリアの組を発見することにより、必要のない負荷の高い演算を省くことにより、前記第２の課題を解決したものである。
【００５５】
更に、前記点データの配置が相対的に一致するエリアの組を探す処理を、一方のエリアの全点に対し、一定の座標のずれ量を加えた点位置データを作成し、もう一方のエリアのツリーの根節点から、前記点位置データの存在する領域を表す節点へと次々に移り、葉節点に移ったときにのみ前記点位置データと一致する点位置データが存在するかどうかを調べるという処理により行うようにしたものである。
【００５６】
又、前記ツリーを、加工エリア内の点データを最少数の同寸矩形で囲む処理において、ループ呼び出しで一時的な加工エリアを作成する度に、その一時的な加工エリア、及び、各加工エリア内の一時的な点位置データの両方について作成するようにしたものである。
【００５７】
又、前記ツリーを、加工エリア確定時に、加工エリア、及び、各加工エリア内の点位置データの両方について作成するようにしたものである。
【００５８】
本発明は、又、前記のいずれかの加工計画により決定された加工（例えばレーザ加工やドリル加工）を行う加工方法を提供するものである。
【００５９】
本発明は、又、前記のいずれかの加工計画を実施するためのコンピュータプログラムを提供するものである。
【００６０】
本発明は、又、複数方向に走査又は移動可能とされた加工手段を用いてワークを加工する際に加工計画を立てるための加工計画装置において、ツリー型のデータ構造で表現された、ワーク上に散在する加工位置又は加工エリアを表わす点の位置データを記憶する手段と、前記ツリー型のデータ構造で表現された位置データを用いて、加工エリア位置や加工順序を決定する手段とを備えることにより、前記第２の課題を解決したものである。
【００６１】
本発明は、又、前記の加工計画装置を含む加工装置を提供するものである。
【００６２】
本発明は、又、前記の加工計画装置を実現するためのコンピュータプログラムを提供するものである。
【００６３】
本発明は、又、前記コンピュータプログラムが記録された、コンピュータ読み取り可能な記録媒体を提供するものである。
【発明の効果】
【００６４】
本発明によれば、加工位置情報を数学的に捉えて機器の動作をより最適に計画することにより、レーザ加工の加工時間を短縮させることが可能となる。
【００６５】
又、加工時間短縮を目的とする加工計画の精度を落とすことなく、計画にかかる計算時間を短縮することができる。
【００６６】
本発明より高速化される処理及び使用回数は、例えば前記直交領域探索においては、一時的領域内の一つ一つのエリア決定の途中、エリア決定時に用いられるので、凡そ「一時的領域の作成回数×エリア数平均」回である。
【００６７】
又、前記近傍点リストの作成は、巡回セールスマン問題の前処理であるため、全ての点データ及びエリア位置データに各１回ずつ用いられるので、「穴開け位置数＋半領域のエリア数」回である。
【００６８】
又、前記ニアレストネイバー法は、巡回セールスマン問題につき１回ずつ用いられるので、最大「１＋基板全体のエリア数」回である（"１"はステージパスを計画する時の巡回セールスマン問題）。
【００６９】
又、前記全一致問い合わせにおけるエリア同士の比較の回数は、最大約「（基板全体のエリア数）2／２」回である（二乗の項が存在するので計算量が多いように一見感じられるが、エリア同士の穴配置の完全一致判定は、一点でも全一致点が存在しない点が存在すれば判定終了なので、一般的には大した計算量とはならない）。
【００７０】
上記のうち、特に、近傍点リストを作成し巡回セールスマン問題を解くという流れの処理（反復改善法の範疇に属する解法は基本的にこの流れに沿う）、全ての計算に対して占める割合が多く、その分、高速化が顕著に表われる。
【００７１】
一方、木の作成にかかる時間は余計に必要となるが、木の作成回数は、「一時的領域の作成回数＋１＋基板全体のエリア数」回であり、木の作成により高速化する処理を行う回数よりも十分小さく、又、作成に費やす時間もそれほど長くはないので、問題にならない。
【００７２】
従って、全体的には計算時間の短縮効果は十分にある。
【発明を実施するための最良の形態】
【００７３】
以下図面を参照して、レーザ穴開け機に適用した本発明の実施形態を詳細に説明する。
【００７４】
本発明に係るレーザ穴開け機の加工計画装置７０の実施形態は、図１０に示す如く、複数ユニット（本実施形態では２ユニット）のエリア配置計画装置７２と、ステージ・ガルバノパス計画装置７６とから構成される。
【００７５】
前記２ユニットのエリア配置計画装置７２は、穴開け点の座標値を元に、走査エリア（加工エリア）の数が最小となるような左右ガルバノユニット２２Ｌ、２２Ｒの作業領域を決定し、ＸＹ座標値の変換が必要ならば実行し、前記ユニット間距離Ａを決定して、走査エリア位置データＢ、及び各走査エリア内の穴開け位置データＤを作成する。
【００７６】
この２ユニットのエリア配置計画装置７２の中には、２次元領域内のすべての点を最小数の同寸の矩形により包囲して矩形の配置を決定するエリア配置計画装置７４が組み込まれており、最適なユニット間距離を決定できるまでループ処理を繰り返すという処理を行う。
【００７７】
前記エリア配置計画装置７４は、ある領域とその領域内の穴開け位置に対し最小枚数の走査エリア数となるエリア配置を計画する。
【００７８】
前記ステージ・ガルバノパス計画装置７６の入力は、走査エリア位置データＢと穴開け位置データＤであり、走査エリアを訪問する順序（ステージパス）及び各エリアの穴開け位置を訪問する順序（ガルバノパス）を計画して、走査エリア位置訪問順序データＣ及び穴開け位置訪問順序データＥを作成する。
【００７９】
以下、図１１を参照して各装置が行う処理について具体的に説明する。
【００８０】
前記２ユニットのエリア配置計画装置７２は、図１２に示す如く、いわゆる「一変数関数の最小化」処理を行う。本実施形態では、一変数関数の極小化アルゴリズムとして一般的に知られる黄金分割法を用いた。即ち、エリア配置計画装置７４にユニット間距離Ａを入力すると、ステージ移動回数及び「ビーム走査回数」、又は、それらにそれぞれ重みを付けて加えたパラメータ（後で詳述する）を計算することができ、それらの計算結果を関数の出力値と見なすことができるという作用を利用し、その出力値を最小化するユニット間距離を決定する、という方法である。
【００８１】
具体的な計画の手順を説明する前に、前記「ビーム走査回数」という用語の意味と、ステージ移動回数及び「ビーム走査回数」を最少化する根拠、及び、２ユニットのエリア配置計画装置７２の内部に組み込まれたエリア配置計画装置７４の利用方法について説明する。左右ユニットの同時加工エリアの穴開け数の内、大きい方を取り、１を引いたものは、ある同時加工エリアにおけるビーム走査回数であるが、その値を全ての同時加工エリアについて総和を取ったものを「ビーム走査回数」と定義する。このビーム走査回数が少ないほど、左右の同時加工エリアの穴数均衡性が取れており、一方のユニットのみで照射加工を行っている、いわゆる無駄打ちの状況が減り、総加工時間は減少する可能性が高い。又、ステージ移動回数が少ないほど、総加工時間が減少する可能性が高いことは容易に想像できる。
【００８２】
なぜなら、総ビーム走査時間と総ステージ移動時間の２つは総加工時間の大部分を占めており、それらは大略、
総ビーム走査時間の総和＝（ビーム走査時間の平均）×（ビーム走査回数）、
総ステージ移動時間の総和＝（ステージ移動時間の平均）×（ステージ移動回数）
で求めることができる。ビーム走査時間とステージ移動時間の平均値の短縮は、ステージ・ガルバノパス計画装置７６の役割であり、実現可能であり、もし、２ユニットのエリア配置計画装置７２によってビーム走査回数及びステージ移動回数を最少ならしめることができれば、総加工時間は減少するはずだからである。
【００８３】
エリア配置が決定した時点における、左右ビーム照射領域のエリア配置は、ユニット間距離が加工時には一定であることから、他方は一方をユニット間距離だけ平行シフトすると完全に一致する関係にある。そこで、ユニット間距離Ａをある値に設定すると、図１３に示す如く、左右領域の例えば左端を一致させる重ね合わせを行って、テンポラリーな領域を作成し、できた領域に対して、エリア配置計画装置７４を用いて、最少数の走査エリア配置を決定し、その時のビーム走査回数及びステージ移動回数を計算することができる。
【００８４】
エリア配置計画装置７４を上述のように用いることにより、任意のユニット間距離に対するステージ移動回数及びビーム走査回数を図１４に示すように求めることが可能である。即ち、これらの値が最小となるユニット間距離を、例えば黄金分割法などの一変数関数の極小化手法により数ステップの反復処理で求めれば、目的は達成される、という原理である。
【００８５】
黄金分割法は、厳密には一変数関数の「最小化」アルゴリズム（全域的最適解発見アルゴリズム）ではなく、「極小化」アルゴリズム（局所的最適解発見アルゴリズム）であるが、実際的には、多峰的形状の関数の最小値を求めることは、非常に困難であるため、本実施形態では、数ステップで極小値を発見することが可能である黄金分割法を用いた。より最小値に近い極小値を求める場合には、例えばシミュレーティッドアニーリング法（simulated-annealing method）などのヒューリスティック（heuristic）解法（発見的解法ともいう）を用いてもよい。
【００８６】
実際には、上記二つの関数の形状は複雑であり、両方を最適にする位置を決定するのは困難である（一般に「多目的（ここでは２目的）最適化問題」と呼ばれる）。
【００８７】
そこで、ビーム走査平均時間は約１〜３ｍｓｅｃ程度、ステージ移動平均時間は約０．２〜０．４秒程度であるので、ビーム走査とステージ移動に約１００〜４００（＝β）程度の重みをつけ、
Ｇ（ビーム走査回数）＋β×Ｓ（ステージ移動回数）
を最小とするように設定することができる（「重みパラメータ法」と呼ばれることもある）。ここで、βは、実験により決めておく。
【００８８】
この操作により、２目的最適化問題を１目的最適化問題に還元することもできる。
【００８９】
なお、ビーム走査回数Ｇにも係数γを付加して、
γ×Ｇ＋β×Ｓ
としてもよい。
【００９０】
この一般式は、実験で求めたβの値が小数値である場合、一般に計算機は小数値の演算より整数値の演算の方が高速であるので、Ｇ＋β×Ｓ全体を適当な整数倍（γ倍）して、
γ×Ｇ＋γ×β×Ｓ
として、γ×βを新たにβで置き換えたもの、と考えることができる。
【００９１】
又、β＝０、γ＝１ならば、Ｇ、即ちビーム走査回数を表す。又、β＝１、γ＝０ならばＳ、即ちステージ移動回数を表す。本問題では、ＧとＳの最少となるユニット間距離の値は近いと予想されるので、どちらか一方のみの最適化により、計算時間を短縮することも可能である。
【００９２】
具体的には、図１２に示した如く、まずステップ１０１で、穴開け点位置の座標を入力する。
【００９３】
ついで、ステップ１０２〜１０４及びステップ１０５及び１０７により、ユニット間距離が最小の位置（約１００mm）と、最大の位置（約３００mm）における走査エリア数及びビーム走査回数、又は、それらにそれぞれ重みを付けて加えたパラメータを、エリア配置計画装置７４により算出する。
【００９４】
ここでは、ユニット間距離Ａを、従来と同様に、最小値１００ｍｍ、最大値３００ｍｍとしている。シミュレーションにより、最適なユニット間距離は、横幅を１／２に分割した位置に近い位置にあることは確かであるが、基板によっては、１００ｍｍより小さい場合や、３００ｍｍより大きい場合もある。１００ｍｍという下限は、ユニット自体の物理的な幅があるため変えられない場合もあるが、３００ｍｍという上限は変えられるようにすることもできる。又、１００ｍｍ、３００ｍｍという最小値、最大値は、上記手順の初期位置（ステップ１０２、１０５）に設定されているが、基板の大きさによっては、この範囲にエリア最小の位置が入らないことや、明らかに１００ｍｍ近辺は距離が短すぎて調べる必要がないこともある。従って、基板のサイズにより、初期位置も臨機応変に設定する。
【００９５】
ついで、ステップ１０８で、ユニット間距離Ａを直前位置２回の間の適切な位置（例えば黄金分割比）に再設定し、ステップ１０９及び１１０で、その位置における走査エリア数をエリア配置計画装置７４により算出する。
【００９６】
図１２のステップ１１０でγ×Ｇ＋β×Ｓを計算した結果、最小であると判断できれば、ステップ１１１でループを終了し、最小にはなっていないと判断されれば、ステップ１０８に戻る。
【００９７】
ステップ１１１でループを脱出した場合、その時のエリア数及びユニット間距離を記憶して、ステップ１１２で、点データのＸＹ座標を交換して、破線で囲まれたステップ１０２乃至１１１のループ処理を再度実行する。
【００９８】
このようにして、データのＸＹ座標交換を行うことにより、元のデータのＸＹ両方の軸の垂直分割を実現し、その両方についてユニット間距離Ａの最適化を行い、良い方を採用することにより、ビーム走査回数、ステージ移動回数が、一層少なくなるようなユニット間距離の設定ができる。例えば図１５に示すような基板の場合、図１６に示す如く、Ｘ軸方向の分割とＹ軸方向の分割の両方について計算して、最適な方を選択することができる。
【００９９】
なお、基板の置き方を９０度変えた場合には、そのことを加工者に知らせる必要がある。あるいは、基板をレーザ加工機に載置するローダに回転機構を設けて、自動的に回転してもよい。
【０１００】
上記のような比較により、図１２のステップ１１４で、ステージ移動回数及びビーム走査回数が最少なユニット間距離を確定する。元のＣＡＤデータにおけるＸ軸を分割しているのであれば、もう一度ＸＹ座標交換を行って、元に戻す。
【０１０１】
この段階で、ユニット間距離及びおおよそのエリア配置が求まる。エリア枚数は最小になったが、走査エリアが重複している場合がある。そこで、ステップ１１５に進み、重複箇所の穴開け位置がどの走査エリア内に含まれるものであるかを確定、即ち、全ての穴開け点位置の所属する走査エリアのラベル（番号）を確定する。
【０１０２】
即ち、図１７に示す如く、エリアＦとＧが重複していて、エリアＦ（１）、Ｆ（２）とエリアＧ（１）、Ｇ（２）（括弧内の数字１は左ユニット、数字２は右ユニットを表わす）の両方のエリアに重複する領域Ｗ（１）、Ｗ（２）がある場合には、次式に示す如く、左右のエリアＦの穴数の多い方と、左右のエリアＧの穴数の多い方の和が最小となるよう、左右の同時加工エリアの穴数を均等に配分することによって、時間短縮につなげることができる。
【０１０３】
Ｍｉｎ（Ｍａｘ（Ｆ（１）の穴数、Ｆ（２）の穴数）+Ｍａｘ（Ｇ（１）の穴数、Ｇ（２）の穴数）...（１）
【０１０４】
今、図１８の上段に示す如く、左ユニットのエリアＦ（１）のみに属する穴開け位置が３０穴、同じくエリアＧ（１）のみに属する穴開け位置が２０穴、重複エリアＷ（１）が６０穴とし、右ユニットのエリアＦ（２）にのみ属するものが１０穴、エリアＧ（２）のみが４０穴、重複エリアＷ（２）が５０穴であったとすると、特に工夫することなく、機械的に、例えば、先に決定したエリアに全て配分した場合には、図１８の中段に示す如く、左ユニットのＦ（１）が９０穴、Ｇ（１）が２０穴、右ユニットのＦ（２）が６０穴、Ｇ（２）が４０穴となり、エリアＦのガルバノショット数が９０回、エリアＧのガルバノショット数が４０回で合計１３０回となる。
【０１０５】
これに対して、本発明により同時加工エリアの穴数を均等化した場合には、図１８の下段に示す如く、左ユニットのＦ（１）に５５穴、Ｇ（１）に５５穴、右ユニットのＦ（２）に５５穴、Ｇ（２）に４５穴で、エリアＦのガルバノショット数が５５回、エリアＧのガルバノショット数が５５回となり、合計１１０回で、計２０回減少させることができる。
【０１０６】
今、重複箇所配分処理を実行する順序は、例えばランダムな順番、重複穴数の多い順番等のように適切な方法を取るよう、決定しているものとして、重複箇所配分処理の手順を述べる。ここで、穴数を小文字でｆ（１）、ｇ（１）等と示す。ここで、ｆ（１）、ｆ（２）を、それぞれ、左又は右ユニットのエリアＦのＧと重複しない位置に属する穴、ｇ（１）、ｇ（２）を、それぞれ左又は右ユニットのエリアｇのｆと重複しない位置に属する穴とし、ｆｇ（１）、ｆｇ（２）を、それぞれ、左又は右ユニットのエリアＦ、Ｇの２エリアの重複領域Ｗ１、Ｗ２にある穴とし、｜ｆ（１）｜、｜ｇ（１）｜、｜ｆ（２）｜、｜ｇ（２）｜を、それぞれ、左ユニットのエリアＦ（１）又はＧ（１）、右ユニットのエリアＦ（２）又はＧ（２）へ属している穴数とする。
【０１０７】
すると、具体的な処理手順は、例えば図１９に示す如くとなり、まずステップ２０１で、ｆ（１）−ｆ（２）、ｇ（１）−ｇ（２）及びその絶対値を計算する。次いで、ステップ２０２で、数値例を示した図２０に矢印Ａで示す如く、絶対値の大きい方のエリアの穴数の少ない方に、重複箇所から穴数を補充する。次いでステップ２０３で、図２０に矢印Ｂで示す如く、絶対値の小さい方のエリアの穴数の少ない方に、重複箇所から穴数を補充する。次いでステップ２０４で、図２０に矢印Ｃで示す如く、重複箇所に残った穴をＦとＧに均等に配分して、処理を終了する。
【０１０８】
以上のステップにより、重複箇所の穴開け位置をエリアＦとＧに配分する個数が決定されるが、どの穴開け位置がＦへ、どの穴開け位置がＧへ配分されるかは、決定しない。その配分方法は、例えば、Ｆの中心からの距離を重複箇所の穴開け位置すべてに関して求め、Ｆの中心から近いもの順にＦへ配分される穴数分だけＦに配分する、というヒューリスティックな方法を取る。
【０１０９】
なお、エリアが重複した穴の配分方法は、これに限定されず、例えば、図２１に示すごとく、各エリアの中心からの距離が近いほうに配分しても良い。
【０１１０】
図１２のステップ１１５終了後、ステップ１１６で、走査エリアの中心を、元のエリア８内の点データの存在位置を使って微調整し、修正後のエリア８´の中央に点が集まるようにして、加工精度を向上する。具体的には、図２２に示す如く、穴開け位置の広がりの中心（各軸最小、最大の平均値）で微調整したり、あるいは、図２３に示す如く、穴開け位置の重心が修正後のエリア８´の中心となるように微調整することができる。後者の場合、一部の点Ｐが外れる場合には、すべての点が収まる限界まで修正する。図２３の例では、Ｙ軸は重心位置までシフトしても問題ないが、Ｘ軸は重心位置に移動すると、外れてしまう点Ｐがあるので、穴開け位置がすべて収まる限界まで中心位置をシフトする。
【０１１１】
この操作は時間短縮には結びつかないが、ｆθレンズ３４Ｌ、３４Ｒの収差等の関係で、中心の方が高精度であるため、加工精度向上に有効である。
【０１１２】
実用上の問題として、パソコン上のウィンドウ５２により入力して代替処理として可能な、上記ステップをより簡略化した、次の方法を採用することもできる。
【０１１３】
この代替処理法は、点データのパターンを利用する方法であり、図２４に本方法による処理の概略を示す。又、図２５に、本方法におけるユニット間距離の候補を表す例を示す。
【０１１４】
本方法は、Ｘ軸に垂直にユニット作業領域を分割した場合と、Ｙ軸に垂直に分割した場合の両方について、「点のある場所の左端から、点のある場所の横幅を半分割した位置から点のある場所までユニットの分割線をシフトした場所までの距離」をユニット間距離と決めた時のエリア数と、ＣＡＤデータにパターン情報がある場合には、「パターンのシフト量のうちユニット間距離の最小値（約１００mm）と最大値（約３００mm）の間にあるもの」全てについて、パターンのシフト量をユニット間距離と定めたときのエリア数をエリア配置計画装置７４により求め、全ての中で最もエリア数の小さいものを選択する、という方法である。
【０１１５】
図２５の例では、最適なユニット間距離は、最大パターンＡのシフト量２６０mm、若しくは半分割（基板横幅５６０mm÷２＝）２８０mmとなる。
【０１１６】
本方法では、ユニット間距離を黄金分割法により、適切な位置に定めていくのではなく、ステップ３０２乃至３０５において、パターンのシフト量のうちで、ユニット間距離の最小値と最大値の間にあるものについて、すべて行うようにした点が、図１２の例と異なる。他の点に関しては同様であるので、同じ符号を付して、説明は省略する。
【０１１７】
一方、２ユニットのエリア配置計画装置７２に組み込まれている前記エリア配置計画装置７４は、２次元領域の全ての点を最少数の同寸矩形（例えば正方形）で包囲するときの矩形エリアの配置を決定するものである。この装置により、最少走査エリア数（従って、最少のステージ移動回数）を実現することが可能となる。
【０１１８】
以下、図２６を参照して、本装置によるエリア配置決定手順を詳細に説明する。
【０１１９】
ここで、各処理において、現在注目している位置（Ｘ、Ｙ）が、エリア（正方形）の左下隅の頂点であるものとする。各処理において、エリアの位置を更新する。
【０１２０】
まずステップ４０１で穴開け位置の座標を入力する。
【０１２１】
ついで、ステップ４０２で、穴開け位置をＸ座標の値によってソートする。又ステップ４０６、４０９、４１１において、エリア位置をＸ軸負の向き、もしくはＸ軸正の向きに更新している。これは、全体的にはＸ軸の値の小さい穴開け位置から、一つのエリア決定ループにおいては、エリアの重複をなるべく避けられるよう、エリアのＸ軸値、Ｙ軸値を更新しつつ、Ｙ軸の値の小さい穴開け位置から点を包囲しようという狙いによる。
【０１２２】
本装置には、Ｙ軸負の向き（下方）の２つのエリア位置更新処理（ステップ４０６、４１１）と、Ｘ軸正の向き（右方）のエリア位置更新処理（ステップ４０９）がある。
【０１２３】
以下、図２７乃至図３２を参照して、具体的な処理手順を説明する。
【０１２４】
今、図２７において、４つのエリアＥ１〜Ｅ４が確定し、５番目のエリアＥ５の位置を探す場合を考えると、まず、ステップ４０３で、ソートされた順に、まだ被覆エリアが確定していない点を探す。ステップ４０４で、図２８に示す如く、囲まれていない一番左の点Ｐ１を発見し、ステップ４０５で、該点Ｐ１を包囲するエリアＥ５を仮に作成した後、ステップ４０６で、エリア位置を下方に更新すべく、エリア幅分の帯領域Ｂ１について、囲まれていない一番下の点、即ち、現在のエリア位置Ｅ５の下の部分で、まだエリアの決定していないＹ座標値が最小のものを探す（エリア位置の更新１）。無ければ、先ほどの位置で確定する。
【０１２５】
一方、図２９に示す如く、一番下の点Ｐ２が見つかった場合には、この点が下辺の位置になるように、エリアＥ５の位置を下方に動かす。見つかったとすると、Ｙ座標の値をＹ′で更新するが、（Ｘ、Ｙ'）におけるエリアと、これまでに確定しているエリアとの重なりが、図３０に示す如く、ある値より大きい場合には、重なりが大きいエリアの上部の重なっていない領域ｅの中でＹ座標が最小のものを再度探す。領域ｅ内に点が発見されれば（Ｙ″）、領域ｅのＹ座標値最小のものＹ″でＹ座標の値を更新して重なりを回避する。領域ｅ内に点が発見されない場合には、次に処理するエリア位置の右方更新により、全く重なりがないように右方へ位置を更新されるはずなので、Ｙ座標の値を、そのままＹ′で更新する。
【０１２６】
ステップ４０７でＹ座標の値が更新されたときには、ステップ４０９に進み、エリア位置を右方に更新すべく、図３１に示す如く、エリアＥ５の位置を右方に移動し、現在のエリアの中で、Ｘ座標値が最小の点Ｐ３の値でＸ座標の値を更新する（エリア位置の更新２）。
【０１２７】
ステップ４０９でＸ座標の値が更新された場合には、ステップ４１１に進み、エリア位置を再び下方に更新するための処理を行う（エリア位置の更新３）。具体的には、図３２に示す如く、現在のエリアの位置（Ｘ、Ｙ）から、Ｙ軸負の向きに、これまでに決定しているエリアの４つの辺の内、上部の辺のＹ座標の中で最大のものを探し出す。但し、下側に移動しても、一定以上は辺が重複しないエリアは無視することにする。発見された辺のＹ座標をＹ′とする。現在のエリアの下部、且つＹ座標値がＹ′以上の矩形領域Ｂ２内について、未だエリアの決定していないＹ座標値最小のものを探す。発見されれば、その値でＹ座標値を更新する。
【０１２８】
本装置には、一つのエリアを決定するための第一ループと、エリアの位置を右方、下方に微調整するための第二ループが存在する。エリア位置が決定すると、第一ループから脱出し、エリア位置更新ステップ４０９、４１１において、エリア位置が更新されないと、第二ループから脱出する。
【０１２９】
上記の処理を、エリアの位置が確定する迄、繰返して、図３３に示す如く、最終的なエリアＥ５の位置を確定し、次のエリアを探すループに移る。なお、走査方向やエリア位置の更新方向等は、前記説明に限定されず、例えば逆であっても良い。
【０１３０】
前記エリア配置計画装置７４における処理の変形例として、図３４に示す如く、組合せ最適化問題における局所探索法（local search）（反復改善法（iterative improvement method）ともいう）を応用して、従来のエリアの配置から、まず全く点の無いエリアを除去したエリア配置を作成し、エリア位置を上下左右にシフトさせて、不要になるエリアを次々に除去していくことも可能である。
【０１３１】
具体的には、図３５に示す如く、まずステップ５０１で、図３４（Ａ）に示したような従来のエリアから、点の無いエリアを除くことにより、図３４（Ｂ）に示したようなエリア配置を初期解として発生する。ただし、ここで「解」とは、「全ての点を包囲するエリア配置（及びエリア数）」の可能な組合せ（解集合）の内の一つを指す。又、「良い解」とは、ここではエリア数の少ない解を指す。
【０１３２】
初期解の発生方法は、上記に限らず様々な方法が考えられる。例えば、「まだ包囲されていない点を最も多く包囲する位置を発見し、エリアを配置する」という処理を、全ての点が包囲されるまで繰り返す、という組合せ最適化問題において知られる、いわゆるグリーディー算法（貪欲算法）的な方法などでもよい。
【０１３３】
又、図２６に見られるような手順により決定されるエリア配置を初期解としても良い。
【０１３４】
次いで、ステップ５０２で、ｙに初期解ｘを代入して、ステップ５０３で、解ｙの近傍Ｎ（ｙ）内を探索する。具体的には、図３６に示す如く、ある注目エリアＥiについて、そのエリア内に単独に所属している点が、そのエリアから漏れないという制限下で、エリア位置を動かせる領域内のある位置に動かしたときに、動かした位置のエリア内に、注目エリアＥiの隣接エリアの１つＥj内に単独に所属している点が全て入る場合には、その隣接エリアＥjは不要なので、削除することによって、ｙより良い解ｚを発見し、ステップ５０５で、発見された解ｚの値をｙに代入して、再びステップ５０３を繰り返す。
【０１３５】
ステップ５０３の処理において、Ｎ（ｙ）内にｙより良い解が発見できなくなった段階で、ステップ５０６に進み、現在のｙの値をもって解とし、処理を終了する。
【０１３６】
あるいは、図３７に示す如く、重複箇所により連結しているある２つの隣接するエリアＥi、Ｅi+1について、その２エリア内に単独に所属している点、即ち重複部以外の領域に存在する点が、その２つのエリアから漏れないという制限の下で、エリア位置を動かせる領域内のある位置に２つのエリアを動かしたときに、隣接エリアの一つＥj内に単独に所属している点が全て入る場合には、その隣接エリアＥjは不要なので、削除することもできる。
【０１３７】
なお、重複箇所により連結しているエリアの数は２より大きくても構わない。即ち、２以上の任意のｎに対し、重複箇所により連結しているあるｎ個のエリアＥi、・・・Ｅi+n-1について、そのｎエリア内に単独に所属している点、即ち重複部以外の領域に存在する点が、そのｎ個のエリアから漏れないという制限の下で、エリアを動かせる領域内のある位置にｎ個のエリアを動かしたときに、隣接エリアの一つＥj内に単独に所属している点が全て入る場合には、その隣接エリアＥjは不要なので、削除することもできる。
【０１３８】
前記ステージ・ガルバノパス計画装置７６は、走査エリアの訪問順序（ステージパス）及び各走査エリア内の加工位置（穴開け位置）点の訪問順序（ガルバノパス）の最適化を計画する。この装置の基本的な処理手順を図３８に示す。この装置は、一般に広く知られている巡回セールスマン問題（全ての都市を訪問して最初の都市に戻ってくる一巡経路の中で、一巡経路長が最小のものを求める問題：ＴＳＰとも略する）、もしくは、状況に応じて一般的なＴＳＰを改良した方法（改良ＴＳＰと称する）を適用することを大きな特徴とする。又、場合によっては、一巡してもとの位置に戻る必要がない場合は、走査あるいは移動の始点と終点を決定する処理も必要となる。
【０１３９】
状況に応じた巡回セールスマン問題の適用法及び始点と終点の決定に際しては、次の項目に特に注目する。
【０１４０】
ステップ６０１のステージパスの計画の場合、ＸＹステージ４０は、図１に示したように、Ｘ軸方向のみへの移動を生み出すＸステージ４０Ｘと、Ｙ軸方向のみへの移動を生み出すＹステージ４０Ｙの２台のステージにより構成されているため、ＸＹステージ４０の１回の移動完了は、２台のステージ４０Ｘ、４０Ｙの両方の移動が完了した時点とする。一般に、Ｘステージ４０Ｘは、Ｙステージ４０Ｙの下に位置するため、重くできており、図３９に例示するように、応答性が劣る。
【０１４１】
従って、加工位置（x１，ｙ１）から（x２，ｙ２）への移動距離Ｌは、移動距離が等しいときは、常に、Ｘ軸方向の移動時間がＹ軸方向の移動時間の一定（α）倍になると仮定して、定数αを実験などで求めた後、次式で求める。
【０１４２】
Ｌ＝ｍａｘ｛｜ｘ１−ｘ２｜，α｜ｙ１−ｙ２｜｝              ...（２）
ここで、ｍａｘ｛ｐ、ｑ｝は、ｐとｑの大きい方を表す記号である。
【０１４３】
あるいは、移動距離ｌに対するＸ軸方向、Ｙ軸方向の移動時間Ｔｘ（ｌ）、Ｔｙ（ｌ）を実験などで求めて、次式で求めることもできる。
【０１４４】
Ｌ＝ｍａｘ｛Ｔｘ（｜ｘ１−ｘ２｜），Ｔｙ（｜ｙ１−ｙ２｜）｝...（３）
【０１４５】
又、ステージパスの始点と終点であるが、図４０の上段に示す如く、始点はローダからステージへ搭載する位置、終点は、アンローダに移す前のステージの位置とし、端点を固定した巡回セールスマン問題を解くことによって、ステージ動作時間を効果的に短縮することができる。
【０１４６】
始点・終点を合わせたステージの最適経路を図４０の中段に、その時の基板上の訪問順序（基板上のエリア訪問方向とステージ移動方向は１８０°逆になる）を図４０の下段に示す。
【０１４７】
ステップ６０２〜６０４のガルバノバス計画の場合、距離に関しては、第一、第二ガルバノスキャナ２８Ｌ、２８Ｒ、３２Ｌ、３２Ｒは、一方が他方の軸（Ｘ軸又はＹ軸）の位置を独立に変更するような仕組みであるため、一つの走査エリアの１回のガルバノスキャナの走査完了は、第一、第二両方のガルバノスキャナの走査が完了した時点とする必要がある。しかしながら、一般に、第二ミラー３０Ｌ、３０Ｒへの照射可能範囲は、第一ミラー２６Ｒ、２６Ｌへの照射可能範囲より広く、従って第二ミラーは第一ミラーよりも重くできており、図４１に例示する如く、応答性が劣る。
【０１４８】
以上の理由から、穴開け位置（ｘ１、ｙ１）から（ｘ２、ｙ２）への移動距離Ｍは、（移動距離が等しいときは、常に第二ミラーの移動時間が、第１ミラーの移動時間の一定倍になると仮定して）定数αを実験などで求めた後、次式で求めることができる。
【０１４９】
Ｍ＝ｍａｘ｛｜ｘ１−ｘ２｜、α｜ｙ１−ｙ２｜｝              ...（４）
【０１５０】
あるいは、移動距離Ｍを基板上の座標で求めるのではなく、ガルバノミラーの走査角θ、δにより、次式で求めることもできる。
【０１５１】
Ｍ＝ｍａｘ｛｜θ１−θ２｜，α｜δ１−δ２｜｝              ...（５）
【０１５２】
更に、別の距離設定方法として、実験などで移動距離ｍに対するＸ軸方向、Ｙ軸方向の移動時間Ｔｘ（ｍ）、Ｔｙ（ｍ）を実験で求め、次式で求めることもできる。
【０１５３】
Ｍ＝ｍａｘ｛Ｔｘ（｜ｘ１−ｘ２｜）、Ｔｙ（｜ｙ１−ｙ２｜）｝...（６）
【０１５４】
なお、例えば図４２の上段に示す如く、左右のユニットの同時加工エリアのビーム走査時間に偏りがあって、一方に待ち時間が生じる場合には、ステップ６０３で、始点を互いにずらしてマッチングをとることによってビーム走査時間の偏りを無くし、総加工時間を短縮することができる。
【０１５５】
即ち、例えば、図４３の上段に示すような左エリアで点Ｐ１（１）〜Ｐ５（１）、右エリアで点Ｐ１（２）〜Ｐ４（２）を加工する場合には、図４３の中段よりも、下段のように、右領域の始点をＰ１からＰ２に変更することによって、総移動時間を大幅に短縮することができる。
【０１５６】
又、ガルバノパスの始点と終点であるが、具体的には、図４４に示す如く、巡回セールスマン問題を適用して一巡訪問順序を決定し、最も距離の長い（時間のかかる）移動Ｌｍａｘを除けるよう、始点と終点を決定することができる。
【０１５７】
あるいは、実用上、特に訪問位置が少ない時等は、代替処理として、図４５及び図４６に示す如く、「（一巡経路長）−（最長の移動長）」を最短にするように一巡経路を決定して、最長の移動を除くようにすることもできる。巡回セールスマン問題の手法の内、ｋオプト法やＬＫ法は、いずれも「解（ある一巡経路）の近傍を探索し、近傍解で更新する」というループの繰返しにより解を逐次改善していく。従って、各ループの「解」として、「一巡経路長」ではなく、「（一巡経路長）−（最長の移動長）」で評価すれば、最終的な解としても、「（一巡経路長）−（最長の移動長）」が最小になる。図４６の場合、右側の方が一巡経路長は少ないが、「（一巡経路長）−（最長の移動長）」で較べると、左側の方が最適解となっている。
【０１５８】
又、ステップ６０１及び６０２で用いる巡回セールスマン問題の手法としては、例えば、ニアレストネイバー法、マルチプルフラグメント法、２オプト法、３オプト法、リンアンドカーニハン法（ＬＫ法）、ＩＴＥＲＡＴＡＤ−ＬＫ法、ＣＨＡＩＮＤ−ＬＫ法、ＩＴＥＲＡＴＥＤ−３オプト法、ＣＨＡＩＮＤ−３オプト法等を、計算時間と効果（経路長）の両方を考慮して、使い分けることができる。
【０１５９】
（１）２ユニットのエリア配置計画装置
（ａ）エリア配置計画装置の効果
いくつかの実基板データに対し、エリア数演算装置７４を基板全体に適用した時の結果を図４７及び図４８に示す。ここでは、エリア数の変化のみに着目するため、２ユニットによる領域２分割処理は行わず、基板全体をエリア化している。又、数値的な結果を図４９にまとめて示す。穴開け位置数や点の密集度等、様々な条件により結果は異なるが、平均１０〜３０％程度エリア数が減少することが確認されている。
【０１６０】
（ｂ）ユニット間距離最適化の効果
ある実基板データ（穴開け位置数４８４９０）に対し、Ｘ軸を２分割した時の、ユニット間距離Ａを横軸に、ビーム走査回数を縦第１軸、ステージ移動回数を縦第２軸にとったグラフを図５０に示す。ここではエリア配置計画装置７４は使用しておらず、従来の方法で走査エリアを決定している。又、数値的な結果を図５０にまとめて示す。ここで、「半分割」、「パターンの先頭」が従来法である。
【０１６１】
ビーム走査回数は、２４６２７回となり、従来法（半分割で２６１１１回、パターンの先頭で約２７０００回）と比較して５％程度改善している。なお、ステージ移動回数（７１回）は、従来の方法と最適な位置とで差がなかったが、これは、縦、横の幅のみに依存する従来のエリア配置決定法に従ってエリア配置を決定したためである。前記のエリア配置計画装置を使ってエリア配置を決定すれば、ステージの移動回数についても差が出ると思われる。
【０１６２】
（２）ステージ・ガルバノパス計画装置
（ｃ）巡回セールスマン問題適用の効果
４０ｍｍ×４０ｍｍの正方領域に、穴開け位置を乱数を使って発生させて、シミュレーションを試みた。横軸に穴開け位置の数、縦軸にガルバノスキャナの１回の移動の平均値をとって作成した線図が図５２及び図５３である。実験に用いた距離測度として、前出（２）式、（４）式でα＝１として、ステージ、ガルバノスキャナ共に、Ｘ方向の移動速度とＹ軸方向の移動速度を同じと仮定した距離を用いている。ここでは、従来の方法と、巡回セールスマン問題の１手法としてよく知られている、３オプト法を適用した場合とを比較している。図５４に結果の一部を抜粋してまとめる。穴開け位置数の違いによらず、ガルバノスキャナの１回の移動距離の平均値は、約３０〜４０％改善されている。
【０１６３】
以上より、エリア配置計画装置によるエリア数の減少の効果を合わせて、ステージ総移動時間は確実に減少し、凡そ２０〜３０％程度改善する。
【０１６４】
以上のように、前記のステージ・ガルバノパス計画装置の適用により、ガルバノスキャナの総移動時間は確実に減少し、約３０〜４０％改善する。
【０１６５】
なお、前記のような計画装置の大きな特徴として、巡回セールスマン問題等、組合せ最適化問題的な面と、二次元平面のデータの探索等、計算幾何学的な面がある。これらの問題は一般に、処理方法が悪いと、膨大な計算時間を必要とする。即ち、穴開け位置というような幾何学的点データを解析し計画する場合、一般的に、計画の精度を向上することと計画にかかる計算（ＣＰＵによる演算）時間とはトレードオフの関係にあり、良い計画を実現するためには、計画の実行形態がオンライン処理であれオフライン処理であれ、計算に費やす時間が膨大に必要となり、計画自体に非常に時間が必要になる。
【０１６６】
そこで、このような問題点を解消した本発明の実施形態を詳細に説明する。
【０１６７】
本実施形態は、２次元平面における点の位置データを、ツリー型のデータ構造、例えばｋ次元二分探索木（略してｋｄ−木）で表現することにより、例えばレーザ穴開け機の加工計画装置に表われる、次のような処理を高速化し、計画自体にかかる時間を短縮する。
【０１６８】
（１）矩形領域内に存在する点を列挙する矩形領域探索問題
（２）ある点について最も近い点を探す最近傍点探索問題
（３）ある点についての近傍点を、ある個数まで順番に挙げていく近傍点リストの作成
（４）巡回セールスマン問題の解法の１つであるニアレストネイバー法による巡回経路の形成
（５）ある領域とある領域の点配置が、全く同じかどうかを判定する全一致問い合わせ処理
【０１６９】
まず、ｋｄ−木について説明する。ｋｄ−木は、多次元空間内の点データの探索（例えば、データベースでの基本的な問い合わせである、直交領域探索（range query）、全一致問い合わせ（exact match query）、部分一致問い合わせ（partial match query）など）を効率よく行うためのデータ構造の一つであり、一次元領域内の探索を効率よく行うためのデータ構造として知られている、二分探索木（binary  search  tree）を多次元に一般化したもので、グラフ理論における二分木の構造に表現されるものの一つである。
【０１７０】
ここで、図５５に示す二分木に関して、用語についてのみ簡単な注訳を加えておく（説明のための最低限の注訳であり、用語の正確な定義についてはグラフ理論の参考書に委ねたい）。二分木は通常、最上部に配置された根（root（図中のR））と呼ばれる特別な節点（node（○印））から系統図的に下方へ広がった形に表される。それゆえ、二分木の節点同士の関係は、一般的に生物の血縁関係を表す用語を用いて表される。例えば、ＡはＣの「親」、Ｄ、ＥはＢの「子」、ＤとＥとは「兄弟」、ＡはＦの「祖先」、ＦはＡの「子孫」など。二分木の定義から、各節点は最大２つの子節点しか持たない。また、子を持たない節点を「葉（leaf）」節点といい、その他の節点を内部（internal）節点（根を含む）と呼び区別する。
【０１７１】
通常の二分探索木は、簡単に言うと、
（１）木の内部節点（根を含む）は、必ず２つの子節点を持ち、探索を手助けするための分割値を蓄える、
（２）木の葉節点は、点そのもの（複数も可）を蓄える、
という構造を有する。
【０１７２】
この考えを拡張し、多次元の二分探索木、ｋｄ−木の場合には、
（１）木の内部節点（根を含む）は、２つの子節点を持ち、探索を手助けするための分割線を入れる軸（Ｘ軸又はＹ軸）及び分割値を蓄える、
（２）木の葉節点は、点そのもの（複数も可）を蓄える、
という構造を有する。即ち、通常の二分探索木では、内部節点は、区間情報（線分）と二分するための分割値（線分の切断箇所）を保持していたが、ｋｄ−木の場合は、領域情報（矩形領域）と領域を二分するための分割線（矩形の縦もしくは横に平行な二分直線）を保持する。例えば、図５６のように二次元平面に散布する９個の点データ（Ｐ1〜Ｐ9）は、二分木を用いると図５７のように表現され得る。各点データは、根から順に、内部節点の蓄える分割線により次々に二分され、最終的に点データの個数が二個以下にまで細分されると、葉節点となっているのが分かる。
【０１７３】
２次元ｋｄ−木は、分割軸の設定の仕方等にバリエーションがあるが、本実施形態では、次のように定めている。
【０１７４】
（１）内部節点（図５７のｌ1、ｌ2、ｌ3、ｌ4）における分割軸は、その節点の表わす矩形領域（節点の表す短形領域とは、元の点データの存在する領域が根から順に次々と二分割されるときの、その節点の蓄える分割線によって二分される前の領域のことを表す。例えば、根の表す領域とは、元の点データの広がりそのものである）の、横幅と縦幅の広がりを比較し、大きい方を二分するように設定する。
【０１７５】
（２）内部節点における分割値は、その節点の表わす矩形領域の全ての点（ｎ個とする）を、分割軸の値（分割軸がＹ軸なら、Ｙ座標のことを指す）が、小さい方から数えて、ｎ／２番目（ｎが奇数である場合は切り捨て）の要素（即ち、真中の要素）の値により分割する。
【０１７６】
（３）節点は、その節点の示す点データの数がある個数以下（図５７では２個以下）になったとき葉節点（図１７ではＰ1・・・Ｐ9）となる。
【０１７７】
（４）従って、葉節点は、図５８に示す如く、（インデックス付の配列の点データが格納されているとして）点データに割り振られた番号のインデックスを２つ持つ（始まり位置と終わり位置）。
【０１７８】
各節点は、具体的には、例えばＣ言語（Ｃ＋＋言語）における構造体を用いると、図５８のように表すことができる。ここで、struct  kdnodeは節点、bucket（整数型）は葉節点（例えば１）と内部節点（例えば０）の別、cutdim（整数型）は分割軸の方向（Ｘ軸又はＹ軸に平行）、cutval（浮動小数点型もしくは整数型）は分割値、＊loson、＊hisonは子節点のポインタ、lopt（整数型）は開始インデックス、hipt（整数型）は終了インデックスを、それぞれ示す。また、各葉節点の表す領域に所属する実際の点データは、例えば配列を用いてperm[lopt・・・hipt]に蓄えられる。
【０１７９】
ｋｄ−木において、各節点が保持すべき最低限必要な項目は、次のとおりである。
【０１８０】
・内部節点・・・分割線（分割軸及び分割値）及び子の情報
・葉節点・・・穴開け位置の開始インデックスと終了インデックス
【０１８１】
従って、内部節点（bucket＝０）の場合は、図５８のcutdim、cutval、＊loson、＊hisonがあれば良く、葉節点（bucket＝１）の場合は、loptとhiptがあれば良い。
【実施例】
【０１８２】
以下、レーザ穴開け機の加工計画装置において、ｋｄ−木を用いることによる効果のある処理について、説明する。
【０１８３】
（１）矩形領域探索
図５９に示す如く、矩形領域範囲（枠）内の、枠に平行な矩形領域内の点を列挙する矩形領域探索処理における、「領域内の点を最少数の同寸矩形で囲む」処理において、エリア位置決定過程で、又、エリア位置を決定後、そのエリア内の点を列挙するときに用いる。
【０１８４】
即ち、従来は、全ての点データにアクセスし、探索領域内か否かを判定し、報告していたのに対し、本発明では、ツリーの根節点から、葉節点へのトップダウン的な探索を行う。即ち、節点が内部節点であるならば、その節点の表わす領域と探索領域との重なり具合により、その節点の両方の子節点を探索するかどうかを判定する。判定は、次のようにして行う。
【０１８５】
（１）探索領域が節点の表わす領域内に含まれるとき・・・その節点を根とする部分木内の点データ全てを報告する。
【０１８６】
（２）探索領域と節点の表わす領域とが一部重なるとき・・・探索を続ける。
【０１８７】
（３）探索領域と節点の表わす領域とが重なりを持たないとき・・・探索しない。
【０１８８】
節点が葉節点であれば、その節点の全ての点データにアクセスし、探索領域内かどうかを判定して、探索領域内の点を順に報告する。
【０１８９】
従来の方法では、全ての点にアクセスする必要があり、レーザ穴開け機の穴開け位置の数が多くなるにつれ、探索にかかる時間が大きく膨れ上がるのに対して、本発明に係るｋｄ−木による探索方法では、直接点データにアクセスするのではなく、木の根節点から葉節点へのトップダウン的な探索方法であり、各節点での判定は、探索領域との重なり具合（包含、重複、重複無し）のみであり、葉に行き着いたときのみ、直接点データにアクセスするので、探索に費やす時間が確実に削減される。
【０１９０】
（２）最近傍点探索
（３）近傍点リストの作成
（４）ニアレストネイバー法（巡回セールスマン問題）
【０１９１】
上記（２）（３）（４）の処理は、いずれも巡回セールスマン問題の演算高速化と密接に関係する処理である。特に、（３）、（４）の処理は、（２）を反復して用いるものであるので、まとめて説明する。
【０１９２】
（２）最近傍点探索
この最近傍点探索は、図６０に示す如く、領域内の注目点に最も近い点を探索する処理である。この処理は、（３）近傍点リストの作成、及び（４）ニアレストネイバー法において反復して用いられる。
【０１９３】
（３）近傍点リストの作成
図６０に示した如く、領域内の注目点について、その点に近い順に、見つかった点を適当な数（リスト長と称する：図５８の例では３個）分、列挙する。この処理は、最近傍点探索処理と、見つかった最近傍点をツリーから一時的に外す処理の反復により実現される。又、この処理は、巡回セールスマン問題の高速化のための各点データに付随するデータ作成という位置付けの前処理であり、領域内全ての点に対して行う処理である。
【０１９４】
（４）ニアレストネイバー法
このニアレストネイバー法は、図６１に示す如く、初期点を適当に決めて注目点とし、「注目している点の未だ経路につなげられていない最近傍点を探し、発見された点を新たな注目点とする」という処理を、一巡経路となるまで繰り返す処理である。この処理は、最近傍点探索処理と、見つかった最近傍点をツリーから一時的に外す処理の反復により実現される。
【０１９５】
又、この処理は、高速な処理が行えることと、それなりの精度（巡回経路長）の解が得られるという２つの利点があるので、図６２に示す巡回セールスマン問題の反復改善法の範疇に属する解法を用いるときの初期解（ステップ５０１）として用いることが出来る。
【０１９６】
前記最近傍点探索に際して、従来は、領域内の注目点について、領域内のその点以外の全ての点への距離を算出し、最も距離の近い点を挙げていた。
【０１９７】
又、前記近傍点リストの作成に際して、従来は、領域内の注目点について、領域内の該注目点以外の全ての点への距離を算出し、リストに距離の短いものから順にリスト長分に並べる処理をするようにしていた。
【０１９８】
又、前記ニアレストネイバー法を実現するための従来の方法は、各反復において、注目点について、未だ経路につなげられていない点全てについて距離を算出し、一番短いものを探し出し、注目点を更新するというものである。
【０１９９】
これらの処理は、全て（２）最近傍点探索を用いるものであるが、本発明による最近傍点探索の方法は、木のなぞり方により大きく分けて２種類ある。木の根から探索するトップダウン的方法、及び、最近傍点を探している注目点の存在する葉節点から探索するボトムアップ的方法である。
【０２００】
まず、トップダウン的方法について、図６３を参照して具体的な処理手順を説明する。
【０２０１】
この方法は、「現在の節点を根とする部分木のトップダウン的探索処理」を再帰的（recursive）に呼び出すことにより実行されるものである。即ち、破線で囲んだ部分が、「現在の節点を根とする部分木のトップダウン的探索処理」であるが、この処理の内部で、現在の節点を左もしくは右の節点に更新して破線部の処理を行う（ステップ１００５、１００６、１００９、１０１０）。
【０２０２】
ステップ１００１において、現在の節点を根に設定し、最近傍点迄の距離を充分大きな値に設定する。次いで「現在の節点を根とする部分木のトップダウン的探索処理」は、ステップ１００２において、まず現在の節点が葉節点であるかどうかを判定する。葉節点である場合は、ステップ１００３において、全ての点データにアクセスし、最近傍点が発見できれば更新する。内部節点ではある場合には、ステップ１００４において、左右どちらの子節点の領域を優先して探索するかを決定する。この処理は、現在の節点の分割線の分割値（図５８における、cutval）と、最近傍点を探している注目点の分割線の分割軸の値との比較により決定する。ステップ１００７、ステップ１００８の判定は、直前の節点で探索を行った節点の兄弟節点の表す領域を探索する必要があるかどうかの判定である。ここでは、図６４に示す如く、最近傍点を探している注目点を中心とする、現在の最近傍点までの距離を半径に持つ円（ここで円とは、中心から等距離上にある点を結んだ閉曲線という意味であり、距離測度はユークリッド距離である必要はない）と、節点の表す領域が重なりを持つかどうか（含まれても良い）によって判定する。
【０２０３】
次いで、ボトムアップ的方法について、図６５を参照して具体的な処理手順を説明する。
【０２０４】
この方法は、最近傍点を探している注目点の存在する葉節点を探索の開始節点に設定し、必要に応じて現在の節点の兄弟節点や親節点の探索を行う探索方法である（この場合、各接点に親節点を指すポインタを付加する必要が生じる。従って、例えば図５８において、構造体の要素に、kdnode型ポインタ*fatherを加える。ただし根節点の親節点は存在しないので、ＮＵＬＬとする）。
【０２０５】
ステップ２００１において、現在の接点を最近傍点を探している注目点の存在する葉節点に設定し（従って、各点データは自分の存在する葉節点を指すポインタを持つ必要が生じる）、最近傍点までの距離を充分大きな値に設定する。ステップ２００２は、実際には現在の接点は葉節点にあるので、現在の節点内の全ての点にアクセスし最近傍点を更新する。ステップ２００３において、現在の節点の表す領域の外を探索する必要があるかどうかを判定する。具体的には、最近傍点を探している注目点を中心とする、現在の最近傍点までの距離を半径に持つ円が、現在の節点の表す領域の内部に含まれるかどうかを判定する。内部に含まれないなら、次いで破線により囲まれたループ処理に入る。
【０２０６】
ループからの脱出判定基準は２つある。一つはステップ２００５における判定で、ここではステップ２００６で更新された現在の節点が根であるかどうかを判定する。もう一つはステップ２００８における判定で、ここでは現在の節点の親節点の表す領域の外を探索する必要があるかどうかを判定する。具体的には、ステップ２００３と同じく、最近傍点を探している注目点を中心とする、現在の最近傍点までの距離を半径に持つ円が、親節点の表す領域に包含されているかどうかの判定である。
【０２０７】
ループ処理の内部のステップ２００６において、現在の節点の兄弟節点の表す領域を探索する必要があるかどうかを判定する。具体的には、最近傍点を探している注目点を中心とする、現在の最近傍点までの距離を半径に持つ円が、現在の節点の表す領域と重なりを持つかどうかの判定である。重なりを持つ場合は、ステップ２００７において、実際に探索を行う。
【０２０８】
即ち、図６６に例示する如く、注目点が領域Ｄにあるとすると、ボトムアップ的方法では、探索を注目点Ｑ１のある領域Ｄからスタートさせる（ステップ２００１）。この領域において、全ての点について注目点Ｑ１までの距離を調べ（ステップ２００２）、発見された最近傍点がＱ２であったとすると、次にこの領域外にＱ２より近い点がある可能性があるかどうかを調べるため、Ｑ１を中心とする、半径がＱ１とＱ２の間の距離の円が、領域Ｄの外にはみ出しているかを判定する（ステップ２００３）。この例では、円がＤ内に収まっていないので、まだ探索の必要がある。領域Ｄは根の表す領域（全体領域）ではないので（ステップ２００５）、次に領域Ｄの兄弟である領域Ｅの探索が必要かどうかを判定する（ステップ２００６）。判定の基準は円との重複であるが、この例では重複しているため、領域Ｅ内の探索を行う（ステップ２００７）。この例では、領域ＥにおいてＱ２よりもＱ１に近い点、Ｑ３が発見された。ここまでで領域Ｄ、Ｅ内（即ち、領域Ｂ内）の探索が終了したが、次に、領域Ｂの外にもＱ３より近い点があるかもしれないので、再び注目点Ｑ１と最近傍点Ｑ３との間の距離を半径に、注目点Ｑ１を中心に持つ円が領域Ｂの外にはみ出しているかどうかを判定する（ステップ２００８）。この例では、はみ出しており、領域Ｂの兄弟領域Ｃを探索する必要がある事が分かるので、現在の節点を、領域Ｂを表している節点に更新し（即ち、領域Ｄの親領域に更新し）（ステップ２００９）、ステップ２００５に戻る。以上のようなステップを繰り返して、この例では最終的には領域Ｈ内に最近傍点Ｑ４を発見し、終了する。
【０２０９】
（３）近傍点リストの作成
近傍点リストの作成は、上記（２）最近傍点探索と、「発見された最近傍点を木から一時的に外す」処理を交互に行うことにより実現される。
【０２１０】
木から一時的に点データを外すのは、次のようにして行うことができる。即ち、木の葉節点は、図５８に示したように、各点データに付随するインデックスの開始番号と終了番号を持っている。従って、基本的には、終了番号（又は開始番号）を１つ減らし（増やし）、減らされた番号（増やされた番号）の位置のデータと交換すればよい。もしその点を消すと、その葉節点内の点データが全て消えてしまうようなときには、その葉節点を訪れる必要を無くすように、自分の節点が表わす領域から点が消えている状態であれば、それが分かるように節点の情報を持つ（各節点に対し、点があるかどうかが分かるように、例えば図５８において、構造体の要素にempty（整数型）を加える）。
【０２１１】
（４）ニアレストネイバー法
このニアレストネイバー法の解法は、（３）と同様、上記（２）の最近傍点探索と、発見された最近傍点を木から一時的に外す処理を交互に行うことにより実現される。（３）と異なるのは、（３）は注目点では常に固定しているのに対し、（４）は、発見された最近傍点を注目点に更新していくところにある。
【０２１２】
従来、最近傍点探索については、注目点に対し、他の点データ全てにアクセスして距離算出演算をして、最大のものを残す必要があった。又、近傍点リストの作成については、各点データに関し、他の点データ全てにアクセスして距離算出演算をする他、各演算の度に現在のリストの相応しい順位に点データを挿入する必要があった。又、この作業は、全ての点データに対し行う処理なので、全ての点データの組に対し、距離算出演算を行っていた。又、ニアレストネイバー法の解法については、各点に対し、未だ巡回路につなげられていない点を認識し、それらの点データ全てにアクセスして距離算出演算を行い、最大のものを残すという対応をする必要があった。
【０２１３】
これらの方法は工夫が見られず、特に、近傍点リストの作成については、ｋｄ−木を使わない方法であると、計算時間が膨大となるため、ｋｄ−木を作成しない方法、つまり巡回セールスマン問題の高速化のための前処理をせずに、いきなり巡回セールスマン問題を解くという方法を採らざるを得なくなっていた。しかしながら、前処理無しでは、限られた計算時間で精度のよい解を得ることはできず、加工時間短縮の効果は薄かった。
【０２１４】
一方、本発明によるｋｄ−木による探索方法では、最近傍点探索については、トップダウン的な方法とボトムアップ的な方法の２種類があるが、特に、ボトムアップ的な方法は、注目点の存在する葉節点に直接アクセスできるので、大幅に高速化できる。
【０２１５】
又、近傍点リストの作成については、特にツリーから点データを外す処理が高速でできるので、処理を大幅に高速化できる。この近傍点リストの作成は、巡回セールスマン問題の局所探索法の範疇に属する方法の高速化のための前処理であるので、間接的にではあるが、巡回セールスマン問題も高速化できる。
【０２１６】
ニアレストネイバー法の解法についても、同様の理由で高速化できる。このニアレストネイバー法は、巡回セールスマン問題の局所探索法の範疇に属する方法の初期解であるので、結局、巡回セールスマン問題の解法処理の一部を高速化できることになる。
【０２１７】
（５）全一致問い合わせ
全一致問い合わせとは、ある点について、それと相対座標値が完全に一致するものが、領域の中に存在するかどうかについて問い合わせを行う処理である。この問い合わせを利用すれば、或る走査エリアと別の走査エリアにおける相対的な配置パターンが、全く一致しているかどうかを判定することができる。
【０２１８】
全ての穴開け位置は、それぞれ所属する１つの走査エリアを持っている。走査エリア内の点は、巡回セールスマン問題を用いて訪問順序（ガルバノパス）が最適化される。巡回セールスマン問題の計算量は、他に比べて大きいので、全ての走査エリアについて巡回セールスマン問題を解く代わりに、全ての走査エリアについて、全ての点位置が全く等しいエリアを探す処理を行い、巡回セールスマン問題を解く必要のないエリアを探す。そのようなエリアが発見でき、巡回セールスマン問題を解く必要がなくなれば、計算高速化に直結する。
【０２１９】
巡回セールスマン問題を解く必要を無くすという意味であれば、エリアに対する全ての点位置が全く等しいという必要はなく、各点の相対的な位置関係が一致していれば充分である。即ち、図６７上段のように、全ての点位置が全く等しい場合には、エリアＰのガルバノパスを決定すれば、エリアＱのパスを再計画する必要はない。同様に、図６７下段に示すエリアＲとエリアＳのように、一方の点位置が他方の点配置にオフセットが載った状態である場合にも、やはり、エリアＲのパスを決定すればエリアＳのパスを計画する必要はない。オフセット量は、両エリア内の代表的な点、例えばｘ最小かつｙ最小な点同士の絶対座標の差にすればよい。
【０２２０】
この全一致問い合わせを利用した走査エリア同士の相対的な点配置一致判定処理は、エリア位置決定時に行われる。
【０２２１】
従来は、領域内の点全てにアクセスし、注目点の座標値と一致するかどうかを一つ一つ比較していた。
【０２２２】
これに対して、ｋｄ−木を用いる本発明では、ある注目エリアと別の注目エリアのオフセット量を計算し、ある注目エリアの各点の座標にオフセット量を加えた座標が別の注目エリアに存在するかどうかを、別の注目エリアのツリーの根節点から、現在の節点の子節点について、探している座標の存在する方の子節点へと次々に移るという方法により探索を行い、葉節点に到達したら、節点内の全ての点について、一致するかどうかを一つ一つ比較する。
【０２２３】
このようにして、全ての点データにアクセスするのではなく、二分木の根節点からのトップダウン的探索方法により、比較の回数が減り、計算が高速になる。
【０２２４】
本発明で用いるｋｄ−木は、点位置データ、及び、点位置データが存在する領域から作成される。本実施形態においては、テンポラリな領域作成時とエリア位置確定時にｋｄ−木を作成する。
【０２２５】
即ち、テンポラリな領域作成時の直交領域探索処理は、「領域内の点を最少数の同寸矩形で囲む」処理において、エリア位置決定時のエリア内の点列挙その他に適用される。従って、最適Ｌ軸値決定処理によるループ呼び出しで、一時的な領域を作成する度に、その一時的な領域及び一時的な点位置データに関する木を形成する。
【０２２６】
又、前記最近傍点探索処理、近傍点リストの作成、及び、ニアレストネイバー法の処理は、いずれも、巡回セールスマン問題に関するものである。巡回セールスマン問題は、大きく分けて、エリア位置訪問順序（ステージパス）と、走査エリア内穴開け位置訪問順序（ガルバノパス）を最適化するものである。故に、エリア位置確定時に、最適Ｌ軸値での一時的な領域及びＬ軸値という点データに関する木を１つ作成すると共に、走査エリア領域と走査エリアに従属する穴開け位置という点データに関する木を、各走査エリアについてそれぞれ１つずつ作成する。この各走査エリアに関する木は、前記全一致問い合わせにも利用される。
【０２２７】
なお、前記のような加工計画のプログラムは、通常、レーザ加工機のソフトウェアに組み込まれているが、計算負荷が大きく、計算専用の高速処理マシンを持たせられない加工機側の動作に悪影響を与えたり、最新のプログラムを使用するためには、毎回バージョンアップする必要がある等の負担がかかる。これは、加工計画のプログラムを抽出して、単品のソフトウェアとして提供する場合でも同じである。なお、フレキシブルディスク等の記録媒体を利用して、ユーザから加工位置データを郵送してもらい、メーカ側のサポートスセンタ等で加工計画を作成して、郵送で送り返すことも考えられるが、郵送はやり取りに時間がかかってしまう。
【０２２８】
そこで、このような問題点を解決した実施形態を詳細に説明する。
【０２２９】
本実施形態は、図６８に示す如く、レーザ加工機８０側に設けられたユーザのパソコン（ユーザＰＣと称する）８２と、例えばレーザ加工機メーカ側のサポートセンタに設けられた加工計画計算専用の高速処理が可能なパソコン（サポートセンタＰＣと称する）９０とを、インターネット１００を介して接続し、該インターネット１００を介してユーザＰＣ８２より受信した加工位置データに基づいて、サポートセンタＰＣ９０が加工計画を決定し、決定した加工計画を、前記ユーザＰＣ８２に返信するようにしたものである。
【０２３０】
図において、８４は、ユーザＰＣ８２をインターネット１００に接続させるためのブラウザ、９２は、インターネット１００にホームページを提供するためのウェブサーバ、８６、９４はＪＡＶＡ（登録商標）アプレット、８８は加工位置のＣＡＤデータ、９６は、ユーザＰＣ８２から送られてきたＣＡＤデータ８８に対して加工計画を決定するための加工順序最適化アプリケーションである。
【０２３１】
以下、図６９を参照して作用を説明する。
【０２３２】
ユーザは、ステップ３００１で、ユーザＰＣ８２のブラウザ８４を使って、サポートセンタのホームページにアクセスし、ステップ３００２でサポートセンタから返信されたＨＴＭＬデータにより、ステップ３００３で変換サービスページにアクセスする。次いで、ステップ３００４で送付されるＪＡＶＡ（登録商標）アプレットの指示に従って、ステップ３００５で変換に必要な条件を入力し、加工順序を最適化したいファイルを選択し、それらをサポートセンタＰＣ９０に、インターネット１００を利用して転送する。
【０２３３】
サポートセンタ側では、ステップ３００６で、受信データに従って、加工順序最適化アプリケーション９６により、データの加工順序の最適化変換を実施し、加工機用のデータファイルを作成する。そして、そのファイルを同じくインターネット１００で返信する。
【０２３４】
ユーザは、ステップ３００７で、受信した変換済みデータファイルをレーザ加工機に転送して、加工を実施する。
【０２３５】
このようにして、サポートセンタ側で変換を実施することで、ユーザは、常に加工計画の最新バージョンを利用し、且つ、サポートセンタの高速処理マシンを利用することができる。
【０２３６】
一方、サポートセンタ側では、ユーザに納入された加工機の加工計画プログラムを一々更新する必要がなく、加工計画プログラムの更新が容易である。又、ユーザ情報を容易に収集・蓄積することができる。
【０２３７】
本実施形態によれば、通信回線を介して加工装置側より受信した加工位置データに基づいて加工計画を決定し、前記加工装置側に返信するようにしたので、計算専用の高速処理マシンを用いて、常に、最新バージョンで加工データを迅速に作成することが可能となる。
【０２３８】
なお、前記実施形態では、ユーザＰＣが１台とされ、レーザ加工機８０とは別置とされていたが、ユーザＰＣの数や配設位置は、これに限定されず、図７０に示す第１の変形例のように、ＣＡＤ用のユーザＰＣ８３を別に設けたり、図７１に示す第２の変形例のように、ユーザＰＣ８２をレーザ加工機８０に内蔵しても良い。
【０２３９】
又、前記説明においては、ガルバノユニットの数が２とされていたが、ガルバノユニットの数はこれに限定されず、１あるいは３以上の複数であってもよい。
【０２４０】
又、前記説明においては、いずれも、エリアの形状が４０×４０ｍｍの正方形とされていたが、エリアの形状はこれに限定されず、他のサイズの正方形や、長方形を含む矩形、あるいは、円形でもよい。又、走査方向も、図７２の上段に示すような、エリアの１辺と平行な通常の走査方向に限定されず、図７２の下段に示す如く、点座標を同心回転変換した斜め方向の走査であってもよい。
【０２４１】
又、走査エリアに対してレーザビームを走査する手段もガルバノスキャナによるものに限定されず、出願人が特開２０００−７１０８９や特開２０００−３３４６３７で提案したような、リニアモータＸＹステージと高速加工ヘッドを組み合わせたハイブリット加工システム（いわゆるスクリーンカットシステムあるいはフラッシュカットシステム）であってもよい。
【０２４２】
又、適用対象も、レーザ穴開け機に限定されず、レーザビーム以外の加工手段を用いた一般の加工機（例えば機械式ドリルによる穴開け装置）にも同様に適用できることは明らかである。
【０２４３】
又、通信回線もインターネットに限定されず、専用回線や電話回線であってもよい。
【図面の簡単な説明】
【０２４４】
【図１】本発明が適用されるレーザ穴開け機の全体構成を示す斜視図
【図２】同じく、詳細構成を示す斜視図
【図３】同じく、ステップアンドリピートによる全体の加工動作を示すタイムチャート
【図４】同じく、各走査エリア内の加工動作を示すタイムチャート
【図５】レーザ穴開け機の従来の装置システム構成を示すブロック線図
【図６】同じく、ＣＡＤデータの例を示す線図
【図７】同じく、従来のデータ設定方法の処理手順の概略を示す流れ図
【図８】同じく、従来のステージ位置及びパスの例を示す斜視図
【図９】同じく、従来のガルバノスキャナパスの例を示す平面図
【図１０】本発明に係るレーザ穴開け加工計画装置の実施形態の構成を示すブロック線図
【図１１】前記実施形態における全体的な処理手順を示す流れ図
【図１２】同じく、２ユニットのエリア配置計画装置の処理手順を示す流れ図
【図１３】同じく、ユニット間距離設定の原理を説明するための平面図
【図１４】同じく、ビーム走査回数及びステージ移動回数と最適なユニット間距離の関係の例を示す線図
【図１５】同じく、ＸＹ座標変換の有用性を示すための基板の例を示す線図
【図１６】同じく、ＸＹ座標変換の様子を示す線図
【図１７】同じく、エリア重複時の穴開け位置の配分の原理を説明するための、重複時のエリア配分の例を示す平面図
【図１８】同じく、前記穴開け位置の配分の例を示す線図
【図１９】同じく、重複配分処理の具体的な処理手順の例を示す流れ図
【図２０】同じく配分の一例を示す線図
【図２１】同じく配分の他の例を示す線図
【図２２】同じく、穴開け位置の広がりの中心でエリア位置を微調整している様子を示す平面図
【図２３】同じく、穴開け位置の重心でエリア位置を微調整している様子を示す平面図
【図２４】２ユニットのエリア配置計画装置の変形例の処理手順を示す流れ図
【図２５】前記変形側におけるユニット間距離の候補の例を示す平面図
【図２６】前記実施形態のエリア配置計画装置の処理手順を示す流れ図
【図２７】前記処理手順を具体的に説明するための、次のエリア位置を探している状態を示す平面図
【図２８】同じく、囲まれていない一番左の点を発見した状態を示す平面図
【図２９】同じく、エリア幅分の帯領域について、囲まれていない一番下の領域を発見した状態を示す平面図
【図３０】同じく、確定エリアとの重なりが大きい場合の例外処理を示す平面図
【図３１】同じく、次のエリアの中で一番左の点が発見された状態を示す平面図
【図３２】同じく、重なりを回避している状態を示す平面図
【図３３】同じく、次のエリアが確定した状態を示す平面図
【図３４】エリア決定方法の変形例の原理を示す平面図
【図３５】同じく処理手順を示す流れ図
【図３６】前記変形例においてエリア近傍を探索する一例を示す線図
【図３７】同じく他の例を示す線図
【図３８】前記実施形態のステージ・ガルバノパス計画装置の処理手順を示す流れ図
【図３９】ステージによる移動時間の違いの例を示す線図
【図４０】ローダ、アンローダとＸＹステージ等の位置関係と最適経路の例を示す平面図
【図４１】本発明の原理を説明するための、ガルバノスキャナによる移動時間の違いの例を示す線図
【図４２】前記ステージ・ガルバノパス計画装置で実行される左右ユニットの移動パターンのマッチングの原理を示すタイムチャート
【図４３】同じく、左右走査エリアの一方の訪問順序のシフトによる効果を示す平面図及びタイムチャート
【図４４】始点、終点の最適設定に関して、一巡経路を決定後、最長の移動を除いている様子を示す平面図
【図４５】同じく、「（一巡経路）−（最長の移動）」により一巡経路を決定する手順を示す流れ図
【図４６】同じく、平面図
【図４７】エリア配置計画装置の効果の一例を示す平面図
【図４８】同じく、前記効果の他の例を示す平面図
【図４９】同じく、エリア数の変化状態をまとめて示す図表
【図５０】ユニット間距離最適化の効果を示すための、ユニット間距離に対するビーム走査回数とステージ移動回数の関係の例を示す線図
【図５１】同じく、数値的な結果をまとめて示す図表
【図５２】同じく、従来のガルバノパスと実施形態のガルバノパスを比較して示す線図
【図５３】同じく、従来例と実施形態における穴開け位置数とガルバノスキャナ移動距離の関係の例を比較して示す線図
【図５４】同じく、数値的な結果をまとめて示す図表
【図５５】ツリーの節点同士の関係を表す用語を説明するための線図
【図５６】本発明で用いられる二次元データの例を示す平面図
【図５７】同じくツリーへの格納状態を示す線図
【図５８】同じくデータの記述例を示す線図
【図５９】本発明の適用対象である矩形領域探索の様子を示す平面図
【図６０】同じく最近傍点探索及び近傍点リストの作成の様子を示す平面図
【図６１】本発明の実施形態における、二アレストネイバー法による巡回経路の作成過程の例を示す平面図
【図６２】同じく反復改善法（局所探索法）による処理手順の例を示す流れ図
【図６３】同じくトップダウン的方法による処理手順の例を示す流れ図
【図６４】前記トップダウン的方法における、探索を行うべき領域を判定する様子を示す平面図
【図６５】本発明の実施形態における、ボトムアップ的方法による処理手順の例を示す流れ図
【図６６】前記ボトムアップ的方法における、探索を行うべき領域を判定する様子を示す平面図
【図６７】本発明の実施形態における、全一致問い合わせの有効性を示す平面図
【図６８】実施形態のシステム構成を示すブロック図
【図６９】同じく処理手順を示す流れ図
【図７０】前記実施形態の変形例のシステム構成を示すブロック図
【図７１】前記実施形態の更に他の変形例のシステム構成を示すブロック図
【図７２】走査方向の変形例を示す平面図
【符号の説明】
【０２４５】
６…プリント配線基板（ワーク）
８、８´、８Ｌ、８Ｒ…走査エリア
１０…レーザ穴開け機
１２…レーザ発振器
１３、１３Ｌ、１３Ｒ…レーザビーム
１４…ビームスプリッタ
２２Ｌ、２２Ｒ…ガルバノユニット
４０…ＸＹステージ
４２Ｘ…Ｘステージ
４２Ｙ…Ｙステージ
７０…計画装置
７２…２ユニットのエリア配置計画装置
７４…エリア配置計画装置
７６…ステージ・ガルバノパス計画装置
８０…レーザ加工機
８２、８３…ユーザＰＣ
８４…ブラウザ
８８…ＣＡＤデータ
９０…サポートセンタＰＣ
９２…ウェブサーバ
９６…加工順序最適化アプリケーション
【図１】
2004253006.tif 000003
【図２】
2004253006.tif 000004
【図３】
2004253006.tif 000005
【図４】
2004253006.tif 000006
【図５】
2004253006.tif 000007
【図６】
2004253006.tif 000008
【図７】
2004253006.tif 000009
【図８】
2004253006.tif 000010
【図９】
2004253006.tif 000011
【図１０】
2004253006.tif 000012
【図１１】
2004253006.tif 000013
【図１２】
2004253006.tif 000014
【図１３】
2004253006.tif 000015
【図１４】
2004253006.tif 000016
【図１５】
2004253006.tif 000017
【図１６】
2004253006.tif 000018
【図１７】
2004253006.tif 000019
【図１８】
2004253006.tif 000020
【図１９】
2004253006.tif 000021
【図２０】
2004253006.tif 000022
【図２１】
2004253006.tif 000023
【図２２】
2004253006.tif 000024
【図２３】
2004253006.tif 000025
【図２４】
2004253006.tif 000026
【図２５】
2004253006.tif 000027
【図２６】
2004253006.tif 000028
【図２７】
2004253006.tif 000029
【図２８】
2004253006.tif 000030
【図２９】
2004253006.tif 000031
【図３０】
2004253006.tif 000032
【図３１】
2004253006.tif 000033
【図３２】
2004253006.tif 000034
【図３３】
2004253006.tif 000035
【図３４】
2004253006.tif 000036
【図３５】
2004253006.tif 000037
【図３６】
2004253006.tif 000038
【図３７】
2004253006.tif 000039
【図３８】
2004253006.tif 000040
【図３９】
2004253006.tif 000041
【図４０】
2004253006.tif 000042
【図４１】
2004253006.tif 000043
【図４２】
2004253006.tif 000044
【図４３】
2004253006.tif 000045
【図４４】
2004253006.tif 000046
【図４５】
2004253006.tif 000047
【図４６】
2004253006.tif 000048
【図４７】
2004253006.tif 000049
【図４８】
2004253006.tif 000050
【図４９】
2004253006.tif 000051
【図５０】
2004253006.tif 000052
【図５１】
2004253006.tif 000053
【図５２】
2004253006.tif 000054
【図５３】
2004253006.tif 000055
【図５４】
2004253006.tif 000056
【図５５】
2004253006.tif 000057
【図５６】
2004253006.tif 000058
【図５７】
2004253006.tif 000059
【図５８】
2004253006.tif 000060
【図５９】
2004253006.tif 000061
【図６０】
2004253006.tif 000062
【図６１】
2004253006.tif 000063
【図６２】
2004253006.tif 000064
【図６３】
2004253006.tif 000065
【図６４】
2004253006.tif 000066
【図６５】
2004253006.tif 000067
【図６６】
2004253006.tif 000068
【図６７】
2004253006.tif 000069
【図６８】
2004253006.tif 000070
【図６９】
2004253006.tif 000071
【図７０】
2004253006.tif 000072
【図７１】
2004253006.tif 000073
【図７２】
2004253006.tif 000074