Ultimaker Cura 適応レイヤー使用時の問題点に遭遇・・・回避策

3Dプリンター

プリント設定の「実験」カテゴリにある [適応レイヤーの使用(Use Adaptive Layers)] のチェックをONにして可変レイヤー高さで印刷した時にちょっとした印刷ミスと想定外のスライス結果に遭遇しましたので、自分への備忘録を兼ねて回避方法について触れておきます。


最初にお断りをしておきます。今回の投稿は、AnycubicのMega-s という3Dプリンターを選択した場合に発生した事象をもとに具体的な数値等を記載しています。他のプリンターは違う結果になると思います。実際に複数のプリンターを読み込んで、検証(Cura上で)してみましたが、発生すらしないプリンターや、似たような現象が現れても数値は違っているプリンターがありました。このあたりを踏まえた上で、ご自身のプリンターはどうなのかの参考にしていただければと思います。


問題のあったモデル形状と印刷ミスの状況

印刷ミスの内容はサポートルーフ最上面の直上のレイヤーの定着ミスです。図1のような段付き形状を通常のサポート(図2)で支持するものですが、モデル上部に緩やかな傾斜の形状があるので、適応レイヤーで可変レイヤー高さの印刷設定としていました。

図1:サポート非表示でのモデル全体
図2:サポートの状況

印刷ミスの状況は図3のような感じです。円を描くべきラインが内側に引っ張られるように直線で定着しています。

図3:印刷失敗の状況

このときの印刷条件は図4のようなものでした。関係ある項目のみ表示させています。
レイヤー高さを0.05mm~0.20mmまでの可変([レイヤー高さ]の0.125mmを基準として、[適応レイヤー最大差分]の0.075mmだけプラスマイナス両方向に可変)にしています。

図4:印刷失敗時のプリント設定

印刷ミスに気づいて、こうやって設定を見直せば納得の問題点が見えてくるのですが、ごく普通のサポートなので、印刷に失敗するまで気がつきませんでした。
問題点は、[サポートZ距離] です。間隔が広すぎます。いろいろ条件を変えて試してみた結果、[レイヤー高さ] が1.6mm未満の時に、[レイヤー高さ] の2倍が [サポートZ距離] の標準値となるようです。適応レイヤーの有効無効は関係ありませんでした。


[サポートZ距離] って?

ここで、本題から少し離れますが、[サポートZ距離] と [レイヤー高さ] の関係についておさらいをしておきます。ひとまず、適応レイヤーは無効で考えます。
[サポートZ距離] とは、サポートの最上面とその直上のレイヤー間の隙間で、事実上の設定値は [レイヤー高さ] の整数倍となります。

図5:レイヤー高さが0.16mm以上の場合、[サポートZ距離] のデフォルトは、[レイヤー高さ] と同じ。

整数倍以外の数値も設定できますが、実際の隙間はレイヤー高さの整数倍となります。例えば、[レイヤー高さ] が0.2mmの時に [サポートZ距離] を0.1mmにしても隙間は0.2mmで印刷されます。もっと細かく言えば、[サポートZ距離] が0.001(図6)~0.2mm(図7)であれば印刷結果は全く同じであり、1層分の厚さは0.2mmのままで、[サポートZ距離] につられて可変することはありません。

図6:[サポートZ距離] :0.001mm
微少な数字でも1層分(0.2mm)の隙間ができあがります。
ちなみに、0mmにすると隙間がなくなりますので、サポートを剥がすことが困難になります。
図7:[サポートZ距離] :0.2mm
[レイヤー高さ]までなら1層分の隙間で印刷されます。

[サポートZ距離] が [レイヤー高さ] を超えると2層分の隙間ができます。

図8:[サポートZ距離] :0.201mm
[レイヤー高さ]を僅かでも超えると2層分の0.4mmの隙間で印刷されます。

回避策

これらを踏まえて、話を元に戻します。先ほども話しましたように、適応レイヤーが有効であっても無効であっても、[レイヤー高さ] が0.16mm未満の場合、[サポートZ距離]には [レイヤー高さ] の2倍の値が設定されます。
ここで適応レイヤーを有効(例えば今回のように0.05~0.2mm、図4の条件)にしたとします。この条件で印刷した時に、レイヤー高さが0.2mmで印刷される層のサポートと直上のモデルとの隙間はいくらになるか想像できますでしょうか?結果は2層分の0.4mmです。これが今回の印刷失敗の原因です。隙間が広すぎます。
では、これを1層分の0.2mmとするには [サポートZ距離] をいくらに設定すれば良いのか?ちょっと悩んでしまいませんか。
1層の厚さである0.2mmを超えなければOK? 残念ながら2層分の0.4mmになるようです。

図9:[サポートZ距離] :0.2mm
2層分にあたる0.4mmの隙間ができます。

答えは [レイヤー高さ] の値である0.125以下です。

図10:[サポートZ距離] :0.125mm
1層分の隙間になりました。0.126mm以上を設定すると2層分の隙間となります。

もう一つの想定外のスライス結果

図1のモデルを印刷するときにもう一つの問題点にも遭遇しました。印刷ミスとかといったものではないのですが、予想できなかった事象ですので、記録しておきます。

想定外だったのは、トップスキン、ボトムスキンの厚さです。図11は、[レイヤー高さ] が0.2mmの時のもので、図12は、[レイヤー高さ] が0.125mmの時のものです。スキンの厚さが1mmちょっとになるように、[レイヤー高さ] に応じてスキンの層数が変化しているのが分かります。

図11:デフォルトのレイヤー高さとスキンの厚さ
スキンの層数が6で、厚さで表すと1.2mm。
図12:[レイヤー高さ] 0.125mmの時のスキンの厚さ
スキンの層数が11で、厚さで表すと1.325mm。

0.125mmの時の層数と厚さの計算が微妙に合わないのは謎ですが、まぁ良しとしましょう。
適応レイヤーを有効にしても、図13のようにスキンの層数に変化はありません。

図13:適応レイヤーを有効にした場合。

一見、問題なさそうですが、今回遭遇したのはスキン部分のレイヤー高さが0.2mmに可変された場合でも11層分印刷されるという事象です。まぁ言われてみれば当たり前かもしれませんが、今まで気づいていませんでした。やたらに丈夫なスキンが印刷されることになりますし、もし面積が広かったら相当な時間が費やされます。
これらの対応策は、ボトムスキンとトップスキンあたりのレイヤー高さを確認して、望みの厚さになるよう [上部レイヤー]、[底面レイヤー]、[初期底面レイヤー] に適切な値を入力する他ないと思います。


あとがき

今回の印刷失敗で私が学習したことは、次の三つです。

  • [レイヤー高さ] が0.16mm未満では、[サポートZ距離] のデフォルトが [レイヤー高さ] の2倍になる。
  • 適応レイヤーが有効な場合の [サポートZ距離] の値は、実際のレイヤーの厚さではなく、[レイヤー高さ] 基準で考える。
  • 適応レイヤーが有効な場合のスキンのレイヤー数は、実際のレイヤーの厚さで計算されるのではなく、[レイヤー高さ] で計算される。

同じ失敗を繰り返さないよう頭の片隅に入れておきたいと思います。

コメント

スポンサーリンク