Tarea1 E Sepulveda

21
7/21/2019 Tarea1 E Sepulveda http://slidepdf.com/reader/full/tarea1-e-sepulveda 1/21  TAREA 1: ASPECTOS BASICOS DE PROGRAMAS EN AUTOLISP COMPUTACION GRAFICA EDGAR HERNANDO SEPULVEDA OVIEDO 24 DE AGOSTO DEL 2015

Transcript of Tarea1 E Sepulveda

Page 1: Tarea1 E Sepulveda

7/21/2019 Tarea1 E Sepulveda

http://slidepdf.com/reader/full/tarea1-e-sepulveda 1/21

 

TAREA 1: ASPECTOS BASICOS DE PROGRAMAS EN AUTOLISP

COMPUTACION GRAFICA

EDGAR HERNANDO SEPULVEDA OVIEDO

24 DE AGOSTO DEL 2015

Page 2: Tarea1 E Sepulveda

7/21/2019 Tarea1 E Sepulveda

http://slidepdf.com/reader/full/tarea1-e-sepulveda 2/21

ASPECTOS BASICOS DE PROGRAMAS EN AUTOLISP 

DESCRIPCION DEL TRABAJO:

Se debe realizar un dibujo libre, utilizando los conceptos vistos en clase, teniendo en cuenta

que no debe ser un dibujo simple, además deben existir líneas de código comentariadasexplicando las secciones más relevantes del código implementado.

OBJETIVO GENERAL:

-Afianzar mediante la implementación de un programa, los conocimientos adquiridos en la

clase de computación grafica sobre la programación en el lenguaje lisp.

OBJETIVOS ESPECIFICOS:

- Utilizar métodos de repetición para la ejecución de acciones en el programa

- Utilizar listas y métodos de extracción de datos específicos.

- Realizar un dibujo libre que cumpla con la mayor cantidad posible de funciones vistas en

clase.

LISTADO DEL PROGRAMA:

Para ver el código implementado, ir a la sección de Anexos.

En el código implementado se tiene la siguiente metodología.

1.  Se toman la lectura del número de bicicletas que será dibujado y se desactiva el

SNAP.2.  Se toma el centro de la primera bicicleta que será dibujada.

3.  Se escriben el número el título del dibujo y el número de bicicleta a dibujar.

4.  Se dibujan los círculos no concéntricos de diferentes colores. Modificando la

coordenada en y del centro de estos circulo partiendo del punto inicial.5.  Luego de esto se dibujan los tres círculos que corresponden a los pedales y los que

se encuentran unidos tanto a la llanta delantera como trasera.

6. 

Se dibuja el marco de la bicicleta.7.  Se dibuja el sillín y el manubrio de la bicicleta.8.  Se procede a pedir el siguiente punto del centro para dibujar la siguiente bicicleta, y

se repiten los pasos del 1-6, si es la última bicicleta, se desactiva la función y se

regresa el SNAP a su estado original.

Toda esta información puede ser relacionada directamente con el código implementadosiguiendo los comentarios realizados dentro de este mismo.

Page 3: Tarea1 E Sepulveda

7/21/2019 Tarea1 E Sepulveda

http://slidepdf.com/reader/full/tarea1-e-sepulveda 3/21

FORMA DE EJECUCION:

FORMA 1: SISTEMA OPERATIVO WINDOWS AUTOCAD 2016

1.  Descargar el archivo, Tarea1-E-Sepulveda.LSP

2. 

Abrir AutoCAD 2016 en inglés.3.  En la barra de herramientas ir a la pestaña manage.

4.  Dar clic sobre la opción Visual Lisp Editor, en la subpestaña Applications.

5.  En la nueva ventana dar clic sobre File.6.  Ahora dar clic sobre Open File.

7.  Seleccionar el archivo descargado con anterioridad.

8.  Ahora en la barra de opciones dar clic sobre el icono correspondiente a Load active

edit window9.  A continuación dar clic sobre el icono correspondiente a Active AutoCAD

10. Una vez se encuentra ubicado en el espacio modelo en AutoCAD, en la barra de

comandos escribir TAREA1, que corresponde al nombre de la función creada.11. Ahora el programa pedirá ingresar el número de bicicletas que sea dibujar en

número entero por teclado.

12. Seguido de esto comenzara a dibujar las bicicletas pidiendo el centro de cada una de

estas. De pronto será necesario utilizar el zoom para observar el dibujo creado.13. Cabe resaltar que se puede observar que el SNAP se encuentra desactivado mientras

se dibujan las bicicletas, luego de terminar este vuelve a su estado inicial, así que se

recomienda no desactivarlo manualmente.14. Una vez se dibuja la totalidad de bicicletas el comando termina su ejecución y

AutoCAD está listo para repetir el mismo procedimiento con el comando, o realizar

nuevos dibujos.

FORMA 2: SISTEMA OPERATIVO MAC OS X YOSEMITE

1.  Descargar el archivo, Tarea1-E-Sepulveda.LSP

2.  Abrir AutoCAD 2015 en ingles

3.  En la barra de herramientas ir a la pestaña Tools.4.  Dar clic sobre la opción Load Applications.

5.  Seleccionar el archivo descargado con anterioridad y dar clic en Load y la misma

opción en la ventana emergente que aparece.6.  Una vez se encuentre el aviso. Tarea1-E-Sepulveda.LSP successfully loaded en la

esquina inferior izqueirda de la ventana, dar clic en Close.

7.  Una vez se encuentra ubicado en el espacio modelo en AutoCAD, en la barra de

comandos escribir TAREA1, que corresponde al nombre de la función creada.8.

 

Ahora el programa pedirá ingresar el número de bicicletas que sea dibujar en

número entero por teclado.

9.  Seguido de esto comenzara a dibujar las bicicletas pidiendo el centro de cada una de

estas. De pronto será necesario utilizar el zoom para observar el dibujo creado.10. Cabe resaltar que se puede observar que el SNAP se encuentra desactivado mientras

se dibujan las bicicletas, luego de terminar este vuelve a su estado inicial, así que se

recomienda no desactivarlo manualmente.

Page 4: Tarea1 E Sepulveda

7/21/2019 Tarea1 E Sepulveda

http://slidepdf.com/reader/full/tarea1-e-sepulveda 4/21

11. Una vez se dibuja la totalidad de bicicletas el comando termina su ejecución yAutoCAD está listo para repetir el mismo procedimiento con el comando, o realizar

nuevos dibujos.

IMÁGENES DE CORRIDA DEL PROGRAMA:

Ejecución en Windows

Figura 1: Descarga archivo Windows

Figura 2: Opción Visual LISP Editor

Page 5: Tarea1 E Sepulveda

7/21/2019 Tarea1 E Sepulveda

http://slidepdf.com/reader/full/tarea1-e-sepulveda 5/21

 

Figura 3: Carga del archivo en AutoCAD

Figura 4: Programa cargado

Page 6: Tarea1 E Sepulveda

7/21/2019 Tarea1 E Sepulveda

http://slidepdf.com/reader/full/tarea1-e-sepulveda 6/21

 

Figura 5: Descarga del programa en AutoCAD (Load Active Edit Window)

Figura 6: Carga satisfactoria

Figura 7: Opción (Active AutoCAD) para regresar al espacio modelo

Figura 8: Ejecución de la función cargada

Figura 9: Ingresando parámetro de cuantas bicicletas (número entero) y SNAPdesactivado automático

Figura 10: Ingresando 5 bicicletas como parámetro

Page 7: Tarea1 E Sepulveda

7/21/2019 Tarea1 E Sepulveda

http://slidepdf.com/reader/full/tarea1-e-sepulveda 7/21

 

Figura 11: Seleccionando el centro del primer punto

Figura 12: Primera bicicleta dibujada y esperando segundo centro

Page 8: Tarea1 E Sepulveda

7/21/2019 Tarea1 E Sepulveda

http://slidepdf.com/reader/full/tarea1-e-sepulveda 8/21

Figura 13: Segunda bicicleta dibujada y esperando tercer centro

Figura 14: Tercera bicicleta dibujada y esperando cuarto centro

Figura 15: Cuarta bicicleta dibujada y esperando quinto centro

Page 9: Tarea1 E Sepulveda

7/21/2019 Tarea1 E Sepulveda

http://slidepdf.com/reader/full/tarea1-e-sepulveda 9/21

 

Figura 16: Quinta bicicleta dibujada y SNAP activado automaticamente

Ejecución en MAC OS X YOSEMITE

Figura 17: Descarga del programa en Mac os x yosemite

Page 10: Tarea1 E Sepulveda

7/21/2019 Tarea1 E Sepulveda

http://slidepdf.com/reader/full/tarea1-e-sepulveda 10/21

Figura 18: Opción Load Application

Figura 19: Carga de la función descargada

Figura 20: Ejecución del comando implementado

Figura 21: Ingresando el número de bicicletas (5: numero entero)

Page 11: Tarea1 E Sepulveda

7/21/2019 Tarea1 E Sepulveda

http://slidepdf.com/reader/full/tarea1-e-sepulveda 11/21

 

Figura 22: Esperando el centro de la primera bicicleta

Figura 23: Dibujo de la primera bicicleta y esperando segundo centro

Page 12: Tarea1 E Sepulveda

7/21/2019 Tarea1 E Sepulveda

http://slidepdf.com/reader/full/tarea1-e-sepulveda 12/21

 

Figura 24: Dibujo de la segunda bicicleta y esperando tercer centro

Figura 25: Dibujo de la tercer bicicleta y esperando cuarto centro

Page 13: Tarea1 E Sepulveda

7/21/2019 Tarea1 E Sepulveda

http://slidepdf.com/reader/full/tarea1-e-sepulveda 13/21

 

Figura 26: Dibujo de la cuarta bicicleta y esperando quinto centro

Figura 27: Dibujo de la quinta bicicleta y SNAP activo automáticamente

Page 14: Tarea1 E Sepulveda

7/21/2019 Tarea1 E Sepulveda

http://slidepdf.com/reader/full/tarea1-e-sepulveda 14/21

CONCLUSIONES:

Para este trabajo fue de bastante utilidad la condición presentada por la función append, yaque permite la unión de dos o más listas ingresadas como argumentos de esta, generando una

sola lista, pudiendo así hacer uso de la lista concatenada resultante. Al igual se pudo apreciar

las ventajas que brinda el utilizar el código (DEFUN C:Tarea1 ().. para el desarrollo deltrabajo, ya que esto permite que el código pueda ser ejecutado como un comandos más del

listado de AutoCAD.

La función list, fue utilizada debido a su capacidad de almacenar datos, lo que permitió

extraer almacenar los datos, que posteriormente serían usados para las coordenadas “x” y “y”

en el dibujo de todos los elementos realizados.

Para este trabajo se tuvo en cuenta que debido a que no siempre se necesitara, tener el SNAP  

desactivado en todos los dibujos, la opción de programación seleccionada fue desactivar el

SNAP  mientras se desarrollaba el programa, sin embargo una vez este finalizaba, el SNAP  volvía automáticamente a su estado inicial.

Mediante las funciones cadr y car  se extrajeron las coordenadas de “x” y “y”, pertenecientes

al punto que el usuario ingresa mediante un clic, esto se realiza con la finalidad de poder

operar de manera individual dichas coordenadas, moviendo los objetos por el espacio

 partiendo de la referencia inicial. Esto permite realizar cualquier tipo de operación teniendoen cuenta que sean coherentes los tipos de datos para evitar la pérdida de datos en las

operaciones.

Se hizo uso de dos tipos de funciones GET , en primer lugar el número de dibujos que el

usuario deseaba dibujar, que fue implementado mediante el uso de la línea de código: (SETQ

P2 (GETINT "Cuantas Bicicletas Desea Dibujar: ")), esta línea guarda en la variable P2 elvalor entero ingresado por el usuario, se decidió tomar esta función, debido a que obliga al

usuario a ingresar un numero entero para continuar su ejecución, así que si ingresan un

carácter diferente a un número entero o un número real el código no sigue su ejecución,evitando así problemas futuros de comparación.

Como segunda función GET , se implementó la siguiente línea de código (SETQ P1(GETPOINT "Centro de la Bicicleta:"), la cual estaba encargada de almacenar en la variable

P1 las coordenadas que serían ingresadas por el usuario mediante un clic en el espacio de

modelo. Esta función fue implementada para permitirle al usuario la flexibilidad de dibujar

la bicicleta en el lugar que desee en el espacio modelo. Y ya que el usuario controla cuantas bicicletas y en que parte del espacio estarán dibujadas, el programa deja de lado la

 programación estática para convertirse en un programa implementado en programación

dinámica.

Para este programa se utilizaron funciones de repetición como el ciclo WHILE   y el

condicional IF, el ciclo while proporciono al programa la posibilidad de generar un nuevonúmero cada vez que se dibujaba una bicicleta, así como también mediante un while anidado

se generaron las ruedas en espiral tipo arcoíris, para estas se generan una serie de círculos no

Page 15: Tarea1 E Sepulveda

7/21/2019 Tarea1 E Sepulveda

http://slidepdf.com/reader/full/tarea1-e-sepulveda 15/21

concéntricos, ya que una de las líneas dentro de este while desplazaba el centro de cada unode estos.

Por otra parte el condicional IF ahorra tiempo de ejecución, evaluando el ultimo valor

correspondiente a los radios de las ruedas, si correspondía a verdadero, dibuja el texto

"Rodando por Bogotá en la bicicleta: ", pero este condicional es evaluado una vez el whileque dibuja las ruedas, evitando un aumento en la complejidad del algoritmo al tener que

evaluar cada vez que el ciclo es realizado.

Mediante el uso de la función cons en el valor del comando en DFX, se logró evitar el uso

de las funciones de dos datos, que deben contener un punto dentro de ellas, y así poder

acceder de manera normal a estas.

Se utilizó la función entmake debido a que permite la definición de bloques sin necesidad de

dibujar previamente las entidades que lo componen. Además que se cuenta con la ventaja de

 poder incluir cualquier entidad válida de dibujo, incluyendo atributos de texto, y permite eluso de cons como función aplicada a los comandos DFX.

Por ultimo para generar el color arcoíris, es de bastante utilidad crear una variable que

almacene el número del color en DXF, que podrá ser operado (como en este caso aumentando

en 1), cada vez que el ciclo era realizado cambiando así el color de la línea dibujada.

ANEXO Código implementado.

(DEFUN C:Tarea1 ()

;;;Edgar Hernando Sepulveda Oviedo--------C.C 1.026.567.001--------Codigo 285834.

;;;Variables y lectura de punto inicial.

(SETQ osnap1 (GETVAR "osmode"));;;Codigo guardar en la variable osnap1 el estado del

SNAP.

(SETVAR "osmode" 0);;;Codigo para apagar el SNAP.

(SETQ numeral 1 P2comp 0);;;Variable numeral de guardar el numero de bicicleta dibujada,

P2comp variable que almacena cuantas bicicletas se han dibujado.

(SETQ P2 (GETINT "Cuantas Bicicletas Desea Dibujar: "));;;Lectura del entero desde

consola para el numero de bicicletas a dibujar.

(WHILE (AND (< P2comp P2)(SETQ P1 (GETPOINT "Centro de la Bicicleta:")));;;Ciclo

que lee el centro d ela bicicleta que se desea dibujar y la dibuja.

;;;Variables para las coordenadas, color y demas caracteristicas para el dibujo de la bicicleta.

Page 16: Tarea1 E Sepulveda

7/21/2019 Tarea1 E Sepulveda

http://slidepdf.com/reader/full/tarea1-e-sepulveda 16/21

  (SETQ R 100.0 H 1800.0 N "Rodando por Bogotá en la bicicleta: " K 3000.0 x (car P1)RA1 850.0 RA2 500.0 )

(SETQ y (cadr P1) x1 (+ x 10000.0) y1 (+ y 0.0) xT (+ x 6000.0) yT (+ y 9000.0) Rx1 (car

P1) Rx1mod (+ Rx1 700.0))

(SETQ Ry1 (cadr P1) Rx11 (+ Rx1 10000.0) Ry11 (+ Ry1 0.0) Rpx (+ Rx1 5300.0) Rpy

(cadr P1) Hmod 2200.0 xTmod (+ x 27000.0))

(SETQ INIY (+ Ry1 500.0) FINIY (+ Ry11 500.0) INI2Y (- Ry1 500.0) )

(SETQ lineay (+ INIY 4500.0) lineax (+ Rx1 3500.0) lineay22 (- lineay 4500.0) lineay1 (+

INI2Y 4500.0) lineax1 (+ lineax 2000.0) )

(SETQ lineay2 (- lineay1 4500.0) lineax11 (+ lineax 2000.0) amarillo 2 verde 3 negro 250

azul 5 rojo 1 Arcoiris 1 blanco 9)

(SETQ basex (+ lineax 4000.0) basex1 (+ lineax 5000.0) lineaxmod(+ lineax 500.0))

(SETQ adelantex (- Rx11 500.0) adelantey1 (+ Ry11 0.0) adelantex1 (+ Rx11 500.0) )

(SETQ MANIX (- basex1 500.0) MANIX1 (- basex 0.0) MANIY (+ lineay 2000.0)MANINX (+ basex 500.0) )

(SETQ sillax (+ lineax 500.0) sillay (+ lineay 1000.0) sillax1 (- lineax 500.0) sillax2 (- sillax

500.0) )

(SETQ supx(+ MANIX 300.0) supx1(- MANIX 1500.0) supx2(+ sillax1 1000.0) supx3(-sillax1 1000.0) supy(+ MANIY 300.0) supy1(+ sillay 300.0))

(SETQ basexmod(+ basex 300.0) lineay1mod(- lineay1 300.0))

(SETQ pisox(- x 5000.0) pisoy(- y 3000.0) pisox1(+ pisox 20000.0))

(SETQ pisoy1(+ pisoy 6000.0) pisox2(+ pisox1 1000.0) pisoy2(+ pisoy 6000.0) pisox3(+

 pisox 1000.0) pisoy1mod(- pisoy1 500.0))

(SETQ pisoymod(- y 3500.0) pisox1mod(+ pisox 20500.0) pisox2mod(+ pisox1 1000.0)

 pisox1mod(+ pisox1 500.0))

(SETQ pisonuevo(- pisox2 5000.0) pisonuevo1(+ pisox3 5000.0) pisonuevo2(- pisonuevo

1800.0) pisonuevo3(+ pisox3 3000.0))

(SETQ radioolimpico 1800.0 radioolimpico1 2000.0 circ1x(+ x 10500.0) circ1y(+ y

15000.0) circ2x(+ x 10500.0) circ2y(+ y 15000.0))

Page 17: Tarea1 E Sepulveda

7/21/2019 Tarea1 E Sepulveda

http://slidepdf.com/reader/full/tarea1-e-sepulveda 17/21

  (SETQ circ3x(+ x 1500.0) circ3y(+ y 15000.0) circ4x(+ x 1500.0) circ4y(+ y 15000.0)circ5x(+ x 6000.0) circ5y(+ y 15000.0))

(SETQ circ6x(+ x 6000.0) circ6y(+ y 15000.0) circ7x(+ x 3800.0) circ7y(+ y 13000.0)

circ8x(+ x 3800.0) circ8y(+ y 13000.0))

(SETQ circ9x(+ x 8200.0) circ9y(+ y 13000.0) circ10x(+ x 8200.0) circ10y(+ y 13000.0) )

(command "TEXT" "j" "M" (list xTmod yT) Hmod 0 numeral " ") ;;;Texto que dibuja elnumero de bicicleta dibujada.

(if (>= R 100.0)(command "TEXT" "j" "M" (list xT yT) H 0 N " "));;;texto que dibuja el

titulo de cada bicicleta.

;;;Ciclo para las llantas arcoiris no concentricas.

(WHILE (AND (<= R 5500.0)(>= R 100.0))

(entmake (append (list (cons 0 "CIRCLE")(cons 62 Arcoiris) (cons 10 (list x y)) (cons 40

R))))

(entmake (append (list (cons 0 "CIRCLE")(cons 62 Arcoiris) (cons 10 (list x1 y1)) (cons 40R))))

(SETQ R (+ R 10.0) x (+ x 1.0) y (+ y 2.0) x1 (+ x1 1.0) y1 (+ y1 2.0) Arcoiris (+ Arcoiris

1) ) )

(SETQ numeral(+ numeral 1) P2comp(+ P2comp 1));;;Incremento del numero de bicicleta.

;;;para cada una de las siguientes lineas de codigo para dibujar los circulos se tienen los

siguientes parametros.

;;;comando 0 indica el tipo de objeto que sera dibujado.

;;;comando 62 indica el color con el que sera dibujado el objeto en numero DFX.

;;;comando 10 indica el punto de coordenada del centro donde sera dibujado el circulo.

;;;comando 40 indica el radio con el que sera dibujado el circulo.

;;;Codigo para dibujar los piñones delanteros de la bicicleta.

(entmake (append (list (cons 0 "CIRCLE")(cons 62 negro) (cons 10 (list Rx1 Ry1)) (cons40 RA1))))

Page 18: Tarea1 E Sepulveda

7/21/2019 Tarea1 E Sepulveda

http://slidepdf.com/reader/full/tarea1-e-sepulveda 18/21

  (entmake (append (list (cons 0 "CIRCLE")(cons 62 rojo) (cons 10 (list Rx1 Ry1)) (cons 40RA2))))

;;;Codigo para dibujar los piñones traseros de la bicicleta.

(entmake (append (list (cons 0 "CIRCLE")(cons 62 negro) (cons 10 (list Rx11 Ry11)) (cons40 RA1))))

(entmake (append (list (cons 0 "CIRCLE")(cons 62 amarillo) (cons 10 (list Rx11 Ry11))(cons 40 RA2))))

;;;para cada una de las siguientes lineas de codigo para dibujar las lineas se tienen los

siguientes parametros.

;;;comando 0 indica el tipo de objeto que sera dibujado.

;;;comando 62 indica el color con el que sera dibujado el objeto en numero DFX.

;;;comando 10 indica el punto de inicio donde sera dibujada la linea.

;;;comando 11 indica el punto final hasta donde sera dibujada la linea.

;;;Codigo para dibujar el marco de la bicicleta.

(entmake (append (list (cons 0 "CIRCLE")(cons 62 blanco) (cons 10 (list Rpx Rpy)) (cons40 RA1))))

(entmake (append (list (cons 0 "CIRCLE")(cons 62 rojo) (cons 10 (list Rpx Rpy)) (cons 40RA2))))

(entmake (append (list (cons 0 "line")(cons 62 amarillo) (cons 10 (list Rx1mod INIY)) (cons

11 (list Rpx FINIY)))))

(entmake (append (list (cons 0 "line")(cons 62 amarillo) (cons 10 (list Rx1 INI2Y)) (cons

11 (list Rpx INI2Y)))))

(entmake (append (list (cons 0 "line")(cons 62 amarillo) (cons 10 (list Rx1 INIY)) (cons 11

(list lineax lineay)))))

(entmake (append (list (cons 0 "line")(cons 62 amarillo) (cons 10 (list Rx1mod INIY)) (cons

11 (list lineax lineay1)))))

(entmake (append (list (cons 0 "line")(cons 62 amarillo) (cons 10 (list lineaxmod lineay1))

(cons 11 (list lineax1 lineay22)))))

Page 19: Tarea1 E Sepulveda

7/21/2019 Tarea1 E Sepulveda

http://slidepdf.com/reader/full/tarea1-e-sepulveda 19/21

  (entmake (append (list (cons 0 "line")(cons 62 amarillo) (cons 10 (list lineax lineay1)) (cons11 (list lineax11 lineay2)))))

;;;Codigo para dibujar la segunda parte del marco de la bicicleta.

(entmake (append (list (cons 0 "line")(cons 62 amarillo) (cons 10 (list lineax lineay)) (cons11 (list basex1 lineay)))))

(entmake (append (list (cons 0 "line")(cons 62 amarillo) (cons 10 (list lineaxmod lineay1))(cons 11 (list basex lineay1)))))

(entmake (append (list (cons 0 "line")(cons 62 amarillo) (cons 10 (list basexmod

lineay1mod)) (cons 11 (list lineax1 lineay2)))))

(entmake (append (list (cons 0 "line")(cons 62 amarillo) (cons 10 (list basex lineay1)) (cons

11 (list lineax11 lineay22)))))

(entmake (append (list (cons 0 "line")(cons 62 amarillo) (cons 10 (list basex1 lineay)) (cons

11 (list adelantex1 adelantey1)))))

(entmake (append (list (cons 0 "line")(cons 62 amarillo) (cons 10 (list basexmod

lineay1mod)) (cons 11 (list adelantex adelantey1)))))

;;;Codigo para dibujar sillin y manubrio de la bicicleta.

(entmake (append (list (cons 0 "line")(cons 62 verde) (cons 10 (list basex1 lineay)) (cons11 (list MANIX MANIY)))))

(entmake (append (list (cons 0 "line")(cons 62 verde) (cons 10 (list MANINX lineay)) (cons

11 (list MANIX1 MANIY)))))

(entmake (append (list (cons 0 "line")(cons 62 verde) (cons 10 (list lineax lineay)) (cons 11

(list sillax1 sillay)))))

(entmake (append (list (cons 0 "line")(cons 62 verde) (cons 10 (list sillax lineay)) (cons 11

(list sillax2 sillay)))))

(entmake (append (list (cons 0 "line")(cons 62 verde) (cons 10 (list supx MANIY)) (cons

11 (list supx1 MANIY)))))

(entmake (append (list (cons 0 "line")(cons 62 verde) (cons 10 (list supx supy)) (cons 11

(list supx1 supy)))))

(entmake (append (list (cons 0 "line")(cons 62 verde) (cons 10 (list supx2 sillay)) (cons 11

(list supx3 sillay)))))

Page 20: Tarea1 E Sepulveda

7/21/2019 Tarea1 E Sepulveda

http://slidepdf.com/reader/full/tarea1-e-sepulveda 20/21

  (entmake (append (list (cons 0 "line")(cons 62 verde) (cons 10 (list supx2 supy1)) (cons 11(list supx3 supy1)))))

(entmake (append (list (cons 0 "line")(cons 62 verde) (cons 10 (list supx2 sillay)) (cons 11

(list supx2 supy1)))))

(entmake (append (list (cons 0 "line")(cons 62 verde) (cons 10 (list supx3 sillay)) (cons 11

(list supx3 supy1)))))

(entmake (append (list (cons 0 "line")(cons 62 verde) (cons 10 (list supx supy)) (cons 11

(list supx MANIY)))))

(entmake (append (list (cons 0 "line")(cons 62 verde) (cons 10 (list supx1 supy)) (cons 11

(list supx1 MANIY)))))

;;;Codigo para dibujar el suelo.

(entmake (append (list (cons 0 "line")(cons 62 blanco) (cons 10 (list pisox pisoy)) (cons 11

(list pisox1 pisoy)))))

(entmake (append (list (cons 0 "line")(cons 62 blanco) (cons 10 (list pisox1 pisoy)) (cons

11 (list pisox2 pisoy1)))))

(entmake (append (list (cons 0 "line")(cons 62 blanco) (cons 10 (list pisox pisoy)) (cons 11

(list pisox3 pisoy2)))))

(entmake (append (list (cons 0 "line")(cons 62 blanco) (cons 10 (list pisox pisoymod)) (cons

11 (list pisox1 pisoymod)))))

(entmake (append (list (cons 0 "line")(cons 62 blanco) (cons 10 (list pisox pisoymod)) (cons

11 (list pisox pisoy)))))

(entmake (append (list (cons 0 "line")(cons 62 blanco) (cons 10 (list pisox1 pisoy)) (cons

11 (list pisox1 pisoymod)))))

(entmake (append (list (cons 0 "line")(cons 62 blanco) (cons 10 (list pisox1 pisoymod))

(cons 11 (list pisox2mod pisoy1mod)))))

(entmake (append (list (cons 0 "line")(cons 62 blanco) (cons 10 (list pisox2mod pisoy1mod)) (cons 11 (list pisox2 pisoy1)))))

(entmake (append (list (cons 0 "line")(cons 62 blanco) (cons 10 (list pisox2 pisoy1)) (cons

11 (list pisonuevo pisoy2)))))

(entmake (append (list (cons 0 "line")(cons 62 blanco) (cons 10 (list pisonuevo2 pisoy1))

(cons 11 (list pisonuevo1 pisoy2)))))

Page 21: Tarea1 E Sepulveda

7/21/2019 Tarea1 E Sepulveda

http://slidepdf.com/reader/full/tarea1-e-sepulveda 21/21

  (entmake (append (list (cons 0 "line")(cons 62 blanco) (cons 10 (list pisonuevo3 pisoy1))(cons 11 (list pisox3 pisoy2)))))

;;;Codigo para dibujar el simbolo olimpico.

(entmake (append (list (cons 0 "CIRCLE")(cons 62 azul) (cons 10 (list circ1x circ1y)) (cons40 radioolimpico))))

(entmake (append (list (cons 0 "CIRCLE")(cons 62 azul) (cons 10 (list circ2x circ2y)) (cons40 radioolimpico1))))

(entmake (append (list (cons 0 "CIRCLE")(cons 62 amarillo) (cons 10 (list circ3x circ3y))

(cons 40 radioolimpico))))

(entmake (append (list (cons 0 "CIRCLE")(cons 62 amarillo) (cons 10 (list circ4x circ4y))

(cons 40 radioolimpico1))))

(entmake (append (list (cons 0 "CIRCLE")(cons 62 negro) (cons 10 (list circ5x circ5y))

(cons 40 radioolimpico))))

(entmake (append (list (cons 0 "CIRCLE")(cons 62 negro) (cons 10 (list circ6x circ6y))

(cons 40 radioolimpico1))))

(entmake (append (list (cons 0 "CIRCLE")(cons 62 verde) (cons 10 (list circ7x circ7y))

(cons 40 radioolimpico))))

(entmake (append (list (cons 0 "CIRCLE")(cons 62 verde) (cons 10 (list circ8x circ8y))

(cons 40 radioolimpico1))))

(entmake (append (list (cons 0 "CIRCLE")(cons 62 rojo) (cons 10 (list circ9x circ9y)) (cons

40 radioolimpico))))

(entmake (append (list (cons 0 "CIRCLE")(cons 62 rojo) (cons 10 (list circ10x circ10y))

(cons 40 radioolimpico1))))

)

(SETVAR "osmode" osnap1);;;Codigo que retorna el estado del SNAP al su estado original.

)