Standard Triangulated Language
STLは三次元形状を表現するデータを保存するファイルフォーマットのひとつである。名称の由来は光造形法を意味する光造形法(英: Stereolithography)である。Standard Triangulated Language や Standard Tessellation Language の略称とされることもある。 米国のスリーディー・システムズによって開発された三次元CADソフト用のファイルフォーマットとして作られた。3次元形状を扱う多くのソフトにサポートされており、特にラピッドプロトタイピングシステムのファイルフォーマットとしても利用されている。 特徴三次元形状を構成する小さな三角形要素の集合を記述する。元来は三角形のみで他の多角形や曲線を一切扱わないのが特徴。色やトポロジーデータ(形状同士のつながり)なども含まれない。データ構造が簡単であることからラピッドプロトタイピングの分野では標準フォーマットとなっており、各種ラピッドプロトタイピングシステムで使用可能。 三角形要素は三つの頂点の座標と法線ベクトルにより定義される三角形ポリゴンであり、ファセット(facet)と呼ばれる。 三角要素以外の点や線といった要素、色、面間の連続性、その他の特性の定義については、標準的にはできないが、拡張されたものも存在する。一部のソフトウェアにおいては、バイナリSTLにおいてファセット番号を定義する2バイト分を転用することで、色の指定を行っている場合がある。 データ形式プレーンテキストで記述されたASCII STL形式と、バイナリSTL形式がある。どちらのファイル形式でも、三角形の法線ベクトル(長さ1の単位ベクトル)と、面の表裏を示すために右手系に従って並んだ三角形の座標データを三角形の数だけ含む。このような冗長性のため、面の表裏は法線ベクトルと各点座標の記述順序(右手系)のどちらでも判別できる。 ASCII形式ASCII形式は人間が見た時の可読性が高いが、バイナリ形式と比較してファイルサイズが大きくなり、さらにファイル読み書き時の処理に時間がかかる。 書式は非常に単純である。 すべての行は以下の形式を満たす。: キーワード [半角1文字スペース] データ 最初の行は以下の文で始まる。: solid name nameはオプションだが、省いた場合にも必ず半角スペースが必要である。 このあとに三角形データが続く。: facet normal ni nj nk outer loop vertex v1x v1y v1z vertex v2x v2y v2z vertex v3x v3y v3z endloop endfacet 法線ベクトルは英語でnormal vectorと表記される。ここでは ファイルの最後は以下の文で終了する: endsolid name バイナリ形式STLにはバイナリー形式も用意されており、ASCIIにくらべファイルサイズが小さく済み、読み書きの際のエンコード/デコードがないぶん高速となる。ファイルサイズの点では、ASCII表示したときに浮動小数点の桁が多いときほど、ASCII形式との差が開き有利となる。ファイル読み書き処理の点では、SSDのような高速ストレージの転送速度を生かすためにはバイナリである必要が生じうる。 バイナリーSTLファイルは80バイトの任意の文字列で開始される(通常内容は無視される。ただし、 それぞれの三角形は12個の32ビット浮動小数点で示される。ASCII形式のSTLファイルと同様に、最初に三角形の法線ベクトル(3個)、次に三角形の各座標(3x3=9個)が X/Y/Zの順番で示される。その後2バイトの未使用データが続く。ほとんどのソフトはこの部分を無視するので値はそれぞれゼロである。 浮動小数点の表記方法はIEEE方式(IEEE 754)である。エンディアンは、仕様文書に明示されていないがリトルエンディアンである。 UINT8[80] - ヘッダー(任意の文字列) UINT32 - ファイルに含まれる三角形の数 法線ベクトルの取り扱いSTLフォーマットの規格では、ASCII形式においてもバイナリ形式においても法線ベクトルは物体の外側を示す単位ベクトルでなくてはならない。特にRPシステムでは法線ベクトルは内外を表示する情報として扱われることがあるため、重要な情報となる。変換ミスで逆になった場合は反転三角としてRP作成時のエラーの原因となる。Magicsなどの各種STL編集ソフトでそのような間違いを修正することができる。 一部のソフト(例:SolidWorks)ではシェーディング効果に法線ベクトルを利用する。そのためこのようなソフトでは三角形の面に対する真の法線ベクトルとはならない。 外部リンク
|
Portal di Ensiklopedia Dunia