(57)【要約】分散機械加工シミュレーションは、工作物のモデルを分割して一組の部分工作物を生成し、各部分工作物に対し機械加工命令を変更して、機械加工命令とは異なる、一組の変更された機械加工命令群を生成する。各変更された機械加工命令の群は、部分工作物に関連付けられ、部分工作物を貫通するように機械加工工具を動かす有効な機械加工命令と、部分工作物の外側で工作物のモデルを貫通するように機械加工工具を動かす少なくとも１つの偽の機械加工命令とを含む。分散機械加工シミュレーションは、リモートホストに対して、少なくとも１つの変更された機械加工命令群を用いて工作物の機械加工をシミュレートして、工作物の機械加工シミュレーションの幾何学的形状を生成させ、各幾何学的形状は、対応する部分工作物に関連付けられ、分散機械加工シミュレーションはまた、対応する部分工作物の容積内の各幾何学的形状の一部を用いて、機械加工された工作物の表現を再構成する。
2019536160.tif 000002
【特許請求の範囲】
【請求項１】
工作物に対して機械加工工具を動かす機械加工命令に従って、前記工作物の機械加工をシミュレートする方法であって、前記シミュレーションは、プロセッサを用いて一組のリモートホストと通信して実施され、前記プロセッサは、前記方法を実施する記憶された命令に結合され、前記記憶された命令は、前記プロセッサによって実行されるとき、前記方法の少なくともいくつかのステップを実行し、前記方法は、
前記工作物のモデルを交差しない容積に分割して、一組の部分工作物を生成することと、
各部分工作物に対し前記機械加工命令を変更して、前記機械加工命令とは異なる、一組の変更された機械加工命令群を生成することであって、前記変更された機械加工命令の各群は、１つの部分工作物に関連付けられ、前記部分工作物を貫通するように前記機械加工工具を動かす有効な機械加工命令と、前記部分工作物の外側で前記工作物の前記モデルを貫通するように前記機械加工工具を動かす少なくとも１つの偽の機械加工命令とを含むことと、
前記リモートホストに対して、前記変更された機械加工命令の少なくとも１つの群を用いて前記工作物の前記機械加工をシミュレートして、前記工作物の機械加工シミュレーションの幾何学的形状を生成させることであって、各幾何学的形状は対応する部分工作物に関連付けられることと、
前記対応する部分工作物の前記容積内の各幾何学的形状の一部を用いて、前記機械加工された工作物の表現を再構成することと、
を含む、方法。
【請求項２】
部分工作物に対して前記機械加工命令を変更することは、
各機械加工命令に対し、機械加工命令に関連する掃引容積を確定することであって、前記掃引容積は、前記工作物の前記モデルの容積の、前記機械加工命令に従って前記機械加工工具の形状の動きにより形成された容積との交差部分によって形成されることと、
前記掃引容積のバウンディングボックスを求めることと、
前記掃引容積の前記バウンディングボックスが前記部分工作物とオーバーラップする場合、前記部分工作物に関連する前記変更された機械加工命令の前記群に対して前記有効な機械加工命令として、前記機械加工命令を選択することと、
を含む、請求項１に記載の方法。
【請求項３】
前記機械加工命令の全てと異なる、前記部分工作物に対する前記偽の機械加工命令を生成することと、
前記部分工作物に関連する前記変更された機械加工命令の前記群内に前記偽の機械加工命令を追加することと、
を更に含む、請求項２に記載の方法。
【請求項４】
前記部分工作物の外側で前記工作物の前記モデルを貫通するように前記機械加工工具を動かす前記機械加工命令のサブセットとして、前記部分工作物に対する前記偽の機械加工命令を生成することと、
前記部分工作物に関連する前記変更された機械加工命令の前記群内に前記偽の機械加工命令を追加することと、
を更に含む、請求項２に記載の方法。
【請求項５】
前記分割することは、
前記工作物の前記モデルを、同一の形状及び寸法を有する前記部分工作物に分割すること、
を含む、請求項１に記載の方法。
【請求項６】
前記分割することは、
前記工作物の前記モデルを、異なる形状若しくは寸法、又は両方の組合せを有する前記部分工作物に分割すること、
を含む、請求項１に記載の方法。
【請求項７】
部分工作物の数は、リモートホストの数に等しく、
前記リモートホストを、各リモートホストが前記対応する部分工作物に関連付けられるように、異なる部分工作物に関連付けることと、
前記対応する部分工作物に関連する前記変更された機械加工命令群を、通信リンクを介して各リモートホストに送信することと、
前記送信に応じて、前記対応する部分工作物に関連する前記幾何学的形状を、各リモートホストから受信することと、
を含む、請求項１に記載の方法。
【請求項８】
前記工作物の前記モデルを前記リモートホストに送信すること、
を更に含む、請求項７に記載の方法。
【請求項９】
前記再構成することは、
前記対応する部分工作物の前記容積内の各幾何学的形状の一部を抽出して、一組のクリッピングされた幾何学的形状を生成することと、
前記工作物の前記モデル内の関連する部分工作物の位置に従って、前記一組のクリッピングされた幾何学的形状をメモリ内で結合して、前記機械加工された工作物の前記表現を生成することと、
を含む、請求項１に記載の方法。
【請求項１０】
前記再構成することは、
前記対応する部分工作物の前記容積内の各幾何学的形状の一部に対応する画像をレンダリングして、前記機械加工された工作物を表す合成画像を表示デバイス上で形成すること、
を含む、請求項１に記載の方法。
【請求項１１】
前記レンダリングすることは、
前記部分工作物に関連する前記幾何学的形状をフラグメントにラスタライズすることと、
前記部分工作物の外側でフラグメントを破棄することと、
前記ラスタライズされたフラグメントに従って前記画像のピクセルを更新することと、
を含む、請求項１０に記載の方法。
【請求項１２】
工作物に対して機械加工工具を動かす機械加工命令に従って、前記工作物の機械加工をシミュレートする、一組のリモートホストと通信するシステムであって、
前記機械加工命令と前記工作物のモデルとを記憶するメモリと、
プロセッサであって、
前記工作物のモデルを交差しない容積に分割して、一組の部分工作物を生成し、
各部分工作物に対する前記機械加工命令を変更して、前記機械加工命令とは異なる一組の変更された機械加工命令群を生成し、前記変更された機械加工命令の各群は、１つの部分工作物に関連付けられ、前記部分工作物を貫通するように前記機械加工工具を動かす有効な機械加工命令と、前記部分工作物の外側で前記工作物の前記モデルを貫通するように前記機械加工工具を動かす少なくとも１つの偽の機械加工命令とを含む、
プロセッサと、
送受信機であって、
前記対応する部分工作物に関連する前記変更された機械加工命令群を、通信リンクを介して各リモートホストに送信し、
前記送信に応じて、前記対応する部分工作物に関連する前記幾何学的形状を、各リモートホストから受信する、
送受信機と、
を備え、
前記プロセッサは、前記対応する部分工作物の前記容積内の各幾何学的形状の一部を用いて、前記機械加工された工作物の表現を再構成する、システム。
【請求項１３】
前記機械加工された工作物の前記表現をレンダリングするための表示デバイス、
を更に備える、請求項１２に記載のシステム。
【請求項１４】
前記プロセッサは、前記部分工作物に対する前記機械加工命令を、
各機械加工命令に対し、機械加工命令に関連する掃引容積を確定することであって、前記掃引容積は、前記工作物の前記モデルの容積の、前記機械加工命令に従って前記機械加工工具の形状の動きにより形成された容積との交差部分によって形成されることと、
前記掃引容積のバウンディングボックスを求めることと、
前記掃引容積の前記バウンディングボックスが前記部分工作物とオーバーラップする場合、前記部分工作物に関連する前記変更された機械加工命令の前記群に対して前記有効な機械加工命令として、前記機械加工命令を選択することと、
によって変更する、請求項１２に記載のシステム。
【請求項１５】
前記プロセッサは、前記部分工作物に対する前記機械加工命令を、
前記機械加工命令の全てと異なる、前記部分工作物に対する前記偽の機械加工命令を生成することと、
前記部分工作物に関連する前記変更された機械加工命令の前記群内に前記偽の機械加工命令を追加することと、
によって更に変更する、請求項１２に記載のシステム。
【請求項１６】
前記プロセッサは、前記部分工作物に対する前記機械加工命令を、
前記部分工作物の外側で前記工作物の前記モデルを貫通するように前記機械加工工具を動かす前記機械加工命令のサブセットとして、前記部分工作物に対する前記偽の機械加工命令を生成することと、
前記部分工作物に関連する前記変更された機械加工命令の前記群内に前記偽の機械加工命令を追加することと、
によって更に変更する、請求項１２に記載のシステム。
【請求項１７】
前記プロセッサは、前記機械加工された工作物の前記表現を、
前記対応する部分工作物の前記容積内の各幾何学的形状の一部を抽出して、一組のクリッピングされた幾何学的形状を生成することと、
前記工作物の前記モデル内の関連する部分工作物の位置に従って、前記一組のクリッピングされた幾何学的形状をメモリ内で結合して、前記機械加工された工作物の前記表現を生成することと、
によって確定する、請求項１２に記載のシステム。
【請求項１８】
前記プロセッサは、前記機械加工された工作物の前記表現を、
前記対応する部分工作物の前記容積内の各幾何学的形状の一部に対応する画像をレンダリングして、前記機械加工された工作物を表す合成画像を表示デバイス上で形成すること、
によって確定する、請求項１２に記載のシステム。
【請求項１９】
前記プロセッサは、前記機械加工された工作物の前記表現を、
前記部分工作物に関連する前記幾何学的形状をフラグメントにラスタライズすることと、
前記部分工作物の外側でフラグメントを破棄することと、
前記ラスタライズされたフラグメントに従って前記画像のピクセルを更新することと、
によって確定する、請求項１８に記載のシステム。
【請求項２０】
方法を実施するためにプロセッサによって実行可能なプログラムが具現化されている非一時的コンピュータ可読記憶媒体であって、前記方法は、
前記工作物のモデルを交差しない容積に分割して、一組の部分工作物を生成することと、
各部分工作物に対し、前記機械加工命令を変更して、前記機械加工命令とは異なる、一組の変更された機械加工命令群を生成することであって、前記変更された機械加工命令の各群は、１つの部分工作物に関連付けられ、前記部分工作物を貫通するように前記機械加工工具を動かす有効な機械加工命令と、前記部分工作物の外側で前記工作物の前記モデルを貫通するように前記機械加工工具を動かす少なくとも１つの偽の機械加工命令とを含むことと、
前記リモートホストに対して、前記変更された機械加工命令の少なくとも１つの群を用いて前記工作物の前記機械加工をシミュレートして、前記工作物の機械加工シミュレーションの幾何学的形状を生成させることであって、各幾何学的形状は対応する部分工作物に関連付けられることと、
前記対応する部分工作物の前記容積内の各幾何学的形状の一部を用いて、前記機械加工された工作物の表現を確定することと、
を含む、非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、包括的には、工作物の機械加工をシミュレートすることに関し、より詳細には、一組のリモートホストを介する分散機械加工シミュレーションのためのシステム及び方法に関する。
【背景技術】
【０００２】
数値制御（ＮＣ）加工、例えば、旋削、穿孔、ドリル加工、ブローチ加工、のこ引き、成形、リーマ仕上げ、フライス加工、タッピング、研削は、様々な材料、例えば、金属材料を切削する回転工具を使用する機械加工プロセスである。以降、工作物と呼ぶ材料片が与えられると、ＮＣ加工は、連続したモータ命令を使用して、作業工具、例えば切削工具を、工作物を横切るように移動／回転させる。注意深い設計により、ＮＣ加工機の顧客は、投入される工作物を特定の形状に切削することができる。連続した命令は、手作業で設計するには複雑である可能性があるため、コンピュータ支援製造（ＣＡＭ）ソフトウェアを使用して、所与の入力工作物形状を所望の出力工作物形状に変換する命令を生成することが一般的である。同様に、コンピュータを用いて、命令が正しく作用することができることを確認するために機械加工プロセスをシミュレートすることができる。欠陥のある機械加工命令は、機械加工時間及び工作物材料を無駄にするが、ＮＣ加工機を傷つける可能性もある。例えば、命令により、切削工具とＮＣ加工機との間に何らかの衝突がもたらされる場合、修理が高価である可能性があるモータが破損する可能性がある。
【０００３】
ＮＣ加工シミュレーション中、工作物のモデルは、工具、例えば、ＮＣ加工工具のコンピュータ表現と、機械加工プロセスをシミュレートする一組の動きとを用いて編集される。シミュレーションは、機械加工工具のタイプ及び動きのうちの一方又は組合せを指定する機械加工命令に従って実行される。シミュレーションは、表示デバイス上で物体のモデルと工具の表現とを視覚化して、工作物及び工具ホルダー等の部品の間の起こり得る衝突を検出し、物体の最終的な形状を検証することができる。
【０００４】
物体の最終的な形状は、工具及び動きの選択により影響を受ける。これらの動きを制御する命令は、通常、コンピュータ支援製造システムを用いて物体の所望の最終的な形状のグラフィック表現から生成される。それらの動きは、通常、準備コード又はＧコードとも知られている、数値制御プログラミング言語を用いて実施される。ＲＳ２７４Ｄ及びＤＩＮ６６０２５／ＩＳＯ６９８３標準規格を参照されたい。
【０００５】
ＮＣ加工シミュレーションは、大型の工作物及び／又は広範囲の機械加工命令の場合、時間がかかる可能性がある。特許文献１及び特許文献２に開示されている方法等、複数の方法は、機械加工シミュレーションを最適化することを目指す。しかしながら、いくつかの状況では、機械加工シミュレーションの更なる加速化が望まれる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】米国特許第８，４８３，８５８号
【特許文献２】米国特許第８，８３８，４１９号
【発明の概要】
【０００７】
いくつかの実施形態は、数値制御（ＮＣ）加工のシミュレーションの速度は、単一のシミュレーションに対して複数の計算ホストを用いることにより加速させることができるという認識に基づく。例えば、最近のクラウドコンピューティングは、他者のコンピュータ設備におけるコンピュータ資源を借り、したがって、コンピュータ設備のローカルクラスターを維持することに対する保守のオーバーヘッド及びコストを削減することさえ可能にする。
【０００８】
しかしながら、ＮＣ加工シミュレーションは、リモートホスト、例えば、リモートコンピュータ及び／又は他者が所有するコンピュータで実行される場合、ＮＣ加工シミュレータのメーカー及び顧客の両方に対して、セキュリティが問題となる可能性がある。このため、いくつかの実施形態の目的は、安全な方法での一組のリモートホストを介する分散機械加工シミュレーションのためのシステム及び方法を提供することである。
【０００９】
いくつかの実施形態は、工作物の異なる部分及び／又は容積はシミュレーションに依存しないという理解に基づく。すなわち、１つの容積の機械加工のシミュレーションは、工作物の別の容積の機械加工シミュレーションから独立している。したがって、工作物の第１の容積の機械加工をシミュレートする機械加工命令は、第１の容積の機械加工のシミュレーションに影響を与えることなく、工作物の第２の容積の機械加工のシミュレーションに対する異なる、さらには任意の偽の命令と結合することができる。
【００１０】
このことを理解することにより、こうした本物の機械加工命令及び偽の機械加工命令の組合せにおいて、容積の幾何学的形状及び位置の知識のみが、真の機械加工シミュレーションを偽の機械加工シミュレーションから分離することができるということが理解される。しかしながら、こうした知識は、分散機械加工シミュレーションのクライアントが保持することができる。そのために、クライアントは、異なるホストにおいて機械加工シミュレーションを実行するために、工作物のモデルの異なる容積に対して確定された本物の機械加工命令及び偽の機械加工命令を分散させることができる。各容積の幾何学的形状及び位置の知識を使用して、クライアントは、さらに、本物の機械加工命令によって実行されるシミュレーションの部分のみを抽出し結合して、分散シミュレーションの結果を生成することができる。
【００１１】
したがって、１つの実施形態は、工作物に対して機械加工工具を動かす機械加工命令に従って、工作物の機械加工をシミュレートする方法であって、シミュレーションは、プロセッサを用いて一組のリモートホストと通信して実施され、プロセッサは、方法を実施する記憶された命令に結合され、記憶された命令は、プロセッサによって実行されるとき、方法の少なくともいくつかのステップを実行する、方法を開示する。
【００１２】
本方法のステップは、工作物のモデルを交差しない容積に分割して、一組の部分工作物を生成することと、各部分工作物に対し機械加工命令を変更して、機械加工命令とは異なる、一組の変更された機械加工命令群を生成することであって、変更された機械加工命令の各群は、１つの部分工作物に関連付けられ、部分工作物を貫通するように機械加工工具を動かす有効な機械加工命令と、部分工作物の外側で工作物のモデルを貫通するように機械加工工具を動かす少なくとも１つの偽の機械加工命令とを含むことと、リモートホストに対して、変更された機械加工命令の少なくとも１つの群を用いて工作物の機械加工をシミュレートして、工作物の機械加工シミュレーションの幾何学的形状を生成させることであって、各幾何学的形状は対応する部分工作物に関連付けられる、生成させることと、対応する部分工作物の容積内の各幾何学的形状の一部を用いて、機械加工された工作物の表現を再構成することとを含む。
【００１３】
別の実施形態は、工作物に対して機械加工工具を動かす機械加工命令に従って、工作物の機械加工をシミュレートする、一組のリモートホストと通信するシステムを開示する。本システムは、機械加工命令と工作物のモデルとを記憶するメモリと、プロセッサであって、工作物のモデルを交差しない容積に分割して、一組の部分工作物を生成し、各部分工作物に対する機械加工命令を変更して、機械加工命令とは異なる一組の変更された機械加工命令群を生成し、変更された機械加工命令の各群は、１つの部分工作物に関連付けられ、部分工作物を貫通するように機械加工工具を動かす有効な機械加工命令と、部分工作物の外側で工作物のモデルを貫通するように機械加工工具を動かす少なくとも１つの偽の機械加工命令とを含む、プロセッサと、送受信機であって、対応する部分工作物に関連する変更された機械加工命令群を、通信リンクを介して各リモートホストに送信し、送信に応じて、対応する部分工作物に関連する幾何学的形状を、各リモートホストから受信する送受信機とを備え、プロセッサは、対応する部分工作物の容積内の各幾何学的形状の一部を用いて、機械加工された工作物の表現を再構成する。
【００１４】
さらに、別の実施形態は、方法を実施するためにプロセッサによって実行可能なプログラムが具現化されている非一時的コンピュータ可読記憶媒体を開示する。上記方法は、工作物のモデルを交差しない容積に分割して、一組の部分工作物を生成することと、各部分工作物に対し、機械加工命令を変更して、機械加工命令とは異なる、一組の変更された機械加工命令群を生成することであって、変更された機械加工命令の各群は、１つの部分工作物に関連付けられ、部分工作物を貫通するように機械加工工具を動かす有効な機械加工命令と、部分工作物の外側で工作物のモデルを貫通するように機械加工工具を動かす少なくとも１つの偽の機械加工命令とを含むことと、リモートホストに対して、変更された機械加工命令の少なくとも１つの群を用いて工作物の機械加工をシミュレートして、工作物の機械加工シミュレーションの幾何学的形状を生成させることであって、各幾何学的形状は対応する部分工作物に関連付けられることと、対応する部分工作物の容積内の各幾何学的形状の一部を用いて、機械加工された工作物の表現を確定することとを含む。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施形態による、ＮＣフライス盤、並びにＮＣフライス加工をシミュレートするシステム及び方法の流れ図である。
【図２】機械命令プログラムのための分散シミュレータの流れ図である。
【図３】フライス加工に使用される典型的な工具、及びこうした工具を或る経路に沿って動かすことによって行われる工作物における典型的な編集の図である。
【図４】曲線経路に沿って２Ｄ形状を掃引することにより求められる掃引容積の概略図である。
【図５】いくつかの実施形態による分散機械加工シミュレーションのための方法のブロック図である。
【図６Ａ】異なる実施形態によって工作物を分割する例を示す図である。
【図６Ｂ】いくつかの実施形態による、命令が部分工作物に対して有効か否かを判断するステップのフローチャートである。
【図７Ａ】機械加工命令の掃引容積を囲むバウンディングボックスの一例を示す図である。
【図７Ｂ】異なる実施形態による、掃引容積のバウンディングボックスの異なる部分工作物によるオーバーラップを検査する一例を示す図である。
【図８Ａ】いくつかの実施形態による、工作物を分割するためにセルの格子を使用する例のうちの１つを示す図である。
【図８Ｂ】いくつかの実施形態による、工作物を分割するためにセルの格子を使用する例のうちの１つを示す図である。
【図８Ｃ】１つの実施形態による、機械加工シミュレーションの幾何学的形状を抽出する方法のブロック図である。
【図９】いくつかの実施形態による、シミュレーション結果の幾何学的形状を抽出しかつ結合する方法のブロック図である。
【図１０Ａ】いくつかの実施形態による、コンピュータ幾何学的形状が格子によって表されないか、又は、部分工作物の境界が格子境界に位置合せされない場合の一例を示す図である。
【図１０Ｂ】１つの実施形態による、異なるシミュレーションからのクリッピングされた幾何学的形状を結合する画像をレンダリングする方法の概略図である。
【図１１Ａ】いくつかの実施形態による、シミュレートされたコンピュータ幾何学的形状を画像にレンダリングする概略図である。
【図１１Ｂ】例示的なコンピュータ幾何学的形状及び画像平面の上面図である。
【図１１Ｃ】図１１Ａの画像のピクセルを更新する最前フラグメントの概略図である。
【図１１Ｄ】いくつかの実施形態による、ラスタライズされたフラグメントがいかに破棄されるかの概略図である。
【図１１Ｅ】図１１Ｄの最前フラグメントを含む画像の概略図である。
【図１１Ｆ】いくつかの実施形態による、コンピュータ幾何学的形状のラスタライズされたフラグメントがその部分工作物に対していかにクリッピングされるかを示す図である。
【図１１Ｇ】図１１Ｆにおけるフラグメントを更新した後の画像の概略図である。
【図１２Ａ】図１１Ａの画像のピクセルに対して色及び距離を更新する流れ図である。
【図１２Ｂ】いくつかの実施形態による、部分工作物に対してコンピュータ幾何学的形状をレンダリングする方法のフローチャートである。
【発明を実施するための形態】
【００１６】
図１は、数値制御（ＮＣ）加工システム１００と、いくつかの実施形態によって使用されるＮＣ加工シミュレーションシステム１５０とを示す。機械加工の例としては、旋削作業、穿孔作業、ドリル加工作業、ブローチ加工作業、のこ引き作業、成形作業、リーマ仕上げ作業、フライス加工作業、タッピング作業及び研削作業が挙げられる。ＮＣ加工システム１００では、コンピュータ支援設計（ＣＡＤ）モデル１０２がコンピュータ支援製造（ＣＡＭ）システム１０４に入力され、ＣＡＭシステム１０４は、ＮＣ加工機を制御するためのＧコード１０６を生成する。ＮＣ加工中に、ＧコードはＮＣ加工コンソール１０８に入力され、ＮＣ加工コンソール１０８は各Ｇコードを処理して、対応する一組のＮＣ機械命令１１０を生成する。ＮＣ機械命令はＮＣコントローラ１１２に入力され、ＮＣコントローラ１１２は、工作物を機械加工するために、工作物１１８に対して工具１１６を動かす一組のモータ制御信号１１４を生成する。
【００１７】
シミュレーションシステム１５０は、入力として、コンピュータ支援製造システム１０４によって生成されるＧコード１０６か、又はＮＣコンソール１０８によって生成されるＮＣ機械命令１１０のいずれかを取り込むことができる。シミュレーションシステムへの入力は、コンピュータプロセッサ１５２によって読み取られ、コンピュータプロセッサ１５２は、工作物の機械加工をシミュレートし、シミュレートされたモデル１５４を出力し、シミュレートされたモデル１５４は、コンピュータメモリ１５６に記憶することができる。プロセッサ１５２は、記憶されたシミュレートされたモデル１５４をレンダリングして、レンダリングされた画像１５８を生成することができ、レンダリングされた画像１５８は表示デバイス１６０に出力することができる。表示された画像１６２をコンピュータ支援設計モデル１０２と比較して、工作物の実際のＮＣ加工を実行する前に、Ｇコード１０６又はＮＣ機械命令１１０を検証することができる。いくつかの実施形態では、シミュレーションシステム１５０は、単一のコンピュータにおいてシミュレーション及びレンダリングの両方を実行する。さらに又は代替的に、いくつかの実施形態は、複数のコンピュータにおいてシミュレーション及びレンダリングの両方を実行する。
【００１８】
いくつかの実施形態は、数値制御（ＮＣ）加工のシミュレーションの速度は、単一のシミュレーションに対して複数の計算ホストを用いることにより加速させることができるという認識に基づく。例えば、最近のクラウドコンピューティングは、他者のコンピュータ設備におけるコンピュータ資源を借り、したがって、コンピュータ設備のローカルクラスターを維持することに対する保守のオーバーヘッド及びコストを削減することさえ可能にする。
【００１９】
しかしながら、ＮＣ加工シミュレーションは、リモートホスト、例えば、リモートコンピュータ及び／又は他者が所有するコンピュータで実行される場合、ＮＣ加工シミュレータのメーカー及び顧客の両方に対して、セキュリティが問題となる可能性がある。このため、いくつかの実施形態の目的は、安全な方法での一組のリモートホストを介する分散機械加工シミュレーションのためのシステム及び方法を提供することである。
【００２０】
図２は、いくつかの実施形態による分散機械加工シミュレーションのためのシステムのブロック図を示す。これらの実施形態では、シミュレーションコンポーネント、例えば、機械加工命令により工作物の機械加工をシミュレートするソフトウェア１７６、１７７及び１７８は、リモートホスト１８３、１８４、１８５にインストールされる。分散機械加工シミュレーションは、ローカルコンピュータのプロセッサ１７０によって実行される、シミュレーションクライアント１７２によって実行される。シミュレーションクライアントは、シミュレーションを実行する機械加工命令１７１を含む、ユーザーからの入力を受け入れる。分散シミュレーションを実行するために、シミュレーションクライアントは、各リモートホストに対して機械加工命令１７１を変更し、変更された命令１７３、１７４、１７５を、シミュレーションサーバ１７６、１７７、１７８による機械加工シミュレーションのためにリモートホスト１８３、１８４及び１８５にサブミットする。各シミュレーションサーバがシミュレーションを終了した後、シミュレートされたモデル１７９、１８０及び１８１は、シミュレーションクライアント１７２に返信される。シミュレートされたモデルに基づき、シミュレーションクライアントは、シミュレーション結果を単一のモデル及び／又は画像１８１にレンダリングし、モデル及び／又は画像１８１は、表示デバイス１８２においてレンダリングするか又はメモリに記憶することができる。レンダリングされた画像は、分散なしにローカルホストにおいて機械命令プログラムをシミュレートすることと同一である。
【００２１】
図３は、ＮＣ加工において使用される一組の典型的な工具形状２０２、２０４、２０６及び２０８を示す。工具が工作物２１０に対して動かされるとき、その工具は工作物から材料を削り出す。ここで、工具２０２、２０４、２０６及び２０８は、工作物から、表面２１２、２１４、２１６及び２１８に対応する材料を除去する。各工具によって除去される材料の形状は、工具形状と、工作物に対する工具の経路とによって決まる。除去される材料の形状は、工具が経路に沿って動く際の工作物と工具の掃引容積との交差部分である。機械加工シミュレーションの目的で、こうした除去された材料を本明細書では掃引容積と呼ぶ。
【００２２】
図４は、経路２５２に沿って動かされる形状２５０の掃引容積２６０を示す。経路２５２は、時間の関数として、形状２５０の特定の点の位置を指定する。経路は、時間の関数として、形状の向き２５６、２５７及び２５８を指定することができる。経路はまた、時間の関数として、形状のスケール、又は形状の任意の変換も指定することができる。図４において、形状２５０の元の位置、向き及び幾何学的形状は、形状２５０が経路に沿って動くに従い、形状２５４の最終的な位置、向き及び幾何学的形状に変換される。掃引容積は、シミュレーションの結果の幾何学的形状を形成する際に工作物の異なる部分を変更する。
【００２３】
いくつかの実施形態は、工作物の異なる部分及び／又は容積はシミュレーションに依存しないという理解に基づく。すなわち、１つの容積の機械加工のシミュレーションは、工作物の別の容積の機械加工シミュレーションから独立している。したがって、工作物の第１の容積の機械加工をシミュレートする機械加工命令は、第１の容積の機械加工のシミュレーションに影響を与えることなく、工作物の第２の容積の機械加工のシミュレーションに対する異なる、さらには任意の偽の命令と結合することができる。
【００２４】
このことを理解することにより、こうした本物の機械加工命令及び偽の機械加工命令の組合せにおいて、第１の容積の幾何学的形状及び位置の知識のみが、真の機械加工シミュレーションを偽の機械加工シミュレーションから分離することができるということが理解される。しかしながら、こうした知識は、分散機械加工シミュレーションのクライアントが保持することができる。そのために、クライアントは、異なるホストにおいて機械加工シミュレーションを実行するために、工作物のモデルの異なる容積に対して確定された本物の機械加工命令及び偽の機械加工命令を分散させることができる。各容積の幾何学的形状及び位置の知識を使用して、クライアントは、さらに、本物の機械加工命令によって実行されるシミュレーションの部分のみを抽出し結合して、分散シミュレーションの結果を生成することができる。
【００２５】
図５は、いくつかの実施形態による分散機械加工シミュレーションのための方法のブロック図を示す。本方法は、工作物に対して機械加工工具を動かす機械加工命令に従う工作物の機械加工をシミュレートする。シミュレーションは、プロセッサ、例えばプロセッサ１７０を用いて、一組のリモートホスト、例えば、ホスト１８３、１８４及び１８５と通信して実行される。プロセッサは、本方法を実施する記憶された命令に結合される。シミュレーションクライアント１７２を実施する命令等、記憶された命令は、プロセッサ１７０によって実行されるとき、本方法の少なくともいくつかのステップを実行する。
【００２６】
本方法は、工作物のモデルを交差しない容積に分割して、一組の部分工作物を生成する（５０１）。例えば、１つの実施形態では、本方法は、部分工作物の数がリモートホストの数に等しいようにモデルを分割する。いくつかの実施態様では、シミュレートを行うクライアントはまた、シミュレーションの速度を速めるために１つのリモートホストとして作用している。さらに又は代替的に、いくつかのリモートホストは、２つ以上の部分工作物に対してシミュレーションを実行することができる。
【００２７】
本方法は、各部分工作物に対する機械加工命令を変更して、工作物全体を機械加工する元の機械加工命令とは異なる、一組の変更された機械加工命令群を生成する（５０２）。例えば、機械加工命令による工作物の機械加工と、変更された機械加工命令群による工作物の機械加工により、２つの異なる結果、すなわち２つの異なる幾何学的形状が生成される。
【００２８】
各変更された機械加工命令群は、部分工作物に関連付けられる。例えば、１つの実施形態は、複数のリモートホストと同数の変更された機械加工命令群を生成する。この実施形態は、各リモートホストが対応する部分工作物に関連するように、リモートホストを異なる部分工作物に関連付ける。
【００２９】
各変更された機械加工命令群は、有効な機械加工命令と偽の機械加工命令とを含む。有効な機械加工命令は、部分工作物を貫通するように機械加工工具を動かす元の機械加工命令のサブセットを含む。偽の機械加工命令は、部分工作物の外側で工作物のモデルを貫通するように機械加工工具を動かす。例えば、偽の機械加工命令は、実際には、偽の、すなわち、シミュレーションに対して受け取られる全ての機械加工命令とは異なる命令である。こうした偽の命令は、各変更された機械加工命令群に対して一意とすることができ、又は、少なくともいくつかの群により共有することができる。さらに又は代替的に、偽の機械加工命令は、部分工作物の外側で工作物のモデルを貫通するように機械加工工具を動かす機械加工命令のサブセットを含むことができる。異なる群は、元の機械加工命令を隠すように異なるサブセットを含むことができる。例えば、１つの実施形態では、各群は、関連する部分工作物に対して適合された異なる偽の機械加工命令を含む。しかしながら、様々な実施形態では、各変更された機械加工命令群に対して選択された有効な命令及び偽の命令の組合せは、元の機械加工命令にはならない。
【００３０】
本方法は、リモートホストに、少なくとも１つの変更された機械加工命令群を用いて工作物の機械加工をシミュレートして、工作物の機械加工シミュレーションの幾何学的形状を生成させる（５１０）。各幾何学的形状は、対応する部分工作物に関連するが、有効な機械加工命令及び偽の機械加工命令に従う工作物全体の機械加工命令のシミュレーションを表す。
【００３１】
例えば、１つの実施形態は、対応する部分工作物に関連する変更された機械加工命令群を、通信リンクを介して各リモートホストに送信する（５０３）。リモートホストは、送信された機械加工命令に従って機械加工のシミュレーションを実行して、工作物の機械加工シミュレーションの幾何学的形状を生成する。そのために、本実施形態は、送信に応じて、対応する部分工作物に関連する幾何学的形状を、各リモートホストから受信する（５０４）。
【００３２】
１つの実施態様では、本実施形態はまた、機械加工すべき工作物のモデルも送信する。代替実施態様では、工作物のモデルは、事前に確定され、及び／又はリモートホストに展開されたシミュレーションソフトウェアに含まれている。
【００３３】
次に、本実施形態は、対応する部分工作物の容積内の各幾何学的形状の一部を用いて、機械加工された工作物の表現を再構成する（５０５）。例えば、１つの実施形態は、対応する部分工作物の容積内の各幾何学的形状の一部を抽出して一組のクリッピングされた幾何学的形状を生成することにより、機械加工された工作物の表現を生成し、メモリ内で、クリッピングされた幾何学的形状の組を結合する。例えば、クリッピングされた幾何学的形状は、工作物のモデル内の関連する部分工作物の位置に従って結合される。さらに又は代替的に、１つの実施形態は、対応する部分工作物の容積内の各幾何学的形状の一部に対応する画像をレンダリングして、機械加工された工作物を表す合成画像を表示デバイスに形成することにより、機械加工された工作物の表現を生成する。
【００３４】
図６Ａは、異なる実施形態による工作物を分割する例６１０を示す。入力工作物のバウンディングボックスが与えられると、このバウンディングボックスは、オーバーラップしない容積に分割される。オーバーラップしない容積の数は、リモートホストの数と同じとすることができる。各分割された容積は、本明細書では、部分工作物と呼ぶ。分割は、２つの制約を満足させる必要がある。第１に、部分工作物はオーバーラップしない。第２に、それらの結合体は、入力工作物のバウンディングボックス全体を覆うことができる。そうでない場合、分割は任意である可能性がある。
【００３５】
部分工作物は、異なる容積を有することができ、分割は、異なる寸法に沿って行うことができる。例えば、いくつかの実施形態は、例６１１にあるように、工作物のモデルを、同一の形状及び寸法を有する容積の組に分割する。代替実施形態は、工作物のモデルを、異なる形状及び／又は寸法を有する容積の組に分割する。例えば、工作物６１２は、異なる幅を有する切片（lops）に分割される。工作物６１３は、寸法の異なる直方体に分割される。
【００３６】
様々な実施形態が、この部分工作物に対して、元の機械加工命令を複製し、複製された機械加工命令を変更する。この部分工作物と交差する掃引容積をもたらす命令は、この部分容積に対して有効であるとみなされる。命令の変更は、この部分工作物に対する有効な命令の全てを保存し、有効な命令を、部分工作物内のシミュレーション結果に影響を与えない追加の命令と混合する。
【００３７】
図６Ｂは、いくつかの実施形態による、命令６０５が部分工作物６０４に対して有効であるか否かを判断するステップのフローチャートを示す。これらの実施形態は、最初に、対応する掃引容積のバウンディングボックスを計算し（６０６）、次いで、バウンディングボックスが部分工作物とオーバーラップするか否かを判断する（６０７）。オーバーラップする場合、この機械加工命令は有効である。
【００３８】
図７Ａは、工作物のモデルの容積の、機械加工命令に従って機械加工工具の形状の動きにより形成された容積との交差部分によって形成された、機械加工命令の掃引容積７２５を囲むバウンディングボックス７２０の一例を示す。
【００３９】
図７Ｂは、掃引容積７２５のバウンディングボックス７２０の、３つの部分工作物７０１、７０２及び７０３とのオーバーラップを検査する一例を示す。この例では、掃引容積のバウンディングボックスは、部分工作物７０２及び７０３とオーバーラップしている。このため、掃引容積７２５を形成した機械加工命令は、これらの部分工作物７０２及び７０３に対して有効であり、部分工作物７０２及び／又は７０３に関連する変更された機械加工命令群に入れられるように選択される。
【００４０】
しかしながら、掃引容積のバウンディングボックスは、部分工作物７０１とは交差せず、したがって、掃引容積７２５を形成した機械加工命令は、部分工作物７０１に対して有効ではなく、部分工作物７０１に関連する変更された機械加工命令群に対して選択される必要はない。
【００４１】
各部分工作物に対して有効な機械命令を識別した後、いくつかの実施形態は、掃引容積が入力工作物とオーバーラップするがこの部分工作物とはオーバーラップしない、追加の機械加工命令を生成する。これらの命令は、この部分工作物に対する偽の命令とみなされる。
【００４２】
偽の命令を用いて、変更された機械命令プログラムをシミュレートする場合、有効な命令は、部分工作物内に真の計算幾何学的形状を生成するが、偽の命令は、部分工作物の外側であるが依然として入力工作物内に偽の計算幾何学的形状を生成する。したがって、工作物全体のシミュレートされたコンピュータ幾何学的形状は不正確である。工作物内の部分工作物の位置及び工作物の幾何学的形状の知識は、真のコンピュータ幾何学的形状を抽出するために必要であるため、ローカルホストにそれほど有用でない部分工作物を保持することにより、様々な実施形態による分散シミュレーションが安全になる。
【００４３】
リモートホストにおけるシミュレーションサーバは、変更された命令プログラムのシミュレーションを終了すると、シミュレートされたコンピュータ幾何学的形状をローカルホストのシミュレーションクライアントに送信することができる。コンピュータ幾何学的形状が、空間領域を矩形セルに再分する格子容積として表され、部分工作物の境界が格子セルの縁と整列する場合、シミュレーションクライアントは、部分工作物内のコンピュータ幾何学的形状を抽出して、単一表現として合成することができる。コンピュータ幾何学的形状が、不規則容積又は三角形メッシュ等、他のフォーマットとして表されている場合、シミュレーションクライアントは、表示デバイス上で画像をレンダリングするとき、合成ステップを先延ばしすることができる。
【００４４】
図８Ａ及び図８Ｂは、いくつかの実施形態による、工作物を分割するためにセルの格子を使用する例を示す。セルは、図８Ａの例におけるように同じサイズとすることができ、又は、図８Ｂの例におけるように異なるサイズを有することができる。いくつかの実施形態では、部分工作物の境界は、格子の境界に位置合せされる。こうした位置合せにより、リモートホストから受信された幾何学的形状の後続する抽出が容易になる。
【００４５】
例えば、工作物８００は、格子８０３によって表され、部分工作物８０２の境界は、この表現のいくつかのセルの境界と位置合せされる。そのために、機械加工シミュレーション８０１の幾何学的形状が、部分工作物８０２に関連するホストから受信される場合、対応する部分工作物のセル内の幾何学的形状の一部が抽出されて、クリッピングされた幾何学的形状８０４が生成される。
【００４６】
図８Ｃは、１つの実施形態により機械加工シミュレーションの幾何学的形状を抽出するブロック図を示す。この例では、シミュレーションクライアントは、格子８０３に従って入力工作物を再分する。受信されたコンピュータ幾何学的形状８１１もまた、格子として表され、シミュレーションクライアントは、受信した格子を比較し、各格子セル８１１の位置を検査して、このセルが部分工作物８１０内にあるか否かを判断する（８１２）。その格子セルが部分工作物内にある場合、この格子セル内に記憶された情報は、ローカルシミュレーションクライアントにおける同じセルに複製される（８１３）。部分工作物内のセルを複製した後、部分工作物８０４内のコンピュータ幾何学的形状が抽出される。全てのリモートホストからのコンピュータ幾何学形状が受信されると、ローカルホストは、入力工作物全体のコンピュータ幾何学的形状を取得する。結合されたコンピュータ幾何学的形状は、ユーザーがシミュレーション結果を視覚化し分析するために、表示デバイス上でレンダリングすることができる。
【００４７】
図９は、いくつかの実施形態による、シミュレーション結果の幾何学的形状を抽出し結合する方法のブロック図を示す。シミュレーション結果９０４を生成するためにシミュレートする（９０３）ことができる、入力工作物９０１及び機械加工命令９０２が与えられると、入力工作物は部分工作物９０６に分割される（９０５）。分割に基づき、機械加工命令は、複製されかつ変更される（９０７）。各部分工作物は、変更された命令９０８及び９０９に関連付けられる。シミュレーションサーバ、例えば、リモートホスト９１２及び９１３は、元の入力工作物９０１の複製９１０及び９１１に対して変更された命令をシミュレートすることにより、予測されたシミュレーション結果９０４とは異なるシミュレーション結果９１４及び９１５を生成する。
【００４８】
しかしながら、シミュレーションクライアントは、その対応する部分工作物９１６及び９１７に従って、変更された機械加工命令のシミュレーション結果をクリッピングする（９１８及び９１９）。クリッピングされたコンピュータ幾何学的形状９２０及び９２１の組合せは、元のシミュレーション結果９０４における対応する部分と一致することができる。したがって、これらのクリッピングされたコンピュータ幾何学的形状は、単一の表現９２２に結合することができ（９２１）、その単一の表現９２２は、分割なしに実行することができる予測された表現９０４と同じである。特に、結合は、ローカルシミュレーションクライアントによって実行される。リモートホストは、部分工作物の位置、形状及び寸法に関する情報を有しておらず、したがって、対応するコンピュータ幾何学的形状を抽出することができない。
【００４９】
図１０Ａは、いくつかの実施形態による、コンピュータ幾何学的形状が格子によって表されないか、又は、部分工作物の境界が格子境界と位置合せされない場合の一例を示す。例えば、図１０Ａにおいて、部分工作物の境界１０５０は、格子１０６０の縁と位置合せされていない。こうした場合、いくつかの実施形態、シミュレーションクライアントは、幾何学的形状を結合しないことを選択し、対応する部分工作物の容積内の各幾何学的形状の一部に対応する画像をレンダリングして、表示デバイスにおいて合成画像を形成するように選択することができる。例えば、シミュレーションクライアントは、全ての部分工作物のコンピュータ幾何学的形状を記憶し、それらの上の各々全てを画像にレンダリングし、それらの画像を単一の画像に合成することができ、この単一の画像は、分割なしにシミュレーション結果をレンダリングしたものと同一である。
【００５０】
図１０Ｂは、１つの実施形態による、異なるシミュレーションからのクリッピングされた幾何学的形状を結合する画像をレンダリングする方法の概略図を示す。シミュレーション結果１００４を生成するためにシミュレートする（１００３）ことができる、入力工作物１００１及び機械加工命令１００２が与えられると、入力工作物は、部分工作物１００６に分割することができる（１００５）。部分工作物に基づいて、機械加工命令は、複製されかつ変更される（１００７）。各部分工作物は、独自の変更された機械加工命令群１００８及び１００９を有する。シミュレーションサーバ１０１２及び１０１３は、元の入力工作物１００１の複製１０１０及び１０１１に対して、変更された命令をシミュレートすることにより、予測されたシミュレーション結果１００４とは異なるシミュレーション結果１０１４及び１０１５を生成する。
【００５１】
レンダラー１０２２は、コンピュータ幾何学的形状１０１４及び１０１５をレンダリングするとき、対応する部分工作物１０１６及び１０１８を用いて、画像に隠された部分工作物の外側で部分を有する、対応するクリッピングされた画像を生成する。クリッピングされた画像における各ピクセルは、部分工作物内のコンピュータ幾何学的形状の色及び奥行きの両方を記憶する。奥行きを用いて、クリッピングされた画像は、単一画像１０２３にレンダリングされて（１０２２）、分割なしにシミュレートされたコンピュータ幾何学的形状１００４をレンダリングする（１０２４）ことにより受け取られる画像１０２５と同様の画像を生成する。
【００５２】
図１１Ａは、シミュレートされたコンピュータ幾何学的形状１１０１を画像１１０２にレンダリングする概略図を示す。図１１Ｂは、コンピュータ幾何学的形状及び画像平面１１０３の上面図を示す。図１１Ｃは、図１１Ａの画像のピクセルを更新する最前フラグメントの概略図を示す。
【００５３】
画像平面１１０３上の各セルは、画像のピクセルと呼ばれる。ピクセルは、このピクセルを貫通するように可視の最前面の色を記録する。ピクセルの位置は、（ｘ，ｙ）として示され、色及び距離は、それぞれ、Ｃ（ｘ，ｙ）及びＤ（ｘ，ｙ）として示される。
【００５４】
コンピュータ幾何学的形状をレンダリングする前に、ピクセルの色及び奥行きはリセットされる。計算幾何学的形状をレンダリングするために、いくつかの実施形態は、コンピュータ幾何学的形状の表面をフラグメント１１０４と呼ぶ小さい要素にラスタライズする。ピクセルを貫通するようにレイがキャストされると仮定すると、フラグメントは、レイとコンピュータ幾何学的形状とが交差する小さい表面パッチである。コンピュータ幾何学的形状は複数の表面の層を有するため、ピクセルからのレイは、複数のフラグメントと交差する可能性がある。
【００５５】
図１２Ａは、図１１Ａの画像１１０２に対する位置（ｘ，ｙ）におけるピクセル１２０４に対する色及び距離を更新する流れ図を示す。色ｃ及び距離ｄを有するこのピクセル位置（ｘ，ｙ）における新たなフラグメント１２０５が与えられると、この距離ｄが、対応するピクセルの記録された距離Ｄ（ｘ，ｙ）より近い場合（１２０６）、このピクセルの色及び距離は、この新たなピクセルの色及び距離によって更新される（１２０７）。
【００５６】
図１２Ｂは、いくつかの実施形態による、部分工作物に対してコンピュータ幾何学的形状をレンダリングする方法のフローチャートを示す。図１１Ｄ〜図１１Ｇは、図１２Ｂの方法のステップを示す。具体的には、図１１Ｄは、ラスタライズされたフラグメントが、部分工作物の外側にあるときにいかに破棄されるかを示し、図１１Ｅは、図１１Ｄの最前フラグメントを維持した後の画像を示し、図１１Ｆは、コンピュータ幾何学的形状のラスタライズされたフラグメントがその部分工作物に対していかにクリッピングされるかを示し、図１１Ｇは、図１１Ｆにおけるフラグメントを更新した後の画像を示す。
【００５７】
図１１Ｄに示すように、部分工作物１１０６に対してコンピュータ幾何学的形状１１０７が与えられると、本方法は、その幾何学的形状をフラグメントにラスタライズし１２０１、その後、対応する部分工作物の外側でフラグメントを破棄する（１２０２）。残ったフラグメントを用いて、画像が更新される（１２０３）。残ったフラグメントの全てを検査した後、画像１１０９は、部分工作物１１０６内のコンピュータ幾何学的形状の最前面に対する色及び距離を記録する。
【００５８】
この手続きは、全ての部分工作物に対して繰り返される。図１１Ｆに示すように、別のコンピュータ幾何学的形状１１１０が与えられると、本方法は、その表面をその部分工作物１１０９内のフラグメントにラスタライズする。それらのフラグメントを用いて、画像平面に近い方のフラグメントのみが保持されるように、ピクセルが更新される。図１１Ｇは、各ピクセルが図１１Ｃのフラグメントと同じフラグメントの距離及び色を記録する最終的な画像を示す。
【００５９】
幾何学的形状ベースの合成と比較して、画像ベースの合成はより一般的であるが、シミュレーションクライアントが複数のコンピュータ幾何学的形状をレンダリングする必要があるため、レンダリングがより低速である。それにも関わらず、画像ベースの合成は、リモートホストが、依然としてそれらの部分工作物に関する情報を有していないため、物体ベースの合成と等しく安全である。
【００６０】
本発明の上記の実施形態は数多くの方法のいずれかにおいて実現することができる。例えば、それらの実施形態は、ハードウェア、ソフトウェア又はその組合せを用いて実現することができる。ソフトウェアにおいて実現されるとき、そのソフトウェアコードは、単一のコンピュータ内に設けられるにしても、複数のコンピュータ間に分散されるにしても、任意の適切なプロセッサ、又はプロセッサの集合体において実行することができる。そのようなプロセッサは集積回路として実現することができ、集積回路コンポーネント内に１つ以上のプロセッサが含まれる。しかしながら、プロセッサは、任意の適切な構成の回路を用いて実現することができる。
【００６１】
また、本発明の実施形態は方法として具現することができ、その一例が提供されてきた。その方法の一部として実行される動作は、任意の適切な方法において順序化することができる。したがって、例示的な実施形態において順次の動作として示される場合であっても、例示されるのとは異なる順序において動作が実行される実施形態を構成することもでき、異なる順序は、いくつかの動作を同時に実行することを含むことができる。
【００６２】
請求項要素を修飾するために特許請求の範囲において「第１の」、「第２の」のような序数の用語を使用することは、それだけで、或る請求項要素が別の請求項要素よりも優先度が高いこと、優位であること、若しくは上位にあることを、又は方法の動作が実行される時間的な順序を暗示するのではなく、請求項要素を区別するために、或る特定の名称を有する１つの請求項要素を（序数用語を使用しなければ）同じ名称を有する別の要素から区別するラベルとして単に使用される。
【図１】
2019536160.tif 000003
【図２】
2019536160.tif 000004
【図３】
2019536160.tif 000005
【図４】
2019536160.tif 000006
【図５】
2019536160.tif 000007
【図６Ａ】
2019536160.tif 000008
【図６Ｂ】
2019536160.tif 000009
【図７Ａ】
2019536160.tif 000010
【図７Ｂ】
2019536160.tif 000011
【図８Ａ】
2019536160.tif 000012
【図８Ｂ】
2019536160.tif 000013
【図８Ｃ】
2019536160.tif 000014
【図９】
2019536160.tif 000015
【図１０Ａ】
2019536160.tif 000016
【図１０Ｂ】
2019536160.tif 000017
【図１１Ａ】
2019536160.tif 000018
【図１１Ｂ】
2019536160.tif 000019
【図１１Ｃ】
2019536160.tif 000020
【図１１Ｄ】
2019536160.tif 000021
【図１１Ｅ】
2019536160.tif 000022
【図１１Ｆ】
2019536160.tif 000023
【図１１Ｇ】
2019536160.tif 000024
【図１２Ａ】
2019536160.tif 000025
【図１２Ｂ】
2019536160.tif 000026
【手続補正書】
【提出日】令和1年5月16日(2019.5.16)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００６１
【補正方法】変更
【補正の内容】
【００６１】
また、本発明の実施形態は方法として具現することができ、その一例が提供されてきた。その方法の一部として実行される分割、変更および再構成の各動作は、任意の適切な方法において順序化することができる。したがって、例示的な実施形態において順次の動作として示される場合であっても、例示されるのとは異なる順序において動作が実行される実施形態を構成することもでき、異なる順序は、いくつかの動作を同時に実行することを含むことができる。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００６２
【補正方法】削除
【補正の内容】
【手続補正３】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
工作物に対して機械加工工具を動かす機械加工命令に従って、前記工作物の機械加工をシミュレートする方法であって、前記シミュレーションは、プロセッサを用いて一組のリモートホストと通信して実施され、前記プロセッサは、前記方法を実施する記憶された命令に結合され、前記記憶された命令は、前記プロセッサによって実行されるとき、前記方法の少なくともいくつかのステップを実行し、前記方法は、
前記工作物のモデルを交差しない容積に分割して、一組の部分工作物を生成することと、
各部分工作物に対し前記機械加工命令を変更して、前記機械加工命令とは異なる、一組の変更された機械加工命令群を生成することであって、前記変更された機械加工命令の各群は、１つの部分工作物に関連付けられ、前記部分工作物を貫通するように前記機械加工工具を動かす有効な機械加工命令と、前記部分工作物の外側で前記工作物の前記モデルを貫通するように前記機械加工工具を動かす少なくとも１つの偽の機械加工命令とを含むことと、
前記リモートホストに対して、前記変更された機械加工命令の少なくとも１つの群を用いて前記工作物の前記機械加工をシミュレートして、前記工作物の機械加工シミュレーションの幾何学的形状を生成させることであって、各幾何学的形状は対応する部分工作物に関連付けられることと、
前記対応する部分工作物の前記容積内の各幾何学的形状の一部を用いて、前記機械加工された工作物の表現を再構成することと、
を含む、方法。
【請求項２】
部分工作物に対して前記機械加工命令を変更することは、
各機械加工命令に対し、機械加工命令に関連する掃引容積を確定することであって、前記掃引容積は、前記工作物の前記モデルの容積の、前記機械加工命令に従って前記機械加工工具の形状の動きにより形成された容積との交差部分によって形成されることと、
前記掃引容積のバウンディングボックスを求めることと、
前記掃引容積の前記バウンディングボックスが前記部分工作物とオーバーラップする場合、前記部分工作物に関連する前記変更された機械加工命令の前記群に対して前記有効な機械加工命令として、前記機械加工命令を選択することと、
を含む、請求項１に記載の方法。
【請求項３】
前記機械加工命令の全てと異なる、前記部分工作物に対する前記偽の機械加工命令を生成することと、
前記部分工作物に関連する前記変更された機械加工命令の前記群内に前記偽の機械加工命令を追加することと、
を更に含む、請求項２に記載の方法。
【請求項４】
前記部分工作物の外側で前記工作物の前記モデルを貫通するように前記機械加工工具を動かす前記機械加工命令のサブセットとして、前記部分工作物に対する前記偽の機械加工命令を生成することと、
前記部分工作物に関連する前記変更された機械加工命令の前記群内に前記偽の機械加工命令を追加することと、
を更に含む、請求項２に記載の方法。
【請求項５】
前記分割することは、
前記工作物の前記モデルを、同一の形状及び寸法を有する前記部分工作物に分割すること、
を含む、請求項１に記載の方法。
【請求項６】
前記分割することは、
前記工作物の前記モデルを、異なる形状若しくは寸法、又は両方の組合せを有する前記部分工作物に分割すること、
を含む、請求項１に記載の方法。
【請求項７】
部分工作物の数は、リモートホストの数に等しく、
前記リモートホストを、各リモートホストが前記対応する部分工作物に関連付けられるように、異なる部分工作物に関連付けることと、
前記対応する部分工作物に関連する前記変更された機械加工命令群を、通信リンクを介して各リモートホストに送信することと、
前記送信に応じて、前記対応する部分工作物に関連する前記幾何学的形状を、各リモートホストから受信することと、
を含む、請求項１に記載の方法。
【請求項８】
前記工作物の前記モデルを前記リモートホストに送信すること、
を更に含む、請求項７に記載の方法。
【請求項９】
前記再構成することは、
前記対応する部分工作物の前記容積内の各幾何学的形状の一部を抽出して、一組のクリッピングされた幾何学的形状を生成することと、
前記工作物の前記モデル内の関連する部分工作物の位置に従って、前記一組のクリッピングされた幾何学的形状をメモリ内で結合して、前記機械加工された工作物の前記表現を生成することと、
を含む、請求項１に記載の方法。
【請求項１０】
前記再構成することは、
前記対応する部分工作物の前記容積内の各幾何学的形状の一部に対応する画像をレンダリングして、前記機械加工された工作物を表す合成画像を表示デバイス上で形成すること、
を含む、請求項１に記載の方法。
【請求項１１】
前記レンダリングすることは、
前記部分工作物に関連する前記幾何学的形状をフラグメントにラスタライズすることと、
前記部分工作物の外側でフラグメントを破棄することと、
前記ラスタライズされたフラグメントに従って前記画像のピクセルを更新することと、
を含む、請求項１０に記載の方法。
【請求項１２】
工作物に対して機械加工工具を動かす機械加工命令に従って、前記工作物の機械加工をシミュレートする、一組のリモートホストと通信するために設けられたシステムであって、
前記機械加工命令と前記工作物のモデルとを記憶するために設けられたメモリと、
プロセッサであって、
前記工作物のモデルを交差しない容積に分割して、一組の部分工作物を生成し、
各部分工作物に対する前記機械加工命令を変更して、前記機械加工命令とは異なる一組の変更された機械加工命令群を生成し、前記変更された機械加工命令の各群は、１つの部分工作物に関連付けられ、前記部分工作物を貫通するように前記機械加工工具を動かす有効な機械加工命令と、前記部分工作物の外側で前記工作物の前記モデルを貫通するように前記機械加工工具を動かす少なくとも１つの偽の機械加工命令とを含むために設けられた、
プロセッサと、
送受信機であって、
前記対応する部分工作物に関連する前記変更された機械加工命令群を、通信リンクを介して各リモートホストに送信し、
前記送信に応じて、前記対応する部分工作物に関連する前記幾何学的形状を、各リモートホストから受信するために設けられた、
送受信機と、
を備え、
前記プロセッサは、前記対応する部分工作物の前記容積内の各幾何学的形状の一部を用いて、前記機械加工された工作物の表現を再構成するために設けられている、システム。
【請求項１３】
前記機械加工された工作物の前記表現をレンダリングするための表示デバイス、
を更に備える、請求項１２に記載のシステム。
【請求項１４】
前記プロセッサは、前記部分工作物に対する前記機械加工命令を、
各機械加工命令に対し、機械加工命令に関連する掃引容積を確定することであって、前記掃引容積は、前記工作物の前記モデルの容積の、前記機械加工命令に従って前記機械加工工具の形状の動きにより形成された容積との交差部分によって形成されることと、
前記掃引容積のバウンディングボックスを求めることと、
前記掃引容積の前記バウンディングボックスが前記部分工作物とオーバーラップする場合、前記部分工作物に関連する前記変更された機械加工命令の前記群に対して前記有効な機械加工命令として、前記機械加工命令を選択することと、
によって変更するために設けられた、請求項１２に記載のシステム。
【請求項１５】
前記プロセッサは、前記部分工作物に対する前記機械加工命令を、
前記機械加工命令の全てと異なる、前記部分工作物に対する前記偽の機械加工命令を生成することと、
前記部分工作物に関連する前記変更された機械加工命令の前記群内に前記偽の機械加工命令を追加することと、
によって更に変更するために設けられた、請求項１２に記載のシステム。
【請求項１６】
前記プロセッサは、前記部分工作物に対する前記機械加工命令を、
前記部分工作物の外側で前記工作物の前記モデルを貫通するように前記機械加工工具を動かす前記機械加工命令のサブセットとして、前記部分工作物に対する前記偽の機械加工命令を生成することと、
前記部分工作物に関連する前記変更された機械加工命令の前記群内に前記偽の機械加工命令を追加することと、
によって更に変更するために設けられた、請求項１２に記載のシステム。
【請求項１７】
前記プロセッサは、前記機械加工された工作物の前記表現を、
前記対応する部分工作物の前記容積内の各幾何学的形状の一部を抽出して、一組のクリッピングされた幾何学的形状を生成することと、
前記工作物の前記モデル内の関連する部分工作物の位置に従って、前記一組のクリッピングされた幾何学的形状をメモリ内で結合して、前記機械加工された工作物の前記表現を生成することと、
によって確定するために設けられた、請求項１２に記載のシステム。
【請求項１８】
前記プロセッサは、前記機械加工された工作物の前記表現を、
前記対応する部分工作物の前記容積内の各幾何学的形状の一部に対応する画像をレンダリングして、前記機械加工された工作物を表す合成画像を表示デバイス上で形成すること、
によって確定するために設けられた、請求項１２に記載のシステム。
【請求項１９】
前記プロセッサは、前記機械加工された工作物の前記表現を、
前記部分工作物に関連する前記幾何学的形状をフラグメントにラスタライズすることと、
前記部分工作物の外側でフラグメントを破棄することと、
前記ラスタライズされたフラグメントに従って前記画像のピクセルを更新することと、
によって確定するために設けられた、請求項１８に記載のシステム。
【国際調査報告】
2019536160.tif 000027
2019536160.tif 000028