N° | Fonction | Catégorie | Version |
---|---|---|---|
BIT 01 | BiT_Block | Gestion de Tables | 1.0 - Janvier 2007 |
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 |
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