15 de abril de 2008

INCRE.lsp - Rotina LISP

 

autolisp_image_03

Nome do ficheiro: INCRE.lsp

Descrição: Esta rotina permite incrementar um determinado valor a entidades  de texto numérico. Aceita valores negativos e positivos e permite sellecionar simultaneamente várias entidades. Permite incrementar valores inteiros ou com casas decimais

(comando: INCRE)

código fonte:

;Início do código
(defun chgterr (s)
   (if (/= s "Function cancelled")  
      (princ (strcat "\nError: " s))
   )
   (setq p nil)                     
   (setq *error* olderr)            
   (princ)
)

;Rotina que permite incrementar um determinado valor a entidades  de texto numérico.
;Aceita valores negativos e positivos e permite sellecionar simultaneamente várias entidades
;Permite incrementar valores inteiros ou com casas decimais

(defun C:INCRE (/ p l n e os as ns st s nsl osl sl si chf chm olderr)
   (setq olderr  *error*            
         *error* chgterr
         chm     0)
   (setq p (ssget))                 
   (setq inc (getreal "\nValor do incremento:"))
      (setq l 0 n (sslength p))
      (while (< l n)                
         (if (= "TEXT"              
                (cdr (assoc 0 (setq e (entget (ssname p l))))))
               (progn
                (setq s (cdr (setq as (assoc 1 e))))
                (setq mn (atof s))
                (setq nm (+ mn inc))
                (setq s (rtos nm))
                (setq e (subst (cons 1 s) as e))
                (entmod e)        
                (setq chm (1+ chm))
               )
         )
         (setq l (1+ l))
      )
   (princ chm)
   (princ " entidades de texto numérico")
   (princ " alteradas.")
   (terpri)
   (setq *error* olderr)            
   (princ)
)
;Fim do código

2 comentários:

Anónimo disse...

como faço para incrementar com 3 casas decimais?
estou tentando mas ele só fica com 2 casa decimais de pois de fazer o incremento.
alguma dica?

. disse...

Deve alterar o valor da variável de sistema LUPREC para o número de casas decimais pretendidas.

 
Powered by Blogger