![]() | この項目では、コンピュータ支援製造について説明しています。その他の用法については「CAM (曖昧さ回避)」をご覧ください。 |
CAM(キャム)とは、コンピュータ支援製造(英:Computer-aided manufacturing)の略語。製品の製造を行うために、CADで作成された形状データを入力として、製品形状を成形するNCデータを出力するコンピュータ上のシステムである。出力されたNCデータは、CNC工作機に送られ、実際の製品の加工を行う。
広義ではテキストベースの自動プログラミングシステムなど、NCデータを出力するシステムをすべてCAMと呼ぶこともあるる。
NCデータは切削する工具の経路を示したテキストデータである。CAM出現以はNCデータ作成を人の手を介して次の様に行った。工具経路を図面やその作図から求め、その経路を点列で再構成し、各点の座標値をテキストデータで出力する。更にこのデータにXYZの座標アドレスや工作機に合わせたGコード、Mコード等の指令情報を付加する。CAMはこの一連の作業をコンピュータ上で行い、自動的にNCデータを出力するシステムである。
1956年にマサチューセッツ工科大学にてAPT(アプト)と呼ばれるNCプログラム言語がダグラス・テイラー・ロスによって開発された。日本では1972年に純国産のNCプログラム言語が開発された(後にLanc(ランク)と命名)。また、APT言語から派生したFAPT言語やHAPT言語、MINIAPT言語も実用化されている。総称して自動プログラミング装置(自動プロ)と呼ばれていた。これらは、言語専用の命令を記述したプログラムを工作機械用のNCデータに変換する、コンパイラとして実装されていた。以降のCAMとの最大の違いは言語ベースのためにWYSIWYGではないことである。2008年現在でも、APT言語は、いくつかの海外製CAMのCL(カッターロケーション)ファイルとして使用されている。一方、Lanc言語もCAM同様のインターフェースを纏って使用され続けている。
CAMの分野では、歴史的にUnixが多く利用されてきたが、これは比較的重い計算を繰り返すために、安定したマルチタスク性を持つOSが必要なことが主な理由である。しかし、Windows系コンピュータのCPU性能が飛躍的に向上したために、計算時間短縮とコスト低下を目的としてWindows系OSへの移行が進み、現在では大部分のCAMシステムがWindows系をプラットホームとしている。また、UnixからWindowsへの移行の流れの中で表舞台から去っていったCAMシステムも数多くある。
Unixは既にCAMの流れの本流ではなくなっているが、持ち前の安定性とマルチタスク性能を望む声も多く、Linuxへの展開も少なからず始まっている。これは、数多くのCAMベンダーがWindows上での動作にデュアルCPUを推奨しているのに対し、同等のシステムがUnix上では、シングルCPUで良好なレスポンスを実現していたこととも無関係ではない。
市販のCAMシステムの多くは切削加工を対象としており、その加工内容から大まかに以下の種類に分類できる。
以下の2つの加工を対象としたNCデータを出力する。
主にエンドミルを使い、製品の曲線輪郭を加工するNCデータを出力する。
主にボールエンドミルを使い曲面を加工するNCデータを出力する。例えば自動車のボディ形状のプレス型成型面の加工はこの種のCMAでNCデータを作成する。
旋盤にて回転体形状を削り出すNCデータを出力する。
切削加工以外にレーザ切断やワイヤー放電、布や紙の裁断等多様な加工のCAMが存在する。
市販CAMシステムは上記種類を個々のソフトウェア製品として販売する場合もあるが、幾つかを合わせて1つの製品とすることもある。また大規模なCAMシステムでは、上記の加工を個々のモジュールとして持つ。
加工内容やNCデータの特性から以下の様に呼ばれるCAMが存在する。
面穴加工や輪郭加工では2次元のCADデータを入力として高さ一定のNCデータを出力するCAMがあり、一般に2次元CAMといわれる。またこれに穴や平面に高さ情報を持つNCデータを出力するCAMを2.5次元CAMと言う。2次元や2.5次元に対して、X軸、Y軸、Z軸を同時に制御するNCデータを出力するCAMを3次元(3D)CAMと言う。
一般的なCAMは機械のX軸、Y軸、Z軸の直交3軸を制御するNCデータを出力するが、これに加えて回転軸を制御するNCデータを出力するシステムを5軸加工CAMと呼ぶ。回転軸はA軸、B軸、C軸の3軸であるが、幾何学上2軸を回転させれば全ての傾斜面角度が得られるため、一般にNCデータで制御する回転軸は2軸であり、対象の工作機によってその組み合わせは異なる。このためCAMも回転傾斜ヘッドや回転傾斜テーブルなど各種タイプの工作機に対応している。また直交軸と回転軸を同時に制御するNCデータでは工作機のCNCがもつ工具先端点制御機能を使うことが前提となっている場合が多い。
CAMは効率よくNCデータを作成するため、幾つかの機能を持つ。以下に切削加工を前提に主要なものを紹介する。
加工内容にあわせて、工具の経路を自動で生成する機能であり、CAMシステムが基本的に持つ機能。
CADデータの穴やポケット形状等の特徴的な形状に対して、システムが自動で対象形状を見つけ出し、工具経路を自動で生成する機能。工法は下記で説明する工法テーブルから選択することが多い。
使用する工具の情報を予め登録する機能であり、これもCAMが基本的に持つ機能である。工具毎に以下のような情報が登録される。
1つの加工範囲で使用する工具と経路生成方法を、1つの工法として登録する機能。このとき工具の情報は工具テーブルから取得する。例えば、ネジ穴加工の方法としては、センタードリル、下穴、座グリ、タッピングの一連の加工を各種工具と共に1つの工法として登録できる。また表面加工では荒加工から中仕上げ、仕上げ、小径工具による細部加工までの一連の工具を工具経路パターンと共に1つの工法として登録する。
出力先の工作機に適合したNCデータを出力するための情報を設定する。CAMシステム毎に多少設定内容は異なるが、多くの設定項目がある。例えば、工作機の形状(立て型、横型、門型等)、テーブルサイズ、CNCの種類、ATC(自動工具交換装置)のポット数、通常と異なるGコートの設定、Mコード設定。更に座標値に関して、単位(ミリメートルorインチ)、小数点が無いときの最小設定単位、連続点列の絶対値or 増分値等のNCデータの出力形式に関係することも指定できる。
別々の加工範囲のNCデータに対して、同じ工具のNCデータを1つのNCデータとしてまとめる機能。更に工具毎にまとめたNCデータを加工内容に合わせ適正な加工順に並び替えて出力することもできる。また異なる工具種類のNCデータをATC(工具交換)命令をはさんで1つのファイルとしてまとめることも可能。
個々のNCデータにおいて、工具以外の機械稼働部分(工具ホルダ、アタッチメント等)が、被削材や固定治具と接触しないかをチェックする機能。さらにホルダやアタッチメントを装着した状態でNCデータの工具経路を加工シミュレーションすることも可能。チェックの結果、接触した被削材等の箇所を分を色を変えて示すことができる。
1つNCデータの加工後の被削材の形状を再現する機能。実際の加工順に途中形状を生成することで、干渉の部位や発生工程をチェックしたり、加工残りの状況を確認して、次工程の加工内容をより適正なものに修正するために利用する。
CAMで生成された工具経路データを、ポスト設定の内容を基に、テキスト形式のNCデータフォーマットに変換する機能。工具経路の点列座標値にはX、Y、Zのアドレスが付加され、GコードやMコードの制御指令、D,Hの工具補正アドレス、工具の送り速度F、回転数Sなどの情報が付加される。最終的にここで作成されたNCデータが出力される。
CAMはCADから形状データを入力するためIGESやSTEP等の中間ファイルのインターフェースを持つ。さらに主要なCADシステム(CATIA、NX、PTC Creo等)に対してはダイレクトなインターフェースをもつもCAMシステムも多い。更にスキャンした形状データを取り込むため、点列データであるSTL形式データのインターフェースもある。
オープンソース | |
---|---|
フリーウェア |
|
プロプライエタリ | |
ファイル形式 | |
ジオメトリモデリングカーネル(英語版) |