ESTUDO E DESENVOLVIMENTO DE M T D CAD/CAMgraco.unb.br/alvares/DOUTORADO/papers_omega/ricardo/... ·...

139
UNIVERSIDADE FEDERAL DE SANTA CATARINA UFSC DEPARTAMENTO DE ENGENHARIA MEC´NICA COORDENA˙ˆO DE PS-GRADUA˙ˆO EM ENGENHARIA MEC´NICA ESTUDO E DESENVOLVIMENTO DE METODOLOGIAS NA TROCA DE DADOS EM CAD/CAM Aluno: Raimundo Ricardo Matos da Cunha Curso: Doutorado em Engenharia Mecnica `rea de concentraªo: Projeto de Sistemas Mecnicos com Œnfase em Sistemas CAD/CAE/CAM Disciplina EMC 6601 Tpicos Especiais em Projeto de Sistemas Mecnicos Prof. Altamir Dias, Dr. Eng. Florianpolis SC Abril/2000

Transcript of ESTUDO E DESENVOLVIMENTO DE M T D CAD/CAMgraco.unb.br/alvares/DOUTORADO/papers_omega/ricardo/... ·...

UNIVERSIDADE FEDERAL DE SANTA CATARINA � UFSC DEPARTAMENTO DE ENGENHARIA MECÂNICA

COORDENAÇÃO DE PÓS-GRADUAÇÃO EM ENGENHARIA MECÂNICA

ESTUDO E DESENVOLVIMENTO DE METODOLOGIAS NA TROCA DE DADOS EM

CAD/CAM

Aluno: Raimundo Ricardo Matos da Cunha Curso: Doutorado em Engenharia Mecânica Área de concentração: Projeto de Sistemas Mecânicos

com ênfase em Sistemas CAD/CAE/CAM

Disciplina EMC 6601 � Tópicos Especiais em Projeto de Sistemas Mecânicos Prof. Altamir Dias, Dr. Eng.

Florianópolis � SC Abril/2000

II

SSuummáárriioo

CAPÍTULO 1 � INTRODUÇÃO.......................................................................... 1 1.1. OBJETIVOS ..................................................................................................................1

1.2. TÓPICOS ABORDADOS....................................................................................................2

CAPÍTULO 2 � MODELAGEM DE DADOS GEOMÉTRICOS EM CAD/CAM....... 3 2.1. INTRODUÇÃO................................................................................................................3

2.2. A REPRESENTAÇÃO DE DESENHOS E DIAGRAMAS ...............................................................4

2.3. REPRESENTAÇÃO TRIDIMENSIONAL...................................................................................7

2.3.1. Representação Wireframe.....................................................................................8

2.3.2. Representação de Superfície ..............................................................................11

Representação de Curvas 11

2.3.3. Representação de Sólido ....................................................................................18

Esquemas de Modelagem de Sólidos 19

Modelos CSG 20

Modelos B-Rep 22

CAPÍTULO 3 � PADRÕES DE TROCA DE DADOS EM CAD/CAM................... 24 3.1. INTRODUÇÃO..............................................................................................................24

3.2. EVOLUÇÃO DA TROCA DE DADOS EM CAD/CAM .............................................................26

3.3. TIPOS DE PADRÕES PARA TROCA DE DADOS.....................................................................29

3.3.1. IGES (Initial Graphics Exchange Specification) ...................................................29

Formato do Arquivo IGES 31

3.3.2. DXF (Data Interchange Format) .........................................................................32

Formato do Arquivo DXF 33

3.3.3. STEP (Standard for the Exchange of Product Data) .............................................34

Protocolo AP203 37

Outras Partes do STEP 38

Linguagem EXPRESS 38

Formato do Arquivo STEP 39

3.3.4. ACIS..................................................................................................................41

Conceitos e Características do ACIS 42

3.3.5. PARASOLID.......................................................................................................46

CAPÍTULO 4 � CONCEITOS E APLICAÇÃO DE BANCO DE DADOS ............... 47 4.1. INTRODUÇÃO..............................................................................................................47

4.2. DEFINIÇÕES E CONCEITOS............................................................................................49

4.3. A ESTRUTURA DE UM BANCO DE DADOS .........................................................................50

III

4.4. CLASSIFICAÇÃO DOS SISTEMAS DE BANCO DE DADOS........................................................52

4.4.1. O Modelo Relacional ..........................................................................................53

Operações da Álgebra Relacional 54

4.4.2. O Modelo Hierárquico ........................................................................................55

4.4.3. O Modelo em Rede .............................................................................................56

4.5. BANCO DE DADOS ORIENTADOS A OBJETOS ....................................................................57

4.6. APLICAÇÕES DE BANCO DE DADOS EM CAD ....................................................................59

4.6.1. Banco de Dados Orientados a Objeto em CAD ....................................................59

CAPÍTULO 5 � GERENCIAMENTO DA INFORMAÇÃO EM CAD/CAM ............. 61 5.1. INTRODUÇÃO..............................................................................................................61

5.1.1. O que é PDM?....................................................................................................62

5.2. CLASSIFICAÇÃO DE SISTEMAS PDM................................................................................64

5.2.1. Critérios Funcionais ..........................................................................................65

Origens dos Sistemas PDM 65

Campos Funcionais 66

Escopo de Aplicação 66

5.2.2. Critérios Técnicos ..............................................................................................66

Flexibilidade 66

Arquitetura e Plataforma Computacionais 67

Tipo de Base de Dados 67

Dados Gerenciados 67

5.3. OS BENEFÍCIOS DOS SISTEMAS PDM .............................................................................68

5.4. CARACTERÍSTICAS E FUNÇÕES DE UM SISTEMA PDM.........................................................70

5.4.1. As Funções do Usuário ......................................................................................72

Cofre de Dados e Gerenciamento de Documentos 72

Gerenciamento do Processo e do Fluxo de Dados 73

Gerenciamento da Estrutura do Produto 74

Classificação 75

Gerenciamento da Programação 77

5.4.2. As Funções Utilitárias........................................................................................77

Recursos de comunicação e notificação 77

Transporte de Dados 78

Conversão e Tradução de Dados 78

Serviços de Imagem 78

Administração do Sistema. 79

CAPÍTULO 6 � TÉCNICAS E METODOLOGIAS MODERNAS PARA TROCA DE

DADOS EM CAD/CAM.................................................................................. 80 6.1. INTRODUÇÃO..............................................................................................................80

6.2. QUADRO ATUAL DOS SISTEMAS CAD/CAM.....................................................................82

6.3. MODELAGEM E REPRESENTAÇÃO DO CONHECIMENTO........................................................83

6.4. TÉCNICAS DE MODELAGEM E REPRESENTAÇÃO ................................................................85

IV

6.4.1. Linguagens........................................................................................................85

6.4.2. Modelos Geométricos .........................................................................................86

6.4.3. Projeto Baseado em Features .............................................................................87

6.4.4. Imagens ............................................................................................................88

6.4.5. Grafos ...............................................................................................................89

6.4.6. Inteligência Artificial Aplicada ao Projeto ............................................................89

Tríade Função-Estrutura-Comportamento 90

Sistemas Especialistas 92

6.4.7. Orientação a Objeto em CAD..............................................................................93

Necessidade de uma Nova Modelagem de Objetos em CAD 94

6.4.8. Modelagem do Produto.......................................................................................96

A Programação Genética na Modelagem do Produto 97

6.5. CONSIDERAÇÕES FINAIS...............................................................................................99

REFERÊNCIAS BIBLIOGRÁFICAS............................................................... 101

BIBLIOGRAFIAS ......................................................................................... 104 APÊNDICE A � EXEMPLO DE ARQUIVO IGE ......................................................................... 106

APÊNDICE B � EXEMPLO DE ARQUIVO DXF ......................................................................... 107

APÊNDICE C � EXEMPLO DE ARQUIVO STEP........................................................................ 116

APÊNDICE D � EXEMPLO DE ARQUIVO ACIS ........................................................................ 119

APÊNDICE E � EXEMPLO DE ARQUIVO PARASOLID.............................................................. 120

APÊNDICE F � PROGRAMAÇÃO ORIENTADA A OBJETOS........................................................... 121

INTRODUÇÃO ................................................................................................................. 121

O Que é OOP? .......................................................................................................... 121

O Que é um Objeto?.................................................................................................. 121

Método ..................................................................................................................... 122

Dados do Objeto ....................................................................................................... 123

Mecanismo Seqüencial de Mensagens ....................................................................... 124

OS PRINCÍPIOS DA ORIENTAÇÃO A OBJETO .......................................................................... 125

Abstração de Dados .................................................................................................. 125

Encapsulamento de Dados........................................................................................ 126

Polimorfismo............................................................................................................. 127

Herança.................................................................................................................... 128

Reusabilidade ........................................................................................................... 129

SOLUÇÃO DE PROBLEMAS ORIENTADOS A OBJETOS............................................................... 129

V

LLiissttaa ddee FFiigguurraass

Figura 1. Vistas principais de um objeto. ................................................................................5

Figura 2. Simbologia usada em diagramas ..............................................................................6

Figura 3. Níveis de abstração em diagramas. ..........................................................................7

Figura 4. Interpretações de um modelo wireframe. ................................................................10

Figura 5. Visualização confusa .............................................................................................10

Figura 6. Linhas do contorno e da parede do furo .................................................................10

Figura 7. Superfície a partir de pontos. .................................................................................15

Figura 8. Superfície a partir de outras curvas. ......................................................................16

Figura 9. Superfície a partir de outras superfícies. ................................................................16

Figura 10. Superfícies three/four/five-sided. .........................................................................17

Figura 11. Primitivas e operações booleanas .........................................................................21

Figura 12. Estrutura de dados em árvore CSG. .....................................................................21

Figura 13. Estrutura de dados para modelos B-Rep. .............................................................22

Figura 14. Esquema da estrutura de dados asa de aresta......................................................23

Figura 15. Arquiteturas computacionais de troca e compartilhamento de dados. ...................26

Figura 16. Formas de tradução de arquivos. .........................................................................28

Figura 17. Exemplo de desenho de algumas entidades geométricas simples...........................31

Figura 18. Exemplo de arquivo IGES. ...................................................................................32

Figura 19. Arquitetura de camadas do STEP. ........................................................................35

Figura 20. Hierarquia de classes do ACIS..............................................................................43

Figura 21. Hierarquia topológica da representação B-Rep do ACIS.........................................44

Figura 22. Níveis de abstração de um banco de dados...........................................................51

Figura 23. Objeto-base e sua estrutura de dados: vértices, arestas, e faces............................54

Figura 24. Exemplo de banco de dados relacional. ................................................................54

Figura 25. Exemplo de banco de dados hierárquico...............................................................56

Figura 26. Exemplo de banco de dados em rede. ...................................................................57

Figura 27. Utilização do sistema PDM numa organização empresarial ...................................63

Figura 28. Visão funcional dos sistemas PDM.......................................................................70

Figura 29. Classificação hierárquica de peças padronizadas ..................................................76

Figura 30. Relacionamento entre modelos do ciclo de vida do produto ...................................81

Figura 31. Espectro das representações de modelagem em projeto ........................................85

Figura 32. Os elementos de um sistema especialista. ............................................................92

Figura 33. Combinações de produto simples. ........................................................................99

VI

Figura 34. Interface de comunicação entre os objetos.......................................................... 121

Figura 35. Mecanismo de mensagem entre dois objetos....................................................... 122

Figura 36. Passagem de parâmetro para um objeto. ............................................................ 122

Figura 37. Métodos de um objeto. ....................................................................................... 123

Figura 38. Acesso aos dados de um objeto. ......................................................................... 124

Figura 39. Encadeamento seqüencial de mensagens. .......................................................... 125

Figura 40. Abstração e representação de dados em OOP. .................................................... 125

Figura 41. Encapsulamento de dados em OOP.................................................................... 126

Figura 42. Exemplo de polimorfismo em OOP. .................................................................... 127

Figura 43. Exemplo de herança em OOP. ............................................................................ 128

VII

LLiissttaa ddee TTaabbeellaass

Tabela 1. Eixos de coordenadas para modelos tridimensionais. ...............................................8

Tabela 2. Exemplo de representação explícita e implícita de curvas. ......................................11

Tabela 3. Tipos de dados trocados ou compartilhados. ..........................................................25

Tabela 4. Tradução direta versus arquivo neutro na troca de dados.......................................27

Tabela 5. Entidades suportadas pelo IGES............................................................................29

Tabela 6. Protocolos STEP para projeto mecânico e análise estrutural. ..................................36

Tabela 7. Tipos de produtos gerenciados por sistemas PDM. .................................................64

Tabela 8. Indústrias que se beneficiam com os sistemas PDM. ..............................................64

Tabela 9. Tipos de dados gerenciados por sistemas PDM. ......................................................68

Tabela 10. Evolução das estratégias de modelagem com objetos ............................................94

Tabela 11. Classificação dos vários atributos de um objeto....................................................96

VIII

LLiissttaa ddee SSiiggllaass

AAM � Application Activity Model ................................................................... 36

ABNT � Associação Brasileira de Normas Técnicas........................................... 4

ADT � Abstract Data Types ........................................................................... 57

AI � Artificial Intelligence ............................................................................... 90

AIM � Application Interpreted Model............................................................... 36

ANSI � American National Standards Institute ............................................... 51

AP � Application Protocol................................................................................ 35

API � Application Programming Interface ........................................................ 42

ARM � Application Reference Model ............................................................... 36

BOM � Bill of Materials.................................................................................. 74

B-Rep � Boundary Representation ................................................................. 20

CAD � Computer-Aided Design......................................................................... 1

CAE � Computer-Aided Engineering ............................................................... 28

CAFD � Computer-Aided Fixture Design ......................................................... 84

CAM � Computer-Aided Manufacturing............................................................. 1

CAPP � Computer-Aided Process Planning ...................................................... 38

CAX � Computer-Aided "X"............................................................................. 25

CGI � Computer Graphics Interface ................................................................ 32

CGM � Computer Graphics Metafile................................................................ 32

CIM � Computer Integrated Manufacturing ..................................................... 61

CODASYL � Conference on Data Systems Languages .................................... 56

CR � Carriage-Return .................................................................................... 33

CSG � Constructive Solid Geometric ............................................................... 20

DBMS � Data Base Management System ....................................................... 49

DDL � Data Definition Language.................................................................... 52

DI � Direct Interface ...................................................................................... 42

DMU� Digital Mock-Up................................................................................... 62

DXF � Drawing Interchange File..................................................................... 28

IX

E/R � Entidade/Relacionamento ................................................................... 59

ECO � Engineering Change Orders ................................................................ 79

ECR � Engineering Change Requests ............................................................. 79

EDM � Engineering Data Management; Electronic Data Management .............. 63

EDMS � Electronic Data Management Systems .............................................. 61

ERP � Enterprise Requirements Planning ....................................................... 80

FGM � Functionally Graded Material.............................................................. 96

FMS � Flexible Manufacturing System............................................................ 99

GIF � Graphics Interchange File ..................................................................... 32

GP � Genetic Programming............................................................................. 99

GUI � Graphical User Interface ...................................................................... 80

IGES � Initial Graphics Exchange Specification .............................................. 27

IR � Integrated Resources.............................................................................. 36

ISO � International Organizational for Standardization ................................... 34

LF � Line-Feed .............................................................................................. 33

LM � Layered Manufacturing ......................................................................... 96

MRP � Materials Requirements Planning ........................................................ 62

NURBS � Non-Uniform Rational B-Spline........................................................ 14

OCR � Optical Character Recognition.............................................................. 72

OODB � Object-Oriented Data Base ............................................................... 57

OOP � Object-Oriented Programming ............................................................ 122

PDM � Product Data Management.................................................................... 1

PIM � Product Information Management ......................................................... 63

SAB � save as binary .................................................................................... 41

SAT � save as text ........................................................................................ 41

SFF � Solid Freeform Fabrication ................................................................... 95

STEP � Standard for the Exchange of Product Data........................................ 34

TDM � Technical Data Management............................................................... 63

TIFF � Tagged Image File Format .................................................................. 32

TIM � Technical Information Management ...................................................... 63

WBS � Work Breakdown Structures ............................................................... 77

CCaappííttuulloo 11

IInnttrroodduuççããoo

11..11.. OOBBJJEETTIIVVOOSS

Este estudo dirigido se baseou nos seguintes objetivos:

• Estudar as principais metodologias empregadas na troca de dados e

informações em CAD/CAM;

• Entender a integração de trocas de dados em sistemas CAD/CAM;

• Enfocar uma proposta de generalização do compartilhamento de dados

entre as fases de detalhamento de projeto e a preparação para a

fabricação de produtos e sistemas;

Além desses objetivos principais, pode-se citar outros objetivos

relacionados que também serviram de estímulo à pesquisa e à escrita desse

estudo dirigido:

• Revisar e atualizar diversos conceitos de tecnologias de CAD/CAM, tais

como: modelagem de sólidos;

• Estudar novas tecnologias integradas ao CAD/CAM na atualidade, tais

como: sistemas de banco de dados, sistemas PDM;

CAP. 1 � INTRODUÇÃO 2

• Ampliar as pesquisas de bibliografias mais atualizadas sobre os tópicos

tratados nesse estudo dirigido;

• Embasamento teórico e revisão bibliográfica para iniciar a elaboração

de uma proposta de exame de qualificação ao Doutorado.

11..22.. TTÓÓPPIICCOOSS AABBOORRDDAADDOOSS

O texto apresentado nesse estudo dirigido, baseou-se inicialmente nos

tópicos assinalados na elaboração. À medida que as pesquisas e a escrita foi se

desenvolvendo, houve uma reordenação dos tópicos, ou mesmo uma melhor

consistência da estrutura do texto.

A seguir, tem-se uma breve descrição dos assuntos discutidos em cada

capítulo desse estudo dirigido:

No Capítulo 2, tem-se a descrição dos modelos utilizados para

representação dos projetos de Engenharia, e uma discussão sobre as principais

técnicas de modelagem geométrica em sistemas CAD/CAM.

No Capítulo 3, tem-se uma discussão sobre os principais padrões de

arquivos e tecnologias utilizados para troca e o compartilhamento de dados.

No Capítulo 4, descreve-se os sistemas de gerenciamento de banco de

dados, sua estrutura e os principais tipos.

No Capítulo 5, discute-se os sistemas PDM, suas origens, classificação,

características, benefícios, e aplicações.

No Capítulo 6, tem-se uma abordagem do conjunto de técnicas utilizadas

e aplicadas para a troca e o compartilhamento de dados, a descrição de novas

tecnologias em sistemas CAD/CAM, e algumas considerações finais sobre a

pesquisa realizada.

E para finalizar o estudo dirigido, no APÊNDICE F tem-se uma discussão

sobre os conceitos básicos e princípios da programação orientada a objetos.

CCaappííttuulloo 22

MMooddeellaaggeemm ddee DDaaddooss GGeeoommééttrriiccooss eemm CCAADD//CCAAMM

22..11.. IINNTTRROODDUUÇÇÃÃOO

Os modelos de projeto utilizados na Engenharia resumem-se a dois tipos:

• Modelos do processo de projeto: descrevem a maneira e os padrões de

procedimentos seguidos pelo projetista durante o desenvolvimento do

projeto. Estes modelos são abstratos, ou seja, o projeto ainda não

existe fisicamente. Como exemplo, pode-se citar as várias metodologias

de projeto descritas na literatura científica.

• Modelos do produto: descrevem o projeto em si, de tal forma que o

projetista possa avaliá-lo, manipulá-lo, e otimizá-lo. O modelo do

projeto é uma representação física do projeto, que pode assumir formas

diferenciadas dependendo do enfoque ou contexto. Estes modelos

abrangem todas as representações utilizadas na modelagem do projeto.

De todas as propriedades (função, estrutura, forma, material, condições

superficiais, e dimensões) modeladas pelos modelos de produto, duas delas têm

CAP. 2 � MODELAGEM DE DADOS GEOMÉTRICOS EM CAD/CAM 4

particular importância na Engenharia: a forma dos componentes e peças, e a

estrutura de como as partes do projeto se agrupam.

Os modelos mais comumente usados para representar tais propriedades

são: os desenhos, que representam melhor a forma dos componentes ou peças

do projeto; e os diagramas, que melhor representam a estrutura do projeto.

Essas duas formas de representação são melhor descritas, e exemplificadas na

seção que segue.

22..22.. AA RREEPPRREESSEENNTTAAÇÇÃÃOO DDEE DDEESSEENNHHOOSS EE DDIIAAGGRRAAMMAASS

A representação de desenhos � no papel, ou no computador � é

formalmente conhecida como geometria descritiva. Ela é uma técnica que

representa o objeto através de desenhos técnicos, a partir da imagem do objeto

no espaço tridimensional para o espaço bidimensional.

Essa forma de descrição geométrica que remonta a antigüidade, foi

formalizada pelo engenheiro militar francês Gaspard Monge (1746-1818), e

atualmente ainda é empregada. Ela consiste em mapear para o espaço

bidimensional, todos os pontos do objeto tridimensional. Para tanto, diferentes

planos de projeção mutuamente ortogonais, são utilizados para mostrar vários

ângulos ou vistas do objeto, quando visualizados de um ponto situado no

infinito. Na Figura 1, conforme a norma americana, tem-se uma representação

de desenho num sistema de ângulo de projeção do terceiro quadrante. Aqui no

Brasil, a ABNT (Associação Brasileira de Normas Técnicas) recomenda o

sistema de ângulo de projeção no primeiro quadrante.

Através de um esquema formal da disposição dos diferentes planos de

projeção das principais vistas do objeto, pode-se identificar os seus vértices,

dos quais permitem obter as arestas, e estas permitem obter as faces que

envolvem o objeto, e assim reconstruí-lo.

Os desenhos de engenharia são formais e seguem padrões de escritórios

de normalização e padronização nacionais e internacionais. Tais normas

tratam basicamente sobre diferença de estilos de linhas (do contorno visível ou

invisível do objeto), vistas auxiliares para realçar detalhes, planos de corte,

CAP. 2 � MODELAGEM DE DADOS GEOMÉTRICOS EM CAD/CAM 5

tipos de projeção (isométrica, perspectiva ou cônica, cavaleira), relacionamento

entre o posicionamento das vistas no desenho (primeiro ou terceiro ângulo de

projeção), formas de cotagem e representação das dimensões e tolerâncias, etc..

Essas regras formais dos desenhos técnicos podem ser pesquisadas nas

normas específicas sobre o assunto, ou em diversas bibliografias, tais como

(JENSEN et al., 1989) e (BERTOLINE et al., 1997).

Figura 1. Vistas principais de um objeto (MCMAHON e BROWNE, 1998).

Na Engenharia, também são utilizados diagramas para representar a

lógica ou a estrutura física de sistemas, tais como: circuitos eletro-eletrônicos,

hidro-pneumáticos, sistemas de distribuição de água e esgoto, etc..

A representação é feita por convenções de símbolos, os quais podem ser

ligados por conexões, para evidenciar o relacionamento e componentes que

estão presentes, como mostra a Figura 2. Assim como nos desenhos, as regras

para padronização desses símbolos também são ditadas por escritórios de

normalização e padronização nacionais e internacionais.

É importante enfatizar o papel fundamental que os desenhos e diagramas

assumem no processo de projeto. De acordo com (ULLMAN et al., 1990), a

partir de experimentos realizados com uma equipe de engenheiros, ele

observou diferentes aplicações do desenho no processo de projeto:

CAP. 2 � MODELAGEM DE DADOS GEOMÉTRICOS EM CAD/CAM 6

• São usados para arquivar a forma do projeto;

• Para comunicar idéias entre projetistas, engenheiros, e todos os outros

envolvidos com o projeto;

• Servem como uma ferramenta de análise;

• Freqüentemente, dimensões e tolerâncias são calculadas sobre o

desenho, quando o mesmo está sendo desenvolvido.

• Servem para simular o projeto;

• Servem como um elemento para planejar tarefas;

• Atuam como uma extensão da memória do projetista. Servem como

meio de documentar e registrar idéias e detalhes que facilmente podem

ser esquecidos.

Figura 2. Simbologia usada em diagramas (MCMAHON e BROWNE, 1998).

Tem-se constatado também que, os desenhos e diagramas podem ser

utilizados para decompor o problema, e capturar diferentes visões dos estágios

do processo de projeto. O aspecto de facilitar a abordagem de problema é

conseguido através da técnica conhecida como �Divida e Conquiste� (Divide &

Conquer), a qual faz uma subdivisão do problema em partes menores. E através

de uma hierarquia de níveis de abstração; sendo que em cada nível tem-se um

refinamento do problema até alcançar o nível dos componentes básicos ou

elementares; faz-se a análise do problema. Esse aspecto de visualização do

problema, caracteriza a filosofia de projeto conhecida como Top-Down.

Este tipo de filosofia de projeto fica evidente devido uma característica

própria da representação diagramática. Num determinado nível de abstração,

Bomba decombustível

SensorLambda

Anemômetro

Sensor detemperatura

Sensor detemperatura

Unidade decontrole

Filtro decombustível

Injetor

Injetor

Injetor

Injetor

Regulador depressão docombustível

Par

a os

cili

ndro

s

Combustíveldo tanque

Exaustor deoxigênio

Entrada do fluxode massa

Temperaturado ar

Temperaturado bloco

CAP. 2 � MODELAGEM DE DADOS GEOMÉTRICOS EM CAD/CAM 7

ela permite que alguns símbolos representem estruturas mais complexas, as

quais só serão detalhadas a posteriori (Ver Figura 3).

Figura 3. Níveis de abstração em diagramas (MCMAHON e BROWNE, 1998).

22..33.. RREEPPRREESSEENNTTAAÇÇÃÃOO TTRRIIDDIIMMEENNSSIIOONNAALL

A representação de desenhos e diagramas utilizando o sistema de

projeções no plano exige habilidades de construção, leitura e interpretação dos

usuários. A difícil construção de certos objetos complexos impossibilita a

representação por desenhos, ou exige a construção de muitos desenhos de

detalhes. A má leitura ou a interpretação diferenciada do desenho conduz à

uma probabilidade maior de ocorrerem modelos conflitantes ou apresentarem

erros diversos. Essas limitações da representação imposta pelo sistema de

projeções no plano, conduziram à necessidade de criar novos modelos de

representação, baseados numa visualização tridimensional e mais realista dos

objetos.

Os métodos desenvolvidos para modelagem tridimensional englobam a

representação da geometria como uma coleção de linhas, curvas, superfícies,

ou sólidos no espaço tridimensional.

Os modelos tridimensionais, estão referenciados por dois sistemas de

coordenadas, que são convencionalmente orientados segundo a regra da mão

direita, dada pelo eixo x orientado no sentido do dedo polegar, eixo y orientado

CAP. 2 � MODELAGEM DE DADOS GEOMÉTRICOS EM CAD/CAM 8

no sentido do dedo indicador, e eixo z orientado no sentido do dedo mediano

normal à palma da mão. A Tabela 1 mostra as características, funcionalidades

e a aplicabilidade desses dois sistemas.

Tabela 1. Eixos de coordenadas para modelos tridimensionais.

SISTEMA DE COORDENADAS CARACTERÍSTICAS FUNÇÃO E APLICAÇÃO

Global ou principal Fixo e �absoluto� Armazenar os dados geométricos das entidades

Local ou de trabalho Móvel e relativo Facilitar a construção dos elementos ou entidades

geométricas dispostos no espaço tridimensional

2.3.1. REPRESENTAÇÃO WIREFRAME Na representação estrutura de arame ou wireframe, os modelos

geométricos são definidos por uma série de linhas e curvas que representam as

arestas ou contornos físicos do objeto.

Conforme colocado por (ZEID, 1991) e (MCMAHON e BROWNE, 1998), a

representação wireframe é uma extensão da representação por projeções no

plano, adicionando-se para isso uma nova coordenada. Para trabalhar com

esses modelos, deve-se considerar a profundidade e plano de trabalho ao

desenho. Na construção dos modelos wireframe, o plano de trabalho

(geralmente o plano xy) indica o plano onde se está posicionando as entidades;

e a profundidade (geralmente o valor da coordenada z) indica o valor da

coordenada em que a entidade está.

Cada sistema CAD (Computer-Aided Design) possui os seus próprios

métodos e recursos de interface do usuário para definição da orientação de

planos de trabalho e dos sistemas de coordenadas de locais, de forma a

facilitar a construção das entidades no modelo. Geralmente, eles se baseiam

em entidades previamente desenhadas (pontos, retas, centros e vértices de

entidades planas, combinação dessas entidades, etc.) para posicionar o plano

de trabalho e orientar o sistema de coordenadas local.

(ZEID, 1991) e (MCMAHON e BROWNE, 1998), exemplificam alguns

métodos e representações utilizadas por modelos wireframe para definir os

sistemas de coordenadas locais e planos de trabalho, e também algumas

entidades geométricas básicas ou primitivas normalmente utilizadas.

Sobre as vantagens da representação wireframe, pode-se ressaltar:

CAP. 2 � MODELAGEM DE DADOS GEOMÉTRICOS EM CAD/CAM 9

• A simplicidade de construção. É uma representação que requer

poucos recursos computacionais de processamento e tempo de

execução quando comparado com outras técnicas de modelagem

tridimensional (superfície, sólidos). Por ser considerada uma extensão

natural das técnicas convencionais de representação por projeção de

vistas do objeto, pode-se dizer que esta representação serve como uma

migração e iniciação mais natural para as técnicas de modelagem

tridimensional, consideradas mais complexas.

• Associatividade dos pontos do objeto. A estrutura de dados permite

alguma associatividade e conectividade espacial da malha de pontos

que compõe o objeto, e a geração automática das vistas principais

através de operações de projeção numa transformação tridimensional.

• Modelos básicos. Eles servem de base para modelos mais

representativos, tais como os modelos de superfície, que às vezes

requerem entidades primitivas wireframe para gerar as superfícies.

• Facilitam a manipulação dinâmica de entidades. Eles são úteis para

manipulação dinâmica � por exemplo, a animação dos movimentos de

mecanismos � devido à sua estrutura de dados simplificada, que

também favorece a realização rápida de operações de manipulação,

edição, inserção, modificação, e deleção de elementos do modelo.

• Captação de idéias. Eles servem para capturar os rascunhos ou

esboços das primeiras idéias nos estágios iniciais do processo de

projeto.

Assim como qualquer proposta que se faça, os modelos de representação

wireframe, também possuem suas desvantagens. A principal delas reside na

interpretação visual dos objetos representados.

Nas figuras que seguem, são mostrados alguns exemplos sobre essas

desvantagens.

• São modelos ambíguos, ou mesmo sem um significado lógico (Ver

Figura 4);

• Desenhos complexos ou cheios de detalhes, como a visualização da

trajetória de ferramentas, ou de paisagens mostrando um conjunto de

CAP. 2 � MODELAGEM DE DADOS GEOMÉTRICOS EM CAD/CAM 10

edifícios, ficam demasiadamente cheios de linhas. Isso torna a

interpretação muito confusa, conforme pode ser visto na Figura 5.

• O perfil ou a silhueta dos objetos podem ficar, normalmente, sem uma

representação adequada ou realmente verdadeira, priorizando apenas

efeitos de aparência, conforme é evidenciado na Figura 6.

• A geração de estruturas de dados que permitam a reconstrução do

objeto representado, normalmente ficam muito grandes.

Figura 4. Interpretações de um modelo wireframe (SHAH e MÄNTYLÄ, 1995).

Figura 5. Visualização confusa (MCMAHON e BROWNE, 1998).

Figura 6. Linhas do contorno e da parede do furo (ZEID, 1991).

CAP. 2 � MODELAGEM DE DADOS GEOMÉTRICOS EM CAD/CAM 11

2.3.2. REPRESENTAÇÃO DE SUPERFÍCIE A representação e modelagem de curvas exercem um papel importante na

representação das entidades primitivas utilizadas em modelos wireframe e

modelos de superfície. Portanto, antes de entrar nos detalhes da representação

de superfícies, será abordado alguns conceitos e técnicas sobre modelagem de

curvas.

REPRESENTAÇÃO DE CURVAS Matematicamente, as curvas podem ter duas formas de representação: a

forma analítica, e a forma paramétrica.

A forma analítica de uma curva pode ser explícita (y = f(x)), ou implícita

(f(x, y) = 0), conforme exemplificado na Tabela 2:

Tabela 2. Exemplo de representação explícita e implícita de curvas.

CURVA EXPLÍCITA IMPLÍCITA Reta y = a.x + b a.x + b.y + c = 0

Circunferência (x � a)2 + (y � b)2 = r 2

Elipse x2/a2 + y2/b2 = 1

Parábola y = a.x2 + b

Hipérbole x2/a2 � y2/b2 = 1, ou x.y = k

Cônica a.x2 + b.y2 + 2f .xy + 2g.x + 2h.y + c = 0

Já na representação paramétrica, cada coordenada de ponto da curva

depende de uma variável adicional ou parâmetro u, e estão desacopladas ou

linearmente independentes.

Desta forma, a posição de um ponto qualquer no espaço tridimensional é

dada pela expressão p = p(u), e significa que as coordenadas cartesianas são

dadas por:

x = x(u), y = y(u), z = z(u) ; (2.1)

ou também numa forma matricial:

p(x, y, z) = p(x(u), y(u), z(u)) = p(u) = ���

���

(u)(u)(u)

zyx

, onde umin ≤ u ≤ umáx ; (2.2)

CAP. 2 � MODELAGEM DE DADOS GEOMÉTRICOS EM CAD/CAM 12

Os valores de cada coordenada x, y, e z são dados como função de um

parâmetro u, o qual pode variar num certo intervalo. Se o intervalo for

normalizado, o parâmetro pode variar de 0 a 1.

Embora a representação analítica de curvas possa ser utilizada em certos

casos, ela apresenta uma série de inconvenientes que a torna inadequada ou

limitada para utilização em sistemas gráficos.

Essas limitações são comentadas a seguir:

• A equação da curva, quando modelada por expressão analítica, é

dependente do sistemas de coordenadas escolhido como referência. A

influência do sistema de referência na forma analítica é expressa pela

necessidade de adicionar valores na equação original da curva.

A forma dos objetos é intrinsecamente independente do sistema de

coordenadas. O que determina a forma de um objeto é a relação entre os seus

pontos de dados, e não entre os pontos e o sistema de referência. Por exemplo,

uma circunferência é caracterizada pelos seus pontos eqüidistantes do centro.

• As expressões analíticas representam intervalos infinitos de valores

para as suas variáveis.

Isso dificulta a representação de retas, segmentos de elipse, ou arcos de

circunferência, os quais têm seus valores restritos num certo intervalo. Além

disso, a visualização gráfica das curvas fica impossibilitada dentro de um

domínio discreto de visualização, como a tela do computador. Por isso a

necessidade de limitar as equações analíticas através de restrições.

Outra dificuldade, de cunho computacional ou de programação, ocorre

quando se tem retas horizontais (de inclinação zero, ou muito próximo de zero),

e retas verticais (inclinação de 90º, ou quase vertical). A dificuldade é devido ao

fato de uma das coordenadas alcançar um valor �infinito� ou muito grande,

podendo extrapolar a capacidade de representação numérica do computador.

Além dessa, podem existir outras condições matemáticas mal definidas pela

representação analítica de curvas.

• Algumas curvas são fechadas e/ou multi-valoradas.

Para um determinado valor de uma variável, existem mais de um valor

possível para a outra variável. É o caso, por exemplo, das cônicas (parábola,

hipérbole, elipse, etc.).

CAP. 2 � MODELAGEM DE DADOS GEOMÉTRICOS EM CAD/CAM 13

• A forma analítica implícita é inconveniente para se obter pontos sobre a

curva.

Pode acontecer de um valor x qualquer escolhido, não esteja sobre a

curva, e portanto não se obtém uma solução para y.

• A forma analítica torna complicado a realização de transformações

geométricas (translação, rotação, escalonamento, reflexão, cisalhamento)

sobre a curva.

A dificuldade deve-se à necessidade de processar todos os pontos

pertencentes a curva durante a realização das transformações. Isso torna

muito custoso e demorado qualquer algoritmo computacional implementado

para realizar esta operação.

Neste ponto, cabe fazer duas observações importantes acerca do que foi

exposto no texto acima:

• As dificuldades de representação de curvas na forma analítica, que são

basicamente de cunho numérico e de visualização, podem ser

contornadas. Ou seja, elas não inviabilizam por completo a

representação. Apenas dificultam os cálculos e a exibição na tela,

exigindo um pouco mais de esforço para implementar apropriadamente

a operação desejada no sistema gráfico do sistema CAD.

• As limitações impostas pela representação de curvas na forma analítica

ficam mais evidentes, claras e compreendidas, à medida que você

adquire conhecimento sobre as técnicas de representação de curvas. O

conhecimento aliado à experiência permite fazer comparações,

inferências e conclusões acerca de vantagens e desvantagens do uso de

uma ou outra técnica de modelagem. Portanto, alguns tópicos que por

ventura tenham ficado mal entendidos, ou sem uma real visualização

das limitações, aos poucos serão resolvidos com a aquisição de mais

conhecimento e experiência de implementação.

É comum a necessidade de modelar curvas suaves, tais como a seção

transversal da asa de um avião, de um aerofólio de carro, um perfil da

carroceria de um carro esportivo, ou mesmo curvas geradas na interseção

CAP. 2 � MODELAGEM DE DADOS GEOMÉTRICOS EM CAD/CAM 14

entre sólidos e/ou superfícies, normalmente são difíceis de serem tratadas com

entidades geométricas convencionais.

Portanto, urge definir uma representação que contorne as limitações da

forma analítica, e também permita a modelagem de formas suaves. Para tanto,

a solução adotada na modelagem de curvas em sistemas gráficos e programas

CAD é descrever as entidades geométricas usando uma forma de representação

paramétrica, com interpolação e ajuste de pontos em entidades compostas por

vários segmentos discretos. A forma paramétrica também traz o benefício de

permitir um tratamento vetorial das equações de curvas mais usuais,

possibilitando uma base e notação consistentes para a modelagem unificada de

curvas bidimensionais e tridimensionais, além de uma representação concisa e

de fácil manipulação pelos algoritmos computacionais.

As formas mas comuns de modelagem paramétrica de curvas sintéticas ou

de forma-livre (free-form curves) são obtidas por técnicas de interpolação ou

aproximação dos seus pontos de dados. As pesquisas em representação e

modelagem de curvas originaram diversas técnicas para geração de curvas de

formas livre: curvas cúbicas de Hermite, curvas de Bézier e B-spline. Tais

técnicas foram sendo aprimoradas, e evoluíram até chegarem às curvas

conhecidas como NURBS (Non-Uniform Rational B-Spline), e cuja teoria pode

ser estendida e generalizada também para representação de superfícies, além

de unificar a representação das curvas de forma livre e as curvas analíticas

(círculos, arcos, cilindros, cones, planos, etc.) numa mesma base de coordenadas

homogêneas.

Para mais detalhes e aprofundamentos na modelagem de curvas,

recomenda-se consulta na extensa bibliografia que trata sobre o assunto, tais

como: (FARIN, 1997) e (ROGERS e ADAMS, 1990).

Os modelos de superfície são uma representação muito mais completa e

menos ambígua que os modelos wireframe. A informação geométrica entre as

entidades é muito mais relacionada e rica, tornando-os mais adequados para

aplicações de projeto e fabricação. Os modelos de superfície conduzem à

modelagem de objetos um passo adiante da modelagem wireframe, pois eles

fornecem a conectividade entre as arestas.

CAP. 2 � MODELAGEM DE DADOS GEOMÉTRICOS EM CAD/CAM 15

Conforme já observado na seção anterior, geralmente os modelos de

superfície são obtidos com base em entidades primitivas representadas por

modelos wireframe. Isto é, os modelos de superfície são uma extensão dos

modelos wireframe. A estrutura de dados de um modelo de superfície é

centralizada e associada. Isto significa que quaisquer alterações numa vista,

reflete diretamente nas demais.

Os modelos de superfície possibilitam uma visualização menos ambígua. A

conectividade entre as arestas do objeto, permite a implementação de

algoritmos para escondimento de linhas, e sombreamento. Eles também podem

ser utilizados para cálculo de propriedades físicas do objeto (massa, volume,

modelagem de análise por elementos finitos, geração de trajetórias de

ferramentas, seccionamento em camadas, detecção de interferências, etc.).

Os modelos de superfície podem ser agrupados em três tipos:

• Superfícies geradas a partir de matrizes de pontos de controle, onde a

superfície é obtida por técnicas de interpolação/aproximação (Ver

Figura 7).

Figura 7. Superfície a partir de pontos (MCMAHON e BROWNE, 1998).

• Superfícies geradas a partir de outras curvas, semelhante a uma capa

que reveste uma estrutura de arame (wireframe) (Ver Figura 8).

• Superfícies geradas a partir de interpolações entre duas ou mais outras

superfícies, tais como arredondamentos de canto e chanfros (Ver

Figura 9)).

CAP. 2 � MODELAGEM DE DADOS GEOMÉTRICOS EM CAD/CAM 16

Figura 8. Superfície a partir de outras curvas (MCMAHON e BROWNE, 1998).

Figura 9. Superfície a partir de outras superfícies (MCMAHON e BROWNE, 1998).

Os modelos de superfície exigem um pouco mais de conhecimento por

parte do usuário, e as operações realizadas também requerem mais recursos

computacionais e tempo de processamento comparados aos modelos

wireframe.

Assim como os modelos wireframe, os modelos de superfície também são

às vezes ambíguos ou podem levar a uma interpretação errônea do objeto

representado. Eles também sofrem de certas dificuldades para representar

CAP. 2 � MODELAGEM DE DADOS GEOMÉTRICOS EM CAD/CAM 17

superfícies complexas, tais como as geradas por interseção entre outras

superfícies � um exemplo clássico, são as superfícies de um arredondamento

de canto ou quina de um objeto, ou ajustes de superfícies de raios diferentes.

Tem-se também as superfícies limitadas ou recortadas por curvas; estas

superfícies são conhecidas como three/four/five-sided patches (Ver Figura 10).

Figura 10. Superfícies three/four/five-sided (MCMAHON e BROWNE, 1998).

A representação de superfícies complexas não é uma tarefa trivial.

Existem diversos sistemas CAD comerciais, especialmente desenvolvidos para

modelagem de superfícies.

Abaixo, listam-se alguns desses programas:

• ICEM Technologies Inc., subsidiária da Parametric Technology Corp.,

fornece ICEM Surf, um modelador de superfície largamente usado na

indústria automotiva.

• MultiSurf captura o relacionamento entre elementos geométricos para

facilitar a atualizações e alterações. A empresa também desenvolve o

SurfaceWorks.

• A Alias|Wavefront oferece o SurfaceStudio, seu novo programa para

superfícies. O pacote permite uma integração sem perdas de

informação com modeladores sólidos populares.

• A Imageware, agora administrada pela SDRC, fornece o Surfacer e o

Surface Wizard para criação e edição de curvas complexas, nuvens ou

malhas de pontos de controle, e aplicações de engenharia reversa.

CAP. 2 � MODELAGEM DE DADOS GEOMÉTRICOS EM CAD/CAM 18

2.3.3. REPRESENTAÇÃO DE SÓLIDO Dentre as representações estudadas até aqui, os modelos sólidos são os

que possuem a representação mais completa dos objetos. Na representação dos

objetos, eles consideram a geometria e a topologia; diferentemente dos modelos

wireframe e de superfície que consideram somente a geometria. Pelo fato de

possuírem uma representação mais completa e não ambígua, os modelos

sólidos podem ser gerados de maneira mais automatizada. Isso liberta o

usuário de ter que verificar visualmente e interativamente a validade do objeto.

A formalização matemática da teoria de modelagem sólida já está bem

estabelecida por diversos autores. (ZEID, 1991) destaca a contribuição de

Requicha e Voelcker para este fato. Ele adverte que o sucesso da representação

de um modelo sólido em computadores e a sua utilização na engenharia

depende das propriedades matemáticas do modelo e dos esquemas utilizados

para representá-los. Abaixo, são listadas essas propriedades.

As propriedades matemáticas importantes de um modelo sólido são:

• Rigidez: Isto implica que a forma de um modelo sólido é invariante, e

não depende da localização ou orientação do modelo no espaço.

• Homogeneidade tridimensional: as superfícies do sólido devem estar

em contato com o seu interior. Não é permitida a existência de arestas

ou faces isoladas.

• Tamanho finito (Finitude) e descrição/representação finita: o sólido

deve possuir um tamanho finito, o que caracteriza a propriedade de

finitude. A descrição finita refere-se ao fato do sólido poder ser

representado no espaço de armazenamento limitado dos computadores.

• Integridade: esta propriedade garante que a manipulação de sólidos

através de movimentos rígidos no espaço, ou alterações por meio de

operações booleanas regularizadas, resultam em outros sólidos válidos.

• Determinismo do contorno: o contorno de um sólido deve contê-lo, e

deve determinar distintamente o interior do sólido.

O esquema de representação é definido como a relação que mapeia um

conjunto de pontos válidos num modelo também válido.

CAP. 2 � MODELAGEM DE DADOS GEOMÉTRICOS EM CAD/CAM 19

A utilidade de um esquema de representação é função das suas

propriedades, as quais são listadas a seguir:

• Domínio ou cobertura geométrica: o domínio de um esquema de

representação refere-se à diversidade de objetos que ele pode

representar.

• Validade: a validade de um esquema de representação é determinada

pelo seu conjunto válido de representações que ele pode produzir. Se

um esquema produz um modelo inválido, o sistema CAD/CAM

(Computer-Aided Manufacturing) pode abortar ou o banco de dados

pode ser corrompido por um algoritmo que o manipule. Os testes de

validade podem ser de três formas: teste do banco de dados resultante,

teste de verificação dentro do próprio esquema de geração do sólido, ou

por definição de padrões esquemáticos de elementos básicos

(primitivas), que podem ser manipulados através de uma sintaxe.

• Completitude ou não ambigüidade: a completitude ou não

ambigüidade de um esquema determina que para toda representação

válida, existe apenas um sólido; ou seja, o esquema não deve ser dúbio.

• Unicidade: propriedade do sólido possuir somente uma representação

possível.

ESQUEMAS DE MODELAGEM DE SÓLIDOS Embora muitos esquemas de representação tenham sido propostos,

poucos realmente se popularizaram e foram aplicados nos sistemas CAD.

Pela classificação segundo (MÄNTYLÄ, 1988), os esquemas ou modelos de

representação dos sólidos podem ser agrupados em três tipos:

• Modelos de decomposição: representam um conjunto de pontos como

uma coleção de objetos simples, baseados numa coleção fixa de tipos

distintos de objetos, combinados através de uma simples operação de

colagem. A instanciação de primitivas pode ser considerada um caso

especial deste modelo.

• Modelos construtivos: representam um conjunto de pontos formados

a partir de uma combinação de conjunto de pontos primitivos. Cada

uma das primitivas é representada como uma instância de um tipo

CAP. 2 � MODELAGEM DE DADOS GEOMÉTRICOS EM CAD/CAM 20

sólido primitivo. Os modelos construtivos incluem operações de

construção mais gerais, além da operação de colagem. A teoria desses

modelos é baseada na formulação de solidez de conjunto de pontos,

que está descrita em (MÄNTYLÄ, 1988).

• Modelos de contorno: representam um conjunto de pontos em termos

de seu contorno. O contorno de um conjunto de pontos sólidos

tridimensionais é uma superfície bidimensional que é normalmente

representada como uma coleção de faces. As faces, por sua vez, são

representadas em termos de suas arestas ou limites através de uma

curva unidimensional. Portanto, os modelos de contorno podem ser

visualizados como um modelo hierárquico. Os modelos de superfície

são baseados na formulação de superfície orientada, também descrita

em (MÄNTYLÄ, 1988).

Dentre os modelos mais utilizados nos sistemas CAD, pode-se citar os

modelos CSG (Constructive Solid Geometric), um exemplo de modelo

construtivo; os modelos B-Rep (Boundary Representation), um exemplo de

modelo de contorno; ou uma combinação desses formando modelos híbridos.

Estes modelos estão brevemente comentados no texto que segue.

MODELOS CSG O modelo CSG é baseado na idéia de que os objetos físicos são

constituídos por um conjunto de primitivas (que são elementos ou formas

geométricas básicas), as quais são combinadas para formar os objetos através

de operações booleanas (união, interseção, diferença) e transformações

geométricas (rotação, translação, escalamento).

A Figura 11 exemplifica alguns tipos de primitivas mais comumente

encontradas em sistemas CAD, e as operações booleanas definidas, utilizando

um bloco e um cilindro.

Os modelos CSG são normalmente representados por estruturas de dados

em árvore binária. Nesta estrutura, as primitivas correspondem às folhas e os

nodos interiores correspondem às operações booleanas ou transformações

geométricas (Ver Figura 12).

CAP. 2 � MODELAGEM DE DADOS GEOMÉTRICOS EM CAD/CAM 21

Os modelos CSG têm a vantagem de serem compactos e não ambíguos, e

sempre geram sólidos válidos. Eles também permitem um nível de interface

superior e de conceitos menos abstratos que os modelos de semi-espaços não

limitados (SHAH e MÄNTYLÄ, 1995).

Figura 11. Primitivas e operações booleanas (MCMAHON e BROWNE, 1998).

Figura 12. Estrutura de dados em árvore CSG (Baseado em MÄNTYLÄ, 1988).

Como desvantagem, eles apresentam um domínio limitado pela

diversidade da biblioteca de primitivas. Uma questão importante de ser

ressaltada é o fato da estrutura de dados não armazenar arestas e superfícies

CUBO CILINDRO

CUNHA TORUS

diferença

cilindrounião

bloco2bloco1

CAP. 2 � MODELAGEM DE DADOS GEOMÉTRICOS EM CAD/CAM 22

resultantes das operações entre primitivas. Estas operações precisam ser

calculadas em tempo de execução, tornando mais lento os algoritmos de

exibição. Tais modelos não são únicos, ou seja, na representação de alguns

sólidos, pode existir mais de uma árvore CSG possível e correta.

MODELOS B-REP Os modelos B-Rep representam um objeto sólido dividindo-o em faces

convenientemente relacionadas, compostas por superfícies fechadas e

orientadas, e que possuam uma representação matemática computacional

compacta (normalmente são superfícies planas, quadráticas, toroidais, ou

paramétricas). Em seguida à fragmentação do objeto em faces, estas são

quebradas em curvas que representam as arestas de cada face constituinte do

objeto. As arestas, por sua vez são quebradas em vértices.

A estrutura de dados dos modelos de superfície segue uma organização

hierárquica, formada por faces, arestas, ciclos, e vértices; de acordo com a

Figura 13. Esta estrutura de dados considera a geometria, como também a

topologia dos dados do objeto.

Figura 13. Estrutura de dados para modelos B-Rep.

As operações de criação, manipulação e edição de faces, arestas e vértices

é realizada através de operadores de Euler. Esses operadores realizam

operações booleanas em primitivas CSG, o que se constitui numa maneira de

v6

v3

v4

v2

e9

v5

v8

v7

v1

e10

e7

e2

e6

e8

e5

e12

e11

e4

e1

e3

f6

Vértices Facesv1 x1 y1 z1 f1 v1 v2 v3 v4

v2 x2 y2 z2 f2 v6 v2 v1 v5

v3 x3 y3 z3 f3 v7 v3 v2 v6

v4 x4 y4 z4 f4 v8 v4 v3 v7

v5 x5 y5 z5 f5 v5 v1 v4 v8

v6 x6 y6 z6 f6 v8 v7 v6 v5

v7 x7 y7 z7f3

f2

CAP. 2 � MODELAGEM DE DADOS GEOMÉTRICOS EM CAD/CAM 23

checar a validade de modelos B-Rep. Mais detalhes sobre os operadores de

Euler podem ser obtidos em (MÄNTYLÄ, 1988) e (ZEID, 1991).

Uma estrutura de dados bastante conhecida para representação de

sólidos B-Rep é a asa de aresta (winged-edge data structure). O nome deve-se

ao fato do esquema dessa estrutura assemelhar-se ao de um par de asas,

conforme mostra a Figura 14.

Figura 14. Esquema da estrutura de dados asa de aresta.

A estrutura asa de aresta se baseia no fato de que toda aresta do objeto

tem exatamente duas arestas adjacentes-anteriores e duas arestas adjacentes-

posteriores, que correspondem as suas asas. Além disso, devido à consistente

orientação das faces, uma aresta é percorrida exatamente uma só vez em cada

orientação positiva e negativa da face. Com base nesta informação adicional de

vizinhança, cada face precisa armazenar apenas uma das suas arestas, pois o

resto do ciclo pode ser traçado seguindo o ciclo da asa. Isso torna mais

compacta a estrutura de dados de modelos B-Rep.

Ao contrário dos modelos CSG, os modelos B-Rep armazenam informação

sobre faces e arestas dentro da estrutura de dados, isso torna a estrutura

muito mais adequada na recuperação de dados para outras aplicações, tais

como a visualização do modelo ou o cálculo de área superficial. Uma

desvantagem do modelo é a maior quantidade de dados quando comparado a

outras técnicas de modelagem de sólidos (MCMAHON e BROWNE, 1998).

vértice finalvértice inicial

próxima face(sentido horário)

próximovértice

(sentidohorário)

vérticeanterior(sentidohorário)

aresta

próximovértice

(sentido anti-horário)

vérticeanterior

(sentido anti-horário)

próxima face(sentido anti-horário)

CCaappííttuulloo 33

PPaaddrrõõeess ddee TTrrooccaa ddee DDaaddooss eemm CCAADD//CCAAMM

33..11.. IINNTTRROODDUUÇÇÃÃOO

Cada vez mais, os bancos de dados computacionais estão substituindo as

folhas de desenho impressas como meio de armazenar dados geométricos ou

não geométricos, em todas as fases do projeto do produto e da fabricação.

Disso, surge a necessidade de trocar e/ou compartilhar eficientemente dados

ou informações entre diferentes sistemas.

Entretanto, ainda hoje, permanecem algumas incompatibilidades entre

definições de entidades geométricas ou estruturas de dados utilizadas pelos

diversos sistemas CAD/CAM. Os principais fatores que contribuem para essas

incompatibilidades, são citados por (DIAS, 1998):

• A complexidade da arquitetura computacional dos sistemas CAD/CAM;

• As várias necessidades de utilização e aplicação pelas indústrias;

• As restrições de acesso a bancos de dados particulares;

• O ritmo acelerado das mudanças tecnológicas.

CAP. 3 � PADRÕES DE TROCA DE DADOS EM CAD/CAM 25

A troca de dados entre diferentes usuários de uma mesma informação

torna-se fácil e direta quando todos utilizam os mesmos programas aplicativos

e rodam as mesmas versões. Todavia, há de convir que esta é uma situação

muito restritiva para os usuários de sistemas CAD/CAM, ou de outros

sistemas CAX�s (Computer-Aided �X�), que necessitam trocar ou compartilhar

dados e informações armazenados em formatos de arquivos ou base de dados

computacionais.

Uma troca de dados ideal deve abranger a descrição completa do produto

em seu banco de dados. Os principais tipos de dados ou informações que

formam essa descrição são: dados geométricos (forma), dados não geométricos

em geral, dados de projeto, dados de fabricação, e dados adicionais das

atividades subseqüentes do ciclo de vida do produto (Ver Tabela 3).

Tabela 3. Tipos de dados trocados ou compartilhados.

TIPO DE DADO OU

INFORMAÇÃO EXEMPLOS

Geométrico (forma)

Valores das coordenadas de um ponto (geometria); Número de furos e

disposição (topologia)

Não geométrico

Informações sobre a imagem (sombreamento, unidades de medida, resolução,

etc.) Atributos ou parâmetros considerados como parte da informação

geométrica (fonte, cor, nível ou camada, anotações de texto, etc.)

Features Furo, flange, seção transversal de perfis (alma), cavidade, protusão, chanfro,

arredondamento, etc.

Dados de projeto

A informação passada pelo projetista para propósitos de análise (material,

propriedades de massa, volume, malhas de elementos finitos, etc.)

Dados de fabricação

Tipos e trajetórias de ferramentas, tolerâncias, planejamento do processo,

lista de materiais, etc.

Existem arquiteturas computacionais distintas para realizar a troca e o

compartilhamento de dados e informações. A tradução de dados significa que

dados de entrada ou saída locais de uma aplicação específica, são

interpretados direta ou explicitamente para um outro formato de dados

específico; ou ainda para um formato de arquivo neutro. Por sua vez, o

compartilhamento de dados significa que todas as aplicações podem acessar

um banco de dados neutro através de algum tipo de interface de acesso de

CAP. 3 � PADRÕES DE TROCA DE DADOS EM CAD/CAM 26

dados, e deste então gerar os dados locais específicos para a aplicação

desejada. A Figura 15 ilustra os dois tipos de arquiteturas computacionais

descritos acima.

Figura 15. Arquiteturas computacionais de troca e compartilhamento de dados (Baseado em LIANG et al., 1999).

Na seção seguinte, faz-se um histórico das soluções usadas para efetivar a

troca de dados e informações entre sistemas de CAD/CAM.

33..22.. EEVVOOLLUUÇÇÃÃOO DDAA TTRROOCCAA DDEE DDAADDOOSS EEMM CCAADD//CCAAMM

Inicialmente, as alternativas de solução eram baseadas em programas

tradutores que realizavam uma tradução de arquivos através de algoritmos

específicos para cada formato. Estes programas convertiam os dados

geométricos de um aplicativo específico para um formato de arquivo aceitável

pelo outro aplicativo. O inconveniente dessa solução é que cada aplicativo

existente precisa de (N�1) algoritmos tradutores � onde N é o número de

programas aplicativos existentes � para converter os dados em formatos de

arquivos de outros aplicativos.

Banco de Dadoscomum

compartilhado

Dados doproduto

Dados doproduto

AplicaçãoA

Interface paraAcesso de Dados

AplicaçãoB

Interface paraAcesso de Dados

Arquitetura de compartilhamento de dados

Dados emformatoneutro

AplicaçãoA

Pós-processador

Dados doproduto

Dados doproduto

AplicaçãoB

Pré-processador

Arquitetura de tradução de dados

CAP. 3 � PADRÕES DE TROCA DE DADOS EM CAD/CAM 27

Dessa dificuldade, surgiram os formatos de arquivos neutros ou formatos

de dados em arquivo, tais como IGES (Initial Graphics Exchange Specification),

como forma de reduzir o número de algoritmos tradutores. A aplicação de

formatos de arquivos neutros, limita para dois o número de algoritmos

tradutores necessários na troca de dados � um que escreve/salva no formato

genérico, e outro que lê nesse formato. Nesta solução, a tradução é realizada

primeiro para um formato de arquivo genérico, e depois para o formato de

arquivo do aplicativo final. Inicialmente, as traduções ficaram concentradas

somente entre sistemas CAD. Em seguida, foi necessário também atender as

traduções entre sistemas CAD e CAM, estendo as capacidades do formato de

arquivo neutro.

Uma comparação entre essas duas formas de troca de dados � tradução

direta, e tradução por arquivo neutro � mostra que a tradução direta tende a

ser mais fácil de implementar, todavia é mais custosa para manter. Por

exemplo, uma nova versão de um programa CAD, exige que todos os tradutores

relacionados com ele tenham que ser atualizados também. Já os arquivos

neutros, exigem muito mais tempo para desenvolver, e correm o risco de serem

ambíguos ou não considerar certas características de alguns programas

existentes.

Mesmo assim, o arquivo neutro é o método mais adequado, e que conduz

a uma possível padronização muito mais facilmente. A Tabela 4 resume as

principais questões relacionadas com a aplicação dos dois tipos de solução.

Tabela 4. Tradução direta versus arquivo neutro na troca de dados.

CRITÉRIO DE COMPARAÇÃO TRADUÇÃO DIRETA ARQUIVO NEUTRO Direito de uso do formato Arquivo privado Domínio público

Número de tradutores ���

����

�⋅

22

N = N⋅⋅⋅⋅(N�1) 2⋅⋅⋅⋅N

Número de traduções Apenas uma tradução Duas traduções

Atualização do sistema Todos os tradutores relacionados

devem ser atualizados

Um tradutor de leitura e um

de escrita deve ser

implementado

Custo Mais custosa de manter

OBS.: onde )!2(!2

!2 −⋅

=���

����

NNN

CAP. 3 � PADRÕES DE TROCA DE DADOS EM CAD/CAM 28

A Figura 16 esquematiza como se processa a troca de dados entre

diferentes sistemas CAD/CAM, utilizando as formas de tradução comentadas.

Figura 16. Formas de tradução de arquivos.

Com os avanços da tecnologia de CAD e sua ampla aplicação no meio

industrial, alguns programas comerciais de CAD se tornaram bastante

utilizados. A grande utilização de arquivos oriundos de tais programas, fez com

que surgissem os chamados �padrões de facto�. Um �padrão de facto� é um

formato de arquivo de dados geométricos que se popularizou, e atingiu um

número tão considerável de usuários, que o fez tornar-se um padrão não

oficial, mas de fato. O exemplo mais clássico disso, é o formato de arquivo DXF

(Drawing Interchange File) criado pela Autodesk. Diversos desenvolvedores de

programas CAD/CAM/CAE (Computer-Aided Engineering), além de gerarem

arquivos num formato próprio, adicionaram também saídas em formato DXF,

como forma até de aceitação dos seus produtos pelo mercado.

Outra solução, que teve origens no meio comercial e acabou sendo

utilizada como forma de trocar dados geométricos entre sistemas CAD, foram

os chamados núcleos (kernels) de modelagem geométrica de sólidos. Diversos

programas de CAD adotam e embutem essas bibliotecas de funções de

modelagem sólida na sua arquitetura computacional, para geração de sólidos a

partir de operações típicas de modelagem sólida. A grande adoção de certas

bibliotecas, por parte dos desenvolvedores de programas CAD, fez com que elas

A

E

B

D

C A

E

B

D

C

ArquivoNeutro

Tradução direta Formato de arquivo neutro

Troca de dados entresistemas CAD/CAM

CAP. 3 � PADRÕES DE TROCA DE DADOS EM CAD/CAM 29

tornassem um meio de trocar dados entre diferentes sistemas CAD. Alguns

exemplos dessa tecnologia serão brevemente descritos neste capítulo.

As soluções comerciais, embora adotadas pelo mercado, não podem ser

consideradas como oficiais e aceitas de consenso pela comunidade mundial.

Essa comunidade é formada por centros de pesquisa, escritórios de

normalização e padronização nacionais e internacionais, indústrias de

tecnologia (aeronáutica, automobilística), grandes desenvolvedores de

programas, órgãos militares, e outros que influenciam. Os interesses desses

grupos são diversos e a luta de poder também faz parte das decisões. O passo

seguinte então, foi empenhar-se em desenvolver padrões de formatos de

arquivos para troca de dados geométricos e não geométricos entre sistemas de

CAD. Exemplos desse tipo serão mencionados também neste capítulo.

33..33.. TTIIPPOOSS DDEE PPAADDRRÕÕEESS PPAARRAA TTRROOCCAA DDEE DDAADDOOSS

3.3.1. IGES (INITIAL GRAPHICS EXCHANGE SPECIFICATION) O IGES é uma proposta de especificação e sintaxe de formato de arquivo

neutro. O modelo do arquivo IGES é baseado na definição de entidade, a qual é

a fonte de informação básica. As entidades suportadas pelo IGES são de três

tipos: entidades geométricas, entidades de anotação, e entidades de estrutura.

Elas são resumidas na Tabela 5.

Tabela 5. Entidades suportadas pelo IGES (MCMAHON e BROWNE, 1998).

NÚMERO ID NOME ENTIDADES GEOMÉTRICAS

100 Arco circular 102 Curva composta 104 Arco cônico 106 Dado para cópia 108 Plano 110 Linha 112 Curva spline paramétrica 114 Superfície spline paramétrica 116 Ponto 118 Superfície "ruled" 120 Superfície de revolução 122 Cilindro tabulado 124 Matriz de transformação

CAP. 3 � PADRÕES DE TROCA DE DADOS EM CAD/CAM 30

125 "Flash" 126 Curva racional b-spline 128 Superfície racional b-spline 130 Curva "offset" 132 Ponto de conexão 134 Nodo 136 Elemento finito 138 Deslocamento nodal e rotação 140 Superfície "offset" 142 Curva sobre uma superfície paramétrica 144 Superfície paramétrica "trimmed"

ENTIDADES DE ANOTAÇÃO 202 Dimensão angular 206 Diâmetro angular 208 Nota sinalizada 210 Rótulo geral 212 Nota geral 214 "Leader" (seta) 216 Dimensão linear 218 Dimensão ordinária 220 Dimensão pontual 222 Dimensão radial 228 Símbolo geral 230 Área seccionada

ENTIDADES DE ESTRUTURAS 302 Definição de associatividade 304 Definição da fonte da linha 306 Definição de macro 308 Definição de sub-figura 310 Definição da fonte do texto 312 Modelo de exibição do texto 314 Definição de cor 320 Definição da sub-figura da rede 402 Instância de associatividade 406 Propriedade 408 Instância de sub-figura simples 410 Vista 412 Instância de sub-figura de array retangular 414 Instância de sub-figura de array circular 416 Referência externa 418 Carga/restrição de nodo 420 Instância de sub-figura de rede 600 - 699 Instância de macro para desenvolvedores

Todos os dados de definição do produto são expressos como uma lista de

entidades predefinidas. Cada entidade possui dois tipos de dados principais:

• Dado de diretório: é número da entidade, pelo qual ela é referida no

arquivo IGES;

• Dado de parâmetro: dados requeridos para definir a entidade de forma

única e completa.

CAP. 3 � PADRÕES DE TROCA DE DADOS EM CAD/CAM 31

FORMATO DO ARQUIVO IGES O arquivo IGES segue um formato de 80 caracteres por linha, chamado de

registro. Cada registro possui um identificador entre as colunas 73-80, é

limitado por ponto-e-vírgula, e subdividido em campos por vírgulas. O primeiro

caracter do identificador de cada linha indica a seção do arquivo. Os demais

números, indicam a numeração das linhas que compõem a respectiva seção.

Estes números são utilizados pelo IGES como ponteiros para referenciar as

seções.

Ao todo, cinco seções compõem um arquivo de formato IGES. São elas:

• Seção Inicial (S): contém informações gerais que podem auxiliar o

usuário com a operação de geração do arquivo IGES.

• Seção Global (G): contém 24 campos, onde são informados parâmetros

necessários à geração, identificação e configuração do arquivo IGES.

• Seção Diretório (D): é gerada pelo pré-processador IGES e constitui-se

de códigos que representam os tipos e sub-tipos de entidades dispostas

em duas linhas de oito caracteres cada.

• Seção Dados de Parâmetro (P): constitui-se de dados específicos para

cada entidade listada na seção anterior. Tais dados são: valores das

coordenadas de pontos, texto de anotação, número de pontos de dados

em spline, etc.

• Seção Finalização (T): marca o final do arquivo de dados, e contém o

subtotal de registros verificados na transmissão de dados.

Figura 17. Exemplo de desenho de algumas entidades geométricas simples.

Ponto emx = 100y = -100

R 50

Linha 100 mm, a 45o

CAP. 3 � PADRÕES DE TROCA DE DADOS EM CAD/CAM 32

Na Figura 18, tem-se um exemplo de arquivo IGES gerado pelo

processador MicroStation IGES, da Bentley. Este mesmo arquivo IGES, obtido

do desenho mostrado na Figura 17, pode também ser visto no APÊNDICE A.

Figura 18. Exemplo de arquivo IGES.

Pode-se observar na margem direita, a inicial de cada uma das seções que

compõem o arquivo. Na seção de dados, observa-se a definição das entidades

geométricas presentes no desenho da Figura 17: o arco circular (100), a linha

(110), e o ponto (116).

3.3.2. DXF (DATA INTERCHANGE FORMAT) É o formato de dados disponibilizado pela Autodesk, empresa que

desenvolve o programa de CAD chamado de AutoCAD. O padrão DXF é

considerado um �padrão de facto�, devido a grande utilização do sistema

AutoCAD pela comunidade industrial e científica.

O DXF é muito mais uma linguagem ou um meta-arquivo gráfico

(exemplos de metafile graphics1: CGM � Computer Graphics Metafile, CGI �

Computer Graphics Interface) do que um simples formato de imagem (exemplos

de bitmap: GIF � Graphics Interchange Format, TIFF � Tagged Image File

Format). Assim como num formato de imagem, a exata localização ou a ordem

em que os dados gráficos aparecem no arquivo não é importante. Entretanto,

1 Um graphics metafile é um arquivo formatado contendo dados e comandos gráficos. Eles são independentes do equipamento de exibição; ou seja, podem ser exibidos em diferentes tamanhos e resoluções. Mais detalhes sobre padrões gráficos de imagem podem ser consultados em (MCMAHON e BROWNE, 1998).

CAP. 3 � PADRÕES DE TROCA DE DADOS EM CAD/CAM 33

como linguagem, o contexto no qual os comandos aparecem podem ter um

significado diferenciado, dependendo de qual tipo de informação é repassada.

FORMATO DO ARQUIVO DXF Tudo num arquivo DXF é composto de pares chamados de grupos. Cada

grupo tem um código, seguido por um número ou string de caracteres,

chamado de valor do grupo. O código do grupo é um inteiro que indica o tipo

de valor que o segue. Alguns intervalos de códigos são reservados a certos tipos

de dados. Os códigos e valores de grupos são delimitados por um par

caracteres especiais de retorno de carro/avanço de linha (CR � Carriage-Return

/ LF � Line-Feed).

Os dados num arquivo DXF são organizados em quatro seções. A saber:

• Seção Cabeçalho: geralmente contém informações de pouco valor para

as aplicações. Ela armazena valores para variáveis do sistema

AutoCAD, tais como: estilo da interface, camadas default, estilos de

dimensionamento, etc.. Algumas vezes, esta seção é eliminada

completamente do arquivo.

• Seção Tabelas: armazena certas constantes universais, tais como

camadas do desenho, ângulos e distâncias das vistas, sistemas de

coordenadas, e estilos de dimensionamento. Da mesma forma que a

seção cabeçalho, esta seção também pode ser omitida do arquivo.

• Seção Blocos: armazena grupos de entidades pelo nome, e pode

também conter entidades. É esta seção que armazena as definições de

bloco instanciados no modelo.

• Seção Entidades: armazena as entidades geométricas bidimensionais e

tridimensionais do desenho, e inclui dados de ligação da entidade a

camadas e/ou blocos. Esta é a principal seção do arquivo DXF.

Um exemplo da estrutura de seções de um arquivo DXF é dado a seguir.

Um exemplo de arquivo DXF para o desenho mostrado na Figura 17, pode ser

visto no APÊNDICE B.

HEADER section TABLES section

linetype, layer, style, view BLOCK section

CAP. 3 � PADRÕES DE TROCA DE DADOS EM CAD/CAM 34

ENTITIES section drawing entities

Uma característica dos arquivos DXF é que eles são muito longos. Isso

deve-se ao fato de que para cada dado, escreve-se no mínimo duas linhas no

arquivo: uma linha diz o que é o dado, e a outra traz o valor do dado.

3.3.3. STEP (STANDARD FOR THE EXCHANGE OF PRODUCT DATA) Todos os esforços para padronização da troca de dados de produtos tem

convergido para o STEP. O STEP é a proposta da ISO � International

Organization for Standardization para definição de um padrão de modelo

computadorizado para troca de dados e informações do produto, em todo o seu

ciclo de vida.

De acordo com (EASTMAN, 1994), os objetivos do STEP são:

• Armazenar todos os dados usados para a descrição do produto;

• Armazenar todo o ciclo de vida do produto;

• Armazenar formas diversas de utilização dos dados do produto;

• Compartilhar dados de forma precisa e não ambígua;

• Compartilhar dados entre aplicações específicas;

• Compartilhar dados sem restringir a forma como uma indústria possa

utilizar esses dados. Assim, a indústria pode adotar processos

otimizados e mais ajustados às necessidades específicas.

De acordo com (OWEN, 1993), citado por (MCMAHON e BROWNE, 1998),

o padrão STEP melhora várias deficiências apresentadas pelo IGES. A seguir

discute-se sobre essas melhorias.

• O STEP usa um modelo formal para a troca de dados, o qual é descrito

usando um modelo de modelagem de informação chamado EXPRESS,

desenvolvido especialmente para o STEP. O modelo EXPRESS é legível

tanto pelo usuário como processável pelo computador. No STEP, os

dados são descritos pela linguagem EXPRESS, a qual então mapeia o

modelo para um arquivo físico. Neste caso, o arquivo físico fica livre de

definir como cada entidade em particular deve ser representada, que é

o que acontece com o padrão IGES.

CAP. 3 � PADRÕES DE TROCA DE DADOS EM CAD/CAM 35

• O STEP possui uma arquitetura de camadas em três níveis, conforme

mostra a Figura 19. Essas camadas habilitam a visão múltipla de

aplicação e implementação a serem definidas.

Figura 19. Arquitetura de camadas do STEP (MCMAHON e BROWNE, 1998).

A primeira camada compreende as técnicas para a implementação do

STEP, tais como a forma como os modelos estão relacionados à linguagem

EXPRESS, e desta para o arquivo físico.

A segunda camada compreende os modelos de informação de recursos, os

quais fornecem a informação independente de contexto, tais como: a descrição

geométrica e a topologia do produto.

A terceira camada compreende os protocolos de aplicação (AP � Application

Protocol), os quais contêm a informação relacionada ao domínio particular da

aplicação.

• Os AP�s descrevem os subconjuntos restritos do padrão STEP, os quais

garantem que a implementação de diferentes vendedores sejam mais

compatíveis que as implementações do IGES. Para garantir adicionais

conformidades, o STEP inclui uma metodologia para testes de

conformidade e um conjunto de testes gerais.

O conceito fundamental por trás do padrão STEP é a definição de

protocolos de aplicação (AP). Esses protocolos atuam como mecanismo de

Camada 3: Protocolos de Aplicação - AP

Camada 2: Modelos de Informação deRecursos

Camada 1: Métodos de Implementação(EXPRESS, mapeamento para o arquivo físico)

Arquivo físico

Test

es d

e Co

nfor

mid

ade

eco

njun

to d

e te

stes

CAP. 3 � PADRÕES DE TROCA DE DADOS EM CAD/CAM 36

especificação dos requerimentos da informação, e garantem a comunicação

entre os sistemas CAD/CAM. Um AP inclui os requerimentos de informação, o

escopo e o contexto de uma aplicação, e especifica os recursos construtores do

STEP para satisfazer estes requerimentos. Cada AP emprega três tipos de

modelos:

• AAM (Application Activity Model): descreve as atividades e os processos

que usam e produzem os dados dos produtos num contexto específico

de aplicação.

• ARM (Application Reference Model): especifica estruturas conceituais e

restrições usadas para descrever os requerimentos de informação de

uma aplicação.

• AIM (Application Interpreted Model): é um conjunto de recursos

integrados (IR � Integrated Resources) restritos, especializados e

completos, usados para satisfazer os requerimentos de informação do

ARM. O AIM é definido usando a linguagem EXPRESS ou EXPRESS-G.

O STEP está sendo implementado através do uso de uma série de AP�s. Os

três modelos acima são dependentes do contexto da aplicação. O escopo de um

AP é definido pelo tipo de produto, os estágios suportados dentro do ciclo de

vida do produto, os tipos requeridos de dados do produto, os usos dos dados

do produto, e as áreas que usam os dados do produto.

Os AP�s do STEP, listados na Tabela 6, abordam vários aspectos do projeto

mecânico e da análise estrutural.

Tabela 6. Protocolos STEP para projeto mecânico e análise estrutural.

NÚMERO E NOME DESCRIÇÃO AP203 � Configuração Controlada de Projeto de Peças Mecânicas e Montagens 3D

Inclui vários modelos sólidos B-Rep, wireframe, e de superfície; além da configuração do produto (estrutura de montagem, e versões do produto).

AP209 � Projeto através de Análise de Estruturas Compostas e Metálicas

Inclui estruturas compostas, poliméricas, e metálicas, projeto geométrico, modelagem de elementos finitos incluindo malhas, controles de análise, e resultados de análises de tensões estáticas. Este AP contém entidades relacionadas a: geometria (ponto, linha, curva, e superfície), malhas de elementos finitos, cargas, condições de contorno, etc..

CAP. 3 � PADRÕES DE TROCA DE DADOS EM CAD/CAM 37

AP214 � Núcleos de Dados para Processo de Projeto Automotivo

Este AP suporta dados de produto para peças automotivas, como chapas metálicas da carroceria do carro, peças mecânicas do motor, e componentes de vidro. O AP214 inclui: controle de configuração, projeto geométrico, tolerâncias, propriedades de materiais, features de usinagem, chapas metálicas, e ferramentas.

AP224 � Definição de Peças Mecânicas para o Planejamento de Processo usando Feature de Usinagem

Especifica os dados necessários para fabricação de peças mecânicas simples. Contém definições de features de forma, peças usinadas, e processos de usinagem

PROTOCOLO AP203 O AP203, endereçado pela versão inicial de STEP, é um dos mais

importantes do STEP, pois representa o nascimento de uma nova era na troca

digital de dados de produto, e como modelos sólidos devem ser comunicados.

Utilizando este protocolo, sistemas CAD podem trocar modelos sólidos

diretamente sob o controle de configuração de um formato padronizado entre

diferentes sistemas CAD. O modelo de representação de informação de

produtos do AP203 é chamado de �Configuration Control Design�. Este AP é

composto pelos recursos integrados das seguintes partes do padrão ISO 10303:

Part 41: Fundamentos de Descrição e Suporte de Produtos;

Part 42: Representação Geométrica e Topológica;

Part 43: Estruturas de Representação;

Part 44: Estrutura e Configuração de Produto.

A principal entidade deste modelo é o produto. Associada a esta entidade,

estão muitas outras que capturam várias informações: versão e definição do

produto, aprovações, ações, eventos (data e hora), contratos, classificação de

segurança, pessoas e organizações, representação geométrica, etc..

As informações capturadas pelo modelo permitem que produto seja

especificado, e também descrevem como ele foi desenvolvido, contando a sua

história através de versões, definições, desenhos e outras informações

relevantes.

O AP203 desta forma irá definir quase toda a estrutura de informação

presente no banco de dados. Informações que não são capturadas pelo modelo,

como por exemplo nome e senha de acesso, serão modeladas com entidades

adicionais, a fim de completar o modelo de informação do ambiente.

CAP. 3 � PADRÕES DE TROCA DE DADOS EM CAD/CAM 38

OUTRAS PARTES DO STEP Para o interesse de troca e compartilhamento de dados utilizando a

tecnologia de features, o padrão STEP reserva dois módulos: a Parte 48, e a

Parte 224.

A Parte 48 é um recurso genérico que fornece um modelo de dados para

features de forma. No caso da Parte 224, ela é um protocolo de aplicação

específica para o CAPP (Computer-Aided Process Planning).

LINGUAGEM EXPRESS O EXPRESS é uma linguagem formal para especificação de requisitos de

informação. Ela é uma das partes do padrão de dados STEP da ISO 10303 �

Part 11 � Métodos de Descrição: O manual de referência da linguagem

EXPRESS; e Part 12 � Métodos de Descrição: O manual de referência da

linguagem EXPRESS-I.

O elemento básico da linguagem EXPRESS é a entidade. Um exemplo de

entidade é dado a seguir:

ENTITY automobile ; make :STRING; serial_number :INTEGER; engine_size :REAL; colour :colourtype; owner :person; previous_owner: :LIST[0 : ?] OF person; UNIQUE serial_number; WHERE engine_size>0.0; END_ENTITY;

Como pode ser visto, a entidade é um conjunto de dados ou restrições

e/ou operações realizadas sobre os dados. Ela é expressa como uma coleção de

atributos, que podem ser de vários tipos de dados (string, real, inteiro, valor

lógico ou booleano, array, lista, conjunto, etc.). Os atributos também podem ser

referências a outras entidades, ou outros arrays, listas ou conjuntos. No

exemplo da entidade automobile acima, os atributos make, serial_number,

engine_size, são tipos de dados simples � STRING, INTEGER, e REAL,

respectivamente. Já os atributos person, e colourtype, são tipos de dados

especiais: person é uma outra entidade, e colourtype é um tipo ENUMERATION,

definido como:

ESQUEMA

CAP. 3 � PADRÕES DE TROCA DE DADOS EM CAD/CAM 39

TYPE colourtype = ENUMERATION OF (red, black, blue, white);

END_TYPE;

A estrutura com o conjunto de entidades, os tipos de dados e restrições

associados às entidades, é conhecido como esquema.

Existem quatro aspectos adicionais ao EXPRESS que são utilizados no

STEP: a EXPRESS-G, o EXPRESS-I, o EXPRESS-M, e EXPRESS-C.

A EXPRESS-G trata da notação gráfica que refere-se à simbologia utilizada

para representação das entidades, dos atributos, e dos relacionamentos.

A EXPRESS-I é uma linguagem de instanciação que habilita as instâncias

do esquema e modelos serem exibidos.

A EXPRESS-M trata do mapeamento entre os esquemas.

A EXPRESS-C amplia a capacidade do EXPRESS por meio de modelagem

estática e propriedades de comportamento dinâmico.

FORMATO DO ARQUIVO STEP O STEP define várias implementações de métodos para manipulação e

troca de informações descritas pelos protocolos de aplicação. O formato de

arquivo para troca de dados é definido pela Part 21 � Decodificação do texto da

estrutura de troca. No APÊNDICE C, pode ser visto um exemplo de arquivo

STEP, gerado pelo ST-DEVELOPER AP203 no MicroStation J, da Bentley; para

o desenho mostrado na Figura 17.

O arquivo de troca do STEP possui uma seção de cabeçalho � com

informações de identificação; e uma seção de dados � que contém a informação

a ser transferida.

Um exemplo de arquivo STEP é mostrado a seguir:

ISO-10303-21; /* opening keyword */ HEADER; /* header section */

[ ... header information ... ] ENDSEC; DATA; /* data section */

[ ... entity instances ... ] ENDSEC; END-ISO-10303-21; /* closing keyword */

CAP. 3 � PADRÕES DE TROCA DE DADOS EM CAD/CAM 40

A seção de cabeçalho de um arquivo STEP descreve a informação de

identificação a respeito do arquivo. Um exemplo de cabeçalho é mostrado a

seguir:

HEADER; FILE_DESCRIPTION (

('Sample NURBS geometry for a Boeing 707' /* description */ 'for the Common STEP Tasks Tutorial'), '1'); /* implementation level */

FILE_NAME ( 'ap203_database', /* name */ '1995-05-18T14:18:59-04:00', /* timestamp */ ('Blair Downie'), ('STEP Tools Inc.', 'Rensselaer Technology Park', 'Troy, New York 12180', '[email protected]', 'ST-DEVELOPER v1.4', /* preprocessor */ '', /* originating system */ ''); /* authorization */

FILE_SCHEMA (('CONFIG_CONTROL_DESIGN')); /* schema */ ENDSEC;

A seção de dados do arquivo contém as instâncias das entidades. Cada

instância tem um identificador inteiro. Os números #nnn são usados para se

referir aos objetos dentro do arquivo. Os números são únicos dentro de um

arquivo, mas não necessitam ser preservados. Cada instância de entidade é

normalmente escrita usando um mapeamento interno, onde o nome do tipo

da entidade é seguido por uma lista de atributos na ordem da super-classe

para a sub-classe. A seguir, tem-se alguns exemplos de entidades definidas

usando este mapeamento interno:

#57=DATE_AND_TIME(#58, #59); #58=CALENDAR_DATE(1993, 17, 7); #59=LOCAL_TIME(13, 47, 28.0, #29);

Instâncias de entidades complexas e/ou EXPRESS têm mais que um tipo,

assim eles são escritos para um arquivo STEP usando uma codificação

diferente, chamada de mapeamento externo. Este mapeamento codifica um

objeto como uma lista de tipos individuais, onde cada tipo contém somente os

atributos definidos para aquele tipo.

Um exemplo é mostrado para uma entidade que é ao mesmo tempo, uma

superfície B-spline com nós, e uma superfície racional B-spline:

#10 = ( BOUNDED_SURFACE ()

CAP. 3 � PADRÕES DE TROCA DE DADOS EM CAD/CAM 41

B_SPLINE_SURFACE (3, 3, ((#20, #60, #100, #140), (#30, #70, #110, #150), (#40, #80, #120, #160), (#50, #90, #130, #170)), $, .F., .F., .F.)

B_SPLINE_SURFACE_WITH_KNOTS ($, $, (0., 0., 0., 0., 1., 1., 1., 1.), (0., 0., 0., 0., 1., 1., 1., 1.), $)

GEOMETRIC_REPRESENTATION_ITEM () RATIONAL_B_SPLINE_SURFACE (((1., 1., 1., 1.), (1., 1., 1., 1.),

(1., 1., 1., 1.), (1., 1., 1., 1.))) REPRESENTATION_ITEM () SURFACE () );

O formato de um arquivo STEP está estreitamente ligado ao esquema

ESPRESS, no qual ele foi escrito. A ordem dos valores dos atributos são

determinadas a partir do esquema EXPRESS.

3.3.4. ACIS ACIS é uma biblioteca de funções (kernel) para modelagem geométrica de

objetos tridimensionais. Ele é um modelador geométrico de sólidos, que adota

um esquema de representação de contorno (B-Rep).

Ele é constituído por conjunto de classes de funções escritas em C++,

implementadas de acordo com o paradigma da programação orientada a objeto.

O ACIS foi desenvolvido pela Spatial Technology, Inc.. Atualmente, ele está

licenciado para mais de duzentos desenvolvedores comerciais, centros de

pesquisa e universidades.

Utilizando as classes do ACIS, os desenvolvedores de programas podem

criar aplicações 3D mais facilmente, pois grande parte dos algoritmos para

modelagem geométrica já estão implementados e otimizados. Além disso, os

programas CAD podem transferir e compartilhar arquivos gerados entre as

demais aplicações que também empregam a tecnologia ACIS.

Embora seja um modelador de sólidos, a biblioteca de funções do ACIS

permite integrar modelos wireframe, de superfície, e sólidos numa mesma

estrutura de dados. As formas lineares e quadráticas são representadas

analiticamente, e curvas NURBS são utilizadas para representar as geometrias

de forma-livre.

Os ACIS armazena e recupera as informações dos modelos a partir de dois

tipos de arquivos: arquivo SAT (save as text), e arquivo SAB (save as binary).

CAP. 3 � PADRÕES DE TROCA DE DADOS EM CAD/CAM 42

Os arquivos do tipo SAT são salvos em formato texto ASCII, e os arquivos do

tipo SAB são salvos em formato binário.

No APÊNDICE D, tem-se um exemplo de arquivo ACIS. Ele foi gerado a

partir do desenho mostrado na Figura 17.

CONCEITOS E CARACTERÍSTICAS DO ACIS • A integração entre ACIS e C++ O C++ não possui as classes matemáticas básicas necessárias para

descrever a geometria. O ACIS então fornece essas classes de baixo nível para

estabelecer esta base, e o usuário pode então estendê-las com as

potencialidades do C++, definindo as suas próprias classes.

As aplicações C++ podem se comunicar com o ACIS por três formas:

API's (Application Programming Interface). Um API é uma função que uma

aplicação chama para criar, alterar, ou armazenar um dado. Uma função API

combina a funcionalidade de modelagem e características de suporte à

aplicação, tais como verificação de erros de parâmetros e consistência do

modelo. Quando um erro ocorre numa função API, o ACIS automaticamente

retorna ao estado do modelo anterior à chamada da função. Esse mecanismo

de retorno, conhecido como "roll back", garante a consistência do modelo

gerado. As funções do tipo API são garantidas quanto a compatibilidade com

novas versões do ACIS.

Classes C++. São usadas para definir o modelo geométrico, topológico, ou

outras características. As classes podem ser usadas por uma aplicação para

interagir diretamente com o ACIS, através dos seus dados e métodos públicos

ou protegidos. Desenvolvedores também podem derivar classes específicas a

partir do ACIS, para uma aplicação desejada. Esta interface de classe pode

mudar de uma versão para outra. A classe ENTITY é a classe abstrata, a partir

da qual todas as demais são derivadas. Na Figura 20, tem-se a hierarquia de

classe definida pelo ACIS.

DI (Direct Interface). É um tipo de função que permite acesso às

funcionalidades do ACIS sem oferecer suporte verificação de erros ou

consistência do modelo gerado. Diferentemente das API's, estas funções não

são garantidas quanto à manutenção da compatibilidade com novas versões do

CAP. 3 � PADRÕES DE TROCA DE DADOS EM CAD/CAM 43

ACIS. As funções DI são utilizadas para realizar operações que não alteram o

modelo, tais como operações de pesquisa.

Figura 20. Hierarquia de classes do ACIS (SPATIAL, 1999).

• A Geometria no ACIS A geometria refere-se aos itens físicos representados pelo modelo,

independentes do seu relacionamento espacial ou topológico. O ACIS

implementa a geometria em duas formas distintas:

• Geometria de construção: refere-se às classes C++ que suportam as

definições matemáticas dos objetos geométricos.

• Geometria do modelo: refere-se às classes C++ que adicionam a

funcionalidade de gerenciamento do modelo para a geometria de

construção. Elas incluem os ponteiros para as classes da geometria de

construção, como parte da sua estrutura de dados. A geometria do

modelo é salva no modelo.

ENTITY

TRANSFORMAPOINTCURVEPCURVE

SURFACE

BODYLUMPSHELLSUBSHELLFACEWIRELOOPCOEDGEEDGEVERTEX

ATTRIB

STRAIGHTELLIPSEINTCURVECOMPCURVEPLANECONESPHERETORUSSPLINEMESHSURF

ATRIBUTOS DEFINIDOS PELO USUÁRIOATRIBUTOS DO SISTEMA

ModeloGeométrico

Topologia

Atributos

CAP. 3 � PADRÕES DE TROCA DE DADOS EM CAD/CAM 44

Figura 21. Hierarquia topológica da representação B-Rep do ACIS.

• A Topologia no ACIS

A topologia refere-se ao relacionamento espacial entre os vários objetos do

modelo. Ela descreve como os objetos estão conectados. A representação B-Rep

do ACIS, segue a decomposição hierárquica mostrada na Figura 21.

Body: é uma coleção de objetos lump, que têm uma transformação

comum.

Lump: é um conjunto de pontos 1D, 2D, e 3D conectados no espaço, que

estão disjuntos de todos os outros objetos lumps. Ele é limitado por objetos

shell.

Shells: é um conjunto de objetos faces e/ou wires conectados. Ele pode

limitar o exterior de um sólido, ou vazio interno (oco).

Subshells: forma uma decomposição adicional do objeto shell, para

propósito de eficiência interna.

Body

Lumps

Shells

Subshells

Faces Wires

Loops

Coedges

Edges

Vertices

CAP. 3 � PADRÕES DE TROCA DE DADOS EM CAD/CAM 45

Face: uma região conectada de superfícies limitadas por um ou mais

loops de arestas. Uma face pode ter dois lados, em neste caso ela é

infinitamente fina. Ela também pode se de um só lado, e neste caso a face

normal aponta para fora, e o material sólido está presente sobre o outro lado

da face.

Loop: uma região conectada de um contorno de face, o qual é constituído

de uma série de coedges. Geralmente, os loops são fechados, sem um ponto de

início ou fim. Mas, eles também podem ser abertos.

Wire: é uma série conectada de coedges, os quais não estão ligados à face.

Coedge: representa o uso de um edge por uma face ou por um wire.

Edge: a topologia associada com uma curva. Objetos edges são limitados

por objetos vertices.

Vertices: um vértice limita um objeto edge. Ele geralmente é o canto de

um objeto face ou wire. Um objeto vertex contém uma referência para um

ponto geométrico no espaço, e um objeto edge que o limita.

• Entidade e Modelo de Objeto

A entidade (ENTITY) é o objeto mais básico do ACIS, conforme pode-se ver

na Figura 20. Todas as entidades têm um conjunto comum de funcionalidades,

tais como a habilidade de poderem ser armazenadas (objetos persistentes) e

recuperadas a partir de um arquivo, de serem copiadas, e depuradas. Todos os

níveis mais elevados da hierarquia de objetos do ACIS são derivados da classe

ENTITY.

O modelo de objeto é qualquer objeto que pode ser salvo ou restaurado a

partir de um arquivo SAT. Os modelos de objetos do ACIS são implementados

em C++, a partir da hierarquia de classes.

• Atributos

Os atributos são usados para ligar os dados às entidades. A classe

ATTRIB, a qual é derivada diretamente de ENTITY, fornece os dados e a

funcionalidade que todos os atributos compartilham. Os atributos podem

suportar dados simples (inteiro, real, string, etc.), ponteiros para outras

entidades ou links para aplicações específicas, e dados de tamanhos variados.

CAP. 3 � PADRÕES DE TROCA DE DADOS EM CAD/CAM 46

As informações sobre o ACIS podem ser pesquisadas na referência

(SPATIAL, 1999), ou na página da Internet da Spatial Technology, Inc.

(http://www.spatial.com).

3.3.5. PARASOLID Outra alternativa para arquivo de troca de dados, é o Parasolid

desenvolvido pela Unigraphics Solutions Inc.. Ele é um conjunto de funções

para modelagem de sólidos que pode ser embutido noutros programas

aplicativos.

Muitos dos sistemas CAD/CAM/CAE, considerados de alto nível ou de

aplicação final (high-end applications), possuem o seu próprio modelador

geométrico embutido dentro do sistema. O Parasolid, assim como o ACIS,

também é um núcleo de funções de modelagem geométrica, que pode ser usado

em muitos sistemas de alto nível ou de aplicação média (mid-range application).

Portanto, ele é portátil entre diferentes sistemas.

Atualmente, o Parasolid é usado como componente integrante de vários

sistemas de CAD/CAM/CAE desenvolvidos pelos principais fornecedores de

programas para engenharia. Os principais desenvolvedores de sistemas que já

aderiram ao Parasolid são: Parametric Technology, SolidWorks Corporation (uma

subsidiária da Dassault Systemes SA), ANSYS, Mechanical Dynamics, MacNeal-

Schwendler, Bentley Systems. etc.. Além disso, o Parasolid é usado

internamente em grandes companhias, como uma ferramenta de

desenvolvimento de aplicações, como por exemplo: General Motors, Mitsubishi

Motors, Boeing, etc.

Para dar uma breve olhada num exemplo de arquivo Parasolid, pode ser

consultado o APÊNDICE E. O arquivo também foi gerado com base no desenho

mostrado na Figura 17.

OBSERVAÇÃO: Muito pouco pode ser encontrado na Internet sobre o

Parasolid. O principal endereço para consulta é: http://www.parasolid.com.

CCaappííttuulloo 44

CCoonncceeiittooss ee AApplliiccaaççããoo ddee BBaannccoo ddee DDaaddooss

44..11.. IINNTTRROODDUUÇÇÃÃOO

Uma análise da evolução das aplicações de sistemas de informação

baseados em computador evidencia uma tendência natural e indicativa de que

esses sistemas evoluem para uma abrangência cada vez maior, e

conseqüentemente, para um aumento do grau de complexidade de seu

desenvolvimento e manutenção.

As primeiras aplicações eram basicamente dirigidas a um determinado

setor da empresa; e por isso, seu desenvolvimento baseava-se nos processos,

dados e arquivos específicos desse setor. Nesse mesmo enfoque, outros setores

da empresa eram gradativamente atingidos por tal processo, e assim, o sistema

de informação da empresa como um todo, era constituído por diversos

sistemas, os quais possuíam processos e arquivos próprios e independentes. A

comunicação de dados entre tais sistemas, quando necessária, fazia-se por

arquivos especificamente destinados à finalidade desejada.

CAP. 4 � CONCEITOS E APLICAÇÃO DE BANCO DE DADOS 48

As conseqüências mais diretas desse modo de desenvolvimento de

sistemas dizem respeito à duplicação de dados e tarefas entre os sistemas

feitos para cada aplicação.

Essa duplicação provoca sérios problemas na evolução do sistema como

um todo, tais como: incoerência de uma mesma informação armazenada por

dados duplicados, os quais são passíveis de serem alterados individualmente, o

que acarretaria uma inconsistência entre os mesmos; e o custo de

manutenção, que fica aumentado devido ao fato de uma mesma tarefa ser

realizada em dois ou mais processos distintos.

Da identificação desses problemas, a evolução natural impôs aos sistemas

de informação uma eliminação da duplicação, implicando numa integração

entre dados que antes eram armazenados com redundância não controlada.

Esse novo estado resolvia o problema da duplicação de dados, todavia

introduzia um novo problema. Devido à integração, dois ou mais processos

passam a compartilhar do mesmo dado, mas sua utilização é completamente

dependente da forma de representação física, e conseqüentemente, sempre que

um determinado processo necessita que essa representação física seja alterada,

todas as demais aplicações que compartilham desses dados são atingidas, e

portanto, precisam ser alteradas de forma a poderem continuar utilizando-os.

Outro problema dessa integração deve-se ao fato de um mesmo dado

poder ter diferentes estruturações físicas com tipos e tamanhos diferentes, e

por conseguinte, dois processos distintos poderem necessitar de

representações diferentes de um mesmo dado de acordo com a utilização que

façam deste.

Nesse ponto da evolução dos sistemas de informação, para manter a

integração entre os dados, faz-se necessária uma independência entre dados e

processos, de forma a permitir que cada processo possa evoluir naturalmente

sem causar impacto aos demais que utilizem dados em comum com ele.

Paralelamente a essa evolução na área do software, existe outra na área

de hardware, pela qual o custo por byte armazenado em dispositivos de

armazenamento secundário vem decrescendo, e a capacidade de tais

dispositivos, vem aumentando. Isso favorece o armazenamento e a

CAP. 4 � CONCEITOS E APLICAÇÃO DE BANCO DE DADOS 49

manipulação de dados que antes não podiam ser utilizados devido ao alto

custo de armazenamento.

Com isso, as possíveis aplicações para sistemas de informação baseados

em computador, tornam-se cada vez mais diversificadas e abrangentes,

passando a existir aplicações que necessitam de estruturas de armazenamento

complexas e que requerem técnicas mais sofisticadas para sua manutenção.

Vale ressaltar que essas técnicas, normalmente não são do domínio dos

analistas, os quais estão mais preocupados com problemas específicos de suas

aplicações.

Esse estado de coisas evidencia a necessidade de um novo enfoque para o

desenvolvimento de sistemas de informação. Esse novo enfoque pode ser

caracterizado por uma necessidade de separação entre os problemas

específicos de cada aplicação, e os de armazenamento e recuperação de dados

que normalmente são comuns a todas as aplicações.

Neste ponto surgem os "Sistemas de Gerenciamento de Banco de Dados"

(DBMS � Data Base Management System), tendo como finalidade básica tirar

dos programas de aplicação, a responsabilidade de resolver os problemas

mencionados anteriormente.

44..22.. DDEEFFIINNIIÇÇÕÕEESS EE CCOONNCCEEIITTOOSS

Um sistema de banco de dados, também conhecido pela sigla DBMS é um

programa computacional para gerenciamento de um repositório de dados

permanentes e auto-descritivos. Este repositório de dados é chamado de banco

de dados e está armazenado em um ou mais arquivos.

As diferentes informações armazenadas nos arquivos de banco de dados

são tipicamente formadas por itens, que constituem a unidade de informação.

Um conjunto de itens específicos para um tipo de problema forma um registro,

sendo que o conjunto de registros daquele problema forma o arquivo de dados

correspondente.

Outro conceito importante é o de esquema, o qual corresponde à definição

da estrutura de dados, ou seja, é a concepção global de banco de dados. O

CAP. 4 � CONCEITOS E APLICAÇÃO DE BANCO DE DADOS 50

esquema raramente é alterado, pois isso implica em mudar a estrutura do

banco de dados. Para um dado esquema, é possível usá-lo para diferentes

aplicações, ou seja, uma mesma estrutura de dados contemplando diferentes

conjuntos de dados. Cada uma destas aplicações é o que corresponde a uma

instância do banco de dados, correspondendo ao estado do banco de dados

num certo instante.

Existem muitas razões pelas quais utilizam-se banco de dados:

• Recuperação de dados: o banco de dados é protegido contra problemas

de hardware, falhas de mídias, e alguns erros de usuários.

• Compartilhamento entre usuários: múltiplos usuários podem acessar o

banco de dados ao mesmo tempo.

• Compartilhamento entre aplicações: múltiplos programas aplicativos

podem ler ou escrever dados no mesmo banco de dados. Um banco de

dados é um meio neutro que facilita a comunicação entre programas

aplicativos.

• Segurança: os dados podem ser protegidos contra acessos de leitura ou

escrita não autorizados.

• Integridade: pode-se especificar regras que os dados devem satisfazer.

Um DBMS pode controlar a qualidade de seus dados.

• Extensibilidade: os dados podem ser adicionados para banco de dados

sem desorganizar programas aplicativos existentes. Os dados podem ser

reorganizados para uma performance mais rápida.

• Distribuição de dados: o banco de dados pode ser particionado entre

vários lugares, arquiteturas computacionais ou plataformas de

hardware.

44..33.. AA EESSTTRRUUTTUURRAA DDEE UUMM BBAANNCCOO DDEE DDAADDOOSS

A preocupação com eficiência faz com que sejam usadas estruturas de

dados complexas para fazer o armazenamento dos dados no banco de dados.

Esta complexidade deve ser transparente ao usuário, sendo totalmente

CAP. 4 � CONCEITOS E APLICAÇÃO DE BANCO DE DADOS 51

manipulada pelo DBMS. Para implementar esta transparência, diferentes

níveis de abstração do banco de dados devem ser usados.

• Nível Físico: é o nível onde se estabelece como os dados serão

armazenados nos arquivos, sendo muito dependente de características

do hardware.

• Nível Conceitual: neste nível é estabelecido o projeto de um banco de

dados, com a especificação de quais dados devem ser armazenados,

bem como qual o relacionamento que existe entre dados. O nível

conceitual é usado pelos responsáveis da manutenção do banco de

dados, os quais vão definir a sua estrutura.

• Nível de Visão: é o nível de abstração mais alto, onde o usuário

trabalha com as informações armazenadas, de acordo com o seu

interesse específico. Apenas uma parte das informações são colocadas

para o usuário, em função das suas necessidades e da sua permissão

de acesso. Para um mesmo banco de dados, podem ser definidas

inúmeras visões, cada qual contemplando uma necessidade específica,

onde apenas as informações relevantes são apresentadas, bem como os

programas aplicativos.

Figura 22. Níveis de abstração de um banco de dados (Baseado em RUMBAUGH et al., 1991).

Um padrão de arquitetura de DBMS é o proposto pelo comitê de banco de

dados da ANSI (American National Standards Institute)/SPARC.

Essa arquitetura é ilustrada na Figura 22.

EsquemaExterno 1

EsquemaExterno 2

EsquemaExterno n

Aplicação 1 Aplicação 2 Aplicação n

Esquema Conceitual

Esquemainterno 1

Esquemainterno m

Nível do esquemaexterno

Nível do esquemaconceitual

Nível do esquemainterno

CAP. 4 � CONCEITOS E APLICAÇÃO DE BANCO DE DADOS 52

A idéia básica é de que um projeto de um banco de dados deve

compreender três níveis ou camadas: um nível de esquema externo, um nível

de esquema conceitual, e um nível de esquema interno. Cada esquema externo

é um projeto de banco de dados sob a perspectiva de uma aplicação específica.

O esquema externo é uma visão ou abstração do esquema conceitual global. O

esquema externo isola as aplicações de quaisquer alterações no esquema

conceitual. O esquema conceitual é um projeto de banco de dados sob a

perspectiva da empresa ou organização. O esquema conceitual integra as

aplicações relacionadas e esconde as peculiaridades do DBMS. O esquema

interno trata com as limitações e características de um DBMS específico. O

nível de esquema interno consiste de códigos DBMS necessários para

implementar o esquema conceitual.

Todo sistema de gerenciamento de banco de dados tem como tarefas

básicas, definir estruturas de dados e manipular estes dados. Para permitir

estas ações, sem necessidade de recorrer a linguagens de programação que

acessam diretamente os arquivos em disco, todo DBMS possui linguagens

próprias para tal tarefa. Assim, tem-se a chamada �Linguagem de Definição de

Dados� (DDL � Data Definition Language), a qual fornece meios para o

administrador do banco de dados trabalhar sobre o nível conceitual, definindo

novas estruturas de dados, ou alterando as existentes. Esta linguagem

trabalha diretamente sobre o esquema do banco de dados. O resultado de uma

compilação de instruções DDL é um conjunto de tabelas armazenadas num

arquivo especial do banco de dados, denominado de dicionário de dados. Os

detalhes que especificam a forma de implementação dos esquemas do banco de

dados são o resultado desta compilação, e ficam inacessíveis para o usuário.

44..44.. CCLLAASSSSIIFFIICCAAÇÇÃÃOO DDOOSS SSIISSTTEEMMAASS DDEE BBAANNCCOO DDEE DDAADDOOSS

Nos modelos lógicos, a descrição recai sobre os níveis conceituais e de

visão. Vários modelos têm sido propostos nesta linha, sendo atualmente uma

grande área de pesquisa e desenvolvimento, tanto nas ciências da computação

quanto nas áreas de aplicação, como Engenharia.

CAP. 4 � CONCEITOS E APLICAÇÃO DE BANCO DE DADOS 53

Os modelos lógicos podem ser baseados em objetos, e em registros. O

conceito de registro depende do modelo de dados que se está tratando. Os

principais modelos baseados em registros são: o modelo relacional, o modelo

em rede, e o modelo hierárquico.

Já os modelos de dados físicos, atuam no nível físico do banco de dados,

capturando aspectos relacionados diretamente com a implementação do banco

de dados.

Os bancos de dados em CAD/CAM, devem ser capazes de armazenar

dados geométricos, textuais, e alfanuméricos. Na seqüência, tem-se uma

descrição dos principais tipos de banco de dados.

4.4.1. O MODELO RELACIONAL No modelo relacional de banco de dados, todos os elos de ligação são

implícitos, sendo que os dados � na terminologia do modelo relacional � são

definidos em domínios da entidade como também para seus atributos. Estes

domínios representam uma classificação quanto ao tipo de dado. O banco de

dados trabalha sobre um conjunto de domínios, cada qual representando um

tipo de dado.

O termo relacional vem do conceito de relação, que corresponde a um

subconjunto do produto cartesiano dos domínios definidos. Os elementos de

uma relação são suas n-uplas, ou tuplas.

O modelo relacional procura descrever o banco de dados pelo uso de

conceitos matemáticos, evitando misturar a estrutura lógica dos dados com

detalhes de implementação. No nível do usuário, visualiza-se o banco de dados

relacional como sendo um conjunto de tabelas, sendo que cada tabela

representa uma relação.

A representação das relações por meio de tabelas, torna bastante

facilitado o trabalho de entendimento e de montagem do banco de dados, pois

uma relação só contém os elementos do produto cartesiano que são relevantes,

ou que existem e estão definidos. Quanto à nomenclatura, existe uma

correspondência direta entre relação e arquivo, e entre tupla e registro.

CAP. 4 � CONCEITOS E APLICAÇÃO DE BANCO DE DADOS 54

Figura 23. Objeto-base e sua estrutura de dados: vértices, arestas, e faces.

Considerando o objeto mostrado na Figura 23 como base, tem-se um

exemplo de banco de dados relacional, mostrado na Figura 24.

PONTO X Y LINHA PONTO INICIAL

PONTO FINAL SUPERFÍCIE LINHA/

CURVA TIPO

1 x1 y1 A 1 4 1

A B C D

Linha Linha Linha Linha

2 x2 y2 B 1 2 2

E F G D

Linha Linha Linha Linha

3 x3 y3 C 2 3 RELAÇÃO SUPERFÍCIE 4 x4 y4 D 3 4 5 x5 y5 E 5 6 6 x6 y6 F 6 7 7 x7 y7 G 7 8 8 x8 y8

RELAÇÃO PONTO

RELAÇÃO LINHA/CURVA

Figura 24. Exemplo de banco de dados relacional (Baseado em ZEID, 1991).

OPERAÇÕES DA ÁLGEBRA RELACIONAL Um ponto importante no modelo relacional diz respeito à possibilidade de

manipulação dos dados pelo uso da chamada álgebra relacional, que opera

sobre as relações, criando novas relações. Antes de detalhar a álgebra

relacional, é necessário definir o conceito de relação �união-compatível�. Uma

dada relação T, é dita união-compatível com relação a S quando ambas

possuem os mesmos domínios, ou seja, são subconjuntos do mesmo produto

cartesiano. A rigor, bastaria que T tivesse o mesmo número de domínios que S,

e que estes domínios fossem do mesmo tipo. O resultado de uma operação da

álgebra relacional é uma terceira relação. As operações da álgebra relacional

são descritas a seguir.

• UNIÃO: R ← S ∪ T

A relação contém os registros de S e de T, sem repetições.

B1 B2B

A

G

E

F

C

D

1

2

5

8

4

3

7

6

CAP. 4 � CONCEITOS E APLICAÇÃO DE BANCO DE DADOS 55

• INTERSECÇÃO: R ← S ∩ T

A relação R contém apenas os registros comuns a S e T. É lógico que S e T

devem ser união-compatíveis.

• DIFERENÇA: R ← S − T

A relação contém os registros de S que não estão presentes em T. Neste

caso ocorre que (S � T) é diferente de (T � S).

• PRODUTO CARTESIANO: R ← S × T

A relação R contém todos os registros de S concatenados com todos os

registros de T.

• PROJEÇÃO: R ← S [Di, Dj, Dk]

A relação R contém os registros de S, porém truncados para apenas os

domínios indicados.

• RESTRIÇÃO: R ← S [Di = C]

A relação R contém apenas os registros de S que satisfazem a condição, no

caso o valor do domínio ser igual a C. Na operação de restrição é possível usar

os comparadores =, ≠, <, ≤, ≥, >.

• JUNÇÃO: R ← S [Di = Dk] T

A relação R contém os registros definidos pela junção dos domínios de S

com os domínios de T, apenas para as relações onde a comparação é válida. No

caso o valor do domínio Di da relação S deve ser igual ao valor do domínio Dk

da relação T.

• DIVISÃO: R ← S [Di : Dk] T

A relação R contém alguns registros de S, projetados sobre os domínios de

S, exceto Di, como o conjunto de registros onde Di contém todos os valores da

projeção T[Dk].

4.4.2. O MODELO HIERÁRQUICO O modelo hierárquico de banco de dados possui uma estrutura lógica na

qual os dados estão na forma de um conjunto de árvores que definem a

hierarquia. Desta forma, os registros são relacionados entre níveis hierárquicos

distintos, onde de um nível superior derivam N registros do nível inferior. Desta

forma, um modelo hierárquico possui sempre um relacionamento do tipo 1:N,

ou seja, de um registro derivam N registros. O registro inicial de uma árvore é a

CAP. 4 � CONCEITOS E APLICAÇÃO DE BANCO DE DADOS 56

chamada raiz, que corresponde ao nível hierárquico mais alto. Os elos de

ligação de hierarquia são elos explícitos, criados e gerenciados pelo DBMS.

Quando um novo registro é inserido no banco de dados, deve ser indicado qual

é o seu ascendente, ou seja, o registro do qual deriva. De um modo geral, pode-

se dizer que cada nível da hierarquia corresponde a um tipo de registro, ou

seja, a um conteúdo de informações.

A Figura 25 esquematiza uma estrutura típica de um banco de dados do

tipo hierárquico para dados geométricos, com base no objeto da Figura 23.

Figura 25. Exemplo de banco de dados hierárquico (Baseado em ZEID, 1991).

4.4.3. O MODELO EM REDE O modelo lógico de dados em rede pode ser pensado como uma

generalização de um banco de dados hierárquico, pois é permitida uma relação

do tipo M:N, ou seja, pode-se ter M registros de um tipo se relacionando com N

registros de outro tipo, como no caso exemplificado de fornecedores e peças. No

modelo em rede é possível definir diferentes tipos de elos, que podem assim

estabelecer relacionamentos distintos, entre os mesmos tipos de registros.

Uma estrutura particular de modelo em rede foi o chamado CODASYL

(Conference on Data Systems Languages), que foi uma tentativa de

padronização de banco de dados em rede, e permitiu relacionamentos menos

restritivos entre elementos de dados comparado ao modelo hierárquico.

Objeto (raiz)

S2

E F G D

5 6 3 4

y5x5 x4 y4

S1

A B C D

1 4 3 4

y1x1 x4 y4

Nível dassuperfícies

Nível dasarestas

Nível dosvértices

Nível dascoordenadas

CAP. 4 � CONCEITOS E APLICAÇÃO DE BANCO DE DADOS 57

Um exemplo de banco de dados em rede é mostrado na Figura 26.

Figura 26. Exemplo de banco de dados em rede (Baseado em ZEID, 1991).

44..55.. BBAANNCCOO DDEE DDAADDOOSS OORRIIEENNTTAADDOOSS AA OOBBJJEETTOOSS

O rumo atual das técnicas de modelagem da informação apontam para os

sistemas de gerenciamento de banco de dados orientados a objeto (OODB �

Object-Oriented Data Base). Um modelo de informação orientado a objeto

permite que o usuário modele entidades conceituais através de um poderoso

conceito de modelagem � o objeto. O conceito de objeto e os seus princípios de

programação, estão discutidos com mais detalhes no APÊNDICE F, no final

deste estudo.

Em banco de dados, o objeto corresponde a tipos de dados abstratos (ADT

� Abstract Data Types), que especificam o comportamento do objeto, mas

escondem a estrutura de dados e a implementação (encapsulamento de dados).

A implementação de um ADT consiste de sua estrutura de dados (atributos), e

dos operadores (métodos) que são suficientes para manipular e derivar dados a

partir deles. Devido ao encapsulamento de dados internos ao objeto � dos seus

atributos � não é permitida a manipulação externa desses atributos. Todas as

manipulações de dados devem ocorrer através de chamadas aos operadores

(métodos).

Os OODB�s também incorporam conceitos de especialização de atributos e

de métodos, através da implementação do conceito de herança. A herança

S1 S2

21 43 76 85

BA DC GFE

Superfícies

Arestas

Vértices

CAP. 4 � CONCEITOS E APLICAÇÃO DE BANCO DE DADOS 58

permite que objetos simples possam ser refinados ou combinados para definir

outros objetos mais complexos. Além de que ela fornece uma ferramenta

poderosa para organizar a estrutura de dados e reusar o código. A

especialização de métodos pode ocasionar problemas, em que um método pode

se tornar inadequado após novas variáveis serem adicionadas à definição do

objeto (EASTMAN e FERESHETIAN, 1994).

Existem muitas variantes de OODB�s, conforme comentado a seguir:

• Muitos sistemas fazem distinção entre instâncias e objetos de classe, e

aplicam herança somente para classes. Neste caso, a hierarquia de

objetos é definida estaticamente, antes que o banco de dados seja

usado. Outros sistemas não fazem esta distinção, e permitem que

qualquer objeto seja especializado. Assim, a hierarquia de objetos é

dinâmica, e pode ser modificada com o banco de dados em execução.

• Alguns sistemas também permitem que qualquer objeto tenha apenas

uma especialização (herança simples), enquanto outros permitem

várias especializações (múltipla herança).

• Alguns OODB�s encaram todas as variáveis como objetos, e são

chamados de �fortemente orientados a objeto�. Enquanto que outros

sistemas consideram também os tipos tradicionais de variáveis (inteiro,

real, string, etc.), além dos objetos. Esses são conhecidos como

�fracamente orientados a objeto�.

Os sistemas OODB�s são altamente recomendados para as necessidades

de desenvolvimento de projeto, pois eles possuem a estrutura adequada para

tanto. O conceito de especialização permite a herança, que é o conceito

importantíssimo para modelagem do produto. A modelagem do comportamento

do objeto possibilita definir muitas relações que não são facilmente modeladas

através de regras ou restrições. Os modelos tradicionais, tais como o modelo

relacional, permite apenas uma definição parcial da semântica do

comportamento do objeto.

(EASTMAN e FERESHETIAN, 1994) informam que novas tecnologias foram

pesquisadas com o objetivo de possibilitar a modificação dos modelos de

informação para adicionar, por exemplo, novas tecnologias ou novos métodos

CAP. 4 � CONCEITOS E APLICAÇÃO DE BANCO DE DADOS 59

de análise emergentes. Todavia, eles advertem que para isso, deve-se

considerar a evolução dinâmica de modelos, incluindo as seguintes habilidades

aos sistemas:

• A especialização dinâmica de novos objetos em outros objetos;

• A adição de relações de objeto e de composição em objetos já definidos;

• A herança múltipla.

Estas características não estão presentes em muitas implementações de

OODB�s.

44..66.. AAPPLLIICCAAÇÇÕÕEESS DDEE BBAANNCCOO DDEE DDAADDOOSS EEMM CCAADD

4.6.1. BANCO DE DADOS ORIENTADOS A OBJETO EM CAD Diferente do processamento de outros banco de dados convencionais, as

aplicações de CAD requerem acesso e manipulação de bancos de dados

orientados a objeto. Isso se deve ao fato de que os sistemas de CAD manipulam

e acessam objetos de projeto, e não arquivos ou registros de dados individuais.

Estes objetos de projeto também são a base para garantir a integridade

sobre os componentes de um objeto durante as operações de inserção, deleção

ou modificação.

Os modelos de banco de dados orientados a objetos incluem o modelo E/R

� Entidade/Relacionamento, a representação de objetos complexos, a

representação de objetos moleculares ou compostos, e o modelo de dados

abstratos. O modelo de dados abstratos se assemelha ao banco de dados

modelagem de sólidos. Ele emprega objetos abstratos como primitivas no

projeto do banco de dados. As primitivas são formadas a partir de dados de

entrada, e formam o nível mais baixo de armazenagem do banco de dados.

Banco de dados orientados a objetos são ideais para aplicações e sistemas

CAD. Os modelos hierárquicos também podem ser úteis para sistemas CAD.

Abaixo, tem-se listado alguns requisitos funcionais e especificações que

um banco de dados para sistemas CAD deve suportar:

CAP. 4 � CONCEITOS E APLICAÇÃO DE BANCO DE DADOS 60

• Deve ser portátil e útil a várias aplicações de engenharia, englobando

todo o ciclo de vida do produto.

• Deve permitir modificações dinâmicas e ampliação do banco de dados e

de sua associatividade.

• Deve suportar a natureza iterativa, heurística e evolutiva do processo

de projeto.

• Deve gerenciar versões diferentes do projeto e níveis de detalhes e

abstração. O banco de dados deve armazenar e gerenciar múltiplas

alternativas de solução que podem existir para um projeto específico.

• Armazenar dados temporários de projeto, até que ele seja finalizado.

• Permitir uma seqüência livre de operação, orientando o projetista para

uma solução mais otimizada.

• Facilidade de acesso, permitindo que os dados possam ser fácil e

rapidamente recuperados, sem a necessidade de um aprofundamento

ou experiência prévia em tecnologias de banco de dados. Isto é

importante para personalização de procedimentos específicos de projeto

e fabricação.

CCaappííttuulloo 55

GGeerreenncciiaammeennttoo ddaa IInnffoorrmmaaççããoo eemm CCAADD//CCAAMM

55..11.. IINNTTRROODDUUÇÇÃÃOO

No início da década de noventa surgiram os primeiros sistemas PDM

(Product Data Management). Estes incorporavam ao recurso de gerenciamento

de documentos eletrônicos dos EDMS (Electronic Data Management System), a

possibilidade de gerenciar dados de produto. Isto significava atuar em rede com

os sistemas CAD, compartilhando-os através de bancos de dados. Essa pode

ser considerada a 1a. geração dos sistemas PDM.

Os sistemas CAD/CAM/CAE e CIM (Computer-Integrated Manufacturing),

com a facilidade de rapidamente gerar e alterar dados do produto, têm exigido

que, com muito esforço, os sistemas convencionais gerenciem dados, e também

auxiliem no processo de criação e utilização dos dados numa forma ordenada e

eficiente. Dessa forma, os usuários podem facilmente criar quantidades

consideráveis de informação relacionada ao produto. E para complicar ainda

mais a questão, esta informação está freqüentemente armazenada em

diferentes formatos dentro de uma variedade de sistemas, e se encontra em

CAP. 5 � GERENCIAMENTO DA INFORMAÇÃO EM CAD/CAM 62

diferentes e dispersos computadores. Esses podem estar armazenados em

diferentes tipos de mídia, por exemplo: arquivos de computadores, cópia

impressa em papel, cartões perfurados, microfilmes.

A utilização de sistemas PDM auxilia a implementação da Engenharia

Simultânea, pois estes sistemas fornecem meios para integração e para o

gerenciamento das informações do produto e do processo de desenvolvimento

de produtos conforme as necessidades da empresa (CIMdata, 1999).

Atualmente, o desenvolvimento de produto deve estar integrado com todas

as atividades, áreas e informações da empresa. Para essa necessidade,

surgiram os sistemas PDM ditos de 2a. geração. Tais sistemas atendem grande

parte das necessidades de engenharia, gerenciando os modelos CAD e

aplicando o conceito DMU � Digital Mock-Up, os recursos de coordenação dos

fluxos de atividades de decisão, aprovação e ordenamento de tarefas, e

modificações realizadas sobre os modelos. Além disso, permitem uma

integração com os sistemas computacionais de MRP � Materials Requirements

Planning através de relacionamentos com listas de materiais, atendendo as

áreas de planejamento, fabricação, suprimentos e financeiras.

A utilização e aplicação desses sistemas nas atividades de suporte ao

gerenciamento de projetos nas indústrias é promissora. (GUERRERO et al.,

1999), baseado em fontes do CIMdata, informa que o mercado de sistemas

PDM movimentou em 1997 cerca de U$1,1 bilhões, e a expectativa de

crescimento é de 18% por ano, até o ano 2000. Além disso, observa-se que o

mercado de PDM possui uma grande segmentação, que tende a aumentar no

futuro, com uma grande variedade de empresas e sistemas. As 10 maiores

empresas fornecedoras de sistemas PDM dominam aproximadamente 50% do

mercado, e o restante é dividido entre dezenas de outras empresas.

5.1.1. O QUE É PDM? PDM é um acrônimo das palavras, em inglês, Product Data Management,

que quer dizer "Gerenciamento de Dados do Produto". Numa organização

empresarial, os sistemas PDM atuam nos diversos departamentos e setores,

conforme mostra a Figura 27.

CAP. 5 � GERENCIAMENTO DA INFORMAÇÃO EM CAD/CAM 63

PDM é uma ferramenta que ajuda a gerenciar os dados e o processo de

desenvolvimento do produto. Os sistemas PDM guardam a trilha de dados e

informação requeridos para projetar, fabricar ou construir, e então suportar e

manter o produto.

Figura 27. Utilização do sistema PDM numa organização empresarial (CIMDATA, 1999).

PDM é uma extensão geral de técnicas, as quais comumente recebem

diversas denominações representadas por outros acrônimos de palavras em

inglês, tais como:

• EDM � Engineering Data Management; Electronic Data Management

• Document Management

• PIM � Product Information Management

• TDM � Technical Data Management

• TIM � Technical Information Management

• Image Management; e outros.

Em suma, PDM é aceito como uma terminologia comum, que engloba

todos os sistemas que são usados para gerenciar a informação do produto.

Os sistemas PDM integram e gerenciam processos, aplicações, e

informação que definem o produto por meio de diversos sistemas e mídias. A

qualidade de um produto é função de um desenvolvimento, uma fabricação e

uma distribuição eficiente e bem administrada. Os sistemas PDM ajudam

atingir esses objetivos.

Projeto Fabricação

Produção

Processos da fábrica

Gerenciamento e Controle

Compra e Finanças

PublicidadeVenda

Atendimento ao cliente

Sistemas PDM

Infra-estrutura einstalações de informação

CAP. 5 � GERENCIAMENTO DA INFORMAÇÃO EM CAD/CAM 64

Os sistemas PDM gerenciam toda a informação relacionada ao produto,

incluindo documentos eletrônicos, arquivos digitais, e registros de banco de

dados. A Tabela 7 cita alguns produtos gerenciados por sistemas PDM.

Tabela 7. Tipos de produtos gerenciados por sistemas PDM.

Produtos manufaturados � automóveis, computadores, refrigeradores, telefones celulares Grandes projetos de construção civil � prédios, pontes Plantas industriais � refinarias, plataformas de petróleo, indústrias farmacêuticas e alimentícias Instalações de infra-estrutura � aeroportos, portos, sistemas ferroviários, depósitos estratégicos para armazenamento Serviços � redes de distribuição para eletricidade, telecomunicações, água, gás, TV a cabo, instalações de fontes energia, e outros...

Exemplos de pessoas que se beneficiam do uso de PDM, incluem:

executivos seniores, administradores, diretores técnicos e industriais,

engenheiros-chefes, engenheiros-supervisores, gerentes (das áreas de projeto,

de produção, de CAD/CAM/CAE, de tecnologias de informação, serviços de

informação, de manutenção e operação, de marketing e de venda), funcionários

de estoque e compra, e diversos outros profissionais que manipulam grandes

quantidades de dados e informação.

Companhias de vários segmentos industriais que projetam e produzem

produtos, podem se beneficiar do uso de sistemas PDM (Ver Tabela 8).

Tabela 8. Indústrias que se beneficiam com os sistemas PDM.

Indústria aeroespacial Indústria de bebidas e alimentos Indústria automotiva: montadoras, fabricantes automotivos, fornecedores

Órgãos governamentais estaduais e federais; e outros...

Indústria de fabricação mecânica em geral Indústria de geração de energia Indústria de produtos elétricos e eletrônicos, ou ambos

Indústria de serviços: eletricidade, água, telecomunicações

Indústria de computadores Indústria de transportes Indústria de defesa e guerra Indústria de construção civil Indústria de exploração e produção de óleo e gás Escritórios de projeto e gerenciamento Indústria de processos de engenharia e química Indústria farmacêutica

55..22.. CCLLAASSSSIIFFIICCAAÇÇÃÃOO DDEE SSIISSTTEEMMAASS PPDDMM

A diversidade de opções, explica o porquê da dificuldade que é fazer um

processo de seleção e escolha de um sistema PDM. Além da funcionalidade

direta de um sistema PDM, fatores ambientais afetam a utilização e a

CAP. 5 � GERENCIAMENTO DA INFORMAÇÃO EM CAD/CAM 65

importância de tais sistemas. Tópicos relacionados à redes distribuídas,

arquiteturas cliente-servidor, à interface do usuário, ao gerenciamento de

banco de dados são importantes na determinação do tamanho e da

constituição de um produtivo sistema PDM.

De acordo com o artigo de (GUERRERO, 1999), os sistemas PDM podem

ser classificados por critérios funcionais e técnicos. Os critérios funcionais

dizem respeito às necessidades de informação ou processos da empresa; por

exemplo: origem do sistema, campos funcionais, e escopo de aplicação. Já os

critérios técnicos definem características computacionais do sistema, tais

como: flexibilidade, arquitetura e plataforma computacionais, tipo de base de

dados utilizada, e dados gerenciados. Na seqüência, cada um desses critérios

são brevemente comentados.

5.2.1. CRITÉRIOS FUNCIONAIS

ORIGENS DOS SISTEMAS PDM Os sistemas PDM são uma tecnologia relativamente nova, embora o

conceito tenha recebido vários disfarces, ou se modificado com várias

roupagens por um longo tempo. Os primeiros sistemas computadorizados

disponíveis foram introduzidos no início da década de 80. O surgimento de tais

sistemas é justificada pela necessidade e a oportunidade vislumbrada pelas

empresas implementadoras de sistemas CAD em desenvolver sistemas que

gerenciassem o grande volume de informações gerado. Por outro lado,

empresas que comercializavam sistemas de gerenciamento de documentos e

imagens, também identificaram esta necessidade ao verificar que seus

aplicativos não atendiam todas as necessidades do processo de

desenvolvimento de produtos.

Por conta disso, surgiu a primeira geração de sistemas PDM, os quais

eram em parte proveniente dos sistemas CAD, e outra parte proveniente dos

sistemas gerenciadores de documentos. Algumas características dos sistemas

derivados do CAD possuem como ponto forte uma estreita integração com o

aplicativo de origem, podendo dispor de funcionalidades especiais como a

geração de um protótipo ou modelo eletrônico. Em contrapartida, estes

sistemas apresentam limitações para gerenciar informações que não sejam do

CAP. 5 � GERENCIAMENTO DA INFORMAÇÃO EM CAD/CAM 66

CAD de origem. Já os sistemas provenientes de aplicativos EDM apresentam

vantagens relativas às funcionalidades de gerenciamento de documentos (como

cofre de dados e visualização), porém podem ser limitados quanto às

funcionalidades específicas de gerenciamento do produto. Quanto aos sistemas

originariamente PDM, estão no meio termo entre os outros dois tipos citados

anteriormente. Eles possuem características mais flexíveis, pois não enfatizam

demasiadamente, nem o gerenciamento de documentos, nem o processo de

desenvolvimento de produto.

CAMPOS FUNCIONAIS Além da funcionalidade básica, que é gerenciar documentos, alguns

sistemas possuem funcionalidades específicas para suportar o produto, a

manufatura, ou o projeto.

As funcionalidades de produto são relacionadas com as informações de

controle do processo de criação e aprovação de desenhos e componentes,

especificações do produto, sobre os processos e a qualidade do produto.

As funcionalidades de manufatura tratam com informações que dizem

respeito à produção do produto e processos de fabricação.

As funcionalidades de projeto referem-se ao gerenciamento, como controle

de prazos, controle de versões e estado do projeto.

ESCOPO DE APLICAÇÃO Uma outra classificação possível refere-se ao escopo, ou abrangência de

aplicação do sistema dentro da empresa. Um sistema PDM pode ser aplicado

numa empresa com vários departamentos, ou simplesmente executando

operações específicas num determinado setor. Estas diferentes abordagens são

reflexos das necessidades da empresa e das características do sistema.

5.2.2. CRITÉRIOS TÉCNICOS

FLEXIBILIDADE • Sistemas de alta flexibilidade: são apresentados na forma de

ferramentas de desenvolvimento que podem ser totalmente moldadas

conforme a necessidade da empresa.

CAP. 5 � GERENCIAMENTO DA INFORMAÇÃO EM CAD/CAM 67

• Sistemas de baixa flexibilidade: na maioria dos casos, estes sistemas

são fornecidos na forma de soluções pré-desenvolvidas e possuem

como grande vantagem a agilidade no processo de implantação.

• Sistemas de média flexibilidade: são sistemas que permitem um amplo

espectro de personalização e adaptação às necessidades da empresa,

porém restrito a alguns limites.

ARQUITETURA E PLATAFORMA COMPUTACIONAIS A arquitetura cliente-servidor é a mais usada. A arquitetura baseada na

Internet ainda é pouco utilizada, porém existe uma motivação em utilizá-la

cada vez mais.

Quanto à plataforma, a mais utilizada é a UNIX. Atualmente, as soluções

baseadas em PC e Windows NT vêm ganhando espaço no mercado. Mais

raramente, existem sistemas também operando em plataforma Macintosh.

TIPO DE BASE DE DADOS A maioria dos sistemas PDM, atualmente utilizam uma base de dados

relacional como padrão de funcionamento. Isto ocorre devido à popularização

deste conceito, e a disponibilidade de vários gerenciadores de base de dados

relacional no mercado e devido às vantagens oferecidas por esta tecnologia

como a segurança e a capacidade de organização dos dados. Além da base de

dados relacional existem alguns sistemas que utilizam base proprietária e base

de dados orientada a objetos.

A tendência atual está no crescimento do uso de bases orientadas a

objetos devido à evolução desta tecnologia e às vantagens que ela oferece em

relação à base relacional. As bases proprietárias são aquelas específicas de um

determinado produto e possuem uso restrito.

DADOS GERENCIADOS O mais comum, é que sistemas PDM gerenciam apenas arquivos. Alguns

sistemas trabalham somente com um tipo de arquivo (este é o caso da maioria

dos sistemas PDM provenientes de fornecedores de CAD), porém grande parte é

capaz de gerenciar diversos tipos de arquivos.

CAP. 5 � GERENCIAMENTO DA INFORMAÇÃO EM CAD/CAM 68

Alguns sistemas mais sofisticados gerenciam outros tipos de dados, tais

como: base de dados e características geométricas do produto. O

gerenciamento de informações de produto na forma de base de dados é o caso

mais raro, porém está se tornando uma necessidade cada vez maior. Por outro

lado, existem vários sistemas que trabalham com características geométricas,

especialmente aqueles que suportam protótipos eletrônicos, ou seja, a análise

eletrônica de interferência entre peças e conjuntos e subconjuntos mecânicos.

55..33.. OOSS BBEENNEEFFÍÍCCIIOOSS DDOOSS SSIISSTTEEMMAASS PPDDMM

Os sistemas PDM fornecem uma estrutura na qual todos os tipos de

informação usadas para definir, fabricar, e suportar os produtos, são

armazenados, gerenciados, e controlados. Normalmente, os sistemas PDM são

usados para trabalhar com documentos eletrônicos, arquivos digitais, e

registros de banco de dados. Conforme a Tabela 9, esses dados podem incluir:

Tabela 9. Tipos de dados gerenciados por sistemas PDM.

Diferentes configurações e versões do produto Especificações Definições de peças e outros dados de projeto Desenhos de CAD Modelos geométricos Planos de projeto; e outros... Modelos de análise e resultados Anotações de vídeo e áudio Programas de peças NC Cópias impressas e microfilmes (slides) Planos e programação de processos de fabricação

Documentos armazenados eletronicamente, notas, e correspondência;

Componentes de programas computacionais de produtos

Imagens (desenhos escaneados, fotografia, etc.)

Em suma, qualquer informação necessária em toda parte do ciclo de vida

do produto pode ser gerenciado por um sistema PDM, deixando os dados

corretos acessíveis a todas as pessoas e sistemas que tenham necessidade de

usá-los. Um sistema PDM não está limitado a gerenciar somente os ciclos de

projeto mas, de acordo com as necessidades do usuário, pode gerenciar a

concepção do produto, o projeto detalhado, prototipagem e testes, fabricação,

operação, e manutenção. O processo de desenvolvimento do produto é

gerenciado, assim como os dados. Os sistemas PDM controlam a informação do

produto, os estados, os processos de aprovação, autorização, e outras

CAP. 5 � GERENCIAMENTO DA INFORMAÇÃO EM CAD/CAM 69

atividades que interagem nos dados do produto. Proporcionando o

gerenciamento dos dados e a segurança, os sistemas PDM garantem que

usuários sempre acessem e compartilhem a informação atualizada e aprovada.

Os sistemas PDM proporcionam um significativo ganho de produtividade

quando eles são usados por um grupo ou equipe de trabalho. Todavia, um

impacto muito maior é sentido, ou fica mais evidente, quando eles são

aplicados a uma organização empresarial e industrial de grande porte.

Os sistemas PDM proporcionam benefícios em todas as disciplinas e áreas

do projeto e desenvolvimento do produto. Quase todas as pessoas numa

organização podem se beneficiar do uso desta tecnologia.

A conexão entre os dados do produto e um banco de dados é o principal

fator da garantia de sua integridade. Conhecendo e gerenciando quem está

usando os dados, e como; fornece a base necessária para manter a integridade

da informação. A inconsistência dos dados pode ser evitada, e o

relacionamento entre os dados é mantido.

Devido à sua aplicação num amplo conjunto de usuários e áreas, e à sua

facilidade para controlar o fluxo de informações, os sistemas PDM servem como

instrumentos para implementar as práticas da Engenharia Simultânea. Os

benefícios advindos da implementação da Engenharia Simultânea vão além da

engenharia de projeto, propagando-se para economia de custos de fabricação,

redução do tempo de lançamento de novos produtos no mercado e aumento da

qualidade do produto, além dos benefícios de redução do tempo de projeto de

engenharia.

As mudanças nos produtos são inevitáveis, mas elas podem tornar-se

excessivamente caras e descontínuas se ocorrem muito tarde dentro do ciclo de

vida do produto, tais como na produção ou fabricação, ou mais tarde ainda.

As mudanças poderiam ocorrer bem mais cedo no ciclo de vida do produto

se as equipes de projeto fossem encorajadas a compartilhar dados e

documentos num ambiente suportado por um sistema PDM. Este é o caminho

para melhores produtos, custos reduzidos, economia de tempo, menos sobras e

menos reprojetos.

CAP. 5 � GERENCIAMENTO DA INFORMAÇÃO EM CAD/CAM 70

55..44.. CCAARRAACCTTEERRÍÍSSTTIICCAASS EE FFUUNNÇÇÕÕEESS DDEE UUMM SSIISSTTEEMMAA PPDDMM

Para sistema PDM suportar qualquer tipo particular de desenvolvimento

do produto, ele necessita de um conjunto básico de funções. Estas funções

servem todas as áreas que se beneficiam dos PDM�s. Uma visão funcional de

um sistema PDM é mostrada na Figura 28.

Figura 28. Visão funcional dos sistemas PDM (CIMDATA, 1999).

Os sistemas PDM são constituídos por:

• Um repositório de dados

Um cofre eletrônico de dados é usado como um repositório para controlar

todos os tipos de informação do produto. O cofre é um armazém de dados que

contém alguns dados dentro deles mesmos, e controla outros dados gerados

externamente pelo gerenciamento do acesso a eles. Dois tipos de dados estão

armazenados:

• Dados de produto gerados em várias aplicações: especificações,

modelos de CAD/CAE/CAM, registros de manutenção, e manuais de

operação.

• Meta-dados: são os dados a respeito da informação armazenada pelo

sistema PDM. Meta-dados estão armazenados em bancos de dados

PDM, e suportam as funções realizadas pelo sistema PDM.

• Um conjunto de funções para o usuário A funcionalidade de um sistema PDM se resume a duas grandes

categorias: funções do usuário e funções utilitárias. As funções do usuário

Usuários de AplicaçãoCAD/CAM, NC, Compra,

Documentação, etc.

Usuários PDMMúltiplas aplicações

Sistema PDMBanco de meta-dados Arquivos gerenciados

dados dados

controle

dados

Arquivos particulares

CAP. 5 � GERENCIAMENTO DA INFORMAÇÃO EM CAD/CAM 71

fornecem a interface do usuário para os recursos do sistema PDM, incluindo o

armazenamento, a recuperação, e o gerenciamento de dados. Diferentes tipos

de usuários usam diferentes subconjuntos das funções do usuário. Estas

funções são divididas em cinco categorias:

• Cofre de dados e gerenciamento de documentos;

• Gerenciamento do processo e do fluxo de dados;

• Gerenciamento da estrutura do produto;

• Classificação;

• Gerenciamento da programação.

• Um conjunto de funções utilitárias As funções utilitárias fornecem suporte que facilitam o uso de sistemas e

fornecem suporte às funções do usuário mencionadas acima. As funções

utilitárias fazem a interface com o ambiente operacional e isolam as suas

funções do usuário. A personalização permite ao sistema operar de acordo com

o ambiente do usuário. As funções utilitárias incluem:

• Recursos de comunicação e notificação;

• Transporte de dados;

• Conversão e tradução de dados;

• Serviços de imagem;

• Administração do sistema.

Dados de outras aplicações computacionais são controlados pelas regras

de acesso e salvamento de arquivos no sistema PDM. Isto é conseguido de

duas maneiras:

• Adicionando comandos PDM noutras aplicações que criam dados, tais

como CAD, processadores de texto, planilhas de cálculo, programas de

editoração, ou outras aplicações especializadas;

• Adicionando comandos de outras aplicações em sistemas PDM.

Alguns documentos, tais como desenhos em papel, cartões perfurados,

películas de microfilmes, ou outros tipos de cópias físicas, podem ser

capturados, como imagens dentro de repositórios eletrônicos, através de

CAP. 5 � GERENCIAMENTO DA INFORMAÇÃO EM CAD/CAM 72

escaneamento. Alguns usuários preferem converter imagens de documentos

textuais através de reconhecimento óptico de caracteres (OCR � Optical

Character Recognition) em textos legíveis pelo computador. É possível converter

algumas imagens de desenhos rasterizados em dados vetoriais, via um

software; embora outros usuários prefiram capturar dados vetoriais através de

técnicas de digitalização.

5.4.1. AS FUNÇÕES DO USUÁRIO

COFRE DE DADOS E GERENCIAMENTO DE DOCUMENTOS A principal preocupação de muitas companhias é a garantia de que o dado

do produto seja atualizado corretamente, e esteja protegido contra acidentais e

eventuais danos e inconsistências. O cofre de dados e o gerenciamento de

documentos fornece um armazenamento seguro e a recuperação das

informações de definição do produto. As funções de verificação de entradas e

saídas (check-in e check-out, respectivamente) trabalham com dados

armazenados num cofre eletrônico para fornecer um armazenamento seguro e

controle de acesso aos dados. Níveis de versões dos dados de projeto são

definidos, e para os usuários são definidas autorizações de acesso.

O cofre de dados contêm ou os dados ou a informação que aponta para a

localização dos dados. Dados controlados por sistemas PDM não podem ser

acessados sem passar pelos procedimentos de controle do sistema. A

localização exata dos dados é escondida dos usuários, das aplicações, e do

sistema operacional.

O gerenciamento das versões assegura que os dados atinjam os status de

versões somente após a passagem de processos de aprovação predefinidos.

Vários cenários de aprovação podem ser definidos. O acesso de usuários à

informações atende a critérios de controle definidos pelo usuário, os quais

estão baseados no projeto, na senha, etc..

Os meta-dados armazenam informações a respeito dos dados do produto,

de forma que alterações, níveis de versões, autorizações de aprovação, e outros

controles de dados possam ser trilhados e auditados. Os meta-dados também

são usados para criar relacionamentos entre dados do produto, de forma que a

informação possa ser agrupada e relacionada pelo tipo de aplicação ou uso do

CAP. 5 � GERENCIAMENTO DA INFORMAÇÃO EM CAD/CAM 73

produto, e entre tipos de produtos. Dados de definição do produto podem estar

associados com diferentes configurações do produto, bem como, com peças que

compõem o produto.

Alguns dados que estejam armazenados em desenhos impressos,

documentos armazenados sob sistemas remotos, podem ser controlados por

referência. É lógico, que desta forma, o nível de segurança é inferior ao de

quando os arquivos estão armazenados no cofre de dados. Mesmo assim, este

nível de segurança ainda é melhor que o verificado em sistemas não

automatizados, e a trilha dos dados é facilitada.

GERENCIAMENTO DO PROCESSO E DO FLUXO DE DADOS Usando cofre de dados e gerenciamento do produto sozinhos, um sistema

PDM pode reagir a demandas posteriores. Com gerenciamento do processo e

fluxo de dados, um sistema PDM pode interagir com pessoas, trabalhando de

acordo com processos predefinidos de uma organização, e dados e documentos,

para atingir objetivos corporativos. Processos repetitivos podem ser

programados dentro do sistema PDM, e ele pode mapear um modelo da

organização. O gerenciamento do processo e do fluxo de dados fornece uma

rota para dirigir um negócio com informação.

O gerenciamento do processo e do fluxo de dados pode definir e controlar

mudanças da configuração do produto, de definições de peças, de outros dados

do produto, de relacionamentos de dados, de versões de dados, e de variações.

O gerenciamento do processo e do fluxo de dados pode definir e controlar os

processos de revisão e aprovação de mudanças nos dados do produto. Os

fluxos de trabalho e processos são definidos em termos de seqüências de

eventos que devem ocorrer antes que dados modificados do produto sejam

considerados como uma nova versão.

Pessoas que estão autorizadas a aprovar mudanças em informações

particulares do projeto são identificadas dentro do sistema PDM. O sistema

trilha e gerencia o processo de aprovação.

Quando mudanças nos dados do produto são conduzidas a uma

aprovação, um fluxo de trabalho ou um processo específicos podem ser

automaticamente disparados. Os aprovadores para a informação específica,

CAP. 5 � GERENCIAMENTO DA INFORMAÇÃO EM CAD/CAM 74

são notificados automaticamente pelo sistema PDM de que mudanças foram

feitas, e que estão esperando por uma aprovação.

Quando a mudança é processada, a aprovação ou reprovação é indicada

eletronicamente. Depois de todos os passos no processo de aprovação terem

sido completados com sucesso, os dados do produto aprovado são colocados

num nível seguinte de uma nova versão, e armazenados no cofre de dados. Os

dados do produto seguem com sucesso pelo processo de fluxo de trabalho

definido. Outros usuários são notificados de que a versão dos dados foi

incrementada.

Os fluxos de trabalho podem automaticamente enviar, pastas de dados

eletrônicos ou pacotes de trabalho, para revisores. Isto pode se dar de forma

serial ou simultânea. O fluxo de trabalho pode monitorar processos, assegurar

que processos acabem antes que outros comecem, e podem fornecer relatórios

de gerenciamento.

Os sistemas PDM registram cada passo dentro de um processo. Usuários

e gerentes podem revisar toda a histórias das mudanças a qualquer hora,

quando assim desejarem.

GERENCIAMENTO DA ESTRUTURA DO PRODUTO O Gerenciamento da estrutura do produto facilita a criação e o

gerenciamento de configurações do produto e de listas de materiais (BOM �

Bills of Material). Estruturas típicas de produtos podem conter atributos,

instâncias, e informação da localização em adição a dados de listas de

materiais. Estes dados melhoram o valor da estrutura para atividades externas

ao planejamento da fabricação. Listas de materiais padronizadas podem ser

geradas automaticamente a partir da estrutura do produto.

Sistemas PDM permitem que usuários e aplicações relacionem ou

associem dados de definição de produtos, tais como desenhos, documentos, e

planejamentos de processos à estruturas de peças e produtos. Isto permite que

usuários facilmente determinem qual informação deverá ser afetada em

eventuais alterações.

É possível percorrer toda a estrutura do produto, e isto facilita o projeto,

construção, operação, e manutenção. O gerenciamento da estrutura do

CAP. 5 � GERENCIAMENTO DA INFORMAÇÃO EM CAD/CAM 75

produto vasculha componentes físicos e conexões, ou objetos virtuais tais como

sistemas de resfriamento ou um procedimento de emergência.

Diferentes setores exigem visões especializadas sobre as informações do

produto. Os sistemas PDM permitem mostrar o relacionamento estrutural, de

processos de fabricação, da documentação, das finanças, do suporte e

assistência técnica, e outros relacionamentos embutidos nos dados de

definição do produto.

Os dados para processos e planejamento da fabricação estão disponíveis

em ambientes PDM, e podem ser transferidos para sistemas MRP. Os sistemas

PDM possibilitam o controle e o acompanhamento destes dados, exatamente

como faz para outros dados do produto. Os sistemas MRP mantêm e controlam

informações vitais sobre a produção do produto. Esta informação pode ser

transferida em sistemas PDM, fornecendo importantes dados para o ciclo de

desenvolvimento do produto.

CLASSIFICAÇÃO A classificação permite que peças similares ou padronizadas, processos, e

outras informações de projeto possam ser agrupadas por atributos comuns e

recuperadas para uso em produtos. Isto conduz a uma maior padronização,

reprojeto reduzido, economia em compras e fabricação, e estoques reduzidos.

As funções de classificação dos sistemas PDM fornecem recursos muito

mais eficientes de procura de peças similares ou padronizadas, do que os

recursos encontrados em catálogos e outros sistemas manuais. Quando

engenheiros e projetistas são capazes de encontrar peças similares ou

padronizadas facilmente, eles provavelmente as reusam ao invés de projetar

partindo do nada ou de rascunhos.

As peças podem ser agrupadas e encontradas por vários atributos, tais

como: códigos funcionais da peça; classificação da forma, material, data de

possíveis versões da peça, revisão, projetista, nome do projeto, proprietário,

data de criação, etc. Estes e outros atributos podem estar associados a dados

do produto que têm relação com as peças.

Peças e projetos que correspondem a atributos específicos, faixas de

valores, e combinações lógicas de atributos, podem ser recuperados. Isto

CAP. 5 � GERENCIAMENTO DA INFORMAÇÃO EM CAD/CAM 76

permite que os usuários facilmente obtenham dados de produtos, que sejam

idênticos ou similares ao do projeto requerido.

Figura 29. Classificação hierárquica de peças padronizadas

A classificação e recuperação de peças e outros objetos, pode ser facilitada

pelo desenvolvimento e gerenciamento de estruturas de classificação. Para

peças, estas podem ser hierarquias de famílias de peças. Um exemplo, é

mostrado na Figura 29, onde diferentes parafusos são peças de uma família de

parafusos, a qual é parte de uma família de prendedores ou fixadores. Pelo

desenvolvimento e gerenciamento desta hierarquia de famílias de peças, com

características definindo cada classe de família, os usuários encontram peças

apropriadas realizando pesquisas de acordo com as características desejadas.

Para fazer uso das potencialidades de gerenciamento de famílias de peças,

uma companhia deve ter uma definição da hierarquia de famílias de peças que

melhor se encaixe nas necessidades da companhia e nas suas operações.

Algumas normas de padronização, tais como ISO e DIN, auxiliam a definir

famílias de peças e os seus relacionamentos.

Bibliotecas de peças, tais como fixadores, componentes eletrônicos,

componente tubulares, ou materiais de construção estão disponíveis, e podem

ser acessados via mecanismos similares, através de sistemas PDM.

� Fixadores/Prendedores

� Parafusos

� Parafuso de cabeça arredondada com fenda

� Parafuso de cabeça plana com fenda

� Parafuso de cabeça sextavada com fenda

� Parafuso �Allen�

� Parafuso �Phillips�

� Rebites

� Arruelas

� Porcas

CAP. 5 � GERENCIAMENTO DA INFORMAÇÃO EM CAD/CAM 77

GERENCIAMENTO DA PROGRAMAÇÃO O gerenciamento da programação fornecem estruturas WBS � Work

Breakdown Structures, as quais são usadas para controlar o andamento dos

projetos. Estas estruturas permitem particionar as atividades para com isso

fazer a alocação de recursos, financiamentos, programação, etc. Recursos e

dados gerenciados estão associados para proporcionar um nível melhorado de

planejamento e acompanhamento do projeto. Estas potencialidades são

freqüentemente conseguidas através de uma ligação com outros sistemas de

gerenciamento de projeto de outros fornecedores. A vantagem principal surge

da habilidade em relacionar as WBS aos ciclos de procedimentos de aprovação

e configurações de produtos de sistemas PDM.

As tarefas requeridas para completar a programação do produto estão

ordenadas dentro da estrutura WBS tal que os recursos e o projeto podem ser

monitorados. Quando o projeto progride tarefa a tarefa, os recursos gastos são

registrados. A finalização dos dados requeridos de cada atividade é registrada

por processos de aprovação.

5.4.2. AS FUNÇÕES UTILITÁRIAS

RECURSOS DE COMUNICAÇÃO E NOTIFICAÇÃO Projetistas e outros participantes do projeto são informados sobre o estado

atual, através de notificações e alertas automáticos, e podem com isso ser

informados de quando uma certa informação está ou não disponível para dar

continuidade às atividades. Além do mais, com a certeza de ter a informação

mais atualizada.

O mecanismo de notificação pode utilizar recursos de correios eletrônicos

para informar sobre eventos importantes ou ações requeridas. Os atrasos e

comunicação erradas são minimizadas. Este mecanismo pode também ser

usado para delegar atividades quando um usuário está impossibilitado de

completar uma determinada tarefa.

Um mecanismo de software, conhecido como �gatilho�, é usado para

espalhar as notificações e outras ações automaticamente. Quase todo evento

num processo de desenvolvimento de produto pode provocar uma mensagem a

ser enviada ou causar um outro evento. Estes gatilhos são usados para

CAP. 5 � GERENCIAMENTO DA INFORMAÇÃO EM CAD/CAM 78

ordenar o cofre de dados e o gerenciamento de documentos, o fluxo de

trabalho, e os procedimentos de gerenciamento dos processos.

TRANSPORTE DE DADOS Todos os dados são armazenados e acessados sob o controle de sistemas

PDM, assim um usuário não necessita saber onde os dados estão armazenados

dentro de uma rede de computadores. O sistema mantém a trilha da

localização dos dados, e permite usuários acessá-los somente sabendo o nome

dos dados. O nome dos dados não são limitados pelas convenções de nomes

dos sistemas operacionais, assim eles podem receber nomes sugestivos e

significativos sobre os dados armazenados. O usuário também fica livre de

saber utilizar comandos específicos do sistema operacional para poder

manipular os arquivos.

A movimentação dos dados de uma localização para outra, ou de uma

aplicação para outra, é uma operação que os sistemas PDM realizam, e mais

uma vez os usuários não necessitam se preocupar com comandos específicos

do sistema operacional ou outros comandos de rede.

CONVERSÃO E TRADUÇÃO DE DADOS O administrador do sistema pode predefinir alguns tradutores de dados a

serem usados para converter dados entre pares de aplicações, e formatá-los

para vários dispositivos de exibição ou impressão. Isto reforça a forma de

padronização dos dados. Embora os tradutores não sejam parte integral dos

sistemas PDM, eles podem ser aplicados porque o sistema conhece o formato

dos dados de cada arquivo controlado, e qual tradutor é apropriado.

Os �gatilhos� podem disparar a tradução de dados automaticamente de

uma aplicação para outra, quantas vezes forem necessárias. Assim, tem-se a

garantia de utilização dos dados corretos em qualquer situação controlada pelo

sistema PDM.

SERVIÇOS DE IMAGEM Imagens de vídeo, �raster�, ou vetorial, são tratadas da mesma forma que

os dados pelos sistemas PDM. O acesso em rede permite uma distribuição da

informação do produto numa maneira estruturada para muitos usuários.

CAP. 5 � GERENCIAMENTO DA INFORMAÇÃO EM CAD/CAM 79

A visualização de imagens permitem que usuários, tais como gerentes e

trabalhadores de chão-de-fábrica, visualizar desenhos e outros dados de

projeto em PC�s ou terminais, fornecendo acesso a uma ampla audiência. Os

recursos de marcação e anotação permite que verificadores, revisores, e

aprovadores adicionem comentários e anotações para imagens �raster�.

Os serviços de imagens aceleram processos, tais como ECR (Engineering

Change Requests) e ECO (Engineering Change Orders), facilitando a troca de

informação e comentários entre os usuários.

ADMINISTRAÇÃO DO SISTEMA. O administrador ajusta os parâmetros do sistema PDM e monitora sua

performance. As funções de administração incluem:

• Permissões de acesso e de

alterações;

• Autorizações;

• Procedimentos de aprovação;

• Cópia de dados e segurança;

• Arquivos de dados.

A personalização do sistema permite que pessoas trabalhem conforme

procedimentos normativos, e melhorem a eficiência das operações de usuários.

A interface do usuário e algumas características operacionais do sistema PDM

também podem ser personalizadas. Por exemplo, um processo de aprovação

pode exigir uma seqüência de aprovação de várias pessoas, ou exigir uma

maioria de aprovação em outros. Os sistemas podem ser personalizados de

várias formas, incluindo:

• Leiaute da interface do

usuário;

• Integração com aplicações;

• Modificação de mensagens do

sistema e a terminologia;

• Adição de novas funcionalidades.

Muitos sistemas fornecem padrões, interfaces para aplicações populares

tais como CAD, CAM, MRP/ERP (Enterprise Requirements Planning), publicação

técnica, e automação de escritórios. Além disso, muitos sistemas oferecem

pacotes de interface, bibliotecas de interfaces do tipo GUI (Graphical User

Interface).

CCaappííttuulloo 66

TTééccnniiccaass ee MMeettooddoollooggiiaass MMooddeerrnnaass ppaarraa TTrrooccaa ddee

DDaaddooss eemm CCAADD//CCAAMM

66..11.. IINNTTRROODDUUÇÇÃÃOO

Não apenas a metodologia de trabalho, mas sobretudo as ferramentas

utilizadas, influenciam a concepção e o resultado final de um produto. Na

sociedade moderna, a utilização dos computadores como meio de expressão,

geração e manipulação da informação, é imprescindível. No contexto do

CAD/CAM, surge a necessidade pela troca de dados e compartilhamento de

informação nas atividades de desenvolvimento do produto. Outro fato que

evidencia esta necessidade é o modelo de trabalho atual caracterizado como

sendo: corporativo, integrado, simultâneo, e globalizado. Portanto, o modelo de

representação e a arquitetura computacional dos sistemas deve considerar

todos os aspectos da indústria e da equipe envolvida com as atividades do

processo de desenvolvimento do produto. Os recursos disponíveis devem

favorecer o fluxo de atividades para que transcorra de forma integrada e

CAP.6 � TÉCNICAS E METODOLOGIAS MODERNAS PARA TROCA DE DADOS EM CAD/CAM 81

simultânea; além de estar adaptado ao mercado globalizado, com recursos de

redes computacionais (Internet, Intranet). Os meios para atingir este objetivo,

são fornecidos pela aplicação de técnicas de Inteligência Artificial, sistemas de

informação, por métodos mais avançados de modelagem do produto e também

pela adoção de formatos de arquivo padrão para troca de dados.

Os sistemas baseados em modelos do produto, adotam diversas

arquiteturas computacionais, que fornecem diferentes métodos e tecnologias

integradas para assistir o projeto, permitindo modelar tanto o produto, como

também os processos de produção e fabricação e o domínio da aplicação em si.

(KRAUSE et al., 1993) e (MCMAHON e BROWNE, 1998) discutem o

relacionamento entre os diversos modelos aplicados ao produto mostrados na

Figura 30, e que constituem o seu ciclo de vida.

Figura 30. Relacionamento entre modelos do ciclo de vida do produto (Baseado em MCMAHON e BROWNE, 1998).

Conforme mostra a figura, os modelos do ciclo de vida do produto podem

ser agrupados em quatro categorias:

Modelo deFábrica

Modelo deAplicação

Modelo deProcesso

Modelo deProduto

Modelode

Estoque

Modelo deLeiaute da

FábricaModelo de

Planejamento

Modelo deEquipamento

Modelo deCálculos

ModeloOperacional

Modelo deTrajetórias

daFerramenta

Experiência eConhecimentoda Aplicação

ModeloFuncional

ModeloSólido

CAP.6 � TÉCNICAS E METODOLOGIAS MODERNAS PARA TROCA DE DADOS EM CAD/CAM 82

• Modelos do Produto: constituído pelos sub-modelos funcional, sólido, e

de cálculo;

• Modelos de Processo: constituído pelos sub-modelos de trajetórias da

ferramenta, e operacional;

• Modelos de Aplicação: constituído pelos sub-modelos de conhecimento

da aplicação, e outros;

• Modelos de Fábrica: constituído pelos sub-modelos de estoque, leiaute

de fábrica, planejamento, e equipamento.

Cada modelo preocupa-se em representar informações próprias do seu

escopo. Por exemplo, o Modelo de Fábrica se preocupa como a fábrica e os

processos envolvidos vão se modificando à medida que o produto toma forma

dentro da produção. Modelos baseados em features de fabricação exercem um

papel importante para o Modelo de Fábrica do produto, pois refletem o

compromisso da fábrica em produzir certas formas especificadas na definição

da feature.

Neste trabalho, algumas propostas serão comentadas e discutidas, dando

especial atenção em aplicações relacionadas à troca e ao compartilhamento de

dados e informações úteis às atividades de desenvolvimento do produto. Os

pontos principais serão os novos avanços na modelagem do produto e no

suporte computacional para o trabalho cooperativo.

66..22.. QQUUAADDRROO AATTUUAALL DDOOSS SSIISSTTEEMMAASS CCAADD//CCAAMM

Atualmente, os sistemas CAD/CAM estão amplamente difundidos no meio

industrial como um todo e suas aplicações são abrangentes quanto ao domínio

de atuação.

É sabido que as técnicas e metodologias de modelagem geométrica estão

bem avançadas. Com um certo grau de satisfação, elas auxiliam na criação de

formas e manipulação de dimensões. Todavia, existem várias limitações nos

sistemas CAD/CAM quando aplicados na modelagem de um produto. Por

exemplo, algumas propriedades de importância significativa para a modelagem

de aspectos tecnológicos, tais como: tolerâncias, lista de materiais, condições

CAP.6 � TÉCNICAS E METODOLOGIAS MODERNAS PARA TROCA DE DADOS EM CAD/CAM 83

superficiais e funcionais; carecem de representações mais adequadas. Estas

propriedades, ainda não estão colocadas numa representação computacional

otimizada para auxiliar o projetista. Percebe-se que os sistemas CAD/CAM em

geral, concentram-se demasiadamente em representar e capturar somente

atributos e relações geométricas (MCMAHON e BROWNE, 1998).

Portanto, a despeito do sucesso, é também consenso que os sistemas

CAD, em geral, ainda não são uma ferramenta totalmente acabada e perfeita

para suporte ao projetista durante a fase de ideação do projeto. Essa afirmação

também pode ser estendida para todas as fases do desenvolvimento de

produto, no que se refere aos demais sistemas (CAM, CAPP, CAFD �Computer-

Aided Fixture Design, CAX�s) de auxílio aos projetistas. Atualmente, exige-se de

tais sistemas, uma abrangência corporativa e integrada, a qual não fique

apenas centrada e isolada num setor específico, mas que englobe todo o

desenvolvimento de um produto.

O desafio da nova geração de sistemas CAD é representar no computador,

uma variedade maior de propriedades e atributos de projeto, que sejam

familiares aos projetistas e que manipule aspectos da prática da engenharia,

da organização de empresas e gerenciamento de equipamentos e recursos, os

quais influenciam em decisões tomadas na fase de projeto. Os pesquisadores

têm focado a atenção e esforço no desenvolvimento de ferramentas e técnicas

que são hábeis a suportar as várias fases de projeto. Inicialmente, o esforço

concentrou-se em fornecer suporte para o projeto detalhado; e mais

recentemente, a atenção tem se voltado para o projeto conceitual.

Neste trabalho, algumas das novas propostas serão comentadas, dando

especial atenção na aplicação voltada à troca e compartilhamento de dados e

informações úteis às atividades de desenvolvimento do produto. Os pontos

principais serão os novos avanços na modelagem do produto, e no suporte

computacional para o trabalho cooperativo.

66..33.. MMOODDEELLAAGGEEMM EE RREEPPRREESSEENNTTAAÇÇÃÃOO DDOO CCOONNHHEECCIIMMEENNTTOO

Devido à complexidade natural da atividade de projeto e à variedade de

produtos mecânicos, as novas propostas de metodologias, técnicas e

CAP.6 � TÉCNICAS E METODOLOGIAS MODERNAS PARA TROCA DE DADOS EM CAD/CAM 84

ferramentas para tratar a questão do projeto são apenas variações de

melhoramentos de outras técnicas já existentes. As mudanças são sutis e se

concentram basicamente em melhorar as representações do pensamento

através de novas estruturas de dados mais adequadas à captura das intenções

do projetista, ou através da mudança de estratégias e forma de aplicação de

conceitos2.

Na descrição de um produto mecânico, é necessário representar diferentes

aspectos da função, do comportamento, e da estrutura do produto. A função

representa a utilização do produto pelo usuário. O comportamento é a

seqüência dos estados pelos quais o produto passa para conseguir realizar sua

função. A estrutura refere-se aos componentes físicos ou formas utilizadas

para obter o comportamento do produto. Tendo representado os vários

aspectos do produto mecânico, é necessário ser capaz de entender as

interações entre estes aspectos, de forma que seja possível gerar e selecionar

algumas soluções de projeto.

A necessidade de modelagem do produto foi estimulada pela demanda

crescente por produtos de alta qualidade e baixos custos, e pela diminuição do

tempo de lançamento (lead-time) do produto no mercado. Por conta dessa

demanda, surgiram diversas estratégias para suportar o desenvolvimento do

produto: "Fabricação Integrada por Computador" (CIM), Produção Enxuta (Lean

Production), Engenharia Simultânea, Fábrica Fractal e Fabricação Virtual.

Embora cada uma dessas estratégias tenham o seu particular interesse, um

foco comum é a necessidade por informações tecnológicas avançadas, a fim de

aplicá-las na integração e coordenação das questões referentes ao ciclo de vida

do produto nas fases do seu desenvolvimento.

De acordo com (HSU e WOON, 1998), para suportar as atividades de

projeto num nível conceitual, é necessário resolver duas dificuldades inerentes:

i. A modelagem do problema, referindo-se à modelagem da complexidade

de interações entre os diferentes contextos e aspectos do produto;

ii. A representação do raciocínio, ou da intenção do projetista a respeito

da geração e seleção de soluções viáveis para o problema.

2 "Si non nova, saltem nove" � "Se não forem coisas novas, que sejam de uma nova forma." Adágio Popular

CAP.6 � TÉCNICAS E METODOLOGIAS MODERNAS PARA TROCA DE DADOS EM CAD/CAM 85

No texto que segue, comenta-se sobre vantagens e desvantagens de

algumas técnicas aplicadas à representação e à modelagem da troca e do

compartilhamento de dados e informações dentro do processo de projeto com

aplicação de sistemas computacionais, em especial os sistemas CAD/CAM.

66..44.. TTÉÉCCNNIICCAASS DDEE MMOODDEELLAAGGEEMM EE RREEPPRREESSEENNTTAAÇÇÃÃOO

As representações para modelagem variam desde as que são orientadas ao

computador, até aquelas orientadas ao usuário, conforme é mostrado na

Figura 31.

Figura 31. Espectro das representações de modelagem em projeto (Baseado em HSU e WOON, 1998)

As técnicas orientadas ao computador são aquelas cujo objetivo é garantir

que o raciocínio computacional possa ser suportado eficientemente. Por outro

lado, as técnicas orientadas ao usuário concentram-se em fornecer ambientes

de modelagem que auxiliem a criatividade do projetista.

6.4.1. LINGUAGENS As linguagens representam uma alternativa de formalização do projeto,

representando-o de forma única, sem ambigüidades. Devido à representação

compacta, as linguagens gramaticais são um meio eficiente de estruturação do

conhecimento de projeto. Elas têm sido usadas para descrever os aspectos

funcionais, comportamentais, e estruturais do produto.

Uma outra estratégia tem sido o desenvolvimento de uma ontologia de

projeto compartilhada. Uma ontologia é um conjunto útil de termos e conceitos

LinguagensModelos Geométricos

Grafos

Objetos

Modelos de Conhecimento

Imagens

Técnicas orientadasao computador

Técnicas orientadasao usuário

CAP.6 � TÉCNICAS E METODOLOGIAS MODERNAS PARA TROCA DE DADOS EM CAD/CAM 86

gerais o suficiente para descrever diferentes tipos de conhecimento em

diferentes domínios, mas que também são detalhados o suficiente para serem

aplicados a problemas específicos.

A análise ontológica é um processo de descoberta que conduz ao melhor

entendimento de um domínio. As idéias da análise ontológica são úteis para:

identificação de problemas (diagnóstico); identificação das causas do problema

(análise causal); identificação de soluções alternativas (criatividade e projeto);

consenso e formação de equipes de trabalho; e compartilhamento e reutilização

de informação.

Os benefícios derivados da definição de uma ontologia são: fornecer uma

base para o desenvolvimento de sistemas de informação mais inteligentes e

integrados; poder ser usada como modelos de referência para o planejamento,

coordenação, e controle de atividades de desenvolvimento de produto/processo

complexos; fornecer indícios para identificação de áreas que necessitam de

uma reestruturação organizacional, e sugerir potenciais meios para realizar

mudanças de alto impacto.

A análise e o desenvolvimento de uma ontologia tem se mostrado útil

para: formação de um consenso; projeto e programação orientada a objeto;

programação baseada em componente; projeto de interface para usuários;

modelagem de informação para ; reengenharia de processos comerciais; e

projeto de esquemas conceituais.

A definição de uma ontologia consistente nos processos de troca e

compartilhamento de dados e informações dentro dos sistemas CAD/CAM,

serviria para compartilhar e reusar o conhecimento, e favoreceria uma melhor

integração entre as diferentes fases do ciclo de vida do produto.

6.4.2. MODELOS GEOMÉTRICOS A modelagem geométrica por sólidos concentra-se na representação dos

aspectos estruturais do produto. As representações mais comuns da geometria

das formas são: B-Rep, CSG, geometria paramétrica e/ou variacional, e

features. Estas técnicas são brevemente descritas abaixo.

A B-Rep representa a geometria em termos das relações topológicas do

sólido, tais como vértices, arestas, ciclos e faces. Por ser uma proposta de

CAP.6 � TÉCNICAS E METODOLOGIAS MODERNAS PARA TROCA DE DADOS EM CAD/CAM 87

modelagem de sólidos, ela já captura bem mais informações do que os modelos

de padrões gráficos e estruturas de arame (wireframe). Essa técnica quando

aplicada sozinha, é insuficiente para fazer reconhecimento de features, que é

um recurso computacional de suporte à atividade de projeto e demais

atividades do ciclo de vida do produto. Outra técnica de modelagem de sólidos,

a CSG, representa a geometria a partir de operações booleanas e de

transformações geométricas realizadas sobre um conjunto de sólidos básicos,

denominados de primitivas.

As técnicas de modelagem paramétrica e variacional, são duas outras

alternativas para modelos baseados na geometria. Do ponto-de-vista do

usuário final, ambas as técnicas possibilitam descrever atributos geométricos

utilizando-se de valores dimensionais, como de relações entre os valores de

dimensões parametrizadas do modelo. As diferenças na aplicação de uma ou

de outra destas propostas é sutil, e às vezes elas assumem configurações

híbridas. Portanto, faz-se necessário um estudo mais minucioso para

identificar num modelo geométrico particular, qual técnica está sendo adotada.

Mais detalhes sobre fundamentos e diretrizes gerais destas duas propostas

podem ser consultados no livros de (MCMAHON e BROWNE, 1998) e (SHAH e

MÄNTYLÄ, 1995).

O importante aqui é enfatizar que estas técnicas dão mais um passo na

melhoria dos modelos geométricos aplicados nos sistemas CAD/CAM

modernos, de forma a capturar mais informação da intenção do projetista

durante o processo de concepção ou ideação. E atualmente, todas elas estão

sendo usadas juntas para tentar enriquecer a estrutura de dados com base em

features, usando o que cada uma tem de mais vantajoso.

6.4.3. PROJETO BASEADO EM FEATURES A metodologia de projeto baseado em features tenta solucionar essas

deficiências dos sistemas CAD atuais. Os novos sistemas CAD, utilizam o

conceito de feature para encapsular dados geométricos ou não, dentro das

especificidades da aplicação. Isso deve ser tal que, uma mesma peça possa

enfatizar somente atributos que forem relevantes, quando ela for aplicada a

diferentes aplicações.

CAP.6 � TÉCNICAS E METODOLOGIAS MODERNAS PARA TROCA DE DADOS EM CAD/CAM 88

Vista como na Equação (6.1), a geometria representa a parcela física,

independente, exata e quantitativa do modelo de dados, enquanto a semântica

representa a parcela abstrata, dependente de contexto e qualitativa.

SemânticaGeometriaFeature ∪⇔ (6.1)

Segundo (SHAH e MÄNTYLA, 1995), pode-se tirar duas conclusões:

• Features são estruturas de conhecimento estereotipadas embutidas em

processos cognitivos de projeto, análise, planejamento, e todas as

outras atividades de Engenharia.

• Features são dependentes do ponto de vista e da aplicação.

Sabe-se que a integração CAD/CAM exige que as características do projeto

e da fabricação do produto devem ser extraídas e interpretadas

automaticamente de um modelo de CAD, sem a intervenção humana (FUH et

al., 1996). Portanto, um ambiente de multi-modelagem partindo do projeto de

produtos e sistemas, exige que diferentes visões destes sejam recuperadas ao

longo do processo de criação e produção. Ao mesmo tempo, deve prover que a

troca de informações ocorra facilmente ao longo de todo o desenvolvimento.

6.4.4. IMAGENS Talvez, o mais próximo da forma de pensamento e raciocínio do humano

seja os modelos visuais. Recursos de rascunho à mão livre são uma boa forma

para aceleração de discussões e para comparação com diferentes soluções.

Desenhos à mão livre são uma bons para permitir diferentes visões de uma

idéia, e obter uma boa imagem espacial da solução de projeto.

Alguns pesquisadores citados por (HSU e WOON, 1998), contribuíram com

trabalhos nesta área: Em 1990, Radcliffe e Lee propuseram um modelo para o

processo de pensamento visual que evita a barreira entre a definição dos

processos cognitivos e o domínio físico; e em 1991, Sittas pesquisou sobre o

desenho à mão livre de formas tridimensionais durante as atividades de projeto

conceitual.

(NARDELLI, 1999), relata que em 1991, Laseau afirmou que o potencial da

criatividade no projeto está no contínuo fluxo de informação que flui do

CAP.6 � TÉCNICAS E METODOLOGIAS MODERNAS PARA TROCA DE DADOS EM CAD/CAM 89

desenho no papel para os olhos, para o cérebro, para as mãos e, novamente

para o desenho. Para Laseau, quanto mais vezes a informação passar por esse

ciclo, maiores serão as chances de iteração criativa. De acordo com Piaget, a

percepção é essencial no processo de conhecimento, mas também depende da

ação como um todo. Desse modo, certos mecanismos perceptivos que poderiam

ser supostos como inatos, na realidade só se materializam a partir de um dado

nível da construção dos objetos.

O reconhecimento de padrões de geometria nos sistemas CAD atuais é

muito restrito. Normalmente, os recursos se limitam à formas bidimensionais e

regulares. Além disso, os elementos geométricos reconhecidos são primitivos,

tais como pontos, linhas. O reconhecimento de curvas NURBS, ou de

convenções simbólicas que possuem uma semântica própria, (por exemplo,

acabamento superficial), ainda não estão de todo resolvidos, sendo que existem

apenas soluções particulares e dedicadas de alguns desenvolvedores de

programas CAD.

6.4.5. GRAFOS Grafos e árvores são representações populares no estágio de projeto

conceitual. Eles têm sido usados para modelar todos os aspectos do produto:

função, comportamento, e estrutura. Alem desses aspectos, os grafos também

podem ser usados para modelagem de restrições e requisitos.

Uma das principais vantagens dos grafos é que a teoria sobre este tipo de

estrutura está bem fundamentada na Matemática, e já existem muitos

trabalhos desenvolvidos com implementações de algoritmos otimizados para

manipulação dessas estruturas de dados.

6.4.6. INTELIGÊNCIA ARTIFICIAL APLICADA AO PROJETO A inteligência artificial (AI � Artificial Intelligence) é o campo que tenta

fazer com que computadores realizem tarefas que normalmente exigiriam a

inteligência humana. Alguns pesquisadores de AI, atualmente estão

interessados em modelar o processo de projeto. Os modelos da atividade de

projeto são propostos com base em estudos de Psicologia Cognitiva,

Lingüística, bem como em AI. Em resumo, estes modelos tendem a apresentar

CAP.6 � TÉCNICAS E METODOLOGIAS MODERNAS PARA TROCA DE DADOS EM CAD/CAM 90

a atividade de projeto como uma série de transformações governadas por

regras e relacionamentos das soluções com os requisitos de projeto.

Técnicas de AI buscam capturar o conhecimento de um certo domínio, e

utilizá-lo na solução de problemas. De forma a automatizar o processo de

projeto, um sistema computacional deve ser capaz de diferenciar as várias

opções e determinar o melhor caminho.

Brachman e Levesque, citados por (MCMAHON e BROWNE, 1998),

resumem que a principal aplicação da AI se concentra na descrição de regras

para o mundo real, tal que uma máquina inteligente possa tirar novas

conclusões a respeito de seu contexto de conhecimento, manipulando as

descrições originais definidas previamente.

A aplicação da AI no projeto está normalmente interessada em tornar os

computadores mais inteligentes, capacitando-os a representar e a manipular o

conhecimento do mundo real de duas formas: ou com o estudo de como os

projetistas aplicam a inteligência humana ao projeto, ou com a tentativa de

fornecer suporte computacional mais esperto durante o projeto.

A dificuldade real da AI em projeto, está na determinação de uma forma

que torne o computador também processe soluções criativas, e não apenas

soluções difíceis do tipo NP. Se um programa gera todas as soluções possíveis,

a quantidade de tempo de geração e verificação das soluções pode ser infinita.

Um programa de projeto deve ser capaz de gerar um pequeno número de

soluções possíveis de projeto, e selecioná-las para uma decisão final de qual é a

melhor. Um projetista é capaz de fazer isto com uma relativa facilidade, mas

existem fatores estranhos.

O enfoque de estudo da AI em projeto concentra-se na modelagem da

tríade formada por Função-Estrutura-Comportamento de um equipamento e

suas interconexões.

TRÍADE FUNÇÃO-ESTRUTURA-COMPORTAMENTO Normalmente, as pessoas referem-se a objetos como se eles fossem

máquinas, e citam as funções realizadas por este objeto. De acordo com citação

de (KUMARA et al., 1989), Freeman e Newell afirmam que os homens pensam

em termos de uma descrição funcional das coisas. Fundamentados nesta

CAP.6 � TÉCNICAS E METODOLOGIAS MODERNAS PARA TROCA DE DADOS EM CAD/CAM 91

confirmação, eles apresentam um método baseado em raciocínio funcional,

onde o modelo básico de um ambiente de atividade de projeto consiste de um

conjunto de estruturas e um conjunto de funções. O método assume que

estruturas existentes devem ser combinadas em novas estruturas, para

poderem atingir as funções desejadas. Isto poderia ser feito através de uma

estratégia bottom-up (iniciando pelas estruturas disponíveis) ou estratégia top-

down (iniciando com as funções desejadas).

(KUMARA et al., 1989) cita trabalhos de Bobrow e Davis, para conceituar

função e estrutura. Bobrow definiu função como as relações entre um objetivo

do usuário e o comportamento do sistema. Ele ressalta a distinção entre

funcionalidade e comportamento como sendo um diferente nível de descrição;

isto é, a função de uma peça do sistema descreve o comportamento daquela

peça com relação ao sistema como um todo. Davis definiu estrutura como a

informação sobre a interconexão de módulos organizados, ou em termos de

funcionalidade, como os módulos interagem; ou fisicamente, como eles estão

integrados.

Em resumo, o problema com o estudo de projeto está no entendimento do

relacionamento do comportamento e da estrutura. O comportamento pode ser

definido como o relacionamento entre as variáveis de entrada a partir do

ambiente, e as variáveis de saída ou efeitos nos componentes que realmente

interagem com o ambiente. Nesta definição, nenhuma menção é feita a real

estrutura interior ou ao comportamento do componente. Isto conduz à

definição de componente, como sendo uma entidade, a qual exibe um

comportamento através de uma estrutura predefinida com o ambiente externo.

Como o componente alcança o comportamento não é questão de interesse, haja

vista que ele pode ser subdividido em sub-componentes, os quais estão

definidos como acima.

O processo de projeto é a combinação de comportamentos e estruturas

para produzir um comportamento final predefinido. O processo pelo qual as

estruturas são combinadas para formar uma estrutura final, deve ser

considerado uma arte. Portanto a arte da engenharia está em combinar

estruturas no projeto, embora o propósito de engenharia é produzir uma

entidade que exiba um comportamento benéfico ao homem no seu hábitat.

CAP.6 � TÉCNICAS E METODOLOGIAS MODERNAS PARA TROCA DE DADOS EM CAD/CAM 92

SISTEMAS ESPECIALISTAS Um sistema especialista é capaz de usar regras e casos previamente

definidos para escolher a melhor solução e resolver um novo problema. Isto

possibilitaria que um sistema especialista utilizasse estruturas de projeto e

comportamentos, e os combinassem para gerar especificações de projeto.

Todavia, quando colocado em situações de projeto inéditas, ou seja, sem regras

previamente definidas, um sistema especialista é incapaz de criatividades

originais. Disso, conclui-se que um sistema especialista é capaz de auxiliar no

processo de projeto, mas é incapaz de gerar soluções inéditas de forma a

automatizar o processo de projeto.

Através de representações computacionais de heurísticas de projeto, as

quais são mais fáceis de expressar do que utilizar métodos matemáticos

clássicos, a AI vem desenvolvendo os chamados �sistemas especialistas� ou

�sistemas baseados no conhecimento�.

Figura 32. Os elementos de um sistema especialista (MCMAHON e BROWNE, 1998).

Os componentes de um sistema especialista estão ilustrados na Figura 32.

A base de conhecimento armazena o conhecimento de uma área

específica. Nesta base, o conhecimento é representado por uma simbologia

baseada numa linguagem ou notação semântica de significados, a qual possui

uma sintaxe de instruções computacionais bem definida.

O motor de inferência interage com o usuário e realiza operações de

procura e comparação entre o assunto da pesquisa e o conhecimento

armazenado na base. O propósito desse processo é encontrar um objetivo

satisfatório para a procura realizada pelo usuário.

Segundo Buchanan e Shortiffe, citados por (MCMAHON e BROWNE,

1998), a aquisição de conhecimento é caracterizada como: �A transferência ou

Motor deinferência

Base deconhecimento

Aquisição deconhecimento

USUÁRIO

ESPECIALISTA

CAP.6 � TÉCNICAS E METODOLOGIAS MODERNAS PARA TROCA DE DADOS EM CAD/CAM 93

transformação do conhecimento ou da experiência com um problema específico,

para um programa computacional�. Essa aquisição de conhecimento se dá pela

interação do especialista com o motor de inferência � que pode ser através de

técnicas de entrevista, ou pela observação do comportamento do especialista

em resolver um problema particular.

6.4.7. ORIENTAÇÃO A OBJETO EM CAD Não há uma única definição original de Orientação a Objeto em CAD.

Entretanto, pode-se defini-la como sendo: �O CAD que emprega objetos

"inteligentes" (que sabem o que são), os quais podem avaliar mensagens e

respondê-las�. A "Orientação a Objeto em CAD" usa os objetos como uma

unidade da representação para armazenar as intenções do projetista no

projeto.

Um objeto é uma entidade que combina sua estrutura de dados e seu

comportamento numa estrutura de dados única (HSU e WOON, 1998). As

características do objeto são:

• Abstração: o foco sobre o qual ele deseja representar;

• Encapsulação: separação de aspectos externos do objeto dos detalhes

de implementação;

• Polimorfismo: permitir várias implementações diferentes de uma

mesma operação;

• Herança: permitir compartilhar atributos e métodos sem a necessidade

de redundância.

Atualmente, as técnicas de modelagem e programação orientadas a objeto

são amplamente empregadas no desenvolvimento de sistemas CAD. Entidades

do sistema são divididas em hierarquias de classe. As mensagens instruem aos

objetos como eles podem se desenhar, caracterizando um polimorfismo

dinâmico. Novas entidades podem ser adicionadas, e podem herdar

características ou comportamentos encapsulados por classes de objetos. Outra

característica da orientação a objeto em CAD, é que o mecanismo de passagem

de mensagens entre objetos reforça os relacionamentos existentes entre

CAP.6 � TÉCNICAS E METODOLOGIAS MODERNAS PARA TROCA DE DADOS EM CAD/CAM 94

modelos sólidos de montagens de conjuntos de peças. Esta modelagem facilita

os relacionamentos entre partes do produto.

As técnicas orientadas a objeto fornecem a flexibilidade necessária para o

projeto conceitual. Os elementos físicos do projeto, seus parâmetros,

propriedades, restrições e relacionamentos podem ser representados como

objetos, com seus atributos e métodos. A Tabela 10 mostra a evolução das

estratégias de modelagem com objetos.

Tabela 10. Evolução das estratégias de modelagem com objetos (Baseado em KUMAR et al., 1999).

ANO APLICAÇÕES ATRIBUTOS DOS OBJETOSREPRESENTAÇÃO COMPUTACIONAL

1950's Computação Gráfica Usinagem por controle numérico (CNC)

Geometria Desenho eletrônico e wireframe

1960's Modelos poligonais e de superfície

1970's/1980's CAD/CAM Geometria e topologia Modelos sólidos

1990's Objetos heterogêneos Geometria, topologia, e material

Modelos sólidos heterogêneos

Futuro Objetos heterogêneos e Modelagem Física

Geometria, topologia, e material, propriedades físicas, atributos gerais, etc. ...

Modelos de objetos

NECESSIDADE DE UMA NOVA MODELAGEM DE OBJETOS EM CAD Nos modelos tradicionais do produto em sistemas CAD, as características

de superfície podem variar somente sobre a superfície da peça, mas as

características volumétricas são consideradas constantes em todo o interior.

Já existem métodos de projeto e fabricação de materiais e estruturas que

são capazes de gerar componentes mecânicos e estruturais otimizados,

fabricados com materiais heterogêneos. São novas tecnologias de fabricação,

tais como: "Fabricação de Sólidos de Forma Livre" (SFF � Solid Freeform

Fabrication), ou "Fabricação em Camadas" (LM � Layered Manufacturing). Os

materiais compostos ou "objetos heterogêneos", fabricados com essas novas

tecnologias, são constituídos por diferentes materiais, e devem exibir uma

variação contínua de composição e microestrutura. A variação causa uma

gradação contínua nos valores das propriedades desse tipo de material. Esse

tipo de material é amplamente utilizado na indústria aeroespacial (projeto e

CAP.6 � TÉCNICAS E METODOLOGIAS MODERNAS PARA TROCA DE DADOS EM CAD/CAM 95

fabricação em lâminas de turbinas, em difusores, e na fuselagem das

aeronaves).

Surge então a necessidade de representar peças com distribuição de

material não-uniforme no seu interior. A distribuição de material torna-se um

dos vários atributos, associados com o domínio volumétrico definido pela sua

forma material da peça. Para propósitos de projeto, análise e fabricação, os

materiais heterogêneos impõem que o modelo dos objetos em sistemas CAD

capture não somente os dados geométricos, mas também a informação sobre o

material, suas propriedades, etc., em cada ponto do domínio volumétrico.

Um exemplo dessa necessidade está no projeto e fabricação de lâminas de

turbinas de aeronaves, descrito por (KUMAR et al., 1999). Este produto

enfrenta condições adversas em regime de trabalho � altas temperaturas e

oxidação de um lado, e resiliência e baixas temperaturas no outro lado. As

primeiras soluções para resistir a essas adversidades combinavam um lado de

metal e outro de cerâmica. Todavia, na interface dessa combinação, geram-se

altas concentrações de tensão; ocasionando trincas, deformações plásticas, e

descolamento. Recentemente, este problema foi resolvido usando uma mistura

de metal e cerâmica com variação das proporções desses materiais ao longo do

volume da peça. Isso ficou conhecido como "Material com Gradiente Funcional"

(FGM � Functionally Graded Material). Neste tipo de material, as propriedades

podem ser ajustadas controlando as razões de composição, microestrutura, e

porosidade desde o metal até a cerâmica, em cada ponto do volume da peça.

O modelo de CAD desse tipo de material deve representar não somente a

geometria das várias regiões, mas também a informação de material em cada

região. A representação dessas variações nas propriedades é essencial para a

fabricação e análise desses materiais.

Nos modelos sólidos de CAD atuais, os esquemas de representação não

consideram a variação das propriedades no interior dos materiais. Portanto,

exige-se a formulação de um novo esquema de representação que faça isto. A

disponibilidade de tal esquema, permitirá um grande avanço nas técnicas de

modelagem sólida, e terá grande aplicação no projeto, fabricação e análise de

produtos tecnologicamente avançados.

CAP.6 � TÉCNICAS E METODOLOGIAS MODERNAS PARA TROCA DE DADOS EM CAD/CAM 96

Uma outra aplicação de um modelo de CAD com as características já

mencionadas acima, também citado por (KUMAR et al., 1999), é na modelagem

física. A modelagem física tem por objetivo fornecer modelos computacionais

consistentes e uniformes, os quais fazem a ligação entre a forma e a função. Os

ingredientes-chave para se conseguir esse intento é através do modelo de

objetos, os quais capturam toda a informação relacionada a um objeto numa

forma rigorosamente matemática.

Tabela 11. Classificação dos vários atributos de um objeto (Baseado em KUMAR et al., 1999).

ATRIBUTOS DESCRIÇÃO Geometria Geometria e topologia relacionada

Composição Microestrutura Parâmetros de forma

Inclusões Vazios Orientação/Rotação Transição de fase Estrutura cristalina Discordâncias Densidade

Material

Propriedades Módulo (elástico, volumétrico, cisalhamento) Coeficiente de expansão térmica Condutividade térmica

Parâmetros físicos Temperatura Deslocamento Velocidade Tensão

No artigo de (KUMAR et al., 1999), eles propõem um modelo de objeto que

fornece uma estrutura consistente, para matematicamente integrar os vários

atributos de um objeto, conforme exigido pelas aplicações e exemplos citados

anteriormente.

A Tabela 11 mostra um exemplo de atributos para um objeto de um

material heterogêneo.

6.4.8. MODELAGEM DO PRODUTO A necessidade de modelagem do produto foi estimulada pela demanda

crescente por produtos de alta qualidade e baixos custos, e pela diminuição do

tempo de lançamento (lead-time) do produto no mercado. Por conta dessa

demanda, surgiram diversas estratégias para suportar o desenvolvimento do

produto. Algumas delas estão brevemente descritas a seguir:

CAP.6 � TÉCNICAS E METODOLOGIAS MODERNAS PARA TROCA DE DADOS EM CAD/CAM 97

• CIM: enfatiza a interconexão entre diferentes funções técnicas e de

gerenciamento dentro de uma companhia, utilizando sistemas

computacionais desde o projeto até a fabricação.

• Produção Enxuta/Limpa (Lean Production): esforça-se para minimizar

os custos de desenvolvimento, realizando mudanças culturais e

organizacionais com um maior envolvimento dos empregados, e

exploração racional do conhecimento adquirido.

• Engenharia Simultânea: focaliza a integração de experiências e

conhecimentos complementares de engenharia, cooperação entre

objetivos conflitantes ou competitivos, comunicação entre fluxos de

informação de estágios mais básicos (downstream) e mais avançados

(upstream) do ciclo de vida do produto, e a coordenação/sincronização

entre atividades relacionadas à solução do problema.

• Fábrica Fractal e Fabricação Virtual: são tentativas de resolver

questões críticas de produtividade no desenvolvimento do produto de

forma a melhorar a competitividade industrial.

Embora cada uma das estratégias acima tenham o seu particular

interesse, o foco comum é a necessidade por informações tecnológicas

avançadas, com o objetivo de aplicá-las na integração e coordenação das

questões referentes ao ciclo de vida do produto nas fases do seu

desenvolvimento.

A modelagem do produto é o fator-chave na determinação do sucesso das

estratégias de desenvolvimento do produto e da competitividade industrial na

atualidade e para o futuro.

A PROGRAMAÇÃO GENÉTICA NA MODELAGEM DO PRODUTO Desde quando foi introduzida � na primeira metade dos anos 90, por J. R.

Koza � a GP se caracterizou como um dos métodos computacionais mais gerais

em termos de aplicações. A novas idéias lançadas pela "Programação Genética"

(GP � Genetic Programming), estão sendo empregadas também na modelagem

do produto. A GP é aplicada na modelagem das mudanças dinâmicas que

ocorrem nos desejos e preferências dos consumidores.

CAP.6 � TÉCNICAS E METODOLOGIAS MODERNAS PARA TROCA DE DADOS EM CAD/CAM 98

O mercado consumidor moderno exige que os chamados "Sistemas de

Fabricação Flexível" (FMS � Flexible Manufacturing System), sejam cada vez

mais flexíveis, inteligentes, baratos e rápidos em atender e adaptar-se às

mudanças.

No artigo de (BALIC et al., 2000), tem-se a proposta de aplicação de GP na

geração automática de famílias de peças ou produtos. Este exemplo de

aplicação da GP se baseia no conceito de montagem auto-organizadas (self-

organizing assembly), proposto inicialmente por Brezocnik, e depois

desenvolvido juntamente com Balic.

A montagem auto-organizada é uma analogia da maneira de se organizar e

se juntar das células humanas, as quais formam os tecidos, órgãos, e

organismos. Os elementos que comandam as associações e composições são de

dois tipos:

• A informação ou conteúdo genético (DNA) dos componentes básicos

(células). A informação genética pode ser: geométrica, material,

topológica, tecnológica, econômica, ecológica, etc.;

• E as leis (comportamento) e propriedades do ambiente no qual estes

componentes básicos crescem.

O mecanismo de evolução do modelo consiste em: os componentes básicos

possuem sensores que verificam o estado do ambiente e o compara com a

informação genética. Dessa comparação, o ambiente pode ou não se alterar.

Conforme os componentes básicos encontrem outros componentes e combinem

sua informação genética, eles podem evoluir para tecidos, órgãos, ou

organismos. Essa evolução caracteriza um tipo de modelo hierárquico, o qual

se torna cada vez mais complexo.

A Figura 33 mostra algumas combinações possíveis de um produto

simples (uma cadeira) geradas por GP. Algumas configurações são esperadas

(tais como a, b, e c), entretanto, outras são inesperadas (configuração d).

(BALIC et al., 2000) advertem que este tipo de modelo genético pode

claramente representar um processo de geração de configurações possíveis

para um determinado produto constituído por centenas de peças. A analogia

com a genética celular, embutida no modelo, encaixa perfeitamente com o

CAP.6 � TÉCNICAS E METODOLOGIAS MODERNAS PARA TROCA DE DADOS EM CAD/CAM 99

processo evolutivo de alternativas de solução para o desenvolvimento de

produtos.

Figura 33. Combinações de produto simples (BALIC et al., 2000).

66..55.. CCOONNSSIIDDEERRAAÇÇÕÕEESS FFIINNAAIISS

As funções de projeto do produto e engenharia da produção devem tornar-

se inteiramente integradas com a fabricação, e todos os gargalos do fluxo de

informação do produto e da engenharia, a partir dessas funções até às funções

de fabricação, devem ser eliminados.

A estreita ligação entre as funções de projeto, planejamento, e fabricação

requer a informação suficientemente completa e precisa de todos os aspectos

do produto, dos processos de produção, e das operações factíveis e disponíveis.

Portanto, os sistemas de planejamento e projeto do futuro, deverão estar

estreitamente alinhados com a tecnologia de fabricação, e os sistemas de

fabricação precisarão de informação mais completa e precisa do que os

sistemas atuais.

CAP.6 � TÉCNICAS E METODOLOGIAS MODERNAS PARA TROCA DE DADOS EM CAD/CAM 100

Idealmente, esta integração deverá conduzir à �Engenharia Simultânea�

do ciclo de vida do produto, onde projeto, fabricação, manutenção, eventual

descarte ou desmonte, e questões de reutilização do produto podem ser

consideradas simultaneamente durante o seu projeto (SHAH e MÄNTYLA,

1995). As tecnologias desenvolvidas em termos de novas ferramentas

computacionais, precisam estar direcionadas ao atendimento destes requisitos;

e nos sistemas CAD/CAM, isso não seria diferente.

Acredito que a reutilização da informação que constitui o ciclo de vida do

produto, dentro de diferentes contextos funcionais, geográficos e temporais, é

uma questão não alcançável por completo com as técnicas e modelos

apresentados nesse estudo.

Uma estrutura de dados universal (Se é que é possível uma!), que

contemple e atenda todos os requisitos exigidos pelo processo de projeto, ainda

é um problema sem solução.

As pesquisas nessa área são muitas, mas ainda muito incipientes e com

soluções muito específicas e limitadas.

RReeffeerrêênncciiaass BBiibblliiooggrrááffiiccaass

BALIC, J.; BREZOCNIK, M.; CUS, F.. Modeling of Mechanical Parts Compositions using Genetic Programming. Trabalho aceito no FAIM � Flexible Automation And Intelligent Manufacturing, Maryland-USA, a ser realizado de 26-28/06/2000. URL: http://www.faim2000.isr.umd.edu/, ABRIL-2000.

BERTOLINE, G. R.; WIEBE, E. N.; MILLER, C. L.; MOHLER, J. L.. Technical Graphics Communication. Irwin Graphics Series, 2a. edição, p. 1128, 1997.

CHANG, T.-C.; WYSK, R. A.; WANG, H.-P.. Computer-Aided Manufacturing. Prentice Hall, 2a. edição, p. 672, Julho-1997.

CIMDATA, Inc. Product Data Management: The Definition � An Introduction to Concepts, Benefits, and Terminology. URL: http:// www. CIMdata. com, Dezembro-1999.

DIAS, A.. An Iterative CAD/CAM System Approach for Robot�s �Off-Line� Programming. Relatório de Atividades do Pós-doutorado, ISE Dept., Virginia Polytechnic Institute � USA, p. 72, 1998.

EASTMAN, C. M.. Out of STEP. Computer-Aided Design, Vol. 26, No. 5, p. 338-340, Julho-1994.

EASTMAN, C. M.; FERESHETIAN, N.. Information models for use in product design: a comparison. Computer-Aided Design, Vol. 26, No. 7, p. 551-572, Julho-1994.

FARIN, G.. Curves and Surfaces for CAGD � A Practical Guide. Academic Press, New York, 4a. edição, p. 429, 1997.

FUH, J. Y. H.; CHANG, C.-H.; MELKANOFF, M. A.. The development of an integrated and intelligent CAD/CAPP/CAFP environment using logic-based reasoning. Computer Aided Design, Elsevier Science, Vol. 28, No. 3, p. 217-232, 1996.

GUERRERO, V.; ROZENFELD, H.. Proposta de Classificação de Sistemas PDM. XV Congresso Brasileiro de Engenharia Mecânica, Águas de Lindóia-SP, 22-26/11/1999.

HSU, W.; WOON, I. M. Y.. Current research in the conceptual design of mechanical products. Computer-Aided Design, Elsevier Science Ltd., Vol. 30, No. 5, p. 377-389, 1998.

REFERÊNCIAS BIBLIOGRÁFICAS 102

IBM, Inc. An Overview of Object Oriented Programming. URL: http://www. inf.ufsc.br/poo/smalltalk/ibm/tutorial/oop.html, JANEIRO-2000.

JENSEN, C.; HINES, R.. Interpreting Engineering Drawings. Delmar Publishers, Inc., p. 400, 1989.

KERN, V. M.; BØHN, J. H.. STEP Databases for Product Data Exchange. First International Congress of Industrial Engineering, São Carlos�SP, Brasil, 4-7/Setembro, 1995.

KORTH, H. F.; SILBERSCHATZ, A.. Sistema de Banco de Dados. McGraw-Hill, Inc.; São Paulo, p.581, 1989.

KRAUSE, F.-L.; KIMURA, F.; KJELLBERG, T.; LU, S. C.-Y.. Product Modelling. Annals of the CIRP, p. 695-705, Vol. 42/2/1993.

KUMAR, V.; BURNS, D.; DUTTA, D.; HOFFMANN, C.. A framework for object modeling. Computer-Aided Design, Vol. 31, No. 9, p. 541-556, 1999.

KUMARA, S.; HAM, I.; AL-HAMANDO, M.; GOODNOW, K.. Causal Reasoning and Data Abstraction in Component Design. Annals of the CIRP, p. 145-148, Vol. 38/1/1989.

LEITE, L. L. P.. Introdução aos Sistemas de Gerência de Banco de Dados. Editora Edgard Blücher, São Paulo, 3a. reimpressão, p. 138, 1988.

LIANG, J.; SHAH, J. J.; SOUZA, R. D.; URBAN, S. D.; AYYASWAMY, K.; HARTER, E.; BLUHM, T.. Synthesis of consolidated data schema for engineering analysis from multiple STEP application protocols. Computer-Aided Design, Vol. 31, p. 429-447, 1999.

MÄNTYLÄ, M.. An Introduction to Solid Modeling. Computer Science Press, p. 401, 1988.

MCMAHON, C.; BROWNE, J.. CAD CAM: Principles, Practice and Manufacturing Management. Addison Wesley Longman, 2a edição, p. 665, Agosto�1998.

NARDELLI, E. S.. Diversidade de materiais ajuda na concepção de projetos. Revista CADesign, Market Press, Ano 5 � No. 54, 1999.

ROGERS, D. F.; ADAMS, J. A.. Mathematical Elements for Computer Graphics. McGraw-Hill, Inc; New York, 2a. edição, p. 611, 1990.

RUMBAUGH, J.; BLAHA, M.; PREMERLANI, W.; EDDY, F.; LORENSEN, W.. Object-Oriented Modeling and Design. Prentice Hall, Inc.; New Jersey, p. 500, 1991.

SHAH, J. J.; MÄNTYLÄ, M.. Parametric and Feature-Based CAD/CAM. John Wiley & Sons, New York, p. 619, 1995.

REFERÊNCIAS BIBLIOGRÁFICAS 103

SHAH, J. J.; ROGERS, M. T.. Expert form feature modelling shell. Computer-Aided Design, Vol. 20, No. 9, p. 515-524, 1988.

SPATIAL Technology, Inc.. ACIS 3D Toolkit � SAT Format. URL: http:// www.spatial.com, 1999.

STEPTOOLS, Inc.. What is STEP? URL: http://www.steptools.com/library/ about_step.html, FEVEREIRO-1999.

ULLMAN, D. G.; WOOD, S.; CRAIG, D.. The Importance of Drawing in the Mechanical Design Process. Computer & Graphics, Vol. 14, No. 2, p. 263-274, 1990. URL: http://www.engr.orst.edu/~ullman

ZEID, I.. CAD/CAM Theory and Practice. McGraw Hill, Inc.; New York, p. 1052, 1991.

BBiibblliiooggrraaffiiaass

ASHLEY, S.. Manufacturing firms face the future. Mechanical Engineering, p. 70-74, Junho-1997.

BANKS, J.; GIBSON, R.. Simulation Modeling � Some Programming Required. IIE Solutions, p. 26-31, Fevereiro-1997.

BOKULICH, F.. CAD � Software Integration. Automotive Engineering International, p. 52-64, Abril-1999.

BECKERT, B.; KEMPFER, L.; SCHIMTZ, B.; DVORAK, P.. 1997 CAD/CAM � Planning Guide. A suplemento da Computer-Aided Engineering e Machine Design, p. 1-20, 1997.

CUNHA, R. R. M.. Padrão STEP para Transferência e Conversão de Dados. Seminário apresentado na disciplina EMC 6634, Dezembro-1996.

DIEHL, A.. Transferring files from CAD to CAM. Computer-Aided Engineering, p. 50-52, 1996.

DVORAK, P.. What moldmakers need from designers. Machine Design, p. 103-105, Janeiro-1998. URL: http://www.penton.com/md

LOFFREDO, D.. Efficient Database Implementation of EXPRESS Information Models. New York, 1998. PhD Thesis, Rensselaer Polytechnic Institute. URL: http://www.steptools.com/~loffredo, AGOSTO-1999.

MAZIERO, N. L.. Um Sistema Computacional Inteligente de Suporte ao Projeto, Manufatura e Montagem de Peças Baseado em Features: Uma Abordagem com Sistemas Especialistas. Florianópolis, 1998. Tese (Doutorado em Engenharia Mecânica) � Departamento de Engenharia Mecânica � Centro Tecnológico � Universidade Federal de Santa Catarina.

PIERRA, G.; AIT-AMEUR, Y.; BESNARD, F.; GIRARD, P.; POTIER, J-C.. A general framework for parametric product model within STEP and parts library. Artigo a ser apresentado no European Conference Product Data Technology, Londres. URL: http://www.nist.gov/sc4, FEVEREIRO-2000.

SALOMONS, O. W.. Computer Support in the Design of Mechanical Products � Constraint specification and satisfaction in feature based design for manufacturing. Groningen, 1995. PhD Thesis,. Department of Mechanical Engineering, Universiteit Twente. URL: http://www.pt.wb.

BIBLIOGRAFIAS 105

utwente.nl/staff/otto/thesis, SETEMBRO-1999.

SC4 Home Page. Welcome to ISO TC184/SC4 Developers of International Industrial Data Standards. URL: http://www.nist.gov/sc4, FEVEREIRO-2000.

SILVA JUNIOR, A. C.; CUNHA, R. R. M.. Problemas e Princípios de Solução na Integração CAD/CAM. Seminário apresentado na disciplina EMC 6327, Setembro-1999.

SMALL, C. H.. Forging links in the CAE, CAD, CAM chain requires new methodologies. Computer Design, p. 80-85, Setembro-1998.

AAppêênnddiicceess

APÊNDICE A. Exemplo de Arquivo IGES

This file was produced by MicroStation IGES S 11H,,1H;,40HExemplo para o texto do estudo dirigido.,16Hexemplo_iges.igs,G 114HMicroStation/J,14HMicroStation/J,32,38,6,38,15,40HExemplo para o textG 2o do estudo dirigido.,1.,2,2HMM,32,5.,14H1000413.133242,0.00001, G 3702.59607417999996,31HRaimundo Ricardo Matos da Cunha,16HEMC - CTC - UFSG 4C,8,0,13H990914.175752; G 5

100 1 0 1 1 0 3 000000000D 1100 1 4 1 0 0D 2124 2 0 0 0 0 0 000000400D 3124 0 0 3 0 0D 4110 5 0 1 1 0 0 000000000D 5110 1 4 2 0 0D 6116 7 0 1 1 0 0 000000000D 7116 1 4 1 0 0D 8

100,0.,0.,0.,50.,0.,50.,0.; 1P 1124,0.83800671448980135,-0.54565991832826466,0.,595.82816, 3P 20.54565991832826466,0.83800671448980135,0.,-136.91578,0.,0.,1., 3P 30.; 3P 4110,631.18349905942,-172.27111905942,0.,701.894177177953, 5P 5-101.56044094058,0.; 5P 6116,595.82816,-136.91578,0.; 7P 7S 1G 5D 8P 7 T 1

APÊNDICES 107

APÊNDICE B. Exemplo de Arquivo DXF

0 $LIMMAX 40 $DIMRND 9SECTION 10 0.05 40 $DIMSE1

2 12.0 9 0.0 70HEADER 20 $TEXTSTYLE 9 0

9 9.0 7 $DIMDLE 9$ACADVER 9 STANDARD 40 $DIMSE2

1 $ORTHOMODE 9 0.0 70AC1014 70 $CLAYER 9 0

9 0 8 $DIMEXE 9$ACADMAINTVER 9 0 40 $DIMTAD70 $REGENMODE 9 0.18 70

0 70 $CELTYPE 9 09 1 6 $DIMTP 9

$DWGCODEPAGE 9 CONTINUOUS 40 $DIMZIN3 $FILLMODE 9 0.0 70

ANSI_1252 70 $CECOLOR 9 09 1 62 $DIMTM 9

$INSBASE 9 256 40 $DIMBLK10 $QTEXTMODE 9 0.0 1

0.0 70 $CELTSCALE 920 0 40 $DIMTXT 9

0.0 9 1.0 40 $DIMASO30 $MIRRTEXT 9 0.18 70

0.0 70 $DELOBJ 9 19 1 70 $DIMCEN 9

$EXTMIN 9 1 40 $DIMSHO10 $DRAGMODE 9 0.09 70

545.82816 70 $DISPSILH 9 120 2 70 $DIMTSZ 9

-186.91578 9 0 40 $DIMPOST30 $LTSCALE 9 0.0 1

0.0 40 $DIMSCALE 99 1.0 40 $DIMTOL 9

$EXTMAX 9 1.0 70 $DIMAPOST10 $OSMODE 9 0 1

701.89418 70 $DIMASZ 920 0 40 $DIMLIM 9

-86.91578 9 0.18 70 $DIMALT30 $ATTMODE 9 0 70

0.0 70 $DIMEXO 9 09 1 40 $DIMTIH 9

$LIMMIN 9 0.0625 70 $DIMALTD10 $TEXTSIZE 9 1 70

0.0 40 $DIMDLI 9 220 0.2 40 $DIMTOH 9

0.0 9 0.38 70 $DIMALTF9 $TRACEWID 9 1 40

25.4 70 $DIMUNIT 9 09 0 70 $AUPREC 9

$DIMLFAC 9 2 70 $TDCREATE40 $DIMTFAC 9 0 40

1.0 40 $DIMDEC 9 2451654.4322685199 1.0 70 $MENU 9

$DIMTOFL 9 4 1 $TDUPDATE70 $DIMGAP 9 acad 40

APÊNDICES 108

0 40 $DIMTDEC 9 2451654.4322685199 0.09 70 $ELEVATION 9

$DIMTVP 9 4 40 $TDINDWG40 $DIMJUST 9 0.0 40

0.0 70 $DIMALTU 9 0.00000000009 0 70 $PELEVATION 9

$DIMTIX 9 2 40 $TDUSRTIMER70 $DIMSD1 9 0.0 40

0 70 $DIMALTTD 9 0.00000000009 0 70 $THICKNESS 9

$DIMSOXD 9 2 40 $USRTIMER70 $DIMSD2 9 0.0 70

0 70 $DIMTXSTY 9 19 0 7 $LIMCHECK 9

$DIMSAH 9 STANDARD 70 $ANGBASE70 $DIMTOLJ 9 0 50

0 70 $DIMAUNIT 9 0.09 1 70 $BLIPMODE 9

$DIMBLK1 9 0 70 $ANGDIR1 $DIMTZIN 9 1 70

70 $LUNITS 9 09 0 70 $CHAMFERA 9

$DIMBLK2 9 2 40 $PDMODE1 $DIMALTZ 9 0.0 70

70 $LUPREC 9 09 0 70 $CHAMFERB 9

$DIMSTYLE 9 4 40 $PDSIZE2 $DIMALTTZ 9 0.0 40

STANDARD 70 $SKETCHINC 9 0.09 0 40 $CHAMFERC 9

$DIMCLRD 9 0.1 40 $PLINEWID70 $DIMFIT 9 0.0 40

0 70 $FILLETRAD 9 0.09 3 40 $CHAMFERD 9

$DIMCLRE 9 0.0 40 $COORDS70 $DIMUPT 9 0.0 70

0 70 $AUNITS 9 09 0 70 $SKPOLY 9

$DIMCLRT 9 0 70 $SPLFRAME

70 $UCSNAME 9 0.0 300 2 $PUCSYDIR 9 -1.000000E+20

9 10 $WORLDVIEW 9$SPLINETYPE 9 0.0 70 $PLIMMIN70 $UCSORG 20 1 10

6 10 1.0 9 0.09 0.0 30 $SHADEDGE 20

$SPLINESEGS 20 0.0 70 0.070 0.0 9 3 9

10 30 $USERI1 9 $PLIMMAX9 0.0 70 $SHADEDIF 10

$ATTDIA 9 0 70 12.070 $UCSXDIR 9 70 20

0 10 $USERI2 9 9.09 1.0 70 $TILEMODE 9

$ATTREQ 20 0 70 $UNITMODE70 0.0 9 1 70

1 30 $USERI3 9 09 0.0 70 $MAXACTVP 9

APÊNDICES 109

$HANDLING 9 0 70 $VISRETAIN70 $UCSYDIR 9 16 70

1 10 $USERI4 9 09 0.0 70 $PINSBASE 9

$HANDSEED 20 0 10 $PLINEGEN5 1.0 9 0.0 70

2F 30 $USERI5 20 19 0.0 70 0.0 9

$SURFTAB1 9 0 30 $PSLTSCALE70 $PUCSNAME 9 0.0 70

6 2 $USERR1 9 09 40 $PLIMCHECK 9

$SURFTAB2 9 0.0 70 $TREEDEPTH70 $PUCSORG 9 0 70

6 10 $USERR2 9 30209 0.0 40 $PEXTMIN 9

$SURFTYPE 20 0.0 10 $PICKSTYLE70 0.0 9 -1.000000E+20 70

6 30 $USERR3 20 19 0.0 40 -1.000000E+20 9

$SURFU 9 0.0 30 $CMLSTYLE70 $PUCSXDIR 9 -1.000000E+20 2

6 10 $USERR4 9 STANDARD9 1.0 40 $PEXTMAX 9

$SURFV 20 0.0 10 $CMLJUST70 0.0 9 -1.000000E+20 70

6 30 $USERR5 20 09 0.0 40 -1.000000E+20 9

$CMLSCALE 1 ISM40 OLE2FRAME 90

1.0 2 09 AcDbOle2Frame 280

$PROXYGRAPHICS 3 070 "" 281

0 90 09 0 0

$MEASUREMENT 280 CLASS70 0 1

0 281 IMAGEDEF0 1 2

ENDSEC 0 AcDbRasterImageDef0 CLASS 3

SECTION 1 ISM2 HATCH 90

CLASSES 2 00 AcDbHatch 280

CLASS 3 01 "ACAD_SEDONA" 281

LWPOLYLINE 90 02 0 0

AcDbPolyline 280 CLASS3 0 1

"AutoCAD" 281 IMAGEDEF_REACTOR90 1 2

0 0 AcDbRasterImageDefReactor280 CLASS 3

0 1 ISM281 DICTIONARYVAR 90

APÊNDICES 110

1 2 10 AcDbDictionaryVar 280

CLASS 3 01 "AutoCAD" 281

IMAGE 90 02 0 0

AcDbRasterImage 280 CLASS3 0 1

ISM 281 IDBUFFER90 0 2

127 0 AcDbIdBuffer280 CLASS 3

0 1 "Acad"281 RASTERVARIABLES 90

1 2 00 AcDbRasterVariables 280

CLASS 3 0

LAYER_INDEX VPORT 362 5 1.0

AcDbLayerIndex 7 173 100 618.922157

"Acad" AcDbSymbolTable 2790 70 -131.784525

0 1 37280 0 0.0

0 VPORT 40281 5 121.71041

0 2E 410 100 1.5803

CLASS AcDbSymbolTableRecord 421 100 50.0

SPATIAL_INDEX AcDbViewportTableRecord 432 2 190.59402

AcDbSpatialIndex *ACTIVE 443 70 -190.59402

"Acad" 0 5090 10 0.0

0 0.0 51280 20 0.0

0 0.0 71281 11 22

0 1.0 720 21 100

CLASS 1.0 731 12 1

OBJECT_PTR 0.0 742 22 0

CAseDLPNTableRecord 0.0 753 13 0

"ASE-LPNTableRecord" 0.0 7690 23 0

1 0.0 77280 14 0

0 0.0 78281 24 0

0 0.0 00 15 ENDTAB

ENDSEC 0.0 0

APÊNDICES 111

0 25 TABLESECTION 0.0 2

2 16 LTYPETABLES 0.0 5

0 26 4TABLE 0.0 100

2 0.0 100100

AcDbSymbolTable 100 2370 AcDbSymbolTableRecord 100

9 100 AcDbSymbolTableRecord0 AcDbLinetypeTableRecord 100

LTYPE 2 AcDbLinetypeTableRecord5 CONTINUOUS 2

11 70 HIDDEN100 0 70AcDbSymbolTableRecord 3 64100 Solid line 3AcDbLinetypeTableRecord 72 __ __ __ __ __

2 65 72BYBLOCK 73 6570 0 73

0 40 23 0.0 40

0 0.37572 LTYPE 49

65 5 0.2573 22 74

0 100 040 AcDbSymbolTableRecord 49

0.0 100 -0.1250 AcDbLinetypeTableRecord 74

LTYPE 2 05 DOT 0

12 70 LTYPE100 64 5AcDbSymbolTableRecord 3 24100 . . . . . . . . . . . 100AcDbLinetypeTableRecord 72 AcDbSymbolTableRecord

2 65 100BYLAYER 73 AcDbLinetypeTableRecord70 2 2

0 40 DASHED3 0.25 70

49 6472 0.0 3

65 74 __ __ __ __ __ __73 0 72

0 49 6540 -0.25 73

0.0 74 20 0 40

LTYPE 0 0.755 LTYPE 49

13 5 0.5

APÊNDICES 112

74 AcDbSymbolTableRecord 20 100 CENTER

49 AcDbLinetypeTableRecord 70-0.25 2 6474 DIVIDE 3

0 70 ____ _ ____ _ ____ _0 64 72

LTYPE 3 655 ____ . . ____ . . ____ 73

25 72 4100 65 40AcDbSymbolTableRecord 73 2.0100 6 49AcDbLinetypeTableRecord 40 1.25

2 1.25 74DASHDOT 49 070 0.5 49

64 74 -0.253 0 74

__ . __ . __ . __ . __ 49 072 -0.25 49

65 74 0.2573 0 74

4 49 040 0.0 49

1.0 74 -0.2549 0 74

0.5 49 074 -0.25 0

0 74 ENDTAB49 0 0

-0.25 49 TABLE74 0.0 2

0 74 LAYER49 0 5

0.0 49 274 -0.25 100

0 74 AcDbSymbolTable49 0 70

-0.25 0 274 LTYPE 0

0 5 LAYER0 27 5

LTYPE 100 145 AcDbSymbolTableRecord 102

26 100 {ACAD_XDICTIONARY100 AcDbLinetypeTableRecord 360

5F205F5F5F5F205F 70 6102 1 100} 0 AcDbSymbolTable100 STYLE 70AcDbSymbolTableRecord 5 0100 17 0AcDbLayerTableRecord 100 ENDTAB

2 AcDbSymbolTableRecord 00 100 TABLE70 AcDbTextStyleTableRecord 2

0 2 APPID

APÊNDICES 113

62 STANDARD 57 70 8

6 0 100CONTINUOUS 40 AcDbSymbolTable

0 0.0 70LAYER 41 1

5 1.0 02A 50 APPID102 0.0 5{ACAD_XDICTIONARY 71 16360 0 1005F205F5F5F5F205F 42 AcDbSymbolTableRecord102 0.0 100} 3 AcDbRegAppTableRecord100 txt 2AcDbSymbolTableRecord 4 ACAD100 70AcDbLayerTableRecord 0 0

2 ENDTAB 01 0 ENDTAB70 TABLE 0

64 2 TABLE62 VIEW 2

7 5 DIMSTYLE6 5 5

CONTINUOUS 100 90 AcDbSymbolTable 100

ENDTAB 70 AcDbSymbolTable0 0 70

TABLE 0 12 ENDTAB 0

STYLE 0 DIMSTYLE5 TABLE 105

3 2 18100 UCS 100AcDbSymbolTable 5 AcDbSymbolTableRecord

100 1.0 340 BAcDbDimStyleTableRecord 147 17 100

2 0.09 275 AcDbSymbolTableRecordSTANDARD 71 0 10070 0 280 AcDbBlockTableRecord

0 72 0 23 0 281 *PAPER_SPACE

73 0 04 1 282 ENDTAB

74 0 05 1 283 ENDSEC

75 1 06 0 284 SECTION

76 0 27 0 285 BLOCKS

77 0 040 0 286 BLOCK

1.0 78 0 541 0 287 D

0.18 170 0 10042 0 288 AcDbEntity

0.0625 171 0 8

APÊNDICES 114

43 2 0 00.38 172 ENDTAB 10044 0 0 AcDbBlockBegin

0.18 173 TABLE 245 0 2 *MODEL_SPACE

0.0 174 BLOCK_RECORD 7046 0 5 0

0.0 175 1 1047 0 100 0.0

0.0 176 AcDbSymbolTable 2048 0 70 0.0

0.0 177 0 30140 0 0 0.00.18 178 BLOCK_RECORD 3141 0 5 *MODEL_SPACE0.09 270 A 1142 2 1000.0 271 AcDbSymbolTableRecord 0143 4 100 ENDBLK25.4 272 AcDbBlockTableRecord 5144 4 2 E1.0 273 *MODEL_SPACE 100145 2 0 AcDbEntity0.0 274 BLOCK_RECORD 8146 2 5 0

100 CIRCLE 11 DICTIONARYAcDbBlockEnd 5 701.894177 5

0 2B 21 1ABLOCK 100 -101.560441 102

5 AcDbEntity 31 {ACAD_REACTORSF 8 0.0 330100 1 0 19AcDbEntity 6 POINT 10267 CONTINUOUS 5 }

1 62 2D 1008 174 100 AcDbDictionary

0 100 AcDbEntity 0100 AcDbCircle 8 DICTIONARYAcDbBlockBegin 10 1 5

2 595.82816 6 1B*PAPER_SPACE 20 CONTINUOUS 10270 -136.91578 62 {ACAD_REACTORS

0 30 174 33010 0.0 100 19

0.0 40 AcDbPoint 10220 50.0 10 }

0.0 210 595.82816 10030 0.0 20 AcDbDictionary

0.0 220 -136.91578 33 0.0 30 STANDARD

*PAPER_SPACE 230 0.0 3501 1.0 0 1C

0 ENDSEC 00 LINE 0 MLINESTYLE

ENDBLK 5 SECTION 55 2C 2 1C

10 100 OBJECTS 102100 AcDbEntity 0 {ACAD_REACTORS

APÊNDICES 115

AcDbEntity 8 DICTIONARY 33067 1 5 1B

1 6 19 1028 CONTINUOUS 100 }

0 62 AcDbDictionary 100100 172 3 AcDbMlineStyleAcDbBlockEnd 100 ACAD_GROUP 2

0 AcDbLine 350 STANDARDENDSEC 10 1A 70

0 631.183499 3 0SECTION 20 ACAD_MLINESTYLE 3

2 -172.271119 350ENTITIES 30 1B 62

0 0.0 0 0

5190.052

90.071

249

0.562

2566

BYLAYER49

-0.562

2566

BYLAYER0

ENDSEC0

EOF

APÊNDICES 116

APÊNDICE C. Exemplo de Arquivo STEP

ISO-10303-21;HEADER;/* Exchange file generated using ST-DEVELOPER 1.6 */FILE_DESCRIPTION((''),'2;1');FILE_NAME('exemplo_step203','2000-04-19T10:03:22-03:00',('Raimundo Ricardo Matos da Cunha'),('EMC - CTC - UFSC'),'ST-DEVELOPER 1.6','MicroStation/J Version 07.01.00.62','Exemplo para o texto do estudo dirigido');FILE_SCHEMA (('CONFIG_CONTROL_DESIGN'));ENDSEC;DATA;#10=MANIFOLD_SURFACE_SHAPE_REPRESENTATION('Manifold Surface Shape Representation',(#11),#30);#11=SHELL_BASED_SURFACE_MODEL('',(#12));#12=OPEN_SHELL('',(#13));#13=ADVANCED_FACE('',(#19),#14,.T.);#14=PLANE('',#15);#15=AXIS2_PLACEMENT_3D('',#16,#17,#18);#16=CARTESIAN_POINT('',(595.82816,-136.91578,0.));#17=DIRECTION('',(0.,0.,1.));#18=DIRECTION('',(1.,0.,0.));#19=FACE_BOUND('',#20,.T.);#20=EDGE_LOOP('',(#21));#21=ORIENTED_EDGE('',*,*,#22,.T.);#22=EDGE_CURVE('',#23,#23,#25,.T.);#23=VERTEX_POINT('',#24);#24=CARTESIAN_POINT('',(637.72849572449,-109.632784083587,0.));#25=CIRCLE('',#26,50.);#26=AXIS2_PLACEMENT_3D('',#27,#28,#29);#27=CARTESIAN_POINT('',(595.82816,-136.91578,0.));#28=DIRECTION('',(0.,0.,1.));#29=DIRECTION('',(0.838006714489801,0.545659918328265,0.));#30=(GEOMETRIC_REPRESENTATION_CONTEXT(3)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#37))GLOBAL_UNIT_ASSIGNED_CONTEXT((#36,#31,#35))REPRESENTATION_CONTEXT('Based on DGN file units settings',' '));#31=(CONVERSION_BASED_UNIT('DEGREE',#33)NAMED_UNIT(#32)PLANE_ANGLE_UNIT());#32=DIMENSIONAL_EXPONENTS(0.,0.,0.,0.,0.,0.,0.);#33=PLANE_ANGLE_MEASURE_WITH_UNIT(PLANE_ANGLE_MEASURE(0.0174532925199433),#34);#34=(NAMED_UNIT(*)PLANE_ANGLE_UNIT()SI_UNIT($,.RADIAN.));#35=(NAMED_UNIT(*)SI_UNIT($,.STERADIAN.)SOLID_ANGLE_UNIT());#36=(LENGTH_UNIT()

APÊNDICES 117

NAMED_UNIT(*)SI_UNIT(.MILLI.,.METRE.));#37=UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(2.1474836475E-007),#36,'distance_accuracy_value','');#38=DESIGN_CONTEXT('detail',#39,'design');#39=APPLICATION_CONTEXT('');#40=APPLICATION_PROTOCOL_DEFINITION('','config_control_design',1994,#39);#41=PRODUCT_DEFINITION('','',#42,#38);#42=PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE('','',#43,.NOT_KNOWN.);#43=PRODUCT('exemplo_iges1','','',(#51));#44=PRODUCT_RELATED_PRODUCT_CATEGORY('detail','',(#43));#45=MECHANICAL_CONTEXT('',#39,'mechanical');#46=PERSON_AND_ORGANIZATION(#47,#48);#47=PERSON('DO1','','',$,$,$);#48=ORGANIZATION('','','');#49=PERSON_AND_ORGANIZATION_ROLE('design_owner');#50=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#46,#49,(#43));#51=MECHANICAL_CONTEXT('',#39,'mechanical');#52=PERSON_AND_ORGANIZATION(#53,#54);#53=PERSON('PCR1','','',$,$,$);#54=ORGANIZATION('','','');#55=PERSON_AND_ORGANIZATION_ROLE('creator');#56=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#52,#55,(#42));#57=PERSON_AND_ORGANIZATION(#58,#59);#58=PERSON('DSU1','','',$,$,$);#59=ORGANIZATION('','','');#60=PERSON_AND_ORGANIZATION_ROLE('design_supplier');#61=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#57,#60,(#42));#62=CC_DESIGN_APPROVAL(#63,(#42));#63=APPROVAL(#64,'');#64=APPROVAL_STATUS('approved');#65=APPROVAL_DATE_TIME(#66,#63);#66=DATE_AND_TIME(#67,#68);#67=CALENDAR_DATE(1997,11,7);#68=LOCAL_TIME(0,0,0.,#69);#69=COORDINATED_UNIVERSAL_TIME_OFFSET(0,0,.AHEAD.);#70=APPROVAL_PERSON_ORGANIZATION(#71,#63,#74);#71=PERSON_AND_ORGANIZATION(#72,#73);#72=PERSON('DAI1','','',$,$,$);#73=ORGANIZATION('','','');#74=APPROVAL_ROLE('');#75=CC_DESIGN_SECURITY_CLASSIFICATION(#76,(#42));#76=SECURITY_CLASSIFICATION('','',#77);#77=SECURITY_CLASSIFICATION_LEVEL('unclassified');#78=CC_DESIGN_APPROVAL(#79,(#76));#79=APPROVAL(#80,'');#80=APPROVAL_STATUS('approved');#81=APPROVAL_DATE_TIME(#82,#79);#82=DATE_AND_TIME(#83,#84);#83=CALENDAR_DATE(1997,11,7);#84=LOCAL_TIME(0,0,0.,#85);#85=COORDINATED_UNIVERSAL_TIME_OFFSET(0,0,.AHEAD.);#86=APPROVAL_PERSON_ORGANIZATION(#87,#79,#90);#87=PERSON_AND_ORGANIZATION(#88,#89);#88=PERSON('SCA1','','',$,$,$);#89=ORGANIZATION('','','');#90=APPROVAL_ROLE('');#91=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#92,#96,(#76));#92=DATE_AND_TIME(#93,#94);

APÊNDICES 118

#93=CALENDAR_DATE(1997,11,7);#94=LOCAL_TIME(0,0,0.,#95);#95=COORDINATED_UNIVERSAL_TIME_OFFSET(0,0,.AHEAD.);#96=DATE_TIME_ROLE('classification_date');#97=PERSON_AND_ORGANIZATION(#98,#99);#98=PERSON('SCO1','','',$,$,$);#99=ORGANIZATION('','','');#100=PERSON_AND_ORGANIZATION_ROLE('classification_officer');#101=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#97,#100,(#76));#102=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#103,#107,(#41));#103=DATE_AND_TIME(#104,#105);#104=CALENDAR_DATE(1997,11,7);#105=LOCAL_TIME(0,0,0.,#106);#106=COORDINATED_UNIVERSAL_TIME_OFFSET(0,0,.AHEAD.);#107=DATE_TIME_ROLE('creation_date');#108=PERSON_AND_ORGANIZATION(#109,#110);#109=PERSON('DAP1','','',$,$,$);#110=ORGANIZATION('','','');#111=PERSON_AND_ORGANIZATION_ROLE('creator');#112=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#108,#111,(#41));#113=CC_DESIGN_APPROVAL(#114,(#41));#114=APPROVAL(#115,'');#115=APPROVAL_STATUS('approved');#116=APPROVAL_DATE_TIME(#117,#114);#117=DATE_AND_TIME(#118,#119);#118=CALENDAR_DATE(1997,11,7);#119=LOCAL_TIME(0,0,0.,#120);#120=COORDINATED_UNIVERSAL_TIME_OFFSET(0,0,.AHEAD.);#121=APPROVAL_PERSON_ORGANIZATION(#122,#114,#125);#122=PERSON_AND_ORGANIZATION(#123,#124);#123=PERSON('API1','','',$,$,$);#124=ORGANIZATION('','','');#125=APPROVAL_ROLE('');#126=PRODUCT_DEFINITION_SHAPE('','',#41);#127=SHAPE_DEFINITION_REPRESENTATION(#126,#10);ENDSEC;END-ISO-10303-21;

APÊNDICES 119

APÊNDICE D. Exemplo de Arquivo ACIS

500 0 1 07 Unknown 11 ACIS 5.0 NT 24 Wed Apr 19 15:56:35 2000-1 9.9999999999999995e-007 1e-010body $-1 $1 $-1 $-1 #lump $-1 $-1 $2 $0 #shell $-1 $-1 $-1 $3 $-1 $1 #face $-1 $-1 $4 $2 $-1 $5 forward double in #loop $-1 $-1 $6 $3 #plane-surface $-1 595.82816000000003 -136.91578000000001 0 0 0 1 1 0 0forward_v I I I I #coedge $-1 $6 $6 $-1 $7 forward $4 $-1 #edge $-1 $8 -3.141592653589814 $8 3.1415926535897865 $6 $9 forward 7 unknown#vertex $-1 $7 $10 #ellipse-curve $-1 595.82816000000003 -136.91578000000001 0 0 0 141.900335724490034 27.282995916413206 0 1 I I #point $-1 553.92782427550981 -164.19877591641293 0 #End-of-ACIS-data

APÊNDICES 120

APÊNDICE E. Exemplo de Arquivo PARASOLID

**ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz*************************PARASOLID !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~0123456789****************************PART1;MC=unknown;MC_MODEL=unknown;MC_ID=unknown;OS=unknown;OS_RELEASE=unknown;FRU=Bentley_Systems;APPL=Microstation_modeler;SITE=Exton;USER=unknown;FORMAT=text;GUISE=transmit;KEY=C:\Users\ricardo\Doutorado\Disciplinas\TRIM 99-3\EMC6601-ED\exemplo_parasolid.x_t;FILE=C:\Users\ricardo\Doutorado\Disciplinas\TRIM 99-3\EMC6601-ED\exemplo_parasolid.x_t;DATE=unknown;**PART2;SCH=SCH_1100178_11004;USFLD_SIZE=0;**PART3;**END_OF_HEADER**************************************************************T51 : TRANSMIT FILE created by modeller version 110017817 SCH_1100178_110040742 1 2 0 2 3 12 2 11 0 0 0 0 0 0 1e3 1e-8 0 4 3 1 0 3 1 5 6 7 0 8 9 0 12 3 8

0 00 0 0 0 1e3 1e-8 0 2 0 1 0 2 1 10 0 11 12 13 0 14 13 10 3 0 3 0 0 15 0 13 0

3011 7 0 15 0 0 0 +.63118349905942 -.1722711190594195 0 .707106781185021

.707106781188074 0 29 12 8 0 14 16 0 .701894177177953 -.1015604409405804 0 19 13 1 03 00 10 V18 14 5 0 17 0 18 12 ?3 17 17 0 0 0 0 14 19 15 0 0 +18 18 2 0 19 14 0

16?3 17 19 0 0 0 0 18 17 15 0 0 -29 16 4 0 18 0 12 .63118349905942 -

.1722711190594195 0 16 15 6 0 ?17 0 0 11 0 0 10 13 5 3 0 2 0 20 0 0 8 20 50 6 9 0 20 0 0 0+.59582816 -.13691578 0 0 0 1 1 0 0 31 7 6 0 9 0 0 0 +.59582816 -.13691578 0 00 1.838006714489801 .545659918328265 0 .05 19 8 1 0 2 0 0 5 V16 9 5 0 ?21 0 0 7

00 2 17 21 0 22 21 21 0 23 9 0 0 +15 22 7 0 21 20 0 17 23 0 0 0 0 0 21 9 0 0

-1420 8 0 ?0 0 22 5 6 +0 0 0 0 5 1 0

APÊNDICES 121

APÊNDICE F. Programação Orientada a Objetos

IINNTTRROODDUUÇÇÃÃOO

O QUE É OOP? A Programação Orientada a Objetos (OOP � Object-Oriented Programming)

é diferente do estilo de programação procedural de linguagens como (C, Pascal,

etc.) em várias formas. Tudo em OOP é considerado e agrupado como objetos.

OOP é implementada pelo envio de mensagens aos objetos. Para entender este

conceito, primeiro é preciso saber o que é um objeto.

O QUE É UM OBJETO? Um objeto pode ser considerado como algo � real ou abstrato � que pode

realizar um conjunto de atividades. O conjunto de atividades que o objeto

realiza define o comportamento do objeto.

A interface do objeto consiste de um conjunto de comandos, onde cada

comando realiza uma ação específica. Um objeto pergunta a outro objeto para

realizar uma ação, enviando a ele uma mensagem. O objeto que envia a

mensagem é conhecido como requisitante, e o objeto que recebe a mensagem é

o fornecedor. O controle é passado para o objeto requisitado até ele completar o

comando. Em seguida, o controle retorna ao objeto solicitante (Ver Figura 34).

Figura 34. Interface de comunicação entre os objetos.

Os papéis assumidos entre o objeto solicitante (cliente) e o objeto

requisitado (servidor) é semelhante ao formato de uma arquitetura cliente-

servidor. Existe quem solicita o serviço, e quem fornece o serviço.

OBJETO SOLICITANTE OBJETO REQUISITADO

MENSAGEM

VALOR DERETORNO

APÊNDICES 122

No exemplo da Figura 35, um objeto ESCOLA pergunta o nome do objeto

ALUNO, enviando a ele uma mensagem perguntando pelo nome. O objeto

requisitado ALUNO, retorna o nome de volta ao objeto solicitante ESCOLA.

Figura 35. Mecanismo de mensagem entre dois objetos.

Uma mensagem pode também conter informação que o objeto solicitante

quer passar ao objeto requisitado. Esta informação é chamada de argumento

da mensagem. Um objeto requisitado sempre retorna um valor de volta ao

objeto solicitante. Este valor retornado pode ou não ser útil ao objeto

solicitante.

Figura 36. Passagem de parâmetro para um objeto.

Na Figura 36, o objeto ESCOLA deseja mudar o nome do objeto ALUNO. Ele

faz isto enviando uma mensagem para modificar o nome para um novo nome.

O novo nome é passado como um argumento na mensagem. Neste caso, o

objeto ESCOLA não se importa com o valor retornado pelo objeto requisitado na

mensagem.

MÉTODO Cada mensagem possui um código associado com ela. Quando um objeto

recebe uma mensagem, o código é executado. Noutras palavras, estas

ESCOLA ALUNO

MENSAGEM

NOME

responda-me o seu nome

ESCOLA ALUNO

MENSAGEM

NOME

Altere “nome” para este “nome”

APÊNDICES 123

mensagens determinam o comportamento do objeto, e o código determina como

o objeto executa cada mensagem. O código que está associado com cada

mensagem é chamado de método. O nome da mensagem é também chamado

de nome do método, devido a sua estreita ligação com o método.

Os métodos que operam sobre objetos específicos são métodos de

instância; e mensagens que invocam métodos de instância são chamados de

mensagens de instância. Já os métodos que operam sobre classes específicas

são métodos de classe.

Quando um objeto recebe uma mensagem, ele determina qual método está

sendo requisitado, e então passa o controle para o método. Um objeto tem

tantos métodos quanto ele necessite para realizar suas ações definidas.

Quando o objeto ALUNO recebe a mensagem nome, esta passa o controle para o

método nome definido em ALUNO (Ver Figura 37).

Figura 37. Métodos de um objeto.

DADOS DO OBJETO Cada objeto precisa manter a informação sobre como realizar o seu

comportamento definido. Alguns objetos também contêm variáveis que

suportam o comportamento deles. Estas variáveis são chamadas de variáveis

de instância. Somente os métodos de instância para um objeto podem se referir

e alterar os valores armazenados nas variáveis de instância. Os métodos de

instância de outros objetos não podem se referir aos dados desse objeto.

De acordo com Figura 38, um objeto só pode acessar os dados de um

outro objeto, se enviar uma mensagem para o objeto requisitado. Isto é

chamado de �encapsulamento de dados�, e garante um processo seguro para se

informar sobre dados do objeto.

INTERFACE

nome

nome:

nome: endereço:

nome

�Rod Smith�

APÊNDICES 124

Considerando o diagrama seguinte, as variáveis de instância �variávelUm�

até �variávelEne� só podem ser acessadas através dos respectivos métodos de

instância métodoUm até métodoEne. O objeto solicitante não pode se referir

diretamente às variáveis.

Figura 38. Acesso aos dados de um objeto.

Diferente da linguagem procedural, onde as áreas de dados comuns são

freqüentemente usadas para compartilhamento de informações, a OOP

desaconselha o acesso direto a dados comuns (outros dados que não são

variáveis globais) por outros programas. Somente o objeto que possui o dado é

que pode alterar o seu conteúdo. Outros objetos podem visualizar ou alterar

este dado enviando uma mensagem para o objeto possuidor do dado.

Os nomes das variáveis de instância podem ser idênticos aos nomes dos

métodos associados com elas. Por exemplo, o objeto ALUNO possui métodos de

nome, endereço, etc.; assim como variáveis de instância �nome�, �endereço�,

etc..

MECANISMO SEQÜENCIAL DE MENSAGENS É comum que uma mensagem encadeie o envio de outras mensagens - ou

por ele mesmo ou por outros objetos � com o intuito de completar a tarefa. Isto

é chamado de �mecanismo seqüencial de mensagens�. O controle não retorna

ao primeiro objeto solicitante, até que todas as outras mensagens sejam

completadas.

No exemplo da Figura 39, um objeto A envia uma mensagem ao objeto B.

Para o objeto B processar a mensagem, ele envia uma outra mensagem ao

objeto C. Igualmente, um objeto C envia uma mensagem ao objeto D. Daí, o

INTERFACE

métodoUm

métodoDois

métodoEne

variávelUm

variávelEne

ObjetoSolicitante

Objeto requisitado

APÊNDICES 125

objeto D retorna para o objeto C, o qual retorna para o objeto B, que então

retorna ao objeto A. O controle não retorna ao objeto A até que todas as outras

mensagens sejam completadas.

Figura 39. Encadeamento seqüencial de mensagens.

Figura 40. Abstração e representação de dados em OOP.

OOSS PPRRIINNCCÍÍPPIIOOSS DDAA OORRIIEENNTTAAÇÇÃÃOO AA OOBBJJEETTOO

Uma linguagem computacional é dita orientada a objetos se elas suportam

os seguintes princípios: abstração, polimorfismo, herança, e encapsulamento.

ABSTRAÇÃO DE DADOS O mecanismo básico utilizado para realização da análise do domínio da

aplicação é a abstração, através da qual um indivíduo observa a realidade

(domínio), e procura capturar a sua estrutura (abstrair entidades, ações,

Objeto A Objeto B Objeto C Objeto D

1 2 3

456

ABSTRAÇÃO

REPRESENTAÇÃO

APÊNDICES 126

relacionamentos, etc., que forem consideradas relevantes para a descrição

deste domínio). O resultado deste processo de abstração é conhecido como

Modelo Conceitual.

Para representar a abstração do conceito, o modelo conceitual pode ser

materializado segundo alguma forma (um desenho, uma maquete, um texto,

um diagrama, etc.). No caso específico da informática, as representações mais

convencionais são as linguagens de programação e as notações auxiliares na

forma de diagramas e figuras, conforme mostrado na Figura 40.

Figura 41. Encapsulamento de dados em OOP.

ENCAPSULAMENTO DE DADOS Na OOP, os objetos interagem uns com os outros através do envio de

mensagens. A única coisa que um objeto sabe a respeito de outro objeto é a

interface do objeto. Cada dado do objeto, e a lógica está escondida de outros

objetos. Noutras palavras, a interface encapsula o código e os dados do objeto

(Ver Figura 41).

Isto permite que o desenvolvedor separe a implementação do objeto, do

seu comportamento. Esta separação cria um efeito �caixa-preta�, onde o

usuário é isolado das mudanças de implementação. Contanto que a interface

permaneça a mesma, quaisquer mudanças da implementação interna é

transparente para o usuário. Por exemplo, se uma mensagem nome é enviada

ao objeto ALUNO, não é importante para o usuário saber como o desenvolvedor

implementou o código para manipular esta mensagem. Todos os objetos

solicitantes precisam é do correto protocolo para interação com o objeto ALUNO.

Métodos Dados

Interface do objeto

INTERFACE

Outros objetos

APÊNDICES 127

O desenvolvedor pode mudar a implementação a qualquer tempo, mas a

mensagem nome ainda funcionará porque a interface é a mesma.

POLIMORFISMO Outro benefício da separação da implementação e comportamento é o

polimorfismo. O polimorfismo permite que dois ou mais objetos respondam a

mesma mensagem. Por exemplo, um método nome poderia também ser

implementado para um objeto da classe CURSO. Mesmo que a implementação

desta mensagem nome possa retornar um número e um título do curso, o seu

protocolo é o mesmo que a mensagem nome para o objeto ALUNO. O

polimorfismo permite que um objeto solicitante se comunique com diferentes

objetos de maneira consistente, sem se preocupar quantas sejam as diferentes

implementações da mensagem.

Uma analogia de polimorfismo com o dia-a-dia, é como os estudantes

respondem ao sino da escola. Todo aluno conhece o significado do sino.

Quando o sino toca (mensagem), entretanto, ele tem seu próprio significado

para diferentes alunos (objetos). Alguns alunos vão para casa, alguns vão para

a biblioteca, e alguns outros vão assistir outras aulas. Todo aluno responde ao

sino, mas como eles respondem pode ser diferente.

Figura 42. Exemplo de polimorfismo em OOP.

Na Figura 42, tem-se um exemplo clássico de polimorfismo com a função

de impressão. Todo objeto imprimível deve saber como se imprimir. A

Documento imprimirPágina

Texto Objeto novo

APÊNDICES 128

mensagem para todos os objetos é a mesma imprimir, mas a implementação

real do que eles devem fazer para se imprimirem, varia.

O objeto solicitante não precisa saber como o objeto requisitado

implementa a mensagem. Somente os objetos requisitados se preocupam sobre

isto. Por exemplo, considere que exista um método imprimirPágina num

objeto DOCUMENTO, o qual tem a responsabilidade de imprimir uma página.

Para imprimir a página, o método imprimirPágina envia a mensagem

imprimir para cada objeto da página. O DOCUMENTO não precisa saber quais

os tipos de objetos estão na página; e sim, se cada objeto suporta o

comportamento de impressão.

Novos objetos podem ser adicionados à página sem afetar o método

imprimirPágina. Este método ainda envia a mensagem imprimir e o novo

objeto fornece o seu próprio método imprimir em resposta àquela mensagem.

O polimorfismo permite que o objeto solicitante se comunique com os

objetos requisitados sem ter que entender qual o tipo de objeto ele é, contanto

que o objeto requisitado suporte a mensagem.

HERANÇA Outro conceito importante da OOP é a herança. A herança permite que

uma classe tenha o mesmo comportamento de uma outra classe, e amplie ou

personalize o comportamento para proporcionar ações especiais para

necessidades específicas.

Figura 43. Exemplo de herança em OOP.

Por exemplo, na Figura 43, ambos os alunos das classes PÓS-GRADUAÇÃO e

GRADUAÇÃO, têm um comportamento similar quanto a gerência do �nome�,

�endereço�, etc.. Ao invés de colocar este comportamento em ambas as classes,

ele é colocado numa nova classe chamada ALUNO. As classes PÓS-GRADUAÇÃO e

Aluno

GraduaçãoPós-graduação

APÊNDICES 129

GRADUAÇÃO tornam-se subclasse da classe ALUNO, e ambas herdam o

comportamento de ALUNO.

As classes PÓS-GRADUAÇÃO e GRADUAÇÃO podem então adicionar

comportamentos específicos delas. Por exemplo, PÓS-GRADUAÇÃO pode estar

num programa de Mestrado ou de Doutorado. Por outro lado, a classe

GRADUAÇÃO pode ser classificado em calouro, iniciante, júnior, e sênior.

Classes que herdam de uma outra classe são chamadas de subclasses. A

classe de quem a subclasse foi herdada, é chamada de super-classe. No

exemplo acima, ALUNO é uma super-classe para as classes PÓS-GRADUAÇÃO e

GRADUAÇÃO. PÓS-GRADUAÇÃO e GRADUAÇÃO são subclasses de ALUNO.

REUSABILIDADE Uma das mais importantes características da programação OOP é a

habilidade de modificar soluções existentes para resolver novos problemas. Se

um problema particular foi resolvido usando um método de OOP, um outro

problema similar, mas ligeiramente diferente, geralmente pode ser resolvido

fazendo pequenas mudanças no protocolo de mensagem do objeto que já

existe. Muitas das vezes, isto requer a adição de novas mensagens. Outros

casos podem exigir a adição de novos objetos e novas mensagens, as quais

aqueles objetos respondem.

SSOOLLUUÇÇÃÃOO DDEE PPRROOBBLLEEMMAASS OORRIIEENNTTAADDOOSS AA OOBBJJEETTOOSS

O método de solução de problemas orientados a objetos é muito similar a

forma humana de resolver os problemas do cotidiano. Ele consiste na

identificação de objetos, e como usar esses objetos na correta seqüência para

resolver o problema.

Noutras palavras, a solução de problemas orientados a objetos consiste

em determinar objetos cujo comportamento resolva um problema específico.

Uma mensagem para um objeto faz com que ele realize sua operações, e

resolva a sua parte do problema.

O método de solução de problemas orientados a objeto, geralmente, pode

ser dividido em quatro passos:

APÊNDICES 130

PASSO 1. Identificar o problema;

PASSO 2. Identificar os objetos necessários para a solução;

PASSO 3. Identificar as mensagens a serem enviadas aos objetos;

PASSO 4. Criar uma seqüência de mensagens para os objetos que

resolvem o problema.

• EXEMPLO

PASSO 1 � Identificação do problema: Calcular a soma de dois números, e

imprimir o resultado.

PASSO 2 � Identificação dos objetos: Identificar objetos necessários para

resolver o problema.

NUM1 � primeiro número;

NUM2 � segundo número;

SOMA � resultado da adição dos números.

PASSO 3 � Identificação das mensagens: Mensagens necessárias a serem

enviadas para os objetos.

+ aNum � Esta mensagem é enviada para o objeto requisitado, com um

parâmetro aNum. O resultado desta mensagem é o valor (um objeto numérico)

do total da soma entre o objeto requisitado e �aNum�.

imprimir � uma mensagem que exibe o valor do objeto requisitado.

PASSO 4 � Seqüências de mensagens do objeto: A seqüência de

mensagens necessárias para resolver o problema.

(NUM1 + NUM2) imprimir

A mensagem + com um parâmetro NUM2 (um objeto), é enviada ao objeto

NUM1. O resultado disto é um objeto (NUM1 + NUM2), para o qual é enviada a

mensagem imprimir.