123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 |
- #!/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
|