x11start
Utente Standard
professione: Disegnatore prefabbricati
software: Autocad - GStarCAD
regione: Piemonte
In azienda utilizziamo un nome per i file dei vari clienti, impostati in questo modo:
Mario Rossi 24-900.dwg
In cui
- Nome del cliente: può avere lunghezza variabile,
- Anno
- N. progressivo della commessa
Per i vari disegni riferiti a quel cliente, ho inserito dei campi dati con un espressione diesel che mi estrapola in automatico l'anno ed il N. di commessa:
[imath](substr,[/imath](getvar,dwgname),[imath](-,[/imath](strlen,$(getvar,dwgname)),9),6)
sostanzialmente, mi prende il nome del file, ne estrae 6 caratteri a partire dalla posizione 9 dal fondo.
il problema è che ora ci stiamo avvicinando alla commessa 1000 ... che mi sballa il risultato: verrebbe "4-1000" anzichè "24-1000".
Ho risolto includendo un IF nell'espressione diesel che diventa:
[imath](if,[/imath](substr,[imath](getvar,dwgname),[/imath](-,[imath](strlen,[/imath](getvar,dwgname)),7),1)"1",[imath](substr,[/imath](getvar,dwgname),[imath](-,[/imath](strlen,[imath](getvar,dwgname)),10),7),[/imath](substr,[imath](getvar,dwgname),[/imath](-,[imath](strlen,[/imath](getvar,dwgname)),9),6))
Cioè :
$(if, -> SE ...
[imath](substr,[/imath](getvar,dwgname),[imath](-,[/imath](strlen,$(getvar,dwgname)),7),1)"1", -> Il 7 crt (per 1 solo crt) dalla fine del nome file è = "1" ..
[imath](substr,[/imath](getvar,dwgname),[imath](-,[/imath](strlen,$(getvar,dwgname)),10),7), -> Prendi dal 10° crt per 7 crt (commesse > a 1000)
[imath](substr,[/imath](getvar,dwgname),[imath](-,[/imath](strlen,$(getvar,dwgname)),9),6) -> Altrimenti prendi dal 9° crt per 6 crt (commesse < a 1000)
) -> Chiude l'IF
.... il mio problema è che dovrei SOSTITUIRE tutti questi campi dati in TUTTI i disegni ....
Secondo voi è possibile creare un lisp o uno script in grado di "trovare" e "sostituire" un'espressione in un campo dati?
Mario Rossi 24-900.dwg
In cui
- Nome del cliente: può avere lunghezza variabile,
- Anno
- N. progressivo della commessa
Per i vari disegni riferiti a quel cliente, ho inserito dei campi dati con un espressione diesel che mi estrapola in automatico l'anno ed il N. di commessa:
[imath](substr,[/imath](getvar,dwgname),[imath](-,[/imath](strlen,$(getvar,dwgname)),9),6)
sostanzialmente, mi prende il nome del file, ne estrae 6 caratteri a partire dalla posizione 9 dal fondo.
il problema è che ora ci stiamo avvicinando alla commessa 1000 ... che mi sballa il risultato: verrebbe "4-1000" anzichè "24-1000".
Ho risolto includendo un IF nell'espressione diesel che diventa:
[imath](if,[/imath](substr,[imath](getvar,dwgname),[/imath](-,[imath](strlen,[/imath](getvar,dwgname)),7),1)"1",[imath](substr,[/imath](getvar,dwgname),[imath](-,[/imath](strlen,[imath](getvar,dwgname)),10),7),[/imath](substr,[imath](getvar,dwgname),[/imath](-,[imath](strlen,[/imath](getvar,dwgname)),9),6))
Cioè :
$(if, -> SE ...
[imath](substr,[/imath](getvar,dwgname),[imath](-,[/imath](strlen,$(getvar,dwgname)),7),1)"1", -> Il 7 crt (per 1 solo crt) dalla fine del nome file è = "1" ..
[imath](substr,[/imath](getvar,dwgname),[imath](-,[/imath](strlen,$(getvar,dwgname)),10),7), -> Prendi dal 10° crt per 7 crt (commesse > a 1000)
[imath](substr,[/imath](getvar,dwgname),[imath](-,[/imath](strlen,$(getvar,dwgname)),9),6) -> Altrimenti prendi dal 9° crt per 6 crt (commesse < a 1000)
) -> Chiude l'IF
.... il mio problema è che dovrei SOSTITUIRE tutti questi campi dati in TUTTI i disegni ....
Secondo voi è possibile creare un lisp o uno script in grado di "trovare" e "sostituire" un'espressione in un campo dati?