Convertire STL in GLB

Qui converti STL in GLB gratis e senza account: trascina il file qui sopra e in un paio di secondi il risultato è pronto da scaricare. La conversione avviene dentro il tuo browser, quindi il file non viene mai caricato. Funziona allo stesso modo su Windows, macOS e Linux e anche su iPhone e Android, e continua a funzionare anche se stacchi la connessione.

  • Dove gira Nel tuo browser. Il file non viene mai caricato.
  • Ricostruito GLB funziona in modo diverso da STL. Non è quindi il degrado graduale di un codec con perdita: quello che GLB sa esprimere viene riprodotto fedelmente, e quello che lì non ha un equivalente non sopravvive affatto.
  • Limite di dimensione Fino a 100 MB per file, gratis e senza account.
  • Vale la pena saperlo Solo la geometria. Materiali, colori, texture e animazione non passano, e un modello collocato più volte torna con ogni copia fissata nella propria posizione.

Fino a 100 file alla volta. Formati diversi insieme non sono un problema.

I posti che chiedono un GLB e rifiutano un STL

Tre situazioni coprono quasi tutta questa conversione. Un campo di caricamento su un'inserzione, una piattaforma di documentazione o un sistema di contenuti che nomina `.glb` perché è ciò che il suo componente visualizzatore carica. Un collega o cliente che deve guardare una parte e non ha slicer, nessun pacchetto CAD e nessuna intenzione di installarne uno. E una funzione di realtà aumentata o anteprima costruita attorno a glTF perché è ciò su cui il web si è standardizzato.

In nessuno di questi casi chi converte sta costruendo un'applicazione 3D. Vuole un file che l'altra parte aprirà, mostrando la forma, questo pomeriggio. Vale la pena tenere presente questa cornice, perché la maggior parte dei consigli su glTF è scritta per chi assembla scene e risponde a domande che questo lettore non ha.

Un file, con il buffer impacchettato invece che codificato

Un GLB è lo stesso documento glTF con i suoi dati vertice concatenati dietro: un'intestazione di dodici byte i cui primi quattro byte compitano `glTF`, poi un blocco JSON, poi un blocco binario, ciascuno arrotondato a un confine di quattro byte. Un file, una richiesta, nulla accanto.

Conta contro l'alternativa su questo sito. Convertire un STL in `.gltf` produce anch'esso un unico file, ma deve portare i dati vertice come URI dati base64 dentro il JSON, il che costa quattro caratteri per ogni tre byte — circa il trentatré per cento — con JSON indentato sopra. Il GLB memorizza gli stessi byte direttamente, quindi è significativamente più piccolo per esattamente la stessa geometria. Se il file verrà scaricato da qualcuno, è questa la versione da inviare.

Il GLB non porta materiale, quindi il visualizzatore decide tutto

Un STL non ha colore, texture, coordinate UV né colori vertice, e il convertitore scrive una primitiva con un accessor di posizione e un accessor di indice e nessun riferimento a materiale affatto. Qualsiasi cosa appaia sullo schermo è prodotta interamente dai valori predefiniti del visualizzatore.

Ecco perché lo stesso file può sembrare un oggetto ingegnerizzato solido in un visualizzatore e una massa grigia in un altro. Il rimedio è l'illuminazione più che la conversione: `<model-viewer>` include illuminazione ambientale neutra e un attributo `shadow-intensity`, e aggiungere entrambi sono due attributi che trasformano il risultato. In three.js una mappa ambientale più una luce emisferica fa lo stesso lavoro. Se la parte richiede genuinamente un colore, si aggiunge un materiale al glTF dopo con `gltf-transform` — una piccola modifica a un documento altrimenti completo.

Z-up nell'STL, Y-up nel visualizzatore

Questo è ciò che fa pensare alla gente che la conversione sia fallita. I pacchetti CAD e l'intero mondo della stampa 3D lavorano con Z verso l'alto: il piano di stampa è il piano XY e l'altezza è Z. glTF specifica Y come verticale, e ogni visualizzatore lo segue. Nulla nella conversione ruota alcunché, perché inventare una rotazione significherebbe indovinare quale convenzione seguisse la sorgente.

Quindi una parte esportata da Fusion, SolidWorks, FreeCAD o uno slicer arriva nel visualizzatore rovesciata di novanta gradi sulla schiena. Si corregge nella scena invece che nel file: `<model-viewer>` accetta un attributo `orientation="-90deg 0 0"`, e three.js ha bisogno di una riga che imposta `object.rotation.x`. Farlo nel visualizzatore mantiene il GLB corrispondente all'STL, cosa che conta se la stessa geometria va anche a una stampante.

Millimetri nell'STL contro metri nel visualizzatore

Nessuno dei due formati dichiara un'unità. STL è trattato come millimetri da ogni slicer mai scritto; glTF è redatto come se un'unità fosse un metro. I numeri passano senza modifiche, quindi una staffa da 60 mm diventa un oggetto di sessanta unità, che un visualizzatore dimensionato per i metri rende come una staffa di sessanta metri e inquadra da molto lontano.

Si divide per 1000 nella scena, e si controlla contro una dimensione verificabile invece che a occhio. `<model-viewer>` ha un attributo `scale`; three.js ha `object.scale.setScalar(0.001)`. Se il visualizzatore sembra corretto senza scalare, l'STL probabilmente non era in millimetri, cosa da sapere prima che vada a una stampante.

Saldare l'STL prima che il GLB venga scritto

Un STL memorizza ogni triangolo come tre vertici indipendenti senza alcuna condivisione, quindi un cubo arriva come trentasei posizioni dove ne basterebbero otto. Il lettore unisce prima i vertici coincidenti, confrontando a sei cifre decimali, perché due triangoli che si incontrano su un bordo di routine sono in disaccordo nell'ultimo bit di un float.

Per un file di consegna non è un dettaglio superfluo. La forma non saldata metterebbe da quattro a sei volte più vertici nel buffer e quindi nel download, e romperebbe anche l'ombreggiatura morbida, dato che un visualizzatore che media le normali ha bisogno di vertici condivisi su cui fare la media. Il risultato è un GLB la cui geometria è sia più piccola sia meglio comportata di quanto produrrebbe una riscrittura ingenua.

Una mesh, una primitiva, una chiamata di disegno

Tutto ciò che si trova nell'STL viene scritto come una singola mesh con una singola primitiva, perché un STL non ha gruppi da preservare. È il modello più economico possibile per un renderer — una chiamata di disegno, nessun cambio di materiale — la forma giusta per una parte su una pagina prodotto o in un pannello anteprima.

La primitiva usa indici uint32 e posizioni float32 ovunque. Esistono tipi di indice più stretti che risparmierebbero un po' su un piccolo modello, ma una mesh che supera 65.535 vertici ha silenziosamente bisogno di un tipo diverso, un condizionale facile da sbagliare per pochi kilobyte. L'accessor di posizione porta `min` e `max` come richiede la specifica, ciò che permette a un visualizzatore di inquadrare il modello al caricamento invece di aprire ingrandito sul nulla.

Inviare il GLB a qualcuno senza slicer

Questo è il caso silenziosamente utile. Un collega, un cliente o un committente deve vedere una parte e non ha software per essa — inviare un STL significa spiegare cosa installare, e inviare uno screenshot significa che non possono girarlo. Un GLB si apre in un visualizzatore basato su browser senza installazione, e ogni telefono e desktop attuale può renderizzarne uno tramite una pagina.

Cosa inviare insieme: le dimensioni reali, in una frase, perché il file non le porta e il visualizzatore mostrerà qualunque scala si sia impostata. E una nota sull'orientamento se conta. Due righe di contesto trasformano un oggetto grigio che galleggia in un visualizzatore in una parte su cui qualcuno può commentare.

Quanto è grande il GLB rispetto all'STL

Di solito molto più piccolo. L'STL sono cinquanta byte per triangolo senza condivisione; il GLB memorizza ogni vertice una volta come dodici byte e ogni indice come quattro, quindi una mesh i cui vertici sono ciascuno usato da cinque o sei triangoli si comprime sostanzialmente in senso geometrico prima che venga applicata alcuna compressione.

Il tetto gratuito è 100 MB, circa due milioni di triangoli STL. Ben prima di quello, un modello diventa scomodo da caricare in un browser — poche centinaia di migliaia di triangoli è un limite superiore sensato per qualcosa che un visitatore aprirà da telefono. Se l'STL è più denso di così, si decima prima di convertire; `gltf-transform` può anche applicare compressione Draco al GLB risultante, tenendo presente che un file compresso Draco non può essere riconvertito su questo sito.

Dove viene convertito l'STL, e cosa lascia la macchina

Nulla. La conversione è puro JavaScript in questa scheda, senza modulo WebAssembly da scaricare, nessun caricamento, nessun account e nessun limite giornaliero. La scheda Rete durante una conversione è il controllo.

È il punto rilevante per una parte in preparazione per un'inserzione o una revisione cliente, perché il modello è spesso inedito e spesso di qualcun altro. Una conversione che non trasmette mai la geometria rimuove del tutto la domanda invece di rispondervi con una politica sulla privacy.

Come convertire STL in GLB

  1. Trascina il tuo file STL su questa pagina, oppure fai clic per sceglierne uno.
  2. Scegli GLB come destinazione. La conversione avviene nel tuo browser e il file non viene caricato.
  3. Scarica il file GLB finito.

STL o GLB: cosa cambia

STL a confronto con GLB
STLGLB
Nome completoStereolithographyBinary glTF
Estensione del file.stl.glb
Tipo di mediamodel/stlmodel/gltf-binary
Prima pubblicazione19872016
Pubblicato da3D SystemsKhronos Group
SpecificaglTF 2.0
LicenzaStandard apertoStandard aperto
Situazione attualeAttualeAttuale
Si apre nel browserNessun browserNessun browser
Valutato al suo posto3MF, OBJ, PLYGLTF, OBJ

Aprire il risultato

Blender legge sia STL sia GLB, quindi puoi confrontare il risultato con l'originale senza un secondo programma.

A che cosa serve ciascun formato

I due puntano a lavori diversi: STL a la stampa 3D, GLB a il web e consegnare un file finito. Vale la pena valutarlo prima, perché il motivo per cui esiste uno è di solito il motivo per cui l'altro risulta scomodo.

GLB viene da Khronos Group e risale al 2016, descritto in glTF 2.0. Blender, three.js e Babylon.js lo leggono.

STL è stato pubblicato nel 1987 e GLB nel 2016. Il più vecchio è in genere il file più sicuro da consegnare; il più recente fa lo stesso lavoro con meno byte.

Da STL a GLB: domande frequenti

Il mio file STL viene caricato da qualche parte?

No. Questa conversione avviene interamente nel tuo browser, quindi il file non esce dal tuo dispositivo. Puoi controllarlo da solo: apri la scheda di rete degli strumenti per sviluppatori e converti qualcosa. Vedrai la pagina stessa e le richieste di statistica e di pubblicità con cui questo servizio si paga, e nemmeno una che porti il tuo file.

Convertire STL in GLB è gratis?

Sì. Senza account, senza filigrana e senza una quota giornaliera da consumare: gira sulla tua macchina, quindi puoi tornare quante volte vuoi. Il browser lavora file fino a 100 MB, 100 per volta.

Si perde qualità convertendo STL in GLB?

STL e GLB descrivono il contenuto in modi radicalmente diversi. La conversione è quindi una ricostruzione e non una copia: fedele, ma non identica byte per byte. Solo la geometria. Materiali, colori, texture e animazione non passano, e un modello collocato più volte torna con ogni copia fissata nella propria posizione.

Devo installare qualcosa per aprire un file GLB?

Per la conversione no: avviene nel browser che hai già aperto. Per aprire il risultato ti serve poi il programma con cui il tuo dispositivo mostra di solito Binary glTF.

Altro su questi formati