base de motor 2m 3m e 4m vickerspaginas.fe.up.pt/~tavares/ensino/cfac/2003-2004/works...base de...

27
Base de Motor 2M 3M e 4M Vickers desenvolvido em AutoLisp por José Adriano da Costa Moreira Concepção e Fabrico Assistidos por Computador Gestão e Engenharial Industrial 4º ano, 1º semestre

Upload: ngohanh

Post on 02-Apr-2018

218 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Base de Motor 2M 3M e 4M Vickerspaginas.fe.up.pt/~tavares/ensino/CFAC/2003-2004/Works...Base de Motor 2M 3M e 4M Vickers desenvolvido em AutoLisp por José Adriano da Costa Moreira

Base de Motor 2M 3M e 4M Vickers

desenvolvido em AutoLisp por

José Adriano da Costa Moreira

Concepção e Fabrico Assistidos por Computador

Gestão e Engenharial Industrial

4º ano, 1º semestre

Page 2: Base de Motor 2M 3M e 4M Vickerspaginas.fe.up.pt/~tavares/ensino/CFAC/2003-2004/Works...Base de Motor 2M 3M e 4M Vickers desenvolvido em AutoLisp por José Adriano da Costa Moreira

Relatório do Desenvolvimento da Base de Motor 2M 3M e 4M

Concepção e Fabrico Assistido por Computador Porto, Feup 2004

2

Índice

Introdução pág 3

Objectivo pág 3

Layers pág 4

Variáveis pág 4

Interface com o utilizador pág 5

— Código DCL pág 6

Programa Desenvolvido

— Programa Principal pág 7

— Subprograma Vista Frontal pág 11

— Subprograma Vista Lateral pág 18

— Função de Rotação pág 24

Notas pág 25

Trabalhos futuros pág 25

Conclusões pág 26

Agradecimentos pág 26

Bibliografia pág 26

Anexo pág 27

Page 3: Base de Motor 2M 3M e 4M Vickerspaginas.fe.up.pt/~tavares/ensino/CFAC/2003-2004/Works...Base de Motor 2M 3M e 4M Vickers desenvolvido em AutoLisp por José Adriano da Costa Moreira

Relatório do Desenvolvimento da Base de Motor 2M 3M e 4M

Concepção e Fabrico Assistido por Computador Porto, Feup 2004

3

Introdução:

Este trabalho que foi proposto pelo Professor João Manuel Ribeiro da

Silva Tavares trata-se do desenvolvimento em AutoLisp de um software que

permita desenhar a base de apoio para motores Vickers do tipo 2*M, 3*M e

4*M.

Objectivo:

O objectivo deste trabalho é desenvolver um

programa que permita efectuar duas vistas da base de

apoio de um motor.

Page 4: Base de Motor 2M 3M e 4M Vickerspaginas.fe.up.pt/~tavares/ensino/CFAC/2003-2004/Works...Base de Motor 2M 3M e 4M Vickers desenvolvido em AutoLisp por José Adriano da Costa Moreira

Relatório do Desenvolvimento da Base de Motor 2M 3M e 4M

Concepção e Fabrico Assistido por Computador Porto, Feup 2004

4

Layers:

O programa define layers para a execução do desenho mas não define

as suas cores ou tipo de traço. Foi considerado que seria melhor deste modo

pois assim o utilizador final do programa pode definir estes parâmetros da

forma que lhe parecer mais conveniente.

Layer “tg” – que representa o traço grosso;

Layer “ti” – que representa o traço interrompido;

Layer “tm” – que representa o traço misto;

Layer “tf” – que representa o traço fino

Variáveis:

a, b, c, d, e, f, g, h, j, k, l, l1, m, n, p, q, r –dimensões do modelo;

pt... – representam pontos da peça a desenhar ( por exemplo pt1

);

e.... – representam os nomes de entidades ( por exemplo e1 );

vista – representa a vista ( frontal, lateral ou ambas )

seleccionada pelo utilizador para representação;

modelo – representa o modelo da base do motor seleccionado

pelo utilizador para representação;

Page 5: Base de Motor 2M 3M e 4M Vickerspaginas.fe.up.pt/~tavares/ensino/CFAC/2003-2004/Works...Base de Motor 2M 3M e 4M Vickers desenvolvido em AutoLisp por José Adriano da Costa Moreira

Relatório do Desenvolvimento da Base de Motor 2M 3M e 4M

Concepção e Fabrico Assistido por Computador Porto, Feup 2004

5

Interface com o utilizador:

O software desenvolvido faz a sua interacção com o utilizador por uma

caixa de diálogo pois deste modo o programa torna-se mais prático e simples

de executar. Esta caixa de diálogo foi desenvolvida em DCL.

Colocou-se a questão de desenvolver várias caixas de diálogo mas

verificou-se que a utilização de uma única interface seria mais eficaz.

Interface 1

Page 6: Base de Motor 2M 3M e 4M Vickerspaginas.fe.up.pt/~tavares/ensino/CFAC/2003-2004/Works...Base de Motor 2M 3M e 4M Vickers desenvolvido em AutoLisp por José Adriano da Costa Moreira

Relatório do Desenvolvimento da Base de Motor 2M 3M e 4M

Concepção e Fabrico Assistido por Computador Porto, Feup 2004

6

Código DCL associado à interface:

interface : dialog { label="Base de Motor 2M 3M e 4M:"; :boxed_column{ label = "Posicionamento do desenho:"; : boxed_column { label = "Ponto Inicial"; :button { label = "Selecione o ponto inicial:"; key = "cmd_pti"; alignment = top; is_default = true; } } :boxed_column { label = "Direcção do eixo:"; alignment = top; :button { label = "Selecione a direcção:"; key = "cmd_dir"; alignment = top; } } } :boxed_radio_column { //Define o Início de Uma Área de Botões Radio // Label da caixa de botões radio label = "Escolha o modelo da Base:"; :radio_button{ label="Modelo 466422"; key="m2"; value="0";} :radio_button { label="Modelo 466423"; key="m3"; value="0";} }

Page 7: Base de Motor 2M 3M e 4M Vickerspaginas.fe.up.pt/~tavares/ensino/CFAC/2003-2004/Works...Base de Motor 2M 3M e 4M Vickers desenvolvido em AutoLisp por José Adriano da Costa Moreira

Relatório do Desenvolvimento da Base de Motor 2M 3M e 4M

Concepção e Fabrico Assistido por Computador Porto, Feup 2004

7

:boxed_radio_column { //Define o Início de Uma Área de Botões Radio label= "Qual das vistas pretende desenhar?" ; // Label da caixa de botões radio :radio_button { label="Vista Frontal"; key="vistafrontal"; value="0";} :radio_button { label="Vista Lateral"; key="vistalateral"; value="0";} :radio_button { label="Vista Frontal e Lateral"; key="2vistas"; value="0";} } ok_cancel ; } //fim

Page 8: Base de Motor 2M 3M e 4M Vickerspaginas.fe.up.pt/~tavares/ensino/CFAC/2003-2004/Works...Base de Motor 2M 3M e 4M Vickers desenvolvido em AutoLisp por José Adriano da Costa Moreira

Relatório do Desenvolvimento da Base de Motor 2M 3M e 4M

Concepção e Fabrico Assistido por Computador Porto, Feup 2004

8

Programa principal:

(defun c:bm () (setq oblip (getvar "blipmode") ; guarda o modo de colocação de cruzes nos pontos oecho (getvar "cmdecho") ; guarda o modo de projecção dos comandos olayer (getvar "clayer") ; guarda o layer corrente oosnap (getvar "osmode") ; guarda o modo osnap actual ) (setvar "blipmode" 0) ; desliga a colocação de cruzes nos pontos (setvar "cmdecho" 0) ; desliga a projecção dos comandos (setvar "osmode" 0) ; desliga qualquer modo osnap ;vai fazer load à caixa de diálogo (setq what_next 5) (setq dcl_id (load_dialog "c:\\autolisp\\interface.dcl")) (if (not graus) (setq graus "0") ) (while (< 2 what_next) (if (not (new_dialog "interface" dcl_id)) (exit) ) ;end if (action_tile "vistafrontal" "(setq vista 1)") (action_tile "vistalateral" "(setq vista 2)") (action_tile "2vistas" "(setq vista 3)") (action_tile "cmd_pti" "(done_dialog 4)" ) (action_tile "m2" "(setq modelo 2)") (action_tile "m3" "(setq modelo 3)") (action_tile "cmd_dir" "(done_dialog 3)") (action_tile "accept" "(setq vista vista)(done_dialog)" ) ; quando o botão OK é premido (action_tile "cancel" "(exit)(setq userclick nill)") ;quando o botão Cancel é premido (setq what_next (start_dialog))

Page 9: Base de Motor 2M 3M e 4M Vickerspaginas.fe.up.pt/~tavares/ensino/CFAC/2003-2004/Works...Base de Motor 2M 3M e 4M Vickers desenvolvido em AutoLisp por José Adriano da Costa Moreira

Relatório do Desenvolvimento da Base de Motor 2M 3M e 4M

Concepção e Fabrico Assistido por Computador Porto, Feup 2004

9

(if (= what_next 4) (progn (initget 1) (setq pt0 (getpoint "\nSelecione o Ponto Inicial: ")) ) ) (if (= what_next 3) (progn (initget 1) (setq alfa (getangle pt0 "\nDefina a direcção do eixo:")) (setq alfagraus (rtos (/ (* alfa 180) pi))) ) ) ) ; end while (start_dialog) (unload_dialog dcl_id) ;descarrega a caixa de diálogo (setq f (open "c:/autolisp/dados.dat" ;abertura do ficheiro de dados "r" ;para leitura ) ) (if (= f nil) ;erro de abertura do ficheiro (progn (alert "ATENÇÃO: Ficheiro de dados não encontrado. Verifique se o ficheiro se encontra na directoria c:\autolisp\ " ) ) ) (setq i modelo) (while (/= i 0) (setq linha (read-line f)) (setq i (- i 1)) )

Page 10: Base de Motor 2M 3M e 4M Vickerspaginas.fe.up.pt/~tavares/ensino/CFAC/2003-2004/Works...Base de Motor 2M 3M e 4M Vickers desenvolvido em AutoLisp por José Adriano da Costa Moreira

Relatório do Desenvolvimento da Base de Motor 2M 3M e 4M

Concepção e Fabrico Assistido por Computador Porto, Feup 2004

10

;leitura do ficheiro de dados e definição das variáveis de dimensão da base do motor (setq a (atof (substr linha 1 4)) b (atof (substr linha 8 4)) c (atof (substr linha 15 4)) d (atof (substr linha 21 4)) e (atof (substr linha 28 4)) f (atof (substr linha 34 4)) g (atof (substr linha 40 4)) h (atof (substr linha 48 4)) j (atof (substr linha 54 4)) k (atof (substr linha 61 4)) l (atof (substr linha 69 4)) l1 (atof (substr linha 78 4)) m (atof (substr linha 86 4)) n (atof (substr linha 94 4)) p (atof (substr linha 101 4)) pint (atof (substr linha 109 4));variável auxiliar para o diâmetro interior da rosca q (atof (substr linha 118 4)) r (atof (substr linha 124 4)) ) (if (/= vista 2) ;chamada da defun vistafrontal (vistafrontal) ) (if (/= vista 1) ;chamada da defun vistalateral (vistalateral) ) (command "layer" "m" olayer "") ; coloca o layer inicial (setvar "blipmode" oblip) ; volta a configurar a colocação de cruzes nos pontos (setvar "cmdecho" oecho) ; volta a configurar projecção dos comandos (setvar "osmode" oosnap) ; volta a configurar o modo osnap ) ;Fim do programa Principal

Page 11: Base de Motor 2M 3M e 4M Vickerspaginas.fe.up.pt/~tavares/ensino/CFAC/2003-2004/Works...Base de Motor 2M 3M e 4M Vickers desenvolvido em AutoLisp por José Adriano da Costa Moreira

Relatório do Desenvolvimento da Base de Motor 2M 3M e 4M

Concepção e Fabrico Assistido por Computador Porto, Feup 2004

11

Subprograma Vista Frontal:

;Subprograma para a vista frontal (defun vistafrontal () (setq pt2 (polar pt0 pi (/ f 2.0)) ;definição dos pontos necessários para desenhar a vista frontal pt1 (polar pt0 pi (/ a 2.0)) pt6 (polar pt1 (/ pi 2.0) h) pt5 (polar pt2 (/ pi 2.0) h) pt12 (polar pt0 pi (/ j 2.0)) pt7 (polar pt12 (/ pi 2.0) h) pt10 (polar pt12 0 (/ l1 2.0)) pt9 (polar pt12 pi (/ l1 2.0)) pt11 (polar pt10 (/ pi 2.0) h) pt1211 (polar pt12 (* pi 1.5) 5) pt711 (polar pt7 (/ pi 2.0) 5) pt8 (polar pt11 pi l1) pt13 (polar pt0 (/ pi 2.0) (+ (/ b 2.0) (- d b))) pt14 (polar pt13 pi (/ b 2.0)) pt15 (polar pt14 0 q) pt16 (polar pt2 0 (- d b)) pt3 (polar pt16 (/ pi 2.0) (- d b)) pt4 (polar pt3 0 (- f (* (- d b) 2.0))) pt17 (polar pt13 pi (/ n 2.0)) pt19 (polar pt17 0 n) pt18 (polar pt13 (/ pi 2.0) (/ n 2.0)) pt20 (polar pt13 (* pi 1.5) (/ n 2.0)) pt21 (polar pt17 pi (/ p 2.0)) pt22 (polar pt18 pi (/ p 2.0)) pt23 (polar pt19 pi (/ p 2.0)) pt24 (polar pt20 pi (/ p 2.0)) pt25 (polar pt13 (/ pi 2.0) (- (/ b 2.0) q)) pt26 (polar pt25 (* pi 0.75) q) pt27 (polar pt15 (* pi 0.75) q) pt28 (polar pt13 (/ pi 2.0) (/ b 2.0)) pt29 (polar pt13 0 (/ b 2.0)) pt30 (polar pt2 0 f) pt31 (polar pt12 0 j) pt32 (polar pt1 0 a) pt011 (polar pt0 (* pi 1.5) 5) pt2811 (polar pt28 (/ pi 2.0) 5) pt1411 (polar pt14 pi 5) pt2911 (polar pt29 0 5) dist1 (distance pt6 pt15) ;definição de variáveis auxiliares para executar uma tangente dist2 (sqrt (- (expt dist1 2.0) (expt q 2.0))) )

Page 12: Base de Motor 2M 3M e 4M Vickerspaginas.fe.up.pt/~tavares/ensino/CFAC/2003-2004/Works...Base de Motor 2M 3M e 4M Vickers desenvolvido em AutoLisp por José Adriano da Costa Moreira

Relatório do Desenvolvimento da Base de Motor 2M 3M e 4M

Concepção e Fabrico Assistido por Computador Porto, Feup 2004

12

(if (= modelo 3) (setq pt33 (list (- (car pt15) (* dist1 (/ q dist1))) (+ (cadr pt15) (* q (- 1.0 (/ dist2 dist1)))) ) ) ) (if (= modelo 2) (setq pt33 pt14) ) (command "layer" ;definição da layer de desenho "m" "tg" "" "line" (rot pt6) (rot pt1) "" ) (setq e8 (entlast)) (command "line" (rot pt1) (rot pt2) "" ) (setq e9 (entlast)) (command "arc" "c" (rot pt16) (rot pt2) "a" -90 ) (setq e10 (entlast)) (command "line" (rot pt3) (rot pt4) "" )

Page 13: Base de Motor 2M 3M e 4M Vickerspaginas.fe.up.pt/~tavares/ensino/CFAC/2003-2004/Works...Base de Motor 2M 3M e 4M Vickers desenvolvido em AutoLisp por José Adriano da Costa Moreira

Relatório do Desenvolvimento da Base de Motor 2M 3M e 4M

Concepção e Fabrico Assistido por Computador Porto, Feup 2004

13

(command "layer" "m" "ti" "") ;definição da layer de desenho (command "line" (rot pt6) (rot pt5) "") (setq e5 (entlast)) (command "line" (rot pt11) (rot pt10) "") (setq e11 (entlast)) (command "line" (rot pt8) (rot pt9) "") (setq e12 (entlast)) (command "line" (rot pt2) (rot pt5) "") (setq e13 (entlast)) (command "layer" ;definição da layer de desenho "m" "tm" "" "line" (rot pt711) (rot pt1211) "") (setq e6 (entlast)) (command "line" (rot pt1411) (rot pt2911) "" "line" (rot pt011) (rot pt2811) "" "arc" "c" (rot pt13) (rot pt17) "a" 8

Page 14: Base de Motor 2M 3M e 4M Vickerspaginas.fe.up.pt/~tavares/ensino/CFAC/2003-2004/Works...Base de Motor 2M 3M e 4M Vickers desenvolvido em AutoLisp por José Adriano da Costa Moreira

Relatório do Desenvolvimento da Base de Motor 2M 3M e 4M

Concepção e Fabrico Assistido por Computador Porto, Feup 2004

14

"arc" "c" (rot pt13) (rot pt19) "a" 8 "arc" "c" (rot pt13) (rot pt19) "a" -8 "arc" "c" (rot pt13) (rot pt18) "a" 8 "arc" "c" (rot pt13) (rot pt18) "a" -8 "arc" "c" (rot pt13) (rot pt20) "a" 8 "arc" "c" (rot pt13) (rot pt20) "a" -8 )

Page 15: Base de Motor 2M 3M e 4M Vickerspaginas.fe.up.pt/~tavares/ensino/CFAC/2003-2004/Works...Base de Motor 2M 3M e 4M Vickers desenvolvido em AutoLisp por José Adriano da Costa Moreira

Relatório do Desenvolvimento da Base de Motor 2M 3M e 4M

Concepção e Fabrico Assistido por Computador Porto, Feup 2004

15

(command "layer" "m" "tg" "") ;definição da layer de desenho (command "arc" "c" (rot pt15) (rot pt14) "a" 45) (setq e1 (entlast)) (command "mirror" e1 "" (rot pt13) (rot pt14) "n") (setq e2 (entlast)) (command "array" e1 "" "p" (rot pt13) 4 360 "y") (command "array" e2 "" "p" (rot pt13) 4 360 "y" ) (command "line" (rot pt33) (rot pt6) "" ) (setq e14 (entlast)) (command "circle" (rot pt17) "d" pint "array" "last" "" "p" (rot pt13) 4 360 "y" ) (setq e3 (entlast)) (command "layer" ;definição da layer de desenho "m" "tg" ""

Page 16: Base de Motor 2M 3M e 4M Vickerspaginas.fe.up.pt/~tavares/ensino/CFAC/2003-2004/Works...Base de Motor 2M 3M e 4M Vickers desenvolvido em AutoLisp por José Adriano da Costa Moreira

Relatório do Desenvolvimento da Base de Motor 2M 3M e 4M

Concepção e Fabrico Assistido por Computador Porto, Feup 2004

16

"array" e3 "" "p" (rot pt13) 4 360 "y" "layer" "m" "tf" "" "arc" "c" (rot pt17) (rot pt21) "a" 290 "arc" "c" (rot pt18) (rot pt22) "a" 290 "arc" "c" (rot pt19) (rot pt23) "a" 290 "arc" "c" (rot pt20) (rot pt24) "a" 290 "layer" "m" "tg" "" "line" (rot pt27) (rot pt26) "" )

Page 17: Base de Motor 2M 3M e 4M Vickerspaginas.fe.up.pt/~tavares/ensino/CFAC/2003-2004/Works...Base de Motor 2M 3M e 4M Vickers desenvolvido em AutoLisp por José Adriano da Costa Moreira

Relatório do Desenvolvimento da Base de Motor 2M 3M e 4M

Concepção e Fabrico Assistido por Computador Porto, Feup 2004

17

(setq e4 (entlast)) (command "layer" ;definição da layer de desenho "m" "tg" "" ) (command "array" e4 "" "p" (rot pt13) 4 360 "y" ) (command "circle" (rot pt13) "d" l) (command "mirror" e5 e6 e8 e9 e10 e11 e12 e13 e14 "" pt0 (rot pt13) "n" ) ) ;fim do subprograma para a vista frontal

Page 18: Base de Motor 2M 3M e 4M Vickerspaginas.fe.up.pt/~tavares/ensino/CFAC/2003-2004/Works...Base de Motor 2M 3M e 4M Vickers desenvolvido em AutoLisp por José Adriano da Costa Moreira

Relatório do Desenvolvimento da Base de Motor 2M 3M e 4M

Concepção e Fabrico Assistido por Computador Porto, Feup 2004

18

Subprograma Vista Lateral:

;Subprograma para a vista lateral (defun vistalateral () (setq r (* g 0.7) pt60 (polar pt32 0 60) ;Definição dos pontos necessários para a vista lateral pt61 (polar pt60 0 e) pt62 (polar pt60 (/ pi 2.0) h) pt63 (polar pt61 (/ pi 2.0) (- d b)) pt64 (polar pt63 0 (- d b)) pt65 (polar pt64 (/ pi 2.0) b) pt66 (polar pt65 pi g) pt67 (polar pt66 0 (- d b)) pt68 (polar pt62 0 (- e (+ k (+ g (+ r (+ 1 (/ l1 2.0))))))) pt69 (polar pt68 (/ pi 2.0) (* (- d b) 1.5)) pt70 (polar pt61 pi (+ g r)) pt71 (polar pt70 (* pi 1.5) 5) pt72 (polar pt70 (/ pi 2.0) (+ h 5)) pt73 (polar pt70 0 (/ l1 2.0)) pt74 (polar pt73 (/ pi 2.0) h) pt75 (list (car pt67) (cadr pt62)) pt76 (polar pt73 pi (+ (/ l1 2.0) (/ k 2.0))) pt77 (polar pt76 (/ pi 2.0) h) pt78 (polar pt74 pi l1) pt79 (polar pt78 (* pi 1.5) h) pt80 (polar pt70 pi k) pt81 (polar pt64 (/ pi 2.0) (/ b 2.0)) pt82 (polar pt81 0 5) pt83 (polar pt81 pi g) pt84 (polar pt83 (/ pi 2.0) (/ pint 2.0)) pt85 (polar pt84 (/ pi 2.0) (/ (- p pint) 2.0)) pt86 (polar pt84 0 g) pt87 (polar pt86 (/ pi 2.0) (/ (- p pint) 2.0)) pt88 (polar pt86 (/ pi 2.0) (- d b)) pt89 (polar pt83 pi 5) pt90 (polar pt83 (/ pi 2.0) (/ n 4.0)) pt91 (polar pt90 0 g) pt92 (polar pt90 (* pi 1.5) (/ n 2.0)) pt93 (polar pt92 0 g) pt94 (polar pt90 (/ pi 2.0) (/ p 2.0)) pt95 (polar pt94 0 g) pt96 (polar pt92 (* pi 0.5) (/ p 2.0)) pt97 (polar pt96 0 g) pt98 (polar pt83 0 (- d b)) pt100 (polar pt75 pi r)

Page 19: Base de Motor 2M 3M e 4M Vickerspaginas.fe.up.pt/~tavares/ensino/CFAC/2003-2004/Works...Base de Motor 2M 3M e 4M Vickers desenvolvido em AutoLisp por José Adriano da Costa Moreira

Relatório do Desenvolvimento da Base de Motor 2M 3M e 4M

Concepção e Fabrico Assistido por Computador Porto, Feup 2004

19

pt101 (polar pt100 (/ pi 2.0) r) pt102 (polar pt101 0 r) pt107 (list (car pt66) (- (cadr pt20) (/ p 2.0))) pt99 (list (+ (car pt101) (- r (- d b))) (- (cadr pt101) (sqrt (- (expt r 2.0) (expt (- r (- d b)) 2.0))) ) ) pt103 (polar pt69 0 (* 7 (- d b))) pt104 (list (car pt67) (+ (cadr pt103) (* (- d b) 17.0))) pt105 (list (car pt104) (cadr pt103)) cc (distance pt103 pt105) aux2 (/ (* (* (- d b) 17.0) (- cc (- d b))) cc) pt106 (list (- (car pt104) (- d b)) (+ (cadr pt103) aux2)) ) (command "layer" ;definição da layer de desenho "m" "tg" "" "line" ;inicio do desenho da vista lateral (rot pt62) (rot pt60) (rot pt61) (rot pt63) (rot pt64) (rot pt65) (rot pt66) "" "line" (rot pt62) (rot pt100) "" "arc" "c" (rot pt86) (rot pt88) "a" 90 "line" "" (rot pt63) ""

Page 20: Base de Motor 2M 3M e 4M Vickerspaginas.fe.up.pt/~tavares/ensino/CFAC/2003-2004/Works...Base de Motor 2M 3M e 4M Vickers desenvolvido em AutoLisp por José Adriano da Costa Moreira

Relatório do Desenvolvimento da Base de Motor 2M 3M e 4M

Concepção e Fabrico Assistido por Computador Porto, Feup 2004

20

"arc" "c" (rot pt101) (rot pt100) (rot pt102) "line" "" (rot pt67) "" "line" (rot pt68) (rot pt69) (rot pt103) (rot pt104) "" "line" (rot pt66) (rot pt106) "" "layer" ;definição da layer de desenho "m" "ti" "" "line" (rot pt86) (rot pt84) "" ) (setq e15 (entlast)) (command "line" (rot pt85) (rot pt87) "" ) (setq e16 (entlast)) (command "line" (rot pt74) (rot pt73) "" )

Page 21: Base de Motor 2M 3M e 4M Vickerspaginas.fe.up.pt/~tavares/ensino/CFAC/2003-2004/Works...Base de Motor 2M 3M e 4M Vickers desenvolvido em AutoLisp por José Adriano da Costa Moreira

Relatório do Desenvolvimento da Base de Motor 2M 3M e 4M

Concepção e Fabrico Assistido por Computador Porto, Feup 2004

21

(setq e5 (entlast)) (command "mirror" e15 e16 "" (rot pt82) (rot pt83) "n" "mirror" e5 "" (rot pt77) (rot pt76) "n" "mirror" e5 "" (rot pt72) (rot pt70) "n" "layer" ;definição da layer de desenho "m" "tm" "" "line" (rot pt72) (rot pt71) "" ) (setq e6 (entlast)) (command "line" (rot pt89) (rot pt82) "" ) (setq e17 (entlast)) (command "mirror" e15 e16 e17 ""

Page 22: Base de Motor 2M 3M e 4M Vickerspaginas.fe.up.pt/~tavares/ensino/CFAC/2003-2004/Works...Base de Motor 2M 3M e 4M Vickers desenvolvido em AutoLisp por José Adriano da Costa Moreira

Relatório do Desenvolvimento da Base de Motor 2M 3M e 4M

Concepção e Fabrico Assistido por Computador Porto, Feup 2004

22

(rot pt92) (rot pt93) "n" "mirror" e15 e16 e17 "" (rot pt90) (rot pt91) "n" "mirror" e15 e16 "" (rot pt94) (rot pt95) "n" "mirror" e15 e16 "" (rot pt96) (rot pt97) "n" ) (command "layer" "m" "ti" "" "mirror" e6 "" (rot pt77) (rot pt76) "n" "line" (rot pt106) (rot pt107) "" "line" (rot pt78) (rot pt79) "" )

Page 23: Base de Motor 2M 3M e 4M Vickerspaginas.fe.up.pt/~tavares/ensino/CFAC/2003-2004/Works...Base de Motor 2M 3M e 4M Vickers desenvolvido em AutoLisp por José Adriano da Costa Moreira

Relatório do Desenvolvimento da Base de Motor 2M 3M e 4M

Concepção e Fabrico Assistido por Computador Porto, Feup 2004

23

(setq e7 (entlast)) (command "mirror" e7 "" (rot pt77) (rot pt76) "n" ) ) ;fim da função para a vista lateral

Page 24: Base de Motor 2M 3M e 4M Vickerspaginas.fe.up.pt/~tavares/ensino/CFAC/2003-2004/Works...Base de Motor 2M 3M e 4M Vickers desenvolvido em AutoLisp por José Adriano da Costa Moreira

Relatório do Desenvolvimento da Base de Motor 2M 3M e 4M

Concepção e Fabrico Assistido por Computador Porto, Feup 2004

24

Função de rotação:

Esta função serve para permitir executar as vistas pretendidas num

dado referencial. Este novo referencial é dado pelo ângulo alfa.

;Início da s (defun rot (ptc / dx dy seno cosse xx yy ptn) (setq dx (- (car ptc) (car pt0)) dy (- (cadr ptc) (cadr pt0)) seno (sin alfa) cosse (cos alfa) xx (- (* cosse dx) (* seno dy)) yy (+ (* seno dx) (* cosse dy)) ptn (list (+ xx (car pt0)) (+ yy (cadr pt0))) ) ) ;Fim da função de rotação

Page 25: Base de Motor 2M 3M e 4M Vickerspaginas.fe.up.pt/~tavares/ensino/CFAC/2003-2004/Works...Base de Motor 2M 3M e 4M Vickers desenvolvido em AutoLisp por José Adriano da Costa Moreira

Relatório do Desenvolvimento da Base de Motor 2M 3M e 4M

Concepção e Fabrico Assistido por Computador Porto, Feup 2004

25

Notas:

Atenção: o programa deve ser copiado para a directoria “c:\autolisp\ “

para funcionar correctamente. Para executar o programa, uma vez

iniciado o AutoCAD, basta fazer load do programa “ bm.lsp “ e escrever na

linha de comandos do programa AutoCAD bm.

Trabalhos futuros:

Como trabalho futuro teria algum interesse desenvolver um programa

que permita representar uma vista 3D da base de motor. Para tal é necessário

que sejam fornecidas mais vistas da base de motor a desenhar.

Page 26: Base de Motor 2M 3M e 4M Vickerspaginas.fe.up.pt/~tavares/ensino/CFAC/2003-2004/Works...Base de Motor 2M 3M e 4M Vickers desenvolvido em AutoLisp por José Adriano da Costa Moreira

Relatório do Desenvolvimento da Base de Motor 2M 3M e 4M

Concepção e Fabrico Assistido por Computador Porto, Feup 2004

26

Conclusões:

Posso concluir que os objectivos foram plenamente atingidos. Para além

penso que é importante referir a importância destes trabalhos práticos para o

nosso desenvolvimento como estudantes de engenharia.

Agradecimentos:

Gostaria de aproveitar a oportunidade para agradecer o contributo e o

apoio prestado pelo Professor João Manuel R. S. Tavares e pelo Professor

Joaquim Oliveira Fonseca.

Bibliografia:

Apontamentos das Aulas Teóricas de “Concepção e Fabrico

Assistido por Computador” de João Manuel R. S. Tavares

Apontamentos de “Concepção e Fabrico Assistido por

Computador” de João Manuel R. S. Tavares, Joaquim Oliveira

Fonseca e José Duarte Ribeiro Marafona

Livro “Desenho Técnico Básico” de Simões Morais

Page 27: Base de Motor 2M 3M e 4M Vickerspaginas.fe.up.pt/~tavares/ensino/CFAC/2003-2004/Works...Base de Motor 2M 3M e 4M Vickers desenvolvido em AutoLisp por José Adriano da Costa Moreira

Relatório do Desenvolvimento da Base de Motor 2M 3M e 4M

Concepção e Fabrico Assistido por Computador Porto, Feup 2004

27

ANEXO

Atenção: o programa deve ser copiado para a directoria “c:\autolisp\ “

para funcionar correctamente. Para executar o programa, uma vez

iniciado o AutoCAD, basta fazer load do programa “ bm.lsp “ e escrever na

linha de comandos do programa AutoCAD bm.