PartSmithガイド・作例STL→STEP変換の失敗を手動で直す方法

STL→STEP変換の失敗を手動で直す方法

変換が止まる原因は、単に「形が複雑」だからとは限りません。非多様体edge、複数bodyへの面数配分、高密度メッシュ、または元形状との誤差超過では、直し方がそれぞれ違います。このページでは、PartSmithが安全のためFAIL-CLOSEDにしたSTLを、形状を勝手に変えずに手動で整えて再変換する流れをまとめます。

最初に元STLを複製し、元ファイルのSHA256またはファイル名・更新日時を控えてください。手動修復版は別名で保存します。修復版からSTEPが作れても、それだけでは元STLと同一とは証明できません。

まずエラー表示で直す場所を決める

共通の安全手順

1

原本を保存する

元STLには上書きせず、作業用コピーを作ります。単位と外形寸法、body数も記録します。

2

メッシュを診断する

三角形数、水密性、boundary edge、non-manifold edge、連結body数、退化三角形を確認します。エラー名だけで穴埋めを始めないでください。

3

loose partを分ける

独立した部品はbodyごとに分けます。小さなねじ、キー、ピンなどを大きな本体と同じ割合で削減しないためです。

4

破損を先に直す

重複面、面積ゼロの三角形、内部面、自己交差を除去します。non-manifold edgeは、どの面同士が同じshellかを見て分離またはBoolean結合します。

5

部品ごとに軽量化する

平面部はLimited Dissolve、曲面部はQEM系のDecimateを使います。鋭い稜線、穴の縁、薄い爪、嵌合面を優先して残します。

6

保存後のSTLを再診断する

一度STLを書き出して閉じ、その保存ファイルを再度開いて、水密性、body数、法線、自己交差、単位と外形寸法を確認します。保存前のメモリ上では正常でも、STLの座標量子化や頂点統合でnon-manifoldになる場合があります。

7

PartSmithで再変換する

最初は形状を残す設定で試し、quality_failedなら面数を10,000→20,000と増やします。複数bodyは個別変換後にCADでまとめる方法も使えます。

非多様体edgeは「全穴埋め」しない

boundary edgeが0本でもnon-manifoldになることがあります。代表例は、複数の閉曲面が同じedgeで接触している状態や、同じ場所に内部面・重複面が残っている状態です。この場合、穴埋め機能は修復対象を見つけられません。問題edgeの周囲をワイヤ表示し、面の向きとつながりを見ながら、意図したshellごとに分離するか、重なったsolidをBoolean Unionします。どちらが正解か一意に決まらない場合は、PartSmithが推測しないのが正常です。

意図が『接触shellを1つのsolidとして一体化する』と明確な場合に限り、voxelまたはlevel-setで体積を再構築する方法も使えます。これは穴埋めではなく形状意味の選択です。解像度を記録し、元STLとの双方向距離とbboxを必ず測ってください。別部品として残すべきモデルへ無断で使ってはいけません。

数十万〜数百万面は段階的に減らす

高密度なwatertight STLは壊れていなくても、証明付きの削減処理が安全時間内に目標へ届かないことがあります。いきなり5,000面にせず、まず100,000面、次に50,000面、最後に20,000〜30,000面のように段階を分けると、各段階で崩れた場所を見つけやすくなります。機械部品では平面を先にLimited Dissolveし、残った曲面へQEMを使うと効率的です。有機形状は輪郭と顔・指・ベルトなどの細部を目視し、必要なら面数を多めに残します。QEMでnon-manifoldが生じる場合は、topology-preserving decimatorかmanifold維持方式へ切り替えます。

複数bodyは個別変換が最短のことがある

2つの独立bodyがそれぞれ約26,000面なら、全体では30,000面を超えても、各bodyを別STLに書き出せば安全上限内に入ります。Blenderの Separate > By Loose Parts、MeshLabの連結成分分割などで分け、部品ごとにPartSmithへ入力します。変換後はFusion 360やFreeCADで同じ座標のまま読み込み、1つのassemblyまたはcompoundとして保存します。原点を動かさずに書き出すのが重要です。

quality_failedは面数を戻して再試行する

5,000面への削減後に体積差は小さくても、曲面の距離P95だけが1%を超えることがあります。この場合は修復ではなく、近似が粗すぎるのが原因です。10,000面で再変換し、まだ不合格なら20,000面へ増やします。穴の円周、薄いクリップ、曲率の強い角へ面を優先して残すと改善しやすくなります。

極小スケールは作業中だけ拡大する

bboxが数mm以下のモデルでは、STLやOCCの絶対公差に対して形状が小さすぎ、正常な水密メッシュでもsolid化に失敗することがあります。単位が正しいと確認できている場合は、作業用コピーを1000倍してSTEP変換し、CADでSTEPを厳密に1/1000へ戻します。戻したSTEPのbbox・体積・元STLとの距離まで確認して初めて完了です。単位を推測で変える操作ではないため、倍率と原点を記録してください。

再入力前の合格チェック

上の数値はPartSmithの現行品質ゲートに合わせた目安です。修復版とSTEPだけを比較して合格しても不十分です。元STL→修復版と、修復版→STEPの両方を確認してください。大きな穴を推測で塞いだ場合や部品を削除した場合は、形状変更として明示します。

今回の失敗パターンならこう進める

実走確認:7件はどこまで回収できたか

2026-08-01にThingiverse実モデルのFAIL-CLOSED 7件へ上の手順を実行し、PartSmith本体でSTEP化した後、未加工の元STLへ直接照合しました。Motor Mountだけ2 bodyを別STEPにしたため成果物は8個で、8個すべてがclosed solid・free edge 0でした。

結論は『5件は形状意味を変えず回収可能、2件は明示承認付きなら回収可能』です。元の30件試験の23 accepted / 7 FAIL-CLOSEDは書き換えません。この追試もattested=false、release freeze前、vendor parity未主張です。

やってはいけないこと

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

STEP変換をもう一度試す →