serge77 Posté(e) le 31 janvier 2007 Posté(e) le 31 janvier 2007 Bonjour, j'ai un petit bout de lisp qui change la valeur de l'attribut "CIRCUIT" par une valeur que je defini ailleurs.Le probleme est que ca me change cette valeur dans tous mes blocs alors que je voudrais seulement changer l'attribut du dernier bloc inserer.Si quelqu'un peut corriger mon lisp je vous en serais tres reconnaissant. (defun c:Champ-texte ( / AncVal LstEnt Newval NomEnt ) (setq NomEnt (entnext)) (while NomEnt (setq LstEnt (entget NomEnt)) (if (and (member '(0 . "ATTRIB") LstEnt) (member '(2 . "CIRCUIT") LstEnt)) (progn (setq AncVal (cdr (assoc 1 LstEnt))) (setq NewVal nconv) (setq LstEnt (subst (cons 1 "Newval") (cons 1 AncVal) LstEnt)) (entmod LstEnt) (entupd NomEnt) ) ) (setq NomEnt (entnext NomEnt)) ) (princ) )
serge77 Posté(e) le 31 janvier 2007 Auteur Posté(e) le 31 janvier 2007 Ca marche en remplacant (setq NomEnt (entnext)) par (setq NomEnt (entlast))
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant