Newsgroup: it.discussioni.geometri
Titolo: lisp

salve a tutti, cerco un lisp che arrotonda  numeri da tre cifre decimali a
due
grazie

 decimali a due
Guarda la funzione RTOS
es. (setq aa (rtos tuo_numero 2 2))
--
Ciao da MioMao
__________________
* Prenditi un antivirus serio e controlla il tuo PC!
* Ecco dove puoi scaricare alcuni antivirus freeware (gratis!):
http://www.grisoft.com
 - 
http://www.free-av.com/index.htm
http://www.avast.com
 (italiano) - 
http://it.bitdefender.com
 (italiano)
* USALI * PROTEGGITI * USALI *


Unità disegno....... Precisione lineare

 ha scritto nel messaggio
news:N3Y9c.2204$l27....@news.edisontel.com...



Sorry, non avevo capito che ti riferivi ad un testo scritto.

 
Mi ricordo di avere fatto un listato in lisp che consentiva di variare
il valore numerico del testo (ad esempio per una variazione di quota) e
di modificare il numero dei decimali.
Non appena lo trovo ti informo.
Alessandro
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 99.696 io voglio che diventino 100.37  99.67 ecc.
Vabbè... . dai...  vediamo se mi ricordo ancora qualcosa di AutoLisp.... ;-)
Acchiappati questo:
(defun *mioerro* ( msg / )
   (print msg)
   (prompt "\nProgramma interrotto!")
   (setq *error* #err#)
   (princ))
(defun C:EVVAI ( / ente testo lungo conta)
    (setq #err# *error*  *error* *mioerro* ente nil)
    (while (not ente)(setq ente (entsel "\nSeleziona il testo da modificare:
")))
    (setq ente (entget (car ente)) testo (cdr (assoc 1 ente)) lungo (strlen
testo) conta 1)
    (repeat lungo (if (and (equal (substr testo conta 1) ".")(> lungo (1+
conta)))
            (setq testo (substr testo 1 (+ 2 conta)) conta lungo)
            (setq conta (1+ conta))))
        (setq ente (entmod (subst (cons 1 testo)(assoc 1 ente) ente)))
    (princ));defun
Ok, dai... provato e funzia.
Per usarlo, fai un "copia e incolla" in un file di testo (usa Notepad) e
quindi salvalo con il nome "evvai.lsp"
Da Autocad lo carichi in questo modo (scrivi come qui sotto, quindi batti
INVIO):
(load "evvai.lsp")
Quindi usa il comando "evvai".
Ocio: usalo... ma a tuo rischio e pericolo!
Ergo: se ti sminchia i dati..... usa "UNDO" (oppure ANNULLA)... e io NON
sono responsabile in alcun modo!
Ok? ;-)
Se hai problemi... fai un fischio! :-)


 99.696 io voglio che diventino 100.37  99.67 ecc.
Ooops... = :-DDD
Mi sono accorto adesso che vuoi l'arrotondamento! = :-DDD
Eeeeeeepotevidirlosubito! ;-)
Io mi ero brutalmente limitato a "tagliare" il testo... sorry.
Mo'o'rifamo, neh! :-)
Allora cambia i dati di prima in questo modo:
(defun *mioerro* ( msg / )
   (print msg)(prompt "\nProgramma interrotto!")
   (setq *error* #err#)(princ))
(defun C:EVVAI ( / ente testo)
    (setq #err# *error*  *error* *mioerro* ente nil)
    (while (not ente)(setq ente (entsel "\nSeleziona il testo da modificare:
")) ente (entget (car ente)) testo (rtos (atof (cdr (assoc 1 ente))) 2 2)
ente (entmod (subst (cons 1 testo)(assoc 1 ente) ente)))
    (princ)
);defun
Così dovrebbe andare...
Scusami per la distrazione  :-)


 Cosě dovrebbe andare...


 tutti i testi in un sol colpo
Questo è semplicissimo.
Ma.. se non ti dispiace, ora mi trasferirei in PVT...
Non mi pare che la cosa possa essere di interesse comune. :-)
Scrivimi su
andreaPUNTOvarisco3LUMACHINACOLGUSCIOtinPUNTOit  = :-DD
(fai attenzione a mettere il "3", altrimenti finisce da un'altra parte...)


 ha scritto nel messaggio
news:uLX9c.14788$jY1....@tornado.fastwebnet.it...


 ha scritto nel messaggio
news:N3Y9c.2204$l27....@news.edisontel.com...


 Cosě dovrebbe andare...
