Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Printemps des cartes 2024

#1 Tue 17 June 2014 09:06

CFBL93
Juste Inscrit !
Date d'inscription: 6 Sep 2005
Messages: 4

[MAP 2014] Renommer une série de blocs

Bonjour,

J'ai un grand nombre de blocs dans un fichier, qui possèdent tous dans leur nom un prefixe commun "ABC*".  Je souhaite changer ce préfixe en "DEF*" pour tous ces blocs.

La commande renommer ne permet de faire cela que un à un, ce qui est fastidieux, d'autant plus que j'ai plusieurs fichiers à modifier.

Existe-t-il une astuce du type "remplacer "ABC" par "DEF" dans tous les noms de blocs?

Merci.

Hors ligne

 

#2 Tue 17 June 2014 10:13

gegematic
Participant assidu
Lieu: Albertville
Date d'inscription: 24 Feb 2010
Messages: 192
Site web

Re: [MAP 2014] Renommer une série de blocs

Salut,
une version vraiment lourdingue, il te faudra remplacer les chaines ANCIENNECHAINE et NOUVCHAINE en dur dans le code,
ou alors par un getstring pour pouvoir en changer facilement

Code:

(defun c:RenomeBloc (/ l lst md stl nouvNom)
  (setq    lst nil
    md  't
  )
  (while (setq stl (tblnext "BLOCK" md))
    (setq md nil)
    (setq stl (cdr (assoc 2 stl)))
    (if    (and (/= (substr stl 1 1) "*") (not (wcmatch stl "*|*")))
      (setq lst (cons stl lst))
    )
  )

  (foreach l lst
    (if    (wcmatch l "ANCIENNECHAINE*")
      (progn
    (setq nouvNom (vl-string-subst "NOUVCHAINE" "ANCIENNECHAINE" l))
    (Command "_rename" "_block" l nouvNom)
      )
    )
  )

)

Hors ligne

 

#3 Tue 17 June 2014 10:43

olivier.eckmann
Participant assidu
Date d'inscription: 14 Dec 2007
Messages: 351

Re: [MAP 2014] Renommer une série de blocs

La commande renommer fonctionne très  bien pour cela.
dans ancien nom, il suffit de taper
ABC*
dans nouveau nom il faut taper
DEF*
puis cliquer sur le bouton Nouveau nom
puis OK

Olivier

Hors ligne

 

#4 Tue 17 June 2014 11:29

gegematic
Participant assidu
Lieu: Albertville
Date d'inscription: 24 Feb 2010
Messages: 192
Site web

Re: [MAP 2014] Renommer une série de blocs

Génial !
ça marche pour tout, j'imagine ?

Hors ligne

 

#5 Tue 17 June 2014 14:06

olivier.eckmann
Participant assidu
Date d'inscription: 14 Dec 2007
Messages: 351

Re: [MAP 2014] Renommer une série de blocs

Bonjour,

oui, je m'utilise régulièrement sur les calques, blocs et types de lignes, mais je pense que tout fonctionne sur le même principe.

On peut aussi faire une sélection dans la liste avec les boutons Shift et/ou Ctrl
Par ex pour ajouter un préfixe à certains calques, il suffit de les sélectionner, puis dans nouveau nom mettre PREFIXE*  et cliquer sur nouveau nom...

La commande peut aussi être lancée sans dialogue avec  -RENOMMER  ou   _-RENAME   mais en version ligne de commande, les caractères génériques * ne sont pas autorisés

Olivier

Hors ligne

 

Pied de page des forums

Powered by FluxBB