3Dプリンタをプロッタにする

3D プリンタは G-code によって制御されます。G-code は CNC プログラミング言語であり、機械にどこに、どのように移動するかなどを指示します。

ペンを押出機のホットエンドキットにアタッチし、フィラメントを押し出さないようにして、移動コマンドを実行することでペンプロッタとして絵を描くことができます。

ここでは、SVG > STL > G-code という方式を紹介します。

まず、Inkscape を使ってビットマップ画像をベクタ画像に変換します。 Inkscape で画像をベクタ化するには:

  • メニューから Path > Trace Bitmap を選択し、画像をトレースします。
  • Single scan タブで Brightness Cutoff オプションを選択します。輪郭だけをベクタ化したい場合、Edge detection を選択します。
  • 適当なしきい値を設定します。
  • 「Apply」をクリックしてベクタオブジェクトを作成します。
  • SVG ファイルとして保存します

alt

ちなみに、Inkscape はパスから G-code を生成できるプラグインもあります。例えば GcodePlot というプラグイン。ダウンロードして、Inkscape の extensions ディレクトリ(macOS の場合は /Applications/Inkscape.app/Contents/Resources/share/inkscape/extensions)に置けば使えます。

次に SVG を STL に変換します。私は Tinkercad を使っています。描画は 2D で、レイヤーは 1 つだけなので、モデルの高さはノズル径に合わせて設定します。

最後に、STL から G-code を生成します。スライサーソフト Cura を使います。 設定は以下のスクリーンショットに示されています。

alt

  • レイヤーの高さはノズル径 0.4mm に設定しています。
  • z hop height は、ペンを移動する際に、ペンを何ミリ上げるかを指定します。

ペン先とノズル間の Z オフセットは Cura のプラグイン Z Offset Setting を利用します。 画面右上隅の「Marketplace」をクリックし、プラグインを追加できます。

alt

描いた絵はこんな感じです。

alt