Cookie di statistica e di pubblicità
Usiamo cookie di statistica e di pubblicità, entrambi inviati a Google. Rifiutare non cambia niente di quello che vedi.Leggi la pagina sulla privacy
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.
Fino a 100 file alla volta. Formati diversi insieme non sono un problema.
Vengono convertiti uno dopo l’altro e scaricati insieme in uno ZIP.
STL in GLB
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 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.
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.
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.
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.
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.
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.
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.
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.
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.
| STL | GLB | |
|---|---|---|
| Nome completo | Stereolithography | Binary glTF |
| Estensione del file | .stl | .glb |
| Tipo di media | model/stl | model/gltf-binary |
| Prima pubblicazione | 1987 | 2016 |
| Pubblicato da | 3D Systems | Khronos Group |
| Specifica | — | glTF 2.0 |
| Licenza | Standard aperto | Standard aperto |
| Situazione attuale | Attuale | Attuale |
| Si apre nel browser | Nessun browser | Nessun browser |
| Valutato al suo posto | 3MF, OBJ, PLY | GLTF, OBJ |
Blender legge sia STL sia GLB, quindi puoi confrontare il risultato con l'originale senza un secondo programma.
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.
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.
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.
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.
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.