ステレオリソグラフィー STL (.stl)

3D 標準

Standard Triangle Language(STL、別名:Stereolithography)は、3Dプリントおよびラピッドプロトタイピング業界で共通の欠かせない形式です。未加工の三角形ファセットを使って、ソリッド3Dオブジェクトの表面形状を記述します。

OBJ を STL に変換

無料のブラウザ内 OBJ から STL へのコンバーター。お使いのデバイスでファイルを即座に変換します。

調査とメタデータ

オペレーティングシステムやファイル解析ツールは、先頭のバイナリ列を検査してSTLファイルを識別します:

ファイルを選択するか、ここにドロップしてください

プライベート - ファイルがデバイスの外に出ることはありません

または貼り付け Ctrl+V
ネットワーク送信ゼロのプライバシー保証: 外部サーバーへのデータ送信は0バイトです。すべての処理はお使いのブラウザのサンドボックス内でローカルに実行されます。

バイトレベルのヘッダーシグネチャ (マジックバイト)

オペレーティングシステムやファイル解析ツールは、先頭のバイナリ列を検査してSTLファイルを識別します:

16進数シグネチャ(オフセット0):

73 6F 6C 69 64

ASCII表現: solid

標準化: 3D Systemsステレオリソグラフィ仕様

技術仕様

コンテナアーキテクチャASCII形式('solid'で開始)またはバイナリ形式(80バイトヘッダー、32ビットの三角形数、50バイトのファセットレコード)
圧縮非圧縮の三角形ファセットデータ
バイトエンディアンバイナリSTLではリトルエンディアン(Intel x86)
色空間なし(形状はモノクロ。独自のVisCAM/Magicsカラー拡張は存在)
チャンネルと構造三角形ファセット:面法線ベクトル(I、J、K)と3つの頂点座標(X、Y、Z)
最大寸法3D物理座標に上限なし(通常はミリメートル単位)
透過性なし(実体のある物体)
ストリーミングとプログレッシブファセットを順次ストリーミングし、連続してスライスごとに処理可能

技術比較表:STLと競合製品

技術属性STL (現在)OBJ3MFSTEP
3Dプリントスライサーの採用3Dプリント用スライサーで広く使用。対応状況は異なる幅広く対応最新の後継標準CADエンジニアリング標準
色とテクスチャのサポートなし (純粋な表面ジオメトリ)完全なUVテクスチャマッピングフルカラー、素材、マルチエクストルーダーパラメトリックなソリッドカラー
ファセット構造独立した三角形ファセット接続された頂点共有メッシュ頂点共有インデックス付きメッシュ正確なパラメトリック曲線 (NURBS)
単位の定義無単位 (ミリメートルを想定)無単位 (メートル/ミリメートルを想定)明示的な単位 (mm、cm、インチ)明示的なエンジニアリング単位

一般的な破損モードと16進数リカバリガイド

3Dスライサーに「モデルがマニホールドではありません / 非マニホールドエッジが含まれています」と表示される。

根本原因: 三角形メッシュの穴、自己交差する三角形、または反転した表面法線。

復旧: File2File.app 3Dメッシュ修復ツールまたはNetfabbを使用して、メッシュを水密にします。

セキュリティ分析とパーサー攻撃ベクトル

バイナリSTLパーサーは三角形数を32ビット整数として処理するため、整数オーバーフローによってヒープへの割り当てサイズが小さくなり、範囲外書き込みが発生する可能性があります。

既知の攻撃ベクター

  • triangle_count * 50 バイトをメモリに割り当てる際の整数オーバーフロー。
  • 実際のファイルサイズが宣言された三角形数よりも小さい場合のバッファ読み取り超過。
  • 数ギガバイト分の三角形データを割り当てさせることによるサービス拒否。

防御的ベストプラクティス: 読み取り前に、宣言された三角形の数が (file_size - 84) / 50 と正確に一致していることを検証します。

歴史的背景とマイルストーン

2009デスクトッププリンターのスライサーで採用され、STLは3Dプリント用の一般的な交換形式になりました。この形式が保存するのは三角形の表面で、色や素材の割り当てではありません。
19883D Systems社がコンパクトな50バイトのバイナリSTLファセットフォーマットを標準化しました。
1987光造形 (SLA) の発明者であるチャック・ハル氏が、世界初の商用3Dプリンター向けにSTLを作成しました。

主なメリット

  • STLは3Dプリント用スライサーやCAMツールで広くサポートされていますが、対応する機能やワークフローは異なります。
  • バイナリ形式はシンプルでコンパクトです。ヘッダーは正確に84バイトで、三角形ファセットごとに50バイトを使用します。
  • 積層造形ツールパスの生成に必要な、水密性のある表面境界を直接表現できます。

技術的な制限とデメリット

  • STL規格には色、素材、テクスチャの相互運用可能なフィールドがありません。互換性のない拡張で色データを追加するものもあります。
  • 曲面は数千の平らな平面三角形で近似する必要があり、ポリゴン数が高くなります。
  • 物理的な測定単位が指定されていません (スライサーはミリメートルまたはインチを前提とする必要があります)。

興味深い技術トリビア

  • チャック・ハル氏は1986年に3Dプリンティングの特許を取得し、1987年に3DモデルをSLA-1プリンターに供給するためにSTLフォーマットを作成しました。
  • STLファイルには単位メタデータが一切含まれません。「10」という次元のキューブは、スライサーの設定に応じて10ミリメートル、10メートル、または10インチを意味する可能性があります。
  • バイナリSTLファイルには任意のテキストを含めることができる80バイトのヘッダーがありますが、「solid」という単語で始まってはなりません。始まると、一部のデコーダーがASCIIファイルと誤認してしまいます。

よくある技術的な質問

どのプログラムでSTLファイルを開くことができますか?

Cura、PrusaSlicer、Bambu Studioなどの3Dプリンタースライサー、Fusion 360やBlenderなどのCADプログラムでSTLファイルを開くか、File2File.appでオンラインで即座に表示できます。

ASCII STLとBinary STLの違いは何ですか?

Binary STLは各三角形を数値レコードとして保存し、ASCII STLは座標をテキストで記述します。Binaryは通常より小さく、ASCIIは直接確認できますが、どちらの形式にも色や素材の標準フィールドはありません。

STLファイルをOBJまたはGLBに変換するにはどうすればよいですか?

ブラウザから直接File2File.appを使用して、STLファイルをテクスチャ付きのOBJモデルやWeb対応のGLBファイルに変換できます。