|
@@ -7,7 +7,9 @@ usage()
|
|
echo "$(basename "${0}") description"
|
|
echo "$(basename "${0}") description"
|
|
echo ''
|
|
echo ''
|
|
echo "Ce script permet de générer un fichier gcode"
|
|
echo "Ce script permet de générer un fichier gcode"
|
|
- echo "afin de créer un damier contenant toutes les nuances de gris"
|
|
|
|
|
|
+ echo "afin de créer un damier en faisant varier la puissance du laser"
|
|
|
|
+ echo "de 0 à 255 et générer des niveaux de gris"
|
|
|
|
+ echo "La hauteur de la mire peut varier de quelques mm à cause des arrondis"
|
|
echo ""
|
|
echo ""
|
|
echo "Le fichier gcode en sortie utilisera des coordonées relatives."
|
|
echo "Le fichier gcode en sortie utilisera des coordonées relatives."
|
|
echo ""
|
|
echo ""
|
|
@@ -109,42 +111,50 @@ echo -e "taille=$TAILLE"
|
|
#la mire est constitué de carrés formant un dégradé
|
|
#la mire est constitué de carrés formant un dégradé
|
|
#sur chaque ligne on gravera des carré de plus en plus foncés
|
|
#sur chaque ligne on gravera des carré de plus en plus foncés
|
|
#on balaye donc sur une ligne des valeurs de n à n + 15
|
|
#on balaye donc sur une ligne des valeurs de n à n + 15
|
|
-#la largeur d'un carré est donnée par $TAILLE/16
|
|
|
|
|
|
+#la largeur d'un carré est donnée par :
|
|
|
|
+# ($TAILLE - 15*$DIAMETRE)/16
|
|
|
|
|
|
-largeur=$(echo "scale=1; $TAILLE/16.0" | bc)
|
|
|
|
-demi_largeur=$(echo "scale=1; $TAILLE/32.0" | bc)
|
|
|
|
|
|
+largeur=$(echo "scale=1; ($TAILLE - 15.0*$DIAMETRE)/16.0" | bc)
|
|
|
|
+demi_largeur=$(echo "scale=1; $largeur/2" | bc)
|
|
|
|
+
|
|
|
|
+echo -e "largeur=$largeur"
|
|
|
|
+echo -e "demi_largeur=$demi_largeur"
|
|
|
|
|
|
echo -e "G91\nG21\nG0 Z $FOCALE" > sortie.gcode
|
|
echo -e "G91\nG21\nG0 Z $FOCALE" > sortie.gcode
|
|
echo -e "G1 F$VITESSE\n" >> sortie.gcode
|
|
echo -e "G1 F$VITESSE\n" >> sortie.gcode
|
|
for ligne in `seq 0 15`
|
|
for ligne in `seq 0 15`
|
|
do
|
|
do
|
|
- for hauteur in `seq 1 $DIAMETRE $demi_largeur`
|
|
|
|
|
|
+ for hauteur in `seq 0 $DIAMETRE $demi_largeur`
|
|
do
|
|
do
|
|
- #on trace des lignes de $DIAMETRE d'épaisseur
|
|
|
|
|
|
+ #on trace une ligne de $DIAMETRE d'épaisseur en faisant varier la puissance
|
|
for colonne in `seq 0 15`
|
|
for colonne in `seq 0 15`
|
|
do
|
|
do
|
|
puissance=$(echo "16*$ligne + $colonne" | bc)
|
|
puissance=$(echo "16*$ligne + $colonne" | bc)
|
|
echo -e "M106 P1 S$puissance\nG1 X$largeur" >> sortie.gcode
|
|
echo -e "M106 P1 S$puissance\nG1 X$largeur" >> sortie.gcode
|
|
done
|
|
done
|
|
|
|
+
|
|
#une fois qu'on a tracé une ligne on se décalle d'abord sur Y
|
|
#une fois qu'on a tracé une ligne on se décalle d'abord sur Y
|
|
- echo -e "G1 X0 Y-$DIAMETRE" >> sortie.gcode
|
|
|
|
|
|
+ echo -e "\n;Nouvelle ligne\nM400\nG1 X0 Y-$DIAMETRE" >> sortie.gcode
|
|
|
|
+
|
|
#puis on repart dans l'autre sens
|
|
#puis on repart dans l'autre sens
|
|
for colonne in `seq 15 -1 0`
|
|
for colonne in `seq 15 -1 0`
|
|
do
|
|
do
|
|
puissance=$(echo "16*$ligne + $colonne" | bc)
|
|
puissance=$(echo "16*$ligne + $colonne" | bc)
|
|
echo -e "M106 P1 S$puissance\nG1 X-$largeur" >> sortie.gcode
|
|
echo -e "M106 P1 S$puissance\nG1 X-$largeur" >> sortie.gcode
|
|
done
|
|
done
|
|
- echo -e "G1 X0 Y-$DIAMETRE" >> sortie.gcode
|
|
|
|
|
|
+
|
|
|
|
+ echo -e "\n;Nouvelle ligne\nM400\nG1 X0 Y-$DIAMETRE" >> sortie.gcode
|
|
done
|
|
done
|
|
#à ce moment là on vient de finir une ligne de carés
|
|
#à ce moment là on vient de finir une ligne de carés
|
|
#on place donc une délimitation avant de continuer
|
|
#on place donc une délimitation avant de continuer
|
|
echo -e "\nM106 P1 S255" >> sortie.gcode
|
|
echo -e "\nM106 P1 S255" >> sortie.gcode
|
|
echo -e "G1 X$TAILLE" >> sortie.gcode
|
|
echo -e "G1 X$TAILLE" >> sortie.gcode
|
|
echo -e "G1 X-$TAILLE" >> sortie.gcode
|
|
echo -e "G1 X-$TAILLE" >> sortie.gcode
|
|
|
|
+ echo -e "G1 X0 Y-$DIAMETRE" >> sortie.gcode
|
|
|
|
+ echo -e "\nM106 P1 S0\nM400" >> sortie.gcode
|
|
done
|
|
done
|
|
|
|
|
|
#une fois fini on trace les délimitation verticales
|
|
#une fois fini on trace les délimitation verticales
|
|
-
|
|
|
|
echo -e "\nM106 P1 S255" >> sortie.gcode
|
|
echo -e "\nM106 P1 S255" >> sortie.gcode
|
|
for colonne in `seq 1 8`
|
|
for colonne in `seq 1 8`
|
|
do
|
|
do
|