CNCで楽しい金属切削 ~Fusion360によるCAMデータの作り方~

#はじめに
この記事は中華CNC買っちゃった！でもCAMデータの作り方分からないという方のために書いています．
CADデータからGコードの作成までをこの記事では紹介しています．使うCAMソフトはfusion360です．
ちなみに著者が購入したCNCは「CNC3018 pro」です．
https://www.amazon.co.jp/SainSmart-genmitsu-3018-%E3%83%97%E3%83%AD%E3%83%AB%E3%83%BC%E3%82%BF%E3%82%AD%E3%83%83%E3%83%88GRBL%E5%88%B6%E5%BE%A13%E3%81%A4-%E8%BB%B8%E3%83%97%E3%83%A9%E3%82%B9%E3%83%81%E3%83%83%E3%82%AF%E3%82%A2%E3%82%AF%E3%83%AA%E3%83%AB-PCB%E5%A1%A9%E3%83%93%E6%9C%A8%E5%BD%AB%E3%82%8A%E3%83%95%E3%83%A9%E3%82%A4%E3%82%B9%E5%BD%AB%E5%88%BB%E6%A9%9F%E3%80%81XYZ%E4%BD%9C%E6%A5%AD%E3%82%A8%E3%83%AA%E3%82%A2300x180x45mm/dp/B07G55SNZW/ref=pd_lpo_60_t_1/355-1618298-0697722?_encoding=UTF8&pd_rd_i=B07G55SNZW&pd_rd_r=d88034c8-a342-4422-9507-c6a9b735aebb&pd_rd_w=7MVz2&pd_rd_wg=h28v7&pf_rd_p=4b55d259-ebf0-4306-905a-7762d1b93740&pf_rd_r=B3TKY794HDVQ97A7QM7V&psc=1&refRID=B3TKY794HDVQ97A7QM7V

#CADデータ作成/読み込み

fusion360はCADソフトですので部品データを作成することができます．もしfusion360で部品データを作成する方はこの章は読み飛ばしていただいて結構です．私はInventorに慣れていますので，ここでは私のようにInventorでCADデータを作成する方向けにInventorで作成したCADデータをFusion360で読み込む方法を紹介します．今回は下のCADデータを使います．単位は[mm]でR（フィレット）は3mm，厚さは3mmです．このデータを適当な場所に適当な名前（ここではtest20200403.iptとして保存しました）で保存してください．
![01.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/557506/c21095f2-a686-2706-ba4c-214f31b8b373.png)

それではfusion360を開きます．左上にあるバーの`ファイル -> 開く`を押し，「マイコンピュータから開く…」を選択してください．選択したら先ほどInventorで作成したCADデータを選択してください．
![02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/557506/c6d66b9a-984b-5b7b-2f76-4f5a930c9641.png)
![03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/557506/48ec02e3-ee16-5154-de49-cf4291554da7.png)

データを選択するとジョブステータスというウィンドウがでてきます．fusion360がデータを読み込んでいる状態です．このまま5～10秒待機すると「ステータス」が完了となりますので下２枚目の画像内で赤丸で囲った「アクション」の「開く」を選択します．するとinventorで描いたCADが出現します．これでデータの読み込みは完了です．

![04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/557506/1c5e48f4-aadc-54b0-7f8c-2e1fd332283e.png)
![05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/557506/15cecb9b-4530-f80d-b048-0483954b6b54.png)
![06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/557506/5e38fea6-45d8-8652-b066-c171ffc73c45.png)

※紹介した方法でもCADデータを開けますがプロジェクトを作ってそこにデータを入れる方が良さそうです．

#CAMデータを作成する
この章が今回のメインディッシュです．作業スペースを「デザイン」から「製造」に変更します．ちなみに最近のfusion360では「製造」になっていますが，以前は「CAM」という言い方でした．そのため，他サイトを参照すると「作業スペースを『CAM』に変えます」と紹介されています．
![07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/557506/7634d7b2-da29-93de-75ed-36ef3cbd521f.png)
作業スペースを「製造」に変更すると上側の表示が以下のようになります．ミーリング，旋盤，積層...など色々ありますがCNCでは「ミーリング」のみを使います．

![08.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/557506/e41c5309-f074-6666-ab3c-25c78a364749.png)

全体的な流れとしては
①「セットアップ」で座標系等を設定　⇒　②「2D」で切削データを作成　⇒　③gコード（.ncファイル）を作成　といった感じです．それではやっていきましょう．


###①セットアップ
ここでは座標系を設定します．タブにある「セットアップ」を押してください．するとウィンドウがでてきます．このウィンドウの中で設定するのは「ワーク座標系」と「モデル」のみです．
![09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/557506/c9dcf3cd-4b94-ff34-3966-983c0ccc21a7.png)

![10.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/557506/87a8b593-dea8-9e82-280f-dcf493142996.png)

「モデル」タブは切削するモデルを選ぶだけでよいです．青くなればOK．
![39.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/557506/3496f77d-3791-a740-65d2-41d86c01477f.png)


「ワーク座標系」では原点をどこにとるかXYZ軸をどのようにとるかを設定します．これは使用するCNCのXYZ軸と合わせる必要があります．「方向」では「z軸/平面，x軸を選択」を選びます．「z軸」では面をクリックするとそれに垂直な方向がz軸となります．x軸ではエッジをクリックするとその方向にx軸が設定されます．これでxyz軸が設定されます．なお適宜「z軸を反転」や「x軸を反転」を使用して下さい．私が使っているCNC3018の座標軸と合わせると次の画像のようになります．「原点」は「ストックボックス点」を選択し，「ストック点」では左下の白丸をクリックします．すると下２枚目画像のように原点が移動します．
![13(3).PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/557506/34b4b0d0-4158-158d-b78e-f02b62e5cb12.png)
![14.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/557506/5fd31b25-7794-d6bc-bc23-556aba09a4d4.png)

次に「ストック」タブに移動します．「ストック」タブでは初期設定では「ストック サイド オフセット」と「ストック トップ オフセット」をが1mmになっているのでそれぞれ0mmに変更します．すると下２枚目の画像のようにモデルを囲っているボックスがｷｭｯっと締まります．
![15.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/557506/fe394881-a094-52b5-f21f-cbe655455ffb.png)
![16.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/557506/79453022-fff3-145e-c691-fd8927442ad1.png)
次に「ポスト処理」タブに移動しますが、ここは特に変更しなくてもよいです．強いて変更するなら「プログラム名/番号」をわかりやすい名前に変更していただいて結構です．
![17.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/557506/50900b9c-4e28-88e0-9cfc-6baa523f35fb.png)

最後に「OK」ボタンを押します．これでセットアップは完了です。

###②2D
いよいよ切削データを作っていきます．「2D」タブの中でも今回使用するのは「円形」と「2D輪郭」です（というか私は主にこの2つしか使わない）．下２枚目の画像を参照ください．
![18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/557506/6745a478-8c60-ba79-36e7-df4a5843a59a.png)
![20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/557506/dd5a54dc-bb2b-a9ab-de36-c419db4b98cf.png)
####円形
#####工具
それでは`2D->円形`を選択してください．すると下の画像のようなウィンドウがでてきます．標準ライブラリにあるエンドミルの回転数や切削スピードではエンドミルが折れてしまうことがあるので自分で設定する必要があります．赤丸で囲った工具の「選択」をクリックしてください．選択すると下２枚目のようなウィンドウが開きますので右上の「新規ミル工具」を選択してください．（保存するライブラリを`Local/Library`にしておくと今後も設定した工具を使えます．）
![21.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/557506/cab9990b-3420-0084-8f21-820900a08a6a.png)
![22 (2).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/557506/e4c2e817-f01d-862c-80f7-b8cbd81e0aa2.png)
すると下の画像のようなウィンドウがでてきます．設定タブが色々ありますが，設定が必要なのは「刃物」と「送りと速度」です．「刃物」については下の画像のように設定しました．今回削る穴の最小径は3.2mmなのでΦ3（直径3mm）のフラットエンドミルで削りたいと思います。エンドミルのサイズや材質については購入元に情報があると思います．amazonだと下2枚目の画像の通りです．これらから「刃物」のパラメータを埋めていけば良いでしょう．個人的には「タイプ」，「刃数」，「直径」，「単位」，「刃長」があっていれば問題はないと思っています．（ちなみに下２枚目のamazonのエンドミルの場合　`タイプ＝フラットエンドミル，刃数＝4，直径＝6mm，単位＝mm，刃長＝15mm`となりますね．）
![23.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/557506/f25d091b-c828-c6ba-5ba1-09b25ba32756.png)
![24.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/557506/2bd8980a-cca0-1bfd-e53d-aefdd38ada35.png)
次に「送りと速度」タブに移ります．
赤丸で囲んだ箇所を記入すれば残りの部分は自動計算されます．さてCNC3018の場合主軸回転速度は最大10000rpmなので主軸回転速度に10000を代入します．切削送り速度は数式から
![25.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/557506/164b8493-a963-8c25-f1f2-64567ba04597.png)

`https://www.ns-tool.com/ja/technology/technical_data/cutting_speed/`　を参考にしました．アルミ仕上げの場合一刃あたりの送り＝0.02[mm/tooth]らしいです．しかしCNC3018のような安いCNCで削るのに仕上げもくそもないので0.05として考えました．

OKボタンをクリックし，これで工具の設定完了です．工具に新しく設定した工具を選択しOKボタンを押します．すると工具が選択されているはずです．また「クーラント」には「無効」を設定します．これで「工具」タブの設定は終了です．
![26.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/557506/3371292c-6449-d3e0-3448-26c2efcea070.png)
#####図形
次は「図形」タブに移ります．ここでは加工する箇所をクリックするだけです．クリックすると青くなります．
![27.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/557506/519e1de7-61bd-ba7c-fe1f-8db677fc9cac.png)
#####高さ
次は「高さ」タブです．私は下の画像のように設定しました．「移動高さ」は工程の始まりと終わり時の工具の高さです．「退避高さ」は切削時における移動（例えば穴から次の穴への移動）の高さです．「トップ高さ」は切削を始めるときのz軸の高さです．トップ高さをオフセットなし（0mm）でモデルトップと一致させてしまうと削る前に工具があたったり，抵抗が大きく折れてしまうこともあるので少し余裕をもたせて「モデルトップ」から「オフセット0.4mm」をかけましょう．ボトム高さは切削を終了するときのz軸の高さです．これもモデルボトムと一致させてしまうと完全に削りきれないことがあります．ほんの少しだけ深く削らせましょう．モデルボトムからオフセット-0.4mmをかけました．モデルボトムから下にオフセットをかけると当然ですが板を乗せている土台部分も削ります．MDFや木材など下に敷いておく必要あります．（ちなみにオフセットを+にするとポケット加工ができます）

![28.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/557506/9df9d0f3-bf1d-1588-83f2-09e595ac183e.png)

#####パス
「複数深さ」に必ずチェックを入れてください．CNCで3mmの厚さの板に穴をあけるのに1回でドリルのように貫通させてぐりぐり穴をあけるなんて到底できないし，危なすぎます．したがって0.2mm，0.4mm，0.6mm… 2.8mm，3.0mmという感じで少しづつ削る必要があります．一回の切込み深さは一般的には0.2mm程度だと思うのですが，格安CNCということを考えめちゃくちゃ慎重に0.05mmずつ削るようにしました．
![29.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/557506/a73d5e31-c231-6a4d-6826-23b0dc1404c3.png)

#####リンク
リンクは特に何もいじりませんでした．
![30.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/557506/c98ae632-dace-f870-3e36-58f6a3c87eff.png)

以上で「円形」の設定は完了です．OKボタンを押してください．お疲れさまでした．

####2D輪郭
「2D輪郭」についても「円形」とほぼ同じ操作です．
#####工具
工具は同じものを使います．もちろん「円形」とは違う工具を使用できます．
![31.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/557506/10944ec7-2456-9060-b09d-1298d030aa7b.png)
#####図形
こちらも同様にして外形の底面を選択してください．図のように青くなったらOKです．
![32.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/557506/729c6cde-eb81-3f34-947b-8f92013689c2.png)
#####高さ
高さ円形と異なり送り高さがありますが，たいして変わりません．私は図のように設定しました．
![高さ.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/557506/2885bde6-d59d-0496-f438-ce0729557586.png)

#####パス
パスは円形同様複数深さを設定してください．
![34_2.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/557506/0b06c8c4-47d5-7bf2-1ada-9b87baa195c4.png)
![34.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/557506/1725b5b8-a405-215e-0a6e-e8f8641e583d.png)
#####リンク
リンクは特に設定を変えておりません．
![35.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/557506/8a4f5778-8290-091f-0983-9558368d2af2.png)

###シミュレーション
念のためにシミュレーションを行ってください．これはエンドミルがどのように動くかをPC上で再現してくれます．「アクション」タブのシミュレーションというボタンを押すとホルダーとエンドミが出てきてシミュレーション画面になります．画面下の再生ボタンを押すとシミュレーションが始まります．下のバーで速度を変えられます．部品厚さと「複数深さ」で設定した一回の切込み量から切削回数を計算して，シミュレーションで正しく切削できているか確認しましょう．![36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/557506/f28cfffb-2284-dd66-d264-b63e94f2834b.png)

###③Gコード作成
いよいよGコードを作成します．下の画像のように「アクション」タブの「ポスト処理」を押してください．
![38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/557506/90c2af51-2b4c-745f-6990-9b304505a6ec.png)
すると下の画像のようなウィンドウがでます．このうち設定するのは赤丸で囲ったポストコンフィグの部分です．私が使用しているcnc3018のソフトウェアの種類はgrblというものなのでそれを選択しました．ここは各自の使用しているcnc（ソフトウェア）に従ってください．そして出力するファイルの場所を選択してください．最後に「ポスト」を押すと.ncファイルが出力できます．
![37.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/557506/036ce337-c1fe-fcbd-37f2-3a10fc4e108a.png)

以上でfusion360でGコードを作る方法の説明を終了します．お疲れさまでした．

#終わりに
作成したgコードを用いてcncで出力する方法の記事を書く予定です．
以下ノウハウなど適宜追加予定
・「円形」や「2D輪郭」などは一つのものに一つの工具を選択できます．したがって例えば同じ「円形」操作でも別の工具を使う場合は別途「円形」データを作成してください．（例えば直径5mmの穴と直径100mmの穴をあける場合どちらもΦ3のエンドミルで切削できますがΦ3のエンドミルで直径100mmの穴を削るのは時間がかかりますよね．その場合5mmの穴はΦ3のエンドミルで切削して，100mmの穴はΦ10で削るなど工具を変えた方がよいので，「円形」データを２つ作ることになります．）
・「高さ」タブでの「退避高さ」などには注意してください．実機の限界がありますので．
・今回の設定は非常に慎重にしています．そのため時間がすごくかかります．もしもっと時間削減したいならば複数切込みで一回の切込み深さを大きくしたり切削速度を上げればよいと思います．ただ慣れるまでの最初の方は慎重すぎる方がよいと思われます．
・実際にCNCで動かす場合「円形」と「2D輪郭」では先に「円形」のncファイルから出力してください．先に外形を削ってしまうと材料の固定が外れてエンドミルがあたるとずれてしますことになりますので．
・「2D輪郭」で外形を削る際，「高さ」タブで「モデルボトム」をマイナスにしすぎてしまうと材料が完全に切り離された後も削ろうとするので材料がエンドミルに当たって傷つけてしまうことがあります．適切な高さを選択しましょう．経験では-0.2から-0.3程度．