はじめに
前回まででペンプロッタ本体が完成しました.
今回の記事ではペンプロッタに絵を書かせるためのGコードを生成する方法を解説していきます.
用意するもの
Gコード生成に必要なソフトウェアや画像を用意します.
- Universal Gcode Sender (以下UGS)
- inkscape
- Inkscape Laser Plug-In
- 適当な画像
今回の内容は次のサイトで説明されているものと概ね同じなので,インストール方法などは割愛して,ペンプロッタ用途で使う部分を説明します.
Gコードを用意する
まずはInkscapeを使ってペンプロッタに書かせたいベクター画像を用意します.
用意した画像がラスター画像の場合は,”パス>ビットマップのトレース”機能を使ってパスを作成します.ペンプロッタの特性上,あまり複雑な絵は得意ではありません.できるだけシンプルな絵を用意することをおすすめします.
パスを作成したら,”エクステンション>J Tech Phoronics Laser Tool”を使ってGコードを生成します.ここで最も重要なパラメータはペンを上下させるために利用する”Laser Power”の値です.ペンが下がるように,サーボモータ調整時に確認した値を設定します.ペンを上げるためのS値は,ここでは設定できないので,あとで置換します.
Applyをクリックするとペンが移動する軌道が表示されてGコードが生成されます.この時,軌道と一緒に原点も表示されます.意図した位置に原点が来るように修正してから再度ApplyをクリックしてGコードを生成し直します.
これは生成されたGコードの先頭15行です.拡張機能では”Laser OFF Command”としてM5
を指定していました.このM5 S0
となっている部分でペンが上がるように修正する必要があります.
M5 S0 G90 G21 G1 F1500 G1 X25.7115 Y-50.7415 G4 P0 M3 S148 G4 P0 G1 F1500.000000 G1 X23.4137 Y-46.5289 G1 X23.6508 Y-46.5143 G2 X24.1998 Y-46.5369 I0.165 J-2.6648 G2 X24.9158 Y-46.6981 I-0.6854 J-4.7161 G2 X25.6171 Y-47.013 I-0.9167 J-2.9792
ペンが上がるように全ての箇所を適切な値に置換します.これはsedコマンドで置換する例です.テキストエディタなどやりやすい方法で適当に置換してください.
$ sed -i -e 's/M5 S0/M3 S75/g' output.gcode
ペンプロッタで絵を書く
生成したGコードをUGSで開きます.Gコードが描画エリアに収まること,実際のペンの位置が原点と同じ位置にあること,を確認できたらSendボタンをクリックしてGRBLにGコードを送ります.
するとペンプロッタがGコード通りに絵を書いてくれます.
おわりに
Gコードを生成してペンプロッタで絵を書く流れを説明しました.
ちなみに,複雑なものも書けなくはないですが,極力シンプルな画像を用意することをおすすめします.
コメント