プリント中に一部のオブジェクトだけ反って浮いてきてしまった場合やベッドから外れてしまった場合などに、該当するオブジェクトだけスキップして他のを完成させることができる。

スライサ・ユーザインターフェイス・G-code 実行器でそれぞれやることがあり、協調しないと実現しないので、なかなか難しい機能といえる。

Mainsail のドキュメント https://docs.mainsail.xyz/features/exclude_objects に従えばほぼ良いが、事前処理についてはスライサで完結させたほうが良い。

スライサの設定

スライサ側の設定「オブジェクトに名前をつける」をオンにし、G-code の生成後に preprocess_cancellationを通すようにする。

preprocess_cancellation 自体は moonraker (mainsail のバックエンド) へ enable_object_processing を設定することでも同様のことができるが、この設定はかなり重いようなので手元で処理してしまったほうが良さそう。G-code からオブジェクトの領域を算出しているようで、ちゃんとした CPU の手元でやってももそこそこ遅い。

どうなるか

キャンセルボタンが拡張され、一部のオブジェクトだけキャンセルできるようなUIが追加される。

  1. トップ
  2. tech
  3. 3Dプリンタの Object Cancellation (Klipper + Mainsail)

原則として、オーバーヒートしない限りできるだけたくさん電流を流すほうが安定する (トルクが高い)。

手元の Voron 2.4 の ABZ のモーターは Ralted Current 2A となっている。

RMS電流の最大は 0.707 をかけて 1.414A、ただし TMC2209 の最大電流が1.2Aなのでそっちで最大がきまる。

デフォルトは0.8Aになっていた。Zモーターは外に出ていて4つで重量を分けあってるが、A/B モーターは庫内でかなり加熱するのでちょっとこわい。

TMC2209 のリミットにあてるのも恐いので、とりあえず 1.0A にすることにした。→ 長時間やったあとサーモカメラでA/Bモーターの温度を見たところ60℃いかないぐらいだったので 1.1A に増やした。→音がやたらうるさくなったと感じたので1.0Aに戻した

ステッピングモータの熱

スペック上130℃の絶縁階級(B種)となっている。これは絶対最大定格にあたるので内部がこれを超えることがあってはいけない。

だいたい目安としてはケースで100℃ぐらいまで。触れないレベルで熱いのは危険。

ref. https://docs.vorondesign.com/community/howto/120decibell/calculating_driver_current.html

  1. トップ
  2. tech
  3. 3Dプリンタのステッピングモーターの電流 (run_current)

デフォルトで設定されているメニュー を完全に無効化して設定しなおす方法

デフォルトのメニューは type: disabled にすると部分的に無効化できるが、順番を変えるのが index を指定したりでめんどうさい。

以下のように display セクションで menu_root を指定してやると、自分で好きなように定義できる。

[display]
menu_root: __main0

[menu __main0]
type: list
name: Main

...
  1. トップ
  2. tech
  3. Klipper のメニューを完全にカスタマイズする