Convertir STL en 3MF

Vous pouvez convertir STL en 3MF gratuitement et sans compte : déposez le fichier ci-dessus et, une ou deux secondes plus tard, le résultat est prêt à télécharger. La conversion se fait dans votre propre navigateur : le fichier n’est donc jamais téléversé. Cela marche sous Windows, macOS et Linux comme sur iPhone et Android, et continue de marcher si vous coupez le réseau.

  • Où cela s’exécute Dans votre navigateur. Le fichier n’est pas téléversé.
  • Reconstruit 3MF ne fonctionne pas comme STL. Il ne s’agit donc pas de la dégradation progressive d’un codec avec perte : ce que 3MF sait exprimer est reproduit fidèlement, et ce qui n’y a pas d’équivalent ne subsiste pas du tout.
  • Limite de taille Jusqu’à 100 Mo par fichier, gratuitement et sans compte.
  • Bon à savoir La géométrie seule. Les matériaux, les couleurs, les textures et l’animation ne suivent pas, et un modèle placé plusieurs fois revient avec chaque copie figée à sa propre position.

Jusqu’à 100 fichiers à la fois. Les formats mélangés ne posent pas de problème.

Ce que 3MF corrige du STL, et ce qu’il ne corrige pas

3D Systems a publié STL en 1987 pour une machine qui prenait des triangles et rien d’autre, et le format est honnête là-dessus : pas d’unités, pas de couleur, pas de matériaux, pas de noms, pas de pièces, pas de partage de sommets, pas de métadonnées. Tout ce que le monde de l’impression a ajouté ensuite — conventions d’échelle, plateaux multi-pièces, réglages par objet — vit à l’extérieur du fichier et doit être reconstruit par celui qui l’ouvre.

3MF, publié en 2015, a mis tout cela dans le fichier. Les unités sont déclarées, les objets sont séparés, la couleur et les matériaux ont leur place, et l’ensemble est un paquetage OPC avec un manifest plutôt qu’un flux brut d’octets. Convertir un STL vous apporte immédiatement l’emballage et les unités. Cela ne fait pas apparaître couleur ou pièces qui n’avaient jamais été enregistrées, et aucun convertisseur ne le peut.

Un STL est un sac de triangles, et le soudage est le vrai gain

STL stocke chaque triangle comme trois sommets indépendants sans indexation aucune. Un cube — douze triangles — arrive en trente-six enregistrements de sommets là où huit positions distinctes suffiraient. Ce n’est pas une bizarrerie d’un exportateur particulier ; c’est le format.

La conversion les soude : les coordonnées sont arrondies à six décimales pour former une clé, et chaque coin de triangle à la même position s’effondre en un sommet partagé. Six positions est bien en dessous de toute tolérance imprimable et bien au-dessus du désaccord de dernier bit que deux triangles adjacents ont couramment en flottant. Ce qui sort est une vraie surface indexée, ce qui explique qu’un contrôle de manifold sur le 3MF donne une réponse utile là où le même contrôle sur le STL rapporte chaque arête comme un bord.

Votre STL devient exactement un objet dans le 3MF

La section resources du 3MF contiendra un seul objet et la section build un seul item. Ce n’est pas une simplification — un STL n’a vraiment aucun moyen de dire que ses triangles forment trois corps séparés, donc il n’y a rien à diviser, et inventer une division par analyse de connectivité serait une décision de modélisation plutôt qu’une conversion.

Si votre STL contient effectivement plusieurs coques déconnectées, chaque slicer a une commande Split to Parts ou Split to Objects qui les trouve par connectivité après l’import. Le faire là est la même opération avec un aperçu en plus. Si vous voulez les pièces enregistrées dans le fichier lui-même, la source doit être un format qui les avait — un OBJ avec des groupes, ou un glTF avec plusieurs meshes.

Les millimètres : l’hypothèse qu’un STL faisait déjà

Le 3MF est écrit avec unit="millimeter" dans son élément model et les coordonnées sont passées inchangées. Strictement, le convertisseur affirme une unité que la source n’a jamais déclarée. En pratique, c’est le cas le moins dangereux de cette affirmation partout dans la matrice 3D, parce que le monde de l’impression traite les nombres STL comme des millimètres depuis trente ans et que chaque slicer les importe ainsi.

Le gain est que l’hypothèse cesse d’être une hypothèse. Un 3MF qui dit millimètre s’importe à la même taille dans PrusaSlicer, Cura, Bambu Studio et Microsoft 3D Builder sans qu’aucun n’applique une convention maison. Le seul cas à surveiller est un STL exporté depuis une CAO en pouces, qui allait déjà s’importer au 1/25e et qui le fera maintenant avec une déclaration d’unité pour l’étayer.

La couleur que certains STL cachent, et pourquoi elle est perdue

Chaque enregistrement de triangle dans un STL binaire se termine par un champ d’attribut de deux octets que la spécification laisse inutilisé. Deux conventions ont poussé dans ce vide — une de VisCAM et SolidView, une de Materialise Magics — encodant une couleur RGB de quinze bits par triangle. Aucune ne fait partie de STL, et aucun outil n’est d’accord sur laquelle un fichier donné utilise.

Le lecteur ici prend les douze octets de normale de face et les trente-six octets de données de sommet dans chaque enregistrement de cinquante octets et ne touche jamais aux deux derniers. Donc un STL coloré se convertit en un 3MF sans couleur, silencieusement. 3MF a un vrai modèle de couleur et pourrait porter le résultat ; deviner laquelle de deux conventions incompatibles a produit un motif de bits n’est pas une supposition qu’un convertisseur devrait faire pour vous.

Comment ce convertisseur distingue un STL binaire d’un ASCII

Par l’arithmétique, pas par le mot de tête. Le test évident — le fichier commence-t-il par « solid » ? — est faux, parce que l’en-tête de quatre-vingts octets d’un STL binaire peut contenir n’importe quel texte et plusieurs exportateurs y mettent « solid ».

Un STL binaire fait exactement 84 + 50n octets pour le nombre de triangles écrit dans son en-tête : quatre-vingts octets d’en-tête, quatre pour le compte, puis cinquante par triangle. Rien d’autre ne tombe sur ce nombre par coïncidence. Si la longueur correspond, le fichier est lu comme binaire ; sinon le texte est scanné à la recherche de lignes de sommet. Les deux chemins aboutissent à la même forme soudée.

Compter les octets : 50 par triangle STL contre un paquetage compressé

Le côté STL est exact et facile à vérifier : un modèle à 100 000 triangles fait 5 000 084 octets, toujours, quelle que soit la forme. Cette prévisibilité est la seule chose pour laquelle le format est vraiment bon, et c’est aussi pourquoi les fichiers STL sont tellement plus gros que la géométrie qu’ils contiennent ne le justifie — les trois quarts de ces octets sont des coordonnées répétées.

Le 3MF stocke chaque sommet soudé une fois comme élément XML et chaque triangle comme trois références entières, puis déflate le tout à l’intérieur du paquetage ZIP. Le balisage verbeux se compresse extrêmement bien, et le partage de sommets a déjà supprimé la majeure partie de la redondance avant que la compression ne commence. Le résultat dépend du modèle, et pour une géométrie imprimable typique il est confortablement plus petit que le STL dont il vient.

Le paquetage que votre slicer reçoit au lieu d’un STL

Trois entrées dans un ZIP : [Content_Types].xml qui déclare les types de contenu pour .model et .rels, _rels/.rels avec une relation unique pointant vers le modèle, et 3D/3dmodel.model qui contient la géométrie dans le namespace noyau 3MF. C’est cette structure qui en fait un paquetage OPC, la même convention que DOCX et XLSX utilisent.

C’est un fichier modèle plutôt qu’un fichier de projet. Il n’y a pas de réglages d’impression, pas d’affectations de filament, pas d’arrangement de plateau et pas de miniature, parce que ce sont des extensions par slicer plutôt que des parties de la géométrie. Votre slicer appliquera le profil que vous avez sélectionné et vous permettra d’enregistrer ensuite son propre 3MF plus riche.

Ce que la conversion STL en 3MF ne réparera pas

Les trous restent des trous, les triangles inversés restent inversés, les auto-intersections restent, les parois internes restent, et les éclats de surface nulle restent. Rien ici n’inspecte la topologie au-delà de la fusion des sommets coïncidents, et un mesh qui échouait au contrôle d’un slicer en STL l’échouera en 3MF avec le même message.

Ce qui change, c’est la classe d’erreur causée par des sommets non partagés, qui est chaque STL par construction. Après le soudage, une surface qui est géométriquement fermée est aussi topologiquement fermée, donc les outils de réparation et les contrôles de manifold dans Blender, Meshmixer ou votre slicer travaillent sur le mesh que vous vouliez plutôt que sur trente-six mille triangles détachés. Cela seul raccourcit une session de réparation.

Comment convertir STL en 3MF

  1. Déposez votre fichier STL sur cette page, ou cliquez pour en choisir un.
  2. Choisissez 3MF comme destination. La conversion se fait dans votre navigateur et le fichier n’est pas téléversé.
  3. Téléchargez le fichier 3MF terminé.

STL et 3MF : ce qui change

STL face à 3MF
STL3MF
Nom completStereolithography3D Manufacturing Format
Extension de fichier.stl.3mf
Type de médiamodel/stlmodel/3mf
Première publication19872015
Publié par3D Systems3MF Consortium
Spécification3MF Core Specification
LicenceStandard ouvertStandard ouvert
Situation actuelleActuelActuel
S’ouvre dans un navigateurAucun navigateurAucun navigateur
Envisagé à la placeOBJ, PLYOBJ

Ouvrir le résultat

PrusaSlicer et Cura lisent aussi bien STL que 3MF : vous pouvez comparer le résultat à l’original sans second logiciel.

À quoi sert chaque format

3MF vient de 3MF Consortium et date de 2015, décrit par 3MF Core Specification. PrusaSlicer, Cura et Microsoft 3D Builder le lisent.

STL a été publié en 1987 et 3MF en 2015. Le plus ancien est en général le fichier le plus sûr à remettre ; le plus récent fait le même travail en moins d’octets.

De STL à 3MF : questions fréquentes

Mon fichier STL est-il téléversé quelque part ?

Non. Cette conversion se fait entièrement dans votre navigateur : le fichier ne quitte donc pas votre appareil. Vous pouvez le vérifier vous-même — ouvrez l’onglet réseau des outils de développement et convertissez quelque chose. Vous verrez la page elle-même et les requêtes de statistiques et de publicité qui financent ce service, et pas une seule qui transporte votre fichier.

Convertir STL en 3MF est-il gratuit ?

Oui. Pas de compte, pas de filigrane et pas de quota journalier à dépenser : cela tourne sur votre propre machine, vous pouvez donc revenir autant de fois que vous voulez. Le navigateur traite des fichiers jusqu’à 100 Mo, 100 à la fois.

Y a-t-il une perte de qualité en convertissant STL en 3MF ?

STL et 3MF décrivent le contenu de façons radicalement différentes. La conversion est donc une reconstitution et non une copie : fidèle, mais pas identique octet pour octet. La géométrie seule. Les matériaux, les couleurs, les textures et l’animation ne suivent pas, et un modèle placé plusieurs fois revient avec chaque copie figée à sa propre position.

Dois-je installer quelque chose pour ouvrir un fichier 3MF ?

Pas pour la conversion : elle se fait dans le navigateur que vous avez déjà ouvert. Pour ouvrir le résultat, il vous faut ensuite le logiciel avec lequel votre appareil affiche habituellement 3D Manufacturing Format.

En savoir plus sur ces formats