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

「CNCフライス盤による基板作成/Gコードへの変換」の編集履歴(バックアップ)一覧に戻る

CNCフライス盤による基板作成/Gコードへの変換 - (2013/04/28 (日) 02:49:26) のソース

**なぜ変換が必要か
前の段階で出力したガーバファイルはパターンの形をそのまま表している形式です。
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|ドリル切削データをパターンデータに併合するか指定。&br()両方美濃を使うためここでは1を指定。|
|Z_STEP|ドリル・基板外形の1度に掘り下げる幅を指定。ここでは-0.1から-0.5を指定。&br()はじめは小さく削り、大丈夫そうならすこしずつ増やす。あまり大きいと刃が折れるので注意。|
|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]])を読むことをおすすめします。

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

&bold(){例)}
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"
の場合。
#highlight(AAA){{"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/]])などでおかしなところが無いかチェックしてから切削に移ってください。