L'accesso anticipato è aperto: licenza una tantum 34,99 USD

Approfondimento tecnico

Rilevamento dei duplicati basato su hash o sulla geometria per i file di stampa 3D

Di Petros, che sviluppa Meshory · Aggiornato il 10 set 2026 · 9 min di lettura

Sì: i file 3MF e STL duplicati si possono rilevare tramite hash, ma solo le copie esatte. Un hash del contenuto crea un'impronta dei byte di un file, quindi raggruppa perfettamente le copie rinominate e non vede affatto le riesportazioni: salvare di nuovo la stessa mesh produce un file con byte diversi, che un hash tratta come un modello completamente nuovo. Per scovarle serve un secondo livello, un'impronta ricavata dalla geometria stessa. Questa pagina spiega cosa trova ciascun livello, cosa gli sfugge e come Meshory li esegue entrambi con una coda di revisione nel mezzo, così niente viene ripulito sulla sola parola di una macchina.

Perché il confronto dei nomi file non funziona con i modelli 3D

Il confronto dei nomi file non funziona perché i modelli 3D duplicati non hanno quasi mai lo stesso nome, e i file che lo condividono sono spesso modelli completamente diversi. Le copie si accumulano con abitudini del tutto normali: il pacchetto Patreon che hai scaricato una seconda volta solo per recuperare un file mancante, la figura in miniatura che hai salvato dalla pagina Thingiverse di un creator e poi di nuovo dalla sua pagina Printables, la riorganizzazione rimasta a metà che ha lasciato una copia ordinata di ogni modello accanto all'originale non ordinato, la chiavetta USB dei preferiti che è stata riversata sul disco principale.

Ognuno di questi eventi cambia il nome o la posizione lasciando identico il modello, che è proprio il caso che il confronto dei nomi non riesce a vedere. E l'errore opposto è altrettanto comune: gli esportatori sfornano nomi generici come body.stl e output_v3.stl, quindi un confronto sui nomi raggrupperebbe allegramente file che non hanno nulla in comune. I nomi non danno alcun segnale affidabile, in nessuna delle due direzioni.

Ecco perché ogni approccio serio è il rilevamento dei duplicati basato sul contenuto: confrontare ciò che c'è nei file, non come si chiamano. Per i modelli 3D, «ciò che c'è nel file» ha due livelli utili: i byte e la mesh che quei byte descrivono. Ogni livello scova un tipo diverso di duplicato.

Cosa trova un hash del contenuto e cosa gli sfugge

Un hash del contenuto trova ogni copia identica byte per byte di un file, indipendentemente da come si chiama la copia o da dove si trova. L'hash è un'impronta compatta calcolata dai byte effettivi del file: due file con la stessa impronta hanno lo stesso contenuto, quindi copie rinominate, copie in cartelle dimenticate, copie su altri dischi e copie su unità NAS montate confluiscono tutte in un unico gruppo. Le impronte sono anche economiche da confrontare, ed è questo che rende praticabile il rilevamento esatto su decine di migliaia di file.

A un hash sfugge tutto ciò che riscrive il file. Per un hash, un modello riesportato è un file completamente nuovo. La mesh è la stessa, i byte no. Salvare di nuovo tramite uno slicer o un programma CAD riserializza ogni vertice; esportare un STL binario in ASCII (o viceversa) cambia ogni byte; convertire tra formati, per esempio da STL a 3MF o da OBJ a STL, produce un contenitore diverso attorno alla stessa forma. Un solo byte diverso significa un'impronta diversa, quindi nessuna di queste copie viene raggruppata.

Questo è il limite reale dei programmi per trovare i duplicati basati solo sull'hash, compreso il confronto dei checksum su cui si basa la maggior parte degli strumenti per librerie: trovano i tuoi download ripetuti e sono strutturalmente ciechi alle tue riesportazioni.

Cosa aggiunge il rilevamento basato sulla geometria

Il rilevamento basato sulla geometria confronta la mesh stessa invece dei byte che la codificano, così lo stesso modello salvato in file diversi viene comunque raggruppato. In Meshory ogni modello riceve un'impronta geometrica oltre all'hash del contenuto. Per STL, OBJ, 3MF e FBX deriva dalla mesh originale, quindi una riesportazione con un nome diverso, o una semplice conversione in un altro formato, finisce nello stesso gruppo di duplicati dell'originale pur non condividendo alcun byte con esso. La corrispondenza è esatta, quindi il modello deve restare dov'era: i progetti degli slicer di solito lo ricentrano e compaiono invece come probabili duplicati. I file STEP descrivono superfici CAD invece di una mesh, quindi la loro impronta deriva dalla triangolazione generata da Meshory e li raggruppa con altri file STEP.

Esiste una terza categoria tra «identico» e «diverso»: i modelli 3D quasi duplicati. Una copia spostata, ruotata, riscalata o ritassellata è probabilmente lo stesso modello. Ma probabile non vuol dire certo, e una variante modificata di proposito merita di sopravvivere a una pulizia. Meshory mostra queste copie a parte come probabili duplicati da controllare: vengono segnalate, mai unite in silenzio ai gruppi che ripuliresti in blocco.

MetodoCosa confrontaCosa trovaCosa gli sfugge
Confronto dei nomi fileSolo il nomeNiente di affidabile: nomi identici possono essere modelli diversiCopie rinominate, riesportazioni, copie quasi identiche
Hash del contenutoI byte del fileCopie esatte con qualsiasi nome, in qualsiasi cartella, archivi e NAS inclusiRiesportazioni: stessa mesh, byte diversi
Impronta geometricaLa mesh stessaLo stesso modello salvato di nuovo con un altro nome o formato, nella stessa posizioneCopie spostate come i progetti degli slicer, più varianti ruotate, riscalate o ritassellate
Coda di revisionePossibili copie quasi identicheProbabili duplicati, segnalati per una decisione umanaNiente in silenzio: confermi tu ogni gruppo

Come Meshory esegue entrambi i livelli

Meshory esegue entrambi i livelli in un solo passaggio, e quel passaggio lo avvii tu: premi Analyze nella vista Duplicates e Meshory calcola l'hash del contenuto della libreria e, in più, l'impronta geometrica. È separato dalla scansione di proposito, perché leggere ogni byte di una libreria da terabyte non è qualcosa che dovrebbe succedere in background senza che tu lo chieda. Il motore è stato messo a punto su una libreria da 3,5 TB con 118.270 modelli, contenuto degli archivi incluso, che si indicizza tramite un NAS in circa un minuto e mezzo. Il risultato è lo strumento per trovare file STL duplicati: un'unica vista Duplicates in cui il drago che hai scaricato tre volte con tre nomi diversi diventa una sola voce che elenca ogni copia e dove si trova.

I due livelli certi, byte identici e geometria identica, sono gli unici su cui agiscono le azioni in blocco. Le copie quasi identiche restano in quarantena nella coda dei probabili duplicati finché non esamini un gruppo e lo confermi, così un gruppo che ripulisci contiene davvero lo stesso modello. E la vista resta onesta anche nell'altra direzione: come duplicati vengono segnalati solo modelli e archivi, così l'immagine di anteprima che un creator ha ripetuto in cinquanta cartelle non può sommergere i risultati reali.

Tutti i dettagli fanno parte del rilevamento dei duplicati basato sulla geometria incluso in ogni licenza Meshory: entrambi i livelli certi, la coda di revisione e ciò su cui le azioni in blocco possono e non possono agire.

Duplicati nascosti dentro archivi ZIP, RAR, 7Z e TAR/TGZ

Alcuni dei tuoi modelli duplicati non sono affatto file sparsi. Sono ancora dentro gli archivi con cui sono arrivati. Un pacchetto Patreon che hai estratto ma anche conservato, uno ZIP scaricato due volte in cartelle diverse, lo stesso pacchetto di un creator presente una volta come archivio e una volta estratto: per uno strumento che scansiona solo i file sparsi, tutta questa ridondanza è invisibile.

Meshory tratta gli archivi ZIP, RAR, 7Z e TAR/TGZ come parte della libreria: i modelli al loro interno vengono indicizzati come voci a tutti gli effetti, così una copia sepolta in uno ZIP scaricato viene raggruppata con il file sciolto che le sta accanto. Non devi estrarre nulla per scoprire cosa è duplicato: il contenuto dell'archivio entra nella stessa vista Duplicates di tutto il resto.

Quindi quale ti serve?

Ti servono entrambi i livelli, perché una libreria reale contiene entrambi i tipi di duplicato: i download ripetuti, cioè le copie esatte che un hash trova, e le riesportazioni, in cui la mesh è la stessa ma i byte sono diversi e solo il confronto della geometria le trova. Un passaggio solo con hash si lascia dietro il secondo tipo, che è proprio quello che abitudini di denominazione come _fixed e _v2 creano più spesso. Il riferimento su come i livelli funzionano nell'app, compresi la coda di revisione e il confronto a livello di cartella, è come funziona il rilevamento dei duplicati.

Vale la pena tenere chiara una distinzione vicina: se i pacchetti che hai scaricato sono danneggiati anziché ridondanti, con buchi, normali invertite o spigoli non manifold, quello è un lavoro di riparazione della mesh, non di duplicati. La differenza è spiegata in riparazione o pulizia dei duplicati. E l'eliminazione dei duplicati è solo il primo passo di un progetto più grande; il sistema completo è nella guida per organizzare la tua libreria STL.

Hash o geometria: domande frequenti

Un file manager può rilevare i file 3MF e STL duplicati tramite hash?

Non uno generico. Esplora file di Windows e il Finder di macOS confrontano i nomi, non i contenuti. Uno strumento dedicato sì: un hash del contenuto crea un'impronta dei byte di ogni file e raggruppa le copie identiche byte per byte, qualunque sia il loro nome e ovunque si trovino. L'hash da solo, però, trova solo le copie esatte; un modello riesportato ha byte diversi, ed è per questo che Meshory abbina all'hash un'impronta geometrica della mesh stessa.

Che cos'è il rilevamento dei duplicati basato sul contenuto per i modelli 3D?

Un rilevamento che confronta ciò che c'è dentro i file invece dei loro nomi. Per i modelli 3D ha due livelli: un hash del contenuto a livello di byte che raggruppa le copie esatte indipendentemente dal nome del file, e un'impronta geometrica che raggruppa la stessa mesh anche quando è stata salvata di nuovo con byte diversi, con un altro nome o in un altro formato, purché non sia stata spostata. I progetti degli slicer di solito ricentrano il modello, quindi vengono invece segnalati come probabili duplicati da controllare.

Perché un hash non trova un STL riesportato?

Perché un hash è un'impronta dei byte, e riesportare un file li riscrive. Salvare di nuovo la stessa mesh riserializza ogni vertice, convertire un STL binario in ASCII cambia ogni byte ed esportare in un altro formato cambia l'intero contenitore. Basta un byte diverso per avere un hash diverso, quindi uno strumento a corrispondenza esatta vede una riesportazione come un file nuovo. Solo un'impronta della geometria stessa collega i due file.

Come funziona in Meshory il rilevamento dei modelli 3D quasi duplicati?

Le copie spostate, ruotate, riscalate o ritassellate compaiono come probabili duplicati in una coda di revisione separata. Non entrano mai da sole nella pulizia in blocco: apri il gruppo, confronti le copie e lo confermi o lo scarti. Le azioni in blocco agiscono solo sui livelli certi: contenuto del file identico e geometria identica.

Il rilevamento dei duplicati funziona dentro gli archivi ZIP, RAR, 7Z e TAR/TGZ?

Sì. Meshory indicizza i modelli contenuti negli archivi ZIP, RAR, 7Z e TAR/TGZ come voci a pieno titolo della libreria, così una copia sepolta in un archivio scaricato viene raggruppata con il file sciolto che le sta accanto, senza bisogno di estrarre nulla.

Meshory eliminerà automaticamente i miei file duplicati?

Mai. Meshory raggruppa le copie e mostra ogni posizione, così vedi la ridondanza; eliminare, spostare o rinominare qualcosa è sempre una tua scelta. Il rilevamento avviene interamente sul tuo computer. Non viene caricato nulla, e non ci sono cloud né account di mezzo.

Trova le copie che un hash non vede.

Meshory calcola un'impronta di ogni modello dal contenuto e dalla geometria, raggruppa le copie tra cartelle, dischi, NAS e archivi, e lascia a te ogni decisione sulla pulizia.