TechJeeper affronta l’incompatibilità 3MF tra Bambu, Cura, PrusaSlicer e Anycubic
Un piccolo tool nel browser affronta uno dei problemi più fastidiosi del formato 3MF moderno
TechJeeper Designs ha pubblicato 3MF Sanitizer, uno strumento gratuito che tenta di rendere utilizzabili in Cura, PrusaSlicer e nei software Anycubic i file 3MF creati con Bambu Studio, OrcaSlicer o scaricati da MakerWorld. Il problema affrontato è meno banale di quanto possa sembrare: un file con estensione .3mf non contiene necessariamente soltanto la mesh tridimensionale. Può includere colori applicati alle superfici, associazioni tra oggetti e filamenti, posizionamento su più piatti, parametri di stampa, informazioni della macchina, custom G-code, dati dell’AMS e numerosi file XML e JSON aggiuntivi. Bambu Studio utilizza inoltre una struttura basata sulla Production Extension 3MF insieme a metadati propri. Il risultato è che un progetto perfettamente funzionante nell’ecosistema Bambu può essere rifiutato, aperto in maniera incompleta o perdere informazioni quando viene importato in uno slicer differente. 3MF Sanitizer non converte semplicemente il file in STL e non elimina indiscriminatamente tutto ciò che non comprende: ricostruisce invece un 3MF più vicino al Core 3MF, trasferendo al nuovo pacchetto una parte delle informazioni che possono essere rappresentate in maniera più interoperabile.
Il problema nasce proprio dal fatto che 3MF è molto più di un sostituto dello STL
Lo STL descrive sostanzialmente una superficie attraverso triangoli, senza sapere quasi nulla di unità, colore, materiale o processo produttivo. 3MF è stato progettato per superare questi limiti e oggi è una specifica internazionale riconosciuta come ISO/IEC 25422:2025. Il formato utilizza un container ZIP all’interno del quale vengono archiviati XML, modelli e altre risorse. La Core Specification definisce mesh, oggetti, trasformazioni, unità e struttura fondamentale del documento; altre estensioni standardizzate aggiungono materiali e colori, informazioni di produzione, slice, beam lattice e ulteriori funzioni. L’estensibilità è intenzionale: un produttore può aggiungere informazioni necessarie al proprio workflow senza inventare un formato completamente nuovo. Il rovescio della medaglia emerge quando due applicazioni supportano subset differenti dello standard o utilizzano private extensions. In quel momento due file entrambi chiamati “3MF” possono comportarsi molto diversamente.
Il 3MF Consortium distingue infatti tra supporto Core e supporto delle estensioni
La compatibility matrix ufficiale è particolarmente utile per comprendere il problema. Bambu Studio supporta importazione ed esportazione del Core 3MF ma utilizza una implementazione indicata come “Custom” per la Production Extension. Cura supporta anch’esso il Core e viene indicato con supporto personalizzato alla Production Extension. Supportare genericamente il file 3MF non significa quindi necessariamente interpretare allo stesso modo ogni struttura aggiuntiva prodotta da un altro slicer. La Core Specification stabilisce inoltre che alcune extensions possono essere dichiarate obbligatorie: se un’applicazione non le supporta, deve rifiutare di modificare o produrre il documento anziché ignorarle e rischiare di cambiarne il significato. È un comportamento tecnicamente corretto, ma frustrante per l’utente che vuole soltanto utilizzare una geometria MakerWorld sulla propria stampante non Bambu.
Bambu Studio utilizza il 3MF come vero file di progetto
Un file MakerWorld può contenere molto più del modello. Il designer può aver già assegnato quattro colori a determinate facce, organizzato gli oggetti su diversi build plate, impostato layer height, numero di pareti, infill, supporti e temperature e collegato ogni parte a uno specifico filamento. Tutto questo rende il download estremamente comodo quando viene aperto nello stesso ecosistema in cui è nato: il modello può essere quasi pronto per lo slicing. Il problema è che parte di queste informazioni descrive una specifica macchina o una specifica architettura Bambu e non ha un equivalente diretto in Cura o su una Anycubic.
3MF Sanitizer separa quindi ciò che è trasferibile da ciò che è specifico della macchina
L’analisi del codice pubblico del progetto mostra una strategia più sofisticata della semplice eliminazione dei metadati. Lo strumento contiene una vera tabella di corrispondenza tra numerosi parametri Bambu e la terminologia utilizzata dall’ecosistema Slic3r/Prusa. wall_loops, per esempio, diventa perimeters; sparse_infill_density viene convertito in fill_density; line_width in extrusion_width; le larghezze di estrusione delle pareti esterne, interne e dell’infill vengono a loro volta mappate sui relativi parametri; enable_support diventa support_material. Anche layer height, first-layer height, top e bottom layers, brim, skirt, ironing, thin walls e diversi parametri dei tree supports vengono trasferiti quando è possibile stabilire una corrispondenza sensata. Questo significa che il file ripulito non è semplicemente un contenitore della mesh: tenta di preservare l’intenzione di stampa del designer.
La traduzione delle impostazioni ha comunque dei limiti inevitabili
Due slicer possono utilizzare algoritmi differenti anche quando i parametri hanno lo stesso nome. Impostare tre pareti è relativamente semplice da trasferire; tradurre un algoritmo di supporto, un pattern di infill o una funzione come Arachne può produrre risultati non perfettamente equivalenti. Il codice, per esempio, converte il wall_generator Bambu in arachne oppure classic e mappa alcuni pattern con nomenclature diverse. È una traduzione semantica, non una garanzia che Cura, PrusaSlicer e Bambu Studio generino esattamente lo stesso percorso utensile. Dopo la conversione il progetto deve quindi essere rislicato e controllato sul software e sulla macchina di destinazione.
Le impostazioni legate direttamente alla macchina vengono invece eliminate
Ed è probabilmente la scelta più importante per evitare che un file nato per una Bambu tenti di imporre parametri impossibili a una stampante differente. Nel codice compare una lunga lista di valori da non trasferire nel nuovo progetto: printer_model, printer_settings_id, printer_variant, printable area, printable height, bed exclusion zones, bed model e texture, G-code flavor, host type, impostazioni del print host, dati degli estrusori, nozzle volume, offset, geometrie di collisione, mappe degli estrusori, presenza del filament switcher, tempi di load/unload del materiale e numerosi parametri specifici della piattaforma. Vengono eliminate anche diverse informazioni relative all’AMS e alle mappe interne dei filamenti. È esattamente ciò che ci si aspetta da un “sanitizer”: conservare il progetto quando possibile senza trasferire alla nuova macchina i vincoli hardware della precedente.
Il tool rimuove anche il G-code già generato
Un 3MF di progetto può contenere informazioni legate a una precedente operazione di slicing. 3MF Sanitizer elimina qualsiasi entry che contenga .gcode. È una precauzione fondamentale: il G-code è già il risultato della traduzione del modello per una particolare macchina, con dimensioni, accelerazioni, temperature, purge sequence e comandi specifici. Rendere portabile il modello ma mantenere il G-code Bambu sarebbe pericoloso e contraddittorio. Il cleaned 3MF deve essere aperto nello slicer di destinazione e generare un nuovo toolpath appropriato per quella stampante.
Vengono rimossi anche slice info, custom G-code e diverse strutture proprietarie
Il codice mostra esplicitamente la rimozione di slice_info, custom_gcode, filament_settings, filament_sequence, cut_information, file JSON relativi ai singoli plate e alcuni elementi sotto auxiliaries. Vengono inoltre scartati i precedenti project_settings.config e model_settings.config: non perché tutte le informazioni contenute siano inutili, ma perché lo strumento ne estrae prima quelle considerate trasferibili e costruisce successivamente nuove configurazioni più semplici. Questa differenza è importante. “Rimuovere project_settings.config” potrebbe sembrare equivalente a perdere tutte le impostazioni; in realtà il tool legge il file originario, converte una selezione di parametri e poi genera un nuovo progetto.
La geometria viene letteralmente “flattened”
I progetti Bambu possono distribuire mesh e assembly in differenti parti del package 3MF attraverso relazioni e componenti. 3MF Sanitizer analizza i file .model, segue le relazioni tra gli oggetti, applica le trasformazioni e ricostruisce un modello centrale utilizzabile da software meno tolleranti verso la struttura originale. Non significa che la mesh venga ridisegnata o semplificata geometricamente: il concetto di flattening riguarda soprattutto la struttura del pacchetto e delle relazioni. Lo scopo è ridurre la dipendenza da caratteristiche della Production Extension e da convenzioni Bambu senza convertire il contenuto in un semplice STL.
Le assembly vengono esplicitamente preservate
La pagina del progetto mette in evidenza “Assemblies stay – One object, not exploded parts”. Anche il codice ricostruisce componenti e trasformazioni per evitare che un oggetto composto da più volumi venga importato come una serie di mesh scollegate e posizionate in modo errato. È particolarmente importante per modelli multicolore, oggetti con inserti o design composti da più solidi utilizzati per assegnare materiali differenti. Se l’unica soluzione fosse esportare tutti i pezzi in STL, l’utente dovrebbe spesso ricostruire manualmente assembly e posizionamenti.
Viene mantenuta anche l’organizzazione sui piatti
3Druck sottolinea che il tool conserva la plate division. Il codice legge le sezioni <plate> del progetto originale, individua le instance appartenenti ai singoli piatti e costruisce nuove informazioni plater_id, plater_name e model_instance. È un risultato interessante perché i progetti MakerWorld possono utilizzare più build plate per organizzare varianti, accessori o componenti dello stesso oggetto. Invece di appiattire tutto su una sola superficie, il sanitizer tenta di mantenere questa struttura logica.
I colori rappresentano una delle parti più elaborate della conversione
TechJeeper dichiara che le painted faces e l’intera palette vengono mantenute. Il codice conferma che non si limita a memorizzare “questo modello è rosso”. Recupera i colori dei filamenti, crea un set di basematerials e associa alle facce triangolari gli indici appropriati. Per i triangoli che contengono informazioni di painting vengono scritti anche attributi compatibili con la segmentazione Slic3r. In questo modo un modello multicolore dipinto direttamente in Bambu Studio ha una possibilità molto maggiore di arrivare nell’altro slicer con la distribuzione cromatica originale.
Questo non significa però che un sistema AMS venga automaticamente trasformato in ACE, MMU o qualsiasi altro hardware
Il colore della geometria e l’hardware che fisicamente gestisce le bobine sono due livelli distinti. Il sanitizer conserva palette, associazioni ed extruder assignment dove possibile, ma rimuove diverse mappe AMS e impostazioni hardware. Sarà il software di destinazione a chiedere all’utente quali colori e materiali siano caricati nella propria configurazione. Un file Bambu a quattro colori non acquisisce magicamente conoscenza di come una Anycubic con ACE Pro o una Prusa con MMU debba effettuare i cambi materiale.
Anche i parametri dei filamenti vengono in parte tradotti
Il mapping comprende colore, tipo di filamento, diametro, densità, flow ratio, maximum volumetric speed, temperature nozzle, first-layer temperature, temperature del piano, ventola e parametri di retrazione. È una quantità considerevole di informazioni e spiega perché il tool possa risultare molto più comodo dell’esportazione in STL. Ma anche qui serve cautela: la temperatura scelta dall’autore per il proprio PLA su una Bambu non è necessariamente ottimale sulla macchina dell’utente. Hotend, termistore, cooling e velocità reale possono essere differenti. Conservare il dato significa evitare di perderlo come riferimento, non certificarne l’appropriatezza universale.
Il funzionamento avviene nel browser e il file non viene inviato a un backend di conversione
La pagina dichiara esplicitamente “processing stays in your browser” e il codice della UI legge il file attraverso file.arrayBuffer(), lo passa alle funzioni JavaScript del sanitizer e genera localmente un nuovo Blob 3MF da scaricare. Le librerie JSZip e Three.js vengono utilizzate rispettivamente per manipolare il container e visualizzare le mesh. Non emerge una chiamata che carichi il modello su un server per effettuare la conversione. La pagina utilizza comunque risorse web esterne e un sistema di analytics, quindi “il file rimane nel browser” è una descrizione più precisa di “la pagina non comunica mai con Internet”.
Per progetti proprietari questo è un vantaggio concreto
Un modello scaricato da MakerWorld non è normalmente riservato, ma lo stesso strumento può essere utilizzato su 3MF generati localmente. Se il progetto contiene geometria proprietaria, poter effettuare la conversione senza inviare il file a un servizio remoto riduce un rischio di esposizione. Non trasforma naturalmente una web application in uno strumento formalmente certificato per documentazione sensibile: il codice viene caricato dal sito e l’utente deve comunque fidarsi della versione eseguita. Il fatto che il repository sia pubblico permette però di ispezionarne il comportamento o ospitarne eventualmente una copia controllata, nei limiti della licenza applicabile.
La pagina confronta visivamente file originale e file convertito
Dopo l’elaborazione vengono mostrate due viste 3D affiancate, Source e Sanitized, sincronizzate durante la rotazione. Questo non è un confronto tra due screenshot salvati nel 3MF: TechJeeper ricostruisce la visualizzazione a partire direttamente dai triangoli della mesh. La UI mostra anche numero di triangoli, numero di parti e palette. È un controllo molto utile perché una conversione che termina senza errori non garantisce da sola che assembly e trasformazioni siano rimasti corretti. L’utente può almeno verificare visivamente che il modello non abbia improvvisamente perso un componente o spostato una parte.
La preview non è però una verifica completa delle impostazioni di stampa
Due mesh visivamente identiche possono avere supporti, pareti o associazioni dei filamenti differenti. La preview serve soprattutto a verificare geometria e colori. Il controllo finale deve essere fatto aprendo il cleaned 3MF nel slicer desiderato e verificando build plate, numero di estrusori, materiali, perimetri, infill e soprattutto il risultato dopo lo slicing. Per un componente importante è consigliabile trattare il file ripulito come un progetto importato da una fonte esterna, non come un job già pronto da inviare alla stampante.
Il tool non effettua mesh repair nel senso tradizionale
Il termine “sanitizer” potrebbe far pensare a Netfabb, Microsoft 3D Builder o strumenti che cercano hole, non-manifold edges e self-intersections. Non è questo l’obiettivo principale. Se il modello contiene errori geometrici reali, 3MF Sanitizer non è stato progettato come un motore generale di mesh healing. Il suo lavoro consiste soprattutto nel normalizzare il package 3MF, appiattire la struttura Bambu/Orca e convertire metadati. Una mesh corrotta può quindi rimanere corrotta dopo la conversione.
Non converte neppure il file in un formato veramente neutrale da manufacturing
Anche il cleaned 3MF continua a includere metadati Slic3r-oriented e informazioni utili agli slicer FFF. Il codice genera per esempio configurazioni con convenzioni compatibili con Slic3r e conserva extruder assignments. È molto più interoperabile del progetto Bambu di partenza, ma non deve essere confuso con un “neutral CAD format” come STEP né con un 3MF completamente privo di informazioni di processo.
È interessante che il tool ricostruisca il Core 3MF invece di scegliere STL
Da anni uno dei workaround più semplici per un 3MF incompatibile consiste nell’aprirlo in Bambu Studio, esportare la geometria e importarla di nuovo altrove. Il problema è la perdita quasi totale delle informazioni aggiuntive. Se un oggetto è stato dipinto manualmente in sei colori, ore di lavoro possono andare perse. Se è composto da parti posizionate con precisione, bisogna ricostruirle. Mantenere 3MF come formato di output permette invece di sfruttare proprio le capacità per cui il formato è stato creato.
Bambu Studio possiede già una funzione Generic 3MF, quindi Sanitizer non è l’unica strada
È un punto importante per non descrivere lo strumento come soluzione unica a una limitazione insolubile. Bambu Studio permette da tempo di esportare versioni più generiche dei progetti. Se l’utente dispone di Bambu Studio e il file viene aperto correttamente, questa può essere una soluzione semplice. 3MF Sanitizer diventa particolarmente utile quando si vuole eseguire la trasformazione immediatamente nel browser, conservare più comodamente painted faces e designer settings o evitare di installare e utilizzare un secondo slicer soltanto per convertire un file.
Il problema è noto da anni nell’ecosistema Bambu
Già nel 2023-2024 erano presenti segnalazioni pubbliche di file 3MF generati da Bambu Studio che non venivano accettati da altri slicer. Le discussioni tecniche identificavano proprio l’uso della Production Extension e dei dati aggiuntivi del progetto come origine delle differenze. Non siamo quindi davanti a un nuovo bug comparso nel 2026. La novità è la comparsa di un piccolo strumento comunitario che automatizza una serie di operazioni precedentemente lasciate all’utente.
Il 3MF Consortium stesso mostra quanto l’interoperabilità sia più complessa dell’estensione del file
La compatibility matrix conta oltre cento applicazioni, ma per ogni prodotto distingue supporto Core, Materials, Production, Beam, Volumetric, Security e Slice. In altre parole, chiedere “questo programma apre 3MF?” è quasi equivalente a chiedere “questo browser apre un file web?” senza specificare quali funzionalità utilizzi. Core compatibility è soltanto il primo livello. Quanto più i slicer trasformano il 3MF in un vero progetto completo della stampante, tanto maggiore diventa il rischio che un altro software non sappia interpretarne ogni dettaglio.
Il fenomeno non riguarda soltanto Bambu Lab
Creality, Prusa, Anycubic, Snapmaker e altri produttori stanno tutti costruendo ecosistemi nei quali il progetto include sempre più informazioni oltre alla geometria. Secondo una dichiarazione attribuita allo sviluppatore, il sanitizer può lavorare anche con alcuni file esportati da Creality e Snapmaker rimuovendo o normalizzando elementi specifici. Il progetto nel codice si definisce infatti “Universal 3MF sanitizer” e parla di Bambu/Orca production-extension projects, anche se MakerWorld/Bambu rimangono il caso d’uso principale e meglio documentato. Non sono pubblicate matrici di test complete con tutte le versioni di ogni slicer, quindi questa compatibilità più ampia va considerata utile ma non garantita per qualsiasi file.
La mancanza di una matrice di compatibilità è uno dei limiti più evidenti
3Druck evidenzia che il progetto non specifica esattamente quali versioni di Cura, PrusaSlicer, Anycubic Slicer o Bambu Studio siano state testate. Questa informazione diventerà sempre più importante perché i formati di progetto evolvono rapidamente. Un aggiornamento di Bambu Studio può aggiungere un nuovo file al package o un nuovo valore di configurazione; allo stesso modo PrusaSlicer può cambiare modalità di interpretazione. Il sanitizer dovrà essere mantenuto attivamente per inseguire questa evoluzione.
Il codice mostra già quanto lavoro sia necessario per seguire questi cambiamenti
Il file sanitizer.js supera le millecinquecento linee effettive e contiene parsing degli assembly, conversioni delle trasformazioni, gestione dei plate, mappatura dei setting, basematerials e rewriting completo del package. Non è quindi un semplice script di dieci righe che elimina una cartella. Questo fa capire la portata del problema: una volta che il 3MF viene utilizzato come container di progetto, la compatibilità richiede conoscere il significato dei dati che si stanno eliminando o ricostruendo.
Va inoltre distinto da un altro progetto chiamato anch’esso 3MF Sanitizer
Esiste su GitHub anche un’applicazione Windows chiamata “3MF Sanitizer for Makerworld Files” sviluppata da un autore differente. Quel programma nasce principalmente per correggere valori come raft_first_layer_expansion = -1 e tree_support_wall_count = -1, che possono produrre errori in Anycubic Slicer Next. Il nuovo browser tool di TechJeeper Designs descritto da 3Druck è un progetto differente e affronta un problema più ampio: flattening della struttura Bambu/Orca, ricostruzione Core 3MF e mantenimento di colori e settings. La coincidenza del nome può facilmente generare confusione nelle ricerche.
Non tutti i valori Bambu vengono trasferiti, e questa è una caratteristica voluta
Il codice contiene una lista molto ampia di parametri da eliminare proprio perché non sarebbe sicuro o significativo portarli altrove. Un progetto veramente portabile non deve tentare di conservare ogni singolo byte. Deve distinguere tra design intent e machine implementation. Numero delle pareti, palette e posizione degli oggetti appartengono al primo gruppo; geometry of the bed, AMS configuration, print-host credentials, extruder clearance e machine change times appartengono chiaramente al secondo.
Questa distinzione potrebbe diventare importante per l’evoluzione futura del 3MF
Il successo degli ecosistemi integrati sta spingendo i file di stampa verso due funzioni diverse. Da una parte serve un formato neutrale per scambiare geometria, colori e informazioni fondamentali; dall’altra il produttore vuole salvare un progetto esattamente riproducibile sulla propria macchina, comprese configurazioni molto specifiche. Cercare di svolgere entrambe le funzioni nello stesso package crea inevitabilmente tensioni. Uno strumento come 3MF Sanitizer agisce quasi come un livello intermedio: prende un progetto ricco e specifico e ne produce una versione con un sottoinsieme di informazioni più facilmente trasportabile.
La standardizzazione non elimina quindi la necessità di traduzione
ISO/IEC 25422 standardizza il formato e le estensioni pubbliche, ma consente esplicitamente private extensions e implementazioni specifiche. La standardizzazione garantisce una grammatica comune molto migliore di STL, non obbliga ogni slicer a supportare tutte le funzioni possibili. È per questo che strumenti di conversione continueranno probabilmente a esistere anche in un mondo dove 3MF diventa dominante.
Per chi utilizza più marche di stampanti il vantaggio pratico è evidente
Un maker può scaricare un progetto complesso da MakerWorld e volerlo stampare su una Anycubic, Creality o Prusa. Ricostruire manualmente quattro colori, separare gli oggetti, assegnare nuovamente i filamenti e ricordare infill e supporti può richiedere molto più tempo della conversione stessa. Un commento della community pubblicato dopo il lancio descrive proprio questo scenario: lo stesso progetto può essere portato tra printer ecosystem differenti mantenendo un numero maggiore di informazioni rispetto alla tradizionale esportazione della sola mesh. È ancora un’esperienza iniziale e aneddotica, ma rappresenta bene il problema che TechJeeper sta cercando di risolvere.
Per l’utente resta indispensabile non confondere “si apre” con “è pronto per stampare”
Questo è probabilmente il punto tecnico più importante dell’intero progetto. Se il file ripulito entra finalmente in Cura, il problema della compatibilità del container è stato risolto. Non significa però che temperature, speeds, supporti o materiale siano corretti per la nuova macchina. Anche se il sanitizer conserva il valore filament_max_volumetric_speed, una hotend differente può avere capacità di fusione molto diversa. Anche se mantiene layer height e line width, una diversa dimensione del nozzle può richiedere una revisione. E anche se mantiene il colore delle facce, il sistema multimateriale di destinazione può imporre purge strategy e ordine dei filamenti completamente differenti.
Il workflow corretto è quindi conversione, verifica, slicing e soltanto dopo stampa
La preview Source/Sanitized serve a verificare il primo passaggio; l’apertura nello slicer verifica che assembly, colori e plate siano leggibili; la schermata dei parametri permette di controllare ciò che è stato trasferito; la preview del G-code deve infine essere analizzata come per qualsiasi progetto. Il sanitizer riduce il lavoro ripetitivo, non sostituisce il controllo dell’utente.
La scelta di lavorare nel browser rende il progetto particolarmente accessibile
Non serve installare un’applicazione dedicata né disporre di Windows. La web app è dichiarata compatibile con qualsiasi sistema operativo dotato di browser JavaScript. L’utente trascina il file, attende l’elaborazione – la pagina avverte che i progetti grandi possono richiedere fino a circa un minuto – confronta le due preview e scarica un file con suffisso _cleaned.3mf. Per un problema di interoperabilità occasionale è un’interfaccia molto più adatta di un’applicazione complessa.
Il codice pubblico offre inoltre una trasparenza utile, anche se il repository è ancora giovane
Il repository TechJeeper risultava aggiornato il 7 settembre 2026 e contava appena una manciata di interazioni pubbliche. Non è quindi un progetto maturo con anni di test e migliaia di utenti. La disponibilità del codice permette però di verificare con precisione cosa viene rimosso, come vengono mappati i parametri e quali file vengono rigenerati. È un vantaggio importante per uno strumento che modifica un progetto prima della stampa. Al momento della verifica non è evidente nel repository principale una licenza software esplicita, quindi è più prudente parlare di codice sorgente pubblico piuttosto che dedurre automaticamente condizioni di riuso da una definizione generica di “open source”.
La vera utilità di 3MF Sanitizer è quindi conservare il valore aggiunto del 3MF mentre ne riduce la dipendenza dall’ecosistema originale
Se lo strumento si limitasse a estrarre la mesh, non offrirebbe molto più di un export STL. Se cercasse invece di mantenere ogni parametro Bambu, trasferirebbe nella nuova macchina informazioni prive di significato o potenzialmente pericolose. TechJeeper cerca una via intermedia: mesh, assembly, plate, colori e un insieme significativo di parametri del designer vengono conservati; G-code e dettagli strettamente hardware vengono eliminati; il package viene ricostruito in una forma che altri slicer hanno maggiori probabilità di comprendere.
È un piccolo utility tool che mette in evidenza un problema molto più grande del singolo file MakerWorld
La stampa 3D desktop sta diventando sempre più simile al software moderno: il valore non è più soltanto nell’hardware, ma nell’ecosistema di profili, cloud, marketplace, colori e workflow. Questa integrazione rende l’esperienza molto migliore all’interno dello stesso marchio e contemporaneamente rischia di aumentare il costo del passaggio a un’altra piattaforma. Un convertitore come 3MF Sanitizer interviene esattamente in questo punto. Non elimina le differenze tra Bambu Studio, Cura, PrusaSlicer e Anycubic Slicer, ma prova a impedire che il formato del progetto diventi una barriera inutile. In questo senso il suo contributo più interessante non è riparare un errore software: è riportare il 3MF verso la funzione per cui era stato pensato fin dall’inizio, cioè trasportare più informazioni dello STL senza trasformare quelle informazioni in un vincolo permanente a un singolo ecosistema.
3MF Sanitizer – cosa fa realmente
| Funzione | Stato |
|---|---|
| Funzionamento | Nel browser |
| Sviluppatore | TechJeeper Designs |
| Costo | Gratuito |
| Codice sorgente | Pubblico su GitHub |
| Input principale | Bambu Studio / MakerWorld / Bambu-Orca 3MF |
| Output | _cleaned.3mf |
| Obiettivo | Rendere il progetto più interoperabile |
| Upload del file a un server di conversione | Non risulta dal codice: processing client-side |
| Preview Source/Sanitized | Sì |
| Conversione in STL | No |
| Mesh repair generale | No |
| Rislicing automatico | No |
Il repository dichiara esplicitamente che lo strumento “flattens Bambu Studio 3MFs” mantenendo colori e impostazioni; la UI legge il file come ArrayBuffer, lo elabora localmente in JavaScript e crea il nuovo Blob 3MF nel browser.
Informazioni che cerca di conservare
| Informazione | Gestione |
|---|---|
| Mesh/triangoli | Conservati |
| Trasformazioni | Ricostruite |
| Assembly | Conservate |
| Multi-part objects | Conservati |
| Painted faces | Conservate |
| Palette colori | Conservata |
| Filament colors | Conservati |
| Plate division | Ricostruita/conservata |
| Layer height | Tradotto |
| First layer height | Tradotto |
| Perimetri/pareti | Tradotti |
| Top/bottom layers | Tradotti |
| Infill density/pattern | Tradotti |
| Extrusion widths | Tradotte |
| Support settings | In parte tradotte |
| Brim/skirt | Tradotti |
| Ironing | Tradotto |
| Tree-support parameters | Alcuni tradotti |
| Temperature | In parte trasferite |
| Retraction | In parte trasferita |
Il mapping nel codice comprende decine di corrispondenze Bambu→Slic3r, mentre assembly, plate e colori vengono ricostruiti separatamente nel nuovo package.
Informazioni che vengono intenzionalmente rimosse
| Elemento | Motivo principale |
|---|---|
Embedded .gcode | Specifico della precedente macchina |
slice_info | Informazioni di slicing Bambu |
custom_gcode | Potenzialmente machine-specific |
filament_sequence | Ecosistema specifico |
filament_settings originali | Vengono tradotte solo le parti utili |
cut_information | Dati specifici |
plate_*.json | Struttura proprietaria |
project_settings.config originale | Sostituito con dati ripuliti |
model_settings.config originale | Ricostruito |
| Printer model / variant | Rimosso |
| Bed geometry | Rimossa |
| G-code flavor | Rimosso |
| Host settings | Rimossi |
| AMS mappings | In gran parte rimossi |
| Extruder hardware maps | Rimossi |
| Machine timing / collision data | Rimossi |
Il codice mostra esplicitamente sia la lista dei parametri hardware da scartare sia le entry interne del container che non vengono copiate nel cleaned 3MF.
Perché due file .3mf possono non essere interoperabili
| Livello 3MF | Funzione |
|---|---|
| Core | Mesh, oggetti, trasformazioni, unità |
| Materials & Properties | Colori/materiali |
| Production | Organizzazione di parti e package produttivi |
| Slice | Slice data |
| Secure Content | Cifratura |
| Private/vendor extensions | Funzioni specifiche del produttore |
3MF è oggi riconosciuto come ISO/IEC 25422:2025, ma le applicazioni possono supportare solo determinate estensioni e possono utilizzare implementazioni custom/private. La compatibility matrix ufficiale, per esempio, indica sia Bambu Studio sia Cura come Core-compatible ma con implementazioni “Custom” nella colonna Production.
