"サーボ駆動機械装置と制御システムとをインターフェースするためのシステムであって、前記サーボ駆動機械装置用の移動経路データを生成する設計アプリケーションを実行する第1のプロセッサと、第1のプロセッサとインターフェースする第2のプロセッサと、該第2のプロセッサは第1のプロセッサ上の前記設計アプリケーションから前記移動経路データを受信する動作制御ソフトウェアを実行することとを備え、第2のプロセッサ上の前記動作制御ソフトウェアは、前記設計アプリケーションからの移動経路データに従って、前記サーボ駆動機械装置を制御するシステム。前記サーボ駆動機械装置は、設計仕様に従って原材料を機械加工するための工作機械である請求項1に記載のシステム。前記設計アプリケーションは、コンピュータ支援設計/コンピューター支援製造ソフトウェアパッケージである請求項2に記載のシステム。動作制御ソフトウェアは、前記コンピュータ支援設計/コンピューター支援製造ソフトウェアパッケージのアプリケーションプログラムインターフェースを使用して、前記設計アプリケーションから前記移動経路データを抽出する請求項3に記載のシステム。前記設計アプリケーションは、前記動作制御ソフトウェアのアプリケーションプログラムインターフェースを介して、前記移動経路データを前記動作制御ソフトウェアに渡す請求項1に記載のシステム。前記設計アプリケーションによって前記移動経路データを生成、再検討、または編集するために、前記第1のプロセッサとインターフェースされた表示装置およびユーザー入力デバイスを更に備える請求項1に記載のシステム。前記設計アプリケーションは、前記移動経路データを含む動作オブジェクトを作成し、前記移動経路データは、前記サーボ駆動機械装置の工具ヘッドがそれに沿って移動することになる移動経路を定義し、かつ、前記設計アプリケーションは、前記動作オブジェクトを第2のプロセッサ上の前記動作制御ソフトウェアに渡す請求項1に記載のシステム。前記動作オブジェクトが、前記サーボ駆動機械装置の構成要素を制御するためのフィードレートおよびスピードレードを決定する速度オブジェクトと、前記移動経路中における速度の推移を制御するための速度プロフィールジェネレータオブジェクトと、各移動経路を定義する情報を含む経路オブジェクトとを含む請求項7に記載のシステム。前記設計アプリケーションによる前記移動経路データ出力が工具経路をデカルト座標系において指定し、前記動作制御ソフトウェアは、前記デカルト工具経路データを前記サーボ駆動機械装置のモータを駆動するためのサーボ制御信号に翻訳する請求項1に記載のシステム。前記動作制御ソフトウェアは動作コントローラアプリケーションおよびサーボコントローラアプリケーションを含み、前記動作コントローラアプリケーションは、前記デカルト工具経路データを前記サーボ駆動機械装置によって定義された座標系へマップし、前記サーボコントローラアプリケーションは、前記動作コントローラアプリケーションからのマップされたデータに従って、前記サーボ駆動機械装置のサーボへ送信するための制御信号を生成する請求項9に記載のシステム。特定の設計に従って、原材料の供給物を機械加工するために工作機械を操作する方法であって、コンピュータ支援設計/コンピューター支援製造ソフトウェアパッケージによって開かれた設計ファイルから、工具経路データを前記コンピュータ支援設計/コンピューター支援製造ソフトウェアパッケージのアプリケーションプログラムインターフェースを介して、抽出することを含む方法。前記工作機械の特定の要素が、前記設計ファイルから抽出された前記工具経路データによって定義された工具経路に沿って移動されるように、前記工具経路データに従って前記工作機械を制御することを更に含む請求項11に記載の方法。前記コンピュータ支援設計/コンピューター支援製造ソフトウェアパッケージによって前記設計ファイルを修正することと、前記修正済設計ファイルから修正済工具経路データを抽出することと、前記工作機械の特定の構成要素が、前記修正済の設計ファイルから抽出された前記修正済の工具経路データによって定義された工具経路に沿って移動されるように、前記修正済工具経路データに従って、前記工作機械を制御することとを更に含む請求項11に記載の方法。サーボ駆動機械装置と制御システムをインターフェースする方法であって、前記サーボ駆動機械装置用の移動経路データを生成する設計アプリケーションを実行することと、前記設計アプリケーションによる出力と同じ形式で前記移動経路データを受信する動作制御ソフトウェアを実行することと、前記設計アプリケーションからの前記移動経路データに従って、前記動作制御ソフトウェアによって前記サーボ駆動機械装置を制御することとからなる方法。前記設計アプリケーションおよび前記動作制御ソフトウェアを異なるプロセッサ上で実行することを更に含む請求項14に記載の方法。前記サーボ駆動機械装置によって原材料を機械加工することを更に含み、前記サーボ駆動機械装置は前記移動経路データによって定義された製品を製造する工作機械である請求項14に記載の方法。前記設計アプリケーションは、コンピュータ支援設計/コンピューター支援製造ソフトウェアパッケージである請求項14に記載の方法。工具経路が最終製品の幾何学的形状とは異なって指定されるファイルを生成するためにコンピュータ支援設計ソフトウェアパッケージを使用することと、前記設計アプリケーションによって、前記ファイルから前記移動経路データを生成することとを更に含む請求項14に記載の方法。前記設計アプリケーションによって前記移動経路データを編集することを更に含む請求項14に記載の方法。前記設計アプリケーションによって前記移動経路データを再検討することを更に含む請求項14に記載の方法。前記設計アプリケーションによって、前記移動経路データを含む動作オブジェクトを生成することと、前記移動経路データは、前記サーボ駆動機械装置の構成要素がそれに沿って移動される移動経路を定義することと、前記動作オブジェクトを前記動作制御ソフトウェアへ渡すこととを更に含む請求項14に記載の方法。前記設計アプリケーションによる前記移動経路データ出力がデカルト座標系において工具経路を指定し、該方法は、前記デカルトの工具経路データを前記サーボ駆動機械装置のモータを駆動するためのサーボ制御信号へ翻訳することを含む請求項14に記載の方法。サーボ駆動機械装置と制御システムとをインターフェースするためのシステムであって、前記サーボ駆動機械装置用の移動経路データを生成するのための手段と、前記移動経路データを生成するための手段による出力と同じ形式で前記移動経路データを受信する動作制御ソフトウェアを実行するための手段と、前記移動経路データに従って前記サーボ駆動機械装置を制御するための手段とからなるシステム。前記サーボ駆動機械装置は、前記移動経路データによって定義された製品を製造するために原材料を機械加工するための手段を備える請求項23に記載のシステム。前記移動経路データを生成するための手段が、コンピュータ支援設計/コンピューター支援製造ソフトウェアパッケージである請求項23に記載のシステム。前記移動経路データを再検討および編集するための手段をさらに備える請求項23に記載のシステム。本発明の目的は、上記に記載した要望およびその他の要望を満たすことにある。特に、本発明の目的は、CAD/CAMまたは他の設計アプリケーションで生成されたデータに基づいて特定の部品を機械加工するために工作機械コントローラをプログラムする、改善されたシステムおよび方法を提供することにある。本発明のさらなる目的は、親設計ファイル中の部品設計の改版を反映する、一連の子ファイルの管理に関連した問題を回避する工作機械コントローラをプログラムするシステムおよび方法を提供することにある。本発明の別のさらなる目的は、異なる工作機械の構造および型において使用されるMGコードの様々な形式における改良型コマンドのばらつきによって生じる問題を回避する工作機械コントローラをプログラムするシステムおよび方法を提供することにある。また、本発明のさらなる目的は、NURBSのような曲線を指定する際に、例えばMGコードの中で使用される直線セグメントの近似による、それらの曲線の翻訳表示に関連する精度の不必要な損失を回避する工作機械コントローラをプログラムするシステムおよび方法を提供することにある。本発明の付加的な目的、利点および新規な特長については、これらの資料を読むかまたは本発明を実行することにより当業者が理解または習得し得る詳細な説明に述べる。本発明の目的および利点は、添付の特許請求の範囲に示された手段によって達成され得る。要約すると、本発明は、従来のCADワークステーションの概念的な統合化および工作機械コントローラを提供する。該工作機械コントローラは、好ましくは、2つのプロセッサ、または各々プロセッサを備える2台のコンピュータを有する。第1のプロセッサは、設計ファイルを生成、再検討レビュー、または修正するために使用可能である設計アプリケーション、すなわちCAD、CAD/CAM、または同様のソフトウェアパッケージを実行する。第2のプロセッサは、工作機械の制御のために必要なソフトウェアを実行する。工作機械の制御は、第2のプロセッサ上で実行されるソフトウェアにより、完全に行なわれ得る。いくつかのアプリケーションまたはオブジェクトを含み得る、このソフトウェアは、一般に動作制御ソフトウェアと呼ばれる。工作機械コントローラの一部として、付加的なハードウェアアーキテクチャは要求されない。移動経路データは、工作機械の少なくとも1つの工具ヘッドツールヘッドが所望の製品を製造するために移動されなければならない少なくとも1つの経路を指定する。設計アプリケーション、例えばCAD/CAMパッケージのアプリケーションプログラムインターフェースAPIが公開されていて利用可能な場合、移動経路データを設計ファイルから直接抽出することが可能である。次に、動作制御ソフトウェアは、その工具経路データを使用して、工作機械を駆動し、特定の製品を製造することが可能である。設計アプリケーションのAPIが利用不可能な場合には、設計アプリケーション、例えばCAD/CAMパッケージは、動作制御ソフトウェアに対する移動経路データを直接機械加工動作制御ソフトウェアDirectMachiningmotioncontrolsoftwareのAPIセットに渡し得る。その後、動作制御ソフトウェアは、工作機械を駆動し、かつ特定の製品を製造するために工具経路データを使用することが可能である。好ましくは、移動経路データは、任意の工具経路における少なくとも1つの工作機械の工具ヘッドの位置および向きと、任意の工具経路における任意の点とを指定するC動作オブジェクトの形式で渡される。好ましくは、動作オブジェクトは3つの他のオブジェクト、すなわち、サーボ駆動機械装置要素の制御用のフィードレートおよびスピードレートを決定する速度オグジェクト、それらの移動経路における速度の推移を制御するための速度プロフィールジェネレータオブジェクト、および各移動経路を定義する情報を含む経路オブジェクトを含む。CADシステムから抽出された移動経路データは、通常はデカルト座標系に存在するであろう。従って、動作制御ソフトウェアは、デカルト工具経路データを適切な基準フレームに翻訳する。サーボコントローラアプリケーションは、その基準フレームから工作機械のサーボモータを駆動するためのサーボ制御信号を生成することが可能である。本発明は、新規かつオープンなデジタル制御インターフェース用ソフトウェアアーキテクチャを提供する。当業者によって認識されるように、この新しいインターフェースアーキテクチャは、制御システムと接続されるサーボ制御される機械に制御データが送信されるすべてのシステムで利用することが可能である。本発明のデジタル制御インターフェースおよび付随する原理の好ましい応用例としては、所定仕様に従って機械部品を製造するための工作機械の工作機械コントローラがある。例えば、本発明は、CAD/CAMパッケージのような既存の設計アプリケーションおよび工作機械コントローラの能力を利用して、CADによって生成された部品の設計図を、工作機械を適切に制御するのに必要な指示へ、より直接的かつ効率的に転送することが可能な、新しいパラダイムを提供する。本発明のプロセスは直接機械加工DirectMachiningと呼ばれる。直接機械加工は、CLのようなアスキーファイルおよびCAD設計ファイル外に存在するMGコードファイルの必要性を排除する。より正確に言えば、工作機械コントローラによって元のCAD設計ファイルを読み込み、そのファイルから特定の製品を製造するための工作機械を制御するのに必要な関連機械加工データをすべて抽出することが可能である。本発明のこの特定用途の好ましい実施形態について、図面を参照して説明する。図2に示されるように、本発明による工作機械コントローラ200は従来のCADワークステーション100の主要な機能のうちの一部を組込んでいてもよい。特に、コントローラ200は、CADソフトウェアパッケージが実行される第1のプロセッサ203を備え得る。このプロセッサ205は、例えば、陰極線管モニター、LCDなどの表示装置201と、例えば、キーボードおよびマウス、トラックボール、ジョイスティックなどのユーザー入力装置202の双方に接続されている。従って、コンピュータ支援による設計図は、別のワークステーションにおいてではなく、工作機械コントローラ200のハードウェア上で作成または修正することが可能である。もちろん、工作機械コントローラ200のハードウェア201,202上における表示、再検討、および/または変更のために、別のCADワークステーションで生成された設計ファイルをプロセッサ203に送信することも可能である。例えば、フロッピディスク上で、またはワークステーションとコントローラ200との間における有線または無線のネットワーク接続を含む任意の他のファイル転送手段によって、工作機械コントローラ200にCADファイルを転送することが可能である。図2の例において、第1のプロセッサ203は、更に別のプロセッサ204を備える演算処理装置205の一部である。一般に、第1のプロセッサ203はCADまたはCAD/CAMソフトウェアパッケージ、または他の設計アプリケーションを実行する。一方、第2のプロセッサ204はCADソフトウェアによって生成されたデータを使用するのに必要なソフトウェアを実行して、工作機械を制御する。第2のプロセッサ204上で実行されるソフトウェアは、一般に動作制御ソフトウェアと呼ばれ、工作機械を制御するための完成したシステムである。付加的なコントローラハードウェアは必要ではない。第2のプロセッサ204のソフトウェアが、工作機械と通信し、同工作機械を制御することが可能であるように、システムインターフェース206が、工作機械コントローラ200と工作機械図2に図示せずとの間に備えられる。第2のプロセッサ204とシステムインターフェース206との間に接続207が提供される。システムインターフェース206について、以下により詳細に説明する。図2に示したデュアルプロセッサユニット200が好ましいが、本願に記載しているような第1または第2のプロセッサを各々備える、2台の別個のコンピュータユニット例えば2台のPCでも本発明を実行することが可能である。本発明の実施の際にWindows登録商標NT型プロセッサを使用することが可能である。直接機械加工を最良に行なうために、公知のアーキテクチャを備えたCAD/CAMシステムおよび機械コントローラの双方を有して、それら本質的な機能を使用可能にすることが必要である。例えば、特定の部品を機械加工するために、製造されるべき部品の設計図から各工作機械経路、つまり移動経路データの数学的な表示を作成しなければならない。CADまたはCAD/CAMのパッケージは、アプリケーションプログラムインターフェースAPIを有する。APIはOSと設計アプリケーションとの間のインターフェースである。APIは、設計アプリケーションがOSと通信する方法、およびOSが設計アプリケーションに対して利用可能にするサービスを定義する。工作機械を制御する動作制御ソフトウェアがそのAPIを介して設計アプリケーションにアクセスし、該設計アプリケーションによって開かれた設計ファイルから工作機械に対する工具経路を抽出することが可能である場合に、直接機械加工は最良に作動するであろう。不都合にも、従来のCAD/CAMパッケージは、この抽出を行なうのに必要な機能性を備えた公に利用可能なAPIを有していないようである。しかしながら、設計アプリケーションのAPIが利用可能な場合、本発明の最良の実施は、単に設計アプリケーションのAPIを介して、設計ファイルデータから工作機械経路を直接抽出することであり得る。この抽出は、好ましくは、第2のプロセッサ204上で実行されるソフトウェアによって行なわれるであろう。その後、第2のプロセッサ204の機械コントローラソフトウェアがこれらの工作機械経路を用いて、工作機械を制御し、特定の部品を製造することが可能である。概してそうであるように、CAD/CAMパッケージ用のAPIが利用可能でない場合であっても、本発明の原理は、なお直接機械加工を提供することが可能である。この場合、DMAC動作制御ソフトウェアは、工具経路情報を直接機械加工ソフトウェアへ渡すために、CAD/CAMパッケージが呼び出し可能なAPIセットを提供するであろう。本発明において工具経路がコントローラにどのように渡されるかを理解するためには、第1のプロセッサ203および第2のプロセッサ204上で実行されるソフトウェアのアーキテクチャに関して理解することが必要である。図3に示すように、2つの主要なアプリケーション、すなわちCADインタプリタ301および動作コントローラ305が、本発明のデュアルプロセッサーシステム上で実行される。上記の説明と同様に、かつ図3に示すように、好ましくは、CADインタプリタ301は、第1のプロセッサ203上で実行される。一方、動作コントローラ305は、好ましくは、第2のプロセッサ204上で実行される。CADインタプリタ301は設計アプリケーションと見なされる。CADインタプリタ301は、CADパッケージで作成された設計ファイル309を理解でき、その設計ファイル309から、関連する機械加工情報、すなわち設計ファイル309中にデータによって表わされる工作機械経路を抽出することが可能である。CADインタプリタ301は、特定の部品を製造するために制御されるコントローラまたは工作機械に関する情報をほとんど必要としない。しかしながら、工作機械の工具ヘッドを案内するために、動作コントローラ305が使用する移動経路データを提供するのはCADインタプリタ301である。以下により詳細に記載するように、動作コントローラ305は、第2のプロセッサ204上で実行されるアプリケーションであり、かつ本発明の動作制御ソフトウェアの一部である。また動作コントローラ305は、第1のプロセッサ203上のCADインタプリタ301から工具経路データ310を受信する。動作コントローラ305は、CADインタプリタ301からの工具経路データ310を、工作機械を適切に制御して特定の製品を製造するために使用され得るデータに翻訳する役目を果たす。動作コントローラ305は更に移動接触点movetangencyを決定する。動作コントローラ305は、これらの作業を行なう2つのサブシステムを含んでいる。通常はCADインタプリタ301によって提供される移動経路データ310は、デカルト座標系において工具経路を指定する。動作コントローラ305は、工具経路データをデカルト空間からジョイント空間joint-spaceへマップするために第1動作プランナー307を実行する。ジョイント空間は、工具ヘッドまたは工作機械のヘッドの可能な経路を定義する座標系である。軌道プランナー308は、ジョイント空間のデータから、特定の経路を通って工具ヘッドまたは工作機械のヘッドを適切に移動させるのに必要なアクチュエーター値を計算する。図3に示したように、その後、アクチュエーター値は、本発明の動作制御ソフトウェアの更に一部であるサーボコントローラアプリケーション306に送信される。サーボコントローラ306は、工作機械ヘッドまたは工具ヘッドを特定の工具経路を通って移動させ、その結果、工作機械上の原材料から所望の部品の製造するために、サーボ制御ループを実行する責任を負う。好ましくは、本発明のシステムは、Cコンピュータ言語を使用して書かれたオブジェクトを使用する。Cオブジェクトは、構成要素サブデータ構造または変数および該構成要素に関連する方法オブジェクト上で呼び出すことが可能である関数の両方を有し得るデータ構造である。関数は更にオブジェクトにそのオブジェクトにおいて適切な関数を呼び出すことにより質問を問うことが可能である。回答は、その関数の返り値によって受信される。Cオブジェクトは、更に継承inheritanceおよび同質多形polymorphismの特性を有している。継承とは、オブジェクトクラスが親クラスからの特性を継承するという能力を述べている。そのため、子または導出されたクラスに対して定義されたいかなる特定の構成要素または方法はまた、親クラスの全ての構成要素、方法および特性を有するだろう。従って、導出クラスのオブジェクトは、子クラスの構成要素または親クラスの構成要素としてのどちらとして扱ってもよい。同質多形とは、同一の親クラスから導出される全てのクラスが、同一のインターフェースを有することを可能にし、その結果、オブジェクトはそれらのクラスを親クラスとして外部的に扱うことが可能である。しかしながら、インターフェースの関数が呼び出される場合、オブジェクトの挙動は、オブジェクトの導出クラスに依って非常に異なり得る。動作コントローラ305は、上記した特殊機能を行なう構成要素オブジェクト307および308を含んでいる。運動学オブジェクト307は、デカルト値をジョイント値に変換する。ジョイントリストオブジェクト308は次にジョイント値をアクチュエーター値に変換する。ジョイントリストオブジェクト308は、好ましくは被制御の工作機械の各ジョイントの特定のジョイントアクチュエータオブジェクトを含んでいる。したがって、ジョイントからアクチュエーターへの変換は、各ジョイントに対して別個のジョイントアクチュエーターオブジェクトによって行なわれる。その後、アクチュエーター位置および速度はソフトウェアサーボコントローラ306に渡される。動作コントローラ305が使用する運動学オブジェクトおよびジョイントアクチュエーターオブジェクトは、実際には基本クラスから導出され、それらのオブジェクトが表わす変換の種類例えば、運動学のための3軸線または5軸線工作機械、およびジョイントアクチュエーター用のギア式ねじgearedscrewまたはボールねじに基づいて異なるだろう。サーボコントローラアプリケーション306は、サーボ制御ループの閉鎖およびモータとの通信のような作業を行なうオブジェクトに対するポインタを含んでいる。図45を参照。動作コントローラ305でのように、サーボコントローラアプリケーション306は基本クラスから導出されるオブジェクトを含んでいる。例えば、サーボコントローラは、サーボ制御ループを実行するオブジェクトを含む。しかし、そのオブジェクトは、同オブジェクトが実行する制御法則例えばPIDなどに基づいた様々な導出クラスのうちの1つになるだろう。機械加工情報は、好ましくは、動作オブジェクト302と呼ばれるCオブジェクトによって、CADインタプリタ301から動作コントローラ305へ送られる。動作コントローラ305がCADインタプリタ301から動作オブジェクト302を受信した後、動作コントローラ305は動作オブジェクト302を問い合わせることにより必要な工具経路情報をすべて得る。動作オブジェクト302はCADインタプリタ301によって作成され、工具経路に沿って工具ヘッドが動作する間に任意の時間に工具が位置すべき位置および向きを動作コントローラ305に伝える。その後、動作プロセッサ305は、工具の位置、向きなどをサーボコントローラ306が使用するアクチュエーター値に変換するために、上述したように、該動作プロセッサ305が含んでいるCオブジェクトを用いる。その後、サーボコントローラ306は、制御法則を用いて、工作機械のモータに適用するためのトルクを計算し、それらの値を達成する。前記制御法則は、システムに格納されており、かつ制御される工作機械に特有である。図4は、アナログモータを使用して、工作機械の一部を駆動して、所望の工具経路を通って機械ヘッドを移動させる本発明の実施形態を示す。そのような実施形態において、サーボコントローラ306はデジタル-アナログドライバ402を備える。デジタル-アナログドライバ402は、システムインターフェース206中のデジタル-アナログ変換器ボード404にモータ406のデジタル制御信号を伝達する。変換器ボード404からのアナログ制御信号は増幅されて407、モータ406に供給される。各モータ406に関連したセンサ405は、例えば、モータ405の実際のトルク、位置、速度および加速度を検知して、システムインターフェース206中のアナログ-デジタル変換器ボード403にアナログ信号を供給する。その後、デジタル化されたセンサ信号は、サーボコントローラ306のアナログ-デジタルドライバ401に供給され、フィードバックループを完成する。該フィードバックループは、サーボコントローラ306が特定の工具経路に従って、所望されるようにモータ406を駆動することを可能にするだろう。このプロセスは、付加的なハードウェアを必要としないソフトウェアとして完全に実施されることが可能であり、好ましくは実施される。したがって、閉じたハードウェアアーキテクチャを排除することが可能である。図5は、所望の工具経路を通って機械ヘッドを移動させる目的で工作機械の一部を駆動するために、デジタルモータが使用される本発明の別の実施形態を示す。この実施形態において、システムインターフェース206は、高速のデータ網506上で各モータユニットのデジタルモータインターフェース503と通信するシリアル通信デバイス502を備える。トルク設定値を指定する制御信号が、デジタルモータインターフェース503によって受信され、アナログ信号に変換される。該アナログ信号は、その後、モータアンプ504で増幅され、特定の工具経路を通って工作機械を移動させるのに必要なように、それぞれのモータ505を駆動するために使用される上記のように、センサは、完全にソフトウェアにより作動されるサーボループを完成する。本願に述べるように、本発明の直接機械加工方法およびシステムは、従来の機械加工技術に対して多くの長所を有する。直接機械加工は、CLファイルおよびMGコードにおいて用いられる単なる不連続のポイントデータの代わりに、真の設計幾何学的形状を使用するために、設計から製造に至る最新のプロセスに関連する多くの問題を排除する。機械加工が元の設計幾何学的形状に基づくので、幾何学的情報の損失または近似はない。更に、新しいファイルが作成されないので、不注意に使用されて部品を不正確に機械加工し得る、システム上に存在する古いCLファイルおよびMGファイルに関する問題を有さない。設計ファイルへの変更は、制御される工作機械の操作に直接反映される。直接機械加工に関連して、元のモデルに対して現場でアクセスできるという間接的な利点がある。多くの機械加工センターが、コントローラ200に存在するCADモデルを用いて、製造過程内検査を行うことが可能であると同時に、この検査は、タッチプローブを使用して行われ、MGファイル中のカッターロケーション点からの推定とは対照的に、モデル自体に対して評価され得る。更に、コントローラ200に対して、該コントローラ200がネットワーク接続されている製品データ管理PDMシステムから設計ファイルをチェックするように要求して、旧部品を機械加工する可能性を更に排除することが可能である。CADファイル309から工具経路を作成し、その工具経路データを組込むための動作オブジェクトを生成する方法の例について、以下においてより詳細に説明する。一般に、2種類の機械加工、すなわち粗加工roughingおよび仕上げ加工finishingがある。粗加工は原料から大部分の材料を除去する。一方、仕上げ加工は、に原料の表面をその部品に対して指定された正確な表面と一致させようとする。この例では、フライス削り動作millingoperationにおける仕上げ用工具経路についてのみ検討する。工具経路は、部品の表面と工具との間の接触点tangentpointの経路ではなく、工作機械の工具ヘッドの先端の中心が辿る経路を表わす。正面削りのようないくつかの単純な動作において、工具先端は接触点であり、よって工具経路は加工面上に直接存在する。ポケットを機械加工するようなやや複雑な機械加工において、エンドミルの側面が切削を行う。この場合、工具経路は、機械加工面から工具の半径分だけ偏位した表面上に位置する。そのような表面は工具と同じ半径を備えた球状の先端を有するボールエンドミルを使用して機械加工されることが多いので、自由形表面を機械加工する場合、事態は少し複雑である。工具先端位置は次の方程式を使用して、ボールエンドミルに対して計算される。Ps,t=Qs,tRNs,t-[0,0,R]上記式中、Rがボールエンドミルの半径である場合、Qs,tは接触点であり、Ns,tは各接触点Qs,tにおける表面法線surfacenormalsである。工具の球状先端が部品表面に対して正接する場合、工具先端の中心は、部品表面から工具の半径だけ偏位した面上に位置するであろう。3軸線機械加工の場合のように、工具が垂直に整列される場合、工具先端は、工具の球状の部分の中心よりZ方角へ丁度1半径分だけ低くなる。工具先端が従う表面を生成するために、表面は機械加工面から偏位され、次に、ボールエンドミルの半径分だけZ軸線に沿って下げられる。その後、この表面は鉛直面によって交差されて実際の工具経路を定義する。上記したC環境において、動作コントローラ305に渡された動作オブジェクトはすべて、動作オブジェクト302から出されたクラスの実際の構成要素である。特定の制御目的のために、動作オブジェクト302からの様々な導出クラスがあり得る。この構成は、渡されたオブジェクトが動作オブジェクト302のインターフェースを有する限り、動作コントローラ305はどのような種類の動作オブジェクトが該動作コントローラ305に渡されるか認識していないということ、すなわち動作コントローラ305は付加的な情報を必要としない点において簡潔である。これは、CADインタプリタ301おいて新しい動作オブジェクトが創成統合され、動作コントローラ305がそれ自体は更新されることなく、それらの動作オブジェクトを理解することが可能であることを意味する。上記で注意したように、動作コントローラ305に渡された動作オブジェクトは通常はデカルト座標において工具経路を指定するであろう。これは、機械加工操作中の経路のような規定された経路に従う動作を指定するためには便利な方法である。従って、動作オブジェクト302の特定の子クラスは基本デカルト動作オブジェクトクラスと呼ばれることがある。簡潔にするため、以下において、動作オブジェクトへの言及はすべて基本デカルト動作オブジェクトへの言及であると了解されるだろう。図6に示したように、これら、導出された動作オブジェクト600は、好ましくは特定クラスの3つの構成要素、すなわち、速度オブジェクト601、速度プロフィールジェネレータVPGオブジェクト602および経路オブジェクト603を含む。速度オブジェクト601は、使用されるべき送りと速度を決定する。VPGオブジェクト602は速度の推移を制御する。また、経路オブジェクト603は、経路の幾何学的形状に関する情報をすべて含む。まさに動作オブジェクト600のように、経路オブジェクト603はまた、特定の経路が導出される基本クラスである。経路オブジェクトは603助変数方程式として幾何学的形状を記憶する。これらの助変数方程式によって、経路オブジェクト603は、曲線に沿った任意の点における工具の所望の位置および向きを動作オブジェクト600に伝えることが可能である。動作オブジェクト600はこの幾何学的形状を速度オブジェクト601およびVPGオブジェクト602に含まれる情報と組み合わせて、任意の時間における位置および向きを計算する。経路オブジェクト603は常に導出クラスの構成要素であるので、動作オブジェクトは該動作オブジェクトが協働している経路オブジェクトの種類の仕様を必要としない。コントローラへ幾何学的形状を転送するこの方式は、MGコードによって現在行われているものとは非常に異なり、いくつかの大きな意味を有する。図1の従来技術のシステムにおいて、工作機械コントローラ104には、工具経路を定義するために必要とされる最小限の幾何学的情報が与えられている。その後、コントローラ104は、この幾何学的形状を使用して連続移動経路を書き込む。例えば、2つの終点が線分を定義する。2つの終点、中心点および回転方向が、螺線または弧線を定義する。幾何学的な情報を送信するために、本発明の多形のCオブジェクトを使用することにより、動作コントローラ305がどの種類の経路を受信したかを知る必要がなくなる。更に、前記経路は、単に、任意のレベルの必要な詳細に対するその幾何学的形状を動作コントローラ305に伝えることが可能である一般的な曲線としてのみ知られている。本願に述べたような多形のCオブジェクトの使用により、図1に示したような従来のシステムで要求されていたよりはるかに大量のデータ処理および記憶を必要とする。しかしながら、現代のコントローラはデータ流のそのような増加を扱うために十分に速く、かつ十分なメモリを有しているので、これは重要な問題ではない。直接機械加工の重要な1つの利点は、コントローラが、それが必要とする情報量を正確に受信するということである。最終的に、入出力指令が駆動モータに送信された場合、曲線はすべて小さな不連続のセグメントへ分解されなければならない。従来、APTファイルをインポートする場合、曲線はCAMプログラムによって不連続化される。直接機械加工においては、動作コントローラが曲線を不連続化する。これは、コントローラが常にその最良の公差で機械加工することを可能にする。上記記載は単に発明を図示し説明するために示されたものである。上記記載は、すべてを網羅するものではなく、本発明を開示したその形態のみに制限するものではない。上記の教示から見て、多くの変更および変化が可能である。好ましい実施形態は、本発明およびその実用上の応用の原理について最良に説明するために選択されて記載された。前記記載は、当業者が特定の使用に適合するように、様々な実施形態において、および様々な変更を伴って本発明を最良に利用できるように企図されている。本発明の範囲は特許請求の範囲によって定義されるものである。"