APONTAMENTOS 1 - AULA 12

Exercicio 1 - CRIAR UMA MACRO PARA AUTOCAD

1 - Introduzir os seguintes comandos: Se somarmos números inteiros:
(+ 10 40) enter
Obtém-se o resultado: 50
Se subtrairmos números inteiros:
(- 10 40) enter
Obtém-se o resultado: 30
Se dividirmos por números inteiros, o resultado será sempre 0
(/ 10 40) enter
Obtém-se o resultado: 0

Se dividirmos por números reais:
(/ 10 40.0)
Obtém-se o resultado: 0.25
Se multiplicarmos por números reais:
(* 10 40.0)
Obtém-se o resultado: 400,0
2 - Para verificarmos se as expressões são iguais:
(= 1 1) = t(true)
(= 1 2) = Nil (falso)

(+ a b) = error; bad argumente type: number: Nil
(= t t) = T(true)
(= v t) = Nil (falso)
4 - Para atribuir valores à expressão:
(setq a 10)
(setq b 40)
(+ a b) = 50
(setq a 100)
(setq b 40)
(* a b) = 4000
6 - Criar uma macro de 2 portas
RECTANG
Inserir origem: 0,0
Especificar 2 Ponto: 5,5
7 - Zoom: Extents
8 - Offset: 0,35
Selecionar o 1 quadrado
Inserir o 2 quadrado para dentro
9 - XLINE: vertical
Ponto de origem: 0,0
10 - Para criar 2 vãos:
Offset: 0,45
Selecionar a linha vertical que se encontra no ponto de origem(0,0)
Inserir a linha para dentro do quadrado
11 - Offset: 0,90
Selecionar a linha vertical anterior
Inserir para dentro do quadrado
12 - TRIM
Selecionar as linhas que intercetam as linhas verticais
13 - Apagar as linhas verticais
14 - Criar a macro Porta 100:
No Note pad++ escrever o seguinte texto para descrição do comando que vamos criar:
1 ;criar um comando para desenhar portas
2 ;nesta representação vai desenhar uma linha e um arco
3 ;o utilizador necessita de introduzir 2 pontos
(defun c:porta100 () (o c: significa que vamos inserir um novo comando para o Autocad)
) 15 - Inserir uma linha no autocad:
Command: (setq p1 (list 0 10))
(0 10)
Command: (setq p2 (list 10 10))
(10 10)
Command: !p1
(0 10)
Command: !p2
(10 10)
16 - Introduzir no Note Pad ++
(command "line" p1 p2 "")
17 - Introduzir no AutoCad
(command "line" p1 p2 "")
Enter
É inserida uma linha no topo
18 - Copiar a função do note pad++
(defun C:porta100 ()
(setq p1 (getpoint "qual o ponto da dobradiça?"))
(setq p2 (getpoint "qual o ponto do batente?"))
(command "line" p1 p2 "")
) 19 - Colar no Autocad e dar enter
Chamar o novo comando Portas 100 enter
qual o ponto da dobradiça: inserir o 1 ponto no 1 vão
qual o ponto do batente: inserir o 2 ponto do vão
20 - Para fazer uma rotação de 90 graus à porta:
Copiar novamente a função do note pad++
(defun C:porta100 ()
(setq p1 (getpoint "qual o ponto da dobradiça?"))
(setq p2 (getpoint "qual o ponto do batente?"))
(command "line" p1 p2 "")
(command "rotate" "last" "" p1 90) )
21 - Introduzir novamente a função no AutoCad
(defun C:porta100 ()
(setq p1 (getpoint "qual o ponto da dobradiça?"))
(setq p2 (getpoint "qual o ponto do batente?"))
(command "line" p1 p2 "")
(command "rotate" "last" "" p1 90))
22 - Chamar o novo comando Portas 100 enter
qual o ponto da dobradiça: inserir o 1 ponto no 1 vão
qual o ponto do batente: inserir o 2 ponto do vão
Enter
23 - Retornar ao AutoCad
ARC
Especificar o centro do arco: c
Inserir o 1 ponto do arco: !p1
Inserir o 2 ponto do arco : !p2
Especificar o final do arco: a
Especificar o ângulo: 90
24 - Inserir novamente no Autocad a seguinte função:
(defun C:porta100 ()
(setq p1 (getpoint "qual o ponto da dobradiça?"))
(setq p2 (getpoint "qual o ponto do batente?"))
(command "line" p1 p2 "")
(command "rotate" "last" "" p1 90)
(command "arc" "c" p1 p2 "a" 90) )
25 - Para que a porta seja esquerda ou direita:
Inserir uma condição if no Note Pad++:
(defun C:porta100 ()
(setq p1 (getpoint "qual o ponto da dobradiça?"))
(setq p2 (getpoint "qual o ponto do batente?"))
(if (= "e" (getstring "esquerda ou direita? (e/d)"))
(setq ang 90)
(setq ang -90)
) (command "line" p1 p2 "")
(command "rotate" "last" "" p1 ang)
(command "arc" "c" p1 p2 "a" ang)
)
26 - Inserir novamente a função anterior no Autocad
Chamar de novo o comando Portas 100 Enter
qual o ponto da dobradiça: inserir o 1 ponto no 1 vão
qual o ponto do batente: inserir o 2 ponto do vão
esquerda ou direita? (e/d)d
Enter
27 -
(defun C:porta100 ()
(setq pontos_2d (getvar "osmode"))
(setvar "osmode" 1)
(setq p1 (getpoint "qual o ponto da dobradiça?"))
(setq p2 (getpoint "qual o ponto do batente?"))
(if (= "e" (getstring "esquerda ou direita? (e/d)"))
(setq ang 90)
(setq ang -90)
) (setvar "osmode" 0)
(command "_line" p1 p2 "")
(command "_rotate" "_last" "" p1 ang)
(command "_arc" "_c" p1 p2 "_a" ang)
28 - VP
Viewpoint Presets:
X axis: 315
XY Plano: 25,0
çã 29 - Box
Inserir o ponto de origem: 0,0
Inserir altura do cubo; 5,5,5
30 - Inserir a seguinte função no Note Pad++:
(defun c:favela ()
(command "_box" (list 0 0 0) (list 5 5 5)) )
31 - UCS
Especificar um ponto em qualquer local da área de trabalho: enter
Ao inserirmos o 2 cubo não seãja coincidente com a mesma posição do 1 cubo
32 - Inserir as seguintes funçães no Note Pad++
(defun c:favela ()
(setvar "CMDECHO" 0)
(setvar "BLIPMODE" 0)
(setq pontos2d (getvar "osmode"))
(setq pontos3d (getvar "3dosmode"))
(setvar "osmode" 0) (setvar "3dosmode" 0)

(setq nx (getint "quantas vezes?")) (repeat nx (command "_ucs" (list (alea 0 200) (alea 0 100) (alea 0 100) ) "" )
(command "_box" (list 0 0 0) (list 5 5 5))
(command "_ucs" "_w")
) (setvar "osmode" pontos2d)
(setvar "3dosmode" pontos3d)
) Inserir a funçção anterior no Autocad: enter
Introduzir o comando Favela:
Quantas vezes: 50
São inseridos 50 cubos
33 - Inserir uma layer, com cor vermelha
Tornar corrente a layer
34 - Inserir novamente a função
Para que sejam introduzidos +50 cubos a vermelho

<< VOLTAR