>> Blog Top

BlenderでG-codeを使ってモデリングする

Publish 2021.09.05


3Dプリンターを使った制作では出力する際の方向を考慮して形状を決めていくことが多い。つまりモデリングの段階で積層痕の存在を意識する。
とはいえモデリングソフト上ではツルッとした見た目。スライサーのプレビューでも簡易的なレンダリングしかできないので、正直なところ最終的にどんな仕上がりになるかは出力してみないとわからない。
数kg数十kgという単位でフィラメントを毎日のように消費してると流石に前もってちゃんと確認した方がいいような気がしてくる。

というわけで、G-codeのパスを使ってモデリングしてできるだけ出力後のイメージを正確にレンダリングしてみる。

まず1番簡単な方法はPrusa Slicerを使う方法。
スライス後に「ファイル」>「エクスポート」>「ツールパスをOBJとしてエクスポート」というコマンドを使えばOBJが保存される。

後はBlenderに取り込んで、

適当にマテリアル作ってレンダリング。

思ったいたよりかなり実物に近い。PolymakerのPLAをイメージして作ってみた。誰か各社フィラメントのマテリアル作ってくれないかな。 Eeveeは優秀ね、レンダリング待ちの時間がないのは助かる。ただ、元データ(STL)よりもデータ容量がまぁまぁ大きくなるので注意。まぁ面が増えてるのでしょうがないが。

さて、このPrusa Slicerを使う方法にはいくつか問題がある。他のスライサーで作ったG-codeや、自分で生成したG-codeでもOBJを作ることはできるんだが、なんかパスがやたら細くなったり上手くいかないことがある。
そしてこれは正直そこまで問題ではないけど、断面の形状がかなり尖ってる。データを軽くするために仕方ないのだろうが、寄りでレンダリングすると結構見える。

というわけで続いては、G-codeをそのままBlenderでCurveとして扱えるアドオンを使ってモデル化する。
使うのはこちら。
Blender-Gcode-Import

使い方はこのgithubのwikiにも書いてあるが、G-codeをインポートして、
「Object」>「Convert」>「Curve from Mesh」でCurveを生成する。

後はCurveの設定にある「Geometry」>「Bebel」でDepthをいい感じになるように増やすとパスに沿ったチューブがモデリングされる。

複雑な形状のパスでもいい感じにモデル化。

寄りのレンダリングでも問題なし。

以前作ったラジオを全てモデル化してみた。色を自在に変えて確認できるのは大きなメリット。

まぁ正直、出力してみないとわからないことの方が多いのでレンダリングはあくまで気休めという感じだが、すでに出力が上手くいっているものについては色の検討とかでも有効だろうし、説明書やアニメーション作ったり、レンダリングじゃないと作れないビジュアルを作ったりなど応用の幅はありそうだ。


>> Blog Top