STL ファイル形式とは?
.stl は 3D ジオメトリデータを保存するための汎用ファイル形式で、1987 年にステレオリソグラフィー 3D プリントの先駆者である 3D Systems 社によって作成されました。.stl ファイルは、3D オブジェクトデータを ASCII テキストまたはバイナリ形式のいずれかで保存します。
STL のシンプルさ
.stl ファイルは、三角形の面で記述された 3D モデルの保存と定義に使用されます。この形式はそのシンプルさで知られており、各オブジェクトは 3D 表面ジオメトリによって定義され、テクスチャ、色、または材料や単位といった標準的な CAD 属性の表現はありません。すべての表面は三角形のファセットに分解され、それぞれが 3 つの頂点と外側を向いた法線ベクトルによって記述されます。
STL の普及
当初、.stl はその名前の由来となったステレオリソグラフィー 3D プリントシステムでのみサポートされていましたが、そのシンプルさからすぐに普及し、現在では事実上すべての現代的な CAD、3D モデリング、およびスライサーアプリケーションでサポートされています。.stl は最もシンプルな 3D データ交換形式の一つと見なされており、プロからアマチュアまで幅広く使用されています。より豊かなワークフローのために 3MF のような新しい形式が徐々に取って代わりつつありますが、FDM や SLA デスクトップ 3D プリントにおいては依然として支配的な形式です。
2 つのバージョンの STL
.stl 形式には、バイナリと ASCII テキストの 2 つのバージョンがあります。ASCII バージョンは、プレーンテキストのキーワード(solid、facet normal、vertex、endloop、endfacet、endsolid)を使用して、各三角形の構造化されたループ内で 3D オブジェクトを定義します。バイナリバージョンは、よりコンパクトな異なる構造を使用します。80 バイトのヘッダーに続き、4 バイトの三角形数、および三角形あたり 50 バイトが続きます。バイナリ .stl ファイルはファイルサイズがはるかに小さく、同等の ASCII ファイルよりも 5 倍から 6 倍小さくなることが多いため、バイナリの方がはるかに一般的です。
セキュリティと安全性
リスク: LOWSTL ファイルは受動的なジオメトリデータであり、実行可能コードを含まないため、開く際のリスクは低いです。現実的な注意点はセキュリティではなく実用面です。STL は単位を保存しないため、モデルが間違ったスケールでインポートされる可能性があります(mm かインチかを確認してください)。また、メッシュが水密でなかったり、法線が反転していたりして、スライスやプリントに失敗することがあります。MeshLab、Blender、Meshmixer などで修復してください。プリント用 STL をダウンロードする際は、信頼できるモデルサイトを利用し、ダウンロードにアドウェアインストーラーを同梱しているような「無料 STL」ページは避けてください。
形式の詳細
概要STL ファイルを開くプログラム
技術的詳細
詳細仕様| 形式タイプ | 三角形メッシュ - 三角形化された表面ジオメトリのみ(体積データや NURBS データなし) |
| エンコーディングの種類 | 2 つの公式エンコーディング:ASCII プレーンテキストおよびバイナリ。どちらも同じジオメトリを表します |
| ジオメトリプリミティブ | 三角形ファセット:3 つの頂点(32 ビット浮動小数点数の X, Y, Z)と 1 つの外向き単位法線ベクトル |
| テクスチャと色のサポート | なし - ジオメトリのみ。色、テクスチャ、材料、レイヤー情報は保存されません |
| 座標系 | 32 ビット IEEE 754 単精度浮動小数点数を使用した右手系デカルト座標(X, Y, Z) |
| 単位 | 形式内にはエンコードされません。インポートするアプリケーションがスケールの解釈に責任を持ちます |
| ASCII 構造キーワード | `solid`, `facet normal`, `outer loop`, `vertex`, `endloop`, `endfacet`, `endsolid` |
| バイナリヘッダー | 80 バイトのフリーテキストヘッダー(固定のマジックシグネチャなし)、その後に 4 バイトのリトルエンディアン uint32 三角形数が続きます |
| バイナリレコードサイズ | 三角形あたり 50 バイト:12 バイト(法線) + 36 バイト(3 × 頂点 XYZ) + 2 バイトの属性バイトカウント |
| ファイルの識別 | ASCII ファイルはオフセット 0 で `solid` から始まります。バイナリファイルには固定のシグネチャがなく、ツールはヒューリスティックを使用して区別します |
| MIME タイプ | `model/stl`(歴史的には `application/sla` や `application/vnd.ms-pki.stl` も使用されました) |
| ファイルサイズ比 | 同じメッシュデータの場合、バイナリエンコーディングは通常 ASCII よりも 5〜6 倍小さくなります |
| ワインディング規則 | 表面の外側から見て反時計回りの頂点順序(右手の法則により外向き法線を定義) |
| メッシュの整合性要件 | 3D プリントスライサーでは水密(閉じた多様体)メッシュが必要ですが、形式自体はこれを強制しません |
| マルチマテリアルサポート | ネイティブではなし。各 `.stl` ファイルは、材料や色の割り当てがない単一の均一な表面をエンコードします |
| 主なユースケース | 3D プリント(FDM, SLA, SLS)およびラピッドプロトタイピング。アプリケーション間の CAD ジオメトリ交換に広く使用されています |
| リリース日 | 1987 (created by 3D Systems for stereolithography 3D printing) |
| オープンスタンダード | はい · ロイヤリティフリー |
| 仕様書 | en.wikipedia.org |
STL の変換
コミュニティ Q&A
ユーザーからの質問まだ質問はありません。STL ファイルについて最初の質問をしてみましょう。