CNCフライス盤による基板作成 > Gコードへの変換

なぜ変換が必要か

前の段階で出力したガーバファイルはパターンの形をそのまま表している形式です。
CNCフライスで切削する場合、刃には太さが有るため、
そのまま切削すると、刃の半径分パターンが内側に細くなってしまいます。
そこで、刃の半径分外側を掘る必要があります。
そのオフセット考慮した軌跡を計算し、さらに、彫り込む深さや切削速度の指定を加えたものが
Gコード(正確にはNCプログラム)なのです。
直接NCマシンを動かす場合は、このGコードを読み込む必要があります。

pyGerber2Gcodeのダウンロード

https://code.google.com/p/pygerber2gcode/を開き、
ダウンロードページから以下の3つのファイルをダウンロードして下さい。
  • pygerber2gcode_cui.py
  • pyg2g_cui.conf
  • gerber_merge.py

pyg2g_cui.confの編集

CUIソフトのため、pyg2g_cui.confの内容を編集することによって各項目の設定を行います。
設定項目の意味は以下のとおりです。
設定の例は
CNCフライス:ORIGINALMINED mini-CNC BLACKII 1510
基板加工カッター:美濃昌典 先端角=90°刃径=0.8
の場合を想定しています。
違う環境で行う場合は、適宜変更してください。

表中のアスタリスク"*"はワイルドカードとして読んでください。
GERBER_DIR ガーバファイルの保存してあるフォルダをフルパスで指定する。
FRONT_FILE 両面基板の場合、表面(部品面)のガーバーファイル名を指定する。
BACK_FILE 裏面(ハンダ面)のガーバーファイル名を指定する。
DRILL_FILE ドリルファイル名を指定する。
EDGE_FILE 基板外形も切削する場合、外形のガーバファイル名を指定する。
MIRROR_**** 表裏反転処理をするか指定する。有効にするには1、無効は0を指定する。
ROT_ANG 基板を回転する角度を指定する。回転しない場合は0を指定。
OUT_DIR 変換後のGコードをどこに出力するかフルパスで指定する。
OUT_*** FILE 出力するGコードのファイル名を指定する。
INI_* 動作開始時に初期化する座標を指定。(この設定はあとで削除するため、0など適当に設定)
MOVE_HEIGHT 移動時の移動速度を指定(mm/min)
IN_INCH_FLAG 入力ファイルの単位がインチかどうかの指定。ここでは1を指定。
OUT_INCH_FLAG 出力ファイルの単位をインチにするかの指定。ここでは0を指定。
MCODE_FLAG スピンドルの回転・停止の命令を含むかの指定。ここでは1を指定。
XY_SPEED X・Y軸で切削時の移動速度。ここでは600を指定。
Z_SPEED パターン切削時の掘り下げ速度。ここでは10を指定。
LEFT_X Gコードを左端からシフトする幅を指定。ここでは0を指定。
LOWER_Y Gコードを下端からシフトする幅を指定。ここでは0を指定。
DRILL_SPEED ドリルで切削時の掘り下げ速度。ここでは10を指定。
DRILL_DEPTH ドリルの掘り下げ幅。-(基板の厚さ+1mm)ほどを指定。
CUT_DEPTH パターンの掘り下げ幅。銅箔の厚さによるが、ここでは-0.1を指定。
TOOL_D パターン用刃の直径。ここでは(美濃昌典を使用するため)0.4を指定。
DRILL_D 穴あけ用刃の直径。ここでは(美濃昌典を使用するため)0.8を指定。
CAD_UNIT
DRILL_UNIT
EDGE_UNIT
EDGE_TOOL_D 基板外形の切削に使用するエンドミルの直径を指定。
EDGE_DEPTH 基板外形の切削幅を指定。-(基板の厚さ+0.5mm)ほどを指定。
EDGE_SPEED 基板外形の切削速度を指定。ここでは400を指定。
EDGE_Z_SPEED 基板外形の掘り下げ速度を指定。ここでは10を指定。
MERGE_DRILL_DATA ドリル切削データをパターンデータに併合するか指定。
両方美濃を使うためここでは1を指定。
Z_STEP ドリル・基板外形の1度に掘り下げる幅を指定。ここでは-0.1から-0.5を指定。
はじめは小さく削り、大丈夫そうならすこしずつ増やす。あまり大きいと刃が折れるので注意。
GERBER_COLOR
DRILL_COLOR
EDGE_COLOR
CONTOUR_COLOR
GERBER_EXT
DRILL_EXT
EDGE_EXT
GCODE_EXT
GDRILL_EXT
GEDGE_EXT

設定項目の意味は配布元の説明を書いているつもりですが、英語には自信がないので、
一度配布元の説明(https://code.google.com/p/pygerber2gcode/wiki/SettingValues)を読むことをおすすめします。

変換の実行

コマンドプロンプトを開き、以下のようにコマンドを入力し実行してください。
"pypy.exeのフルパス" "pygerber2gcode_cui.pyのフルパス" "pyg2g_cui.confのフルパス"

例)
pypy.exeのフルパスが"C:\pypy-2.0-beta1\pypy.exe"、
pygerber2gcode_cui.pyのフルパスが"C:\pygerber2gcode\pygerber2gcode_cui.py"、
pyg2g_cui.confのフルパスが"C:\pygerber2gcode\pyg2g_cui.conf"
の場合。
"C:\pypy-2.0-beta1\pypy.exe" "C:\pygerber2gcode\pygerber2gcode_cui.py" "C:\pygerber2gcode\pyg2g_cui.conf"

コマンドを打ち込むのが面倒な場合は、バッチファイルを作成して上記コマンドを実行するようにすれば楽になります。

これで、confファイルで指定した場所にGコード(NCデータ)が出来上がります。
エラーが出て出力されないときは、confファイルやコマンドに間違いがあるので、修正してください。

Gコードの修正

Gerber2Gcodeの作成するGコードは、今あるドリルの位置を"INI_X" "INI_Y" "INI_Z"で指定した座標とする命令が初めの方に組み込まれます。
G90G54G92 で始まる行がその命令です。
この命令は、手作業で0点出しを行う場合、邪魔なことが多いので、テキストエディタで削除します。
  • 出来上がった各Gコードを適当なテキストエディタで開く。
  • G90G54G92 で始まる行を削除する。
  • 上書き保存をする。
これで座標を勝手に変更されることはなくなります。


出来上がったGコードはNCVC(http://s-gikan2.maizuru-ct.ac.jp/xcl/)などでおかしなところが無いかチェックしてから切削に移ってください。
最終更新:2013年04月28日 02:49