Вы находитесь на странице: 1из 136

UNIVERSIDADE FEDERAL DE MINAS GERAIS ESCOLA DE ENGENHARIA PROGRAMA DE PS-GRADUAO EM ENGENHARIA DE ESTRUTURAS

AUTOMAO DO PROCESSO DE DETALHAMENTO DE TORRES METLICAS VIA TECNOLOGIA CAD

Aluno: Henrique Dias de Oliveira Gontijo Orientador: Prof. Jos Ricardo Queiroz Franco Co-orientador: Felcio Bruzzi Barros

Belo Horizonte, Agosto de 2010

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

UNIVERSIDADE FEDERAL DE MINAS GERAIS ESCOLA DE ENGENHARIA CURSO DE PS-GRADUAO EM ENGENHARIA DE ESTRUTURAS

AUTOMAO DO PROCESSO DE DETALHAMENTO DE TORRES METLICAS VIA TECNOLOGIA CAD

Henrique Dias de Oliveira Gontijo

Dissertao apresentada ao Curso de Ps-Graduao em Engenharia de Estruturas da Escola de Engenharia da Universidade Federal de Minas Gerais, como parte dos requisitos necessrios obteno do ttulo de Mestre em Engenharia de Estruturas. Comisso Examinadora:

Prof. Dr. Jos Ricardo Queiroz Franco DEES UFMG (Orientador) Prof Dr. Felcio Bruzzi Barros DEES UFMG Prof. Dr. Armando Cesar Campos Lavall DEES UFMG Prof. Dr. Philippe Remy Bernard Devloo UNICAMP

Belo Horizonte, Agosto de 2010

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

DEDICATRIA
Ao meu pai, grande incentivador e dolo. A minha me pelo amor incondicional e conselhos. A minha irm pelo companheirismo em todas as horas. A toda minha famlia que amo tanto. Aos meus amigos por estarem sempre presentes.

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

AGRADECIMENTOS
Sincero agradecimento a todos que de alguma forma contriburam para a elaborao deste trabalho e em particular: Ao Professor Jos Ricardo Queiroz Franco pela orientao, incentivo e os ensinamentos durante o desenvolvimento do trabalho. Aos professores Regina e Felcio pelos ensinamentos e conselhos. Ao Leo, Tadeu, Emmo e Gilberto pelos ensinamentos. A CAPES Coordenao de Aperfeioamento de Pessoal de Ensino Superior, pela concesso de Bolsa de Estudos durante o perodo de realizao deste trabalho. A empresa CR Gontijo Engenharia de Projetos e todos seus integrantes por todo o suporte tcnico oferecido.

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

RESUMO
O presente trabalho apresenta o projeto de desenvolvimento de um sistema computacional, denominado TowerCAD, para automao da etapa de detalhamento do processo de fabricao de estruturas de torres metlicas atravs da integrao das tecnologias CAE (Computer Aided Engineering), CAD (Computer Aided Design) e CAM (Computer Aided Manufacturing). O sistema TowerCAD,que constitudo de um aplicativo CAD e de um banco de dados, detalha uma parte da estrutura denominada perna e foi elaborado considerando o futuro desenvolvimento do detalhamento das outras partes da estrutura. Alm da tecnologia CAD, o TowerCAD est sendo implementado com auxlio dos paradigmas da Programao Orientado a Objetos e das tecnologias de Banco de Dados. A tecnologia .NET, desenvolvida tambm para ser uma interface de programao (API) do AutoCAD, foi utilizada para desenvolver as interfaces para importao e exportao de dados, criao de comandos, gerenciamento, edio e manipulao dos dados no banco de dados. O banco de dados acessado pelo aplicativo atravs das classes ADO.NET, a linguagem padro para banco de dados SQL e a linguagem de programao C#. A plataforma de representao grfica utilizada o software AutoCAD. Uma importante contribuio desse trabalho a utilizao de conceitos e fundamentos do padro/arquitetura MVC (Modelo-Visualizao-Controle) no desenvolvimento do sistema TowerCAD. A arquitetura de trs camadas do MVC para a interface do usurio permite separar a informao, o controle e a representao grfica. O componente Modelo, que representa os dados e suas regras de acesso e a manipulao, est armazenado no banco de dados. O componente Visualizao, nesse caso ser representado pela plataforma grfica AutoCAD, que apenas executa a apresentao de dados conforme solicitado pelo usurio. O Controlador interpreta as aes do usurio alterando ou no o estado do modelo e de visualizao. O padro MVC garante a independncia entre dados e visualizao e permite a flexibilizao na escolha da plataforma grfica. Assim, o mesmo Modelo (banco de dados) pode servir para aplicaes desenvolvidas em diferentes plataformas grficas. O banco de dados foi projetado para abstrair as informaes oriundas das diversas etapas do processo de fabricao de torres metlicas. Outras informaes essenciais para a fase de detalhamento do processo tambm so armazenados no banco de dados. Os dados armazenados no banco de dados podem realimentar as etapas do processo ou gerar a representao grfica do detalhamento utilizando a plataforma grfica escolhida. Os comandos personalizados criados pelo aplicativo CAD atuam de maneira idntica aos comandos nativos do AutoCAD e podem ser acionados pela linha de comando, barra de ferramenta ou atravs do menu do AutoCAD. O sistema ainda capaz de criar outros subprodutos tais como: croquis para fabricao e arquivos de dados para mquinas CNC com controle numrico. Palavras Chave: Torres Metlicas, Detalhamento, Automao, Tecnologia CAD, API .NET, Banco de Dados. 5

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

ABSTRACT
This work presents the design and implementation of a computer system denominated TowerCAD for automation of the detailing process of steel towers structures by integrating CAD (Computer Aided Design), CAE (Computer Aided Engineering) and CAM (Computer Aided Manufacturing) technologies. The TowerCAD system integrates a CAD application and a database. The system, called TowerCAD, is implemented using CAD technology, Object Oriented Programming paradigm (OOP) and Database technologies. The AutoCAD .NET technology, developed to be an AutoCAD programming interface (API), was used to customize AutoCAD and also was applied to develop interfaces for importing and exporting data, for creating commands, for data management and manipulation in the database . The database is accessed by the application through the ADO.NET classes using the standard SQL language for database and the programming language C #. AutoCAD was used as a platform for graphical representation. An important contribution of this work is the application of concepts and fundaments of the programming architectural standard called MVC (Model-View-Control) in the development of the TowerCAD System. The three layers architecture of MVC to construct users interfaces allows separation among information, visualization and control The Model component represents the data and the respective rules for access and manipulation of the database. The View component, in this case represented by the graphical platform AutoCAD, executes the graphical visualization fo the data according to the user request. The Control interprets the users actions altering or not the state of the Model and of the View. MVC standard assures independence among control, data and visualization, which allows flexibility int the choice of the graphical platform. Therefore, the same Model (database) can be used in applications developed for different graphical platforms. The database has been design to abstract information obtained from various phases of the manufacturing process of steel towers. Other essential information for the detailing phase are also stored in the database. The data stored in the database can feed back other phases of the process or generate the graphical representation of the detailing using an appropriate graphical platform. The customized comands criated for the TowerCAD application behave in identical manner as the native AutoCAd commands and they can also be triggered by command line,tool bar or pull down menu as in AutoCAD. Besides detailing steel tower components, the system is also able to provide other sub-products such as manufacturing croquis and data files for numerical control CNC machines for fabrication. Keywords: Steel Towers, Detailing, Automation, CAD Technology, API.NET and Database

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

LISTA DE ABREVIATURAS, SIGLAS E DEFINIES


ADN Autodesk Developer Network - Rede mundial de desenvolvedores de aplicativos da Autodesk. API Aplication Program Interface Um conjunto de bibliotecas previamente desenvolvidas para auxiliar durante o processo de criao de um aplicativo. ARX AutoCAD Runtime Extention. ASCII Arquivo baseado em um conjunto determinado de caracteres (Tabela ASCII). Barras de Ferramenta (Toolbars) Botes que representam atalhos dos comandos do aplicativo. Bibliotecas So conjuntos de funes e classes agrupadas que fornecem uma base de programao. CAD Computer Aided Design Desenho auxiliado por computador. CADTEC Centro de Apoio, Desenvolvimento Tecnolgico e Ensino da Computao Grfica. CAE - Computer-aided engineering Engenharia auxiliada por computador. CAM - Computer-aided manufacturing Manufatura auxiliada por computador. Entidade So todos os objetos que possuem representao grfica no AutoCAD como, por exemplo, linhas, crculos e textos. Framework - um conjunto de classes cooperantes que constroem um projeto reutilizvel para uma especfica classe de softwares. Classes podem ser customizadas atravs da criao de subclasses especficas para cada aplicao. Namespace No ambiente Microsoft .Net, Namespace um continer que fornece contexto para os objetos que armazena POO Programao Orientada a Objetos.

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

SUMRIO
INTRODUO ............................................................................................................ 13 1.1 Consideraes Gerais ............................................................................................. 13 1.2 Motivaes e Objetivos ......................................................................................... 14 1.3 Torres Metlicas .................................................................................................... 15 1.3.1 Famlias de Torres .......................................................................................... 17 1.4 CR Gontijo Engenharia de Projetos ....................................................................... 18 1.5 Contedo por Captulo ........................................................................................... 19 2. RECURSOS UTILIZADOS NO PROJETO ................................................................ 20 2.1 AutoCAD ............................................................................................................... 21 2.1.1 Banco de Dados do AutoCAD........................................................................ 22 2.2 Programao Orientada a Objetos (POO) .............................................................. 23 2.3 ObjectARX ............................................................................................................ 23 2.4 Framework .NET ................................................................................................... 24 2.4.1 Linguagem C# ................................................................................................ 27 2.4.2 Sistema Windows Forms ............................................................................ 28 2.4.3 Como Lidar com Excees em C# ................................................................. 30 2.4.4 Variveis Estticas .......................................................................................... 32 2.4.5 ADO.NET ....................................................................................................... 33 2.5 API .NET para o AutoCAD ................................................................................... 40 2.5.1 Componentes da API .NET para o AutoCAD ................................................ 40 2.5.2 Qualidades ...................................................................................................... 41 2.5.3 Estrutura de um Aplicativo .NET programa................................................... 41 2.5.4 Acesso ao Banco de Dados do AutoCAD ...................................................... 43 2.5.5 Acesso ao Banco de Dados externo................................................................ 44 2.6 Banco de Dados ..................................................................................................... 47 2.6.1 O Modelo Relacional de Dados ...................................................................... 48 2.6.2 Linguagem SQL ............................................................................................. 51 3. O PROJETO DE TORRES .......................................................................................... 54 3.1 CADTEC Centro Avanado de Desenvolvimento Tecnolgico e Ensino da Computao grfica .......................................................................................................... 54 3.2 O Projeto de Torres Metlicas ............................................................................... 55 3.2.1 O Processo Produtivo ..................................................................................... 55 3.2.2 Integrao entre as etapas do processo ........................................................... 60 3.3 Etapas de Desenvolvimento ................................................................................... 62 3.3.1 Levantamento Bibliogrfico ........................................................................... 62 3.3.2 Qualificao Computacional .......................................................................... 62 3.3.3 Qualificao Tcnica ...................................................................................... 63 3.3.4 Desenvolvimento do Sistema CAD ................................................................ 63 3.4 Desenvolvimento do Sistema TowerCAD ............................................................. 63 3.4.1 Desenvolvimentos Anteriores......................................................................... 63 3.4.2 Viso Geral ..................................................................................................... 64 3.4.3 Caractersticas ................................................................................................. 67 4. O APLICATIVO CAD PARA DETALHAMENTO DE TORRES ............................ 70 4.1 Viso Geral ............................................................................................................ 71 1. 8

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

4.2 Template Utilizado ................................................................................................ 71 4.2.1 Layers utilizados ............................................................................................. 72 4.2.2 Blocos utilizados ............................................................................................ 73 4.3 Estrutura Global do Aplicativo .............................................................................. 74 4.3.1 Classe Initialization ....................................................................... 76 4.3.2 Classe CdTcComands .................................................................................. 77 4.3.3 Classe CdTcAuxiliar ................................................................................ 77 4.3.4 Classe CdTcBancoDados ........................................................................... 83 4.3.5 Classe CdTcBarra ....................................................................................... 84 4.3.6 Classe CdTcPrompt ..................................................................................... 85 4.3.7 Classe CdTcOutros ..................................................................................... 86 4.3.8 Classe CdTcDadosBarra ........................................................................... 87 4.3.9 Classe CdTcDadosGeometria.................................................................. 88 4.3.10 Classe CdTcNormaParafuso .................................................................... 88 4.3.11 Classe CdTcIncluirNormaParafuso ................................................... 89 4.3.12 Classe CdTcIncluirDistanciaParafuso.......................................... 90 4.3.13 Classe CdTcIncluirComprimentoParafuso ..................................... 91 4.4 Comandos desenvolvidos ...................................................................................... 92 4.4.1 Comando CBarra ......................................................................................... 92 4.4.2 Comando CPlaca ......................................................................................... 94 4.4.3 Comando CGeometria................................................................................ 94 4.4.4 Comando CCroqui ....................................................................................... 95 4.4.5 Comando CPe ................................................................................................ 95 4.4.6 Comando PParafuso .................................................................................. 97 4.4.7 Comando LerArquivo................................................................................ 99 4.4.8 Comando GerarArquivo ......................................................................... 101 5. O BANCO DE DADOS ............................................................................................. 102 5.1 Viso Geral .......................................................................................................... 102 5.2 A Construo da Estrutura do Banco de Dados ................................................... 105 5.3 A Elaborao das Tabelas .................................................................................... 106 5.3.1 Tabela Torre .............................................................................................. 108 5.3.2 Tabela Barra .............................................................................................. 110 5.3.3 Tabela Emenda ............................................................................................ 112 5.3.4 Tabela Ligao ......................................................................................... 113 5.3.5 Tabela Chapa .............................................................................................. 114 5.3.6 Tabela Furo ................................................................................................. 116 5.3.7 Tabela Perfil ............................................................................................ 116 5.3.8 Tabela No ..................................................................................................... 118 5.3.9 Tabela Tipo_Torre .................................................................................. 118 5.3.10 Tabelas sobre parafusos ................................................................................ 119 5.3.11 Tabelas sobre o desenho ............................................................................... 121 5.4 O Relacionamento entre as tabelas ...................................................................... 123 5.4.1 Relacionamentos da tabela Torre .............................................................. 123

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

5.4.2 Relacionamentos da tabela Barra .............................................................. 125 5.4.3 Outros relacionamentos ................................................................................ 126 5.5 Povoamento do Banco de dados .......................................................................... 127 6. CONSIDERAES FINAIS ..................................................................................... 128 6.1 O Trabalho Desenvolvido e suas Contribuies .................................................. 128 6.1.1 Contribuies Gerais .................................................................................... 129 6.1.2 Contribuies Especficas para a Automao de Processos Produtivos....... 130 6.1.3 Contribuies Especficas para a Indstria de Torres Metlicas .................. 130 6.2 Limitaes do Aplicativo e Propostas para Trabalhos Futuros ........................... 131 6.2.1 Detalhamento da estrutura ............................................................................ 131 6.2.2 Ligaes ........................................................................................................ 132 6.2.3 Emendas ....................................................................................................... 132 6.2.4 Informaes fornecidas pela projetista ......................................................... 132 6.2.5 Interferncia entre elementos........................................................................ 132 6.2.6 Detalhamento 3D da estrutura ...................................................................... 133 6.2.7 Lista de Materiais ......................................................................................... 133 7. REFERNCIAS BIBLIOGRFICAS ....................................................................... 134

10

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

NDICE DE FIGURAS
Figura 1-1 - Tipos de Torres ................................................................................................. 17 Figura 1-2 - Subestruturas das Torres Delta e Tronco Piramidal ......................................... 18 Figura 2-1 - Estrutura do Banco de Dados do AutoCAD ..................................................... 22 Figura 2-2 - NET em contexto. Extraido de Microsoft (2009)............................................. 26 Figura 2-3 - Mecanismo multilinguagem permitido pelo Framework .NET. Extrado de Microsoft (2009) ................................................................................................................... 27 Figura 2-4 Arquivo de cdigo da classe Windows Form .................................................. 29 Figura 2-5 - Arquivo de interface da classe Windows Form ................................................ 30 Figura 2-6 - Tratamento de excesses .................................................................................. 32 Figura 2-7 - Arquitetura ADO.NET. Extrada de Microsoft (2009). ................................... 34 Figura 2-8 - Objeto DataView .............................................................................................. 36 Figura 2-9 - Campos e Registros .......................................................................................... 49 Figura 2-10 - Relacionamento Um para Vrios ................................................................... 50 Figura 2-11 - Relacionamento tabela Furo x Barra .............................................................. 51 Figura 3-1 - Fluxograma do Processo .................................................................................. 55 Figura 3-2 - Projeto bsico da estrutura................................................................................ 56 Figura 3-3 - Detalhamento de um p de uma torre ............................................................... 59 Figura 3-4 - Perfis prontos para serem montados. Extrada de Silva, J.B.G.F & all (2009) 60 Figura 3-5 - Composio do Sistema TowerCAD ............................................................... 65 Figura 3-6 - Fluxograma do Processo .................................................................................. 66 Figura 3-7 - Interfaces com o projetista................................................................................ 67 Figura 3-8 - Representao grfica x Dados ........................................................................ 69 Figura 4-1 - Falta Layer ........................................................................................................ 72 Figura 4-2 - Layers do Template .......................................................................................... 73 Figura 4-3 - Bloco dos parafusos .......................................................................................... 74 Figura 4-4 - Outros blocos .................................................................................................... 74 Figura 4-5 - Solution Explorer ............................................................................................. 75 Figura 4-6 - ClassView ......................................................................................................... 76 Figura 4-7 - Classe CdTcAuxiliar .................................................................................. 77 Figura 4-8 Dados de entrada do mtodo CriaGeometria ................................................... 78 Figura 4-9 - Geometria da Torre........................................................................................... 79 Figura 4-10 - Falta Layer ...................................................................................................... 79 Figura 4-11 Stub ................................................................................................................ 80 Figura 4-12 - Texto da Barra ................................................................................................ 81 Figura 4-13 - Bloco no encontrado ..................................................................................... 82 Figura 4-14 - Bloco Posio ................................................................................................. 82 Figura 4-15 - Linha de comandos do AutoCAD .................................................................. 85 Figura 4-16 Classe CdTcDadosBarra .......................................................................... 87 Figura 4-17 - Classe CdTcDadosGeometria ................................................................. 88 Figura 4-18 - Classe CdTcNormaParafuso .................................................................... 89 Figura 4-19 - Classe CdTcIncluirNormaParafuso ................................................... 90 Figura 4-20 - Classe CdTcIncluirDistanciaParafuso ......................................... 91 Figura 4-21 - Classe CdTcIncluirComprimentoParafuso..................................... 91 11

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

Figura 4-22 - Ambiente do AutoCAD customizado pelo TowerCAD ................................. 92 Figura 4-23 - O Comando CBarra ..................................................................................... 93 Figura 4-24 - O Comando CPlaca ..................................................................................... 94 Figura 4-25 - Representao da geometria nos desenhos de detalhamento ......................... 95 Figura 4-26 - Croqui de uma pea para fabricao .............................................................. 95 Figura 4-27 - Detalhamento completo de um p de uma torre ............................................. 96 4-28 - Desenho de detalhamento de um p gerado automaticamente pelo CPe .................. 97 Figura 4-29 - Escolha da Norma de Parafusos ..................................................................... 98 Figura 4-30 - Incluso de Norma.......................................................................................... 99 Figura 4-31 - Seleo do arquivo para o povoamento do banco de dados ......................... 100 Figura 4-32 Configurao de um arquivo .DAT modelo ................................................ 100 Figura 4-33 Formatao de um arquivo CAM para controle numrico gerado pelo comando GerarArquivo ...................................................................................................... 101 Figura 5-1 - Parte da estrutura do Banco de Dados ............................................................ 104 Figura 5-2 - Elementos do detalhamento ............................................................................ 107 Figura 5-3 - Tabela Torre ................................................................................................ 108 Figura 5-4 - Detalhe de dobra na cintura ............................................................................ 109 Figura 5-5 - Tabela Barra ................................................................................................ 110 Figura 5-6 - Tabela Emenda .............................................................................................. 112 Figura 5-7 - Detalhe da emenda. Extrada de Silva, J.B.G.F & all (2009) ......................... 113 Figura 5-8 - Tabela Ligao ........................................................................................... 113 Figura 5-9- Ligao. Extrada de Silva, J.B.G.F & all (2009) ........................................... 114 Figura 5-10 - Tabela Chapa .............................................................................................. 115 Figura 5-11 - Representao da Chapa ............................................................................... 116 Figura 5-12 - Tabela Furo................................................................................................. 116 Figura 5-13 - Tabela Perfil ............................................................................................ 117 Figura 5-14 - Tabela Perfil preenchida ......................................................................... 117 Figura 5-15 - Tabela No ..................................................................................................... 118 Figura 5-16 - Tabela Tipo_Torre .................................................................................. 118 Figura 5-17 - Tabela Distancia_parafuso ............................................................... 119 Figura 5-18 - Distncias mnimas ....................................................................................... 120 Figura 5-19 - Tabela Norma_parafuso......................................................................... 120 Figura 5-20 - Tabela Desenho ......................................................................................... 121 Figura 5-21 - Tabela Formato ......................................................................................... 121 Figura 5-22- Tabela Nota.................................................................................................. 122 Figura 5-23 - Notas ............................................................................................................. 122 Figura 5-24 - Tabela Legenda ......................................................................................... 123 Figura 5-25 - Relacionamentos da tabela Torre .............................................................. 124 Figura 5-26 - Relacionamentos da tabela Barra .............................................................. 125 Figura 5-27 - Relacionamentos da tabela Desenho ......................................................... 127

12

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

1.

INTRODUO

Este captulo apresenta consideraes gerais sobre o contexto do estado da arte da engenharia de torres, que de vrias formas contribuiu para a deciso de desenvolvimento do presente trabalho. Em seguida, so apresentados a motivao e os objetivos da realizao dessa dissertao. Uma breve leitura sobre as torres metlicas, o objeto de estudo do trabalho, ento apresentada. Finalmente, feita uma rpida apresentao da empresa parceira e da forma de organizao da dissertao em captulos.

1.1 Consideraes Gerais


Em uma poca de crescimento econmico como a atual, so necessrios grandes investimentos em infraestrutura para que o crescimento seja sustentvel. Durante esse evento do crescimento os profissionais da rea de engenharia ficam em evidncia e so cada vez mais requeridos pelo mercado. Os projetos tm prazos de execuo cada vez mais apertados e as exigncias de qualidade e produtividade definem prazos de execuo mais curtos com menor quantidade de erros.

13

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

A execuo de tarefas repetitivas manualmente pode ser considerada como uma das principais causas da existncia de grandes quantidades de erros e da demora na execuo de tarefas. O paradoxo da necessidade de executar tarefas mais rapidamente com menor probabilidade de erros se coloca como um dos maiores desafios para a engenharia moderna. O surgimento dos computadores pode ser considerado um marco fundamental para o binmio agilidade e minimizao de erros na execuo de tarefas repetitivas. A velocidade da evoluo das tecnologias dos computadores permitiu avano equivalente, seno maior, da engenharia de software para a execuo clculos mais complexos e para a automao de processos, que despendiam muito tempo e geravam muitos erros. A engenharia estrutural e outras cincias passaram por uma evoluo importante com a automao de clculos matemticos atravs da Engenharia Auxiliada por Computador denominada tecnologia CAE (Computer Aided Engineering). Posteriormente a tecnologia CAD (Computer Aided Design) ou Projeto Auxiliado por Computador permitiu a costumizao e automao de processos de modelagem, visualizao e detalhamento de produtos de uma forma contundentemente mais rpida, mais precisa e mais correta. Em algumas reas da engenharia estrutural, no entanto, o desenvolvimento da tecnologia CAD ainda no atingiu objetivos especficos citados acima. O processo de detalhamento de torres metlicas para a fabricao de pode ser considerado um exemplo. um processo manual e que ainda requer bastante tempo para ser concludo.

1.2 Motivaes e Objetivos


Um dos grandes problemas do desenvolvimento de projetos de estruturas de torres metlicas a falta de automao do processo decorrente da grande carncia de aplicativos capazes de atender as vrias etapas do processo. Em especial, pode-se destacar a falta de automao da etapa de detalhamento, que constitui o gargalo de todo processo de fabricao. Os softwares para detalhamento de estruturas metlicas existentes no mercado tm limitaes, que dificultam sua utilizao para atender as peculiaridades do detalhamento de torres metlicas. Eles no consideram a forma de detalhamento usual das empresas do mercado. As torres metlicas so estruturas especiais que, devido a sua geometria, a quantidade de planos existentes e ao tamanho de seus perfis, possuem uma grande quantidade de detalhes. Essa variedade considervel de detalhes, especialmente nas ligaes, dificultam a automao da fase de detalhamento. No caso das torres metlicas, o detalhamento se torna o gargalo de todo o processo produtivo, pois exige uma complexa anlise sobre os resultados do dimensionamento

14

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

visando transferncia de dados do diagrama unifilar (ou silhueta) gerado pelo clculo, para as reais dimenses envolvidas na montagem das torres em campo. O processo de detalhamento de torres metlicas , ainda hoje, bastante moroso e artesanal. Consiste ainda em uma importante fonte de erros, que pode gerar grandes prejuzos, incluindo a paralisao da obra. As plataformas grficas ainda so utilizadas, na maioria das vezes, como pranchetas eletrnicas para desenhar o detalhamento. Enquanto as etapas de clculo e dimensionamento so concludas em questo de dias e esto razoavelmente automatizadas, a etapa de detalhamento pode durar at meses. Em alguns casos, projetos de torres antigas so reaproveitados, mesmo a um custo maior, com o objetivo de cumprir os prazos que so cada vez mais apertados. A falta de produtividade decorre tambm da ausncia de sistemas CAD, CAE e CAM que permitam uma maior automao do seu processo produtivo, englobando todas as etapas do processo produtivo: entrada de dados ou modelagem, anlise estrutural, dimensionamento, detalhamento e a fabricao. Esta dissertao de mestrado enderea temas de pesquisa, que tem como objetivo global o desenvolvimento de um sistema para automao do processo de detalhamento das torres metlicas atravs da integrao entre as tecnologias CAE (Computer Aided Engineering), CAD (Computer Aided Design) e CAM (Computer Aided Manufacturing). Este trabalho tem como objetivo especfico contribuir, de forma inovadora, com estudos para implementao de um sistema computacional (TowerCAD) segundo padres de engenharia de software aplicados ao processo produtivo de estruturas de torres metlicas. Os resultados obtidos so apresentados atravs do sistema TowerCAD desenvolvido utilizando conceitos do padro de arquitetura de software MVC (Modelo-VisualizaoControle), segundo Leite(2007), para integrar as etapas desse processo, porm garantindo a separao entre a informao, controle e representao grfica. Os objetos de estudo dessa dissertao visam desenvolver um sistema gerenciador de dados com a construo de um banco de dados especfico, de um sistema de controle, que permite a transferncia de dados e integrao entre os mdulos e de um aplicativo CAD para a visualizao grfica dos resultados. A proposta do TowerCAD aumentar a produtividade do setor, minimizar erros e melhorar qualidade do processo e do produto, colocando assim as empresas em outro patamar de competitividade.

1.3 Torres Metlicas


As estruturas de torres metlicas para transmisso so elementos de sustentao dos cabos de linhas eltricas de transmisso de energia. As linhas de transmisso tm como objetivo fazer a ligao entre a usina geradora de energia e os centros consumidores de energia. 15

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

As dimenses e formas das torres metlicas dependem de diversos fatores, dentre os quais: O nvel de tenso da linha. As linhas so classificadas como de alta tenso (<= 230 kV), extra alta tenso (230 kV a 700 kV) e ultra alta tenso (>700 kV). Quanto maior for a distncia a ser percorrida maior ser a tenso da linha. Distncias eltricas estabelecidas. Nmero de circuitos. Obstculos existentes na linha como, por exemplo, a travessia de rios. As estruturas de torres metlicas treliadas seguem uma arquitetura quase padronizada, sendo utilizadas para o transporte de energia em um ou dois circuitos. Para linhas de transmisso com grandes extenses e, por conseqncia, grandes tenses (> 69 kV), as torres metlicas so a soluo mais econmica. Para tenses mais baixas (<69 kV), no entanto, outros materiais tambm so utilizados como, por exemplo, o concreto armado e a madeira. O projeto arquitetnico da torre feito pelo engenheiro calculista com base nos carregamentos, alturas a serem consideradas e distncias de segurana. O calculista determina as aberturas superiores e inferiores das faces transversal e longitudinal e define o tipo de treliamento principal e secundrio a ser adotado. A partir dessas premissas so executados os clculos de esforos solicitantes atuantes na estrutura e o dimensionamento das barras, das ligaes e das fundaes. A estrutura deve ser analisada juntamente com a fundao, pois, a torre mais leve pode no garantir a soluo global mais econmica. Pode-se visualizar na Figura 1-1 alguns dos tipos de torres metlicas mais utilizadas, so eles: As torres auto-portantes do tipo Tronco Piramidal Utilizadas em praticamente todos os nveis de tenses e em um e dois circuitos. As torres tipo Delta Podem ser ainda do formato Cara de Gato. As torres Estaiadas. As torres Cross Rope. As duas ltimas formas de estrutura, referenciadas acima, foram projetadas ao longo do tempo, devido necessidade de aumento da distncia entre o ponto gerador e o ponto consumidor de energia. As duas primeiras so os tipos de torres de utilizao mais freqente em linhas de transmisso.

16

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

Figura 1-1 - Tipos de Torres

1.3.1 Famlias de Torres


Segundo Gontijo (1994), as torres metlicas so padronizadas em Famlias de Torres para o projeto e para a fabricao por questes de economia. Uma famlia de Torres um conjunto de torres projetadas e montadas em uma linha de transmisso a partir de subestruturas idnticas ou similares. As famlias de Torres so compostas pelas seguintes subestruturas: Corpo bsico Comum em todas as torres da famlia. constitudo pela cabea da torre e ainda pelo tronco bsico inferior. Extenses do corpo bsico Sua presena depende da altura de uma torre especfica na linha de transmisso que indica a altura da torre a ser montada. Normalmente constitudo por trechos com alturas variando de seis em seis metros. Pernas Parte inferior da torre. Uma torre com seo quadrada ou retangular possui quatro pernas que podem ter tamanhos diferentes dependendo da topografia do local onde ela for instalada. A altura das pernas pode variar de 1,5 a 9,0m em segmentos de 1,5 de comprimento. Serve para evitar o nivelamento do terreno. As estruturas so montadas em locais pr-determinados da linha, utilizando a combinao das subestruturas, visando atingir as necessidades de altura da torre e das condies topogrficas. Conforme j dito, as torres no so projetadas uma a uma porque isso elevaria muito o custo de projeto e de fabricao j que seria necessrio um projeto especfico para cada locao de torre na linha de transmisso. As subestruturas e os componentes das torres tipo Delta e Tronco Piramidal podem ser visualizados na Figura 1-2. Nas torres do tipo Tronco Piramidal, as subestruturas que compem o corpo bsico so os suportes dos cabos pra-raios, as msulas, tronco da cabea e o tronco bsico inferior. J nas torres do tipo Delta, o corpo bsico constitudo pelas subestruturas: suportes dos cabos pra-raios, msulas, viga, gambieta, delta e o tronco 17

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

bsico inferior. As extenses e as pernas dos dois tipos de torres tambm podem ser visualizadas.

Figura 1-2 - Subestruturas das Torres Delta e Tronco Piramidal

1.4 CR Gontijo Engenharia de Projetos


Este trabalho foi desenvolvido em parceria com a empresa CR Gontijo Engenharia de Projetos, especializada em projeto de torres metlicas. A equipe tcnica da empresa participou e contribuiu significamente com sua experincia em projetos de torres metlicas. Os passos necessrios para o desenvolvimento do aplicativo foram definidos pelos orientadores com o auxlio de profissionais da empresa parceira.

18

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

Os aspectos prticos dessa pesquisa e os estudos realizados relacionados ao projeto de torres, desde a concepo do projeto at o detalhamento, tiveram tambm uma contribuio importante da experincia dos profissionais da empresa C.R. Gontijo. Os resultados prticos alcanados, pelo sistema TowerCAD, j esto sendo utilizados e testados pelos profissionais da empresa. Atualizaes e sugestes de melhoria sero analisadas e levadas em considerao durante o desenvolvimento e aperfeioamento do aplicativo. A participao de profissionais da rea propiciou um enfoque prtico ao aplicativo desenvolvido.

1.5 Contedo por Captulo


No presente captulo definiu-se o contexto global do trabalho dissertando-se sobre aspectos gerais da pesquisa, sobre seus objetivos e justificativas, sobre torres metlicas e suas famlias e sobre a parceria com a empresa do setor. Uma breve introduo sobre engenharia de torres metlicas feita com nfase especial ao detalhamento de estruturas metlicas. No segundo captulo so apresentadas todas as ferramentas utilizadas no desenvolvimento do trabalho com uma breve reviso de seus fundamentos. O AutoCAD, o API .NET e as tecnologias para banco de dados so algumas das ferramentas mencionadas. No terceiro captulo feito um breve relato sobre o Grupo de Pesquisa e sobre o CADTEC Centro Avanado de Desenvolvimento Tecnolgico e Ensino da Computao grfica, onde esta pesquisa foi inserida, em seguida so mostradas as etapas de desenvolvimento do trabalho, so descritas tambm as etapas do processo de desenvolvimento de um projeto de torres metlicas e finalmente so apresentadas as caractersticas importantes o sistema TowerCAD desenvolvido. No quarto captulo apresentado o aplicativo CAD para detalhamento de torres desenvolvido para esse trabalho. Suas caractersticas, sua estrutura global com todas as classes criadas e todos os comandos criados para customizar o AutoCAD so detalhados nesse captulo. No quinto captulo so apresentadas as caractercas relevantes do Banco de Dados do sistema computacional desenvolvido. Sua independncia da plataforma grfica ressaltada. Suas tabelas e os relacionamentos entre tabelas so detalhados. No ltimo captulo so apresentadas as consideraes finais com apresentao das contribuies geradas pelo trabalho, as limitaes do aplicativo e ainda as propostas para trabalhos futuros. 19

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

2.

RECURSOS UTILIZADOS NO PROJETO

Para o desenvolvimento deste projeto de pesquisa foram utilizadas como ferramentas de desenvolvimento o AutoCAD 2008, a API .NET que baseada na tecnologia .NET, a linguagem padro para banco de dados SQL, o Microsoft Access 2007 e o Microsoft Visual Studio 2005. Foram ainda estudadas outras tecnologias que permitem desenvolver aplicativos especficos no AutoCAD e que foram utilizadas em trabalhos anteriores como a interface de programao de aplicativos ObjectARX e a biblioteca de classes MFC responsvel pela criao de interfaces com o usurio. O AutoCAD foi a plataforma grfica escolhida para o desenvolvimento do aplicativo TowerCAD por ser uma plataforma de grande aceitao no mercado, amplamente utilizada pelos escritrios de empresas de engenharia civil, e por possuir uma arquitetura aberta para o desenvolvimento de aplicativos para reas especficas atravs de interfaces de programao. Esse um trabalho pioneiro no programa de Ps-graduao em Engenharia de Estruturas da UFMG - PROPEEs na utilizao da API baseada na tecnologia .NET para o desenvolvimento de sistemas CAD. Sua escolha foi baseada principalmente na facilidade 20

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

de interligao de banco de dados externos com a plataforma grfica e em outras vantagens que sero descritas na seo 2.5.2. O aplicativo criado com auxlio da interface de programao de aplicativos (API) .NET, assim como os criados com a API ObjectARX, so vinculados dinamicamente ao AutoCAD e os comandos criados operam do mesmo modo que os comandos nativos. O Microsoft Visual Studio uma ferramenta desenvolvida pela Microsoft em um ambiente de desenvolvimento integrado de sistemas computacionais para o Windows. O Visual Studio foi escolhido como o framework para o desenvolvimento do aplicativo por permitir uma programao mais rpida e eficiente, devido s suas ferramentas internas de programao. Os cdigos e a estrutura de banco de dados desenvolvidos podem ser utilizados em qualquer sistema gerenciador de banco de dados com apenas pequenas modificaes a serem feitas. Para o aplicativo criado, as funcionadas oferecidas pelo Microsoft Access foram suficientes. A linguagem SQL padro para programao de banco de dados e utilizada independentemente do sistema gerenciador de banco de dados.

2.1 AutoCAD
O AutoCAD segundo Baldam(2007) uma plataforma grfica genrica desenvolvida pela empresa Autodesk. a plataforma grfica mais difundida do mundo nos escritrios de clculo para projetos assistidos por computador. Possui uma srie de recursos e comandos para a gerao de entidades grficas com elevada preciso geomtrica. O AutoCAD possui uma estrutura de banco de dados interna que permite o armazenamento de informaes sobre objetos e entidades (objetos criados com representao grfica) necessrias manipulao das caractersticas geomtricas e construo de sua representao grfica. Um desenho do AutoCAD formado por um conjunto de objetos armazenados nesse banco de dados. O conhecimento dessa estrutura fundamental para a programao do AutoCAD. O AutoCAD contribuiu para uma grande revoluo nas reas de tecnologias CAD que aconteceu com a abertura da arquitetura do cdigo para customizao e personalizao atravs do desenvolvimento de aplicativos CAD para reas especficas. Atualmente, o AutoCAD pode ser programado atravs da linguagem Autolisp (a partir da verso 12, com recursos limitados), pela API (Interface para programao de aplicativos) ObjectARX e utilizando a nova API baseado na tecnologia .NET.

21

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

2.1.1 Banco de Dados do AutoCAD


O banco de dados do AutoCAD armazena um conjunto de objetos grficos e no grficos que formam um arquivo do AutoCAD. Os objetos que possuem representao grfica so denominados entidades e os objetos que no possuem representao grfica so denominados objetos. O banco de dados do AutoCAD composto por uma estrutura constituda por tabelas de smbolos e pelo dicionrio de objetos nomeados conforme ilustrado na Figura 2-1.

Figura 2-1 - Estrutura do Banco de Dados do AutoCAD

Existem nove tabelas de smbolo e apenas um dicionrio de objetos nomeados. As tabelas de smbolo no podem ser criadas nem destrudas por um aplicativo. Apenas seu contedo pode ser modificado quando se adiciona ou altera os registros existentes. Cada tabela armazena um tipo especfico de objeto como, por exemplo, entidades, layers, tipos de linhas e estilos de dimensionamento. A tabela de blocos armazena as entidades criadas. As tabelas de smbolo e os dicionrios so os dois tipos de objetos de armazenamento existentes no banco de dados do AutoCAD. Quando uma entidade ou objeto inserido em um objeto de armazenamento, ele recebe um identificador nico atravs do qual poder ser acessado dentro do banco de dados do AutoCAD. Cada arquivo com a extenso .dwg criado no AutoCAD possui um nico banco de dados. Um identificador, ou ID, identifica e associa o objeto ao seu banco de dados, mesmo quando vrios bancos de dados esto abertos ao mesmo tempo, ou seja, mesmo quando vrios arquivos .dwg esto abertos ao mesmo tempo no software AutoCAD. Esse identificador no , no entanto, necessariamente o mesmo quando um arquivo .dwg fechado e depois reaberto. Para identificar o objeto de maneira nica existe, outro identificador denominado handle, que permanece associado ao mesmo objeto, mesmo quando o arquivo fechado e aberto novamente. 22

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

Os objetos armazenados nas tabelas ou nos dicionrios do AutoCAD podem ser encontrados pela utilizao de iteradores. Iteradores so objetos responsveis por percorrer as tabelas de smbolos e os dicionrios pesquisando o seu contedo.

2.2 Programao Orientada a Objetos (POO)


Segundo Leite (2002), a Programao Orientada a Objetos constitui um padro de programao, que possibilita um alto reaproveitamento de cdigos, com sistemas formados a partir de sistemas menores ou projetos. Os sistemas menores ou projetos so constitudos por classes e objetos onde os dados e os procedimentos esto juntos em um s elemento. Uma linguagem orientado a objetos possui uma srie de mecanismos e conceitos bsicos. Dentre os mecanismos pode-se citar: os objetos, as classes, o membros das classes, os tipos de acesso, as mensagens, as heranas etc. Alguns dos conceitos bsicos que podem ser citados so: abstrao, encapsulamento, polimorfismo, modularidade, persistncia e a tipificao. A Programao Orientada a Objetos se difere da Programao Estrutural pela maneira atravs da qual os dados e procedimentos se intercomunicam. Nos sistemas estruturados, a implementao feita atravs de estruturas, que englobam procedimentos que se relacionam pela troca de dados. Na anlise orientada a objetos, dados e procedimentos esto agrupados formando as classes de objetos. O funcionamento se d atravs do relacionamento e troca de mensagens entre os objetos. Duas das grandes vantagens da programao orientada a objetos so o alto ndice de reutilizao de cdigo e a maior facilidade de manuteno do sistema. Podemos destacar ainda algumas caractersticas modulares interessantes para desenvolvimento de software como a portabilidade, reusabilidade, confiabilidade e alguns conceitos j citados como a abstrao, o encapsulamento, a herana e o polimorfismo. A programao orientada a objetos ideal para aplicativos com grande grau de elaborao e elevado potencial de desenvolvimento e aprimoramento. O paradigma da POO foi utilizado na elaborao desse trabalho.

2.3 ObjectARX
ObjectARX segundo Malard(2009) uma API (Interface para Programao de Aplicativos), que utiliza a linguagem C++ para personalizar a plataforma grfica AutoCAD. O AutoCAD R14 foi a primeira verso aberta para o desenvolvimento de

23

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

aplicativos utilizando essa API. ObjectARX a API mais completa disponvel para a personalizao do AutoCAD atualmente. Baseado nos paradigmas da programao orientada a objetos, o ObjectARX permite derivar novas classes com a mesma funcionalidade de classes nativas do AutoCAD. Alm disso, possvel acessar as estruturas de banco de dados do sistema grfico do AutoCAD e ainda criar novos comandos. Para garantir o controle do AutoCAD sobre as entidades ou objetos personalizados necessrio definir atravs do polimorfismo um conjunto mnimo de funes a serem sobrecarregadas. Usualmente, o projeto desenvolvido na API ObjectARX dividido em dois mdulos: ARX Armazena as funes, comandos e classes derivadas do MFC, inicializao, carregamento e descarregamento do aplicativo DBX Armazena classes definidas e utilizadas pelo aplicativo. O aplicativo desenvolvido em ObjectARX fica integrado ao AutoCAD em forma de biblioteca de classes dinmicas.

2.4 Framework .NET


Sistemas computacionais baseados na tecnologia .NET utilizam tcnicas para incrementar o desempenho de programas interpretados em mquinas virtuais. A mquina virtual, funciona como um computador fictcio implementado atravs de software, que executa programas isolada e eficientemente como um computador real. A principal caracteristica de mquinas virtuais como o Java e .NET o processo de compilao intermediria, que traduz o cdigo fonte para uma representao conhecida como bytecode. O bytecode no est vinculado a nenhum cdigo de mquina ou sistema operacional e portanto pode ser transferido para vrias arquiteturas de computador. A representao intermediria (bytecode) pode ser interpretada e/ou executada em tempo real na mquina virtual de cada arquitetura especfica. Esta tcnica, conhecida como JIT, compilador just-in-time converte em tempo de execuo instrues do formato bytecode para cdigo de mquina. Nas arquiteturas, que oferecem ambientes com recursos de JIT, os bytecodes resultantes da compilao do programa fonte so executados pela mquina virtual, que realiza a converso desse bytecode para cdigo de mquina nativo enquanto o executa. Normalmente, trechos do cdigo fonte so traduzidos em tempo de execuo e por isto o nome dado "just-in-time". No caso do Framework .NET a compilao intermediria executada pela linguagem MSIL (Microsoft Intermediate Language). Todo arquivo .NET pr-compilado nesta linguagem intermediria e compilado em tempo de execuo na mquina do cliente atravs da Linguagem Comum em Tempo de Execuo - CLR(Common Language Runtime). 24

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

Para escrever um cdigo gerenciado importante conhecer bem a CLR, que um importante componente do Framework .NET. Cdigo gerenciado a definio aplicada a qualquer software que possa ser executado no Framework .NET e que vise a compilao intermediria atravs da CRL, enquanto o cdigo que no passa por essa fase conhecido como cdigo no gerenciado. Uma das evolues da tecnologia .NET a independncia do sistema operacional e outra que pode ser citada a possibilidade do desenvolvedor escolher a linguagem que ir programar sem perdas de recursos ou performance. Isto inclue aplicativos em linguagens de alto nvel como C#, alm de outras linguagens, que tenham como alvo o Framework .NET, como o Java, C++, VB, etc. As linguagens de alto nvel so linguagens com um nvel de abstrao elevado, longe do cdigo mquina e mais prximo da linguagem humana. Entender porque a CLR necessria e como ela funciona significa entender que pode ser feito com essas linguagens. A plataforma Framework .NET foi desenhada para executar aplicaes na Internet e a CRL o ambiente de execuo dessa plataforma fornecendo servios fundamentais como gerenciamento de memria, gerenciamento de segmento e arquitetura de comunicao remota. As exigncias da CRL para o desenvolvimento de uma aplicao podem ser itemizadas assim: Execuo binria segura de componentes de software originados atravs da internet ou de redes sem o receio do sistema ser violado. Desempenho Uma importante caracteristica de um software para Internet que ele possa ser executado na linguagem de mquina nativa do sistema hospedeiro para aproveitar as vantagens do hardware no desenvolvimento da aplicao. Reduo de Bugs(erros) Aplicaes desenvolvidas para a Internet precisam ser robustas, mesmo que sejam executadas localmente na linguagem nativa da mquina do cliente. Aplicativos desenvolvidos com a CRL, que no tenham a Internet como alvo, mas que apresentam uma interconexo ou dependncia (banco de dados) com software executado ou distribudo remotamente tambm precisam se robustos. De Fcil Integrao: Outra exigncia da CRL para o desenvolvimento de aplicaes que essas sejam capazes de integrar com outros softwares e possa rodar em vrias paltaformas.

A CLR (Common Language Runtime) preenche todos esses requisitos de uma forma ou de outra. O contexto da plataforma .NET pode ser visualizado na Figura 2-2.

25

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

Figura 2-2 - NET em contexto. Extraido de Microsoft (2009)

Uma das evolues da tecnologia .NET a independncia do sistema operacional e outra que pode ser citada a possibilidade do desenvolvedor escolher a linguagem que ir programar sem perdas de recursos ou desempenho. As bibliotecas de classes do framework esto organizadas em objetos denominados namespaces (continers que fornecem o contexto para os objetos que armazena) para facilitar a localizao de classes e funes especficas. Essa bibliotecas tm cdigo aberto, permitindo a utilizao de objetos diretamente ou a especializao dos mesmos. O Framework composto por bibliotecas ou assemblies(DLL ou EXE) que do suporte a qualquer linguagem que rode dentro dele. Aplicativos desenvolvidos com Framework .NET adotam a seguinte sequncia; um programa escrito em qualquer das mais de vinte linguagens de programao disponveis, o cdigo fonte gerado pelo programador ento compilado pela linguagem escolhida produzindo um cdigo intermedirio na linguagem MSIL (Microsoft Intermediate Language). O mecanismo multilinguagem pode ser visualizado na Figura 2-3.

26

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

Figura 2-3 - Mecanismo multilinguagem permitido pelo Framework .NET. Extrado de Microsoft (2009)

Este novo cdigo fonte gera um arquivo chamado de Assembly, de acordo com os seguintes tipos de projeto: EXE - Arquivos Executveis, Programas DLL - Biblioteca de Funes ASPX - Pgina Web ASMX - Web Service

2.4.1 Linguagem C#
C# segundo Sharp (2008) uma linguagem de programao simples, moderna, orientada a objetos e segura. As razes da linguagem C# esto na familia das linguagens C e imediata a familiariada da mesma para programadores de C, C++ e Java. C# foi criada pela Microsoft dentro do empreendimento de desenvolvimento da tecnologia .NET segundo os padres da ECMA-334 e ISO/IEC 23270. Juntamente com o VB.NET a linguagem mais importante da plataforma .NET. Alm de ser uma linguagem orientada a objetos, C# suporta tambm programao de componentes orientados a objetos. Projetos de software modernos dependem cada vez mais de componentes de aplicaes em formato de pacotes de funcionalidades autocontidas. Esses pacotes apresentam padres de programao com propriedades, eventos e mtodos, apresentam ainda atributos que fornecem informaes declarativas sobre o componente e tambm incorporam sua prpria documentao. C# fornece recursos de

27

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

linguagem para sustentar esses conceitos, que fazem do C# uma linguagem natural para a criao e o uso de componentes de software. Vrias caractersticas da C# contribuem para a construo de softwares robustos e durveis: Coleta de Lixo recupera automaticamente a memria utilizada por objetos ociosos Manejo de Excees: fornece um controle estruturado e extensivo de deteo e recuperao de erros Tipo seguro: projeto da linguagem torna impossvel a leitura de variveis no iniciadas ou a indexao de vetores alm do seu limite Flexvel Pode ser executado na mquina corrente ou em outra pela web. Poderoso Essencialmente os mesmos comandos do C++. Fcil de usar Modifica os comandos responsveis por mais erros no C++ e gasta menos tempo com erros. Visualmente orientado. Internet friendly. O aplicativo resultado desse trabalho foi desenvolvido na linguagem C#.

2.4.2 Sistema Windows Forms


System Windows Forms um ambiente do Windows, cuja biblioteca de classes foi includa como parte do Framework .NET. para criao de interfaces grficas de programao de aplicativos (API - Application Programming Interface). Atravs desse ambiente possvel acessar os elementos nativos de interface do MS Windows pelo empacotamento de APIs existentes do Windows em cdigo gerenciado. As interfaces criadas e customizadas funcionam e aparentam para o usurio como se fossem interfaces nativas do Windows. As interfaces com o usurio para entrada de dados do aplicativo desse trabalho, construdas para comunicar atravs de formulrios, foram derivadas do ambiente System Windows Forms. Embora seja considerado por alguns como substituto do MFC (Microsoft Foundation Class Library), que baseado no C++, o ambiente System Windows Forms no oferece um paradigma comparvel ao MVC (Modelo-Visualizao-Controle). Algumas bibliotecas terceirizadas foram criadas para suprir essa funcionalidade, das quais a mais utilizada tem sido a User Interface Process Application Block (Bloco de Aplicao do Processo de Interface do Usurio), que pode ser baixada gratuitamente e inclui o cdigo fonte para exemplos rpidos. As classes derivadas do ambiente System Windows Forms possuem um arquivo, que armazena o cdigo da classe e outro no qual so feitas as alteraes do design. Essas classes so do tipo que possui uma representao grfica.

28

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

A classe Form (System.Windows.Forms) uma parte fundamental daquele ambiente, por ser um bloco chave na construo de aplicativos Windows. Na Figura 2-4, pode ser visualizado o arquivo que armazena o cdigo da classe costumizada CdTcDadosBarra (desenvolvido neste trabalho e descrita na seo 4.3.8), que herdeira (derivada) da classe System.Windows.Forms.Form.

Figura 2-4 Arquivo de cdigo da classe Windows Form

O arquivo de cdigo de uma classe derivada do System Windows Forms bem semelhante a outros arquivos de cdigo com exceo da primeira linha de declarao da classe, que informa que a classe derivada. O arquivo de representao grfica da classe Form, no qual podem ser feitas as alteraes no design, disponibiliza um quadro visual com botes, cones e barras juntos na mesma janela e por isto bem fcil de ser manipulado. Disponibiliza tambm uma barra de ferramentas com os vrios controles que podem ser acrescentados janela de interface. Os controles podem ser facilmente movidos dentro da janela criada de modo a tornar a interface mais agradvel para o usurio. A Figura 2-5 permite a visualizao do design da classe CdTcDadosBarra e a barra de ferramentas com os controles, que podem ser acrescentados.

29

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

Figura 2-5 - Arquivo de interface da classe Windows Form

2.4.3 Como Lidar com Excees em C#


Os recursos para lidar com excees na linguagem C# permitem o programador controlar condies de erros ou situaes de anormalidade de uma maneira estruturada e segura em nvel do sistema operacional e do aplicativo. Desta forma o programador pode separar o fluxo normal do cdigo da lgica para lidar como o erro. Uma exceo pode representar uma variedade de condies anormais, como, por exemplo, o uso de uma referncia nula de um objeto detectada pelo sistema em tempo de execuo ou ainda uma sequncia invlida de entrada (input) fornecida pelo usurio e detectada pelo cdigo. Um cdigo cria (throw) uma exceo quando detecta uma condio de erro e um cdigo captura (catch) uma exceo quando consegue tratar e lidar com o erro. Em C# uma exceo um objeto, que encapsula vrias informaes sobre o erro ocorrido, tal qual uma divisao por zero e a respectiva mensagem descritiva do erro. Os objetos de exceo so instanciaes (exemplos) da classe me System.Exceptions ou de uma de suas classes filhas. Existem vrias classes de exceo definidas no Framework .NET, que so usados para vrios objetivos. Programadores tambm podem definir suas prprias classes de exceo herdeiras da classe System.Exceptions. Na linguagem C# existem 3(tres) definies de cdigos para lidar e tratar a exceo, que so:

30

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

1. try/catch nesse bloco o cdigo verifica a existncia de exceo(try) e a cria se ela ocorrer (throw) e em seguida captura e trata a exceo (catch). Caso no ocorra nenhuma exceo, o bloco catch no executado 2. try/catch/finally - nesse bloco o cdigo verifica a existncia de exceo(try), captura e trata a exceo (catch) se ela ocorrer e SEMPRE executa a declarao finally para especificar finalizao de cdigo independentemente da exceo ter ocorrido ou no. Este tipo de declarao til para as situaes de fechamento de conexes, de arquivos ou mesmo liberar algum recurso caro para o sistema operacional. (no entendi) 3. try/finally aqui o cdigo verifica a existncia de exceo(try), e SEMPRE executa a declarao finally para especificar finalizao de cdigo. Qualquer exceo que ocorrer ser jogada para depois do finally. Um exemplo da utilizao de excees neste trabalho a entrada de dados pela interface grfica criada para o comando CBarra (criado neste trabalho e descrito na seo 4.4.1). Na caixa de texto, (textBox), chamada de ButtonAba, o usurio deve digitar o valor da aba da cantoneira. So aceitos apenas valores inteiros. Com a inteno de verificar se o usurio est utilizando o programa com a devida consistncia , ou seja, se est digitando um inteiro e no algum outro tipo de valor, o programa checa o contedo da caixa de texto, ButtonAba toda vez que o usurio digita um caractere no teclado.. O cdigo da checagem exibido abaixo.
private void ButtonAba_KeyUp(object sender, KeyEventArgs e) { try { Aba = Convert.ToInt16(this.ButtonAba.Text); } catch { MessageBox.Show("Digite um nmero.", "Valores incorretos.", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); ButtonAba.Text = "0"; } }

O programa tenta converter o texto que est escrito na caixa de texto (textBox) em um inteiro. Caso isso no seja possvel, uma exceo lanada e uma caixa de mensagens aparece na tela informando ao usurio que o programa no est sendo utilizado corretamente. A caixa de texto (textBox) recebe ento o valor zero (0) e aguarda que o usurio digite o valor corretamente. O resultado grfico mostrado na Figura 2-6 quando o usurio digita a letra s na caixa de texto ButtonAba.

31

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

Figura 2-6 - Tratamento de excesses

2.4.4 Variveis Estticas


Na liguagem C e nas suas descendentes, o termo varivel esttica tem pelo menos trs significados relacionados com a semntica da palavra chave static da linguagem. Aqui vamos nos referir apenas varivel esttica local, que s pode ser acessada de dentro de um funo ou procedimento onde foi declarada. A caracterstica diferente da varivel esttica est na durao do armazenamento do valor alocada a ela pela funo. O valor alocado durante uma chamada da funo preservado e estar disponvel quando a funao for novamente chamada. As variveis estticas so utilizadas para preservar os valores armazenados. As variveis estticas so inicializadas somente uma vez dentro de uma funo, quando o programa disparado. Essas variveis so automaticamente inicializadas com zero ou outro valor na alocao de memria exatamente como as variveis externas. Diferentemente seus valores prvios continuam a existir e so retidos mesmo depois de sair da funo. Uma situao muito comum em programao a convenincia de deixar valores digitados para a execuo de um comando, disponveis para a chamada seguinte desse comando. Isso aumenta a produtividade do comando, uma vez que o usurio no necessitar digitar

32

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

novamente todos os dados solicitados pelo comando e sim apenas os dados que sero modificados. A varivel esttica no ambiente de Formulrios do Sistema Windows (System Windows Forms) do Framework .NET funciona exatamente da mesma forma. Todas as vezes que um comando evocado, um objeto da classe ambiente Windows Forms criado. Ao ser criado, o objeto no possui seus atributos preenchidos. Os atributos so preenchidos na inicializao do objeto ou posteriormente. Para que os dados possam ser recuperados, as variveis estticas so inicializadas na definio da classe Windows Forms e armazenam os valores na classe e no nos objetos criados. Assim ao inicializar o objeto, o mesmo pode ento acessar os dados que esto armazenados na classe. Abaixo se encontra um exemplo de cdigo de inicializao de uma varivel esttica na classe CdTcDadosBarra, que pertence ao programa (namespace) TowerCAD.
namespace TowerCAD { public partial class DadosBarra : Form { // Inicializa as variveis de modo que o ltimo valor seja //reaproveitado quando outra instncia da classe criada. private static int m_Aba; public static int Aba { get { return m_Aba; } set { m_Aba = value; } } } }

As variveis estticas foram utilizadas no aplicativo CAD principalmente para manter os dados de um comando armazenados na interface grfica quando o comando acionado outra vez pelo usurio.

2.4.5 ADO.NET

O Framework .NET uma completa biblioteca de tipos reutilizveis de objetosorientados, que podem ser usadas para o desenvolvimento de aplicativos. A biblioteca de classe do Framework .NET inclue o ADO.NET, ASP.Net e Windows Forms. A tecnologia ADO.NET constituda de um conjunto de bibliotecas orientadas a objetos da plataforma .NET, que permite a interao e o acesso a fontes de dados. Normalmente, uma fonte de dados um banco de dados, mas poderia ser tambm um arquivo texto, uma planilha Excel ou um arquivo XML. No contexto desse trabalho, vamos considerar o ADO.NET como uma forma de interao com um banco de dados, que permite realizar 33

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

tarefas relacionadas com o acesso e a manuteno de dados atravs de suas classes. As classes da tecnologia ADO.NET esto armazenadas no programa (namespace) System.Data. A denominao ADO proveniente do texto em ingls ActiveX Data Objects, que significa objetos de dados ActiveX. A denominao .NET indica que a tecnologia pertence a plataforma .NET. ADO.NET feito de um conjunto de classes, que so usadas para conectar com um banco de dados, disponibilizando acesso a dados relacionais, XML, dados de aplicaes e ainda permite recobrar resultados. A tecnologia ADO.NET permite uma conexo fcil com qualquer fonte de dados com destaque para os gerenciadores de banco de dados relacionais como o SQL Server, o Oracle, MySQL entre outros. Os componentes ADO.NET foram projetados para tratar o acesso e a manipulao dos dados. ADO.NET inclue vrios objetos, que podem ser usados para se trabalhar com dados. Os seguintes componentes do uma idia do que pode ser feito com dados quando se usa o ADO.NET. Segundo Microsoft (2009), os principais componentes do ADO.NET so DataSet e o provedor .NET que um conjunto de componentes que inclui os objetos Connection, Command, DataReader, and DataAdapter. A arquitetura ADO.NET pode ser visualizada na Figura 2-7.

Figura 2-7 - Arquitetura ADO.NET. Extrada de Microsoft (2009).

34

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

2.4.5.1 Classe DataSet A classe DataSet so representaes dos dados em memria. Ela contem objetos mltiplos do tipo Datatable, que so compostos por linhas e colunas de dados, assim como chaves primrias, extrangeiras, restries e informaes sobre relaes dos dados armazenados. Os objetos da classe DataSet foram especialmente projetados para ajudar no gerenciamento de dados em memria e para dar suporte operaes desconectadas nos dados quando essa situao aparece. Pode-se classifica-lo como o principal componente da arquitetura desconectada do ADO.NET. Segundo Macoratti (2009), o objeto DataSet baseado em XML e fornece as principais funcionalidades para criar aplicaes para banco de dados desconectados. Permite o acesso, exibio e manipulao dos dados. independente da fonte de dados e representa uma cpia do banco de dados em memria. O DataSet um objeto usado por todos Provedores de Dados(Data Providers), e por isso que ele no tem um prefixo especfico de um Provedor de Dados.

2.4.5.1.1 Objeto DataTable


Um objeto DataTable um objeto, que representa uma ou mais tabelas de dados de um banco de dados em memria. Um objeto DataTable est contido em um objeto DataSet e/ou DataView.

2.4.5.1.2 Objeto DataView


O objeto DataView permite a ligao de uma fonte de dados com a interface do usurio. Os dados podem ser filtrados, ordenados e pesquisados. O DataView permite que o usurio tenha diversas vises de um mesmo conjunto de dados. O DataView utilizado para mostrar uma viso dos dados contidos em um objeto DataTable. A Figura 2-8 destaca o objeto DataView criado na interface grfica da classe CdTcNormaParafuso (criada neste trabalho e descrita na seo 4.3.10).

35

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

Figura 2-8 - Objeto DataView

2.4.5.2 Provedores de Dados (Data Providers) ADO.NET ADO .NET permite a interao com diferentes tipos fontes de dados e bancos de dados, mas no possui um conjunto nico de classes, que permita essa interao de uma maneira universal. Cada fonte de dados apresenta o seu prprio protocolo de comunicao e por isso necessrio usar o protocolo especfico para cada fonte de dados. ADO .NET disponibiliza uma forma de interao relativamente simples com fontes de dados atravs de conjuntos de bibliotecas para cada maneira de interagir com a fonte de dados. Essas bibliotecas so chamadas de Data Providers, cujo nome usualmente relacionado com o protocolo ou com o tipo da fonte de dados, com os quais eles podem interagir. Os Provedores de Dados ADO .NET so bibliotecas de classe, que viabilizam a interao com protocolos de fontes de dados especficas. Os prefixos das APIs das bibliotecas indicam, que tipo de provedor eles suportam. Alguns provedores de dados (Data Providers) bastante conhecidos, o prefixo da API utilizado e o tipo de fonte de dados, com ao quais permitem a interao so listados a seguir: ODBC Data Provider Prefixo API: Odbc; Tipo de Fonte de Dados: Fontes de Dados com interfaces ODBC (banco de dados antigos). OLeDb Data Provider - Prefixo API: OleDb; Tipo de Fonte de Dados: Fonte de Dados com interfave OleDb (Access, Excel). Oracle Data Provider - Prefixo API: Oracle; Tipo de Fonte de Dados: Banco de Dados Oracle. SQL Data Provider - Prefixo API:Sql; Tipo de Fonte de Dados: MS Sql Server. 36

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

Para exemplificar o uso do prefixo de uma API podemos usar objeto connection, o qual ser detalhado a seguir. Connection um objeto que permite o estabelecimento de uma conexo com uma fonte de dados. Se for utilizada uma interface OleDb para conectar com o provedor de dados OleDb Data Provider o objeto connection a ser utilizado ser o OleDbConnection. De maneira similar, os nomes dos objetos para a fonte de dados Odbc e para o bando de dados SQL Server seriam respectivamente OdbcConnection e SqlConnection.

2.4.5.2.1 Objeto Connection


Para interagir com um banco de dados preciso ter uma conexo com ele. O objeto Connection responsvel pela gerao da conexo do aplicativo criado com a fonte de dados. Ele ajuda na identificao do servidor do bando de dados, do nome do banco de dados, do nome do usurio, senha e outros parmetros necessrios para conectar com o banco de dados. Um objeto connection usado por comando de objetos para saber em qual banco de dados executar o commando. Para que seja estabelecida uma conexo com a fonte de dados, utilizada a propriedade ConnectionString do objeto Connection, que responsvel por armazenar o texto de conexo utilizado para que a conexo seja aberta. Objetos podem ser utilizados para receber e enviar dados para a fonte de dados uma vez que a conexo esteja aberta. No cdigo abaixo pode ser visualizada a criao de um objeto de conexo, o preenchimento de sua sequncia alfa-numrica (string) de conexo, sua abertura e finalmente o seu fechamento.
static OleDbConnection dataConnection = new OleDbConnection(); dataConnection.ConnectionString "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\BancoDados.accdb"; dataConnection.Open(); dataConnection.Close(); =

2.4.5.2.2 Objeto Command


Para interagir com um banco de dados preciso especificar as aes desejadas, que feito com um comando objeto (Command Object). O objeto Command utilizado para executar declaraes em SQL no banco de dados. Permite acesso a comandos do banco de dados, que retornam e modificam dados. Um objeto command usa o objeto connection para descobrir qual banco de dados deve conectar. Um comando s pode ser criado se alguma conexo j tiver sido criada. Os

37

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

principais mtodos do objeto Command so: ExecuteReader, ExecuteNonQuery e ExecuteScalar. O mtodo ExecuteReader executa declaraes SQL, que retornam linhas de dados como, por exemplo, na instruo SELECT. O mtodo ExecuteNonQuery executa declaraes SQL, que no retornam dados como, por exemplo, nas instrues INSERT, UPDATE, DELETE e SET. J o mtodo ExecuteScalar retorna um valor nico como resultado de uma funo agregada como, por exemplo, nas instrues SUM, AVG, COUNT, MAX e MIN. Os dados retornados pelos mtodos do objeto Command s podem ser recebidos e manipulados se forem utilizados objetos DataReader. O cdigo abaixo permite a visualizao da criao de um objeto Command, a definio de sua conexo, a definio de seu texto e finalmente a sua execuo atravs da criao de um objeto DataReader.
OleDbCommand dataCommand = new OleDbCommand(); dataCommand.Connection = dataConnection; dataCommand.CommandText = " SELECT * FROM Barra" OleDbDataReader datareader = dataCommand.ExecuteReader();

2.4.5.2.3 Objeto DataReader


O objeto DataReader permite a leitura dos dados retornados de uma declarao SELECT do objeto Command. Vrias operaes com dados requerem a obteno de uma sucesso ou fluxo de dados para leitura. Por uma questo de desempenho, os registros de dados retornados de um objeto DataReader so acessados e percorridos somente no modo leitura de fluxo de dados para frente. Isto implica que s se pode extrair dados da fonte de uma maneira sequencial, no sendo permitido o acesso desconectado e alteraes ou atualizaes da fonte de dados original. DataReader tem bom desempenho apenas para leitura, mas se houver necessidade de manipulao dos dados melhor utilizar o DataSet. No cdigo abaixo, o loop while percorre toda a tabela torre, conforme informado no texto do objeto Command, linha por linha.
OleDbCommand dataCommand = new OleDbCommand(); dataCommand.Connection = dataConnection; dataCommand.CommandText = "SELECT * from Torre"; OleDbDataReader datareader = dataCommand.ExecuteReader(); while (datareader.Read()) { // Cdigo a ser executado, linha por linha. }

38

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

2.4.5.2.4 Objeto DataAdapter


Quando se trabalha com dados, que so primordialmente para leitura (read-only) raramente necessrio modificar a fonte de dados subjacente. Algumas vezes importante a colocao de dados em rea de memria rpida (cache), para minimizar o nmero de chamadas ao banco de dados para acesso a dados que no mudam. O objeto DataAdapter torna fcil lidar com essas situaes ajudando no gerenciamento e acesso de dados de modo desconectado. O DataAdapter preenche o objeto DataSet quando faz a leitura de dados e os escreve em um lote nico, quando faz a persistncia das mudanas de volta ao banco de dados. Uma referncia para o objeto Connection fica contida em um objeto DataAdapter, que abre e fecha automaticamente a coneco quando l do banco de dados ou escreve para ele. o objeto que faz a ligao entre o objeto DataSet e a fonte de dados. Alm disto, o DataAdapter contem referncias do objeto Command para as operaes SELECT, INSERT, UPDATE e DELETE nos dados. Em outra palavras, o DataAdapter utiliza objetos Command para executar comandos SQL na fonte de dados para preencher o objeto DataSet com dados e para reconhecer as mudanas feitas nos dados do DataSet para atualizar a fonte de dados. Um DataAdapter definido para cada tabela no objeto DataSet e ele cuida de toda comunicao com o banco de dados, bastando indicar ao DataAdapter quando carregar dados do banco de dados ou escrever para o mesmo. O cdigo abaixo, executado quando o boto Visualizar Tabela na Figura 2-8 clicado, exemplifica a utilizao do objeto DataAdapter como ligao com o objeto DataSet e DataView.
// Inicializa variveis OleDbDataAdapter da; DataSet ds; // Pega a conexo que foi inicializada junto com o programa OleDbConnection dataConnection = TowerCAD.Initialization.getConnection(); ds = new DataSet(); da = new OleDbDataAdapter("Select * from " + comboBoxTabelas.Text, dataConnection); da.Fill(ds, "Tabela"); dataGridView1.DataSource = ds;

Os objetos DataAdapter e DataSet so inicializados. O objeto DataAdapter recebe as instrues SQL, faz a conexo como a base de dados e posteriormente preenche o objeto DataSet. O objeto DataView recebe ento o objeto DataSet. A visualizao poder ser feita ento pelo usurio atravs da interface grfica.

39

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

2.5 API .NET para o AutoCAD


A API (Interface para Programao de Aplicativos) .NET para o AutoCAD permite que se costumize a plataforma grfica AutoCAD. Essa interface de programao do AutoCAD est disponvel desde a verso 2004. A exposio de vrios conjuntos de objetos e bibliotecas abertos para programao possibilita a manipulao do AutoCAD praticamente com as mesmas potencialidades de costumizao da API ObjectARX, com exceo da derivao de classes nativas. Essa arquitetura aberta do AutoCAD pode ser acessada por vrias linguagens e ambientes de programao. O desenvolvimento de uma interface de programao (API) .NET para o AutoCAD, como a desenvolvida para essa dissertao, apresenta muitas vantagens, que sero descritas a seguir. A API .NET para o AutoCAD foi construda com base em blocos de objetos abertos para programao. Esses objetos so reunidos em agrupamentos (assemblies) e continers (namespaces) representando partes do AutoCAD. Alguns exemplos de tipos de objetos na API .NET para AutoCAD so: Linhas, arcos e texto Definies/especificaes de estilos Layers e blocos entre outros

Uma interface de programao desenvolvida atravs da API. NET para o AutoCAD interage com o AutoCAD na forma de uma biblioteca de vnculo dinmica (DLL). Essa interao com AutoCAD pode ser feita manualmente usando o comando NETLOAD na linha de comando para carregar a DLL ou carregando a DLL no AutoCAD atravs de teclas de requisio definidas para cada aplicativo.

2.5.1 Componentes da API .NET para o AutoCAD


Segundo Autodesk (2009), a API .NET para o AutoCAD construda com diferentes arquivos DLL que contm uma grande variedade de classes, estruturas, mtodos e eventos, que permitem o acesso a objetos em um arquivo de desenho ou a um aplicativo AutoCAD. Cada arquivo DLL define diferentes continers (namespaces) que so usado para organizar os componentes da biblioteca baseado em sua funcionalidade. Os trs arquivos DLL que so freqentemente utilizados so: AcDbMgd.dll. Utilizado quando se trabalha com objetos de arquivos de desenho. AcMgd.dll. Utilizado quando se trabalha com o aplicativo AutoCAD. AcCui.dll. Utilizado quando se trabalha com arquivos de costumizao.

40

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

Uma referncia do arquivo DLL deve ser criada no projeto para que as classes, estruturas, mtodos e eventos pertencentes a esse arquivo possam ser utilizados.

2.5.2 Qualidades
A grande vantagem decorrente do uso dessa tecnologia a combinao de facilidade e desempenho. O desempenho de um aplicativo desenvolvido em alguma linguagem da API .NET muito prximo do desempenho de um aplicativo desenvolvido na linguagem C++, nativa do AutoCAD, utilizando a API ObjectARX. Dentre as vantagens do uso dessa tecnologia poderamos citar: Acesso ao sistema grfico do AutoCAD por vrios ambientes de programao e em vrias linguagens. A considervel interoperabilidade com aplicaes externas. Sistema automtico de administrao de memria denominado recolhedor de lixo. Interligao com banco de dados significativamente mais fcil e mais rpida com C# (ADO.NET) do que com C++. Integrao com aplicaes baseadas no Windows, como o Microsoft Excel e Word, facilitada. Menor custo de manuteno no longo prazo. A maior facilidade de criao da interface com o usurio. Proporciona vrias capacidades que permitem no reinventar a roda. Maior nmero de desenvolvedores permite uma maior facilidade de encontrar cdigos para o desenvolvimento de programas.

2.5.3 Estrutura de um Aplicativo .NET programa


Um aplicativo desenvolvido com a API .NET para AutoCAD possui uma estrutura similar a outros programas desenvolvidos com auxlio da tecnologia .NET. O aplicativo tambm criado a partir de objetos com base na programao orientada a objetos e pode ser criado em um mesmo framework de outra aplicao criada com auxlio da tecnologia .NET. Dentre as diferenas encontradas, podem-se destacar a necessidade de referenciar a biblioteca do AutoCAD e ainda as linhas de cdigo que indicam quais so os mtodos responsveis pela inicializao e definio dos comandos do AutoCAD. Um exemplo de estrutura de um arquivo principal de um aplicativo, utilizando a linguagem de programao C#, segundo Autodesk (2009a) mostrado abaixo.
using System; using System.IO; using Autodesk.AutoCAD;

41

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

[assembly: ExtensionApplication(typeof(TowerCAD.Initialization))] [assembly: CommandClass(typeof(TowerCAD.CdTcCommands))] namespace TowerCAD { public class Initialization : IExtensionApplication { public void Initialize() //Inicializao do programa.. { } public void Terminate() //Trmino do programa... { } } public class CdTcCommands { Public CdTcCommands() { } [CommandMethod("CBarra")] static public void CBarra () { } } }

As primeiras linhas que so inicializadas com a palavra using se referem s bibliotecas que so referenciadas pelo aplicativo. A necessidade de referenciar uma determinada biblioteca decorre da necessidade de utilizar os recursos disponibilizados por uma determinada biblioteca, no aplicativo a ser desenvolvido. A primeira linha que contm a palavra assembly indica ao compilador que a classe Initialization do continer (namespace) TowerCAD contm o cdigo de inicializao do aplicativo. A segunda linha que contm a palavra assembly indica que a classe CdTcComands do namespace TowerCAD contm o cdigo dos comandos a serem executados no aplicativo. O cdigo principal do aplicativo se encontra dentro do continer (namespace) chamado TowerCAD. O continer (namespace) TowerCAD contm uma classe de inicializao denominada Initialization e uma classe que contm os comandos do aplicativo e denominada CdTcComands. CdTc a sigla de desenvolvedor do Cadtec que reconhecida pela Autodesk. A classe Initialization possui dois mtodos principais: o mtodo Initialize e o mtodo Terminate. Dentro do mtodo Initialize se encontra o cdigo de inicializao do aplicativo, ou seja, o que ser executado quando o aplicativo for inicializado. Dentro do mtodo Terminate se encontra o cdigo de finalizao do aplicativo, ou seja, o que ser executado quando o aplicativo for finalizado. 42

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

A classe CdTcComands possui um construtor que explicita o que ser executado quando uma instncia da classe for criada. Essa classe possui ainda os comandos que sero executados no aplicativo. A estrutura dos comandos exemplificada com a criao do comando CBarra (criado neste trabalho e descrito na seo 4.4.1).

2.5.4 Acesso ao Banco de Dados do AutoCAD


Assim como a API ObjectARX, o AutoCAD.NET tem acesso a estrutura interna de banco de dados do AutoCAD. A estrutura interna de banco de dados do AutoCAD responsvel pelo armazenamento de todas as informaes necessrias construo de um desenho. Assim, para imprimir na tela qualquer desenho, modificar layers, utilizar blocos ou qualquer outra modificao dentro do AutoCAD, necessrio acessar a estrutura de banco de dados interno do AutoCAD. O acesso a estrutura de banco de dados do AutoCAD feito a partir da criao de objetos especficos das classes existentes na biblioteca do AutoCAD, que referenciada na criao de um aplicativo AutoCAD.NET. O cdigo utilizado para inserir uma entidade linha na tela do AutoCAD utilizando a linguagem de programao C# mostrado abaixo.
[CommandMethod("AcrescentaLinha")] public static void AcrescentaLinha() { // Acessa o banco de dados e documento ativo e inicia uma transao Document acDoc = Application.DocumentManager.MdiActiveDocument; Database acCurDb = acDoc.Database; Transaction acTrans = acCurDb.TransactionManager.StartTransaction(); // Abre a tabela de blocos para leitura BlockTableRecord acBlkTblRec; acBlkTblRec = acTrans.GetObject(SymbolUtilityServices.GetBlockModelSpaceId(acCurDb), OpenMode.ForWrite) as BlockTableRecord; // Cria uma linha que comea em at 5,5 e termina em 12,3 Line acLine = new Line(new Point3d(5, 5, 0), new Point3d(12, 3, 0)); // Adiciona o novo objeto a tabela de blocos e a transao acBlkTblRec.AppendEntity(acLine); acTrans.AddNewlyCreatedDBObject(acLine, true); // Salva o objeto no banco de dados do AutoCAD acTrans.Commit(); acTrans.Dispose(); }

43

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

A primeira linha do cdigo cria um objeto Document chamado acDoc e atribui a ele o documento ativo do AutoCAD. O banco de dados do documento ativo atribudo ao objeto Database chamado acCurDb criado na segunda linha. Na terceira linha criado um objeto Transaction chamado acTrans. A transao criada no banco de dados do AutoCAD. Transaes so criadas e utilizadas para permitir o agrupamento de operaes em apenas uma operao. Todas as operaes presentes dentro de uma transao somente so executadas se todas as operaes separadamente puderem ser executadas. As transaes so iniciadas e gerenciadas pelo Gerenciador de Transaes. Um objeto de escrita da tabela de blocos, BlockTableRecord, ento inicializado e denominado acBlkTblRec. Na linha seguinte lhe atribudo o objeto para escrita da tabela de blocos do banco de dados do documento ativo. O objeto linha criado e denominado acLine. Na criao do objeto so informados os pontos iniciais e finais da linha criada. O objeto linha adicionado ao objeto de escrita da tabela de blocos e a transao. A funo Commit do objeto de transao ento chamada e salva as modificaes feitas no banco de dados e fecha os objetos abertos. Finalmente, a funo Dispose do objeto de transao chamada fecha a transao.

2.5.5 Acesso ao Banco de Dados externo


Em aplicativos criados atravs da tecnologia .NET o acesso a um banco de dados externo realizado, atravs da tecnologia ADO.NET. 2.5.5.1 Conexo A criao e inicializao da conexo com o banco de dados do aplicativo ocorrem quando o aplicativo carregado no AutoCAD. O fechamento da conexo ocorre quando o aplicativo descarregado do AutoCAD. O cdigo da classe de inicializao localizado na classe Initialization do aplicativo mostrado abaixo:
public class Initialization : IExtensionApplication { static OleDbConnection dataConnection = new OleDbConnection(); static public OleDbConnection getConnection() { return dataConnection; } public void Initialize() { dataConnection.Connect ionString "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\BancoDados.accdb"; dataConnection.Open();

44

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

} public void Terminate() { dataConnection.Close(); } }

Pode-se observar no cdigo acima que o objeto de conexo foi criado como um atributo da classe Initialize e que um mtodo para obter esse objeto foi criado e denominado getConnection. Quando o objeto de conexo chamado dentro de um comando, deve-se utilizar a sintaxe TowerCAD.Initialization.getConnection() para obt-lo. A string (sequncia alfa-numrica) de conexo criada e a conexo aberta dentro do mtodo Initialize. Dentro do mtodo Terminate a conexo fechada. 2.5.5.2 A Manipulao das Tabelas A manipulao dos dados armazenados nas tabelas feita pelo aplicativo atravs de cdigos que so acionados atravs das interfaces com o usurio criadas no AutoCAD. As quatro principais operaes realizadas pelo aplicativo so incluso, excluso, atualizao e leitura dos dados.

2.5.5.2.1 Incluso de Dados


A operao incluso de dados utilizada no mtodo incluirDados da classe do aplicativo CdTcBancoDados. Permite incluir dados nas tabelas de um banco de dados externo. O cdigo apresentado abaixo cria uma conexo com o texto de conexo. Em seguida, cria um comando que utiliza a conexo criada e possui um texto com as instrues SQL que devero ser executadas. Nesse caso, inserir na tabela Torre, no campo nome_torre, o texto Torre tipo 1. Finalmente, o comando executado atravs do mtodo ExecuteNonQuery.
dataConnection.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\BancoDados.accdb"; string incluiString = @"INSERT into Torre (nome_torre) values ('Torre tipo 1')"; OleDbCommand comandoUpdate = new OleDbCommand(incluiString, dataConnection); comandoUpdate.ExecuteNonQuery();

2.5.5.2.2 Excluso de Dados


A operao excluso de dados utilizada no mtodo excluirDados da classe do aplicativo CdTcBancoDados. Permite excluir dados nas tabelas de um banco de dados externo. uma operao bastante similar a operao de incluso de dados. A diferena bsica entre as duas operaes a instruo SQL do comando.

45

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

No cdigo apresentado abaixo, uma conexo com o texto de conexo criada. O texto que contem a instruo SQL do comando ento criado. O comando criado com o texto que contem a instruo SQL, a conexo atribuda a ele e ele finalmente executado.
dataConnection.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\BancoDados.accdb"; string excluiString = @"DELETE from Barra where Barra.[no_inicial] = 1"; OleDbCommand comandoUpdate = new OleDbCommand(excluiString); comandoUpdate.Connection = dataConnection; comandoUpdate.ExecuteNonQuery();

2.5.5.2.3 Atualizao de Dados


A operao atualizao de dados utilizada no mtodo atualizarDados da classe do aplicativo CdTcBancoDados. Permite atualizar dados nas tabelas de um banco de dados externo. Muito similar as operaes de incluso e excluso de dados, a operao de atualizao tambm se diferencia pela instruo SQL do comando. Ao invs de conter as palavras INSERT ou DELETE, a instruo SQL da operao de atualizao de dados contm a palavra UPDATE no comeo da instruo.

2.5.5.2.4 Leitura de Dados


A operao leitura de dados utilizada no mtodo lerDados da classe do aplicativo CdTcBancoDados. Permite ler dados nas tabelas de um banco de dados externo. Possui uma estrutura um pouco diferente das operaes anteriores. Existe a criao do objeto dataReader que responsvel pela leitura dos dados. O cdigo apresentado abaixo um exemplo de como o aplicativo l informaes sobre quais furos pertencem a uma determinada barra que nesse caso a barra 2.
OleDbConnection dataConnection = new OleDbConnection(); dataConnection.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\BancoDados.accdb"; dataConnection.Open(); OleDbCommand dataCommand = new OleDbCommand(); dataCommand.Connection = dataConnection; dataCommand.CommandText = " SELECT Furo.cod_furo FROM Furo f, Barra B, Aux_Barra_Furo L WHERE f.cod_furo = L.cod_furo AND B.cod_barra = L.cod_barra AND B.nome_barra = '2'" OleDbDataReader datareader = dataCommand.ExecuteReader(); datareader.Close(); dataConnection.Close();

46

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

A sequncia do cdigo apresentado a seguinte: o objeto de conexo dataConnection criado. A string(sequncia alfa-numrica) de conexo ConnectionString que pertence ao objeto dataConnection criada e inicializada de modo a fazer a ligao com o arquivo de banco de dados. O objeto dataConnection aberto. O comando dataCommand criado. O texto do comando preenchido com uma string de execuo criada na linguagem padro para banco de dados SQL, que l quais os furos pertencem a barra 2 que esto armazenados na tabela Barra. O comando executado atravs do mtodo ExecuteReader do objeto datareader. Os objetos datareader e dataConnection so ento fechados.

2.6 Banco de Dados


Um banco de dados pode ser definido como um conjunto integrado de dados relacionados a um determinado assunto ou finalidade representando algum aspecto especfico do mundo real, tendo relao lgica entre os seus componentes, armazenado sob alguma forma, com objetivo de atender uma comunidade de usurios. O bando de dados permite a reorganizao dos dados e a produo de informao. Um banco de dados usualmente mantido e acessado por meio de um software conhecido como Sistema Gerenciador de Banco de Dados (SGBD). Muitas vezes o termo banco de dados usado como sinnimo de SGDB. O SGBD incorpora as funes de definio, alterao, recuperao, armazenamento, segurana fsica, controle dos dados e integridade em um banco de dados. composto por tabelas, vises e ndice. Fornece ao usurio uma viso abstrata dos dados, separando a parte lgica e fsica do armazenamento. Alguns Sistemas gerenciadores de banco de dados relacionais: Access Indicado para aplicaes pequenas e mdias. um arquivo de dados e no um servidor de dados como os demais. Limite de armazenamento pequeno. SQL Server 2000 Alto desempenho, integrao Windows e Framework .NET, com suporte a linguagem XML. Indicado para grandes aplicaes. Integrao com os servios de mltiplas tarefas, agendamento, monitor de desempenho e log de eventos do Windows. Reduz dependncia de servidor nico. Utiliza a linguagem TSQL. MSDE 2000 Verso grtis do SQL Server. Indicado para aplicaes de menor porte. Normalmente um SGBD adota um modelo de dados, de forma pura, reduzida ou estendida. Um modelo de dados uma descrio dos tipos de informao que est armazenada em um banco de dados. Tipos de modelos:

47

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

Conceitual - Mostra entidades e seu relacionamento. Alto nvel de abstrao. Fsico - Apresenta detalhes de armazenamento interno de informaes. Lgico - Representa a estrutura de dados de um banco de dados conforme vista pelo usurio do SGBD. Dependente de Banco de Dados. O modelo lgico pode ser representado de algumas maneiras. Dentre elas, podemos destacar: Hierrquica - Os dados esto na forma de rvore Orientada a objetos Rede Relacional - Organiza dados em tabelas com relaes entre si.

Dentre os conceitos relacionados com banco de dados, que ainda podem ser citados, podemos destacar: A integridade referencial, que verifica a incluso ou excluso de dados dependentes de outros e permite a propagao ou no das aes para outras tabelas. A chave primria que no permite a existncia de dois registros com o mesmo valor e que s pode ser colocada apenas uma vez em uma determinada tabela.

2.6.1 O Modelo Relacional de Dados


Os princpios bsicos do modelo relacional aplicam-se a qualquer banco de dados baseado no modelo relacional de dados segundo Battisti (2009). 2.6.1.1 Conceitos As tabelas so tambm conhecidas como entidades na linguagem relacional, elas armazenam todas as informaes de um banco de dados relacional. As colunas das tabelas armazenam os atributos. Os atributos podem ser definidos como caractersticas individuais da tabela e tambm so denominados campos. As linhas das tabelas armazenam os registros. Um registro uma linha completa de informaes formada por um conjunto de campos preenchidos. No caso da tabela Perfil da Figura 2-9, podem-se observar os campos cod_perfil, Aba1, Aba2, Esp, Peso e Raio. Esses campos armazenam caractersticas presentes nos elementos Perfil como, por exemplo, os valores das abas e a espessura. A tabela possui oito registros.

48

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

Figura 2-9 - Campos e Registros

Um campo com chave primria simples um campo que no possui dois registros com o mesmo valor. Os valores do campo da chave primria simples so nicos. Com a chave primria simples possvel garantir que dois registros no podem ser cadastrados com o mesmo cdigo. No caso da tabela Perfil, pode-se garantir que cada perfil cadastrado nico pelo campo cod_perfil. Podem existir chaves primrias compostas, quando mais de um campo compuser a chave primria. Nesse trabalho apenas um campo ser uma chave primria, ou seja, existiro somente chaves primrias simples. Em um banco de dados relacional, quando um registro aponta para o outro, que seu dependente, necessrio criar regras para que o registro "pai" no possa ser excludo se ele tiver registros "filhos" (as suas dependncias). A finalidade do uso da integridade referencial evitar registros rfos e manter as referncias sincronizadas, de forma que no exista nenhum registro, que faa referncia a outros registros, que no mais existam. Depois de imposta a integridade referencial, qualquer operao, que pode violar a integridade referencial da relao entre as tabelas rejeitada. 2.6.1.2 Relacionamento entre tabelas Os relacionamentos entre tabelas existem com finalidade de fazer a ligao entre as informaes, que esto armazenadas em cada uma das tabelas da estrutura de banco de dados. O conceito de relacionamento entre tabelas um conceito fundamental para o modelo relacional de dados segundo Battisti (2009). Existem trs tipos de relacionamento entre tabelas: um para um, um para vrios e vrios para vrios.

2.6.1.2.1 Relacionamento Um para Um


Esse relacionamento ocorre quando os campos das duas tabelas conectadas so chaves primrias de suas respectivas tabelas, ou seja, quando os campos no apresentam valores repetidos. recomendada, quando necessrio, particionar uma tabela com muitos campos ou isolar uma parte da tabela por motivo de segurana. Essa partio auxilia a evitar a repetio 49

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

desnecessria de informaes em diferentes tabelas em algumas situaes, mas no muito utilizado porque normalmente as informaes podem ser armazenadas em uma mesma tabela. No foi utilizado nenhum particionamento na criao da estrutura de banco de dados desse trabalho.

2.6.1.2.2 Relacionamento Um para Vrios


Esse relacionamento ocorre quando uma das tabelas possui um campo que chave primria e a outra tabela possui um campo que no chave primria, ou seja, o primeiro campo no pode ser repetido e o segundo pode ser repetido vrias vezes. o tipo de relacionamento mais comum e utilizado vrias vezes na estrutura de banco de dados desse trabalho. Um exemplo desse tipo de relacionamento na estrutura de banco de dados criada para essa dissertao, a ligao entre a tabela Torre e a tabela Tipo_Torre mostrada na Figura 2-10. A tabela Torre e a tabela Tipo_Torre so detalhadas no captulo 5.

Figura 2-10 - Relacionamento Um para Vrios

O campo de ligao entre as duas tabelas, denominado aqui cod_tipo_torre, no pode ter valores repetidos na tabela Tipo_Torre, visto que existem apenas um nmero finito de tipos de torres e no permitido cadastrar dois tipos diferentes com o mesmo cdigo. J na tabela Torre, o campo cod_tipo_torre pode ser repetido vrias vezes, j que vrias torres podem ter o mesmo tipo e consequentemente o mesmo valor no campo cod_tipo_torre.

50

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

2.6.1.2.3 Relacionamento Vrios para Vrios


Um relacionamento Vrios para Vrios ocorre quando os valores dos campos, em ambos os lados do relacionamento, podem repetir. Na prtica, esse relacionamento geralmente no implementado devido aos problemas que ele introduziria ao modelo de banco de dados. Caso seja necessrio a implementao desse relacionamento na estrutura de banco de dados, basta criar dois relacionamentos Um para Vrios com a utilizao de uma tabela auxiliar. Um exemplo de implementao desse relacionamento o relacionamento entre a tabela que contem as informaes sobre os furos e a tabela que contem as informaes sobre as barras. Uma barra pode conter vrios furos e um furo pode estar contido em vrias barras. Foi criada uma tabela denominada Aux_Barra_Furo para auxiliar a criao dos dois relacionamentos Um para Vrios. A tabela Barra ligada tabela auxiliar pelo campo cod_barra e a tabela Furo ligada tabela auxiliar pelo campo cod_furo. Ambos os campos so chaves primrias em suas respectivas tabelas. O relacionamento, com auxlio de uma tabela auxiliar, est mostrado na Figura 2-11.

Figura 2-11 - Relacionamento tabela Furo x Barra

2.6.2 Linguagem SQL


SQL (Structured Query Language) a linguagem padro para manipulao de banco de dados criada pela IBM na dcada de 70 e padronizada pela ANSI (American National Standarts Institute). uma linguagem simples para recuperar, gravar e alterar informaes com segurana e rapidez. Foi criada para permitir que usurios sem conhecimento de programao conseguissem extrair e exibir informaes armazenadas em um banco de dados. Pode rodar em um simples Palmtop ou em um Mainframe.

51

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

Segundo Sacramento(2008), a linguagem SQL permite: Criar, Alterar e Remover todos os componentes de uma tabela; Inserir, Alterar e Apagar dados; Interrogar a Base de Dados; Controlar o acesso dos usurios base de dados; Obter a garantia de consistncia e integridade dos dados.

Alm disso, a linguagem SQL possui uma srie de comandos, que permitem a definio dos dados, ou seja, criao de bancos, tabelas, etc. Os exemplos desse tipo de comando so os comandos Create, Alter e Drop. A linguagem possui ainda comandos destinados a manipulao de dados. Esses comandos permitem a criao de consultas, inseres, excluses e alteraes em um ou mais registros de uma ou mais tabelas de maneira simultnea. Os comandos Select, Insert, Update e Delete so exemplos. No presente trabalho, os comandos para definio dos dados no foram utilizados porque a estrutura de banco de dados j estava elaborada. Foram utilizados apenas os comandos para manipulao dos dados que sero descritos a seguir. 2.6.2.1 Comando Select O comando Select faz uma solicitao ao banco de dados e espera como retorno registros de uma ou mais tabelas. Os atributos esperados so especificados aps a palavra SELECT. Caso todos os atributos sejam necessrios, utilizado o operador *. As tabelas envolvidas so especificadas aps a palavra FROM. Um exemplo de um comando que pede ao banco de dados que retorne todos os atributos da tabela barra :
"SELECT * from Barra"

2.6.2.2 Comando Update O comando Update utilizado para modificar (atualizar) os valores de atributos de um ou mais registros. necessrio cuidados para que sejam modificados apenas os registros desejados. No exemplo a seguir, o valor do campo cod_tipo_torre da tabela Torre modificado para 2:
"UPDATE Torre SET Torre.[cod_tipo_torre] = 2"

52

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

2.6.2.3 Comando Delete O comando Delete remove um registro ou um conjunto de registros contidos em uma tabela. Assim como no comando Update, ateno necessria para campos errados no sejam modificados. O exemplo mostra a excluso do registro da tabela barra onde o n inicial da barra igual a 1:
"delete from Barra where Barra.[no_inicial] = 1"

2.6.2.4 Comando Insert O comando Insert tem como objetivo a criao de uma ou mais linhas e a respectiva insero em uma tabela. O nmero de valores, a serem inseridos, especificados na instruo do comando no pode ser maior do que a quantidade de campos existentes na tabela. A instruo a seguir insere na tabela Torre, no campo nome_torre o valor Torre tipo 1:
"insert into Torre (nome_torre) values ('Torre tipo 1')"

53

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

3.

O PROJETO DE TORRES

3.1 CADTEC Centro Avanado de Desenvolvimento Tecnolgico e Ensino da Computao grfica


O CADTEC um Centro de Desenvolvimento Tecnolgico pertencente ao Departamento de Engenharia de Estruturas da UFMG, que desenvolve projetos de pesquisa nas reas de computao grfica e est equipado com os recursos necessrios para esse fim. O Grupo de Pesquisa CADTEC est certificado pelo CNPq (Conselho Nacional de Desenvolvimento Cientfico e Tecnolgico), e o CADTEC tambm membro da rede mundial de desenvolvedores de aplicativos da Autodesk (ADN Autodesk Developers Networks). Os trabalhos desenvolvidos no CADTEC so focados em projetos de pesquisa na rea de computao grfica com destaque para a automao de processos via tecnologia CAD/CAE/CAM/CIM. As pesquisas desenvolvidas no CADTEC tiveram como produtos dissertaes e tese e sistemas computacionais (software) para automao de processos, que despertaram o interesse da comunidade cientfica e das indstrias por esta linha de pesquisa.

54

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

Vrios trabalhos foram realizados em parceria com empresas. As parcerias tm como objetivo melhorar a produtividade da indstria e exercer o papel da comunidade acadmica como propulsora do desenvolvimento de tecnologias no setor produtivo. Dentre as empresas que j fizeram parcerias com o CADTEC, podemos destacar CODEME, PREMO e CR Gontijo.

3.2 O Projeto de Torres Metlicas


3.2.1 O Processo Produtivo
O processo produtivo de torres metlicas dividido em diversas etapas. O fluxograma da Figura 3-1 permite visualizar todas as etapas e sua ordem na seqncia do processo, que vai da definio das especificaes at a fabricao das estruturas.

Figura 3-1 - Fluxograma do Processo

Estas etapas podem ser automatizadas por sistemas computacionais CAD, CAE e CAM. As tecnologias CAD normalmente so aplicadas na modelagem e no detalhamento das estruturas, as tecnologias CAM so aplicadas na automao da etapa de fabricao e produo de produtos e as tecnologias CAE so aplicadas nas etapas de anlise e de dimensionamento. Uma descrio de cada etapa do processo feita nos sub-tpicos a seguir. 3.2.1.1 Concepo e Especificaes A concepo de uma torre comea pela etapa de especificaes, que a primeira etapa do processo produtivo de torres metlicas. As especificaes so definidas pelo cliente do projeto ou por uma empresa contratada com base em suas preferncias de projeto, disponibilidade de mercado e outras variveis consideraes. O calculista e o projetista da torre devem seguir as especificaes definidas pelo cliente durante toda a execuo do projeto. A definio de quais tipos de estruturas sero fabricadas e quais os carregamentos sero suportados pelas torres feita pelo cliente do projeto com base no perfil topogrfico da linha, na voltagem que dever ser transportada, nas distncias eltricas e outras variveis. O calculista da torre recebe o projeto bsico da estrutura com dimenses bsicas e as cargas que devero ser suportadas conforme exemplificado pela Figura 3-2. As indicaes de

55

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

quais sero as normas que devero ser utilizadas para calcular a torre tambm so definidas pelo cliente.

Figura 3-2 - Projeto bsico da estrutura

Ao projetista so repassadas as informaes sobre tipos de detalhes, que devem ser utilizados, materiais que devero ser utilizados para fixao dos cabos, distncias bsicas de projeto, galvanizao, comprimento mximo de um perfil, placas de sinalizao e outras informaes.

56

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

3.2.1.2 Modelagem Geomtrica e Computacional A etapa de modelagem geomtrica, seja ela grfica ou simplemente uma modelagem numrica, constitue da gerao de dados geomtricos e do material para serem utilizados nas etapas subseqentes. Esses dados so gerados para a representao grfica e para modelagem computacional como dados de entrada para a etapa do clculo ou anlise estrutural e lanamento da estrutura. Ns, barras, carregamentos, restries e as propriedades dos elementos so os dados bsicos informados. A entrada de dados da estrutura pode ser feita via arquivo texto, banco de dados ou ainda via alguma plataforma grfica. A entrada grfica de dados via sistema CAD tem a grande vantagem de ser mais intuitiva e amigvel com o usurio. 3.2.1.3 Anlise Estrutural A etapa de anlise estrutural a etapa na qual os esforos e deslocamentos nas barras so calculados. No caso das torres, como so trelias espaciais, existe apenas esforos de trao e compresso nas barras. Usualmente um modelo unifilar utilizado para fazer a representao de uma estrutura atravs de um conjunto de ns e barras representadas pelos seus eixos. Os ns representam as ligaes entre elementos lineares e as barras representam os elementos lineares, geralmente cantoneiras no caso de torres. Os elementos so submetidos s condies de contorno. Os ns recebem os carregamentos e as liberaes existentes. Em estruturas treliadas de torres os ns recebem carregamentos e restries. So consideradas ainda as propriedades fsicas e geomtricas dos elementos. O clculo feito atravs de programas de computador pela tecnologia CAE ou engenharia auxiliada por computador. 3.2.1.4 Dimensionamento A etapa de dimensionamento utiliza os resultados obtidos na etapa de anlise estrutural para dimensionar as barras e ligaes de estrutura novamente pela tecnologia CAE. O clculo tambm feito atravs de programas de computador de acordo com as normas adotadas e os resultados obtidos so analisados pelo calculista. Alguns ajustes podem ser feitos. 3.2.1.5 Detalhamento O detalhamento a etapa do processo produtivo de torres metlicas na qual os projetistas elaboram desenhos da estrutura para fabricao e montagem a partir dos dados produzidos nas etapas anteriores. A utilizao da tecnologia CAD nesta etapa muito importante para a melhoria da produtividade. A automao desta etapa via tecnologia CAD representa um dos maiores avanos tecnolgicos para qualquer processo industrial. No caso dos processos de fabricao de estruturas esta etapa constitue um grande gargalo, cuja automao representa uma melhoria importante de produtividade e competitividade do setor. Os avanos apresentados neste trabalho de dissertao para automao da etapa de detalhamento de 57

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

ligaes e de componentes de torres representam sua maior contribuio cientfica e tecnolgica pelos mtodos e tcnicas desenvolvidos. A etapa de detalhamento ligaes de torres recebe dados de etapas anteriores de anlise e dimensionamento, relacionados aos ns da estrutura, que correspondem a um ponto nico de interseo dos eixos das barras. Na prtica, no entanto, a interseo de barras requer o detalhamento de uma ligao com o reposicionamento das barras para que elas possam ser montadas. Informaes fornecidas pelos projetistas auxiliam o reposicionamento das barras na ligao e a gerao do desenho de detalhamento com as devidas correes. Os desenhos de detalhamento das ligaes incluem atributos especficos como recortes, posies de furos, qualidade do ao utilizado, chapas e outros detalhes. O papel do detalhamento da conexo (ligao) de uma pea na outra o de especificar e mostrar detalhes da ligao e detalhes das peas individualmente para fabricao e montagem. Alguns cuidados devem ser tomados na etapa de detalhamento de uma estrutura. Para a montagem, por exemplo, o posicionamento das barras deve facilitar a drenagem dgua, manuteno e pintura. Devem existir dispositivos ou facilidades que permitam associaes de novos perfis com objetivo de substituir os perfis ou ainda reforar a estrutura. O dimetro mnimo dos parafusos 12,0 mm. O desenho de detalhamento de uma p de trs metros de uma estrutura mostrado na Figura 3-3.

58

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

Figura 3-3 - Detalhamento de um p de uma torre

No existe um nico padro de detalhamento de estruturas treliadas de ao para linhas de transmisso. Alguma padronizao pode ocorrer adivinda do resultado de conhecimentos e experincias de projetistas acumulados ao longo do tempo e associado a um certo consenso de um grupo de profissionais. Os padres no existem para dar liberdade aos projetistas e fabricantes de levarem em conta as condies dos mercados locais e suas particularidades. O tamanho mximo das peas, distncia entre parafusos e a espessura mnima so exemplos de particularidades de mercados. Em outros casos, os padres no so definidos por falta de consenso dentro da indstria. Silva, J.B.G.F & all (2009) compara alguns dos padres utilizados pelos projetistas ao redor do mundo e os padres utilizados pela indstria. Dentre os documentos analisados destacam-se: ASCE 10-97. CENELEC Standards EN 50341. ECCS Conveno Europia para Construes em Ao. Prticas e padres brasileiros. Prticas e padres italianos. Prticas e padres coreanos. 59

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

O presente trabalho toma como referncia as prticas e padres brasileiros, mas possui uma estrutura adaptvel a uma possvel expanso para outros padres. 3.2.1.6 Fabricao a ltima etapa do processo produtivo de torres metlicas. Consiste em fabricar todas as peas que foram projetadas para posterior montagem em campo. A Figura 3-4 mostra um conjunto de perfis fabricados e prontos para serem enviados para a montagem.

Figura 3-4 - Perfis prontos para serem montados. Extrada de Silva, J.B.G.F & all (2009)

Em geral, so utilizadas mquinas CNC para fabricao da estrutura. Essas mquinas recebem arquivos eletrnicos para que as mquinas trabalhem sem a interferncia humana. Denominada tecnologia CAM ou manufatura auxiliada por computador, essa tecnologia permite que a mquina corte, fure e dobre os perfis a partir de dados numricos. Existe uma equipe na fbrica que, a partir dos desenhos de detalhamento, fazem desenhos de croqui de cada pea, que transformado em um arquivo eletrnico para a mquina CNC executar a fabricao da pea.

3.2.2 Integrao entre as etapas do processo


A misso do sistema desenvolvido para essa dissertao de integrao das etapas de desenvolvimento de projetos de estruturas de torres metlicas atravs do controle e do gerenciamento de dados produzidos durante o processo, para garantir uma importao/exportao precisa e confivel. A integrao entre as fases de dimensionamento e o detalhamento precisa ser gerenciada por um sistema que garanta a integridade e a consistncia dos dados a serem transferidos automaticamente. O sistema deve gerenciar

60

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

tambm a automao da integrao entre interfaces das fases de detalhamento e fabricao para permitir uma alimentao precisa das mquinas digitais de manufatura automatizada. Segundo Leite (2007), a automao de projetos de estruturas deve ser buscada no apenas atravs do desenvolvimento de sistemas individualizados via tecnologias CAD, CAE e CAM, mas pelo desenvolvimento de sistemas integrados, que permitam o gerenciamento e a integridade de dados ao longo do processo de intercmbio de informaes entre as vrias etapas. Esses sistemas devem fornecer interfaces compatveis entre os sistemas CAD e os sistemas CAE utilizados no projeto, podendo ainda prever uma interface para os sistemas CAM do processo de fabricao. Segundo Souza (1995), o resultado final de um processo, no qual o desenvolvimento de vrios projetos realizado de forma separada, no representa a soluo mais adequada em termos de grau de complexidade, continuidade e de desempenho. Se um projeto no realimenta os demais ao longo do processo as dificuldades podem se propagar. A integrao de etapas, alm de reduzir erros, dados. As conseqentes diminuies de erros humanos, obtidos pelo uso destes sistemas, competitividade da indstria. Aumenta assim qualidade do produto final. diminui o tempo gasto na transferncia de e de desperdcios de tempo e de recursos vo refletir em ganhos financeiros e na a eficincia, melhora a produtividade e a

Os sistemas de integrao devem ser consistentes, completos e corretos, para garantir um alto grau de confiabilidade ao processo, a qualidade do produto e a eficincia das solues adotadas. No projeto de estruturas de torres metlicas, a falta de vinculao entre as etapas de projeto um fator de origem de erros, atrasos e prejuzos. Apesar da existncia de sistemas CAE e CAM especficos para cada uma das etapas, estes sistemas operam de forma desvinculada, sem integrao com os demais sistemas do processo. Apesar dos sistemas contriburem para diminuio de erros isoladamente, a transferncia de dados entre os sistemas geralmente um grande gerador de erros. A falta de integrao entre as atividades de um processo tem como conseqncia o comprometimento da qualidade do produto. O fator humano inserido nas atividades de transposio de dados de um sistema para o outro, que inclui manipulao, formataes e converses de dados, aumenta a possibilidade de erros. Existe ainda o problema da propagao de erros que ocorre quando as etapas vo sendo alimentadas com dados alterados. O sistema desenvolvido para essa dissertao constitue uma importante contribuio para a automao da etapa mais crtica do processo de fabricao de torres, que o detalhamento.

61

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

3.3 Etapas de Desenvolvimento


Para que o projeto de pesquisa pudesse ser realizado com sucesso e no tempo que foi programado, foram elaboradas etapas de desenvolvimento do projeto. A diviso em etapas permite uma maior organizao e diminui as chances de falha. O desenvolvimento do projeto de pesquisa foi dividido em quatro etapas principais: levantamento bibliogrfico, qualificao computacional, qualificao tcnica e desenvolvimento do aplicativo.

3.3.1 Levantamento Bibliogrfico


Durante a etapa de levantamento bibliogrfico foram estudados em detalhes os trabalhos j realizados na rea de programao relacionados com a tecnologia CAD aplicada engenharia estrutural, com destaque aos projetos desenvolvidos no CADTEC. Os aplicativos desenvolvidos foram estudados desde sua concepo at a sua funcionalidade final. As novidades tecnolgicas surgidas aps o desenvolvimento desses trabalhos tambm foram levantadas e consideradas. Vrios cursos de aperfeioamento foram feitos. Anteriormente ao trabalho, o conhecimento do autor sobre essas tecnologias era pouco. As normas tcnicas relacionadas rea foram revisadas. Dissertaes e trabalhos tcnicos referentes a torres metlicas foram revisados e considerados.

3.3.2 Qualificao Computacional


Devido ao fato de um aplicativo relacionado tecnologia CAD ser especfico e por conseqncia necessitar de uma qualificao especfica, foi necessrio passar por um programa de capacitao e de treinamento para adquirir a qualificao necessria para desenvolver o aplicativo. Durante essa etapa, foram estudadas todas as tecnologias necessrias para o desenvolvimento do aplicativo. A linguagem C++, a API Object ARX e a biblioteca de classes MFC foram estudadas para que os projetos antigos pudessem ser estudados e ainda para fazer a avaliao de sua utilizao no projeto a ser desenvolvido. Novas tecnologias, ainda no utillizadas em aplicativos relacionados tecnologia CAD, tambm foram estudadas. Dentre elas, podem-se destacar a API .NET, a linguagem de programao C# e as tecnologias relacionadas banco de dados. O ambiente de programao Microsoft Visual Studio foi tambm estudado e nele foi desenvolvido o aplicativo.

62

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

3.3.3 Qualificao Tcnica


Para a realizao deste projeto de pesquisa foi necessrio um estudo maior sobre projetos de torres de linha de transmisso, em especial, sobre a etapa de detalhamento do processo. Essa etapa do desenvolvimento do projeto propiciou uma viso prtica ao aplicativo criado. Durante alguns meses, todo o processo de produo de um desenho de detalhamento de uma torre foi acompanhado. O desenvolvimento de projetos de vrias torres foram acompanhados e a execuo de todo o processo como realizado hoje foi observada com especial ateno para a etapa de detalhamento. Durante a etapa de detalhamento foi possvel identificar gargalos existentes, o que permitiu criar um aplicativo capaz de automatizar tarefas executadas pelo projetista mais suceptveis a erros. Conseqentemente tornando o aplicativo mais robusto e confivel e ainda capaz de aumentar a produtividade do processo.

3.3.4 Desenvolvimento do Sistema CAD


Pode ser considerada a principal etapa do projeto de pesquisa. Durante essa etapa, todo o conhecimento adquirido nas etapas de levantamento bibliogrfico, qualificao computacional e qualificao tcnica foi utilizado no desenvolvimento do sistema TowerCAD. O sistema foi ainda testado e aperfeioado com base na utilizao e experincia dos projetistas. O resultado final dessa etapa descrito a seguir.

3.4 Desenvolvimento do Sistema TowerCAD


3.4.1 Desenvolvimentos Anteriores
Os desenvolvimentos tecnolgicos na rea de aplicativos CAD para engenharia de estruturas, desenvolvidos no CADTEC do Departamento de Engenharia de Estruturas da UFMG, foram de grande valia para concepo desse trabalho. A concepo e as estruturas dos sistemas criadas para resolver problemas semelhantes foram minuciosamente estudadas desde os primeiros trabalhos na rea, a saber, Malard (1998) e Hutner (1998), at os mais recentes desenvolvidos por Leite (2007) e Silva (2008). Os sistemas anteriores foram orientados a objetos, desenvolvidos na linguagem C++, utilizaram a API ObjectARX, que possibilita a criao de aplicativos como bibliotecas dinmicas, e o acesso ao cdigo nativo da plataforma grfica AutoCAD. Esses aplicativos foram desenvolvidos utilizando o banco de dados interno do AutoCAD para montar a estrutura de dados necessria para aplicao nos problemas para os quais foram propostos. Como conseqncia a manipulao desses dados se tornaram dependentes da plataforma grfica, pois todos os recursos de gerenciamento do banco de dados utilizados eram da

63

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

prpria plataforma. Nesta a plataforma ainda desempenhava o papel de sistema anfitrio, carregando e gerenciando a aplicao durante uma seo de trabalho. Os trabalhos de Malard (1998) e Hutner(1998) foram pioneiros no Departamento de Engenharia de Estruturas da UFMG e no Brasil a desenvolver aplicativos associados tecnologia CAD para automatizar os processos de anlise, dimensionamento, detalhamento e fabricao de estruturas. Os trabalhos tiveram como resultado o Modelador 3D, que faz o modelamento unifilar tridimensional de estruturas metlicas prediais. A tecnologia foi repassada empresa CODEME, que posteriormente automatizou todo seu processo de fabricao de estruturas de ao prediais desde a concepo at a manufatura. Magalhes (2002) foi o primeiro a abordar o detalhamento de torres metlicas em sua dissertao de mestrado no PROPEEs. Seu objetivo foi automatizar mais especificamente o tronco e o stub da torre. A representao do modelo estrutural foi feita atravs de um modelo geomtrico slido a partir da leitura de um arquivo ASCII oriundo de um sistema de anlise e de dimensionamento de torres. Leite (2007) desenvolveu um framework que permite a gerao automatizada de modelos geomtricos slidos 3D de estruturas reticuladas e a integrao desses modelos com outras etapas do processo de desenvolvimento de projetos desse tipo de estrutura. Uma estrutura banco de dados baseada em classes do ObjectARX foi proposta para armazenar os dados das diferentes etapas de um projeto de estruturas reticulares. Uma grande contribuio dessa tese de doutorado foi introduo do conceito de um framework, que foi concebido com base em padres de arquitetura de sistemas computacionais com o objetivo de separar a visualizao dos dados e do controle do sistema. Foi o primeiro trabalho a apresentar o conceito de independncia entre os dados e a visualizao. A manipulao dos dados era feita pelo framework desenvolvido e as aplicaes criadas definiam a visualizao dos elementos. A escolha da plataforma grfica a ser utilizada poderia ser flexibilizada, a partir da criao de classes de visualizao. A caracterstica dos aplicativos anteriores era de apresentar um banco de dados para armazenamento dos dados necessrios para integrar diversas etapas do processo de desenvolvimento de projetos de estruturas, que era dependente da plataforma grfica. A conseqncia a impossibilidade de usar uma plataforma grfica alternativa, caso necessrio.

3.4.2 Viso Geral


Esse trabalho desenvolve um sistema para automao do detalhamento de torres metlicas, que permite a integrao das etapas do processo de manufatura de torres metlicas utilizando os fundamentos das tecnologias CAD/CAE/CAM. O sistema composto por um aplicativo CAD e um banco de dados, integrados por uma interface conforme ilustrado em Figura 3-5.

64

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

Figura 3-5 - Composio do Sistema TowerCAD

A integrao do sistema desenvolvido com os sistemas CAD/CAE/CAM do processo de produo de torres metlicas obtido pelo desenvolvimento de um pr-processador e um ps-processador. O pr-processador executa a integrao com os dados da etapa de anlise e de dimensionamento. Essa integrao realizada a partir de um arquivo ASCII com uma configurao pr-definida. Outras configuraes podem ser definidas no futuro se assim for conveniente. O usurio localiza, seleciona e carrega arquivo no computador atravs de uma caixa de dilogo personalizada. O ps-processador tem recursos que estabelecem as interfaces de comunicao entre a etapa de detalhamento e as mquinas digitais utilizadas para furo, corte e dobra das peas dentro do processo de manufatura assistida por computador (CAM). Os dados armazenados no banco de dados so transcritos e utilizados na linguagem programao das mquinas digitais. O intercmbio de informaes no processo consistente, completo e correto para garantir a qualidade do produto e a agilidade do processo. O sistema possibilita o preenchimento automtico do banco de dados com informaes das etapas do processo, garantindo assim um alto grau de confiabilidade ao sistema. O pr-processador e o ps-processador permitem o gerenciamento dos dados e dos resultados obtidos no processo sem perdas de informao nas interaes entre as etapas. A arquitetura do sistema foi projetada para abstrair as informaes essenciais contidas nas diversas etapas do processo produtivo de torres metlicas conforme pode ser visualizado no fluxograma da Figura 3-6. Os dados so armazenados e gerenciados a partir do banco de dados independente da plataforma grfica para alimentar ou re-alimentar as etapas do processo produtivo. O banco de dados, construdo em um sistema gerenciador de banco de dados, definido pelas tabelas e o relacionamento entre elas. A utilizao de um banco de dados a maneira mais eficiente para armazenar e gerenciar os dados.

65

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

Figura 3-6 - Fluxograma do Processo

Das especificaes so extradas informaes como, por exemplo, comprimento mximo do perfil, galvanizao e placas de sinalizao. Da entrada de dados, informaes como os ns e barras. Da Anlise, os esforos solicitantes. Do dimensionamento, os perfis que sero utilizados. Essas informaes obtidas atravs de um arquivo ASCII com formato prdefinido, que lido e compreendido pelo aplicativo. As etapas de entrada de dados, anlise e dimensionamento podero ser re-alimentadas com as informaes armazenadas no banco de dados. Para o detalhamento de uma torre, as informaes necessrias podero ser fornecidas pelos projetistas atravs de interfaces grficas amigveis que so acessadas de dentro da plataforma grfica e que tem conexo direta com o banco de dados externo conforme pode ser visualizado na Figura 3-7.

66

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

Figura 3-7 - Interfaces com o projetista

A automao do detalhamento feita a partir de informaes fornecidas e/ou armazenadas no banco de dados e na utilizao da plataforma grfica para visualizao da representao grfica. Outros produtos podem ainda ser desenvolvidos a partir dos dados armazenados no banco de dados externo dentre os quais, podem-se destacar os croquis para fabricao.

3.4.3 Caractersticas
A automao de processos via sistemas CAD permite produzir desenhos de melhor qualidade com maior agilidade. O desenvolvimento do sistema TowerCAD tomou como base conceitos modernos de programao e de Engenharia Estrutural. O sistema TowerCAD foi desenvolvido para ser flexvel e independente de tal forma que interfaces simples permitam sua comunicao com sistemas CAE (Computer Aided Engineering) como um pr-processador e com sistemas CAM (Computer Aided Manufacturing) como um ps-processador do processo produtivo de torres metlicas.

67

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

O sistema amigvel e interativo, com entrada de dados via quadro de dilogos ou leitura de arquivos gerados por algum programa especfico de clculo. A utilizao de um ambiente grfico amplamente utilizado, como o AutoCAD, proporciona a criao de uma interface agradvel e de fcil utilizao pelo usurio. Dentro da filosofia de desenvolvimento dos vrios trabalhos j desenvolvidos no CADTEC, e na inteno de obter o melhor resultado, o sistema facilmente atualizvel para responder a futuras demandas e permitir uma posterior expanso. Arquitetura MVC Uma importatne contribuio desse trabalho a utilizao de conceitos e fundamentos do padro/arquitetura MVC (Modelo-Visualizao-Controle) no desenvolvimento do sistema TowerCAD. A arquitetura de 3 camadas do MVC para a interface do usurio permite separar a informao da sua representao grfica. Separada e independentemente o componente Modelo representa os dados da aplicao e as regras que regem o acesso e a manipulao desses dados. Alm disso, o modelo garante a persistncia das regras do negcio e fornece ao controlador a lgica do domnio para acessar as funcionalidades do aplicativo encapsuladas pelo prprio modelo. O componente Visualizao permite a representao do contedo de uma parte ou do todo do modelo e direciona as aes do usurio para o controlador. Esse componente permite tambm o acesso aos dados do modelo atravs do controlador e determina como os dados do modelo devem ser apresentados ao usurio. O Controlador define o comportamento do aplicativo, interpretando as aes do usurio e as mapeando para o acesso e manipulao do modelo. As aes do usurio podem ser executadas atravs de botes, menus ou linhas de comando. O Controlador recebe e trata a entrada e permite a realizao de aes, tais como ativao de processos ou alterao do estado do modelo e de visualizao. Em resumo, no padro MVC o controlador escolhe o tipo de visualizao a ser apresentada como resultado da solicitao do usurio, cuja ao prvia promove algum tipo de processamento do modelo. Assim como em Leite (2007), o aplicativo desenvolvido para ter um alto grau de independncia da plataforma grfica. Para tal, o aplicativo desenvolvido de forma a haver uma separao entre os dados e a representao grfica conforme indicado em Figura 3-8. Tudo o que relacionado com dados est armazenado no banco de externo. A plataforma grfica, nesse caso o AutoCAD, utilizada para promover a representao grfica do produto final.

68

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

Figura 3-8 - Representao grfica x Dados

A independncia obtida entre dados e visualizao permite a flexibilizao na escolha da plataforma grfica a ser utilizada e facilita a implementao das representaes grficas, uma vez que toda a manipulao de dados realizada pelo banco de dados externo e a aplicao apenas define a visualizao dos elementos. O mesmo banco de dados pode servir de base para aplicaes desenvolvidas em diferentes plataformas grficas. O sistema desenvolvido pode ser considerado ainda prtico e funcional devido ao fato de ter sido desenvolvido em parceria com experientes projetistas de torres. O sistema busca atender ao modo de operao dos projetistas.

69

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

4.

O APLICATIVO CAD PARA DETALHAMENTO DE TORRES

O sistema computacional desenvolvido neste projeto de dissertao composto por dois componentes. Um aplicativo CAD para automao do processo de detalhamento de torres, que ser apresentado a seguir, e um banco de dados construdo atravs de um sistema gerenciador de banco de dados, acionado pelo aplicativo CAD atravs da tecnologia ADO.NET e que ser apresentado no Captulo 5. O Aplicativo CAD responsvel pelas classes de controle e visualizao do sistema e o banco de dados pelo modelo, atravs do armazenamento dos dados. Nesse captulo apresentada uma viso geral do Aplicativo com sua estrutura de classes, seus comandos e o template do AutoCAD no qual ele deve ser executado.

70

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

4.1 Viso Geral


Assim como os aplicativos desenvolvidos anteriormente em Hutner(1998), Malard(1998), Leite(2002), Magalhes(2002) e Leite(2007), utiliza-se, neste trabalho, a plataforma grfica AutoCAD como anfitri. A partir do AutoCAD, todos os recursos desenvolvidos podem ser acionados por meio de comandos que se comportam como comandos nativos. Um dos principais aspectos que diferenciam este trabalho daqueles que o precederam o emprego de uma nova tecnologia. A API .NET utilizada para customizar a plataforma grfica AutoCAD conforme Autodesk (2009). A tecnologia .NET foi escolhida por suas vantagens descritas na seo 2.5.2 aliadas facilidade de manipulao de dados atravs da tecnologia ADO.NET. A linguagem C# foi escolhida por ser originalmente orientada a objetos e concebida dentro da filosofia da tecnologia .NET conforme Sharp (2008) , aliada a este fato est a facilidade de migrao a partir da linguagem C++. Este um aspecto importante, j que C++ foi a linguagem utilizada nos projetos que precederam este trabalho. A linguagem C# uma das principais linguagens da tecnologia .NET. Foram utilizadas ainda as tecnologias de banco de dados com auxlio da tecnologia ADO.NET e da linguagem padro para banco de dados SQL conforme Tayor (2003) para manipular os dados e tabelas existentes no banco de dados externo. Neste ponto, encontra-se outro diferencial deste trabalho, j que em Leite (2007) foi utilizado o banco de dados interno do AutoCAD para montar a estrutura de dados do aplicativo.

4.2 Template Utilizado


Para que o aplicativo funcione corretamente, os desenhos por ele produzidos devem adotar como base um template do AutoCAD concebido para o aplicativo. Template um arquivo prottipo do que guarda configuraes anteriormente definidas como layers e blocos. O formato do template o dwt, diferentemente de arquivos de projetos produzidos no AutoCAD que tem o formato dwg. Este tipo de arquivo pode ser empregado ao iniciar um projeto para aproveitar caractersticas pr-definidades pelo usurio do AutoCAD. No caso deste trabalho foi concebido o template towerCAD.dwt para o aplicativo TowerCAD. A seguir, so descritas as layers e blocos definidos no arquivo template. Quando uma destas entidades includas pelo aplicativo no est presente no desenho, uma mensagem ir notificar o usurio e o comando poder no ser executado ou no ser executado da maneira esperada. Isso ocorre quando o usurio utiliza o aplicativo sem inicializar o template. A mensagem de notificao da falta de uma layer durante a execuo do comando CBarra (criado neste trabalho e descrito na seo 4.4.1) pode ser visualizada na Figura 4-1.

71

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

Figura 4-1 - Falta Layer

4.2.1 Layers utilizados


Em um desenho, os vrios componentes so divididos em layers para que posteriormente seja mais fcil realizar as modificaes necessrias. Para o aplicativo CAD, algumas layers foram definidas como padres e devero estar no desenho, conseqentemente foram acrescentadas ao template towerCAD.dwt. As layers acrescentadas ao template foram: P01, P02, P03, P04, P05, P06, P02TR, DIM, FUROS, TXT, POSIO, LCENTRO, INDPARAF e TRUSQUINO. Todas as layers do template podem ser visualizadas na Figura 4-2.

72

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

Figura 4-2 - Layers do Template

As layers P01, P02, P03, P04, P05 e P06 so associadas a cores. As cores associadas as layers so, respectivamente, vermelho, amarelo, verde, ciano, azul e magenta. Os objetos que no possuem uma layer definida e so desenhados em uma determinada cor, devem ser colocados em uma dessas layers. As cores das layers esto associadas a espessuras de linhas que elas esto relacionadas. A layer P02TR tambm est relacionada com cor, mas alm de ser relacionada com a cor amarela, est relacionada tambm com o tipo de linha que tracejado. A layer DIM contm as quotas do desenho, a layer FUROS contm os parafusos, a layer TXT contm os textos e a layer POSIO contm todos os blocos de posio do desenho. A layer TRUSQUINO utilizada para identificao dos eixos de furao das barras, a layer LCENTRO utilizada para indicao de algumas linhas de referncia do desenho e a layer INDPARAF utilizada para a indicao dos parafusos.

4.2.2 Blocos utilizados


Os blocos so estruturas de um desenho no AutoCAD em que podem ser agrupadas diversas entidades, s quais atribudo um nome de identificao e um ponto para insero. A utilizao de blocos aumenta a produtividade de criao de um desenho. No template do aplicativo foram inseridos vrios blocos com esse objetivo. Todos os parafusos normalmente utilizados possuem blocos especficos relacionados com o dimetro. Os blocos permitem uma identificao mais fcil e padronizada de qual parafuso est sendo utilizado. Existem blocos para os parafusos de 12 mm; 16 mm; 20 mm; 22 mm e 24 mm. Esses blocos podem ser visualizados em sequncia crescente Figura 4-3.

73

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

Figura 4-3 - Bloco dos parafusos

Existe ainda o bloco que representa a geometria da torre, o bloco que indica a posio da barra e o bloco que indica o parafuso degrau. O parafuso degrau utilizado, usualmente, a partir de trs metros de altura da torre e tem como finalidade permitir que uma pessoa possa subir na torre para fazer manuteno da mesma. Esses blocos podem ser visualizados na Figura 4-4.

Figura 4-4 - Outros blocos

4.3 Estrutura Global do Aplicativo


O aplicativo foi dividido em vrios arquivos com extenso (.cs) para que entidades sem vinculao ou relao entre si fossem separados e a busca por uma determinada funo ou classe fosse mais rpida e precisa. A Figura 4-5 mostra o Solution Explorer do aplicativo que contm a lista de todos os arquivos que foram criados dentro do namespace TowerCAD.

74

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

Figura 4-5 - Solution Explorer

Os arquivos DadosBarra.cs, DadosGeometria.cs, IncluirComprimentoParafuso.cs, IncluirDistanciaParafuso.cs, IncluirNormaParafuso.cs e NormaParafuso.cs armazenam classes que so derivadas da classe Windows Form. So utilizadas para fazer a interface do usurio com o aplicativo. Essas classes juntas compem o mdulo de controle do aplicativo As outras classes tambm foram criadas dentro do namespace TowerCAD seguindo as premissas utilizadas na programao orientada a objetos, mas no so classes de interface com o usurio. Estas classes, detalhadas a seguir so: Initialization, CdtcComandos, CdTcAuxiliar, CdTcBarra, CdTcPrompt, CdTcBancoDados e CdTcOutros. Todas as classes criadas no aplicativo TowerCAD podem ser visualizadas na Figura 4-6.

75

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

Figura 4-6 - ClassView

4.3.1

Classe Initialization

Localizada no arquivo Principal.cs, a classe Initialization executa o cdigo que acionado quando o aplicativo inicializado ou descarregado no AutoCAD. No aplicativo criado TowerCAD, a conexo com o Banco de Dados aberta quando o aplicativo inicializado e fechada quando o aplicativo fechado. O cdigo da classe Initialization pode ser visualizado abaixo.
public class Initialization : IExtensionApplication { static OleDbConnection dataConnection = new OleDbConnection(); static public OleDbConnection getConnection() { return dataConnection; } public void Initialize() //Inicializao do programa.. { dataConnection.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\BancoDados.accdb"; dataConnection.Open(); } public void Terminate() //Trmino do programa... {

76

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

dataConnection.Close(); } }

4.3.2 Classe CdTcComands


A classe CdTcComands tambm est localizada no arquivo Principal.cs. As quatro primeiras letras, CdTc, referem-se ao cdigo de desenvolvedor do CADTEC na Autodesk, empresa que comercializa o AutoCAD. Esta classe contm todos os comandos utilizados no aplicativo. Os comandos so reconhecidos no AutoCAD ao ser digitado na linha de comandos o nome do comando ou atravs da utilizao do menu do AutoCAD e das toolbars. Um comando declarado na classe CdTcComands conforme se exemplifica abaixo para o caso de criao de barra (comando CBarra).
// Define o Comando que exibe caixa de dialogo para criao de // uma barra. [CommandMethod("CBarra", CommandFlags.UsePickSet)] static public void CBarra() // Esse mtodo pode ter qualquer nome { }

A classe CdTcComands contm os comandos CBarra, CChapa, CCroqui, CGeometria, CPe, LerArquivo e PParafuso.

4.3.3 Classe CdTcAuxiliar


A classe CdTcAuxiliar est localizada no arquivo Auxiliar.cs. Ela contm mtodos teis que so largamente utilizados por outras classes e por comandos do aplicativo. Os mtodos so, na programao orientada a objetos, como funes que esto associadas a objetos de uma classe. A Figura 4-7 permite a visualizao de todos os mtodos da classe CdTcAuxiliar.

Figura 4-7 - Classe CdTcAuxiliar

77

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

4.3.3.1 Mtodo CriaGeometria O mtodo CriaGeometria tem como finalidade o clculo da geometria da pirmide da torre. Os dados de entrada ou os parmetros do mtodo so: detalhe de dobra da cintura que ilustrado na Figura 5-4 e altura vertical do tronco, abertura transversal do maior p, abertura transversal da cintura, abertura longitudinal do maior p e abertura longitudinal da cintura que so ilustrados na Figura Figura 4-8.

Figura 4-8 Dados de entrada do mtodo CriaGeometria

A altura vertical do tronco e as aberturas so informaes provenientes da etapa de clculo estrutural. A altura vertical do tronco refere-se altura da cintura da torre at o solo com montagem mais alta da torre, ou seja, com a torre montada com a maior extenso e com o maior p. As aberturas dos ps referem-se distncia entre os ps na torre com montagem mais alta. A indicao longitudinal e transversal existe para o caso da torre ter seo retangular. Esses dados provenientes do clculo so armazenados na tabela Torre que descrita na seo 5.3.1. O detalhe de dobra da cintura uma informao fornecida pelo projetista da torre e tambm e armazenado na tabela Torre. A Figura 5-4 permite uma melhor visualizao do detalhe de dobra da cintura.

78

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

Os dados de sada do mtodo so: Base Longitudinal, Base Transversal, Vrtice, Altura na Face, tangente de , secante de , secante de e secante de . Os ngulos e as medidas podem ser visualizados na Figura 4-9.

Figura 4-9 - Geometria da Torre

A partir da definio da geometria da torre possvel transformar as medidas do clculo em medidas reais de fabricao e montagem. 4.3.3.2 Mtodo CriaLinha O mtodo CriaLinha recebe como parmetro os pontos iniciais e finais da linha alm da layer que a linha ser criada. Quando a layer escolhida no existe no desenho, uma mensagem de alerta exibida no AutoCAD. No caso da Figura 4-10 a layer TRUSQUINO no estava presente no desenho, ou seja, o usurio no estava utilizando o template indicado.

Figura 4-10 - Falta Layer

79

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

4.3.3.3 Mtodo CriaPolyline O mtodo CriaPolyline cria uma polyline no AutoCAD. Uma polyline um conjunto de linhas criadas que so agrupadas em um nico objeto. O mtodo recebe como parmetro o conjunto de pontos que sero ligados por linhas, a layer que o usurio deseja que a polyline esteja e a mensagem a ser exibida no caso de no existncia da layer. 4.3.3.4 Mtodo CriaQuota O mtodo CriaQuota responsvel por criar as quotas no AutoCAD. O estilo de quota adotado ser o estilo que estiver sendo utilizado pelo usurio. Os parmetros de entrada do mtodo so os pontos iniciais e finais das quotas, o ngulo de rotao da quota e os pontos X e Y que indicam o afastamento da quota dos pontos de referncia da quota. A Figura 4-11 permite a visualizao de vrias quotas em vrios ngulos de rotao diferentes em um desenho de um stub de uma torre. O stub um dos tipos de fundao utilizado em torres metlicas.

Figura 4-11 Stub

80

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

4.3.3.5 Mtodo CriaTexto O mtodo CriaTexto responsvel por criar o texto que descreve a barra. Os parmetros de entrada desse mtodo so o ponto de insero do, o vetor de orientao do texto, a espessura, a aba, o comprimento, a escala do desenho e a qualidade do ao. Foi definida a seguinte padronizao para o ao: Quando no existe indicao o ao da cantoneira o ao ASTM A36. Quando o ao indicado pela letra H, o ao ASTM A572 GRAU 50. Quando o ao indicado pela letra G, o ao ASTM A572 GRAU 60. A visualizao do texto que descreve a barra pode ser feita na Figura 4-12.

Figura 4-12 - Texto da Barra

4.3.3.6 Mtodo GetBlockAttributes O mtodo GetBlockAttributes tem a finalidade de retornar quais os atributos so armazenados em um certo bloco do AutoCAD. Os parmetros de entrada do mtodo so: a transao, o identificador do bloco e uma lista de atributos que ser preenchida pelo mtodo. 4.3.3.7 Mtodo InsereBloco O mtodo InsereBloco insere na tela um bloco presente no desenho. Os parmetros de entrada do mtodo so: o ponto de insero do bloco, o nome do bloco, a escala na qual o usurio deseja inserir o bloco e a layer escolhida. O bloco procurado no banco de dados do desenho e caso no seja encontrado, uma mensagem exibida na tela informando que o bloco no foi encontrado conforme a Figura 4-13.

81

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

Figura 4-13 - Bloco no encontrado

4.3.3.8 Mtodo InserePosicao Apesar de Posio ser um bloco, foi necessrio criar um mtodo especfico para esse bloco devido as suas peculiaridades. necessrio entrar com alguns outros parmetros em relao aos outros blocos. Os parmetros de entrada ponto de insero e escala so os mesmos, mas necessrio ainda incluir o nmero da posio e qualidade do ao. A qualidade do ao segue a mesma padronizao descrita no mtodo CriaTexto e o nmero da posio refere-se ao nmero de identificao da pea para montagem e fabricao. O bloco posio pode ser visualizado na Figura 4-14.

Figura 4-14 - Bloco Posio

4.3.3.9 Mtodo MudaUCS UCS o sistema de coordenadas do usurio da plataforma grfica AutoCAD, em ingls, User Coordinate System. Diferentemente do sistema de coordenadas globais, o sistema de coordenadas do usurio pode ser modificado pelo usurio. A modificao do sistema de coordenadas do usurio facilita o desenho, pois permite o desenho em 2D em qualquer plano do espao de modelagem. O mtodo MudaUCS permite modificao do sistema de coordenadas do usurio de acordo com a necessidade. Os parmetros de entradas do mtodo so o ponto de origem do eixo de coordenadas e um ponto que indica a direo do eixo cartesiano X.

82

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

4.3.3.10 Mtodo Polar O mtodo Polar permite o clculo de coordenadas na orientao polar. Os parmetros de entrada so: um ponto de referncia, o ngulo e a distncia do vetor do deslocamento. 4.3.3.11 Mtodo PosicionaPosicao O mtodo posicionaPosicao tem como objetivo o posicionamento do bloco posio em relao a barra criada. O posicionamento da posio deve ser tal que o bloco posio fique visvel e bem posicionado em relao barra e conseqentemente necessite o mnimo possvel de ajustes. O mtodo posicionaPosicao necessita do ponto inicial e final da barra para poder avaliar quando vale a pena posicionar, por exemplo, o texto acima ou abaixo da barra. Necessita ainda da escala do desenho, da orientao da cantoneira, do trusquino ou eixo principal de furao da barra e do ponto auxiliar de criao da barra. 4.3.3.12 Mtodo PosicionaTexto Assim como o mtodo posicionaPosicao tem como objetivo o posicionamento do bloco posio, o mtodo posicionaTexto tem como o objetivo o posicionamento do texto relacionado barra. Os parmetros de entrada solicitados so os mesmos do mtodo posicionaPosicao.

4.3.4 Classe CdTcBancoDados


A classe CdTcBancoDados est localizada no arquivo BancoDados.cs. Ela contm mtodos para fazer a conexo com o banco de dados do aplicativo. Os mtodos da classe CdTcBancoDados so: incluirDados, excluirDados, atualizarDados e lerDados. A conexo com o banco de dados realizada quando o aplicativo iniciado. J as instrues para realizao de aes de incluso, excluso, modificao e leitura de dados so feitas dentro dos mtodos atravs linguagem padro de banco de dados SQL. As instrues SQL so armazenadas em variveis do tipo texto e so ento executadas. 4.3.4.1 Mtodo incluirDados Responsvel pela incluso de dados no banco de dados do aplicativo. um mtodo muito utilizado quando se faz a leitura dos dados do clculo ou quando o projetista entra com os dados fornecidos por ele atravs das interfaces do programa. O mtodo incluirDados sobrecarregado. Um mtodo sobrecarregado um mtodo que possui o mesmo nome, mas pode possuir mais do que uma lista de parmetros. 83

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

A primeira sobrecarga do mtodo incluirDados recebe como parmetro o objeto de conexo com o banco de dados, o nome da tabela que ser modificada, o nome da coluna que ser modificada e o valor que ser adicionado. A segunda sobrecarga semelhante primeira com exceo do ltimo parmetro. No caso da coluna ser preenchida com um texto, o valor no poder ser um nmero e por conseqncia o parmetro no poder ser o mesmo da primeira sobrecarga. O ltimo parmetro da segunda sobrecarga ento um texto. 4.3.4.2 Mtodo excluirDados O mtodo excluirDados responsvel pela excluso de registros de tabelas do banco de dados. utilizado principalmente quando alguma informao armazenada no banco de dados no vale mais, por exemplo, quando uma especificao utilizada anteriormente no ser mais utilizada. Assim como no mtodo incluirDados, o mtodo excluirDados sobrecarregado. Os parmetros de entrada so os mesmos do mtodo incluirDados e a sobrecarga tambm a mesma devido ao mesmo problema. 4.3.4.3 Mtodo atualizarDados O mtodo atualizarDados utilizado quando h necessidade de modificar dados existentes no banco de dados. Um exemplo da utilizao desse mtodo quando h uma modificao nos dados do projeto ou na anlise do projetista. Neste caso, as informaes armazenadas no banco de dados necessitam ser modificadas. Os parmetros e as sobrecargas so os mesmos utilizados nos mtodos anteriores. 4.3.4.4 Mtodo lerDados O mtodo lerDados tambm um mtodo bastante utilizado pelo aplicativo desenvolvido. Sua finalidade obter os dados armazenados no banco de dados para que eles possam ser utilizados por outros mtodos com a finalidade de representar graficamente o detalhamento na tela da plataforma grfica. O mtodo lerDados possui os parmetros e sobrecargas como os mtodos anteriores.

4.3.5 Classe CdTcBarra


A classe CdTcBarra armazena os mtodos que so responsveis pela representao grfica da entidade barra na plataforma grfica. Dentre os mtodos presentes na classe CdTcBarra, podem-se destacar os mtodos CriaBarra e VesteBarra.

84

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

4.3.5.1 Mtodo CriaBarra O mtodo CriaBarra o mtodo que cria a barra a partir dos pontos iniciais e finais da barra. Possui nove parmetros de entrada: aba, espessura, pina, trusquino, orientao da Cantoneira, qualidade do ao, posio, escala e parafuso. As variveis aba, espessura, qualidade do ao e parafuso normalmente so fornecidas pelo clculo. J as outras variveis so normalmente preenchidas pelo projetista responsvel pelo desenho de acordo com o estudo da torre. 4.3.5.2 Mtodo VesteBarra O mtodo VesteBarra permite a criao de vrias barras simultneamente. Os parmetros de entrada do mtodo so praticamente os mesmos do mtodo CriaBarra com exceo da no existncia dos parmetros ponto inicial e ponto final. Os pontos iniciais e finais das barras criadas so provenientes das linhas de furao escolhidas pelo usurio.

4.3.6 Classe CdTcPrompt


A classe CdTcPrompt tem o objetivo de fazer a ligao entre o aplicativo e a linha de comando do AutoCAD. Atravs da linha de comandos do AutoCAD o usurio poder entrar com informaes ou receber informaes sobre os comandos do aplicativo. A linha de comando do AutoCAD ilustrada na Figura 4-15.

Figura 4-15 - Linha de comandos do AutoCAD

85

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

A classe CdTcPrompt possui dois mtodos chamados ReceberPrompt e EscreverPrompt. Esses mtodos possuem sobrecarga para receber como parmetros nmeros inteiros, reais e texto. 4.3.6.1 Mtodo EscreverPrompt O mtodo EscreverPrompt responsvel por escrever na linha de comandos alguma informao fornecida pelo aplicativo. As sobrecargas do mtodo variam de acordo com o tipo de informao que ser fornecida pelo aplicativo. Existem as sobrecargas para valores do tipo inteiro, do tipo real e para textos. Os parmetros solicitados pelas funes so o tipo de informao, que de acordo com a sobrecarga, e o texto que estar localizado antes da informao fornecida pelo aplicativo. 4.3.6.2 Mtodo ReceberPrompt O mtodo ReceberPrompt responsvel por receber as informaes digitadas pelo usurio na linha de comandos do AutoCAD. O mtodo sobrecarregado de acordo com tipo de informao que o aplicativo deseja obter do usurio. Os parmetros solicitados so o tipo de informao, de acordo com a sobrecarga, e o possvel texto que ser impresso na tela para pedir ao usurio que digite a informao.

4.3.7 Classe CdTcOutros


A classe CdTcOutros uma classe que possui mtodos pouco utilizados pelo aplicativo, mas que podem ser teis durante as prximas etapas de elaborao do mesmo. Possui dois mtodos: o mtodo SelecionaEntidades e o mtodo leAtributosBloco. 4.3.7.1 Mtodo SelecionaEntidades O mtodo SelecionaEntidade permite que o usurio escolha uma lista de entidades no AutoCAD e que a partir dessa escolha, o aplicativo possa obter todas as informaes sobre as entidades selecionadas pelo usurio. Dados como a cor, layer e identificador podem ser rapidamente localizados e trabalhados em futuros algoritmos. 4.3.7.2 Mtodo leAtributosBloco O mtodo leAtributosBloco pede como parmetro a referncia do bloco a ser analisado e retorna todos os atributos que esto relacionados com ele.

86

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

4.3.8 Classe CdTcDadosBarra


A classe CdTcDadosBarra, assim como as prximas classes que sero descritas neste trabalho, so classes derivadas da classe Windows Form do Framework .NET. Permitem uma interface com o usurio mais fcil e amigvel. A classe CdTcDadosBarra tem a finalidade de fazer a interface grfica com o usurio do comando CBarra. O formulrio correspondente da classe CdTcDadosBarra pode ser visualizado na Figura 4-16.

Figura 4-16 Classe CdTcDadosBarra

A orientao da barra definida a partir da escolha de uma das opes. O controle utilizado na interface chamada RadioButton permite que apenas uma das opes de orientao de barra seja escolhida. Isso coerente com essa entrada de informao visto que uma barra no pode ter mais de um tipo de orientao. Uma figura foi colocada ao lado de cada opo para o entendimento do usurio fique mais fcil As entradas do usurio qualidade do ao, tipo de insero, escala e dimetro do furo tambm utilizam o mesmo tipo de controle da orientao da barra devido ao fato de s poder receber uma das opes. As outras entradas do usurio so feitas pelo controle chamado TextBox. Os controles TextBox permitem que o usurio digite valores ou textos. Um controle para assegurar que o 87

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

usurio digitou com valor coerente com o que foi pedido feito no arquivo de cdigo de classe atravs do uso de excees. Os campos aba, trusquino, espessura, pina e posio utilizam esses controles.

4.3.9 Classe CdTcDadosGeometria


A classe CdTcDadosGeometria cria o objeto de interface do comando CGeometria (criado neste trabalho e descrito na seo 4.4.3). A visualizao do formulrio da classe pode ser feita na Figura 4-17.

Figura 4-17 - Classe CdTcDadosGeometria

Os controles para entrada de parmetros pelo usurio nessa classe so todos do tipo TextBox. O controle para assegurar que o usurio digitou valores coerentes feito no arquivo de cdigo da classe.

4.3.10

Classe CdTcNormaParafuso

A classe CdTcNormaParafuso cria o objeto de interface que permite que o usurio escolha qual das normas sobre parafusos ele quer acrescentar. O formulrio da classe pode ser visualizado na Figura 4-18.

88

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

Figura 4-18 - Classe CdTcNormaParafuso

Essa classe possui alguns controles, na interface, diferentes das outras. O controle representado por um grande retngulo o dataGridView. Esse um controle que permite um link dinmico do AutoCAD com o banco de dados do aplicativo para que as tabelas possam ser visualizadas. As informaes podem ser vistas no controle logo aps serem salvas no banco de dados. O controle ao lado do texto Selecione a Tabela: o controle chamado comboBox. O controle comboBox permite que o usurio escolha, em uma lista flutuante, qual o nome da tabela que ele deseja modificar.

4.3.11

Classe CdTcIncluirNormaParafuso

Essa classe, assim como as prximas, uma interface para incluso de dados em tabelas do banco de dados do aplicativo. So como formulrios para incluso de dados. Elas possuem como parmetros de entrada os campos que devem ser preenchidos em cada registro. A classe CdTcIncluirNormaParafuso a classe que cria o objeto de interface para incluso de registros na tabela Norma_parafuso que est descrita na seo 5.3.10. O formulrio da classe pode ser visualizado na Figura 4-19.

89

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

Figura 4-19 - Classe CdTcIncluirNormaParafuso

S possui controles do tipo textBox, assim as prximas classes.

4.3.12

Classe CdTcIncluirDistanciaParafuso

A classe CdTcIncluirDistanciaParafuso a classe que cria o objeto de interface para incluso de registros na tabela Distancia_parafuso que est descrita na seo 5.3.10. O formulrio da classe pode ser visualizado na Figura 4-20

90

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

Figura 4-20 - Classe CdTcIncluirDistanciaParafuso

4.3.13

Classe CdTcIncluirComprimentoParafuso

A classe CdTcIncluirComprimentoParafuso a classe que cria o objeto de interface para incluso de registros na tabela Comprimento_parafuso que est descrita na seo 5.3.10. O formulrio da classe pode ser visualizado na Figura 4-21.

Figura 4-21 - Classe CdTcIncluirComprimentoParafuso

91

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

4.4 Comandos desenvolvidos


Os comandos desenvolvidos para o aplicativo TowerCAD rodam no AutoCAD como se fossem comandos nativos da plataforma grfica e atravs deles que todas as aes, desenvolvidas pelo aplicativo, so executadas. Da mesma for que o AutoCAD os comandos podem ser acessados pela linha de comandos ao ser digitado o nome do comando, pela barra de ferramentas criada para aplicativo ou ainda pelo menu pulldown criado no AutoCAD. A Figura 4-22 mostra o ambiente do AutoCAD customizado pelo aplicativo TowerCAD com destaque para o menu pulldown e para barra de ferramentas criados.

Figura 4-22 - Ambiente do AutoCAD customizado pelo TowerCAD

Durante o acompanhamento do trabalho dos projetistas, foi constatado que muitas atividades executadas eram repetitivas e facilmente automatizveis atravs das tecnologias aprendidas. Para aumentar a produtividade e automao do processo, foram criados ento alguns comandos com rotinas, que evitam a ocorrncia de erros e diminuem o tempo de execuo de tarefas.

4.4.1 Comando CBarra


O comando CBarra cria uma barra a partir de uma linha ou de dois pontos definidos pelo usurio utilizando a interface grfica amigvel com o usurio mostrada na Figura 4-22.

92

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

O comando permite que o usurio escolha a orientao, o tipo de parafuso, a qualidade do ao, a escala, a aba, o trusquino, a espessura, a pina e a posio da barra. Os valores so todos inseridos pelo usurio atravs da interface grfica amigvel. Os valores digitados pelo usurio, na primeira vez que utiliza o comando, so armazenados e so carregados quando o usurio invoca o comando mais uma vez. Assim, muitas vezes o usurio no necessita digitar as mesmas informaes vrias vezes o que aumenta a rapidez de execuo. O usurio tem a opo ainda de escolher se ele quer criar a barra a partir de um trusquino (linha de eixo de furao), que seria representado no AutoCAD por um objeto linha ou ainda se ele deseja criar a barra a partir da seleo de dois pontos. A seleo de criao a partir do trusquino permite que o usurio crie mltiplas barras ao mesmo tempo se ele selecionar vrias linhas. A posio de cada barra vai aumentando de acordo com a ordem de seleo das linhas. A visualizao da execuo do comando no modo de criao a partir do trusquino apresentada na Figura 4-23.

Figura 4-23 - O Comando CBarra

Esse comando pode ser muito produtivo quando o projetista faz o estudo da torres a partir dos eixos de furao. Ao vestir a torre rapidamente, grande produtividade pode ser alcanada. Tarefas repetitivas e extremamente mecnicas deixam de ser executadas.

93

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

4.4.2 Comando CPlaca


O comando CPlaca cria uma placa a partir da seleo de parafusos feita pelo usurio. Foi observado que a criao de placas uma tarefa que despende um tempo razovel que poderia ser facilmente diminudo. Existe um filtro de seleo que permite que o comando selecione somente as entidades parafuso ento, mesmo que o usurio tente selecionar outras entidades do AutoCAD como, por exemplo, linhas e textos, o comando no as selecionar. Somente sero selecionados os parafusos e a partir deles ser criada a chapa. As distncias mnimas do centro dos parafusos at a borda da chapa variam com o dimetro dos parafusos e so obtidas da tabela distancia_parafuso (criada neste trabalho e descrita na seo 5.3.10) no campo borda_chapa. Na Figura 4-24 pode-se observar a sequncia de execuo do comando. Primeiramente, pede-se ao usurio que selecione os parafusos que estaro na chapa a ser criada. Aps a seleo, o comando automaticamente executado e a chapa desenhada na tela.

Figura 4-24 - O Comando CPlaca

4.4.3 Comando CGeometria


O comando CGeometria tem a finalidade de fazer o clculo automtico da geometria da pirmide da torre atravs do mtodo CriaGeometria da classe CdTcAuxiliar descrito na seo 4.3.3.1 e ainda representar graficamente o resultado na tela. A interface grfica do comando um objeto da classe CdTcDadosGeometria descrita na seo 4.3.9. A necessidade de criao desse comando ocorreu a partir da observao do modo de trabalho dos projetistas. Os clculos so feitos mo e depois disso os resultados so digitados na tela. O fato de o clculo ser feito a mo aumenta a possibilidade de ocorrncia de erros e o fato dos resultados serem digitados na tela significa que mesmo com o clculo correto, a sua representao na tela pode estar errada pela interferncia humana ao digitar os dados.

94

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

O clculo da geometria da pirmide da torre pode ser considerado um dos estudos mais importantes feitos antes do incio do detalhamento da torre. Se o clculo da geometria estiver incorreto, todas as dimenses da parte inclinada da torre estaro incorretas. A representao da geometria da pirmide da torre nos desenhos de detalhamento est na Figura 4-25.

Figura 4-25 - Representao da geometria nos desenhos de detalhamento

4.4.4 Comando CCroqui


O comando CCroqui gera na tela os croquis das peas para fabricao. um dos subprodutos gerados pelo sistema TowerCAD. Os croquis detalham todas as distncias necessrias para fabricar a pea. A Figura 4-26 permite visualizar o croqui de uma pea com apenas um trusquino e que ligada a outras peas por um parafuso.

Figura 4-26 - Croqui de uma pea para fabricao

4.4.5 Comando CPe


O comando CPe responsvel pelo detalhamento dos ps das estruturas. A partir dos dados fornecidos pelo clculo dos perfis utilizados e ainda de alguns dados fornecidos pelo 95

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

projetista de acordo com o estudo realizado por ele, o comando permite o desenho praticamente completo de um p da estrutura. o comando que permitiu o maior aumento de produtividade no processo de detalhamento de torres. O desenho de detalhamento completo de um p de um metro e meio de altura de uma torre pode ser visualizado na Figura 4-27.

Figura 4-27 - Detalhamento completo de um p de uma torre

A mesma estrutura detalhada automaticamente, a partir do comando CPe pode ser visualizada na Figura 4-27.

96

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

4-28 - Desenho de detalhamento de um p gerado automaticamente pelo CPe

4.4.6 Comando PParafuso


O comando PParafuso fornece uma interface grfica para que os projetistas entrem com os dados dos parafusos que sero utilizados no projeto. Utilizando como base a interface grfica criada pela classe CdTcNormaParafuso, o usurio pode visualizar quais as normas que esto armazenadas no banco de dados e decidir se deseja incluir uma nova norma. As normas mais utilizadas pelos projetistas de torres metlicas para distncias mnimas entre parafusos so as normas da AISC(2006) e ABNT(2008). A visualizao da interface pode ser feita na Figura 4-18. A visualizao das tabelas do banco de dados ocorre em tempo real. Ao escolher uma norma pelo cdigo e clicar no boto executar, o projetista informa ao aplicativo que aquelas sero as informaes que devero utilizadas ao longo do projeto desenvolvido. Devem ser escolhidas normas para as trs especificaes de parafuso existentes. A Figura 4-29 mostra a norma de cdigo nmero 5, pertencente tabela Norma_parafuso descrita na seo 5.3.10, sendo escolhida pelo usurio do aplicativo.

97

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

Figura 4-29 - Escolha da Norma de Parafusos

Ao observar que a norma a ser utilizada no est presente no banco de dados, o usurio pode acrescentar uma nova norma clicando no boto Inserir registro. A interface que aparecer ir depender do contedo escolhido no campo Selecione a Tabela:. Esse contedo poder ser objeto das classes CdTcIncluirComprimentoParafuso, CdTcIncluirDistanciaParafuso ou CdTcIncluirNormaParafuso. A Figura 4-30 permite visualizar a escolha e as possveis janelas que aparecero.

98

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

Figura 4-30 - Incluso de Norma

Depois de acrescentada, a norma poder ser visualizada e possuir um cdigo para ser escolhida pelo usurio.

4.4.7 Comando LerArquivo


O comando lerArquivo responsvel por ler um arquivo, com extenso .dat. Esse arquivo possui informaes sobre resultados das etapas de entrada de dados, anlise e dimensionamento. O referido comando tambm responsvel por armazenar no banco de dados do aplicativo os dados presentes no arquivo lido. Faz, portanto, a integrao entre as etapas anteriores e a etapa de detalhamento do processo produtivo de torres metlicas. Ao ser chamado, o comando abre uma janela padro do Windows para que o usurio possa escolher o arquivo conforme mostrado Figura 4-31.

99

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

Figura 4-31 - Seleo do arquivo para o povoamento do banco de dados

O nome do arquivo ser tratado pelo aplicativo como o nome da torre a ser projetada. Caso exista uma torre com o mesmo nome, armazenada no banco de dados, o aplicativo se certifica atravs da interface com o usurio que realmente a mesma torre. Na Figura 4-33, mostrada uma configurao possvel de arquivo .DAT que foi implementado pelo programa e que possui informaes provenientes das etapas anteriores etapa de detalhamento. Dentre as informaes obtidas, podem-se destacar: o nome da barra, os ns que ela interliga, o cdigo do perfil, o comprimento, a quantidade e o tipo de parafuso utilizado.

Figura 4-32 Configurao de um arquivo .DAT modelo

100

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

4.4.8 Comando GerarArquivo


O comando Gerar Arquivo, para a fase CAM do processo, responsvel por criar o arquivo que utilizado na programao dos equipamentos responsveis pela fabricao das peas. Faz a integrao entre a etapa de detalhamento e a etapa de fabricao do processo produtivo de torres metlicas. A formatao dos arquivos gerados depende do fabricante que contrata o servio. A formatao do arquivo mostrado na Figura 4-33 de um fabricante especfico e foi implementada no programa. Todos os dados necessrios para fabricao devem estar transcritos no arquivo: o que vai estar escrito na pea, nome da estrutura, recortes, dobras, ao utilizado, posicionamento dos furos, dimetro dos furos e dimenses bsicas da pea.

Figura 4-33 Formatao de um arquivo CAM para controle numrico gerado pelo comando GerarArquivo

101

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

5.

O BANCO DE DADOS

Embora independente, o banco de dados outro componente do sistema CAD desenvolvido neste trabalho. Nesse captulo apresentada uma viso geral do banco de dados com suas tabelas, relacionamento entre tabelas e uma breve descrio de como foi elaborada a estrutura e o povoamento do banco de dados. A tecnologia ADO.NET utilizada permitiu executar as tarefas relacionadas com o acesso e a manuteno de dados atravs de suas classes. Os componentes ADO.NET foram projetados para tratar o acesso e a manipulao dos dados facilitando a realizao de tarefas como manipulao das tabelas para incluso/excluso/atualizao e leitura de dados.

5.1 Viso Geral


O objetivo da construo de um banco de dados neste trabalho garantir o gerenciamento e a integridade de dados ao longo do processo de fabricao de estruturas de torres e permitir o intercmbio de informaes necessrias s diversas etapas (CAD/CAE/CAM), garantindo assim a confiabilidade do sistema global conforme Gontijo (2009). 102

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

A desvinculao das etapas do processo de fabricao de torres, que so muitas vezes desenvolvidas independentemente por equipes diferentes, ocasiona, na maioria das vezes, a ocorrncia de erros e problemas no processo de transferncia de dados. A falta de integrao entre as atividades de um processo tem como conseqncias interrupes indesejadas, o aumento de custos e o comprometimento da qualidade. A possibilidade de erros aumenta substancialmente quando o fator humano manipula os dados, altera formataes e realiza converses de unidades ao transferir dados de uma plataforma para a outra. Um banco de dados externo possibilita a vinculao das etapas a partir do armazenamento de todas as informaes necessrias de cada uma delas. O banco de dados representa um sistema de integrao consistente, completo e correto, que garante um alto grau de confiabilidade ao processo, a qualidade do produto e a eficincia das solues adotadas. Dados referentes ao detalhamento podem ser retirados do banco de dados externo criado e posteriormente ser transmitidos aos sistemas CAM. O banco de dados pode ainda fornecer diversas informaes sobre o projeto como, por exemplo, a lista de materiais e outros relatrios. No Banco de Dados so armazenados todos os dados necessrios para a representao grfica. O objetivo do uso de um banco de dados externo permitir que os dados armazenados estejam em uma plataforma independente da plataforma grfica, o que permite uma maior flexibilidade e portabilidade sistema computacional desenvolvido. Foi criada uma estrutura complexa de tabelas e relacionamentos para armazenar os dados. Uma parte dessa estrutura exemplificada na Figura 5-1.

103

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

Figura 5-1 - Parte da estrutura do Banco de Dados

Para o acesso aos dados, a conexo com o banco de dados aberta assim que o aplicativo carregado no AutoCAD e fechada quando o aplicativo descarregado ou quando o AutoCAD fechado como mostra o cdigo abaixo.
public class Initialization : IExtensionApplication { static OleDbConnection dataConnection = new OleDbConnection(); static public OleDbConnection getConnection() { return dataConnection; } public void Initialize() //Inicializao do programa.. { dataConnection.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\BancoDados.accdb"; dataConnection.Open(); } public void Terminate() //Trmino do programa... { dataConnection.Close(); } }

104

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

5.2 A Construo da Estrutura do Banco de Dados


O primeiro passo para montar a configurao do banco de dados foi estudar e analisar estruturas de classes de trabalhos anteriores. Em Magalhes (2002), foi criada uma estrutura de classes para detalhar torres metlicas e em Leite (2002) foi criada uma estrutura para detalhar estruturas de concreto pr-moldado Essas estruturas de classes serviram de base para o desenvolvimento da estrutura desse trabalho. Outra atividade importante para definir a estrutura do banco de dados para este trabalho foi o acompanhamento participativo do processo de produo de desenhos de detalhamento na prtica, como feito atualmente por projetistas. Para tal, foram executados detalhamentos de algumas torres com a superviso de projetistas experientes. Essa experincia, permitiu levantar e analisar outros dados importantes para o detalhamento de estruturas de torres metlicas, definir os tipos de informaes/dados que devem ser armazenadas e persistidas ao longo da elaborao do projeto e em especial para definir critrios de automao desta etapa. Os dados foram ento agrupados em tabelas de acordo com o relacionamento entre si. Segundo Battisti (2009), assuntos no devem ser misturados em uma mesma tabela. As tabelas foram, por isso, elaboradas de modo a terem a capacidade de armazenar dados que tenham relao entre si e sejam necessrios para exibir na plataforma grfica o produto final do detalhamento. O modelo lgico de banco de dados utilizado o representado da maneira relacional. Aps definidas as tabelas necessrias e os campos que a compe, foram analisados e definidos quais deles seriam utilizados como chave primria. Os campos definidos como chave primria so nicos nas tabelas e servem para fazer as ligaes entre as tabelas. Na sequncia, foram elaborados relacionamentos entre as tabelas. Em alguns casos, quando os relacionamentos entre as tabelas eram do tipo Vrios para vrios, foi necessria a criao de tabelas auxiliares para fazer a ligao. Foram criados ainda relacionamentos do tipo Um para Vrios. Finalmente, foi feito o refinamento da estrutura do Banco de Dados atravs do processo chamado normatizao. Segundo Battisti (2009), a normatizao tem como objetivo evitar os problemas provocados por falhas no projeto de Banco de Dados, bem como eliminar a mistura de assuntos e as correspondentes repeties desnecessrias de dados. Quando o modelo relacional de dados utilizado, deve-se evitar a mistura de assuntos em uma mesma tabela. Foi observado que algumas tabelas anteriormente criadas poderiam ser unificadas com outras de modo a eliminar repeties desnecessrias de dados e outras poderiam ser criadas para evitar a mistura de assuntos.

105

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

A tabela Legenda, por exemplo, incorporou a tabela Detalhes_notas, definida inicialmente, pois foi constatado que os campos das duas tabelas poderiam ser agrupados em uma s tabela sem perda de qualidade da estrutura de banco de dados. A tabela Detalhes_notas foi ento excluda da estrutura de banco de dados e a tabela Legenda armazenou os campos anteriormente pertencentes tabela Detalhes_notas.

5.3 A Elaborao das Tabelas


O princpio utilizado para a elaborao das tabelas foi analisar todas as informaes necessrias para a elaborao dos desenhos de detalhamento e organizar essas informaes estabelecendo ainda as possveis relaes entre elas e agrupando-as em tabelas. Algumas tabelas foram organizadas de modo a representar os elementos presentes no detalhamento de torres metlicas e contm todos os dados necessrios para a representao grfica dos mesmos. Outras foram criadas para armazenar as especificaes de como detalhar esses elementos. Dentre as tabelas criadas a partir dos elementos presentes no detalhamento de torres, podem-se destacar as tabelas: Barra, Furo, Ligao, Emenda e Chapa. Na Figura 5-2, podem-se visualizar esses elementos presentes em um desenho de detalhamento.

106

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

Figura 5-2 - Elementos do detalhamento

A tabela criada Torre pode ser considerada a tabela me da estrutura de banco de dados e possui relao com muitas das tabelas da estrutura. A tabela Tipo_torre indica qual o tipo da torre a ser desenvolvida. Para caracterizar os parafusos foram criadas trs tabelas: Norma_parafuso, Comprimento_parafuso e Distancia_parafuso. As tabelas no puderam ser unificadas porque existem casos, em que informaes de uma das tabelas podem ser relacionadas com mais de um tipo de informao das outras tabelas. Para desenhar os formatos nos quais os desenhos sero entregues foram criadas as tabelas: Desenho, Formato, Nota e Legenda. Foram criadas ainda a tabela No para armazenar as coordenadas dos ns provenientes do clculo, a tabela Furo e a tabela Perfil para armazenar os perfis que so utilizados pelas barras.

107

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

5.3.1 Tabela Torre


A tabela Torre possui todos os elementos necessrios para o desenho da torre metlica. A estrutura da tabela pode ser visualizada na Figura 5-3. A tabela Torre relaciona-se com as outras tabelas atravs dos cdigos das mesmas e possui ainda dados especficos do objeto torre a ser desenhado.

Figura 5-3 - Tabela Torre

O campo seo armazena a informao sobre o tipo de seo da torre. A torre pode ter seo quadrada, retangular ou triangular. Os campos h_tronco_reto e h_torre_inclinada armazenam informaes sobre a geometria bsica da torre conforme a Figura 1-2 onde so denominados cabea e tronco inferior respectivamente. J o campo h_torre_basica armazena a distncia da cabea da torre at primeira extenso, ou seja, o primeiro ponto da torre onde os ps podem ser encaixados, denominado corpo bsico conforme mostrado na Figura 1-2. Os campos abertura_cintura, base_piramide_transversal e base_piramide_longitudinal tambm armazenam informaes bsicas da geometria da torre. A abertura na cintura a abertura onde ocorre a diferena de inclinao, na passagem da cabea para o tronco inferior da torre. As bases piramidais so as aberturas entre os ps da torre montada com todas as extenses possveis e com os maiores ps, ou seja, a torre mais alta da famlia de torres. 108

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

Todos os campos citados acima so preenchidos com dados provenientes do clculo da estrutura. Os dados do campo dobra_cintura so preenchidos pelo projetista da torre. a distncia entre o eixo de dobra da cintura e o eixo de clculo estabelecido pelo clculo que representado pelo eixo principal de furao da barra horizontal da cintura. O detalhe de dobra da cintura definido pelo projetista quando ele faz o estudo da torre em funo dos perfis determinados pelo clculo. A distncia destacada pelo crculo vermelho que pode ser visualizado na Figura 5-4.

Figura 5-4 - Detalhe de dobra na cintura

Os demais campos so preenchidos a partir das especificaes utilizadas por uma determinada torre. As especificaes da torre, que so de responsabilidade do cliente, determinam se a torre ir conter e qual o tipo de cavalote, manilha, mancal, palnut, arruela, arruela de presso e degrau. O cavalote, a manilha e o mancal so peas utilizadas para fazer o ataque dos cabos condutores de energia e do pra-raios. O cliente normalmente decide como ser o ataque em determinada torre e o projetista define qual pea utilizar em funo da carga de ruptura. Quando o cliente decide utilizar o mancal ainda necessrio utilizar o cavalote ou a manilha.

109

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

A arruela protege o material, a arruela de presso funciona como contraporca e o palnut um tipo de contra porca. O cliente decide ainda se sero utilizados parafusos degraus, que servem para que uma pessoa possa subir na torre em caso de manuteno. Normalmente eles so colocados a partir de trs metros de altura.

5.3.2 Tabela Barra


A tabela Barra pode ser considerada como a segunda tabela mais importante da estrutura de banco de dados. A estrutura da tabela mostrada na Figura 5-5. A tabela Barra relaciona-se com as outras tabelas atravs dos cdigos das mesmas e possui ainda dados especficos do objeto barra a ser desenhado.

Figura 5-5 - Tabela Barra

Toda barra da estrutura contm um nome e um nmero para a sua identificao que ficam armazenados nos campos nome_barra e num_barra. Esses campos sero obtidos do clculo estrutural para facilitar futuras verificaes. A qualidade do ao ficar armazenada no campo qualidade_aco e tambm ser obtida do clculo estrutural.

110

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

O campo cod_orientao armazena a informao de como a cantoneira ser posicionada. Ela pode estar atrs da barra a ser conectada, frente ou no mesmo plano no caso de a ligao ser realizada atravs de chapas. O campo de cod_barra_associada utilizado para o caso de que a cantoneira seja dupla, ou seja, no caso de o clculo determinar que so necessrios dois perfis para suportar o esforo. Os campos dim_parafuso_extremidade e num_parafuso_extremidade armazenam respectivamente o dimetro e o nmero de parafusos que so necessrios nas extremidades da barra. Esses dados tambm so provenientes da etapa de dimensionamento do clculo. Os ns iniciais e finais das barras obtidos do dimensionamento servem no detalhamento para definir o primeiro parafuso da ligao que est no eixo de furao principal da barra. O comprimento armazenado a distncia entre os dois ns mais a distncias dos ns at as bordas das cantoneiras. Essa distncia depende do dimetro do parafuso e da especificao do cliente. O tipo de esforo tambm pode interferir na distncia uma vez que dependendo do tipo de esforo pode ser necessria uma segurana extra. O campo vetor_diretor indica no espao a direo da barra e o campo vetor_normal armazena a normal aba pela qual a barra ligada a outra. O campo carregada armazena a informao se a barra carregada ou descarregada. Barra carregada uma barra que foi dimensionada para suportar algum esforo calculado na etapa de anlise estrutural. A barra no carregada a barra posicionada para evitar a flambagem local de determinada barra. Ela serve apenas de contraventamento. Os campos de distncias e que comeam com o prefixo dim esto relacionados com as distncias dos recortes que podero ser feitos nas cantoneiras. A cantoneira pode ter um recorte simples quando apenas uma aba recortada ou ainda o recorte duplo quando duas abas so recortadas. Os recortes duplos so indesejados pela dificuldade de manipulao na fbrica. O nmero de trusquinos, que so os eixos de furao, tambm armazenado na tabela barra assim como o valor de cada trusquino. O campo num_trusquino armazena a quantidade de trusquinos existente na barra. J os campos trusquino1, trusquino2 at o campo trusquino8, armazenam os valores de cada trusquino existente na barra. Foi considerado que oito trusquinos uma quantidade razovel para quantidade mxima de trusquinos. O trusquino nmero um o trusquino principal da barra, ou seja, aquela que contm os furos que esto relacionados com os ns do clculo. Esse o trusquino mais importante da barra.

111

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

5.3.3 Tabela Emenda


A tabela Emenda armazena informaes sobre as emendas. A estrutura da tabela Emenda visualizada na Figura 5-6.

Figura 5-6 - Tabela Emenda

importante ainda salientar a diferena existente entre emenda e ligao. A emenda aparece quando ocorre ligao entre uma mesma barra e a ligao ocorre quando duas ou mais barras so conectadas. A ligao entre uma mesma barra ocorre quando o tamanho da barra supera o tamanho mximo permitido ou quando o perfil da barra diferente em um determinado trecho. O tamanho mximo permitido definido em funo de variveis como, por exemplo, a viabilidade de transportar e trabalhar com a pea e normalmente limitado a seis metros. O tamanho mximo permitido informado pelo cliente. O campo tipo_ligacao armazena informaes sobre qual o tipo de ligao da emenda. A emenda pode ser por sobreposio ou topo. A emenda por sobreposio normalmente utilizada quando existe uma grande diferena entre os perfis para manter os eixos de clculo prximos. Neste caso uma cantoneira entra dentro da outra. A cantoneira que entra deve ser chanfrada para que as abas das duas cantoneiras fiquem coladas. A emenda de topo pode ser feita pelo alinhamento interno ou externo. O alinhamento externo quando as cantoneiras so alinhadas pela parte de fora da aba e o alinhamento interno ocorre quando elas so alinhadas pela parte de dentro da espessura. O alinhamento interno o mais utilizado quando o cisalhamento duplo. Existe a necessidade de utilizar uma pequena chapa denominada calo quando existe uma diferena de espessura entre as cantoneiras maior do que 2 mm. O campo tipo_cisalhamento armazena o tipo de cisalhamento da emenda. A emenda pode ser de cisalhamento duplo quando existem duas sees de cisalhamento ou de cisalhamento simples. Normalmente, no cisalhamento simples, a emenda contm uma cantoneira interna, tambm chamada de cobrejunto, com o mesmo perfil da barra que est sendo ligada. J a emenda de cisalhamento duplo contm, alm do cobrejunto, duas chapas localizadas nas abas da parte externa da cantoneira.

112

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

Figura 5-7 - Detalhe da emenda. Extrada de Silva, J.B.G.F & all (2009)

5.3.4 Tabela Ligao


A tabela Ligao armazena as informaes que foram julgadas necessrias para o detalhamento das ligaes conforme a Figura 5-8.

Figura 5-8 - Tabela Ligao

O campo cod_no armazena a informao de qual o n que est relacionado com a ligao. Foi considerado que toda ligao possui um n de referncia.

113

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

O campo nome_ligacao armazena o nome da ligao em questo. O campo num_barra armazena o nmero de barras que chega ligao, sendo o campo barra_principal responsvel por armazenar a barra que considerada a principal da ligao. Essa barra principal pode ser, por exemplo, o montante quando a ligao feita nele. Os campos de barra_secundaria armazenam as outras barras que chegam ligao. Uma ligao das trelias e barras horizontais com o montante mostrada na Figura 5-9.

Figura 5-9- Ligao. Extrada de Silva, J.B.G.F & all (2009)

Os campos coordx_pc_ligacao, coordy_pc_ligacao e coordz_pc_ligacao armazenam as coordenadas do ponto de clculo da ligao. Dependendo da face da ligao, as coordenadas do detalhamento da ligao so calculadas.

5.3.5 Tabela Chapa


As chapas so utilizadas nas ligaes, quando no h espao na rea lquida das cantoneiras para colocar todos os parafusos, que foram dimensionados pelo clculo. As chapas pertencem s ligaes ou emendas. A tabela Chapa contm as informaes necessrias para a representao grfica de uma chapa. A estrutura da tabela est na Figura 5-10.

114

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

Figura 5-10 - Tabela Chapa

Alm do cdigo da chapa, esto armazenadas as informaes nmero da chapa, espessura e tipo do ao utilizado. O ngulo da chapa indica a inclinao da chapa com relao aos eixos x e y originais. O campo dobra armazena a informao que indica se a chapa possui uma dobra e o campo ngulo dobra armazena a informao que indica qual o ngulo da dobra da chapa. Os campos relacionados a recorte armazenam as informaes dos recortes existentes em cada um dos cantos da chapa. A numerao indica qual canto da chapa ser recortado e o x e o y indicam a direo que a chapa ser recortada. A Figura 5-11 mostra a representao grfica de uma chapa utilizada para fazer a ligao das barras de contraventamento da vista de um p da torre. Pode-se observar que a chapa representada pelo nmero 237 no possui recortes e por isso os campos relacionados a recorte estariam armazenados com o nmero zero. Em contrapartida, pode-se observar a representao grfica das informaes armazenadas nos campos num_chapa, tipo_aco, altura, largura, ngulo, ngulo_dobra e dobra.

115

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

Figura 5-11 - Representao da Chapa

5.3.6 Tabela Furo


A tabela Furo armazena as informaes necessrias para a representao grfica de um furo no espao. A estrutura da tabela visualizada na Figura 5-12.

Figura 5-12 - Tabela Furo

Alm do campo dimetro_furo, que armazena o dimetro do furo utilizado, foi criado o campo vetor_normal, que indica no espao a localizao do furo.

5.3.7 Tabela Perfil


A tabela Perfil contm todos os dados necessrios para detalhar graficamente o perfil alm das suas propriedades geomtricas. A estrutura da tabela perfil est representada na Figura 5-13.

116

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

Figura 5-13 - Tabela Perfil

O campo Ixx refere-se ao momento de inrcia em relao ao eixo x, o campo Wxx referese a mdulo de resistncia, o campo rxx refere-se ao raio de girao em relao ao eixo x, o campo ex refere-se posio da borda externa da alma at o centro de gravidade da cantoneira, o campo izz refere-se ao raio de girao em relao ao eixo de menor inrcia e o campo b/t refere-se a relao entre a parte plana da aba e a espessura da cantoneira. Uma visualizao de parte da tabela preenchida est na Figura 5-14

Figura 5-14 - Tabela Perfil preenchida

117

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

5.3.8 Tabela No
A tabela No armazena as coordenadas dos ns e o cdigo com o qual ele est relacionado. A estrutura da tabela encontra-se na Figura 5-15.

Figura 5-15 - Tabela No

5.3.9 Tabela Tipo_Torre


A tabela Tipo_torre talvez a tabela mais simples do banco de dados. A estrutura da tabela mostrada na Figura 5-16. Ela se relaciona com a tabela Torre atravs do campo cod_tipo_torre. O campo nome_tipo_torre armazena de que tipo a torre. A torre pode ser, por exemplo, do tipo estaiada monomastro, tronco piramidal, delta, cross rope conforme mostrado na Figura 1-1.

Figura 5-16 - Tabela Tipo_Torre

118

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

5.3.10

Tabelas sobre parafusos

As informaes sobre parafusos no esto necessariamente conectadas. A especificao do cliente pode determinar, por exemplo, as mesmas distncias mnimas, mas com dimetros de parafusos diferentes ou comprimentos de rosca diferentes. Diante do exposto, uma tabela para parafusos no seria suficiente. Foram ento criadas trs tabelas: as tabelas Comprimento_parafuso, Distancia_parafuso e Norma_parafuso. Cada uma dessas tabelas contm campos que esto relacionados entre si, mas que no esto necessariamente relacionados com os campos das outras tabelas. A tabela Distancia_parafuso armazena as distncias mnimas dos parafusos que sero adotadas pelo cliente. A estrutura da tabela est na Figura 5-17.

Figura 5-17 - Tabela Distancia_parafuso

O campo Cod_dist_parafuso faz a conexo da tabela Cod_dist_parafuso com a tabela torre, ou seja, informa quais sero as distncias mnimas adotadas em determinada torre. As distncias esto ainda relacionadas com o dimetro do parafuso. Cada cliente deve informar as distncias mnimas utilizadas para cada dimetro de parafuso. Os dimetros de parafusos normalmente utilizados so: Parafuso M12 12 mm. Parafuso M16 16 mm. Parafuso M20 20 mm. Parafuso M22 22 mm. Parafuso M24 24 mm.

As distncias mnimas esto ilustradas na Figura 5-18. Lembrando que o campo Dist_min_entre_parafuso est ilustrado como Entre Parafusos, o campo Pina est ilustrado como Borda Cortada e o campo Dist_cantoneira_centro_furo est ilustrado como Outra Cantoneira.

119

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

Figura 5-18 - Distncias mnimas

O campo borda_chapa armazena a distncia mnima que dever ser utilizada do centro do parafuso at a borda da chapa. A tabela Comprimento_parafuso armazena o comprimento da rosca e o passo do comprimento. A tabela Norma_parafuso armazena informaes sobre a cabea do parafuso e da porca utilizada. A estrutura da tabela mostrada na Figura 5-19.

Figura 5-19 - Tabela Norma_parafuso

Assim como na tabela Distancia_parafuso, a tabela Norma_parafuso deve conter um registro para cada tipo de parafuso utilizado. As informaes armazenadas nessa tabela so importantes para definio do comprimento total do parafuso e do eixo de furao principal da pea. As alturas do parafuso e da porca fazem parte da definio do comprimento do parafuso. As larguras do parafuso e da porca ajudam a definir um eixo de furao que permite a montagem em campo sem dificuldades extras.

120

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

5.3.11

Tabelas sobre o desenho

Algumas tabelas foram criadas e relacionadas entre si para criar os formatos nos quais os desenhos de detalhamento da torre sero entregues aos clientes finais. Essas tabelas so Desenho, Formato, Nota e Legenda. A tabela Desenho a principal tabela entre elas e possui uma referncia para cada uma das outras tabelas. As referncias so feitas atravs dos cdigos das tabelas conforme ilustrado na Figura 5-20.

Figura 5-20 - Tabela Desenho

A tabela Formato possui as informaes necessrias para a representao grfica do formato escolhido. Alm das coordenadas de insero, a tabela armazena informaes sobre o tipo de formato que ser utilizado, a altura, a largura e as margens. A estrutura da tabela mostrada na Figura 5-21.

Figura 5-21 - Tabela Formato

A tabela Nota armazena o contedo e as coordenadas de insero conforme a Figura 5-22.

121

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

Figura 5-22- Tabela Nota

Os dados da tabela Nota armazenam informaes sobre o desenho e as referncias de onde encontrar mais informaes. Um exemplo de notas de um desenho de detalhamento est na Figura 5-23.

Figura 5-23 - Notas

A tabela Legenda armazena as informaes restantes do desenho, tais como, o nome do projeto, o nmero da folha, o nmero do desenho, a escala utilizada, o engenheiro responsvel pelo projeto e as datas de execuo, verificao, aprovao, projeto e clculo. A estrutura da tabela Legenda est ilustrada na Figura 5-24

122

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

Figura 5-24 - Tabela Legenda

5.4 O Relacionamento entre as tabelas


Os relacionamentos entre tabelas foram criados com finalidade de fazer a ligao entre as informaes que esto armazenadas em cada uma das tabelas da estrutura de banco de dados. O principal tipo de relacionamento utilizado na criao da estrutura de banco de dados desse trabalho foi o relacionamento Um para Vrios. O relacionamento Um para Vrios o relacionamento entre um campo que chave primria e um campo que no chave primria.

5.4.1 Relacionamentos da tabela Torre


Por ser a principal tabela da estrutura do banco de dados seria normal que a tabela Torre fosse a tabela com mais relacionamentos. exatamente o que acontece. A tabela Torre se relaciona com a tabela Barra, No, Desenho, Distancia_parafuso, Norma_parafuso, Comprimento_parafuso e Tipo_torre. O relacionamento das Tabelas com a tabela Torre ilustrado na Figura 5-25.

123

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

Figura 5-25 - Relacionamentos da tabela Torre

A torre a ser analisada deve seguir algumas normas e/ou especificaes estabelecidas pelos clientes. Informaes a respeito das especificaes do cliente sobre parafusos que sero utilizados na torre esto armazenadas nas tabelas Norma_parafuso, Comprimento_parafuso e Distancia_parafuso. Considerando o fato de que cada uma dessas tabelas armazena uma quantidade finita de registros que pode aumentar medida que novas especificaes forem criadas e que vrias torres podem utilizar as mesmas especificaes, foi estabelecido que o relacionamento entre essas tabelas e a tabela Torre o relacionamento Um para Vrios. A chave primria de cada um dos relacionamentos est nas tabelas e a chave estrangeira, ou seja, o lado Vrios do relacionamento est na tabela Torre. O relacionamento Um para Vrios tambm foi escolhido para a ligao entre a tabela Torre e Tipo_Torre. Nesse caso, o tipo de torre no ser repetido, pois chave primria, e vrias torres podero ter o mesmo tipo, chave estrangeira. No caso das tabelas Barra, No e Desenho, tambm foi utilizado o relacionamento Um para Vrios, mas dessa vez com a chave primria localizada na tabela Torre. Cada torre possui vrias barras e uma barra pertence apenas a uma torre. O campo cod_torre , ento, nico na tabela Torre e pode ter valores repetidos na tabela Barra. O mesmo acontece com os ns e desenhos da torre. Cada torre possui vrios ns e um n pertence apenas a uma torre. Cada torre possui vrios desenhos e um desenho pertence apenas a uma torre.

124

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

5.4.2 Relacionamentos da tabela Barra


A tabela Barra, assim como a tabela Torre, possui relacionamento com muitas tabelas da estrutura de banco de dados. Os relacionamentos da tabela Barra com as outras tabelas esto ilustrados na Figura 5-26.

Figura 5-26 - Relacionamentos da tabela Barra

A tabela Barra se relaciona diretamente com a tabela Emenda, Ligacao, Torre, Perfil e No. Relaciona-se ainda indiretamente com a tabela Furo. O relacionamento da tabela Barra com a tabela Torre j foi descrito no tpico anterior, relacionamento Um para Vrios no qual a chave primria est localizada na tabela Torre. O relacionamento com a tabela Perfil similar. Uma barra contm apenas um perfil e um perfil pode estar presente em vrias barras diferentes. Com isso, o campo cod_perfil, que o campo que relaciona as duas tabelas, chave primria na tabela Perfil e chave estrangeira na tabela Barra. Os valores do campo cod_perfil podem ser repetidos na tabela Barra. A tabela No possui um relacionamento similar s tabelas anteriores, mas ao invs de um relacionamento possui dois. Toda barra possui um n inicial e um n final e mais de uma barra pode ter o mesmo ponto inicial ou final. Foram criados ento dois relacionamentos. Um relacionamento do campo cod_no da tabela No, chave primria, com o campo no_inicial da tabela Barra e o outro do mesmo campo cod_no da tabela No, tambm como chave primria, e o campo no_final da tabela Barra. Os dois relacionamentos criados so do tipo Um para Vrios com a chave primria localizada na tabela No. 125

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

As tabelas Emenda e Ligacao possuem relacionamento do tipo Um para Vrios com a tabela Barra, mas a chave primria desses relacionamentos est localizada na tabela Barra. No caso dessas tabelas, uma ligao possui vrias barras e uma emenda tambm possui vrias barras. A ligao feita pelo campo cod_barra que a chave primria da tabela Barra. A tabela Furo possui um tipo de relacionamento com a tabela Barra diferente dos relacionamentos anteriores, o relacionamento Vrios para Vrios. Esse tipo de relacionamento acontece porque uma barra pode ter vrios furos e um furo pode conter vrias barras. Para transformar esse relacionamento em dois relacionamentos Um para Vrios, foi criada a tabela auxiliar Aux_Barra_Furo. A tabela Aux_Barra_Furo contm dois campos auxiliares cod_furo e cod_barra que so utilizados para serem as chaves estrangeiras dos dois relacionamentos criados conforme pode ser visualizado na Figura 5-26.

5.4.3 Outros relacionamentos


Todos os desenhos possuem uma legenda, um formato e notas. A ligao feita com o relacionamento um para vrios. A tabela Desenho possui o relacionamento vrios conforme mostrado na Figura 5-27, ou seja, na tabela Desenho podem existir vrios registros de desenhos que possuem ligao com o mesmo registro das outras tabelas.

126

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

Figura 5-27 - Relacionamentos da tabela Desenho

Algumas ligaes podem conter uma chapa. A tabela Chapa possui, portanto um relacionamento um para vrios com a tabela Ligacao. A chave primria est localizada na tabela Chapa.

5.5 Povoamento do Banco de dados


O povoamento do banco de dados pode ser feito diretamente no sistema gerenciador de banco de dados, pelos projetistas atravs das interfaces desenvolvidas como, por exemplo, no comando PParafuso ou ainda atravs de arquivos de dados com configuraes prdefinidas como no comando AbrirArquivo.

127

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

6.

CONSIDERAES FINAIS

A automao de processos de fabricao um anseio antigo das indstrias, com uma demanda especial na rea de estruturas industrializadas, que ainda opera de uma forma quase artesanal. Ferramentas como o aplicativo desenvolvido para esta dissertao mostra uma nova perspectiva para a automao de tarefas e etapas do processo de fabricao de torres, ainda hoje executadas manualmente. Como resultado desta pesquisa espera-se uma significativa mudana em relao a qualidade do produto, melhoria da produtividade e da competitividade no setor. Nesse captulo so apresentadas algumas consideraes sobre o trabalho desenvolvido, suas contribuies e suas limitaes, e so feitas ainda propostas para o desenvolvimento de trabalhos futuros.

6.1 O Trabalho Desenvolvido e suas Contribuies


Neste trabalho so apresentadas as atividades realizadas no desenvolvimento de um sistema para a automao do detalhamento de torres metlicas. A etapa de estudo e formulao, aliada concepo do escopo conceitual do sistema computacional foram de significativa 128

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

importncia para a realizao deste e de futuros trabalhos. A partir de estudos de sistemas CAD desenvolvidos anteriormente como em Malard (1998), Hutner (1998), Leite (2002), Leite (2007) e Magalhes (2002) foi construda uma estrutura independente de banco de dados, que associada a um aplicativo CAD permite automatizar o detalhamento de estruturas de torres metlicas. O escopo conceitual do projeto do aplicativo TowerCAD prev sua extensibilidade e aprimoramento atravs do desenvolvimento de novos algoritmos ou ainda da modificao e criao das novas tabelas na estrutura de banco de dados. Outros problemas, fora da rea de engenharia de estruturas, podero usufruir dos avanos deste trabalho para automatizar processos utilizando a mesma tecnologia onde os dados esto representados em um banco de dados externo e a representao grfica feita em uma plataforma grfica.

6.1.1 Contribuies Gerais


Uma importante contribuio deste trabalho foi a aplicao de um novo paradigma para o desenvolvimento de sistemas computacionais no padro de arquitetura MVC, onde o modelo, a visualizao e o controle so separados e funcionam independentemente. A inovao introduzida est na separao dos dados em um banco de dados externo com gerenciamento/controle independente da plataforma grfica de gerenciamento/controle da representao grfica. O controle do banco de dados, o controle do sistema CAD de visualizao e do sistema de interfaces de comunicao entre eles opera tambm de forma programtica independente. Esse novo paradigma permite que a estrutura de dados do sistema fique independente da plataforma grfica e que uma possvel migrao de plataforma grfica seja feita facilmente. Esse trabalho tambm pioneiro em uma nova linha de desenvolvimento tecnolgico no PROPEEs, que inicia a construo de sistemas computacionais, utilizando a tecnologia .NET, atravs da API .NET para programao do AutoCAD. Essa mesma tecnologia .NET permite a interface de um banco de dados externo a uma plataforma grfica atravs da tecnologia ADO.NET. Outra importante contribuio da presente pesquisa foi a concepo de uma estrutura de dados independente da plataforma grfica, baseada em tabelas bem definidas, capaz de atender a base de dados do aplicativo desenvolvido e ainda suportar novas implementaes. Essas novas implementaes podem ser desenvolvidas com a mesma estrutura da base de dados desenvolvida, utilizando a mesma estrutura para criao de novas tabelas e relacionamentos. Esta estrutura de dados pode ainda ser reaproveitada para o desenvolvimento de uma nova base de dados relacionada a outro tipo problema. A independncia obtida entre dados, visualizao e controle permite a flexibilizao na escolha da plataforma grfica a ser utilizada, facilita a implementao das representaes grficas, uma vez que toda a manipulao de dados realizada programaticamente no banco de dados externo e a aplicao apenas define a visualizao dos elementos. O mesmo banco de dados pode servir de base para aplicaes desenvolvidas em diferentes

129

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

plataformas grficas. Permite tambm a migrao mais fcil para verses mais recentes dos softwares, bastando uma atualizao e recompilamento do cdigo fonte. Esta independncia traz ainda como vantagem a facilidade para backups e por isso se torna uma ferramenta mais eficaz.

6.1.2 Contribuies Especficas para a Automao de Processos Produtivos


A construo de um sistema global de automao foi iniciada pelo lanamento de estruturas de bases de dados capazes de suportar o desenvolvimento de sistemas integrados, contemplando desde a entrada de dados ou modelagem at a fabricao dos componentes da estrutura. O imenso potencial desta tecnologia para automatizar cada vez mais o processo produtivo pode ser destacado. O aumento da produtividade, a preciso dos resultados e a melhoria da qualidade dos produtos so alguns dos resultados esperados. A estrutura de banco de dados criada foi concebida para permitir novas implementaes necessrias ao desenvolvimento completo de pr-processadores e ps-processadores capazes de fazer a integrao entre os sistemas do processo produtivo. A estrutura de banco de dados responsvel pela manuteno, transmisso e pelo gerenciamento dos dados necessrios s demais etapas deste processo. O mdulo Controle, que promove o gerenciamento dos dados, importao/exportao, leitura, edio, etc..., a partir de interfaces grficas pode ser considerado uma grande contribuio tanto para o projeto global de pesquisa na rea de torres quanto para futuros projetos de automao, que utilizarem plataformas CAD. A implantao da separao entre a plataforma grfica e o armazenamento dos dados no seria possvel sem a implementao do mdulo Controle.

6.1.3 Contribuies Metlicas

Especficas

para

Indstria

de

Torres

O sistema desenvolvido construiu as bases para um trabalho mais amplo de detalhamento de estruturas de torres metlicas. A estrutura de banco de dados criada foi concebida prevendo implementaes futuras, que permitam o detalhamento de outras partes da estrutura. Novos elementos e novas tabelas podem ainda ser criados, utilizando a estrutura atual como base. O TowerCAD proporciona significativos aumentos de eficincia, produtividade e segurana aos projetos de detalhamento de torres metlicas. A utilizao do detalhamento automtico em substituio ao detalhamento manual traz importantes ganhos de produtividade e

130

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

qualidade aos projetos. As diferenas entre a estrutura detalhada e a estrutura real fabricada diminuem a nveis bastante aceitveis. Os comandos criados j esto sendo utilizados pelos projetistas da rea Os primeiros impactos na produo de projetos de torres metlicas j podem ser observados pela reduo do tempo gasto e maior preciso nos desenhos de detalhamento. Foram criados mdulos de interface com o projetista conforme proposto em Magalhes (2002). As interfaces amigveis desenvolvidas dentro do AutoCAD permitem aos projetistas informar os parmetros, que so necessrios para o detalhamento de uma torre e que ainda no so calculados automaticamente. Os parmetros informados so armazenados no banco de dados externo. A interface CAM para equipamentos de controle numrico tambm uma contribuio importante deste trabalho. O arquivo gerado contribui para automao da fabricao de torres metlicas. A interferncia humana minimizada e conseqentemente a produtividade aumenta e a probabilidade de erros diminui. Cabe observar que este trabalho foi o primeiro a produzir desenhos de detalhamento de torres metlicas para montagem. Em Magalhes (2002), somente haviam sido gerados desenhos de peas isoladas.

6.2 Limitaes do Aplicativo e Propostas para Trabalhos Futuros


Nesta primeira etapa de desenvolvimento do sistema CAD denominado TowerCAD foram desenvolvidos comandos e a concepo para o detalhamento de uma torre metlica completa. No entanto, ainda existem alguns aspectos que necessitam de aprimoramento e outros que ainda devem ser implementados. As limitaes do TowerCAD, considerando-se o desenvolvimento at aqui alcanado e as atividades a serem desenvolvidas em trabalhos futuros so descritas nos tpicos a seguir.

6.2.1 Detalhamento da estrutura


O detalhamento dos ps da torre foi escolhido como caso de estudo para esse trabalho e se encontra em fase avanada de desenvolvimento. Desenvolvimentos posteriormente permitiro o detalhamento de todos os tipos de geometria de ps e das outras parte da torre tais como tronco, cabea, etc.... A geometria detalhada pode ser visualizada nas Figura 4-27 e 4.28.. O detalhamento das outras partes como, por exemplo, o tronco piramidal, as bases de extenses e o delta da torre ainda no foi inicializado, por outro lado a estrutura de banco de dados j foi elaborada para contempl-las. Ser necessrio um estudo minucioso de 131

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

como detalhar as outras partes da torre assim como foi feito no caso dos ps. Outros comandos, assim como o comando Cpe citado na seo 4.4.5, devem ser criados medida que o aplicativo for aperfeioado.

6.2.2 Ligaes
O detalhamento de ligaes, realizado nesta etapa de trabalho, restringiu-se s ligaes dimensionadas com apenas um parafuso. Ligaes dimensionadas com apenas um parafusos so comuns apenas na ligao de barras de contraventamento que so utilizadas normalmente nos ps da estrutura. Ligaes dimensionadas com mais de um parafuso em um ou mais trusquinos no foram detalhadas, mas sero necessrias para o detalhamento das outras partes da torre. As ligaes com mais de um parafuso devero ser parametrizados de acordo com a quantidade de parafusos e os perfis utilizados nas barras que sero ligadas. Dever ser estudada a necessidade da utilizao de chapas ou no para ligar as peas.

6.2.3 Emendas
As emendas entre as peas ainda no so detalhadas pelo aplicativo. Ser necessrio implementar um comando para detalhar as emendas com as distncias mnimas utilizadas e possivelmente um ou dois trusquinos. As emendas tambm devero ser parametrizadas de acordo com a quantidade de parafusos e o perfil.

6.2.4 Informaes fornecidas pela projetista


Algumas informaes solicitadas aos projetistas podero ser calculadas automaticamente atravs da criao de algoritmos. Para isso devem ser estudados os dados necessrios para o clculo destas informaes e, neste caso, alterar a estrutura de banco de dados criada para o aplicativo.

6.2.5 Interferncia entre elementos


Os algoritmos para verificar a interferncia entre os elementos ainda no foram implementados. Ser necessrio elaborar algoritmos para verificar a existncia de recortes e dobras para que as peas encaixem perfeitamente. Assim, os recortes e dobras podero ser indicados nos desenhos e os desenhos de detalhamento sero produzidos cada vez mais rapidamente e com menor quantidade de erros.

132

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

6.2.6 Detalhamento 3D da estrutura


A estrutura de dados criada permite que desenvolvimentos futuros contemplem a visualizao e o detalhamento 3D da estrutura. Os dados necessrios para essa implementao se encontram disponveis na estrutura. O detalhamento 3D da estrutura permitiria uma melhor visualizao da estrutura a ser detalhada e uma curva de aprendizagem menor para novos projetistas.

6.2.7 Lista de Materiais


A lista de material ainda no gerada pelo sistema TowerCAD. Com os dados armazenados no banco de dados externo, a lista de materiais pode ser gerada automaticamente com a implementao de um algoritmo.

133

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

7.

REFERNCIAS BIBLIOGRFICAS

ABNT, 2008. NBR 8800 - Projeto de estruturas de ao e de estruturas mistas de ao e concreto de edifcios. Associao Brasileira de Normas Tcnicas. AISC, 2006. Manual of steel construction. 13th edition. American Institute of Steel Construction. Autodesk, Inc., 2009. AutoCAD.NET Developers Guide. Autodesk, 2009a. Through the Interface: Autocad .NET. Disponvel em http://through-the-interface.typepad.com/through_the_interface/autocad_net/ Acesso em Jun/2009. Baldam, R., 2007. AutoCAD 2008 Utilizando Totalmente. Battisti, J., 2009. O Modelo Relacional de Dados. Disponvel em <http://www.juliobattisti.com.br/artigos/office/modelorelacional_p1.asp> Acesso em Out/2009.

134

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

Gontijo, C.R., 1994. Contribuio Anlise e Projeto de Torres Autoportantes de Linhas de Transmisso. Belo Horizonte. (Dissertao do mestrado Escola de Engenharia da UFMG). Gontijo, H.D.O., 2009. Aplicao das tecnologias CAD, programao orientada a objetos e banco de dados na automao do processo de detalhamento de Torres Metlicas. Cilamce 2009. Hutner, A., 1998. Modelador 3D para Estruturas Via CAD Arquitetura do Sistema/Banco de Dados/Visualizao. Belo Horizonte. (Dissertao do mestrado Escola de Engenharia da UFMG). Las Casas, R.S., 2008. Desenvolvimento de Tecnologias para EAD. Belo Horizonte. (Dissertao do mestrado Escola de Engenharia da UFMG). Leite, R.C.G., 2002. Automao do Processo de Modelamento e Detalhamento de Estruturas Pr-Moldadas de Concreto Armado Via Tecnologia CAD e Programao Orientada a Objeto. Belo Horizonte. (Dissertao do mestrado Escola de Engenharia da UFMG). Leite, R.C.G., 2007. Um Framework para Automao/Integrao do Processo de Desenvolvimento de Projetos de Estruturas Reticuladas Tridimensionais. Belo Horizonte. (Tese de Doutorado Escola de Engenharia da UFMG). Macoratti, J.C., 2009. Mini-curso sobre ADO.NET. Disponvel em <http://www.macoratti.net/ado_net1.htm> Acesso em Ago/2009 Magalhes, P.H.V, 2002. Automao do Processo de Modelamento e Detalhamento de Torres Metlicas Via Tecnologia CAD. Belo Horizonte. (Dissertao do mestrado Escola de Engenharia da UFMG). Malard, F.P., 1998. Modelador 3D para Estruturas Via CAD Arquitetura do Sistema/Banco de Dados/Visualizao. Belo Horizonte. (Dissertao do mestrado Escola de Engenharia da UFMG). Malard, F.P., 2009. ObjectARX & Dummies. Disponvel em <http://arxdummies.blogspot.com/> Acesso em Jan/2009. MCauley, C., 2000. Programming AutoCAD 2000 using ObjectARXTM. Thomsom LearningTM. 676p. Microsoft, Inc., 2009. Microsoft .NET Getting Started in .NET. Microsoft. Disponvel em <http://www.microsoft.com/net/> Acesso em Fev/2009. Microsoft, 2009a. Pgina principal MSDN. <http://msdn.microsoft.com/> Acesso em Fev/2009. 135

DISSERTAO DE MESTRADO

Henrique Dias de Oliveira Gontijo

Sacramento, M.C., 2008. Introduo ao Oracle SQL. CADTEC/UFMG. Sharp, J., 2008. Microsoft Visual C# 2008. Silva, A.C., 2008. Automao de Projetos de Estruturas Metlicas em Plataforma CAD. Belo Horizonte. (Dissertao do mestrado Escola de Engenharia da UFMG). Silva, J.B.G.F & all, 2009. Comparison of general industry practices for lattice tower design and detailing. Electra n 244, p 19-28. Souza, R., 1995. Sistema de gesto da qualidade para empresas construtoras. Tayor, A.G., 2003. SQL for Dummies 5th Edition.

136

Вам также может понравиться