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