Rechercher un mot puis le remplacer
Bonjour
Je suis confronté à un petit problème.
Je cherche à faire une routine qui me recherche un mot ou une chaîne de caractère dans ma feuille autocad et me le remplace par un autre. et ce mot ne doit pas être dans un attribut, c'est juste un élément "TEXT".
Après mes recherche sur internet, j'avais bien trouver RECHMOT.lsp sur http://ma83.free.fr/info/acadlisp.htm mais le lien de téléchargement est mort ...
Autant que j'ai fais des programmes pour changer les attribut d'un bloc mais je n'arrive nullement à faire la sélection des éléments texte de la feuille ...
En gros, mon lisp devrait faire pareil que la commande, édition / remplacer sous autocad ... Si quelqu'un peut m'ouvrir une piste pour me décoincer :/
Merci d'avance et bonne journée !
Ajout de la balise code (bouton # en haut à droite de l'éditeur)
J'ai trouvé :)
Voici pour ceux que ça pourrait intéresser.
*Débutant inside*
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
(setq ptr 0)
(setq selection (ssget "x"))
(repeat (sslength selection) ;Pour chaque élément de la sélection...
(setq entite(ssname selection ptr)) ;Obtient le nom de l'entite de la base de données.
(setq propriete(entget entite)) ;Obtient la liste des propriétés de l'entité.
(if (= (cdr(assoc '0 propriete)) "TEXT") ;L'entité est un texte.
(progn
(setq mot (cdr(assoc '1 propriete)))
(if
(or
(= mot "MOT A SUPPRIMER")
)
(progn
(entdel entite)
)
)
)
)
(setq ptr(+ 1 ptr))
)
(princ) |