search
  1. ソフト・サービス
  2. Blender
  3. Blenderのインポートとエクスポート
  4. BlenderのSTLの書き出し|3Dプリンターでの模型づくり

Blender

BlenderのSTLの書き出し|3Dプリンターでの模型づくり

編集部 読了 約11分

Blender(ブレンダー)で作ったモデルを3Dプリンターで模型にするときは、STL(エスティーエル)の形式で書き出します。STLには単位の情報が無く、Blenderの数値がそのまま書かれます。3Dプリンターのソフトは数値をmmとして読むことが多いので、「スケール」を1000にして、mmの数値で書き出します。書き出す前に、形に穴が無い(閉じている)かを3D Print Toolboxで調べます。

この記事の画面は、Blender 5.2 LTSです。形が閉じているかを調べる3D Print Toolboxは、Blenderに機能を足すエクステンションで、この記事の画面は1.4.1です。

STLは「ファイル」→「エクスポート」→「STL (.stl)」で書き出す

5.2の公式マニュアルによると、STLはCADのソフトとのやり取りに向き、3Dプリンターのソフトへの読み込みにもよく使われる形式です。書き出しは、「ファイル」→「エクスポート」→「STL (.stl)」から選びます。

「ファイル」→「エクスポート」のメニューの「STL (.stl)」
「ファイル」→「エクスポート」のメニュー。赤枠が「STL (.stl)」(Blender 5.2)

「STL (.stl)」を選ぶと、保存先を選ぶ画面(ファイルブラウザー)が開きます。画面の右には、書き出しの設定が「全般」と「ジオメトリ」に分かれて並んでいます。表の中のモディファイアーは、形を変える機能で、サブディビジョンサーフェスはその1つです。

STLの書き出しの設定(全般・ジオメトリ)
STLの書き出しの画面の右の設定(既定の値)。「モディファイアー…」と切れて表示されているのが「モディファイアーを適用」で、下の端が「プロパティ」(レンダー)
まとまり設定既定中身(公式マニュアル)
全般フォーマット:ASCIIオフオンでテキストの形式、オフでバイナリの形式で書き出す
全般バッチオフオブジェクトごとに別のSTLのファイルに書き出す
全般内容:選択物のみオフ選択したオブジェクトだけを書き出す
全般スケール1.000書き出すときに掛ける倍率(下の節)
全般シーンの単位オフシーンの単位の設定を当てはめる(下の節)
全般前方・上Y・Z軸の向きの変換。Blenderは前がY、上がZ
ジオメトリモディファイアーを適用オンモディファイアーを計算したあとの形で書き出す
ジオメトリプロパティレンダー作業中の表示(ビューポート)と最終のレンダーで設定が違うモディファイアーの、どちらの設定を使うか

建物の模型だけを書き出したいときは、模型のオブジェクトを選択し、「選択物のみ」をオンにします。オフのままでは、選択していないオブジェクトも書き出されます。

STLには単位が無く、Blenderの数値がそのまま書かれる

STLのファイルには、長さの単位の情報がありません。Wikipedia「STL (file format)」の説明は “STL files contain no scale information, and the units are arbitrary.” です。STLには縮尺の情報が無く、単位は決まっていない、という意味です。Blenderから書き出すと、Blenderの数値がそのままSTLに書かれます。

STLに書かれるのは、面の頂点の座標です。長さ2m(2m×1m×1m)の箱を、ほかは既定のまま「ASCII」をオンにして書き出すと、頂点の座標は-1と1で書かれ、長さは数値で2でした。受け取った3Dプリンターのソフトがこの数値をmmとして読むと、箱は2mmの大きさになります。

Blenderの2mの箱が、STLでは数値2になり、mmとして読まれると2mmになる流れと、スケール1000で2000mmになる流れの図
上はそのまま書き出して2mmとして読まれる場合、下は「スケール」を1000にして2000mm(実寸の2m)として読まれる場合(生成AIで作った図)

3Dプリンターのソフトはmmとして読むことが多いので「スケール」を1000にする

3D Print Toolboxの書き出しの設定「単位」の説明には、「ほとんどのスライサーはミリメートルを前提としています」とあります。スライサーは、STLを3Dプリンターが動く経路に切り分ける(スライスする)ソフトです。3D Print ToolboxがBlenderに同梱されていたBlender 4.1の公式マニュアルは、スライサーの例にCuraを挙げています。

Blenderの1m(1単位)をmmの数値で書き出すには、書き出しの画面の「スケール」を1000にします。長さ2mの箱は、「スケール」1000で頂点の座標が-1000と1000になり、長さは数値で2000になりました。

STLの書き出しの「スケール」を1000にした画面
STLの書き出しの画面の右の「全般」。「スケール」を1000.000にしている

Blenderで実寸(1m=1単位)で作った建物を1/100の模型にするときは、「スケール」を10(1000×1/100)にします。幅12mの建物は、「スケール」10で「120」(120mm)と書かれる計算です。受け取るスライサーで大きさを確かめてから印刷します。スライサーの画面は、編集部では試していません。

「シーンの単位」は単位の倍率を掛ける設定

Blenderのシーンには、単位の設定があります。プロパティの「シーン」の「単位」にある「単位系」(なし・メートル法・英単位系)と「単位の倍率」です。書き出しの画面の「シーンの単位」は、5.2の公式マニュアルによると、この「単位の倍率」を、書き出すデータに当てはめる設定です。

「単位の倍率」が初期値の1.0のままなら、「シーンの単位」をオンにしても数値は変わりません。「単位の倍率」を0.001にして「シーンの単位」をオンにすると、数値は1000倍ではなく0.001倍になりました。mmの数値で書き出したいときは、「スケール」を使います。

閉じた形状かは3D Print Toolboxで調べる

Blender 4.1の公式マニュアルによると、スライサーが正しく処理するには、形が「水も漏れない」ように、どこも閉じている必要があります。飛び出した辺や面も無いようにします。これを調べるのが、エクステンションの3D Print Toolboxです。

3D Print Toolboxは、「編集」→「プリファレンス…」→「エクステンションを入手」で探します。「3D Print Toolbox」の「インストール」をクリックすると入ります。同じ手順はBlenderのDXFの読み込み|アドオンのインストールと単位の倍率で画面つきで解説しています。インストールすると、3Dビューポートのサイドバー(Nキーで開く)に「3D Print」のタブが加わります。

サイドバーの「3D Print」タブの「解析」のパネルは、「統計」「チェック」「結果」に分かれています。チェックするのはアクティブなオブジェクト(最後に選んだオブジェクト)だけで、複数を選んでいても、ほかのオブジェクトは調べません(エクステンションの注意の文)。

まとまり項目調べること(公式マニュアル・エクステンションの説明)
統計体積・面積メッシュの体積と表面積を出す
チェックソリッド穴が無いか(辺がちょうど2枚の面につながっているか)と、面の向きがそろっているか。結果の「非多様体の辺」「不正な連続した辺」
チェック交差面どうしが突き抜けていないか。結果の「交差面」
チェックシェルメッシュがいくつのかたまりに分かれているか。結果の「Shells」
チェック縮退(0.0001m)長さが0.0001m以下の辺と、面積がほぼ0の面が無いか。結果の「ゼロ面積面」「ゼロ長の辺」
チェック非平面(5°)平らでない面が無いか。結果の「非平面の面」
チェック肉厚(0.001m)指定より薄い部分が無いか。結果の「薄い面」
チェックシャープ(160°)指定より鋭い辺が無いか。結果の「シャープな辺」
チェックオーバーハング(45°)指定の角度より張り出した面が無いか。結果の「オーバーハング面」

閉じた箱で「すべてチェック」を押すと、「非多様体の辺」は0でした。面を1枚消して穴をあけた箱では、穴の縁の4本が「非多様体の辺」になりました。

サイドバーの「3D Print」タブの「解析」。面を1枚消した箱で「すべてチェック」した結果
サイドバーの「3D Print」タブの「解析」。面を1枚消した箱で「すべてチェック」を押すと、「非多様体の辺」が4になった

編集モードでは、結果の数字を押すと、その辺や面が選択されます(公式マニュアル)。

公式マニュアルによると、3Dプリンターは宙に浮いた部分を印刷できないので、スライサーはサポート(支え)を足すことがあります。「オーバーハング面」は、この宙に浮きやすい、下を向いた面を数えます(エクステンションのコード)。閉じた箱でも、底の1つが数えられました。

穴などの問題は、「クリーンアップ」の「多様体化」で直せます。「編集」のパネルには、形を変える機能が並んでいます。

「クリーンアップ」の「多様体化」と、「編集」の「中空化」「二分割」「XYに整列」「スケール」
「クリーンアップ」と「編集」のパネル。「スケール」の下に「体積」と「境界」
パネルボタン働き(公式マニュアル・エクステンションの説明)
クリーンアップ多様体化孤立した頂点・辺・面と内部の面を消し、近い頂点を結合し、穴をふさいで、面の向き(法線)を外向きにそろえる
編集中空化形の内側(既定)か外側に、厚みをそろえた面を作る
編集二分割平面で形を切り分ける
編集XYに整列選択した面が、平均してXY平面に平行になるように回す
編集スケール:体積指定した体積になるように大きさを変える
編集スケール:境界外形の一番長い寸法(X・Y・Zのどれか)が指定した長さになるように大きさを変える

面を1枚消した箱を選んで「多様体化」を押すと、穴がふさがって面が6枚になり、「非多様体の辺」は0になりました。

3D Print Toolboxの「エクスポート」は「単位」をミリメートルにして書き出せる

3D Print Toolboxの「エクスポート」のパネルからも、STLを書き出せます。「オプション」の「単位」を「ミリメートル」にすると、Blenderの1mが1000の数値で書き出されます。「単位」は、単位の設定の「単位系」が「なし」以外のときに選べます(「なし」では灰色になります)。この倍率は「単位の倍率」も計算に入れます(エクステンションのコード)。

3D Print Toolboxの「エクスポート」のパネルと「オプション」
「エクスポート」のパネル。上から名前の出ない「エクスポート先ディレクトリ」の欄(「//」)、「フォーマット」、「エクスポート」のボタン、「オプション」の「単位」「ASCII」「テクスチャをコピー」
設定既定中身
エクスポート先ディレクトリ//書き出すフォルダ。「//」は.blend(Blenderで保存したファイル)と同じフォルダ
フォーマットSTLOBJ・PLY・STLから選ぶ
単位なしなし・センチメートル・ミリメートル・マイクロメートル
ASCIIオフテキストの形式で書き出す
UV・ノーマル・色オフOBJ・PLYのときの設定。STLでは灰色で使えない
テクスチャをコピーオフ書き出すときに、テクスチャの画像も保存先へコピーする

2mの箱(頂点の座標が±1m)を書き出すと、頂点の数値は「単位」が「なし」で1、「センチメートル」で100でした。「ミリメートル」では999.99994、「マイクロメートル」では1000000でした。ミリメートルの999.99994は、小数の計算で出た誤差で、ほぼ1000です。

書き出されるのは、選択したオブジェクトです。複数を選ぶと、1つのファイルにまとまります。ファイル名は「.blendのファイル名-アクティブオブジェクトの名前.stl」になります。.blendを保存してあれば、エクスポート先ディレクトリへそのまま書き出されます。保存していないとき(エクスポート先ディレクトリが「//」のまま)は、保存する場所を選ぶ画面が開きます(エクステンションのコード)。モディファイアーは、ビューポートの設定で計算して書き出されます。STLの書き出しの画面の「プロパティ」の既定(レンダー)とは違うので、サブディビジョンサーフェスの細かさが変わることがあります。

mmの数値のSTLを読み込むときは「スケール」を0.001にする

ほかのソフトで作ったSTLを読み込むときは、「ファイル」→「インポート」→「STL (.stl)」を選びます。Blenderの2mの箱を「スケール」1000で書き出したSTLを、既定のまま読み込むと、2000mの大きさになりました。読み込みの画面の「スケール」を0.001にすると、2mで読み込まれました。

STLの読み込みの設定
STLの読み込みの画面の右の設定(既定の値)
まとまり設定既定中身(公式マニュアル)
全般スケール1.000読み込むときに掛ける倍率
全般シーンの単位オフシーンの単位の設定を、読み込むデータに当てはめる
全般前方の軸・上向きの軸Y・Z軸の向きの変換。上がYのソフトから読み込むときは、前方を-Z、上をYにする
オプションファセットの法線オフファイルに書かれた面の法線を使う(平らな陰影のまま)
オプションメッシュを検証オン読み込んだメッシュの壊れたデータを調べて直す。読み込みは遅くなるが、公式マニュアルはオンを勧めている

Blenderで建築パースを作る方法は、建築3DCGコース(Blender)で学べます。

会員登録(無料)

記事やテーマのお気に入り・学習履歴・フォローが使えます。

この記事について

PERSC編集部が、建築の制作に関わる知識を実務目線で整理しています。内容は公開・更新日時点の情報にもとづきます。誤りや古い情報にお気づきの場合はお問い合わせよりご連絡ください。

あわせて読みたい