Bambu Lab A1 miniをペンプロッターとして使う(G-codeでの出力)

2026-02-24

先日試した専用アタッチメントを使って、G-codeでの描画も試してみた。やる気を出して時間作ってガッとやろうとすると間が空いてしまって忘れるので、次回実験するときのため、前回同様自分用にメモしておく。(日常的にもっと実験して定着させればいい話なのだが)
※マシンの正規の使い方ではないので、自己責任でやっています

前回の記事:Bambu Lab A1 miniをペンプロッターとして使う

G-codeとは

Gcodeとは、機械工作の制御に用いられるプログラミングコードです。
「3Dプリンタを動かすために座標やフィラメントの出す量を制御するためのコード」ということになります。
【3Dプリンタ】3Dプリンタを印刷するときに出てくる「G-code」って何? - ファブテラスいわて

やりたいこと

ベクターで描かれた図のパスをなぞるように、ペンで書きたい

ざっくり手順

  1. ベクターデータを用意
  2. Inkscapeで.ngcファイルに変換
  3. .ngcを.gcodeに変更
  4. .gcodeデータを3DプリンタのmicroSDカードに格納
  5. 出力

1. ベクターデータを用意

まずはsvgデータを用意する。
Inkscapeでもsvgデータを作れるようだが、普段使っているIllustratorでの操作のほうが慣れているのでそっちでデータを作った。
手で書くには難しいもの、ということでスピログラフの図(Illustratorのスクリプトを利用)と、ストロークフォントを並べてまとめて適当にsvgデータ化した。 データを作る際の注意点は以下。

  • 線幅は0.1mm以上にしておく(そうしないとInkscapeで開いたときに表示されない)
  • 円は閉じずに切れ目を入れておく(そうしないとInkscapeで開いたときに表示されない)
    svgデータのスクリーンショット

2. Inkscapeで.ngcファイルに変換

「Inkscape」というソフトをインストールする。

Inkscape(インクスケープ)はオープンソースで開発されているベクター画像編集ソフトウェア(ドローソフト)。
Inkscape - Wikipedia

「ファイル>ドキュメントのプロパティ」で印刷ベッドのサイズに合わせて調整する。造形可能ベッドサイズ(X180mm x Y180mm x Z180mm)を参考に、今回は余裕を持ってX150mm x Y150mmに設定する。
→svgのサイズとドキュメントサイズを揃えても実寸にならない。後ほど確認する。

Inkscapeで先ほど作成したsvgデータを開く。開いたままだとレイヤーがない状態になっているので、⌘+Shift+Lでレイヤーパネルを開き、+ボタンで新規でレイヤーを追加し、その中にすべてのパスを入れておく。
レイヤーパネルのスクリーンショット スクショにellipseが表示されているがこれは悪い例。ellipseの図形はgcode変換できない。すべてpathにしよう

パス全部を選択した状態で、「エクステンション>Gcodetools」から「基点」を選択しウィンドウを開く。単位をmmにし、加工原点を設定する。紙に出力する場合はZ軸の深さはほぼ要らないので、小さくして「適用」する。
→基点の設定がうまくいってない気がする…?のちほど確認する。 基点のスクリーンショット

Gcodetoolsメニューから「ツールライブラリ」を選択する。そして、シリンダーを選択して「適用」する。シリンダーは、円柱タイプの工具を使う体という意味らしいので、ペン先が丸ければこれで問題ないのかなと思う。
ツールライブラリのスクリーンショット

次に、Gcodetoolsメニューの「パスからGcode」を選択する。まず「環境設定」タブを選択する。
ディレクトリは「/Users/○○(任意のユーザー名)/Desktop」など保存したい場所のパスを設定する。
単位はmmにして、ポストプロセッサは「すべての値を4桁に丸める」を選ぶ。細かすぎる処理を防ぐためにこれを設定するのかなと思う。(先人のブログを参考にしているので完全に理解してない)
パスからGcode、環境設定のスクリーンショット

「パスからGcode」タブを選択してから「適用」を押す。うまく行けば、デスクトップに.ngcデータが保存されている。

3. .ngcを.gcodeに変更

拡張子を書き換えるだけ。これはChatGPTが教えてくれた。

4. .gcodeデータを3DプリンタのmicroSDカードに格納

A1 miniには、マシン右側面にmicroSDカードがデフォルトで内蔵されている。マシンのディスプレイ「設定>SDカード」を選択し、取り外す処理をしてから押し込んで取り出す。
microSDカードのルートディレクトリというのか、一番上の階層に.gcodeデータを入れる。A1 miniがいろんなフォルダを生成してそこに存在しているけど触らない。

5. 出力

microSDカードを再びA1 miniに戻す。
マシンのディスプレイ「ファイル」をタップすると、先ほど入れた.gcodeのデータが表示されるので、選択して出力を開始する。自動ベッドレベリングなどはすべてオフにする。所要時間は表示されないが、問題なく動き出すことが確認できる。
出力例1 何故かこの位置・このサイズで出力される。ちっちゃ。ellipseで構成された図は描画されていない

何回か試してみた。 出力例2 はみ出てしまった 出力例3 適当に配置したので怪文書になった 出力例4 出力の様子。文字を書くときは、書き順とか関係なくて面白い 出力例5 何故か真ん中がかすれた 出力例6 同じ図を水色の画用紙に青のマーカーで出力してみた

改善点、確認すること

  • サイズと基点の設定方法
  • 出力スピードの調整

今後の発展

幾何学的な細かい線画とか、機械的なエラーが発生した絵とか、アナログの出力だからこそのグラフィックを試してみたいなぁと思っている。色画用紙とか地に色があるものに書くのも面白そう。Processingで描いて出力している人もいて、奥が深いなぁと思っている。また色々やってみよう。

参考(めちゃくちゃありがたい)