3D プリンターを狙った高さでピッタリ一時停止する方法.

3D プリンターで印刷しているモノの中に何かを仕込んだりするときには、途中で印刷を一時停止する必要があります.私が使っているAnycubic i3 Megaは、機能的な特徴の一つとして、液晶表示部を操作することで印刷中の任意のタイミングで一時停止コマンドを発行することができますが、Gコードで動いているモノはだいたいがコマンドの先読みをしているので、一時停止コマンドを発行したそのタイミングでは停止しません.一時停止コマンドが発行されてからどの時点で停止するかは、コマンドの先読み具合とか、実行中のコマンドの長さ(物理的な印刷にかかる時間や距離)とか、いろいろな要素に関係するので正確にはわからず、止まれるところまで動いて止まる的な動作になります.正確な位置で止めるためには、スライスソフトが吐き出したGコードの中に一時停止コマンドを書き込んでやればいいんですけど、そんなもん絶対にプラグインとかで出来るようになってるだろうと思って調べてみたら、やっぱり出来るようになってました.

私が使っているスライスソフトは標準で付いてきた「Cura」なんですけど、けっこうわかりにくいところにあります.
スクリーンショット 2019-01-19 22.17.59.jpg
メニューの「拡張子→Post Processing→G-codeを修正」を選びます.


スクリーンショット 2019-01-19 22.36.32.jpg
そうすると、「プラグイン処理後」というウインドウが開きます.その中の「スクリプトを加える→Pause at height for repetier」というのを選びます.


スクリーンショット 2019-01-19 22.36.33.jpg
こんなふうに、いろいろな設定が出来ます.

Pause heightというのが、止めるべき高さの設定値です.見ていると、この高さになった瞬間に止まります.この高さで印刷されるべきモノを印刷する前に止まりますので、いろいろやって一時停止を解除したあとで、この高さの印刷が始まります.仕込んだものにフタをするのであれば、そのフタを印刷開始する高さを指定します.

Park print head X/Yというのは、止まったときにホットエンドやビルドプレートをどの位置まで移動させるかを指定するモノです.印刷時の位置をキープとかは出来ないみたいですね.

Head move Zで、止まったときにホットエンドをZ軸方向のどの位置まで移動するか指定します.この移動が一番時間がかかるので、ちょっとしたモノを仕込むだけなら、この移動を大きめに指定してやれば、その時間で仕込みが出来ます.

この一時停止ですけど、液晶表示部の操作による一時停止と連動しているようで、何もしないと一時停止に関わる動作をした後に、すぐに一時停止解除の動作をして印刷に復帰します.ですから、手の込んだ仕込みをする時間はありません.時間が必要であれば、一時停止動作に入った時点で、液晶表示部を操作して、そちらでも一時停止をかけます.そうすると、かってに印刷に復帰しなくなります.仕込みがおわった時点で液晶表示部から一時停止を解除すれば、自動的に元の位置から印刷を再開します.

もちろん、停止中は樹脂がダダ漏れになりますので、復帰直後の印刷が樹脂不足になることもありますし、樹脂を引っ張ったまま元の位置に復帰しますから糸も引きます.その高さで最初に印刷する部分に復帰するので、外壁ではなくてインフィルを最初に印刷するように設定しておくと綺麗につながるんじゃないかと思います.

この設定をしたあとで、いつもと同じようにスライスソフトを実行すれば、一時停止コマンドを含んだGコードファイルを吐き出してくれます.3Dプリンターに張り付いて液晶表示で高さをにらみながら手作業で一時停止をかけるより、だいぶん楽が出来るようになりました.