BiB_Attr_Lst

Fonction Catégorie Version
BIB 03 BiB_Attr_Lst Gestion des Objets 1.0 - Janvier 2007

Description

But Retourne les attributs d'un bloc.
Prototype ( BiB_Attr_Lst Nom_Bloc)
Argument Nom_Bloc- Le nom sous lequel le bloc est inséré - chaîne -
Retours Une liste
Var. globales Néant
Description Cette fonction retourne une liste de sous-listes. Chaque sous-liste comprenant :
- L'étiquette de l'attribut,
- Le message d'invite
- La valeur par défaut.
Notes Voir BiB_Attr_Data pour avoir les valeurs des attributs.
- Si le bloc existe et ne contient pas d’attribut, la fonction retourne nil.
- Si le bloc n’existe pas, la fonction retourne nil.
Exemples

Commande: liste
Choix des objets: 1 trouvé(s)
Choix des objets:

REFERENCE DU BLOC  Calque: 0
     Espace: Espace objet
Maintien = 4E6
CARTOUCHE
au point, X=   6.2488  Y=   6.3658  Z=   0.0000
X facteur d'échelle    1.0000
...
ATTRIBUT  Calque: TITLE
     Espace: Espace objet
Couleur: 2 (jaune)    Type de ligne: DUCALQUE
...
valeur AFFAIRE 3198
étiquette CP_TJNO
...
	
ATTRIBUT  Calque: TITLE
     Espace: Espace objet
Couleur: 2 (jaune)    Type de ligne: DUCALQUE
...
	
Commande: (BiB_Attr_Lst "Cartouche")  retourne

(("CP_TJNO" "Numéro d'affaire" "") ("CP_TDWG" "Numéro du dessin " "")
("CP_TREV" "Revision" "") ("CLIENT" "Client:" "") ("TITRE-LIGNE1" "TITRE
1" "") ("TITRE-LIGNE2" "TITRE 2" "") ("ECH" "ECHELLE DU PLAN" "1:20") 
("FT" "FORMAT DU PLAN" "A0") ("DATE" "DATE REVISION 	0" "31/12/99"))

La fonction


  1- (defun BiB_Attr_Lst (*Block / l_Attr Bl_Data)
	
  2-    (if (setq Bl_Data (tblsearch "BLOCK" *Block))
  3-      (progn
  4-        (setq Bl_Data (cdr (assoc -2 Bl_Data)))
  5-        (while Bl_Data
  6-          (if (= (cdr (assoc 0 (entget Bl_Data))) "ATTDEF")
  7-	         (setq l_Attr (cons (list (cdr (assoc 2 (entget Bl_Data)))
  8-                                      (cdr (assoc 3 (entget Bl_Data)))
  9-                                      (cdr (assoc 1 (entget Bl_Data)))
 10-                                 )
 11-                                 l_Attr
 12-                          )
 13-             )
 14-	     )
 15-         (setq Bl_Data (entnext Bl_Data))
 16-       )                                     ;  fin de while
 17-     )                                       ;  fin de progn
 18-   )                                         ;  fin de if
 19-   (reverse l_Attr)
 20-  )
Ligne 2 :   Si le bloc entré en argument existe dans la table des blocs, 
                        sauvegarde ses données en Bl_Data 
Ligne 4 :      - Sauvegarde en Bl_Data le nom d’entité du bloc
Ligne 5 :      - Puis, tant que Bl_Data n’est pas nul,
Ligne 6 :         Si la sous-entité du bloc est un attribut (nom associé à 0 = ATTEDEF)
Ligne 7 :           Construit une liste l_Attr contenant - l’étiquette (associée au code 2)
Ligne 8 :                                                - le message (associée au code 3)
Ligne 9 :                                       - la valeur par défaut (associée au code 1)
Ligne 15 :          Passe à la sous-entité suivante
Ligne 16 :     Remonte ligne 6 tant qu’il y a des entités dans le bloc. 
Ligne 19 :  Retourne la liste l_Attr après avoir inversé l’ordre des sous-listes.	 
	

Tblsearch : Recherche un nom de symbole dans une table de symbole et retourne ses données.
Cdr : Renvoie une liste contenant tous les éléments de cette liste sauf le premier.
Assoc : Recherche un élément dans la liste d’association et renvoie la liste correspondante
While : Ici, tant que Bl_Data n’est pas nul, évalue les lignes 5 à 13 et répète le processus.
Cons : Construit une liste en y ajoutant au début le nouvel élément
List : Regroupe plusieurs entités dans une liste
Entget : Récupère les données de définition d’une entité
Entnext : Renvoie le nom de l’entité suivante (ici sous-entité du bloc)
Reverse : Renverse l’ordre des éléments dans une liste.