3Dプリンタをプロッタにする
3D プリンタは G-code によって制御されます。G-code は CNC プログラミング言語であり、機械にどこに、どのように移動するかなどを指示します。
ペンを押出機のホットエンドキットにアタッチし、フィラメントを押し出さないようにして、移動コマンドを実行することでペンプロッタとして絵を描くことができます。
ここでは、SVG > STL > G-code という方式を紹介します。
まず、Inkscape を使ってビットマップ画像をベクタ画像に変換します。 Inkscape で画像をベクタ化するには:
- メニューから Path > Trace Bitmap を選択し、画像をトレースします。
- Single scan タブで
Brightness Cutoff
オプションを選択します。輪郭だけをベクタ化したい場合、Edge detection
を選択します。 - 適当なしきい値を設定します。
- 「Apply」をクリックしてベクタオブジェクトを作成します。
- SVG ファイルとして保存します
ちなみに、Inkscape はパスから G-code を生成できるプラグインもあります。例えば GcodePlot というプラグイン。ダウンロードして、Inkscape の extensions ディレクトリ(macOS の場合は /Applications/Inkscape.app/Contents/Resources/share/inkscape/extensions)に置けば使えます。
次に SVG を STL に変換します。私は Tinkercad を使っています。描画は 2D で、レイヤーは 1 つだけなので、モデルの高さはノズル径に合わせて設定します。
最後に、STL から G-code を生成します。スライサーソフト Cura を使います。 設定は以下のスクリーンショットに示されています。
- レイヤーの高さはノズル径 0.4mm に設定しています。
- z hop height は、ペンを移動する際に、ペンを何ミリ上げるかを指定します。
ペン先とノズル間の Z オフセットは Cura のプラグイン Z Offset Setting を利用します。 画面右上隅の「Marketplace」をクリックし、プラグインを追加できます。
描いた絵はこんな感じです。