(57)【特許請求の範囲】
【請求項１】
予め使用順位が設定された複数種類の工具を用いて加工対象物を加工する際の加工順序を設定する加工順序設定装置であって、
加工箇所の形状に基づいて、当該加工箇所を、連続した加工が行なわれる加工要素に相当するセグメントに分割するとともに当該セグメント毎に前記工具の加工パスを設定する事前情報構築手段と、
各セグメントの加工パスの位置関係と各工具の形状とに基づいて、各セグメントの加工優先順位を決定する加工優先順位決定手段と、
前記加工対象物の形状と前記各工具の形状と前記加工優先順位とに基づいて、各セグメントに対して、前記複数種類の工具のうちの一の種類の工具をそれぞれ割り当てる工具割り当て手段と、
当該工具割り当て手段で割り当てられた工具の種類毎に、セグメント間での工具の移動距離と前記加工優先順位とに基づいて各セグメントの加工順序を決定する加工順序決定手段とを備え、
前記加工優先順位決定手段は、前記複数のセグメントについて各工具の加工領域の少なくとも一部が互いに重なり合うかどうかを判定し、前記工具の加工領域の少なくとも一部が互いに重なり合う複数のセグメントがある場合には、これら重なり合う加工領域を含む複数のセグメントに対して、前記重なり合う領域を加工する際の工具の負荷がより小さいセグメントほど加工優先順位がより高くなるように、各セグメントの加工優先順位を決定するとともに、前記重なり合う領域を含む各セグメントの各加工領域をそれぞれ加工する際に加工対象物と工具との干渉が回避できる順序に各セグメントの加工優先順位を決定し、
前記工具割り当て手段は、前記各セグメントに、前記加工対象物と工具との干渉が回避可能な工具を割り当てるとともに、前記加工優先順位の高いセグメントにほど前記使用順位が高い工具を割り当てることを特徴とする加工順序設定装置。
【請求項２】
請求項１に記載の加工順序設定装置において、
前記事前情報構築手段は、前記加工パスを包含する座標値が設定された立体図形を設定する手段を含み、
前記加工優先順位決定手段は、各セグメントの前記立体図形の位置関係と前記各工具の寸法とに基づいて、セグメント間で前記加工領域が重なり合うかどうかを仮判定する第一の手段と、当該第一の手段により前記加工領域が重なり合うと判定されたセグメント間についてこれらの各加工パスを比較することで、当該セグメント間で前記加工領域が重なり合うかどうかを判定する第二の手段とを有することを特徴とする加工順序設定装置。
【請求項３】
請求項１または２に記載の加工順序設定装置において、
前記複数種類の工具は、加工部の回転軸方向の長さが互いに異なる工具であって、当該加工部の長さが短いほど使用順位が高いことを特徴とする加工順序設定装置。
【請求項４】
請求項３に記載の加工順序設定装置において、
前記加工優先順位決定手段は、前記工具の加工領域の少なくとも一部が互いに重なり合うセグメント間において、この重なり合う領域における各セグメントの加工パスの位置のうち前記工具の加工部の回転軸方向の位置に基づき前記加工優先順位を決定することを特徴とする加工順序設定装置。
【請求項５】
予め使用順位が設定された複数種類の工具を用いて加工対象物を加工する際の加工順序を設定する加工順序設定方法であって、
加工箇所の形状に基づいて、当該加工箇所を、連続した加工が行なわれる加工要素に相当するセグメントに分割するとともに当該セグメント毎に前記工具の加工パスを設定する事前情報構築工程と、
各セグメントの加工パスの位置関係と各工具の形状とに基づいて、各セグメントの加工優先順位を決定する加工優先順位決定工程と、
前記加工対象物の形状と前記各工具の形状と前記加工優先順位とに基づいて、各セグメントに対して、前記複数種類の工具のうちの一の種類の工具をそれぞれ割り当てる工具割り当て工程と、
当該工具割り当て工程で割り当てられた工具の種類毎に、セグメント間での工具の移動距離と前記加工優先順位とに基づいて各セグメントの加工順序を決定する加工順序決定工程とを備え、
前記加工優先順位決定工程では、前記複数のセグメントについて各工具の加工領域の少なくとも一部が互いに重なり合うかどうかを判定し、前記工具の加工領域の少なくとも一部が互いに重なり合う複数のセグメントがある場合には、これら重なり合う加工領域を含む複数のセグメントに対して、前記重なり合う領域を加工する際の工具の負荷がより小さいセグメントほど加工優先順位がより高くなるように、各セグメントの加工優先順位を決定するとともに、前記重なり合う領域を含む各セグメントの各加工領域をそれぞれ加工する際に加工対象物と工具との干渉が回避できる順序に各セグメントの加工優先順位を決定し、
前記工具割り当て工程では、前記各セグメントに、前記加工対象物と工具との干渉が回避可能な工具を割り当てるとともに、前記加工優先順位の高いセグメントにほど前記使用順位が高い工具を割り当てることを特徴とする加工順序設定方法。
【請求項６】
予め使用順位が設定された複数種類の工具を用いて加工対象物を加工する際の加工順序を設定するための演算をコンピュータに実行させるための加工順序設定プログラムであって、
加工箇所の形状に基づいて、当該加工箇所を、連続した加工が行なわれる加工要素に相当するセグメントに分割するとともに当該セグメント毎に前記工具の加工パスを設定する事前情報構築工程と、
各セグメントの加工パスの位置関係と各工具の形状とに基づいて、各セグメントの加工優先順位を決定する加工優先順位決定工程と、
前記加工対象物の形状と前記各工具の形状と前記加工優先順位とに基づいて、各セグメントに対して、前記複数種類の工具のうちの一の種類の工具をそれぞれ割り当てる工具割り当て工程と、
当該工具割り当て工程で割り当てられた工具の種類毎に、セグメント間での工具の移動距離と前記加工優先順位とに基づいて各セグメントの加工順序を決定する加工順序決定工程とを含み、
前記加工優先順位決定工程では、前記複数のセグメントについて各工具の加工領域の少なくとも一部が互いに重なり合うかどうかを判定し、前記工具の加工領域の少なくとも一部が互いに重なり合う複数のセグメントがある場合には、これら重なり合う加工領域を含む複数のセグメントに対して、前記重なり合う領域を加工する際の工具の負荷がより小さいセグメントほど加工優先順位がより高くなるように、各セグメントの加工優先順位を決定するとともに、前記重なり合う領域を含む各セグメントの各加工領域をそれぞれ加工する際に加工対象物と工具との干渉が回避できる順序に各セグメントの加工優先順位を決定し、
前記工具割り当て工程では、前記各セグメントに、前記加工対象物と工具との干渉が回避可能な工具を割り当てるとともに、前記加工優先順位の高いセグメントにほど前記使用順位が高い工具を割り当てることを特徴とする加工順序設定プログラム。
【請求項７】
請求項６に記載の加工順序設定プログラムを記憶していることを特徴とする記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、加工対象物を複数種類の工具を用いて加工する際の加工順序を決定するための加工順序設定装置に関する。
【背景技術】
【０００２】
機械部品等を製造するための加工においては、数値制御工作機械を用いた加工が行なわれておいる。この数値制御工作機械では、工具の加工経路を示す加工パスが座標値等の数値で設定されており、加工の自動化が図られている。
【０００３】
ここで、加工箇所が複数にわたり前記加工パスが複数個所に分散している場合等では、前記加工パスをつなぐ順序すなわち加工順序によって、工具と加工対象物との干渉が生じるおそれがある。すなわち、ある加工箇所の下方に他の加工箇所が存在する場合や複数の加工箇所が互いに隣接する場合に、下側の加工箇所を先に加工すると工具と上側の加工されていない箇所とが干渉して工具が損傷するおそれがある。そこで、前記加工順序を適切に設定するための装置の開発が行われている。
【０００４】
例えば、特許文献１には、加工パスを包含する立体図形を設定し、この立体図形の位置関係に基づいて加工対象物と工具との干渉が回避可能な加工順序を設定する装置が開示されている。
【特許文献１】特開２００５−８１５３１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
機械部品等の加工では、複数種類の工具を用いて加工を行う場合が多い。そして、複数種類の工具を用いた加工では工具が予め設定された使用順位に沿って使用されることが求められている。例えば、剛性が異なる工具では、加工効率を向上すべく剛性の高い順での使用が求められている。また、加工領域が互いに隣接する箇所では、前記のような加工対象物と工具との干渉の回避に加えて、工具への負荷が小さくなるような順序での加工が求められている。しかしながら、前記特許文献１の装置は、単に前記干渉を回避するために加工パスを包含する立体図形の位置関係に基づいて加工順序を設定しているだけであり、この装置を用いても、複数の工具を用いた加工において工具に対する負荷を小さくしつつ各工具の使用順序を適切に維持することはできない。
【０００６】
本発明は、かかる事情に鑑み、加工対象物と工具との干渉を回避することができるとともに、工具負荷を抑制しつつ工具の使用順序を適切に維持することのできる加工順序を設定することができる加工順序設定装置の提供を目的とする。
【課題を解決するための手段】
【０００７】
前記課題を解決するための請求項１に係る発明は、予め使用順位が設定された複数種類の工具を用いて加工対象物を加工する際の加工順序を設定する加工順序設定装置であって、加工箇所の形状に基づいて、当該加工箇所を、連続した加工が行なわれる加工要素に相当するセグメントに分割するとともに当該セグメント毎に前記工具の加工パスを設定する事前情報構築手段と、各セグメントの加工パスの位置関係と各工具の形状とに基づいて、各セグメントの加工優先順位を決定する加工優先順位決定手段と、前記加工対象物の形状と前記各工具の形状と前記加工優先順位とに基づいて、各セグメントに対して、前記複数種類の工具のうちの一の種類の工具をそれぞれ割り当てる工具割り当て手段と、当該工具割り当て手段で割り当てられた工具の種類毎に、セグメント間での工具の移動距離と前記加工優先順位とに基づいて各セグメントの加工順序を決定する加工順序決定手段とを備え、前記加工優先順位決定手段は、前記複数のセグメントについて各工具の加工領域の少なくとも一部が互いに重なり合うかどうかを判定し、前記工具の加工領域の少なくとも一部が互いに重なり合う複数のセグメントがある場合には、これら重なり合う加工領域を含む複数のセグメントに対して、前記重なり合う領域を加工する際の工具の負荷がより小さいセグメントほど加工優先順位がより高くなるように、各セグメントの加工優先順位を決定するとともに、前記重なり合う領域を含む各セグメントの各加工領域をそれぞれ加工する際に加工対象物と工具との干渉が回避できる順序に各セグメントの加工優先順位を決定し、前記工具割り当て手段は、前記各セグメントに、前記加工対象物と工具との干渉が回避可能な工具を割り当てるとともに、前記加工優先順位の高いセグメントにほど前記使用順位が高い工具を割り当てることを特徴とするものである（請求項１）。
【０００８】
本発明によれば、加工対象物と工具との干渉を回避し、工具負荷を抑制しつつ工具の使用順序を適切に維持することができるとともに、作業時間の短縮等を図ることのできる加工順序を設定することができる。
【０００９】
すなわち、本装置では、前記加工優先順位決定手段にて、加工領域の一部が重なり合うセグメント間で、加工時の工具負荷が小さくなるセグメントほど加工順位が高くなるように加工優先順位が決定されている。そのため、この加工優先順位に沿って加工することで、前記重なり合う加工領域を工具負荷がより小さい状態で加工することができる。さらに、本装置では、前記工具割り当て手段にて、各セグメントに対して前記加工優先順位と工具の使用順位とが対応するような種類の工具がそれぞれ割り当てられており、前記工具の使用順位と前記加工優先順位とをいずれも適切に維持することができる。このことは、前記工具負荷を抑制しつつ工具の使用順位を適切に維持する。また、前記加工優先順位決定手段と前記工具割り当て手段によって、各セグメントに、加工対象物と工具との干渉が回避可能な加工優先順位および工具が設定されており、前記干渉を回避することができる。さらに、本装置では、前記加工順序決定手段にて、工具の種類毎にセグメント間での工具の移動距離と前記加工優先順位とに基づいて各セグメントの加工順序が決定されており、工具負荷の抑制等に加えて、工具の移動距離の最適化に伴う作業時間の短縮等を図ることが可能となる。
【００１０】
また本発明において、前記事前情報構築手段は、前記加工パスを包含する座標値が設定された立体図形を設定する手段を含み、前記加工優先順位決定手段は、各セグメントの前記立体図形の位置関係と前記各工具の寸法とに基づいて、セグメント間で前記加工領域が重なり合うかどうかを仮判定する第一の手段と、当該第一の手段により前記加工領域が重なり合うと判定されたセグメント間についてこれらの各加工パスを比較することで、当該セグメント間で前記加工領域が重なり合うかどうかを判定する第二の手段とを有するのが好ましい（請求項２）。
【００１１】
このようにすれば、全てのセグメントについて加工パスどうしを比較する場合に比べて短い演算時間で、加工領域が重なり合うセグメントを抽出することができ、前記立体図形の位置関係のみでセグメントの位置関係を判定する場合に比べて、より正確に判定することができる。
【００１２】
ここで、前記使用する工具の具体的な種類は特に限定されるものではないが、例えば、加工部の回転軸方向の長さが互いに異なる工具であって、当該加工部の長さが短いほど使用順位が高いものが挙げられる（請求項３）。また、この場合において、前記加工優先順位決定手段として、前記工具の加工領域の少なくとも一部が互いに重なり合うセグメント間において、この重なり合う領域における各セグメントの加工パスの位置のうち前記工具の加工部の回転軸方向の位置に基づき前記加工優先順位を決定するように構成されたものが挙げられる（請求項４）。
【００１３】
また本発明は、予め使用順位が設定された複数種類の工具を用いて加工対象物を加工する際の加工順序を設定する加工順序設定方法であって、加工箇所の形状に基づいて、当該加工箇所を、連続した加工が行なわれる加工要素に相当するセグメントに分割するとともに当該セグメント毎に前記工具の加工パスを設定する事前情報構築工程と、各セグメントの加工パスの位置関係と各工具の形状とに基づいて、各セグメントの加工優先順位を決定する加工優先順位決定工程と、前記加工対象物の形状と前記各工具の形状と前記加工優先順位とに基づいて、各セグメントに対して、前記複数種類の工具のうちの一の種類の工具をそれぞれ割り当てる工具割り当て工程と、当該工具割り当て工程で割り当てられた工具の種類毎に、セグメント間での工具の移動距離と前記加工優先順位とに基づいて各セグメントの加工順序を決定する加工順序決定工程とを備え、前記加工優先順位決定工程では、前記複数のセグメントについて各工具の加工領域の少なくとも一部が互いに重なり合うかどうかを判定し、前記工具の加工領域の少なくとも一部が互いに重なり合う複数のセグメントがある場合には、これら重なり合う加工領域を含む複数のセグメントに対して、前記重なり合う領域を加工する際の工具の負荷がより小さいセグメントほど加工優先順位がより高くなるように、各セグメントの加工優先順位を決定するとともに、前記重なり合う領域を含む各セグメントの各加工領域をそれぞれ加工する際に加工対象物と工具との干渉が回避できる順序に各セグメントの加工優先順位を決定し、前記工具割り当て工程では、前記各セグメントに、前記加工対象物と工具との干渉が回避可能な工具を割り当てるとともに、前記加工優先順位の高いセグメントにほど前記使用順位が高い工具を割り当てることを特徴とする加工順序設定方法、前記各工程をコンピュータに実行させることを特徴とする加工順序設定プログラム、および、前記加工順序設定プログラムを記憶していることを特徴とする記憶媒体を提供する（請求項５、６、７）。
【発明の効果】
【００１４】
以上説明したように、本発明によれば、加工対象物や他のセグメントとの干渉を回避しつつ工具の使用順序の適切な維持が可能な加工順序を設定することのできる加工順序設定装置を提供することができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の好ましい実施の形態について図面を参照して説明する。
【００１６】
図１は本発明に係る加工順序設定装置として機能するコンピュータ１を含む加工システムの構成図である。このコンピュータ１は、数値制御工作機械２（以下ＮＣ工作機械２という）と通信可能に接続されており、ＮＣ工作機械２に対して加工パス等の数値制御データを出力して、金型等の加工対象物Ｗ（以下ワークＷという）についての加工指示を行なう。前記ＮＣ工作機械２は、複数種類の加工工具を備え、各加工工具を駆動することでワークＷの加工を行う装置である。
【００１７】
ここでは、前記ＮＣ工作機械２が、加工工具として図２に示すような３種類のボールエンドミル（以下ツールという）３ａ〜３ｂを備えており、これらのツール３（３ａ〜３ｃ）を回転駆動するとともに３次元方向に移動させることでワークＷを加工していくものについて説明する。前記ツール３ａ〜３ｂは、各加工部３ｄの回転軸方向の長さがそれぞれ異なるものであり、この長さが短いほど剛性が高く効率のよい加工が行なえるように、また、前記長さが長いほど細かい部分の加工が行なえるように構成されている。また、以下の説明においては、前記各ツール３ａ〜３ｃの移動方向について、ｘ方向およびｙ方向を水平方向にとり、ｚ方向を鉛直方向にとるとともに、各ツール３ａ〜３ｃの回転軸方向をｚ方向にとる。
【００１８】
前記ワークＷが、例えば、エンジンのシリンダーヘッドの製造に用いるダイカスト金型等のような複雑な形状を有するものでは、ツール３の加工領域が互いに関連し合う場合が多い。そして、このような場合には、各加工領域の加工順序によってツール３の負荷が変化する。また、前記加工順序によってはツール３とワークＷとが干渉しツール３が損傷するおそれが生じる。
【００１９】
例として、図３の（ａ）に示すようなワークＷに対して、略直方体の加工領域Ａ１、Ａ２を切削することで図３の（ｂ）に示すような形状とする場合について説明する。加工領域Ａ１とＡ２とは斜線で示した領域Ｂにおいて重なり合う。
【００２０】
この例では、加工順序をＡ２→Ａ１として加工領域Ａ１よりも加工領域Ａ２を先に加工して領域Ｂを加工領域Ａ２の加工時に加工すると、ツール３のｚ方向の加工距離が大きくなりツール３の負荷が大きくなる。これに対して、加工順序をＡ１→Ａ２とすれば、図３の（ｃ）に示すようにｚ方向の位置が加工領域Ａ１を領域Ｂを含んだ状態でいわゆる等高線加工した後、加工領域Ａ２を加工することができ、ツール３のｚ方向の加工距離が抑制されてツール３の負荷が抑制される。従って、この例では、加工領域Ａ１→Ａ２の順序での加工が望ましい。
【００２１】
また、図３の（ｄ）に示すように、加工領域Ａ２のｚ方向の深さが深い場合には、加工領域Ａ２を加工領域Ａ１よりも先に加工すると、加工時にツール３と未加工の領域Ａ１とが干渉する。これに対して、加工領域Ａ１を加工した後加工領域Ａ２を加工すれば、ツール３とワークＷとの干渉を回避することができる。従って、この例では、干渉を回避するためにも加工領域Ａ１→Ａ２の順序での加工が望ましい。
【００２２】
また、ツール３ａ〜３ｃは前述のように加工部３ｄの長さが短いほど剛性が高く効率のよい加工を行なうことができる。そのため、加工効率を高めるべく、まずツール３ａで全体を加工した後、ツール３ｂ、ツール３ｃの順で加工することが求められる。
【００２３】
以上のように、加工順序によってツール３への負荷等が変化するため、ツール３の負荷を抑制することができるとともにツール３とワークＷとの干渉を回避しつつツール３の使用順位を適切に維持することのできる加工順序の設定が求められており、本発明に係るコンピュータ１は、このような加工順序を設定し、この加工順序基づく数値制御データを作成、出力する。
【００２４】
前記コンピュータ１は、キーボードおよびマウス等の入力手段、ディスプレイ等の出力手段、ＲＯＭ，ＲＡＭ等の記憶媒体、および、ＣＰＵ等を備えるワークステーションコンピュータである。前記記憶媒体には、３ＤモデルデータＤＢ１０等の各種のデータベースと加工パス計算部３０等の各種プログラムを実行する各種演算部とが設けられている。より詳細には、図４に示すように、加工パス計算部３０、事前情報構築部（事前情報構築手段）３２、親子関係決定部（加工優先順位決定手段）３４、干渉チェック部３６、ツールグループリスト作成部３８、加工順序決定部（加工順序決定手段）４０、ＮＣデータ変換部４２、および、３ＤモデルデータＤＢ１０、ＣＬデータＤＢ１２、分割ＣＬデータおよびセグメント情報ＤＢ１４、親子関係リストＤＢ１６、仮ツールグループリストＤＢ１８、ツールグループリストＤＢ２０、ツール別ＣＬデータＤＢ２２、ツール別ＮＣデータＤＢ２４とが設けられている。
【００２５】
ここで、前記干渉チェック部３６とツールグループリスト作成部３８とが請求項における工具割り当て手段に相当する。
【００２６】
まず前記演算部等の概略を説明し、その後各演算部の詳細について説明する。
【００２７】
前記加工パス計算部３０は、前記３ＤモデルデータＤＢ１０に収められたワークＷの三次元設計図に基づいて、ワークＷを加工する際のツール３の軌跡を示す数値データ（以下ＣＬデータという）を計算する部分である。前記ＣＬデータには、ツール３の加工パスを表すツール３の先端中心の加工軌跡のデータと加工パス間のツール３の移動経路のデータとが含まれる。この加工パス計算部３０で計算されたＣＬデータは前記ＣＬデータＤＢ１２に収容される。
【００２８】
前記事前情報構築部３２は、ワークＷの加工箇所を複数のセグメントに分割するとともにセグメント毎の加工パスを表すＣＬデータ（以下分割ＣＬデータという）を算出する部分である。前記セグメントＳｇとは、ツール３によって連続して加工することのできる加工要素であり、図５の（ａ）に示すように、ツール３の移動区間Ｌどうしを挟む加工区間が１セグメントＳｇとなる。ただし、図５の（ｂ）のように、加工区間が連続していないものであっても、外追込み加工のように加工区間が関連しており連続して加工が行なわれるものについては、それら全体を１セグメントＳｇとして設定する。例えば、図５の（ｂ）では、加工区間ｋ１からｋ７へ順に連続して加工される。前記事前情報構築部３２では、前記ＣＬデータＤＢ１２に収容されたＣＬデータに基づいてワークＷの加工箇所をセグメントに分割し、各セグメントに対応する分割ＣＬデータを算出する。
【００２９】
また、前記事前情報構築部３２では各セグメントの属性を抽出する。具体的には、図６に示すように、セグメントＳｇの加工パスの始点Ｐｓの座標および終点Ｐｅの座標を抽出する。また、セグメントの加工パスを包含するフェンス（立体図形）Ｆを構築し、このフェンスＦのｘ，ｙ，ｚ範囲（最小値Ｘｍｉｎ，Ｙｍｉｎ，Ｚｍｉｎと最大値Ｘｍａｘ，Ｙｍａｘ，Ｚｍａｘ）とを抽出する。ここでは、フェンスＦを直方体として構築する。
【００３０】
前記事前情報構築部３２で算出された前記分割ＣＬデータ、および、各セグメントの属性は、図７に示すようにセグメント毎に関連付けられて前記分割ＣＬデータおよびセグメント情報ＤＢ１４に収容される。この図７において、分割ＣＬデータアドレスとは分割ＣＬデータの収容先を示すものであり、この分割ＣＬデータアドレスの指定により分割ＣＬデータが特定される（事前情報構築工程）。
【００３１】
前記親子関係決定部３４は、各セグメントの加工優先順位を決定する部分である。前述のように、加工領域の少なくとも一部が重なり合う部分では、加工順序によってツール３の負荷が変化する。また、ツール３と未加工の領域との干渉が生じるおそれがある。そこで、この親子関係決定部３４では、加工領域が重なり合うセグメントに対して、ツール３の負荷を抑制するとともに前記干渉を回避することのできる加工優先順位を決定する。以下では、加工領域が重なり合う関係を親子関係とよび、加工優先順位の高いセグメントを親セグメント、低いセグメントを子セグメントと呼ぶ。
【００３２】
具体的には、本実施形態では、ｚ方向の位置が高い順に加工する方が広範囲にわたって等高線加工を実施でき、ツール３の負荷を抑制できるとともに未加工部分とツール３との干渉を回避できる。そこで、この親子関係決定部３４では、各セグメントの分割ＣＬデータ等に基づき、まず前記親子関係を有するセグメントを抽出する。そして、抽出されたセグメント間で、ｚ方向の位置が高いセグメントを親セグメント、ｚ方向の位置が低いセグメントを子セグメントと決定する。
【００３３】
また、図８に示すように、セグメントＳｇ１〜Ｓｇ５において、セグメントＳｇ１がセグメントＳｇ２の子であり、セグメントＳｇ４がセグメントＳｇ２の子であり、セグメントＳｇ５がセグメントＳｇ４の子である場合には、セグメントＳｇ１とセグメントＳｇ４およびセグメントＳｇ５との間に直接の親子関係がなくともセグメントＳｇ４およびセグメントＳｇ５をセグメントＳｇ１の子セグメントと決定する。また、セグメントＳｇ５をセグメントＳｇ２の子に設定する。また、セグメントＳｇ２とセグメントＳｇ３のようにｚ方向の位置が同じ場合は、前記事前情報構築部３２でセグメントに分割された順番が早いセグメントを親セグメントに決定する。
【００３４】
このようにして、前記親子関係決定部３４は、全てのセグメントについて親子関係の有無、および、親セグメントであるか子セグメントであるかを決定して、図９に示すような親子関係リストを生成する（加工優先順位決定工程）。この図９では、縦軸の基準セグメントに対して調査セグメントが親であるか子であるかが示されている。
【００３５】
前記干渉チェック部３６と前記ツールグループリスト作成部３８とは、ワークＷの形状とツール３の形状と前記親子関係リストＤＢ１６に収容された親子関係リストに基づき、各セグメントに対して、ワークＷとツール３との干渉が回避可能であって、かつ、前記親子関係で表される加工優先順位が高いセグメントほどツール３の使用順位が高くなるような種類のツールをそれぞれ割り当てるための演算部である。
【００３６】
前記干渉チェック部３６は、ワークＷの形状とツール３の形状とに基づき、各セグメントに対して、工具の種類を仮割り当てする。この干渉チェック部３６では、前記３ＤモデルデータＤＢ１０に収められたワークＷの三次元設計図とツール３の形状とに基づき、各セグメントに対して、そのセグメントを加工する上でワークＷとツール３とが干渉しない種類のツール３をそれぞれ割り当てる。この割り当て結果は、図１０の（ａ）に示すような仮ツールグループリストにまとめられ、前記仮ツールグループリストＤＢ１８に収容される。本実施形態では、図２に示すツール３の加工部３ｄを固定するためのフォルダ３ｅの半径Ｒおよび加工部３ｄの回転軸方向の長さが、前記ツール３の形状として用いられる。
【００３７】
前記ツールグループリスト作成部３８は、前記仮ツールグループリストＤＢ１８に収容された仮ツールグループリストに対して、前記親子関係リストＤＢ１６に収容された親子関係リストに基づき、各セグメントに割り当てるツール３の種類を修正する部分である。このツールグループリスト作成部３８では、前記親子関係リストにおける子セグメントのツールの使用順位が、そのセグメントの親セグメントのツールの使用順位よりも優先されないように修正する。
【００３８】
例えば、図９の親子関係リストに示すように、前記親子関係決定部３４にて、セグメントＮｏ．２のセグメントがセグメントＮｏ．１のセグメントの子であると決定されている一方、図１０の（ａ）の仮ツールグループリストに示すように、前記干渉チェック部３６にて、セグメントＮｏ．１の子セグメントであるセグメントＮｏ．２のセグメントに対して、セグメントＮｏ．１のツール３ｂよりも使用順位の高いツール３ａが割り当てられた場合には、前記ツールグループリスト作成部３８にて、図１０の（ｂ）に示すように、セグメントＮｏ．２のセグメントがツール３ｂに修正される。このようにして、このツールグループリスト作成部３８では、親子関係と使用順位との対応がとられたツールグループリストが作成される。これにより、ツール３の使用順位に沿って各セグメントを加工しても、ワークＷとツール３との干渉が回避されるとともに親子関係が維持されることになる。作成された前記ツールグループリストは、ツールグループリストＤＢ２０に収容される（工具割り当て工程）。
【００３９】
ここで、ワークＷとツール３との干渉が回避可能となるように、かつ、前記親子関係で表される加工優先順位が高いほど使用順位が高くなるように、各セグメントに割り当てるツール３の種類を決定する手順は前記に限らない。ただし、本実施形態では、ツール３の使用順位が低くなるほど加工部３ｄの長さが長くなり、ワークＷとツール３との干渉は生じにくくなる。従って、前記のように、前記干渉チェック部３６にて、各セグメントにワークＷとツール３との干渉が回避可能な種類を割り当てた後、前記ツールグループリスト作成部３８にて、親セグメントのツールと使用順位とが対応しない子セグメントのツール３を、使用順位の低い側に修正することで、ツール３とワークＷとの干渉を回避しつつ使用順位と親子関係とを対応させることが可能となる。
【００４０】
前記加工順序決定部４０は、前記ツールグループリストＤＢ２０で割り当てられたツール３の種類毎に、セグメント間でのツール３の移動距離と前記親子関係とに基づいて各セグメントの加工順序を決定する部分である。
【００４１】
この加工順序決定部４０では、まず、前記ツールグループリストＤＢ２０に基づいて各セグメントをツール３の種類毎にグループ分けする。そして、各グループ内で、各セグメントの加工順位を、前記親子関係リストＤＢ１６に収容された親子関係リストに基づき、親セグメントがその子セグメントよりも優先順位が高くなるような順位であって、かつ、各セグメント間でのツール３の移動距離がより短くなるような順位に決定する。このようにして、この加工順序決定部４０にて、親子関係が満足されツール３の負荷が小さくなり、かつ、ツール３の移動距離が短く作業時間がより確実に短くなる加工順位が決定される。
【００４２】
そして、前記加工順序決定部４０では、前記グループ毎に、前記決定された加工順位に沿うように各セグメントの分割ＣＬデータが並び替えられ、グループ毎すなわちツール別のデータが構築される。このデータは、前記ツール別ＣＬデータＤＢ２２に収容され、前記ＮＣデータ変換部４２にてＮＣ工作機械２に対する数値制御データに変換されてツール別ＮＣデータＤＢ２４に収容される（加工順序決定工程）。
【００４３】
このようにして、前記ツール別ＮＣデータＤＢ２４に収容された数値制御データはＮＣ工作機械２に出力され、ＮＣ工作機械２は、この数値制御データに基づいてワークＷを加工する。具体的には、このＮＣ工作機械２は、まず使用順位の高いツール３ａにて、このツール３ａに関して設定された加工順位に沿って加工を行い、次に、ツール３ａの次に使用順位の高いツール３ｂにて、このツール３ｂに関して設定された加工順位に沿って加工を行い、最後に、ツール３ｃにて、このツール３ｃに関して設定された加工順位に沿って加工を行う。
【００４４】
これにより、ツール３の使用順位が維持され効率のよい加工が可能となる。しかも、ツール３毎の加工においては、前記親子関係に沿って加工が行われることでワークＷとツールとの干渉が回避されつつツール３の負荷が抑制されるとともに、ツール３の移動距離が短くなる順に加工が行われることで作業時間がより確実に短縮される。
【００４５】
次に、各演算部における演算要領の詳細を図１１〜図１８に基づいて説明する。
【００４６】
図１１のフローチャートに基づき前記事前情報構築部３２にてワークＷの加工箇所を複数のセグメントに分割するとともに分割ＣＬデータ等を算出する方法について説明する。
【００４７】
前記ＣＬデータＤＢ１２からワークＷのＣＬデータを読み込んでおく（ステップＳ１）。ここで、前記ＣＬデータは、ツール３の加工軌跡あるいは移動軌跡を表す複数のＣＬコードで構成されている。まず、このＣＬコードを順に繰り上げていき（ステップＳ２）、ツール３による加工の開始位置を含む加工開始コードを抽出する（ステップＳ３でＹＥＳ）。そして、加工開始コードと判定されたＣＬコードに含まれる加工開始位置の座標をセグメントの始点座標として前記分割ＣＬデータおよびセグメント情報ＤＢ１４に出力する（ステップＳ４）。次に、前記ＣＬコードに基づき加工軌跡を包含するフェンスＦを構築し、フェンスＦの範囲を計算する（ステップＳ５）。
【００４８】
ここで、現在のＣＬコードが加工開始コードの場合は（ステップＳ６でＹＥＳ）、そのＣＬコードを前記分割ＣＬデータおよびセグメント情報ＤＢ１４に出力する（ステップＳ９）。そして、ＣＬコードを繰り上げ（ステップＳ１０）、新たなＣＬコードがツール３の移動開始コードであるかどうかを判定する（ステップＳ１１）。この判定がＮＯの場合、すなわち、新たなＣＬコードがツール３の移動開始コードでなく先のＣＬコードから加工が連続している加工軌跡を表すＣＬコードであると判定されれば、先のＣＬコードとこの新たなＣＬコードとを同じセグメントに設定する（ステップＳ１２）。そして、再びステップＳ５に戻り、新たなＣＬコードを含むフェンスＦを構築し、フェンスＦの範囲を計算する。
【００４９】
一方、前記ステップＳ６でＮＯと判定された場合、すなわち、現在のＣＬコードが加工開始コードではなく、加工開始コードから繰り上げられたＣＬコードであると判定された場合は、フェンスＦの範囲が先のＣＬコードに対して計算されたフェンスＦの範囲に比べて広がったかどうかを判定する（ステップＳ７）。この判定がＹＥＳの場合、すなわち、フェンスＦの範囲が広がった場合には、フェンスＦの範囲を更新する（ステップＳ８）。一方、この判定がＮＯの場合は、先のフェンスＦの範囲を維持する。その後、再びステップＳ９にて新たなＣＬコードを分割ＣＬデータとして出力し、ステップＳ１０にてＣＬコードを繰り上げ、ステップＳ１１にて新たなＣＬコードが移動開始コードであるかどうかを判定する。
【００５０】
このようにして、加工開始コードから移動開始コードとなるまでステップＳ５〜ステップＳ１２を繰り返し、加工開始コードから移動開始コードまでのＣＬコードで表される加工箇所を１セグメントに設定する。そして、移動開始コードに含まれる移動軌跡の開始座標すなわち加工軌跡の終了座標をセグメントの終点座標として前記分割ＣＬデータおよびセグメント情報ＤＢ１４に出力する。また、フェンスＦの範囲を前記分割ＣＬデータおよびセグメント情報ＤＢ１４に出力する（ステップＳ１３）。以上のステップＳ２〜ステップＳ１３を全ＣＬコードが終了するまで（ステップＳ１４でＹＥＳ）実施し、前記ＣＬコードすなわちワークＷの全ての加工箇所をセグメントに分割する。
【００５１】
図１２および図１５のフローチャートに基づき、前記親子関係決定部３４にて各セグメントの親子関係を決定する方法について説明する。ここでは、基準セグメントＳｇ＿ｂと比較セグメントＳｇ＿ｃとについて親子関係を決定する場合について示す。
【００５２】
まず、図１２のフローチャートを用い、基準セグメントＳｇ＿ｂと比較セグメントＳｇ＿ｃとの間に親子関係があるかどうかを判定する方法について説明する。ここでは、まず、前記親子関係決定部３４に含まれる第一の手段３４ａにより、各セグメントのフェンスＦに基づき親子関係を仮決定した後、前記親子関係決定部３４に含まれる第二の手段３４ｂにより、親子関係が仮決定されたセグメントについて、それらの分割ＣＬデータに基づき親子関係を詳細決定する。
【００５３】
具体的には、前記第一の手段３４ａにより、前記分割ＣＬデータおよびセグメント情報ＤＢ１４から基準セグメントＳｇ＿ｂのフェンスＦｂの範囲と比較セグメントＳｇ＿ｃのフェンスＦｃの範囲とを読み込むとともに、ツール３の半径Ｒを読み込む（ステップＳ１０１）。
【００５４】
次に、図１３に示すように、各フェンスＦｂ，Ｆｃに対してｘ、ｙ方向にそれぞれツールの半径Ｒ分だけ領域を拡張した拡張フェンス領域Ｆｂ＿ｒ，Ｆｃ＿ｒを算出する（ステップＳ１０２）。そして、前記拡張フェンス領域Ｆｂ＿ｒ，Ｆｃ＿ｒがｘｙ平面上で図１３の斜線Ｆ＿Ｂに示すように互いに重なり合うかどうかを判定する（ステップＳ１０３）。
【００５５】
前記ステップＳ１０３での判定がＮＯの場合、すなわち、拡張フェンス領域Ｆｂ＿ｒとＦｃ＿ｒとが互いに重なり合わないと判定された場合は、基準セグメントＳｇ＿ｂの加工パスと比較セグメントＳｇ＿ｃの加工パスとは互いに十分に離間しており、これらセグメント間には親子関係が成立しないとして（ステップＳ１０８）処理を終了する。
【００５６】
一方、前記ステップＳ１０３での判定がＹＥＳであり、拡張フェンス領域Ｆｂ＿ｒとＦｃ＿ｒとが互いに重なり合うと判定されれば、前記第二の手段３４ｂにより、前記分割ＣＬデータおよびセグメント情報ＤＢ１４から各セグメントＳｇ＿ｂ，Ｓｇ＿ｃの分割ＣＬデータをそれぞれ読み込む（ステップＳ１０４）。そして、各分割ＣＬデータに基づき、図１４の（ａ）あるいは（ｂ）に示すように、各セグメントを加工パスｌｂ,ｌｃに沿って加工する際にツール３全体がｘｙ平面上で移動する領域ｌｂ＿ｒ、ｌｃ＿ｒを算出する（ステップＳ１０５）。そして、前記移動領域ｌｂ＿ｒ，ｌｃ＿ｒが互いに重なり合うかどうかを判定する（ステップＳ１０６）。
【００５７】
前記ステップＳ１０６での判定がＮＯの場合、すなわち、図１４の（ａ）に示すように、移動領域ｌｂ＿ｒとｌｃ＿ｒとが重なり合わないと判定された場合は、基準セグメントＳｇ＿ｂの加工パスと比較セグメントＳｇ＿ｃの加工パスとは互いに十分に離間しており、セグメント間で加工領域は重なり合わずセグメント間に親子関係が成立しないとしてステップＳ１０８に進む。
【００５８】
一方、前記ステップＳ１０６での判定がＹＥＳの場合、すなわち、図１４の（ｂ）の斜線領域Ｌ＿Ｂに示すように、移動領域ｌｂ＿ｒとｌｃ＿ｒとが重なり合うと判定された場合は、セグメント間に親子関係が成立すると決定する（ステップＳ１０７）。すなわち、この場合には、基準セグメントＳｇ＿ｂあるいは比較セグメントＳｇ＿ｃを加工する際のいずれにおいても、ツール３はｘｙ平面視で前記斜線領域Ｌ＿Ｂを移動することになり、各セグメントの加工領域は重なり合う。
【００５９】
このように、本実施形態では、まず前記第一の手段３４ａにて各セグメントのフェンスＦの範囲に基づき親子関係が成立するかどうかを判定しており、全てのセグメントについてその分割ＣＬデータどうしを比較する場合に比べて演算負荷が小さくなり演算時間を短くすることができる。また、第二の手段３４ｂにより各分割ＣＬデータを比較しており、フェンスＦの範囲のみに基づき親子関係を判定する場合に比べて、親子関係をより正確に決定することができる。例えば、図１４の（ａ）に示すようにフェンスＦの範囲は重なり合うが、フェンスＦ内の加工経路に沿ったツール３の移動領域は実際には重なり合わないといったセグメント間で親子関係が成立すると判定されるのを回避することができる。
【００６０】
次に、図１５のフローチャートを用い、前記ステップＳ１０７で親子関係が成立すると決定された基準セグメントＳｇ＿ｂと比較セグメントＳｇ＿ｃとについて、どちらが親セグメントであり子セグメントであるかを決定する方法について説明する。
【００６１】
まず、基準セグメントＳｇ＿ｂのフェンスＦｂと比較セグメントＳｇ＿ｃのフェンスＦｃのｚ範囲が重なっているかどうかを判定する（ステップＳ２０１）。この判定がＮＯでありフェンスＦのｚ範囲が重なっていない場合は、後述するような各セグメントＳｇ＿ｂ、Ｓｇ＿ｃの分割ＣＬデータの比較を実施することなく、フェンスＦのｚ方向の位置に基づき親子を決定する。すなわち、基準セグメントＳｇ＿ｂのフェンスＦｂのｚ方向の位置が比較セグメントＳｇ＿ｃのフェンスＦｃのｚ方向の位置よりも大きいかどうかを判定する（ステップ２０２）。具体的には、基準セグメントＳｇ＿ｂのフェンスＦｂのｚ方向の最小値が比較セグメントＳｇ＿ｃのフェンスＦｃのｚ方向の最大値よりも大きいかどうかを判定する。そして、この判定がＹＥＳの場合は、ｚ方向の位置が高い基準セグメントＳｇ＿ｂを親セグメントとし、比較セグメントＳｇ＿ｃを子セグメントとする（ステップＳ２０６）。一方、前記判定がＮＯの場合は、基準セグメントＳｇ＿ｂを子セグメントとし比較セグメントＳｇ＿ｃを親セグメントとする（ステップＳ２０７）。
【００６２】
前記ステップＳ２０１での判定がＹＥＳの場合は、図１４の（ｂ）に示す各セグメントの加工領域が重なり合う斜線領域Ｌ＿Ｂ内における分割ＣＬデータを比較する。具体的には、まず、前記分割ＣＬデータに基づき、基準セグメントＳｇ＿ｂのｚ方向の位置と比較セグメントＳｇ＿ｃのｚ方向の位置とが等しいかどうか判定する（ステップＳ２０３）。
【００６３】
前記ステップＳ２０３での判定がＮＯの場合には、そのｚ方向の位置が高いセグメントを親セグメントとする。すなわち、前記斜線領域Ｌ＿Ｂ内における基準セグメントＳｇ＿ｂのｚ方向の位置の方が比較セグメントＳｇ＿ｃのｚ方向の位置よりも高いかどうかを判定し（ステップＳ２０４）、この判定がＹＥＳの場合は、基準セグメントＳｇ＿ｂを親セグメントとし比較セグメントＳｇ＿ｃを子セグメントとし（ステップＳ２０６）、この判定がＮＯの場合は、基準セグメントＳｇ＿ｂを子セグメントとし比較セグメントＳｇ＿ｃを親セグメントとする（ステップＳ２０７）。
【００６４】
前記ステップＳ２０３での判定がＹＥＳの場合、すなわち、基準セグメントＳｇ＿ｂの加工パスと比較セグメントＳｇ＿ｃの加工パスのｚ方向の位置とが等しい場合は、前記事前情報構築部３２でセグメントが設定された際の順番が早いセグメントを親セグメントとする。すなわち、基準セグメントＳｇ＿ｂの前記順番の方が比較セグメントＳｇ＿ｃの前記順番よりも早いかどうかを判定し（ステップＳ２０５）、この判定がＹＥＳの場合は、基準セグメントＳｇ＿ｂを親セグメントとし比較セグメントＳｇ＿ｃを子セグメントとし（ステップＳ２０６）、この判定がＮＯの場合は、基準セグメントＳｇ＿ｂを子セグメントとし比較セグメントＳｇ＿ｃを親セグメントとする（ステップＳ２０７）。
【００６５】
このようにして、本実施形態では、フェンスＦのｚ範囲が重なっていないセグメントどうしについてはフェンスＦのｚ範囲の比較のみで親子を決定し、演算負荷を抑制する。一方、フェンスＦのｚ範囲が重なっているセグメントどうしについては、各分割ＣＬデータに基づき各セグメントのｚ位置を詳細に比較することで、より正確に親子を決定する。例えば、図１６の（ａ）、（ｂ）に示すように、基準セグメントＳｇ＿ｂのフェンスＦｂの方が、ｚ位置の最大値あるいは平均値において、比較セグメントＳｇ＿ｃのフェンスＦｃよりも大きいが、加工領域が互いに重なり合う領域Ｂ内のセグメントのｚ位置は基準セグメントＳｇ＿ｂよりも比較セグメントＳｇ＿ｃの方が大きいといった場合にも、基準セグメントＳｇ＿ｂを子セグメントとし比較セグメントＳｇ＿ｃを親セグメントとすることができる。
【００６６】
前記ステップＳ２０６およびステップＳ２０７にて基準セグメントＳｇ＿ｂと比較セグメントＳｇ＿ｃとの親子が決定された後は、比較セグメントＳｇ＿ｃの基準セグメントＳｇ＿ｂ以外のセグメントとの親子関係に基づき、基準セグメントＳｇ＿ｂと他のセグメントとの親子関係を決定していく。
【００６７】
すなわち、ステップＳ２０６で、基準セグメントＳｇ＿ｂが比較セグメントＳｇ＿ｃに対して親であると決定された場合には、比較セグメントＳｇ＿ｃに対して既に親子関係が決定されているセグメントから比較セグメントＳｇ＿ｃの子セグメントＳｇ＿ｃ＿ｋを抽出する（ステップＳ２０８）。そして、この子セグメントＳｇ＿ｃ＿ｋを基準セグメントＳｇ＿ｂの子セグメントに設定する（ステップＳ２０９）。一方、ステップＳ２０７で、基準セグメントＳｇ＿ｂが比較セグメントＳｇ＿ｃに対して子であると決定された場合には、比較セグメントＳｇ＿ｃに対して親子関係が決定されているセグメントから比較セグメントＳｇ＿ｃの親セグメントＳｇ＿ｃ＿ｐを抽出する（ステップＳ２１０）。そして、この親セグメントＳｇ＿ｃ＿ｐを基準セグメントＳｇ＿ｂの親セグメントに設定する（ステップＳ２１１）。以上のようにして、全てのセグメント間について親子関係を決定し、前記親子関係リストを作成する。
【００６８】
図１７のフローチャートに基づき、前記ツールグループリスト作成部３８にて前記ツールグループリストを作成する方法について説明する。
【００６９】
まず、前記干渉チェック部３６で作成された仮ツールグループリストと、前記親子関係リストとを読み込む（ステップＳ３０１）。前記親子関係リストから、基準セグメントＳｇ＿ｂの子セグメントＳｇ＿ｂ＿ｋを抽出する（ステップＳ３０２）。次に、前記仮ツールグループリストから、基準セグメントＳｇ＿ｂのツールの種類と子セグメントＳｇ＿ｂ＿ｋのツールの種類を読み込む（ステップＳ３０３）。そして、子セグメントＳｇ＿ｂ＿ｋのツール３の種類が基準セグメントＳｇ＿ｂのツール３の種類よりも使用順位が高いかどうかを判定する（ステップＳ３０４）。
【００７０】
前記ステップＳ３０４での判定がＮＯであり、子セグメントＳｇ＿ｂ＿ｋのツール３の種類が、基準セグメントＳｇ＿ｂのツール３と同じ使用順位である種類かあるいは基準セグメントＳｇ＿ｂのツール３の種類よりも低い使用順位の種類であると判定された場合は、親子関係とツールの使用順位とが対応しているので、そのままステップＳ３０６に進む。
【００７１】
一方、前記ステップＳ３０４での判定がＹＥＳであり、子セグメントＳｇ＿ｂ＿ｋに、基準セグメントＳｇ＿ｂのツール３よりも高い使用順位のツールが割り当てられており、親子関係とツールの使用順位とが対応していないと判定された場合には、子セグメントＳｇ＿ｂ＿ｋに親セグメントである基準セグメントＳｇ＿ｂのツールを割り当てる（ステップＳ３０５）。このようにして、全てのセグメントについて（ステップＳ３０６にてＹＥＳとなるまで）、親子関係と使用順位とが対応したツール３を割り当てていき、ツールグループリストを作成する（ステップＳ３０７）。このツールグループリストが作成されると、各セグメントはツール３の種類に応じてそれぞれグループ化される。
【００７２】
図１８のフローチャートに基づき、前記加工順序決定部４０にて、同じ種類のツール３が割り当てられたセグメントからなるグループにおいて、各セグメントの加工順位を決定する方法について説明する。ここでは、Ｎ個のセグメントからなるグループについて加工順位を決定する場合について示す。本実施形態では、所定のセグメントＳｇ（ｎ）が加工順序がｉ番目となるのに適したセグメントであるかを調査し、加工順序がｉ番目となるのに最も適したセグメントを決定していくことで加工順序を決定するという方法をとる。
【００７３】
前記ツールグループリストＤＢ２０からツールグループリストを読み込み、前記親子関係リストＤＢ１６から親子関係リストを読み込む（ステップ４０１）。まず、前記親子関係リストからセグメントＳｇ（ｎ）の親セグメントＳｇ＿ｐを抽出する（ステップＳ４０２）。
【００７４】
次に、この親セグメントＳｇ＿ｐの数が、現在調査している加工順位のｉ−１個以下かどうかを判定する（ステップＳ４０３）。すなわち、基準セグメントＳｇ（ｎ）の全ての親セグメントＳｇ＿ｐを、基準セグメントＳｇ（ｎ）の加工順位よりも高い順位１〜ｉ−１番目に設定することができ、親子関係と加工順位とを対応させることができるかどうかを判定する。
【００７５】
前記ステップＳ４０３の判定がＮＯの場合は、基準セグメントＳｇ（ｎ）の親セグメントＳｇ＿ｐの数がｉ個以上であり、基準セグメントＳｇ（ｎ）は加工順位ｉ番目のセグメントではないとしてステップＳ４０９に進み、他のセグメントの調査を開始する。
【００７６】
一方、前記ステップＳ４０３の判定がＹＥＳの場合、すなわち、基準セグメントＳｇ（ｎ）の親セグメントＳｇ＿ｐの数がｉ−１個以下の場合には、ステップＳ４０４に進む。そして、このステップＳ４０４にて、基準セグメントＳｇ（ｎ）の全ての親セグメントＳｇ＿ｐが既に調査されている１〜ｉ−１番目セグメント内に含まれるかどうかを判定する。この判定がＮＯの場合、すなわち、１〜ｉ−１番目のセグメントに全ての親セグメントＳｇ＿ｐが含まれていない場合には、親子関係と加工順位とを対応させることができないとして、ステップＳ４０９に進む。
【００７７】
一方、前記ステップＳ４０４の判定がＹＥＳの場合には、基準セグメントＳｇ（ｎ）が加工順位ｉ番目のセグメントである可能性があるとして、ステップＳ４０５に進む。すなわち、この場合には、１〜ｉ−１番目のセグメントに全ての親セグメントＳｇ＿ｐが含まれており、基準セグメントＳｇ（ｎ）よりもその親セグメントＳｇ＿ｐの方が加工順位が高く、親子関係と加工順位とが対応付けられていることになる。
【００７８】
前記ステップＳ４０５では、前記分割ＣＬデータおよびセグメント情報ＤＢ１４から基準セグメントＳｇ（ｎ）の始点Ｐｓの座標と、加工順位がｉ−１番目のセグメントの終点Ｐｅの座標とを読み込む。そして、始点Ｐｓ座標と終点Ｐｅ座標とからｉ−１番目のセグメントの終点Ｐｅから基準セグメントＳｇ（ｎ）の始点Ｐｓまでのツール３の移動距離を計算する（ステップＳ４０６）。次に、この計算した移動距離が先に計算された仮最短距離よりも短いかどうかを判定する（ステップＳ４０７）。この判定がＮＯの場合、すなわち、この移動距離が最短距離でない場合にはステップＳ４０９に進む。一方、この判定がＹＥＳの場合、すなわち、前記移動距離が最短距離である場合には、前記仮最短距離を更新し、基準セグメントＳｇ（ｎ）をｉ番目のセグメントに仮設定する（ステップＳ４０８）。
【００７９】
その後は、ステップＳ４０９に進み、調査を行なう基準セグメントＳｇ（ｎ）を変更し、ステップＳ４０２〜ステップＳ４０９を繰り返す。このようにしてｎ＞Ｎとなるまで（ステップＳ４１０でＹＥＳ）各ステップを繰り返し、前記加工順位と親子関係とが対応付けられ、かつ、ｉ−１番目のセグメントの終点Ｐｅからの移動距離が最も短くなるセグメントを抽出して、ｉ番目のセグメントとする。以上のステップＳ２〜ステップＳ４１０を繰り返して、全てのセグメントの加工順位を決定する。
【００８０】
このようにして、この加工順序決定部４０にて、前記親子関係を満足しつつセグメント間でのツール３の移動距離が最短となるような加工順序が決定される。
【００８１】
以上のように、加工順序設定装置として機能する本コンピュータ１では、加工領域の一部が重なり合うセグメント間で、加工時のツール３の負荷が小さくなるセグメントほど加工順位が高くなるように、また、ツール３とワークＷとの干渉が回避されるように親子関係が決定されており、この親子関係に沿って加工することで、前記干渉を回避しつつツール３への負荷を抑制することができる。また、本コンピュータ１では、前記親子関係を満足しつつツール３の使用順位が維持されるように各セグメントにツール３が割り当てられており、前記干渉を回避しつつツール３への負荷を抑制することができるという効果に加えて、加工効率を高めることができる。さらに、前記加工順序決定手段４０では、ツール３の種類毎にセグメント間でのツール３の移動距離が最短となるように加工順位が決定されており、ツール３の移動時間を抑制し作業時間が短縮化されることになる。
【００８２】
ここで、前記ツール３の具体的な種類や数、また、ツール３の具体的な使用順位については前記に限らない。
【００８３】
また、前記親子関係決定部３４について、前記第一の手段３４ａと前記第二の手段３４ｂのいずれかを省略してもよい。ただし、前記第一の手段３４ａにて各セグメントのフェンスＦの範囲に基づき親子関係が成立するかどうかを仮判定した後、第二の手段３４ｂにより分割ＣＬデータどうしを比較して親子関係が成立するかどうかを判定すれば、全てのセグメントについてその分割ＣＬデータどうしを比較する場合に比べて演算負荷が小さくなり演算時間を短くしつつ、フェンスＦの範囲のみに基づき親子関係を判定する場合に比べて、親子関係をより正確に決定することができる。
【図面の簡単な説明】
【００８４】
【図１】本発明の実施形態にかかる加工順序設定装置の概略図である。
【図２】図１に示すＮＣ工作機械に用いるツールの概略側面図である。
【図３】（ａ）ワークの加工方法を説明するための説明図である。（ｂ）ワークの加工方法を説明するための説明図である。（ｃ）ワークの加工方法を説明するための説明図である。（ｄ）ワークの加工方法を説明するための説明図である。
【図４】図１に示す加工順序設定装置の概略ブロック図である。
【図５】（ａ）セグメントの設定方法を説明するための説明図である。（ｂ）セグメントの設定方法を説明するための説明図である。
【図６】セグメントの属性を説明するための説明図である。
【図７】セグメント情報等を説明するための説明図である。
【図８】親子関係の設定方法を説明するための説明図である。
【図９】親子関係の一例を示す図である。
【図１０】（ａ）仮ツールグループリストの一例を示す図である。（ｂ）ツールグループリストの一例を示す図である。
【図１１】図４に示す事前情報構築部での演算要領を示すフローチャートである。
【図１２】図４に示す親子関係決定部での演算要領を示すフローチャートである。
【図１３】図４に示す親子関係決定部での演算要領を説明するための説明図である。
【図１４】（ａ）セグメント間で加工領域が重なり合わない状態の一例を示す図である。（ｂ）セグメント間で加工領域が重なり合う状態の一例を示す図である。
【図１５】図４に示す親子関係決定部での演算要領を示すフローチャートである。
【図１６】（ａ）セグメント間で加工領域が重なり合う状態の一例を示す図である。（ｂ）セグメント間で加工領域が重なり合う状態の一例を示す図である。
【図１７】図４に示すツールグループリスト作成部での演算要領を示すフローチャートである。
【図１８】図４に示す加工順序決定部での演算要領を示すフローチャートである。
【符号の説明】
【００８５】
１  コンピュータ（加工順序設定装置）
２  ＮＣ工作機械
３  ツール
３ｄ  加工部
１０  ３ＤモデルデータＤＢ
１２  ＣＬデータＤＢ
１４  分割ＣＬデータおよびセグメント情報ＤＢ
１６  親子関係リストＤＢ
１８  仮ツールグループリストＤＢ
２０  ツールグループリストＤＢ
２２  ツール別ＣＬデータＤＢ
２４  ツール別ＮＣデータＤＢ
３０  加工パス計算部
３２  事前情報構築部（事前情報構築手段）
３４  親子関係決定部（加工優先順位決定手段）
３６  干渉チェック部（工具割り当て手段）
３８  ツールグループリスト作成部（工具割り当て手段）
４０  加工順序決定部（加工順序決定手段）
４２  ＮＣデータ変換部
Ｗ  ワーク（加工対象物）
【図１】
0004816620.tif 000002
【図２】
0004816620.tif 000003
【図３】
0004816620.tif 000004
【図４】
0004816620.tif 000005
【図５】
0004816620.tif 000006
【図６】
0004816620.tif 000007
【図７】
0004816620.tif 000008
【図８】
0004816620.tif 000009
【図９】
0004816620.tif 000010
【図１０】
0004816620.tif 000011
【図１１】
0004816620.tif 000012
【図１２】
0004816620.tif 000013
【図１３】
0004816620.tif 000014
【図１４】
0004816620.tif 000015
【図１５】
0004816620.tif 000016
【図１６】
0004816620.tif 000017
【図１７】
0004816620.tif 000018
【図１８】
0004816620.tif 000019