Lisp per sostituire testi in più dwg

FaustoBe

Utente poco attivo
Professione: disegnatore
Software: cad
Regione: Ticino
#1
Buongiorno,
faccio una domanda di cui probabilmente esiste già la soluzione. Cerco un lisp che mi permetta di modificare determinati testi (mtext) su innumerevoli dwg. Mi spiego devo modificare in 100 dwg dei testi esistenti con altri testi (vedi ad esempio la data)
Esiste un modo per farlo secondo voi senza che devo intervenire su ogni singolo dwg?
Grazie a tutti.
Fausto.
 

Cristallo

Utente Standard
Professione: Leggo e confronto
Software: Lettura critica
Regione: Fuori dalla cerchia
#2
Se li hai in file separati, li devi aprire ad uno ad uno.
Se i testi da cambiare sono molti, nello stesso file, allora li fai in un unica volta. Ma se sono 1 testo per ogni file... sei costretto a farli uno per uno.
 

salmozzo

Utente poco attivo
Professione: disegnatore elettrico
Software: autocad
Regione: Como
#3
Se li hai in file separati, li devi aprire ad uno ad uno.
Se i testi da cambiare sono molti, nello stesso file, allora li fai in un unica volta. Ma se sono 1 testo per ogni file... sei costretto a farli uno per uno.
Codice:
(defun c:TestOpenFile1 ()

(setq filepath (getvar "dwgprefix")) ;memorizza il percorso file del dwg
(setq ListaTuttiFile (vl-directory-files filepath "*.dwg")) ;memorizza in una lista tutti i dwg preventi nella cartella
(princ ListaTuttiFile) ;stampa

)

il codice sotto spoiler restituire in una lista tutti i dwg presenti nella cartella del dwg aperto.
https://knowledge.autodesk.com/sear...F70DECFC-DBE1-4F04-A64C-B3F869A636A2-htm.html
in questo link ho trovato delle funzioni molto interessanti.
ad esempio la funzione openfile.

un esempio del file lisp potrebbe essere:
trovo lista dei dwg che voglio aprire
loop in base al numero dei dwg
apro file
modifico testi

(ad esempio:
seleziono tutti i testi
il testo e' uguale a "data di ieri"
si "data di oggi"
no - passo al prossiono testo da controllare)
chiudo file
fine loop
fine


ipotizzo che tutti i file si trovono nella stessa cartella
@FaustoBe corretto?