Ce post-processeur GCode serre les lignes dans les arcs

Lorsque le logiciel de tranchage pour un modèle d’imprimante 3D se transforme en GCode, il crée essentiellement une liste séquentielle de segments de ligne connectés, organisés par couche. Mais lorsque les caractéristiques du modèle d’origine sont denses, ou lorsque le modèle représente de petites courbes, les segments finissent par créer une prolifération de segments minuscules pour représenter ces informations.

C’est juste la nature de la bête; beaucoup de détails se traduisent par de nombreux segments minuscules. Malheureusement, certaines imprimantes ont du mal à imprimer ces modèles aux vitesses souhaitées, non pas à cause d’une limitation mécanique, mais parce que le processeur ne peut pas recalculer assez rapidement les vitesses de ces segments. Le résultat est que certaines imprimantes bégayent ou ralentissent simplement l’impression, ce qui entraîne des temps d’impression beaucoup plus élevés qu’ils ne devraient l’être.

Entrez Arc Welder, un outil de compression GCode écrit par [FormerLurker] qui scrute les fichiers GCode, recherche ces petits segments et tente de remplacer les clusters contigus d’entre eux par un plus petit nombre d’arcs. Le résultat est que le nombre de commandes GCode nécessaires pour représenter le modèle diminue considérablement à mesure que les clusters connectés de commandes de segment deviennent des commandes à arc unique.

« Attendez maintenant », pourriez-vous dire, « un arc n’est-il pas une approximation de ces segments de ligne? » Et oui, vous avez raison! Mais c’est là que réside la magie derrière Arc Welder. Le programme est écrit de telle sorte que les arcs ne remplacent les segments que si (1) un arc peut complètement croiser toutes les intersections de segment à segment et (2) l’erreur de distance entre la représentation du segment et de l’arc est dans un certain seuil. Ces contraintes agissent de telle sorte que le post-traitement résultant est fidèle à l’original avec un très haut degré de détail.

Une description concise de l’algorithme principal d’Arc Welder, tirée de la documentation

L’ensemble de ce programme fonctionne sous l’hypothèse que le contrôleur de mouvement intégré de votre imprimante 3D accepte les commandes d’arc, en particulier G2 et G3. Il y a quelques années, cela aurait été rare car, techniquement, l’impression 3D et le fichier STL ne nécessitent que le déplacement dans des segments de ligne droite. Mais avec de plus en plus de gens qui sautent dans le train en marche pour utiliser ces cartes de contrôle de mouvement pour d’autres applications non imprimantes, nous commençons à voir des implémentations d’arc sur des cartes exécutant Marlin, Smoothieware et la saveur Duet du micrologiciel RepRap.

Pour les curieux, ce programme est à la fois bien documenté sur les principes de fonctionnement et Open source. Et si [FormerLurker] semble être un nom familier avant – vous avez raison – car ils sont également l’esprit derrière Octolapse, l’outil d’impression 3D en accéléré qui est un favori des amateurs. Enfin, si vous essayez Arc Welder, pourquoi ne pas nous montrer ce que vous obtenez dans les commentaires?

Merci pour le conseil [ImpC]!

François Zipponi
Je suis François Zipponi, éditorialiste pour le site 10-raisons.fr. J'ai commencé ma carrière de journaliste en 2004, et j'ai travaillé pour plusieurs médias français, dont le Monde et Libération. En 2016, j'ai rejoint 10-raisons.fr, un site innovant proposant des articles sous la forme « 10 raisons de... ». En tant qu'éditorialiste, je me suis engagé à fournir un contenu original et pertinent, abordant des sujets variés tels que la politique, l'économie, les sciences, l'histoire, etc. Je m'efforce de toujours traiter les sujets de façon objective et impartiale. Mes articles sont régulièrement partagés sur les réseaux sociaux et j'interviens dans des conférences et des tables rondes autour des thèmes abordés sur 10-raisons.fr.