自分で3Dプリンタの性能をチェックしてみよう!
FreeCADの使い方もCuraの使い方も解説してきましたので、これらのソフトを使って、Ender-3の能力を確認していきましょう。
3Dプリンタに興味がある人が一番知りたいことは、どれだけ綺麗にプリントできるかってことだと思います。
3Dプリンタの造形物の綺麗さと言えば、まずは「積層ピッチ」が挙げられます。
つまり、どれくらいの太さの線でプリントしていくかということです。
ちなみにCuraでは「レイヤーの高さ」と記載されています。
今回はこの「レイヤーの高さ(積層ピッチ)」でプリントの質がどんな風に変わるのか見ていきたいと思います。
「レイヤーの高さ」確認用データの作成
まずは「レイヤーの高さ」確認用データを作っていきます。
あまり簡単すぎてもつまらないですし、難しいと時間がかかるので、単純だけど、ちょっと変わった形を作ってみましょう。
最終的にはこんな形です。
ちなみに四角形、円形を組み合わせているので、それぞれの壁面の綺麗さを、また斜め面でスロープの綺麗さを確認できます。
では作っていきましょう!
まずはFreeCADを起動し、新規作成、スケッチをXY平面で作成します。
適当に四角形を描きます。
縦横の長さをそれぞれ「20 mm」に拘束します。
次に四角形の縦軸の中心をX軸に拘束します。
四角形の右側の辺を原点から「5 mm」に拘束します。
「閉じる」をクリックし、スケッチを抜けます。
「パッド」もしくは「選択されたスケッチを押し出し」をクリックします。
そして長さを「20 mm」に設定後、「OK」をクリックし、20 mm x 20 mmの箱にします。
XY平面にスケッチを作成します。
適当に円を描きます。
円の半径を「10 mm」に拘束します。
円の中心のX軸方向を「10 mm」、Y軸方向を「0 mm」と拘束します。
「閉じる」をクリックして、スケッチを抜けます。
「パッド」もしくは「選択されたスケッチを押し出し」をクリックします。
高さを「20 mm」とし、「OK」をクリックします。
次は視点を変えて、横から見てみます。
今度は、XZ平面にスケッチを作成します。
線を3本組み合わせ、四角形側に下がっている直角三角形を描きます。
この際、それぞれの点は重ね合わせの拘束をします。
線を描く際、他の線の点上にマウスオーバーし、色が変わったところでクリックすると重ね合わせ拘束されます。
もしくは、重ね合わせをしたい点をクリックし、赤い点をクリックしてください。
四角形側の下の点の位置を「X軸側を15 mm、Y軸側を0 mm」に拘束します。
丸側の点の位置を「X軸側を20 mm、Y軸側を20 mm」に拘束します。
「閉じる」をクリックし、スケッチを抜けます。
「ポケット」もしくは「選択されたスケッチでポケットを作成」をクリック。
長さを「20 mm」、「面に対して対称」にチェックを入れ、「OK」をクリック。
上の図は横から見た図、下の図は上から見た図になります。
斜め上から見る際は、下のボタンをクリックしてください。
斜めから見るとこんな形になり、最初に紹介した形になりました。
ファイルの保存とstlファイルへのエクスポート
デザインが完了したので、データを保存しましょう。
「ファイル」から「名前を付けて保存」をクリック。
保存したいフォルダを開き、適当に名前を付けて「Save」。
私は名前を「test_parts」としました。
ついでにstlファイルへの出力をします。
デザインをクリックし、選択します。
「ファイル」から「エクスポート」をクリック。
保存したいフォルダへ移動し、ファイル形式が「STL Mesh(*.stl *.ast)」担っていることを確認し、ファイル名を入力したのち、「Save」をクリック。
これでstlファイルへの出力は完了です。
私が作成したstlファイルをこちらに置いておきますので、必要な方はダウンロードしてください。
Ultimaker Curaにデータ読み込み
ここからUltimaker Curaを使って、スライスしていきます。
あまり細い設定をして、プリントの質がCuraの設定由来なのか、Ender-3の性能由来なのか分からなくなるのも嫌なので、今回は「推奨」設定から選んでいきます。
まずはUltimaker Curaを起動。
画面に前回作成した「stlファイル」をドラッグ&ドロップして読み込みます。
読み込んだら、右上のプリント設定を開きます。
もしカスタム設定になっていたら、「推奨」をクリックして、推奨設定のウインドウにします。
これからプリント条件を設定し、時間やフィラメントの重量を確認していきます。
スライス条件設定と予想時間を確認
「レイヤーの高さ」としては、0.06 mm、0.1 mm、0.15 mm、0.2 mm、0.3 mm、0.4 mm、0.6 mmの7種類があります。
全部プリントするのも大変なので、0.06 mm、0.15 mm、0.3 mm、0.6 mmの4種類をプリントして見ましょう。
ちなみに私はいつもは0.15 mmくらいのレイヤー高さを使っています。
インフィルは固定で「20%」、サポートは今回はオーバーハングがないためいりません。
密着性もとりあえずは無しでいいでしょう。
0.06 mmの設定例はこんな感じです。
設定できたら、右下の「スライス」をクリック。
0.06 mmの設定では1時間27分かかり、フィラメントは3 g、1.12 m使い、コストは¥6.67円だそうです。
今回はフィラメントの値段も設定してありますので、本当にこのくらいのコストでプリントできてしまうということです。
これで「ファイルに保存する」で保存してください。
次は0.15 mm。
さらに0.3 mm。
最後に0.6 mm。
ではプリントしてみましょう!
実際にプリントしてみた!
実際にプリントした結果はこんな感じです。
レイヤー高さは一番左が0.6 mm、0.3 mm、0.15 mm、0.06 mmです。
一つ一つ見ていきましょう。
まずは0.6 mmです。
残念ながら、話にならないレベルの汚さです。
ノズルが0.4 mmなので、0.6 mmを打ち出すのは、構造的に無理ということなのでしょう。
これだけ荒いと、構造としても脆く、押しつぶすとつぶれてしまいます。
ちなみに表面はこんな感じです。
かなりスカスカで、ワイヤーフレームっぽくなってしまっています。
次に0.3 mmです。
0.3 mmだとだいたいデザインした通りの形がプリントできています。
ぱっと見なら問題がないように思えますが、表面を見てみましょう。
一本一本積層の線が見えます。
実際に触ってみるとだいぶザラザラであることが分かります。
試しにラフにプリントしたい時であればいいかもしれませんが、最終の造形物としてはまだまだ質が足りません。
ここら辺から時間と質の兼ね合いになってくるようですね。
次は0.15 mmです。
0.15 mmも全体的にデザイン通りにプリントできています。
全体を見回してみても、穴が空いているようなところはありません。
表面を見てみましょう。
フィラメント跡がカメラでは見えなくなってきています。
顕微鏡的なものを持っていないので、これが限界です。
目で見ると積層痕はありますが、触ってみると確かに凹凸はあるものの、結構サラサラした手触りになってきました。
これくらいからが趣味レベルでの最終の造形物としてのクオリティになってきます。
最後に最高精度0.06 mmです。
もちろん全体的な造形精度としては問題ありません。
こちらも穴が空いているような箇所はなく、全体がしっかりプリントされています。
0.15 mmでも表面の凸凹は写せなかったので、もちろん0.06 mmも真っ白に写っています。
目で見て積層痕が見えないかと言われると、見えるのですが、やはり0.15 mmよりは見えなくなっています。
手触りもツルツルした手触りに変わっており、さすが最高精度と言える差があります。
ただ問題は時間で、0.15 mmが27分で出力できるのに対し、0.06 mmでは87分になっています。
よほど時間があり、精度を求めるときは0.06 mmです。
しかし普段使いのものをプリントするなら、時間と質のバランスが取れている0.15 mmが良いというのが今回の実験の結論です。
おまけ
せっかく「レイヤーの高さ」と「プリント時間」、「フィラメントの長さ」などデータが得られたので、Pythonのmaplotlibでグラフ化してみました。
0.1 mm、0.2 mm、0.4 mmはプリントしませんでしたら、データだけ取得しました。
「レイヤーの高さ」と「プリント時間」の関係性はこんな感じ。
横軸が「レイヤーの高さ」、縦軸が「プリント時間」です。
0.15 mmあたりまで大幅に減少し、そこからは緩やかに減少していきます。
こちらは「レイヤーの高さ」と「使用するフィラメント長さ」のグラフです。
全体的にだいたい1 m程度使い、レイヤー高さが大きくなるほど、少ないフィラメント量で造形できるようです。
今回のように小さな造形物でも10 cm程度異なるということで、フィラメントを節約したい方は、少し大きめのレイヤー高さを選ぶのがいいのかもしれません。
ちなみにこのグラフを出力するための、Pythonプログラムはこちら。
かなり簡易的に書いています。
「レイヤー高さ」と「プリント時間」のグラフ。
pitchがレイヤー高さ、timeがプリント時間としています。
from matplotlib import pyplot as plt
%matplotlib notebook
pitch = [0.06, 0.1, 0.15, 0.2, 0.3, 0.4, 0.6]
time = [87, 49, 27, 25, 17, 13, 8]
fig = plt.figure()
plt.clf()
plt.plot(pitch, time)
plt.title("Pitch vs Time", fontsize = 15)
plt.xlabel("Pitch(mm)", fontsize=15)
plt.ylabel("Time(min)", fontsize=15)
plt.tick_params(labelsize=15)
こちらが「レイヤー高さ」と「使用するフィラメント長さ」のグラフ。
pitchがレイヤー高さ、filament_lengthがフィラメントの長さになっています。
from matplotlib import pyplot as plt
%matplotlib notebook
pitch = [0.06, 0.1, 0.15, 0.2, 0.3, 0.4, 0.6]
filament_length = [1.12, 1.11, 1.10, 1.09, 1.08, 1.03, 1.02]
fig = plt.figure()
plt.clf()
plt.plot(pitch, filament_length)
plt.title("Pitch vs filament length", fontsize = 15)
plt.xlabel("Pitch(mm)", fontsize=15)
plt.ylabel("filament lenght(m)", fontsize=15)
plt.tick_params(labelsize=15)
次回はオーバーハング角度に関して実験を行なってみます。
ということで今回はこんな感じで。
コメント