STLは3Dビューアでは普通の部品に見えても、信頼できる囲まれた体積を持たないことがあります。理由は単純です。描画には三角形があれば足ります。体積には、その三角形が一貫した閉じた境界を作る必要があります。
CADPropsはメッシュからSTL特性を推定します。読める三角形から寸法と表面積は出せますが、信頼できる体積と密度に基づく質量には、適切な閉じたメッシュが必要です。メッシュが開いている、または一貫していないとき、CADPropsは数を作らず、体積を利用不可のままにします。
「STLの体積がゼロ」という報告では、実際の結果はゼロ、利用不可、単位による誤り、水密でないための不確実のどれかです。これらは別の問題です。
見えるSTLに体積がない理由
STLは表面を三角形で表します。広く使われるテッセレーション形式であり、メッシュの元になった解析CAD曲面やフィーチャ履歴は保ちません。米国議会図書館のSTL形式説明はメッシュ表現の背景になります。
囲まれた物体では、三角形がまとめて内側と外側を定義しなければなりません。境界に隙間、切れた領域、一貫しない向きがあると、表面は一つの信頼できる囲まれた領域を定義しないことがあります。
- 三角形のシートはカメラから描画できる。
- 閉じたシェルは空間を囲める。
- 物理体積に使ってよいのは、有効な閉じた結果だけ。
針穴ほどの欠けた面は画面ではほとんど見えなくても、数学的な囲いを壊します。
欠ける、または信頼できないSTL体積のよくある原因
| 症状 | ありそうな問題 | 次にすること |
|---|---|---|
| 見た目は正しいが体積が利用不可 | 開いたメッシュ、または一貫しないトポロジ | 元CADまたはメッシュ修復ツールで調べ、修復する |
| 明らかな隙間がある | 欠けた三角形、または失敗したエクスポート | 元モデルから再エクスポートする |
| 一部の面が裏返って見える | 面の向きが一貫しない | 法線と向きを直し、結果を検証する |
| 複数のシェルが重なる | 非多様体、または重複した幾何 | 重複や交差するシェルを除くか、きれいなボディを書き出す |
| 体積はあるが極端に大きい、または小さい | 単位の仮定が誤り | ソース単位と尺度を確認する |
| 粗い、または細かい書き出しで体積が変わる | テッセレーションが近似を変えた | 適切なメッシュ公差で書き出すか、正確な特性には元のCADソリッドを使う |
「修復」を自動的に正しいと扱わないでください。修復ツールは隙間を複数の方法で閉じられます。欠けた面が機能上重要なら、修復したメッシュを元CADまたは図面と比べます。
水密性と単位は別の問題
STLは物理単位を信頼できる形では宣言しません。CADPropsは座標に明示的な単位仮定を使う必要があり、STLとOBJではミリメートルを仮定します。これはファイルに保存された単位ではありません。
単位の誤りは、もともと閉じたメッシュの体積を通常は失わせません。体積の大きさを間違わせます。
たとえばインチ意図のモデルをミリメートルとして読むと、すべての長さが25.4倍ずれます。体積は長さの三乗で変わるので、体積の誤りは寸法の誤りよりずっと大きくなります。
対照的に、開いたメッシュはどの尺度でも、守れる囲まれた体積を持たないことがあります。
診断の順序です。
- 体積計算に足りるほどメッシュは構造的に閉じているか。
- 単位は正しいか。
- 必要な精度に対してテッセレーションは十分細かいか。
- 質量を計算するなら、選んだ材料密度は正しいか。
単位を変えても、メッシュの穴は修復されません。
CADPropsが欠けた体積をゼロで置き換えない理由
真のゼロ体積と利用不可は、工学上の意味が違います。平らな面は囲まれた体積を持ちません。壊れたモデルも体積を出せないことがあります。両方を 0 と報告すると理由が隠れ、見積もりや材料推定に悪い数が流れます。
そのためCADPropsは、信頼できる閉じた体積の要件をメッシュが満たさないとき、利用不可の状態を見えるままにします。質量がその体積に依存するなら、質量も利用不可のままにすべきです。
信頼できる計算がないことを、精密な数値結果に見せない、というサイト全体の原則と同じです。
質量を推定する前にメッシュを確認する
質量は体積と密度から導きます。どちらかの入力が未対応または誤りなら、質量も誤りです。
アルミニウム、鋼、樹脂、ほかの密度を選ぶ前に確認します。
- STLが意図したリビジョンに対応している。
- 体積に足りるほどメッシュが閉じている。
- ソース単位の仮定が正しい。
- ソリッド部品を期待しているのに中空シェルではない。
- 重複シェルを二回数えていない。
- 密度は、実際に推定したい材料状態を表している。
もっともらしい質量は、メッシュが正しい証明にはなりません。既知の寸法を一つ、健全性確認に使います。
CADから書き直すほうが、修復を推測するよりよいことが多い
元のCADモデルがまだあるなら、欠陥のあるSTLを繰り返し編集するより、そちらに戻ります。ソースボディが意図したものかを確認し、適切なテッセレーション設定で再度書き出します。
極端に粗いテッセレーションは曲面を歪め、極端に細かいテッセレーションはファイルを大きくするだけで、ネイティブCADの意味は戻しません。
下流が正確な体積や正確な形状幾何を必要とするなら、解析にはSTEPのようなソリッドCAD交換形式を残し、メッシュが実際に必要なところだけでSTLを作ります。STEPとSTLは、その違いを説明します。メッシュから元の正確なSTEP曲線や設計履歴は自動では戻りません。
修復したSTLが受け入れられるとき
修復が検証されていれば、表示や積層造形の準備には修復メッシュが適切なことがあります。基準は、ファイルが何を支配するかによります。
表示モデルなら、小さな隙間を閉じるだけで足りることがあります。プリントなら、スライサが意図したシェルを解釈することを確認します。工学的な原価なら、修復後の寸法と体積を既知のソースと比べます。加工や寸法検査では、使えるなら元のCAD幾何を優先します。
導いた体積や質量を、その場の閲覧以外で使うなら、STLを修復したことを記録します。あとでCADモデルや図面と数を比べるときの追跡可能性を残します。
短い確認リスト
STLの体積がゼロ、欠ける、疑わしいとき:
- 改名や再保存をせず、元のSTLを開く。
- ビューアがメッシュを開いている、または体積に不適と報告するかを見る。
- 隙間、切れたシェル、裏返った面、重複幾何を調べる。
- 既知の寸法一つと、意図した単位を確かめる。
- 可能なら元のCADボディから再エクスポートする。
- メッシュを修復するなら、体積や質量を使う前にソースと比べる。
- メッシュ由来の値は、適切なところでは近似とラベルする。
STLは多くのメッシュ手順に優れていますが、陰影プレビューは、ファイルが有効な物理体積を囲んでいる証拠ではありません。まずメッシュの閉包、次に単位、そのあと密度です。STLビューアで状態を確認できます。
元の記事: CADProps · https://www.cadprops.com/ja/guides/why-stl-volume-is-zero/