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;





. 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 )

Sem comentários:

Enviar um comentário