STLファイルとは何かと聞かれたときの答えは、通常一言で済みます。3Dオブジェクトの表面を三角形の集まりとして記述するファイルです。それ以外は何もありません。STLはstereolithography(光造形)の略で、この形式が作られた1980年代の印刷方式の名前に由来します。各三角形には空間上の3つの頂点と、表面の外側を向くベクトルが記録され、モデル全体は辺を突き合わせた三角形の集合になります。
色もテクスチャも、マテリアル設定も、アセンブリツリーもありません。同じ設計ソフトから赤いパーツと青いパーツを書き出しても、2つのSTLファイルは形状以外が同じになります。CADツールによってはファイルにヘッダーコメントを書き込みますが、スライサーは無視します。プリンターに届くのは表皮だけで、中に何を詰めるかはプリンターが判断します。
この形式には単位もありません。座標は単なる数値で、25という値が25ミリメートルを意味することも、25インチを意味することもあります。スケールを決めるのはスライサーで、多くはデフォルトでミリメートルを使います。そのため、モデルが米粒ほどの大きさでベッドに載ったり、逆に大きすぎてビルドプレートから完全にはみ出したりすることがあります。
ソリッドモデルから印刷されたパーツまでの流れは、4つの段階を経ます。
CADやスカルプトツールで形状を作るか、ダウンロードします。この時点では、滑らかな曲線と正確な表面を持つ数学的に正確なソリッドです。STLはまだ存在しません。
書き出し時に、ソフトウェアは曲面を平らな三角形で近似します。三角形が少ないほど曲線は粗くなります。三角形が多いほどファイルは大きくなり、スライスも遅くなります。この処理は情報を失い、元に戻せません。
スライサーはメッシュを水平な平面の積み重ねと交差させます。それぞれの交線が閉じたポリゴンになり、そのポリゴンが各レイヤーのツールパスになります。メッシュの穴や反転した法線は、ここで隙間やソリッドで埋まった空洞として現れます。
スライサーがG-codeを書き出し、プリンターがレイヤーごとに実行します。G-codeは機種ごとに異なりますが、STLは機種に依存しません。同じSTLでも、0.4 mmノズル用と0.6 mmノズル用ではスライス結果が変わります。
左の2列にある情報は実際に残りますが、右側の情報はSTLになった時点で失われています。
| 項目 | STLに保存される内容 | 失われるもの |
|---|---|---|
| 表面形状 | 三角形として保存 | 滑らかな解析曲線と正確な半径 |
| 三角形の向き | 各ファセットに1つの法線 | 元のソリッド体積の記録 |
| スケール | 単位のない数値 | パーツが25 mmなのか25インチなのか |
| 色とテクスチャ | なし | 元のモデルにあるすべての外観データ |
| 設計履歴 | なし | フィーチャーツリー、パラメーター、拘束、寸法 |
この形式は、3つのグループにそれぞれ異なる理由で使われています。
一般的な受け渡し形式です。モデルをSTLでダウンロードし、スライサーに読み込んで印刷します。すべてのスライサーがこれほど確実に読み込める代替形式はないため、何度も置き換えが試みられたにもかかわらず、この形式は使われ続けています。
STLで設計することはほとんどありません。編集用にネイティブなCADファイルを残し、製造用や同僚の確認用に、編集できないスナップショットとしてSTLを書き出します。書き出した後のモデルは、パラメトリックには編集できません。
ハイトマップ、ロゴ、シルエットの背後にはソリッドモデルがありません。変換ツールはピクセルの明るさから直接メッシュを作るため、その画像にとってSTLは既存の設計を書き出したものではなく、最初の本格的な3D表現になります。
ここまで読めば、トレードオフはもう分かるはずです。得られるのは三角形で、それ以外はありません。JPGまたはPNGをアップロードすると、変換ツールが画像から三角形メッシュを作り、明るい部分と暗い部分で高さを設定します。
重要な意味では、そうではありません。CADファイルには、編集可能なフィーチャー、寸法、履歴を持つパラメトリックなソリッドが含まれます。STLはそのソリッドを書き出したテッセレーションデータで、元の状態に戻せない三角形の固定された集合です。CADソフトでSTLを開くことはできますが、設計データとして編集することはできません。
このページの次に浮かぶ疑問に答えるページです。