(57)【要約】【課題】  ＣＡＭシステムではツールパス生成処理を実行する際に全ての領域のツールパス生成を順列処理しており，処理時間が長くなる。加工順序制約のある加工工程においてもツールパス生成処理時間を短縮することを課題とする。【解決手段】  ＣＡＭシステムにおいて素材から製品へ加工するための複数の加工工程のツールパスを生成する、複数のＣＰＵを搭載した処理装置における並列分散処理方法であって、加工前の素材形状を表す素材ＣＡＤデータと、加工後の製品形状を現す製品ＣＡＤデータと、加工工程別の加工領域を表す加工領域データを使用して、加工順序を算出し、加工順序の算出結果から、加工順序の制約がなく並列処理可能な複数の加工領域を抽出し、それぞれの加工領域におけるツールパス生成処理に対しＣＰＵを割り付けて並列分散処理を行う。【選択図】図1
2013097750.tif 000002
【特許請求の範囲】
【請求項１】
ＣＡＭシステムにおいて素材から製品へ加工するための複数の加工工程のツールパスを生成する、複数のＣＰＵを搭載した処理装置における並列分散処理方法であって、
加工前の素材形状を表す素材ＣＡＤデータと、加工後の製品形状を現す製品ＣＡＤデータと、加工工程別の加工領域を表す加工領域データと、を保持するステップと、
前記素材ＣＡＤデータ、前記製品ＣＡＤデータ及び前記加工領域データとを使用して、加工順序を算出するステップと、
加工順序の算出結果から、加工順序の制約がなく並列処理可能な複数の加工領域を抽出するステップと、
それぞれの加工領域におけるツールパス生成処理に対しＣＰＵを割り付けて並列分散処理を行うステップとを有することを特徴とする並列分散処理方法。
【請求項２】
請求項１に記載の並列分散処理方法において、
加工領域をノード、加工順序をエッジとして加工領域ネットワークを生成するステップを有することにより、加工順序の制約がなく並列処理可能な加工領域を抽出することを特徴とする並列分散処理方法。
【請求項３】
請求項２に記載の並列分散処理方法において、
下記条件式を満たす加工領域を加工順序の制約がなく並列処理可能な加工領域として抽出することを特徴とする並列分散処理方法。
（条件式）並列処理可能な加工領域  ＝  ツールパスが未生成∧(全ての親ノードツールパス生成処理済み∨親ノードなし)
【請求項４】
請求項１に記載の並列分散処理方法において、
前記加工順序を算出するステップにおいて、前記製品ＣＡＤデータの要素モデルのフェース上に離散点を生成し、前記離散点から前記素材ＣＡＤデータのモデル方向へ生成した法線ベクトル上の複数加工領域に対してベクトルの長短を比較して加工順序を決定することを特徴とする並列分散処理方法。
【請求項５】
請求項１に記載の並列分散処理方法において、
ツールパス生成中の複数工程と、ツールパス生成中の複数の加工領域を画面表示するステップを備えることを特徴とする並列分散処理方法。
【請求項６】
請求項１に記載の並列分散処理方法において、
ツールパス生成処理に使用した複数のＣＰＵと、各ＣＰＵが割付けられた加工領域と、前記加工領域毎のツールパス生成処理時間を出力することを特徴とする並列分散処理方法。
【請求項７】
ＣＡＭシステムにおいて素材から製品へ加工するための複数の加工工程のツールパスを生成する、複数のＣＰＵを搭載した並列分散処理装置であって、
加工前の素材形状を表す素材ＣＡＤデータと、加工後の製品形状を現す製品ＣＡＤデータと、加工工程別の加工領域を表す加工領域データと、を保持する記憶部と、
前記記憶部に記憶された前記素材ＣＡＤデータ、前記製品ＣＡＤデータ及び前記加工領域データとを使用して、加工順序を算出する処理部と、を備え、
前記処理部は、加工順序の算出結果から、加工順序の制約がなく並列処理可能な複数の加工領域を抽出し、それぞれの加工領域におけるツールパス生成処理に対しＣＰＵを割り付けて並列分散処理を行うことを特徴とする並列分散処理装置。
【請求項８】
請求項７に記載の並列分散処理装置において、
前記処理部は、加工領域をノード、加工順序をエッジとして加工領域ネットワークを生成することにより、加工順序の制約がなく並列処理可能な加工領域として抽出することを特徴とする並列分散処理装置。
【請求項９】
請求項８に記載の並列分散処理装置において、
前記処理部は、下記条件式を満たす加工領域を加工順序の制約がなく並列処理可能な加工領域として抽出することを特徴とする並列分散処理装置。
（条件式）並列処理可能な加工領域  ＝  ツールパスが未生成∧(全ての親ノードツールパス生成処理済み∨親ノードなし)
【請求項１０】
請求項７に記載の並列分散処理装置において、
データを出力する出力部を有し、
前記出力部は前記処理部において算出した、複数の加工領域において並列処理可能な複数の加工領域の情報を出力することを特徴とする並列分散処理装置。
【請求項１１】
請求項７に記載の並列分散処理装置において、
データを出力する出力部を有し、
前記出力部はそれぞれの加工領域におけるツールパス生成処理に対しＣＰＵを割り付けたＣＰＵの情報を出力することを特徴とする並列分散処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，ＣＡＭ(Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｍａｎｕｆａｃｔｕｒｉｎｇ)システムを利用してツールパスを生成する際の演算処理方法，および並列分散処理装置に関する。
【背景技術】
【０００２】
切削加工では，一般にＮＣ（Ｎｕｍｅｒｉｃａｌ  Ｃｏｎｔｒｏｌ）工作機械が用いられている。そして，ＮＣ工作機械における工具経路（ツールパス）は，ＣＡＭ（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｍａｎｕｆａｃｔｕｒｉｎｇ）システムを利用して生成される。
【０００３】
ＣＡＭシステムを利用してツールパスを生成する際には，ＣＡＭオペレータが加工領域モデルを作成し，各工程の加工パラメータを設定した後，ツールパスを生成する複数工程を選択してＣＡＭシステムでツールパス生成処理を実行する。そして，生成したツールパスをＣＡＭオペレータが確認する。
【０００４】
加工領域モデル作成工数については，近年のＣＡＭシステムに，前加工後の削り残り形状を認識し次の加工工程の加工領域モデルとして自動生成する機能が搭載されている。この機能により，ＣＡＭオペレータの加工領域モデル作成工数の削減がなされている。
【０００５】
一方、システムを用いて複数処理を行う場合の処理時間を削減する例として，特許文献１に開示されているように，処理対象を複数グループに分け，複数のＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を用いて並列処理する方法がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−１５７０６
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上記のような前加工後の削り残り形状を認識し次の工程の加工領域として自動生成する機能では，前工程の削り残り形状を利用する。このため，ＣＡＭシステムではツールパス生成処理を実行する際に全ての領域のツールパス生成を順列処理しており，処理時間が長くなるという課題がある。
【０００８】
また，特許文献１では距離情報によって処理対象を複数グループに分けて並列処理しているが，処理順序に制約はない。これに対し、本発明で対象とするツールパス生成処理は前工程の削り残り形状を利用するため，工程間の処理順序制約が生じてしまう。処理順序制約が生じた場合、特許文献１の記載の例では、並列処理ができず，処理時間を削減できなくなるという課題がある。
【０００９】
以上より、本発明は，加工順序制約のある加工工程においてもツールパス生成処理時間を短縮することを課題とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するためＣＡＭシステムにおいて素材から製品へ加工するための複数の加工工程のツールパスを生成する、複数のＣＰＵを搭載した処理装置における並列分散処理方法であって、加工前の素材形状を表す素材ＣＡＤデータと、加工後の製品形状を現す製品ＣＡＤデータと、加工工程別の加工領域を表す加工領域データと、を保持し、前記素材ＣＡＤデータ、前記製品ＣＡＤデータ及び前記加工領域データとを使用して、加工順序を算出し、加工順序の算出結果から、加工順序の制約がなく並列処理可能な複数の加工領域を抽出し、それぞれの加工領域におけるツールパス生成処理に対しＣＰＵを割り付けて並列分散処理を行う。
【００１１】
また、加工領域をノード、加工順序をエッジとして加工領域ネットワークを生成するステップを有することにより、加工順序の制約がなく並列処理可能な加工領域を抽出する。
【００１２】
また、加工順序を算出するステップにおいて、製品ＣＡＤデータの要素モデルのフェース上に離散点を生成し、離散点から素材ＣＡＤデータのモデル方向へ生成した法線ベクトル上の複数加工領域に対してベクトルの長短を比較して加工順序を決定する。
【発明の効果】
【００１３】
本発明によれば，ＣＡＭシステムを利用して複数の加工工程のツールパスを生成する場合の生成処理時間を短縮することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の並列処理装置の一実現例にかかる機能構成図。
【図２】同実施例における加工順序算出部の処理を示したフローチャート図。
【図３】同実施例における要素モデルフェース上への離散点生成の概念図。
【図４】同実施例における凸形状の加工順序決定処理を示したフローチャート図。
【図５】同実施例における凸形状要素モデル上離散点での法線ベクトルを用いた加工順序決定の概念図。
【図６】同実施例において法線ベクトル上の全加工領域に対する加工順序決定処理を示したフローチャート図
【図７】同実施例における凹形状の加工順序決定処理を示したフローチャート図。
【図８】同実施例における凹形状要素モデル上離散点での法線ベクトルを用いた加工順序決定の概念図。
【図９】同実施例における加工順序が双方向な加工領域の組合せの例。
【図１０】同実施例における加工順序が双方向な組合せの無い加工順序候補リストの例。
【図１１】同実施例における加工領域ネットワークの例。
【図１２】同実施例における並列処理可能領域集合データの例。
【図１３】同実施例におけるＣＰＵ割付け部の処理を示したフローチャート図
【図１４】同実施例におけるツールパス生成済み領域集合データの例。
【図１５】同実施例におけるＣＰＵ割付け結果データの例
【図１６】同実施例における入力表示画面の例。
【図１７】同実施例における凸形状加工順序選択画面の例。
【図１８】同実施例における結果出力表示画面の例。
【図１９】同実施例におけるＣＰＵ割付け結果データ出力画面の例。
【発明を実施するための形態】
【００１５】
以下、本発明の一実現形態について，図面を用いて説明する。
【実施例１】
【００１６】
図１は，本発明の並列処理装置の一実現例にかかる機能構成図である。本発明は，処理部１と，記憶部２と，入力部３と，出力部４と，表示部５からなる。処理部１は，加工順序算出部１０と，加工領域ネットワーク算出部１１と，並列処理可能領域集合算出部１２と，空きＣＰＵ取得部１３と，ＣＰＵ割付け部１４からなる。記憶部は，素材ＣＡＤデータ保持部２０と，製品ＣＡＤデータ保持部２１と，加工工程別加工領域データ保持部２２と，ＣＰＵ構成データ保持部２３と，加工順序候補リスト保持部２４と，並列処理可能領域集合データ保持部２５と，ツールパス生成済み領域集合データ保持部２６と，ＣＰＵ割付け結果データ保持部２７と，ツールパスデータ保持部２８からなる。
【００１７】
本並列処理装置で実現する並列処理方法について説明する。
はじめに，加工前の素材形状を定義する素材ＣＡＤデータと，加工後の製品形状を定義する製品ＣＡＤデータと，加工工程別の加工領域を定義する加工領域データと，ＣＰＵ構成データを入力部３より入力し，それぞれ，素材ＣＡＤデータ保持部２０，製品ＣＡＤデータ保持部２１，加工工程別加工領域データ保持部２２，ＣＰＵ構成データ保持部２３に保持する。
【００１８】
図１の加工順序算出部１０では，素材ＣＡＤデータ保持部２０のデータと，製品ＣＡＤデータ保持部２１のデータと，加工工程別の加工領域データ保持部２２のデータを入力とし，加工領域の重複関係を判定して加工順序を算出する。この処理について説明する。
【００１９】
図２に，加工順序算出部１０の処理フローを示す。
はじめに，製品ＣＡＤデータ保持部２１のデータから作成した製品ＣＡＤモデルの要素モデルフェース上に離散点を生成する(Ｓ１０１)。
【００２０】
図３は，要素モデルフェース上への離散点生成の概念図であり，製品ＣＡＤデータから生成した製品ＣＡＤモデル２１０ａ中の要素モデル２１１ａのフェース上に複数の離散点を生成した例である。
【００２１】
離散点の生成方法としては，例えば，要素モデルの各軸方向に一定間隔で断面曲線を抽出し，断面曲線の交点上に離散点を生成する方法がある。また，例えば，要素モデルのフェースをＢｅｚｉｅｒ曲面やＮＵＲＢＳ曲面等で表現し，制御点を離散点とする方法等がある。
【００２２】
次に，加工領域の加工順序を算出する。このとき，要素モデルが凸形状の場合は凸形状の加工順序算出処理  （Ｓ１０２ａ）を，凹形状の場合は凹形状の加工順序算出処理  （Ｓ１０２ｂ）を行う。まず，凸形状の加工順序算出処理  （Ｓ１０２ａ）について述べる。
【００２３】
図４に，凸形状の加工順序決定処理フローを表す。加工順序決定処理では，はじめに，離散点を選択する（Ｓ１０２１ａ）。次に，製品ＣＡＤモデル上の選択した離散点における接平面を算出する（Ｓ１０２２ａ）。ここで，曲面z = f(x, y)の離散点(x0, y0, z0) における接平面は，式１で定義できる。
z ＝ fx(x0, y0)(x - x0) + fy(x0, y0)(y - y0) + z0  ・・・式１
式１を用いて，製品ＣＡＤモデル上の離散点における接平面を算出する。
【００２４】
次に，離散点から素材ＣＡＤモデルの方向に，離散点を基点とした接平面の法線ベクトルを生成し(Ｓ１０２３ａ)，ベクトルの長短に従って法線ベクトル上の複数加工領域間の加工順序を算出する(Ｓ１０２４)。Ｓ１０２１ａからＳ１０２４までの処理を全ての離散点について行う。  図５に，凸形状要素モデル２１１ａ上の離散点Ｐ１における法線ベクトルを用いた加工順序決定の概念図を示す。素材ＣＡＤデータ保持部２０のデータから生成した素材ＣＡＤモデル２００ａに対し，加工領域（１）２２１ａ，加工領域（２）２２２ａ，加工領域（３）２２３ａ，加工領域（４）２２４ａ，加工領域（５）２２５ａを加工する。いま，離散点Ｐ１を基点とし，素材ＣＡＤモデル２００ａの方向へ，離散点Ｐ１における接平面の法線ベクトルＶ１を引く（Ｓ１０２３ａ）。すると，法線ベクトルＶ１上には加工領域（１）２２１ａと加工領域（２）２２２ａの２つの加工領域がある。
【００２５】
ここで，ベクトルの長短に従い法線ベクトル上の複数加工領域間の加工順序を算出する処理（Ｓ１０２４）を行う。このとき，加工領域（１）２２１ａへのベクトルの長さと加工領域（２）２２２ａへのベクトルの長さを比較すると，加工領域（１）２２１ａへのベクトルが長く，要素モデル２１１ａに対して加工領域（１）２２１ａは加工領域（２）２２２ａよりも外側にあることがわかる。すなわち，加工領域（２）２２２ａを加工するためには，先に加工領域（１）２２１ａを除去しなければならないため，加工順序は加工領域（１）２２１ａを先に，加工領域（２）２２２ａを後に加工する順序となる。
【００２６】
図６に，上記の，ベクトルの長短に従い法線ベクトル上の複数加工領域間の加工順序を算出する処理（Ｓ１０２４）のフローを示す。
【００２７】
始めに，法線ベクトル上の加工領域を2つ選択し，領域Ａと領域Ｂとする(Ｓ１０２５)。次に，離散点から領域Ａへのベクトルの長さが，離散点から領域Ｂへのベクトルより長い場合は，領域Ａを先に，領域Ｂを後に加工する加工順序(Ｓ１０２６)とする。離散点から領域Ａへのベクトルの長さが，離散点から領域Ｂへのベクトルより短い場合は，領域Ｂを先に，領域Ａを後に加工する加工順序(Ｓ１０２７)とする。この判定を，法線ベクトル上の全ての加工領域の組合せに対して行う。
【００２８】
このように，凸形状では法線ベクトル上の複数の加工領域についてベクトルの長短を比較することにより，複数加工領域間の加工順序を求められる。この加工順序の判定を全ての離散点について行い，各離散点上の加工領域間の加工順序を求める。
次に，図２の凹形状の加工順序算出処理 (Ｓ１０２ｂ)について図７を用いて述べる。はじめに，離散点を選択する(Ｓ１０２１ｂ)。
次に，前述の式１を用いて，製品ＣＡＤモデル上の選択した離散点における接平面を算出する（Ｓ１０２２ｂ）。
次に，離散点から素材ＣＡＤモデルの方向に，離散点を基点とした接平面の法線ベクトルを生成する(Ｓ１０２３ｂ)。
【００２９】
図８に凹形状要素モデル２１１ｂにおける法線ベクトルを用いた加工順序決定の概念図を示す。素材ＣＡＤモデル２００ｂに対し，加工領域（１）２２１ｂ，加工領域（２）２２２ｂ，加工領域（３）２２３ｂ，加工領域（４）２２４ｂ，加工領域（５）２２５ｂを加工する。いま，要素モデル２０１ｂ上の離散点Ｐ２を基点とし，素材ＣＡＤモデル２００ｂの方向へ接平面の法線ベクトルＶ２を引く(Ｓ１０２３ｂ)。すると，法線ベクトルＶ２上には加工領域(１)２２１ｂ，加工領域(２)２２２ｂ，加工領域(３)２２３ｂ，加工領域(４)２２４ｂ，加工領域(５)２２５ｂの５つの加工領域がある。この５つの加工領域に対し，ベクトルの長短に従い，法線ベクトル上の複数加工領域間の加工順序を算出する（Ｓ１０２４）。この法線ベクトル上の複数加工領域間の加工順序算出処理は，前述の図６のフローに従う。
【００３０】
次に，算出した加工順序を加工順序候補リストに保持する。
図９に加工順序候補リスト２４の例を示す。加工順序候補リスト２４は，ベクトル名２４０と，先に加工する領域名２４１と，後に加工する領域名２４２からなる。いま，法線ベクトルＶ２上の加工領域は，ベクトルが長い順に，加工領域(５)，加工領域(４) ，加工領域(３)， 加工領域(２) ，加工領域(１)となる。ベクトルの長短に従い，加工領域(５)を最初に，加工領域(１)を最後に順次加工する加工順序を加工順序候補リスト２４に保持する。
【００３１】
次に，離散点の選択(Ｓ１０２１ｂ)に戻り，要素モデル２０１ｂ上の離散点Ｐ３を基点とし，素材ＣＡＤモデル２００ｂの方向へ接平面の法線ベクトルＶ３を引く(Ｓ１０２３ｂ)。すると，法線ベクトルＶ３上の加工領域は，ベクトルが長い順に，加工領域(１)，加工領域(２) ，加工領域(３)， 加工領域(４) ，加工領域(５)となる。ベクトルの長短に従い，加工領域(１)を最初に，加工領域(５)を最後に順次加工する加工順序を加工順序候補リスト２４に保持する。
【００３２】
次に，離散点の選択(Ｓ１０２１ｂ)に戻り，要素モデル２０１ｂ上の離散点Ｐ４を基点とし，素材ＣＡＤモデル２００ｂの方向へ接平面の法線ベクトルＶ４を引く(Ｓ１０２３ｂ)。すると，法線ベクトルＶ４上の加工領域は，ベクトルが長い順に，加工領域(３)， 加工領域(６)となる。ベクトルの長短に従い，加工領域(３)を先に，加工領域(６)を後に加工する加工順序を加工順序候補リスト２４に保持する。
【００３３】
ここで，加工順序候補リスト２４をみると，例えば加工領域(１)と加工領域(２)に対して，法線ベクトルＶ２から求めた加工領域(１)を先に，加工領域(２)を後に加工する順序と，法線ベクトルＶ３から求めた加工領域(２)を先に，加工領域(１)を後に加工する順序の両方がある。このような状態を加工順序が双方向になる組合せと定義する。加工順序が双方向になっている加工領域の組合せは，どちらの領域を先に加工しても良いが，どちらを先に加工するか決定する必要がある。先に加工する領域の決定方法としては，ベクトルの長さを比較する方法や，加工領域の体積を比較する方法等があるが，ここではオペレータが加工順序を指定する方法を例として示す。
【００３４】
まず，加工順序候補リストの中で加工順序が双方向になる組合せを抽出する(Ｓ１０２６ｂ)。本例では，図１３にハッチングで示した，加工領域(１) ２２１ｂ，加工領域(２) ２２２ｂ，加工領域(３) ２２３ｂ，加工領域(４) ２２４ｂ，加工領域(５) ２２５ｂに対する加工順序が双方向になっている。
【００３５】
これらの加工領域に対し，オペレータにより加工順序を指定する(Ｓ１０２７ｂ) 。例えば，加工順序が双方向になっている加工領域(１) ２２１ｂ，加工領域(２) ２２２ｂ，加工領域(３) ２２３ｂ，加工領域(４) ２２４ｂ，加工領域(５) ２２５ｂの中で，最初に加工する領域としてオペレータが加工領域(３) ２２３ｂを指定する。すると，加工順序候補リスト３１で加工順序が双方向になっていた，加工領域(３)と加工領域(４)に対し，加工領域(３)を先に，加工領域(４)を後に加工する順序と決定できる。また，加工領域(３)と加工領域(２)に対しても，加工領域(３)を先に，加工領域(２)を後に加工する順序と決定できる。
【００３６】
そして，決定した加工順序を残し，逆の加工順序を削除するように，加工順序候補リストを更新する(Ｓ１０２８ｂ)。
このオペレータによる加工順序の指定 (Ｓ１０２７ｂ) と加工順序候補リストの更新(Ｓ１０２８ｂ)を，加工順序が双方向になる組合せがなくなるまで繰り返し，複数加工領域間の加工順序を一意に求める。
【００３７】
図１０に，加工順序が双方向になる組合せがなくなった加工順序候補リストの例２４３を示す。
【００３８】
このように，凹形状では全離散点で法線ベクトル上の複数加工領域の加工順序を求めた後，加工順序候補リストから加工順序が双方向になる領域を抽出して，それぞれの領域間の加工順序を求める。  次に，求めた加工順序に基づき，加工領域ネットワークを生成する。
【００３９】
図１の加工領域ネットワーク生成部１１では，図２に示した加工領域をノード，加工順序をエッジとした加工領域ネットワークの生成(Ｓ１０３)を行う。
【００４０】
図１１に加工領域ネットワークの例を示す。本例では，図５に示した凸形状の加工順序から構成した加工領域ネットワークを示している。各加工領域をノード４１，各加工領域に対して上記処理Ｓ１０２ａ，Ｓ１０２ｂで求めた加工順序をエッジ４２として，全ての加工領域間のネットワークを構成する。エッジ４２の矢印は基点が先に処理する加工領域，先端が後に処理する加工領域を指す。このような加工領域ネットワークを構成することで，各離散点で得た加工領域間の加工順序に基づき，加工領域全体の加工順序関係を得ることができる。
【００４１】
図１の並列処理可能領域集合算出部１２では，加工領域ネットワークから，並列処理可能な加工領域集合を抽出する。並列処理可能な領域は，加工順序のない領域同士，つまり，加工領域ネットワークでノード間にエッジがなく，親子関係にないノード同士である。さらに，各ノードは，先に処理する加工領域である親ノードが全て処理されている必要がある。図１１の加工領域ネットワークにおいて，これらの条件を満たす並列処理可能な加工領域は，下記の式２で定義できる。
【００４２】
並列処理可能な加工領域  ＝  ツールパスが未生成∧            (全ての親ノードツールパス生成処理済み∨親ノードなし) …式２
式２を満たす領域は，ツールパスが未生成で，なおかつ，先に処理する加工領域である親ノードが全て処理されているか，親ノードがないノードである。この条件を満たす加工領域が複数あれば，それらの加工領域は並列処理可能である。
【００４３】
例えば，図１１の加工領域ネットワークにおける，初期状態で並列処理可能な加工領域集合は，式２を用いて，ツールパスが未生成，かつ親ノードのない，加工領域(１)と加工領域(３)と抽出できる。
【００４４】
図１２に並列処理可能領域集合データ２５の例を示す。並列処理可能領域集合データ２５は，加工領域名２５１と，概加工領域の親ノードリスト２５２と，概加工領域に式１を適用した並列処理可否の判定結果２５３からなる。図中にハッチングで示した並列処理可否の判定結果２５３が可である加工領域が，並列処理可能領域集合である。
【００４５】
図１の空きＣＰＵ取得部１３では，計算機に搭載されているＣＰＵ構成データ２３の中からＣＰＵ選択部１９で選択した複数のＣＰＵのうち，処理を行っていない空きＣＰＵを随時取得する。
【００４６】
図１のＣＰＵ割付け部１４では，並列処理可能領域集合に対し，空きＣＰＵ取得部１３で取得した空きＣＰＵを割り付ける。
【００４７】
図１３に，ＣＰＵ割付け部１４の処理フローを示す。
【００４８】
割り付けられる空きＣＰＵがない場合は，空きＣＰＵが発生するまで待機する(Ｓ１４１)。空きＣＰＵがある場合は，並列計算可能領域集合から加工領域を１つ選択する(Ｓ１４２)。次に，空きＣＰＵの中から  最も稼働率が低いＣＰＵを，選択した加工領域に割り付ける(Ｓ１４３)。次に，選択した加工領域を並列計算可能領域集合から除去する(Ｓ１４４)。次に，ＣＰＵ割付けした加工領域のツールパスを生成する(Ｓ１４５)。次に，ツールパス生成した加工領域をツールパス生成済み領域集合データ２７に加え，並列計算可能領域集合の親ノードから除去する(Ｓ１４６)。
【００４９】
図１４に，ツールパス生成済み領域集合データ２６の例を示す。ツールパス生成済み領域集合データ２６には，図示するようにツールパス生成処理が終了した加工領域名を保持する。
【００５０】
図１５にＣＰＵ割付け結果データ２７の例を示す。横軸がツールパス生成処理に使用したＣＰＵ，縦軸が時間を表す。例えば，並列処理可能な加工領域(１)２７３と加工領域(３)２７４に対し，それぞれＣＰＵ(１)２７１，ＣＰＵ(２)２７２を割付けて，同じ時間に並列処理している結果が確認できる。
【００５１】
図１の出力部４では，並列処理可能領域集合データ保持部２５，ツールパス生成済み領域集合データ保持部２６，ＣＰＵ割付け結果データ保持部２７，ツールパスデータ保持部２８に保持したデータを出力する。
図１６に入力表示画面の一例を示す。表示画面５０は，ツールパス生成対象工程選択領域５０１と，ＣＰＵ選択表示領域５０２と，素材ＣＡＤデータ選択表示領域５０３と，製品ＣＡＤデータ選択表示領域５０４と，を有する。
【００５２】
ツールパス生成対象工程選択領域５０１は，加工工程別加工領域データ２２と紐づいた加工工程を選択候補として表示する。ＣＡＭオペレータは候補表示された工程の中から，ツールパス生成対象とする工程を選択することができる。
【００５３】
ＣＰＵ選択表示領域５０２は，ＣＰＵ構成データ２３を選択候補として表示する。ＣＡＭオペレータは候補表示されたＣＰＵの中から，ツールパス生成処理に使用するＣＰＵを選択することができる。
素材ＣＡＤデータ選択表示領域５０３は，選択された素材ＣＡＤデータを表示する。
製品ＣＡＤデータ選択表示領域５０４は，選択された製品ＣＡＤデータを表示する。
【００５４】
図１７に凹部加工順序選択画面の一例を示す。表示画面５１は，加工順序の選択表示領域５１０と，選択候補の加工領域表示領域５１１と，を有す。
【００５５】
加工順序の選択表示領域５１０は，加工順序候補リストのうち，加工順序が双方向になる加工領域を加工順序決定の選択候補として示す。ＣＡＭオペレータは候補表示された工程の中から，先に加工する工程を選択することができる。
【００５６】
選択候補の加工領域表示領域５１１は，加工順序が双方向になる加工領域を表示する。図１７では加工順序が双方向になる加工領域を斜線ハッチングで表示している。
【００５７】
図１８に出力表示画面の一例を示す。表示画面５２は，ツールパス生成中工程表示領域５２０と，ツールパス生成中加工領域表示領域５２１と，を有する。
【００５８】
ツールパス生成中工程表示領域５２０は，ツールパス生成対象工程のうち，ツールパス生成処理中の全工程を表示する。図１８では，ツールパス生成処理中の全工程を斜線ハッチングで表示している。
【００５９】
ツールパス生成中加工領域表示領域５２１は，ツールパス生成対象工程のうち，ツールパス生成処理中の全工程の加工領域を表示する。図１８では，ツールパス生成処理中の全工程の加工領域を斜線ハッチングで表示している。
【００６０】
図１９に出力表示画面の一例を示す。表示画面５３は，ＣＰＵ割付け結果データ保持部２７に保持されたＣＰＵ割付け結果データを表示する。
【００６１】
以上のように，本実施形態によれば，ＣＡＭシステムを利用して複数工程のツールパスを生成する場合に，並列処理可能な加工領域を抽出し，複数ＣＰＵを割付けて並列処理することができる。
【００６２】
なお，本発明は上記した実施例に限定されるものではなく，様々な変形例が含まれる。例えば，上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり，必ずしも説明した全ての構成を備えるものに限定されるものではない。また，ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり，また，ある実施例の構成に他の実施例の構成を加えることも可能である。また，各実施例の構成の一部について，他の構成の追加・削除・置換をすることが可能である。
【００６３】
また，上記の各構成，機能，処理部，処理手段等は，それらの一部又は全部を，例えば集積回路で設計する等によりハードウェアで実現してもよい。また，上記の各構成，機能等は，プロセッサがそれぞれの機能を実現するプログラムを解釈し，実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム，テーブル，ファイル等の情報は，メモリや，ハードディスク，ＳＳＤ(Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ)等の記録装置，または，ＩＣカード，ＳＤカード，ＤＶＤ等の記録媒体に置くことができる。
【００６４】
また，制御線や情報線は説明上必要と考えられるものを示しており，製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【図１】
2013097750.tif 000003
【図２】
2013097750.tif 000004
【図３】
2013097750.tif 000005
【図４】
2013097750.tif 000006
【図５】
2013097750.tif 000007
【図６】
2013097750.tif 000008
【図７】
2013097750.tif 000009
【図８】
2013097750.tif 000010
【図９】
2013097750.tif 000011
【図１０】
2013097750.tif 000012
【図１１】
2013097750.tif 000013
【図１２】
2013097750.tif 000014
【図１３】
2013097750.tif 000015
【図１４】
2013097750.tif 000016
【図１５】
2013097750.tif 000017
【図１６】
2013097750.tif 000018
【図１７】
2013097750.tif 000019
【図１８】
2013097750.tif 000020
【図１９】
2013097750.tif 000021