Trabajo reloj programado en editor de Visual Lisp
Enviado por Andrés Preciado • 12 de Mayo de 2023 • Trabajo • 1.583 Palabras (7 Páginas) • 178 Visitas
TRABAJO RELOJ PROGRAMADO EN EDITOR DE VISUAL LISP
PRESENTADO A:
MIGUEL ANGEL BAQUERO CORTES
PRESENTADO POR:
ANDRES ADOLFO PRECIADO FERNANDEZ
CC: 1069768460
GRUPO 13
UNIVERSIDAD NACIONAL DE COLOMBIA
FACULTAD DE INGENIERIA
DIBUJO BASICO (COMPONENTE AUTOCAD)
SEMESTRE 2018-III
2019
DESCRIPCION DEL TRABAJO
El trabajo realizado corresponde a un reloj programado en AutoCAD con su editor de visual lisp, el cual debe indicar la hora en tiempo real mediante el diseño análogo y digital, es decir rotando sus manecillas como un reloj mecánico real e imprimiendo la hora y fecha de manera digital.
CALCULOS MATEMATICOS
En este trabajo se realizaron diferentes cálculos, entre ellos la división de 360 (corresponde al contorno del reloj) entre 60 (corresponde a los minutos) para dibujar las líneas que indiquen los minutos en el reloj, las divisiones para calcular el ángulo de rotación de las manecillas para el funcionamiento correcto de este, la rotación de cada manecilla por segundo, las coordenadas correspondientes para la ubicación de los componentes del reloj, entre otros.
CODIGO RELOJ
;Trabajo reloj presentado por Andres Preciado Fernandez Codigo: 1069768460 grupo 13
(command "osnap" "_off") ; se utiliza "osnap" para usar puntos o variables anteriores para el desarrollo de nuevas funciones.
(command "erase" "_all") ;se utiliza "erase" para borrar los elementos dibujados en una ejecución anterior.
(COMMAND "_vscurrent" "_R")
;Dibujo del reloj digital
(setq texto1 "DD")
(command "_color" 5(command "_rectangle" "-60,130" "-20,150"))
(command "_color" 5(command "_text" "-50,150" 9 0 texto1))
(setq texto2 "MM")
(command "_color" 2(command "_rectangle" "-20,150" "20,130"))
(command "_color" 2(command "_text" "-10,150" 9 0 texto2))
(setq texto3 "AA")
(command "_color" 1(command "_rectangle" "20,150" "60,130")); dibujamos el contorno del reloj
(command "_color" 1(command "_text" "30,150" 9 0 texto3))
;Dibujo del reloj analogo
(command "_color" 1 "_rectangle" "-128,128" "128,-128")
(command "_color" 2 "_rectangle" "-126,126" "126,-126")
(command "_color" 5 "_rectangle" "-124,124" "124,-124")
(command "_color" 1 "_rectangle" "-122,122" "122,-122")
(command "_color" 2 "_rectangle" "-120,120" "120,-120")
(command "_color" 2 "_circle" "0,0" 5)
(command "_color" 5 "_circle" "0,0" 5)
(command "_color" 1 "_circle" "0,0" 6)
(command "_color" 2 "_circle" "0,0" 7)
(command "_color" 5 "_circle" "0,0" 8)
(command "_color" 1 "_circle" "0,0" 9)
(command "_color" 2 "_circle" "0,0" 10)
(command "_color" 5 "_circle" "0,0" 102)
(command "_color" 1 "_circle" "0,0" 104)
(command "_color" 2 "_circle" "0,0" 106)
(command "_color" 5 "_circle" "0,0" 108)
(command "_color" 1 "_circle" "0,0" 110)
(command "_color" 2 "_circle" "0,0" 112)
(command "_color" 5 "_circle" "0,0" 114)
(command "_color" 1 "_circle" "0,0" 116)
(command "_color" 2 "_circle" "0,0" 118)
(command "_color" 5 "_circle" "0,0" 120)
(command "_color" 5 "_circle" "0,0" 105) ; se dibuja el reloj, centro y radio (contorno exterior)
(command "_color" 5 "_circle" "0,0" 100) ; se dibuja el reloj, centro y radio (contorno interior)
(command "_color" 5 "_line" "128,128" "0,200" "")
(command "_color" 5 "_line" "-128,128" "0,200" "")
(command "_color" 1 "_line" "126,126" "0,198" "")
(command "_color" 1 "_line" "-126,126" "0,198" "")
(command "_color" 2 "_line" "124,124" "0,196" "")
(command "_color" 2 "_line" "-124,124" "0,196" "")
(command "_color" 5 "_line" "122,122" "0,194" "")
(command "_color" 5 "_line" "-122,122" "0,194" "")
(command "_color" 1 "_line" "120,120" "0,192" "")
(command "_color" 1 "_line" "-120,120" "0,192" "")
(command "_color" 2 "_line" "0,0" "90,0" "") ; se dibuja el segundero
(setq segundero (entlast))
(command "_color" 5 "_line" "0,0" "70,0" "") ; se dibuja el minutero
(setq minutero (entlast))
(command "_color" 1 "_line" "0,0" "50,0" "") ; se dibuja el horario
(setq horario (entlast))
(setq horario (entlast))
(command "_line" "95,0" "99,0" "") ; se dibujan los numeros correspondientes a los minutos
(command "_color" 5 "_array" "_l" "" "_p" "0,0" 60 360 "_yes")
(command "_line" "90,0" "99,0" "") ; se dibujan los numeros correspondientes a las horas
(command "_color" 1 "_array" "_l" "" "_p" "0,0" 12 360 "_yes")
(setq fecha_hora (rtos(getvar "CDATE") 2 6))
(setq año (atoi(substr fecha_hora 1 4)))
(setq mes (atoi(substr fecha_hora 5 2)))
(setq dia (atoi(substr fecha_hora 7 2)))
(setq horas (atoi(substr fecha_hora 10 2)))
(setq minutos (atoi(substr fecha_hora 12 2)))
(setq segundos (atoi(substr fecha_hora 14 2)))
(setq ang_segunderoXsegundo (- (/ 360. 60))
ang_minuteroXminuto (/ 360. 60)
ang_horarioXhora (/ 360. 12)
ang_minuteroXsegundo (- (/ 360. 60 60))
ang_horarioXminuto (/ 360. 12 60)
ang_horarioXsegundo (/ 360. 60 12 60))
(setq ang_ini_segundero(+ 90 (* segundos ang_segunderoXsegundo)) ; calculo de los angulos segundero
...