PartSmithガイド・作例3DスキャンをSTEP化すると寸法が縮む——平滑化バイアスを実測したら1.4%あった

3DスキャンをSTEP化すると寸法が縮む——平滑化バイアスを実測したら1.4%あった

スキャンした部品をSTEP化して印刷したら、M3のボルトが入らない・ピンが緩い——リバースエンジニアリングでよくあるトラブルです。犯人は「スキャナの精度」だと思われがちですが、実測してみると意外な結果になりました。寸法を壊していたのは、ノイズを消すために誰もがかける平滑化(スムージング)そのものだった、という話です。

平滑化は「縮む」——ノイズと違って、平均しても消えない

スキャンのノイズはランダムなので、たくさんの点で円柱をフィットすれば影響はほぼ相殺されます。実測でも、ノイズを載せたまま半径をフィットした誤差は 0.05% でした。ところが定番の平滑化(Taubin・10反復)をかけると誤差は 1.41%——処理したせいで 28 倍悪化します。平滑化は頂点を近傍平均へ寄せるため、曲面が曲率中心へ向かって系統的に縮むからです(Taubin の縮みとして知られる現象。λ/μ の工夫で軽減されますが、残ります)。ランダムなノイズと違い、この系統誤差は何回測っても同じ方向に同じだけズレます。

デノイズ手法別の円柱半径バイアス実測比較。Taubin 1.41%に対し面スナップは0.04%
▲ 円柱(R10mm)にノイズσ=0.5%を載せてデノイズ→半径をフィットした系統誤差。定番の平滑化ほど縮み、面スナップ(青)はバイアス実質ゼロ。

R10mm のピンなら -0.14mm。FDM/レジンの印刷公差(±0.1〜0.2mm)と同じオーダーの誤差が、印刷前のデータ処理だけで入ってしまう計算です。角(エッジ)はさらに深刻で、箱の稜線位置の誤差は Taubin で対角比 8.2%——面取りしたようにダレます(無処理なら 0.60%)。

PartSmith の「面スナップ・デノイズ」は何が違うか

平滑化(隣の頂点と平均する)の代わりに、PartSmith は①メッシュを面のまとまりに分割し、②領域ごとに平面・円柱・球などを当てはめ、③頂点を「当てはめた面そのもの」へ射影します。面のフィットが最小二乗でノイズを殺すので、射影先にバイアスの源がありません。実測の半径バイアスは 0.04%——ノイズのまま(0.05%)より小さく、実質ゼロです。

「面に射影する」先行手法である MLS 射影(RIMLS 系)でも、局所平面ベースのため曲面には 0.2% 前後の曲率バイアスが残ります。プリミティブ(円柱そのもの)へ射影するのが効く理由はここにあります。

実スキャンでの通し検証

合成データだけでなく、実物の玩具ロボットを3Dスキャンした 456,221 面・非水密の生データでも通しで検証しました。穴埋め→面スナップ→閉ソリッド STEP 化まで自動で通り、生スキャンとの偏差は平均 0.16%・95パーセンタイル 0.30%。バウンディングボックス寸法(57×126×108mm)も実寸のまま維持されます。

実スキャンから変換した閉ソリッドSTEPの4方向ビュー
▲ 実スキャン(456k面・非水密)から変換した閉ソリッド STEP。全部品が保持され、CAD でブーリアンやフィレットが使える「本物のソリッド」になる。

使い方(3ステップ)

1

STL をドロップ

PartSmith にスキャンデータ(STL/OBJ)をドラッグ&ドロップ。登録不要です。

2

変換タブで設定を確認

「面スナップ・デノイズ」はスキャン向けに既定で ON です。穴あきスキャンなら「変換の前にメッシュの穴をふさぐ」も ON に。

3

STEP でダウンロード

変換結果の統計(面数・水密)を確認してダウンロード。Fusion 360 などでそのまま開けます。

正直な限界

検証方法(数字の出どころ)

厳密な正解形状(箱・円柱・球)にガウスノイズ3水準×3シードを載せ、Laplacian/Taubin/Humphrey/TwoStep/RIMLS(論文再実装)と比較しました。指標は面の復元誤差・稜線位置誤差・フィット半径の系統誤差。ベンチスクリプトと結果表はリポジトリに同梱しており、すべて追試できます。

登録もインストールも不要。STL / OBJ をドロップするだけで 3D プレビューが立ち上がります。

無料でスキャンを STEP に変換する →