Klipper の Exclude Objects 機能のメモ

概要

どんな機能なのか?

複数の stl ファイルを同時に印刷している際に、途中で一部のファイルだけ印刷を中止できる機能です。具体的には、6つのファイルを同時に印刷していたら1つだけビルドプレートから剥がれてしまったという場合に、その1つだけ印刷を中止して残りの5つは最後まで印刷するという機能です。これにより、印刷に失敗したパーツの印刷を続けて思わぬトラブルを引き起こす心配がなくなりますし、無駄なフィラメントの消費も抑えられますので、非常に有用な機能です。

この機能を使うには、Klipper、Moonraker およびスライサーで所要の設定を行う必要がありますが、手順を紹介した日本語の記事が見当たらなかったので、備忘録代わりにメモします。

なお、公式ガイドは Exclude Objects - Klipper documentation で、この記事は2024年2月12日時点の情報を元に書いています。

対応バージョン

Exclude Objects 機能を使うには、Klipper などのバージョンを以下のバージョン以上にアップデートする必要があります。

Klipper
v0.10.0-438
Moonraker
v0.7.1-445
Mainsail
v2.1.0
Fluidd
v1.19.0

また、この処理は結構重い処理ということなので、Raspberry pi zero のような非力なシングルボードコンピュータでは厳しいようです。

Klipper と Moonraker のバージョンについては Exclude Objects - Mainsail に記載された情報を元に記載していますが、公式情報で確認した範囲では、Klipper は v0.11.0 で正式に対応したようです。Moonraker については、CHANGELOG などで対応時期を確認することはできませんでしたが、公式ドキュメントの Github のコミット履歴を見ると、2021年12月5日のコミットでこの機能に関する説明が追加されていますので、この頃に対応したものと思われます。

必要な設定

この機能を使うための Klipper、Moonraker およびスライサーの設定は次のとおりです。

Klipper の設定

printer.cfg[exclude_object] セクションを追加するだけです。

1# printer.cfg
2+ [exclude_object]

Moonraker の設定

moonraker.conf[file_manager] セクションに enable_object_processing: true を追加します。Moonraker のバージョンによっては、enable_object_processing: false という設定が最初から存在しているかもしれません。その場合、falsetrue に変えればOKです。

1# moonraker.conf
2[file_manager]
3- enable_object_processing: false
4+ enable_object_processing: true

Mainsail や Fluidd の設定

Klipper と Moonraker を設定すれば Mainsail や Fluidd の設定は不要です。

スライサーの設定

PrusaSlicer の場合、「プリント設定 → 出力オプション → オブジェクトにラベルを付ける」と選択して、ドロップダウンメニューから「OctoPrint のコメント」を選択すればOKです。

PrusaSlicerの設定

SuperSlicerの場合、「プリント設定 → 出力オプション」と選択して、「オブジェクトにラベルを付ける」というチェックボックスにチェックを付ければOKです。

SuperSlicerの設定

それから、印刷したい stl ファイルをプレートに並べてスライスし、G-code をプリンタに送信します。スライスは普段どおり行なえばOKです。

スライス画面

この機能の使い方

必要な設定が完了していれば、Mainsail や Fluidd の印刷状況を示すボックスにキャンセルするためのボタンが追加されているはずです(印刷前の時点では表示されていません)。ちなみに、この画面は Fluidd の場合のものです。

個別キャンセルのボタン

印刷が始まって印刷を中止したいパーツが出てきましたら、上記のキャンセルボタンをクリックします。

すると、現在印刷しているパーツのリストが表示されますので、印刷を中止したいパーツの右側にあるストップボタンをクリックします。

印刷中のパーツリスト

すると、印刷を中止するか尋ねられますので、Yes をクリックします。

確認画面

これで、選択したパーツの印刷が中止されますので、あとは他のパーツの印刷が終わるのを待つだけです。

キャンセル後の画面

実際の印刷の様子

この機能を使って3つのパーツのうち1つのパーツの印刷を中止した時の印刷の様子を撮影しましたので、参考までに掲載します。