STEP から GLB へ、サイズ上限内で変換:開発した機能と実測結果

2026年10月6日、3D CAD Converter 1.0.31 で実測

STEP アセンブリの入ったフォルダーを、Web の製品ビューアーや AR、ゲームエンジン向けの小さな GLB ファイルにしなければならない。バージョン 1.0.31 からは、許容できるサイズを MB で入力するだけで、3D CAD Converter がその範囲に収まる GLB を書き出します。各部品の名前と色はそのまま残ります。処理はすべてお使いの PC 上でオフラインで行われ、何もアップロードされません。オンラインの変換サービスにはアップロードサイズの上限がありますが、ここではアップロード自体がありません。

STEP ファイル

19.7 MB65 部品のアセンブリ

GLB、上限なし

60.18 MB2,100,994 三角形

GLB、上限 5 MB

4.85 MB129,368 三角形

実測結果

入力 上限なし 上限 15 MB 上限 5 MB 上限 1 MB
65 部品のアセンブリ、STEP 19.7 MB 60.18 MB2,100,994 三角形14.57 MB456,292 三角形4.85 MB129,368 三角形到達不可。最小ファイルは 4.65 MB で、上限超過として報告
23 部品のアセンブリ、STEP 8.7 MB 20.33 MB697,220 三角形14.77 MB495,428 三角形4.87 MB146,400 三角形到達不可。最小ファイルは 1.69 MB で、上限超過として報告
単一部品、IGES 2.6 MB 6.54 MB237,938 三角形6.54 MB237,938 三角形すでに上限内のため変更なし4.57 MB157,174 三角形0.96 MB26,056 三角形
単一部品、STEP 2.3 MB 3.00 MB90,740 三角形3.00 MB90,740 三角形すでに上限内のため変更なし3.00 MB90,740 三角形すでに上限内のため変更なし0.93 MB22,604 三角形

品質は「精密」。サイズは MB 表記で、1 MB は 1,000,000 バイトとして計算しています。すでに上限を下回っているファイルは変更されません。変換時間は、小さな部品で約 3 秒、65 部品のアセンブリで約 2 分でした。テスト機は他の処理で負荷がかかっていたため、正確な秒数は掲載しません。

品質「標準」では、65 部品のアセンブリは上限なしで 14.64 MB、上限 5 MB で 4.92 MB です。「精密」では 1 MB に届かない 23 部品のアセンブリも、「標準」なら収まります(0.95 MB、22,860 三角形)。

サイズ上限付きの GLB はどれも、上限なしの GLB と同じ部品名、階層、色を保っていました。

上限に収める仕組み

  1. メッシュ化は 1 回だけSTEP ファイルは、選んだ品質で 1 度だけ三角形に変換されます。
  2. 収まるまで再エクスポートファイルが上限を下回るまで、三角形を減らしてメッシュを書き出し直します。
  3. 収まる範囲で最大のディテール上限を下回る中で最も多い三角形数が得られます。選んだ品質の三角形数の 5% を下回ることはありません。
  4. 届かなければ、そう報告上限に届かない場合でも最小のファイルは書き出され、上限超過であることが明示されます。成功として報告されることはありません。

実際のコマンド

# アセンブリ 1 つ、最大 5 MB
cadconvert convert -i assembly.step -o assembly.glb --quality fine --max-size 5

# フォルダー全体、CSV レポート付き
cadconvert batch -i .\step -o .\glb -f glb --max-size 5 --report report.csv

# 監視フォルダー:新しい STEP ファイルが届くたびに GLB に変換
cadconvert watch -i .\incoming -o .\glb -f glb --max-size 5 --report report.csv

--max-size は MB 単位の値を取り、glTF と GLB の出力に対して convert、batch、watch で使えます。ファイルが上限を超えたまま終わった場合、CLI は終了コード 6 を返し、JSON の結果には withinBudget:false、レポートには OverBudget と記録されます。

アプリでは

「オプション」ステップの glTF カードにある 最大ファイルサイズ (MB) 欄。

AI エージェント向け

MCP ツール convert_cad に max_size_mb を指定できます。

修正:STEP アセンブリが 1 つの灰色メッシュになる問題

バージョン 1.0.31 より前は、STEP アセンブリを GLB にエクスポートすると 1 つの灰色メッシュになっていました。これは不具合で、同じリリースで修正しました。現在、STEP アセンブリは次の形で GLB に入ります。

部品ごとに名前付きノード 1 つ

STEP アセンブリと同じ階層で入ります。

部品と面の色

5 色のペンのモデルは 5 色すべてを保ちます。

面法線

GLB に書き込まれるようになりました。

バッチ全体を 1 つのレポートに

batch または watch に --report report.csv を付けるか、アプリの結果画面で CSV レポートをエクスポート をクリックします。ファイルごとに 1 行が出力され、入力と出力のファイルと形式、変換前後の三角形数、入力と出力のサイズ、サイズ上限、上限内かどうか、所要時間、結果、メッセージが記録されます。

できないこと

部品の位置はジオメトリに焼き込まれます。ノードの変換は単位行列です。

繰り返し使われる部品はインスタンス化されません。

IGES と BREP のファイルでは、色も構造も引き継がれません。

STEP の色名と透明度は引き継がれません。

メッシュ修復を使うと、面の色が失われることがあります。

--up-axis y を付けない限り、GLB は Z-up のままです。

お手持ちの STEP アセンブリでサイズ上限を試す無料体験版:10回まで変換、クレジットカード不要。Windows 10/11(64 ビット)。

無料体験版をダウンロード