Utiliser F-Engrave pour usiner des poches avec une fraise droite

Un lecteur m’a contacté il y a quelques semaines pour savoir comment usiner des poches toutes simples avec F-Engrave. Vaste question, puisque je n’en avais aucune idée! En cherchant, on a réussi à trouver la solution (spoiler : il faut le faire en deux étapes). L’ami Hurlubier a eu la bonne idée d’écrire un petit tuto pour expliquer comment procéder. Alors Hurlubier, c’est à toi de parler, je te passe le micro!


Pour arriver au résultat ci-dessous, j’ai pas mal galéré (je remercie Dirty Marmotte pour son aide précieuse).

En effet, malgré que j’utilise une fraise droite, il faut utiliser le module de V-carving.
De plus, l’opération se fait en deux fois : d’abord la gravure du contour, puis le débouchage (cleanup dans le texte).

Paramètres de l’écran principal:

Dans Text Font Properties les éléments de description de mon texte.
Dans Gcode Properties:

  • Feed Rate 400mm/min je pense qu’on peut aller plus vite, selon la fraiseuse.
  • Plunge Rate Je suis passé à 200mm/min ce qui semble acceptable.
  • Z Safe Indique la hauteur de relevage de la fraise par rapport au plan de l’objet lors des déplacements. La valeur par défaut est très élevée, et c’est donc très long (quand la CNC relève la fraise, elle ne fait que cela). Je suis donc passé à 3mm ce qui laisse une bonne marge contre l’accrochage, est est assez rapide.
  • Engrave Depth Profondeur de la gravure. Ne sert normalement que pour la gravure en mode « Engrave », je l’ai fixé à ma profondeur maxi (2.5mm) par sécurité.
    Nota : cette option n’est accessible que quand le bouton « Engrave » est sélectionné. Quand on passe en mode « V-Carve », la valeur est grisée, et on ne peut la modifier.

Paramètres de l’écran V-Carve:

  • Straight correspond au type de la fraise utilisée.
  • Straight Bit Diameter Diamètre de la fraise installée.
  • Cut Depth Limit Profondeur totale de la gravure.
    Le champ du dessous est le rappel de la profondeur que nous avions déterminé dans l’écran précédent et qui n’est plus accessible.
  • Sub Step Length valeur par défaut.
  • V-Carve finish Pass Stock Profondeur de la dernière passe, dans la capture d’écran, nous avons 1mm ce qui est une valeur aberrante, la passe de finition devant être légère, plutôt 0.3mm.
    Cette valeur dit être renseignée pour graver en plusieurs passes.
  • V-Carve Max Depth Per Pass dans notre cas 0.5mm ce qui fera 5 passes pour une profondeur de 2.5mm.
  • Cleanup Cut Diameter diamètre de la fraise utilisée pour le nettoyage (dans notre cas, ce devrait être le même que pour le détourage).
  • Cleanup Cut Step Over pourcentage de recouvrement des trajectoires de la fraise. J’ai laissé 50%, mais on peur diminuer le pourcentage pour accélérer le processus.
    Les paramètres non décrits ne m’ont pas servi.

Mode opératoire:

  1. Depuis l’écran cliquer sur le bouton Calc V-Carve, puis du menu file cliquer sur Save G-Code.
    Le fichier généré sera celui du détourage.

  2. Depuis l’écran V-Carve Settings cliquer sur Calculate Cleanup, puis sur Save Cleanup G-Code.
    Le fichier généré sera celui du nettoyage de l’intérieur des lettres.

Gravure:

  1. Lancer la gravure du fichier de détourage.
  2. Ramener la fraise au zéro.
  3. Lancer le fichier de nettoyage.
  4. Contempler votre œuvre.

Bonne gravure.
HURLUBIER


Merci Christophe, c’est vraiment cool d’avoir pris le temps d’écrire cette marche à suivre 🙂

J’espère qu’elle pourra vous être utile, et puisqu’on en est là, si vous avez envie de publier un article ici, il suffit de m’en parler!

[Tuto FlatCAM] Fabrication d’un circuit imprimé: du fichier Gerber au fraisage

Voici l’article qui boucle la boucle, et que je voulais écrire depuis longtemps!
Nous allons fabriquer le circuit imprimé dessiné sous KiCAD lors des dernières sessions.

Voici les étapes qui vont nous mener à un circuit opérationnel:
1. Export du circuit au format Gerber (isolation, perçage et découpe)
2. Importation des fichiers Gerber dans FlatCAM
3. Traitement dans FlatCAM (miroir, manipulation de géométrie et export en G-Code)
4. Ouverture des fichiers G-Code dans bCNC, mise à zéro, mise à niveau automatique.(Hum, désolé, ça c’est pour plus tard)
5. Usinage

1. Export au format Gerber depuis KiCAD

Nous partirons de ce schéma:

Le format Gerber est le standard utilisé dans la production de circuits imprimés. Il contient la description des pistes, des textes, des perçages, et toutes les informations nécessaires à la fabrication du circuit.

Pour notre projet, nous allons exporter 3 fichier Gerber:
* Contour des pistes
* Perçages
* Contour du circuit (pour la découpe)

Cliquons sur le bouton

Comme je disais, nous n’exporterons que les pistes de la couche de cuivre (rouge, F.Cu) et les découpes (jaune, Edge.Cuts).

En haut, choisissons le répertoire de sortie, relatif au projet KiCAD (ici, gerber/), et cliquons sur le bouton [Plot] en bas de la fenêtre. Normalement, KiCAD nous a généré deux fichiers d’extension gbr.

Il ne nous reste plus que le fichier de perçage. Cliquons sur le bouton [Generate Drill File].

On va choisir le format Gerber, et les millimètres comme unité. Attention, ne pas cocher [Mirror Y Axis] !

Une fois que tout est prêt, cliquer sur [Drill File]

KiCAD a généré un fichier .drl dans notre répertoire, et c’est tout ce qu’il nous manquait! Nous pouvons passer à l’étape suivante 🙂

2. Import des fichiers Gerber dans FlatCAM

Si vous ne connaissez pas encore FlatCAM, c’est le bon moment!
C’est un programme très puissant, même s’il est parfois un peu buggé lorsqu’il s’agit de manipuler les géométries. Mais pas de panique, je vais vous expliquer.

FlatCAM, brut de décoffrage

Nous allons importer nos trois fichiers (deux gbr et un drl):
* File>Open Gerber, et sélectionner les deux fichiers gbr.
* File>Open Excellon, et sélectionner le fichier drl.

Et voici où nous en sommes:

Ok donc là, FlatCAM affiche nos fichiers Gerber. Nous allons maintenant les manipuler pour pouvoir générer du G-Code (oui, c’est le but, faut pas l’oublier)

La première chose à faire, c’est de tout retourner, car le circuit sera gravé par en-dessous. FlatCAM a une fonction pour ça, qui s’appelle mirror. Alors nous allons déjà renommer les 3 fichiers dans FlatCAM, et vous comprendrez pourquoi.

Double-cliquons sur le 1er fichier, et changeons son nom par quelque chose de plus court, comme cuivre par exemple. Pareil pour les deux autres (decoupe, percage).

Si j’ai voulu donner des noms plus courts aux fichiers gerber, c’est parce que nous allons devoir effectuer une symétrie (miroir selon l’axe Y). Bah oui, nous devons graver le circuit à l’envers…

Pour appliquer la symétrie à nos 3 fichiers, malheureusement, pas de solution « cliquer ici ». Nous allons utiliser la console de FlatCAM. Si elle n’est pas déjà visible en bas de l’écran, aller dans le menu Tool>Command Line.

Il y a une tapée de commandes disponibles (help pour avoir la liste).

Nous allons symétriser nos 3 fichiers gerber avec la commande suivante:

Ok, on a symétrisé nos objets, mais vous avez vu où ils sont maintenant?? On va repositionner tout ça aux alentours de (0,0) pour une question de… maniaquerie. Et de volonté de ne pas péter les outils au moment de l’usinage avec un retour à (0,0) aléatoire.
Allez, +146 en X, et +108 en Y:

Il ne se passe rien? cliquons sur le bouton [Replot] de la barre d’outils, et FlatCAM va redessiner l’affichage. Je parlais de bugs, c’en est un.

2.1 Génération de G-Code pour la gravure d’isolation

Superbe! Nous n’avons maintenant plus qu’à générer le G-Code pour fabriquer notre circuit imprimé.

Double cliquons sur l’objet cuivre dans la liste de gauche.

Les détails s’affichent.

Je ne vais malheureusement pas tout détailler car je suis une grosse feignasse.
Les blocs qui nous intéresseront sont essentiellement Isolation Routing et Board Cutout.

Dans notre cas précis, nous allons ignorer Board Cutout, car nous avons une découpe assez tarabiscotée pour ce circuit. Mais sachez que cette commande permet de générer un tracé de découpe rectangulaire autour du circuit. C’est souvent suffisant.

Nous devons définir le diamètre de notre outil (ici, c’est une pointe de 0.4mm), et le nombre de passes d’isolation (en général je laisse une seule passe).

Une fois ces paramètres définis, cliquons sur [Generate Geometry] (le premier bouton, en bas du bloc Isolation Routing. Vous allez voir les pistes s’entourer de lignes rouges, éloignées de 0.2mm (le rayon de notre outil).

Retournons dans l’onglet Project. FlatCAM a créé un nouvel objet, cuivre_iso. Dans la terminologie de FlatCAM, c’est un objet de type géométrie. Il contient les lignes rouges en question.

Vous voyez le panneau de détails? On se rapproche du G-Code 🙂

Il faut indiquer la profondeur de gravure (Cut Z), la hauteur lors des déplacements rapides (Travel Z), la vitesse d’avance pour la gravure (Feed rate), et le diamètre de l’outil (Tool Dia.) On clique sur [Generate], et hop! Apparaissent des lignes bleues, qui représentent les traces réelles de l’outil.

Retournons sur l’onglet Project, et ô surprise, FlatCAM nous a généré un objet de type cnc : cuivre_iso_cnc.

On arrive au bout!

S’il n’y a rien à ajouter au début ou à la fin du fichier G-Code, il n’y a plus qu’à cliquer sur [Export G-Code], en bas, et enregistrer le fichier où bon vous semble.

2.2 Génération de G-Code pour le perçage

Wouuuhou! Bon, d’accord ça a l’air un peu long comme ça, mais c’était décrit en profondeur.

Passons au perçage. Z’allez voir, c’est plus rapide. On va revenir sur l’onglet Projet, et double cliquer sur notre objet percage.

FlatCAM nous affiche la liste des différents diamètres de trous utilisés dans le circuit (0.8mm, 1.0mm et 1.32mm).

Si vous vous en foutez et que pour vous, un trou c’est un trou, avec une taille unique, laissez les 3 lignes sélectionnées. Sinon, si vous voulez distinguer les diamètres et changer d’outil entre chaque série de perçage, il faudra sélectionner successivement les 3 lignes, et générer 3 objets cnc.

Pour la démo, on ne va pas se casser la nénette (oui, je suis toujours aussi peu courageux), et générer un seul objet cnc. Donc laissons les 3 tailles d’outils sélectionnées. Ajustons la profondeur de perçage (Cut Z, la hauteur pour les déplacements rapides (Travel Z) et la vitesse d’avance verticale (Feed rate), puis cliquons sur [Generate].

J’ai spoilé, je suis désolé. FlatCAM a généré un nouvel objet cnc: percage_cnc.

Et c’est kiki va générer un G-Code pour le perçage?

2.3 Une découpe un poil compliquée – manipulation de géométrie

Alors bon, cette partie, c’est seulement si on veut une découpe un peu tordue, comme celle de mon exemple. Sinon, passez votre chemin.

Parmi les fichiers Gerber, il y en a un qui s’appelle decoupe. Sélectionnons-le.

Disons qu’on veut l’attaquer avec une fraise de 1.5mm. On va précéder exactement comme pour générer la géométrie de l’isolation des pistes, sauf que le diamètre de l’outil sera de 1.5mm

J’avais prévenu que ce serait la merde… FlatCAM génère deux lignes: une à l’extérieur, et une à l’intérieur. Nous devons nous débarrasser de cette dernière.

Il faut pour cela sélectionner l’objet Géométrie créé (dans notre cas, decoupe_iso), et passer en mode Edit Geometry avec le bouton . Les lignes rouges changent alors de couleur.

Le but de la manœuvre, c’est de dessiner un polygone entre les deux lignes rouges, et d’effectuer une union booléenne entre les 2 lignes rouges d’origine et ce polygone, pour ne conserver que l’extérieur. Oui, c’est un peu lourdingue, mais c’est la seule façon que j’ai trouvée pour arriver à mes fins. Si vous en avez une autre, je suis preneur!

Donc, une fois en édition de géométrie, cliquons sur le bouton . Il s’agit ensuite de dessiner notre polygone entre les deux lignes de contour. Pour terminer le polygone, taper [Espace].

Une fois le polygone terminé, cliquer sur le bouton pour rafraîchir la géométrie et quitter le mode édition. Mais pas de panique, on y retourne tout de suite.

Allez! Rebelote :

La manip qui va suivre est un peu délicate pour cause de petit bug de sélection. On va zoomer à mort dans un coin de notre circuit, et cliquer sur le polygone que nous avons tracé précédemment. Il doit devenir noir.

Ensuite, appuyer sur Ctrl et cliquer sur le contour restant. Le reste devient noir.

Cliquer ensuite sur le bouton Polygon Union :

Les deux lignes intérieures devient rouges.

Valider en cliquant sur .

Notre géométrie est maintenant correcte!

Encore une étape et nous pourrons sauter au point 2.1 pour la génération du G-Code… Il faut créer des petits points d’attache (tenons, ou tabs en anglais), sinon notre circuit va voler à la fin de la découpe.

L’article est long hein… Je suis éreinté. Je voulais enchaîner sur bCNC mais je le ferai dans un prochain article.

Allez, on y va pour les tenons, dedieu dedieu!

Pour créer des tenons, il faut modifier encore un peu la géométrie précédente, en coupant la ligne à deux endroits.

Nous allons de nouveau éditer la géométrie decoupe_iso, et dessiner deux rectangles de 5mm sur la ligne, un en haut et un en bas.

On va revalider en cliquant sur le bouton OK en haut, puis retourner en mode édition. Maintenant, on va sélectionner le tracé du contour, puis le rectangle avec Ctrl. Les deux sont noirs? Ok. Allons dans le menu Drawing>Cut Path. Boum. FlatCAM a coupé notre contour. Il n’y a plus qu’à sélectionner le rectangle et l’effacer (touche – du clavier). Et pareil pour le tenon du bas.

Il suffit maintenant de refaire le point __2.1__, en ajustant le diamètre d’outil, la profondeur, et en cochant éventuellement la case Multi Depth pour faire plusieurs passes de découpe (dans ce cas, indiquer la profondeur de chaque passe juste en-dessous).

Ouf! On a enfin fini!

Nous avons donc maintenant nos trois fichiers G-Code (gravure, perçage et découpe), et il n’y a plus qu’à les envoyer dans la machine avec bCNC. Mais ça, c’est pour un prochain article, parce que là, cet article est déjà trèèèès long et je suis au bout de mes forces 😀

Documentation F-Engrave en français

Préambule

L’un d’entre vous (pas de nom, j’suis pas une balance) m’a demandé un tuto en français sur le programme F-Engrave.
J’en avais parlé très rapidement dans cet article, mais je n’avais pas expliqué comment le programme fonctionne.
Comme je ne l’avais pas vraiment exploré à fond, je me suis dit que la première étape était de me taper la documentation, et tant qu’à faire, de la traduire en français pour nos amis non anglophones.
Ceci est donc la traduction française presque officielle du manuel de F-Engrave. J’ai contacté l’auteur, Scorch, qui m’a suggéré de l’héberger chez moi pour faciliter les futures corrections et mises à jour.

Alors en attendant le tutorial, voici déjà la documentation!
La version originale se trouve ici : http://www.scorchworks.com/Fengrave/fengrave_doc.html

[Edit du 3 novembre 2017] Un tuto (gravure de texte avec un e fraise droite) écrit par un de mes lecteurs est disponible ici!

Table des matières

Conseils de Scorch
Questions et réponses
Options de la ligne de commande
Raccourcis clavier
Souris
Fichier de configuration
Options de le fenêtre principale
Options générales
Paramètres V-Carve
Options PBM


Conseils de Scorch

Voici le conseil que je donnerais à un ami qui commence à utiliser F-Engrave.

Ouvrir des anciens fichiers .ngc

F-Engrave peut ouvrir des fichiers g-code (.ngc) sauvegardés par F-Engrave. Si vous avez aimé les résultats obtenus la dernière fois, ou que vous voulez juste faire de petites modifications, ouvrez le fichier précédemment enregistré et travaillez sur les paramètres existants. Donc, pas besoin de recommencer à partir de zéro.
Paramètres V-Carve:
« Sub-Step Length »
Le paramètre v-carve « Sub-Step Length » est important pour la gravure avec une fraise en V (v-carving). L’algorithme de v-carving calcule la position de l’outil et la profondeur selon un intervalle fixe. Cet intervalle fixe est le « Sub-Step Length ». Un grand substep length accélèrera le calcul, mais produira potentiellement des facettes au moment de la gravure.

Si vous utilisez des unités métriques, vous devriez augmenter la valeur par défaut de ce paramètre pour accélérer le calcul (une valeur de 0.25mm devrait suffire).

Paramètres V-Carve:
« Check all or Current Char Only »
Pour graver l’intérieur des caractères, laissez cette option à « Character only »

Si vous utilisez l’option « flip normals » pour graver l’extérieur des caractères, ce paramètre doit être « All »

Paramètres V-Carve:
« Inside corner angle »
« Outside corner angle »
Ne vous embêtez pas avec les paramètres « Inside corner angle » et « Outside corner angle ». Les valeurs par défaut sont très raisonnables pour la majorité des situations.

Je documenterai ces paramètres plus tard, mais pour le moment laissez-les tels quels.

Utilisez Potrace
pour transformer des images en fichiers DXF
Potrace crée des fichiers DXF constitués de boucles fermées, ce qui est idéal pour graver avec F-Engrave. De plus, Potrace donne en général de bons résultats et offre beaucoup d’options pour ajuster le résultat selon vos besoins. Si vous devez calculer des chemins d’outil à partir d’images DXF complexes, attendez-vous à ce que les calculs prennent du temps.





Questions et réponses


Comment faire fonctionner le programme ttf2cxf_stream?

En arrière plan, F-Engrave utilise le programme ttf2cxf_stream. Pour utiliser un fichier de police True Type (TTF), vous devez l’installer dans le dossier des polices (ou dans le dossier indiqué dans les options). Le fichier TTF devrait apparaître dans la liste des polices disponibles, pour autant que le programme ttf2cxf_stream fonctionne correctement et se trouve dans le même répertoire que F-Engrave. Si le programme ttf2cxf_stream n’est pas présent ou ne fonctionne pas, vous devriez voir un message dans la fenêtre de la console indiquant que ttf2cxf ne fonctionne pas. Plus d’information ici:F-Engrave Setup


Options de la ligne de commande

Usage python f-engrave-XX.py [-g fichier | -f dossier_polices ]
ou
f-engrave-XX.exe [-g fichier | -f dossier_polices ]
-g
(ou –gcode_file)
Fichier g-code de f-engrave à charger
-f
(ou –fontdir)
chemin vers le dossier des polices
-h
(ou –help)
affiche l’aide dans la console.
Exemple
(Utilise le script python avec une
distribution python préinstallée)
python f-engrave-XX.py -g mon_fichier.ngc -f /mon_rep_polices/sous_repertoire
Exemple
(Utilise l’exécutable
Windows précompilé)
f-engrave-XX.exe -g mon_fichier.ngc -f C:/mon_rep_polices/sous_repertoire




Raccourcis clavier

F1 Ouvre la fenêtre d’aide (il n’y a rien dans l’aide, à part un lien vers cette page web et mon adresse e-mail)
F2 Ouvre la fenêtre des paramètres généraux
F3 Ouvre la fenêtre des paramètres de V-Carving
F4 Ouvre la fenêtre des paramètres PBM
F5 Recalculer (c’est la même fonction que le bouton « recalculate » sur la page principale)
Ctrl + flèche du haut Fait défiler la liste des polices (selon le système d’exploitation)
Ctrl + flèche du bas Fait défiler la liste des polices (selon le système d’exploitation)
Page Up Zoom avant vers le centre de l’affichage.
Page Down

Zoom arrière vers le centre de l’affichage.






Souris

Bouton gauche Zoom avant et arrière. Maintenez le bouton gauche appuyé et déplacez la souris vers le haut ou le bas.
Bouton droit Déplacement. Maintenez le bouton gauche appuyé et déplacez la souris.
Molette Selon le sytème d’exploitation, la molette fait défiler la liste des polices.






Configuration File

config.ngc
ou
.fengraverc
Quand F-Engrave démarre, il cherche un fichier « config.ngc ». S’il le trouve, ce fichier est lu et toutes les options de F-Engrave sont initialisées selon les options trouvées dans ce fichier de configuration. F-Engrave recherche ce fichier dans le répertoire courant et dans le répertoire home de l’utilisateur (répertoire d’enregistrement par défaut). Le fichier de configuration peut s’appeler « config.ngc » ou « .fengraverc ». Si l’un des deux est trouvé, il sera utilisé pour initialiser les options if either of these are found it will be used to set the default settings. Seul le premier fichier est utilisé.

Pour créer un fichier de configuration avec vos options préférées, ouvrez simplement F-Engrave, changer les paramètres selon vos besoins, et enregistrez un fichier « config.ngc » dans votre répertoire utilisateur (répertoire d’enregistrement par défaut), ou dans le répertoire où se trouve F-Engrave. (Si vous n’utilisez pas la version précompilée pour Windows, vous pouvez aussi modifier directement les paramètres dans le fichier .py)


Fenêtre principale (mode Texte et mode Image)

F-Engrave - Text Mode
F-Engrave - Image Mode

Champ Description
Text Height
ou
Image Height
Hauteur des caractère pour une ligne de texte. Cette option contrôle aussi la hauteur des images (DXF ou PBM) importées. (F-Engrave traite les données DXF comme un caractère)
Line Thickness Epaisseur ou largeur des lignes pour afficher le texte. Pour prévisualiser ce qui sera gravé, ce paramètre doit être égal au diamètre de la fraise.

Quand l’option V-Carve est sélectionnée, ce paramètre n’a pas d’effet sur l’épaisseur des lignes affichées.

Text Width
ou
Image Width
C’est la largeur des caractères ou de l’image (DXF ou PBM). Si elle est de 100%, la largeur des caractères n’est pas modifiée. Pour des valeurs différentes de 100%, la largeur du caractère sera redimensionnée selon la valeur indiquée (i.e. les cercles deviennent des ellipses).
Char Spacing F-Engrave utilise un espacement constant entre tous les caractères. L’espacement entre les caractères est déterminé comme un pourcentage de la largeur maximale des caractères dans la police sélectionnée. Avec une valeur de 0%, tous les caractères se toucheront, et cela peut être utile dans certains cas spécifiques.
Word Spacing C’est l’espace entre les mots, ou la largeur du caractère « espace ». Il est déterminé comme un pourcentage de la largeur maximale des caractères dans la police sélectionnée.
Line Spacing C’est l’espacement vertical entre les lignes de texte. C’est un multiple de la hauteur des caractères définie précédemment. Un espacement vertical de 1.0 peut conduire à deux lignes de texte qui se touchent si le caractère le plus grand est juste en dessous du caractère qui descend le plus pas (par exemple un « g »)
Text Angle
ou
Image Angle
Rotation du texte ou de l’image (DXF or PBM) par rapport à l’horizontale.
Justify La justification aligne la gauche, droite ou le centre de plusieurs lignes de texte. Cette option n’a pas d’effet sur une seule ligne de texte.
Origin L’origine détermine la position relative du zéro (x,y) dans le g-code. La position actuelle de l’origine est affichée avec deux lignes, rouge et verte. La ligne rouge est l’axe x, la verte l’axe y.

Par défaut, l’origine est placée sur la position zéro du premier caractère. Si le texte est sur un cercle, cette option déplacera le centre du cercle.

Flip Text
ou
Flip Image
Bascule le texte ou l’image le long d’un axe horizontal. (comme « Mirror text », mais sur un axe horizontal)
Mirror Text
ou
Mirror Image
Bascule le texte ou l’image le long d’un axe vertical. (comme « Flip text », mais sur un axe vertical)
Circle Radius C’est le rayon du cercle sur lequel le texte est placé. Si le rayont vaut 0.0, le texte n’est pas placé sur un cercle.
Outside Circle Détermine si le texte est placé à l’intérieur ou à l’extérieur du cercle.
Top of Circle Détermine si le texte est placé en haut ou en bas du cercle. Si l’angle de texte est différent de 0.0, alors le haut et le bas du cercle seront pivotés de cet angle.
Feed Rate Détermine la vitesse d’avance de l’outil dans le fichier g-code.
Z Safe C’est l’emplacement z de l’outil à utiliser pour les déplacements rapides.
Cut Depth C’est la profondeur de coupe. Cette option n’a pas d’effet si l’option V-Carve est sélectionnée.
Font Files Cette liste affiche les noms de fichier des polices (CXF et TTF). Le répertoire des polices peut être changé dans la fenêtre « Settings/General settings ».
Show All Font Characters Cette option affiche temporairement tous les caractères disponibles dans la police sélectionnée.
Engrave/V-Carve Permet de travailler en mode « Gravure » ou « V-Carve ».
Calculate V-Carve Ce bouton lance le calcul pour le V-Carving. Le traitement peut être long.
Recalculate Racalcule l’affichage pour tous les options pour prévisualiser le résultat. Tout est recalculé, sauf le V-Carve.
Input Text C’est le texte qui sera affiché dans la prévisualisation, et exporté dans le fichier g-code.
Status Bar La barre d’état fournit quelques éléments d’information quand on travaille avec F-Engrave. Une des plus utiles est la taille de la boîte englobante (bounding box). Quand vous cliquez sur le bouton « Recalculate », la taille globale de la gravure ou du V-Carving est calculée et affichée dans la barre d’état, en termes de boite englobante (largeur et hauteur).
C’est très utile si vous avez une surface limitée.





Options générales

Champ Description
Units (inch/mm) Définit les unités utilisées par F-Engrave (pouces ou mm). Cette option affecte les unités affichées, et les unités de sortie du fichier g-code.
X Offset and Y Offset Sur la fenêtre principale, le champ « origin » détermine la position du zéro x et y dans le g-code, par rapport au texte ou au dessin DXF. Le décalage (offset) X et Y sont des modifications supplémentaires pour l’emplacement du zéro. Ces décalages sont ajoutés aux valeurs X et X dans le g-code. Par exemple, si le texte est sur un cercle de centre x=0,y=0 et qu’on indique un décalage (x,y) de (3,4), alors le texte sera centré autour de x=3 et y=4.
Arc Angle Tous les arcs, cercles et splines sont réduits à des segments individuels par F-Engrave.
Ce paramètre détermine combien de segments sont nécessaires pour décrire ces courbes. Si « arc angle » est de 90 degrés, un cercle sera représenté par un carré (coins de 90 degrés).
Si l’angle est de 60 degrés, un cercle sera représenté par un hexagone. Plus l’angle est petit, plus la représentation est précise (avec comme conséquence un temps de calcul plus long, et potentiellement une baisse de performances de la machine CNC).
Accuracy
(Nouveau dans la version 0.5)
La précision détermine la distance maximale entr edeux points considérés comme coïncidents. Ce paramètre peut être augmenté pour limiter les mouvement Z qui ne sont pas nécessaires, lorsque la fin d’une ligne et le début de la suivante sont très proches mais pas coïncidents. Cette option réduit aussi la semsibilité des splines DXF avec des boucles sur des coins aigus, quoi peuvent générer des chemins V-Carve erronnés. (J’ajouterai un exemple de ce cas de figure).
G Code Header Le texte saisi dans ce champ sera ajouté au début du fichier g-code. Les commandes sont interprétées telles quelles par la machine CNC. LRd valeurs par défaut (G17 G90 G64 M3 S3000 M7) sont expliquées ci-dessous:
G17

Utiliser le plan XY
G90

Cycle fixe, cycle simple, pour dégrossir (emphase sur l’axe Z)
G64 P0.003

G64 P- (tolérance pour la fusion des mouvements définie à 0.003) C’est la valeur par défaut dans le programme historique « engrave.py »
G64

G64 sans l’option P conserve la meilleure vitesse possible, peu importe la distance par rapport au point de destination.
M3 S3000

Démarrage de la broche à 3000
M7

Active la pompe de refroidissement (si disponible)

G Code Postscript Ce texte sera ajouté à la fin du fichier g-code. Les commandes sont interprétées par la machine CNC telles quelles. Les valeurs par défaut (M5 M9 M2) sont expliquées ci-dessous:
M5

Arrêt de la broche
M9

Arrête la pompe de refroidissement
M2

Fin du programme
Font Directory C’est le répertoire utilisé pour chercher les fichiers de police (TTF et CXF) et les fichiers DXF. Les fichiers avec une extension correcte sont affichés dans la liste « Font Files ». Si vous ouvrez un fichier DXF avec le menu, le répertoire « font directory » sera automatiquement modifié, et deviendra le répertoire qui contient votre fichier DXF.
Height Calculation
Max Used/Max All
La hauteur du texte peut être déterminée de deux façons. La première est la valeur saisie dans « Text height ». Dans ce cas, la hauteur maximum du texte est celle saisie.

La seconde option est « Max All ». Quand cette option est sélectionnée, c’est la hauteur maximale de tous les caractères de la police qui est utilisée pour déterminer la hauteur du texte. Quand « Max All » est utilisé, il est possible d’avoir une hauteur de texte en sortie plus petite que la hauteur entrée dans la fenêtre principale, car le caractère le plus grand de la police peut ne pas être utilisé dans le texte à graver.

Add Box/Circle Cette option ajoute une boîte englobante autour du texte. Si le texte est placé sur un cercle, alors un cercle englobant sera ajouté, plutôt qu’une boîte englobante.
Border Gap
(multiple of line thickness)
La marge de la bordure détermine la taille de la boîte englobante ajoutée avec l’option « Add Box/Circle ». L’espace entre le texte et la boîte englobante est défini en unités de longueur (pouces ou mm).





Paramètres V-Carve

Champ Description
V-Bit Angle L’angle de la fraise en V à utiliser.

Il est possible que l’angle réel de la fraise ne corresponde pas exactement à celui indiqué par le fabricant.
V-Bit Diameter Diamètre maximal de coupe avec la fraise.

Il peut être plus petit que le diamètre réel de la fraise, pour contrôler la largeur/profondeur de coupe.
Sub-Step Length

L’algorithme de v-carving calcule la position de l’outil et la profondeur selon un intervalle fixe. Cet intervalle fixe est le « Sub-Step Length ». Un grand substep length accélèrera le calcul, mais produira potentiellement des facettes au moment de la gravure. Si vous réduisez trop le « Sub-Step Length », le temps de calcul peut devenir très long, ainsi que la performance de la machine au moment de l’usinage (à cause de commandes G1 très courtes).
En cas de doute, commencez avec une valeur élevée, et diminuez jusqu’à obtenir des résultats corrects.

Check all or Current Char Only

All/Character only
Pour calculer les chemins de V-carving, F-Engrave recherche les autres segments pour limiter la profondeur de gravure. Cette option détermine si F-Engrave doit regarder les autres segments dans le caractère uniquement, ou dans toue les autres caractères. Si vous faites du V-Carving sur l’intérieur des caractères uniquement, il n’y a aucune raison de vérifier les segments des autres caractères. Mais si vous enlevez la matière autour des caractères, alors il faut vérifier les autres segments pour éviter d’enlever de la matière sur un autre caractère. (Vérifier tous les caractères est bien plus lent que vérifier un caractère uniquement).
Flip Normals

(V-Carve Side)
F-Engrave présume que la police ou l’image (DXF) crée des chemins fermés, dans le sens des aiguilles d’une montre autour du dessin qui doit être gravé. Et par défaut, il va graver l’intérieur des caractères.
Cette option inverse le sens de traitement, et c’est donc l’extérieur des caractères ou du dessin DXF qui sera retiré.
Plot During V-Carve Calculation Active ou désactive le dessin pendant l’avancement des calculs de V-Carving. Désactivée, cette option accélère la vitesse de calcul sans affecter la sortie g-code.
Finish Pass Stock
et
Max Depth per Pass
Le « Finish Pass Stock » est la hauteur de matière qui restera pour la dernière passe.

F-Engrave laissera toujours cette épaisseur pour la dernière passe, même si « Max depth per pass » est supérieur à la profondeur de coupe maximale.

Si vos paramètres sont:

Finish Pass Stock = 0.03

Max Depth per Pass = 0.1

Et que votre profondeur maximale à un endroit du dessin est de 0.5, alors la profondeur de coupe pour les passes à cet endroit seront:

passe 1: 0.1

passe 2: 0.2

passe 3: 0.3

passe 4: 0.4

passe 5: 0.47

passe 6: 0.5 (c’est la passe de finition: 0.5 – 0.47 = 0.03)

Cleanup Cut Diameter Cette option définit le diamètre de la fraise de nettoyage. Indiquez simplement le diamètre de la fraise à utiliser.
Cleanup Cut Step Over C’est le taux de recouvrement pour les passes de nettoyage. Cette valeur est un pourcentage du diamètre de la fraise de nettoyage.
Cleanup Cut Directions Ces cases à cocher indiquent les types de chemins d’outils à utiliser pour nettoyer.
P: Coupe le long du périmètre de la surface à nettoyer
X: Coupe le long de l’axe X
Y: Coupe le long de l’axe Y

V-Bit Cleanup Step C’est le taux de recouvrement à utiliser pour nettoyer les zones qui ne peuvent pas être atteintes avec la fraise de nettoyage.
La coupe est destinée à être effectuée avec la même fraise en V que celle utilisée pour le V-Carving.
Ce recouvrement est indiqué dans l’unité de longueur sélectionnée.
V-Bit Cut Directions

Ces cases à cocher indiquent les types de chemins d’outils à utiliser avec la fraise en V.
P: Coupe le long du périmètre de la surface à nettoyer
X: Coupe le long de l’axe X
Y: Coupe le long de l’axe Y

Bouton:
Calculate Cleanup
Détermine la surface qui nécessite un nettoyage. Une fois cette surface déterminée, les parcours d’outil pour le nettoyage sont calculés selon les paramètres définis ci-dessus.
Le calcul de la surface est effectué seulement une fois, après le calcul des chemins pour le V-Carve.
F-Engrave se souviendra des résultats précédents et les utilisera jusqu’à ce qu’un nouveau calcul de chemin V-Carve soit effectué.

Bouton:
Save Cleanup G-Code
Ce bouton enregistre le G-Code de nettoyage dans un fichier.
Button:
Save V Cleanup G-Code
Ce bouton enregistre le G-Code de nettoyage (fraise en V) dans un fichier.





Options PBM

Champ Description
(Ces options sont transmises directement à Potrace. Pour plus d’information, consultez la documentation de Potrace)
Turn Policy Indique à Potrace comment résoudre les ambiguités dans la décomposition des chemins.
Turd Size Supprime les éventuelles petites taches jusqu’à cette taille.
Alpha Max Seuil pour les coins.
Long Curve Active/désactive l’optimisation des longue courbes. L’optimisation permet de diminuer le temps de calcul pour le V-Carve.
Opt Tolerance Tolérance pour l’optimisation des courbes.




Conseils d’utilisateurs

Un utilisateur a remarqué que sur Linux (Ubuntu), il avait besoin de rendre le fichier python exécutable et de retirer les sauts de ligne DOS pour arriver à faire tourner le programme. Je n’ai pas réussi à reproduire le problème, mais voici les étapes à suivres si vous avez des soucis:
$ chmod 755 f-engrave-08.py # rendre le fichier exécutable
$ sudo apt-get install tofrodos
$ fromdos f-engrave-08.py # convertir les fins de lignes dos en unix

Problèmes connus

  • F-Engrave génère une commande G1 pour chaque segment calculé quand on fait du V-Carving. Si la taille des segments (step size) est très petite, la machine CNC ne pourra jamais atteindre la vitesse indiquée dans le G-Code.

    – Tous les fichiers DXF ne sont pas supportés. Il y a énormément de types d’entités différents dans le format DXF, et tous ne sont pas supportés.

    – Toutes les polices TTF ne sont pas supportées. Certaines polices TTF encapsulent des images plutôt que des graphiques vectoriels. Les polices TTF basées sur des images ne sont pas supportées.

Scorch Works Home

Plaque décorative de la comté

Pâques arrive avec son lot de chocolats, retrouvailles de famille et d’amis, et annonce une inexorable tôle pour le vendredi soir!

A l’occasion de nos retrouvailles annuelles, l’ami Geo m’a demandé si je pouvais lui fabriquer une plaque « Bag End » pour mettre devant chez lui, en référence à la maison de Bilbon Sacquet du même nom.

Le petit challenge, c’est que les dimensions demandées ne me permettaient pas de fabriquer la pièce en une fois.
Alors j’ai fait un petit assemblage façon puzzle (j’vais lui montrer qui c’est Raoul!), histoire que les deux morceaux ne s’écartent pas trop avec le temps et l’humidité, et que ça ne devienne pas tout dégueulasse.

La pièce mesure 51x30cm.

Détail de la gravure

Raccord pas trop vilain

Le making of !

Chaque moitié a été usinée de la manière suivante:

  1. Contour à la fraise ronde pour la moulure (4mm de profondeur, fraise de 1/4 de pouce)
  2. Découpage à la fraise droite de 1/4 de pouce (passes de 3mm, avec des tenons pour éviter que ça se barre à l’étape 3)
  3. Gravure du texte à la fraise conique de 120°
Moulure gravée à la fraise ronde
Brut de décoffrage
Les deux parties après nettoyage. Évidemment il a fallu poncer un peu au niveau de l’assemblage pour que ça rentre…
Et paf! un peu de colle, deux serre-joints, et une bonne nuit de sommeil…

Et le résultat final

L’ami Geo s’est ensuite attelé à arranger le panneau pour le vieillir et lui donner un air authentique. Il a noirci l’intérieur des lettres, il y est même allé au chalumeau le cochon. Puis ponçage, vernis, ponçage, vernis (répéter jusqu’à ce que le pot soit vide). Il explique ça bien plus en détails ici.

Le résultat est vraiment mortel!

Ça a de la gueule!

Surfaçage du plateau de la fraiseuse

Ce week-end, j’ai fait quelque chose que je voulais faire depuis longtemps: mettre à niveau le plateau de la machine.
Depuis le début, il présentait des variations de niveau, jusqu’à 0.6mm en plus ou en moins.

Alors pour graver des circuits imprimés ce n’est pas grave (paradoxalement) grâce à l’outil d’autoleveling de bCNC qui compense les variations de hauteur. Mais pour de la découpe standard de bois par exemple (dont la surface n’est pas conductrice, jusqu’à preuve du contraire), un coup il va rester de la matière en bas, ou alors la fraise va carrément attaquer le plateau de la machine…

Bref: pas bien!

J’ai trouvé sur ebay une fraise à surfacer de 21mm de diamètre, avec une queue de 6mm.

fraise-surfacage
Fraise à surfacer de 21mm
Fraise à surfacer de 21mm
Vue de dessous

Je crois que j’en avais parlé dans un précédent article, mais j’ai un problème avec les queues de 6mm: elles ne sont pas correctement serrées dans la pince de 1/4 de pouce (6.35mm). Jusqu’à présent j’étais contraint d’enrouler du papier alu autour pour compenser les 0.35mm et pouvoir serrer la fraise correctement… Pas génial comme truc.
Mais avec la défonceuse, une pince de 8mm était livrée, et j’ai trouvé sur ebay également un adaptateur 8mm->6mm.
C’est juste un cylindre de métal fendu qu’on enfile autour de la queue (de la fraise, bande de cochons!) avant de l’insérer dans la pince. Et ça marche du feu de dieu.

Enfin un élargisseur de queue qui marche!
Enfin un élargisseur de queue qui marche! (bon, ça la passe de 6mm à 8mm…)

J’ai utilisé l’outil d’autoleveling de bCNC pour mesurer les écarts de hauteur maximums, en déplaçant une chute de circuit imprimé sur la surface pendant le sondage. L’écart max étant de +-0.6mm, j’ai fraisé toute la surface à -1mm, et je me retrouve désormais avec une surface bien parallèle aux axes X et Y de la machine.

CQFD.

Une belle table bien plane!
Une belle table bien plane!

Mini tuto sur MakerCam

A la demande d’un lecteur (Nico, si tu nous entends…), je me suis penché sur makercam, un program de CAM en ligne (et en Flash) qui permet de générer des fichiers gcode à partir de dessins 2D réalisés directement sur le site, ou importés depuis un fichier SVG.

Note: j’ai fait ce test sous windows pour des raisons… de flash…

makercam vide
MakerCam à l’état naturel

Ok, donc nous allons, pour cette démo, réaliser la découpe de la lettre A.

Par pur souci de fainéantise, je vais dessiner un A de gros cochon à main levée directement dans makercam. Ne pas oublier de passer en centimètres en haut à droite si on veut travailler en centimètres!

makercam lettre A
Ah bah c’est du joli!

Avec l’outil flèche (en haut à gauche, le 2ème bouton), nous allons sélectionner notre A au complet. Il apparait en rouge.

Pour découper cette lettre, des opérations de contour (profile en anglais) suffisent. Disons que nous voulons faire une découpe sur 10mm de profondeur.

Allons ensemble, si vous le voulez bien, dans le menu CAM>Profile. Une boite de dialogue s’ouvre et nous pouvons entrer les paramètres de l’opération.

Disons que j’ai une fraise de 1/8 » (3.175mm)

Je rentre mes paramètres:

makercam profile
Création de l’opération de découpe

En cliquant sur OK, notre A se remplit de bleu. Il est temps de générer le parcours d’outil, en allant dans CAM>Calculate all!

makercam toolpath
Le parcours d’outil s’affiche en vert

Ok, donc là on est pas mal. Mais si on découpe ça tel quel à la machine, à la dernière passe, notre pièce risque de bouger et de prendre un coup de fraise dans les côtelettes. Pas top.

Nous devons donc éviter que la pièce soit totalement détachée, et pour ça nous allons mettre en place des tenons (tabs en anglais).

Avec notre forme toujours sélectionnée, allons dans CAM>add tabs to selected.

Un menu s’affiche, et on peut y définir l’espacement entre les tenons, ainsi que leur longueur et leur épaisseur.

Paramétrage des tenons
Paramétrage des tenons
makercam-tabs
Les tenons ont été générés, mais l’emplacement c’est pas toujours idéal

Il ne faut pas hésiter à les faire glisser à la souris pour qu’ils soient plus faciles à découper manuellement après l’usinage.

Une fois que tout est prêt, il n’y a plus qu’à recalculer les parcours d’outil (CAM>Calculate all), et on peut maintenant exporter le G-Code 🙂

CAM>Export GCode. On sélectionne tout, et on clique sur Export selected toolpaths. Il n’y a plus qu’à télécharger le fichier, qu’on peut éventuellement visualiser dans Chilipeppr:chilipeppr

Détail des tenons
Détail des tenons

Bon, j’avoue que je ne suis pas ultra fan de MakerCam, il y a quelques bugs et des comportements bizarres à l’utilisation; mais ça peut quand même bien dépanner si on n’a rien sous la main pour générer du G-Code.

En tout cas, c’est un énorme boulot qu’il faut saluer, et le programme est open source!

Un bougeoir en contreplaqué

Yo!

On peut faire de jolies choses en usinant du contreplaqué, car selon la profondeur, les couleurs s’alternent.

J’ai fait un petit (enfin bon, 15 cm) bougeoir pour parer aux coupures électriques, et aussi parce que c’est joli…

Je suis parti sur une superposition de 3 morceaux de contreplaqué de 8mm, soit une hauteur de brut de 24mm.

Le matériau brut : trois morceaux de contreplaqué collés entre eux
Le matériau brut : trois morceaux de contreplaqué collés entre eux
Ebauche à l'aide d'une fraise droite de 6.35mm (1/4'')
Ebauche à l’aide d’une fraise droite de 6.35mm (1/4 »)
L'ébauche est terminée...
L’ébauche est terminée…
...passons à la finition! Fraise à bout rond de 3.175mm (1/8'')
…passons à la finition! Fraise à bout rond de 3.175mm (1/8 »)

Après une bonne demi-heure de travail et un peu de ponçage au papier de verre fin, voici le résultat!

bougeoir contreplaqué

bougeoir contreplaqué

Après une couche d'huile d'abrasin, les teintes sont réchauffées
Après une couche d’huile d’abrasin, les teintes sont réchauffées

A bientôt!

Open tartine

Il y avait un moment que l’idée de graver une tranche de pain de mie ou brioche me trottait dans la tête…

J’ai gravé le logo Open Hardware sur du pain de mie. C’est une open tartine!

Alors par contre il faut aller lentement, à cause des aspérités sur la surface. A 500mm/min, ça ne marque pas du tout. J’ai gravé celle-ci à 50mm/min. Faut pas être pressé…

Open hardware pain de mie

La coupe est assez profonde
La coupe est assez profonde
Avec du fromage qui pue c'est bien meilleur :)
Avec du fromage qui pue c’est bien meilleur 🙂

Sous-verres : le support

Bon ben, les sous-verres, ça m’embêtait un peu de les livrer comme ça, tout nus; du coup j’ai usiné un petit support.

J’ai des planches de pin de 18mm, ce qui est un peu short en épaisseur… Alors paf! colle à bois, serre-joints, et j’ai doublé l’épaisseur 🙂

Dans ce bloc de 36mm, j’ai pu tailler ceci:

Support sous verres
Le support taillé dans deux planches collées
Support sous verres
Yeah, Jacob Delafon! Il y a 2mm de jeu entre les disques et le support.

Bisous et bon long week end!

Fabrication de sous-verres personnalisés, gravés au laser

Comme à chaque week-end de Pâques depuis une dizaine d’années, je vais retrouver mes amis et ma famille en Limousin, et c’est toujours la bonne occasion pour se mettre une belle race 🙂

Cette année, j’ai décidé de fabriquer des sous-verres pour l’ami Geo (http://vivrealarochette.fr), et y inscrire les principales spécialités de chez lui lorsque vient Pâques.

Les sous-verres mesurent 10cm de diamètre. Je les ai découpés à la fraise de 2.5mm, et gravés avec le laser.

1. Conception

Pour la conception, j’ai utilisé Inkscape (https://inkscape.org)
J’ai dessiné mon cercle de 10cm, mis en place mes textes. Ah tiens, au passage, voici comment courber un texte dans Inkscape:
– Il faut d’abord le transformer en chemin (menu Chemin > Objet en chemin)
– Aller dans Chemin > Effets de chemin
– Cliquer sur le + pour ajouter un nouvel effet de chemin, et choisir « Courber ».
– Jouer avec les différentes méthodes de courbure (manuelle, liée à un chemin…)

Une fois que mon dessin est prêt, je l’exporte au format PNG, en noir et blanc.

inkscape

2. Découpe

Mon laser n’étant pas assez puissant pour couper du MDF de 3mm, j’ai fait la découpe avec Cambam et une fraise de 2.5mm.

3. Préparation du G-Code pour graver l’image PNG

Pour générer du G-Code à partir d’une image non vectorielle, j’ai écrit un programme en C# qui lit l’image, et écrit les commandes G-Code dans un fichier texte. Il reste des choses à perfectionner, mais il fonctionne plutôt bien 🙂

PicGCode

4. Mise à zéro de la machine pour le laser

Une fois mes disques découpés, mon G-Code préparé, il n’y a plus qu’à les graver!
Par contre, le module laser est décalé par rapport à la fraise, donc il fallait remettre les choses à zéro avant d’attaquer.
Pour ça, j’ai fait un petit G-Code à la main, qui me dessine au laser un cercle de 10cm de diamètre. Après, je n’ai plus qu’à placer mon sous-verres dans le cercle et je suis sûr de sa position 🙂

Shapeoko, préparation gravure laser
Positionnement du disque après la mise à zéro de la machine

5. A l’attaque!

Hop, la phase la plus excitante: la gravure!

Le faisceau laser m'impressionnera toujours...
Le faisceau laser m’impressionnera toujours…
Universal G-Code Sender
Universal G-Code Sender
Petite photo prise entre deux allumages du laser
Petite photo prise entre deux allumages du laser
Et voilà la série de sous-verres :)
Et voilà la série de sous-verres 🙂

6. Vernissage

Alors certains diront qu’il ne faut pas vernir un sous-verre, parce que son but premier est d’absorber les gouttes de condensation et de pinard qui pourraient couler à l’extérieur du verre. Mais super, quoi, une fois taché, ton sous-verre est… taché.
Alors j’ai pris la liberté de passer deux couches de vernis, et j’avoue que le rendu n’est pas trop dégueu. Par contre, à la lumière, en le regardant de profil, on voit quelques coups de pinceaux. Je devrai perfectionner ma technique de vernissage…

Première couche
Première couche
Seconde couche
Seconde couche