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 OBJ 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 OBJ
STL esiste per essere affettato. Porta triangoli e nient’altro, esattamente ciò che vuole uno slicer ed esattamente ciò che un’applicazione di modellazione non vuole — nessun gruppo da isolare, nessun materiale da assegnare, nessun nome da cercare, e, fondamentalmente, nessun vertice condiviso. Tutto ciò che fa un modellatore inizia selezionando parte di una mesh, e un STL non dà nulla da selezionare.
OBJ è il tipo opposto di file: testo, indicizzato, raggruppato, importato universalmente, e abbastanza vecchio che anche un pacchetto del 1998 lo legge. Non è un formato migliore di STL in astratto; è il formato che ogni strumento in una pipeline di modellazione tratta come predefinito.
Un cubo in un STL sono dodici triangoli con trentasei vertici, perché ogni triangolo porta i suoi tre angoli indipendentemente e gli otto angoli reali sono scritti quattro o cinque volte ciascuno. Importatelo invariato e ogni triangolo è un’isola a sé: Seleziona Collegati prende una sola faccia, la selezione a loop non trova alcun loop, la suddivisione produce buchi, e l’ombreggiatura liscia non ha normali condivise da mediare.
Il lettore qui unisce i vertici coincidenti prima che venga scritto qualunque cosa. La chiave di confronto è arrotondata a sei cifre decimali, perché due triangoli che si incontrano su un bordo spesso disaccordano nell’ultimo bit di un float — sei cifre sono ben sotto qualunque tolleranza stampabile. Il cubo esce con otto vertici e dodici facce, una mesh nel senso che intende un modellatore.
Una riga di commento, una riga o che nomina l’unico gruppo, poi una riga v per vertice e una riga f per triangolo. Questo è l’intero file. Gli indici sono a base uno, come richiede OBJ, e contano attraverso l’intero file piuttosto che per gruppo.
Non ci sono righe vt perché un STL non ha coordinate texture, nessuna riga vn perché le normali sono derivabili, nessuna riga usemtl perché non c’è materiale, e nessun riferimento mtllib perché non c’è libreria materiali. Qualunque cosa apra OBJ lo leggerà senza problemi.
Un STL non ha il concetto di oggetto, quindi l’OBJ ha un gruppo ed è chiamato mesh_1. Un modello assemblato da un corpo, un coperchio e una maniglia arriva come un gruppo contenente tre gusci disconnessi.
Ogni applicazione di modellazione può dividerlo. Blender lo fa con Separate By Loose Parts in modalità edit; MeshLab ha Split in Connected Components; Maya e 3ds Max hanno entrambi un equivalente. Ciò che nessuno può fare è recuperare i nomi, perché l’STL non li ha mai avuti.
Un STL memorizza una normale per faccia per triangolo. Non viene scritta nell’OBJ, e nulla si perde: una normale di faccia è completamente determinata dall’ordine di avvolgimento dei suoi tre angoli, e ogni applicazione la ricalcola all’importazione. Diversi slicer ignorano del tutto il valore memorizzato, proprio perché molti scrittori lo sbagliano.
L’assenza di normali per vertice è più interessante. Senza di esse l’importatore ne calcola di proprie, il che per una mesh saldata significa mediare sui vertici condivisi — quindi il modello arriva pronto per essere ombreggiato liscio o piatto a piacere.
Entrambi i dialetti si convertono e il file non dice quale sia. Il test usuale — il file inizia con la parola solid? — è sbagliato, perché un STL binario può contenere qualunque cosa nella sua intestazione di ottanta byte e diversi scrittori ci mettono solid, il che produce un file che sembra testo e non lo è.
Il test affidabile è aritmetico: un STL binario è esattamente 84 + 50n byte per il conteggio triangoli dichiarato nella sua intestazione, e nient’altro lo è. Se l’aritmetica non torna, il file viene decodificato come testo e ogni riga vertex viene letta.
Due effetti tirano in direzioni opposte. La saldatura rimuove la maggior parte della duplicazione: una mesh tipica ha ogni vertice condiviso da cinque o sei triangoli, quindi la lista vertici si riduce circa di quel fattore. Il testo espande ciò che resta: un float da quattro byte diventa dieci-quindici caratteri decimali.
Il risultato di solito è nello stesso intervallo con l’OBJ leggermente in vantaggio rispetto all’STL binario — un aumento piuttosto che una moltiplicazione. Il tetto gratuito qui è 100 MB, circa due milioni di triangoli STL.
Due impostazioni vale la pena controllare all’ingresso. L’asse verticale: OBJ non ha convenzione e l’importatore di Blender predefinisce Y-up, mentre un STL da un flusso CAD o di stampa è quasi sempre Z-up, quindi il modello arriva sdraiato sul viso a meno che non lo impostiate. E la scala: nessun formato dichiara un’unità.
Dopo l’importazione, la prima mossa utile su qualunque mesh CAD convertita è Merge By Distance con una soglia molto piccola, che cattura tutto ciò che la saldatura a sei decimali non ha preso perché la geometria sorgente disaccordava davvero.
La mesh è saldata ed è comunque interamente triangoli, perché è tutto ciò che l’STL ha mai contenuto. Quad e n-gon non possono essere recuperati — l’informazione su quali coppie di triangoli fossero un tempo un quad non è nel file. Scultura, operazioni booleane, decimazione e misurazione funzionano tutte bene su triangoli.
Ciò che non funziona bene è la modellazione a superficie di suddivisione, che vuole quad. Se continuerete a lavorare su questo modello, la retopologia è il passo successivo onesto: Quadriflow Remesh di Blender, ZRemesher di ZBrush o InstantMeshes danno una mesh quad in un passaggio.
In questa scheda del browser, con JavaScript ordinario. Nessun modulo WebAssembly viene scaricato, nulla viene caricato, non c’è account né limite giornaliero. Aprire il pannello di rete e convertire qualcosa è il modo per confermarlo.
Gli STL sono spesso il design di qualcun altro — il pezzo di un cliente, la geometria di un fornitore, un componente sotto accordo — e il lavoro di modellazione di questa pagina è esattamente la situazione in cui ciò è vero.
| STL | OBJ | |
|---|---|---|
| Nome completo | Stereolithography | Oggetto Wavefront |
| Estensione del file | .stl | .obj |
| Tipo di media | model/stl | model/obj |
| Prima pubblicazione | 1987 | 1992 |
| Pubblicato da | 3D Systems | Wavefront Technologies |
| Licenza | Standard aperto | Standard aperto |
| Situazione attuale | Attuale | Attuale |
| Si apre nel browser | Nessun browser | Nessun browser |
| Valutato al suo posto | 3MF, PLY | GLTF, PLY |
Blender legge sia STL sia OBJ, quindi puoi confrontare il risultato con l'originale senza un secondo programma.
I due puntano a lavori diversi: STL a la stampa 3D, OBJ a spostare dati fra programmi e la modifica. Vale la pena valutarlo prima, perché il motivo per cui esiste uno è di solito il motivo per cui l'altro risulta scomodo.
OBJ viene da Wavefront Technologies e risale al 1992. Blender, MeshLab e Maya lo leggono.
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 OBJ 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 Wavefront Object.