Bonjour,
Je débute sur Autolisp et j'ai une petite question.
J'aimerais supprimer tous les points du dessin qui sont dans les blocs.
Quand j'en ai un seul et que je connais le nom ça marche très bien (ici le bloc "test") :
1 2 3 4 5 6 7 8 9 10 11 12 13
| (defun c:DELPOINT ()
(command "-modifbloc" "test")
(setq dp (ssget "_X" '((0 . "POINT"))))
(command "_ERASE" dp "")
(command "fermerbloc" "E")
(princ)
) |
Par contre, j'aimerais faire ça pour tous les blocs contenu dans le dessin sachant que j'ignore leur nom.
Je pense pour récupérer le nom des blocs il faut faire qqch comme ça :
1 2
| (setq sm (ssget "_x" '((0 . "BLOCK"))))
(setq s1 (ssname sm 0)) |
Sauf que j'ai déjà de la peine...
En fait j'aimerais arriver à une boucle qui trouve le nom des blocs ce qui permet de rentrer dans le bloc, supprimer les points, le fermer pour passer au suivant.
Est-ce que vous auriez une idée pour arriver à mon but ?
Je vous remercie d'avance pour votre aide
David
Partager