【Cura実用編】プラグインで穴や柱の構造物の出力具合をいい感じに条件だしする方法
※ 当ページには【広告/PR】を含む場合があります。
2021/05/13

可能な限り高解像度の3次元印刷を実現するためには、手元の3dプリンターの個体特性や使用環境で最適な条件を探す必要があります。
この記事にたどり着く方は、新しい3dプリンターを購入したてで組み立てた直後であったり、始めて利用するフィラメント材料やメーカーなどであったりと、印刷条件の条件だしを一からスタートしなければならない場面が結構あるとおもいます。
3dプリンターの印刷をするにあたって、自分でベストな条件を見つけるのはとても骨の折れる作業であり、トライアンドエラーを繰り返しながら絞りこんでいくのが正攻法ですが、
印刷条件出し用Curaエクステンション・ChangeAtZ
Curaでのエクステンションの追加方法は以下の図のようになります。

トップのメニューバーから
[Extensions] > [Post Processing] > [Modify G-Code]
そこで
[Add a script]
ChangeAtZ
ChangeAtZのオプション
このプラグインを開くと、オプションのおしながきが英語で並んでおります。

ChangeAtZの主なオプションをざっとおさらいしますと、
+ Enabled:
チェックするとこの拡張条件が印刷中に反映される。
(⇔チェックを外すと何も起こらない)
+ Trigger:
Height(高さ)かLayer No.(レイヤー数)以上で、
この拡張条件が発動(トリガー)
+ Change Height/Change Layer
トリガーされる条件。
先程指定したTrigger値のどちらかで指定
(※例: 高さ10mm以上で特定の拡張条件に切り替え)
+ Apply to:
Target Layer + Subsequent(切り替えターゲット層とそれ以降の層)か、
Taget Layer Only(ターゲット層だけ)が選択できる。
+ Output to Display:
液晶画面に変更を表示させる(※プリンター機種に依存)
+ Change Speed:
プリントとトラベルの両方の速度を変化させる。
単位は%で指定。
複数の条件を多段で利用する場合、1つ前に指定した速度に対しての割合が適用される。
+ Change Print Speed:
プリント速度のみを変更させる。
単位は%で指定。
こちらは複数の拡張条件を与えてもオリジナルの速度に対しての割合で換算される。
+ Change Flow Rate:
マテリアル吐出量を変化させる。
単位は%で指定。
オリジナルの吐出量に対する割合で指定する。
+ Change Flow Rate 1/2:
(※プリンター機種に依存)
2つ以上のエクストルーダがある機種では個別に指定できる。
+ Change Bed Temp:
ベッド温度を指定。
+ Change Extruder 1 Temp:
プリント温度を変更する。
+ Change Extruder 2 Temp:
(※プリンター機種に依存)
2つ目のプリントヘッドがある場合にプリント温度変更に利用できる。
+ Change Fan Speed:
冷却ファンの回転数を変更する。
単位は%でファン出力を割合を指定。
+ Change Retraction:
プリント中のフィラメントの引き戻しを設定する。
- Retract Style:
Linear(線形引戻)とFirmware(機種に依存)から選択
- Change Retract Feed Rate:
引き戻し速度を変更する。
単位はmm/s。
- Change Retract Length:
引き戻し量を変更する。
単位はmm。
以上が印刷に変更できる拡張条件になります。
利用例
まずは目的の構造をうまく印刷できる条件を探せるような校正モデルを自前で用意する必要があります。

こちらは個人的に作った小さい穴や円柱状を細かく出力してみた際のモデルを例としてChangeAtZ利用手順を説明していきます。 (ちょっとこのモデルはコテコテしているので、個人でやられる場合には、もっと簡素なモデルで試したほうがよいと思います。)
ChangeAtZは高さ方向で印刷条件を変更する仕組みですので、試したい/印刷具合を確認したい構造物を、上に重ねる形で積み上げていくことになります。
ちなみにこのモデルは高さ10mmのユニット構造が、上方向に5段重ねにしております。
ということで今回のモデルでいうと、異なった条件を5つ同時に試したい、ということを念頭にこのプラグインを仕込んでみます。
まずは以下のようにChangeAtZスクリプトを4枚噛まします。

最初の段は、デフォルトの印刷条件が適用されるので、スクリプトは4つで済みます。
さて、プラグインのスクリプトは複数条件追加できて、リストの上位にあるスクリプトほど優先的に適用されていきます。 このリスト順が印刷方向順で適用されるため、仮にスクリプトの順番がめちゃくちゃになっている場合には異常で止まってしまうかも知れませんので注意が必要です。
今回は簡単に、PLAフィラメントで
220℃ > 215℃ > 210℃ > 205℃ > 200℃

ユニットごとの高さは10mmと分かっているのでこれをトリガ高さとして利用しました。 トリガとなる高さかレイヤ番号はあらかじめ把握しておく必要があります。
これであとはスライス後にgcodeエクスポートすると普通の印刷作業を同じように利用できます。
実際にこれを立ち上げたばかりのEnder3 Proで印刷してみたのが以下の図です。

本番出力さながらのサポート付けなかったので、オーバーハング角90度の橋の下面はモジャモジャが生えております。 まぁ試験印刷なのでそこはご容赦いただきまして、プリント温度220℃の場合では印刷物の表面がただれ、(今回はリトラクト無しですが)糸引き量も多めです。 それが200℃になると、糸引きも収まり、表面のツルツル度も増してきたように見えます。
なので、このプリンターとフィラメントの組み合わせなら、200℃の方がより好ましい結果になりそう、というのが1回のプリントで分かりました。
まとめ
今回はCureのプラグイン(試験的)のChangeAtZを使って印刷条件出しを楽に行うための手順を説明しました。
ChangeAtZを使えば、よぼど際どい印刷条件を攻める場合にも、これまで何度も何度も条件を変えながらトライアンドエラーを繰り返すことなしに、快適に条件だしが行えるので個人的には満足しています。