Modificare parte del nome layout e layer

lucaroma90

Utente poco attivo
professione: impiegato
software: Autocad 2016
regione: Italia
Buongiorno
Sono Luca, nuovo membro del gruppo.
Ho provato a cercare nel forum ma alla discussione (https://www.cad3d.it/forum1/threads...emporaneamente-più-layout?p=411384#post411384) non ho trovato la soluzione.
Chiedo se è possibile sostituire una parte del nome sia del layout che dei layer in automatico, senza rinominarne uno ad uno;
in particolare vorrei modificare ad esempio: "luca_1_chiaro_1" in "luca_1_scuro_1" per tutti i layout di stampa e per tutti i layer...in pratica modificare solo la parola "chiaro" con "scuro"
E' possibile?
Grazie
 

lucaroma90

Utente poco attivo
professione: impiegato
software: Autocad 2016
regione: Italia
Grazie per la risposta.
Per i layout sono riuscito e funziona tutto perfettamente...per i layers vorrei sostituire solo una parte del nome senza rinominarli completamente tutti. Come posso fare questo?
 

MassiVonWeizen

Utente Senior
professione: disegnatore
software: -
regione: -
nel forum c'è un file excel che crea gli script. questo permette di sfruttare le funzioni di excel e quindi lavorare su parti del valore della cella e poter trasformare il valore luca-chiaro in luca-scuro
 

lucaroma90

Utente poco attivo
professione: impiegato
software: Autocad 2016
regione: Italia
Premesso che non sono un esperto di script, non vi è altro modo per rinominare solo una parola per tutti i layer, lasciando inalterato il resto del nome?
 

GP.

Utente Senior
professione: Nientologo
software: uozapp
regione: Vercelli
Prova questo lisp di Henrique Moreira da Silva

Codice:
(vl-load-com)
(defun c:ren_lay (/ new old)
  (if (and (setq old (getstring T "\nEnter old layer name (is case sensitive): "))
	   (/= old "")
           (setq new (getstring T "\nEnter new layer name (is case sensitive): "))
           (/= new "")
      )
    (vlax-for layer
		    (vla-get-layers
		      (vla-get-activedocument
			(vlax-get-acad-object)
		      )
		    )
      (if (wcmatch (vla-get-name layer) (strcat "*" old "*"))
	(vl-catch-all-apply
	  'vla-put-name
	  (list layer (vl-string-subst new old (vla-get-name layer)))
	)
      )
    )
  )
  (princ)
)
 

Dndptr

Utente poco attivo
professione: geometra
software: Autocad
regione: Como
Ci ho provato ma non va ho inserito *la parte da sostituire* e poi la parte sostitutiva
 

Statistiche forum

Discussioni
59,382
Messaggi
507,063
Utenti registrati
111,778
Ultimo utente registrato
tikkienese93

Utenti online

Top