|
@@ -7,8 +7,8 @@ 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 trouver la taille du point focal du laser"
|
|
|
|
- echo "un ensemble de trait seront tracés de plus en plus espacés"
|
|
|
|
|
|
+ echo "afin de trouver le diamètre du point focal du laser"
|
|
|
|
+ echo "un ensemble de traits seront tracés de plus en plus espacés"
|
|
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 ""
|
|
@@ -18,8 +18,8 @@ usage()
|
|
echo "-exécuter le fichier gcode"
|
|
echo "-exécuter le fichier gcode"
|
|
echo ""
|
|
echo ""
|
|
echo "Détail des options"
|
|
echo "Détail des options"
|
|
- echo -e "-l\tlargeur minimale en mm"
|
|
|
|
- echo -e "-L\tlargeur maximale en mm"
|
|
|
|
|
|
+ echo -e "-d\tdiamètre minimal en mm"
|
|
|
|
+ echo -e "-D\tdiamètre maximal en mm"
|
|
echo -e "-p\tpas entre deux hauteurs en mm"
|
|
echo -e "-p\tpas entre deux hauteurs en mm"
|
|
echo -e "-f\tla distance focale du laser en mm"
|
|
echo -e "-f\tla distance focale du laser en mm"
|
|
}
|
|
}
|
|
@@ -36,7 +36,7 @@ version()
|
|
#boucle pour la gestion des options
|
|
#boucle pour la gestion des options
|
|
#s: signifie qu'un paramètre est attendu
|
|
#s: signifie qu'un paramètre est attendu
|
|
#hV signifie que ces options existent mais ne prennent pas de paramètre
|
|
#hV signifie que ces options existent mais ne prennent pas de paramètre
|
|
-while getopts "l:L:p:f:hV" OPT
|
|
|
|
|
|
+while getopts "d:D:p:f:hV" OPT
|
|
do
|
|
do
|
|
case "$OPT" in
|
|
case "$OPT" in
|
|
h)
|
|
h)
|
|
@@ -47,21 +47,17 @@ do
|
|
version
|
|
version
|
|
exit 0
|
|
exit 0
|
|
;;
|
|
;;
|
|
- l)
|
|
|
|
- #afin de garantir le contenu de la variable il est préférable de la déclarer comme readonly
|
|
|
|
- readonly L_MIN=${OPTARG}
|
|
|
|
|
|
+ d)
|
|
|
|
+ D_MIN=${OPTARG}
|
|
;;
|
|
;;
|
|
- L)
|
|
|
|
- #afin de garantir le contenu de la variable il est préférable de la déclarer comme readonly
|
|
|
|
- readonly L_MAX=${OPTARG}
|
|
|
|
|
|
+ D)
|
|
|
|
+ D_MAX=${OPTARG}
|
|
;;
|
|
;;
|
|
p)
|
|
p)
|
|
- #afin de garantir le contenu de la variable il est préférable de la déclarer comme readonly
|
|
|
|
- readonly PAS=${OPTARG}
|
|
|
|
|
|
+ PAS=${OPTARG}
|
|
;;
|
|
;;
|
|
f)
|
|
f)
|
|
- #afin de garantir le contenu de la variable il est préférable de la déclarer comme readonly
|
|
|
|
- readonly FOCALE=${OPTARG}
|
|
|
|
|
|
+ FOCALE=${OPTARG}
|
|
;;
|
|
;;
|
|
*)
|
|
*)
|
|
#ce point est atteint lorsqu'une option inexistante est demandée
|
|
#ce point est atteint lorsqu'une option inexistante est demandée
|
|
@@ -72,65 +68,22 @@ do
|
|
esac
|
|
esac
|
|
done
|
|
done
|
|
|
|
|
|
-if [ -z "${L_MIN}" ]
|
|
|
|
-then
|
|
|
|
- echo "la largeur minimale est inconnue"
|
|
|
|
- usage
|
|
|
|
- exit 10
|
|
|
|
-else
|
|
|
|
- re='^[0-9]+([.][0-9]+)?$'
|
|
|
|
- if ! [[ $L_MIN =~ $re ]]
|
|
|
|
- then
|
|
|
|
- echo "l'argument de largeur minimale n'est pas un nombre"
|
|
|
|
- usage
|
|
|
|
- exit 15
|
|
|
|
- fi
|
|
|
|
-fi
|
|
|
|
-
|
|
|
|
-if [ -z "${L_MAX}" ]
|
|
|
|
-then
|
|
|
|
- echo "la largeur maximale est inconnue"
|
|
|
|
- usage
|
|
|
|
- exit 20
|
|
|
|
-else
|
|
|
|
- re='^[0-9]+([.][0-9]+)?$'
|
|
|
|
- if ! [[ $L_MAX =~ $re ]]
|
|
|
|
- then
|
|
|
|
- echo "l'argument de largeur maximale n'est pas un nombre"
|
|
|
|
- usage
|
|
|
|
- exit 25
|
|
|
|
- fi
|
|
|
|
-fi
|
|
|
|
-
|
|
|
|
-if [ -z "${PAS}" ]
|
|
|
|
-then
|
|
|
|
- echo "le pas est inconnue sa valeur sera fixée à 0.1mm"
|
|
|
|
- PAS=0.1
|
|
|
|
-else
|
|
|
|
- re='^[0-9]+([.][0-9]+)?$'
|
|
|
|
- if ! [[ $PAS =~ $re ]]
|
|
|
|
- then
|
|
|
|
- echo "l'argument de largeur maximale n'est pas un nombre"
|
|
|
|
- usage
|
|
|
|
- exit 35
|
|
|
|
- fi
|
|
|
|
-fi
|
|
|
|
-
|
|
|
|
-if [ -z "${FOCALE}" ]
|
|
|
|
-then
|
|
|
|
- echo "la distance focale est inconnue sa valeur sera fixée à 5mm"
|
|
|
|
- FOCALE=5
|
|
|
|
-else
|
|
|
|
- re='^[0-9]+([.][0-9]+)?$'
|
|
|
|
- if ! [[ $FOCALE =~ $re ]]
|
|
|
|
- then
|
|
|
|
- echo "l'argument de largeur maximale n'est pas un nombre"
|
|
|
|
- usage
|
|
|
|
- exit 45
|
|
|
|
- fi
|
|
|
|
-fi
|
|
|
|
-
|
|
|
|
-#echo "valeur=\"0\";text(valeur, size=50, halign=\"right\", valign =\"center\");" > temp.scad
|
|
|
|
|
|
+verification "$D_MIN" "diamètre minimal" 0.1
|
|
|
|
+D_MIN=$VALEUR
|
|
|
|
+echo -e "diamètre minimal=$D_MIN"
|
|
|
|
+
|
|
|
|
+verification "$D_MAX" "diamètre maximal" 0.4
|
|
|
|
+D_MAX=$VALEUR
|
|
|
|
+echo -e "diamètre maximal=$D_MAX"
|
|
|
|
+
|
|
|
|
+verification "$PAS" "pas" 0.1
|
|
|
|
+PAS=$VALEUR
|
|
|
|
+echo -e "pas=$PAS"
|
|
|
|
+
|
|
|
|
+verification "$FOCALE" "focale" 5
|
|
|
|
+FOCALE=$VALEUR
|
|
|
|
+echo -e "focale=$FOCALE"
|
|
|
|
+
|
|
echo "\$fn = 30;valeur=\"0\";translate([0, 1, 0]){text(valeur, size=3);}" > temp.scad
|
|
echo "\$fn = 30;valeur=\"0\";translate([0, 1, 0]){text(valeur, size=3);}" > temp.scad
|
|
|
|
|
|
echo -e "G91" > sortie.gcode
|
|
echo -e "G91" > sortie.gcode
|