{"id":1252,"date":"2019-07-31T11:06:18","date_gmt":"2019-07-31T09:06:18","guid":{"rendered":"https:\/\/www.aacmb.fr\/wordpress\/?page_id=1252"},"modified":"2020-07-02T19:25:39","modified_gmt":"2020-07-02T17:25:39","slug":"analyse-dun-gcode","status":"publish","type":"post","link":"https:\/\/www.aacmb.fr\/wordpress\/2019\/07\/31\/analyse-dun-gcode\/","title":{"rendered":"Analyse d&rsquo;un GCode"},"content":{"rendered":"\n<p>La principale question que je me pose face aux diff\u00e9rents slicer est la suivante : <\/p>\n\n\n\n<p>\u00ab\u00a0Comment correctement configurer un Slicer pour obtenir le meilleur r\u00e9sultat avec mon imprimante ?\u00a0\u00bb.<\/p>\n\n\n\n<p>Il y a \u00e9norm\u00e9ment de solutions propos\u00e9es sur les forums. Mais j&rsquo;ai d\u00e9cid\u00e9 de tenter une autre approche : partir du GCode g\u00e9n\u00e9r\u00e9 depuis CuraByDagoma (qui est cens\u00e9 \u00eatre parfaitement adapt\u00e9 \u00e0 mon imprimante) , l&rsquo;analyser et faire en sorte de le reproduire \u00e0 l&rsquo;identique avec les autres slicers.<\/p>\n\n\n\n<p><span style=\"text-decoration: underline;\">La pi\u00e8ce de r\u00e9f\u00e9rence<\/span><\/p>\n\n\n\n<p>L&rsquo;objectif est de partir d&rsquo;un fichier GCode le plus simple possible. Je vais tester avec une pi\u00e8ce rectangulaire de 10 mm x 10 mm, d&rsquo;\u00e9paisseur 1 mm soit 5 couches de 0.2. <\/p>\n\n\n\n<p>Elle sera \u00e0 imprimer dans un premier temps dans une seule couleur, donc avec un seul extrudeur d\u00e9clar\u00e9.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"500\" height=\"328\" src=\"https:\/\/www.aacmb.fr\/wordpress\/wp-content\/uploads\/2019\/07\/reference-e1564565556370.png\" alt=\"\" class=\"wp-image-1258\" srcset=\"https:\/\/www.aacmb.fr\/wordpress\/wp-content\/uploads\/2019\/07\/reference-e1564565556370.png 500w, https:\/\/www.aacmb.fr\/wordpress\/wp-content\/uploads\/2019\/07\/reference-e1564565556370-350x230.png 350w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/figure><\/div>\n\n\n\n<p>  Je d\u00e9coupe le fichier avec CuraByDagoma, sans support, sans palpeur.<\/p>\n\n\n\n<p>Le fichier g\u00e9n\u00e9r\u00e9 est un fichier de 436 lignes. En comparant ce fichier avec le contenu du fichier de param\u00e9trage de curaByDagoma (discoeasy200.xml), on devrait normalement pouvoir extraire ce qui concerne l&rsquo;impression de la pi\u00e8ce et les information de configuration de l(imprimante, informations qui devront \u00eatre renseign\u00e9es quelque part dans un autre slicer. Il sera aussi utile d&rsquo;avoir en t\u00eate le standard GCode afin d&rsquo;avoir une id\u00e9e des op\u00e9rations programm\u00e9es dans le code (<a href=\"https:\/\/reprap.org\/wiki\/G-code\/fr\"> par exemple : https:\/\/reprap.org\/wiki\/G-code\/fr<\/a>).<\/p>\n\n\n\n<p><span style=\"text-decoration: underline;\">D\u00e9but et fin du code<\/span> :<\/p>\n\n\n\n<p> ;Gcode by Cura by Dagoma 2.1.0 for DiscoEasy200<br> ;Filament: PLA Chromatik \/ Temperature: 220\u00b0C \/ Retraction: 5.0mm<br>D131 E1 ;      =&gt; d\u00e9sactivation filrunout 2, utile si l&rsquo;imprimante a 2 extrudeurs<br> G90;              =&gt; passage en positio absolue<br> M106 S255   =&gt; ventilateur max de la t\u00eate<br> G28 X Y  =&gt; reset position machine en X et Y<br> G1 X50 =&gt; d\u00e9placement en 50 sur X<br> M109 R90 =&gt; on attend que l&rsquo;extrudeur soit \u00e0 90\u00b0<br> G28 =&gt; reprise position 0<br>;Sensor activation<br> ;No Sensor<br> M104 S220  =&gt; consigne de chauffage \u00e0 220\u00b0<br> M107 ; =&gt; arr\u00eat des ventilateurs<br> G1 X100 Y20 Z0.5 F3000 =&gt; d\u00e9placement en 100,20,0.5 \u00e0 3000 mm\/mn<br> M109 S220 =&gt; on attend que l&rsquo;extrudeur soit \u00e0 220\u00b0<br> M82 ; =&gt; passage d\u00e9placement extruder en mode absolu<br> G92 E0 ; =&gt; d\u00e9placement de l&rsquo;extrudeur en position 0<br> G1 F200 E10 ; =&gt; extrusion de 10mm \u00e0 la vitesse de 200 mm\/mn<br> G92 E0 ;  =&gt; d\u00e9placement de l&rsquo;extrudeur en position 0 <br> G1 E-5.0 F5000 ; =&gt; retrait de 5 mm \u00e0 la vitesse de 5000 mm\/mn <br> G1 F240 Z3 =&gt; mont\u00e9e de la t\u00eate de 3 mm \u00e0 la vitesse de 240 mm\/mn <br> G1 F6000 =&gt; configuration vitesse \u00e0 6000 mm\/mn<\/p>\n\n\n\n<p>Dans le fichier de configuration de CuraByDagome, on retrouve ce code (ou presque) dans la partie Gstart :<\/p>\n\n\n\n<p>;Gcode by Cura by Dagoma {app_version} for DiscoEasy200<br>\n;Filament: {filament_name} \/ Temperature: {print_temperature}\u00b0C \/ Retraction: {retraction_amount}mm<br>\nD131 E1 ;Disable filrunout 2, just in case the user has a bicolor printer<br>\nG90 ;absolute positioning<br>\nM106 S255 ;fan on for the sensor<br>\nG28 X Y<br>\nG1 X50<br>\nM109 R90 ;wait for cool down<br>\nG28<br>\n;Sensor activation<br>\n;{sensor}<br>\nM104 S{print_temperature} ;start the heater<br>\nM107 ;start with the fan off<br>\nG1 X100 Y20 Z0.5 F3000<br>\nM109 S{print_temperature}<br>\nM82 ;set extruder to absolute mode<br>\nG92 E0 ;zero the extruded length<br>\nG1 F200 E10 ;extrude 10mm of feed stock<br>\nG92 E0 ;zero the extruded length again<br>\nG1 E-{retraction_amount} F5000 ;filament retract length<br>\nG1 F240 Z3<br>\nG1 F{travel_speed}<\/p>\n\n\n\n<p>La diff\u00e9rence r\u00e9side dans la pr\u00e9sence de param\u00e8tres li\u00e9s visiblement au filament utilis\u00e9 (print_temperature, retractation_amount), ainsi que du param\u00e8tre (sensor) li\u00e9 sans doute \u00e0 la proc\u00e9dure de d\u00e9tection de niveau du plateau.<\/p>\n\n\n\n<p>Si l&rsquo;on regarde le Gstart renseign\u00e9 dans Cura 4.2.0 pour la DiscoEasy 200 (configuration fournie avec cura) :<\/p>\n\n\n\n<p>;Gcode by Cura<br>G90<br>M106 S255<br>G28 X Y<br>G1 X50<br>M109 R90<br>G28<br>M104 S{material_print_temperature_layer_0}<br>G29<br>M107<br>G1 X100 Y20 F3000<br>G1 Z0.5<br>M109 S{material_print_temperature_layer_0}<br>M82<br>G92 E0<br>G1 F200 E10<br>G92 E0<br>G1 Z3<br>G1 F6000<\/p>\n\n\n\n<p>On retrouve dans les grandes lignes la m\u00eame proc\u00e9dure de d\u00e9marrage. M\u00eame constat pour la proc\u00e9dure de fin. On ne devrait donc pas avoir de probl\u00e8me pour imprimer avec Cura 4.2.0.<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>La principale question que je me pose face aux diff\u00e9rents slicer est la suivante : \u00ab\u00a0Comment correctement configurer un Slicer pour obtenir le meilleur r\u00e9sultat avec mon imprimante ?\u00a0\u00bb. Il y a \u00e9norm\u00e9ment de solutions propos\u00e9es sur les forums. Mais j&rsquo;ai d\u00e9cid\u00e9 de tenter une autre approche : partir du GCode g\u00e9n\u00e9r\u00e9 depuis CuraByDagoma (qui &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/www.aacmb.fr\/wordpress\/2019\/07\/31\/analyse-dun-gcode\/\" class=\"more-link\">Continuer la lecture<span class=\"screen-reader-text\"> de &laquo;&nbsp;Analyse d&rsquo;un GCode&nbsp;&raquo;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[21],"tags":[],"class_list":["post-1252","post","type-post","status-publish","format-standard","hentry","category-gcode"],"_links":{"self":[{"href":"https:\/\/www.aacmb.fr\/wordpress\/wp-json\/wp\/v2\/posts\/1252","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.aacmb.fr\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.aacmb.fr\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.aacmb.fr\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.aacmb.fr\/wordpress\/wp-json\/wp\/v2\/comments?post=1252"}],"version-history":[{"count":0,"href":"https:\/\/www.aacmb.fr\/wordpress\/wp-json\/wp\/v2\/posts\/1252\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.aacmb.fr\/wordpress\/wp-json\/wp\/v2\/media?parent=1252"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.aacmb.fr\/wordpress\/wp-json\/wp\/v2\/categories?post=1252"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.aacmb.fr\/wordpress\/wp-json\/wp\/v2\/tags?post=1252"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}