1 INTRODUÇÃO
2.2 SISTEMAS CAD BASEADOS NA WEB
2.2.4 BEAVER: Universidade de Bielefeld, Alemanha
BEAVER é um programa de CAD especializado para projetos DIY (Do it yourself) de armários adaptados para paredes e forros inclinados, que resultou de uma cooperação entre a Universidade de Bielefeld e uma empresa alemã de acessórios de conexão para móveis para o mercado DIY. O software foi implementado através de tecnologias WEB, como: VRML e Java e, portanto, pode ser executado em um browser WEB. O objetivo principal do sistema é permitir aos usuários a modificação do projeto do armário por meio da direta interação no modelo 3D. Assim, é possível adicionar prateleiras ou alterar a dimensão do armário. Um assistente baseado em inteligência artificial guia o usuário durante a edição do armário a fim de garantir que relevantes regras de projeto tenham sido observadas.
Uma vez concluída as alterações de projeto pelo usuário, o sistema automaticamente configura o modelo para adaptar as peças de ajustes necessárias para a montagem final do móvel. Depois de inseridas as peças de ajustes, o sistema gera uma lista com todas essas placas e acessórios, além de um manual de montagem customizado. O sistema é dedicado a usuários DIYer (Do it yourselfers), que usualmente são inexperientes tanto na atividade de projeto e montagem de móveis, como no uso de ferramentas CAD. Por isso, foi projetada uma interface de sistema muito intuitiva e que exigisse um curto período para aprendizagem (NOUSCH e JUNG, 2001).
2.2.4.1 Projeto virtual dos armários
A tela de interface do usuário é dividida em um espaço de trabalho 3D interativo e outro espaço para inserção de dados. Desta forma, o modelo pode ser manipulado tanto através da interação direta na representação gráfica em 3D, como através da alteração dos valores dos seus parâmetros, modificando indiretamento sua forma. O processo de projeto virtual dos móveis é feito passo-a-passo, de modo que existe um estágio para a seleção do tipo de armário, outro para o re-dimensionamento do móvel e um último para inserir ou modificar prateleiras. A prototipagem virtual permite a visualização de certas funções do modelo antes da sua construção real, por exemplo, é possível visualizar o ângulo de abertura das portas, que podem ser abertas através de um clique no botão da tela ou arrastando a maçaneta virtual com o mouse. As placas dos armários foram modeladas como objetos paramétricos de modo que as alterações são dinâmicas durante o processo de projeto. Assim, o usuário pode modificar atributos como altura ou largura do mobiliário, mesmo tendo prateleiras ou portas já inseridas. O software então processa os dados e re-configura um novo modelo, considerando todos os componentes inseridos e suas posições, sendo inclusive capaz de resolver conflitos e interferências projetuais. Assim, caso o armário sofra uma redução muito grande, alguns componentes podem ser excluídos, de modo a manter apenas o número de prateleiras permitido para certa altura de armário. Na resolução desses problemas, as portas e suas dobradiças são posicionadas com prioridade, de modo que se existir um conflito entre uma dobradiça e uma prateleira, a prateleira é removida do modelo (NOUSCH e JUNG, 2001).
A montagem das peças é realizada através de pares de conexões virtuais, denominadas slots. O programa rastreia os slots bloqueados ou já ocupados. Por exemplo, caso a dobradiça da porta ocupe uma conexão do slot, o programa evita que este par de conexões seja utilizado por uma prateleira. Esse processo de montagem é realizado através de um mecanismo snapping, no qual o usuário apenas sobrepõe a prateleira na parede do armário no ponto das conexões virtuais.
Esta sobreposição não precisa ser exata, pois o sistema faz o ajuste automaticamente, inserindo a prateleira no slot mais próximo. Em seguida o sistema
automaticamente seleciona o tipo e o número de conexões necessárias para a prateleira escolhida. Caso a prateleira seja inserida em uma parede inclinada, o sistema faz o redimensionamento da peça de modo que seja ajustada ao armário.
Para cada conexão existe uma descrição de como a prateleira deve ser furada e cortada na montagem real, sendo esta descrição posteriormente utilizada para a geração do manual de montagem do armário (NOUSCH e JUNG, 2001).
2.2.4.2 Geração de lista de materiais e manual de montagem
Uma vez concluída a tarefa de projetar, é gerada uma lista de materiais para compra e um manual de montagem customizado. A lista de materiais é composta por tipos e códigos de conexões e dobradiças, assim como uma descrição da forma e escala das placas necessárias. Para cada conexão existe uma figura para facilitar a identificação da peça e do mesmo modo, para cada placa existe um desenho do seu formato com informação do seu tamanho (NOUSCH e JUNG, 2001).
O manual de instruções contém a descrição do processo de montagem com esquemas das furações, fornecendo informações de como e onde as peças são montadas. Por ser gerado a partir do modelo de armário construído pelo usuário, o manual contém informações de montagem específicas para aquele móvel. Dessa forma, dificuldades particulares de instalações são descritas passo-a-passo através de desenhos. Além disso, são mencionadas conexões alternativas, especialmente dobradiças, que podem ser utilizadas mesmo após a instalação. A combinação de texto e imagens para os manuais auxiliam o DIYer no processo de montagem a fim de evitar erros (NOUSCH e JUNG, 2001).
A lista de materiais e os manuais de instruções são disponibilizados aos usuários como páginas WEB, que podem ser acessadas ou imprimidas (NOUSCH e JUNG, 2001).
2.2.4.3 Implementação do CAD na WEB
O software BEAVER foi implementado para a WEB através de três linguagens de programação: Java, VRML e JavaScript (NOUSCH e JUNG, 2001).
A linguagem Java foi utilizada para controlar a processo projetual e ainda para desenvolver a interface do usuário de inserção de dados. As classes de dados do applet Java foram organizadas da seguinte forma (NOUSCH e JUNG, 2001):
a) Classe applet Java: esta classe controla o menu principal, estabelece a comunicação com o renderizador 3D e faz o relacionamento com outras classes do sistema;
b) Classe Closet: é a maior classe do applet e controla o processo de montagem do closet. Esta classe contém a estrutura de todos os componentes virtuais, dependências e todas as regras de projeto modeladas no sistema;
c) Classe Placa: esta classe gerencia a apresentação dos componentes do armário (e.g. paredes, prateleiras, portas) no ambiente de trabalho 3D.
Portanto, esta classe faz o cálculo da forma de cada componente 3D, controla a aparência dos objetos em termos de transparência, cor, textura, etc e auxilia na manipulação dos objetos pelos usuários.
d) Classe Conexões: esta classe é similar à classe placa e gerencia a representação 3D das conexões. As informações dinâmicas mantidas por esta classe são: tipo, função, tamanho, posição e orientação. A informação sobre detalhes da forma física da conexão também foi incluída, no entanto é utilizada apenas para a geração do manual de montagem e não tem impacto na montagem virtual.
2.2.4.4 Visualização e montagem virtual através do VRML
No sistema BEAVER, a renderização 3D dos objetos foi feita através da linguagem VRML e a comunicação entre o browser VRML e o applet Java foi estabelecida através da interface EAI. O ambiente virtual consiste de três seções diferentes (NOUSCH e JUNG, 2001):
a) arquivo VRML: é o arquivo principal que permite as funções de visualização, rotação e zoom do modelo virtual do armário. O arquivo também armazena informações de iluminação e figura de fundo da cena.
b) console de navegação: desenvolvido como um arquivo externo VRML. A interface apresenta a figura de um homem que, opcionalmente pode ser mostrada de modo a proporcionar ao usuário a noção de escala do armário.
c) conexões e componentes virtuais: esses objetos foram criados dinamicamente através do applet Java via interface EAI.
FIGURA 37 - CONSOLE DE NAVEGAÇÃO FONTE: Nousch e Jung (2001)
2.2.4.5 Comunicação e geração de páginas dinâmicas: JavaScript
O JavaScript foi utilizado para gerar a lista de materiais necessários para o armário e o manual de montagem. Para gerar essa documentação, o applet decompõe a representação interna do armário em uma lista de variáveis e seus respectivos valores. Essa lista de parâmetros é então anexada a uma nova URL no servidor e um arquivo HTML, contendo as funções do JavaScript, interpreta esses parâmetros e gera a lista de materiais e o manual de montagem. Essa documentação é apresentada como páginas WEB contendo texto e imagens que podem ser impressas ou salvadas em disco (NOUSCH e JUNG, 2001).