top of page

EXERCÍCIO 9 - Macro de configuração das margens de uma folha

  • cat-gaspar
  • 5 de abr. de 2016
  • 3 min de leitura

5 DE ABRIL - EXERCÍCIO 9: Criação de uma macro para dimensionar diversas margens em folhas com recurso ao NotePad++ e AutoCAD.

PASSO 1 - No NOTEPAD++ escrever o seguinte:

(defun hoja (x y) (command "rectangle" (list 0 0) (list x y)) )

Guardar com o nome de "hoja.lsp" em formato LISP.

PASSO 2 - No AUTOCAD mudar para o Paperspace. Fazer o APPLOAD do autolisp "hoja.lsp successfully loaded" Introduzir o comando (hoja 0.420 0.297) Modificar a página PAGESETUP para um A3 horizontal

PASSO 3 - No NOTEPAD++ modificar o texto anterior para o seguinte: (defun hoja (x y) (command "rectangle" (list 0 0) (list x y)) (command "rectangle" (list 0.005 0.005) (list (- x 0.005) (- y 0.005))) )

Guardar por cima do outro ficheiro.

PASSO 4 - No AUTOCAD fazer o APPLOAD de novo no autolisp guardado anteriormente. "hoja.lsp successfully loaded."

PASSO 5 - PARA FAZER A MARGEM DA FOLHA A3 ao BAIXO - introduzir o comando seguinte:

(hoja 0.420 0.297) Deverá aparecer as margens

PASSO 6 - PARA FAZER A MARGEM DA FOLHA A2 ao BAIXO - introduzir o comando seguinte: (hoja 0.594 0.420)

Command: (setq a (sqrt (/ 1 (sqrt 2)))) 0.840896

Command: (setq b (* a (sqrt 2))) 1.18921

PASSO 7 - No NOTEPAD++ vamos determinar a macro que desenha as folhas da série A através da indicação das áreas de cada folha, na orientação da folha - neste caso ao BAIXO - e arrumadas em caixas com uma margem de 5mm. Fazemos então uma nova macro com o seguinte: (defun c:hojas () (setq area (getreal "qual a área da folha?")) (calculo area) (desenhar a b) ) (defun calculo (area) (setq b (sqrt (/ area (sqrt 2)))) (setq a (* b (sqrt 2))) ) (defun desenhar (a b) (command "rectangle" (list 0 0) (list a b)) (command "rectangle" (list 0.005 0.005) (list (- a 0.005) (- b 0.005))) ) Guardamos com o nome "macro folhas serie A.lsp" em formato LISP.

PASSO 8 - No AUTOCAD fazemos o APPLOAD da macro. "macro folhas serie A.lsp successfully loaded."

PASSO 9 - Introduzir o comando HOJAS. Verificamos que a macro precisa de ser completada pois após introduzirmos o comando HOJAS verificamos a seguinte mensagem "HOJAS qual a área da folha?1 rectangle"

PASSO 10 - Voltamos ao NOTEPAD++ e mudamos o texto para o seguinte, com o acrescento das margens A0 / A1 / A2 / A3 e A4:

(defun c:hojas () (setq spontos (getvar "osmode")) (setvar "osmode" 0) (setq nome (getstring "qual o nome da folha?")) (escolha nome) (calculo area) (desenhar a b) (setvar "osmode" spontos) ) (defun calculo (area) (setq b (sqrt (/ area (sqrt 2)))) (setq a (* b (sqrt 2))) ) (defun desenhar (a b) (command "rectangle" (list 0 0) (list a b)) (command "rectangle" (list 0.005 0.005) (list (- a 0.005) (- b 0.005))) ) (defun escolha (nome) (cond ((= nome "a0")(setq area 1)) ((= nome "a1")(setq area (/ 1 2.0))) ((= nome "a2")(setq area (/ 1 4.0))) ((= nome "a3")(setq area (/ 1 8.0))) ((= nome "a4")(setq area (/ 1 16.0))) ) )

Guardamos de novo.

PASSO 11 - No AUTOCAD fazemos APPLOAD "macro folhas serie A.lsp successfully loaded." e introduzimos o comando HOJAS, de seguida o comando pergunta "qual o nome da folha?" ao que introduzimos o tamanho da folha que queremos e ele introduz o rectângulo com as dimensões das margens correspondentes ao A0, A1, A2, A3 e A4.

- FOLHA A0:

HOJAS

qual o nome da folha?

a0 rectangle

- FOLHA A1: HOJAS

qual o nome da folha?

a1 rectangle

- FOLHA A2:

HOJAS

qual o nome da folha?

a2 rectangle

- FOLHA A3: HOJAS

qual o nome da folha?

a3 rectangle

- FOLHA A4: HOJAS

qual o nome da folha?

a4 rectangle

*


 
 
 

Comments


© 2026 by Catarina Calçad Gaspar.

bottom of page