sábado, 30 de novembro de 2013

Aula 22 | 30.11.13

Após criar programas/comandos, é fundamental confirmar se estes funcionam correctamente, tendo em conta as bases do sistema cartesiano. Assim, os pontos utilizados para a devida execução das mesmas podem ter duas ou três coordenadas, conforme estejamos a trabalhar a duas ou três dimensões, respectivamente.

A criação de uma macro em notepad++ obedece a determinadas expressões:


_ ''Defun''/''Define Function'': Define a função de um comando
Ex: (defun c:sp1 ()
_ ''Getpoint'': Requer ao utilizador a definição de um ponto à escolha por parte do criador
_ ''Setq'': Retém um valor
Ex: setq ponto (getpoint ''qual o ponto de inserção'')
_ ''Command'': Chama um comando
Ex: ''(command ''line''...)


No Notepad++ é apresentada uma lista de vários elementos (a, b e c). Ao longo da criação da macro é necessário recorrer a esses mesmos elementos. Para isso utilizamos as algumas expressões:


_ car: selecção apenas do primeiro elemento da lista (a)
_ cdr: selecção de todos os elementos, à excepção do primeiro (b, c)

Explicação das estruturas e expressões constituintes das duas macros criadas.

Macro 1 | 2 Quadrados


macro sp1.lsp

Primeira linha
Definição do nome da função

Segunda linha
Introdução de um ponto à escolha

Terceira linha
_ Atribuição de coordenadas ao segundo ponto, fazendo com que através do comando '' (+ 1 (car ponto))'' o valor do primeiro ponto esteja à distância de uma recta paralela ao plano X
_ As coordenadas ('' (cadr ponto)))'' definem o valor em Y do ponto, ou seja, a cota do segundo e primeiro pontos são a mesma

Quarta linha | Coordenadas do terceiro ponto
_ O fastamento é igual ao do segundo ponto, logo a indicação da coordenada será ''(car ponto2)
_ A cota é um valor a mais que a cota do segundo ponto, daí que a expressão seja a soma de uma unidade > ''(+ 1 (cadr ponto2)''

Quinta linha | Coordenadas do quarto ponto
_ O afastamento é igual ao do primeiro ponto, daí que a expressão seja ''(car ponto)''
_ A cota é igual à do terceiro ponto, daí que a expressão seja ''(cadr ponto3)''

Sétima linha
Indica o comando que permite executar o que foi definido anteriormente

Oitava linha
Conclusão da função > '')''

Macro 2 | Rectângulo + seta

macro teste.lsp

A informação da sexta linha aparece depois do sinal '';'', uma vez que queremos guardar esta informação da macro anterior mas não a queremos utilizar nesta.

Sem comentários:

Enviar um comentário