STLをSTEPに変換:メッシュがなれる最良の形、ただしそれ以上ではない

STLをドロップしてください。三角形を溶接し、書き出しソフトが残した不具合を直し、平らな部分をそれぞれ1枚の平面にまとめて、CADで開けるソリッドを組み立てます――すべてブラウザの中で、ファイルはアップロードしません。そのうえで、何ができたかを表示します:面の数、ソリッドか開いたサーフェスか、体積がSTLと合っているか。

STLを変換する →

STL→STEP 変換でできること、できないこと

STLは三角形の集まりです。元になった円柱やフィレット、スケッチはファイルに入っておらず、どの変換ツールでも取り戻せません。得られるのは平面で組んだソリッドです。メッシュが平らな所は1枚の平面に、曲がっている所は細い平面の帯になります。Fusion、SolidWorks、FreeCAD、Onshape ではソリッドとして開け、カットやポケット、平面間の計測ができます――ただし穴は帯の輪のままで、直径を変えられる穴ではありません。

本物の円柱を持つSTEPが必要なら、モデルの元データから書き出してください: OpenSCAD to STEP(英語) → パラメトリック・ジェネレーター(STEP書き出し可) →

STLをSTEPに変換する手順

  1. 01

    変換ツールを開く

    登録不要。初回は約8 MBのWebAssemblyを読み込み、ブラウザに保存されます。

  2. 02

    STLをドロップ

    バイナリでもASCIIでも、最大2,000,000三角形まで。

  3. 03

    レポートを見る

    まとめる前後の面数、ソリッドか開いたサーフェスか、STLとSTEPの体積、直した不具合を一つずつ表示します。まとめた平面はビューで確認できます。

  4. 04

    STEPをダウンロード

    AP242形式。Fusion、SolidWorks、FreeCAD、Onshape など現行のCADで読み込めます。

実際のSTL 310個でテスト

テストセット:当社ジェネレーターの印刷検証キットのSTL 135個、Prusa i3 MK3 の印刷部品45個(OpenSCADから書き出し)、OpenCascade 付属のサンプルメッシュ10個、GitHub上の公開CADプロジェクトのSTL 120個。30 MB以下のSTEPはすべて読み戻して確認しました。

変換できた数
303 / 310
変換しなかった7個は、処理の前に理由を示して断りました。平面をまとめても10万面を超え(18万〜28万三角形のキーキャップ6セットとランプシェード1個)、STEPが100 MBを超えるためです。
閉じたメッシュが有効なソリッドに
232 / 237
この232個は OpenCascade の妥当性チェックを通り、STEPから読み戻してもボディ数・面数が変わりませんでした。残る5個は自己交差しているため、ソリッドと偽らず閉じたサーフェスとして書き出しました。ほかに66個はメッシュ自体に穴があり、開いたサーフェスとして書き出しています。
STLとSTEPの体積差(最大)
0.0006%
全ソリッド中で最も差が大きかったもの。部品サイズの100万分の1以内で同一平面にある三角形だけをまとめるので、形は変わりません。
STEPの面数 / STLの三角形数(中央値)
31%
印刷部品の平面はそれぞれ1枚にまとまり、曲面は元の小面のまま残ります。

STEPファイルは大きくなります。面ごとにエッジまで含めて書き出すためです。137 KBのテスト用バー(2,812三角形 → 719面)は1.1 MBのSTEPに、117,694三角形のスキャンデータは84 MB(書き出し15秒)になりました。これでも、各面上のエッジの2Dコピー(通常の書き出しの40〜60%)は省いています。

このツールが行うこと

トポロジーだけを直し、形は動かさない

向きが逆の三角形の反転、裏返ったボディの反転、ごくわずかに離れた頂点の結合、面積ゼロの細い三角形の除去、接している2ボディが共有するエッジの分離――どれもレポートに件数を表示します。

平らな部分は1枚の面に

同一平面の隣り合う三角形をまとめ、面の中の穴は穴のまま残します。本当に平らなもの(部品サイズの100万分の1以内)だけで、曲面をつぶすことはありません。

ソリッドは本当にソリッドのときだけ

穴のあるメッシュは開いたサーフェスとして書き出し、レポートでそう伝えます。ソリッドと偽ることはありません。

中空部品の空洞はそのまま

内側のシェルは外側のソリッドからくり抜いた空洞になり、体積も合ったままです。

体積チェック

変換ごとにSTLの体積とSTEPの体積を並べて表示します。

ファイルは手元から出ない

ブラウザの中で動き、ページにアップロード機能はありません。登録不要、何も保存しません。

メッシュから作ったSTEPと元データから書き出したSTEP

同じ部品でも、STEPの中身はこれだけ違います:

STLから作ったSTEPCADの元データから書き出したSTEP
穴平らな帯の輪(STLにあった分割数のまま)正確な直径の円柱面1枚
平面それぞれ1枚の平面それぞれ1枚の平面
穴径の変更できない――描き直すフィーチャーやパラメータを変更
フィレット細い小面の列本物の丸み面
ファイルサイズ大きい(小さな部品でも数MB)小さい(数十KB)
向いている用途穴の追加、カット、相手部品の設計、CAMの荒加工すべて

よくある質問

STLをSTEPに変換するには?

変換ツールを開き、STLをドロップして、レポートを確認し「STEPをダウンロード」を押すだけです。FreeCADならPartワークベンチの「メッシュからシェイプを作成」→「ソリッドに変換」→STEPで書き出し、Fusionなら「メッシュを挿入」して「メッシュを変換」。ここではインストール不要で、ソリッドになったかどうかもすぐ分かります。

STLをSTEPにしても本物のCADモデルにならないのはなぜ?

STLには三角形しかないからです。円柱はすでに平面の輪に、フィレットは細い面の列になり、寸法やフィーチャーは最初から保存されていません。変換でできるのは三角形をきれいなソリッドに整えることまでで、元の設計を推測することはできません。編集できるモデルが必要なら、その部品を作ったCADファイルやソースに戻る必要があります。

変換したSTEPはCADソフトで開けますか?

開けます。標準的なAP242ファイルで、Fusion、SolidWorks、FreeCAD、Onshape などが読み込めます。私たちは30 MB以下のSTEPをすべて OpenCascade で読み戻し、ボディ数と体積を確認しました。面数が数万になるファイルは、どのCADでも動作が重くなります。

STEPがSTLよりずっと大きいのはなぜ?

STLは三角形1つにつき50バイトですが、STEPは面ごとに平面・エッジループ・エッジ・頂点を書くため、今回のテストでは1面あたり約1.2〜1.5 KBかかりました。導出できるエッジの2Dコピーは省いており(通常の書き出しより40〜60%小さい)、それでも大きなメッシュのSTEPは大きくなります。

変換したSTEPで穴の大きさを変えられますか?

変えられません。穴は平面の輪で、円柱のフィーチャーではないからです。CADでその面を削除して穴を開け直すことはできますが、元データで直す方が簡単です。部品が OpenSCAD や当社のジェネレーター由来なら、パラメータを変えてSTEPを書き出し直してください。

結果はソリッドになりますか?

STLが閉じていれば(どのエッジもちょうど2つの三角形に共有されていれば)ソリッドになり、OpenCascade の妥当性チェックも通ります。STLに穴がある場合は開いたサーフェスとして書き出し、開いたエッジの数をレポートに表示します。先にスライサーや Meshmixer でメッシュを修復してから変換してください。

どのくらい大きなSTLまで変換できますか?

2,000,000三角形までです。スキャンデータや彫刻のような有機的なメッシュは平面がほとんどないため、数万三角形でも数十MBのSTEPになります。先にポリゴン数を減らすのがおすすめです。

STLファイルはアップロードされますか?

されません。変換はブラウザ内の独立したオリジンで動くWebAssemblyで行い、ページにアップロード機能はありません。私たちに届くのは匿名の数値(面数、所要時間)だけで、ファイルやファイル名は届きません。

STL→STPとSTL→STEPは同じですか?

同じです。.stp と .step は同じ形式(ISO 10303-21)の2つの拡張子で、ダウンロードしたファイルを .stp に名前変更しても構いません。

逆方向は STEP→STL 変換 →

関連ページ