PartSmithガイド・作例実モデル30件でSTL→STEP変換を通し検証

実モデル30件でSTL→STEP変換を通し検証

配布STLは、単純な箱だけではありません。薄肉、穴、多body、非水密、高密度な自由曲面を含むThingiverse実モデル30件を、PartSmithの現行ソースで最後まで走らせました。自動変換は23件がaccepted、7件は安全側にFAIL-CLOSED。さらに7件すべてへ原因別の回収手順を実走し、最終STEPを未加工の元STLへ直接照合しました。

評価境界:2026-08-01時点のcurrent-source検証です。attested=false、release freeze前であり、外部GTおよび実他社製品とのpaired non-inferiorityは未実施です。synthetic corpusや本30件の合格を、他社製品との同等性へ読み替えていません。

結果を先に:自動23件、7件は理由を示して停止

数値だけでなく、各モデルについて元STL、変換後STEP、同一カメラ比較、オーバーレイの4画像を保存しました。詳細レポートには配布元URL、作者、ライセンス、元STLとSTEPのSHA256、面数、body / shell、水密性、変換経路、距離・体積差をケース別に掲載しています。

自動で止めた7件は、何が原因だったか

この7件を『変換できたことにする』のではなく、accepted=falseのまま止めたのが元試験の結果です。以下の回収追試は別試験として扱い、元の23 accepted / 7 FAIL-CLOSEDを書き換えていません。

回収追試:5件は形状意味を変えず、2件は承認付き

7件へ原因別前処理を行い、PartSmithの本番変換workerへ再入力しました。候補STLは保存後に再読込し、生成STEPも再保存・再読込したうえで、未加工の元STLへ直接照合しています。Motor Mountは2 bodyを別STEPにしたため、最終成果物は8個です。

結果は、形状意味を変えず回収可能が5 / 7件、ユーザー承認付きなら回収可能が2 / 7件でした。最終STEP 8 / 8成果物はclosed solid、free edge 0で、元STLとの直接照合ゲートにも合格しています。BoatとT10xは元STLが非多様体で正しい閉体積が一意に定まらないため、体積差を算出せず条件付き合格としました。

どのように『同じ形』を判定したか

1

元STLを固定

未加工の入力とSHA256を保存し、修復版だけを見て判定しないようにします。

2

保存物を再読込

前処理STLと最終STEPをいったん保存して読み直し、メモリ上だけの成功を除外します。

3

双方向に距離を測る

元STL→STEPとSTEP→元STLの両方向でサンプリングし、対称P95とsampled最大を求めます。

4

形状とトポロジーを確認

bbox差、体積差、closed solid、free edge、bodyの扱いを確認し、基準外はfail-closeにします。

この検証で言えること/言えないこと

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

PartSmithでSTLをSTEPへ変換する →