ステレolithography STL (.stl)

3D 標準

Standard Triangle Language (STL、別名: Stereolithography) は、3Dプリントおよびラピッドプロトタイピング業界において普遍的かつ不可欠なフォーマットであり、未加工の三角形ファセットを使用してソリッド3Dオブジェクトの表面ジオメトリを記述します。

OBJ を STL に変換

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

調査とメタデータ

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

ここにファイルを選択またはドロップ

100%プライベートなブラウザ内変換 - ファイルがデバイスから外部に出ることはありません

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

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

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

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

73 6F 6C 69 64

ASCII表現: solid

標準化: 3D Systems Stereolithography Specification

技術仕様

コンテナアーキテクチャASCII format (starting with 'solid') or Binary format (80-byte header + 32-bit triangle count + 50-byte facet records)
圧縮Uncompressed raw triangular facets
バイトエンディアンLittle-Endian (Intel x86) for binary STL
色空間None (monochrome geometry; proprietary VisCAM/Magics color hacks exist)
チャンネルと構造Triangular facets: surface normal vector (I, J, K) and three vertex coordinates (X, Y, Z)
最大寸法Unbounded 3D physical coordinates (typically measured in millimeters)
透過性None (solid physical objects)
ストリーミングとプログレッシブSequential facet streaming allows continuous slice-by-slice slicing

技術比較マトリックス: STL 対 競合製品

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

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

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

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

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

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

バイナリSTLパーサーは32ビットの三角形数を評価するため、整数オーバーフローにより小さなヒープ割り当てや範囲外書き込みを引き起こす可能性があります。

既知の攻撃ベクター

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

防御的ベストプラクティス:

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

2009MakerBotとRepRapのオープンソース3Dプリンティング革命により、STLが数百万の家庭や学校に定着しました。
19883D Systems社がコンパクトな50バイトのバイナリSTLファセットフォーマットを標準化しました。
1987光造形 (SLA) の発明者であるチャック・ハル氏が、世界初の商用3Dプリンター向けにSTLを作成しました。

主な利点とメリット

  • 3Dプリントにおける揺るぎないグローバル標準:すべてのスライサー (PrusaSlicer、Cura、Bambu Studio) およびCAMソフトウェアの100%でサポートされています。
  • バイナリフォーマットがシンプルでコンパクト:正確に84バイトのヘッダーと、三角形ファセットあたり50バイトで構成されています。
  • 積層造形ツールパスの生成に必要な、水密性のある表面境界を直接表現できます。

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

  • 色、素材、テクスチャのサポートがゼロ:フルカラーの3Dプリントをネイティブで表現できません。
  • 曲面は数千の平らな平面三角形で近似する必要があり、ポリゴン数が高くなります。
  • 物理的な測定単位が指定されていません (スライサーはミリメートルまたはインチを前提とする必要があります)。

興味深い技術トリビア

  • チャック・ハル氏は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よりもサイズが約5〜6分の一で、読み込みが大幅に高速化されるため、3DプリントにおいてBinary STLが推奨される選択肢となっています。

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

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