平滑化は「縮む」——ノイズと違って、平均しても消えない
スキャンのノイズはランダムなので、たくさんの点で円柱をフィットすれば影響はほぼ相殺されます。実測でも、ノイズを載せたまま半径をフィットした誤差は 0.05% でした。ところが定番の平滑化(Taubin・10反復)をかけると誤差は 1.41%——処理したせいで 28 倍悪化します。平滑化は頂点を近傍平均へ寄せるため、曲面が曲率中心へ向かって系統的に縮むからです(Taubin の縮みとして知られる現象。λ/μ の工夫で軽減されますが、残ります)。ランダムなノイズと違い、この系統誤差は何回測っても同じ方向に同じだけズレます。
R10mm のピンなら -0.14mm。FDM/レジンの印刷公差(±0.1〜0.2mm)と同じオーダーの誤差が、印刷前のデータ処理だけで入ってしまう計算です。角(エッジ)はさらに深刻で、箱の稜線位置の誤差は Taubin で対角比 8.2%——面取りしたようにダレます(無処理なら 0.60%)。
PartSmith の「面スナップ・デノイズ」は何が違うか
平滑化(隣の頂点と平均する)の代わりに、PartSmith は①メッシュを面のまとまりに分割し、②領域ごとに平面・円柱・球などを当てはめ、③頂点を「当てはめた面そのもの」へ射影します。面のフィットが最小二乗でノイズを殺すので、射影先にバイアスの源がありません。実測の半径バイアスは 0.04%——ノイズのまま(0.05%)より小さく、実質ゼロです。
- 稜線は動かさない——複数の面の意見が食い違う頂点(=角)は元の位置を保つので、エッジがダレない(稜線誤差 0.18% vs Taubin 8.2%)
- 説明できない所も動かさない——どの面からも遠い複雑な曲面部は「わからない所は触らない」。全実験条件で『無処理より悪化』が起きない(最大でも +0.03 ポイント)
- ノイズ量は自動推定——きれいなメッシュではほぼ何もせず、ノイズが強いほどゲートが開く(σ適応)
実スキャンでの通し検証
合成データだけでなく、実物の玩具ロボットを3Dスキャンした 456,221 面・非水密の生データでも通しで検証しました。穴埋め→面スナップ→閉ソリッド STEP 化まで自動で通り、生スキャンとの偏差は平均 0.16%・95パーセンタイル 0.30%。バウンディングボックス寸法(57×126×108mm)も実寸のまま維持されます。
使い方(3ステップ)
STL をドロップ
PartSmith にスキャンデータ(STL/OBJ)をドラッグ&ドロップ。登録不要です。
変換タブで設定を確認
「面スナップ・デノイズ」はスキャン向けに既定で ON です。穴あきスキャンなら「変換の前にメッシュの穴をふさぐ」も ON に。
STEP でダウンロード
変換結果の統計(面数・水密)を確認してダウンロード。Fusion 360 などでそのまま開けます。
正直な限界
- 特徴のない滑らかな曲面(球のような形)は、素朴な Laplacian の方が滑らかに仕上がります。面スナップの強みは「寸法と角」です。
- ノイズが非常に強い曲面部は「触らない」安全側に倒れます(壊さないことを優先する設計)。
- 平面・円柱・球が多い機械部品ほど効きます。フィギュアなど有機形状はメッシュのまま扱う方が向いています。
検証方法(数字の出どころ)
厳密な正解形状(箱・円柱・球)にガウスノイズ3水準×3シードを載せ、Laplacian/Taubin/Humphrey/TwoStep/RIMLS(論文再実装)と比較しました。指標は面の復元誤差・稜線位置誤差・フィット半径の系統誤差。ベンチスクリプトと結果表はリポジトリに同梱しており、すべて追試できます。
登録もインストールも不要。STL / OBJ をドロップするだけで 3D プレビューが立ち上がります。
無料でスキャンを STEP に変換する →