結果を先に:自動23件、7件は理由を示して停止
- 計画30件を30 / 30完走。accepted=trueは23件、自動成功率は76.7%。
- accepted 23件の対称P95距離は、外形対角比で中央値0.0000%、最大0.4393%。sampled最大距離は最大0.9413%。
- accepted 23件の元モデル体積差の絶対値は、中央値0.0005%、最大0.3557%。
- 残る7件はクラッシュや黙った破損ではなく、資源・部品別面数・非多様体の意味曖昧性・距離品質ゲートでFAIL-CLOSED。
数値だけでなく、各モデルについて元STL、変換後STEP、同一カメラ比較、オーバーレイの4画像を保存しました。詳細レポートには配布元URL、作者、ライセンス、元STLとSTEPのSHA256、面数、body / shell、水密性、変換経路、距離・体積差をケース別に掲載しています。
自動で止めた7件は、何が原因だったか
- 証明付き面数・資源上限 3件:522,028〜1,930,600面の単一bodyで、安全時間内に認証対象面数へ届かなかった。
- component別最低面数上限 2件:小部品を消さない面数配分では、全体30,000面の安全上限へ収まらなかった。
- 非多様体edgeの意味曖昧性 1件:接触shellを分離するか一体化するかを、入力だけから一意に決められなかった。
- 距離品質ゲート超過 1件:solid化と体積差は通ったが、元STL→STEPのP95が1.3252%となり1%上限を超えた。
この7件を『変換できたことにする』のではなく、accepted=falseのまま止めたのが元試験の結果です。以下の回収追試は別試験として扱い、元の23 accepted / 7 FAIL-CLOSEDを書き換えていません。
回収追試:5件は形状意味を変えず、2件は承認付き
7件へ原因別前処理を行い、PartSmithの本番変換workerへ再入力しました。候補STLは保存後に再読込し、生成STEPも再保存・再読込したうえで、未加工の元STLへ直接照合しています。Motor Mountは2 bodyを別STEPにしたため、最終成果物は8個です。
- Guitar Hero Cover:P95 0.3329%、bbox差0.0016%、体積差0.0009%。
- Bosch Support:P95 0.4409%、bbox差0.0094%、体積差0.0034%。
- P-40-K Bolt Pistol:P95 0.6469%、bbox差0.0019%、体積差0.0722%。
- Simple Backpack:P95 0.6086%、bbox差0.0371%、体積差0.0036%。
- Motor Mount 2成果物:どちらもP95 0.0000%、bbox差0.0000%、体積差0.0000%。
- Action Force Boat:P95 0.4097%、bbox差0.4267%。voxel体積再構築を使うため、1 solid化への明示承認が必要。
- T10x Keys:P95 0.7617%、bbox差0.7013%。voxel unionでbody意味を選ぶため、明示承認が必要。
結果は、形状意味を変えず回収可能が5 / 7件、ユーザー承認付きなら回収可能が2 / 7件でした。最終STEP 8 / 8成果物はclosed solid、free edge 0で、元STLとの直接照合ゲートにも合格しています。BoatとT10xは元STLが非多様体で正しい閉体積が一意に定まらないため、体積差を算出せず条件付き合格としました。
どのように『同じ形』を判定したか
元STLを固定
未加工の入力とSHA256を保存し、修復版だけを見て判定しないようにします。
保存物を再読込
前処理STLと最終STEPをいったん保存して読み直し、メモリ上だけの成功を除外します。
双方向に距離を測る
元STL→STEPとSTEP→元STLの両方向でサンプリングし、対称P95とsampled最大を求めます。
形状とトポロジーを確認
bbox差、体積差、closed solid、free edge、bodyの扱いを確認し、基準外はfail-closeにします。
この検証で言えること/言えないこと
- 言えること:選定した実モデル30件を現行ソースで完走し、23件を自動accepted、7件を理由付きで拒否できた。
- 言えること:拒否7件に対し、5件は意味を変えない前処理、2件は意味選択を明示した条件付き処理で、実際に品質ゲート内のSTEPを作れた。
- 言えないこと:あらゆるThingiverseモデルの成功率が76.7%であること。本30件は無作為抽出や市場シェア重み付けではありません。
- 言えないこと:Fusion 360、FreeCADその他の実製品と同等以上であること。paired non-inferiorityは未実施です。
- 言えないこと:release品質の証明。独立adversarial reviewとrelease freezeは未完了で、attested=falseを維持しています。
登録もインストールも不要。STL / OBJ をドロップするだけで 3D プレビューが立ち上がります。
PartSmithでSTLをSTEPへ変換する →