BiT_Block

Fonction Catégorie Version
BIT 01 BiT_Block Gestion de Tables 1.0 - Janvier 2007

Description

But Retourne la liste des blocs d'un dessin.
Prototype (BiT_Block)
Argument Néant
Retours Liste des noms de blocs ou nil
Var. globales Néant
Description Retourne la liste des blocs compris dans la table "BLOCK" d'un dessin
Notes La liste retournée est triée par ordre alphabétique.
Cette liste comprend tous les blocs qui ont été insérés dans le dessin, même s'ils ont été effacés ensuite.
Seuls les blocs purgés disparaissent de la liste.
Les blocs XREF sont exclus de cette liste.
Exemples

Commande: (Bit_Block)

("B1" "BASSAT" "BI" "CARTOU-2" "CO4" "EXSA")


Commande: (Bit_Block)   nil

La fonction


   1-  (defun Block_Table ( / BlkData BlkList BlkName BlkType)

   2-     (while (setq BlkData (tblnext "BLOCK" (not BlkData)))
   3-        (setq BlkName (cdr (assoc 2 BlkData))	
   4-              BlkType (cdr (assoc 70 BlkData))
   5-        )
   6-        (if 
   7-           (and 
   8-               (/= 1  BlKType)		
   9-               (/= 4  BlKType)		
  10-               (/= 16 BlKType)		
  11-               (/= 32 BlKType)		
  12-               (/= 64 BlKType)		
  13-           )
  14-           (setq BlkList (cons BlkName BlkList)) 	
  15-         )		;	fin de if
  16-     )		
  17-     (if BlkList (acad_strlsort BlkList))			.
  18-  )
Ligne 2 :  Tant qu'il y a des entités, retourne les données de l'entrée suivante de la 
                table "BLOCK"  ou à partir du début si BlkData est nil.
Ligne 3 :    retourne la liste associée à 2 dans la liste de données de BlkData, 
                 en supprimant le 1er élément.
Ligne 4 :    retourne la liste associée à 70 dans la liste de données de BlkData, 
                 en supprimant le 1er élément.
Ligne 8:        Si le type de bloc est différent de 1 (bloc anonyme >> hachures, 
                      cotation associative...)
Ligne 9 :       Si le type de bloc est différent de 4 (bloc Xref)
Ligne 10 :      Si le type de bloc est différent de16 (bloc dépendant d'un Xref)
Ligne 11 :      Si le type de bloc est différent de 32 (bloc Xref  résolu)
Ligne 12 :      Si le type de bloc est différent de 64 (Définition référencée)
Ligne 14 :    alors construit la liste de retour >> ajoute le nom du bloc dans la liste 
                  BlkList, après l'avoir construite si elle n'existait pas.
Ligne 16 :  fin de boucle while
Ligne 17 :  Si la liste existe, trie la par ordre alphabétique

Tblnext : Retourne les données d'un tableau de symboles, élément par élément, depuis le début si le second.
argument est T, sinon l'entité suivante celle déjà retournée. Cdr : Retourne tous les éléments d'une liste à l'execption du premier.
Assoc : Recherche un élément dans une liste d'association et renvoie la valeur correspondante.
Cons : Construit une liste
Acad_strlsort : Trie une liste de chaînes par ordre alphabétique.