Análise técnica detalhada
Detecção de duplicatas por hash vs. por geometria em arquivos de impressão 3D
Por Petros, que desenvolve o Meshory · Atualizado em 10 de set. de 2026 · 9 min de leitura
Sim: arquivos 3MF e STL duplicados podem ser detectados por hash, mas só as cópias exatas. Um hash de conteúdo cria uma impressão digital dos bytes de um arquivo, então agrupa cópias renomeadas com perfeição e não detecta nenhuma reexportação: salvar a mesma malha de novo gera um arquivo com bytes diferentes, que o hash trata como um modelo totalmente novo. Para pegar esses casos é preciso um segundo nível, uma impressão digital derivada da própria geometria. Esta página explica o que cada nível detecta, o que cada um deixa passar e como o Meshory roda os dois com uma fila de revisão no meio, para que nada seja limpo só pela palavra de uma máquina.
Neste guia
- Por que a comparação por nome de arquivo falha com modelos 3D
- O que um hash de conteúdo detecta e o que ele deixa passar
- O que a detecção por geometria acrescenta
- Como o Meshory roda os dois níveis
- Duplicatas escondidas dentro de arquivos ZIP, RAR, 7Z e TAR/TGZ
- Então, de qual você precisa?
- Hash vs. detecção por geometria: perguntas frequentes
Por que a comparação por nome de arquivo falha com modelos 3D
A comparação por nome falha porque modelos 3D duplicados quase nunca têm o mesmo nome de arquivo, e arquivos com o mesmo nome muitas vezes são modelos completamente diferentes. As cópias se acumulam por hábitos perfeitamente comuns: o pacote do Patreon que você baixou uma segunda vez só para recuperar um arquivo que faltava, a figura em miniatura que você salvou da página do criador no Thingiverse e de novo da página dele no Printables, a reorganização pela metade que deixou uma cópia organizada de cada modelo ao lado do original desorganizado, o pendrive de favoritos que foi despejado de volta no disco principal.
Cada um desses eventos muda o nome ou o local e deixa o modelo idêntico, que é exatamente o caso que a comparação por nome não consegue ver. E a falha inversa é igualmente comum: os exportadores geram nomes genéricos como body.stl e output_v3.stl, então comparar nomes agruparia sem hesitar arquivos que não têm nada em comum. Os nomes não trazem nenhum sinal confiável em nenhuma direção.
É por isso que toda abordagem séria é a detecção de duplicatas baseada em conteúdo: comparar o que há dentro dos arquivos, não como eles se chamam. Em modelos 3D, “o que há dentro do arquivo” tem duas camadas úteis: os bytes e a malha que esses bytes descrevem. Cada camada detecta um tipo diferente de duplicata.
O que um hash de conteúdo detecta e o que ele deixa passar
Um hash de conteúdo detecta toda cópia idêntica byte a byte de um arquivo, não importa o nome da cópia nem onde ela está. O hash é uma impressão digital compacta calculada a partir dos bytes reais do arquivo: dois arquivos com a mesma impressão digital têm o mesmo conteúdo, então cópias renomeadas, cópias em pastas esquecidas, cópias em outros discos e cópias em montagens de NAS se juntam em um único grupo. As impressões digitais também são baratas de comparar, e é isso que torna a detecção exata viável em dezenas de milhares de arquivos.
O que um hash deixa passar é tudo o que reescreve o arquivo. Para um hash, um modelo reexportado é um arquivo totalmente novo. A malha é a mesma, os bytes não. Salvar de novo por um fatiador ou programa de CAD serializa cada vértice outra vez; exportar um STL binário como ASCII (ou o contrário) muda todos os bytes; converter entre formatos, por exemplo de STL para 3MF ou de OBJ para STL, gera um contêiner diferente em torno da mesma forma. Um único byte diferente significa uma impressão digital diferente, então nenhuma dessas cópias é agrupada.
Esse é o limite honesto dos localizadores de duplicatas que usam só hash, incluindo a comparação de checksum da qual depende a maioria das ferramentas de biblioteca: eles encontram seus downloads repetidos e são estruturalmente cegos às suas reexportações.
O que a detecção por geometria acrescenta
A detecção por geometria compara a própria malha, e não os bytes que por acaso a codificam, então o mesmo modelo salvo em arquivos diferentes continua agrupado. No Meshory, cada modelo recebe uma impressão digital de geometria além do hash de conteúdo. Em STL, OBJ, 3MF e FBX, ela vem da malha como foi criada, então uma reexportação com outro nome, ou uma simples conversão para outro formato, cai no mesmo grupo de duplicatas do original mesmo sem compartilhar nenhum byte com ele. A correspondência é exata, então o modelo precisa continuar onde estava: projetos de fatiador costumam recentralizá-lo e, nesse caso, aparecem como prováveis duplicatas. Arquivos STEP descrevem superfícies de CAD em vez de uma malha, então a impressão digital deles vem da triangulação que o Meshory gera e os agrupa com outros arquivos STEP.
Existe uma terceira categoria entre “idêntico” e “diferente”: modelos 3D quase duplicados. Uma cópia que foi movida, girada, redimensionada ou teve a tesselação refeita provavelmente é o mesmo modelo. Mas provável não é certeza, e uma variante modificada de propósito merece sobreviver a uma limpeza. O Meshory mostra essas cópias separadamente como prováveis duplicatas para você revisar: elas são sinalizadas, nunca mescladas em silêncio aos grupos que você limparia em massa.
| Método | O que compara | Detecta | Deixa passar |
|---|---|---|---|
| Comparação por nome de arquivo | Só o nome | Nada de forma confiável: nomes idênticos podem ser modelos diferentes | Cópias renomeadas, reexportações, cópias quase idênticas |
| Hash de conteúdo | Os bytes do arquivo | Cópias exatas com qualquer nome, em qualquer pasta, incluindo arquivos compactados e NAS | Reexportações: mesma malha, bytes diferentes |
| Impressão digital de geometria | A própria malha | O mesmo modelo salvo de novo com outro nome ou formato, na mesma posição | Cópias movidas, como projetos de fatiador, além de variantes giradas, redimensionadas ou com nova tesselação |
| Fila de revisão | Possíveis cópias quase idênticas | Prováveis duplicatas, sinalizadas para uma decisão humana | Nada em silêncio: você confirma cada grupo |
Como o Meshory roda os dois níveis
O Meshory roda os dois níveis em uma única passada, e quem inicia essa passada é você: clique em Analyze na tela Duplicates e ele calcula o hash de conteúdo da biblioteca e, por cima, a impressão digital de geometria. Isso fica separado da varredura de propósito, porque ler cada byte de uma biblioteca na escala de terabytes não é algo que deva acontecer em segundo plano sem você pedir. O mecanismo foi preparado para aguentar uma biblioteca de 3,5 TB com 118.270 modelos, contando o conteúdo dos arquivos compactados, que é indexada por um NAS em cerca de um minuto e meio. O resultado é o localizador de STL duplicados: uma única tela Duplicates em que o dragão que você baixou três vezes com três nomes vira uma só entrada, que lista cada cópia e onde ela está.
Os dois níveis seguros, bytes idênticos e geometria idêntica, são os únicos em que as ações em massa chegam a mexer. As cópias quase idênticas ficam em quarentena na fila de prováveis duplicatas até você olhar um grupo e confirmá-lo, então um grupo que você limpa é mesmo o mesmo modelo. E a tela também é honesta no outro sentido: só modelos e arquivos compactados são apontados como duplicatas, então a imagem de prévia que um criador repetiu em cinquenta pastas não consegue soterrar as descobertas reais.
- Nada é excluído no seu lugar. O Meshory agrupa as cópias e mostra cada local; ele nunca exclui, move nem renomeia nada por conta própria. Quando você decide, Move to Trash manda as cópias que você escolheu para a Lixeira do sistema, onde ainda podem ser restauradas.
- Tudo roda localmente. A varredura, o cálculo de hash e o agrupamento acontecem no seu computador: sem upload, sem nuvem, sem conta.
- Fontes em NAS são tratadas com cuidado. A geração de impressões digitais em montagens de rede roda em um ritmo adequado a NAS e só lê arquivos cujo tamanho coincide com o de outro arquivo, e você pode pausá-la na tela Duplicates ou desligá-la totalmente.
Todos os detalhes fazem parte da detecção de duplicatas por geometria incluída em toda licença do Meshory: os dois níveis seguros, a fila de revisão e o que as ações em massa podem e não podem tocar.
Duplicatas escondidas dentro de arquivos ZIP, RAR, 7Z e TAR/TGZ
Alguns dos seus modelos duplicados nem são arquivos soltos. Eles ainda estão dentro dos arquivos compactados em que chegaram. Um pacote do Patreon que você extraiu mas guardou, um ZIP baixado duas vezes em pastas diferentes, o mesmo pacote de criador existindo uma vez como arquivo compactado e outra vez descompactado: para uma ferramenta que só varre arquivos soltos, toda essa redundância é invisível.
O Meshory trata arquivos ZIP, RAR, 7Z e TAR/TGZ como parte da biblioteca: os modelos dentro deles são indexados como entradas de primeira linha, então uma cópia enterrada em um ZIP baixado é agrupada com o arquivo solto que está ao lado dela. Você não precisa extrair nada para descobrir o que está duplicado: o conteúdo do arquivo compactado entra na mesma tela Duplicates que todo o resto.
Então, de qual você precisa?
Você precisa dos dois níveis, porque uma biblioteca real tem os dois tipos de duplicata: downloads repetidos, as cópias exatas que um hash detecta, e reexportações, em que a malha é a mesma mas os bytes são diferentes e só a comparação por geometria consegue detectá-las. Uma passada só com hash deixa o segundo tipo para trás, e é justamente esse tipo que hábitos de nome como _corrigido e _v2 mais criam. A referência sobre como os níveis funcionam no app, incluindo a fila de revisão e a correspondência no nível de pastas, é como funciona a detecção de duplicatas.
Vale manter clara uma distinção vizinha: se os seus pacotes baixados estão quebrados, e não redundantes, com furos, normais invertidas ou arestas não manifold, isso é trabalho de reparo de malha, não de duplicatas. A diferença está explicada em reparo vs. limpeza de duplicatas. E a remoção de duplicatas em si é o primeiro passo de um projeto maior; o sistema completo está no guia para organizar sua biblioteca STL.
Hash vs. detecção por geometria: perguntas frequentes
Um gerenciador de arquivos consegue detectar arquivos 3MF e STL duplicados por hash?
Um de uso geral, não. O Windows Explorer e o Finder do macOS comparam nomes, não conteúdo. Uma ferramenta dedicada consegue: um hash de conteúdo cria uma impressão digital dos bytes de cada arquivo e agrupa cópias idênticas byte a byte, seja qual for o nome ou o local. Só com hash, porém, você encontra apenas cópias exatas; um modelo reexportado tem bytes diferentes, e é por isso que o Meshory combina o hash com uma impressão digital da geometria da própria malha.
O que é detecção de duplicatas baseada em conteúdo para modelos 3D?
É a detecção que compara o que há dentro dos arquivos em vez dos nomes. Em modelos 3D, ela tem duas camadas: um hash de conteúdo no nível dos bytes, que agrupa cópias exatas independentemente do nome do arquivo, e uma impressão digital de geometria, que agrupa a mesma malha mesmo quando ela foi salva de novo com bytes diferentes, com outro nome ou em outro formato, desde que não tenha sido movida. Projetos de fatiador costumam recentralizar o modelo, então eles são sinalizados como prováveis duplicatas para revisão.
Por que um hash não detecta um STL reexportado?
Porque um hash cria uma impressão digital dos bytes, e reexportar reescreve esses bytes. Salvar a mesma malha de novo serializa outra vez cada vértice, converter um STL binário para ASCII muda todos os bytes, e exportar para outro formato muda o contêiner inteiro. Um único byte diferente gera um hash diferente, então uma ferramenta de correspondência exata vê uma reexportação como um arquivo novo. Só uma impressão digital da própria geometria liga os dois.
Como funciona a detecção de modelos 3D quase duplicados no Meshory?
Cópias deslocadas, giradas, redimensionadas ou retesseladas aparecem como prováveis duplicatas em uma fila de revisão separada. Elas nunca entram sozinhas na limpeza em massa: você abre o grupo, compara as cópias e confirma ou descarta o grupo. As ações em massa só atuam nos níveis de correspondência certa: conteúdo de arquivo idêntico e geometria idêntica.
A detecção de duplicatas funciona dentro de arquivos compactados ZIP, RAR, 7Z e TAR/TGZ?
Sim. O Meshory indexa os modelos dentro de arquivos compactados ZIP, RAR, 7Z e TAR/TGZ como itens completos da biblioteca, então uma cópia escondida em um arquivo compactado baixado é agrupada com o arquivo solto ao lado dela, sem precisar extrair nada.
O Meshory vai excluir meus arquivos duplicados automaticamente?
Nunca. O Meshory agrupa as cópias e mostra cada local para você ver a redundância; excluir, mover ou renomear qualquer coisa é sempre decisão sua. A detecção roda inteiramente no seu computador. Nada é enviado, e não há nuvem nem conta envolvidas.
Encontre as cópias que um hash não vê.
O Meshory cria uma impressão digital de cada modelo pelo conteúdo e pela geometria, agrupa as cópias entre pastas, discos, NAS e arquivos compactados, e deixa toda decisão de limpeza com você.