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 3MF 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.
3MF in OBJ
Il 3MF è un formato di stampa. PrusaSlicer, Cura, Bambu Studio e Microsoft 3D Builder lo leggono e lo scrivono, ma al di fuori di quella cerchia il supporto si dirada rapidamente — molti software di modellazione, CAD e rendering non hanno ancora un importatore, a più di dieci anni dalla pubblicazione della specifica da parte del consorzio 3MF.
OBJ ha il problema opposto e la virtù opposta : contiene molto meno, e tutto lo apre. Quando un componente arriva come 3MF e va modificato, misurato su un disegno, o inserito in un render, convertirlo in OBJ è di solito la strada più breve per averlo sullo schermo.
Un elemento model di un 3MF porta un attributo unit, ed è l’unico formato in questo insieme a dichiararne uno. Il convertitore lo legge e riscala la geometria in millimetri : micron di 0,001, centimetro di 10, pollice di 25,4, piede di 304,8 e metro di 1000, con il millimetro che passa invariato.
Una staffa scritta in pollici a 2,5 unità di larghezza arriva quindi nell’OBJ larga 63,5 unità. È lo stesso oggetto, descritto in millimetri, ed è la risposta giusta perché OBJ non dichiara unità e i mondi della stampa e del CAD leggono i numeri senza etichetta come millimetri. È anche l’unico punto di questa categoria in cui i numeri che si vedono dopo non sono quelli da cui si è partiti, e vale la pena saperlo prima di confrontarli con un disegno.
Un 3MF separa ciò che un oggetto è da dove va messo. La sezione resources contiene le mesh, la sezione build contiene gli item, ciascuno con il nome di un oggetto e, in opzione, una trasformazione — dodici numeri che descrivono una matrice 4×3 row-major con l’ultima colonna implicita.
OBJ non ha nulla di equivalente, quindi la trasformazione di ogni item viene applicata a una copia dei vertici dell’oggetto prima della scrittura. Le parti arrivano dove la sezione build le aveva collocate. Se lo stesso oggetto è referenziato da più item — lo stesso distanziale stampato quattro volte su un piano — si ottengono quattro gruppi con quattro copie complete della geometria, perché non c’è altro modo per esprimerlo in un formato senza instancing.
Un oggetto con un attributo name conserva il proprio nome, che diventa la riga o del gruppo nell’OBJ. Su un file di stampa multiparte è la differenza tra importare sei componenti identificabili e importare sei forme anonime, ed è quasi l’unica informazione non geometrica che sopravvive.
Gli oggetti senza nome ne ricevono uno generato, così il raggruppamento resta visibile. Vale la pena notare che la direzione conta : convertire un OBJ in 3MF perde i nomi, perché lo scrittore 3MF emette oggetti con un id e senza attributo name. L’informazione esce dal 3MF e non vi rientra.
Il 3MF è un pacchetto OPC — uno ZIP con una mappa dei content type e un file di relazioni, la stessa convenzione che usa DOCX. Un 3MF di progetto di uno slicer contiene molto oltre la geometria : profili di stampa, assegnazioni di filamento, impostazioni per oggetto, mesh di modifica, supporti forzati, layout del piano, un’anteprima e XML specifico del produttore nel suo namespace.
Il convertitore trova 3D/3dmodel.model, o in subordine qualsiasi voce che termina in .model, e ne legge la geometria. Tutto il resto dell’archivio viene ignorato. È l’ambito corretto — nulla di tutto ciò ha rappresentazione in un OBJ — ma significa che un file di progetto convertito è solo forme, e la configurazione di stampa resta nel 3MF che conviene conservare.
Il 3MF consente di definire un oggetto non con la propria mesh ma con un elemento components che elenca altri oggetti, ciascuno con la propria trasformazione. È il modo in cui il formato esprime un assemblaggio costruito da parti riutilizzabili, ed è legale e usato.
Questo convertitore legge l’elemento mesh di ciascun oggetto e non segue i components. Un oggetto definito così non contribuisce alcuna geometria, e se ogni oggetto del file è un assemblaggio di componenti la conversione termina con un messaggio che segnala l’assenza di triangoli. Se in un file convertito mancano parti visibili nello slicer, è la prima cosa da controllare — riesportare dallo slicer di solito appiattisce l’assemblaggio in mesh semplici.
Quando un 3MF ha una sezione build, vengono convertiti solo gli oggetti che i suoi item referenziano. Un oggetto nelle resources che nulla costruisce non viene scritto nell’OBJ, ed è intenzionale : la sezione build è la dichiarazione del file su cosa sia effettivamente sul piano.
C’è un caso di ripiego. Un 3MF con resources e senza alcuna sezione build — insolito ma leggibile — vede comunque i propri oggetti convertiti, poiché sono evidentemente il contenuto e non hanno un posizionamento dichiarato. Tra queste due regole, un OBJ convertito contiene ciò che il 3MF dichiarava di star producendo, e una parte che scompare era una parte che il file non rivendicava.
Il 3MF ha un modello di materiale vero : gruppi di materiali base, gruppi di colori, e un indice di proprietà su ciascun triangolo così che un singolo oggetto possa essere multicolore. Le stampanti multi-materiale lo usano e gli slicer lo scrivono. Nulla di tutto ciò viene letto, e un OBJ non ha dove metterlo — il convertitore non scrive alcuna riga mtllib e non produce file .mtl, quindi la geometria arriva materialmente vuota.
È il costo di un convertitore che porta geometria tra sei formati che concordano su pochissimo altro. Se un 3MF multi-materiale viene convertito perché qualcuno lo possa ricolorare, i colori vanno ripresi in capo al lavoro. Conservare il 3MF originale accanto all’OBJ è l’unico modo per preservare l’assegnazione.
Il file si importa in Blender, MeshLab, Maya e in qualsiasi altro programma senza configurazione. Contiene solo righe o, v e f, quindi ci si aspetta uno shading piatto — l’assenza di righe vn significa che le normali alle facce sono calcolate all’importazione — e nessun materiale.
La prima cosa che vale la pena verificare è la dimensione. L’OBJ è in millimetri per costruzione, e i software di modellazione divergono su cosa significhi un’unità senza etichetta : Blender tratta un’unità come un metro per impostazione predefinita, quindi una parte da 63,5 mm appare come un oggetto da 63,5 metri a meno che non si imposti la scala di importazione. È una questione di scala della scena e di visualizzazione, non un errore di conversione, e misurare una dimensione nota sul modello la risolve in dieci secondi.
L’OBJ è un derivato della geometria del 3MF, e la conversione non consuma il file sorgente. Conservare il 3MF accanto all’OBJ è la cosa da fare, perché contiene ancora le scelte che la conversione ha perso : il profilo di stampa, i supporti, gli assegnamenti di materiale, le mesh di modifica, la disposizione esatta dei pezzi sul piano. Un OBJ può essere ricaricato, misurato o stampato con un altro software ; il 3MF è ciò che permette di ristampare fedelmente la stessa parte domani.
Questa è la regola generale per la conversione fuori da un pacchetto di stampa : il file di partenza è il master e ogni derivato è una vista parziale. L’OBJ che esce da qui è una vista geometrica, e tutto ciò che la geometria non può esprimere resta nel 3MF da cui proviene.
| 3MF | OBJ | |
|---|---|---|
| Nome completo | 3D Manufacturing Format | Oggetto Wavefront |
| Estensione del file | .3mf | .obj |
| Tipo di media | model/3mf | model/obj |
| Prima pubblicazione | 2015 | 1992 |
| Pubblicato da | 3MF Consortium | Wavefront Technologies |
| Specifica | 3MF Core Specification | — |
| Licenza | Standard aperto | Standard aperto |
| Situazione attuale | Attuale | Attuale |
| Si apre nel browser | Nessun browser | Nessun browser |
| Valutato al suo posto | STL | GLTF, PLY, STL |
I programmi di sempre non coincidono: 3MF si apre in PrusaSlicer, Cura e Microsoft 3D Builder, OBJ in Blender, MeshLab e Maya, quindi chi riceve il risultato ha bisogno di uno del secondo gruppo.
I due puntano a lavori diversi: 3MF 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.
3MF è il formato di 3MF Consortium, pubblicato nel 2015. È descritto in 3MF Core Specification, e vale la pena conoscerlo se il file deve sopravvivere allo strumento che lo ha scritto.
OBJ viene da Wavefront Technologies e risale al 1992. Blender, MeshLab e Maya lo leggono.
OBJ è stato pubblicato nel 1992 e 3MF nel 2015. 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.
3MF 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.