Răsfoiți Sursa

ajout de la mire d'étalonnage

Jackbot 4 ani în urmă
părinte
comite
c901b7ecca
1 a modificat fișierele cu 131 adăugiri și 0 ștergeri
  1. 131 0
      etalonnage/mire.sh

+ 131 - 0
etalonnage/mire.sh

@@ -0,0 +1,131 @@
+#!/bin/bash
+
+#fonction appelée en cas de paramètres non valide ou de l'option -h
+usage()
+{
+	# "$(basename "${0}") pour gérer les espaces
+	echo "$(basename "${0}") description"
+	echo ''
+	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 ""
+	echo "Le fichier gcode en sortie utilisera des coordonées relatives."
+	echo ""
+	echo "La procédure est la suivante :"
+	echo "-connaitre grossièrement la distance focale"
+	echo "-connaitre le diamètre du laser"
+	echo "-exécuter le fichier gcode"
+	echo ""
+	echo "Détail des options"
+	echo -e "-f\tfocale du laser en mm"
+	echo -e "-d\tdiamètre du laser en mm"
+	echo -e "-v\tvitesse de gravute en mm/min"
+	echo -e "-t\ttaille de la mire mm"
+}
+
+readonly VERSION='1.0'
+
+#affiche la version du script
+version()
+{
+	echo "$(basename "${0}") : ${VERSION}"
+	echo ''
+}
+
+verification()
+{
+        if [ -z  $1  ]
+        then
+                echo "la variable $2 n'a pas été précisée, la valeur par défaut est $3"
+                VALEUR=$3
+        else
+                re='^[0-9]+([.][0-9]+)?$'
+                if ! [[ $1 =~ $re ]]
+                then
+                        echo "l'argument $2 n'est pas un nombre"
+                        usage
+                        exit 25
+		else
+			VALEUR=$3
+		fi
+        fi
+}
+
+
+#boucle pour la gestion des options
+#s: signifie qu'un paramètre est attendu
+#hV signifie que ces options existent mais ne prennent pas de paramètre
+while getopts "d:f:v:t:hV" OPT
+do
+	case "$OPT" in
+		h)
+			usage
+			exit 0
+			;;
+		V)
+			version
+			exit 0
+			;;
+
+		d)
+			#afin de garantir le contenu de la variable il est préférable de la déclarer comme readonly
+			DIAMETRE=${OPTARG}
+			;;
+		f)
+			#afin de garantir le contenu de la variable il est préférable de la déclarer comme readonly
+			FOCALE=${OPTARG}
+			;;
+		v)
+			#afin de garantir le contenu de la variable il est préférable de la déclarer comme readonly
+			VITESSE=${OPTARG}
+			;;
+		t)
+			#afin de garantir le contenu de la variable il est préférable de la déclarer comme readonly
+			TAILLE=${OPTARG}
+			;;
+		*)
+			#ce point est atteint lorsqu'une option inexistante est demandée
+			echo "parametres non valide"
+			usage
+			exit 1
+			;;
+	esac
+done
+
+verification "$DIAMETRE" "diamètre" 0.2
+DIAMETRE=$VALEUR
+echo -e "diamètre=$DIAMETRE"
+
+verification "$FOCALE" "focale" 5
+FOCALE=$VALEUR
+echo -e "focale=$FOCALE"
+
+verification "$VITESSE" "vitesse" 2000
+VITESSE=$VALEUR
+echo -e "vitesse=$VITESSE"
+
+verification "$TAILLE" "taille" 100
+TAILLE=$VALEUR
+echo -e "taille=$TAILLE"
+
+echo $longueur
+
+echo -e "G91\nG21\nG0 Z $FOCALE" > sortie.gcode
+echo -e "G1 F$VITESSE\n" >> sortie.gcode
+
+for i in `seq 0 15`
+do
+	echo -e "$i"
+#	for j in `seq 0 15`
+#	do
+		
+	#trçage d'une ligne
+#	echo -e "\nM400\nM106 P1 S255\nG1 X 20" >> sortie.gcode
+	#retour au point de départ
+#	echo -e "M400\nM106 P1 S0\nG1 X -20" >> sortie.gcode
+	#déplacement pour la nouvelle hauteur
+#	echo -e ";changement de hauteur\nG1 X 0 Y 5 Z $PAS\n" >> sortie.gcode
+#	done
+done
+
+exit 0