3MFから積層まで見える3Dプリント風レンダリングを作る|Bambu Studio × Blender

MakerChipのサイコヘッドと「3MFから積層までレンダリング」。Bambu Studio × Blenderのチュートリアル
  • URLをコピーしました!

他の言語で読む

MakerChip を作ったら、おしゃれなレンダリングが欲しくなったことはないですか? ありますよね?

今日はそんな同志の方に向けたレンダリング記事です。

今回は Bambu Studio と Blender で、3MF の配色と印刷線を生かした画像を作っていきます。せっかくなら、側面の積層や天面にフィラメントを敷き詰めた線まで見せたいところです。前半は標準機能でレンダリング。最後に専用アドオンを使い、接写で気になる印刷線の末端と、壁の曲がり角まで丸く仕上げます。どちらもマウスとキーボードの画面操作で進めていきます。

G-code から印刷線を作り、末端と壁の曲がり角を丸く仕上げたサイコヘッド
完成例:G-code から印刷線を作り、末端と壁の曲がり角を丸く仕上げたサイコヘッド

今回使うのは、自作のサイコヘッドを白・シアン・黒で表現した、直径 40 mm・厚さ 3 mm の MakerChip です。P3D JRRF2026 MC.3mf には、このチップが 43 枚並んでいます。今回はそのうち 1 枚を取り出し、0.2 mm ノズル・0.1 mm 積層の細かな印刷線が見える画像を作ります。MakerChip作ってる人は大体条件決めした大量配置のものしかないと思うので実際のケースに合わせて作業していきます。

使用環境は Windows、Bambu Studio 2.8.2.61、Blender 5.2.1。Bambu Studio は日本語 UI も使うため、主要な項目には英語名を併記します。Blender は英語 UI を前提にします。これから用意する方は、Blender 公式ダウンロードページから入手できます。

冒頭の完成例は、スライスした G-code から印刷線の形を作り、開いた線の末端と壁の曲がり角に丸みを加えたものです。まず 手順 1〜10 で標準ツールパス OBJ のレンダーを作り、手順 11 で同じスライス結果を使って仕上げます。0.2mmノズル計算なのでちょっとシャープに思えるかもしれません。

基礎編の流れは 3MF → スライス → ツールパス OBJ → Blender → PNG。末端と曲がり角を仕上げる段階では、同じスライス結果を G-code → 専用アドオン → Blender へ渡します。まず基礎編のポイントになるのが、Bambu Studio の Export toolpaths as OBJ という機能。通常の OBJ 書き出しが元モデルの表面を渡すのに対し、この機能はスライスした印刷経路を立体として渡します。Bambu Studio 公式メニュー定義

目次

1. 43 枚のプロジェクトから、1 枚を取り出す

まずは元データのコピーから始めます。エクスプローラーで作業フォルダを作り、その中に sourcetoolpathrender の 3 フォルダを用意します。元の P3D JRRF2026 MC.3mfsource へコピーしてください。(もちろんこれは私の例なので自分の3mfを使ってくださいね!)

Bambu Studio の File → Open Project…/ファイル → プロジェクトを開く から、そのコピーを開きます。モデルのみを読み込むか、プロジェクトとして開くか聞かれたら、プロジェクトを開く方を選びます。今回は形状だけでなく、保存されたフィラメントの割り当てと部品の印刷条件も使います。

Prepare/準備で、Plate 1 に白とシアンのチップが多数並ぶことを確認します。元ファイルのチップは 43 枚。左側のプリンターは Bambu Lab H2C 0.2 nozzle、プロセスは 0.10mm Standard @BBL H2C 0.2 nozzle です。

43 枚のサイコヘッドと H2C の 0.2 mm ノズル設定を確認する
図 1:43 枚のサイコヘッドと H2C の 0.2 mm ノズル設定を確認する

今回は 1 枚を主役にしたいので、次の操作でチップを取り出していきます。ショートカットを押すときは、文字の入力欄ではなく、チップが見えている 3D 表示領域を操作対象にしてください。

  1. プレート左下のチップをクリックします。今回選んだのは アセンブリ 46 です。オブジェクト一覧でも確認し、チップ全体の親アセンブリを選びます。
  2. Ctrl + C でコピーします。
  3. Ctrl + A でプレートの全オブジェクトを選択し、Delete で削除します。
  4. Ctrl + V で、コピーしたチップを貼り付けます。プレート上に 1 枚だけあることを確認します。
  5. チップを右クリックし、Center/センターを選んでプレート中央に置きます。
  6. Ctrl + Shift + S、または File → Save Project As… で、sourcePsychohead_render.3mf として別名保存します。

原本へ上書きする前に別名保存まで進めてください。くれぐれもご注意。コピーする単位は、ロゴの小さな部品ではなくチップ全体です。

2. 設定を確認し、全層をスライスする

スライスの前に、保存されている条件を見ておきましょう。プリンターとプロセスは選び直さず、まず Layer height/積層ピッチの欄も開いて確認します。プリセット名だけで判断しないのがポイントです。多分大丈夫だと思いますけど。

確認する項目 このチップの値
Printer Bambu Lab H2C 0.2 nozzle
ノズル径 0.2 mm
通常の積層ピッチ 0.1 mm
初層の積層ピッチ 0.1 mm
プレート Textured PEI Plate
使用する色 白 #FFFFFF、シアン #00B1B7、黒 #000000
スライス後の高さと層数 3 mm・30 層

左のフィラメント一覧にはグレー #545454 も登録されていますが、このチップの部品に使うのは上表の 3 色です。未使用の登録色を、ロゴの色へ割り当て直す必要はありません。

ちなみに、今回のチップは、データ上ではロゴや背景などの複数のパーツに分かれています。そのうち、ロゴの背景になる白いパーツだけ、インフィル50%・Gyroid、壁2、上面0層にしています。全体の設定(100%・Zig-zag、壁4、上面7層)とは別に、このパーツだけ印刷設定を変えているわけです。

完成画像の白い背景には、細かな穴が見えますよね。白いパーツの上面を0層にしているので、内部のGyroid(ジャイロイド)インフィルがそのまま表に出ています。準備画面では平坦な白い形に見えても、スライスするとこの模様が現れます。全体の上面厚さは0.8 mmですが、この白いパーツでは上面0層の設定が優先されます。Bambu Studio 公式:上面シェルを生成する条件

手元の3MFでも、複数のパーツに分かれている場合は、オブジェクト一覧を展開してパーツごとの印刷設定を確認しておきましょう。ここでの数値は今回のサイコヘッドの例です。今回の1枚化でも、チップ全体をコピーすることで、このパーツごとの設定を引き継いでいます。

右上の Slice plate/スライスを押します。完了後は高さ 3.00 mm、最上層 30 を確認してください。通常層も初層も 0.1 mm のため、厚さ 3 mm で 30 層になります。

スライスが終わったら Preview/プレビュー で、色分けメニューを Filament/フィラメント にします。Line Type/種類 は外壁、インフィルなどの機能を色で区別する表示です。完成品の配色を渡すため、ここではフィラメント色を選びます。

右の縦スライダーを最下層から最上層までの範囲へ戻し、横の経路スライダーも最後まで進めます。必要な全色を表示し、造形途中のプレビューになっていないことを確認してください。表示範囲や表示色は書き出す形状にも反映されます。Bambu Studio の表示種別ツールパスの書き出し実装

Bambu Studio のプレビューでフィラメント色と全層を確認する
図 2:Bambu Studio のプレビューでフィラメント色と全層を確認する

サイコヘッドの輪郭や色境界、細い模様に欠けがないかを見ておきます。タワーやプライム線などチップ以外の形も見えますが、ここではまとめて書き出し、Blender で画像に不要な部分を取り除きます。

今回の原本は Bambu Studio 2.6 で保存されていました。2.8 での別名保存後も、形状、3 色の部品割り当て、0.2 mm ノズル、0.1 mm 積層、部品の印刷上書きは確認できています。一方、アプリ更新に伴って機械の開始・終了 G-code などは更新されています。この記事で再現するのは、上表の条件で新しくスライスしたレンダー用の印刷経路です。

3. 印刷経路を OBJ で書き出す

プレビューの読み込みが終わったら、File → Export → Export toolpaths as OBJ… を選びます。保存先は toolpath、ファイル名は Psychohead_toolpath.obj にします。日本語 UI でも、この項目は英語で表示されます。

Export toolpaths as OBJ を選ぶ Bambu Studio のメニュー
図 3:Export toolpaths as OBJ を選ぶ Bambu Studio のメニュー

今回の書き出しでは、Psychohead_toolpath.objPsychohead_toolpath.mtltool_colors.png の 3 ファイルができました。OBJ は 328,516,107 bytes(約 328.5 MB)です。OBJ が立体形状、MTL が材質情報、PNG が色のパレットです。細い印刷線を立体として含むため、元の 3MF より大きくなります。

ここ、ちょっと重要です。この 3 ファイルは同じフォルダのまま扱います。 OBJ だけを移すと、色を読み込めなくなる原因になります。別のモデルを書き出すときは専用のフォルダを作ってください。同じ名前の tool_colors.png が上書きされると、先に出したモデルの配色まで変わってしまいます。

描画方式によっては、PNG を使わず色別の MTL 材質として出る場合もあります。この記事の実例ではパレット画像を使うため、Blender でも 1 つの材質から複数色を表示します。Bambu Studio 公式の色パレット出力

4. Blender に単位と向きを合わせて読み込む

Blender で File → New → General を開きます。3D ビューポートにマウスを置いて AXDelete と操作し、初期の立方体、カメラ、ライトを削除します。Blender のショートカットは、マウスが乗っている領域に対して働きます。以降も、対象の領域を確認してから押してください。

右端のプロパティ領域で Scene Properties → Units を開き、Unit System=Metric、Unit Scale=1.0、Length=Millimeters にします。これは mm で数値を見やすくする設定です。モデルの縮尺は、次の読み込み設定で合わせます。

File → Import → Wavefront (.obj) から Psychohead_toolpath.obj を選び、右の読み込みオプションを次のようにします。

項目 入力値
Scale 0.001
Forward Axis Y
Up Axis Z

Scale=0.001 は mm の数値を Blender の通常の m スケールへ変換します。Y / Z は元の XY 平面と、印刷方向の Z 上向きを保つ指定です。Import Wavefront OBJ を押して読み込みます。Blender 公式:OBJ の単位・軸・材質読み込み

Blender の OBJ 読み込みオプションで Scale と軸を指定する
図 4:Blender の OBJ 読み込みオプションで Scale と軸を指定する

今回のデータは 1 オブジェクトとして入り、対応する MTL と画像も自動で読み込まれます。見失ったら、選択した状態で 3D ビューポートの View → Frame Selected、またはテンキーの . で全体を表示します。通常キーの . とは別なので注意してください。

タワーも含むため、この時点で全体の寸法が 40 mm より大きくても正常です。厚み方向が Z になっていることを確認します。

5. チップ以外を削除する

ここからはチップだけを残していきます。今回は離れたタワーやプライム領域も同じオブジェクトに入っているので、X-Ray/透過表示を使いましょう。見た目の表面だけでなく、奥にある頂点もまとめて選べます。

  1. 読み込んだオブジェクトを選び、TabEdit Mode に入ります。
  2. キーボード上段の 1 で頂点選択にします。
  3. テンキー 7、または View → Viewpoint → Top で真上から見ます。
  4. ビューポート右上の X-Ray アイコン(重なった四角)を押して透過表示を有効にし、Select → None で選択を解除します。
  5. B で矩形選択を始め、チップ 1 枚の全体だけを、余裕を持って囲みます。
  6. Ctrl + I で選択を反転します。チップ以外が選択されたことを確認して、X → Vertices で削除します。
  7. 同じ X-Ray アイコンを押して透過表示を戻し、TabObject Mode に戻ります。
真上からチップを矩形で選び、反転して不要な領域を削除する
図 5:真上からチップを矩形で選び、反転して不要な領域を削除する

X-Ray のショートカットは Alt + Z ですが、NVIDIA のオーバーレイなどと重なる場合があります。そのときは画面のアイコンで操作します。選択矩形の位置は、自分のプレート上の配置に合わせてください。チップ外周に接したブリムまである場合は、外周を削らないよう範囲を見直します。誤ってチップが欠けたら Ctrl + Z で戻れます。

チップを選んで F2 を押し、名前を MakerChip にします。この例では結合操作は不要です。別の入力で色の部品が複数オブジェクトになった場合だけ、チップを構成するものをすべて選び、Object Mode で Ctrl + J により結合してから進みます。

6. 原点を中心へ移し、床に接地させる

チップを選択し、Object → Apply → Rotation & Scale を実行します。次に Object → Set Origin → Origin to Geometry を選び、直後に F9 で操作パネルを開きます。Center は Bounds Center、つまり外形の範囲から求めた中心にします。

頂点の平均ではなく外形の中心にすると、厚みの半分だけ持ち上げて底面を床に合わせられます。

F9 の操作パネルで、原点の Center を Bounds Center に設定する
図 6:F9 の操作パネルで、原点の Center を Bounds Center に設定する

Alt + G で Location を 0 にし、N → ItemDimensions を確認します。チップ以外を削除した今回の実測値は、X/Y/Z が 39.997995 × 39.999008 × 3.000000 mm です。画面の表示桁数によっては丸めて表示されます。ツールパスの外形は線幅などにより元モデルと少し違うため、公称 40 mm に無理に拡大する必要はありません。

同じ Item パネルで Location Z に 1.5 mm を入力します。X と Y は 0 mm のままです。外形中心を厚さの半分だけ持ち上げるので、底面が Z=0 に来ます。別のモデルの場合は、その Dimensions Z の半分を入力してください。

このサイコヘッドは、後で置くカメラに対して Rotation X/Y/Z をすべて のままにします。追加の Z 回転は不要です。

7. 配色を保ったまま、樹脂らしい素材にする

ビューポート右上の球アイコンから Material Preview を選びます。Z キーのメニューからも選択できます。

上部の Shading ワークスペースへ切り替え、チップを選びます。下の Shader Editor にある material_1 を確認してください。ノードが画面外なら、マウスを Shader Editor に置き View → Frame All で全体を表示します。

この例では Image Texture → Principled BSDF の Base Color が自動で接続されています。画像の配色を使う線なので、そのまま残します。画像の接続を外して単色へ置き換えると、多色の表現が失われます。

ここで Image Texture の Extension を Repeat から Extend に変更します。今回のパレットは横一列に色が並び、画像の端にある白も使われています。Repeat のまま補間すると、右端のグレーと左端の白が混ざり、白い部分がグレー寄りに見える場合があります。Extend にして端の色をそのまま使います。Interpolation は Linear、Color Space は sRGB を保ちます。

変更したら、白・シアン・黒に相当する濃色の 3 色がスライサーの配色に対応しているか確認します。白い背景、シアンのロゴ、濃色の基体が区別でき、細部にも色が引き継がれていることを確認してください。

この標準書き出しでは、元 3MF の黒 #000000 はパレット内で #333333 になりました。標準版はこの色を使い、最後の丸端版も比較しやすいよう同じ表示色に合わせます。白 #FFFFFF とシアン #00B1B7 は元の値が保たれています。

Principled BSDF の値だけを、次のように変更します。Specular の項目はノード内の見出しを開くと現れます。

項目
Metallic 0
Roughness 0.45
IOR 1.46
Specular → IOR Level 0.20
Image Texture の Color Space / Interpolation sRGB / Linear のまま
Image Texture の Extension Extend
元のパレット画像への接続を保ち、樹脂用の材質値を入力する
図 7:元のパレット画像への接続を保ち、樹脂用の材質値を入力する

Roughness は反射の広がりを変える値です。つやの好みが出るところなので、0.4〜0.6 程度で比較してみましょう。これらは画像づくりの開始値で、特定の PLA の実測値ではありません。Blender 公式:Principled BSDF

積層は既に立体形状になっています。最初から Noise や Bump を追加せず、印刷線そのものと照明だけで見え方を確認しましょう。

8. 白い床とカメラを置く

形と色が整ったら、床とカメラを置いていきます。Layout に戻り、Shift + S → Cursor to World Origin で、これから追加する物の基準位置を原点へ戻します。

Shift + A → Mesh → Plane で床を追加し、F2Floor と命名します。N → ItemDimensions X、Y をそれぞれ 200 mm にします。Location は X/Y/Z とも 0、Rotation も 0 のままです。

床を選択したまま、右の Material Properties(球のアイコン)→ New で新しい素材を作ります。Surface の Principled BSDF で Base Color の色チップをクリックし、色選択画面の Hex に F0F0F0 を入力します。残りも表の値に合わせてください。

床の材質
Base Color #F0F0F0
Roughness 0.75
Specular → IOR Level 0.10
Emission → Color 白(#FFFFFF)
Emission → Strength 3.0

Emission は床を明るい撮影背景として見せるために使います。Material Properties で項目を探しにくいときは、Shading の Principled BSDF 内で SpecularEmission を展開して入力しても同じです。

次に Shift + A → Camera。追加したカメラを選び、N → Item → Transform の Location と Rotation へ下表の数値を入力します。位置は 40 mm のように単位付きで入力できます。Rotation は度です。位置だけでなく回転も合わせると、チップ中央を向きます。

カメラの設定
Location X / Y / Z 40 / −75 / 65 mm
Rotation X / Y / Z 53.238 / 0 / 28.072°
Type Perspective
Focal Length 70 mm
Sensor Width 36 mm
Clip Start / End 1 / 2000 mm
Depth of Field 無効

焦点距離と Clip は右の Camera Data Properties(カメラのアイコン)→ Lens、Sensor Width は Camera のパネルで設定します。小さな製品を接写するので、Clip Start も忘れず 1 mm にしてください。

テンキー 0、または View → Cameras → Active Camera でカメラの表示へ切り替えます。輪郭が全部収まり、ロゴが読める向きになっているか確認します。

カメラの位置と向きを入力し、天面と積層が見える構図にする
図 8:カメラの位置と向きを入力し、天面と積層が見える構図にする

9. 3 つの面光源と背景光を設定する

Shift + A → Light → Area で面光源を追加します。F2Key と命名し、カメラと同じように N → Item で位置と回転を入力します。右の Light Data Properties(電球のアイコン)では、Power、Shape、Size を指定します。

同じ操作で RimFill も作ります。Key は主な光、Rim は後方から輪郭を見せる光、Fill は影の暗さを調整する光です。

Area Light Location X / Y / Z Rotation X / Y / Z Power Size
Key −45 / −45 / 75 mm 40.887 / 0 / −45° 0.070 W 60 mm
Rim 40 / 40 / 55 mm 46.597 / 0 / 135° 0.024 W 40 mm
Fill 40 / −55 / 90 mm 37.540 / 0 / 36.027° 0.014 W 70 mm

3 灯とも Color=白、Shape=Square、Normalize=有効、Spread=180° にします。Light Data Properties の見出しを展開し、Normalize のチェックを確認してください。Normalize を無効にすると、同じ Power でも光源の面積によって明るさが変わります。Blender 公式:Light Objects

表を見ると、W の数値がかなり小さいですよね。これは、40 mm の製品のすぐ近くへ光を置いているためです。大きなシーン用の数百 W を入れると、線が白く飛びやすくなります。

次に World Properties(地球のアイコン)→ Surface を開きます。Background の Color を白、Strength を 0.03 にします。ここは床の材質とは別の、空間全体を照らす設定です。

Render Properties(レンダー設定のアイコン)Render Engine=Cycles、Device=CPU を選びます。同じタブの Color Management を開き、View Transform=AgX、Look=Medium High Contrast、Exposure=0 にします。

ビューポートを Rendered に切り替えると、用意した光で確認できます。Material Preview の照明は確認用の環境光なので、最終的な明るさは Rendered または実レンダーを基準にします。天面の線が消えるほど明るければ、まず入力した W 数、単位、Normalize の状態を確認してください。

10. 画像をレンダリングし、編集データも保存する

ここまで来たら、画像として書き出していきます。Render Properties の Sampling → RenderMax Samples=64、Denoise=有効 にします。Film → Transparent は無効にし、白い床と背景を画像へ含めます。

右の Output Properties → FormatResolution X=1920、Y=1280、割合=100% にします。標準版と丸端版に共通する、3:2 の横長画像です。表示を試す段階では割合を 50% にすると軽くなりますが、最後は 100% に戻してください。

F12、または Render → Render Image でレンダリングを開始します。この記事の標準版と丸端版は、どちらも CPU・64 samples で作成しました。処理時間はパソコンによって変わるので、画面下部などの進捗表示を見ながら待ちます。

基礎編の途中結果:標準ツールパス OBJ から作ったチップのレンダリング
図 9:基礎編の途中結果:標準ツールパス OBJ から作ったチップのレンダリング

Render Result が出たら拡大し、ロゴの欠け、天面の走査線、側面の積層、色境界、床との接地を確認します。特に外周の一部がカメラの端で切れていないかを見てください。

完成したら Render Result の Image → Save As… を開きます。保存先を render、ファイル名を Psychohead_Native_Tutorial.png にし、File Format=PNG、Color=RGB、Color Depth=8 を選んで保存します。画面に出たところで満足しがちですが、まだ PNG ファイルは保存されていません。ここまで忘れずに。

レンダーウィンドウを閉じるか F11 で元の画面へ戻り、File → External Data → Pack Resources を選びます。最後に File → Save As… で、renderPsychohead_Native_Tutorial.blend を保存します。これで色パレット画像も編集データに含まれ、別の場所へ移したときも配色を再現しやすくなります。

11. 印刷線の末端と曲がり角を丸く仕上げる

ここまででも積層は見えるのですが、ぐっと寄ると線の末端や壁の曲がり角が角張っています。ここも、もう少しフィラメントっぽくしたいですよね。

この仕上げには、追加アドオン Bambu Filament Path を使います。G-code から印刷線の位置・幅・層高・色を読み、押し出されたフィラメントを、丸みのある断面で立体化します。開いた経路の末端には扁平なドームを、外壁・内壁の曲がり角には丸い接合部を加えます。標準のツールパス OBJ をそのまま加工するのとは別の工程です。

線の末端と、つながった経路の曲がり角は別の場所です。末端だけを丸めても、曲がり角の尖りは残ります。今回はその両方を仕上げます。線の通り道を近道するように曲げ直すのではなく、元の経路に沿って印刷線の外形を作ります。

今回の OBJ 全体へ Bevel をかける方法も試しましたが、線の本体の寸法や色分けまで変わってしまいました。そこで、この工程は専用の処理にしています。アドオンの中でコードは動きますが、操作はファイルの選択と設定画面で行います。Blender に同梱された Python を使うため、別の Python をインストールしたり、コードを貼り付けたりする必要はありません。

同じスライス結果を G-code で書き出す

Bambu Studio へ戻り、手順 2 でスライスした 1 枚のチップを開きます。スライス結果を閉じてしまった場合は、保存した Psychohead_render.3mf をプロジェクトとして開き、同じ条件でスライスしてください。

プレビューで全 30 層・高さ 3.00 mm を確認し、File → Export → Export G-code…/ファイル → エクスポート → G-codeをエクスポート… を選びます。toolpath フォルダへ Psychohead.gcode として保存します。ここで使うのは、先ほどの OBJ とは別の G-code ファイルです。

同じ 1 枚のスライス結果を G-code で書き出す
図 10:同じ 1 枚のスライス結果を G-code で書き出す

アドオンをインストールする

まず、Bambu Filament Path 1.1.2 のアドオン ZIP を保存します。この ZIP は、ここからの処理に使う追加機能です。

Blender の Edit → Preferences → Add-ons を開き、右上のメニューから Install from Disk を選びます。保存した Bambu_Filament_Path-1.1.2.zip を展開せずに選択し、Enable on Install を ON にしてインストールします。一覧の Bambu Filament Path が有効になっていることを確認してください。見つからない場合は、検索欄へ Bambu Filament Path と入力します。Blender 公式:アドオンのインストール

Add-ons のメニューから Install from Disk を選ぶ
図 11:Add-ons のメニューから Install from Disk を選ぶ

すでに旧版を入れている場合は、作業中の .blend を保存してから新版の ZIP をインストールしてください。更新後は Blender をいったん終了して開き直し、Preferences → Add-ons → Bambu Filament Path でバージョンを確認します。旧版で作ったメッシュは自動では変わらないので、同じ G-code をあらためて読み込みます。

仕上げモデルを同じシーンへ読み込む

基礎編で保存した Psychohead_Native_Tutorial.blend を開き、Object Mode にします。File → Import → Bambu G-code — Filament Path (.gcode) を選び、先ほどの Psychohead.gcode を指定してください。読み込み設定は次の 4 項目です。

項目 今回の設定
Object Label 空欄。ファイル内の 1 オブジェクトを自動選択
Center XY / Ground Z ON
Match Native Black ON
Round Wall Corners ON

Round Wall Corners が、外壁・内壁の曲がり角を丸くする設定です。今回は ON にします。右側の説明欄で、高精細の断面と末端を使うことも確認してください。

G-code の読み込みで、配置・黒の表示色・壁の曲がり角の丸みを設定する
図 12:G-code の読み込みで、配置・黒の表示色・壁の曲がり角の丸みを設定する

Import Filament Path を押すと、MakerChip_Rounded が追加されます。細かな形状を作るため、生成中はしばらく応答を待ちます。この記事の完成例は 42,255,840 頂点(約 4,226 万頂点)のモデルです。この例では生成中に約 30 GB のメモリを使用しました。チップは 1 枚で進め、他の重いアプリは閉じておくと作業しやすくなります。生成中に何度も読み込みを押さず、完了を待ってください。線幅と層高は G-code から取得するので、ここで 0.22 mm や 0.1 mm を手入力する必要はありません。

追加されたモデルは XY の中央、底面 Z=0 に配置され、単位も mm から Blender の m に換算済みです。Location は X/Y/Z とも 0、Scale は 1 のままで使います。標準版と原点の取り方が異なるので、ここでは手順 6 の Z=1.5 mm への移動は繰り返しません。追加で 0.001 倍にする操作も不要です。

N → Item → Dimensions で、元のチップに合う大きさになっているか確認します。完成例の仕上げモデルは約 39.99897 × 40.00073 × 3.00000 mm。標準 OBJ とは断面や曲がり角の表現が異なるため、X と Y の外接寸法が完全に同じになるとは限りません。公称 40 mm ぴったりに合わせるための拡縮は不要です。

色ごとのマテリアルも作成されます。Match Native Black を ON にすると、G-code の黒 #000000 は比較用に標準 OBJ と同じ #333333 で表示します。白とシアンは元の色です。未使用のグレーが材質一覧に残っていても、チップに使われるのは 3 色のままです。

樹脂の設定は、Metallic=0、Roughness=0.45、IOR=1.46、Specular IOR Level=0.20。手順 7 と同じ値が入ります。こちらは面ごとのマテリアルで色分けするため、標準 OBJ で行った Image Texture の Extend 設定は不要です。

標準版を非表示にして、仕上げをレンダリングする

Outliner で元の MakerChip(標準 OBJ 側) の目とカメラのアイコンを OFF にし、表示とレンダーから外します。カメラの列が見えなければ、Outliner 右上のフィルターを開き、カメラの表示制限を有効にしてください。旧モデルを選び、Object Properties → Visibility → Show In の Renders が OFF になっていることを確認しても OK です。目のアイコンはビューポート表示だけの切り替えです。目を閉じるだけで終わらず、標準 OBJ 側のカメラアイコンも OFF になったことを確認してください。 新しい MakerChip_Rounded は表示とレンダーを有効にしておきます。両方が重なっていると、端の形や反射を正しく比較できません。

仕上げ版を追加し、標準 OBJ 側の Renders が OFF であることを確認する
図 13:仕上げ版を追加し、標準 OBJ 側の Renders が OFF であることを確認する

床・カメラ・ライトはそのまま使います。F12、または Render → Render Image でレンダリングしてください。

外周の壁が折れ曲がるところを拡大すると、外側へ尖っていた角が、印刷線の幅に沿って丸くつながります。Round Wall Corners が処理するのは外壁・内壁です。白い Gyroid など、すべてのインフィルの角を同じ処理で丸めるわけではありません。

外周のシアンを接写すると、各層の壁が角を丸くつないでいることが分かる
図 14:外周のシアンを接写すると、各層の壁が角を丸くつないでいることが分かる

線の末端は、平たい断面の印刷線につながる楕円ドームです。幅 0.22 mm の部分なら、端の外側へ 0.11 mm 伸びる形になります。線幅にはスライス結果の値を使い、すべてを 0.2 mm にそろえるわけではありません。0.2 mm はノズル径、0.1 mm は通常の積層ピッチです。

同じ経路の処理前後を比べる

下の 2 枚は、同じ G-code から作った印刷線を、同じカメラ・照明で接写した比較です。左から伸びる印刷線の末端を見ると、平らな切断面から、少し外へ伸びる丸い形へ変わっているのが分かります。周囲の壁や隣の線もそのままです。壁の曲がり角は両方とも丸く仕上げ、重複面の整理も同じ条件にしています。ここでは、開いた末端に丸みを加える前後だけを比べています。

同じ印刷線の丸端処理前。上面の印刷線に平らな端面が見える
図 15:同じ印刷線の丸端処理前。上面の印刷線に平らな端面が見える
丸端処理後。層の厚みを保った扁平なドームで末端が丸くなる
図 16:丸端処理後。層の厚みを保った扁平なドームで末端が丸くなる

ここでの「処理前」は、アドオンが作った印刷線の本体に、まだ末端の丸みを加えていない状態です。Bambu Studio の標準 OBJ との比較ではありません。丸みだけの違いを見ています。壁に重なって隠れる端もあるので、完成品の全体図より、このくらい寄ったほうが分かりやすいですね。

接写に合わせて、形状の分割も細かくする

ここ、ちょっと重要です。保存する画像を大きくしても、元の形が粗ければ輪郭は角張ったままです。今回は画像サイズとは別に、印刷線の断面、末端のドーム、壁の曲がり角の曲面を細かく分割しています。接写でも丸みが見えやすくなる分、読み込みやレンダーには時間とメモリを使います。

印刷線の基本断面は 26 点、幅が層高以下になる細い部分は 24 点、末端のドームの中間リングは 11 段です。壁の角の円弧は、円を 64 分割した場合と同等以上の細かさで作ります。角ごとに常に 64 枚の面を置くという意味ではなく、曲がりの角度に応じて必要な範囲を作ります。輪郭の形を保つために、接合部全体を残す箇所もあります。

途中のメッシュ分割にはドームを追加せず、閉じた経路は閉じたまま扱います。元の折れ線を減らす簡略化は行わず、G-code の円弧は誤差 0.001 mm 以下の短い線分に変換します。

また、同じ色・同じ高さ・同じ向きの平らな上面や底面が重なる部分は、重複する面だけを整理します。この重複面の整理では、元の頂点を動かしたり、面を少し持ち上げたりはしません。読み込み時に自動で行います。

この仕上げは G-code の経路から作った見た目の近似で、溶けた樹脂の流動や押しつぶされ方を計算するシミュレーションではありません。各印刷線を別々の形状として表現しており、重なる部分すべてを樹脂のように融合させてはいません。断面・末端・壁の曲がり角が標準 OBJ とは異なるため、積層の見え方も変わります。白い Gyroid の露出は元のスライス設定を引き継ぎます。

Render Result の Image → Save As… から、renderPsychohead_Rounded_Tutorial.png として保存します。手順 10 と同じ PNG・RGB・8 bit です。Blender 本体へ戻ったら File → Save As…Psychohead_Rounded_Tutorial.blend を保存してください。標準版と丸端版を別名で残しておけば、同じ構図で仕上がりを比較できます。

今回使った「Bambu Filament Path」は自作アドオンです。GitHub で公開したので、よければ使ってみてください。

こういう地味に欲しいツールをちまちま作っているので、役に立ったら GitHub Sponsors で応援してもらえると嬉しいです。スポンサー募集中です。

12. 0.4 mm ノズルの QIDI 版でも試してみる

ちなみに、ここまで読んで「0.2 mm ノズル専用なの?」と思った方。0.4 mm でも試してみました。使うのは、同じく自作の P3D MakerChip の QIDI 版です。

こちらは QIDI Q2・0.4 mm ノズル・通常の積層ピッチ 0.2 mm のデータ。QIDI Studio 2.7.2.60 で作成した G-code を、Bambu Filament Path 1.1.2 で実際に読み込み、Blender でレンダリングしました。厚さ 3 mm で 15 層です。前半のサイコヘッドは 0.1 mm 積層で 30 層なので、側面の積層も見比べやすいですね。

QIDI Q2 の 0.4 mm ノズル用 G-code からレンダリングした、紫・緑・グレーの P3D MakerChip のロゴ面
図 17:0.4 mm ノズル・0.2 mm 積層の QIDI 版。こちらも印刷経路から作っています

0.4 mm 用の別アドオンは必要?

ここは同じアドオンで OKです。印刷線の幅と層高は G-code に記録された値から読み取るので、ノズル径に合わせて別の ZIP を入れたり、すべての線を 0.4 mm に設定し直したりする必要はありません。ノズル径と、実際に敷かれる線の幅は別物です。

使い方も手順 11 と同じで、QIDI Studio でスライスして書き出した .gcode を、Blender の File → Import → Bambu G-code — Filament Path (.gcode) から読み込みます。メニュー名には Bambu と入っていますが、今回の QIDI Studio のデータでも、線幅・層高・配色を読み込めました。初めて試すときは、前半と同じくチップ 1 枚のプロジェクトにして進めると分かりやすいです。

ロゴ面と QR 面、両方から見てみる

このチップは、ロゴ側をベッドに向けて印刷する構成です。図 17 は、読み込んだチップ全体をひっくり返し、そのロゴ面を上に向けて撮っています。印刷時に上を向いているのは、次の QR コード側。表裏で印刷線の見え方が違うところも面白いです。

QIDI 版 P3D MakerChip の QR コード面。印刷時に上を向く面と側面の積層が見える
図 18:反対側の QR コード面。こちらが印刷時の上面です
0.4 mm ノズル用の印刷経路を接写した P3D MakerChip。丸い線端と 0.2 mm ピッチの積層
図 19:ぐっと寄ったところ。線の末端や曲がり角、側面の積層まで見えます

今回、裏返して確認したことで、底面の重なった面が黒い斑点に見える問題も見つかりました。そこで v1.1.2 では、上面だけでなく底面の重複面も整理するように修正しています。上の 3 枚は修正後の実レンダーです。旧版を使っている方は、v1.1.2 のリリースページから更新し、Blender を再起動して G-code を読み込み直してください。

この記事を読んでも手間に感じる人は…Astraにこの記事とモデルを投げつけて作業させるというのも手です!このレンダリング作業はすべてAstraがBlenderでやってくれました。もはや自分で覚えるよりどの角度でどう見せたいかという監督をするほうが大事そうです。自分が覚えようとする間にAIが日進月歩するので諦めました。あとはトークンが安くなれば…。

うまくいかないときの確認先

症状 確認すること
Export toolpaths as OBJ が選べない Preview を開き、スライスと読み込みを完了する。
Blender で積層が見えない 通常のモデル OBJ ではなく、toolpaths の項目で書き出したか。
色が外壁・インフィル別になっている 書き出し前の色分けを Filament にする。
灰色一色、またはピンク色になる Material Preview を確認。OBJ・同名 MTL・PNG をそろえ、画像への接続を確認する。
別のチップの配色になった tool_colors.png を上書きしていないか。モデル別フォルダへ再出力する。
標準 OBJ の白い背景がグレー寄りに見える Image Texture の Extension が Repeat なら Extend に変更する。
白い背景に細かな穴が見える その部分の上面の層数とインフィル設定を確認する。今回の白い背景は上面0層・Gyroid 50%で、内部のインフィルが表に出ている。
チップが巨大、または極端に小さい Import Scale と Dimensions を確認。40 mm が 40 m なら 1000 倍の単位違い。
途中の層や上面の一部しかない 縦の全層と横の経路終端を表示して再出力する。
削除後にロゴや裏面が欠けた Ctrl+Z で戻し、X-Ray を有効にしてチップ全体を囲み直す。
白く飛ぶ、または真っ暗 ライトの位置の mm、Power、Normalize、World、Color Management を確認する。
接写で線端が角張っている 手順 11 の MakerChip_Rounded を表示し、標準版 MakerChip は表示とレンダーから外す。Shade Smooth だけでは端の形は丸くならない。
丸端版に黒い斑点や二重の線が見える まず標準 OBJ 側のカメラアイコンが OFF か確認する。目を閉じただけだと標準版もレンダーされ、重なりが原因になることがある。底面に斑点が残る場合は、底面の重複面も整理する v1.1.2 以降へ更新し、Blender を再起動して G-code を読み込み直す。
壁の曲がり角が尖ったまま Round Wall Corners を ON にして読み込んだか確認する。旧版で作ったメッシュなら、新版へ更新・Blender を再起動して G-code を読み込み直す。
Filament Path の読み込みメニューが出ない Add-ons で Bambu Filament Path が有効か確認する。更新直後なら、作業を保存して Blender を再起動する。
丸端版で Multiple objects と表示される 1 枚化したプロジェクトの G-code を選ぶ。複数オブジェクトのファイルでは Object Label の指定が必要。
丸端版が床から浮く、または小さすぎる Center XY / Ground Z を ON にして読み込む。追加の Z 移動や 0.001 倍を行っていたら戻す。

Psych0h3adをもっと見る

購読すると最新の投稿がメールで送信されます。

MakerChipのサイコヘッドと「3MFから積層までレンダリング」。Bambu Studio × Blenderのチュートリアル

この記事が気に入ったら
フォローしてね!

シェアしてくださると嬉しいです!!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次