1 004
modifications
Modifications
Page créée avec « Cura est un logiciel de génération de gcode à partir de fichier 3D au format STL, il pouvait donc être intéressant de l'utiliser pour faire de la 3D avec la CNC.... »
[[Cura]] est un logiciel de génération de gcode à partir de fichier 3D au format STL, il pouvait donc être intéressant de l'utiliser pour faire de la 3D avec la CNC.
==Généralité==
Manquant d'outil pour génération du Gcode à partir de fichier STL, j'ai testé une utilisation de Cura pour générer du Gcode.
C'est une solution qui fonctionne pour un type d'usinage, celui avec des passes discrétisées suivant l'axe Z. <br/>
Aussi je préviens tout de suite, c'est une solution/magouille plutôt par manque de moyen qu'une réelle solution définitive. On préfèrera la méthode via une image PNG en niveau de gris.
Cette méthode se décompose en 3 parties:
# L'importation du modèle et génération du gcode
# Le nettoyage du fichier via l'outil [[Sed]] pour le rendre compatible avec la CNC
# Dernier nettoyage via [[bCNC]] et lancement de l'usinage
==Hack de Cura==
Après plusieurs tests: voilà le fichier config [[Fichier:CNC_ProfilCura.ini.zip]] pour cura auquel j'ai abouti.<br/>
Ce fichier permet de ne garder que les surfaces du fichier STL
Ainsi vous pouvez lancer [[Cura]] et ouvrir le profil pour la CNC. <br/>
Vous voyez qu'il y a des 0 partout c'est normal !
La visualisation par couche est très recommandé. <br/>
Il faut placer la pièce dans le sens inverse de découpe ! (Donc la pièce doit monter suivant Z positif) (SED fera l'inversion)
Les paramétrages possibles sont:
*Épaisseur de couche (mm): Il va discrétiser les passages de la fraiseuse plus ou moins finement suivant l'axe Z.
*Le taux de remplissage (%): Il va faire des passages à l'intérieur du volume voulue (il faut au préalable avoir décocher la case "Ne traiter que la surface" dans "Expert/Configuration Experte...")
*Aussi vous pouvez agrandir ou rétrécir le fichier via le changement d'échelle, c'est votre seule moyen de compenser le diamètre de l'outil.
Les vitesses non aucunes importance, on changera la vitesse d'avance via Sed.
Ensuite vous pouvez générer votre fichier gcode depuis Cura.
==[[Sed]]==
Pour traiter le fichier de cura et le rendre compatible j'ai choisi d'utiliser [[Sed]] qui est un éditeur de flux, il permet de traiter des fichiers textes avec une efficacité redoutable.
Aussi voici le Code [[Sed]] que j'ai paramétré: [[Fichier:Cura_CNC_Zn.sed.zip]]
#Nettoyage
/M107/d
/M108/d
s/Z-0$/Z0/
s/Z-0 /Z0 /
#Suppression des commandes d'extrusions
s/E[0-9]*.[0-9]*//
#Linéarisation des vitesses d'avances
s/G1 F[0-9]*.0*/G1 F500 /
#Symétrie suivant Z et nettoyage
s/Z/Z-/
s/Z-0$/Z0/
s/Z-0 /Z0 /
#Suppression des commentaires et rajout des remontées de broches entre les couches
/^;/d
s/\(^G0.*\)Z\(.*\)$/G0 Z1\n\1\nG1 F500 Z\2/
*Pour changer la vitesse d'avance il faut changer les 2 "F500" par F puis votre vitesse en (mm/min)
*Pour lancer le nettoyage on lance un terminal
**On se place dans un dossier contenant, son fichier Gcode venant de cura et le fichier .sed permettant de lancer les commandes sed
**On lance la commande suivante:
sed -i".bak" -f Cura_CNC_Zn.sed mon_fichier.gcode
Maintenant que le nettoyage est fait on peu passer sur bCNC.
==bCNC==
==Généralité==
Manquant d'outil pour génération du Gcode à partir de fichier STL, j'ai testé une utilisation de Cura pour générer du Gcode.
C'est une solution qui fonctionne pour un type d'usinage, celui avec des passes discrétisées suivant l'axe Z. <br/>
Aussi je préviens tout de suite, c'est une solution/magouille plutôt par manque de moyen qu'une réelle solution définitive. On préfèrera la méthode via une image PNG en niveau de gris.
Cette méthode se décompose en 3 parties:
# L'importation du modèle et génération du gcode
# Le nettoyage du fichier via l'outil [[Sed]] pour le rendre compatible avec la CNC
# Dernier nettoyage via [[bCNC]] et lancement de l'usinage
==Hack de Cura==
Après plusieurs tests: voilà le fichier config [[Fichier:CNC_ProfilCura.ini.zip]] pour cura auquel j'ai abouti.<br/>
Ce fichier permet de ne garder que les surfaces du fichier STL
Ainsi vous pouvez lancer [[Cura]] et ouvrir le profil pour la CNC. <br/>
Vous voyez qu'il y a des 0 partout c'est normal !
La visualisation par couche est très recommandé. <br/>
Il faut placer la pièce dans le sens inverse de découpe ! (Donc la pièce doit monter suivant Z positif) (SED fera l'inversion)
Les paramétrages possibles sont:
*Épaisseur de couche (mm): Il va discrétiser les passages de la fraiseuse plus ou moins finement suivant l'axe Z.
*Le taux de remplissage (%): Il va faire des passages à l'intérieur du volume voulue (il faut au préalable avoir décocher la case "Ne traiter que la surface" dans "Expert/Configuration Experte...")
*Aussi vous pouvez agrandir ou rétrécir le fichier via le changement d'échelle, c'est votre seule moyen de compenser le diamètre de l'outil.
Les vitesses non aucunes importance, on changera la vitesse d'avance via Sed.
Ensuite vous pouvez générer votre fichier gcode depuis Cura.
==[[Sed]]==
Pour traiter le fichier de cura et le rendre compatible j'ai choisi d'utiliser [[Sed]] qui est un éditeur de flux, il permet de traiter des fichiers textes avec une efficacité redoutable.
Aussi voici le Code [[Sed]] que j'ai paramétré: [[Fichier:Cura_CNC_Zn.sed.zip]]
#Nettoyage
/M107/d
/M108/d
s/Z-0$/Z0/
s/Z-0 /Z0 /
#Suppression des commandes d'extrusions
s/E[0-9]*.[0-9]*//
#Linéarisation des vitesses d'avances
s/G1 F[0-9]*.0*/G1 F500 /
#Symétrie suivant Z et nettoyage
s/Z/Z-/
s/Z-0$/Z0/
s/Z-0 /Z0 /
#Suppression des commentaires et rajout des remontées de broches entre les couches
/^;/d
s/\(^G0.*\)Z\(.*\)$/G0 Z1\n\1\nG1 F500 Z\2/
*Pour changer la vitesse d'avance il faut changer les 2 "F500" par F puis votre vitesse en (mm/min)
*Pour lancer le nettoyage on lance un terminal
**On se place dans un dossier contenant, son fichier Gcode venant de cura et le fichier .sed permettant de lancer les commandes sed
**On lance la commande suivante:
sed -i".bak" -f Cura_CNC_Zn.sed mon_fichier.gcode
Maintenant que le nettoyage est fait on peu passer sur bCNC.
==bCNC==