Componentes de Desenho

Programação de Desenhos

Enquanto um sistema como o TQS automatiza e auxilia na geração de diversos tipos de desenhos de projeto estrutural, muitos outros tipos de desenhos repetitivos, às vezes apenas dentro de um determinado projeto ou escritório de cálculo, poderiam ser automatizados por meio de pequenos programas. A TQS pensou a respeito há cerca de 16 anos, criando a linguagem DP (de Desenho Paramétrico), dentro do pacote TQS-AGC & DP. O DP pode ser usado também como um arquivo de descrição de desenhos, a ser gerado por programas feitos em qualquer linguagem - uma técnica usada, por exemplo, no TQS-Fundações.

O DP foi baseado na LDF - Linguagem de Definição de Formas, na época, o meio de criar plantas de formas. Um pequeno acréscimo no conhecimento de LDF era suficiente para começar a programar em DP. Logo que a Entrada Gráfica de Formas foi criada, entretanto, o LDF tornou-se apenas um arquivo intermediário, e o conhecimento do DP se restringiu a alguns usuários.

Estamos voltando agora ao tema de programação de desenhos, mas através de uma linguagem conhecida por muitos: o MS-Visual BasicÓ. Para isto, criamos, dentro do TQS-AGC & DP, componentes programáveis de desenho, onde expusemos as mesmas ferramentas usadas para programar os sistemas TQS. Estes componentes aparecem como objetos dentro do VB, tendo seus métodos e propriedades mostrados automaticamente, além de uma descrição sucinta de cada um dentro do visualizador de objetos do VB. Vamos exemplificar com uma figura simples:

fe3586cf3669eeb28e30caa00c01d24f.gif

A figura tem um retângulo e duas cotagens, e poderemos gerá-la com exatamente 3 comandos. Primeiro, dentro do VB, introduziremos os componentes de desenho TQS, através do comando Project, References:

6e7422513cd41be62224316044cf7a05.gif

O objeto de desenho permite ler e gravar desenhos enquanto o objeto de geometria é uma coleção auxiliar de rotinas de geometria analítica. Podemos criar um objeto de desenho, com nome Dwg como um objeto global:

73409663361c3bdc1633e1c2fe657f0f.gif

Veja que, ao escrever New, o VB lista os objetos disponíveis, bastando selecionar a biblioteca TQSDWG.DWG. A seguir, criamos um botão e uma rotina chamada quando o botão for apertado. Dentro da rotina, ao escrever o nome do objeto Dwg, todos os métodos e propriedades (cerca de 140) desse objeto são listados automaticamente na caixa Intellisense:

731979e3e03c1bcc1383d23a25a87abc.gif

Ao colocar o nome do método, os parâmetros aparecem:

63d68558635001b9268663dfc9e954f2.gif

Os 3 comandos para gerar a figura exemplo são:

Dwg.DesenharRetangulo 0,0,150,50


Dwg.CotagemHorizontal 0,0,150,0,0,-25

Dwg.CotagemVertical 150,0,150,50,175,0

Será necessária uma instrução complementar para salvar o desenho em disco, como, por exemplo TESTE.DWG:

Dwg.ArquivoSalvarComo TESTE, Status

É possível visualizar desenhos gerados na hora ou existentes no disco em janelas através do componente TQS-Janela de Desenho. Use o comando Project, Components para que este componente entre no projeto. Um ícone aparecerá na caixa de ferramentas do VB, permitindo a definição da janela:

fcd24f17f9b80dc4f9771093be72037d.gif

Se batizarmos a janela de desenho de Jan, o desenho do exemplo poderá ser visto com apenas dois comandos adicionais:

Jan.DefinirDesenho Dwg.GlobaisHandle

Jan.RegerarEnglobar

Quando ela tem o foco de entrada, é possível acionar comandos de visualização com as teclas e como se estivéssemos dentro de um editor gráfico, sem qualquer programação adicional. Você pode visualizar também uma região qualquer através dos métodos deste controle.

Em relação ao DP, a programação em VB tem a vantagem de usar uma linguagem simples e bastante conhecida, possuir todas as propriedades e métodos com nomes amigáveis (apesar de um pouco extensos) e visíveis quando um objeto é usado. A versão inicial do componente de desenho, por simplificação, agrupa todas as operações de desenho em um único objeto, definidas em 11 categorias, identificadas pelo prefixo de cada método. Por exemplo, todas as rotinas de desenho têm o prefixo Desenhar, todas as manipulações com arquivo têm o prefixo Arquivo, e assim por diante. O componente dispõe também de rotinas de leitura de desenho, que o DP não tem. É possível fazer programas para ler listas de materiais de um ou mais desenhos, e gerar tabelas também desenhadas, assim como testar a existência, as dimensões e as quantidades de quaisquer elementos gráficos.

Em suma, a programação através dos componentes TQS abrirá novas possibilidades de automação de desenho e projeto. Continuaremos a desenvolvê-los e, futuramente, permitiremos a programação interna dos editores gráficos.