agc 04-linguagem de desenho paramétrico
Post on 16-Aug-2015
116 Views
Preview:
TRANSCRIPT
CAD/AGC&DP Linguagem de Desenho Paramétrico
Manual de referência Sumário
1.1. A linguagem DP ................................................................................................ 1 1.2. Utilização do DP ............................................................................................... 2 1.3. Desenhos do DP ................................................................................................ 2 1.4. DP e o CAD/Formas ......................................................................................... 2 1.5. Organização do manual ..................................................................................... 3
2.1. Visão geral ........................................................................................................ 4 2.2. Codificação ....................................................................................................... 6 2.3. Processamento ................................................................................................... 6 2.4. Grupo de desenhos do projeto ........................................................................... 7 2.5. Unidades de desenho ......................................................................................... 8 2.6. Sistema de coordenadas .................................................................................... 8
2.6.1. Posição em relação à origem ..................................................................... 9 2.6.2. Direções ..................................................................................................... 9 2.6.3. Precisão ...................................................................................................... 9
2.7. Convenções de descrição da linguagem ............................................................ 9 2.8. Convenções de entrada de dados ..................................................................... 11
2.8.1. Formato de entrada .................................................................................. 11 2.8.2. Abreviações ............................................................................................. 12 2.8.3. Tamanho da linha de entrada ................................................................... 12 2.8.4. Comentários ............................................................................................. 13 2.8.5. Cópia de linha anterior ............................................................................. 13
2.9. Seções de programa......................................................................................... 14 2.10. Ordem de entrada de dados ........................................................................... 15 2.11. Organização de um arquivo .DP ................................................................... 15
3.1. Definição de valores numéricos ...................................................................... 16 3.1.1. Operações básicas .................................................................................... 16 3.1.2. Expressões aritméticas ............................................................................. 16 3.1.3. Funções .................................................................................................... 17 3.1.4. Operadores Geométricos ......................................................................... 17 3.1.5. Ângulos .................................................................................................... 18 3.1.6. Expressões lógicas e outras funções ........................................................ 18
3.2. Nós e coordenadas........................................................................................... 18
1. Introdução ............................................................................................................... 1
2. Conceitos e convenções ........................................................................................... 4
3. Locação Geométrica ............................................................................................. 16
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
II
3.3. Modos de definição de nós .............................................................................. 19 3.4. Definição de coordenadas ............................................................................... 19
3.4.1. Coordenadas absolutas ............................................................................. 19 3.4.2. Coordenadas relativas .............................................................................. 20 3.4.3. Uso de expressões aritméticas ................................................................. 21 3.4.4. Abscissas e ordenadas de nós conhecidos ................................................ 21 3.4.5. Deslocamentos e distâncias entre nós ...................................................... 22 3.4.6. Ângulos entre nós .................................................................................... 23 3.4.7. Uso de funções trigonométricas ............................................................... 23 3.4.8. Uso de coordenadas ................................................................................. 24
3.5. OFFSET .......................................................................................................... 24 3.6. INTERSECÇÃO ............................................................................................. 25 3.7. PROJEÇÃO..................................................................................................... 25 3.8. Sistema local de coordenadas .......................................................................... 26 3.9. Geração de nós ................................................................................................ 27
3.9.1. Geração de nós em linha .......................................................................... 27 3.9.2. Geração de nós em malha ........................................................................ 28
4.1. Níveis de desenho ........................................................................................... 30 4.2. Associação de cores a níveis ........................................................................... 30 4.3. POLIGONAL .................................................................................................. 31
4.3.1. Lista de coordenadas ................................................................................ 31 4.4. LINHA ............................................................................................................ 32 4.5. CURVA ........................................................................................................... 32 4.6. CIRCULO ....................................................................................................... 33 4.7. ARCO .............................................................................................................. 34 4.8. TEXTO ............................................................................................................ 37
4.8.1. Sintaxe do comando TEXTO ................................................................... 38 4.8.2. Textos e a Escala ..................................................................................... 38
4.9. TFERRO ......................................................................................................... 39 4.10. Cortes ............................................................................................................ 40 4.11. BLOCOS ....................................................................................................... 40
4.11.1. Organização de blocos ........................................................................... 41 4.11.2. Criação de BLOCOS ............................................................................. 42 4.11.3. INSERE blocos ...................................................................................... 42 4.11.4. Inserção de blocos externos ................................................................... 43 4.11.5. Base de um bloco externo ...................................................................... 44 4.11.6. Inclusão e Subprogramas ....................................................................... 45 4.11.7. Blocos de comprimento unitário ............................................................ 45
4.12. MISTURA de Desenhos ................................................................................ 45 4.13. COTAGEM ................................................................................................... 46
4. Desenho .................................................................................................................. 30
Sumário
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
III
4.13.1. Entrada manual do texto de cotagem ..................................................... 48 4.13.2. Tamanho do texto de cotagem ............................................................... 49 4.13.3. Controle da linha de chamada ................................................................ 49 4.13.4. Extensão das linhas de cotagem ............................................................. 49 4.13.5. Níveis de cotagem.................................................................................. 49 4.13.6. Multiplicador de comprimentos ............................................................. 50 4.13.7. Precisão de cotagem .............................................................................. 50 4.13.8. Marca de cotagem .................................................................................. 51
4.14. EIXOS ........................................................................................................... 52 4.14.1. Coordenadas a partir de eixos ................................................................ 53
4.15. Sistema e Sub-Sistema .................................................................................. 53 4.16. Semente de desenho ...................................................................................... 53 4.17. Desenho: Exemplo ....................................................................................... 54
5.1. Atribuição de valores a variáveis numéricas ................................................... 59 5.2. Macro-substituição de variáveis numéricas .................................................... 60 5.3. Precisão da macro-substituição ....................................................................... 60 5.4. Atribuição de variáveis alfanuméricas ............................................................ 61 5.5. Macro-substituição de variáveis alfanuméricas............................................... 62 5.6. Outros usos para variáveis alfanuméricas ....................................................... 63 5.7. Manipulação de cadeias de caracteres ............................................................. 63
5.7.1. Concatenação ........................................................................................... 63 5.7.2. Extração de sub-cadeias ........................................................................... 63 5.7.3. Pesquisa de posição ................................................................................. 64 5.7.4. Comprimento de uma cadeia de caracteres .............................................. 66 5.7.5. Comparação de duas cadeias ................................................................... 66
5.8. Atribuição de coordenadas .............................................................................. 66 5.9. Macro-substituição de coordenadas ................................................................ 67 5.10. Nós e variáveis tipo coordenadas .................................................................. 67 5.11. Caractere nulo ............................................................................................... 68 5.12. Dupla Substituição ........................................................................................ 68 5.13. Variáveis do sistema ..................................................................................... 69 5.14. Variáveis e macro substituição: Exemplo .................................................... 72 5.15. Listagem de saída .......................................................................................... 73
6.1. Inclusão de arquivos - INCLUI ....................................................................... 75 6.1.1. Biblioteca de Inclusão.............................................................................. 77 6.1.2. Arquivo de Critérios ................................................................................ 78
6.2. Subprogramas DPS - Comando DP ................................................................ 78 6.2.1. Variáveis locais e globais ........................................................................ 79 6.2.2. Declaração de variáveis locais ................................................................. 79
5. Variáveis e macro-substituição ............................................................................ 59
6. Inclusões e subprogramas .................................................................................... 75
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
IV
6.2.3. Declaração de variáveis globais ............................................................... 80 6.2.4. Chamada de um subprograma .................................................................. 81 6.2.5. Declaração de Parâmetros ........................................................................ 82 6.2.6. Sistema de coordenadas DPS ................................................................... 84 6.2.7. ORIGEM de um Subprograma ................................................................ 86 6.2.8. Bibliotecas de subprogramas ................................................................... 87 6.2.9. Listagem do arquivo DPS ........................................................................ 87
7.1. Comando SE.................................................................................................... 88 7.2. Expressões lógicas e aritméticas ..................................................................... 89 7.3. Expressões lógicas com cadeias de caracteres ................................................ 90 7.4. SENAO ........................................................................................................... 90 7.5. Aninhamento de SEs ....................................................................................... 91 7.6. SENAO SE ...................................................................................................... 91 7.7. REPETE .......................................................................................................... 92 7.8. ENQUANTO................................................................................................... 94 7.9. QUEBRA ........................................................................................................ 94 7.10. CONTINUA .................................................................................................. 95 7.11. SAÍDA .......................................................................................................... 95 7.12. Aninhamento de SE, REPETE, ENQUANTO .............................................. 96
8.1. Substituição de variáveis ................................................................................. 97 8.2. Lógica de substituição de variáveis ................................................................. 98
9.1. PROJETO ...................................................................................................... 100 9.2. MENSAGEM ................................................................................................ 101 9.3. AVISO .......................................................................................................... 101 9.4. ERRO ............................................................................................................ 102 9.5. LISTAR ......................................................................................................... 102
9.5.1. Listagem de nós ..................................................................................... 103 9.5.2. LISTAR DIStancia ................................................................................ 103 9.5.3. LISTAR Distância de ponto a RETA .................................................... 103 9.5.4. LISTAR VARIÁVEIS ........................................................................... 104 9.5.5. LISTAR TUDO ..................................................................................... 104 9.5.6. LISTAR EXPRESSÃO.......................................................................... 104
9.6. DEFINE ........................................................................................................ 104 9.6.1. DEFINE LISTA / NLISTA .................................................................... 104 9.6.2. DEFINE ERROS num ........................................................................... 105 9.6.3. DEFINE ESCALA valor ....................................................................... 105 9.6.4. DEFINE TABPLT 'nome' ...................................................................... 106 9.6.5. DEFINE IAPLIC num ........................................................................... 106
7. Controle de fluxo................................................................................................... 88
8. Máscaras de desenho ............................................................................................ 97
9. Outros Comandos ............................................................................................... 100
Sumário
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
V
9.6.6. DEFINE ISUBAPLIC num ................................................................... 107 9.6.7. DEFINE TAMTTX valor ...................................................................... 107 9.6.8. DEFINE TAMTEI valor ........................................................................ 107 9.6.9. DEFINE NÍVEL num ............................................................................ 107 9.6.10. DEFINE NIVCOR ............................................................................... 108 9.6.11. Parâmetros de cotagem ........................................................................ 108 9.6.12. Definição de Bibliotecas ...................................................................... 108 9.6.13. DEFINE SEMENTE 'nome' ................................................................ 109
9.7. DOS 'comando' .............................................................................................. 109
10.1. Operação ..................................................................................................... 110 10.2. Tela de entrada de dados ............................................................................. 113
B.1. Organização por bibliotecas ......................................................................... 122 B.2. Documentação de uma biblioteca ................................................................. 122
B.2.1. Exemplo processado ............................................................................. 122 B.2.2. Parâmetros anotados no desenho .......................................................... 123 B.2.3. Descrição de parâmetros e nome do programa ..................................... 123 B.2.4. Níveis de Desenho ................................................................................ 123 B.2.5. Modo de Operação ................................................................................ 123 B.2.6. Utilização de Escalas ............................................................................ 123 B.2.7. Blocos Parametrizados .......................................................................... 124 B.2.8. Geração de Plantas ................................................................................ 124 B.2.9. Outras Normas e Procedimentos ........................................................... 124
B.3. Exemplo Simples .......................................................................................... 124
C.1. Tornando um programa legível .................................................................... 128 C.2. Identamento de comandos ............................................................................ 129 C.3. Comentários.................................................................................................. 130 C.4. Variáveis Usadas .......................................................................................... 131
C.4.1. Documentação de Parâmetros ............................................................... 131 C.4.2. Documentação de variáveis locais ........................................................ 131
C.5. Independência de Escala ............................................................................... 132 C.6. Documentação de Programas de Biblioteca ................................................. 132
D.1. DP e a LDF................................................................................................... 140 D.2. Plotagem ....................................................................................................... 141
D.2.1. Sistema e Subsistema ............................................................................ 141 D.2.2. Edição de plantas .................................................................................. 142 D.2.3. Plotagem em impressora ....................................................................... 142
10. Digitação de dados de desenho ........................................................................ 110
Apêndice A. Resumo da linguagem ....................................................................... 114 Apêndice B. Documentação de programas ........................................................... 122
Apêndice C. Codificação de programas DP ......................................................... 128
Apêndice D. Compatibilidade com os CAD/TQS ................................................. 140
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
VI
D.2.4. Plotagem de desenhos de armação ........................................................ 142 D.2.5. Plotagem Inteligente ............................................................................. 143
D.3. Geração de desenhos de armação de concreto .............................................. 143
11. Índice remissivo ........................................................ Erro! Indicador não definido.
Introdução 1
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
1. Introdução O sistema DP tem por objetivo a geração automática de desenhos repetitivos, a partir
de parâmetros fornecidos pelo projetista.
Para usar o DP, o projetista escolhe os tipos de desenho que se repetem na sua área de
projeto e que possam ser definidos por uma quantidade fixa de parâmetros. Através da
linguagem de programação DP, construirá o desenho de modo parametrizado; a partir
daí, o desenho poderá ser gerado quantas vezes forem necessárias, apenas com a defi-
nição de seus parâmetros.
O desenho gerado de forma automática pode ser editado iterativamente através de uso
do editor gráfico EAG. Todos os desenhos são plotados em impressora ou plotter na
escala escolhida, em composição com outros desenhos através do uso do editor de
plantas.
Com o uso prolongado do DP, o projetista poderá montar um acervo de desenhos
parametrizados. O DP incentiva e facilita a criação de bibliotecas.
O DP gera desenhos compatíveis com outros sistemas CAD/TQS. Como exemplo,
desenhos de armação gerados pelo DP podem ser plotados junto com desenhos de
armação gerados por outros sistemas, tendo sua tabela de ferros extraída automatica-
mente.
1.1. A linguagem DP
A definição do desenho paramétrico é feita através de uma linguagem orientada, que
tem 3 componentes:
Um módulo de locação geométrica e desenho, derivado da linguagem LDF
do sistema CAD/Formas e do editor gráfico EAG;
Um módulo de programação, que atua sobre o módulo de desenho, com re-
cursos de:
o Expressões aritméticas e lógicas;
o Variáveis numéricas, alfanuméricas e coordenadas;
o Macro-substituição de variáveis;
o Variáveis de escopo local e global;
o Chamada de subprogramas com passagem de parâmetros;
o Controle de fluxo de programa através de expressões condicionais e
laços (SE / SENAO / REPETE / ENQUANTO).
Um módulo de tratamento de máscaras de desenho, que permite definir parte
do desenho paramétrico de forma interativa através do editor gráfico. Um
programa DP pode ler e alterar textos de uma máscara de desenho.
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
2
1.2. Utilização do DP
O projetista que gera desenhos através do DP não precisa necessariamente saber codi-
ficar um programa DP; para isto foi desenvolvido um módulo auxiliar de entrada de
dados, que isola o projetista dos detalhes da linguagem.
Este módulo carrega na memória um programa DP e pede os parâmetros necessários
para a geração de um determinado desenho.
Existem 2 usuários principais do sistema: o primeiro, é o projetista que entende do
projeto e conhece a linguagem de programação DP (o programador). Ele adapta o DP
aos poucos à atividade produtiva de projeto. O segundo é o projetista que usa o DP (o
usuário propriamente dito), não tendo necessariamente nenhum conhecimento da
linguagem.
É o segundo tipo de usuário que fará projetos usando o sistema. Para que possa usar o
DP, apenas a leitura do manual “Comandos e Funções CAD/AGC&DP”. Também
para usar os programas DP é necessário que estejam muito bem documentados e ar-
quivados, e que esta documentação esteja disponível a todo o pessoal de projeto. A
boa documentação é também importante para que os programas não sejam usados
exclusivamente por um projetista.
1.3. Desenhos do DP
O DP é integrado ao núcleo gráfico dos sistemas CAD/TQS. Com isto, desenhos
gerados pelo DP podem:
Ser editados graficamente para receber um acabamento final;
Ser plotados em impressora, em qualquer escala;
Ser montados em uma planta através do editor de plantas;
Ser plotados em plotter;
Ter a tabela de ferros extraída automaticamente, no caso de desenhos de ar-
mação.
1.4. DP e o CAD/Formas
A linguagem de locação geométrica do DP é compatível com a locação de nós e de
elementos de desenho da linguagem LDF. Arquivos LDF (um subconjunto da lingua-
Introdução 3
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
gem) podem ser INCluidos dentro de um programa DP, e desenhos de formas podem
ser completados através da linguagem.
1.5. Organização do manual
Os capítulos foram organizados de modo a introduzir gradativamente os conceitos da
linguagem, permitindo a codificação de exemplos desde o início. Os tópicos tratados
são:
Conceitos da linguagem e convenções;
Locação geométrica;
Desenho;
Variáveis e macro-substituição;
Inclusões e Subprogramas;
Controle de fluxo de programa;
Máscaras de desenho;
Outros comandos
Digitação de dados de desenho
Por último, os apêndices tratam de:
Resumo da linguagem;
Documentação de desenhos paramétricos;
Codificação e documentação de programas;
Compatibilidade com sistemas CAD/TQS;
Saindo um pouco da leitura linear do manual, se o projetista quiser testar os exemplos
na medida em que lê o manual, poderá ler primeiro o manual “Comandos e Funções
CAD/AGC&DP”. Os exemplos mostrados no manual são distribuídos junto com o
sistema, copiados na instalação do sistema dentro da subpasta \dp\exemplos sob a
pasta de critérios (\tqsw\suporte).
O DP funciona dentro do ambiente CAD/TQS. Para usar todas as funções do DP é
necessária ainda a leitura dos manuais "CAD/TQS – EAG – Editor de Aplicações
gráficas" (para operação do editor gráfico) e "CAD/TQS – Manual de Edição de
Plantas e Plotagem" (para operação de plotagem, editor de plantas e tabela de fer-
ros).
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
4
2. Conceitos e convenções Neste capítulo descreveremos alguns conceitos do DP e as convenções adotadas no
manual para a descrição da linguagem.
2.1. Visão geral
Vamos mostrar o esquema de processamento de arquivos DP usando a notação:
O DP é um interpretador de linguagem de programação, que lê um arquivo de co-
mandos com tipo .DP (programa DP) e gera desenhos. Usualmente temos a geração
de um desenho por arquivo .DP:
O desenho gerado pode ser modificado ou completado através do editor gráfico EAG.
Quando um programa DP tem erros de codificação, estes erros serão acusados e mos-
trados na listagem do processamento.
Para maior modularidade, o DP permite a divisão de programas em subprogramas
(também chamados de subrotinas ou procedimentos), que são codificados em arqui-
vos .DPS. Os arquivos .DPS são interpretados da mesma maneira que os DP. Por
convenção, a interpretação de linguagem começa em um programa .DP e pode ou não
ser desviada para subprogramas .DPS:
Conceitos e convenções 5
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
Na prática, organiza-se os programas DP da seguinte maneira:
Arquivos de programa tipo .DP são usados exclusivamente para a entrada de
dados de desenho; o programa .DP chama então um subprograma .DPS para
processamento do desenho;
Um desenho paramétrico é inteiramente definido por subprogramas tipo
.DPS. O nome do programa de desenho paramétrico é o nome do primeiro
subprograma executado para processar o desenho;
Programas de desenho paramétrico (arquivos .DPS) são armazenados em bi-
bliotecas (pastas) que podem ser acessadas por todos os projetistas;
Em um pasta de projeto, codifica-se dados em um arquivo tipo .DP, que
chama um subprograma .DPS e gera um desenho. Assim, o pasta de projeto
terá apenas dados e desenhos.
Em linguagens de programação usuais, a programação da entrada de dados consome
mais de 60% do tempo de programação. Isto não ocorre na linguagem DP, pois:
A entrada de dados é feita por um programa de digitação de dados de dese-
nho. A partir do nome do subprograma de desenho DPS fornecido pelo pro-
jetista, o programa automaticamente monta telas de entrada de dados que de-
vem ser preenchidas.
O resultado da digitação de dados é um arquivo .DP com a definição dos pa-
râmetros de desenho e com uma chamada ao subprograma que fará o dese-
nho. Este programa DP é então processado.
O esquema de processamento fica assim:
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
6
O projetista que usa o DP para fazer desenhos terá uma rotina do seguinte tipo:
Digitar dados associados a um determinado desenho paramétrico;
Processar estes dados;
Editar graficamente para dar acabamento ao desenho;
Imprimir e plotar o resultado.
2.2. Codificação
Os arquivos .DP, usualmente são codificados diretamente pelo programa de digitação
de dados de desenho. Arquivos .DP e .DPS podem ser editados por qualquer editor de
textos, tal como o EDITW, tendo nomes de até 8 caracteres, conforme a convenção
do MS-DOS, e tipo .DP ou .DPS.
A programação se faz com o uso de palavras chaves análogas a adjetivos / advérbios.
Comandos como "LISTAR TODAS VARIAVEIS" são um exemplo do tipo de codi-
ficação aceita na linguagem.
2.3. Processamento
O acionamento dos programas é feito através do gerenciador, chamado pelo ícone do
CAD/AGC&DP, usando uma pasta integrada de um edifício ou uma pasta qualquer
como pasta de projeto:
Conceitos e convenções 7
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
O menu "Editar" "Desenho Paramétrico"
"Criar novo arquivo DP" tem o comando
para digitação de dados de desenho. Este
comando abrirá um quadro que pedirá os
dados em uma tela e gerará o arquivo .DP
correspondente. Este arquivo por sua vez é
processado dentro do menu "Processar"
"Desenho Paramétrico"
Como resultado teremos um desenho, que
poderá ser editado graficamente através
do editor gráfico do AGC&DP, ou pela
terceira janela do gerenciador:
O manual de comandos e funções do CAD/AGC & DP mostra com mais detalhes a
operação de todo o sistema.
2.4. Grupo de desenhos do projeto
Para facilitar o agrupamento de desenhos, existe o conceito de "Projeto". Projeto é um
grupo de desenhos identificados por um número de 4 dígitos, ou "Número de Proje-
to". O uso do número de projeto é semelhante ao de outros sistemas CAD/TQS.
Por convenção, associa-se uma pasta do disco a um número de projeto, e agrupa-se
desenhos dentro desta pasta. O gerenciador facilita a criação automática de pastas do
edifício.
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
8
Com a utilização de projeto, é possível de uma vez só carregar um grupo de desenhos
no editor de plantas ou plotar desenhos na impressora.
2.5. Unidades de desenho
Independentemente da unidade de trabalho escolhida, o desenho é (por convenção)
sempre armazenado na escala 1:1. A transformação de escala é efetuada somente
quando o desenho precisa ser transferido para o plotter ou impressora. Na verdade, a
escala precisa ser previamente escolhida, para que os textos colocados no desenho
saiam do tamanho esperado.
Os tamanhos de texto colocados no desenho, são sempre definidos em centímetros. O
programa ajusta o texto em relação ao resto do desenho, a partir de um fator de escala.
Por convenção:
Uma unidade de desenho dividida pelo fator de escala resulta no número de centíme-
tros que esta unidade representa no papel
Por esta convenção, o fator de escala depende da unidade de desenho. A tabela abaixo
exemplifica os fatores de escala usados para a plotagem de um desenho em escala
1:50:
Unidade de
desenho
Escala
desejada
Fator de
escala
Centímetros de plotagem
por unidade de desenho
metros 1:50 0.50 2.0000
centímetros 1:50 50.00 0.0200
polegadas 1:50 19.68 0.0508
Durante a plotagem, todas as medidas são divididas pelo fator de escala. Os textos são
multiplicados pela escala durante o desenho e divididos por ela durante a plotagem,
ficando com a dimensão estabelecida pelo projetista no início da codificação.
Uma vez definida a escala, esta é associada ao desenho e usada automaticamente pelo
editor gráfico e programas de plotagem. Por default, o fator de escala vale 50.
2.6. Sistema de coordenadas
Todo o desenho é feito num plano X-Y, com origem no ponto (0,0). O DP permite a
definição de sistemas locais em qualquer posição e ângulo, para a definição de qual-
Conceitos e convenções 9
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
quer parte do desenho; no entanto, internamente as coordenadas são sempre armaze-
nadas no sistema global.
2.6.1. Posição em relação à origem
O desenho pode estar em qualquer lugar em relação à origem (0,0). Esta posição não
tem influência na hora de posicionar o desenho no papel para plotagem. Na verdade, o
posicionamento efetuado pelo editor de plantas leva em consideração apenas um
retângulo envolvente imaginário sobre o desenho.
2.6.2. Direções
Ângulos são positivos no sentido anti-horário, medidos em relação ao eixo X global.
Alguns modos de entrada de pontos permitem também a entrada de um ângulo relati-
vo a outro já existente. Distâncias quando fornecidas em relação a uma direção são
positivas à direita da direção e negativas à esquerda (estas distâncias são chamadas
aqui de Offsets).
2.6.3. Precisão
Todas as coordenadas e valores armazenados pelo programa tem 15 dígitos significa-
tivos (precisão dupla). Números com mais de 15 dígitos perderão a precisão (a exem-
plo de coordenadas UTM).
2.7. Convenções de descrição da linguagem
O manual descreve a linguagem DP através de um conjunto de convenções:
Palavras em letra de impressora correspondem a dados codificados
pelo projetista e saídas de tela.
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
10
Palavras em letras maiúsculas são rótulos que o projetista fornece ao pro-
grama. A parte sublinhada de cada rótulo corresponde a abreviação mínima
do rótulo. Por exemplo:
DESENHO
Apenas as 3 primeiras letras são necessárias para descrever o comando; no
entanto, a codificação de modo não abreviado torna a entrada de dados mais
"clara".
Por via de regra, todas as palavras chaves usadas no programa são abreviá-
veis pelas 3 primeiras letras; a única exceção se aplica às palavras chaves uti-
lizadas no comando DEFINE, onde são usadas as 6 primeiras letras.
Palavras em letra minúscula: correspondem a uma informação que o projetis-
ta deve fornecer ao programa. Por exemplo:
DISTANCIA nno1 nno2
A palavra DISTANCIA está em letra maiúscula, fazendo parte da descrição;
"nno1" e "nno2" neste caso representam números de nós, que devem ser
codificados nesta posição. Por exemplo, são codificações válidas:
DISTANCIA 10 20
DIStancia 4 32
DIST 7 20
Não devemos confundir a descrição do comando com o comando em si; as
palavras chaves podem ser escritas em letra minúscula ou maiúscula sem
distinção.
Algumas palavras em letra minúscula são usadas consistentemente ao longo
do manual. Por exemplo, "valor", "ângulo", "coord" são descritos na medida
em que aparecem no manual.
Palavras entre colchetes [ ]: é informação que pode ser codificada ou não, a
critério do projetista. Por exemplo, na definição de um novo sistema local de
coordenadas:
ORIGEM [coord] [ANG angulo]
Conceitos e convenções 11
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
A sintaxe acima significa: codificar a palavra ORIGEM, seguida opcional-
mente por um par de coordenadas, e seguida opcionalmente pela palavra
ANG. Se ANG for codificado, então o fornecimento de um ângulo a seguir se-
rá obrigatório. São definições válidas:
ORIGEM
ORI 0,0 ANG 45
ORI 100,100
ORIGEM ANG 30
Note que os colchetes usados na descrição do comando não são codificados.
Definição em várias linhas: são opções que o projetista pode escolher para
uma determinada entrada. Por exemplo:
nno coord
OFFSET valor coord1 coord2
INTERSECCAO linha1 linha2
PROJECAO coord1 coord2 coord3
A sintaxe acima descreve as formas alternativas de definição de um nó. Por
exemplo:
15 0,0
27 OFF 12.5 1 2
39 INTERSECCAO 1 10 20 3
... significa que um item de dados pode ser repetido. Por exemplo:
POLIGONAL coord1; coord2; ...
Estamos descrevendo uma poligonal; ela é construída a partir de 2 ou mais
nós, separados pelo sinal ";".
2.8. Convenções de entrada de dados
2.8.1. Formato de entrada
Todas as informações codificadas pelo usuário são fornecidas em formato livre, isto é,
em qualquer coluna da linha de entrada, separadas por um ou mais brancos ou carac-
teres de tabulação. Letras maiúsculas e minúsculas podem ser usadas livremente e
sem distinção. Os comandos a seguir têm todos o mesmo significado:
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
12
100 5@%DISTAN<DIR20 30-45
100 5 @ %DISTAN < DIR 20 30 - 45
100 5 @ %DISTAN < DIR 20 30 - 45
Em geral, a boa prática de codificação é alinhar itens correlatos em linhas diferentes,
pois isto facilita a leitura. Para isto, pode-se usar o caractere de tabulação para avan-
çar o cursor. Por exemplo, a codificação:
100 5@%DISTAN<DIR20 30-45
101 100@%DISTAN<DIR5 6
se tornaria mais legível numa listagem, se estivesse na forma:
100 5 @ %DISTAN < DIR 20 30 - 45
101 100 @ %DISTAN < DIR 5 6
2.8.2. Abreviações
Como foi dito anteriormente, todas as palavras chaves usadas pelo programa são
abreviáveis pelas 3 primeiras letras, com exceção das palavras usadas pelo comando
DEFINE.
2.8.3. Tamanho da linha de entrada
O programa lê até os primeiros 80 caracteres de cada linha de entrada. Se o projetista
tiver necessidade de fornecer mais dados do que cabem numa linha, poderá continuar
na linha seguinte desde que coloque um sinal de "-" como último caractere da linha
atual. Por exemplo:
POL 2 3 22 35 25 -
23 16 14 13 10 -
7 29
O comando poligonal deve ser definido numa única linha. Neste exemplo, escolheu-
se dividir o comando em 3 linhas diferentes, colocando-se o sinal de continuação
entre uma linha e outra.
O sinal de "-" pode ser colocado em qualquer coluna, desde que seja o último elemen-
to codificado na linha.
Conceitos e convenções 13
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
2.8.4. Comentários
Em qualquer parte da codificação podem ser colocados comentários. Comentários não
são interpretados pelo DP, mas servem para documentar o arquivo e orientar o usuário
na análise e verificação da codificação.
Comentários são definidos pelo caractere "$"; quando o DP encontra um "$" numa
linha de comando, todo o resto da linha passa a ser considerada como comentário.
Faz parte da boa prática de codificação colocar comentários em pontos importantes.
Por exemplo, no desenho de uma peça com cortes A-A e B-B:
$
$ Corte A-A
$
(definição de desenho)
$
$ Corte B-B
$
(definição de desenho)
Nem sempre é visível ou trivial descobrir o que se está desenhando dentro de um
arquivo DP (principalmente quando é necessário alterar um arquivo). A colocação de
comentários pode ajudar a analisar o conteúdo do arquivo.
2.8.5. Cópia de linha anterior
O sistema de entrada de dados do DP permite alguns "truques", que podem ser usados
para acelerar a codificação: trata-se de um sistema que permite copiar partes da linha
anterior para atual. Por exemplo:
INSERE 'X' 10 ESC 1
" " 20 " 2
" " 30 " 3
Na primeira linha definiu-se a inserção do bloco 'X' no nó 10 e escala 1. Nas linhas
seguintes inseriu-se o mesmo bloco, mas em nós e escalas diferentes. O caractere de
aspas (") copia o elemento da linha acima.
Outra possibilidade para copiar elementos da linha anterior:
INSERE 'X' 10 ESX 1 ESY 2 ANG 45
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
14
INSERE 'Y' ...
INSERE 'Z' ...
Na primeira linha foi definida a inserção do bloco 'X' em um certo nó, escalas X e Y
e ângulo de rotação. Nas duas linhas seguintes, foram colocados 2 outros blocos, na
mesma posição e escala; o resto da linha, a partir dos "..." foram copiados da linha
de cima.
2.9. Seções de programa
Todos os comandos são agrupados logicamente em "Seções de Programa" terminadas
pela palavra FIM. Por exemplo:
DESENHO 'nome'
(comandos de definição de desenho)
FIM
O comando DESENHO define o início da descrição de um desenho. Esta descrição
forma uma seção de programa terminada pela palavra FIM.
Seções de programa podem conter outras seções dentro. Por exemplo, dentro da seção
de desenho, para definirmos um conjunto de variáveis globais:
DESENHO 'nome'
GLOBAIS
(definição de variaveis globais)
FIM
(comandos de definição de desenho)
FIM
Neste exemplo, a primeira palavra FIM encontrada marca o fim da seção de variáveis
globais do desenho 'nome', e não a seção de DESENHO. Existem muitos outros
casos onde se pode definir seções de programa. Como regra geral, a palavra FIM
fecha a seção aberta mais recentemente.
O próprio programa DP pode ser considerado como uma seção de programa; a pala-
vra FIM, quando não fecha nenhuma outra seção, fecha o programa e termina o pro-
cessamento do desenho.
Conceitos e convenções 15
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
2.10. Ordem de entrada de dados
Não existe uma ordem pré-estabelecida para a entrada de dados. O DP interpreta
comandos do projetista na medida que os lê. A única restrição é que quando um ele-
mento referencia outro, o outro precisa ser criado primeiro. Por exemplo, para a defi-
nição de uma linha entre 2 nós é necessário definir os 2 nós primeiro.
2.11. Organização de um arquivo .DP
O arquivo .DP contém a descrição de um ou mais desenhos. A seção de programa
DESENHO delimita o início e o fim da descrição de cada desenho:
DESENHO ['nome']
...
FIM
Entre a palavra DESENHO e FIM é feita a descrição do desenho de nome 'nome'
(entre apóstrofes, até 8 caracteres). Se o nome do desenho for omitido, 'TMP' é as-
sumido. Um típico arquivo .DP teria a seguinte organização:
DESENHO 'nome1'
(definição dos elementos do desenho 'nome1')
FIM
DESENHO 'nome2'
(definição dos elementos do desenho 'nome2')
FIM
.....
Assim, "n" desenhos podem ser descritos dentro de um arquivo .DP. Existem muitos
modos para se definir um desenho, sendo o mais importante o de chamada de subpro-
gramas com a passagem de parâmetros.
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
16
3. Locação Geométrica Trataremos neste capítulo da construção de coordenadas, que permitirão mais tarde
locar elementos gráficos sobre o desenho.
Tanto a locação geométrica de coordenadas quanto o desenho de elementos básicos
(linhas, textos, etc) seguem um esquema semelhante ao usado no CAD/Formas.
3.1. Definição de valores numéricos
Valores numéricos são usados em coordenadas, distâncias, ângulos, dimensões, etc. O
sistema permite a construção de expressões aritméticas sempre em lugares onde valo-
res numéricos sejam esperados.
3.1.1. Operações básicas
Os seguintes símbolos são usados para expressar as operações aritméticas básicas:
+ Mais
- Menos
* Vezes
/ Dividido
** Elevado
( ) Parênteses
3.1.2. Expressões aritméticas
O sistema interpreta expressões aritméticas de uma forma simplificada: sempre da
esquerda para a direita, sem consideração da precedência algébrica dos operadores.
Por exemplo:
3 + 4 resulta em 7, enquanto que
3 + 4 * 5 resulta em 35 e não em 23, pois o programa efetua a
soma de 3 com 4 primeiro.
Para compensar, o DP permite o uso de parênteses. Na expressão anterior, para multi-
plicar 4 por 5 primeiro, fazemos:
3 + (4 * 5)
Parênteses podem ser aninhados:
Locação Geométrica 17
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
( (3 ** 2) + (4 ** 2) ) ** 0.5 resulta em 5
3.1.3. Funções
Além dos operadores aritméticos básicos, existem funções que podem ser usadas
dentro de expressões aritméticas. Uma função é chamada pelo nome, seguida de ar-
gumentos entre parênteses:
SEN (x) Seno de um ângulo em graus
COS (x) Coseno
TAN (x) Tangente
ASEN (x) Arco em graus cujo seno vale x
ACOS (x) Arcoseno
ATAN (x) Arcotangente
RAIZ (x) Raiz quadrada de um número
FIX (x) Parte inteira de um número
FRAC (x) Parte fracionária de um número
ABS (x) Valor positivo de um número
A função SEN pode ser chamada também de SIN, e a função RAIZ de SQRT. Exem-
plo de expressão aritmética com tangente:
(90 + 12) / TAN (60)
3.1.4. Operadores Geométricos
Além das funções mostradas acima, existem operadores geométricos, que serão mos-
trados em detalhe adiante. Estes operadores trabalham sobre nós, e retornam um valor
que pode ser usado normalmente dentro de uma expressão aritmética:
DIS nno1 nno2 Distância entre 2 nós
DX nno1 nno2 Delta X entre 2 nós
DY nno1 nno2 Delta Y entre 2 nós
X nno X de um nó
Y nno Y de um nó
DIR nno1 nno2 Direção de 2 nós
Por exemplo, DIS 5 6 representa a distância entre os nós 5 e 6 e X10 a abscissa do
nó 10. O conceito de nós será visto logo adiante.
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
18
3.1.5. Ângulos
Ângulos são valores numéricos, que podem ser formados por qualquer tipo de expres-
são aritmética. Todos os ângulos definidos na entrada de dados são em graus deci-
mais.
Ângulos podem ser definidos também em graus, minutos e segundos. A sintaxe é:
graus ^ minutos segundos
O caractere (^) avisa ao sistema que a seguir seguem medidas angulares em minutos e
segundos. Por exemplo,
30 ^ 10 20
significa 30, 10 minutos e 20 segundos. O mesmo valor decimal vale 30.1722.
3.1.6. Expressões lógicas e outras funções
Expressões lógicas, usadas em comandos condicionais podem fazer parte de expres-
sões numéricas. O seu uso será visto no capítulo Controle de fluxo.
Funções de manipulação de valores alfanuméricos (cadeias de caracteres) também
podem fazer parte de expressões numéricas, e seu uso será visto no capítulo Variá-
veis e macro-substituição.
3.2. Nós e coordenadas
Todos os elementos gráficos são armazenados em função de suas coordenadas XY.
Nós são coordenadas que recebem um número de identificação (número entre 1 e
30.000). A vantagem de se construir nós é que uma vez definidas suas coordenadas,
estas podem ser reutilizadas qualquer número de vezes, apenas referenciando-se o
número do nó. Outras aplicações, tais como o CAD/Formas usam nós também como
base para definição de todos os outros elementos.
Nós são definidos através de um par de coordenadas, mas um par de coordenadas
também pode ser definido em função de outros nós existentes. Vamos então mostrar a
construção de coordenadas e de nós gradativamente.
Nós e outros elementos de desenho são construídos dentro da seção de DESENHO.
Para testar os exemplos a seguir, é necessário abrir primeiro esta seção.
Locação Geométrica 19
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
3.3. Modos de definição de nós
Nós podem ser definidos de 4 modos:
nno coord
OFFSET valor coord1 coord2
INTERSECCAO linha linha
PROJECAO coord1 coord2 coord3
onde:
nno número de um nó
valor valor numérico
coord um par de coordenadas
linha duas coordenadas ou um par de coordenadas e um ângulo
No primeiro caso, define-se o nó por suas coordenadas. Por exemplo:
15 300, 10
significa: Nó 15, nas coordenadas (300, 10). A definição completa do que podem ser
coordenadas será vista logo a seguir.
Nos casos de OFFSET, INTERSECÇÃO e PROJEÇÃO são feitas construções geomé-
tricas que resultam nas coordenadas de um nó; nos 3 casos, usa-se a definição de
coordenadas.
3.4. Definição de coordenadas
Coordenadas podem ser absolutas ou relativas a nós existentes, e os valores X, Y (ou
distância e ângulo) podem ser compostos por expressões aritméticas.
3.4.1. Coordenadas absolutas
A forma mais simples de definição de um par de coordenadas é pelo seu valor:
x,y
Assim, em:
15 300,10
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
20
definimos as coordenadas (300,10) como sendo do nó 15. Uma segunda alternati-
va para a definição do valor das coordenadas é pelo formato polar:
distância < ângulo
Por exemplo, em:
20 100 < 45
temos o nó 20 à distância 100 cm da origem (0,0), formando um ângulo de 45 em
relação ao eixo X (coordenadas (70.7, 70.7)).
3.4.2. Coordenadas relativas
Pode-se definir um par de coordenadas a partir de outro par, de um nó existente. As
variações possíveis são:
nno
nno @ dx, dy
nno @ dist < ângulo
No primeiro caso, as coordenadas resultantes são as coordenada do nó de número
nno. Isto significa que sempre no lugar de um par de coordenadas podemos fornecer
o número de um nó.
No segundo caso, são as coordenadas do nó fornecido mais um deslocamento
(dx,dy).
No terceiro caso, são as coordenadas do nó fornecido, mais uma distância e um certo
ângulo em relação ao eixo X. Por exemplo:
Na figura temos:
Locação Geométrica 21
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
O nó 15 nas coordenadas (10,50).
O nó 20, nas coordenadas do nó 15, mais 86.6 de deslocamento na direção X
e 50 de deslocamento na direção Y.
O mesmo nó 20, definido de forma diferente: está à distância 100 do nó 15,
formando a direção 15-20 um ângulo de 30 em relação ao eixo X.
3.4.3. Uso de expressões aritméticas
Quando codificamos coordenadas X,Y fornecemos 2 valores: um para X e um para Y.
No lugar de valores numéricos, o sistema permite o fornecimento de expressões arit-
méticas, com funções e operadores geométricos vistos anteriormente.
A principal vantagem da interpretação de expressões aritméticas é que em vez do
projetista calcular as coordenadas exatas de cada nó fazendo as contas manualmente,
ele pode especificar diretamente quais foram às operações que o levaram a um deter-
minado par de coordenadas. Com isto, ficam autodocumentadas as construções geo-
métricas e aritméticas que levaram a locação de cada nó; mais tarde, se houver um
erro qualquer na definição do desenho, será muito mais fácil a verificação da posição
de cada nó.
No exemplo a seguir, vemos dois modos de construção do nó 33 a partir do nó 17,
compondo medidas com expressões aritméticas. O segundo modo será explicado logo
a seguir.
3.4.4. Abscissas e ordenadas de nós conhecidos
Quando usamos o caractere @ para a entrada de valores relativos a um nó, estamos
tomando como valor inicial o X e o Y do mesmo nó. Existe um modo de tomarmos
ordenadas e abscissas de nós diferentes para a definição de um outro nó. Para isto são
usados os operadores:
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
22
X nno
Y nno
Onde nno é o número do nó do qual estamos tomando a abscissas X ou ordenada Y.
É importante lembrar que para o programa, X nno e Y nno se comportam como
valores simples, e como tais podem ser combinados a outros por meio de operações
aritméticas. No exemplo a seguir, definimos os nós 11 e 13 do canto de um retângulo
em função do X e Y dos nós 15 e 20 já definidos (os exemplos com DX e DY serão
explicados a seguir).
No próximo exemplo, os nós 25 e 35 são colocados no ponto médio entre os nós 10 e
30, e 20 e 40.
3.4.5. Deslocamentos e distâncias entre nós
Outra opção para a entrada de valores são os operadores
DX nno1 nno2
DY nno1 nno2
DISTANCIA nno1 nno2
Locação Geométrica 23
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
No primeiro caso, o valor resultante é a diferença entre o X do nó nno2 e o X do nó
nno1. O segundo caso é semelhante, mas os valores tomados são de Y. A entrada de
DX e DY geralmente é feita em definições relativas a nós, no formato deltax, deltay.
No terceiro caso, a resultante é a distância entre os nós nno1 e nno2. Este tipo de
definição é geralmente utilizada em definições relativas a nós, no formato distân-
cia < ângulo.
3.4.6. Ângulos entre nós
Muitas vezes, a direção formada por 2 nós é paralela a direção de outros 2 nós já
definidos. Em outros casos, a direção formada por 2 nós forma um ângulo conhecido
em relação a outra direção conhecida que não o eixo X. Para isto, existe um modo de
definição de ângulos, que retorna uma direção conhecida. Esta direção então pode ser
alterada para formar a direção desejada.
DIRECAO nno1 nno2
Onde nno1 e nno2 são números de nós já definidos. Não devemos esquecer que
ângulos são positivos sempre no sentido anti-horário. Na figura a seguir, o nó 32 (a
ser definido) forma com o nó 21 um ângulo de 30 no sentido horário (negativo) em
relação à direção dos nós 13 e 21.
3.4.7. Uso de funções trigonométricas
O modo polar de entrada de coordenadas (distância < ângulo) resolve os
casos onde são conhecidos um ângulo e uma hipotenusa de um triângulo retângulo.
Para resolvermos problemas onde são conhecidos apenas um ângulo e um cateto, é
necessário o uso de funções trigonométricas, tal como no exemplo seguinte. Vamos
determinar as coordenadas do nó 20 a partir do nó 10:
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
24
20 10 @ (90 + 12)/TAN (60), -(20 + 90 + 12)
3.4.8. Uso de coordenadas
Comandos de desenho tais como POLIGONAL para traçado de linhas conectadas tem
uma sintaxe que exige a entrada de coordenadas. Por exemplo:
POLIGONAL coord1; coord2; ....
Resumindo o que vimos, um par de coordenadas pode ser:
x , y
dist < ang
nno
nno @ dx , dy
nno @ dist < ang
onde cada um dos valores numéricos pode ser dado por uma expressão aritmética.
3.5. OFFSET
Um nó pode ser definido por um offset em relação a uma reta:
nno OFFSET valor coord1 coord2
O comando OFFSET permite uma forma simplificada de se definir nós que formam
um ângulo de 90 com uma determinada direção. O nó resultante está a uma distância
fornecida dos pontos 1-2, na altura do ponto 2, e a direita da direção 1-2 se a distância
for positiva.
Locação Geométrica 25
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
Note que o comando OFFSET pode ser substituído (com um pouco mais de trabalho)
por uma definição de coordenada relativa.
3.6. INTERSECÇÃO
O comando INTERSECÇÃO determina as coordenadas de um nó resultante da inter-
secção de duas linhas:
nno INTERSECCAO linha1 linha2
Cada uma das linhas pode ser definida por duas coordenadas ou pelo par: coordena-
das e um ângulo:
coord1 coord2
coord ANG angulo
Numa das figuras anteriores nós vimos uma intersecção realizada pelo fornecimento
de 4 pontos, cada 2 definindo uma linha. Na figura abaixo uma intersecção entre faces
de pilares é feita com duas linhas definidas por ponto e ângulo:
3.7. PROJEÇÃO
O comando PROJEÇÃO projeta ortogonalmente as coordenadas coord1 sobre uma
reta formada pelas coordenadas coord2 e coord3:
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
26
nno PROJECAO coord1 coord2 coord3
No exemplo a seguir, os nós 1, 2, 3 e 4 já estão definidos; os nós 6 e 7 são obtidos por
meio de projeção.
3.8. Sistema local de coordenadas
É muito comum encontrarmos desenhos onde grandes quantidades de linhas sejam
paralelas a direções diferentes dos eixos X e Y do sistema global de coordenadas. A
definição destas linhas seria muito trabalhosa pela entrada de distâncias e ângulos.
Para cobrir estes casos, o sistema permite definir a qualquer momento um sistema
local de coordenadas, transladado e girado em relação ao sistema global. No início do
processamento, o chamado Sistema Local Atual coincide com o sistema global, com
origem (0,0) e ângulo de rotação de zero grau.
Todas as entradas de ângulos, distâncias e deltas são sempre medidas em relação ao
sistema local atual de coordenadas. O comando LISTAR (pág. 102) também mostra a
coordenadas de nós pelo sistema local atual.
A sintaxe é:
ORIGEM [coord] [ANGULO angulo]
coord são as coordenadas do sistema local medidas em relação ao sistema global de
coordenadas. Se estas coordenadas não forem fornecidas serão assumidas (0,0).
Locação Geométrica 27
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
ângulo é o ângulo de rotação do sistema em relação ao eixo X do sistema global. Se
o ângulo não for fornecido, será adotado zero (e, portanto somente a palavra ORIGEM
é suficiente para retornar o sistema de coordenadas para o global).
Todas as coordenadas são armazenadas internamente pelo sistema global de coorde-
nadas. A plotagem do desenho é feita sempre com o eixo X global paralelo ao papel, e
é independente da posição do desenho em relação aos eixos globais.
3.9. Geração de nós
Para a definição de nós em desenhos de geometria uniforme, existem comandos de
geração em linha e em malha.
3.9.1. Geração de nós em linha
Nós podem ser gerados ao longo de uma linha, com espaçamento e numeração uni-
forme. A sintaxe para definição desta geração consiste numa extensão do comando de
definição de nós. Após a definição do nó (por coordenadas ou construção geométrica)
define-se opcionalmente os dados de geração, conforme mostra a figura seguinte:
10 10,50 A 35 PASSO 5 15,5
Aqui vemos o nó 10 definido nas coordenadas (10,50). Foram gerados a partir do nó
10, os nós 15 a 35, com numeração aumentando de 5 em 5 e incremento de coordena-
das delta-x de 15 cm e delta-y de 5 cm. A sintaxe completa do comando é:
nno coord [A nno2 [PASSO num ] coord2 ]
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
28
Este comando define os nós nno até nno2, com incremento de numeração num e
incremento de coordenadas coord2 a partir de coord. O passo de incremento de
número de nó é opcional, e quando não fornecido é assumido 1.
A geração de nós em linha na verdade pode ser feita a partir de qualquer definição de
nó, incluindo os comandos de construção geométrica, como por exemplo:
50 PRO 40 21 22 A 60 10,10
Neste comando, o nó 50 foi criado a partir da projeção do nó 40 sobre a reta 21-22.
Os nós 51 a 60 foram criados então, com incrementos de coordenadas de (10,10), a
partir do nó 50.
3.9.2. Geração de nós em malha
Na geração de nós em malha, pode-se gerar um conjunto de nós de numeração uni-
forme, mas de espaçamento irregular. A geração consiste em interceptar dois conjun-
tos de retas em duas direções diferentes, cada reta definida por um nó e uma direção.
Para poder fazer uso da geração em malha, é necessário antes planejar uma numera-
ção uniforme dos nós da malha. A figura seguinte mostra um exemplo típico de gera-
ção de uma malha de nós:
Locação Geométrica 29
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
Nesta figura foram interceptados dois conjuntos de retas: o conjunto dos nós 11 a 14
(passo 1 default), com ângulo de 90 (default) e o conjunto dos nós 20 a 50 (passo 10)
com ângulo de zero graus (default). Os nós resultantes das intersecções foram nume-
rados a partir do segundo conjunto, com o incremento de numeração do primeiro
conjunto. Note que:
Os nós 11, 12, 13 e 14 foram previamente criados, e não tem espaçamento
necessariamente regular.
Os nós 20, 30, 40 e 50 foram previamente criados, e também não tem espa-
çamento necessariamente regular.
As retas passando pelos nós 11 a 14 tem um ângulo de 90.
As retas passando pelos nós 20 a 50 tem um ângulo de zero grau.
A numeração de cada nó gerado é feita por linha, usando-se o número do nó
a esquerda, incrementado pelo passo de numeração do conjunto 1 de nós.
A numeração dos nós 11 a 14 e 20 a 50 foi planejada para ser regular, e não
criar "choques" de numeração dos nós gerados.
A sintaxe completa do comando de geração é:
MALHA conjunto-1 conjunto-2
onde conjunto refere-se a um conjunto de linhas formadas por um nó e uma dire-
ção. Cada conjunto é codificado da seguinte forma:
nno1 A nno2 [PASSO num] [ANG angulo]
O passo de numeração de nós é opcional, e se não fornecido é adotado 1. O ângulo
opcional define a direção de intersecção das retas do conjunto. O default deste ângulo
é de 90 para o conjunto 1 e de zero graus para o conjunto 2.
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
30
4. Desenho Neste capítulo trataremos de todos os comandos necessários para a geração de dese-
nhos. Gerar desenhos pelo DP equivale a gerar pelo EAG de forma alfanumérica.
4.1. Níveis de desenho
Os desenhos gerados pelo DP são compatíveis com o EAG e seguem a mesma con-
venção de níveis de desenho. Até 256 níveis (000 - 255) podem ser gerados. Por de-
fault, o nível usado é o zero.
Todos os comandos de geração de elementos permitem especificar em qual nível deve
cair o elemento gráfico. Quando este nível não for especificado, o elemento cairá no
nível default. O comando que define o nível default é:
DEFINE NIVEL num
4.2. Associação de cores a níveis
No editor gráfico EAG, cores são associadas a níveis, e todos os elementos dentro de
um nível têm a mesma cor. Quando um desenho novo é criado, os níveis têm as cores
padrões do sistema e subsistema (veja adiante). Você pode reatribuir cores a níveis
com o comando:
DEFINE NIVCOR nível cor
Onde a cor corresponde a um código de 1 a 15, conforme a tabela:
Vermelho brilhante 1
Amarelo brilhante 2
Verde brilhante 3
Azul claro brilhante 4
Azul escuro brilhante 5
Roxo brilhante 6
Branco brilhante 7
Cinza 8
Vermelho 9
Marrom 10
Verde 11
Azul claro 12
Desenho 31
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
Azul escuro 13
Roxo 14
Branco 15
4.3. POLIGONAL
O comando POLIGONAL gera linhas conectadas (chamadas no EAG de linhas múlti-
plas) por uma série de coordenadas fornecidas. A sintaxe do comando é:
POLIGONAL lista-de-coord [NVD nível] [[OFFSET valor]
[NVD nível]]
O nível definido opcionalmente em NVD é um nível diferente do default. OFFSET e o
segundo NVD definem uma linha paralela a linha original, opcionalmente num nível
diferente. O exemplo abaixo ilustra o desenho de um balcão, usado os nós de contor-
no 10, 11, 12, 13, 14 e 15 pré-definidos.
POLIGONAL 10; 11; 12; 13; 14; 15; OFFSET 12
4.3.1. Lista de coordenadas
A lista de coordenadas esperada pelo comando POLIGONAL é usada em vários outros
comandos. Trata-se de um conjunto de coordenadas, definido de modo absoluto ou
relativo entre si. A lista de coordenadas pode ter um dos dois formatos:
coord1; coord2; coord3; ...
coord1 @ coord2 @ coord3 ...
No primeiro caso, as coordenadas são absolutas. No segundo, apenas as primeiras
coordenadas são absolutas; as demais são relativas às coordenadas anteriores.
Existe um problema de ambigüidade no comando, quando se usa coordenadas no
formato:
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
32
nno @ dx, dy
este caso, o programa não sabe dizer se existem uma ou duas coordenadas. Isto pode
ser resolvido com o uso da palavra REL para diferenciar duas coordenadas, em vez da
@. O exemplo abaixo mostra formas alternativas de uso do comando POLIGONAL.
4.4. LINHA
O comando LINHA tem funcionamento idêntico ao do comando POLIGONAL, a
menos que as linhas geradas são independentes, não conectadas.
LINHA lista-de-coord [NVD nível] [[OFFSET valor] [NVD
nível]]
4.5. CURVA
O comando CURVA permite definir uma curva suavizada através de pontos de con-
trole:
CURVA lista-de-coord [NVD nível] [[OFFSET valor] [NVD
nível]]
A opção OFFSET, assim como no comando POLIGONAL permite desenhar uma
curva paralela a partir da distância fornecida; NVD especifica o nível em que a curva
será desenhada.
A figura seguinte mostra um exemplo de construção deste tipo de curva:
Desenho 33
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
CURVA 10; 11; 12; 13; 14; 15; 16 OFF -10
4.6. CIRCULO
O comando CIRCULO permite fazer 4 construções geométricas de círculo: por 2 ou 3
pontos, centro e raio e centro e diâmetro. A sintaxe do comando é:
CIRCULO [ C coord] -
[ R valor] -
[ DIAM valor] -
[ PI coord] -
[ PF coord] -
[ PM coord] -
[ NVD nível ] [OFFSET valor [NVD nível]]
O projetista deve codificar apenas os dados suficientes para que o círculo possa ser
construído. Os comandos NVD e OFFSET funcionam de forma análoga ao comando
POLIGONAL (no caso do círculo, o offset positivo causa um círculo de raio maior). O
significado de cada palavra chave é:
C coord Centro
R valor Raio
DIAM valor Diâmetro
PI coord Ponto inicial
PF coord Ponto final
PM coord Ponto intermediário
As figuras abaixo ilustram o uso deste comando.
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
34
4.7. ARCO
Arcos podem ser desenhados através de 8 tipos de construções geométricas:
Centro, Raio, Ângulo inicial e final;
Ponto inicial, Centro, Ponto final;
Ponto inicial, Centro, Ângulo interno;
Ponto inicial, Centro, Corda;
Ponto inicial, Ponto final, Ângulo interno;
Ponto inicial, Ponto final, Raio;
Ponto inicial, Ponto final, Direção inicial;
3 Pontos.
O projetista fornece os dados necessários para a construção do arco através de pala-
vras chaves; o sistema determina se a construção é possível ou não. A sintaxe do
comando é:
ARCO [C coord ]
[R valor ]
[CORDA valor ]
[PI coord ]
Desenho 35
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
[PF coord ]
[PM coord ]
[ANA angulo ]
[ANI angulo ]
[ANF angulo ]
[DIR angulo ]
[NVD nível ] [OFFSET valor [NVD nível]]
Assim como no círculo, OFFSETs positivos geram arcos paralelos de raio maior.
Todas as construções de arco são feitas no sentido anti-horário. Isto significa que
pontos fornecidos em ordem errada gerarão um arco complementar. O significado de
cada palavra chave acima é:
C coord Centro
R valor Raio
CORDA valor Corda
PI coord Ponto inicial
PF coord Ponto final
PM coord Ponto intermediário
ANA angulo Ângulo interno
ANI angulo Ângulo inicial
ANF angulo Ângulo final
DIR angulo Direção inicial
As figuras seguintes ilustram as possíveis construções de arcos:
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
36
Desenho 37
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
4.8. TEXTO
O comando TEXTO permite colocar anotações no desenho, em qualquer nível, coor-
denada ou tamanho.
Existem 2 modos de definição de textos:
TEXTO 10 'Formas do Pavimento Tipo'
TEXTO 500,0 NLIN 5
Pilar Carga (tf)
===== ==========
P1 40.5
P2 60.3
P3 65.7
No primeiro modo, definimos um texto nas coordenadas do nó 10, cujo conteúdo é:
'Formas do Pavimento Tipo'.
No segundo modo, definimos uma tabela de 5 linhas (NLIN 5), nas coordenadas
500,0, e cujo conteúdo é mostrado nas 5 linhas seguintes. Este modo é interessante
para a entrada de tabelas no desenho.
Em ambos os casos, os textos foram desenhados a zero grau, no nível default e no
tamanho default do comando TEXTO.
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
38
4.8.1. Sintaxe do comando TEXTO
A sintaxe completa do comando TEXTO é:
TEXTO coord [opções] 'texto'
NLIN num
As opções disponíveis são:
[HTEX valor] [NVD nível] [ANG angulo] [NLIN num] [CENTRADO]
A palavra HTEX define opcionalmente o tamanho do texto, em cm. Se HTEX não for
definido, será adotado o tamanho default de texto do comando TEXTO. Este tamanho
é definido pelo comando:
DEFINE TAMTTX valor
cujo default é de 0.24 cm.
A palavra NVD define o nível de desenho do texto. Se NVD não for definido, o texto
será desenhado no nível default de elementos gráficos.
A palavra ANG define o ângulo de desenho de texto. Se ANG não for definido, o texto
será desenhado com ângulo zero.
A palavra NLIN define o número de linhas de texto a serem desenhadas; estas linhas
são lidas a seguir. Se NLIN não for fornecido, então apenas um texto será definido,
entre apóstrofes, na mesma linha do comando.
Normalmente o ponto de colocação do texto é alinhado a esquerda do texto. Para que
o texto seja centrado no ponto, usa-se a palavra CENTRADO.
4.8.2. Textos e a Escala
O tamanho de texto definido em HTEX ou em DEFINE TAMTTX é em centímetros
medidos no papel (diferente da unidade de desenho, que é qualquer). A proporção
entre o texto e o desenho é definida pelo fator de escala:
DEFINE ESCALA valor
Este fator tem que ser previamente definido. Conforme comentamos, o fator de escala
divide todas as medidas do desenho, resultando em um valor em centímetros equiva-
Desenho 39
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
lente a unidade de desenho convertida na escala. Por exemplo, para um desenho com
unidades em metros e escala 1:50, nós definiremos:
DEFINE ESCALA 0.5
pois cada metro em unidade de desenho dividido por 0.5 resultará em 2 cm no papel.
Em um desenho com unidades em centímetros na escala 1:50 este fator valeria 50.
Se o fator de escala não for definido, 50 será assumido. É muito perigoso esquecer a
definição da escala: neste caso todos os textos sairão desproporcionais ao desenho, e
todo o trabalho já efetuado com o editor gráfico sobre o desenho poderá ser perdido.
4.9. TFERRO
O comando TFERRO permite colocar textos de ferros em desenhos de armação. As
convenções e detalhes para que os ferros possam ser contabilizados e extraídos na
tabela de ferros se encontra no capítulo Geração de desenhos de armação de con-
creto (pág. 143).
A sintaxe do comando TFERRO é a mesma do comando TEXTO, com algumas im-
plementações:
Decodifica o texto como um texto de ferro: separa posição, quantidade e
comprimento.
Considera parâmetros lidos do arquivo DESARM.DAT – Veja sua documen-
tação no manual: CAD/AGC&DP Manual de critérios de projetos.
Coloca o texto, separando cada componente em uma entidade de texto inde-
pendente.
Coloca o número da posição antes ou depois da quantidade de ferros con-
forme indicado no arquivo DESRAM.DAT.
Ressalta a posição com ou sem circunferência conforme DESARM.DAT.
Importante: A identificação do ferro sempre deve ser a letra ‘P’ para que o DP possa
altera-lo de acordo com os critérios de desenho de armação (DESARM.DAT).
Como exemplo, o seguinte comando:
TFERRO 100,0 NVD 3 ‘5 P3 { 12.5 c/15 c=467’
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
40
Tendo o arquivo DESARM.DAT definido o ressalto da posição com circunferência,
número da posição antes da quantidade de ferro e identificação da posição ‘N’, gerará
o seguinte desenho:
4.10. Cortes
Para uma representação simples de cortes use o comando:
CORTE 'letra' coord1 coord2 [NVD nivel]
por exemplo, o comando:
CORTE 'A' 100,0 200,0
gerará o desenho:
4.11. BLOCOS
BLOCOs são conjuntos de elementos gráficos, agrupados sob um nome. Depois de
definidos, poderão ser inseridos no desenho qualquer número de vezes, em qualquer
posição, ângulo e escala. Algumas utilizações importantes de blocos:
Quando detalhes precisam ser repetidamente desenhados em partes diferen-
tes de um desenho;
Quando um tipo de detalhe é usado em muitos desenhos;
Construção de bibliotecas de símbolos orientadas para um determinado tra-
balho. Estas bibliotecas funcionam como um tipo de "Gabarito" de desenho.
O uso de blocos racionaliza o espaço gasto no arquivo de desenho; cada bloco é ar-
mazenado uma única vez e a inserção de um bloco no desenho apenas referencia o
bloco, não o redefine. Se redefinirmos um bloco, todas as ocorrências deste bloco no
desenho serão corrigidas automaticamente. A figura a seguir mostra um exemplo de
utilização de blocos:
Desenho 41
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
4.11.1. Organização de blocos
O modo de organização de blocos é idêntico ao do EAG. Vários tipos de organização
são possíveis e o projetista deve decidir qual a melhor forma de armazenar blocos em
bibliotecas. As regras de definição de blocos são:
Chamamos de "Criação" de um bloco, a sua definição. Um bloco criado não
aparece no desenho; o bloco só aparecerá quando for "Inserido". Fazendo
uma analogia com um gabarito de desenho a mão, criar um bloco é o mesmo
que criar um gabarito; inserir um bloco é usar o gabarito para traçar o dese-
nho.
Todo desenho tem uma Biblioteca Interna de Blocos. Nesta biblioteca são
armazenados todos os blocos que podem ser inseridos em um determinado
desenho. Um bloco só pode ser inserido se estiver na biblioteca interna.
O comando de criação de blocos (BLOCO) permite criar novos blocos, que
são armazenados na biblioteca interna de desenho.
O comando de inserção insere um bloco com nome fornecido pelo usuário.
Se o bloco não estiver na biblioteca interna, o EAG procurará no disco um
arquivo de desenho com o mesmo nome do bloco. Se encontrar, o arquivo de
desenho será carregado na memória e transformado em bloco. Este bloco
entra na biblioteca interna e pode ser inserido. O arquivo de desenho externo
não pode ter blocos em sua biblioteca interna.
Para facilitar a organização de bibliotecas, além de procurar blocos na pasta
atual, o sistema procura nas pastas de Pesquisa de Blocos. Um pasta conten-
do um conjunto de blocos organizados, destinados a uma aplicação é chama-
do de Biblioteca Externa de Blocos, ou simplesmente Biblioteca de Blocos.
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
42
Completando a organização de bibliotecas, o sistema permite misturar 2 ar-
quivos. Neste caso, as bibliotecas internas de blocos dos 2 arquivos são tam-
bém misturadas.
Todo bloco tem um ponto chamado de Base de Inserção. Quando o bloco é
inserido no desenho, a base de inserção coincide com o ponto de inserção.
Blocos internos tem a sua base definida no comando BLOCO, enquanto que
os externos têm a base definida pelo comando BASE.
Existem duas maneiras principais de se definir um bloco: a primeira, para uso interno
no arquivo de desenho com o comando BLOCO; e a segunda, para uso em diversos
arquivos de desenho, como um desenho comum que poderá ser lido dentro de outros
desenhos. Existe também uma terceira maneira, por inclusão de arquivos de lingua-
gem ou chamada de subprograma; neste caso, o bloco é definido dinamicamente pelo
subprograma.
4.11.2. Criação de BLOCOS
Blocos são criados na biblioteca interna pelo comando:
BLOCO 'nome' [coord]
(definição de elementos gráficos do bloco)
....
FBL
onde nome é o nome do bloco com até 8 caracteres e coord, a base de inserção.
Estas coordenadas quando não fornecidas são assumidas (0,0).
Todo bloco tem uma base. A base do bloco funciona como a origem de um sistema
local de coordenadas. Quando o bloco for inserido no desenho, as coordenadas de
inserção coincidirão com a base do bloco. Veremos a seguir como definir e inserir um
bloco no desenho.
4.11.3. INSERE blocos
Para inserir um bloco no desenho usamos o comando:
INSERE 'nome' lista-de-coordenadas -
[ESX val] [ESY val] [ESC val] [ANG ang]
Desenho 43
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
O comando de inserção de blocos insere o bloco desejado em cada coordenada da
lista (no mínimo uma), com escala 1.00 e ângulo zero. A escala e ângulo de rotação
podem ser opcionalmente definidos, com os comandos:
ESX val Escala X
ESY val Escala Y
ESC val Escala X e Y
ANG ang Ângulo de rotação
A figura abaixo ilustra a definição de um retângulo com um X, e sua inserção no
desenho.
BLOCO 'RET' 0,0
POL -10,-10 @20,0 @0,20 @-20,0 @0,-20
POL -10,-10 @20,20
POL 10,-10 @-20,20
FBL
INSERE 'RET' 10 20 30
INSERE 'RET' 40 ESC 0.5 ANG 45
Existe atualmente uma restrição importante na criação de blocos: o sistema não per-
mite que novos blocos sejam inseridos dentro da definição de outro bloco.
4.11.4. Inserção de blocos externos
Quando um comando INSERE referencia um bloco que não foi previamente criado, o
sistema fará as seguintes operações:
Procurará um desenho .DWG com o nome do bloco, na pasta atual. Se não
achar,
Procurará um desenho .DWG com o nome do bloco em cada uma das Pastas
de pesquisa de blocos. Se não achar emitirá um erro.
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
44
Achando o arquivo de desenho, este é transformado em um bloco, definido
na biblioteca interna e inserido no desenho.
O objetivo de manter pastas de pesquisa de blocos é agrupar blocos de um determina-
do tipo de aplicação dentro de uma mesma pasta. Assim, um pasta de blocos poderá
ser considerado uma Biblioteca Externa, análoga a um gabarito de desenho.
As pastas padrão do CAD/TQS são as pastas definidas sob a pasta
\TQSW\SUPORTE\BLOCOS. A pesquisa se dá em todas as subpastas, exceto quando se
define as pastas de pesquisa.
A definição das pastas de pesquisa é feita através do comando:
DEFINE BIBBLO 'pastas'
onde pastas são paths que seguem a convenção do MS-DOS. Mais de uma pasta
pode ser definida, separada da anterior por ponto e vírgula; neste caso, a pesquisa será
feita de acordo com a ordem de definição. Por exemplo, dado:
DEFINE BIBBLO '\DP\BLOCOS;\DP\ESTACAS'
Ao INSERIR um bloco não definido, o sistema procurará:
Na pasta atual. Se não achar,
Na pasta \DP\BLOCOS. Se não achar,
Na pasta \DP\ESTACAS. Se não achar, emitirá mensagem de erro.
Para que a definição das pastas de pesquisa não tenha que ser repetida em todo arqui-
vo .DP, o sistema permite a definição destas pastas dentro do arquivo de critérios
(assim como qualquer outro parâmetro). Arquivos de critérios serão discutidos mais
tarde, junto com o comando INCLUI.
4.11.5. Base de um bloco externo
Um bloco externo nada mais é que um desenho comum, que não pode ter outros blo-
cos inseridos dentro. Todo bloco tem uma base de inserção; a base do bloco externo é
definida do seguinte modo:
Se não for definida, será (0,0).
Pode ser definida explicitamente, chamando o desenho pelo EAG e acionan-
do o comando “Blocos” “Base de inserção” “Definir”.
Desenho 45
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
Se o bloco externo for gerado como um desenho comum pelo DP, sua base
poderá ser definida pelo comando:
BASE coord
Neste caso, estas coordenadas serão usadas como base, quando o desenho gerado for
usado como bloco em outro desenho.
4.11.6. Inclusão e Subprogramas
A última maneira de se definir blocos é através de inclusão de arquivos DP e de sub-
programas (o que será tratado em detalhes em no capítulo Inclusões e subprogramas
pág. 75). Tratam-se de alternativas com vantagens e desvantagens. Blocos armazena-
dos como arquivos de desenhos são processados de forma mais eficiente. Blocos
mantidos em arquivo de linguagem, no entanto são mais fáceis de serem modificados,
e os blocos definidos em subprograma podem adotar uma forma diferente a cada
chamada, de acordo com os parâmetros passados ao subprograma.
4.11.7. Blocos de comprimento unitário
Um artifício muito usado em desenho é definir blocos com uma unidade de largura
por uma unidade de altura. Este tipo de bloco facilita o desenho de famílias de ele-
mentos que crescem proporcionalmente em uma ou duas direções, usando-se o fator
de escala X e Y (ESX e ESY) para definir estas direções.
Por exemplo, um bloco na forma de um quadrado de 1 por 1 cm, de nome 'QUADR',
será desenhado como um retângulo de 100 por 200 cm com o comando:
INSERE 'QUADR' 0,0 ESX 100 ESY 200
4.12. MISTURA de Desenhos
Desenhos podem ser misturados de maneira simples:
MISTURA 'nome' [coord]
O comando MISTURA lê um desenho externo e adiciona ao desenho atual sendo
criado. As coordenadas, opcionais, definem qual será a posição da origem de coorde-
nadas do desenho lido em relação ao (0,0) do desenho atual. Se não forem fornecidas,
os desenhos serão sobrepostos segundo o mesmo sistema de coordenadas.
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
46
A posição do desenho misturado definida pelas coordenadas fornecidas, corresponde
à origem definida pelo comando BASE. Se a origem não for definida, a coordenada
(0,0) será adotada.
Um exemplo interessante de mistura é a complementação de desenhos gerados pelo
CAD/Formas. Suponha por exemplo que desejemos colocar o bloco 'SAP1' sobre
os nós 100, 101, 102 e 103 no desenho de formas do projeto 1000. A codificação
seria:
DESENHO 'FOR1000'
MISTURA 'FOR1000'
INCLUI '1000N.LDF'
INSERE 'SAP1' 100 101 102 103
FIM
O primeiro comando abre um arquivo de desenho para gravação, o 'FOR1000'. O
segundo comando, mistura o 'FOR1000' já existente no disco com o desenho aberto
atual, que está vazio. O terceiro comando inclui um arquivo de definição de nós de
formas, o que torna os nós 100 a 103 conhecidos para o DP. Por último, inserimos o
bloco 'SAP1' sobre os nós desejados e fechamos o desenho com FIM.
4.13. COTAGEM
O comando de COTAGEM permite fazer cotagens lineares em qualquer direção, a
partir de pontos fornecidos. A sintaxe do comando é:
COTAGEM HOR coor1 coor2 coor3 [lista-de-coord]
VER coor1 coor2 coor3 [lista-de-coord]
ALI coor1 coor2 coor3 [lista-de-coord]
INC angulo coor1 coor2 coor3 [lista-de-
coord]
CON [lista-de-coord]
As palavras chaves significam:
HOR Horizontal
VER Vertical
ALI Alinhada
INC Inclinada
CON Contínua
Desenho 47
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
A distância entre as duas primeiras coordenadas é medida e projetada em uma dire-
ção; a linha de cotagem passa pelo terceiro ponto. Pontos adicionais, se fornecidos
(lista de coordenadas) causarão uma continuação de cotagem. O modo de cotagem
CONtínua permite continuar a última cotagem feita, através de pontos adicionais.
A direção horizontal projeta as medidas em um eixo paralelo ao X; a direção vertical
paralela ao Y e a alinhada paralela aos 2 primeiros pontos fornecidos. A direção incli-
nada é explicitamente definida pelo usuário através de um ângulo. As figuras seguin-
tes ilustram o uso do comando:
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
48
Quando criamos uma cota, os parâmetros não definidos são usados do arquivo
DESCOT.DAT. Podemos editar este arquivo através do seguinte menu do gerencia-
dor: “Arquivo” “Critérios gerais” “Critérios de cotagem”. Os parâmetros configu-
ráveis do DP estão listados a seguir:
4.13.1. Entrada manual do texto de cotagem
O valor calculado da dimensão de cotagem pode ser substituído por um texto qual-
quer. Para isto, basta incluir o texto entre apóstrofes, precedido da palavra TEXTO,
entre duas coordenadas quaisquer. Por exemplo:
COTAGEM HOR 0,0 TEX 'A' 100,0 0,50 TEX 'B' 200,0 TEX 'C' 300,0
Neste exemplo, cotou-se 3 distâncias por 4 pontos, e os textos de dimensão foram
substituídos por 'A', 'B' e 'C'. A sintaxe completa de cotagem com texto é:
COTAGEM HOR coor1 [TEXTO 'texto'] coor2 coor3 [lista-de-coord]
VER coor1 [TEXTO 'texto'] coor2 coor3 [lista-de-coord]
ALI coor1 [TEXTO 'texto'] coor2 coor3 [lista-de-coord]
INC ang coor1 [TEXTO 'texto'] coor2 coor3 [lista-de-coord]
CON [lista-de-coord]
Onde a lista-de-coord é uma lista de coordenadas no formato:
coord1 [TEXTO 'texto'] ; coord2 ...
coord1 [TEXTO 'texto'] @ coord2 ...
Desenho 49
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
4.13.2. Tamanho do texto de cotagem
Todos os textos de cotagem são colocados com o tamanho default de 0.22 cm. Este
tamanho pode ser redefinido pelo comando:
DEFINE TAMTCO valor
4.13.3. Controle da linha de chamada
Normalmente linhas de chamadas são puxadas até a linha de cotagem, a partir dos
pontos onde se está cotando. Estas linhas podem ser desligadas pelo comando
DEFINE NCOTLCH
e ligadas novamente pelo comando
DEFINE COTLCH
4.13.4. Extensão das linhas de cotagem
Para controlar a extensão das linhas de cotagem e chamada use os parâmetros:
DEFINE COTEXE val Extensão da linha de chamada
DEFINE COTEXO val Gap da linha de chamada
DEFINE COTTSZ val Tamanho da marca da linha de cotagem
DEFINE COTDLE val Extensão da linha de cotagem
4.13.5. Níveis de cotagem
Você pode tornar a linha de cotagem tracejada, ou ainda mudar a sua cor. Os seguin-
tes parâmetros controlam os níveis de cotagem:
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
50
DEFINE COTNIV ival Nível geral de cotagem
DEFINE COTNIC ival Nível da linha de cotagem
DEFINE COTNIL ival Nível das linhas de chamada
A cotagem é composta pela linha de cotagem, linha de chamada, marca de cotagem e
texto. Normalmente todos são colocados no nível COTNIV. Os parâmetros COTNIC e
COTNIL permitem atribuir níveis diferentes à linha de chamada e de cotagem. Por
default eles valem -1, fazendo com que o nível usado seja COTNIV.
4.13.6. Multiplicador de comprimentos
Normalmente as unidades são em escala 1:1, isto é, o valor da cota é determinado
diretamente pela distância entre os pontos medidos. Alguns desenhos, entretanto,
misturam escalas diferentes. Por exemplo, em um desenho de vigas a seção longitudi-
nal está em escala 1:50 e a transversal em 1:25. Cada cm medido na seção longitudi-
nal vale 1 cm, mas cada cm medido na seção transversal vale apenas 0.5 cm no mun-
do real.
Para cotar a seção transversal, definiremos um multiplicador de comprimentos de 0.5,
através do parâmetro:
DEFINE COTMUL val
4.13.7. Precisão de cotagem
Um parâmetro de precisão controla o número de casas depois da vírgula mostradas
pela cotagem:
DEFINE COTPRC ival
O número pode ser positivo ou negativo - se for positivo os zeros redundantes à direi-
ta da vírgula são eliminados. Veja a figura:
Desenho 51
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
4.13.8. Marca de cotagem
A marca de cotagem pode ser redefinida pelo parâmetro:
DEFINE COTBLO 'nome'
Onde nome é o nome de um bloco de cotagem. Três marcas padrão são geradas com
os nomes TICK (default), DOT e ARROW:
Você pode criar a sua própria marca de cotagem, criando um bloco da seguinte ma-
neira:
O nome do bloco deve ser atribuído ao parâmetro COTBLO.
O bloco é um desenho criado na pasta de pesquisa de blocos. Esta pasta é de-
finida pelo comando
DEFINE BIBBLO 'nome'
que é o mesmo usado pelo comando de inserção de blocos. O arquivo INSTAL.LDF é
distribuído com BIBBLO valendo %_SUPORTE\BLOCOS\GERAIS, onde
%_SUPORTE é a pasta dos arquivos de critérios.
O bloco de cotagem deve ter tamanho unitário, sendo escalado pelo parâme-
tro COTTSZ;
A base de inserção do bloco deve coincidir com a ponta da linha de cotagem.
A marca deve apontar para o lado direito, de modo que em uma cotagem ho-
rizontal ela é inserida a zero grau do lado direito, e a 180 do lado esquerdo.
Os elementos do bloco de cotagem devem preferencialmente estar no nível
de cotagem default, 221.
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
52
4.14. EIXOS
É muito comum a locação geométrica de uma obra através de eixos. O comando
EIXOS permite definir eixos horizontais e verticais. O projetista fornece as abscissas
dos eixos verticais e as ordenadas dos eixos horizontais. A sintaxe do comando é:
EIXOS HORIZONTAL ['A'] y1 y2... VERTICAL ['1'] x1 x2 ...
Normalmente os eixos horizontais são rotulados com letras começando em "A" e os
verticais com números, começando em "1". Isto pode ser alterado, fornecendo-se logo
após a palavra HORIZONTAL ou VERTICAL a letra/número inicial para rotulação,
entre apóstrofes.
Os eixos são rotulados na mesma ordem de fornecimento das abscissas e ordenadas.
Não existe nenhuma restrição quanto à ordem de fornecimento ou espaçamento entre
eixos.
Note que o comando prevê a posição, mas não a extensão de cada eixo. O DP deter-
mina as coordenadas mínimas e máximas de todos os nós definidos até o comando
EIXOS, usando no mínimo as coordenadas dos eixos; eixos são posicionados de for-
ma a "cercar" o desenho. Havendo necessidade de estender mais ou menos os eixos,
isto poderá ser feito através do Editor Gráfico.
Os eixos são rotulados com letras de tamanho default 0.4 cm. Este tamanho pode ser
alterado pelo comando:
DEFINE TAMTEI valor
Desenho 53
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
4.14.1. Coordenadas a partir de eixos
Coordenadas podem ser definidas sobre intersecções de eixos. O sistema aceita como
coordenadas válidas uma expressão do tipo:
'E2'
que significa as coordenadas da intersecção do eixo 'E' com o eixo '2'. Em todos
os lugares da linguagem onde se permite a entrada de coordenadas, pode-se usar uma
intersecção de eixos. Por exemplo:
1 'E2' @ 100,0
Significa: definição do nó 1, 100 centímetros a direita da intersecção dos eixos 'E' e
'2'.
4.15. Sistema e Sub-Sistema
Os desenhos CAD/TQS têm propriedades internas. Algumas das propriedades que
dizem respeito ao padrão de desenho são o Sistema e o Sub-Sistema
As cores e níveis são dependentes da definição do sistema e sub-sistema dos dese-
nhos.
Os comandos DEFINE IAPLIC e DEFINE ISUBAPLIC definem, respectivamente
o sistema e o subsistema do desenho.
DEFINE IAPLIC val
DEFINE ISUBAPLIC val
Todos os níveis de desenho não definidos são criados automaticamente quando são
usados pelo DP.
Os valores das variáveis estão listados na tabela da página 69.
4.16. Semente de desenho
Os arquivos de desenho gerados pelo programa têm sempre como ponto de partida o
chamado arquivo semente de desenho. Quando nenhum arquivo é definido, o DP usa
a semente %_SUPORTE\NGE\SEED.DWG. Você pode alterar este desenho de acor-
do com suas necessidades tendo em mente que este desenho é a semente para TODOS
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
54
os novos desenhos criados no CAD/TQS. Uma maneira melhor é criar novos arquivos
de semente e defini-los através dos comando:
DEFINE SEMENTE ‘nome’
onde ‘nome’ é o nome do arquivo semente, sem o tipo .DWG, entre apóstrofes, se-
guindo as convenções do MS-DOS.
Os níveis e cores do desenho, seguem o padrão definido pelo Sistema e Subsistema
descritos no capítulo 4.15 e são sobrepostos aos pré-definidos no arquivo semente.
4.17. Desenho: Exemplo
A título de exemplo, construiremos um desenho usando comandos vistos até aqui.
Seja um paralelepípedo, mostrado em planta e em duas vistas, como o da figura abai-
xo (todas as medidas em centímetros):
O paralelepípedo tem as suas principais medidas cotadas, e o título
"PARALELEPIPEDO" centrado na sua vista em planta. Para facilitar a locação do
desenho, vamos inicialmente numerar nós importantes. Embora isto não seja estrita-
mente necessário, quando se monta a geometria através de nós pode-se referenciar
novos nós em função dos já existentes, o que facilita o desenho. Os nós, de numera-
ção e posição arbitrariamente escolhida são mostrados na figura seguinte:
Desenho 55
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
O desenho será montado no arquivo EXEMPLO1.DP. Para digitar o arquivo, utilize
os seguintes comandos no gerenciador: “Editar” “Desenho Paramétrico” “Arquivo
.DP qualquer”:
O processamento do arquivo EXEMPLO1.DP gerará o desenho EXEMPLO1.DWG.
Escolheremos a escala 1:50. Através do editor de textos iniciamos a montagem do
arquivo, cujos primeiros comandos são:
DESENHO 'EXEMPLO1'
DEFINE ESCALA 50
Por default, o fator de escala adotado é 50; colocamos a definição de escala apenas
para lembrar que é importante planeja-la com antecedência.
Vamos agora construir os nós. Adotaremos um par de coordenadas arbitrário para o
nó 1 e construiremos inicialmente a vista em planta do paralelepípedo:
$
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
56
$ Vista em Planta
$
1 0, 0
3 1 @ 400, 150
2 X3, Y1
4 X1, Y3
POLIGONAL 1 2 3 4 1
A vista em planta é formada por 4 pontos; o primeiro (1) recebeu as coordenadas
(0,0), o ponto 3 foi posicionado em relação ao ponto 1 e os pontos 2 e 4 tiveram as
suas coordenadas determinadas a partir dos pontos 1 e 3. Finalmente foi desenhada
uma poligonal, passando pelos 4 pontos e terminando novamente no primeiro. Os
comentários colocados no desenho (com o caractere $) não são necessários, mas a sua
colocação é importante para que mais tarde tenhamos alguma referência se for neces-
sário alterar o programa DP.
Façamos agora a vista frontal, com os nós 5, 6, 7 e 8. Colocaremos esta vista 1.3 cm
abaixo da vista em planta:
$
$ Vista frontal
$
8 1 @ 0, -1.3*50
6 8 @ 400, -100
5 X8, Y6
7 X6, Y8
POLIGONAL 5 6 7 8 5
O que significa o nó 8 abaixo do nó 1 em 1.3*50 ? O desenho está sendo construído
em centímetros em escala 1:1. Durante a plotagem, todas as medidas serão divididas
pelo fator de escala, que vale 50. Para obtermos o deslocamento de 1.3 cm no papel
do plotter, é necessário que multipliquemos este 1.3 cm por 50 no desenho, para que
mais tarde, a divisão por 50 resulte em 1.3 cm no papel.
Façamos agora a vista lateral, 2.5 cm à direita da vista em planta:
$
$ Vista lateral
$
9 2 @ 2.5*50, 0
11 9 @ 100, 150
10 X11, Y9
Desenho 57
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
12 X9, Y11
POLIGONAL 9 10 11 12 9
Faltam ainda as cotagens e o texto "PARALELEPIPEDO". Para estes, construiremos
os nós auxiliares 13, 14 e 15:
13 5 @ -1*50, 0
14 4 @ 0, 1*50
15 (X1 + X3)/2, (Y1 + Y3)/2
Os nós 13 e 14 foram afastados de 1 cm do resto do desenho. O nó 15 foi tomado
como a média dos nós 1 e 3. Para colocar as cotagens faremos:
$
$ Cotagens
$
COTAGEM VERTICAL 5 8 13
COTAGEM VERTICAL 1 4 13
COTAGEM HORIZONTAL 4 3 14
COTAGEM HORIZONTAL 12 11 14
Os 2 primeiros pontos de cotagem marcam a dimensão a cotar, enquanto que o tercei-
ro ponto define por onde passa a linha de cotagem. Pontos adicionais, quando coloca-
dos, continuam a cotagem. Por último, colocaremos o texto "PARALELEPIPEDO"
centrado no nó 15, usando a altura default de texto, que é 0.22:
$
$ Título do paralelepípedo, centrado
$
TEXTO 15 CENTRADO 'PARALELEPIPEDO'
Para terminar o desenho, colocamos:
FIM
e saímos do editor de textos. Para processar: “Processar” “Desenho Paramétrico”,
selecionando o arquivo EXEMPLO1.DP:
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
58
e, finalmente para visualizar a listagem, “Visualizar” “Processamento”:
Variáveis e macro-substituição 59
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
5. Variáveis e macro-substituição Nos capítulos anteriores vimos como é possível especificar um desenho completo por
meio da linguagem DP. Nosso objetivo agora é especificar desenhos em função de
parâmetros, e para isto é fundamental a introdução do conceito de variáveis.
Variáveis no DP são posições de memória que podem assumir qualquer valor. Os
tipos de valores reconhecidos pelo programa são:
Numéricos Valores em ponto flutuante com 15 dígitos significativos
Alfanuméricos Cadeias de até 80 caracteres
Coordenadas Par de valores numéricos
Variáveis podem ter nomes formados por até 8 caracteres ou números (caracteres
adicionais serão ignorados). Variáveis numéricas devem ter nome alfanumérico co-
meçando por uma letra; variáveis tipo coordenadas podem também ter um nome nu-
mérico.
5.1. Atribuição de valores a variáveis numéricas
O comando NUM permite atribuir um valor a uma variável numérica. A sintaxe é:
NUM nome [[=] valor]
A palavra NUM pode para maior comodidade ser abreviada para N. Por exemplo, para
atribuir o valor de 10 para a variável RAIO:
NUM RAIO = 10
O sinal de = é opcional, e serve somente de comentário. Outras formas aceitáveis para
o mesmo comando:
N RAIO = 10
N RAIO 10
Se o valor de uma variável numérica não for definido, zero será assumido. "valor",
como vimos no capítulo Locação Geométrica (pág. 16), pode ser qualquer expressão
aritmética que resulte em um número, incluindo funções e operadores geométricos.
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
60
5.2. Macro-substituição de variáveis numéricas
Agora que já sabemos como definir uma variável numérica, vamos tentar usá-la. Co-
mo exemplo, definiremos um círculo de raio RAIO, nas coordenadas 0,0:
CIRCULO C 0,0 R RAIO
*
****** ERRO: Valor esperado
O programa não aceita a variável RAIO no lugar do valor do raio. O mesmo acontece
em toda a definição de geometria; se nomes de variáveis fossem aceitos em qualquer
lugar, interfeririam com as palavras chaves da linguagem geométrica (que não foi
alterada, para manter compatibilidade com outros programas).
A solução utilizada no DP foi o uso do recurso de macro-substituição: consiste em
trocar o nome da variável pelo seu valor, antes da linha de comando ser passada para
interpretação. A macro-substituição é feita colocando-se o sinal % antes do nome da
variável:
CIRCULO C 0,0 R %RAIO
Ao ler esta linha, a rotina de leitura verifica a existência de um sinal % e procura o
valor da variável RAIO, substituindo-a:
CIRCULO C 0,0 R 10
A linha obtida é finalmente enviada para interpretação, resultando no esperado: um
círculo de centro 0,0 e raio 10.
5.3. Precisão da macro-substituição
Variáveis numéricas são substituídas com a máxima precisão possível, limitada a 15
dígitos significativos. O programa automaticamente elimina zeros redundantes à direi-
ta da vírgula.
Nem sempre a substituição com a precisão máxima é interessante. O DP permite
controlar o número de casas depois da vírgula, com a notação:
%.Nnome
onde N é o número de casas fixadas depois da vírgula, com arredondamento da última
casa. N pode valer de 0 a 9. Por exemplo, atribuindo-se o valor
Variáveis e macro-substituição 61
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
N PI = 3.141593
teremos como resultado das substituições:
codificação resultado
----------- ---------
%PI 3.141593
%.0PI 3
%.3PI 3.142
%.4PI 3.1416
%.5PI 3.14159
Note que um número com zero casas depois da vírgula é arredondado para o inteiro
mais próximo, enquanto que a função FIX (num) trunca o número. Por exemplo:
N VAL 3.6
N A FIX (%VAL)
N B %.0VAL
resultará em A valendo 3 e B valendo 4. O sinal de (-) dentro da macro-substituição
permite fazer também com que os zeros não sejam suprimidos, e o número de dígitos
mostrado seja sempre exato. Por exemplo, se atribuirmos o valor 3.1 para a variável
"A":
N A 3.1
poderemos substituir "A" por:
codificação resultado
----------- ---------
%A 3.1
%.2A 3.1
%-.2A 3.10
%.6A 3.1
%-.6A 3.100000
5.4. Atribuição de variáveis alfanuméricas
Variáveis alfanuméricas armazenam cadeias de caracteres alfanuméricos. Cadeias de
caracteres são definidas sempre entre apóstrofes:
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
62
A TESTE 'Teste Alfanumérico'
O comando acima define a variável TESTE com uma cadeia de caracteres. São defi-
nições aceitáveis também:
ALF TESTE 'Teste Alfanumerico'
ALF TESTE='Teste Alfanumerico'
A TESTE='Teste Alfanumerico'
Variáveis alfanuméricas são usadas em desenho principalmente para armazenar e
manipular textos, colocados com o comando TEXTO. A definição de uma variável
alfanumérica sem valor, tal como em:
A TESTE
faz com que a variável assuma valor nulo, isto é, uma cadeia com zero caracteres.
5.5. Macro-substituição de variáveis alfanuméricas
Variáveis alfanuméricas são substituídas da mesma forma que variáveis numéricas.
Um detalhe importante é que a macro-substituição não coloca apóstrofes; se necessá-
rios, devem ser colocados manualmente. Vamos por exemplo colocar o texto contido
na variável TESTE nas coordenadas (0,0) do desenho:
TEXTO 0,0 '%TESTE'
Durante a leitura, o DP substituirá o comando por:
TEXTO 0,0 'Teste Alfanumerico'
Note que se esquecêssemos os apóstrofes, resultaria em:
TEXTO 0,0 %TESTE
TEXTO 0,0 Teste Alfanumerico
Neste caso o DP acusaria erro na palavra Teste, que não faz parte da sintaxe do
comando TEXTO.
Variáveis e macro-substituição 63
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
5.6. Outros usos para variáveis alfanuméricas
Variáveis alfanuméricas não estão restritas ao comando TEXTO. Como a substituição
é sempre sem apóstrofes, pode-se usar uma variável alfanumérica para alterar a sinta-
xe de um comando. Por exemplo,
A TLIN 'POLIGONAL'
%TLIN 1 2 3 4
resultará em uma poligonal por 4 pontos, enquanto que
A TLIN 'CURVA'
%TLIN 1 2 3 4
resultará numa curva por 4 pontos.
5.7. Manipulação de cadeias de caracteres
Cadeias de caracteres podem ser manipuladas através de operações de concatenação,
extração de sub-cadeias e pesquisa de posição. Como decorrência, as variáveis alfa-
numéricas podem ser igualmente manipuladas.
5.7.1. Concatenação
Cadeias de caracteres podem ser concatenadas naturalmente pelo processo de macro-
substituição. Exemplo:
A VAR1 'C=1000'
A VAR2 'C/16'
A VAR3 '%VAR1 %VAR2'
resultará em VAR3 valendo 'C=1000 C/16'. O espaço entre %VAR1 e %VAR2 é
necessário, como veremos adiante. Qualquer tipo de variável pode ser usado na ma-
cro-substituição, e não apenas variáveis alfanuméricas.
5.7.2. Extração de sub-cadeias
As funções LEFT, RIGHT e MID permitem extrair um subconjunto de uma cadeia
de caracteres. Estas funções podem ser colocadas em qualquer lugar onde o programa
espere por uma cadeia de caracteres.
A função LEFT extrai os "n" primeiros caracteres de uma cadeia. Por exemplo,
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
64
A VAR LEFT ('ABCDEFGH', 3)
resultará na variável VAR valendo 'ABC'. A função RIGHT extrai os últimos "n"
caracteres:
A CAD 'ABCDEFGH'
A VAR RIGHT ('%CAD', 3)
resultará na variável VAR valendo 'FGH'. Por último, a função MID extrai um sub-
conjunto de caracteres em qualquer posição de uma cadeia:
A VAR MID ('%CAD', 3, 2)
resultará na variável VAR valendo 'CD', isto é, 2 caracteres a partir da 3a posição da
cadeia original. A função MID pode ser chamada também sem o último parâmetro (o
número de caracteres). Neste caso, todos os caracteres a partir de uma determinada
posição serão tomados. Por exemplo,
A VAR MID ('%CAD', 3)
resultará no valor 'CDEFGH' para a variável VAR.
5.7.3. Pesquisa de posição
A função POS busca a posição de uma sub-cadeia dentro de uma cadeia maior de
caracteres. Por exemplo,
N IPOS POS ('ABCDEFGH', 'DEF')
resultará em IPOS valendo 4, pois a cadeia 'DEF' é uma sub-cadeia de
'ABCDEFGH' a partir da 4a posição, enquanto que:
N IPOS POS ('ABCDEFGH', 'XYZ')
resultará em IPOS igual a zero, pois a cadeia 'XYZ' não é um subconjunto de
'ABCDEFGH'. Façamos um exemplo mais complexo: dada a cadeia
'5 P7 { 6.3 C=200'
extrair o número que vem depois da letra 'P' na variável POSIC e o número que
vem depois das letras C= na variável COMPR:
Variáveis e macro-substituição 65
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
a) A CAD '5 P7 { 6.3 C=200'
b) N I POS ('%CAD', 'P')
c) A TMP MID ('%CAD', %I+1)
d) N I POS ('%TMP', ' ')
e) A TMP MID ('%TMP', 1, %I-1)
f) N POSIC %TMP
g) N I POS ('%CAD', 'C=')
h) A TMP MID ('%CAD', %I+1)
i) N COMPR %TMP
Neste exemplo:
a) A variável CAD recebeu a cadeia de caracteres original;
b) A variável numérica I tem a posição da letra 'P' na cadeia CAD;
c) A variável TMP tem todos os caracteres a direita da cadeia CAD;
d) A variável I agora tem a posição do espaço em branco após o número 7 (em
P7");
e) A variável TMP agora tem somente o número após a letra P, que começa no pri-
meiro caractere de TMP e vai até o próximo espaço em branco menos um caracte-
re;
f) Transportamos a variável TMP, alfanumérica para a variável POSIC, numérica;
g) Achamos agora a posição do 'C=' dentro da cadeia CAD;
h) TMP agora vale todos os caracteres à direita de C=; eles já são o número deseja-
do;
i) Transportamos finalmente o número obtido para a variável numérica COMPR.
Note que:
Embora os valores alfanuméricos tenham sido transportados para variáveis
numéricas, eles poderiam ter sido usados diretamente em expressões aritmé-
ticas; isto por que o que importa não é o conteúdo da variável, mas o resulta-
do da macro-substituição;
O DP não permite que o resultado das funções LEFT, RIGHT e MID sejam
atribuídos diretamente a variáveis numéricas;
Variáveis do lado direito são sempre precedidas do sinal "%", enquanto que
do lado esquerdo não.
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
66
Foi criada uma variável de trabalho, I, que na verdade poderia ter sido elimi-
nada se tivéssemos colocado o resultado da função POS diretamente dentro
da função MID. O exemplo acima seria equivalente a:
A CAD '5 P7 { 6.3 C=200'
A TMP MID ('%CAD', POS ('%CAD', 'P')+1)
A TMP MID ('%TMP', 1, POS ('%TMP', ' ')-1)
N POSIC %TMP
A TMP MID ('%CAD', POS ('%CAD', 'C=')+1)
N COMPR %TMP
5.7.4. Comprimento de uma cadeia de caracteres
A função LEN retorna o número de caracteres de uma cadeia, e pode ser usada dentro
de uma expressão aritmética. Por exemplo:
N NC LEN ('ABCDEFGH')
fará com que a variável NC valha 8.
5.7.5. Comparação de duas cadeias
A função CMP compara duas cadeias de caracteres, retornando o valor 0 se as duas
forem iguais ou 1 se forem diferentes:
N A CMP ('ABC', 'ABC')
N B CMP ('ABC', 'DEF')
fará com que A valha 0 e B 1. A função CMP permite que cadeias de caracteres pos-
sam ser comparadas em expressões condicionais, a serem vistas em um capítulo pos-
terior.
5.8. Atribuição de coordenadas
O terceiro tipo de variável suportado pelo DP é o tipo coordenadas X,Y. Coordenadas
podem ser definidas do seguinte modo:
COORD VAR 100,50
que significa, variável VAR com coordenadas (100,50). São aceitáveis também:
COORD VAR = 100,50
Variáveis e macro-substituição 67
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
C VAR 100,50
C VAR = 100,50
Qualquer valor composto de coordenadas pode ser usado na definição de uma variá-
vel do tipo par de coordenadas. É aceitável, por exemplo:
C VAR 10 @ 100 + 20 + 20 < DIR 15 16 - 180
A definição de uma variável do tipo coordenadas é bastante semelhante à definição
geométrica de nós, vista anteriormente.
5.9. Macro-substituição de coordenadas
O processo de macro-substituição de coordenadas é idêntico ao dos outros tipos de
variáveis. Assim, os comandos:
C VAR 100,50
1 %VAR
resultarão no segundo comando sendo interpretado como
1 100,50
5.10. Nós e variáveis tipo coordenadas
A definição de nós vista no capítulo Locação Geométrica nada mais é do que a cria-
ção de variáveis tipo par de coordenadas, cujo nome é numérico. A macro-
substituição de coordenadas de nós é permitida, e o comando:
C VAR2 %1
será interpretada como
C VAR2 100,50
se o nó 1 valer 100,50. A criação de variáveis deste tipo e a sua manipulação são na
maioria dos casos mais vantajosa através da sintaxe vista no capítulo Locação Geo-
métrica. A extensão da linguagem DP para tratar nós como variáveis tem como obje-
tivo permitir a passagem de parâmetros tipo nós entre subprogramas DP, assunto a ser
tratado em outro capítulo.
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
68
5.11. Caractere nulo
O nome de uma variável normalmente é delimitado por um caractere não alfabético,
tal como um espaço em branco. Suponha a seguinte construção:
A VAR1 'ABCD'
A VAR2 '%VAR1 EFGH'
VAR2 neste caso assumirá o valor 'ABCD EFGH'. Como fazemos para retirar o
espaço em branco entre a letra D e a letra E? Se fizermos:
A VAR2 '%VAR1EFGH'
resultará no DP acusando um erro de variável indefinida: VAR1EFGH. Para solucio-
nar o problema de encostar um texto do lado direito do nome de uma variável, usamos
dois caracteres %%. O DP, quando encontra um sinal de porcento seguido do outro,
joga os dois fora. Para resolvermos o problema anterior, faremos então:
A VAR2 '%VAR1%%EFGH'
que resultará em VAR2 valendo 'ABCDEFGH'. A seqüência %% é chamada aqui de
Caractere Nulo.
5.12. Dupla Substituição
O DP analisa de forma diferente duas variáveis "encostadas" uma na outra. Por exem-
plo,
A VAR %A%I
será interpretado da seguinte forma: primeiro, a variável "I" é substituída. O resulta-
do alterará o nome da variável "A", e a substituição final será feita sobre o nome
obtido. Por exemplo:
N I 1
A A1 'CA25'
A A2 'CA50A'
A A3 'CA50B'
A A4 'CA60B'
A VAR '%A%I'
Primeiro, a variável "I" será substituída, resultando em:
Variáveis e macro-substituição 69
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
A VAR '%A1'
O resultado será novamente substituído:
A VAR 'CA25'
A dupla substituição é muito útil para a manipulação de tabelas, principalmente den-
tro de laços de programa, como veremos adiante.
Quando a dupla substituição não é desejada, deve-se incluir o caractere nulo separan-
do as variáveis, tal como:
A VAR '%A%%%I'
onde o programa substituirá separadamente a variável "A" e a variável "I".
5.13. Variáveis do sistema
Existe um conjunto de variáveis que são sempre definidas pelo próprio DP. O objeti-
vo destas variáveis é permitir maior controle do programa. Todas as variáveis do
sistema começam pelo caractere traço "_" (também chamado de underscore). Abaixo
estão listadas as variáveis do sistema, seus tipos e seus defaults, considerando o
INSTAL.LDF distribuído com o DP:
Nome Tipo Default Significado
_IAPLIC N 9 Tipo de sistema:
(1) genérico
(2) CAD/Formas
(3) CAD/Lajes
(4) CAD/Fundações
(7) CAD/Vigas
(8) CAD/Pilar
(9) CAD/AGC&DP
(11) CAD/Madeira
(15) CORBAR
(16) CORMAD
(17) CAD/Alvest
_ISUBAPLIC N 1 Tipo de subsistema. Para cada sistema temos
vários subsistemas. Veja na tabela a seguir, a
correlação entre os sistemas e subsistemas
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
70
_ERROS N 0 Numero de erros detectados
_ESCALA N 50 Escala atual
_TAMTTX N 0.24 Tamanho de texto, comando TEXTO
_TAMTEI N 0.4 Tamanho de texto para o comando EIXOS
_NIVEL N 0 Nível de desenho atual
_TAMTCO N 0.22 Tamanho do texto de cotagem
_COTNIV N 221 Nível de cotagem
_COTLCH N 1 Cotagem c/ linha de chamada (0) não (1) sim
_COTMUL N 1 Multiplicador de dimensões de cotagem
_COTBLO A 'TICK' Bloco de cotagem
_COTNIL N -1 Nível da linha de cotagem (-1=COTNIV)
_COTNIC N -1 Nível da linha de chamada (-1=COTNIV)
_TABPLT A ' ' Tabela de plotagem
_DATA A data atual Data do sistema
_HORA A hora atual Hora do sistema
_DIRET A pasta atual Pasta atual de trabalho
_BIBDP A '%_SUPORTE\DP\DPS' Biblioteca de subprogramas DPS
_BIBBLO A '%_SUPORTE\BLOCOS\
GERAIS'
Biblioteca de blocos
_BIBINC A '.' (PASTA ATUAL) Biblioteca de arquivos de inclusão
_SUPORTE A 'C:\TQSW\SUPORTE' Pasta de arquivos de critérios
Tabela de Sistemas e subsistemas:
Sistema (_IAPLIC) Subsistema
(_Isubaplic)
Descrição
(1) Genérico 1 Desenho qualquer
2 Moldura / Carimbo para plotagem
3 Tabela de ferros
4 Layout de plantas
5 Elementos extras sobre as plantas
6 Plotagem em desenho
7 Interpretação de plotagem
(2) CAD/Formas 1 Entrada gráfica de formas
2 Planta de formas
3 Verificação de formas
4 Visualização de Pórtico / Grelha
5 Entrada gráfica de grelha
6 Superposição de cargas em pilares
Variáveis e macro-substituição 71
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
7 Reações de pórtico em desenho
8 Esquema gráfico do edifício
9 Planta de locação de pilares
(3) CAD/Lajes 1 Armação positiva de lajes
2 Armação negativa de lajes
3 Esforços, processo simplificado
4 Armação de cisalhamento / punção
5 Diagrama do editor de esforços
6 Faixas do editor de esforços
7 Armação protendida
8 Tabela de Aço Protendido
9 Elevação de cabos de protensão
(4) CAD/Fundações 1 Armação de sapatas
2 Armação de blocos
(7) CAD/Vigas 1 Armação de vigas
2 Esquema gráfico de vigas
(8) CADPilar 1 Armação de pilares
2 Locação de pilares no piso
3 Seções de pilares
(9) CAD/AGC&DP 1 Desenho genérico de armaduras
2 Biblioteca de tipos de ferros
3 Lista de ferros desenhada
4 Detalhes de armação (sem tabela de ferros)
(11) CAD/Madeira 1 Desenho de formas de madeira
(15) CORBAR 1 Desenho genérico
(16) CORMAD 1 Desenho genérico
(17) CAD/Alvest 1 Desenho de alvenarias
As variáveis do sistema não podem ser modificadas diretamente pelo comando de
atribuição de variáveis NUM e ALF, mas a maioria é controlada por DEFINEs. Por
exemplo,
DEFINE ESCALA 20
faz com que imediatamente, a variável _ESCALA passe a valer 20. Para tornar um
desenho independente de escala, poderíamos multiplicar medidas pela escala atual, tal
como na definição do nó 8:
8 1 @ 0, -1.3*%_ESCALA
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
72
5.14. Variáveis e macro substituição: Exemplo
Vamos agora refazer o exemplo visto no capítulo anterior, do desenho do paralelepí-
pedo. Desta vez, colocaremos os parâmetros do desenho nas seguintes variáveis:
COMPRIM Comprimento do paralelepípedo
LARGURA Largura
ALTURA Altura
TITULO Título do paralelepípedo
Para tornar o desenho independente da escala, usaremos a variável _ESCALA para
calcular as posições relativas das vistas e das cotagens em relação ao resto do dese-
nho. O resultado será o arquivo EXEMPLO2.DP, mostrado a seguir:
DESENHO 'EXEMPLO2'
DEFINE ESCALA 50
$
$ Definição dos parâmetros do desenho
$
N COMPRIM = 400
N LARGURA = 150
N ALTURA = 100
A TITULO = 'PARALELEPIPEDO'
$
$ Vista em Planta
$
1 0, 0
3 1 @ %COMPRIM, %LARGURA
2 X3, Y1
4 X1, Y3
POLIGONAL 1 2 3 4 1
$
$ Vista frontal
$
8 1 @ 0, -1.3*%_ESCALA
6 8 @ %COMPRIM, -%ALTURA
5 X8, Y6
7 X6, Y8
POLIGONAL 5 6 7 8 5
$
$ Vista lateral
$
Variáveis e macro-substituição 73
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
9 2 @ 2.5*%_ESCALA, 0
11 9 @ %ALTURA, %LARGURA
10 X11, Y9
12 X9, Y11
POLIGONAL 9 10 11 12 9
$
$ Nos auxiliares
$
13 5 @ -1*%_ESCALA, 0
14 4 @ 0, 1*%_ESCALA
15 (X1 + X3)/2, (Y1 + Y3)/2
$
$ Cotagens
$
COTAGEM VERTICAL 5 8 13
COTAGEM VERTICAL 1 4 13
COTAGEM HORIZONTAL 4 3 14
COTAGEM HORIZONTAL 12 11 14
$
$ Título do paralelepípedo, centrado
$
TEXTO 15 CENTRADO '%TITULO'
FIM
5.15. Listagem de saída
O processamento de um arquivo .DP resulta em outro arquivo, de mesmo nome e com
tipo .LST, que é chamado de listagem de saída. Este arquivo contém uma cópia do
arquivo .DP com as linhas numeradas e com a indicação de erros, se ocorrerem.
Um ponto interessante é que as linhas listadas não são as codificadas originalmente,
mas as resultantes do processo de macro-substituição. Por exemplo, a seqüência de
linhas:
N COMPRIM = 400
N LARGURA = 150
3 1 @ %COMPRIM, %LARGURA
aparecerá na listagem de saída como:
N COMPRIM = 400
N LARGURA = 150
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
74
3 1 @ 400, 150
Isto facilita a correção de erros em programas DP, pois mostram claramente quando
uma linha não foi aceita por erro de substituição.
A listagem de saída pode ser suprimida a partir do comando
DEFINE NLISTA
e novamente habilitada pelo comando
DEFINE LISTA
O DP emite listagem de saída para o programa DP, mas não o faz nos subprogramas.
A este respeito trataremos no próximo capítulo.
Inclusões e subprogramas 75
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
6. Inclusões e subprogramas Nos capítulos anteriores vimos como construir um desenho em função de parâmetros;
aqui trataremos de recursos que permitem isolar a definição destes parâmetros do
programa que monta o desenho, separando claramente duas classes de arquivos: uma
de dados para desenho de um determinado projeto, e a outra de programas de dese-
nho, aplicáveis a qualquer número de projetos diferentes.
6.1. Inclusão de arquivos - INCLUI
A forma mais simples de montagem de um programa DP independente dos parâme-
tros usados é o comando INCLUI. Este comando desvia a execução de um arquivo
DP para outro, retornando no final do arquivo incluído para o arquivo original. Fisi-
camente, é como se um arquivo inteiro especificado pelo usuário fosse incluído em
uma única linha de programa, com o comando INCLUI. A sintaxe do comando é:
INCLUI 'arquivo' [ OPCIONAL ]
O 'arquivo' especificado entre apóstrofes segue as convenções do MS-DOS; se
não tiver tipo, será adotado .DP. O processamento será interrompido se o arquivo
incluído não existir, a menos que a palavra OPCIONAL seja fornecida.
Vamos a partir do EXEMPLO2.DP fazer o EXEMPLO3.DP. Agora, em vez de um
paralelepípedo vamos desenhar dois. O primeiro terá medidas 400x150x100 e o se-
gundo 200x200x200. O segundo paralelepípedo terá o título "SEGUNDO". O nome
do primeiro arquivo de desenho será EXEMPL3A e o segundo EXEMPL3B:
DEFINE ESCALA 50
DESENHO 'EXEMPL3A'
N COMPRIM = 400
N LARGURA = 150
N ALTURA = 100
A TITULO = 'PARALELEPIPEDO'
INCLUI 'PARALEL'
FIM
DESENHO 'EXEMPL3B'
N COMPRIM = 200
N LARGURA = 200
N ALTURA = 200
A TITULO = 'SEGUNDO'
INCLUI 'PARALEL'
FIM
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
76
No EXEMPLO3.DP não há qualquer programação de desenho, apenas a indicação do
nome do desenho e dos parâmetros necessários para a sua montagem. Este arquivo
funciona assim como uma entrada de dados para um programa que processa dese-
nhos.
O comando INCLUI foi usado duas vezes neste exemplo. Em cada uma delas, o
arquivo PARALEL.DP foi inteiramente lido e processado, e no final do arquivo, o
controle voltou ao EXEMPLO3.DP.
Faltou mostrar o conteúdo do arquivo PARALEL.DP. Literalmente, é um pedaço do
EXEMPLO2.DP:
$ PARALEL.DP: Desenho de um paralelepipedo de lados
$ COMPRIM, LARGURA e ALTURA e titulo
$ TITULO
$
1 0, 0
3 1 @ %COMPRIM, %LARGURA
2 X3, Y1
4 X1, Y3
POLIGONAL 1 2 3 4 1
$
$ Vista frontal
$
8 1 @ 0, -1.3*%_ESCALA
6 8 @ %COMPRIM, -%ALTURA
5 X8, Y6
7 X6, Y8
POLIGONAL 5 6 7 8 5
$
$ Vista lateral
$
9 2 @ 2.5*%_ESCALA, 0
11 9 @ %ALTURA, %LARGURA
10 X11, Y9
12 X9, Y11
POLIGONAL 9 10 11 12 9
$
$ Nos auxiliares
$
13 5 @ -1*%_ESCALA, 0
14 4 @ 0, 1*%_ESCALA
15 (X1 + X3)/2, (Y1 + Y3)/2
$
$ Cotagens e titulo
Inclusões e subprogramas 77
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
$
COTAGEM VERTICAL 5 8 13
COTAGEM VERTICAL 1 4 13
COTAGEM HORIZONTAL 4 3 14
COTAGEM HORIZONTAL 12 11 14
TEXTO 15 CENTRADO '%TITULO'
Observe que o arquivo PARALEL.DP não tem o comando FIM, que termina o dese-
nho. Isto aconteceu pois escolheu-se (arbitrariamente) colocar o FIM do desenho no
arquivo DP original.
Arquivos de inclusão podem INCluir outros arquivos.
6.1.1. Biblioteca de Inclusão
Não é boa prática de programação misturar informações temporárias de projeto com
informações permanentes, tais como programas DP. O ideal é que programas DP
sejam colocados em uma pasta separada. Por exemplo, se o programa PARALEL.DP
estiver na pasta \DP\INCLUI, para inclui-lo faremos:
INCLUI '\DP\INCLUI\PARALEL'
para facilitar a separação de arquivos em bibliotecas (onde uma pasta independente
pode ser considerada uma biblioteca), existe o comando:
DEFINE BIBINC 'pasta(s)'
Este comando define o nome de uma ou mais pastas de pesquisa de inclusão, separa-
dos por ponto e vírgula. Suponha os comandos:
DEFINE BIBINC '\DP\INCLUI;\DP\SOLIDOS'
INCLUI 'PARALEL'
O DP fará as seguintes operações:
Incluirá o arquivo PARALEL.DP da pasta atual. Se não achar:
Incluirá o arquivo PARALEL.DP da pasta \DP\INCLUI. Se não achar:
Incluirá o arquivo PARALEL.DP da pasta \DP\SOLIDOS. Se não achar,
emitirá mensagem de erro.
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
78
Definições tais como BIBINC podem ser permanentemente definidas através do uso
do arquivo de critérios do DP.
6.1.2. Arquivo de Critérios
Toda vez que um programa é executado, o DP aciona internamente o seguinte co-
mando, antes de qualquer outro:
INCLUI '%_SUPORTE\DP\INSTAL'
O comando acima não é listado. Se o arquivo INSTAL.DP na pasta
%_SUPORTE\DP\ for encontrado, será automaticamente incluído em todo processa-
mento. Este arquivo normalmente é usado para declaração de parâmetros com valores
diferentes do default do sistema. Por exemplo, poderia conter a definição anterior de
biblioteca de inclusão:
DEFINE BIBINC '\DP\INCLUI;\DP\SOLIDOS'
Como resultado, o projetista deixa de se preocupar com a localização física dos pro-
gramas, precisando conhecer apenas o seu nome. A TQS distribui o DP com o seguin-
te arquivo INSTAL.DP:
$------------------- %_SUPORTE\DP\INSTAL.DP ----------------------
$
DEFINE BIBDP '%_SUPORTE\DP\DPS' $ biblioteca DPS
DEFINE BIBBLO '%_SUPORTE\BLOCOS\GERAIS' $ biblioteca de blocos
$------------------- %_SUPORTE\DP\INSTAL.DP ----------------------
Note que após a variável ‘%_SUPORTE’ não temos %% como descrito no capítulo
Atribuição de variáveis alfanuméricas (pág. 61) pois o próximo caractere (\) não é
um caractere válido para nome de variável. Assim sendo, o DP ignora o restante do
texto para definir o nome da variável.
6.2. Subprogramas DPS - Comando DP
O comando INCLUI é uma forma simples de criação de programas, mas tem o in-
conveniente de não isolar as variáveis do programa incluído das do programa princi-
pal. Se mais de um programa for incluído para a geração de um mesmo desenho, o
risco aumenta, e problemas podem aparecer sem que o projetista perceba.
Subprogramas são um tipo especial de inclusão, onde os parâmetros de desenho são
passados para o arquivo de inclusão e as variáveis do arquivo incluído não interferem
Inclusões e subprogramas 79
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
de modo algum com outras variáveis definidas (incluindo nós). Estas variáveis são
chamadas de variáveis locais.
Subprogramas são codificados em arquivos com o tipo .DPS. O tipo diferente de
arquivo tem por objetivo separar os arquivos DP, normalmente de dados, dos arquivos
DPS, usados para codificação de programas.
Antes de entrarmos no conceito de subprogramas, vamos examinar o que são variá-
veis locais e globais.
6.2.1. Variáveis locais e globais
Variáveis locais a um programa são conhecidas exclusivamente dentro deste progra-
ma. Variáveis locais são criadas:
Dentro da seção DESENHO. Duas seções diferentes de desenho não interfe-
rem uma com a outra;
Dentro de subprogramas DPS.
Variáveis globais são variáveis conhecidas em qualquer lugar, dentro de uma seção de
DESENHO ou subprograma. Assim, uma variável global que assume um valor dentro
de um desenho, pode ser usada no desenho seguinte.
Um caso especial de variáveis globais são as variáveis do sistema, começadas pelo
sinal "_". Estas variáveis podem ser usadas a qualquer momento em qualquer lugar.
Variáveis globais podem ser declaradas no arquivo de critérios, estando então dispo-
níveis permanentemente.
6.2.2. Declaração de variáveis locais
Variáveis locais são criadas na primeira vez que são usadas. O DP permite também,
para efeito de melhor organizar um programa, que as variáveis locais sejam declara-
das separadamente numa seção de programa, com a sintaxe:
LOCAIS
(...declaração de variáveis...)
FIM
A declaração de uma variável é idêntica a um comando de atribuição:
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
80
NUM nome [[=] valor ]
ALF nome [[=] 'texto' ]
COO nome [[=] coord ]
Variáveis declaradas podem receber um valor de inicialização. Variáveis não iniciali-
zadas recebem o valor nulo correspondente ao tipo. Um exemplo de codificação:
LOCAIS
N COMPRIM
N LARGURA
N ALTURA
A TITULO = 'PARALELEPIPEDO'
FIM
6.2.3. Declaração de variáveis globais
Variáveis declaradas fora da seção DESENHO são automaticamente globais. Dentro da
seção DESENHO e de subprogramas, variáveis globais podem ser declaradas na seção
GLOBAIS:
GLOBAIS
(...declaração de variáveis...)
FIM
A declaração de variáveis globais é idêntica a de locais. Existe um pequeno artifício
quanto a inicialização de variáveis globais: a inicialização só é executada se a variável
não estiver definida; no caso da declaração de uma variável que já existe, ela é igno-
rada.
Seja por exemplo o arquivo .DPS com os seguintes comandos:
GLOBAIS
A TEX = 'PRIMEIRA VEZ'
FIM
TEXTO 0,0 '%TEX'
A TEX = 'SEGUNDA VEZ'
Supondo a variável TEX indefinida, na primeira vez que este arquivo for executado, o
texto 'PRIMEIRA VEZ' será colocado no desenho; na segunda vez, o texto será
'SEGUNDA VEZ', pois a variável TEX já definida não será reinicializada.
Inclusões e subprogramas 81
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
6.2.4. Chamada de um subprograma
A chamada de um subprograma em um arquivo DPS é parecida com a INClusão de
um arquivo, a menos do fato que os parâmetros do subprograma são definidos durante
a chamada. A sintaxe é:
DP 'nome' [coord] [ANG angulo] (
parametro1=valor1, parametro2=valor2, ...)
Neste comando:
'nome' É o nome do subprograma com tipo .DPS, entre apóstrofes. O
tipo não precisa ser fornecido;
coord Coordenadas opcionais de inserção do desenho gerado pelo
subprograma;
ANG ângulo Ângulo opcional, que girará todos os elementos de desenho
gerados pelo subprograma.
Os parâmetros do subprograma são passados após a abertura de parênteses, terminan-
do com o fechamento de parênteses. Os parâmetros podem ser declarados na mesma
linha, separados (ou não) por vírgulas ou em mais de uma linha, sem sinal de continu-
ação. Subprogramas podem por sua vez chamar outros subprogramas.
Vamos criar o EXEMPLO4.DP a partir do EXEMPLO3.DP, mas agora, chamando o
subprograma PARADP.DPS em vez de incluir o arquivo. O EXEMPLO4.DP terá
seguinte forma:
DEFINE ESCALA 50
DESENHO 'EXEMPL4A'
DP 'PARADP' (
N COMPRIM = 400
N LARGURA = 150
N ALTURA = 100
A TITULO = 'PARALELEPIPEDO' )
FIM
DESENHO 'EXEMPL4B'
DP 'PARADP' (
N COMPRIM = 200
N LARGURA = 200
N ALTURA = 200
A TITULO = 'SEGUNDO' )
FIM
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
82
A mudança em relação ao exemplo anterior foi aparentemente pequena, apenas na
sintaxe. O subprograma, no entanto, tem as suas próprias variáveis locais, e não corre
o risco de interferir com outros subprogramas.
Os parâmetros passados ao subprograma devem ser especialmente declarados dentro
do subprograma. Se forem passados parâmetros a menos, valores default serão assu-
midos.
6.2.5. Declaração de Parâmetros
A declaração de parâmetros dentro do subprograma é feita na seção PARAMETROS. A
seção PARAMETROS deve ser declarada antes de qualquer outra seção de programa.
O seu objetivo é de permitir que o DP verifique se foram declarados parâmetros que
não pertençam ao subprograma.
A sintaxe desta declaração é:
PARAMETROS
(...declaração de variáveis...)
FIM
A sintaxe de declaração de cada parâmetro é idêntica à das outras seções de declara-
ção, a menos da definição opcional de COMENTÁRIO:
NUM nome [[=] valor ] [ COM 'texto']
ALF nome [[=] 'texto' ] [ COM 'texto']
COO nome [[=] coord ] [ COM 'texto']
O comentário é um texto opcional que descreve sucintamente (até 40 caracteres) o
objetivo do parâmetro. Comentários são desprezados no processamento normal do
DP, mas são usados pelo gerador de programas para perguntar ao projetista o valor de
cada variável de forma interativa. A digitação de dados será analisado no capítulo
Digitação de dados de desenho.
Um ponto importante é que variáveis podem ser inicializadas na seção de parâmetros.
Se parâmetros deixarem de ser declarados na chamada de um subprograma, automati-
camente serão inicializados com o valor declarado nesta seção.
Inclusões e subprogramas 83
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
Parâmetros só podem passar do programa principal para um subprograma, não o con-
trário. A única forma de um programa usar um valor calculado no subprograma é
através da utilização de variáveis globais.
O programa PARALEL.DPS citado no exemplo anterior será parecido com o
PARALEL.DP, a menos da seção de PARÂMETROS no início e do comando FIM no
fim do arquivo:
$ PARADP.DPS - Desenho de um paralelepipedo de lados
$ COMPRIM, LARGURA e ALTURA e título TITULO
$
PARAMETROS
N COMPRIM COM 'Comprimento em cm'
N LARGURA COM 'Largura em cm'
N ALTURA COM 'Altura em cm'
A TITULO COM 'Titulo do paralelepipedo'
FIM
1 0, 0
3 1 @ %COMPRIM, %LARGURA
2 X3, Y1
4 X1, Y3
POLIGONAL 1 2 3 4 1
$
$ Vista frontal
$
8 1 @ 0, -1.3*%_ESCALA
6 8 @ %COMPRIM, -%ALTURA
5 X8, Y6
7 X6, Y8
POLIGONAL 5 6 7 8 5
$
$ Vista lateral
$
9 2 @ 2.5*%_ESCALA, 0
11 9 @ %ALTURA, %LARGURA
10 X11, Y9
12 X9, Y11
POLIGONAL 9 10 11 12 9
$
$ Nos auxiliares
$
13 5 @ -1*%_ESCALA, 0
14 4 @ 0, 1*%_ESCALA
15 (X1 + X3)/2, (Y1 + Y3)/2
$
$ Cotagens e titulo
$
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
84
COTAGEM VERTICAL 5 8 13
COTAGEM VERTICAL 1 4 13
COTAGEM HORIZONTAL 4 3 14
COTAGEM HORIZONTAL 12 11 14
TEXTO 15 CENTRADO '%TITULO'
FIM
O comando FIM neste caso delimita o fim de um subprograma DPS, e não o fim do
desenho.
6.2.6. Sistema de coordenadas DPS
O DP permite que se especifique coordenadas e ângulo de rotação na chamada do
subprograma. Estes valores definem um ponto de inserção do desenho gerado pelo
subprograma, em relação ao seu próprio sistema local.
Tudo se passa como se o desenho gerado pelo subprograma fosse um bloco de dese-
nho com base (0,0), e a chamada do subprograma (comando DP) o comando de inser-
ção de blocos. Se as coordenadas de inserção e ângulo de rotação não forem defini-
dos, o sistema local do subprograma coincidirá com o sistema de coordenadas do
programa principal.
Como exemplo, faremos o desenho de uma sapata para ser inserida em um desenho
de formas em qualquer escala e ângulo. O ponto de inserção da sapata será o seu
centro, que obrigatoriamente terá coordenada (0,0). A figura abaixo mostra o esquema
da sapata:
Os parâmetros que definem a sapata são: B1/H1, as dimensões externas, B2/H2 as
dimensões do pilar sobre a sapata, e GRAV a largura da gravata. A sapata receberá
também um título, colocado no lado direito superior. Adotaremos 5 cm o default para
a gravata e permitiremos a definição da escala como parâmetro; o subprograma
SAPFOR.DPS será:
Inclusões e subprogramas 85
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
$
$ SAPFOR.DPS Forma de concreto para sapatas
$
PARAMETROS
A TITULO COM 'Titulo'
N B1 COM 'Comprimento da Sapata (cm)'
N H1 COM 'Largura da Sapata (cm)'
N B2 COM 'Comprimento do Pilar (cm)'
N H2 COM 'Largura do Pilar (cm)'
N GRAV = 5 COM 'Gravata (cm)'
N ESCALA = 50 COM 'Escala 1:x'
FIM
DEFINE ESCALA %ESCALA
1 -%B1/2, -%H1/2
2 1 @ %B1, 0
3 2 @ 0, %H1
4 3 @ -%B1, 0
POL 1 2 3 4 1
5 -((%B2/2) + %GRAV), -((%H2/2) + %GRAV)
6 5 @ %B2 + (2*%GRAV), 0
7 6 @ 0, %H2 + (2*%GRAV)
8 7 @ - (%B2 + (2*%GRAV)), 0
POL 5 6 7 8 5
POL 1 5
POL 2 6
POL 3 7
POL 4 8
9 5 @ %GRAV, %GRAV
POL 9 REL %B2,0 @ 0,%H2 @ -%B2,0 @ 0,-%H2
$
$ Titulo 0.5 cm a direita do no' 3
$
TEXTO 3 @ 0.5*%ESCALA,0 HTEX 0.4 '%TITULO'
FIM
Vamos agora inserir uma sapata 120 x 60 com pilar de 40 x 20 sobre os nós 5 e 6 da
forma com ângulo de zero graus e no nó 7 com ângulo de 90 (arquivo
EXEMPLO5.DP):
DP 'SAPFOR' 5 (A TITULO ='S1',
N B1 = 120, N H1 = 60,
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
86
N B2 = 40, N H2 = 20)
DP 'SAPFOR' 6 (A TITULO ='S2',
N B1 = 120, N H1 = 60,
N B2 = 40, N H2 = 20)
DP 'SAPFOR' 7 ANG 90 (A TITULO ='S3',
N B1 = 120, N H1 = 60,
N B2 = 40, N H2 = 20)
O resultado será:
Uma observação interessante é que os nós 5, 6 e 7 definidos na forma, não têm ne-
nhuma relação com os usados internamente no subprograma DPS. Como dissemos
antes, os subprogramas tem as suas próprias variáveis locais, que não interferem com
as de outros programas.
Subprogramas podem funcionar como se fossem blocos de desenho, com a diferença
de que blocos podem ser apenas escalados, enquanto que subprogramas podem dese-
nhar peças em quaisquer proporções, títulos variáveis, etc.
Subprogramas podem também efetivamente gerar blocos de desenho. Você pode
definir a seção de blocos antes da chamada do subprograma ou mesmo dentro do
próprio.
6.2.7. ORIGEM de um Subprograma
Todos os elementos gráficos de um subprograma são colocados em um sistema local,
que pode ser transladado durante a chamada do subprograma. Na prática, o que ocorre
é que a origem do sistema local de coordenadas é alterada durante a chamada de um
subprograma; esta origem é a mesma definida pelo comando ORIGEM.
Inclusões e subprogramas 87
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
Por isto o comando ORIGEM não deve ser usado dentro de um subprograma para a
mudança de sistema local; se necessário, pode-se chamar outro subprograma mudan-
do o sistema durante a chamada.
Por outro lado, todas as coordenadas dentro de um subprograma estão dentro do sis-
tema local. Havendo necessidade de transportar estas variáveis para fora do subpro-
grama (por meio de variáveis globais), para passa-las ao sistema global é necessário
antes "desligar" o sistema local, através do comando origem:
ORIGEM 0,0 ANG 0
6.2.8. Bibliotecas de subprogramas
O que dissemos anteriormente a respeito de bibliotecas de inclusão vale também para
bibliotecas de subprogramas. Os subprogramas DPS devem ser isolados em um ou
mais pastas (bibliotecas) diferentes, e a definição das pastas é feita através do coman-
do:
DEFINE BIBDP 'pasta(s)'
Por exemplo, para tornar permanente a definição da biblioteca
%_SUPORTE\DP\DPS colocaremos no arquivo %_SUPORTE\DP\INSTAL.DP:
DEFINE BIBDP '%_SUPORTE\DP\DPS'
Quando um subprograma é chamado, o DP verifica se está na pasta atual, e depois,
em cada uma das pastas definidos em BIBDP.
6.2.9. Listagem do arquivo DPS
Por default, o DP não emite listagens no processamento de subprogramas; apenas
erros de sintaxe quando encontrados são mostrados. No entanto, durante a fase de
desenvolvimento de um subprograma pode ser interessante que seja listado para faci-
litar a eliminação de erros. Neste caso, o comando:
DEFINE LISTA
deve ser colocado no inicio do subprograma a listar. O comando
DEFINE NLISTA
tem efeito contrário, suprimido as listagens a partir do ponto onde for executado.
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
88
7. Controle de fluxo Comandos de controle de fluxo de um programa servem para especificar a ordem em
que os comandos devem ser executados. Nos capítulos anteriores foi suposta a execu-
ção linear de todos os comandos de um programa; mostraremos comandos que permi-
tirão:
Executar condicionalmente um grupo de comandos;
Executar repetidamente um grupo de comandos conforme uma condição;
Executar repetidamente um grupo de comandos um certo número de vezes;
Abandonar um subprograma no meio da execução.
7.1. Comando SE
O comando SE executa um conjunto de comandos se o resultado de uma expressão
lógica for verdadeira. O formato do comando é:
SE expressão lógica
.... comandos.....
.....
FIM
A expressão lógica pode resultar em um valor verdadeiro ou falso; se for verdadeiro,
o conjunto de comandos encontrados até a palavra FIM será executado; caso contrário
não. Por exemplo:
SE %BITOLA = 0
N NBIT = 2
N BITOLA = 8
FIM
A variável BITOLA foi comparada com zero. Sendo igual, os 2 comandos seguintes
serão executados. Todo o comando SE termina numa palavra FIM.
A expressão lógica contém somente constantes, e por isto as variáveis envolvidas
precisam sempre ser substituídas por seu valor através do sinal "%". Os tipos de ex-
pressões lógicas possíveis são:
Controle de fluxo 89
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
= Igual a
<> Diferente de
> Maior que
< Menor que
>= Maior que ou igual a
<= Menor que ou igual a
O sinal != pode ser usado também no lugar de <>.
7.2. Expressões lógicas e aritméticas
O programa permite a construção de expressões lógicas bem mais complexas. Para
entender como isto é possível, é preciso conhecer as regras de interpretação de ex-
pressões lógicas:
A expressão lógica interpretada pelo comando SE na verdade é uma expres-
são aritmética, que resulta em valor numérico. Este valor será considerado
falso se valer zero e verdadeiro se diferente de zero.
Os operadores lógicos funcionam como operadores aritméticos, que atuam
sobre um ou mais operandos, e resultam no valor 1 quando a condição for
verdadeira ou 0 se falsa. Os operadores, assim como outros operadores arit-
méticos são interpretados da esquerda para a direita, a menos da precedência
dos parênteses.
Os operadores E, OU e NAO, podem ser usados em expressões lógicas, com
os seguintes resultados:
Operação Resultado
0 E 0 0
1 E 0 0
1 E 1 1
0 OU 0 0
1 OU 0 1
1 OU 1 1
NAO 0 1
NAO 1 0
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
90
onde 0 representa um valor falso, e 1 verdadeiro. Como exemplo, suponha que uma
linha entre os pontos 1 e 2 deva ser desenhada se A e B forem não nulos ou se C e D
forem nulos:
SE ((%A <> 0) E (%B <> 0)) OU -
((%C = 0) E (%D = 0))
LINHA 1 2
FIM
Os parênteses usados são estritamente necessários; se não fossem utilizados, as ex-
pressões passariam a ser interpretadas da esquerda para a direita, o que resultaria em
um valor lógico incorreto.
7.3. Expressões lógicas com cadeias de caracteres
O comando SE interpreta apenas expressões aritméticas. Para comparar cadeias de
caracteres, a função CMP retorna o valor (0) se duas cadeias de caracteres forem
iguais ou (1) se forem diferentes. Por exemplo, colocaremos o texto armazenado em
TITULO no desenho, a menos que seu valor seja 'INVALIDO':
SE CMP ('%TITULO', 'INVALIDO') <> 0
TEXTO 0,0 '%TITULO'
FIM
7.4. SENAO
O comando SE executa um conjunto de comandos a seguir se o resultado da expres-
são lógica for verdadeiro. A palavra SENAO colocada antes do FIM do comando SE
permite que um conjunto de comandos seja executado no caso da condição ser falsa.
Por exemplo:
SE %BITOLA = 0
N NBIT = 2
N BITOLA = 8
SENAO
N NBIT = 4
FIM
Resultará em NBIT=2 e BITOLA=8 se BITOLA valer zero, ou em NBIT=4 caso
contrário.
Controle de fluxo 91
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
7.5. Aninhamento de SEs
O comando SE permite que um conjunto de comandos seja executado condicional-
mente. Neste conjunto de comandos pode haver outros comandos SE, que poderão
executar outro conjunto e assim por diante. Independente da quantidade de SEs usa-
dos, cada um deles deverá terminar por um comando FIM. Por exemplo:
SE LEN ('%TITULO') > 0
SE LEN ('%TITULO') < 10
NUM HTEX 0.4
DEFINE NÍVEL 0
SENAO
NUM HTEX 0.2
DEFINE NÍVEL 1
FIM
TEXTO 100,200 HTEX %HTEX '%TITULO'
FIM
O primeiro SE executa um conjunto de comandos se o numero de caracteres da variá-
vel alfanumérica TITULO for maior que zero. Entre os comandos executados, existe
um outro SE, que define o tamanho de um texto e o nível de desenho, conforme o
número de caracteres de TITULO menor ou maior que 10.
Quando o DP encontra uma palavra FIM, ela se refere sempre ao último comando SE
"aberto" (ou ainda, ao ENQUANTO ou REPETE, que veremos adiante). Se não houver
SE aberto, então o FIM se referirá ao fim do subprograma ou desenho, que será ter-
minado.
Note também que na medida que os SE foram sendo abertos, fomos deslocando os
comandos agrupados sob o SE para a direita, de modo a deixar claro o seu agrupa-
mento. Esta medida tem o efeito meramente estético, mas é extremamente importante
para quem lê o programa, que enxerga como os comandos estão agrupados.
7.6. SENAO SE
Uma última variante do comando SE é o SENAO SE. Suponha que necessitemos
analisar uma série de hipóteses mutuamente exclusivas, como no exemplo:
SE %A = 1
A TIPO = 'Tijolo de maciço'
SENAO
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
92
SE %A = 2
A TIPO = 'Tijolo cerâmico'
SENAO
SE %A = 3
A TIPO = 'Argamassa'
SENAO
SE %A = 4
A TIPO = 'Azulejo'
SENAO
A TIPO = 'INVALIDO'
FIM
FIM
FIM
FIM
O comando SENAO SE permite analisar casos deste tipo, sem aninhamento adicional
dos SEs. Quando o DP encontra um SENAO SE, o nível de aninhamento não é au-
mentado, e somente um FIM continua necessário. Usando este comando, o exemplo
acima ficaria:
SE %A = 1
A TIPO = 'Tijolo de maciço'
SENAO SE %A = 2
A TIPO = 'Tijolo cerâmico'
SENAO SE %A = 3
A TIPO = 'Argamassa'
SENAO SE %A = 4
A TIPO = 'Azulejo'
SENAO
A TIPO = 'INVALIDO'
FIM
7.7. REPETE
Este comando repete um conjunto de comandos um número determinado de vezes. A
repetição é controlada por uma variável, dita de controle, que tem o seu valor incre-
mentado ou decrementado após cada iteração. A sintaxe é:
REPETE nome [=] valor1 [A] valor2 [PASSO valor]
.... (comandos) ....
FIM
Controle de fluxo 93
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
nome se refere ao nome de uma variável numérica de controle, que não deve ser
macro-substituido; valor1 é o valor inicial assumido pela variável de controle e
valor2 o valor final; o incremento da variável de controle após cada repetição é de
1, a menos que um valor diferente seja especificado em PASSO. O sinal de "=" e a
letra "A" entre valor1 e valor2 são opcionais, e servem apenas de comentário.
O conjunto de comandos a ser repetido deve ser terminado pela palavra FIM. Como
exemplo, vamos determinar o peso médio de um conjunto de N tipos de elementos,
onde:
N Número de tipos de elementos
Pi Peso de cada elemento: P1, P2, ... Pn
Qi Quantidade de cada elemento: Q1, Q2, ... Qn
MEDIA Média ponderada
NTOT Número total de elementos
O programa será:
N MEDIA = 0
N NTOT = 0
REPETE I = 1 A %N
N MEDIA = %MEDIA + (%P%I * %Q%I)
N NTOT = %NTOT + %Q%I
FIM
N MEDIA = %MEDIA / %NTOT
A lógica do comando REPETE é:
a. Atribuir o valor inicial à variável de controle;
b. Verificar se a variável de controle é superior ao valor limite (se o passo for
negativo verifica se é inferior); se for, sair do comando;
c. Caso contrário, executar todos os comandos até o próximo fim;
d. Encontrando o FIM, somar o incremento à variável de controle e voltar para
(b).
O DP permite que a variável de controle seja alterada dentro do conjunto de coman-
dos em repetição; no entanto deve-se evitar este tipo de procedimento, que dificulta a
compreensão do programa.
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
94
Entre os comandos que podem ser repetidos incluem-se outros comandos de repeti-
ção, SEs e ENQUANTOS.
7.8. ENQUANTO
Este comando repete um conjunto de comandos terminados por FIM, enquanto for
válida uma condição. A sintaxe é:
ENQUANTO expressão lógica
.... (comandos) ....
FIM
Por exemplo, suponha que devamos desenhar linhas entre os nós 1 e 2 até que a abs-
cissa X do nó 1 atinja 1000:
N DELTAX 50
1 0,0
2 0,200
ENQUANTO %X1 < 1000
POL 1 2
1 1 @ %DELTAX, 0
2 2 @ %DELTAX, 0
FIM
O DP verifica a validade da expressão antes de executar o conjunto de comandos; se
for verdadeira, os comandos serão executados, caso contrário não. Ao encontrar o
FIM correspondente, volta-se à expressão lógica e faz-se o teste novamente, e assim
por diante, até que a expressão se torne falsa.
Podem fazer parte do conjunto de comandos repetidos por este comando outros EN-
QUANTOs, SEs e REPETEs.
7.9. QUEBRA
É conveniente, às vezes, controlarmos a saída de um REPETE ou ENQUANTO de
outro modo além do teste feito no início. O comando QUEBRA permite uma saída
antecipada da repetição; ele termina imediatamente o laço mais interno.
Suponha que precisemos desenhar 10 linhas com incremento de coordenadas
DELTAX, DELTAY, mas a abscissa X do primeiro nó não pode ser superior a 1000:
Controle de fluxo 95
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
N DELTAX 150
N DELTAY 100
1 0,0
2 0,200
REPETE I = 1 A 10
SE X1 > 1000
QUEBRA
FIM
POL 1 2
1 1 @ %DELTAX, %DELTAY
2 1 @ %DELTAX, %DELTAY
FIM
7.10. CONTINUA
Este comando funciona de forma semelhante ao QUEBRA, iniciando imediatamente a
próxima iteração do REPETE ou ENQUANTO atual. Por exemplo, no problema de
cálculo da média ponderada, suponha que não desejemos que os valores de peso nega-
tivo entrem no cálculo:
N MEDIA = 0
N NTOT = 0
REPETE I = 1 A %N
SE %P%I < 0
CONTINUA
FIM
N MEDIA = %MEDIA + (%P%I * %Q%I)
N NTOT = %NTOT + %Q%I
FIM
N MEDIA = %MEDIA / %NTOT
7.11. SAÍDA
Em algumas situações é preciso abandonar o processamento de um subprograma
antes do seu fim. O comando SAÍDA termina imediatamente a execução. Por exem-
plo, se um subprograma não puder ser executado se a variável COMPR valer zero:
SE %COMPR = 0
SAIDA
FIM
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
96
7.12. Aninhamento de SE, REPETE, ENQUANTO
Os comandos acima controlam a execução de um conjunto de comandos. Neste con-
junto pode haver outros comandos SE, REPETE e ENQUANTO, que controlarão ou-
tros conjuntos e assim por diante. As seguintes regras são válidas:
O comando FIM se aplica ao último SE, REPETE ou ENQUANTO executado;
Os comandos QUEBRA e CONTINUA se aplicam ao último REPETE ou
ENQUANTO executado.
Máscaras de desenho 97
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
8. Máscaras de desenho Máscaras são uma forma alternativa de produção de desenhos paramétricos. As más-
caras permitem passar parte da programação alfanumérica para o editor gráfico, onde
um desenho especialmente construído vai ser completado e alterado de acordo com os
parâmetros fornecidos. Normalmente, a especificação de desenho de modo alfanumé-
rico é misturada com a máscara.
O uso de máscaras é recomendado principalmente para desenhos que se alterem pou-
co em função dos parâmetros, como por exemplo, desenhos fora de escala ou inde-
pendentes da escala geral usada.
8.1. Substituição de variáveis
Mostraremos inicialmente o uso de máscaras através de um exemplo. Suponha o
desenho CARIMBO.DWG abaixo, produzido com o EAG:
Este desenho pode ser usado para a montagem de um carimbo. Note os diversos tex-
tos precedidos pelo sinal "%": eles definem nomes de variáveis, que serão substituídas
no processamento. Para trocar os nomes de variáveis pelo seu valor, basta atribuir
valor a estas variáveis dentro de um programa DP.
Vamos construir o programa EXEMPLO6.DP, que chamará o subprograma
CARIMBO.DPS para a montagem do carimbo:
$
$ EXEMPLO6.DP Geracao de um carimbo teste
$
DESENHO 'EXEMPLO6'
DP 'CARIMBO' (
A TITULO = 'FORMAS DO PAVIMENTO TIPO',
N PROJETO = 1000,
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
98
A OBRA = 'SAINT ARGENT',
N FCK = 150,
A CLIENTE = 'OS16')
FIM
Definimos neste exemplo os parâmetros desejados para o carimbo. Para que o dese-
nho seja processado, CARIMBO.DPS deverá conter:
$
$ CARIMBO.DPS Interpreta máscara de desenho CARIMBO.DWG
$
PARAMETROS
A TITULO COM 'Titulo do projeto'
N PROJETO COM 'Numero do projeto'
A OBRA COM 'Nome da obra'
N FCK COM 'Fck'
A CLIENTE COM 'Ordem de serviço'
FIM
MASCARA 'CARIMBO'
A DATA '%_DATA'
A HORA '%_HORA'
FIM
Apenas as variáveis DATA e HORA foram definidas dentro do subprograma; as demais
vieram como parâmetros. O resultado final será o desenho EXEMPLO6.DWG:
8.2. Lógica de substituição de variáveis
O desenho de máscara é misturado com o desenho atual na memória. No final do
processamento do programa ou subprograma em execução, o DP verifica se existem
variáveis para serem substituídas na máscara; se houverem, a substituição é executa-
da. Tanto faz se as variáveis da máscara forem definidas antes ou depois do comando
MASCARA. A sintaxe do comando é:
Máscaras de desenho 99
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
MASCARA 'nome' [coord]
onde 'nome' é o nome da máscara, sem o tipo DWG. As coordenadas, se forneci-
das, realocarão todos os elementos da máscara, de forma que a BASE (ver capítulo 3)
de desenho da máscara coincida com as coordenadas fornecidas.
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
100
9. Outros Comandos Descreveremos neste capítulo comandos não enquadrados em nenhum dos capítulos
anteriores. Isto inclui comandos para controle de projeto, listagem de variáveis, men-
sagens, definição de parâmetros de controle e acesso ao sistema operacional.
9.1. PROJETO
Dentro dos sistemas CAD/TQS, Projeto significa um lote de elementos para proces-
samento. Assim, um projeto de vigas contém um conjunto de vigas; um projeto de
formas contém todos os elementos que definem uma planta de formas. Projetos são
identificados por números de 4 dígitos, com zeros à esquerda se necessário.
No DP um projeto agrupa desenhos quaisquer. O comando PROJETO associa os
desenhos sendo gerados pelo programa DP atual a um número de projeto. Mais tarde,
a plotagem em impressora e em plotter poderá ser feita referenciando-se apenas o
número de projeto; todos os desenhos do projeto serão plotados.
Vários arquivos DP diferentes podem referenciar o mesmo número de projeto; neste
caso, os desenhos gerados em cada um destes arquivos farão parte do mesmo projeto.
A sintaxe do comando é:
PROJETO num
onde num é um número de até 4 dígitos. Vamos supor, por exemplo, que os arquivos
1000.DP, 1001.DP e 1002.DP gerem cada um 1 desenho, e que em todos seja decla-
rado
PROJETO 1000
Ao gerar plantas, utilize o botão “Projeto” para selecionar todos os desenhos do pro-
jeto:
Outros Comandos 101
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
O “Subprojeto” consiste num subconjunto de desenhos do projeto, que pode ser
montado através do programa gerenciador (veja no manual CAD/AGC&DP Manual
de comandos e funções).
9.2. MENSAGEM
O comando MENSAGEM emite mensagens na listagem de saída:
MENSAGEM 'texto'
onde 'texto' é a mensagem entre apóstrofes que será impressa. Por exemplo:
N RAIO = 10
N PI = 3.141593
N AREA = %PI * (%RAIO ** 2)
MENSAGEM 'Raio = %RAIO Area = %.1AREA'
resultará em:
Raio = 10 Area = 314.2
9.3. AVISO
Avisos são mensagens especiais, onde o projetista no final é advertido na tela sobre a
sua existência. Por exemplo,
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
102
SE %BITOLA = 0
N BITOLA = 8
AVISO 'Bitola não fornecida, adotada 8 mm'
FIM
Se a variável BITOLA valer zero, na listagem aparecerá:
******01 AVISO: Bitola não fornecida, adotada 8 mm
Na tela do computador, no final do processamento aparecerá a mensagem:
ATENCAO: emitidos 1 aviso(s).
A vantagem do AVISO sobre a MENSAGEM é que nem sempre o projetista examina a
listagem de saída a procura de erros e avisos. O comando AVISO adverte o projetista
diretamente na tela.
9.4. ERRO
Funciona de forma análoga ao aviso. Por exemplo:
SE %BITOLA = 0
ERRO 'Bitola não fornecida'
SAIDA
FIM
Se a variável BITOLA valer zero, na listagem de saída aparecerá:
****** ERRO: Bitola não fornecida
e na tela do computador:
ATENCAO: Emitidos 1 erro(s)
9.5. LISTAR
Este comando permite listar nós, variáveis, distâncias e expressões aritméticas ou
lógicas. A sintaxe é:
LISTAR nno1 nno2 nno3 nno4 ....
nno1 A nno2 nno3 A nno4 ...
DISTANCIA nno1 nno2
Outros Comandos 103
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
DRETA nno1 nno2 nno3
NOS
VARIAVEIS
TUDO
EXPRESSAO valor
9.5.1. Listagem de nós
Pode-se listar os nós desejados (e suas coordenadas) um a um ou uma faixa de nno1
A nno2.
A listagem é feita sempre pelo sistema de coordenadas locais atuais. No caso de ne-
cessidade de listagem pelo sistema global, é necessário antes voltar a este sistema
através do comando ORIGEM. Um exemplo de uso do comando:
LISTAR 1 10 15 20 A 30
Este comando lista os nós 1, 10, 15 e todos os existentes entre os números 20 e 30,
inclusive. Todos os nós existentes podem ser listados através do comando
LISTAR NOS
A listagem se refere sempre aos nós locais do programa ou subprograma que acionou
o comando. Nós (e outras variáveis) globais devem ser listados fora da seção
DESENHO.
9.5.2. LISTAR DIStancia
A listagem de distância entre os nós 100 e 200 pode ser obtida pelo comando:
LISTAR DIS 100 200
9.5.3. LISTAR Distância de ponto a RETA
A distância de um ponto a uma reta formada por 2 pontos é obtida por:
LISTAR DRETA nno1 nno2 nno3
A distância listada pelo programa se refere à distância do nó nno1 à reta formada
pelos nós nno2 e nno3.
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
104
9.5.4. LISTAR VARIÁVEIS
Todas as variáveis numéricas e alfanuméricas locais são listadas por este comando. A
listagem de variáveis globais deve ser feita fora da seção DESENHO.
9.5.5. LISTAR TUDO
Este comando equivale a LISTAR NOS seguido de LISTAR VARIAVEIS.
9.5.6. LISTAR EXPRESSÃO
Permite listar valores numéricos resultantes de expressões aritméticas (o que inclui
expressões lógicas). Por exemplo:
LISTAR EXP (100 * SIN (30.5)) + (200 + 5)
LISTAR EXP CMP ('%TITULO', 'V101')
9.6. DEFINE
O comando DEFINE define parâmetros de controle do sistema. A maioria das defini-
ções possível já foi vista ao longo do manual.
9.6.1. DEFINE LISTA / NLISTA
Habilita ou desabilita a listagem de saída, gerada pelo programa. Se o arquivo proces-
sado for TESTE.DP, a listagem gerada, quando direcionada para o disco, será
TESTE.LST.
Normalmente o DP lista todas as linhas do arquivo .DP, após a macro-substituição; os
subprogramas tipo .DPS não são listados. As principais situações onde se habilita ou
desabilita a listagem são:
Quando comandos do tipo REPETE ou ENQUANTO são colocados no pro-
grama .DP, pode-se desabilitar a listagem antes do comando e reabilita-las
após o FIM, para que as iterações do laço não sejam todas listadas;
Quando a chamada de subprogramas é simplesmente simulada através de
INCLUIs, pode-se desabilitar a listagem no início do arquivo de inclusão e
reabilita-la no final;
Quando um subprograma .DPS está em fase de desenvolvimento, pode ser
interessante habilitar a listagem no início do subprograma, para facilitar o
exame dos erros encontrados.
Outros Comandos 105
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
9.6.2. DEFINE ERROS num
Define o limite máximo de erros que podem ser encontrados antes do DP interromper
a execução de um programa. O limite existe, pois em linguagens interpretadas do tipo
DP os erros se propagam em uma reação em cadeia, e a partir de um certo ponto se
torna inútil a sua análise. Por exemplo:
2 1 @ DELTAX, DELTAY
*
****** ERRO: Coordenadas esperadas
3 2 @ 100, 0
****** ERRO: No' indefinido
No primeiro erro, o projetista esqueceu os sinais "%" para efetuar a substituição das
variáveis por seus valores. O DP acusou erro na interpretação das coordenadas. O
segundo erro decorreu do primeiro, não foi causado diretamente. Em programas nor-
mais estes erros tendem a se propagar; por default o limite de erros antes do DP inter-
romper a execução é de 15. O DEFINE ERROS modifica este limite, e o comando:
DEFINE ERROS 0
desliga este limite.
9.6.3. DEFINE ESCALA valor
Durante o processo de plotagem, o controlador de plotter divide todas as coordenadas
de desenho pelo chamado fator de escala, resultando em um valor em centímetros,
que a pena deverá se deslocar. As unidades de desenho, por convenção, são armaze-
nadas internamente na escala 1:1.
No DP os tamanhos de texto não são definidos em termos de unidades de desenho,
mas em centímetros plotados, o que é mais prático. Para que o tamanho dos textos
seja dividido pelo fator de escala durante a plotagem, é necessário que antes sejam
multiplicados pelo mesmo fator, para que tenham o tamanho em centímetros definido
pelo projetista.
Por default, o fator de escala vale 50. Para redefinir este valor para 1:20, em um dese-
nho em centímetros, fazemos:
DEFINE ESCALA 20
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
106
Imediatamente após a definição da escala, a variável global _ESCALA assume o valor
definido.
9.6.4. DEFINE TABPLT 'nome'
No caso de plotagem inteligente, a tabela de plotagem pode ser definida por este co-
mando. O tipo da tabela deve ser sempre .DAT. Por exemplo, um subprograma pode
gerar um desenho que acessa a tabela PONTES.DAT na pasta \DP\PONTES com o
comando:
DEFINE TABPLT '\DP\PONTES\PONTES.DAT'
Toda vez que um desenho é gerado, internamente ele contém propriedades tais como:
sistema, subsistema fator de escala e, entre outros, o nome da tabela de plotagem
inteligente. Estas propriedades são lidas automaticamente pelo editor de plantas e
programas de plotagem.
Um recurso interessante é associar uma tabela de plotagem exclusiva para um deter-
minado tipo de desenho; o nome da tabela, as convenções seguidas, e a sua utilização
pode ser totalmente controlada pelo subprograma .DPS.
A variável global _TABPLT contém a última tabela de plotagem inteligente definida.
9.6.5. DEFINE IAPLIC num
O DP pode gerar desenhos de qualquer tipo de aplicação. Os programas de plotagem
e extração de tabelas de ferros CAD/TQS estão preparados para tomar ações automa-
ticamente conforme o tipo de sistema / subsistema. Por exemplo, o programa de plo-
tagem elimina a letra C de um texto se escrita em seguida a um número entre os ní-
veis 1 e 50 para desenhos de vigas. Este estranho procedimento apenas "limpa" o
desenho de símbolos identificadores de certos tipos de ferros, que aparecem na tela,
mas não na impressora ou plotter.
O parâmetro IAPLIC define o tipo de sistema associado a um desenho; o valor de-
fault é (9), que significa desenho genérico de armação de concreto. Os tipos de apli-
cação são:
Código Sistema
(1) Genérico
(2) CAD/Formas
(3) CAD/Lajes
Outros Comandos 107
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
(4) CAD/Fundações
(7) CAD/Vigas
(8) CAD/Pilar
(9) CAD/AGC&DP
(11) CAD/Madeira
(15) CORBAR
(16) CORMAD
(17) CAD/Alvest
A variável global _IAPLIC tem o número da aplicação atual definida.
9.6.6. DEFINE ISUBAPLIC num
Como já foi dito no parágrafo anterior, conforme o tipo de sistema / subsistema, po-
demos ter ações distintas no momento da plotagem: desde a “eliminação” de letras
indicativas de dobras à escolha da tabela de plotagem.
Para cada sistema temos vários subsistemas. A tabela de correlação entre sistemas e
subsistemas está na tabela de Sistemas e Subsistemas da página 70.
A variável global _ISUBAPLIC tem o número da aplicação atual definida.
9.6.7. DEFINE TAMTTX valor
O comando TEXTO pode ser usado sem a definição do tamanho de texto; neste caso,
vale o definido por TAMTTX.
O tamanho default de texto é de 0.24 cm. A variável global _TAMTTX tem o tamanho
de texto atual.
9.6.8. DEFINE TAMTEI valor
O comando EIXOS rotula eixos por um tamanho fixo, definido por TAMTEI. Por
default, TAMTEI vale 0.4. A variável global _TAMTEI contém o valor da última
definição.
9.6.9. DEFINE NÍVEL num
Todos os elementos de desenho gerados pelo DP podem ter o seu nível explicitamente
declarado pela palavra NVD. Quando esta declaração não é feita, o elemento é gerado
com nível default, controlado pelo parâmetro NÍVEL. Por default, este nível vale
zero; a variável global _NIVEL contém a definição atual do nível default.
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
108
9.6.10. DEFINE NIVCOR
O parâmetro NIVCOR atribui uma cor a um nível de desenho:
DEFINE NIVCOR nível cor
9.6.11. Parâmetros de cotagem
Os seguintes parâmetros controlam a cotagem feita pelo comando COTAGEM:
DEFINE TAMTCO valor Tamanho do texto de cotagem
DEFINE NCOTLCH Cotagem sem linha de chamada
DEFINE COTLCH Cotagem com linha de chamada
DEFINE COTEXE val Extensão da linha de chamada
DEFINE COTEXO val Gap da linha de chamada
DEFINE COTTSZ val Tamanho da marca da linha de cotagem
DEFINE COTDLE val Extensão da linha de cotagem
DEFINE COTNIV ival Nível de cotagem
DEFINE COTNIC ival Nível da linha de cotagem
DEFINE COTNIL ival Nível das linhas de chamada
DEFINE COTMUL val Multiplicador de dimensões
DEFINE COTPRC ival Precisão de cotagem, c/supressão de zeros
DEFINE COTBLO 'nome' Nome do bloco de marca cotagem
DEFINE BIBBLO 'nome' Biblioteca de blocos para bloco de marca
9.6.12. Definição de Bibliotecas
O termo "Biblioteca" no nosso caso designa um conjunto organizado de arquivos com
determinada finalidade. Do ponto de vista prático, o DP permite que arquivos de
subprogramas DPS, blocos de desenho e inclusões DP sejam separados em pastas,
onde possam ser organizados e documentados sem interferir fisicamente com as pas-
tas onde o projetista realiza seus projetos.
Quando em um processamento, um arquivo é referenciado, o DP pesquisa a localiza-
ção do arquivo nas várias bibliotecas declaradas. Por default, o arquivo INSTAL.DP
localizado na pasta %_SUPORTE\DP tem a declaração da localização da biblioteca
DPS (%_SUPORTE\DP\DPS) e da biblioteca de blocos
(%_SUPORTE\BLOCOS\GERAIS).
Os 3 tipos de biblioteca são definidos pelos comandos:
DEFINE BIBDP 'pasta(s)'
Outros Comandos 109
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
DEFINE BIBBLO 'pasta(s)'
DEFINE BIBINC 'pasta(s)'
que definem respectivamente, as bibliotecas de subprogramas (DPS) e máscaras,
blocos de desenho e inclusões DP. A última definição é sempre armazenada nas vari-
áveis globais _BIBDP, _BIBBLO e _BIBINC.
As pastas declaradas entre apóstrofes devem seguir as convenções do MS-DOS, po-
dendo ser declarado mais de uma, separadas por ponto e vírgula, tal como:
DEFINE BIBDP '\DP\PROG;\DP\PROG\PONTES'
O modo mais prático de utilizar estes comandos é declarando as pastas de bibliotecas
no arquivo de critérios, %_SUPORTE\DP\INSTAL.DP. Assim, as definições serão
conhecidas automaticamente em todos os processamentos de programas DP.
9.6.13. DEFINE SEMENTE 'nome'
Conforme comentamos no capítulo 4.16. Semente de desenho, arquivos de desenho
gerados pelo programa tem sempre como ponto de partida o chamado arquivo semen-
te de desenho. Este arquivo tem pré-definido níveis de desenho a serem usados, cores,
etc, sendo sobrepostos pelos definidos pelo Sistema / Subsistema. Por default, a se-
mente de desenho é o arquivo %_SUPORTE\NGE\SEED.DWG. Havendo necessida-
de de mudar a semente, pode-se usar o comando acima, onde 'nome' é o nome da
semente, conforme as convenções do MS-DOS, mas sem o tipo ".DWG".
A definição de semente deve ser feita sempre antes do comando DESENHO. A variá-
vel global _SEMENTE contém o nome da última semente definida.
9.7. DOS 'comando'
O comando DOS aciona um comando do MS-DOS entre apóstrofes. Por exemplo,
suponha que o arquivo PRJ-0000.ING deva se copiado do pasta \DP\EXEC caso não
exista na pasta atual:
DOS 'IF NOT EXIST DESARM.DAT COPY \TQSW\SUPORTE\NGE\DESARM.DAT'
Este é um tipo de controle que pode ser feito pelo próprio subprograma. Outro exem-
plo: Apagar os arquivos FOR1000.DWG, FOR1001.DWG, ... até o FOR1010.DWG:
REPETE I = 1000 A 1010
DOS 'DEL FOR%I.DWG'
FIM
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
110
10. Digitação de dados de desenho A codificação de arquivos .DP com dados de desenho e comandos para a chamada de
um subprograma não precisa ser feita manualmente. O projetista tem a opção “Edi-
tar” “Desenho paramétrico” “Criar novo arquivo DP” no menu do gerenciador,
que extrai os parâmetros de um subprograma de desenho paramétrico, monta telas de
digitação baseadas nestes parâmetros e grava o arquivo .DP para geração do desenho.
10.1. Operação
O programa é chamado pelo menu do gerenciador:
O primeiro quadro pede pelo nome do arquivo .DP com dados, o programa DPS que
pode ser escolhido na janela da direita e o número de projeto para agrupamento de
desenhos.
Para evitar confusões, o desenho gerado tem sempre o mesmo nome do arquivo .DP.
Vamos tomar como exemplo o subprograma SAPFOR.DPS, mostrado no capítulo
6.2.6:
Digitação de dados de desenho 111
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
O CAD/AGC&DP abre então o subprograma SAPFOR.DPS e extrai os seus parâme-
tros. A seguir aparece o quadro de digitação:
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
112
O resultado da digitação acima é o arquivo EXEMPLO.DP:
$------------------------------------------------------------------------------
$ Dados de programa DP - 02/08/2000 - 11:34:02
$ T Q S CAD / AGC & DP V8.1
$
$ T Q S INFORMATICA LTDA
$ USO EXCLUSIVO EM DEMONSTRACAO
$
$ Arquivo______ EXEMPLO.DP
$ Pasta________ C:\TQS\TESTEPLA\GERAIS
$ Programa_____ SAPFOR.DPS
$------------------------------------------------------------------------------
$
PROJETO 7003
DESENHO 'EXEMPLO'
DP 'SAPFOR' .000, .000 ANG .000000 (
A TITULO = 'S1' $ Titulo
N B1 = 120 $ Comprimento da Sapata (cm)
N H1 = 60 $ Largura da Sapata (cm)
N B2 = 40 $ Comprimento do Pilar (cm)
N H2 = 20 $ Largura do Pilar (cm)
N GRAV = 5 $ Gravata (cm)
N ESCALA = 50 $ Escala 1:x
)
FIM
FIM
que poderá ser processado:
e visualizado pelo editor gráfico, selecionando o desenho EXEMPLO.DWG na tercei-
ra janela do gerenciador:
Digitação de dados de desenho 113
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
10.2. Tela de entrada de dados
A tela de entrada de dados do programa de digitação é extraída da seção de parâme-
tros do subprograma DPS. O subprograma SAPFOR.DPS tem a seção de parâmetros:
$
$ SAPFOR.DPS Forma de concreto para sapatas
$
PARAMETROS
A TITULO COM 'Titulo'
N B1 COM 'Comprimento da Sapata (cm)'
N H1 COM 'Largura da Sapata (cm)'
N B2 COM 'Comprimento do Pilar (cm)'
N H2 COM 'Largura do Pilar (cm)'
N GRAV = 5 COM 'Gravata (cm)'
N ESCALA = 50 COM 'Escala 1:x'
FIM
Note na seção de parâmetros:
Os textos colocados após a palavra COM são os que vão para a tela de digita-
ção;
Os valores default das variáveis GRAV e ESCALA também são default para o
programa de digitação.
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
114
Apêndice A. Resumo da linguagem Mostraremos aqui todos os comandos disponíveis no DP, de acordo com as conven-
ções já mostradas no manual. As linhas precedidas por $ são comentários.
$
$ Operadores aritméticos e lógicos
$
+ Mais
- Menos
* Vezes
/ Dividido
** Elevado
( Parênteses esquerdo
) Parênteses direito
= igual a
<> ou != diferente de
> maior que
>= maior que ou igual a
< menor que
<= menor que ou igual a
E E lógico
OU Ou lógico
NAO Não lógico
$
$ Definição de ângulos em graus, minutos e segundos
$
graus ^ minutos segundos
$
$ Valores alfanuméricos
$
'texto'
$
$ Funções
$
SEN (x) Seno de um ângulo em graus
COS (x) Coseno
TAN (x) Tangente
ASEN (x) Arco em graus cujo seno vale x
ACOS (x) Arcoseno
ATAN (x) Arctangente
RAIZ (x) Raiz quadrada de um número
FIX (x) Parte inteira de um número
FRAC (x) Parte fracionária de um número
ABS (x) Valor positivo de um número
LEN ('tex') Comprimento de um alfanumérico
Digitação de dados de desenho 115
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
CMP ('tx1','tx2') Comparação de 2 alfanuméricos. Retorna
(0) se forem iguais, (1) se diferentes
LEFT ('tex', nc) nc caracteres a esquerda de 'tex'
RIGH ('tex', nc) nc caracteres a direita de 'tex'
MID ('tex', i, nc) nc caracteres de 'tex' a partir de i
POS ('tx1','tx2') Posição de 'tx2' dentro de 'tx1'. Re-
torna (0) se não estiver em 'tx1'
$
$ Definição de coordenadas
$
x,y coordenadas x,y
d<ang coordenadas polares distância/ângulo
nno coordenadas iguais às do nó nno
nno @ x,y coordenadas do nó nno mais deslocamento x,y
nno @ d<ang coordenadas do nó nno mais distância/ângulo
'eixo' coordenadas da intersecção de eixos
'eixo' @ x,y intersecção de eixos mais deslocamento x,y
'eixo' @ d<ang intersecção de eixos mais distância/ângulo
$
$ Construção geométrica de nós:
$ a - Por coordenadas
$ b - Offset com valor em relação a 2 pontos
$ c - Intersecção de duas retas
$ d - Projeção de um ponto sobre uma reta
$
nno coord
OFFSET valor coord1 coord2
INTERSECCAO linha1 linha1
PROJECAO coord1 coord2 coord3
$
$ onde "linha" pode ser:
$
$ coord1 coord2
$ coord ANG angulo
$
$ Operadores geométricos com nós
$
DIS nno1 nno2 Distância entre 2 nós
DX nno1 nno2 Delta X entre 2 nós
DY nno1 nno2 Delta Y entre 2 nós
X nno X de um nó
Y nno Y de um nó
DIR nno1 nno2 Direção de 2 nós
$
$ Sistema local de coordenadas
$
ORIGEM [coord] [ANGULO angulo]
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
116
$
$ Geração de nós em linha
$
nno coord [ A nno2 [ PASSO num ] coord2 ]
$
$ Geração de nós em malha
$
nno1 A nno2 [PASSO num] [ANG angulo]
$
$ Lista de coordenadas
$
coord1; coord2; coord3; ...
coord1 @ coord2 @ coord3 ...
$
$ Elementos gráficos básicos
$
POLIGONAL lista-de-coord [NVD nivel] [[OFFSET valor][NVD nivel]]
LINHA lista-de-coord [NVD nivel] [[OFFSET valor][NVD nivel]]
CURVA lista-de-coord [NVD nivel] [[OFFSET valor][NVD nivel]]
CIRCULO [ C coord ] -
[ R valor ] -
[ DIAM valor ] -
[ PI coord ] -
[ PF coord ] -
[ PM coord ] -
[ NVD nivel ] [OFFSET valor [NVD nivel]]
ARCO [ C coord ] -
[ R valor ] -
[ CORDA valor ] -
[ PI coord ] -
[ PF coord ] -
[ PM coord ] -
[ ANA angulo ] -
[ ANI angulo ] -
[ ANF angulo ] -
[ DIR angulo ] -
[ NVD nivel ] [OFFSET valor [NVD nivel]]
TEXTO coord [HTEX valor] 'texto' [NLIN num] -
[NVD nivel] -
[ANG angulo]
TFERRO coord [HTEX valor] 'texto' [NLIN num] -
[NVD nivel] -
[ANG angulo]
Digitação de dados de desenho 117
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
$
$ Blocos de desenho
$
BLOCO 'nome' [coord]
(definição de elementos gráficos do bloco)
....
FBL
INSERE 'nome' lista-de-coordenadas
[ESX val] [ESY val] [ESC val] [ANG ang]
BASE coord
$
$ Mistura de desenhos e Máscaras
$
MISTURA 'nome' [coord]
MASCARA 'nome' [coord]
BASE coord
$
$ Cotagem
$
COTAGEM HOR coor1 [TEXTO 'texto'] coor2 coor3 [lista-de-coord]
VER coor1 [TEXTO 'texto'] coor2 coor3 [lista-de-coord]
ALI coor1 [TEXTO 'texto'] coor2 coor3 [lista-de-coord]
INC ang coor1 [TEXTO 'texto'] coor2 coor3 [lista-de-coord]
CON [lista-de-coord]
$
$ Eixos
$
EIXOS HORIZONTAL ['A'] y1 y2... VERTICAL ['1'] x1 x2 ...
$
$ Definição de variáveis
$ "nome" pode ter até 8 letras e/ou números
$
NUM nome [[=] valor ]
ALF nome [[=] 'texto']
COO nome [[=] coord ]
$
$ Macro-substituição de variáveis
$
$ a - Variáveis precedidas por % são substituidas por seu
$ valor, durante a fase de leitura de linhas.
$ b - Em %A%B, %B é substituido primeiro, alterando %A. Este
$ é o efeito de "Dupla Substituição".
$ c - Dois sinais % seguidos são automaticamente eliminados.
$ d - Em variáveis numéricas, %.5A significa: substituir A
$ com até 5 casas depois da vírgula
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
118
$
$ Escopo de Variáveis
$
$ a - Dentro da seção de DESENHO e dos subprogramas, as
$ variáveis são locais.
$ b - Fora da seção de DESENHO, as variáveis são globais.
$ c - Variáveis locais são conhecidas somente na seção onde
$ foram declaradas. Variáveis globais são conhecidas em
$ qualquer parte do programa.
$ d - Variáveis podem ser explicitamente declaradas nas
$ seções LOCAIS, GLOBAIS e PARAMETROS.
$
GLOBAIS
declarações
FIM
LOCAIS
declarações
FIM
PARAMETROS
declarações
FIM
$
$ Declarações:
$
NUM nome [[=] valor ] [ COM 'texto']
ALF nome [[=] 'texto'] [ COM 'texto']
CÔO nome [[=] coord ] [ COM 'texto']
$
$ Chamada de Subprogramas e inclusões
$
DP 'nome' [ coord ] [ ANG angulo ] (
declaração, declaração, .... )
INCLUI 'nome' [ OPCIONAL ]
$
$ Controle de fluxo de programa
$
SE expressão lógica
.... comandos.....
[ SENAO ]
.... comandos.....
[ SENAO SE expressão lógica]
.... comandos.....
FIM
Digitação de dados de desenho 119
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
REPETE nome [=] valor1 [A] valor2 [PASSO valor]
.... comandos ....
FIM
ENQUANTO expressão lógica
.... comandos ....
FIM
QUEBRA
CONTINUA
SAÍDA
$
$ Definição de parâmetros de controle
$
DEFINE parâmetro [valor] ...
$
$ Parâmetros do comando DEFINE:
$
$Parametro Default Obs
$
IAPLIC N 9 Tipo de aplicação:
(1) Genérico
(2) CAD/Formas
(3) CAD/Lajes
(4) CAD/Fundações
(7) CAD/Vigas
(8) CAD/Pilares
(9) CAD/AGC&DP
(11) CAD/Madeira
(15) CORBAR
(16) CORMAD
(17) CAD/Alvest
ISUBAPLIC N 1 Tipo de subaplicação: veja na página 70.
LISTA Habilita listagens
NLISTA Desabilita listagens
ERROS num 15 Limite de erros (0) = ilimitado
ESCALA valor 50 Fator de escala
TABPLT 'nome' '' Nome da tabela de plotagem
TAMTTX valor 0.24 Tamanho default de texto
TAMTEI valor 0.4 Tamanho do texto de eixos
NÍVEL num 0 Nivel default de desenho
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
120
NIVCOR nivel cor Cor associada a nível
BIBDP 'nome' '.' Pastas de subprogramas
BIBBLO 'nome' '.' Pastas de blocos
BIBINC 'nome' '.' Pastas de inclusão
SEMENTE 'nome' '%SUPORTE\NGE\seed' Semente de desenho
TAMTCO valor 0.22 Tamanho do texto de cotagem
NCOTLCH Cotagem sem linha de chamada
COTLCH Cotagem com linha de chamada
COTEXE val 0.4 Extensão da linha de chamada
COTEXO val 0.4 Gap da linha de chamada
COTTSZ val 0.25 Tamanho da marca da linha de cotagem
COTDLE val 0. Extensão da linha de cotagem
COTNIV ival 221 Nível de cotagem
COTNIC ival -1 Nível da linha de cotagem
COTNIL ival -1 Nível das linhas de chamada
COTMUL val 1.0 Multiplicador de dimensões
COTPRC ival 1 Precisão de cotagem , c/supressão de zeros
COTBLO 'nome' 'TICK' Nome do bloco de marca cotagem
PARDES 'nome' ival Parâmetro numérico para o .PAD
PARDES 'nome' 'texto' Parâmetro alfanumérico para o .PAD
$
$ Controle de projeto
$
PROJETO num
$
$ Mensagens
$
MENSAGEM 'texto'
AVISO 'texto'
ERRO 'texto'
$
$ Listagens de coordenadas e variáveis
$
LISTAR nno1 nno2 nno3 nno4 ....
nno1 A nno2 nno3 A nno4 ...
DISTANCIA nno1 nno2
DRETA nno1 nno2 nno3
NOS
VARIÁVEIS
TUDO
EXPRESSAO valor
$
Digitação de dados de desenho 121
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
$ Acesso ao MS-DOS
$
DOS 'comando'
$
$ Variáveis Globais do Sistema (pré-definidas)
$
$ Nome Tipo Observações
$
_IAPLIC N Tipo de sistema
_ISUBAPLIC N Tipo de subsistema
_ERROS N Numero de erros detectados
_ESCALA N Escala atual
_TAMTTX N Tamanho de texto, comando TEXTO
_TAMTEI N Tamanho de texto para o comando EIXOS
_NIVEL N Nível de desenho atual
_TAMTCO N Tamanho do texto de cotagem
_COTNIV N Nível de cotagem
_COTLCH N Cotagem c/ linha de chamada (0) não (1) sim
_COTMUL N Multiplicador de dimensões de cotagem
_COTBLO A Bloco de cotagem
_COTNIL N Nível da linha de cotagem
_COTNIC N Nível da linha de chamada
_TABPLT A Tabela de plotagem
_DATA A Data do sistema
_HORA A Hora do sistema
_DIRET A Pasta atual de trabalho
_BIBDP A Biblioteca de subprogramas DPS
_BIBBLO A Biblioteca de blocos
_BIBINC A Biblioteca de arquivos de inclusão
_SEMENTE A Semente de desenho
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
122
Apêndice B. Documentação de programas Fazer programas não é o suficiente para que sejam usados. Para que um projetista
possa se decidir pela utilização de programas DP desenvolvidos dentro de um escritó-
rio de projeto, é desejável que:
Exista uma documentação, por tipo de aplicação, mostrando quais os dese-
nhos paramétricos que podem ser produzidos;
Para cada desenho paramétrico, sejam documentados os parâmetros que de-
vem ser definidos;
A documentação permita ao projetista adaptar o desenho paramétrico a no-
vos casos se necessário.
Neste capítulo sugerimos alguns procedimentos de documentação para facilitar o uso
dos programas DP.
B.1. Organização por bibliotecas
Deve-se dividir os programas por tipo de aplicação; cada aplicação consistirá numa
biblioteca. Por exemplo, em um escritório de cálculo estrutural poderão existir biblio-
tecas separadas para desenhos de armação de edifícios, pontes, túneis, etc. Cada bibli-
oteca deverá ter documentação própria.
A distribuição física dos programas DP no computador também deverá ser separada;
os programas de cada biblioteca devem estar em pastas separados, que podem ser
declarados através de DEFines no arquivo de critérios
%_SUPORTE\DP\INSTAL.DP.
B.2. Documentação de uma biblioteca
Cada biblioteca é composta por um ou mais desenhos paramétricos, cada um com
documentação independente. Descreveremos cada item que pode entrar na documen-
tação de um desenho.
B.2.1. Exemplo processado
Um exemplo processado e plotado na impressora é o primeiro elemento que o proje-
tista deve analisar para saber se o desenho serve ou não.
Digitação de dados de desenho 123
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
B.2.2. Parâmetros anotados no desenho
O mesmo desenho plotado inicialmente deve ser replotado com anotações dos parâ-
metros que definem o desenho. O projetista deve concluir a partir dai se o desenho é
adaptável no seu caso, ou se poderá ser usado até certo ponto para uma edição poste-
rior pelo editor gráfico.
B.2.3. Descrição de parâmetros e nome do programa
A descrição dos parâmetros, na mesma ordem em que são digitados possibilita ao
projetista confeccionar planilhas de codificação, que poderá preencher longe do com-
putador.
O nome do arquivo de desenho é o mesmo do programa DP de digitação: a partir do
nome é que os parâmetros são carregados na memória e o arquivo .DP é gerado para
processamento.
B.2.4. Níveis de Desenho
Mostrar a convenção de níveis usados pelo desenho quando for importante, e como os
níveis são usados em termos de:
Cores no editor gráfico;
Penas, espessuras, estilos de linhas e hachuras no caso de uso de tabela de
plotagem;
Convenções em desenhos de armação;
Outras convenções.
B.2.5. Modo de Operação
O desenho gerado pelo programa está completo ou precisa ser editado pelo EAG? O
que falta editar? Cotagens, títulos, anotações, etc talvez precisem ser colocados intera-
tivamente. A documentação deve mostrar até que ponto o desenho é gerado.
Os desenhos de armação poderão exigir também a presença do arquivo de critérios
DESARM.DAT na pasta atual, com as bitolas de projeto atualizadas. A documenta-
ção deverá citar o arquivo e dar uma idéia geral sobre as armaduras que podem ser
alteradas ou colocadas no desenho.
B.2.6. Utilização de Escalas
O desenho só pode ser feito numa escala ou qualquer escala é permitida? Deve-se
mostrar quais são os limites para variação da escala de desenho, se existirem.
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
124
B.2.7. Blocos Parametrizados
Muitas vezes um desenho paramétrico usa blocos de desenho que podem ser definidos
pelo próprio projetista. Quando isto acontece, deve-se plotar na impressora um exem-
plo de cada bloco que pode ser definido. Em cada bloco, deve-se mostrar claramente:
Dimensões usadas. Alguns blocos são feitos em escala real, outros são esca-
lados pelo subprograma que os inseriu.
Qual é o ponto base para inserção do bloco. Esta informação é fundamental
para o correto posicionamento do bloco no desenho.
Em que pasta deve ser criado o desenho do bloco. Se o bloco for criado na
pasta atual, será usado apenas neste projeto; se for criado na pasta da biblio-
teca de blocos poderá ser usado em outros projetos.
Se o projetista criar um bloco que puder ser usado em outros projetos, então será
importante que documente o bloco criado e anexe na documentação do desenho pa-
ramétrico que usa o bloco.
B.2.8. Geração de Plantas
Alguns tipos de desenhos são gerados com tamanhos exatos para alinhamento dentro
de uma planta (como por exemplo a moldura de um desenho ou o carimbo). A docu-
mentação deve explicar como agir com estes desenhos dentro do Editor de Plantas.
B.2.9. Outras Normas e Procedimentos
Se o tipo de desenho gerado for muito repetitivo, então pode ser interessante fixar na
própria documentação, normas para a atribuição de nomes aos desenhos e organiza-
ção de pastas em disco. Isto ajudará o projetista a se organizar, evitando que perca
tempo descobrindo aonde foram parar os desenhos que gerou.
B.3. Exemplo Simples
Nas páginas seguintes mostramos um exemplo de documentação de um programa
para o desenho de sapatas de concreto armado.
Digitação de dados de desenho 125
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
SAPATA.DPS
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
126
PARÂMETROS DA SAPATA
Descrição dos parâmetros de desenho SAPATA
Título da sapata
Escala 1:x
Multiplicador do numero de sapatas
Comprimento X (cm)
Largura Y (cm)
Comprimento X do pilar (cm)
Largura Y do pilar (cm)
Tamanho da gravata (cm)
Altura 1 (cm)
Altura 2 (cm)
Bitola na direção X (mm)
Espacamento na direção X (cm)
Bitola na direção Y (mm)
Espacamento na direção Y (cm)
Recobrimento (cm)
Digitação de dados de desenho 127
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
Modo de Operação
O programa SAPATA gera um desenho de sapata retangular de concreto armado
sujeita apenas à carga centrada. O desenho sai completo, incluindo armaduras e cota-
gens.
A alteração e a colocação de novas armaduras devem ser feitas com o editor gráfico
de armação, se necessário. O desenho de armaduras segue as convenções dos sistemas
CAD/TQS.
Para maior facilidade, o nome do desenho da sapata deve coincidir com o nome do
arquivo DWG gerado. Uma sapata por arquivo DP deverá facilitar a correção de pa-
râmetros se necessário.
O arquivo DESARM.DAT contém as bitolas usadas no desenho de sapatas, e é neces-
sário para que a tabela de ferros possa ser extraída. O desenho de sapatas pode ser
feito em qualquer escala.
Para mais detalhes sobre o arquivo DESARM.DAT veja no manual CAD/AGC&DP
Manual de Critérios de Projeto.
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
128
Apêndice C. Codificação de programas DP Em um ambiente de projeto, onde novos programas de desenho são desenvolvidos
diariamente por um ou mais projetistas, a falta de organização pode levar uma perda
de tempo excessiva na codificação e teste dos programas. A perda é maior ainda
quando há a necessidade de se alterar programas DP prontos ou adaptar um programa
DP para desenhos ligeiramente diferentes.
Para aumentar a organização dos programas DP desenvolvidos, é desejável que:
Os programas sejam codificados de uma forma legível;
Que tenham uma documentação que descreva as variáveis utilizadas (inclu-
indo nós);
Que tenham uma estrutura simples;
Que tenham uma documentação dos blocos usados e como gera-los, quando
for o caso.
O tempo adicional gasto para organizar programas DP é rapidamente recuperado
quando é preciso corrigir / alterar programas prontos. Sugerimos neste capítulo alguns
procedimentos de codificação e documentação de programas.
C.1. Tornando um programa legível
Compare os 2 trechos de programa listados a seguir e decida qual é mais fácil de ler:
PROGRAMA 1
DES'TMP'
INC'NOS'
34 31@0,-%GRAVATA
35 32@0,%GRAVATA
36 X34+(%ALT2-%ALT1),Y2
37 36@%ALT1,0
38 X37,Y3
39 X36,Y38
POL 36 37 38 39 36
POL 36 34 31
POL 39 35 32
FIM
Digitação de dados de desenho 129
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
PROGRAMA 2
DESENHO 'TMP'
INCLUI 'NOS'
34 31 @ 0, -%GRAVATA
35 32 @ 0, %GRAVATA
36 X34 + (%ALT2 - %ALT1), Y2
37 36 @ %ALT1, 0
38 X37, Y3
39 X36, Y38
POL 36 37 38 39 36
POL 36 34 31
POL 39 35 32
FIM
Ambos programas são válidos e equivalentes; o segundo programa é mais legível. O
DP permite o uso livre de espaços e linhas em branco, assim como o uso do caractere
de tabulação (rotulado no teclado como Tab ou duas flechas contrapostas). Para dei-
xar mais claro o programa:
Separamos definições diferentes (tais como nós e poligonais) por linhas em
branco;
Tabulamos os dados, deixando alinhados números de nós, coordenadas X, Y,
etc.
C.2. Identamento de comandos
Chama-se de "Identamento" ao deslocamento que se faz nos comandos para o lado
direito da linha, com o objetivo de diferenciar a seção de programa a que pertence
cada comando. O exemplo abaixo mostra um programa sem identamento e um com:
Sem identamento:
DESENHO 'TMP'
INCLUI 'NOS'
REPETE I = 1 A 10
NUM J = %I + 1
SE %J = 11
NUM J = 1
FIM
NUM K = %J + 1
SE %K = 11
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
130
NUM K = 1
FIM
POLIGONAL %I %J %K
FIM
FIM
Com identamento:
DESENHO 'TMP'
INCLUI 'NOS'
REPETE I = 1 A 10
NUM J = %I + 1
SE %J = 11
NUM J = 1
FIM
NUM K = %J + 1
SE %K = 11
NUM K = 1
FIM
POLIGONAL %I %J %K
FIM
FIM
Neste exemplo, o comando REPETE controla um certo número de outros comandos.
No programa sem identamento não ficam claros quais são os comandos controlados
pelo REPETE (além disto, fica fácil esquecer de colocar um FIM no lugar certo). No
segundo programa identou-se:
Um nível para todos os comandos dentro da seção DESENHO;
Um nível para todos os comandos controlados pelo REPETE;
Um nível para os comandos controlados pelo SE.
Note que os níveis de identamento são acumulativos.
C.3. Comentários
Programas DP são altamente simbólicos, e um comando como:
POL 10 11 12 13 10
Digitação de dados de desenho 131
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
não representa nada para quem lê, além de uma poligonal que pode estar em qualquer
parte do desenho. Comentários devem ser livremente usados ao longo do programa
para mostrar o que o programa está fazendo. Por exemplo:
$
$ Contorno da vista em planta
$
POL 10 11 12 13 10 $ retangulo projetado
C.4. Variáveis Usadas
São 2 os tipos de variáveis usadas em um subprograma: os parâmetros e as outras
variáveis locais.
C.4.1. Documentação de Parâmetros
Praticamente não há meio de não documentar os parâmetros usados em um subpro-
grama. Existe uma palavra chave especial, COMENTÁRIO, que serve para descrever
um parâmetro. O gerador de programas DP procura esta descrição e usa para o proje-
tista digitar os parâmetros; sem a descrição a digitação de dados fica difícil.
C.4.2. Documentação de variáveis locais
As variáveis locais também podem ser divididas em duas categorias principais: os nós
e as demais variáveis.
A única documentação razoável para nós é gráfica; o melhor é plotar um exemplo do
desenho paramétrico e anotar a posição dos nós no desenho. Os parâmetros e outras
variáveis também podem ser marcados sobre o desenho.
No caso das variáveis locais criadas dentro do subprograma, o melhor é abrir uma
seção LOCAIS e declarar cada variável, comentando do lado. Por exemplo:
LOCAIS
N NBFLEX $ número de barras de flexão
N BITFLEX $ bitola de flexão
N NBCIS $ número de barras de cisalhamento
N BITCIS $ bitolas de cisalhamento
FIM
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
132
C.5. Independência de Escala
Desenhos por computador seriam sempre independentes da escala usada se não exis-
tissem textos no desenho. Como isto normalmente não acontece, torna-se necessário
levar em consideração a escala quando se faz um programa.
O DP mantém um fator de escala atual do desenho (cujo default é 50), e multiplica os
tamanhos de textos por esta escala. Para quem programa isto facilita, pois o texto
sairá sempre proporcional a escala de desenho, para um único tamanho definido, em
centímetros de plotagem.
No entanto, apenas os tamanhos de texto são multiplicados automaticamente. Como
fazer para colocar um determinado nó 5 cm a direita do outro, na escala do papel? A
solução seria multiplicar 5 pela escala atual, tal como em:
2 1 @ 5*%_ESCALA, 0
TEXTO 1 @ 0, -1.5*%HTEX*%_ESCALA 'TEXTO'
Para facilitar o projetista, a escala de desenho, quando variável, deve ser parâmetro de
entrada do subprograma. Por exemplo:
PARAMETROS
...
N ESCALA = %_ESCALA COM 'Escala 1:x'
FIM
DEFINE ESCALA %ESCALA
A escala foi declarada como parâmetro, e o seu valor default é o mesmo da escala
atual do DP, normalmente 1:50. Logo no começo do programa nós reatribuimos o
valor da escala do DP, com o comando DEFINE ESCALA.
C.6. Documentação de Programas de Biblioteca
Assim como existe uma pasta de documentação de desenhos paramétricos para o
projetista, deve existir uma de documentação de programas, especialmente para os
projetistas-programadores. Esta pasta deve incluir um exemplo de um desenho pro-
cessado, um mapa dos nós sobre o desenho e a listagem, codificada como sugerimos.
Não há necessidade de documentação complementar quando o programa já é suficien-
temente documentado internamente. Nas páginas a seguir nós vemos o exemplo de
uma documentação deste tipo.
Digitação de dados de desenho 133
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
Subprograma SAPATA.DPS
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
134
Documentação de NÓS
Listagem do SAPATA.DPS
$
$ Sapatas - todas as medidas em cm
$
PARÂMETROS
A TITULO COM 'Titulo da sapata'
N ESCALA = %_ESCALA COM 'Escala 1:x'
Digitação de dados de desenho 135
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
N MULTI = 1 COM 'Multiplicador do numero de sapatas'
N COMPRIM COM 'Comprimento X (cm)'
N LARGURA COM 'Largura Y (cm)'
N COMPIL COM 'Comprimento X do pilar (cm)'
N LARPIL COM 'Largura Y do pilar (cm)'
N GRAVATA COM 'Tamanho da gravata (cm)'
N ALT1 COM 'Altura 1 (cm)'
N ALT2 COM 'Altura 2 (cm)'
N BITX COM 'Bitola na direcao X (mm)'
N ESPX COM 'Espacamento na direcao X (cm)'
N BITY COM 'Bitola na direcao Y (mm)'
N ESPY COM 'Espacamento na direcao Y (cm)'
N DOBRA COM 'Comprimento da dobra (cm)'
N RECOBR = 1.5 COM 'Recobrimento (cm)'
FIM
$
$ Define tamanho de texto e escala de desenho
$
DEFINE TAMTTX 0.22
DEFINE ESCALA %ESCALA
LOCAIS
N NBX $ numero de barras, direcao X
N NBY $ numero de barras na direcao Y
N CMPX $ Comprimento do ferro, X
N CMPY $ Comprimento do ferro, Y
N DELTA $ deslocamento do gabarito do ferro
N HTEX = %_TAMTTX*%_ESCALA $ altura de texto de ferros
N HTEX1S = 0.7
N HTEX2S = 0.4
N HTEX1 = %HTEX1S*%_ESCALA $ altura de titulo
N HTEX2 = %HTEX2S*%_ESCALA $ altura de escala
FIM
$
$ Raio de desenho dos ferros, FI 25 para maior efeito
$
N RAIO = 1.25
$
$ Vista em Planta
$
1 0, 0
2 1 @ %COMPRIM, 0
3 2 @ 0, %LARGURA
4 X1, Y3
POL 1 2 3 4 1
5 1 @ (%COMPRIM - (%COMPIL + (2*%GRAVATA)))/2, -
(%LARGURA - (%LARPIL + (2*%GRAVATA)))/2
6 5 @ %COMPIL + (2*%GRAVATA), 0
7 6 @ 0, %LARPIL + (2*%GRAVATA)
8 X5, Y7
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
136
POL 5 6 7 8 5
SE %ALT2 <> %ALT1
POL 1 5
POL 2 6
POL 3 7
POL 4 8
FIM
9 5 @ %GRAVATA, %GRAVATA
10 6 @ -%GRAVATA, %GRAVATA
11 7 @ -%GRAVATA, -%GRAVATA
12 8 @ %GRAVATA, -%GRAVATA
POL 9 10 11 12 9
$
$ Projecao X
$
19 X9, Y1 - (1.5*%_ESCALA)
18 19 @ %COMPIL, 0
17 18 @ 0, -1.2*%_ESCALA
20 X19, Y17
POL 20 17 18 19 20
16 X1, Y20 - (%ALT2 - %ALT1)
13 16 @ 0, -%ALT1
14 X2, Y13
15 X14, Y16
22 20 @ -%GRAVATA, 0
21 17 @ %GRAVATA, 0
POL 13 14 15 16 13
POL 16 22 20
POL 15 21 17
23 13 @ %RECOBR, %RECOBR
24 23 @ 0, %DOBRA
25 14 @ -%RECOBR, %RECOBR
26 25 @ 0, %DOBRA
POL 24 23 25 26
N DELTA = %RECOBR + (0.5 * %_ESCALA) + %DOBRA
23 23 @ 0, -%DELTA
24 24 @ 0, -%DELTA
25 25 @ 0, -%DELTA
26 26 @ 0, -%DELTA
POL 24 23 25 26
N CMPX = %COMPRIM - (2*%RECOBR) + (2*%DOBRA)
N NBX = FIX ((%LARGURA - (2*%RECOBR))/ %ESPX) + 1
TEXTO (X23+X25)/2, Y23 - (1.5*%HTEX) NVD 1 CENTRADO -
'%NBX P1 { %BITX C/%ESPX C=%.0CMPX'
N CMPX = %CMPX - (2*%DOBRA)
TEXTO (X23+X25)/2, Y23 + (0.5*%HTEX) CENTRADO '%.0CMPX'
TEXTO 23 @ -(0.5*%HTEX), %HTEX ANG 90 NVD 1 'E%DOBRA'
TEXTO 25 @ (1.5*%HTEX), %HTEX ANG 90 NVD 1 'D%DOBRA'
$
$ Projecao Y
$
Digitação de dados de desenho 137
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
30 X2 + (1.5*%_ESCALA), Y10
31 30 @ (1.2*%_ESCALA), 0
32 X31, Y11
33 X30, Y32
POL 30 31 32 33 30
34 31 @ 0, -%GRAVATA
35 32 @ 0, %GRAVATA
36 X34 + (%ALT2 - %ALT1), Y2
37 36 @ %ALT1, 0
38 X37, Y3
39 X36, Y38
POL 36 37 38 39 36
POL 36 34 31
POL 39 35 32
41 37 @ -%RECOBR-(2*%RAIO), %RECOBR
40 41 @ -%DOBRA, 0
42 38 @ -%RECOBR-(2*%RAIO), -%RECOBR
43 X40, Y42
POL 40 41 42 43
N DELTA = %RECOBR + (0.5 * %_ESCALA) + %DOBRA
40 40 @ %DELTA, 0
41 41 @ %DELTA, 0
42 42 @ %DELTA, 0
43 43 @ %DELTA, 0
POL 40 41 42 43
N CMPY = %LARGURA - (2*%RECOBR) + (2*%DOBRA)
N NBY = FIX ((%COMPRIM -(2*%RECOBR))/ %ESPY) + 1
TEXTO X41 + (1.5*%HTEX), (Y41+Y42)/2 NVD 2 CENTRADO ANG 90 -
'%NBY P2 { %BITY C/%ESPY C=%.0CMPY'
N CMPY = %CMPY - (2*%DOBRA)
TEXTO X41 - (0.5*%HTEX), (Y41+Y42)/2 CENTRADO ANG 90 -
'%.0CMPY'
TEXTO 40 @ 0, -1.5*%HTEX NVD 2 'E%DOBRA'
TEXTO 43 @ 0, 0.5*%HTEX NVD 2 'D%DOBRA'
$
$ Titulo da sapata, escala, multiplicador
$
100 4 @ 0, 4*%_ESCALA
TEXTO 100 HTEX %HTEX1S NVD 222 -
'%TITULO'
SE ( %MULTI > 1)
101 100 @ (LEN ('%TITULO')+1)*%HTEX1, 0
TEXTO 101 HTEX %HTEX2S NVD 202 '%MULTI'
TEXTO 101 @2*%HTEX2,0 HTEX %HTEX2S 'x'
FIM
102 100 @ 0, -1.5*%HTEX2
TEXTO 102 HTEX %HTEX2S '(Esc 1:%_ESCALA)'
$
$ Cotagens - nivel 221 para nao interferir com a extracao de ferros
$
DEFINE COTNIV 221
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
138
COT VER 1 4 1 @-1.6 *%_ESCALA,0
COT VER 1 X1, Y5 1 @-0.8 *%_ESCALA,0
COT COM X1, Y8 4
COT HOR 4 3 4 @0, 1.6*%_ESCALA
COT HOR 4 X8, Y4 4 @0, 0.8*%_ESCALA
COT COM X7, Y4 X3, Y4
COT HOR 19 18 19 @0, 0.8*%_ESCALA
COT VER 30 33 30 @-0.8 *%_ESCALA,0
SE %ALT1 <> %ALT2
COT VER 14 15 14 @0.8 *%_ESCALA,0
FIM
COT VER 14 X15, Y17 14 @1.6 *%_ESCALA,0
COT HOR 20 22 20 @0, 0.8*%_ESCALA
COT HOR 17 21 17 @0, 0.8*%_ESCALA
103 (X13+X14)/2, Y13
104 103 @ 0, %RECOBR
COT VER 103 104 103
$
$ Ferros nas secoes transversais - chamamos o DP DISTFER
$
23 13 @ %RECOBR , %RECOBR + %RAIO
25 14 @ -%RECOBR , %RECOBR + %RAIO
DP 'DISTFER' (C 1=23 C 2=25 N NELEM = %NBY N RAIO = %RAIO)
41 37 @ -%RECOBR - %RAIO, %RECOBR
42 38 @ -%RECOBR - %RAIO, -%RECOBR
DP 'DISTFER' (C 1=41 C 2=42 N NELEM = %NBX N RAIO = %RAIO)
FIM
Listagem do DISTFER.DPS $
$ DISTFER.DPS Desenho de ferros distribuidos entre 2 pontos
$
PARAMETROS
C 1 $ Coordenadas do primeiro ponto
C 2 $ Coordenadas do segundo ponto
N NELEM $ Numero de elementos inseridos
A ELEM = 'FERCOR' $ Nome do bloco unitario inserido
N RAIO $ Raio de desenho
FIM
LOCAIS
N DNO $ Distancia entre os nos
N VX $ Versores da reta
N VY $
N I $ contador
FIM
N DNO DIST 1 2 $ dist 1-2
N VX (X2 - X1) / %DNO $ versor X da reta
Digitação de dados de desenho 139
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
N VY (Y2 - Y1) / %DNO $ versor Y da reta
1 1 @ %VX * %RAIO, %VY * %RAIO $ 1 no centro do elem
2 2 @ -%VX * %RAIO, -%VY * %RAIO $ 2 no centro do elem
N VX (X2 - X1) / (%NELEM - 1) $ VX agora e' o incr
N VY (Y2 - Y1) / (%NELEM - 1) $ VY idem
REPETE I = 1 A %NELEM
INSERE '%ELEM' 1 ESC %RAIO
1 1 @ %VX, %VY
FIM
FIM
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
140
Apêndice D. Compatibilidade com os CAD/TQS Discutiremos os seguintes itens de compatibilidade:
Linguagem de locação geométrica e desenho, compatível com o
CAD/Formas;
Plotagem, edição de plantas, plotagem em plotter e impressora;
Geração de desenhos de armação de concreto;
D.1. DP e a LDF
A compatibilidade de linguagem geométrica entre o DP e o CAD/Formas permite que
elementos especiais de desenho sejam lançados sobre uma planta de formas. Especifi-
camente, são compatíveis:
Locação de nós e definição de coordenadas;
Desenho de elementos não estruturais: linhas, textos, blocos, etc, declarados
na seção de GEOMETRIA do CAD/Formas
Para mostrar um exemplo de aplicação, suponha que o subprograma ESCADA.DPS
gere uma escada, cuja base (0,0) deva coincidir com o nó 100 da planta de formas do
projeto 2000, já processado. Vamos inserir esta escada usando o DP:
PROJETO 2000
DESENHO 'FOR2000'
MISTURA 'FOR2000'
INCLUI '2000N.LDF'
DP 'ESCADA' 100 ( ....parâmetros.... )
FIM
Neste exemplo:
Declaramos o projeto 2000;
Abrimos para gravação o desenho FOR2000, que na verdade já existe, gera-
do pelo CAD/Formas;
Carregamos o desenho das formas do projeto 2000 na memória através do
comando MISTURA;
INCluímos o arquivo 2000N.LDF com a construção geométrica dos nós do
projeto 2000;
Digitação de dados de desenho 141
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
Finalmente, executamos o subprograma para desenho da escada, fornecendo
como ponto de inserção o nó 100, definido dentro do arquivo 2000N.LDF.
Como resultado, o desenho da planta de formas será completado com a esca-
da.
D.2. Plotagem
Dentro do CAD/TQS, desenhos gerados pelo DP podem ser editados graficamente,
plotados na impressora e plotter e ter o layout de plotagem preparado pelo editor de
plantas.
D.2.1. Sistema e Subsistema
Para cada desenho com um nome na forma "nome.DWG" gerado pelo DP, existem
propriedades que estão gravadas dentro do arquivo de desenho. Estas propriedades
são:
Sistema: indica a qual sistema o desenho pertence. Ex: CAD/Formas,
CAD/Pilar, etc.
Subsistema: Para cada Sistema, temos vários Subsistemas onde podemos in-
dicar a utilização do desenho. Ex: o desenho de Plantas de Formas é um sub-
sistema do CAD/Formas.
Tabela de plotagem: nesta propriedade temos duas opções:
o Tabela de plotagem padrão: para cada par Sistema / Subsistema,
temos uma tabela de plotagem default.
o Tabela de plotagem não padrão: se quisermos, por algum motivo,
plotar um desenho com uma tabela diferente da tabela padrão, po-
demos defini-la neste campo.
Fato de escala: é o valor que divide todas as medidas do desenho.
Multiplicador de dimensões: é o valor que multiplica as dimensões quando
vamos medir algum elemento.
O para Sistema / Subsistema além de definir a tabela de plotagem padrão define tam-
bém o menu default no editor gráfico e as cores e níveis padrão quando vamos criar
um novo desenho.
Conforme o tipo de Subsistema, certos procedimentos serão adotados durante a plota-
gem. Atualmente os desenhos de armação de concreto sofrem pequenas alterações
durante a plotagem.
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
142
D.2.2. Edição de plantas
O número de Sistema e Subsistema definido no DP é utilizado pelo Editor de Plantas.
O editor de plantas pode selecionar os desenhos por sistema através das opções de
seleção de desenhos do editor.
A melhor forma de organizar desenhos gerados pelo DP para leitura no editor de
plantas é através da declaração de projeto. O editor de plantas lê automaticamente
todos os desenhos de um determinado projeto, extraindo a escala do desenho e tabela
de plotagem.
Para maiores informações sobre o Editor de plantas, consulte o manual CAD/TQS
Manual de edição de plantas e plotagem.
D.2.3. Plotagem em impressora
A plotagem em impressora pode ser feita por desenho, projeto, subprojeto ou por
planta.
Os desenhos podem ser emitidos em escala fixa ou variável. Se os desenhos não cou-
berem no papel, o CAD/TQS irá dividir o desenho em vários trechos do tamanho da
área imprimível do papel e fará a impressão de todos eles.
D.2.4. Plotagem de desenhos de armação
Em desenhos de armação de concreto, as seguintes operações são efetuadas durante a
plotagem, para textos entre os níveis 1 e 199:
São eliminados os prefixos GT, GL, D, DD, E, EE, identificadores de gram-
pos e dobras;
São eliminados os sufixos E, C e G, identificadores de armaduras especiais
de flexão e cisalhamento;
Elimina-se ou não a numeração de posições, conforme arquivo de instalação;
Os textos do tipo C=numV são trocados por C=VAR (armaduras de com-
primento variável), e os tipo C=numC para C=COR (ferro corrido);.
Substitue-se, conforme arquivo de critérios, as bitolas de milímetros para va-
lores pré-definidos.
Para que as operações acima sejam possíveis, é necessário que o arquivo
DESARM.DAT de critérios de armação exista na pasta atual, do edifício ou na pasta
de critérios gerais (%_SUPORTE\NGE), com critérios e bitolas de projeto. Este ar-
quivo é documentado no manual CAD/AGC Manual de critérios de projeto.
Digitação de dados de desenho 143
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
D.2.5. Plotagem Inteligente
Plotagem inteligente é um sistema de plotagem com hachuras, espessuras, estilos e
penas de desenhos controlados por uma tabela parametrizada, descrita no manual
"CAD/TQS Manual de edição de plantas e plotagem". A plotagem inteligente
permite diminuir o tamanho do arquivo de desenho e aumentar a velocidade de inte-
ração gráfica, apenas transferindo certas tarefas (tais como hachuras) para a etapa de
plotagem.O DP permite que cada tipo de desenho tenha a sua própria tabela de plota-
gem. Para que isto seja possível, é necessário declarar o Sistema e Subsistema.
Se você definir um Sistema e Subsistema que não tiver uma tabela de plotagem pa-
drão, o sistema usa o default, que é usar pena zero para todos os níveis. Mas, se quiser
utilizar uma tabela de plotagem diferente da padrão, defina nome da tabela através do
DEFINE TABPLT 'nome', onde 'nome' é o nome da tabela, que deve terminar
sempre com o tipo .DAT.
D.3. Geração de desenhos de armação de concreto
Desenhos de armação de concreto seguem uma determinada convenção para que a
tabela de ferros possa ser extraída dentro do editor gráfico e na etapa de edição de
plantas.
Cada um dos sistemas de armação CAD/TQS segue uma convenção parecida, com
pequenas variações de um sistema para outro. O sistema mais abrangente é o editor de
armaduras do CAD/AGC. O Manual do Editor gráfico de Armação Genérica de
Concreto Armado mostra quais as convenções que devem ser seguidas para desenho
de armaduras genéricas, e como o sistema de plotagem trata os desenhos de armação.
Embora o DP possa fazer desenhos de armação, é total responsabilidade do progra-
mador gerar o desenho conforme as convenções de desenhos deste tipo. A figura
seguinte mostra um detalhe típico:
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
144
Os textos que descrevem um ferro podem estar juntos ou separados. Os tex-
tos mais comuns são:
num Número de ferros.
P num Posição. A letra P pode ser redefinida no arquivo de instalação.
{ val Bitola de valor val. O caractere { aparece como "" na tela gráfica e
na plotagem.
C/ val Espaçamento em centímetros.
C= val Comprimento total, em centímetros.
C= val V Comprimento médio de ferro variável (acrescentar a letra V após o
comprimento).
E val Valor val da dobra a esquerda.
EE val Valor val da dobra dupla a esquerda.
D val Valor val da dobra a direita.
DD val Valor val da dobra dupla à direita (OBS: se o ferro tiver somente
uma dobra, ela deverá ser precedida por "EE", mesmo a dobra estando
à direita).
D val A Valor val da dobra A,B,....
Os textos que descrevem um ferro devem estar em um nível de desenho de
número igual ao número da posição do ferro.
Os rótulos que antecedem o valor das dobras a esquerda e a direita (E, EE, D,
DD) são retirados do desenho na plotagem em plotter e impressora. O mesmo
vale para as dobras numeradas DnA, DnB, ...
Quando um comprimento total de ferro é terminado pela letra "V", o ferro
será colocado na tabela com comprimento unitário "Variável".
As posições possíveis de ferros são limitadas entre 1 e 199.
Digitação de dados de desenho 145
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
A linha do ferro deve estar no nível 220. É responsabilidade do programador
construir uma tabela de plotagem que plote as linhas deste nível com uma
espessura maior (ou usar a tabela TABPLTA.DAT da pasta
%_SUPORTE\NGE\TABPLT).
As linhas e textos de cotagem estão no nível 221; se forem tracejadas deve-
rão estar no nível 201. A tabela de plotagem deverá prever troca de pena para
o nível 221 (possibilitando a plotagem de cotagens com pena mais fina).
Um número colocado no nível 202 (na forma de texto) multiplica o número
de todos os ferros do desenho.
Um texto colocado no nível 222 será considerado como título do desenho e
aparecerá na tabela de ferros, se existir.
Todos os outros textos e linhas colocados no desenho deverão estar no nível
ZERO.
Textos de ferros, linhas e cotagens são automaticamente colocadas no nível correto
quando criadas através do menu de armaduras do CAD/AGC.
Um exemplo de programa DP que gera desenho de armação é o programa
SAPATA.DPS, mostrado neste manual.
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
146
11. Índice remissivo ângulos, 18, 23
aninhamento, 91
arco, 34
aritiméricas
expressões, 89
arquivo
critérios, 78
DP - organização, 15
arquivos
inclusão, 75
biblioteca, 108
bibliotecas, 77
subprogramas, 87
blocos, 40
criação, 42
externo
base, 44
externos, 43
inserção, 42
CAD/Formas, 2
cadeias de caracteres, 63
caracteres
cadeia, 66
comparação, 66
concatenação, 63
manipulação, 63
nulo, 68
pesquisa de posição, 64
sub-cadeias, 63
círculo, 33
codificação, 6
comando
aninhamento, 96
aviso, 101
continua, 95
define, 104
bibblo, 108
cotblo, 108
cotdle, 108
cotexe, 108
cotexo, 108
cotlch, 108
cotmul, 108
cotnic, 108
cotnil, 108
cotniv, 108
cotprc, 108
cottsz, 108
erros, 105
escala, 105
iaplic, 106
isubaplic, 107
lista, 104
ncotlch, 108
nivcor, 108
nivel, 107
nlista, 104
semente, 109
tabplt, 106
tamtco, 108
tamtei, 107
tamttx, 107
dos, 109
enquanto, 94
erro, 102
listar, 102
distância, 103
ponto a reta, 103
dreta, 103
expressão, 104
nó, 103
tudo, 104
variáveis, 104
mensagem, 101
147
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
projeto, 100
quebra, 94
repete, 92
resumo, 114
saida, 95
se, 88
senao, 90
senão se, 91
concatenação, 63
conceitos e convenções, 4
controle de fluxo, 88
convenções
abreviações, 12
comentário, 13
cópia da linha anterior, 13
descrição da linguagem, 9
entrada de dados, 11
formato de entrada, 11
tamanho da linha, 12
coordenadas, 18, 19, 67
a partir dos eixos, 53
absolutas, 19
dps, 84
relativas, 20
cortes, 40
cotagem, 46
extensão da linha de cotagem, 49
linha de chamada, 49
manual, 48
marca, 51
multiplicador de comprimentos, 50
níveis, 49
precisão, 50
texto, 49
critérios
arquivo, 78
curva, 32
dados
digitação, 110
operação, 110
ordem de entrada, 15
desenho, 30
direções, 9
do DP, 2
grupo, 7
máscaras, 97
mistura, 45
níveis, 30
cores, 30
semente, 53
deslocamentos
nós, 22
digitação
dados, 110
operação, 110
distâncias
nós, 22
documentação de programas, 122
dps, 78
coordenadas, 84
listagem, 87
eixos, 52
exemplo, 54, 72
expressões, 89
expressões aritméticas, 16, 21
função, 17
ângulo, 18
arco, 34
círculo, 33
cmp, 66, 90
cortes, 40
curva, 32
dp, 81
inclui, 75
left, 63
len, 66
linha, 32
mid, 63
offset, 24
poligonal, 31
pos, 64
resumo, 114
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
148
right, 63
se
aninhamento, 91
texto, 37
tferro, 39
trigonométrica, 23
grupo de desenhos, 7
inclusão, 45
inclusões, 75
intersecção, 25
Introdução, 1
linguagem DP
introdução, 1
linha, 32
listagem, 87
listagem de saída, 73
Locação Geométrica, 16
lógicas
expressões, 89
macro-substituição, 59
alfanumérica, 62
coordenadas, 67
dupla substituição, 68
numérica, 60
precisão, 60
máscaras de desenho, 97
nós, 18
definição, 19
geração, 27
em linha, 27
em malha, 28
offset, 24
operadores geométricos, 17
organização do manual, 3
origem, 86
parâmetros, 82
declaração, 82
poligonal, 31
precisão, 9
processamento, 6
DP, 5
projeção, 25
saída
listagem, 73
seções de programa, 14
semente
desenho, 53
sistema, 53, 106
variáveis, 69
sistema de coordenadas, 8
sistema local, 26
subprogramas, 45, 75, 78
bibliotecas, 87
chamada, 81
origem, 86
subrotinas, 4
subsistema, 53, 107
substituição de variáveis, 97, 98
Tabela de plotagem, 106
texto, 37
tferro, 39
unidades de desenho, 8
utilização do DP
introdução, 2
valores numéricos
definição, 16
operações básicas, 16
variáveis, 59
alfanuméricas, 61, 62, 63
coordenadas, 66
globais, 79, 80
locais, 79
numéricas, 59, 60
sistema, 69
substituição, 97, 98
visão geral, 4
CAD/AGC&DP – Linguagem de Desenho Paramétrico
TQS Informática Ltda. Rua dos Pinheiros 706 c/2 05422-001 São Paulo SP Tel (011) 3083-2722 Fax (011) 3083-2798
150
TQS Informática Ltda
R. dos Pinheiros, 706 c/2 São Paulo SP 05422-001
Tel (011) 3083-2722 Fax (011) 3083-2798
tqs@tqs.com.br www.tqs.com.br
top related