Fraid Posté(e) le 21 mars 2011 Posté(e) le 21 mars 2011 Bonjour, Je dois renommer des blocs selon un texte contenu dans celui ci je pensais y arriver comme cela (defun c:rbco ( / cont selbloc namebloc bloc ent Texte TTexte Calq fintexte bloctorename ) (setq cont 0 selbloc (ssbloc) ) (if selbloc (repeat (sslength selbloc) (setq namebloc (cdr (assoc 2 (entget (ssname selbloc cont))))) (setq ent (cdr (assoc -2 (tblsearch "block" namebloc)))) (while ent (setq ent (entget ent) Calq (cdr (assoc 8 ent)) ) (if (setq Texte (cdr (assoc 1 ent))) (if (and(= Texte "n°*") (= Calq "Z3_coupe")) (setq bloctorename namebloc TTexte Texte ) ) ) (setq ent (entnext (cdr (assoc -1 ent)))) ) (if bloctorename (progn (if (= (strlen TTexte) 4) (setq fintexte (substr TTexte 3)) (setq fintexte (strcat "0" (substr TTexte 3))) ) (vl-cmdf "_-rename" "_b" bloctorename (strcat NomCoupe fintexte)) ) ) (setq cont (1+ cont)) ) ) ) la variable NomCoupe est une variable globale a laquel je veux ajouté son numero present dans le bloc sous la forme d'un texte "n°1" ou "n°12". mal au crane aujourdhuis, n'arrive pas a me concentrépourquoi sa marche paaaaaaaaaaaaaaah :( merci je precise que je n'ai pas de message d'erreurmais que le bloc n'est pas renommer [Edité le 21/3/2011 par Fraid] https://github.com/Fraiddd
bryce Posté(e) le 21 mars 2011 Posté(e) le 21 mars 2011 Bonjour, Tu aurais un dessin exemple ?Parce que là, c'est un peu abstrait... :P Brice, formateur AutoCAD - Inventor - SolidWorks - ZWCad - DraftSight - SketchUp indépendant
Fraid Posté(e) le 22 mars 2011 Auteur Posté(e) le 22 mars 2011 Bonjour, difficile d'envoyer un plan en exempleetant contraint de respecter le contrat de confidentialité (SFR) je vais laisser tombé cette voie, trop compliqué, car les blocs sont trop différents pour les renommer de cette façon en plus cette routine est destinée a etre intégrée dans tout un process de mise a la charte et de contrôle. je dois simplifier au max.je vais plutot utiliser leur position pour les filtrer. (vl-cmdf "_-rename" "_b" (cdr (assoc 2 (entget(ssname(ssget "_X" (list (cons 0 "INSERT")(cons 10 '(0 0 0)))) 0 )))) NomCoupe) est beaucoup plus simple :D merci comeme d'avoir essayé de m'aider https://github.com/Fraiddd
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