Rechercher dans une "table"
Les entités non graphiques, calques, définitions de blocs ... sont rangées dans des tables et la fonction (tblsearch) recherche dans ces tables.
| Syntaxe : | (tblsearch nom-de-table symbole) |
| Arguments : | nom-de-table, voir en-dessous les noms possibles symbole, le nom cherché |
Si la fonction (tblsearch) trouve l'entrée donnée en deuxième argument (symbole) dans la table donnée en premier argument (nom-de-table) elle la renvoie comme défini dans (tblnext).
Si aucune entrée n'est trouvée cette fonction renvoie nil.
Les tables concernées sont :
| APPID | Applications définies par l'utilisateur |
| BLOCK | Définitions des blocs |
| DIMSTYLE | Styles de cotation |
| LAYER | Calques |
| LTYPE | Types de lignes |
| STYLE | Styles de textes |
| UCS | Systèmes de coordonnées |
| VIEW | Vues enregistrées |
| VPORT | Fenêtres de présentation |
Exemple avec les calques :
(tblsearch "layer" "0") |
Renvoie :
((0 . "LAYER") (2 . "0") (70 . 0) (62 . 7) (6 . "Continuous"))
code 2 : le nom du calque
code 70 : l'état du calque (verrouillé, gelé...)
code 62 : la couleur "ducalque"
code 6 : le type de ligne "ducalque"
1 2 3 4 | (if (tblsearch "layer" "calquechoisi") (setvar "clayer" "calquechoisi") (creer-calque) ) |
Ce qui signifie que si "calquechoisi" existe et est un nom de calque dans le dessin, on le met en calque courant et le programme continue, sinon on lance la sous-routine (créer-calque).
20 décembre 2017

