目次
対象バージョン:Blender v2.82a, Snapmaker Luban v3.9.0
3Dプリントの流れ
実際に3Dプリンタを使っていく前に、3Dプリントの流れを確認していきます。
ざっくりとした流れは下記の様になります。
自分で一から作る場合は、3Dモデリングツール、スライサーソフトが必要になります。
ここでは、下記を前提に話を進めます。
3Dモデリングツール | Blender |
スライサーソフト | Snapmaker Luban |
3Dプリンター | Snapmaker |
①3Dモデルの作成
何はともあれ、3Dデータがないと始まりません。
3Dモデリングツール
Blenderなどの3Dモデリングソフトを使って、3Dプリントしたい3Dモデルを作成します。
3Dモデリング時の注意点
3Dプリンタ向けの3Dモデルを作成するにあたって注意する点は以下になると思います。
Face(面)の欠け
オブジェクトでFace(面)が欠けていると、スライサーソフトがオブジェクトとして認識してくれません。(というか、一部のFaceが欠けているような物は印刷不可能ですしね)
Nomal(法線)方向
Face(面)の法線方向も気を付けた方が良いです。一応印刷はしてくれそうですが、思った通りの印刷にならない可能性があります。
Material(色など)の設定は不要
世の中には色付きで印刷してくれる3Dプリンタもあるようですが、家庭用の3Dプリンタの多くは単色フィラメントなので、色やテクスチャデータは不要でしょう。
三角形Faceを前提に
Blenderでは多角形Faceを作成可能ですが、Faceの頂点数が4以上になると、頂点が同一平面上に存在しない場合があります。そのような面は実現できない(印刷できない)ので、Faceは三角形前提でモデリングしましょう。
※後述のSTLデータに出力した際に、強制的に三角形Face(ポリゴン)に変換されてしまいますが…。
オブジェクトの安定性
印刷中や印刷後に自立出来ないようなデータは印刷に失敗する可能性が高いです。
ヒートベッド(台座)の接触面
FDM方式の3Dプリンタでの造形物は、ヒートベッドの接着面の部分で固定され(接着され)、上部に向かって積層されていきます。接着面が明らかに小さかったりすると印刷中にヒートベッドから外れてしまい、印刷に失敗する事があります。
フィギュアの様なものの場合は、台座を含めて印刷する方が良いと思われます。
3Dモデリング時に注意しなくていい点
僕はつい最近まで、3Dプリンタ向けの3Dモデルは下記の様な事を意識して作らないといけないと思い込んでいましたが、そうではない様です。
後述のスライサーソフトが解決してくれます。(※もちろん、自分でモデリングしてもいいとは思いますが…^^;)
一つのメッシュデータにしなくても良い
例えば以下の様に、あるオブジェクトが他のオブジェクトにめり込んだような形になっていた場合、Modifier(Bool-Union)などで無理に一つのメッシュデータにする必要はなく、スライサーソフトが上手くやってくれるようです。(僕は「面の不整合が起きるから、一つにまとめなきゃいけないんだろうな、大変だな」と勝手に思い込んでいました…^^;)
インフィルデータ(内部データ)の作成
例えばCube(立方体)を印刷しようとした場合、内部全体を埋めてしまうと、フィラメントの消耗が激しく、また、生成物の重量も重くなります。
3Dプリンタの出力途中の映像で内部が格子状のデータになっている物をみて、「あぁ、なるほど、こういう3Dデータを作成すれば、軽くて丈夫になるんだ」と思ったものですが、これはスライサーソフトのインフィル設定で自動でやってくれるものでした…^^;
オーバーハング部のサポート
フィラメントを溶かして下から積み上げていくFDM方式(熱溶解積層方式)では、宙に浮かんだ部分は印刷が出来ません。
そのためそういった部分は3Dモデルとは別に、支える部分を作らないといけないのかと思っていたのですが、それも、スライサーソフトのサポート設定で自動で行ってくれるようです。(※どこまでできるのかはわかりませんが…)
また、前の記事の最後で印刷したサンプルデータの様に両端に支える部分があって、距離が十分近ければ(溶けたフィラメントが垂れ下がらなければ?)、サポートが無くても印刷できるようです。
Z軸位置
BlenderとかでZ軸で0より小さい位置で作成してしまうとどうなるのだろうと思っていましたが、それもスライサーソフトが勝手に補正してくれます。
同様に宙に浮いた様なデータを作成しても、Z軸位置は正しく補正してくれます。
STLデータのEXPORT
3Dプリンタで印刷するための3Dモデルが完成したら、STLデータでEXPORTします。
EXPORT時の注意点
データをEXPORTする際に注意しないといけないのが単位です。
STLデータ中の「1」という数値データは、Blenderでは1mと解釈しますが、Snapmaker Lubanでは1mm(=1/1000m)と解釈します。
1,000倍の違いがあるので、BlenderでEXPORTする際にScaleに「1000」を指定し1000倍しておくか、Snapmaker Lubanのスケール設定で1000倍にする必要があります。
STLデータが出来たらBlenderでの作業は終了です。
※とは言いいつつ、印刷がうまく行かなかった場合は、3Dモデルの作成からやり直さないといけない場合もありますが…^^;
(補足)STLデータの中身
STLデータをascii(アスキー)形式でEXPORTすれば、テキストエディタで中身が確認できます。
※下記は、インデントと空行を加えています。
solid Exported from Blender-2.82 (sub 7)
facet normal 1.000000 0.000000 0.000000
outer loop
vertex -0.010000 -0.010000 -0.010000
vertex -0.010000 0.010000 -0.010000
vertex -0.010000 0.010000 0.010000
endloop
endfacet
facet normal 1.000000 0.000000 0.000000
outer loop
vertex -0.010000 -0.010000 -0.010000
vertex -0.010000 0.010000 0.010000
vertex -0.010000 -0.010000 0.010000
endloop
endfacet
…
facet normal 0.000000 0.000000 -1.000000
outer loop
vertex 0.010000 0.010000 0.010000
vertex -0.010000 -0.010000 0.010000
vertex -0.010000 0.010000 0.010000
endloop
endfacet
endsolid Exported from Blender-2.82 (sub 7)
solid~endsolidでオブジェクト(物体)を指定、facet~endfacetでFace(面)と面法線ベクトル、outer loop ~endloopで頂点を囲み、vertexで頂点座標が指定されています。
頂点数は3個で一つになっているので、三角形ポリゴンであることが分かります。
②Gコードの作成
Gコード
3Dモデリングツールで作成したSTL形式の3Dデータのままでは、3Dプリントは出来ません。
3Dプリントを実行するには、ノズルの温度や位置、移動速度などを指定するための「Gコード」というものに変換しなければなりません。
スライサーソフト
STLデータからGコードを生成するソフトウェアを「スライサーソフト」(または「スライサー」)と呼びます。
以下では、Snapmaker専用ソフトである「Snapmaker Luban(v3.9.0)」でのGコード生成手順について記載します。
Snapmaker LubanでのGコード生成手順
STLデータの読み込み
Snapmaker Lubanを起動し、「3D印刷用Gコードジェネレータ」画面を表示し、「Add…」ボタンを押して、STLデータを指定します。
必要に応じて、Move(位置)、Scale(左図)、Rotate(回転)を変更します。
(フィラメント)マテリアル設定
3Dプリンタにセットしているフィラメントの種類に応じて、マテリアルを指定します。(PLAもしくはABS)
プリセットされている[PLA]と[ABS]の各項目は変更できませんが、変更したい場合は「+」ボタンを押して独自の設定を作成して変更します。
印刷設定
印刷設定は、印刷時間・印刷品質を考えて、おすすめの中の「ファストプリント」、「標準品質」、「高品質」から選択します。
ただ、おすすめ設定には問題があります。
どれを選んでも、オーバーハング部のサポートがオフになっているのです。
オーバーハング部のあるデータを印刷する場合は、おすすめ設定ではなく、カスタイマイズが必要となります。
印刷設定カスタマイズ
印刷設定をカスタマイズするには、初めにベースとなるおすすめ設定を選択した後「カスタマイズします」ボタンを押します。
すると下記の様な画面になりますが、ここでは、まだ、各項目をカスタマイズできません。「+」ボタンを押します。
「+」ボタンを押すと、下記の様な画面になり、カスタマイズが可能になります宇。
※以前にカスタマイズした設定は、プルダウンリストから選択する事で呼び出せます。(ファイルの入出力は他のバックアップとかPCとかへの移動用かな?)
オーバーハング部のサポートを有効にするには、[サポート]の[サポート開始]にチェックを入れます。
各も項目にマウスカーソルを充てると、説明が表示されるので、説明を確認しながらカスタマイズしていきます。(と言っても、初めてでは実際にどのようになるのかが分からないので、色々と試しながらカスタマイズしていくことになると思います)
Gコードの生成
マテリアル設定、印刷設定が終わったらGコードを生成します。
[Actions]の「Gコードを生成します」ボタンを押し、しばらく待つと、グレーだったオブジェクトがカラフルな画像になります。(内部でGコードが生成されました)
各色は、それぞれ、どういう印刷を行うかを示しています。
また、画像を拡大していくと、実際には線で描かれている事が分かります。これは、実際にフィラメントで積層されていく線を表しています。
それにしても、オーバーハング部のサポートは、かなりがっつり印刷されるような事になりそうです…^^;
Gコードのファイルへのエクスポート
Gコードが作成出来たら、「Gコードをファイルにエクスポートします」ボタンを押し、USBメモリに作成したGコードを保存します。
※「Gコードをワークスペースに読み込みます」はPCとSnapmakerをUSBケーブルで接続して、ワークスペース画面から印刷を実行するためのものです。ここでは割愛します。
③3Dプリンタでの印刷
印刷開始
Gコードを格納したUSBメモリをSnapmakerに挿入して、起動します。
[Files]メニューを選択し、出力したいGコードを選択し、「Confirm」ボタンお押して、印刷を開始します。
印刷終了
印刷が終了したら、印刷物(造形物)をヒートベッドから取り外します。(結構がっつり引っ付いている場合もあります)
仕上げ
ヒートベッドから取り外して終了というものもありますが、仕上げを行います。
サポート部分の除去
オーバーハング部のサポートが付いている場合は除去します。
ニッパー、ラジオペンチ、カッター、精密ドライバなどを使って取り除きました。
一応取り外しやすくはなっていますが、首回りのサポート部分の除去が大変でした。(どこから本体でどこからサポートなのかが分かりにくい…)
印刷不具合の補修
フィラメントがしっかりくっついていなかったり、バリの様なものが残っていたりする場合があります。そういう部分を補修します。
上手くくっついていない部分は、プラスチック用(模型用)接着剤などで補修できます。(まぁ、再印刷でもいいのですが、数時間かかりますし…)
バリ(不要なフィラメント)はカッターなどで削り取ります。
表面の仕上げ
印刷設定にもよりますが、溶かしたフィラメントの線を並べて面を作る性質上、どうしても平面部分はざらざらになります(ツルツルにはならない)。
まぁ、これを仕方なしとしてそのままにするか、やすりなどで仕上げるかは、印刷目的によるでしょう。
着色
印刷目的によっては着色が必要になるでしょう。
完成
必要に応じて仕上げを施して完成になります。
注意点
3Dプリントを実行するにあたっての注意点を下記に記載します。
ヒートベッドのレベリング(Calibration)
3Dプリンタ導入時、設定のリセット時、また、ファームウェアの更新時には忘れずに、また、しっかりとレベリング・キャリブレーションを実施する必要があります。
それをしていないと印刷に失敗して悲しい目にあいます。
レベリング非実施 レベリング不十分で途中で剥がれた
3Dプリンタは印刷が正常に進んでいるかを判定してくれません…。途中で印刷が失敗していても、Gコードに基づいて黙々と最後まで印刷を続けようとします。
印刷中もたまに確認
最初の内は上手く行っていても、途中から造形がおかしくなる場合があります。
印刷は長時間かかりますが、印刷が上手く進んでいるかをたまに確認する様にしましょう。
上手く行かなかった場合は、原因を考えて、再チャレンジします。
- レベリングの精度が悪い
- 3Dモデル自体に問題がある
経験値をあげる
モノづくりはやはり失敗はつきものです。
失敗すると当然がっかりしてしまいますが、なぜ失敗したのか、なぜうまく行かなかったのかを考え、次に活かして、経験値を上げていく事が必要でしょう。
また、3Dプリンタは設定によって品質を犠牲にして短時間で出力するか、長時間かけて品質よく印刷するかなどを変更できるので、どの設定であれば、どのくらいの品質で印刷できるかを知る事も大切でしょう。
また、何でも全てイメージ通りに印刷できるとは限らないので、プリンターの限界も理解しておく必要があるかも知れません。