UltKit

STLをGLBに変換

STLはスライサー向け、GLBは画面表示向けの形式です。プリント用ファイルをGLBに変換すれば、ショップページやポートフォリオ、ARで実寸のまま正しい向きで表示できます。

3Dモデル変換

またはSTL, OBJ, MTL … ファイルをここにドロップ ·

1ファイルあたり最大95 MB· 最大20ファイルまで· 30分後に削除

出力

ファイルは当社のサーバーで処理され、30分後に削除されます。

このツールの使い方

  1. 1

    STLをアップロード

    バイナリ形式またはASCII形式の.stlファイルを最大20個まで追加できます(1ファイルあたり95 MBまで)。複数のパーツをまとめてアップロードすると、それぞれが個別のGLBになります。

  2. 2

    単位と向きを確認

    モデルの単位はmmです。ほとんどのスライサーやCADの出力がmmを使っています。上方向の軸はglTFに合わせてY軸が上になります。STLをインチで作成した場合は、詳細設定で単位を変更してください。

  3. 3

    GLBに変換

    GLBに変換を押し、結果をビューアにドラッグして確認します。アップロードしたファイルと変換後のファイルは30分後に削除されます。

造形用のジオメトリはそのまま引き継がれます。コンバーターが加えるのは、STLにはなかった要素です。メートル単位のスケール、Y軸が上の向き、共有された頂点、法線、基本的なマテリアルで、Webビューアが描画するのに必要なものがすべてそろいます。

STLファイルとGLBファイルの中身の違い

STL(1987年)とGLB(glTF 2.0、2017年)の比較
項目STLGLB
用途3DプリントとスライサーWeb、アプリ、ARビューア
単位保存されない。慣例的にmmメートル(仕様で固定)
上方向の軸通常はZ軸が上Y軸が上
頂点三角形ごとに繰り返し記録共有されインデックスで参照
色とマテリアル標準では非対応PBRマテリアルとテクスチャ
複数のパーツまれ。通常は1つのメッシュシーンツリーのノード

STLは1987年に生まれました。Albert Consulting Groupが、3D Systems社の初の光造形機のために作成したものです。バイナリSTLは、80バイトのヘッダー、三角形の数、そして三角形ごとに50バイト(法線1つ、頂点3つ、予備2バイト)で構成されます。スライサーが層を切り出すにはこれで十分です。しかしブラウザ向きではありません。スケールも色もなく、共有する頂点も三角形ごとに書き直されるためです。

2017年にKhronos Groupが公開したglTF 2.0は、まさにこの問題を解決します。頂点はグラフィックスカードがそのまま使えるバイナリバッファに一度だけ保存し、単位は1メートル、上方向はY軸に固定し、マテリアルは物理ベースレンダリングで記述します。GLBはglTFを1ファイルにまとめたバイナリ形式で、model-viewer、three.js、Babylon.js、ShopifyやAndroidのScene Viewerが対応しているのはそのためです。

STL

STLメッシュ

STL(stereolithography)は、1987年に 3D Systems が作成した3Dメッシュ形式です。物体の表面形状だけを三角形のリストとして記述し、色、材質、単位、シーン情報は持ちません。シンプルなため、Cura や PrusaSlicer などの3Dプリント用スライサーの標準的な入力形式になっています。曲面は多数の平らな三角形で近似されるため、滑らかなモデルではファイルがとても大きくなることがあります。

圧縮方式
–
透過
–
アニメーション
非対応
登場時期
1987 · 3D Systems
STL 変換

GLB

glTF バイナリ(GLB)

GLB は、2017年に Khronos Group が公開した 3D 伝送形式 glTF 2.0 のバイナリ形式です。ジオメトリ、PBR マテリアル、テクスチャ、アニメーションを、高速に読み込めるよう設計された1つのコンパクトなファイルにまとめます。Web 3D、AR ビューアー、Android の Scene Viewer、オンラインのモデルマーケットプレイスで広く使われています。古いデスクトップ向け 3D ツールや CAD プログラムの一部では読み込めません。

圧縮方式
–
透過
–
アニメーション
対応
登場時期
2017 · Khronos Group
GLB 変換

ブラウザや3Dビューアは、スケールのあるコンパクトなglTFファイルを前提としており、単位のないスライサー用の三角形リストは扱えません。そのため、造形用パーツをオンラインやARで表示したいときに、STLからGLBへ変換します。

STLをGLBに変換するときの重要な設定

モデルの単位
STLの1単位が何を意味していたかをコンバーターに伝えます。ミリメートルは0.001 mになるため、高さ120 mmのフィギュアはGLBでは0.12 mとなり、ARでも実物大で表示されます。
上方向の軸
スライサーやCADはZ軸が上ですが、glTFはY軸が上です。Y軸を上にするとパーツが回転し、ビューアの床の上に立った状態で表示され、仰向けに寝た状態になりません。
1つのメッシュに統合
オフにすると、別々のソリッドが個別のノードのまま残り、あとから非表示にしたり色を変えたりできます。オンにすると1つのオブジェクトになり、単体の展示物として扱いやすくなります。
ファイルのエンコード
ここでは該当しません。GLBは常にバイナリです。読みやすいJSONファイルが必要な場合は、変換先でglTFを選んでください。

3Dプリントをオンラインで見せる

GLBをGoogleのmodel-viewerウェブコンポーネントを使ったページに置くと、訪問者はパーツを回転・拡大でき、Androidではデスクの上にARで配置することもできます。

逆に、メッシュからFusion 360やSolidWorksで正確な寸法のまま編集できるデータにしたい場合は、STLをSTEPに変換をご利用ください。

STLのGLB変換に関するよくある質問

変換したGLBがグレーになるのはなぜですか?

標準のSTLには三角形しか保存されておらず、色、マテリアル、テクスチャはありません。GLBには無地のニュートラルなマテリアルが付くため、ライティングを反映して表示されます。色はあとからBlenderやthree.jsエディタで追加できます。色付きのOBJや3MFから始める場合はOBJをGLBに変換をご利用ください。

GLBはSTLと同じようにプリントできますか?

ジオメトリは同じ三角形で、メートル単位に換算し直しています。ただし、ほとんどのスライサーはSTLか3MFを推奨しているため、印刷用には元のSTLを残し、GLBは表示専用にしてください。

プリント部品に複数のボディがあります。別々のまま残せますか?

STLは通常、すべてのボディを1つの三角形の集合として保存するため、変換後も1つのメッシュになります。ASCII形式で個別のソリッドとして書き出されたSTLなら、1つのメッシュに統合をオフのままにしておけば、各ソリッドがGLB内の個別のノードになります。

GLBのファイルサイズはSTLと比べてどのくらいですか?

多くの場合、バイナリSTLより小さくなります。STLは三角形ごとに共有する頂点を繰り返し書き込みますが、glTFは各頂点を一度だけ保存し、インデックスで参照します。一般的なバイナリSTLでも目に見えて小さくなり、ASCII形式のSTLならさらに大幅に小さくなります。

STLから変換したGLBはiPhoneのARで使えますか?

iPhoneのAR QuickLookはGLBではなくUSDZを開きます。GLBをGLBをUSDZに変換でもう一度変換し、AndroidとWeb用にGLB、Apple端末用にUSDZと使い分けてください。

曲面はビューアーで角ばって見えますか?

その可能性があります。STLには平らな三角形しかなく、スムージングのデータがないためです。コンバーターは三角形から法線を計算します。STLが粗く書き出されている場合は、CADソフトでより細かい解像度で書き出し直すと滑らかになります。