Máscaras de Desenho
Máscaras são uma forma alternativa de produção de desenhos paramétricos. As máscaras 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 pouco em função dos parâmetros, como por exemplo, desenhos fora de escala ou independentes da escala geral usada.
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 textos 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.DPGeracao de um carimbo teste
$
DESENHO'EXEMPLO6'
DP'CARIMBO' (
A TITULO = 'FORMAS DO PAVIMENTO TIPO',
N PROJETO = 1000,
A OBRA = 'SAINT ARGENT',
N FCK = 150,
A CLIENTE = 'OS16')
FIM
Definimos neste exemplo os parâmetros desejados para o carimbo. Para que o desenho seja processado, CARIMBO.DPS deverá conter:
$
$ CARIMBO.DPS Interpreta máscara de desenho CARIMBO.DWG
$
PARAMETROS
A TITULOCOM 'Titulo do projeto'
N PROJETOCOM 'Numero do projeto'
A OBRACOM 'Nome da obra'
N FCKCOM 'Fck'
A CLIENTECOM '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:
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 é executada. Tanto faz se as variáveis da máscara forem definidas antes ou depois do comando MASCARA. A sintaxe do comando é:
MASCARA 'nome' [coord]
onde 'nome' é o nome da máscara, sem o tipo DWG. As coordenadas, se fornecidas, 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.