STLファイルは三角形メッシュです。平らな三角形を並べて、部品の表面を近似しています。CADやスライサーをインストールせずに測るには、STLビューアで開き、プロパティでバウンディングボックスとメッシュ体積を読み、測定で2点を選んで距離を確認します。どの数値を使う前にも、分かっている寸法を1つ照合してください。STLファイルには、座標がミリメートルなのかインチなのかが書かれていないからです。
STLファイルの中身
STLファイルが保存するのは三角形だけです。各三角形に法線ベクトルと3つの頂点があります。形式は2種類あります。米国議会図書館のSTL形式の説明
| 形式 | 見分け方 | 構造 |
|---|---|---|
| ASCII | テキストエディターで読める文字として開く | solidで始まり、三角形ごとにfacet normal、outer loop、3行のvertex、endloop、endfacetを繰り返し、endsolidで終わる |
| バイナリ | エディターでは読めないバイト列になる | 80バイトのヘッダー、4バイトの三角形数、その後に三角形1つあたり50バイト。法線と3頂点の32ビット数値12個と、2バイトの属性欄 |
バイナリの三角形は1つ必ず50バイトなので、バイナリSTLのサイズは84 + 50 × nバイトです(nは三角形数)。box.stlサンプルは684バイト、つまり84 + 50 × 12で、箱の各面に2つずつ、12個の三角形が入っています。サイズがこの式に合わないバイナリファイルは、途中で切れているか、普通のバイナリSTLではありません。
入っていないものも同じくらい重要です。STLには単位の項目がなく、色や材質を保存する標準の方法も、部品名やアセンブリ構成も、曲線もありません。円筒は平らなファセットの輪として保存され、穴はそのファセットに囲まれた空間にすぎません。
STLファイルを開いて測る
- 元の
.stlファイルは変更せずに保管します。 - STLビューアを開き、ファイルを選択するかドロップします。処理はサーバーで行われます。表示と測定にアカウントは不要で、ゲストのファイルは一時保存です。
- プロパティで、バウンディングボックス、メッシュ体積(近似)、表面積、元の単位の行を確認します。
- ほかの数値を使う前に、外形寸法の1つを信頼できる寸法と照合します。
- 測定をクリックし、距離、2点間の順に選んで、モデル上の2点をピックします。

パネルは結果を近似プレビューとして示し、ジオメトリ警告を2件表示します。どちらもすべてのSTLに当てはまります。値は正確なCAD形状ではなくメッシュから求めたもので、単位は仮定です。メッシュにはB-Repソリッドがないのでソリッド数は0ですが、閉じたメッシュには近似と明示した体積が付きます。
計算質量は、その体積に選んだ密度を掛けた値です。密度はファイルから読み取らず、スケールを確認してから初めて意味を持ちます。
2点間の距離を測る

結果には直線距離と、そのX、Y、Z成分が表示されます。成分があるので、2点がきれいにそろっていなくても高さや幅を確認できます。各結果は測定一覧に追加されてCSVでダウンロードでき、長さの単位でファイルを変えずにセンチメートル、メートル、インチなどへ換算できます。
STLの距離が近似と表示されるのは、点がメッシュ上に当たるからです。平らな面やまっすぐなエッジでは、ほぼ正確です。曲面ではファセットが角を落としているため、ファセットの角と角の間をピックすると、丸いボスの差し渡しが実際の直径よりわずかに短く出ることがあります。出力が粗いほど差は大きくなります。弦高と角度の影響はSTLの出力設定で説明しています。
STLで使える測定モードは距離(2点間)と点の座標です。エッジの長さ、穴・円の直径、面どうしの角度、選んだ面の面積にはB-Rep形状が必要なので、STEP、IGESなどのCAD入力では表示されますが、メッシュでは表示されません。
最初にスケールを確認する
STLファイルには単位がないため、25は25 mmかもしれず、25インチかもしれません。CADPropsは座標をミリメートルとして読み、そのことを元の単位・計算方法・精度に表示します。1インチと分かっている部分が1 mmと測れたら、ファイルはインチで出力されており、長さはすべて25.4分の1になっています。体積は25.4³、約16,387倍ずれます。
mmとinのボタンが変えるのは表示だけです。メッシュを拡大縮小しないので、誤った単位で出力されたファイルは直せません。確認と出力元での直し方はSTLに単位はある?で説明しています。
体積が表示されないとき
体積には、三角形の向きがそろった閉じたメッシュが必要です。穴、すき間、裏返ったファセットがあると、CADPropsは体積と質量をゼロにしたりバウンディングボックスから推定したりせず、「利用不可」と表示します。よくある原因はSTLの体積がゼロまたは表示されない理由に、「閉じている」の実際の意味はウォータータイトなメッシュにまとめています。
STLとCADファイルの違い
サプライヤー、造形業者、顧客から届くのがSTLだけ、ということはよくあります。多くの確認にはそれで足りますが、STEPやネイティブCADファイルとは種類の違うデータです。
| 確認したいこと | STLメッシュ | STEPなどのCADファイル |
|---|---|---|
| 外形寸法 | 単位を確認すれば可能 | 可能。単位はファイルから読む |
| 2点間の距離 | 近似 | ピックした点は近似、対応するエッジは正確 |
| 穴の直径 | ファセットの点から推定するだけ | 円筒面から読み取る |
| 体積と質量 | 近似、閉じたメッシュのみ | 有効な閉じたソリッドから |
| 部品名とアセンブリ | なし | 出力内容によっては多くの場合あり |
| 編集できるフィーチャー | なし | STEPにはなし。ネイティブCADファイルのみ |
正確な穴径、図面と照らした公差の確認、アセンブリ構成が必要なときは、送り手にSTEPを依頼してください。2つの形式の詳しい比較はSTEPとSTLの違いにあります。メッシュは元のCAD曲面に戻せないため、STLをSTEPに変換しても正確な形状は戻りません。
変換と共有
ほかのプログラムがOBJを必要とする場合は、STLからOBJへで変換し、結果を開き直して元の寸法と比べてください。どちらもメッシュなので、変換で精度は変わりません。各メッシュ形式とその単位の扱いはメッシュ形式のまとめにあります。
元の記事: CADProps · https://www.cadprops.com/ja/guides/open-stl-file-and-measure/