N° | Fonction | Catégorie | Version |
---|---|---|---|
BIO 01 | BiO_GetPoint | Gestion Entrées Utilisateur | 1.0 - Janvier 2007 |
But | Demande d'entrer un point en proposant l'ancienne valeur. |
Prototype | (BiO_GetPoint Message Pt_courant Pt_Défaut) |
Argument | Message : - Le message qui sera affiché - chaîne - Pt_courant : - La valeur courante de la variable - Liste - Pt_Défaut : - Valeur proposée par défaut - Liste - |
Retours | Les coordonnées d'un point - liste - |
Var. globales | Néant |
Description | BiO_GetPoint interrompt la tâche en cours pour demander de saisir un point, en proposant la valeur précédente si la variable a déjà été utilisée ou, sinon une valeur par défaut. |
Notes | C'est la fonction GetPoint améliorée, la version normale ne proposant pas de
valeur précédente ni de valeur par défaut. La valeur par défaut doit être une liste |
Exemples | Command: (setq P1 (BiO_GetPoint "Position : " P1 (list 5 2 7))) Position : <5,2,7> : [cliquage d'un point à l'écran] (46.5 245.23 0.0) ------- le résultat Command: (setq P1 (BiO_GetPoint "Position : " P1 (list 5 2 7))) Position : <46.5000,245.2300> : [Touche entrée] (46.5 245.23 0.0) ------- le résultat Command: (setq Pt2 (BiO_GetPoint "Position : " P1 '(7 4 8))) Position : <46.5000,245.2300> : [piquage 1 point] (144.5 255.43 0.0) ------- le résultat Autre exemple Command: (setq z1 (BiO_GetPoint "Entrez 1 point : " z1 z2)) Position : <0.0000,0.000> : [Touche entrée] (0.0 0.0 0.0) ------- le résultat Dans ce cas les arguments z1 et z2 sont "nil" |
1- (defun BiO_GetPoint (*Msg *Val_cour *Defo / Reponse) 2- (if (not *Defo) 3- (setq *Defo (list 0.0 0.0 0.0)) 4- ) 5- (if (not *Val_cour) 6- (if (listp *Defo) 7- (setq *Val_cour *Defo) 8- (setq *Val_cour (list 0.0 0.0 0.0)) 9- ) 10- ) 11- (setq Reponse (getpoint (strcat *Msg 12- " <" 13- (rtos (car *val_cour)) 14- "," 15- (rtos (cadr *val_cour)) 16- (if (caddr *val_cour) 17- (strcat "," (rtos (caddr*val_cour))) 18- "" 19- ) 20- ">: "))) 21- (if (equal Reponse nil) 22- *Val_cour 23- Reponse 24- ) 25- )
Lignes 2-4 : Pour éviter les messages d'erreur, si l'argument 'valeur par défaut' est nul. Ligne 5 : Si l'argument 'valeur courante' est nul, Ligne 7 : Donne-lui la valeur de l'argument 'valeur par défaut', si celui-ci est une liste. Ligne 8 : Sinon, la valeur par défaut n'est pas une liste, donne lu la valeur '(0 0 0). Lignes 11-20 : Affiche le message et les coordonnées qui seront prises en compte si on actionne la touche "Entrée" Ligne 13 : La valeur en X (1er élément de la liste 'Valeur_Courante') Ligne 15 : La valeur en Y (2ème élément de la liste 'Valeur_Courante') Lignes 16-17 : Si elle existe, la valeur en Z (3ème élément de la liste 'Valeur_Courante' Ligne 18 : Sinon rien Ligne 21 : Si on a appuyé sur la touche "Entrée" (donc sans piquer un point), Ligne 22 : Retourne la valeur courante Ligne 23 : Sinon les coordonnées du point indiqué.