Archive for 12月 29th, 2008

SolidWorks -> 切削パス -> 切削

Posted by ゆのじ on 12月 29th, 2008

連日CNCネタ。今日はSolidWorks2009から切削を行ってみた。極力無駄なところに費用をかけない方向で、CAMはMeshCAM(Ver2 Build6715)を使うことにする。

1.データの用意
step1
データはSolidWorksで部品として作成後、STLファイルとして出力する。今回は超いい加減な出っ張りパーツを削ってみることにする。

2.そのSTLファイルをMeshCAMで読み込む。
step2
読み込むときは単位は「MM」にする。また、HAKUのような3軸機で切削する場合、Job typeは3 Axisにする。
これで読み込むことは出来たが、そのままだと軸方向が違う。それを直すため、Geometry->Rotate GeometryでX方向に90度、Rotate Around Axisで回転させる。これでSolidWorksの「平面」がこちら側を向いているはず。

3.材料のサイズを定義
CAM->Define Stockで材料のサイズを定義する。Stock Sizeは材料そのものの大きさ、Geometry Offsetは材料に対してのデータオフセット。たとえば、30x30x10の大きさの材料に25x25x3の大きさのデータを材料中央に彫り込むことにしたので、オフセットは2.5(30-25/2), 2.5, 0(Z軸は0にしておくと上端があうはず)となる。
※これ以降、ここの設定がおかしかったのでGコードも切削後の絵も変。あしからず。
なお、MeshCAMを使うと、図面外のエリアには全て削るGコードが出力される。材料をセットしたステージごと削られるのが嫌ならば、材料のサイズのZ方向を材料より少ない値にしておくといいだろう。

4.CAM->Generate ToolpathでGコードを生成する。
まず、Toolは適切なものを追加しておく。Select Toolボタン(どれでもいい)をクリックして開いたメニューに「Add」で追加する。最低限入力が必要なのは黄色くなっている入力欄のみ。Feedrate(送り速度)、Plunge Rate(Z方向送り速度)は相手の材料によって違うはずなので、間違っても大変なことにならないように小さい(10とか)値にしておくと安心。この値はGenerate Toolpath画面で上書きできる。あと気をつけたいのはStepover(切削幅)の設定。エンドミルの太さそのままだと微妙に残ってしまうので、90%程度の値にしておくといい。
次に、Roughingにチェックしないといきなり深いところまで彫り込んでしまうのでかならずRoughingの設定も行う。大事なのは、Depth per Pass(1度あたりの削り込み量)と、Stock to Leave(Finishまでに残しておく分)。
Waterlineは等高線切り込み。Pencil cleanupは外形線の荒れを切り込んで修正する。

生成にはかなり時間がかかる。ちょっとお茶でも飲んで待とう。

5.生成されたGコードを確認。
step3
Gコードは「必ず」NCVCなどのツールで確認すること。可能な限りすべてトレースして目視確認すべし。ここで手抜きをすると、割と高価なエンドミルを折ったり、ただ折れるだけでなく破片が飛び散ったり、怪我をしたり、ろくなことにはならない。

6.CNCコントローラで実行
Mach3に放り込んで、スピンドルを回転させ、先を材料の左下隅にあわせて(無理ならX,Yを材料左下隅にあわせてゼロ点設定してから、太さ/厚みの正確にわかっている何かを挟んで確認して、その値をいれてやってもいい。いずれにしても材料左下隅が0,0,0になっているようにする)、一呼吸してここまでの確認を全て思い出して頭の中でトレースしてみる。本当に問題ないか、これで削って大丈夫か。問題なければCycle startを押して後は時々様子をみる(切り子掃除と切削油追加)だけだ。
ポケット加工など目じゃないくらい、大抵は時間がかかる。じっくりと構えてやることが肝要。この手の自動工具は全部そうだが、焦ると大けがをしかねない。

7.完成!
step4
真鍮を0.1mmステップで、F45送りで削ったせいで7時間ほどかかり、こんな感じに。上で警告しておきながら、1mmのエンドミルでStepoverを1mmにしたせいで酷い有様。その上細いエンドミルがスクエアのものしか無かったが、次はボールエンドミルを用意してもっときれいに削ってみたいところ。(言い訳)
Pencil cleanupを設定したのに、45度角面取りしてあるところ(一番上のエッジ)が横方向の走査時にカジられているのも気になる。この辺はStepoverをもっともっと細かくしてもっと時間をかけて処理するしかないかもしれない。もしくはWaterlineの設定か。これも課題だ。

メモ:

実はR2(φ4)のボールエンドミルも持っているのだが、こいつを使う設定でMeshCAMにGコードを吐かせると、不思議な切削パスを生成してしまう。角が丸くなったというか。切削パス的にそうしなければならない理由もないので、バグか何かなのではないかと邪推する。追って調査。

今後の課題:

RoughingとFinishでツールを変えたときの段取りを考える。単純にGコードを足して一時停止させて、ツール交換すればいいわけではなく、ツール先端での原点だしをしなければいけない。だが、すでにRoughing前に原点取りに使った部分はすでに削られてしまっている場合が多い。ケースによっては上面全部が削られている場合もある。そういう状態でうまくツール交換する方法をどうにかしたい所。やはり機械原点からの距離じゃないと駄目かなぁ。

追記(2009/01/06):

Rotate Axisで向きを変える件、SolidWorksは「平面」がX-Z平面であることが原因となっている。これはツールの都合なので、いちいち面倒ならば、X-Y平面にモノをおいてやれば一手間減らせる。