「LaserGRB」で保存したコードを3Dプリンター用に変換する
※以下、既存の3Dプリンターにレーザーヘッドを取り付け、「Firmware」を書き換えること無くレーザー加工を実行してみたい人だけに有効。
非常停止が使いやすい、「Repetier-Host」を対象としたが、「Cura」などでも動作確認。
「LaserGRBL」で書きだしたコードを3Dプリンター用に変換するには正規表現による検索、置き換えが可能なエディッターが必要になる。
有償の「秀丸エディッター」がブームの中、見栄えがシンプルで、瞬時に起動するFreeの「Peggy Pad」を長年愛用してきたが、他に移譲される事なく開発が終了し、会社も無くなってしまった。(高機能だっただけに残念)
Free、高機能、高速処理の三拍子が揃った「Peggy Pad」。
画面もこれ以上ないほどシンプル。
終了予告があったため、最終バージョンをダウンロードして保管しているものの、現在利用しているバーションはインストール時そのままの一つ前のバーション。
「Peggy Pad」が廃止されても"Free"で同等の機能を有するエディッターは他にも存在するので、参考までに。
http://sakura-editor.sourceforge.net/download.html
※正規表現が外部プラグインになっているようで、同時にダウンロードするか、プラグインを含んだインストール版を入手する必要がありそうだ。
ここから本題。
※正規表現についての参考例は、20年以上もブランクがあり、使い方を大いに間違っている可能性があるので自己責任で
「LaserGRBL」で保存するデータは、モードにより様々なパターンに変化するので、注意が必要。
画面に表示された領域だけで置き換えを判断し、一括処理するのは危険! 解像度の設定値を変えるだけでもコードパターンが変化する場合がある。
PWMが有効な場合に生成されるGコード
PWMが無効な場合のGコード
他にも山盛りの注意点があるが、以上を踏まえコード置き換え時のポイントを大まかにまとめると、
M3(Servo"ON")は、
(1)..M106 でレーザー"ON" S値 0〜255 の間でレーザー強度レベル
に。
M5(Servo"OFF")は、
(2)..M107 でレーザー"OFF"
に。
Fxx は、
(3)..G1 Fxx
に。
(4)..G21(ミリ設定)コードの追加
無いと25.4倍に拡大される事がある。
その他、座標末尾に単独で存在する"Sxx(xxは"0〜255"の間)" などのコードは、行挿入後の上段に配置し、M106 Sxx に置き換え。
"S0"だけの場合は"M107"に置き換える。
次のコードがG0で始まる場合、置き換え機能によりM107コードが重複するので必要無い。(あっても問題にならない)
いずれのGコードも、座標末尾に、F値(送り速度)を追加する
コード最終行には忘れずM18コード(すべてのステッピングモーターを無効)を入れる。
(PWMが有効な場合のコード置き換え)
正規表現での検索・置き換え例の画像は、あくまで個人的な方法によるもので、自分の考えとエディッターの機能に合わせて適宜変更する必要がある。・・かも?
例1:G0コードの場合
S0
G0 X0.933 Y1.4 S0
の場合、
M107
G0 X0.933 Y1.4 F800
に置き換える。
※ G0コード F値、"Fxx" はレーザー出力無しの時の任意の移動速度に
正規表現での置き換え例(2つにグループ化)
例2:G1コードの場合
G1 X1 Y1.333 S59
の場合、
M106 S59
G1 X1 Y1.333 F200
に置き換える。
※ G1 コードでのF値、"Fxx" はレーザー出力時に見合った任意の速度に
正規表現での置き換え例(2つにグループ化)
こんな感じで、他のモードについてもマニュアルに従って検索・置き換えをすると3Dプリンターでのレーザー彫刻が可能となる。
慣れると5分もあれば変換が終わるようになる。
添付ファイル
|