fauxsuisse Posté(e) le 30 octobre 2020 Partager Posté(e) le 30 octobre 2020 Bonjour tout le monde.J'ai dans mon dessin plusieurs bloc se terminant par UP et AP et j'aurai voulu les renommer en bloc en UP1 et UP2, la commande renommer d'Autocad permet de renommer les bloc mais un par un, en gros j'ai des blocs qui se termine par UP et les autres par AP mais j'aimerai inverser ces deux terminaisons les UP deviennent des AP et les AP des UP.Il me semble que j'avais trouvé une fois une solution mais je n'arrive pas à mettre la main dessus.Si quelqu'un aurait une piste ça serait chouette. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
LElemurien Posté(e) le 30 octobre 2020 Partager Posté(e) le 30 octobre 2020 Bonjour, Il y avait cette discussion il a pas longtemps cela peut peut-être aider? voici le lien Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
fauxsuisse Posté(e) le 30 octobre 2020 Auteur Partager Posté(e) le 30 octobre 2020 Bonjour, Il y avait cette discussion il a pas longtemps cela peut peut-être aider? voici le lien Je l'ai vu mais ça ne marche que pour mettre un préfix Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Steven Posté(e) le 30 octobre 2020 Partager Posté(e) le 30 octobre 2020 Salut fauxsuisse, Peux-tu donner un exemple du nom de tes blocs qui finissent par UP et ceux qui finissent par AP? Citer Steven________________________________________ Pour le taf; Windows (et ses emmerdes) sinon pas d'AutoCAD. Pour le perso Linux Mint et pas de problèmes. Mais pas d'AutoCAD. En rêve; AutoCAD sous Linux. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Olivier Eckmann Posté(e) le 30 octobre 2020 Partager Posté(e) le 30 octobre 2020 Bonsoir, tu peux essayer avec ça : (defun oe:RenBlock (old new) (if (and (tblsearch "BLOCK" old) (not (tblsearch "BLOCK" new)) (snvalid new) ) (progn (if (vl-catch-all-error-p (vl-catch-all-apply 'vla-put-name (list (vla-item (vla-get-blocks (cond (*AcadDoc*) ((setq *AcadDoc* (vla-get-activedocument (vlax-get-acad-object)))) ) ) old ) new ) ) ) (princ (strcat "\nBlock: " old " could not be renamed to: " new)) (princ (strcat "\nBlock: " old " renamed to: " new)) ) ) ) ) (defun C:RenBlkSuffix ( / sSuffixe1 sSuffixe2 oBlkDef sBlkName) (if (and (setq sSuffixe1 (getstring "\nSuffixe à remplacer : ")) (setq sSuffixe2 (getstring "\nSuffixe de remplacement : ")) ) (progn (setq oBlkDef (tblnext "BLOCK" T)) (while oBlkDef (setq sBlkName (cdr (assoc 2 oBlkDef))) (if (and (> (strlen sBlkName) (strlen sSuffixe1)) (= (substr sBlkName (1+ (- (strlen sBlkName) (strlen sSuffixe1)))) sSuffixe1)) (progn (setq sNewBlkName (strcat (substr sBlkName 1 (- (strlen sBlkName) (strlen sSuffixe1))) sSuffixe2)) (oe:RenBlock sBlkName sNewBlkName) ) ) (setq oBlkDef (tblnext "BLOCK")) ) ) ) ) Olivier Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
fauxsuisse Posté(e) le 31 octobre 2020 Auteur Partager Posté(e) le 31 octobre 2020 Bonsoir, tu peux essayer avec ça : (defun oe:RenBlock (old new) (if (and (tblsearch "BLOCK" old) (not (tblsearch "BLOCK" new)) (snvalid new) ) (progn (if (vl-catch-all-error-p (vl-catch-all-apply 'vla-put-name (list (vla-item (vla-get-blocks (cond (*AcadDoc*) ((setq *AcadDoc* (vla-get-activedocument (vlax-get-acad-object)))) ) ) old ) new ) ) ) (princ (strcat "\nBlock: " old " could not be renamed to: " new)) (princ (strcat "\nBlock: " old " renamed to: " new)) ) ) ) ) (defun C:RenBlkSuffix ( / sSuffixe1 sSuffixe2 oBlkDef sBlkName) (if (and (setq sSuffixe1 (getstring "\nSuffixe à remplacer : ")) (setq sSuffixe2 (getstring "\nSuffixe de remplacement : ")) ) (progn (setq oBlkDef (tblnext "BLOCK" T)) (while oBlkDef (setq sBlkName (cdr (assoc 2 oBlkDef))) (if (and (> (strlen sBlkName) (strlen sSuffixe1)) (= (substr sBlkName (1+ (- (strlen sBlkName) (strlen sSuffixe1)))) sSuffixe1)) (progn (setq sNewBlkName (strcat (substr sBlkName 1 (- (strlen sBlkName) (strlen sSuffixe1))) sSuffixe2)) (oe:RenBlock sBlkName sNewBlkName) ) ) (setq oBlkDef (tblnext "BLOCK")) ) ) ) ) Olivier Merci beaucoup ça marche parfaitement, un gros gain de temps de gagner Bon Weekend et merci encore. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
fauxsuisse Posté(e) le 31 octobre 2020 Auteur Partager Posté(e) le 31 octobre 2020 Salut fauxsuisse, Peux-tu donner un exemple du nom de tes blocs qui finissent par UP et ceux qui finissent par AP? Par exemple j'ai des blocs qui s'appelle T12_AP Sch0_AP Sch3_AP et la même chose mais se terminant par UP.AP signifie apparent et UP encastré et faut que j'inverse car le graphisme ne correspond plus.Mais Olivier Eckmann m'a trouvé la solution Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Steven Posté(e) le 31 octobre 2020 Partager Posté(e) le 31 octobre 2020 Citer Steven________________________________________ Pour le taf; Windows (et ses emmerdes) sinon pas d'AutoCAD. Pour le perso Linux Mint et pas de problèmes. Mais pas d'AutoCAD. En rêve; AutoCAD sous Linux. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés