terça-feira, 15 de novembro de 2016

Continuação do Exercício 5 - 15/11/2016

Xadrez - 3D Autocad e NotePad ++


Apresentação do enúnciado 


Xadrez

Passo 1: LISP disponível no site do docente, aleatório, adicionar no Lisp "xadrez" criado na aula anterior 
Passo 2: "APPLOAD" , LISP Xadrez 
Passo 3: "SHADEMODE" (enter) 
Passo 4: Comando "XAD" , para repetir a peça
Passo 5: Modo automatizado 

1     (defun c:xad ( / lista)
2     (command "ucs" (getpoint " Indique o ponto de inserção da peça. ") "")
3       (setq nu 0)
4    (command "circle" "0,0,0"  (valor 10))
5     (guardar)
6 (command "circle" "0,0,20" (valor 8))
7   (guardar)
8   (command "circle" "0,0,25" (valor 5))
9    (guardar)
10   (command "circle" "0,0,30" (valor 5))
11    (guardar)
12 (command "circle" "0,0,40" (valor 10))
13     (guardar)
14    (solido)
15
16 (command "ucs" "")
17 )
18 (defun solido ()
19 (command "loft")
20    (foreach p lista (command p))
21    (command "" "")
22     )
23    (defun guardar()
24 (setq lista (append lista (list (set (read (strcat "entidade" (rtos nu))) (entlast)))))
25 )
26 (defun valor (num)
27     (* num (rnd))
28   )
29    (defun rnd (/ modulus multiplier increment random)
30  (if (not seed)
31   (setq seed (getvar "DATE"))
32      )
33  (setq modulus    65536
34       multiplier 25173
35        increment  13849
36        seed  (rem (+ (* multiplier seed) increment) modulus)
37        random     (/ seed modulus)
38  )

39  )

Passo 6: Para fazer o CAVALO acrescenta-se um valor a y nos pontos da circunferência
Passo 7: "VIEWPORT"  para ver todas as vistas









Revisão POLIGNOS


Passo 1: "-VPOINT " 1.-1,1
Passo 2: "POLYGON" 4 lados (0,0,0), circunescrito raio 7
Passo 3: "POLYGON" 4 lados (0,0,10), circunescrito raio 5 
Passo 4: "POLYGON" 4 lados (0,0,0), circunescrito raio 14 
Passo 5: "LOFT", seleciona-se os polignos por ordem 
Passo 6: No NotePad ++

1  (defun c:xad ( / lista)
2  (command "ucs" (getpoint " Indique o ponto de inserção da peça. ") "")
3 (setq nu 0)
4 (command "polygon" 4 "0,0,0" "i" (valor 7))
5    (guardar)
6 (command "polygon" 4 "0,0,10" "i" (valor 5))
7   (guardar)
8    (command "polygon" 4 "0,0,40" "i" (valor 6))
9   (guardar)
10     (solido)
11
12 (command "ucs" "")
13 )
14 (defun solido ()
15 (command "loft")
16    (foreach p lista (command p))
 17   (command "" "")
18    )
19   (defun guardar()
20 (setq lista (append lista (list (set (read (strcat "entidade" (rtos nu))) (entlast)))))
21 )
22 (defun valor (num)
23   (* num (rnd))
24    )
25   (defun rnd (/ modulus multiplier increment random)
26     (if (not seed)
27   (setq seed (getvar "DATE"))
28     )
29  (setq modulus    65536
30        multiplier 25173
31       increment  13849
32        seed  (rem (+ (* multiplier seed) increment) modulus)
33        random     (/ seed modulus)
34   )
35      )

Passo 7: Para fazer uma rotação

1 (defun c:xad ( / lista)
2 (command "ucs" (getpoint " Indique o ponto de inserção da peça. ") "")
3 (setq nu 0)
4 (command "polygon" 4 "0,0,0" "i" (valor 7))
5  (guardar)
6 (command "polygon" 4 "0,0,10" "i" (valor 5))
7 (command "rotate" "last" "" "0,0,0" (valor 180))
8   (guardar)
9    (command "polygon" 4 "0,0,40" "i" (valor 6))
10  (guardar)
11  (solido)
12
13 (command "ucs" "")
14 )
15 (defun solido ()
16 (command "loft")
17   (foreach p lista (command p))
18   (command "" "")
19  )
20   (defun guardar()
21 (setq lista (append lista (list (set (read (strcat "entidade" (rtos nu))) (entlast)))))
22 )
23 (defun valor (num)
24   (* num (rnd))
25     )
26    (defun rnd (/ modulus multiplier increment random)
27  (if (not seed)
28    (setq seed (getvar "DATE"))
29     )
30 (setq modulus    65536
31       multiplier 25173
32        increment  13849
33        seed  (rem (+ (* multiplier seed) increment) modulus)
34        random     (/ seed modulus)
35    )
36  )




Sem comentários:

Enviar um comentário