{"id":51,"date":"2019-12-14T14:23:52","date_gmt":"2019-12-14T13:23:52","guid":{"rendered":"http:\/\/www.courat.fr\/makerzblog\/?p=51"},"modified":"2020-11-11T02:11:55","modified_gmt":"2020-11-11T01:11:55","slug":"briefing-flatcam","status":"publish","type":"post","link":"https:\/\/www.courat.fr\/makerzblog\/2019\/12\/14\/briefing-flatcam\/","title":{"rendered":"Briefing FlatCAM"},"content":{"rendered":"\n<p>L\u00e0, \u00e7a risque d&rsquo;\u00eatre un peu la liste de course, le gros Bronx&#8230;<\/p>\n\n\n\n<!--more-->\n\n\n\n<p>&#8230;mais l&rsquo;id\u00e9e, c&rsquo;est d&rsquo;aligner les param\u00e8tres fondamentaux pour un bon workflow FlatCAM&#8230; <\/p>\n\n\n\n<p>C&rsquo;est parti !<\/p>\n\n\n\n<p>D&rsquo;abord, v\u00e9rifier qu&rsquo;on travaille bien en mm, et pas en mil (1mil = 1\/1000 in). C&rsquo;est plus soutenable quand on veut v\u00e9rifier une taille&#8230; <\/p>\n\n\n\n<p>Pour \u00e7a, si on veut suivre \u00e0 la lettre le tuto YT de l&rsquo;article pr\u00e9c\u00e9dent, il faut veiller \u00e0 utiliser une version stable de FlatCAM, et pas une b\u00eata (donc en l&rsquo;\u00e9tat actuel des choses, FlatCAM 8.5 win32).<\/p>\n\n\n\n<p>Pur\u00e9e, \u00e7a me pique vraiment d&rsquo;\u00eatre oblig\u00e9 de bosser sous windoz, l\u00e0&#8230;<\/p>\n\n\n\n<p>Bon allez, c&rsquo;est parti.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Mise en place des fichiers dans FlatCAM.<\/h3>\n\n\n\n<p> Etape suivante, optionnelle : cr\u00e9er un projet. <\/p>\n\n\n\n<p>Ensuite, on ouvre dans l&rsquo;appli successivement le fichier bottom layer, le fichier de per\u00e7age et le fichier d&rsquo;outline.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"681\" src=\"https:\/\/www.courat.fr\/makerzblog\/wp-content\/uploads\/sites\/12\/2019\/12\/image-1024x681.png\" alt=\"\" class=\"wp-image-53\" srcset=\"https:\/\/www.courat.fr\/makerzblog\/wp-content\/uploads\/sites\/12\/2019\/12\/image-1024x681.png 1024w, https:\/\/www.courat.fr\/makerzblog\/wp-content\/uploads\/sites\/12\/2019\/12\/image-300x199.png 300w, https:\/\/www.courat.fr\/makerzblog\/wp-content\/uploads\/sites\/12\/2019\/12\/image-768x511.png 768w, https:\/\/www.courat.fr\/makerzblog\/wp-content\/uploads\/sites\/12\/2019\/12\/image.png 1026w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Les pistes<\/h3>\n\n\n\n<p>Ensuite, on s\u00e9lectionne le fichier GBL du layer (comme on travaille en single layer, \u00e7a sera du bottom layer), a.k.a. <strong>Gerber_BottomLayer.GBL<\/strong>, et on va ouvrir l&rsquo;onglet \u00ab\u00a0<strong>selected<\/strong>\u00a0\u00bb : <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"555\" src=\"https:\/\/www.courat.fr\/makerzblog\/wp-content\/uploads\/sites\/12\/2019\/12\/image-1-1024x555.png\" alt=\"\" class=\"wp-image-54\" srcset=\"https:\/\/www.courat.fr\/makerzblog\/wp-content\/uploads\/sites\/12\/2019\/12\/image-1-1024x555.png 1024w, https:\/\/www.courat.fr\/makerzblog\/wp-content\/uploads\/sites\/12\/2019\/12\/image-1-300x163.png 300w, https:\/\/www.courat.fr\/makerzblog\/wp-content\/uploads\/sites\/12\/2019\/12\/image-1-768x416.png 768w, https:\/\/www.courat.fr\/makerzblog\/wp-content\/uploads\/sites\/12\/2019\/12\/image-1-1536x832.png 1536w, https:\/\/www.courat.fr\/makerzblog\/wp-content\/uploads\/sites\/12\/2019\/12\/image-1-1200x650.png 1200w, https:\/\/www.courat.fr\/makerzblog\/wp-content\/uploads\/sites\/12\/2019\/12\/image-1.png 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>C&rsquo;est l&rsquo;onglet \u00e0 gauche qui contient les param\u00e8tres de ce qui va se passer&#8230; <\/p>\n\n\n\n<p>On garde les options par d\u00e9faut (on s&#8217;emb\u00eate pas \u00e0 changer quoi que ce soit sur \u00ab\u00a0<strong>isolation routing<\/strong>\u00ab\u00a0, apparemment), et on clique sur \u00ab\u00a0<strong><em>Generate Geometry<\/em><\/strong>\u00ab\u00a0.<\/p>\n\n\n\n<p>\u00c7a va g\u00e9n\u00e9rer des traits en rouge, les consignes d&rsquo;\u00e9videment.<\/p>\n\n\n\n<p>\u00c7a g\u00e9n\u00e8re aussi un fichier \u00ab\u00a0<strong>Gerber_BottomLayer.GBL_iso<\/strong>\u00ab\u00a0, qu&rsquo;on va s\u00e9lectionner. <\/p>\n\n\n\n<p>C&rsquo;est dans la section \u00ab\u00a0<strong>Create CNC job<\/strong>\u00a0\u00bb qu&rsquo;on va commencer \u00e0 modifier des param\u00e8tres : <\/p>\n\n\n\n<p><strong>Cut Z<\/strong> : changer de -0,0508 \u00e0<strong> -0,3<\/strong><br><strong>Tool Dia<\/strong> : changer de 0.4064 \u00e0<strong> 0.2<\/strong> <br><strong>Spindle speed<\/strong> : mettre \u00e0 <strong>1000 <\/strong>(sinon \u00e7a tournera pas&#8230;)<\/p>\n\n\n\n<p>Cliquer sur \u00ab\u00a0<em><strong>Generate<\/strong><\/em>\u00a0\u00bb =&gt; \u00e7a va g\u00e9n\u00e9rer le chemin de d\u00e9placement de la graveuse, sous forme d&rsquo;un gros trac\u00e9 bleu.<\/p>\n\n\n\n<p>\u00c7a g\u00e9n\u00e8re aussi un code g-code : <strong>Gerber_BottomLayer.GBL_iso_cnc<\/strong>.<\/p>\n\n\n\n<p>On va s\u00e9lectionner ce fichier, aller dans l&rsquo;onglet \u00ab\u00a0<strong>selected<\/strong>\u00a0\u00bb et cliquer sur \u00ab\u00a0<strong><em>Export G-Code<\/em><\/strong>\u00ab\u00a0. \u00e7a sauvegarde dans un fichier, on va l&rsquo;appeler \u00ab\u00a0<strong>pistes.nc<\/strong>\u00ab\u00a0.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Les per\u00e7ages<\/h3>\n\n\n\n<p>&#8230; alias \u00ab\u00a0les trous\u00a0\u00bb. Mais \u00e7a fait moins classe.<\/p>\n\n\n\n<p>Rebelote, on s\u00e9lectionne le fichier .DRL, on ouvre l&rsquo;onglet \u00ab\u00a0Selected\u00a0\u00bb (oui, c&rsquo;est fastidieux. \u00e0 fond&#8230;). <\/p>\n\n\n\n<p>L\u00e0, comme apparemment, y a plusieurs diam\u00e8tres de per\u00e7age sur le PCB, on trouve un tableau avec 2 lignes, et 2 diam\u00e8tres de per\u00e7age diff\u00e9rent. Comme on n&rsquo;a pas envie de s&#8217;emb\u00eater, on va s\u00e9lectionner les 2 lignes du tableau, histoire de g\u00e9n\u00e9rer tout pour le passage d&rsquo;un seul foret ; oui, fain\u00e9ant. Parfaitement.<\/p>\n\n\n\n<p>Ensuite, dans les param\u00e8tres \u00ab\u00a0<strong>Create CNC Job<\/strong>\u00ab\u00a0, on va mettre : <\/p>\n\n\n\n<p><strong>Cut Z: -2.54<\/strong> (vu que la plaque fait 1,6 environ, \u00e7a devrait per\u00e7er&#8230;).<br><strong>Spindle speed : 1000<\/strong> (pareil, si on laisse vide, on va pas trouer grand-chose&#8230;)<\/p>\n\n\n\n<p>Un ptit bouton \u00ab\u00a0<strong><em>Generate<\/em><\/strong>\u00ab\u00a0, et HOP,  du nouveau : sur le dessin, on va d\u00e9couvrir la position du Home en \u00ab\u00a00\u00a0\u00bb, et on va voir le parcours des per\u00e7ages<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"656\" src=\"https:\/\/www.courat.fr\/makerzblog\/wp-content\/uploads\/sites\/12\/2019\/12\/image-2-1024x656.png\" alt=\"\" class=\"wp-image-55\" srcset=\"https:\/\/www.courat.fr\/makerzblog\/wp-content\/uploads\/sites\/12\/2019\/12\/image-2-1024x656.png 1024w, https:\/\/www.courat.fr\/makerzblog\/wp-content\/uploads\/sites\/12\/2019\/12\/image-2-300x192.png 300w, https:\/\/www.courat.fr\/makerzblog\/wp-content\/uploads\/sites\/12\/2019\/12\/image-2-768x492.png 768w, https:\/\/www.courat.fr\/makerzblog\/wp-content\/uploads\/sites\/12\/2019\/12\/image-2-1200x769.png 1200w, https:\/\/www.courat.fr\/makerzblog\/wp-content\/uploads\/sites\/12\/2019\/12\/image-2.png 1278w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Ensuite, on va rechopper le <strong>GerberDrill_PTH.DRL_cnc<\/strong> g\u00e9n\u00e9r\u00e9, on le s\u00e9lectionne, et on va faire devinez-quoi&#8230; <\/p>\n\n\n\n<p>OUI ! On va bien faire \u00ab\u00a0<strong><em>Export G-Code<\/em><\/strong>\u00ab\u00a0. C&rsquo;est bien. Au moins un qui suit&#8230; <\/p>\n\n\n\n<h3 class=\"wp-block-heading\">L&rsquo;outline de la board<\/h3>\n\n\n\n<p>le pourtour, quoi. M\u00eame chose !<\/p>\n\n\n\n<p>Selection de \u00ab\u00a0<strong>Gerber_BoardOutline.GBL<\/strong>\u00ab\u00a0, onglet \u00ab\u00a0<strong>selected<\/strong>\u00ab\u00a0, blabla, ok, t&rsquo;as compris.<\/p>\n\n\n\n<p>Cette fois, on va dans la rubrique \u00ab\u00a0<strong>Board Cutout<\/strong>\u00a0\u00bb pour changer les settings suivants : <\/p>\n\n\n\n<p><strong>Tool dia : 1.5 <\/strong>(on prendra donc une fraiseuse bien costaude de 1.5 mm de diam\u00e8tre pour creuser ce fameux pourtour&#8230;)<br><strong>Margin: 0<\/strong> (on reste pile poil sur la marque pour cette fois)<br><strong>Gap size : 1<\/strong><\/p>\n\n\n\n<p>Alors le <em>gap size<\/em>, c&rsquo;est un truc g\u00e9nial : en gros, au lieu de faire tout le pourtour d&rsquo;un coup et de faire voler sa pi\u00e8ce en coupant le dernier millim\u00e8tre de fix\u00e9, on va g\u00e9n\u00e9rer N points d&rsquo;accroche r\u00e9siduels autour de la board, par &#8230; comment dire&#8230; ? \u00ab\u00a0D\u00e9faut de fraisage\u00a0\u00bb. \u00e7a fait tr\u00e8s d\u00e9faillance, mais au contraire, c&rsquo;est cool. <\/p>\n\n\n\n<p>D&rsquo;ailleurs, on a le choix, pour le nombre et les positions des d\u00e9fauts de fraisage, entre : <\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>2, en haut et en bas (2 T\/B)<\/li><li>2, \u00e0 droite et \u00e0 gauche (L\/R)<\/li><li>4<\/li><\/ul>\n\n\n\n<p>L\u00e0, <strong>je prends 4.<\/strong> Mais surtout, je tente le <strong>1mm<\/strong> de gap size, parce que dans mon tout premier essai, j&rsquo;ai pris 3mm, et &#8230; c&rsquo;\u00e9tait incassable. Pour rappel, c&rsquo;est de la fibre de verre renforc\u00e9e, hein&#8230;<\/p>\n\n\n\n<p>Allez hop, on clique sur \u00ab\u00a0<strong><em>Generate Geometry<\/em><\/strong>\u00ab\u00a0.<\/p>\n\n\n\n<p>Ca g\u00e9n\u00e8re donc la g\u00e9om\u00e9trie, et on va voir le pourtour avec les petits gaps. Yeah !<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"656\" src=\"https:\/\/www.courat.fr\/makerzblog\/wp-content\/uploads\/sites\/12\/2019\/12\/image-3-1024x656.png\" alt=\"\" class=\"wp-image-57\" srcset=\"https:\/\/www.courat.fr\/makerzblog\/wp-content\/uploads\/sites\/12\/2019\/12\/image-3-1024x656.png 1024w, https:\/\/www.courat.fr\/makerzblog\/wp-content\/uploads\/sites\/12\/2019\/12\/image-3-300x192.png 300w, https:\/\/www.courat.fr\/makerzblog\/wp-content\/uploads\/sites\/12\/2019\/12\/image-3-768x492.png 768w, https:\/\/www.courat.fr\/makerzblog\/wp-content\/uploads\/sites\/12\/2019\/12\/image-3-1200x769.png 1200w, https:\/\/www.courat.fr\/makerzblog\/wp-content\/uploads\/sites\/12\/2019\/12\/image-3.png 1278w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>NB : en downgradant \u00e0 la version 8.5 depuis la 8.98, j&rsquo;ai l&rsquo;impression d&rsquo;avoir perdu une feature int\u00e9ressante, qui consistait \u00e0 avoir un layout freeform&#8230;. en effet, le coin que j&rsquo;ai en haut \u00e0 gauche de mon board outline ne semble pas avoir \u00e9t\u00e9 respect\u00e9. dimension trop petite pour \u00eatre process\u00e9e avec ces param\u00e8tres ? Je sais pas. A investiguer sur une prochaine board&#8230;<\/p>\n\n\n\n<p>Allez, derni\u00e8re ligne droite : je s\u00e9lectionne mon fichier <strong>Gerber_BoardOutline.GKO_cutout<\/strong>, et dans les param\u00e8tres de \u00ab\u00a0<strong>Create CNC job<\/strong>\u00ab\u00a0, derners settings \u00e0 changer : <\/p>\n\n\n\n<p><strong>CutZ : -2<br><\/strong>Tool dia : 1,5. Voire plus, en fonction de ce qu&rsquo;on voudra utiliser comme fraise, mais comme \u00e7a va trancher serr\u00e9, une fraise de 1.4mm est un minimum, y me semble.<br><strong>Spindle speed : 1000<\/strong> (c&rsquo;est bon, on a compris ;p )<\/p>\n\n\n\n<p>Allez HOP ! Bouton \u00ab\u00a0<strong><em>Generate<\/em><\/strong>\u00a0\u00bb on a le joli Outline transform\u00e9 en commande G-Code de d\u00e9placement ! (le gros p\u00e2t\u00e9 bleu&#8230;)<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"656\" src=\"https:\/\/www.courat.fr\/makerzblog\/wp-content\/uploads\/sites\/12\/2019\/12\/image-4-1024x656.png\" alt=\"\" class=\"wp-image-58\" srcset=\"https:\/\/www.courat.fr\/makerzblog\/wp-content\/uploads\/sites\/12\/2019\/12\/image-4-1024x656.png 1024w, https:\/\/www.courat.fr\/makerzblog\/wp-content\/uploads\/sites\/12\/2019\/12\/image-4-300x192.png 300w, https:\/\/www.courat.fr\/makerzblog\/wp-content\/uploads\/sites\/12\/2019\/12\/image-4-768x492.png 768w, https:\/\/www.courat.fr\/makerzblog\/wp-content\/uploads\/sites\/12\/2019\/12\/image-4-1200x769.png 1200w, https:\/\/www.courat.fr\/makerzblog\/wp-content\/uploads\/sites\/12\/2019\/12\/image-4.png 1278w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Et naturellement, on oublie pas d&rsquo;exporter le G-Code \u00e0 partir du fichier g\u00e9n\u00e9r\u00e9 \u00ab\u00a0<strong>Gerber_BoardOutline.GKO_cutout_cnc<\/strong>\u00ab\u00a0, et hop, dans un \u00ab\u00a0<strong>layout.nc<\/strong>\u00a0\u00bb sur le disque, et c&rsquo;est top !<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">L&rsquo;heure du Bilan <\/h3>\n\n\n\n<p>ca claque, comme expression, \u00ab\u00a0l&rsquo;heure du bilan\u00a0\u00bb. Mais en fait, on s&rsquo;en fout. <\/p>\n\n\n\n<p>On a donc, \u00e0 partir de notre set de fichiers Gerber (en provenance de EasyEDA, par exemple), 3 fichiers contenant un G-Code utilisable par notre imprimante : <\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>pistes.nc : les pistes \u00e0 graver<\/li><li>percages.nc : les trous pour les papattes de nos composants<\/li><li>layout.nc : le pourtour de la carte.<\/li><\/ul>\n\n\n\n<p>La suite, c&rsquo;est le per\u00e7age avec ces 3 fichiers, dans l&rsquo;ordre, avec un changement d&rsquo;outil entre chaque, et un r\u00e9ajustement du z=0 \u00e0 chaque changement&#8230; mais plus tard. l\u00e0, les gamins sont au lit, pas de bruit !<\/p>\n<\/script>","protected":false},"excerpt":{"rendered":"<p>L\u00e0, \u00e7a risque d&rsquo;\u00eatre un peu la liste de course, le gros Bronx&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-51","post","type-post","status-publish","format-standard","hentry","category-cnc"],"_links":{"self":[{"href":"https:\/\/www.courat.fr\/makerzblog\/wp-json\/wp\/v2\/posts\/51","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.courat.fr\/makerzblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.courat.fr\/makerzblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.courat.fr\/makerzblog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.courat.fr\/makerzblog\/wp-json\/wp\/v2\/comments?post=51"}],"version-history":[{"count":10,"href":"https:\/\/www.courat.fr\/makerzblog\/wp-json\/wp\/v2\/posts\/51\/revisions"}],"predecessor-version":[{"id":275,"href":"https:\/\/www.courat.fr\/makerzblog\/wp-json\/wp\/v2\/posts\/51\/revisions\/275"}],"wp:attachment":[{"href":"https:\/\/www.courat.fr\/makerzblog\/wp-json\/wp\/v2\/media?parent=51"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.courat.fr\/makerzblog\/wp-json\/wp\/v2\/categories?post=51"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.courat.fr\/makerzblog\/wp-json\/wp\/v2\/tags?post=51"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}