3Dプリンタの Object Cancellation (Klipper + Mainsail)
プリント中に一部のオブジェクトだけ反って浮いてきてしまった場合やベッドから外れてしまった場合などに、該当するオブジェクトだけスキップして他のを完成させることができる。
スライサ・ユーザインターフェイス・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が追加される。
関連エントリー
- 3Dプリンタでステンシルプレート 子どものゼッケンに名前を書くみたいなクエストが度々発生します。これまではクリアファイルをカッターで切ってステンシルプレートを自作していました...
- ABS 3Dプリントの条件 ノズル 245℃ ベッド 100℃ エンクロージャ (40~50℃) この条件でも場合によっては反って剥れてくる。厚みがでるにつれて (25...
- 3D プリンタの extrusion multiplier のもとめかた またの名をエクストルーダーのキャリブレーション方法 10x10x5mm のソリッドモデルをSTLとして保存。大きさはあまり重要ではないが小さ...
- HTML5 の svg 要素 を canvas に描く方法 こうする async function loadAsImage(svg) { return new Promise((resolve, re...
- GitHub Pull Request Builder Plugin 使っている環境で手元ではテストが通るのに Jenkins では通らない場合 GitHub Pull Request Builder Plugin の PR ブランチビルドの挙動は以下のような状態で実行する マージ可能...
