AutoCad - REPEAT

 
Vista:

REPEAT

Publicado por VGAETE (83 intervenciones) el 10/04/2002 00:54:15
Señores yo nuevamente recurriendoa a la sabiduria y experiencia de todos.
Hoy tube el siguiente problema, quise hacer una rutina que me permitiera ingresar numeros consecutivos ingresando solo un valor, se que existe alguna rutina por ahi que hace esto, pero por que no hacerla yo si igual entiendo autolisp y tengo la ayuda de los amigos del foro.

La rutina que anexo permite ingresar el numero a partir y luego incrementa ese valor en uno, seguido de esto increbe el numero ingresado y su incremento, pro como puedo hacer que me repita esto tomando siempre el ultimo valor.
Otra pregunta: A que se debe este mensaje que aparece cuando llamo la rutina , "Unknown command "NMASUNO". Press F1 for help", y como puedo eliminarlo.


1° Pregunta
(defun c:nmasuno ()
(setvar "OSMODE" 0)
(setvar "BLIPMODE" 0)
(setvar "CMDECHO" 0)
(setq a (getstring "ingrese valor a incrementar: ")
b (atoi a)
c (1+ b)
)
(command "text" pause "2.5" "0" b "")
(command "text" pause "2.5" "0" c "")
(princ)
)

2° Pregunta
;;;Command: nmasuno
;;;ingrese valor a incrementar: 1
;;;Unknown command "NMASUNO". Press F1 for help.
;;;Unknown command "NMASUNO". Press F1 for help.
;;;Command:

Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:REPEAT

Publicado por SpeedCAD (362 intervenciones) el 10/04/2002 11:01:45
Hola amigo VGaete:

1 Respuesta: vamos por linea
(defun c:nmasuno (/ ) ; aqui agregue el slash pero esta bien
(setvar "OSMODE" 0) ; esta bien
(setvar "BLIPMODE" 0) ;esta bien pero no es necesario
(setvar "CMDECHO" 0) ;al final de la lista ahi que agregar "cmdecho" 1
(setq a (getreal "ingrese valor a incrementar: ")) ;No se pone getstring ya que esto es para ingresar textos, para los numeros es getreal o getint, la diferencia es que con uno puedes ingresar numeros con decimales y con el otro no.
(setq n 15)
(repeat 5
(command "text" "j" "m" (list 10 (* n 10)) 2.5 0 (rtos a 2 2))
(setq a (1+ a))
(setq n (1+ n))
)
(command "zoom" "e")
(setvar "cmdecho" 1)(prin1)
)

2 Respuesta: cuando AutoCAD manda ese mensaje es por que hay un enter de mas por ejemplo tu pusiste esto:
(command "text" pause "2.5" "0" c ""), este ultimo es un enter por lo tanto llama al comando que creaste es por eso la razon del mensaje. Luego te pide que apretes F1 para ayuda por que el comando no existe.

Como te lo mando yo es sin el ultimo enter ya que no es necesario:
(command "text" "j" "m" (list 10 (* n 10)) 2.5 0 (rtos a 2 2))
...

Copia el codigo y pruebalo espero te sirva... si es asi hazlo saber...

Un saludo de SpeedCAD... :-)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:REPEAT

Publicado por Gaby (3 intervenciones) el 13/09/2005 20:24:02
hola...probe hacer la rutina de enumeracion automatica y la verdad que no me sale...me lo podrias explicar ??

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar