dendecdenの家

知らなかったことや思ったことを書きます

FreeCADのスケッチを基にしたG-Codeを作成したい[NCVC]

1. 概要

 3軸CNCを動作させるためには、CAD・CAMソフトを用いてG-Codeを作成する必要がある。しかし、オープンソフトの3DCAD・CAMソフトは存在しない。そのため、3DCADと2.5DCAMを組み合わせる必要がある。

 本記事では、FreeCADでG-Codeの軌跡を作成し、NCVCでG-Codeを生成する。

 

 

2. 使用ソフトウェア 

2.1 参考資料など

・FreeCADのドラフトの使い方ついて

www.xsim.info

・NCVCの使い方について

www.amazon.co.jp

 


 

NCVCはソフト作者のHPにマニュアルがあるが、結構古いバージョンなので本を買ったほうが良い。

なお、各ソフトでの基本動作はこの記事では省く。

3. 大まかな流れ

  1. FreeCADのParts Designで部品をスケッチする。
  2. FreeCADのDraft でsketchをDraft Objectに変換。
  3. NCVC用のレイヤーに編集後、dxf形式で出力。
  4. NCVCでファイルを読み込み、G-Codeを生成。

3.1 FreeCADのParts Designで部品をスケッチする

 FreeCADの[Parts Design]で適当に何か部品のSketchを作成する。今回は、図のような穴あき半円を基にする。なお、スケッチはXY平面を基準とする。

3.2 FreeCADのDraft でsketcheをDraft Objectに変換

 FreeCADの[Draft]に入る。最初に基準面を決定する。初期では自動になっているので、上面図(XY平面)を指定する。部品のSketchの基準面がXY平面以外であれば、それぞれ対応する面を指定する。SketchとDraftの基準面が平行でなければ、変換後のDraft Objectの図が歪んでしまう。

 変換するSketchを選択し、変換ボタンを押す。

 今回は、2つのDraft Object が変換後に出力された。

3.3 NCVC用のレイヤーに編集後、dxf形式で出力

 NCVCは読み込んだdxfファイルのレイヤー名ごとに、各種数値の読み込みを行う。例えば、

  • ORIGIN    ー> 図形の原点位置を円の中心で指定する。
  • CAM[番号] ー> 切削用のレイヤー。[番号]に切削順の番号を記述する。

となる。このほかにも、切削開始位置やツール通過点などを指定するレイヤーも存在する。

 

 FreeCADのDraftにて、レイヤーグループを作成する。

レイヤー作成ボタンを押す。

                     

 Layer がレイヤー、Layers がレイヤーグループである。このレイヤーグループは、一つのプロジェクトにつき一つだけ作成できる。つまり、部品ごとにFreeCADのプロジェクトを作成する必要がある。

 Layerの名前を「CAM00」に変更する。CAM00に変換した「Wire」をドラッグで入れる。次に、レイヤー作成ボタンをもう一度押し、作成されたLayerを「CAM01」と変更した後、変換した「Sketch」をこれに入れる。

 ORIGINレイヤーを作成する場合も同様である。今回はDraftの機能を使用し、(x,y) = (0,0)の位置に半径10mmの円を描画し、これをORIGINレイヤーに入れた。

         

 Layersを選択した状態で、ファイル形式は「dxf」でExportする。FreeCADの

 編集(E) ー> 設定(P)

を開き、横の「インポート/エクスポート」を押し、DXFタブ内の「従来型のPythonエクスポーターを使用」にチェックを入れ、OKを押す。

 次に、レイヤーグループを選択した状態で、

ファイル(F) ー> エクスポート(E)…

を押し、ファイル形式は「Autodesk DXF 2D (*.dxf)」を選択する。

 初めてdxfファイルをエクスポートする場合は、FreeCADに追加のダウンロードをするか聞かれるので「はい(Y)」を押す。

    

3.3.1 注意ーFreeCADでdxfファイルが正しくエクスポートできない

 著者のPCの1台が3.3内の動作を行ったにもかかわらず、dxfファイルの正しい出力ができない事態が発生した。これはFreeCAD側の問題であると考えられるため、PCを再起動するか、FreeCAD自体を再インストールすることで解決できるだろうと考えている。(未検証)

 

3.4 NCVCでファイルを読み込み、G-Codeを生成

 3.3でエクスポートしたファイルを、NCVCで読み込む。

2.1の参考資料を基にG-Codeを生成する。拡張子が「.ncd」のファイルがG-Codeのファイルである。

(生成したncdファイル)

4. 終わりに

 今回作成したG-CodeはGRBLファームウェアにも対応できる。しかし、円軌道はGRBLが認識しないため、NC生成オプションの設定にある表記タブの「全円は2分割(H)」にチェックを入れる必要がある。

 

 近年では商用3DCAD・CAMソフトを無料ライセンスで使用することができるが、このような形態のソフトは総じてオフラインで使用することができない。その点では、FreeCADやNCVCは優れている。

 実はFreeCAD内にCAMシステムはあるのだが、バグが多くお勧めしない。今後に期待したい。