Instituto Superior Técnico
Licenciatura em Arquitectura
Desenho Assistido por Computador II
Ano lectivo 2005/06, 2° ano
Responsável:
Assistente:
José Pinto Duarte
Arq. Deborah Benrós
Notas de apoio ao Exercício 4. Parte 2
Por forma a auxiliar a cumprir os objectivos propostos neste exercício junto se apresentam algumas
sugestões que permitirão trabalhar de uma forma mais simples e optimizada.
1. Lista base
Deverá ser criada uma lista base, formada por diversas listas, que contenha a informação fundamental
sobre os todos os elementos desenhados.
Exemplo1:
( ( nome ( características) )
Elemento 1
Elemento 2
Elemento n
( ( nome1 ( origem larg alt comp tipo) ) ( nome2 ( origem larg alt comp tipo) ) ...
)
nome :
o entity name do objecto (por forma a que mais tarde se possa seleccionar)
características :
origem =
lista com as coordenadas de origem do objecto ( x y z )
larg =
valor numérico com a largura máxima do elemento
alt =
valor numérico com a altura máxima do elemento
comp =
valor numérico com o comprimento máximo do elemento
tipo =
nível hierárquico ou de complexidade em que o elemento está
(ex:base2 ou fuste3 )
Nota: poderão ser registadas nesta lista estas ou quaisquer outras características que se achar
conveniente para o exercício (diâmetro, cor, layer, etc...)
Sempre que se cria ou altera um elemento (ou elementos) esta lista deverá ser actualizada, ou seja,
retiram-se os elementos anteriores e colocam-se os novos, para que a lista reflicta sempre o estado
actual de cada um dos elementos no desenho.
Apresenta-se em seguida um exemplo com várias fases possíveis na “evolução” de uma coluna e a
correspondente actualização da lista base.
Exemplo 2: Coluna
capitel
capitel-A
fuste
fuste-A
base
base-2
base-1
(0 0 0)
suporte
1
2
3
Lista base: ( ( nome ( origem altura diâmetro tipo ) ) )
1: ( (ent1 ( (3 5 0) 3 0.5 “suporte”) )
2: ( (ent2 ((3 5 0) 0.3 0.5 “base”)) (ent3 ( (3 5 .3) 2.2 0.5 “fuste”)) ( ent4 ((3 5 2.5) 0.5 0.5
“capitel”)) )
3: ( (ent5 ((3 5 0) 0.2 0.5 “base1”)) (ent6 ((3 5 0.2) 0.1 0.5 “base2”)) (ent7 ( (3 5 .3) 2.2 0.5
“fuste-A”)) ( ent8 ((3 5 2.5) 0.5 0.5 “capitel-A”)) )
2. Interface
Junto se apresenta uma sugestão para o interface do programa.
Quando executado, o programa faz uma pergunta ao utilizador do género:
“Quer Criar , Modificar ou Sair ? :”
Seleccionando a opção C (criar), o programa:
a) desenha elemento no local indicado e com as características definidas pelo utilizador
b) acrescenta à lista base o elemento e as suas características
Podem ser criados quantos elementos o utilizador desejar.
Seleccionando a opção M (modificar), o programa:
a) pede ao utilizador para seleccionar um elemento desenhado e captura o seu entity name
b) verifica se esse entity name consta da lista base e captura todas as suas características
c) analisa o “tipo” de elemento capturado e em que fase está, decidindo em conformidade
d) apaga o elemento seleccionado e desenha o(s) novo(s) elemento(s)
e) retira o elemento seleccionado da lista base e coloca o(s) novo(s) elementos(s)
Seleccionando a opção S (sair), termina o programa.
3. Estrutura do programa
O programa a criar deverá ser dividido em várias funções simples e isoladas, que são chamadas
conforme as necessidades.
Junto se apresentam algumas funções que poderão ser úteis para os objectivos propostos:
Função acrescentar
Objectivo:
acrescenta um elemento à lista base
Input:
o entity name e as diversas características do elemento
Output:
lista base com mais um elemento acrescentado
Função capturar
Objectivo:
captura as características de um elemento desenhado
Input:
entity name
Output:
lista com as características do objecto - ex: ((3 5 6) 40 20 “estrutura2”))
Função apagar
Objectivo:
retira um elemento da lista
Input:
entity name do elemento a apagar da lista
Output:
lista sem o elemento indicado
Função substituir
Objectivo:
substitui um elemento na lista base por outro
Input:
entity name do elemento a substituir e entity name + características do novo elemento
Output:
lista actualizada
Nota: esta função pode chamar a função apagar
Função progredir
Objectivo:
a função que “sabe” qual é a próxima fase do elemento seleccionado
Input:
tipo
Output:
substituição do elemento desenhado por outro(s)
etc., etc.......
Download

Notas 2