CONTINUAÇÃO DA CONSTRUÇÃO DE PEÇAS DE XADREZ
- introdução à utilização de linguagem de programação auto.lisp
Nesta aula foi continuado o exercício da anterior, com a utilização do mesmo ficheiro e dos ficheiros fornecidos pelo docente, na sua página pessoal de ensino.
os ficheiros são: xad_inicio.lsp, sel_auto.lsp e aleatorio.lsp
~~
Nesta aula foram usados os programas AutoCAD e Sublime Text;
Partindo do ficheiro da aula passada, adicionar ao mesmo o último ficheiro .lsp fornecido pelo docente, aleatório.lsp;
Para iniciar o exercício da aula, criou-se um novo ficheiro acadiso;
_command: APPLOAD (enter), seleccionando o ficheiro .lsp da aula anterior, devidamente actualizado e guardado;
_command: SHADEMODE (enter) X (enter);
_command: XAD (enter), de modo a repetir a peça, iniciada na aula anterior;
- a partir do ficheiro em Sublime Text, obtemos:
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 )
_para se tentar obter a forma do cavalo (peça de xadrez) é acrescentado um valor de y nos pontos das circunferências;
No ficheiro AutoCAD:
_command: VIEWPORT (enter), de forma a se verem todas as vistas possíveis, seleccionando assim a forma de visualização de 4 JANELAS;
Com a continuação da aula, foram-se fazendo alterações ao ficheiro .lsp, de modo a obtermos novas formas dos polígonos, a partir do Sublime Text;
_Ainda no ficheiro AutoCAD:
_command: -VPOINT (enter) 1,-1,1 (enter);
_command: POLYGON (enter) 4 lados (enter) 0,0,0 (enter) circunscrito num raio=14 (enter);
_command: POLYGON (enter) 4 lados (enter) 0,0,10 (enter) circunscrito num raio=5 (enter);
_command: POLYGON (enter) 4 lados (enter) 0,0,40 (enter) circunscrito num raio=7 (enter);
_command: LOFT (enter) seguindo-se da selecção dos polígonos por ordem ascendente (enter);
No ficheiro de Sublime Text:
1 (defun c:xad ( / lista)
2 (command "ucs" (getpoint " Indique o ponto de interseçã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 "ucs" ""()
15 (command "loft")
16 (foreach p lista (command p))
17 (command "")
18 )
19 (defun guardar()
20 (setq lista (append lista (list (set (strcat "entidade" (rtos nu))) entlast)))))
21 )
22 (defun valor (num))
23 (* num (rnd))
24 )
25 (refun rnd (/ modulus multiplier increment random)
26 (if (not seed)
27 (setq seed (getvar "DATE"))
28 )
29 (setq modulus 65536
30 multiplier 25 173
31 increment 13849
32 seed (rem (+ multiplier seed) increment) modulus)
33 random (/ seed modulus)
34 )
35 )
para fazer uma rotação:
1 (defun c:xad ( / lista)
2 (command "ucs" (getpoint " Indique o ponto de interseçã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 "ucs" ""()
16 (command "loft")
17 (foreach p lista (command p))
18 (command "")
19 )
20 (defun guardar()
21 (setq lista (append lista (list (set (strcat "entidade" (rtos nu))) entlast)))))
22 )
23 (defun valor (num))
24 (* num (rnd))
25 )
26 (refun rnd (/ modulus multiplier increment random)
27 (if (not seed)
28 (setq seed (getvar "DATE"))
29 )
30 (setq modulus 65536
31 multiplier 25 173
32 increment 13849
33 seed (rem (+ multiplier seed) increment) modulus)
34 random (/ seed modulus)
35 )
36 )
domingo, 20 de novembro de 2016
8 NOV // aula 7
CONSTRUÇÃO DO SÍMBOLO DE PONTOS CARDEAIS ; CONTINUAÇÃO DA CONSTRUÇÃO DE PEÇAS DE XADREZ
— introdução á utilização de linguagem de programação auto.lisp
nesta aula foram usados os ficheiros LISP, disponíveis na página do docente; foi necessária a colocação dos mesmos numa pasta, para melhor orientação do exercício.
os ficheiros .lsp são : xad_inicio.lsp, sel_auto.lsp e aleatório.lsp
~~
_nesta aula foram usados os programas AutoCAD e Sublime Text;
_SÍMBOLO PONTOS CARDEAIS
Ao iniciar o exercício, e após se terem guardado os ficheiros .lsp a usar em aula, criou-se um novo ficheiro acadiso;
_Neste exercício pretende-se desenhar o símbolo anterior, com a identificação de 2 pontos, o primeiro que indica o centro do símbolo, e o segundo, a direcção Norte.
_command: CIRCLE (enter) 0,0 (enter) 1,0 (enter);
_command: ZOOM (enter) EXTEND (enter), para aproximação ao circulo desenhado;
_command: POLYLINE (enter) 0,0 (enter) W (enter) 0.1 (enter) 0.1 (enter), este último para indicar a espessura da linha Norte, seguido de indicação do ponto onde se encontra, 0,1 (enter);
Abre-se um novo ficheiro no programa Sublime Text; guardar a informação colocada em AutoCAD, e guardar o ficheiro em .lsp
1 (defun c:snorte (/pt1 pt2)
2 (setq pt1 (getpoint "qual o centro do simbolo?"))
3 (setq pt2 (getpoint "qual a direcao norte?"))
4 (command "circle" pt1 pt2)
5 (command "pline" pt1 "w" (* 0.1 (distance pt1 pt2))
(* 0.1 (distance pt1 pt2) pt2"" )
)
De volta ao ficheiro de AutoCAD:
_command: ERASE (enter) ALL (enter);
_desligar o OSNAP;
_command: APPLOAD (enter) ao abrir a janela de selecção, seleccionar o ficheiro .lsp anteriormente criado, aceitar o LOAD, de seguida fechar a janela.
Com o ficheiro .lsp inserido no ficheiro:
_command: SNORTE (enter) 0,0 (enter) 0,1 (enter), dando a indicação dos dois únicos pontos necessários á construção básica do símbolo de coordenadas.
—variações de introdução do símbolo de coordenadas, a partir da sua programação em Sublime Text:
sem desligar o OSNAP (no programa AutoCAD)
1 (defun c:snorte (/ pt1 pt2)
2 (setq pontos (getvar "osmode"))
3 (setvar "osmode" 0 )
4 (setq pt1 (getpoint "qual o centro do simbolo?"))
5 (setq pt2 (getpoint "qual a diracao norte?"))
6 (command "circle" pt1 pt2)
7 (command "pline" pt1 "w" (* 0.1 (distance pt1 pt2))
8 (* 0.1 (distance pt1 pt2)) pt2 "" )
9 (setvar "osmode" 0 )
10 )
desenhar as duas linhas ortogonais usando coordenadas polares (no programa AutoCAD)
1 (defun c:snorte (/ pt1 pt2)
2 (setq pontos (getvar "osmode"))
3 (setvar "osmode" 0)
4 (setq pt1 (getpoint "qual o centro do simbolo?" ))
5 (setq pt2 (getpoint "qual a direcao norte?" ))
6 (setq pt3 (polar pt1 (+ (/ pi 2) (angle pt1 pt2 )) (* 1.2 (distance pt1 pt2))) )
7 (setq pt4 (polar pt1 (angle pt3 pt1) (* 1.2 (distance pt1 pt2))))
8 (command "circle" pt1 pt2)
9 (command "pline" pt1 "w" (* 0.1 (distance pt1 pt2))
10 (* 0.1 (distance pt1 pt2)) pt2 "" )
11 (command "line" pt3 pt4 "")
12 (command "copy" "l" "" pt1 pt1 "")
13 (command "rotate" "l" "" pt1 90)
14 (setvar "osmode" pontos)
15 )
_PEÇAS DE XADREZ (CONT.)
Após o download dos ficheiros .lsp, da página do docente, abrir um novo ficheiro de Sublime Text;
No novo ficheiro, copiar o conteúdo do xad_inicio.lsp
No mesmo ficheiro AutoCAD;
_command: XAD (enter), que resulta na representação de três círculos;
_command: -VP (enter) e define-se o ponto de vista tridimensional que se pretende; no meu caso, foi 1,-1,1 (enter);
_command: LOFT (enter) e fazer a selecção de forma ascendentes dos três círculos;
_command: SHADEMODE (enter) X (enter).
No ficheiro de Sublime Text procedem-se ás alterações de experiência das formas possíveis.
1 (defun c:xad ( / lista)
2 (command "ucs" (getpoint "Indique o ponto de interceção da peça.") "")
3 (setq nu 0)
4 (command "circle" "0,0,0" 10)
5 (guardar)
6 (command "circle" "0,0,20" 1)
7 (guardar)
8 (command "circle" "0,0,30" 5)
9 (guardar)
10 (command "circle" "0,0,50" 10)
11 (guardar)
12 (solido)
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 )
— introdução á utilização de linguagem de programação auto.lisp
nesta aula foram usados os ficheiros LISP, disponíveis na página do docente; foi necessária a colocação dos mesmos numa pasta, para melhor orientação do exercício.
os ficheiros .lsp são : xad_inicio.lsp, sel_auto.lsp e aleatório.lsp
~~
_nesta aula foram usados os programas AutoCAD e Sublime Text;
_SÍMBOLO PONTOS CARDEAIS
Ao iniciar o exercício, e após se terem guardado os ficheiros .lsp a usar em aula, criou-se um novo ficheiro acadiso;
. símbolo dos pontos cardeais a representar + imagem
_Neste exercício pretende-se desenhar o símbolo anterior, com a identificação de 2 pontos, o primeiro que indica o centro do símbolo, e o segundo, a direcção Norte.
_command: CIRCLE (enter) 0,0 (enter) 1,0 (enter);
_command: ZOOM (enter) EXTEND (enter), para aproximação ao circulo desenhado;
_command: POLYLINE (enter) 0,0 (enter) W (enter) 0.1 (enter) 0.1 (enter), este último para indicar a espessura da linha Norte, seguido de indicação do ponto onde se encontra, 0,1 (enter);
Abre-se um novo ficheiro no programa Sublime Text; guardar a informação colocada em AutoCAD, e guardar o ficheiro em .lsp
1 (defun c:snorte (/pt1 pt2)
2 (setq pt1 (getpoint "qual o centro do simbolo?"))
3 (setq pt2 (getpoint "qual a direcao norte?"))
4 (command "circle" pt1 pt2)
5 (command "pline" pt1 "w" (* 0.1 (distance pt1 pt2))
(* 0.1 (distance pt1 pt2) pt2"" )
)
De volta ao ficheiro de AutoCAD:
_command: ERASE (enter) ALL (enter);
_desligar o OSNAP;
_command: APPLOAD (enter) ao abrir a janela de selecção, seleccionar o ficheiro .lsp anteriormente criado, aceitar o LOAD, de seguida fechar a janela.
Com o ficheiro .lsp inserido no ficheiro:
_command: SNORTE (enter) 0,0 (enter) 0,1 (enter), dando a indicação dos dois únicos pontos necessários á construção básica do símbolo de coordenadas.
—variações de introdução do símbolo de coordenadas, a partir da sua programação em Sublime Text:
sem desligar o OSNAP (no programa AutoCAD)
1 (defun c:snorte (/ pt1 pt2)
2 (setq pontos (getvar "osmode"))
3 (setvar "osmode" 0 )
4 (setq pt1 (getpoint "qual o centro do simbolo?"))
5 (setq pt2 (getpoint "qual a diracao norte?"))
6 (command "circle" pt1 pt2)
7 (command "pline" pt1 "w" (* 0.1 (distance pt1 pt2))
8 (* 0.1 (distance pt1 pt2)) pt2 "" )
9 (setvar "osmode" 0 )
10 )
desenhar as duas linhas ortogonais usando coordenadas polares (no programa AutoCAD)
1 (defun c:snorte (/ pt1 pt2)
2 (setq pontos (getvar "osmode"))
3 (setvar "osmode" 0)
4 (setq pt1 (getpoint "qual o centro do simbolo?" ))
5 (setq pt2 (getpoint "qual a direcao norte?" ))
6 (setq pt3 (polar pt1 (+ (/ pi 2) (angle pt1 pt2 )) (* 1.2 (distance pt1 pt2))) )
7 (setq pt4 (polar pt1 (angle pt3 pt1) (* 1.2 (distance pt1 pt2))))
8 (command "circle" pt1 pt2)
9 (command "pline" pt1 "w" (* 0.1 (distance pt1 pt2))
10 (* 0.1 (distance pt1 pt2)) pt2 "" )
11 (command "line" pt3 pt4 "")
12 (command "copy" "l" "" pt1 pt1 "")
13 (command "rotate" "l" "" pt1 90)
14 (setvar "osmode" pontos)
15 )
_PEÇAS DE XADREZ (CONT.)
Após o download dos ficheiros .lsp, da página do docente, abrir um novo ficheiro de Sublime Text;
No novo ficheiro, copiar o conteúdo do xad_inicio.lsp
No mesmo ficheiro AutoCAD;
_command: XAD (enter), que resulta na representação de três círculos;
_command: -VP (enter) e define-se o ponto de vista tridimensional que se pretende; no meu caso, foi 1,-1,1 (enter);
_command: LOFT (enter) e fazer a selecção de forma ascendentes dos três círculos;
_command: SHADEMODE (enter) X (enter).
No ficheiro de Sublime Text procedem-se ás alterações de experiência das formas possíveis.
1 (defun c:xad ( / lista)
2 (command "ucs" (getpoint "Indique o ponto de interceção da peça.") "")
3 (setq nu 0)
4 (command "circle" "0,0,0" 10)
5 (guardar)
6 (command "circle" "0,0,20" 1)
7 (guardar)
8 (command "circle" "0,0,30" 5)
9 (guardar)
10 (command "circle" "0,0,50" 10)
11 (guardar)
12 (solido)
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 )
Subscrever:
Mensagens (Atom)