Analyse technique approfondie
Détection des doublons par hash ou par géométrie pour les fichiers d'impression 3D
Par Petros, qui développe Meshory · Mis à jour le 10 sept. 2026 · 9 min de lecture
Oui : les fichiers 3MF et STL en double peuvent être détectés par hash, mais seulement les copies exactes. Un hash du contenu calcule une empreinte des octets d'un fichier : il regroupe parfaitement les copies renommées et rate complètement les réexportations. Réenregistrer le même maillage produit un fichier aux octets différents, qu'un hash traite comme un modèle entièrement nouveau. Pour les repérer, il faut un deuxième niveau, une empreinte tirée de la géométrie elle-même. Cette page explique ce que chaque niveau repère, ce que chacun rate, et comment Meshory utilise les deux avec une file de vérification entre eux, pour que rien ne soit nettoyé sur la seule parole d'une machine.
Dans ce guide
- Pourquoi la comparaison des noms de fichiers échoue pour les modèles 3D
- Ce qu'un hash du contenu repère, et ce qu'il rate
- Ce qu'apporte la détection par géométrie
- Comment Meshory combine les deux niveaux
- Les doublons cachés dans les archives ZIP, RAR, 7Z et TAR/TGZ
- Alors, lequel vous faut-il ?
- Détection par hash ou par géométrie : questions fréquentes
Pourquoi la comparaison des noms de fichiers échoue pour les modèles 3D
La comparaison des noms échoue parce que les modèles 3D en double ne portent presque jamais le même nom de fichier, et que des fichiers qui en partagent un sont souvent des modèles complètement différents. Les copies s'accumulent au fil d'habitudes tout à fait ordinaires : le pack Patreon téléchargé une deuxième fois juste pour récupérer un fichier manquant, la figurine enregistrée depuis la page Thingiverse d'un créateur puis depuis sa page Printables, la réorganisation à moitié faite qui a laissé une copie triée de chaque modèle à côté de l'original non trié, la clé USB de favoris reversée sur le disque principal.
Chacun de ces événements change le nom ou l'emplacement tout en laissant le modèle identique, et c'est exactement le cas que la comparaison des noms ne peut pas voir. L'erreur inverse est tout aussi courante : les logiciels d'export produisent à la chaîne des noms génériques comme body.stl et output_v3.stl, si bien qu'une comparaison par nom regrouperait sans hésiter des fichiers qui n'ont rien en commun. Les noms ne donnent aucune indication fiable, dans un sens comme dans l'autre.
C'est pourquoi toute approche sérieuse repose sur la détection des doublons basée sur le contenu : comparer ce que contiennent les fichiers, pas leur nom. Pour les modèles 3D, « ce que contient le fichier » se lit à deux niveaux utiles : les octets, et le maillage que ces octets décrivent. Chaque niveau repère un type de doublon différent.
Ce qu'un hash du contenu repère, et ce qu'il rate
Un hash du contenu repère toutes les copies d'un fichier identiques à l'octet près, quels que soient leur nom et leur emplacement. Le hash est une empreinte compacte calculée à partir des octets réels du fichier : deux fichiers ayant la même empreinte ont le même contenu, si bien que les copies renommées, les copies dans des dossiers oubliés, sur d'autres disques ou sur des montages NAS se retrouvent toutes dans un même groupe. Les empreintes sont aussi peu coûteuses à comparer, ce qui rend la détection exacte praticable sur des dizaines de milliers de fichiers.
Ce qu'un hash rate, c'est tout ce qui réécrit le fichier. Pour un hash, un modèle réexporté est un fichier entièrement nouveau. Le maillage est le même, les octets ne le sont pas. Réenregistrer via un slicer ou un logiciel de CAO réécrit chaque sommet, exporter un STL binaire en ASCII (ou l'inverse) change chaque octet, et convertir d'un format à l'autre, par exemple de STL vers 3MF ou d'OBJ vers STL, produit une enveloppe différente autour de la même forme. Un seul octet différent donne une empreinte différente : aucune de ces copies n'est donc regroupée.
C'est la limite honnête des détecteurs de doublons qui ne reposent que sur un hash, y compris la comparaison de sommes de contrôle utilisée par la plupart des outils de bibliothèque : ils trouvent vos fichiers retéléchargés, mais sont structurellement aveugles à vos réexportations.
Ce qu'apporte la détection par géométrie
La détection par géométrie compare le maillage lui-même plutôt que les octets qui l'encodent, si bien que le même modèle enregistré dans des fichiers différents est quand même regroupé. Dans Meshory, chaque modèle reçoit une empreinte géométrique en plus du hash du contenu. Pour les fichiers STL, OBJ, 3MF et FBX, elle provient du maillage d'origine : une réexportation sous un autre nom, ou une simple conversion vers un autre format, rejoint le même groupe de doublons que l'original sans partager un seul octet avec lui. La correspondance est exacte, donc le modèle doit rester à sa place : les projets de slicer le recentrent généralement et apparaissent plutôt comme doublons probables. Les fichiers STEP décrivent des surfaces CAO et non un maillage : leur empreinte est donc tirée de la triangulation générée par Meshory, et les regroupe avec d'autres fichiers STEP.
Il existe une troisième catégorie entre « identique » et « différent » : les modèles 3D quasi identiques. Une copie déplacée, pivotée, redimensionnée ou remaillée est probablement le même modèle. Mais « probablement » n'est pas une certitude, et une variante modifiée volontairement mérite de survivre à un nettoyage. Meshory les présente à part, comme doublons probables à vérifier : ils sont signalés, jamais fusionnés en silence dans les groupes que vous nettoieriez en masse.
| Méthode | Ce qu'elle compare | Repère | Rate |
|---|---|---|---|
| Comparaison des noms de fichiers | Le nom seulement | Rien de façon fiable : des noms identiques peuvent désigner des modèles différents | Copies renommées, réexportations, quasi-copies |
| Hash du contenu | Les octets du fichier | Copies exactes sous n'importe quel nom, dans n'importe quel dossier, archives et NAS compris | Réexportations : même maillage, octets différents |
| Empreinte géométrique | Le maillage lui-même | Le même modèle réenregistré sous un autre nom ou un autre format, dans la même position | Copies déplacées comme les projets de slicer, ainsi que les variantes pivotées, redimensionnées ou remaillées |
| File de vérification | Quasi-copies potentielles | Doublons probables, signalés pour une décision humaine | Rien en silence : vous confirmez chaque groupe |
Comment Meshory combine les deux niveaux
Meshory exécute les deux niveaux en une seule passe, et c'est vous qui la lancez : cliquez sur Analyze dans la vue Duplicates, et il calcule le hash du contenu de la bibliothèque puis l'empreinte géométrique. Cette passe est volontairement séparée du scan, car lire chaque octet d'une bibliothèque de plusieurs téraoctets n'est pas une chose qui devrait se faire en arrière-plan sans qu'on le demande. Le moteur a été éprouvé sur une bibliothèque de 3,5 To contenant 118 270 modèles, contenu des archives compris, qui s'indexe via un NAS en une minute et demie environ. Le résultat, c'est le détecteur de doublons STL : une seule vue Duplicates, où le dragon téléchargé trois fois sous trois noms devient une seule entrée qui liste chaque copie et son emplacement.
Les deux niveaux certains, octets identiques et géométrie identique, sont les seuls auxquels les actions en masse touchent. Les quasi-copies restent en quarantaine dans la file des doublons probables jusqu'à ce que vous examiniez un groupe et le confirmiez : un groupe que vous nettoyez est donc vraiment le même modèle. La vue reste aussi honnête dans l'autre sens : seuls les modèles et les archives sont signalés comme doublons, si bien que l'image d'aperçu qu'un créateur a répétée dans cinquante dossiers ne peut pas noyer les vrais résultats.
- Rien n'est supprimé à votre place. Meshory regroupe les copies et affiche chaque emplacement, mais ne supprime, ne déplace ni ne renomme jamais rien de lui-même. Quand vous le décidez, Move to Trash envoie les copies choisies dans la corbeille du système, d'où elles peuvent encore être restaurées.
- Tout se passe en local. Le scan, le calcul des hash et le regroupement ont lieu sur votre machine : pas d'envoi en ligne, pas de cloud, pas de compte.
- Les sources NAS sont ménagées. Sur les montages réseau, le calcul des empreintes tourne à un rythme adapté aux NAS et ne lit que les fichiers dont la taille correspond à celle d'un autre fichier. Vous pouvez le mettre en pause depuis la vue Duplicates ou le désactiver complètement.
Le fonctionnement complet fait partie de la détection des doublons par géométrie incluse dans chaque licence Meshory : les deux niveaux certains, la file de vérification, et ce que les actions en masse peuvent toucher ou non.
Les doublons cachés dans les archives ZIP, RAR, 7Z et TAR/TGZ
Certains de vos modèles en double ne sont pas du tout des fichiers isolés. Ils sont encore dans les archives avec lesquelles ils sont arrivés. Un pack Patreon extrait mais conservé, un ZIP téléchargé deux fois dans des dossiers différents, le même pack de créateur présent une fois en archive et une fois décompressé : pour un outil qui n'analyse que les fichiers isolés, toute cette redondance est invisible.
Meshory considère les archives ZIP, RAR, 7Z et TAR/TGZ comme faisant partie de la bibliothèque : les modèles qu'elles contiennent sont indexés comme des entrées à part entière, si bien qu'une copie enfouie dans un ZIP téléchargé est regroupée avec le fichier isolé posé juste à côté. Vous n'avez rien à extraire pour savoir ce qui est en double : le contenu des archives rejoint la même vue Duplicates que tout le reste.
Alors, lequel vous faut-il ?
Il vous faut les deux niveaux, car une vraie bibliothèque contient les deux types de doublons : les fichiers retéléchargés, copies exactes qu'un hash repère, et les réexportations, où le maillage est le même mais les octets diffèrent, que seule la comparaison de géométrie repère. Une passe basée uniquement sur le hash laisse passer le second type, justement celui que des habitudes de nommage comme _fixed et _v2 produisent le plus. La référence sur le fonctionnement des niveaux dans l'application, y compris la file de vérification et la correspondance au niveau des dossiers, se trouve dans comment fonctionne la détection des doublons.
Une distinction voisine mérite d'être gardée en tête : si vos packs téléchargés sont cassés plutôt que redondants, avec des trous, des normales inversées ou des arêtes non manifold, c'est un travail de réparation de maillage, pas de doublons. La différence est détaillée dans réparation ou nettoyage des doublons. Et l'élimination des doublons n'est que la première étape d'un projet plus large : la méthode complète se trouve dans le guide pour organiser ses fichiers STL.
Détection par hash ou par géométrie : questions fréquentes
Un gestionnaire de fichiers peut-il détecter les fichiers 3MF et STL en double par hash ?
Pas un gestionnaire généraliste. L'Explorateur de Windows et le Finder de macOS comparent les noms, pas le contenu. Un outil dédié, oui : un hash du contenu calcule une empreinte des octets de chaque fichier et regroupe les copies identiques à l'octet près, quels que soient leur nom et leur emplacement. Le hash seul ne trouve cependant que les copies exactes. Un modèle réexporté a des octets différents, et c'est pourquoi Meshory associe le hash à une empreinte géométrique du maillage lui-même.
Qu'est-ce que la détection des doublons basée sur le contenu pour les modèles 3D ?
Une détection qui compare le contenu des fichiers plutôt que leur nom. Pour les modèles 3D, elle comporte deux niveaux : un hash du contenu, au niveau des octets, qui regroupe les copies exactes quel que soit le nom du fichier, et une empreinte géométrique qui regroupe le même maillage même s'il a été réenregistré avec des octets différents, sous un autre nom ou dans un autre format, tant qu'il n'a pas été déplacé. Les projets de slicer recentrent généralement le modèle : ils sont donc plutôt signalés comme doublons probables, à vérifier.
Pourquoi un hash ne repère-t-il pas un STL réexporté ?
Parce qu'un hash prend l'empreinte des octets, et qu'un nouvel export les réécrit. Enregistrer à nouveau le même maillage resérialise chaque sommet, convertir un STL binaire en ASCII change chaque octet, et exporter vers un autre format change tout le conteneur. Un seul octet différent donne un hash différent : un outil de correspondance exacte voit donc un nouvel export comme un nouveau fichier. Seule une empreinte de la géométrie elle-même relie les deux.
Comment fonctionne la détection des quasi-doublons de modèles 3D dans Meshory ?
Les copies déplacées, pivotées, redimensionnées ou remaillées apparaissent comme doublons probables dans une file de vérification séparée. Elles ne rejoignent jamais d'elles-mêmes le nettoyage en masse : vous ouvrez le groupe, comparez les copies, puis confirmez ou rejetez le groupe. Les actions en masse ne portent que sur les niveaux certains : contenu de fichier identique et géométrie identique.
La détection des doublons fonctionne-t-elle dans les archives ZIP, RAR, 7Z et TAR/TGZ ?
Oui. Meshory indexe les modèles contenus dans les archives ZIP, RAR, 7Z et TAR/TGZ comme des entrées à part entière de la bibliothèque. Une copie enfouie dans une archive téléchargée est donc regroupée avec le fichier isolé posé à côté, sans rien extraire.
Meshory va-t-il supprimer automatiquement mes fichiers en double ?
Jamais. Meshory regroupe les copies et affiche chaque emplacement pour que vous voyiez les redondances ; supprimer, déplacer ou renommer quoi que ce soit reste toujours votre décision. La détection s'exécute entièrement sur votre machine. Rien n'est envoyé en ligne, sans cloud ni compte.
Trouvez les copies qu'un hash ne voit pas.
Meshory calcule l'empreinte de chaque modèle d'après son contenu et sa géométrie, regroupe les copies entre dossiers, disques, NAS et archives, et vous laisse chaque décision de nettoyage.