Sunteți pe pagina 1din 2

; NUMERA.

LSP
; Rotula automticamente nmeros consecutivos en el dibujo.
; Versin 1.2: febrero de 2001: Acepta incremento y origen en nmeros no enteros. Ge
stiona nmero de decimales
;
; Versin 2.0: Acepta prefijos y sofijos
; Versin 2.1: Permite que los prefijos y sufijos contengan espacios en blanco
;
; Futuras versiones:
; - Seleccionando un texto ya existente en el dibujo que contenga un nmero,
; rotula a partir del siguiente valor.
; - Permite rotular automticamente en forma de matriz o lnea
;
;
; Julio Pablo
; Visita Las Quimbambas en http://pagina.de/lasquimbambas
;
(princ "\nnumera 2.1: Introduce automticamente nmeros consecutivos en el dibujo, e
n los puntos que indiquemos\n")
(defun c:numera(/ contador incremento frasecitainformativa opciondeturno)
(setq contador 1.00)
(setq incremento 1.00)
(setq opciondeturno "")
(if (null alturatexto) (setq alturatexto (getvar "TEXTSIZE")))
(if (null prefijo) (setq prefijo ""))
(if (null sufijo) (setq sufijo ""))
(if (null ndecimales) (setq ndecimales 0))
(setq opciondeturno "")
(while opciondeturno
(initget "Altura Origen Incremento Prefijo Sufijo Decimales")
(setq rotulodeturno (strcat prefijo (rtos contador 2 ndecimales) sufijo))
(setq
frasecitainformativa (strcat "\nAltura/Origen/Incremento/Prefijo/Sufijo/Decimale
s/<punto \"" rotulodeturno "\">:")
)
(setq puntodeturno (getpoint frasecitainformativa))
(setq opciondeturno
(cond
( ;si el usuario pulsa A
(eq puntodeturno "Altura")
(setq nuevovalor (getdist (strcat "\n(Si el estilo vigente no tiene definida alt
ura=0, este valor no ser efectivo). Altura de texto <" (rtos alturatexto) ">:")))
(if (> nuevovalor 0) (setq alturatexto nuevovalor))
(princ "\naltura:")(princ alturatexto)
)
( ;si el usuario pulsa O
(eq puntodeturno "Origen")
(setq nuevovalor
(getreal
(strcat "\nIntroduce el valor inicial <" (rtos contador) ">:")
);getreal
);setq
(setq contador nuevovalor)
(princ "\nOrigen:")(princ contador)
(setq opciondeturno "")
)
( ; si el usuario pulsa I
(eq puntodeturno "Incremento")
(setq nuevovalor
(getreal
(strcat "\nIntroduce el incremento <" (rtos incremento) ">:")
);getreal
);setq
(setq incremento nuevovalor)
(princ "\nOrigen:")(princ incremento)
(setq opciondeturno "")
)
( ; si el usuario pulsa P
(eq puntodeturno "Prefijo")
(setq prefijo (getstring T "\nIntroduce el prefijo:"))
)
( ; si el usuario pulsa S
(eq puntodeturno "Sufijo")
(setq sufijo (getstring T "\nIntroduce el sufijo:"))
)
( ; si el usuario pulsa D
(eq puntodeturno "Decimales")
(setq nuevovalor (getint (strcat "\nPrecisin. Cifras decimales <" (itoa ndecimale
s) ">:")))
(if (>= nuevovalor 0) (setq ndecimales nuevovalor))
(princ "\nCifras decimales:")(princ ndecimales)
(setq opciondeturno "")
)
( ;si la respuesta del usuario es marcar un punto...
(eq (type puntodeturno) 'LIST)
(command "_text" "_mc" puntodeturno alturatexto "" rotulodeturno)
(setq contador (+ contador incremento))
);[opcin]
(; si el usuario pulsa [intro]
T nil
)
);cond
);setq opciondeturno
) ;while
(princ "\nMs rdenes como sta en http://pagina.de/juliopablo\n")
(prin1)
);defun

S-ar putea să vă placă și