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.
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.
20 décembre 2017