Elbow flange coupling

Documentos relacionados
IMPLEMENTAÇÃO D0 DESENHO AUTOMÁTICO DE CILINDROS DE DUPLO EFEITO AUTOLISP CONCEPÇÃO E FABRICO ASSISTIDOS POR COMPUTADOR ANO LECTIVO

Faculdade de Engenharia Universidade do Porto RELATÓRIO CFAC Trabalho em Autolisp

EM GESTÃO E ENGENHARIA INDUSTRIAL Disciplina de Concepção e Fabrico Assistidos por Computador

Faculdade de Engenharia da Universidade do Porto Concepção e Fabrico Assistido por Computador. Relatório

AutoLISP Programas Exemplo

AutoLISP Programas Exemplo. João Manuel R. S. Tavares Joaquim Oliveira Fonseca

1º Exemplo - Rectângulo

Concepção e Fabrico Assistido por Computador

UNIVERSIDADE DO PORTO

Caixa de Velocidades. Índice

AutoLISP -VII Funções Geométricas, de Strings, de Listas e de Manipulação de Arquivos

Funções Geométricas, de Strings, de Listas e de Manipulação de Arquivos

DCL Dialog Control Language: Introdução

AutoLISP - III Funções de repetição e condicionais, Obter e converter informação. João Manuel R. S. Tavares Joaquim Oliveira Fonseca

Função condicional - if. AutoLISP - III Funções de repetição e condicionais, Obter e converter informação

Instituto Superior Técnico Licenciatura em Arquitectura Desenho Assistido por Computador II Ano lectivo 2005/06, 2 ano

@2007 João Manuel R. S. Tavares FEUP/DEMEGI/SDI. CFAC Concepção e Fabrico Assistidos por Computador

Conjuntos de selecção

Exemplo: ; ver exemplo de aplicação abaixo com mapcar. ; retorna uma lista formada pelos elementos indicados. ; retorna o número de elementos na lista

1 - Ambiente de desenvolvimento

AutoLISP - VI Conjuntos de seleção

CFAC: AutoLISP (I) - Introdução

AutoLISP - I Introdução. João Manuel R. S. Tavares Joaquim Oliveira Fonseca

CFAC: Introdução ao AutoCAD - I. Capitulo I: Iniciação ao AutoCAD

2. LAYERS UTILIZADAS E APLICAÇÕES

RELATÓRIO CFAC Ano lectivo

Concepção e Fabrico Assistidos por Computador

AutoLISP -I Introdução

Aplicações de Programação CNC/ISO com Microcomputador. João Manuel R. S. Tavares Joaquim Oliveira Fonseca

AutoLISP -V Manipulação de entidades

AutoLISP - II Cálculos, Variáveis e Listas. João Manuel R. S. Tavares Joaquim Oliveira Fonseca

AutoLISP -II Cálculos, Variáveis e Listas

C.F.A.C. Concepção e Fabrico Assistido por Computador

Manual do Cibernauta

Concepção e Fabrico Assistido por Computador

Introdução ao AutoCAD Capitulo VI: Adicionar texto

CFAC: AutoLISP (II) - Cálculos, Variáveis e Listas

Licenciatura em Gestão e Engenharia Industrial CFAC

CFAC: Introdução ao AutoCAD - V. Capitulo V: Construções geométricas

Relatório de CFAC Concepção e Fabrico Assistido por Computador

Modelação Geométrica e Visualização de Edifícios 2007/2008

FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO DEPARTAMENTO DE ENGENHARIA MECÂNICA E GESTÃO INDUSTRIAL C.F.A.C.

Introdução ao AutoCAD Capitulo VI: Adicionar texto. João Manuel R. S. Tavares Joaquim O. Fonseca

Modulo 2 Gestão de Base

Universidade de Lisboa Faculdade de Letras Departamento de História

ZS Rest. Manual Profissional. BackOffice Mapa de Mesas. v2011

CFAC: Introdução ao AutoCAD - VI. Capitulo VI: Adicionar texto

Ferramentas Web, Web 2.0 e Software Livre em EVT

FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO DEPARTAMENTO DE ENGENHARIA MECÂNICA E GESTÃO INDUSTRIAL C.F.A.C. 2002/03

Testes e Exames do Desenho Assistido por Computador Teste

Módulo I. Desejamos boa sorte e bom estudo! Em caso de dúvidas, contate-nos pelo site Atenciosamente Equipe Cursos 24 Horas

CFAC: Introdução ao AutoCAD - VII. Introdução ao AutoCAD Capitulo VII: Cotagem. João Manuel R. S. João Tavares

AutoLISP - IV Ambiente de programação Visual Lisp. João Manuel R. S. Tavares Joaquim Oliveira Fonseca

ESCOLA SUPERIOR DE TECNOLOGIA DE TOMAR DEPARTAMENTO DE ENGENHARIA INFORMÁTICA 2002/ Valores

Implementação de Desenhos Automáticos Elemento Hidráulico Normalizado. Concepção e Fabrico Assistidos por Computador Programação VBA

Introdução ao SolidWorks

Manual Prático. Elisabete Aguiar

Iniciação à Informática

Windows 95/98/Me/2000

Escola Secundária Ferreira Dias Agualva - Sintra. Atividade 20

Introdução ao AutoCAD Capitulo IV: Comandos de modificação

BMLABEL MANUAL DO UTILIZADOR

3 Cabeçalho/ logótipo 4 Menu principal 5 Autenticação

CFAC: Introdução ao AutoCAD - I. Capitulo I: Iniciação ao AutoCAD

Escola Superior de Tecnologia e de Gestão Instituto Politécnico de Bragança. Guia Informativo para utilizadores do LPAC. Âmbito: Ferramenta CAE Ansys

Domine o Word Professor: Rafael Henriques

Faculdade de Engenharia da Universidade do Porto (FEUP) Departamento de Engenharia Mecânica e Gestão Industrial (DEMEGI)

VBA Visual Basic for Applications. APROG - Civil

Modelação Tridimensional

Módulo 2 Gestão de Base

Licenciatura em Engenharia Mecânica. Concepção e Fabrico Assistidos por Computador ( C. F. A. C. ) 2001 / Secção de Desenho Industrial

Objetivos. Sistema Operativo em Ambiente Gráfico. Introdução às Tecnologias de Informação e Comunicação

SOLID EDGE ST6 TUTORIAL 3 MODELANDO UM PISTÃO

Como começar a Jogar? Para iniciar o jogo a forma mais fácil é ir a e começar a jogar.

Introdução ao SolidWorks (III): Fundamentos para Conjuntos. João Manuel R. S. Tavares Joaquim Oliveira Fonseca

Introdução ao SolidWorks (III): Fundamentos para Conjuntos

Introdução ao SolidWorks (I): Funcionalidades Básicas

Trabalho: Desenho 3D de um Molde de Injecção em

2-Introdução e Conceitos Básicos das TIC

Prof: Heni Mirna Cruz Santos

Ferramentas Web, Web 2.0 e Software Livre em EVT

APOSTILA 3D (notas de aula)

3. Conhecimentos Básicos

Introdução ao AutoCAD Capitulo II: Configuração e Organização

Prof: Heni Mirna Cruz Santos

Tecnologias da Informação e Comunicação: Sistema Operativo em Ambiente Gráfico

Equações Paramétricas e Coordenadas Polares. Copyright Cengage Learning. Todos os direitos reservados.

Docentes. JOF/João Manuel R. S. Tavares 1. Eng. Joaquim Fonseca. Prof. José Marafona. MIEM Mestrado Integrado em Engenharia Mecânica

Concepção e Projecto Assistidos por Computador

Programação e Computação para Arquitectura 2010/2011

Laboratório de Informática Avançada Automatização de Horários Manual do Professor

Introdução ao AutoCAD Capitulo VII: Cotagem. João Manuel R. S. Tavares Joaquim O. Fonseca

UNIVERSIDADE ESTADUAL DE SANTA CRUZ DEPARTAMENTO DE CIÊNCIAS EXATAS E TECNOLÓGICAS COLEGIADO DE ENGENHARIA ELÉTRICA

Introdução ao AutoCAD Capitulo III: Ecrã do AutoCAD e Operações de selecção

Aplicações de Programação CNC/ISO com Microcomputador

4 - APLICAÇÕES DE PROGRAMAÇÃO CNC/ISO COM MICROCOMPUTADOR

Aplicações de Escritório Electrónico

Ferramentas Web, Web 2.0 e Software Livre em EVT

Transcrição:

Elbow flange coupling Docentes: Eng. João Manuel Ribeiro Silva Tavares Eng. Joaquim de Oliveira Fonseca Realizado por: Rui José Esteves Miranda Licenciatura em Gestão e Engenharia Industrial

ÍNDICE SUMÁRIO...2 INTRODUÇÃO...2 OBJECTIVOS...2 MANUAL DE UTILIZAÇÃO...3 Arranque do programa...3 Utilização de Caixas de diálogo...4 Utilização via Janela de Comandos...4 MANUAL TÉCNICO...4 MANUAL TÉCNICO...5 Programa Principal...6 Função Leitura...8 Função Vista de Lado...11 Função DesenhoS2...23 Função DesenhoS2...23 Função Intermédio...25 Função Vista de Frente...27 Função Rotação...35 Função de Diálogo...36 Função Diálogo2...40 BIBLIOGRAFIA...41

SUMÁRIO Este trabalho realiza-se no âmbito da disciplina Concepção e Fabrico Assistidos por Computador (CFAC, do 4º ano da Licenciatura de Gestão e Engenharia Industrial, e tem como objectivo o desenho automático de um Elbow flange couling existente no catálogo da Waltersheid. INTRODUÇÃO Desde sempre o homem necessitou de registar informação. A utilidade que essa informação nos transmite será função da fiabilidade com que é armazenada. A melhor forma de representação de uma peça, ou conjunto de peças é o desenho. O desenho, tal como outras linguagens de comunicação, tem regras que permitem com que qualquer pessoa o possa interpretar e fazer uso dele. Actualmente é frequente recorrer-se ao computador para realizar o desenho de um projecto, através de softwares adequados. Por muito evoluído que seja esse software, por vezes este não dispõe de componentes necessários para um determinado projecto. Recorrendo ao software AutoCAD, torna-se possível programar em AutoLISP scripts que nos permitem automatizar o nosso trabalho de projecto e assim ultrapassar as limitações implícitas ao software. OBJECTIVOS O objectivo primordial deste trabalho é representar uma peça (Elbow flange coupling presente no catálogo da Waltersheid (Profeliring tube fittings em duas dimensões e segundo duas perspectivas, com vista a ser usada na concepção de um projecto futuro. PAG.2

MANUAL DE UTILIZAÇÃO ARRANQUE DO PROGRAMA Para se utilizar esta ferramenta de apoio a projectos, é necessário que em primeiro lugar o utilizar esteja com o AutoCAD em funcionamento. Uma vez em funcionamento, é possível aceder à função por várias maneiras. Escrevendo na Janela de Comandos a seguinte expressão (load caminho onde o programa se encontra, introduzindo sempre uma dupla barra em vez da habitual barra individual. Exemplo: (load c:\\autolips\\cotovelo.lsp. Para além da via descrita, é também possível correr a aplicação através da barra de menus. Neste caso deverá ir ao menu Tools -> AutoLISP -> Load. Será então aberta uma janela, onde terá oportunidade de seleccionar o ficheiro com a aplicação., de acordo com a directoria onde este esteja guardado. Uma vez a aplicação tenha sido colocada em funcionamento através de um dos processos anteriormente descritos, para iniciar a sua utilização deverá escrever na Janela de Comandos COTOVELO seguido de um Enter. Será lhe colocada a possibilidade de realizar a aplicação através de Caixas de diálogo ou da Janela de Comandos. PAG.3

UTILIZAÇÃO DE CAIXAS DE DIÁLOGO A caixa de diálogo é uma forma mais intuitiva de realizar aplicação, tendo apenas o conveniente de a selecção da vista ter que ser feita em após seleccionar o ponto de aplicação e a respectiva direcção. A direcção segundo a qual o desenho deverá ser feito, poderá ser obtido não só seleccionando um segundo ponto, mas também por via de ângulos precisos, bastando para tal escrever o respectivo ângulo em graus na Janela de Comandos. UTILIZAÇÃO VIA JANELA DE COMANDOS A Janela de Comandos será porventura a forma mais rápida de realizar a aplicação, uma vez que necessita de um menor número de movimentos. Também possui a particularidade de a escolha direcção segundo a qual o desenho deverá ser feito, poderá ser feita Graficamente ou via Janela de Comandos. PAG.4

MANUAL TÉCNICO Considerações Genéricas O desconhecimento do formato físico da peça e, consequentemente, das várias dimensões que esta pode tomar, levou a que se considerasse dimensões relativas, ou seja, algumas dimensões de certas partes da peça estão em função de uma determinada dimensão referida pelo produtor. A não definição de Layers durante a execução da aplicação, foi considerada tendo como objectivo evitar eventuais conflitos com layers já definidos. Como tal usou-se como Template base o a4y.dwt, disponível no site da disciplina. Por razões de simplicidade optou-se por alterar em 180º a convenção habitual dos eixos. Assim, se visualizar a peça como ela estando desenha em 90º segundo a horizontal, os eixo a adoptar é o apresentado na figura 1. Caso visualize a peça segundo a horizontal (0º a figura 2 é que foi adoptada. Pi -Pi/2 -Pi/2 Pi/2 0 Pi 0 Figura 1 Orientação dos eixos, quando se pretende desenhar a peça segundo 90º com a horizontal. Pi/2 Figura 2 Orientação dos eixos, quando se pretende desenhar a peça segundo a horizontal. A aplicação foi dividida em várias funções, não só para ser melhor compreendidas mas também para facilitar a utilização de caixas de diálogo. PAG.5

PROGRAMA PRINCIPAL Este é o programa principal da aplicação. Numa primeira fase, desliga alguns comandos como o OOSNAP, OECHO, OBLIP, para que o desenho se faça normalmente. Depois pede um conjunto de informações ao utilizador (ponto inicial, direcção, referência da peça e a vista e desenha-a a peça pretendida, recorrendo a determinadas funções. Código: (defun c:cotovelo ( (alert " Confirme que o ficheiro CFAC.lsp se encontra na directoria C:\AutoLISP. " (setq oblip(getvar "blipmode" ;guarda modo de colocação de cruzes nos pontos oecho(getvar "cmdecho" ;guarda 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 actual (setq continuar 1 (while (= continuar 1 (initget 1 "S N" (setq metodo (getkword "\n Deseja usar caixa de diálogo?(s/n" (If (= metodo "N" (progn (initget 1 (setq pt0 (getpoint "\nselecione o Ponto Inicial: " (initget 1 "1 2" (setq vista (getkword "\nde frente(1 de lado(2: " (setq vista (atof vista (setq ref (getreal "\Qual a nº de referencia?" (initget 1 ;não adite resposta nula (setq alfa (getangle pt0 "\ndefina direcção do eixo (direcção do resto do corpo:" (leitura (progn (dialogo (leitura ; end if ; chama a função Diálogo ; chama a função Leitura PAG.6

(if (= ierro 0 (progn (setq pi2 (/ pi 2 pi4 (/ pi 4 pi6 (/ pi 6 pi8 (/ pi 8 (cond ((= vista 1 (vista_frente ; desenho da vista de frente ((= vista 2 (vista_lado ; desenho da vista de lado ;end cond ;end progn (prompt "\n A referencia introduzida não existe no fx!" ;end if (dialogo2 ;chama a função dialogo2 (if (= dial2 0 ;caso o ficheiro dialogo.dcl não seja encontrado (progn (initget "S N" (prompt "\ndesenhar mais alguma vista?(s/n" (setq continuar (getkword (if (= continuar "S" (setq continuar 1 (setq continuar 0 ;end progn ;end if ;end While ;end defun PAG.7

FUNÇÃO LEITURA Esta função permite ler do ficheiro cfac.txt, as dimensões relativas à referência da peça seleccionada pelo utilizador. Os dados relativos ao referido ficheiro encontram-se na seguinte figura. Ref L4 L3 L2 L1 i S2 D Mp p dk di s 1234567890123456789012345678901234567890123456789012345678901234567890123456789012345 289,19.8,39,16.5,44.5,30.5,12.5,19,35,6,1,10,4.917,5 290,20.2,39,16.5,44.5,30.5,12.5,22,35,6,1,10,4.917,5 291,21.9,39,16.5,45,30,12.5,27,35,6,1,10,4.917,5 292,26.2,39,20,47.5,29.5,12.5,30,35,6,1,10,4.917,5 293,39.4,39,25,56,34.5,12.5,36,35,6,1,10,4.917,5 294,23.3,42,22.5,45,30,12.5,27,40,6,1,10,4.917,5 295,25.3,42,22.5,46.5,30.5,12.5,32,40,6,1,10,4.917,5 296,27.5,42,22.5,46.5,30.5,12.5,36,40,6,1,10,4.917,5 297,37.1,42,28,49,32.5,12.5,41,40,6,1,10,4.917,5 298,51.6,42,30,52,30.5,12.5,45,40,6,1,10,4.917,5 299,34.4,42,22.5,51,29.5,12.5,36,40,6,1,10,4.917,5 719,60.5,58,24,52,35.5,12.5,36,55,8,1.25,13,6.647,6 300,68.8,58,32,60,38.5,12.5,50,55,8,1.25,13,6.647,6 301,90.9,58,40,60.5,38,12.5,60,55,8,1.25,13,6.647,6 302,58.5,58,24,56,34.5,12.5,36,55,8,1.25,13,6.647,6 303,78.4,58,30,61,37,12.5,46,55,8,1.25,13,6.647,6 304,77.1,58,32,62,35.5,12.5,50,55,8,1.23,13,6.647,6 Este tabela encontra-se ordenada verticalmente por referência e horizontalmente pelas dimensões relativas a cada referência. A primeira linha da tabela diz respeito às nomenclaturas utilizadas ao longo do código, cujo o significado é aqui explicado: Ref - referência da peça; L4 ver figura 4; L3 - ver figura 3; L2 - ver figura 3; L1 - ver figura 3; i - ver figura 3; S2 entre faces da porca hexagonal (ver figura 3; D ver figura 4; Mp diâmetro nominal do parafuso; p passo do parafuso; dk diâmetro da cabeça do parafuso; di diâmetro interior do parafuso; Figura 3- Vista Lateral da peça. Código: (defun leitura ( (setq linha nil listref nil i -1 ;variáveis de controle PAG.8

(while (= linha nil ;leitura da tabela (setq f (open "c:\\autolisp\\cfac.txt" "r" dif 0.0 ierro 0 (if (= f nil (progn (Alert "Ficheiro 'cfac.txt' não encontrado! Verifique se o ficheiro se encontra na directoria :\autolisp" (setq lixo (getstring "\Introduza ENTER" ierro 1 ; Ficheiro não existe linha "1" ;end progn (progn (initget (+ 1 2 4 (While (and (/= ref dif (= ierro 0 (setq linha (read-line f (If (and (/= linha nil (= ierro 0 (setq dif (atof (substr linha 1 4 listref (append listref (list dif ; guarda a referência lida (setq dif ref ; senão não encontrar nenhuma referência ierro 2 ; referência não encontrada ;end if ;end while (close f (if (= ierro 2 (progn (alert "\nreferência não encontrada. Tente novamente. Referências possíveis: 289 até 299, 719, 300 até 304" (prompt "\nreferências possíveis: 289 até 299, 719, 300 até 304" (setq ierro 0 linha 1000 ;end progn ;end if ;end while (If (= ierro 0 PAG.9

(progn ;definão dos parâmetros do ficheiro relativos à referência (setq L4 (atof (substr linha 15 3 L3 (atof (substr linha 20 4 L2 (atof (substr linha 27 4 L1 (atof (substr linha 34 4 i (atof (substr linha 41 4 ef (atof (substr linha 48 3 ; entre faces da porca hexagonal D (atof (substr linha 54 3 L1L2 (- L2 L1 ; altura de S2 Mp (atof (substr linha 59 2 ; diâmetro do parafuso p (atof (substr linha 63 4 ; passo do parafuso dk (atof (substr linha 68 3 ; diâmetro da cabeça do parafuso di (atof (substr linha 73 6 ; diâmetro interior s (atof (substr linha 81 2 ;end if ;end defun PAG.10

FUNÇÃO VISTA DE LADO Esta função que permite desenhar a peça de lado, que se encontra representada na figura 3. Para tal, recorre para além do respectivo código, a duas funções: Função Intermédio permite desenhar a parte intermédia; Função DesenhoS2 permite desenhar a porca S2. Ao longo do código irão ser apresentadas figuras, que permitirão entender o código e os procedimentos de uma forma mais precisa. Todas as figuras apresentadas encontram-se numa posição que faz 90º com a horizontal. Como tal deverá orientar-se segundo os eixos representados na figura 1. Figura 3- Vista Lateral da peça. Código: (defun vista_lado ( (setq ptf1 (desenhos2 pt0 ef L1L2 (SETQ pt9 ptf1 (intermedio pt9 comprimento (setq pt7 pt29 B (/ (distance pt29 pt34 2 ; DEFINIÇÂO DOS PONTOS ; função que permite desenhar S2 ; função que permite desenhar Intermédio ;Calculo dos pontos da parte superior da peça (setq pt20 (polar pt7 (- pi2 (+ B L3 pt27 (polar pt20 pi L4 ; Parafuso - Inferior (setq A (- (/ L4 2 (* (/ D 2 (cos pi4 (setq pt22 (polar pt20 pi A (setq pt21 (polar pt22 0 (/ Mp 2 PAG.11

pt23 (polar pt22 pi (/ Mp 2 pt211 (polar pt21 (- pi2 (- i (- (/ Mp 2 (/ di 2 pt231 (polar pt23 (- pi2 (- i (- (/ Mp 2 (/ di 2 (setq ptf21 (polar pt22 0 (/ di 2 ptf23 (polar pt22 pi (/ di 2 ptf211 (polar ptf21 (- pi2 i ptf231 (polar ptf23 (- pi2 i ;Parafuso - Superior (setq pt25 (polar pt27 0 A (setq pt24 (polar pt25 0 (/ Mp 2 pt26 (polar pt25 pi (/ Mp 2 pt241 (polar pt24 (- pi2 (- i (- (/ Mp 2 (/ di 2 pt261 (polar pt26 (- pi2 (- i (- (/ Mp 2 (/ di 2 (setq ptf24 (polar pt25 0 (/ di 2 ptf26 (polar pt25 pi (/ di 2 ptf241 (polar ptf24 (- pi2 i ptf261 (polar ptf26 (- pi2 i ;Cabeça do Parafuso - superior (setq pt28 (polar pt27 pi2 (/ L3 2.125 (setq pt29 (polar pt28 0 (* dk 1.4 (setq pt30 (list (- (car pt25 (/ (* dk 1.1 2 (+ (cadr pt25 (/ L3 2.125 pt33 (list (+ (car pt25 (/ (* dk 1.1 2 (+ (cadr pt25 (/ L3 2.125 (setq pt31 (polar pt30 pi2 (* dk 0.1 pt32 (polar pt33 pi2 (* dk 0.1 (setq pt34 (list (+ (car pt31 (- (/ (* 1.1 dk 2 (/ dk 2 (cadr pt31 PAG.12

pt37 (list (- (car pt32 (- (/ (* 1.1 dk 2 (/ dk 2 (cadr pt32 (setq pt35 (polar pt34 pi2 Mp pt36 (polar pt37 pi2 Mp ;Cabeça do Parafuso - inferior (setq pt40 (polar pt20 pi2 (+ L3 (/ L3 3 pt50 (polar pt40 pi (* 1.4 dk (setq pt41 (list (- (car pt22 (/ (* dk 1.1 2 (+ (cadr pt22 (+ L3 (/ L3 3 pt44 (list (+ (car pt22 (/ (* dk 1.1 2 (+ (cadr pt22 (+ L3 (/ L3 3 (setq pt42 (polar pt41 pi2 (* dk 0.1 pt43 (polar pt44 pi2 (* dk 0.1 (setq pt45 (list (+ (car pt42 (- (/ (* 1.1 dk 2 (/ dk 2 (cadr pt42 pt48 (list (- (car pt43 (- (/ (* 1.1 dk 2 (/ dk 2 (cadr pt43 (setq pt46 (polar pt45 pi2 Mp pt47 (polar pt48 pi2 Mp ; Símbolo da Waltersheid (setq ptm200 (list (car pt22 (+ (cadr pt22 (/ L3 2 ptm201 (polar ptm200 (+ (- pi2 pi6 (/ dk 1.5 ptm202 (polar ptm201 (- pi2 pi6 (/ dk 1.5 ptm203 (polar ptm202 (+ pi2 pi6 (/ dk 1.5 (setq ptmm210 (polar ptm200 (- pi2 pi6 (/ (distance ptm200 ptm203 3 ptm210 (list (+ (car ptmm210 (* L3 0.01 (cadr ptmm210 ptmm211 (polar ptm201 (+ pi2 pi6 (/ (distance ptm200 ptm203 3 ptm211 (list (+ (car ptmm211 (* L3 0.01 (cadr ptmm211 PAG.13

ptmm213 (polar ptm201 (- pi2 pi6 (/ (distance ptm200 ptm203 3 ptm213 (list (- (car ptmm213 (* L3 0.01 (cadr ptmm213 ptm212 (list (+ (car ptm200 (/ (distance ptm200 ptm202 2 (cadr ptm210 ptmm214 (polar ptm202 (+ pi2 pi6 (/ (distance ptm200 ptm203 3 ptm214 (list (- (car ptmm214 (* L3 0.01 (cadr ptmm214 ;ranhuras - Interior da Peça (setq pt300 (polar pt50 (- pi2 (* A 0.1 pt301 (polar pt300 (- pi2 (* 0.9 L3 pt302 (list (car pt23 (cadr pt300 pt303 (list (car pt302 (cadr ptm201 (setq pt304 (list (- (car pt303 (* L3 0.05 (- (cadr pt303 (* L3 0.05 pt305 (list (+ (car pt24 (* L3 0.05 (cadr pt304 (setq pt306 (list (car pt24 (+ (cadr pt305 (* L3 0.05 pt307 (list (car pt306 (+ (cadr pt306 (* L3 0.2 (setq pt308 (list (- (car pt301 (* L3 0.03 (- (cadr pt301 (* L3 0.05 pt309 (polar pt308 pi (* L3 0.2 (setq pt310 (list (- (car pt309 (* L3 0.05 (+ (cadr pt309 (* L3 0.05 pt311 (polar pt310 pi2 (* L3 0.1 (setq pt312 (list (- (car pt311 (* L3 0.03 (+ (cadr pt311 (* L3 0.03 pt313 (list (car pt29 (cadr pt312 (setq pt314 (list (+ (car pt301 (* L3 0.05 (- (cadr pt301 (* L3 0.05 pt315 (list (- (car pt303 (* L3 0.04 (cadr pt303 (setq pt316 (list (- (car pt309 (* L3 0.09 (- (cadr pt309 (* L3 0.02 PAG.14

pt317 (list (car pt313 (- (cadr pt316 (* L3 0.09 pt318 (polar pt305 pi2 (* L3 0.03 (setq pt320 (list (car pt45 (+ (cadr pt45 (* L3 0.02 ;ranhura - Cabeça do Parafuso Inferior (setq pt350 (polar pt48 pi (* dk 0.08 pt351 (polar pt350 pi2 (* Mp 0.9 pt352 (polar pt350 pi (* dk 0.08 pt353 (polar pt352 pi2 (* Mp 0.9 pt354 (polar pt352 pi (* dk 0.08 pt355 (polar pt354 pi2 (* Mp 0.8 pt356 (polar pt354 pi (* dk 0.08 pt357 (polar pt356 pi2 (* Mp 0.7 pt358 (polar pt356 pi (* dk 0.08 pt359 (polar pt358 pi2 (* Mp 0.6 pt360 (polar pt358 pi (* dk 0.08 pt361 (polar pt360 pi2 (* Mp 0.55 pt362 (polar pt360 pi (* dk 0.08 pt363 (polar pt362 pi2 (* Mp 0.5 pt364 (polar pt362 pi (* dk 0.08 pt365 (polar pt364 pi2 (* Mp 0.45 pt366 (polar pt364 pi (* dk 0.08 pt367 (polar pt366 pi2 (* Mp 0.4 pt368 (polar pt366 pi (* dk 0.08 pt369 (polar pt368 pi2 (* Mp 0.35 ;ranhura - Cabeça do Parafuso Superior (setq pt370 (polar pt37 pi (* dk 0.08 pt371 (polar pt370 pi2 (* Mp 0.9 pt372 (polar pt370 pi (* dk 0.08 pt373 (polar pt372 pi2 (* Mp 0.9 pt374 (polar pt372 pi (* dk 0.08 pt375 (polar pt374 pi2 (* Mp 0.8 pt376 (polar pt374 pi (* dk 0.08 pt377 (polar pt376 pi2 (* Mp 0.7 pt378 (polar pt376 pi (* dk 0.08 pt379 (polar pt378 pi2 (* Mp 0.6 pt380 (polar pt378 pi (* dk 0.08 pt381 (polar pt380 pi2 (* Mp 0.55 pt382 (polar pt380 pi (* dk 0.08 pt383 (polar pt382 pi2 (* Mp 0.5 pt384 (polar pt382 pi (* dk 0.08 pt385 (polar pt384 pi2 (* Mp 0.45 PAG.15

pt386 (polar pt384 pi (* dk 0.08 pt387 (polar pt386 pi2 (* Mp 0.4 pt388 (polar pt386 pi (* dk 0.08 pt389 (polar pt388 pi2 (* Mp 0.35 ;arco de fora (setq pt55 (list (car pt47 (cadr pt7 (setq pt60 (list (car pt46 (cadr pt7 pt61 (list (car pt316 (cadr pt50 pt62 (list (car pt307 (cadr pt35 ; DESENHO propriamente dito (command "layer" "s" "tg" (command ;arco exterior (rot pt7 (rot pt55 (rot pt60 (rot pt61 (rot pt62 ; Parte de cima (rot Pt7 (rot pt20 (rot pt27 (rot pt27 (rot pt28 (setq ref1 (entlast (command (rot pt28 (rot pt29 PAG.16

(setq ref2 (entlast (setq r (* L3 0.05 (command "fillet" "r" r "fillet" ref1 ref2 (command "layer" "s" "tf" (command ;Parafusos (rot pt21 (rot pt211 (rot pt231 (rot pt23 (rot pt24 (rot pt241 (rot pt261 (rot pt26 ;Parafuso inferior - traço fino (rot ptf21 (rot ptf211 (rot ptf231 (rot ptf23 (rot ptf24 (rot ptf241 (rot ptf261 (rot ptf26 (rot pt211 (rot ptf211 (rot pt231 (rot ptf231 (rot pt241 (rot ptf241 PAG.17

(rot pt261 (rot ptf261 (rot pt241 (rot pt261 (rot pt231 (rot pt211 ;Cabeça dos Parafusos - Superior (rot pt30 (rot pt31 (rot pt32 (rot pt33 (rot pt34 (rot pt35 (rot pt36 (rot pt37 ;Cabeça dos Parafusos - Inferior (rot pt40 (rot pt50 (rot pt41 (rot pt42 (rot pt43 (rot pt44 (rot pt45 (rot pt46 (rot pt47 (rot pt48 PAG.18

;símbolo da Waltersheid (rot ptm200 (rot ptm201 (rot ptm202 (rot ptm203 (rot ptm200 (rot ptm210 (rot ptm211 (rot ptm212 (rot ptm213 (rot ptm214 ;ranhura - Cabeça do Parafuso inferior (rot pt350 (rot pt351 (rot pt352 (rot pt353 (rot pt354 (rot pt355 (rot pt356 (rot pt357 (rot pt358 (rot pt359 (rot pt360 (rot pt361 (rot pt362 (rot pt363 PAG.19

(rot pt364 (rot pt365 (rot pt366 (rot pt367 (rot pt368 (rot pt369 ;ranhura - Cabeça do Parafuso inferior (rot pt370 (rot pt371 (rot pt372 (rot pt373 (rot pt374 (rot pt375 (rot pt376 (rot pt377 (rot pt378 (rot pt379 (rot pt380 (rot pt381 (rot pt382 (rot pt383 (rot pt384 (rot pt385 PAG.20

(rot pt386 (rot pt387 (rot pt388 (rot pt389 (command "layer" "s" "tg" (command ;ranhura - Interior da peça (rot pt300 (rot pt301 (rot pt302 (rot pt303 (rot pt304 (rot pt305 (rot pt306 (rot pt307 (rot pt308 (rot pt309 (rot pt310 (rot pt311 (rot pt312 (rot pt313 (rot pt314 (rot pt315 (rot pt316 PAG.21

(rot pt317 (rot pt318 (rot pt320 (rot pt50 ;end defun PAG.22

FUNÇÃO DESENHOS2 Código: defun desenhos2 (ptzero efdes L1L2des / pt1 pt2 pt3 pt4 pt5 pt6 pt7 pt8 pt10 pt11 pt12 pt13 pt14 pt15 pt16 pt17 pt13aux pt12aux pt1aux pt2aux e pi6 pi2 (setq pi6 (/ pi 6 (setq pi2 (/ pi 2 (setq e (/ efdes (cos pi6 (setq fl (/ (- e efdes 2 (setq fl (* fl (/ (sin pi6 (cos pi6 ; DEFINIÇÂO DOS PONTOS (setq pt5 (list (- (car ptzero L1L2des (+ (cadr ptzero (/ e 2 pt8 (list (- (car ptzero L1L2des (+ (cadr ptzero (/ e 4 pt10 (list (- (car ptzero L1L2des (- (cadr ptzero (/ e 4 pt13 (list (- (car ptzero L1L2des (- (cadr ptzero (/ e 2 (setq pt1 (polar pt8 0 (- L1L2des fl pt9 (polar ptzero pi (+ L1L2des fl pt7 (polar pt9 pi2 (/ (* e 3 8 pt2 (polar pt7 0 (+ L1L2des fl pt4 (polar pt5 0 (- L1L2des fl pt11 (polar pt9 (- pi2 (/ (* e 3 8 pt14 (polar pt13 0 (- L1L2des fl pt16 (polar pt11 0 (+ L1L2des fl pt17 (polar pt10 0 (- L1L2des fl (setq comprimento (distance pt7 pt11 ; DESENHO propriamente dito (command "layer" "s" "tg" (command (rot pt5 (rot pt7 (rot pt8 PAG.23

(rot pt8 (rot pt9 (rot pt10 (rot pt10 (rot pt11 (rot pt13 (rot pt17 (rot pt16 (rot pt14 (rot pt1 (rot ptzero (rot pt17 (rot pt4 (rot pt2 (rot pt1 (rot pt16 (rot pt2 (rot pt4 (rot pt5 (rot pt7 (rot pt11 "LINE" (rot pt13 (rot pt14 (rot pt1 (rot pt8 (rot pt17 (rot pt10 (setq ptfim pt9 PAG.24

FUNÇÃO INTERMÉDIO Código: (defun intermedio (ptmeio comprimentok / pt21 pt22 pt23 pt24 pt25 pt26 pt27 pt28 pt30 pt31 pt32 pt33 (setq pt21 (polar ptmeio pi2 (/ comprimentok 2 pt22 (polar ptmeio (- pi2 (/ comprimentok 2 pt23 (polar pt21 pi (/ ef 20 pt24 (polar pt22 pi (/ ef 20 pt25 (polar pt23 pi (* L1 0.05 pt26 (polar pt25 (- pi2 (* L1 0.05 pt27 (polar pt26 pi (- (- L1 fl (/ ef 20 (/ L4 2 (* L1 0.05 (* L1 0.03 pt28 (polar pt27 pi2 (* L1 0.03 pt29 (polar pt28 pi (* L1 0.03 pt30 (polar pt24 pi (* L1 0.05 pt31 (polar pt30 pi2 (* L1 0.05 pt32 (polar pt31 pi (- (- L1 fl (/ ef 20 (/ L4 2 (* L1 0.05 (* L1 0.03 pt33 (polar pt32 (- pi2 (* L1 0.03 pt34 (polar pt33 pi (* L1 0.03 (setq pt35 (list (car pt26 (- (cadr pt26 (* L3 0.1 pt36 (list (car pt31 (+ (cadr pt31 (* L3 0.1 ; DESENHO propriamente dito (command "layer" "s" "tg" (command (rot pt21 (rot pt23 (rot pt24 (rot pt22 PAG.25

"c" (rot pt25 (rot pt26 (rot pt23 (rot pt26 (rot pt27 "c" (rot pt28 (rot pt29 (rot pt27 "c" (rot pt30 (rot pt24 (rot pt31 (rot pt31 (rot pt32 "c" (rot pt33 (rot pt32 (rot pt34 (command "layer" "s" "tf" (command (rot pt35 (rot pt36 ;end defun PAG.26

FUNÇÃO VISTA DE FRENTE A perspectiva da peça de frente está representada na figura 4. Como é visível, a parte intermédia que foi considerada na vista de lado, figura 1, é igual á que esta figura possui, logo faz todo o sentido usar a mesma função função Intermédio. O restante desenho da peça é feito nesta função sem recurso a mais nenhuma função. Código: Figura 4 Vista de frente da peça. (defun vista_frente ( (setq e (/ ef (cos pi6 (setq fl (/ (- e ef 2 (setq fl (* fl (/ (sin pi6 (cos pi6 ; DEFINIÇÂO DOS PONTOS ;BASE (setq pt1 (polar pt0 pi fl pt2 (polar pt0 pi2 (/ ef 4 pt3 (polar pt1 pi2 (/ ef 2 pt4 (polar pt3 pi (- L1L2 fl pt5 (polar pt2 pi (+ L1L2 fl pt6 (polar pt1 pi (- L1L2 fl pt10 (polar pt2 (- pi2 (/ ef 2 pt9 (polar pt1 (- pi2 (/ ef 2 pt8 (polar pt9 pi (- L1L2 fl pt7 (polar pt10 pi (+ L1L2 fl (setq pt11 (polar pt3 0 fl pt12 (polar pt4 pi fl pt13 (polar pt8 pi fl pt14 (polar pt9 0 fl pt15 (polar pt6 pi fl (setq e (/ ef (cos pi6 comprimento (* (/ (* e 3 8 2 PAG.27

(If (< comprimento (* 0.8 L4 (setq comprimento comprimento (setq comprimento (* 0.75 L4 ;INTERMÉDIO - Calculos dos pontos intermédios (intermedio pt15 comprimento ;Parte superio da peça (setq pt31 (polar pt29 (- pi2 (/ (distance pt29 pt34 2 (setq A (- (/ L4 2 (* (/ D 2 (cos pi4 (setq pt40 (list (- (car pt31 A (+ (cadr pt31 (- (/ L4 2 A pt41 (list (- (car pt31 A (- (cadr pt31 (- (/ L4 2 A pt42 (list (- (car pt31 (- L4 A (+ (cadr pt31 (- (/ L4 2 A pt43 (list (- (car pt31 (- L4 A (- (cadr pt31 (- (/ L4 2 A ;semi-circulo interior (setq ptc80 (polar pt31 pi (/ L4 2 pt80 (polar ptc80 pi (* L1 0.01 pt81 (polar ptc80 pi2 (- (* D 0.5 (* 1.1 (/ dk 2 pt82 (polar ptc80 (- pi2 (- (* D 0.5 (* 1.1 (/ dk 2 pt83 (polar ptc80 pi (- (* D 0.5 (* 1.1 (/ dk 2 (setq pt84 (polar pt81 0 (* L4 0.1 pt85 (polar pt82 0 (* L4 0.1 ;Contornos superiores (linhas (setq pt50 (polar pt40 pi2 A pt51 (polar pt41 (- pi2 A pt52 (polar pt42 pi2 A pt53 (polar pt43 (- pi2 A pt60 (polar pt40 0 A pt61 (polar pt41 0 A pt62 (polar pt42 pi A pt63 (polar pt43 pi A PAG.28

;pormenores (setq pt100 (polar pt42 (- (- pi4 pi2 A pt102 (polar pt43 (+ (- pi4 pi2 A pt101 (POLAR pt100 (+ (- pi2 pi4 3 pt103 (POLAR pt102 pi4 3 (setq pt104 (polar pt40 (- pi pi6 A pt105 (polar pt41 (+ pi pi6 A (setq pt106 (polar pt40 (+ pi pi6 A pt108 (polar pt41 (- pi pi6 A (setq pt107 (list (+ (car pt84 (* L3 0.01 (cadr pt84 pt109 (list (+ (car pt85 (* L3 0.01 (cadr pt85 ; DESENHO propriamente dito (command "layer" "s" "tg" (command ;desenho da base (rot pt1 (rot pt2 (rot pt3 (rot pt4 (rot pt5 (rot pt6 (rot pt6 (rot pt7 (rot pt8 (rot pt9 (rot pt10 (rot pt1 (rot pt0 (rot pt15 (rot pt11 PAG.29

(rot pt12 (rot pt13 (rot pt14 "c" ;circulos "circle" (rot pt40 (/ (* s 1.14 2 "circle" (rot pt40 (/ dk 2 "circle" (rot pt40 (* 1.1 (/ dk 2 (setq ref5 (entlast (command "dimcen" 1.0 (command "dimcenter" ref5 (command "circle" (rot pt41 (/ (* s 1.14 2 "circle" (rot pt41 (* 1.1 (/ dk 2 "circle" (rot pt41 (/ dk 2 "circle" (rot pt42 (/ (* s 1.14 2 "circle" (rot pt42 (* 1.1 (/ dk 2 "circle" (rot pt42 (/ dk 2 "circle" (rot pt43 (/ (* s 1.14 2 "circle" (rot pt43 (* 1.1 (/ dk 2 "circle" PAG.30

(rot pt43 (/ dk 2 (rot pt81 (rot pt83 (rot pt82 (setq refscir (entlast (command (rot pt81 (rot pt84 (setq ref1 (entlast (command "c" (rot pt40 (rot pt60 "a" "-150" (command (rot pt82 (rot pt85 (setq ref3 (entlast (command "c" (rot pt41 (rot pt61 "a" "150" (command ;linhas do quadrado (rot pt50 (rot pt52 PAG.31

"c" (rot pt42 (rot pt62 "a" "-135" (rot pt53 (rot pt51 "c" (rot pt41 (rot pt61 "a" "-150" (rot pt61 (rot pt60 "c" (rot pt40 (rot pt60 "a" "150" (rot pt62 (rot pt63 "c" (rot pt43 (rot pt63 "a" "135" ;pormenores (rot pt100 (rot pt101 PAG.32

(setq refscir1 (entlast (command "extend" refscir refscir1 (command (rot pt102 (rot pt103 (setq refscir1 (entlast (command "extend" refscir refscir1 (command (rot pt104 (rot pt84 (setq ref2 (entlast (command (rot pt105 (rot pt85 (setq ref4 (entlast (setq r (* dk 0.1 (command "fillet" "r" r "fillet" ref1 ref2 (command "fillet" "r" r "fillet" ref3 ref4 (command (rot pt108 (rot pt85 (setq ref5 (entlast (command (rot pt106 (rot pt84 (setq ref6 (entlast (command "fillet" "r" r "fillet" ref1 ref6 (command "fillet" "r" r "fillet" ref3 ref5 ; Pormenor da cabeça do parafuso (command "polygon" 6 (rot pt40 "i" (/ (* s 1.14 2 (setq ent (entlast (command "rotate" ent (rot pt40 90 PAG.33

(command "polygon" 6 (rot pt41 "i" (/ (* s 1.14 2 (setq ent (entlast (command "rotate" ent (rot pt41 90 (command "polygon" 6 (rot pt42 "i" (/ (* s 1.14 2 (setq ent (entlast (command "rotate" ent (rot pt42 90 (command "polygon" 6 (rot pt43 "i" (/ (* s 1.14 2 (setq ent (entlast (command "rotate" ent (rot pt43 90 ;end defun PAG.34

FUNÇÃO ROTAÇÃO Esta função tem como principal objectivo, proporcionar ao utilizador desenhar a peça em causa segundo qualquer direcção. Possui a particularidade de alterar em 180º (pi a habitual convenção dos eixos, por razões já referidas no início deste capítulo aquando das considerações adoptadas. Código: (defun rot (ptc / dx dy seno cosse xx yy ptn (setq dx (- (car ptc (car pt0 dy (- (cadr ptc (cadr pt0 seno (sin (+ pi alfa cosse (cos (+ pi alfa xx (- (* cosse dx (* seno dy yy (+ (* seno dx (* cosse dy ptn (list (+ xx (car pt0 (+ yy (cadr pt0 PAG.35

FUNÇÃO DE DIÁLOGO Esta aplicação tem a particularidade de dar a possibilidade ao utilizador de desenhar a peça via caixa de diálogo ou via Janela de Comando. Esta Função permite o desenho ser feito, através de uma Caixa de diálogo, utilizando como auxílio um determinado código que permitia obter o design da própria caixa de diálogo. Como tal, este sub capítulo está dividido em duas partes, uma relativa ao código de AutoLISP e outra relativa ao código DCL. A Função diálogo recorre a uma pequena função chamada DGET, que permite memorizar a referência seleccionada através da Combo-box existente na caixa de diálogo. Código DCL: // Elbow Flange coupling - WAL PRO // by Rui Miranda dialogo : dialog { label = "Elbow flange coupling - WALPRO" ; :boxed_column{ : 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; } PAG.36

} :boxed_column{ label = "Referência do objecto:"; : popup_list { //define uma popup list box label = "Selecione a referência:"; key = "cmb_lb1"; //nome da popup list list = 289\n290\n291\n292\n293\n294\n295\n296\n296\n297\n298\n299\n719\n300\n301\n302\n303\n304"; // referências height = 20; width = 8; fixed_width = true; fixed_height = true; alignment = centered; } } :radio_row{ label = "Vista pertendida"; alignment = top; :radio_button { label="vista de frente"; key="opt_vf"; value="1"; } } :radio_button { label="vista de lado"; key="opt_vl"; value="0"; } ok_cancel ; } //fim Código AutoLIPS: (defun dialogo ( (setq what_next 5 (setq dcl_id (load_dialog "c:\\autolisp\\dialogo.dcl" PAG.37

(if (not graus (setq graus "0" (while (< 2 what_next (if (not (new_dialog "dialogo" dcl_id (exit ;end if (action_tile "opt_vf" "(setq vista 1" (action_tile "opt_vl" "(setq vista 2" (action_tile "cmd_pti" " (done_dialog 4" (action_tile "cmd_dir" "(done_dialog 3" (action_tile "accept" "(setq vista vista(dget(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 (if (= what_next 4 ; se o botão Ponto Inicial for pressionado (progn (initget 1 (setq pt0 (getpoint "\nselecione o Ponto Inicial: " (if (= what_next 3 ; se o botão Direcção for pressionado (progn (initget 1 (setq alfa (getangle pt0 "\ndefina a direcção do eixo:" (setq graus (rtos (/ (* alfa 180 pi ; end while (start_dialog (unload_dialog dcl_id ;end defun (defun dget ( ;função que quando o utilizador fecha a caixa de dialogo, vai guardar os valores (setq dtemp (get_tile "cmb_lb1" (cond ((= dtemp "0" (setq ref 289 ((= dtemp "1" (setq ref 290 ((= dtemp "2" (setq ref 291 ((= dtemp "3" (setq ref 292 ((= dtemp "4" (setq ref 293 ((= dtemp "5" (setq ref 294 ((= dtemp "6" (setq ref 295 ((= dtemp "7" (setq ref 296 PAG.38

((= dtemp "8" (setq ref 297 ((= dtemp "9" (setq ref 298 ((= dtemp "10" (setq ref 299 ((= dtemp "11" (setq ref 719 ((= dtemp "12" (setq ref 300 ((= dtemp "13" (setq ref 301 ((= dtemp "14" (setq ref 302 ((= dtemp "15" (setq ref 303 ((= dtemp "16" (setq ref 304 PAG.39

FUNÇÃO DIÁLOGO2 Esta caixa de diálogo apenas questiona o utilizador se pretende desenhar novamente a peça. Tal como a anterior, também possui código em DCL e em AutoLISP. Código DCL: dialogo2:dialog { label = " Elbow flange coupling - WALPRO "; spacer; :boxed_row{ label = " Deseja desenhar mais alguma vista? "; :button { label = "Sim"; key = "S"; } } } :button { is_default = true; label = "Não"; key = "N"; } Código AutoLISP: (defun dialogo2 ( ;função dialogo que perguntar se utilizador quer desenhar mais alguma vista (setq dial2 1 (setq dcl_id (load_dialog "c:\\autolisp\\dialogo2.dcl" (if (not (new_dialog "dialogo2" dcl_id (setq dial2 0 (action_tile "S" "(setq continuar 1(done_dialog" (action_tile "N" "(setq continuar 0(done_dialog" (start_dialog PAG.40

BIBLIOGRAFIA Apontamentos e acetatos das aulas de CFAC (Eng. João Tavares e Eng. Joaquim Fonseca, Faculdade de Engenharia da Universidade do Porto SIMÕES MORAIS, J. - Desenho Técnico Básico 3. Porto: Porto Editora. 22ª edição. 2002. FERREIRA, Fernando Luís; SANTOS, João; Programação em AutoCAD Curso completo; Editora FCA; 2002. Toturial de dcl disponibilizado em: http://www.caddepot.com/tips/dcl.zip PAG.41