GRREAD

GRREAD


Lit des valeurs depuis un périphérique d'entrée


Syntaxe : (grread [suivi] [ttestouch [typecur]])

Seuls les sous-programmes AutoLISP spécialisés ont recours à cette fonction.
La plupart des données saisies dans AutoLISP proviennent des fonctions de type getxxx.

Si l'argument suivi est spécifié et n'a pas la valeur nil, les coordonnées d'un périphérique de pointage sont renvoyées au fur et à mesure que ce périphérique se déplace.
Si l'argument ttestouch est présent, (grread) exécute des fonctions suivant le code indiqué.
L'argument typecur peut servir à contrôler le type de curseur affiché.
Les arguments ttestouch et typecur correspondent à des nombres
entiers et sont expliqués ci-après :

ttestouch
Les valeurs binaires ttestouch peuvent être commutées pour obtenir des fonctions combinées.

1 (bit 0)
Renvoie les coordonnées du mode d' évolution dynamique.
Si ce bit est défini et que vous déplacez le périphérique de pointage au lieu de sélectionner un bouton ou d'appuyer sur une touche, (grread) renvoie une liste dont le premier membre est de type 5 et le second indique les coordonnées (X, Y) de la position courante du périphérique de pointage (souris).
AutoCAD gère les déplacements de la façon suivante :

2 (bit 1)
Renvoie toutes les valeurs clés notamment les codes clés de fonction et du curseur et ne déplace pas le curseur lorsque vous activez une touche de commande du curseur.

4 (bit 2)
Utilise la valeur transmise dans l'argument typecur pour contrôler l'affichage curseur.

8 (bit 3)
N'affiche pas l'erreur : message d'interruption de la console lorsque vous appuyez sur Echap.

 

typecur

Pour être effective, la valeur ttestouch du bit 2 doit être définie pour les valeurs typecur.

0 - affiche le réticule normal.
1 - n'affiche pas de curseur (pas de réticule).
2 - affiche le curseur "cible" de sélection d'objet.

L'argument typecur intervient uniquement sur le type du curseur pendant l'exécution de la fonction (grread).

La fonction (grread) renvoie une liste dont le premier élément est un code spécifiant le type d'entrée.
Le second élément de la liste est soit un nombre entier, soit un point, suivant le type d'entrée.

Les valeurs renvoyées sont répertoriées dans le tableau ci-après:

premier élément second élément
valeur type d'entrée valeur description
2 Entrée Clavier varié Code Caractère
3 Point sélectionné point 3D Coordonnées du point
4 Option menu déroulant/écran (à l'aide du périphérique de pointage) 0 à 999
1001 à 1999
2001 à 2999
3001 à 3999
... etc, jusqu'à
16001 à 16999
N° boîte menu écran.
N° boîte menu POP1
N° boîte menu POP2
N° boîte menu POP3
N° boîte menu POP16
5 Périphérique de pointage (renvoyé uniquement si le repérage est activé) point 3D Coordonnées en mode
d'évolution dynamique
6 Option du menu BUTIONS 0 à 999
1000 à 1999
2000 à 2999
3000 à 3999
N°bouton du menu
BUTTONS1
N°bouton du menu
BUTTONS2
N°bouton du menu
BUTTONS3
N°bouton du menu
BUTTONS4
7 Option du menu TABLET1 0 à 32767 N° boîte numérisée
8 Option du menu TABLET2 0 à 32767 N° boîte numérisée
9 Option du menu TABLET3 0 à 32767 N° boîte numérisée
10 Option du menu TABLET3 0 à 32767 N° boîte numérisée
11 Option du menu AUX 0 à 999
1000 à 1999
2000 à 2999
3000 à 3999
N° bouton menu AUX1
N° bouton menu AUX2
N° bouton menu AUX3
N° bouton menu AUX4
12 Bouton de la table à numériser
(suit un retour de type 6 ou 11)
point 3D Coordonnées du point

 

Si vous appuyez sur la touche Echap alors que la fonction (grread) est active, vous interrompez le programme AutoLISP par une interruption clavier (à moins que l'argument ttestouch n'interdise cette opération).
Toute autre entrée est directement transmise à (grread), laissant ainsi à l'application le contrôle intégral des dispositifs de saisie.
Si vous appuyez sur le bouton de la table à numériser dans la boîte d'un menu déroulant ou d'un menu écran, (grread) renvoie un code de type 6 ou 11; mais dans l'appel suivant, il ne renverra pas le code de type 12.
En effet, ce code est renvoyé après le code de type 6 ou 11 uniquement lorsque le bouton de la table à numériser est activé dans la zone graphique de l'écran.
Il est essentiel d'effacer les données du code 12 à partir de la mémoire tampon avant d'exécuter une autre opération à l'aide d'un bouton de la table à numériser ou d'un bouton de périphérique auxiliaire.
Pour ce faire, exécutez une fonction (grread) imbriquée comme suit :

(setq code_12 (grread (setq code (grread))))

Cette séquence saisit la valeur de la liste du code 12 en entrée du périphérique.
Comme les entrées sont gérées différemment en fonction de la plate-forme utilisée et prise en charge par AutoCAD, la fonction (grread) peut produire des résultats inattendus.
Le périphérique de pointage par défaut sur les plate-formes utilisant une souris système renvoie un code 11 et non pas 6.


Exemple "animation" avec la fonction (grread) :


 

Haut de page

revenir aux INCLASSABLES


20 janvier 2018