TBLNEXT


Parcourir les entrées d'une table

 

Cette fonction recherche l'élément suivant dans une tables de symboles

Syntaxe : (tblnext nom-table  [T ou nil])
Valeur renvoyée : une liste (list) décrite plus avant dans cette page


Les valeurs des noms de table qu'on peut passer en argument nom-table sont dans le tableau suivant :

Nom de la table
explications
APPID applications définies par l'utilisateur
BLOCK  définitions des blocs
DIMSTYLE  les styles de cotation
LAYER  les calques
LTYPE  les types de lignes
STYLE  les styles de textes
 UCS  les systèmes de coordonnées
 VIEW  les vues enregistrées
 VPORT  les fenêtres de présentation

 

Notez bien :
Il n'est pas obligatoire de les écrire en lettres capitales, mais c'est pas plus mal pour faire la différence dans la ligne.
Il n'est pas possible de les écrire en français ou en langue locale.


L'argument nom-table est une chaîne de caractères (string) qui représente la table concernée.


Lorsque la fonction (tblnext) est lancée à plusieurs reprises, elle renvoie à chaque fois la prochaine entrée dans la table concernée (argument).
S'il n'y a plus d'entrée dans la table, c'est à dire qu'on est arrivé à la fin de cette dernière, c'est la valeur nil qui est renvoyée.
Les entrées supprimées dans les tables ne sont pas renvoyées.

Si le deuxième argument est précisé (et n'est pas nil donc à T) le programme part du début de la table et renvoie la première entrée de la table.
Tant que cet argument sera à T ce sera la première entrée qui sera renvoyée, donc ne pas le mettre à T dans une boucle de parcours général

Lorsque la fonction trouve une entrée elles est renvoyée sous forme de liste (list), c'est une liste contenant d'autres listes qui sont des paires pointées (dotted pair).


Exemple avec les calques :

(tblnext "layer" T)

Renvoie :

((0 . "LAYER") (2 . "0") (70 . 0) (62 . 7) (6 . "Continuous"))

Code 0 : le type du symbole
Code 2 : le nom du calque
Code 70 : l'état du calque (verrouillé, gelé...)
Code 62 : la couleur "ducalque" (valeur négative si "désactivé")
Code 6 : le type de ligne "ducalque"
Tous ces codes sont les codes DXF qui seront détaillés ailleurs sur ce site ...


Exemple avec les blocs :
admettons qu'il y ait un bloc "bloc-test" dans le fichier en cours

(tblnext "block")

Renvoie :

((0 . "BLOCK") (2 . "bloc-test") (70 . 0) (10 0.0 0.0 0.0) (-2 . <Nom d'entité: 7f76d907e90>))

Vous noterez qu'il y a un code "-2" qui est précisé dans cette liste (list) de paires pointées (dotted pair), c'est le nom de la première entité qui compose le bloc considéré.
Ce nom d'entité peut être utilisé pour les fonctions (entget) et (entnext) mais pas les autres fonctions d'accès aux entités, il n'est pas possible de l'utiliser avec (ssadd) par exemple pour l'ajouter à un jeu de sélection existant.
Si un bloc ne contient pas d'entités, c'est la définition de nom d'entité de "Endblk" qui est renvoyée dans ce groupe.



Haut de la page

Retour vers "LES TABLES"

20 décembre 2017