• このフォーラムは、www.cad3d.it/forum1 - イタリアのデザインコミュニティの機械翻訳です。いくつかの用語は正しく翻訳されていません。

数量nのすべてのテキストを増加させる

  • Thread starter Thread starter Rand89
  • Start date Start date

Rand89

Guest
ciao ragazzi
è possibile incrementare tutti i testi contenenti un numero, di una quantità n uguale per tutti? es: ho dei testi contenenti 45.23, 63.17, 12.02 ecc incrementarli tutti di n = 2.5 quindi diventeranno 47.73, 65.67, 14.52 ecc

grazie in anticipo :wink:
 
visto che non risponde nessuno, ti posto un lisp per effettuare quanto da te chiesto.

il comando è addnum, selezioni le scritte, devi scrivere l'operatore e a seguire la quantità, tipo +5.25 o *2.2, etc.

il numero di decimali impostalo da units.

bye
 

Attachments

grazie rpor66, davvero quello che fa al caso mio!
sai se è possibile modificarlo facendo riconoscere anche la virgola come separatore decimale? ho molti testi appunto con la virgola e non con il punto...
 
fatto.
ho fatto in modo che se trova la virgola, esegue l'operazione senza modificare il separatore decimale.

bye
 

Attachments

fatto.
ho fatto in modo che se trova la virgola, esegue l'operazione senza modificare il separatore decimale.

bye

(if (= flag 1) (setq newtxt (vl-string-subst "," "." newtxt)))

mitica questa... ci fosse anche nel vba :frown: invece per farla devi fare il classico boubbleshort o come cavolo si dice... passare carattere per carattere... ed aventualmente modificarlo con , o . o sbaglio ?
 
e perchè, allora, non metterla sempre all'inizio, fuori dal ciclo, così risolviamo il problema alla radice e si alleggerisce il codice?
(mapcar '(lambda (x) (atof (vl-string-subst "." "," x))) newtxt)
 
perchè se nel dwg è scritto 5,16 ti ritroveresti 5.16, che non va bene.

x shape: in vba il comando è replace

bye
 
perchè se nel dwg è scritto 5,16 ti ritroveresti 5.16, che non va bene.

x shape: in vba il comando è replace

bye

ehh non non puoi mica dirmelo così.. è da anni che divento pazzo con gli input utente in base alle impostazioni internazionali.. e tu mi dici che con un replace risolvo... :eek::eek::eek:
 
mi scuso, ma per evitare errori riscrivo, corretta, la riga di codice precedente
(mapcar '(lambda (x) (atof (vl-string-subst "." "," x))) gruppo)

perchè se nel dwg è scritto 5,16 ti ritroveresti 5.16, che non va bene.
...
bye
rand89 potrebbe anche gradire che tutti i numeri rimangano scritti con la stessa notazione
 
fra i miei lisp c'è vartxt che permette di effettuare le 4 operazioni (+ - * /) su una serie di testi, scegliere il n. di decimali ed eventualmente inserire il segno + o - prima del numero.
 

Attachments

buongiorno signori,

io avrei delle chilometriche da modificare sommando sempre la stessa quantità; es. 120+000 deve diventare 190+340, praticamente devo aggiungere sempre 70+340.

come posso modificare il lisp addnum o vartxt?

grazie mille in anticipo

saluti
 
per avviare il comando scrivi:
(addnum 70 340)
selezioni i testi da modificare.

bye

p.s.: ovviamente 70 e 340 sono per esempio, puoi sommare anche numeri con decimali.
 

Attachments

per avviare il comando scrivi:
(addnum 70 340)
selezioni i testi da modificare.

bye

p.s.: ovviamente 70 e 340 sono per esempio, puoi sommare anche numeri con decimali.

ti ringrazio molto, ma ho un problema;

quando ho una chilometrica del tipo 20+700 e sommo la mia quantità 70 e 340 il risultato che viene fuori è 90,00+1040,00.
dovrebbe essere invece 91+400.
ci sarebbero inoltre i due zeri da eliminare.

e se ingannassimo il lisp facendogli credere che il "+" non è altro che una ",".
io volevo procedere a modificare il lisp iniziale sotto questo senso, secondo te è fattibile?

grazie mille ancora.

ciao
 
addnum così come è scritto è sbagliato.
se eseguo ad esempio (addnum 10 400) alla chilometrica 120+800, ottengo 130+1200 invece del più logico 131+200. arrivato a 1000 metri devo incrementare i chilometri.
 

Attachments

addnum così come è scritto è sbagliato.
se eseguo ad esempio (addnum 10 400) alla chilometrica 120+800, ottengo 130+1200 invece del più logico 131+200. arrivato a 1000 metri devo incrementare i chilometri.

grazie mille, ma il tuo lisp non riesco ad eseguirlo.
quando lo eseguo senza argomenti mi dice da errore appunto segnalandomi che ci sono pochi argomenti, invece quando lo eseguo come (addnum 10 400) mi da un messaggio di errore "no fuction definition: addnum".
per caso sapresti come avviare a tutto ciò?

grazie mille ancora

ciao
 
devi digitare (load "addnum3") e poi (addnum arg1 arg2). gli argomenti sono indispensabili, dove arg1=km e arg2=metri.
 
devi digitare (load "addnum3") e poi (addnum arg1 arg2). gli argomenti sono indispensabili, dove arg1=km e arg2=metri.

grazie, ho risolto. il problema nasce dal fatto che emulo architectural desktop su un mac.

comunque, grazie mille

ora il tutto va una meraviglia.....

ciao
 

Forum statistics

Threads
46,674
Messages
380,976
Members
2
Latest member
loop80
このフォーラムは、www.cad3d.it/forum1 - イタリアのデザインコミュニティの機械翻訳です。いくつかの用語は正しく翻訳されていません。

Members online

No members online now.
Back
Top