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

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

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

Elbow flange coupling

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

Caixa de Velocidades. Índice

UNIVERSIDADE DO PORTO

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

AutoLISP -VII 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

2. LAYERS UTILIZADAS E APLICAÇÕES

Licenciatura em Gestão e Engenharia Industrial CFAC

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

CFAC: AutoLISP (I) - Introdução

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

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

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

AutoLISP -I Introdução

AutoLISP - VI Conjuntos de seleção

Conjuntos de selecção

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

Concepção e Fabrico Assistido por Computador

Concepção e Fabrico Assistidos por Computador

RELATÓRIO CFAC Ano lectivo

AutoLISP -V Manipulação de entidades

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

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

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

CARDANS. Trabalho realizado por: C.F.A.C. 2003/2004. Ricardo de Barros Monteiro

Concepção e Projecto Assistidos por Computador

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

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

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

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

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

Cabeça do motor e árvore de cames

LISP - Introdução. Existem vários dialectos de LISP: COMMON LISP (o mais sofisticado e mais utilizado) Outros: MAC LISP, INTERLISP, XLISP

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

João Carlos Neves Costa 4º Ano LGEI

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

MIEM Mestrado Integrado em Engenharia Mecânica

Concepção e Fabrico Assistido por Computador

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

Desenho/Formas SmartArt

Testes e Exames do Desenho Assistido por Computador Teste

Concepção e Fabrico Assistidos por Computador 3ºano 1º semestre. Licenciatura em Engenharia Mecânica. Professor: João Manuel R. S.

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

Programação e Computação para Arquitectura 2007/2008

DEMEGI Departamento de Engenharia Mecânica e Gestão Industrial. SDI Secção de Desenho Industrial

Modelação Tridimensional

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

Engenharia de Software

Aplicação da Programação CNC a um Eléctrodo com Forma de uma Cruzeta

Exemplos de Programas para Tratamento de Ficheiros DXF. João Manuel R. S. Tavares Joaquim Oliveira Fonseca

Introdução ao AutoCAD Capitulo VI: Adicionar texto

MOLDE PARA PRODUÇÃO DE CABIDES

VBA Visual Basic for Applications. APROG - Civil

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

ESCOLA SECUNDÁRIA MANUEL DA FONSECA - SANTIAGO DO CACÉM

Exercícios de Programação e Computação para Arquitectura. António Menezes Leitão

2º Laboratório de Sistemas e Sinais (LEIC Alameda 2008/09)

Ficha de Unidade Curricular 2009/2010

SInOA - Sistema de Informação da Ordem dos Advogados

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

Pró-Reitoria de Graduação Curso de Engenharia Civil Trabalho de Conclusão de Curso

Introdução ao SolidWorks

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

Concepção e Fabrico Assistido por Computador. Diferencial AUTODESK INVENTOR

Exercícios de Programação e Computação para Arquitectura. António Menezes Leitão

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

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

AMG Modelo (1) Rosca da ligação (Dim. nominal B) Peso (kg)

Manual de Utilização MU /2013. Serviços ao Cidadão Académico-eSCA Versão - Docentes

Projecto de Investigação 2001/2002. Equipment Cost v1.0. Manual de Apoio

ÍNDICE PROGRAMÁTICO DA ACÇÃO DE FORMAÇÃO DE DESENHO ASSISTIDO POR COMPUTADOR, AutoCad 2018

Rui Carneiro, Rui Pereira, Tiago Orfão

Estruturas de Dados I Enunciado do Trabalho Prático

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

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular INTRODUÇÃO ÀS TECNOLOGIAS DIGITAIS Ano Lectivo 2012/2013

Manufatura Assistida por Computador

Domine o Word Professor: Rafael Henriques

CFAC - MiEIG: Apresentação 2015/2016. MiEIG Mestrado integrado em Engenharia Industrial e Gestão

Exercícios Práticos de Modelação 3D em SolidWORKS

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular INTRODUÇÃO ÀS TECNOLOGIAS DIGITAIS Ano Lectivo 2011/2012

Modelação 3D da suspensão

CFAC - MiEIG: Apresentação 2008/

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular COMPUTAÇÃO GRÁFICA E SISTEMAS DE CAD Ano Lectivo 2013/2014

Laboratórios de Comunicações III MiECom (2 o ano)

UFCD 786 Instalação e configuração de sistemas de bases de dados

CATÁLOGO DE FORMAÇÃO ESTRATEGOR

Introdução ao Desenho de Construção Mecânica

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

Transcrição:

LICENCIATURA EM GESTÃO E ENGENHARIA INDUSTRIAL Disciplina de Concepção e Fabrico Assistidos por Computador DESENHO AUTOMÁTICO DE UM SEPARADOR DE ÁGUA DA SÉRIE EAMG AUTORIA: Gonçalo Nuno Correia Reis Vilarinho DOCENTES: DATA: Eng. João Manuel Ribeiro Silva Tavares 02/2004 Eng. Joaquim de Oliveira Fonseca

ÍNDICE 1. INTRODUÇÃO PÁG. 1 2. SUMÁRIO E OBJECTIVOS PÁG. 2 3. DADOS FORNECIDOS PÁG. 3 4. FUNCIONAMENTO BÁSICO DA PEÇA PÁG. 3 5. PROGRAMA PÁG. 4 6. INTERFACE PESSOA COMPUTADOR PÁG. 4 7. AGRADECIMENTOS PÁG. 5 8. BIBLIOGRAFIA PÁG. 5 9. ANEXOS 9.1. ANEXO A LISTAGEM DO PROGRAMA PÁG. 6 9.2. ANEXO B LOCALIZAÇÃO DOS PONTOS PÁG. 18 9.3. ANEXO C CÁLCULO MEDIDAS PÁG. 22 9.4. ANEXO D DADOS FORNECIDOS PÁG. 26 9.5. ANEXO E TABELA DIÂMETROS PÁG. 28 9.6. ANEXO F FICHEIRO eamg.dat PÁG. 30 9.7. ANEXO G CAIXAS DIÁLOGO DCL PÁG. 32 Separador de água - EAMG Gonçalo Vilarinho 4ºLGEI pág. 1

1. INTRODUÇÃO O desenho, tal como outras linguagens de comunicação, há muito que constitui um dos veículos de informação entre os homens. Desde sempre existiu necessidade de registar esse tipo de informação. A melhor forma de representar e armazenar uma peça, por exemplo, ou conjunto de peças, é, precisamente, o desenho. Nos dias de hoje é muito usual utilizarmos o computador como ferramenta de desenho, através de software de concepção assistido por computador. Tendencialmente procura-se constituir bancos de informação que disponibilizam muitas das peças com que se opera em engenharia. Porém, é absolutamente incomportável ter disponíveis todos os componentes que necessitamos para a conclusão de 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 do software. 2. SUMÁRIO E OBJECTIVOS Com este trabalho pretende-se construir um programa em AutoLISP que possibilite o desenho no AutoCAD de três vistas (frente, lado e cima de um separador de água produzido pela empresa SMC. As informações relativas à série do separador de água da qual se pretende o desenho estão disponíveis num ficheiro que deve ser lido pelo programa. A vista pretendida deverá ser seleccionada pelo utilizador, bem como o ponto de aplicação da base do separador e o ângulo de rotação do desenho. 3. DADOS FORNECIDOS Os dados fornecidos para o desenvolvimento do programa em AutoLisp não eram absolutamente conclusivos no que respeita à totalidade das dimensões necessárias para a definição do desenho pretendido. Assim, foi necessário recorrer Separador de água - EAMG Gonçalo Vilarinho 4ºLGEI pág. 2

a estimativas de algumas dimensões não clarificadas. Estas estimativas encontramse formatadas em folhas Microsoft Excel no anexo C deste relatório. Os dados fornecidos estão incluídos nos anexos D e E, respectivamente dados fornecidos e tabela diâmetros rosca gás. Há, ainda assim, algumas considerações que merecem uma referência particular. Entre elas, encontram-se as seguintes: O visor do nível de água é de dimensões constantes; O afastamento do visor relativamente à base do tubo de descarga é dado pela cota c ; Os furos de fixação do aparelho de suporte do tubo de ar comprimido são de dimensão constante; O tubo de descarga é igualmente constante. Note-se porém que a partir da série 650 é acoplada a este tubo uma outra peça não representada no desenho. 4. FUNCIONAMENTO BÁSICO DA PEÇA Não se pretende nesta matéria do relatório aprofundar mais do que o básico no que respeita ao funcionamento do componente. De resto, interessa apenas referir a sua funcionalidade e as aplicações onde regularmente se encontra integrado. A figura (um ajuda a perceber o funcionamento de um separador de água. Este tipo de aplicação é muito corrente em sistemas de ar comprimido. É vulgarmente conhecida a necessidade de desumidificação do ar neste tipo de sistemas. A peça cumpre este propósito obrigando o ar a ultrapassar um dispositivo onde este é exposto a diminuições de pressão, baixando a temperatura, tendo como consequência a condensação da água. Esta é posteriormente extraída através de Fig 1. Separador de água um tubo montado na parte inferior da peça. Este tipo de componente encontra-se com muita regularidade, quando integrado em sistema mais complexos, em aplicações que vão desde as pistolas pneumáticas, cilindros, electroválvulas, até linhas de pintura, entre outras. Separador de água - EAMG Gonçalo Vilarinho 4ºLGEI pág. 3

5. PROGRAMA No desenvolvimento do programa em AutoLisp foi respeitado um princípio ao nível da organização do código. A separação das funções do programa em sub rotinas independentes da rotina principal. Assim, no conjunto foram elaboradas cinco subrotinas leitura, vistafrente, vistalado, vistacima e rot que operadas pela rotina principal eamg constituem a totalidade do programa. A gestão dos comentários incluídos no código seguiu uma determinada metodologia: não pressupõe o desconhecimento da linguagem e não procura indicar exaustivamente o significado de passos já explicitados. É natural que no primeiro contacto com o programa surjam algumas dificuldades ao nível da identificação da localização dos pontos indicados nas sub rotinas de desenho. Assim, no anexo B foi incluído um mapeamento em autocad dos pontos relativos a cada uma das vistas. Poupar-se-á neste relatório qualquer comentário relativo ao funcionamento do software utilizado, restando apenas a nota relativa à necessidade do ficheiro eamg.dat dever ser localizado no periférico c:. O conteúdo deste ficheiro pode ser consultado no anexo F. Resta por fim referir que no anexo A deste relatório se apresenta a listagem de todo o programa. 6. INTERFACE PESSOA COMPUTADOR A informática é uma ciência de engenharia que tem experimentado uma evolução notável. A partir do final da década de noventa, a preocupação relativa à interacção pessoa - computador, ao nível do desenvolvimento de aplicações, ganhou uma importância nunca reconhecida até então. Esta preocupação não poderia deixar de se reflectir no desenvolvimento de programas em AutoLisp. Assim, na tentativa de construir interfaces cada vez mais amigáveis para o utilizador, é normal recorrer-se DCL (Dialog Control Language, anterior a 1990 como modo de introdução dos dados. Dada a importância desta questão foi feita uma primeira abordagem ao desenvolvimento desta ferramenta. Assim, para além das cinco sub rotinas Separador de água - EAMG Gonçalo Vilarinho 4ºLGEI pág. 4

enunciadas no ponto cinco Programa foram desenvolvidas outras quatro para as quatro fases da interacção do utilizador com o programa: Selecção do ponto inicial; Selecção da inclinação do desenho; Definição da vista; Definição da série pretendida. Relativamente à definição da série pretendida não se incluiu na caixa de diálogo qualquer informação para além da designação da série por se entender redundante na óptica do utilizador. No anexo G pode ser consultado o aspecto das caixas DCL e o respectivo código fonte. 7.AGRADECIMENTOS Deve-se um agradecimento aos docentes da disciplina, nomeadamente o Eng. Joaquim Fonseca e o Eng. João Tavares, pelo esclarecimento de dúvidas aquando do desenvolvimento do programa. Deve-se igualmente um agradecimento à filial Japonesa da empresa SMC, designadamente na pessoa do Sr. Yoshitani (Export Div, pela prontidão com que responderam às solicitações. 8.BIBLIOGRAFIA 1 Apontamentos e acetatos das aulas de CFAC (Eng. João Tavares e Eng. Joaquim Fonseca, Faculdade de Engenharia da Universidade do Porto 2 Morais, Simões, 1997, Desenho Técnico Básico 3º Volume - PortoEditora 3 Trabalhos disponibilizados na página da disciplina 4 Toturial de dcl disponibilizado em: http://www.caddepot.com/tips/dcl.zip 4 Toturial de dcl disponibilizado em: http://www.hyperpics.com/customization/dcl/dcl_tutorial1.htm Separador de água - EAMG Gonçalo Vilarinho 4ºLGEI pág. 5

LISTAGEM DO PROGRAMA Separador de água - EAMG Gonçalo Vilarinho 4ºLGEI pág. 6

;**************************************************************************************************************** ; FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO ; - (03/04 ;----------------------------------------------------------------------------------------------------------------------------------- ; PROGRAMA DE DESENHO AUTOMÁTICO DE UM SEPARADOR DE ; ÁGUA DA SERIE EAMG ; ; ; Autoria: Gonçalo Nuno Correia Reis Vilarinho ;**************************************************************************************************************** ;***************************************** ;* PROGRAMA PRINCIPAL : eamg * ;***************************************** (defun c:eamg ( (setq oblip (getvar "blipmode" oecho (getvar "cmdecho" olayer (getvar "clayer" oosnap (getvar "osmode" ; modo de colocação de cruzes nos pontos ; modo de projecção dos comandos ; layer corrente ; modo osnap actual (setvar "blipmode" 0 (setvar "cmdecho" 0 (setvar "osmode" 0 ;AREA DECLARACAO VARIAVEIS COMANDO (setq dclvistas 0 (setq dclseries 0 ;AREA DE INTERFACE COM O UTILIZADOR (pedidos de introdução de dados (ptinicio (setalfa (vistas ;CHAMA DCL seleccao de pt0 ;CHAMA DCL seleccao de alfa ;CHAMA DCL seleccao de vista (if (= dclvistas 2 ;erro na leitura do DCL (progn ;procedimento convencional (initget "1 2 3" (Alert "Vai Seleccionar a VISTA pretendida" ;Vai Seleccionar a vista pretendida (setq ilog (getkword " \n Frente(1, Lado(2 ou de cima(3: <1> " (if (equal ilog nil (setq ilog "1" ;if progn if dclvistas =2 (series ;CHAMA DCL seleccao de serie (leitura ;CHAMA A SUBROTINA LEITURA DOS DADOS (if (/= ierro 1 ; RESTRICAO DECORRENTE DO SUCESSO DA LEITURA (cond ((= ilog "1" (vistafrente ((= ilog "2" (vistalado ((= ilog "3" (vistacima (command "layer" "m" olay "" (setvar "osmode" oosnap (setvar "blipmode" oblip Separador de água - EAMG Gonçalo Vilarinho 4ºLGEI pág. 7

(setvar "cmdecho" oecho ;defun ;***************************************** ;* SUB ROTINA LEITURA : leitura * ;***************************************** (defun leitura ( (setq linha nil ;Controlo da nulidade val iniciais listd nil i -1 (while (= linha nil ;While para a leitura do ficheiro (setq f (open "c:\\eamg.dat" "r" dif 0. ierro 0 (if (= f nil ;ficheiro de dados nao encontrado (progn (Alert "\n Ficheiro dados nao encontrado!" (setq ierro 1 linha "1" (exit (progn ;o ficheiro foi encontrado (if (= dclseries 2 ; ficheiro dclseries nao fooi encontrado (progn (initget 7 (setq serie (getreal "\n Qual a serie pretendida?" (while (and (/= serie dif (= ierro 0 (setq linha (read-line f (if (and (/= linha nil (= ierro 0 (setq dif (atof (substr linha 1 3 listd (append listd (list dif i (+ i 1 (setq dif serie ierro 2 ;serie nao encontrada (close f ;no caso de se ter introduzido mal o diametro (if (= ierro 2 (progn (setq j 0 (prompt "\n Serie nao disponivel. Opte pelas seguintes: " (while (<= j i (princ (nth j listd (princ ", " (setq j (+ j 1 ; recomeco do programa (setq listd nil i -1 dif 0.0 Separador de água - EAMG Gonçalo Vilarinho 4ºLGEI pág. 8

;fim do if do ierro2 ;fim do if dclseries (while (and (/= serie dif (= ierro 0 (setq linha (read-line f (if (and (/= linha nil (= ierro 0 (setq dif (atof (substr linha 1 3 listd (append listd (list dif i (+ i 1 ;fim do progn de processamento ;fim do if = nil? ;fim do while de leitura (if (= ierro 0 (progn ;DEFINICAO PARAMETROS PARA DESENHO (setq a (atof (substr linha 6 5 ;Altura (setq b (atof (substr linha 13 4 ;Altura ao furo superior (setq c (atof (substr linha 19 5 ;altura a rosca do tubo (setq d (atof (substr linha 25 5 ; dimensao horizontal (setq e (atof (substr linha 32 4 ; tubo de esvaziamento (setq g (atof (substr linha 38 4 ; Propriedade de montagem (setq o (atof (substr linha 43 4 ; Propriedade de montagem (setq q (atof (substr linha 49 4 ; Propriedade de montagem (setq d2 (atof (substr linha 55 6 ; diametro da tubagem de ar (setq d1 (atof (substr linha 64 6 ; diametro da tubagem de ar ;FIM DA SUBROTINA LEITURA ;********************************************** ;* SUB ROTINA DESENHO: vistafrente * ;********************************************** (defun vistafrente ( ;DEFINICAO DOS FACTORES VARIAVEIS (setq iv1 (* a 0.022 iv2 (* a 0.3 iv3 (* a 0.02 iv4 (* a 0.365 iv5 (* a 0.07 iv6 (* a 0.065 iv7 (* a 0.144 iv8 (* a 0.014 dh1 (* d 0.218 dh2 (* d 0.557 dh3 (* d 0.6 dh4 (* d 0.906 dh5 (* d 0.966 dh6 (* d 0.033 dh7 (* d 0.083 dh8 (* d 0.722 Separador de água - EAMG Gonçalo Vilarinho 4ºLGEI pág. 9

;DEFINICAO DOS PONTOS FIXOS (setq pi2 (/ pi 2 (setq pi4 (/ pi 4 (setq pt1 (polar pt0 pi2 7 pt2 (polar pt0 pi2 12.5 pt3 (polar pt0 pi2 20 pt4 (polar pt3 pi2 iv1 pt5 (polar pt0 pi2 c ;parametro localizacao tubo pt6 (polar pt4 pi2 iv2 pt7 (polar pt6 pi2 iv3 pt8 (polar pt7 pi2 iv4 pt9 (polar pt8 pi2 iv5 pt10 (polar pt9 pi2 iv6 pt11 (polar pt10 pi2 iv7 pt12 (polar pt3 pi2 a pt13 (polar pt0 0 8.5 pt14 (polar pt13 pi2 7 pt15 (polar pt14 pi 0.5 pt16 (polar pt15 pi2 5.5 pt17 (polar pt16 0 1.8152 pt18 (polar pt17 pi2 7.5 pt19 (polar pt3 0 (/ dh1 2 pt20 (polar pt4 0 (/ dh2 2 pt21 (polar pt6 0 (/ dh3 2 pt22 (polar pt7 0 (/ dh4 2 pt23 (polar pt8 0 (/ dh5 2 pt24 (polar pt23 0 (/ (* d 0.034 2 pt25 (polar pt24 pi2 iv5 pt26 (polar pt25 pi2 (+ iv6 iv7 pt27 (polar pt12 0 (/ d 2 pt28 (polar pt24 pi dh6 pt29 (polar pt28 pi dh7 pt30 (polar pt28 pi2 iv5 pt31 (polar pt28 pi2 iv5 pt33 (polar pt29 pi2 (+ iv5 iv6 pt32 (polar pt28 pi2 (+ iv5 iv6 pt34 (polar pt10 0 (/ dh8 2 pt35 (polar pt34 pi2 iv7 pt36 (polar pt12 (- pi2 b pt37 (list (+ (car pt25 (* 2 iv8(cadr pt36 ptxx (polar pt5 (/ pi4 2 19.5 ;dimensao fixa do visor ptxy (polar pt5 (+ pi4 (/ pi4 2 19.5 ;dimensao fixa do visor ;DESENHO (Propriamente dito (command "layer" "m" "tg" "" (command "line" (rot pt0 (rot pt13 "" (setq mirrorapoio (entlast (command "line" (rot pt13 (rot pt14 "" "line" (rot pt14 (rot pt15 "" "line" (rot pt15 (rot pt16 "" "line" (rot pt16 (rot pt17 "" "line" (rot pt17 (rot pt18 "" "line" (rot pt18 (rot pt3 "" "line" (rot pt1 (rot pt14 "" "line" (rot pt2 (rot pt17 "" "line" (rot pt18 (rot pt19 "" "line" (rot pt19 (rot pt20 Separador de água - EAMG Gonçalo Vilarinho 4ºLGEI pág. 10

(rot pt21 (rot pt22 (rot pt23 "" "line" (rot pt4 (rot pt20 "" "line" (rot pt6 (rot pt21 "" "line" (rot pt7 (rot pt22 "" "line" (rot pt8 (rot pt23 "" "line" (rot pt23 (rot pt24 (rot pt27 "" "line" (rot pt9 (rot pt25 "" "line" (rot pt10 (rot pt32 "" "line" (rot pt11 (rot pt26 "" "line" (rot pt12 (rot pt27 "" "line" (rot pt29 (rot pt33 "" "line" (rot pt28 (rot pt32 "" "line" (rot pt34 (rot pt35 "" "line" (rot pt36 (rot pt37 "" "mirror" (while (/= mirrorapoio nil ;Seleciona desde mirrorapoio ate a ultima desenhada (command mirrorapoio (setq mirrorapoio (entnext mirrorapoio (command "" (rot pt0 (rot pt12 "" (setq mirrorapoio nil (gc (command "circle" (rot pt5 12 "line" (rot ptxx (rot ptxy "" "array" (entlast "" "p" (rot pt5 8 360 "" (command "zoom" "a" ;FIM DA SUBROTINA ;********************************************* ;* SUB ROTINA DESENHO: vistalado * ;********************************************* (defun vistalado ( ;DEFINICAO DOS FACTORES VARIAVEIS (setq iv1 (* a 0.022 iv2 (* a 0.3 iv3 (* a 0.02 iv4 (* a 0.365 iv5 (* a 0.07 iv6 (* a 0.065 iv7 (* a 0.144 iv8 (* a 0.014 dh1 (* d 0.218 dh2 (* d 0.557 dh3 (* d 0.6 dh4 (* d 0.906 dh5 (* d 0.966 dh6 (* d 0.033 dh7 (* d 0.083 dh8 (* d 0.722 dh9 (* d 0.378 dh10 (* d 0.161 ch1 (* d 0.039 ;dimensao fixa do tubo Separador de água - EAMG Gonçalo Vilarinho 4ºLGEI pág. 11

;DEFINICAO DOS PONTOS FIXOS (setq pi2 (/ pi 2 (setq pi4 (/ pi 4 (setq pt1 (polar pt0 pi2 7 pt2 (polar pt0 pi2 12.5 pt3 (polar pt0 pi2 20 pt4 (polar pt3 pi2 iv1 pt5 (polar pt0 pi2 c pt6 (polar pt4 pi2 iv2 pt7 (polar pt6 pi2 iv3 pt8 (polar pt7 pi2 iv4 pt9 (polar pt8 pi2 iv5 pt10 (polar pt9 pi2 iv6 pt12 (polar pt3 pi2 a ;parametro localizacao visor =const ;parametro de altura ;parametro de afastamento do tubo pt11 (polar pt12 (- pi2 b pt13 (polar pt0 0 8.5 pt14 (polar pt13 pi2 7 pt15 (polar pt14 pi 0.5 pt16 (polar pt15 pi2 5.5 pt17 (polar pt14 pi2 5.5 pt18 (polar pt17 pi2 7.5 pt19 (polar pt3 0 (/ dh1 2 pt20 (polar pt4 0 (/ dh2 2 pt21 (polar pt6 0 (/ dh3 2 pt22 (polar pt7 0 (/ dh4 2 pt23 (polar pt8 0 (/ dh5 2 pt24 (polar pt23 0 (/ dh6 2 pt25 (polar pt24 pi2 iv5 pt26 (polar pt25 pi2 iv6 pt27 (polar pt10 0 (/ dh8 2 pt28 (polar pt27 pi2 iv7 pt29 (polar pt8 0 b pt30 (polar pt29 pi2 (+ iv5 iv6 pt31 (polar pt30 pi2 iv7 pt32 (polar pt12 0 dh10 pt35 (list (+ (car pt0 (+ (/ dh3 2 8 (+ (cadr pt0 59 pt36 (polar pt35 pi 16 pt37 (polar pt35 pi2 7.46 pt38 (polar pt37 pi 15.5 pt39 (polar pt35 (- pi2 7.46 pt40 (polar pt39 pi 15.6 pt41 (polar pt37 pi2 10.54 pt42 (polar pt41 pi 9.5 pt43 (polar pt39 (- pi2 10.54 pt44 (polar pt43 pi 9.5 pt45 (polar pt42 0 1 pt46 (polar pt4 pi (/ dh2 2 pt47 (polar pt6 pi (/ dh3 2 pt48 (polar pt36 pi 10 pt49 (polar pt35 0 10 ;dimensoes de montagem (fixas ;visor do separador ;no caso de querer preservar o angulo do chanfro ;pt32 (polar pt31 (* pi4 3 ch1 ;pt33 (polar pt31 pi dh9 ;DEFINIÇAO GROSSEIRA ;pt34 (polar pt33 pi4 ch1 ;DEFINIÇAO GROSSEIRA ;DESENHO (Propriamente dito (command "layer" "m" "tg" "" (command "line" (rot pt0 (rot pt13 "" Separador de água - EAMG Gonçalo Vilarinho 4ºLGEI pág. 12

(setq mirrorapoio (entlast (command "line" (rot pt13 (rot pt14 "" "line" (rot pt14 (rot pt15 "" "line" (rot pt15 (rot pt16 "" "line" (rot pt16 (rot pt17 "" "line" (rot pt17 (rot pt18 "" "line" (rot pt1 (rot pt14 "" "line" (rot pt2 (rot pt17 "" "line" (rot pt3 (rot pt19 "" "line" (rot pt19 (rot pt20"" "line" (rot pt21 (rot pt22 (rot pt23 "" "line" (rot pt4 (rot pt20 "" "line" (rot pt6 (rot pt21 "" "line" (rot pt7 (rot pt22 "" "line" (rot pt8 (rot pt23 "" "line" (rot pt23 (rot pt24 (rot pt26 "" "line" (rot pt9 (rot pt25 "" "line" (rot pt30 (rot pt26 "" "line" (rot pt30 (rot pt31 "" "line" (rot pt31 (rot pt28 "" "line" (rot pt29 (rot pt30 "" "line" (rot pt27 (rot pt28 "" "line" (rot pt31 (rot pt32 "" "line" (rot pt32 (rot pt12 "" "mirror" (while (/= mirrorapoio nil ;Seleciona desde mirrorapoio ate a ultima desenhada (command mirrorapoio (setq mirrorapoio (entnext mirrorapoio (command "" (rot pt0 (rot pt12 "" (setq mirrorapoio nil (gc ;no caso de respeitar o angulo do chanfro (command "line" pt34 pt32 "" ;Desenha o visor (command "line" (rot pt42 (rot pt41 (rot pt43 (rot pt44 "" "line" (rot pt40 (rot pt39 "" "line" (rot pt38 (rot pt37 "" "line" (rot pt38 (rot pt40 "" "arc" (rot pt44 "E" (rot pt40 "A" 20 "arc" (rot pt38 "E" (rot pt42 "A" 15 "line" (rot pt20 (rot pt44 "" "line" (rot pt45 (rot pt21 "" "line" (rot pt46 (rot pt47 "" ;Desenha o tubo do ar comprimido (command "circle" (rot pt11 (/ d1 2 (command "circle" (rot pt11 (/ d2 2 (command "line" (rot pt48 (rot pt49 "" (command "zoom" "a" ;FIM DA SUBROTINA ;********************************************** ;* SUB ROTINA DESENHO: vistacima * ;********************************************** (defun vistacima ( ;DEFINICAO DOS FACTORES VARIAVEIS Separador de água - EAMG Gonçalo Vilarinho 4ºLGEI pág. 13

(setq ih1 (* d 0.033 ih2 (* d 0.106 ih3 (* d 0.278 lc1 (* d 0.189 lc2 (* d 0.172 lc3 (* d 0.139 dv1 (* d 0.131 dv2 (* d 0.253 dh1 (* d 0.272 dh2 (* d 0.324 dh3 (* d 0.068 dh4 (* d 0.035 aux (* d 0.148 ;DEFINICAO DOS PONTOS FIXOS (setq pi2 (/ pi 2 (setq pi4 (/ pi 4 (setq pi6 (/ pi 6 (setq pt1 (polar pt0 pi2 lc1 pt2 (polar pt1 pi2 lc2 pt3 (polar pt2 pi2 lc3 pt4 (polar pt0 0 (/ d 2 ptxx (polar pt0 pi (/ d 2 pt5 (polar pt4 pi2 lc1 pt6 (polar pt5 pi ih1 pt7 (polar pt6 pi ih2 pt8 (polar pt2 0 dh1 pt9 (polar pt3 0 dh2 pt10 (list (- (car pt7 dh4 (+ (cadr pt7 dv1 pt11 (list (- (car pt6 dh3 (+ (cadr pt6 dv2 pt12 (polar pt0 pi ih3 pt14 (list (- (car pt12 (* (cos pi6 aux (+ (cadr pt12 (* (sin pi6 aux pt13 (list (car pt14 (- (cadr pt12 (* (sin pi6 aux pt15 (list (+ (car pt0 (/ q 2 (- (cadr pt0 (/ o 2 pt16 (list (- (car pt0 (/ q 2 (- (cadr pt0 (/ o 2 pt17 (list (- (car pt16 12(+ (cadr pt16 3 pt20 (list (+ (car pt15 12(+ (cadr pt15 3 pt18 (polar pt17 pi2 (- o 6 pt19 (polar pt20 pi2 (- o 6 ;DESENHO (Propriamente dito (command "layer" "m" "tg" "" (command "line" (rot pt4 (rot pt5 "" (setq mirrorapoio (entlast (setq mirror2 mirrorapoio (command "line" (rot pt5 (rot pt1 "" "line" (rot pt2 (rot pt8 "" "arc" "" (rot pt10 "line" (rot pt10 (rot pt7 "" "line" (rot pt3 (rot pt9 "" "arc" "" (rot pt11 "line" (rot pt11 (rot pt6 "" "mirror" ;encadear dois mirror's (while (/= mirror2 nil ;1º mirror Seleciona desde (command mirror2 ;mirrorapoio ate a ultima desenhada Separador de água - EAMG Gonçalo Vilarinho 4ºLGEI pág. 14

(setq mirror2 (entnext mirror2 (command "" (rot pt0 (rot pt3 "" (setq mirror2 nil (gc (command "mirror" (while (/= mirrorapoio nil ;2ºmirror Seleciona desde (command mirrorapoio ;mirrorapoio ate a ultima desenhada (setq mirrorapoio (entnext mirrorapoio (command "" (rot pt4 (rot ptxx "" (setq mirrorapoio nil (gc (command "circle" (rot pt15 2.59 "circle" (rot pt15 3. "circle" (rot pt16 2.59 "circle" (rot pt16 3. "line" (rot pt12 (rot pt13 "" "line" (rot pt14 (rot pt12 "" "arc" (rot pt13 "E" (rot pt14 (rot ptxx (command "pdmode" 34 "pdsize" 3 "point" (rot pt17 "point" (rot pt18 "point" (rot pt19 "point" (rot pt20 (command "zoom" "a" ;FIM DA SUBROTINA ;*************************************** ;* SUB ROTINA ROTAÇÃO : rot * ;*************************************** (defun rot (ptc / dx dy xx yy cosse seno ptn (setq dx (- (car ptc (car pt0 dy (- (cadr ptc (cadr pt0 seno (sin alfa cosse (cos alfa xx (- (* cosse dx (* seno dy yy (+ (* cosse dy (* seno dx ptn (list (+ xx (car pt0 (+ yy (cadr pt0 ;FIM DA SUBROTINA ;************************************* ;* SUB ROTINA DCL : vistas * ;************************************* (defun vistas( (setq vista 1 ;pre definicao da optiongroup (setq dcl_id (load_dialog "c:\\trabalho\\dialogos\\vistas.dcl" (if (not (new_dialog "vistas" dcl_id (setq dclvistas 2 Separador de água - EAMG Gonçalo Vilarinho 4ºLGEI pág. 15

(action_tile "vista_frente" ;leitura das optionbuttons "(setq vista 1" (action_tile "vista_lado" "(setq vista 2" (action_tile "vista_cima" "(setq vista 3" (action_tile "accept" "(done_dialog (setq UserClick T" ;pressionando O.K (start_dialog ;chama a caixa de diálogo (unload_dialog dcl_id ;descarrega a caixa de diálogo (load em cima (setq ilog (itoa vista;transforma a variavel saida da leitura ;************************************** ;* SUB ROTINA DCL : series * ;************************************** (defun series( (setq dcl_id (load_dialog "c:\\trabalho\\dialogos\\series.dcl" (if (not (new_dialog "series" dcl_id (setq dclseries 2 ;erro de leitura do ficheiro (action_tile "cancel" "(exit";"(done_dialog (setq UserClick nil" (action_tile "accept" (strcat "(progn (setq auxiliar (get_tile \"referencia\"" "(done_dialog (setq UserClick T" (start_dialog (unload_dialog dcl_id (cond ((= auxiliar "0"(setq serie 350 ((= auxiliar "1"(setq serie 450 ((= auxiliar "2"(setq serie 550 ((= auxiliar "3"(setq serie 650 ((= auxiliar "4"(setq serie 850 ;*************************************** ;* SUB ROTINA DCL : ptinicio * ;*************************************** (defun ptinicio( (setq dcl_id (load_dialog "c:\\trabalho\\dialogos\\ptinicio.dcl" (if (not (new_dialog "ptinicio" dcl_id (setq dclptinicio 2 ;erro de leitura do ficheiro (start_dialog Separador de água - EAMG Gonçalo Vilarinho 4ºLGEI pág. 16

(unload_dialog dcl_id (setq pt0 (getpoint "DCL1 pique um ponto" ;*************************************** ;* SUB ROTINA DCL : setalfa * ;*************************************** (defun setalfa( (setq dcl_id (load_dialog "c:\\trabalho\\dialogos\\getalfa.dcl" (if (not (new_dialog "getalfa" dcl_id (setq dclsetalfa 2 ;erro de leitura do ficheiro (start_dialog (unload_dialog dcl_id (setq alfa (getangle pt0 "\ndcl2 defina a direcçao" Separador de água - EAMG Gonçalo Vilarinho 4ºLGEI pág. 17

LOCALIZAÇÃO DOS PONTOS Separador de água - EAMG Gonçalo Vilarinho 4ºLGEI pág. 18

B.1 - VISTA FRENTE Separador de água - EAMG Gonçalo Vilarinho 4ºLGEI pág. 19

B.2 - VISTA LADO Separador de água - EAMG Gonçalo Vilarinho 4ºLGEI pág. 20

B.3 - VISTA CIMA Separador de água - EAMG Gonçalo Vilarinho 4ºLGEI pág. 21

CÁLCULO DAS MEDIDAS Separador de água - EAMG Gonçalo Vilarinho 4ºLGEI pág. 22

DADOS FORNECIDOS Separador de água - EAMG Gonçalo Vilarinho 4ºLGEI pág. 26

D.1 - CATÁLOGO SMC A figura abaixo sintetiza a informação cedida para o desenvolvimento do desenho. Como oportunamente referido, as dimensões constantes deste catálogo não definem em absoluto os contornos da peça. Como tal, recorreu-se ao ficheiro am.dxf gentilmente cedido pela filial Japonesa da empresa SMC, para melhor definição das dimensões em falta. Separador de água - EAMG Gonçalo Vilarinho 4ºLGEI pág. 27

TABELA DIÂMETROS Separador de água - EAMG Gonçalo Vilarinho 4ºLGEI pág. 28

E.1 - TABELA DIÂMETROS ROSCA GÁS Separador de água - EAMG Gonçalo Vilarinho 4ºLGEI pág. 29

FICHEIRO eamg.dat Separador de água - EAMG Gonçalo Vilarinho 4ºLGEI pág. 30

F.1 FICHEIRO EAMG.DAT NOTE-SE BEM: Para o correcto funcionamento do programa o ficheiro eamg.dat deverá ser colocado no periférico c:. Separador de água - EAMG Gonçalo Vilarinho 4ºLGEI pág. 31

CAIXAS DE DIÁLOGO Separador de água - EAMG Gonçalo Vilarinho 4ºLGEI pág. 32

G.1 PTINICIO.DCL A caixa de diálogo ptinicio.dcl é responsável pela selecção do ponto de base do tubo de descarga. Este ponto é depois utilizado como referência para o desenho. O código lisp de interacção desta caixa de diálogo pode ser consultado na página dezasseis do anexo A. Código Fonte ************************************************************ ptinicio:dialog{ label="ponto inicial"; :text{ label="selecione um ponto para a base do tubo de descarga"; } :button{ key="ponto"; label="selecione o ponto"; is_default = true; } } ************************************************************ Caixa DCL Fig. 1 Caixa Diálogo ptinicio G.2 GETALFA.DCL A caixa de diálogo getalfa.dcl é responsável pela definição da inclinação da representação da peça relativamente à horizontal. Originalmente foi desenvolvida uma interface com uma editbox, representada na figura dois. Porém, notou-se que a definição do ângulo por recurso a uma edit box era limitativa na medida em que é Separador de água - EAMG Gonçalo Vilarinho 4ºLGEI pág. 33

mais usual esta informação ser obtida a partir do ecrã do autocad. Assim, na figura três apresenta-se a solução desenvolvida, cujo código lisp poderá ser encontrado no anexo A, página 17. Código Fonte (editbox ************************************************************ setalfa:dialog{ label="inclinacao da representacao"; :edit_box{ label="graus relativamente a horizontal"; key="graus"; value="0"; edit_width=6; } ok_cancel; } ************************************************************ Fig. 2 Caixa Diálogo alfa (recurso a uma edit-box Código Fonte controlador (lisp fig 2 ;********************************** ;* SUB ROTINA DCL : setalfa * ;********************************** (defun setalfa( (setq alfa "0" (setq dcl_id (load_dialog "c:\\trabalho\\dialogos\\setalfa.dcl" (if (not (new_dialog "setalfa" dcl_id (setq dclsetalfa 2 ;erro de leitura do ficheiro (action_tile "graus" "(setq alfa $value" (action_tile "cancel" "(done_dialog (setq UserClick nil"; pressionando cancel (action_tile "accept" "(done_dialog (setq UserClick T" ;pressionando O.K Separador de água - EAMG Gonçalo Vilarinho 4ºLGEI pág. 34

(start_dialog (unload_dialog dcl_id (setq alfa (atoi alfa (setq alfa (/ (* pi alfa 180 ************************************************************ Código Fonte solução implementada (getangle ************************************************************ setalfa:dialog{ label="inclinacao da representacao"; :edit_box{ label="graus relativamente a horizontal"; key="graus"; value="0"; edit_width=6; } ok_cancel; } ************************************************************ Fig. 3 Caixa Diálogo solução implementada (getangle G.3 VISTAS.DCL A caixa de diálogo vistas.dcl é constituída por uma option group ( boxed_radio_column na designação da DCL, que permite a selecção da vista pretendida para o desenho. O código lisp de interacção desta caixa de diálogo (fig 4 pode ser consultado na página quinze do anexo A. Separador de água - EAMG Gonçalo Vilarinho 4ºLGEI pág. 35

************************************************************ vistas:dialog{ label="selecção da vista pretendida"; :boxed_radio_column{ label="qual das vistas pretende que o programa desenhe? "; :radio_button{ label="vista de frente"; key="vista_frente"; value="1";} :radio_button{ label="vista de lado"; key="vista_lado"; value="0"; } :radio_button{ label="vista de cima"; key="vista_cima"; value="0"; } } Ok_only; } ************************************************************ Fig. 4 Caixa Diálogo selecção da vista pretendida G.4 SERIES.DCL A caixa de diálogo series.dcl é constituída por uma combo box ( popup_list na designação da DCL, que permite a selecção da série pretendida. A cada série correspondem características diferentes, nomeadamente dimensionais. Porém, não Separador de água - EAMG Gonçalo Vilarinho 4ºLGEI pág. 36

se incluiu na interface mais do que a informação estritamente necessária para a identificação da série. Todas as restantes características devem ser conhecidas pelo utilizador do sistema. O código lisp de interacção desta caixa de diálogo (fig 5 pode ser consultado na página dezasseis do anexo A. ************************************************************ series:dialog{ label="seleccao da serie pretendida"; :popup_list { label="serie do tipo EAMG : "; key="referencia"; value="0.0"; edit_width=10; list= "350 \n450 \n550 \n650 \n850 \n \n"; } ok_cancel; } ************************************************************ Fig. 5 Caixa Diálogo escolha série pretendida Separador de água - EAMG Gonçalo Vilarinho 4ºLGEI pág. 37