Apostila GDL 1 a 10

download Apostila GDL 1 a 10

of 115

Transcript of Apostila GDL 1 a 10

Capitulo 1Introduo ao desenho por coordenadas.Nota do autor: Esta apostila tenta mostrar como iniciar na linguagem GDL de uma forma mais acessvel que os manuais conhecidos. A apostila est sendo elaborada medida que estou estudando os manuais, experimentando comandos e avaliando os resultados. Portanto possvel que falhas ocorram. No terei o mnimo remorso em reavaliar qualquer conceito. Minhas dvidas e meus anseios com certeza so semelhantes aos de qualquer pessoa interessada em aprender a desenhar os tais objetos que vemos na biblioteca do Archicad e em arquivos que encontramos na Web. Por esse motivo acredito que este trabalho se tornar um timo instrumento de aprendizado. Deixei um pouco o Bl bl bl literrio de lado tentando explicar o inexplicvel e parti logo para o exerccio. Os pormenores se aprendem com o tempo e a prtica. Todos os desenhos e textos contidos na apostila no foram copiados ou traduzidos de nenhuma publicao, portanto no fere nenhum direito autoral. Isso tambm me d total liberdade de ceder ou comercializar em todo ou em parte, a quem quer que seja, o fruto do meu estudo. Recomendaria a todos ter um caderno de anotaes para acompanhar as aulas, fazer anotaes e criar alguns esboos. muito mais fcil mentalizar quando se escreve. E interessante ir anotando na ltima pgina de trs para frente todos os comandos ensinados para ter uma consulta rpida. Ter a disposio um bom programa de desenho 2D, recomendo AutoCAD, para fazer alguns desenhos em escala e poder consultar suas dimenses. Pode-se usar tambm o prprio Archicad para desenhar os perfis e extrair as coordenadas

Juan J. Ramos

1

A janela para criar objetos em GDLAbra o Archicad e clic para abrir um novo projeto. Aps abrir se quiser pode pedir fechar no menu ficheiro. Para criar um objeto GDL a partir do zero abre-se uma janela no menu Ficheiro/Bibliotecas e Objetos/Novo objeto...

Vamos inicialmente aprender como se desenham objetos bsicos 3D usando a linguagem GDL.

Bloco (cubo ou paraleleppedo)Clic onde indicado na janela acima. Texto GDL vai alternar para esta tela:

Os comandos GDL sero digitados nesta Tela. Clic com o mouse sobre a rea para iniciar a digitao. (existe tambm a possibilidade de se editar o texto em uma janela em separado clicando no cone ao lado de texto GDL)

BLOCK x,y,z

(Cdigo GDL para se fazer um bloco sendo x,y,z o comprimento, a largura e a altura.)

A linguagem GDL no distingue maisculas e minsculas. Por conveno adotaremos maisculas para os comandos e minsculas para os parmetros e comentrios. Note que entre o comando BLOCK e os parmetros existe um espao e entre cada um deles uma vrgula. Espaos entre um parmetro e outro opcional. Digite na rea de texto a expresso acima atribuindo um valor para x,y e z, exemplo: 2

BLOCK 3, 2, 0.5

Para ver a imagem criada clic na janelinha direita de Vista 3D. Voc ver esta imagem.Note que no objeto existe uma identificao dos eixos x, y e z. Para retornar janela de digitao use as teclas Ctrl +Tab Experimente trocar os valores de x,y,z por 2,2,2

Esta a imagem de um cubo, um pouco distorcida por causa da perspectiva. Voc pode usar as ferramentas normais da janela 3D do Archicad para visualizar a perspectiva, portanto recomendo ir a tipos de projeo e escolher a perspectiva isomtrica (ajuste o azimute da cmera para 270 para ter uma isometria perfeita), onde voc pode ver os objetos com dimenses proporcionais e eixos em posio favorvel

Voc visualizar agora a imagem dessa forma.Ajustar o Sol vai permitir controlar as sombras. O ideal que o objeto fique com as trs faces com tonalidades diferenciadas.

Vamos experimentar outras formas Bsicas.

CilindroCYLIND h, r (altura e raio) Apague a expresso anterior e digite: CYLIND 10, 1.5 A imagem 3D:

(altura de 10 metros e raio 1,5 metros. Note que as coordenadas so separadas por vrgulas e as fraes decimais por ponto).Repetindo:Existe um espao entre o comando e as coordenadas.Entre uma coordenada e outra o espao aps a vrgula opcional.

EsferaSPHERE r (raio) Apague a anterior e digite: SPHERE 2.3 3

ElipsideELLIPS h, rExperimente vrias dimenses e ver que pode produzir diferentes slidos com este comando que j se assemelham a muitos objetos que conhecemos:

Cone regular ou truncadoCONE h, r1, r2, alpha1, alpha2 h= altura do cone r1 = raio da base r2 = raio da parte truncada (Para o cone regular este valor igual a 0 (zero)) alpha1 = ngulo de inclinao da base (Para cone regular este valor 90) alpha2 = ngulo de inclinao do truncamento (Para cone regular este valor 90)

CONE 10, 3, 0, 90, 90

CONE 10, 3, 2, 90, 90

CONE 10, 3, 2, 90, 60

CONE 10, 3, 2, 60, 60

4

CONE 10, 3, 2, 60, 120 Brinque um pouco com as dimenses e experimente outras formas de cones que se podem obter

.

IMPORTANTE: Aps digitar o comando e antes de visualizar a imagem voc pode verificar se existe algum erro clicando em verificar texto. Isso vai ser muito til quando os comandos ficarem mais complexos. A verificao vai apontar a linha ou linhas com erros.

Outras formasOutras formas com prismas regulares e irregulares, pirmides etc. tambm possuem comandos especficos, mas antes de estudarmos essas formas vamos ver o que possvel fazer com estas que j dominamos.

Criando um conjunto de objetosDigite ou copie e cole estes comandos mltiplos na janela de texto GDL BLOCK 5, 3, 1 CYLIND 10, 1 SPHERE 3 CONE 5, 3, 0, 90, 90 Como no existe nenhuma informao de relacionamento entre os objetos eles ficaro sobrepostos na linha de origem. Veja a imagem. muito importante daqui para frente observar bem a posio dos eixos x,y,z. Aqui eles foram bem demarcados,mas no como aparece no Archicad. Deveria ser um pouco mais visvel, j que to importante. Vamos agora experimentar 3 comandos importantes que dizem respeito ao posicionamento dos objetos em relao ao ponto de origem e aos eixos x,y,z e tambm sua escala. So eles: ROT ADD MULT ROTX (Giro do objeto sobre o eixo x) ROTY (Giro do objeto sobre o eixo y) ROTZ (Giro do objeto sobre o eixo z) ADDX (deslocamento do objeto sobre o eixo x) ADDY (deslocamento do objeto sobre o eixo y) ADDZ (deslocamento do objeto sobre o eixo z) MULTX (medidas no eixo X sero multiplicadas por) MULTY (medidas no eixo Y sero multiplicadas por) MULTZ (medidas no eixo Z sero multiplicadas por) 5

Vamos adicionar apenas um desses comandos para ver como fica. Depois vamos complicando um pouco. Acrescentando-se o comando ROT na frente de tudo giramos todos os objetos em cima de um eixo escolhido ROTX 90 BLOCK 5, 3, 1 CYLIND 10, 1 SPHERE 3 CONE 5, 3, 0, 90, 90

Se acrescentarmos a expresso ROTX -90 depois do comando BLOK, apenas o BLOCO fica girado, sendo que os demais objetos ficaro na mesma posio.

ROTX 90 BLOCK 5, 3, 1 ROTX -90 CYLIND 10, 1 SPHERE 3 CONE 5, 3, 0, 90, 90

Ou tambm pode se usar a expresso DEL 1, para produzir o mesmo efeito: ROTX 90 BLOCK 5, 3, 1 DEL 1 CYLIND 10, 1 SPHERE 3 CONE 5, 3, 0, 90, 90 Experimente.

Nosso cone est meio escondido, vamos gir-lo: ROTX 90 BLOCK 5, 3, 1 DEL 1 CYLIND 10, 1 SPHERE 3 ROTX 90 CONE 5, 3, 0, 90, 90

6

Experimente girar outros eixos, inclusive em ngulos diferentes de 90 para familiarizar-se com este comando. Vamos voltar a nossa forma inicial e aplicar o comando ADD.

BLOCK 5, 3, 1 CYLIND 10, 1 SPHERE 3 CONE 5, 3, 0, 90, 90

ADDY 5 BLOCK 5, 3, 1 DEL 1 CYLIND 10, 1 ADDX -6 SPHERE 3 DEL 1 ADDZ 10 CONE 5, 3, 0, 90, 90

Note que o nico objeto que permaneceu no ponto de origem foi o cilindro. Por ltimo vamos usar o comando MUL em cima do ultimo conjunto de objetos.

MULX 2 ADDY 5 BLOCK 5, 3, 1 DEL 1 CYLIND 10, 1 ADDX -6 SPHERE 3 DEL 1 ADDZ 10 CONE 5, 3, 0, 90, 90

Com o comando MUL aplicado em cima de tudo e s no eixo X, todos os objetos sofreram uma deformao no sentido do eixo x. Est claro ento que com este comando podemos criar novas formas de objetos. O comando MUL x,y,z no topo da pilha com os trs valores iguais far os objetos aumentarem o diminurem de tamanho proporcionalmente. Com valores diferentes tero as dimenses alteradas conforme o valor atribudo a cada eixo. Vamos experimentar esta ltima opo. 7

MUL 2,3,2 ADDY 5 BLOCK 5, 3, 1 DEL 1 CYLIND 10, 1 ADDX -6 SPHERE 3 DEL 1 ADDZ 10 CONE 5, 3, 0, 90, 90

Com estas informaes e sua criatividade voc pode j criar alguns objetos simples. Experimente. Veja os objetos abaixo e tente reproduzi-los

Desafio

Segredinho Simples

Desafio 2 8

Quem conseguir fazer todos os objetos j est preparado para os prximos captulos: Salvar um objeto em uma biblioteca Criar uma imagem 2D para a representao de planta. Aplicar cor/textura ao objeto. Criar uma imagem ver antes renderizada e aplicar no arquivo gsm. Outras formas alm das bsicas (pirmide, prismas, extruso, revoluo etc)

9

Captulo 2Recapitulao Novas Formas: Prisma Pirmide Extruso

10

Recapitulao.Antes de estudarmos novas formas vamos recapitular alguns pontos do captulo 1 que so muito importantes e podem ter ficado mal entendidos.

Transformao de coordenadas.Comando: ADD (deslocar objetos e componentes sobre um ou mais eixos) Vimos que o comando ADD pode variar em: ADDX ADDY ADDZ Alem desses trs comandos podemos utilizar um comando ADD para deslocar um objeto ou um componentes simultaneamente nos trs eixos. Ex: ADD x,y,z (requer 3 dimenses respectivas a cada eixo, separadas por virgulas. Quando se quer mudar apenas dois eixos, coloque 0 no eixo que no vai sofrer transformaes.) IMPORTANTE: Note que na visualizao 3D aparece o ponto G (origem) com os eixos x,y,z. Quando fazemos uma transformao de coordenadas um novo ponto L com os trs eixos aparece. O ponto L com seus 3 eixos representa a nova origem para o prximo comando a ser executado. Caso queira voltar ao ponto G novamente antes de executar o prximo comando necessrio apagar a transformao ou as transformaes utilizadas. Isso se faz usando o comando DEL que vamos explicar suas variaes mais adiante Comando: ROT (Girar o objeto ou componente sobre um ou mais eixos) Variaes: ROTX ROTY ROTZ Assim como o comando ADD podemos tambm rodar os trs eixos simultaneamente usando: ROT x, y, z, alpha (No foi falar deste comando agora. Achei confuso e desnecessrio, pelo menos por enquanto.) Comando: MUL Variaes: MULX MULY MULZ ou MUL x,y,z atribui-se um valor para cada um dos eixos simultaneamente, com valores iguais ou diferentes. Quanto se usa o valor 0 em qualquer dos eixos, o valor ao longo desse eixo no alterado. ( interessante quando se quer alterar dois ou trs eixos simultaneamente), exige apenas DEL 1 para apagar.

O comando DELVariaes: DEL 1 (Observe que no comado DEL a parte numrica exige um espao). DEL 2 DEL 3 11

.......... DEL n A parte numrica representa a quantidade de transformaes anteriores que se deseja apagar. Pode-se usar tambm o comando: DEL top (Apagam-se todas as transformaes anteriores em todo o script* e retornamos ao ponto G) * script (Chamamos de script a totalidade de um texto GDL)

Exerccios do Captulo1 provvel que haja alguma dificuldade em reproduzir todos os objetos sugeridos como exerccio no captulo 1. Vamos reproduzir o script da mesa passo a passo para entender melhor tudo que foi explicado at agora. Vamos visualizar tambm passo a passo a imagem 3D para sentirmos o que cada comando representa. LEMBRE-SE: interessante antes de cada visualizao clicar em verificar texto. Qualquer erro, uma dimenso a menos, uma vrgula ou uma letra faltando neutraliza o script. A mensagem de erro na maioria das vezes no diz exatamente o que est errado mas aponta a linha onde est o erro. A mesa que vamos reproduzir agora ser o primeiro objeto que vamos futuramente parametrizar totalmente e salv-la em uma biblioteca, mas vamos antes aprender mais a desenhar com coordenadas. Vamos usar dimenses reais de uma mesa em metros. Portanto uma dimenso de 30 cm ser Representada por 0.30. Os decimais so separados por pontos e as vrgulas separam uma dimenso da outra. Aqui vamos tambm introduzir comentrios. Todo texto precedido por um ponto de exclamao (!) no considerado um comando. Dessa forma podemos acrescentar comentrios no script para explicar as etapas e compreender melhor o que foi feito quando vamos rever alguma coisa. Iniciamos o exerccio pelo Tampo que a parte que define as dimenses totais do objeto. BLOCK 1, 0.80, 0.03 ! Tampo com 1m de comprimento, 80 cm de largura e 3 cm de espessura. Verificar texto. Vista 3D Temos a ilustrao ao lado:

Para termos uma visualizao igual ao exemplo aqui ilustrado v em tipos de projeo escolha vistas paralelas. Na casinha escolha isometria e regule o azimute da cmera para 270.Voc pode tambm alterar o sol caso as faces do objetos apresentem pouca variao de tonalidade. 12

Note que o tampo est no cho. Vamos acrescentar um comando ADD para elevarmos o tampo no eixo z. Queremos que a mesa tenha uma altura total de 75cm, Descontando 3cm da espessura do tampo vamos elevar em z para 72cm.

ADDZ 0.72 BLOCK 1 , 0.80, 0.03

!Elevao do Tampo !Construo doTampo

ADDZ 0.72 BLOCK 1 , 0.80, 0.03 DEL 1 BLOCK 0.05, 0.05, 0.72

!Elevao do Tampo !Construo do Tampo !Apagando transformao !Construo 1 perna

Obs.: Note que a perna ficou rente borda da mesa. Vamos fazer um pequeno recuo de 2 cm acrescentando um ADD no eixo x,y antes do comando. Note o novo ponto L. Agora para fazermos a segunda perna deslocamos o ponto apenas no eixo x e repetimos o BLOCK Vamos antes fazer uma conta: (Recomendo ter sempre em mos uma folha de rascunho para esboar o objeto e fazer os clculos. 1.00 do comprimento da mesa 2 vezes o recuo 0.02 a espessura da perna 0.05 = 0.91 ADDZ 0.72 BLOCK 1 , 0.80, 0.03 DEL 1 ADD 0.02, 0.02, 0 BLOCK 0.05, 0.05, 0.72 !Elevao do Tampo !Construo doTampo !Apagando transformao ! O valor z 0. !Construo 1 perna

13

ADDZ 0.72 BLOCK 1 , 0.80, 0.03 DEL 1 ADD 0.02, 0.02, 0 BLOCK 0.05, 0.05, 0.72 ADDX 0.91 BLOCK 0.05, 0.05, 0.72

!Elevao do Tampo !Construo do Tampo !Apagando transformao ! o valor z 0. !Construo 1 perna !Deslocamento para 2 perna !Construo 2 perna

Observe o novo ponto L. Agora basta deslocar o ponto em y para fazermos a terceira perna. O clculo o mesmo do anterior apenas subtraindo os valores da largura 0.80 que resultar em 0.71 ADDZ 0.72 BLOCK 1 , 0.80, 0.03 DEL 1 ADD 0.02, 0.02, 0 BLOCK 0.05, 0.05, 0.72 ADDX 0.91 BLOCK 0.05, 0.05, 0.72 ADDY 0.71 BLOCK 0.05, 0.05, 0.72 !Elevao do Tampo !Construo do Tampo !Apagando transformao ! o valor z 0. !Construo 1 perna !Deslocamento para 2 perna !Construo 2 perna !Deslocamento para 3 perna !Construo 3 perna

Observe novamente o ponto L e perceba que precisamos um deslocamento no eixo x para colocarmos a terceira , somente que essa valor ser negativo. Os mesmos 0.91 que usamos para fazer a 2 perna.

ADDZ 0.72 BLOCK 1 , 0.80, 0.03 DEL 1 ADD 0.02, 0.02, 0 BLOCK 0.05, 0.05, 0.72 ADDX 0.91 BLOCK 0.05, 0.05, 0.72 ADDY 0.71 BLOCK 0.05, 0.05, 0.72 ADDX -0.91 BLOCK 0.05, 0.05, 0.72

!Elevao do Tampo !Construo do Tampo !Apagando transformao ! o valor z 0. !Construo 1 perna !Deslocamento para 2 perna !Construo 2 perna !Deslocamento para 2 perna !Construo 3 perna !Deslocamento para 3 perna !Construo 4 perna

Tivemos que girar um pouco a perspectiva para poder ver a quarta perna inserida

14

Agora vamos fazer as 4 travessas. Isso pode parecer complicado. Vamos ao nosso rascunho e calcular o tamanho das travessas e o primeiro deslocamento. Para facilitar vamos acrescentar um DEL top e voltar ao ponto de origem G. O calculo do comprimento da travessa: Comprimento da mesa -2vezes o recuo da perna 2 vezes a espessura da perna = 0.86 Vamos usar z=0.10 para a altura e y=0.02 para a espessura. Primeiro deslocamento: em x = recuo da perna + espessura da perna = 0.02 + 0.05 = 0.07 em y = recuo da perna + 0.01 (para a travessa ficar um pouco para dentro da perna) = 0.03 em z + Altura total da mesa menos espessura do tampo altura da travessa = 0.75 0.03-0.10 = 0.62 ADDZ 0.72 BLOCK 1, 0.80, 0.03 DEL 1 ADD 0.02, 0.02, 0 BLOCK 0.05, 0.05, 0.72 ADDX 0.91 BLOCK 0.05, 0.05, 0.72 ADDY 0.71 BLOCK 0.05, 0.05, 0.72 ADDX -0.91 BLOCK 0.05, 0.05, 0.72 DEL top ADD 0.07, 0.03, 0.62 BLOCK 0.86, 0.03, 0.10 !Elevao do Tampo !Construo doTampo !Apagando transformao ! o valor z 0. !Construo 1 perna !Deslocamento para 2 perna !Construo 2 perna !Deslocamento para 2 perna !Construo 3 perna !Deslocamento para 3 perna !Construo 4 perna !Voltando ao ponto G !Deslocamento 1 travessa !Construo 1 travessa

Para uma viso melhor do ajuste das travessasmude o tipo de projeo para planta e mude a visualizao para Modelo estrutural.

Para a segunda travessa o melhor ser deslocarmos no eixo x e fazermos a travessa oposta da mesma medida. Deslocamento y = 0.71 ADDZ 0.72 BLOCK 1, 0.80, 0.03 DEL 1 ADD 0.02, 0.02, 0 BLOCK 0.05, 0.05, 0.72 ADDX 0.91 perna BLOCK 0.05, 0.05, 0.72 ADDY 0.71 perna BLOCK 0.05, 0.05, 0.72 ADDX -0.91 perna BLOCK 0.05, 0.05, 0.72 DEL top ADD 0.07, 0.03, 0.62 BLOCK 0.86, 0.03, 0.10 ADDY 0.71 BLOCK 0.86, 0.03, 0.10 !Elevao do Tampo !Construo do Tampo !Apagando transformao ! o valor z 0. !Construo 1 perna !Deslocamento para 2 !Construo 2 perna !Deslocamento para 2 !Construo 3 perna !Deslocamento para 3 !Construo 4 perna !Voltando ao ponto G !Deslocamento 1 travessa !Construo 1 travessa !Deslocamento 2 travessa !Construo 2 travessa

15

Para fazermos as travessas menores e facilitar o clculo melhor voltar ao ponto G aplicando DEL 2 O deslocamento x = recuo da perna + recuo da travessa + 0.02 + 0,01 = 0.03 O deslocamento y = recuo da perna + grossura da perna = 0.02 + 0.05 = 0.07 O comprimento da travessa agora est em y = largura da mesa 2 vezes o recuo das pernas 2 vezes a espessura da perna = 0.80 -2*0.02 2*0.05 = 0.66 A grossura agora est em x = 0.03 A largura continua em z = 0.10

ADDZ 0.72 BLOCK 1, 0.80, 0.03 DEL 1 ADD 0.02, 0.02, 0 BLOCK 0.05, 0.05, 0.72 ADDX 0.91 BLOCK 0.05, 0.05, 0.72 ADDY 0.71 BLOCK 0.05, 0.05, 0.72 ADDX -0.91 BLOCK 0.05, 0.05, 0.72 DEL top ADD 0.07, 0.03, 0.62 BLOCK 0.86, 0.03, 0.10 ADDY 0.71 BLOCK 0.86, 0.03, 0.10 DEL 2 ADD 0.03, 0.07, 0.62 BLOCK 0.03, 0.66, 0.10 A ltima travessa basta deslocar o eixo x = 0.91 e a mesa estar pronta. ADDZ 0.72 BLOCK 1, 0.80, 0.03 DEL 1 ADD 0.02, 0.02, 0 BLOCK 0.05, 0.05, 0.72 ADDX 0.91 BLOCK 0.05, 0.05, 0.72 ADDY 0.71 BLOCK 0.05, 0.05, 0.72 ADDX -0.91 BLOCK 0.05, 0.05, 0.72 DEL top ADD 0.07, 0.03, 0.62 BLOCK 0.86, 0.03, 0.10 ADDY 0.71 BLOCK 0.86, 0.03, 0.10 DEL 2 ADD 0.03, 0.07, 0.62 BLOCK 0.03, 0.66, 0.10 ADDX 0.91 BLOCK 0.03, 0.66, 0.10

!Elevao do Tampo !Construo Tampo !Apagando transformao ! o valor z 0. !Construo 1 perna !Deslocamento para 2 perna !Construo 2 perna !Deslocamento para 2 perna !Construo 3 perna !Deslocamento para 3 perna !Construo 4 perna !Apagando todas as transf. !Deslocamento 1 travessa !Construo 1 travessa !Deslocamento 2 travessa !Construo 2 travessa !Apagando 2 transf. ant. !Deslocamento 3 travessa !Construo 3 travessa !Elevao do Tampo !Construo doTampo !Apagando transformao ! o valor z 0. !Construo 1 perna !Deslocamento para 2 perna !Construo 2 perna !Deslocamento para 2 perna !Construo 3 perna !Deslocamento para 3 perna !Construo 4 perna !Apagando todas as transf. !Deslocamento 1 travessa !Construo 1 travessa !Deslocamento 2 travessa !Construo 2 travessa !Apagando 2 transf. ant. !Deslocamento 3 travessa !Construo 3 travessa !Deslocamento 4 travessa ! Construo ltima travessa 16

Antes de salvarmos o objeto para uso posterior, temos que acrescentar um texto 2D para criarmos uma referncia para inserir o objeto na planta de um projeto. Na janela de criao do objeto, bem acima do boto texto GDL tem o boto texto 2D. Vamos clicar nesse boto para abrir a janela de texto e digitar: RECT2 0, 1 ,0.8 Mais tarde vamos aprender mais do texto 2D. Agora veja a janelinha superior esquerda e clic nos botes em baixo . Voc ver ests imagens

A primeira e ltima janela no possui imagens. Mais tarde quando inserirmos materiais e outros detalhes no script iremos produzi-las. Estando tudo correto vamos salvar o objeto numa pasta criada para guardar os objetos que criaremos durante os captulos seguintes.Mais tarde precisaremos dessa mesa para aplicar materiais e outros detalhes. Iremos parametriz-la totalmente e a partir dela criar inmeros modelos de mesas. A ilustrao abaixo mostra inmeras mesas entre centenas que podemos fazer com este nico objeto aps a aplicao de todos os parmetros. muito importante praticar. Quem no conseguiu fazer os objetos do primeiro capitulo bom voltar e tentar faz-los, principalmente a cerca. Quanto mesa redonda o segredinho para fazer a coluna central fazer duas colunas quadradas iguais sobrepostas e girar uma delas a 45.

17

PrismaComando: PRISM n, h, x1, y1, . . . xn, ynn = nmero de ns restrio n>2 h = altura do prisma x1, y1 Conjunto de ns que determinam a base do Prisma ......... xn, yn Este comando serve para fazer prismas com base regular ou irregular, com ele poderemos construir infinitas formas baseadas em segmentos de reta. Exemplos: Obs. Apesar de ser possvel fazer um prisma regular de 4 lados com o comando PRISM, Podemos fazer o mesmo com o comando BLOCK que mais simples. Vamos ento exemplificar um prisma de 3 lados regular e um de 4 lados irregular. PRISM 3, 6, !Para continuidade do comando preciso a vrgula -2.5, -1.44, 0, 2.89, 2.5, -1.44

As coordenadas so a partir do ponto G que voc determina onde quer que fique. No exemplo acima o ponto G est no centro do prisma. No exemplo abaixo o ponto G fica numa das arestas. PRISM 4, 3, 0, 0, 1, 2, 3,2, 2, 0

18

PRISM 10, 0.10, 0, 0, 4.6, 0, 4.6, -0.69, 4.17, -1.81, 3.11, -1.81, 2.69, -0.91, 1.9, -0.91, 1.49, -1.81, 0.43, -1.81, 0, -0.69

Este exemplo permite imaginar o quanto este comando ser til para produzir infinitos objetos. Voc cria um conjunto de segmentos de reta e os eleva altura que quiser.

PirmideComando: PYRAMID n, h, mask, x1, y1, s1,, . . . xn, yn, Sn Consideraes a respeito do comando: O comando um pouco mais complexo do que as formas que j vimos. Ela pode gerar qualquer tipo de pirmide: - Pirmide de base regular com vrtice perpendicular no centro da base ou inclinado com n nmeros de lados - Pirmide de base irregular com vrtice perpendicular no centro da base ou inclinado com n nmeros de lados. - As Pirmides podem ser abertas ou fechadas com n nmeros de lados com ou sem a fase da base. - Pirmides com arestas definidas ou no. Vamos entender como funciona os valores: n = nmero de ns da base da Pirmide h = altura da pirmide mask= Controla faces e arestas (Quais faces so visveis ou no) * x1, y1, s1, ............... xn, yn, sn conjunto de valores onde x e y so as coordenadas dos ns que compem a base e s o status das arestas laterais da pirmide. s = 0 arestas definidas s = 1 arestas no definidas 19

*O mask um pouco complicado e difcil de entender, portanto vamos usar como padro por enquanto mask 1+4+16 e mais a frente veremos as diferentes combinaes. Com isso teremos sempre pirmides fechadas mostrando todas as faces e arestas, que o que precisamos no momento. O s1....sn pode ser 0 ou 1 arestas definidas=0 arestas no definidas= 1 Tudo isso parece muito confuso, ento vamos aos exemplos para podermos entender: Pirmide base regular quadrada, com vrtice perpendicular ao centro da base (pontoG) Obs.: O vrtice parte sempre do ponto de origem Base = 4 x4 m (4 ns) Altura = 10m Mask = 1+4+16 PYRAMID 4, 10, 1+4+16, -2, 2, 0, 2, 2, 0, -2, 2, 0, -2, -2, 0 ! a vrgula no final para dar continuidade aos parmetros) ! usar a virgula em cada linha at o ultimo valor do comando. ! no final do comando no tem virgula

Para ter esta imagem controle a projeo em vista de planta com azimute de cmera em 270, azimute do sol em 360 e altitude do sol 45

Pirmide base regular pentagonal, com vrtice perpendicular ao centro da base (ponto G).Obs. Definir coordenadas de polgono regular sem fazer inmeros clculos quase impossvel. O melhor desenhar o polgono no prprio Archicad e ir extraindo as coordenadas. Eu considero as ferramentas de desenho livre do Archicad um pouco rudimentares. Vou usar os recursos de um AutoCAD,

PYRAMID 5,50,1+4+16, -40.45, 13.14, 0, 0, 43.16, 0, 40.45, 13.14, 0, 25, -34.41, 0, -25, -34.41, 0Desenho AutoCad X = cotas verticais Y = cotas horizontais Valores positivos ou negativos conforme o quadrante.

20

Exemplo de Pirmide aberta usando mask 0 + 0 + 0Giramos o eixo x e y para parecer um aviozinho de papel ROTX 90 ROTY -90 PYRAMID 5, 15, 0+0+0 -5, 2, 0, -1.5, 0, 0, 0, -3, 0, 1.5, 0, 0, 5, -2, 0

Usamos neste exemplo uma das alternativas de mask para mostrar como pode ser usado o comando PYRAMID em formas que lembram pouco uma pirmide. Vamos nos concentrar por enquanto nas tradicionais pirmides de base regular ou irregular totalmente fechadas com mask = 1 + 4 +16

Exemplo de uma pirmide aberta em forma de leque com algumas arestas sem definio.

PYRAMID 10, 5, 0+0+0 0, 0, 1, 1, 1, 1, 2, 0, 0, 3, 1, 0, 4, 0, 0, 5, 1, 0, 6, 0, 1, 7, 1, 1, 8, 0, 1, 9, 1, 1

Este exemplo um outro caso de Pirmide com mask=0+0+0 totalmente aberta e com algumas arestas no realadas. Isso no momento tambm no ser muito til, mais para demonstrar qual a variao se usarmos 0 ou 1 no ultimo valor de cada n.

O que estamos mesmo precisando no momento saber como podemos fazer uma Pirmide Truncada, que permitiria fazer algumas formas interessantes. Se no surgir coisa melhor durante nosso estudo esse processo pode ser um PLANO DE CORTE 21

Planos de CortePlano de corte so comandos que permitem cortar um objeto e desaparecer com a parte cortada. Plano de corte pode ser usado em vrios objetos. Vamos tentar apenas nos concentrar em como cortar as pirmides de forma a trunc-las de forma paralela ou obliqua em relao a base. Mais para frente exploraremos todas as possibilidades de CUTPLANE/CUTEND ADDZ 20 CUTPLANE DEL 1 PYRAMID 5, 50,1+4+16, -25, -34.41, 0, 25, -34.41, 0, 40.45, 13.14, 0, 0, 43.16, 0, -40.45, 13.14, 0 CUTEND !Altura em z para truncar a pirmide !Comando sem parmetros corta o objeto no plano x,y ! necessrio apagar a transformao ADD para que a coisa funcione !Objeto que ser cortado

!Comando para fim do processo de corte

ADDZ 20 !Altura em z para truncar a pirmide CUTPLANE 20 !Comando com um parmetro corta o objeto em ngulo em relao base DEL 1 ! necessrio apagar a transformao ADD para que a coisa funcione PYRAMID 5, 50,1+4+16, !Objeto que ser cortado -25, -34.41, 0, 25, -34.41, 0, 40.45, 13.14, 0, 0, 43.16, 0, -40.45, 13.14, 0 CUTEND !Comando para fim do processo de corte (obrigatrio)

Varie a altura z de truncamento e o ngulo do CUTPLANE para ver os resultados.

22

ExtrusoEste comando vai permitir ampliar muito nossas possibilidades de criao. Consiste em relacionar ns par uma base com parmetros de uma poli-linha e fazer a extruso a uma altura desejada. Pode-se incluir na construo da base segmentos em arco, mas para isso vamos ter que desenterrar nossos conhecimentos de lgebra e trigonometria. A vantagem deste comando em relao ao PRISM que as arestas laterais no so necessariamente perpendiculares base. EXTRUDE n, dx, dy, dz, mask, x1, y1, s1, . . . xn, yn, sn n = nmero de ns dx, dy, dz = inclinao linear das arestas nos eixos x,y,z mask = assim como na pirmide este parmetro controla a visibilidade de faces e arestas. Vamos usar por enquanto somente 1+2+4+16+32. Quer dizer que todas as faces e arestas so visveis. x1, y2, s1 ............... xn. yn, sn Conjunto de parmetros com par x,y de coordenadas da base e s que controla a definio das arestas laterais, pode ser: s=0 arestas definidas s=1 arestas no definidas Vamos usar agora somente s=0

Vamos criar um exemplo somente com segmentos de reta e com arestas no perpendiculares base e com mask = 1+2+4+16+32 e s=0 EXTRUDE 10, -30,0,15, 1+2+4+16+32, 10, 0, 0, 15, 15, 0, 35, 15, 0, 40, 0, 0, 50, 0, 0, 50, 30, 0, 15, 30, 0, 8, 70, 0, 0, 70, 0 dx = -30 inclina o objeto linearmente 30 unidades sobre o eixo x no sentido da origem dy=0 mantm as arestas no eixo y perpendicular a base dz =15 determina que a altura de extruso 50 Valores negativos e positivos em dx e dy produzem inclinaes inversas. Experimente as possibilidades. J dz no permite valores negativos. Experimente o valor 0 simultaneamente para dx e dy. (o EXTRUDE equivaler ao PRISM)

Vamos ver o objeto em projees paralelas par visualizar como ficaram as inclinaes das arestas em x e y:

23

Com estes comandos que aprendemos at agora possvel criar muitos objetos. Exercitar condio ideal para avanarmos. S vamos mentalizar GDL se fizermos muitos exerccios. Vocs podem tentar despertar a criatividade e fazer vrios objetos simples que no exijam muitas curvas alm de esferas cones e cilindros. A construo de mveis, pilares decorativos e alguns utenslios podem ser uma boa opo. claro que em determinados momentos vamos carecer de mais comandos, mas vamos ter pacincia e exercitar o bsico. No prximo captulo 3, vamos aprender de maneira bem simples como se insere materiais em objetos e suas partes para poder modific-los a partir do Archicad e assim criar os primeiros parmetros variveis. Outra coisa que vamos explorar e como criar um script 2D para termos uma referncia para introduzir o objeto no projeto. Sem isso o objeto s aparecer na janela 3D. Vero tambm que podemos fazer uma renderizao do objeto criado e introduzir na janela ver antes Assim nossos objetos podero ter uma identificao visual quando abrirmos a biblioteca das aulas. Os objetos abaixo j esto com os parmetros de materiais e renderizados. No prximo captulo mostraremos o script 3D e 2D e a imagem ver antes de todos eles, alm da mesa cujo arquivo j foi salvo. Procure exercit-los observando as medidas fornecidas. Salve-os numa na biblioteca de aulas. Assim podemos corrigi-los ou acrescentar os materiais e renderiza-los para criar a imagem de preview. Mais tarde quando aprendermos mais comandos poder aperfeioar-los e parametrizar suas dimenses.

Use EXTRUDE (pernas) CYLIND (Assento) PRISM (Travessas)

Use PRISM (Laterais, encosto,almofada) BLOCK (travessa e assento)

Use BLOCK (poste, parte do p) PYRAMID (parte do p, vidro e chapu) CUTPLANE/CUTEND (Para truncar as pirmides)

24

25

Observao: Assimilar coordenadas no espao e calcular algumas so tarefas muito complicadas. importante ter um programa de desenho 2D ou 3D que permita extrair as coordenadas com exatido. O AutoCAD muito bom. Permite colocar a origem em qualquer lugar e cotar por coordenadas. Se souber usar os recursos 3D poder desenhar previamente o objeto em 3D e dele extrair todos os dados. Na falta de um programa use os recursos do desenho 2D do Archicad. Abra a paleta coordenadas no menu janela. Inicie o desenho na coordenada (0,0) ou desloque o desenho para esse ponto. Com certeza se no usar algum recurso ser muito difcil criar os scripts de objetos mais complexos. Os desenhos da banqueta e da poltrona foram extrados de modelos 3D em AutoCAD. 26

Captulo 3Exerccios captulos anteriores Introduo aos parmetros de materiais: Renderizao para a janela preview ver antes Introduo ao desenho 2D

27

Introduo.Vamos dar uma pausa em novas formas 3D para mostrarmos como se obtm a partir dos exerccios anteriores objetos que j podero ser usados no Archicad. Claro que quando avanarmos mais em nosso estudo veremos que muitas outras informaes podero ser acrescentadas para aperfeioamento do objeto.

Script dos exerccios anteriores.A seguir veremos o script de todos os exerccios anteriores desde o captulo 1. Se voc fez todos eles, perceber que se pode chegar ao mesmo resultado final utilizando scripts similares, mas no necessariamente iguais. No estamos muito preocupados com isso ainda. medida que se aprende um pouco mais, entenderemos porque um script mais adequado que outro. !Exerccio 01ELLIPS 0.02, 0.10 ROTX 180 ADDZ -0.11 ELLIPS 0.10, 0.10

!Exerccio 02ELLIPS 0.02, 0.08 ADDZ 0.019 CYLIND 0.151, 0.01 ROTX 180 ADDZ -0.25 ELLIPS 0.10, 0.10

!Exerccio 03BLOCK 0.12, 0.12, 0.03 ADD 0.02, 0.02, 0 BLOCK 0.08, 0.08, 1 ADD 0.04, 0.04, 1 CONE 0.04, 0.04, 0, 90, 90 ADDZ 0.06 SPHERE 0.06

!Exerccio 04ADD -0.06,-0.06,0 BLOCK 0.12, 0.12, 0.02 ADD 0.01, 0.01, 0 BLOCK 0.10, 0.10, 1 ADD 0.05, 0.05, 1 CONE 0.05, 0.05, 0, 90, 90 ADD 0, 0, 0.06 SPHERE 0.06 DEL 3 ADDX 0.70 BLOCK 0.12, 0.12, 0.02 ADD 0.01, 0.01, 0 BLOCK 0.10, 0.10, 1 ADD 0.05, 0.05, 1 CONE 0.05, 0.05, 0, 90, 90 ADD 0,0,0.06 SPHERE 0.06 DEL 3 ADDX 0.70 BLOCK 0.12, 0.12, 0.02 ADD 0.01, 0.01, 0 BLOCK 0.10, 0.10, 1 !centrar base !base !centrar coluna !coluna !centrar cone !cone !centrar esfera !esfera !Apagando 3 !Distanciando balaustre 2 !Repetindo

!ContinuaoADD 0.05, 0.05, 1 CONE 0.05, 0.05, 0, 90, 90 ADD 0, 0, 0.06 SPHERE 0.06 DEL 3 ADDX 0.70 BLOCK 0.12, 0.12, 0.02 ADD 0.01, 0.01, 0 BLOCK 0.10, 0.10, 1 ADD 0.05, 0.05, 1 CONE 0.05, 0.05, 0, 90, 90 ADD 0, 0, 0.06 SPHERE 0.06 DEL 3 DEL top ADD 0, -0.01,0.15 BLOCK 2.10, 0.02, 0.15 ADDZ 0.30 BLOCK 2.10, 0.02, 0.15 ADDZ 0.30 BLOCK 2.10, 0.02, 0.15 DEL 3 !Distanciando balaustre 4 !Repetindo

!Voltando em G !Deslocando para travessas !Travessa 1 !Deslocando para 2 !Travessa 2 !Deslocando para 3 !Travessa 3 !Voltando em G - Final

!Distanciando balaustre 3 !Repetindo !Continua....

28

Abra um novo objeto. Copie e cole o texto gdl acima e salve o objeto com nome de Gradil de madeira Exerccio 05ADDZ 0.80 CYLIND 0.02, 0.80 DEL 1 ELLIPS 0.10, 0.4 ADD -0.10, -0.10, 0 BLOCK 0.20, 0.20, 0.80 DEL 1 ROTZ 45 ADD -0.10, -0.10, 0 BLOCK 0.20, 0.20, 0.80

Exerccio 06ADDZ 0.72 BLOCK 1, 0.80, 0.03 DEL 1 ADD 0.02, 0.02, 0 BLOCK 0.05, 0.05, 0.72 ADDX 0.91 BLOCK 0.05, 0.05, 0.72 ADDY 0.71 BLOCK 0.05, 0.05, 0.72 ADDX -0.91 BLOCK 0.05, 0.05, 0.72 DEL top ADD 0.07, 0.03, 0.62 BLOCK 0.86, 0.03, 0.10 ADDY 0.71 BLOCK 0.86, 0.03, 0.10 DEL 2 ADD 0.03, 0.07, 0.62 BLOCK 0.03, 0.66, 0.10 ADDX 0.91 BLOCK 0.03, 0.66, 0.10 !Elevao do Tampo !Construo Tampo !Apagando transformao !o valor z 0. !Construo 1 perna !Deslocamento para 2 perna !Construo 2 perna !Deslocamento para 2 perna !Construo 3 perna !Deslocamento para 3 perna !Construo 4 perna !Apagando todas as transf. !Deslocamento 1 travessa !Construo 1 travessa !Deslocamento 2 travessa !Construo 2 travessa !Apagando 2 transf. ant. !Deslocamento 3 travessa !Construo 3 travessa !Deslocamento 4 travessa !Construo ltima travessa

Copie e cole num novo objeto o texto GDL da mesa e salve com o nome de Mesa 01

Exerccio 07ROTY -90 ADDZ 0.03 ROTX 180 CONE 0.03, 0.005, 0.002, 90, 90 DEL 1 CYLIND 0.06, 0.005 ADDZ 0.06 CYLIND 0.002, 0.0055 CYLIND 0.05, 0.005 ADDZ 0.05 ELLIPS 0.03, 0.005 ADD 0.004, -0.00075, 0 BLOCK 0.002, 0.0015, 0.003 ADD 0.002, -0.001, -0.026 BLOCK 0.0015, 0.002, 0.03

29

Introduo aos parmetros:Onde criar os parmetros ?Os parmetros so criados na tela inicial. Aquela que aparece quando pedimos para criar ou abrir um objeto. Alm disso, temos que acrescentar comandos relativos a esses parmetros no texto GDL para que o programa identifique quais componentes devem ser afetados por cada um dos parmetros. Vamos ento mostrar a seqncia de criao de parmetros, vejamos a tela inicial: Esta a tela que aparece quando abrimos o arquivo Gradil de madeira. Veja que o Archicad cria automaticamente alguns parmetros padres. Clicando em novo surgir uma nova linha onde vamos configurar o parmetro. Primeiramente vamos criar apenas um ttulo para identificar os parmetros que vamos incluir na seqncia. Quando quiser apagar um parmetro clic em apagar. Os comandos criados pelo Archicad no podem ser apagados. O programa d um nome automaticamente na coluna varivel. Podemos editar, mas neste caso podemos deixar esse mesmo. No comeo da linha temos 4 cones: O primeiro para o parmetro ficar visvel ou no. O segundo para se queremos que o item fique escondido e s aparea quando desdobramos o ttulo. O terceiro e para os nomes apaream em negrito (bold) E o quarto eu ainda no sei, no precisei dele. Para selecionar um deles clic uma vez sobre o cone. Para remov-lo clic novamente. Bem, vamos selecionar apenas o B para que nosso ttulo aparea em negrito. Agora vamos escolher o tipo de parmetro. Clic sobre o cone na coluna Tipo. Abre um desdobramento mostrando vrios cones. Passando o mouse sobre eles aparece em cima o que cada um quer dizer. Vamos escolher o ltimo que se refere ao ttulo. Na coluna Nome digite Materiais e est configurado o ttulo. Clic Novo para acrescentar nova linha. Configure desta maneira: Visualizao: no clic em nenhum Varivel: digite Mat_1 Tipo: escolha o item referente ao material Nome: Digite Balaustres Valor: Clic na setinha para abrir a lista de materiais, escolha nogueira vertical Vamos fazer outro parmetro similar a esse. Clic Novo configure igual ao anterior, na coluna nome digite Travessas e o material escolha nogueira horizontal. Os parmetros ficaram assim: 30

Agora temos que incluir comandos no texto GDL para que o programa reconhea qual parte do script ser afetada pelos parmetros. Ex: material Mat_1 Onde a palavra material o comando e Mat_1 um nome que escolhemos (o nome no pode ter espaos). Quando acrescentamos o comando material nome todas a formas que ficam abaixo do comando recebero esse material em suas superfcies at que um outro comando de material seja introduzido no script. Caso no haja, o objeto todo ter o mesmo material. Vamos ento ao script:

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!GRADIL_DE_MADEIRA!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ADD -0.06, -0.06,0 !Deslocamento para o ponto G no meio balaustre !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Material Mat_1 !Inicio Comando parmetro material 1 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! BLOCK 0.12, 0.12, 0.02 !Base ADD 0.01, 0.01, 0 !Deslocamento x e y par centralizar a coluna BLOCK 0.10, 0.10, 1 !COLUNA ADD 0.05, 0.05, 1 !Deslocamento 3 eixos CONE 0.05, 0.05, 0, 90, 90 !Cone regular ADD 0, 0, 0.06 !Deslocamento em z SPHERE 0.06 !A bola DEL 3 !Fim do 1 Balaustre tira 3 ltimos deslocamentos

Continua na prxima pgina 31

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ADDX 0.70 !Distancia entre balaustres !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! BLOCK 0.12, 0.12, 0.02 !Base ADD 0.01, 0.01, 0 !Deslocamento x e y para centralizar a coluna BLOCK 0.10,0.10, 1 !COLUNA ADD 0.05,0.05,1 !Deslocamento 3 eixos CONE 0.05,0.05,0,90,90 !Cone regular ADD 0,0,0.06 !Deslocamento em z SPHERE 0.06 !A bola DEL 3 !Fim do 2 Balaustre tira 3 ultimos deslocamentos !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ADDX 0.70 !Distancia entre balaustre !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! BLOCK 0.12, 0.12, 0.02 !Base ADD 0.01, 0.01, 0 !Deslocamento x e y par centralizar a coluna BLOCK 0.10,0.10, 1 !COLUNA ADD 0.05,0.05,1 !Deslocamento 3 eixos CONE 0.05,0.05,0,90,90 !Cone regular ADD 0,0,0.06 !Deslocamento em z SPHERE 0.06 !A bola DEL 3 !Fim do 3 Balaustre tira 3 ultimos deslocamentos !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ADDX 0.70 !Distancia entre balaustre !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! BLOCK 0.12, 0.12, 0.02 !Base ADD 0.01, 0.01, 0 !Deslocamento x e y par centralizar a coluna BLOCK 0.10,0.10, 1 !COLUNA ADD 0.05,0.05,1 !Deslocamento 3 eixos CONE 0.05,0.05,0,90,90 !Cone regular ADD 0,0,0.06 !Deslocamento em z SPHERE 0.06 !A bola DEL 3 !Fim do 4 Balaustre tira 3 ultimos deslocamentos !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! DEL top !Voltando a origem para G !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Material Mat_2 !Fim material 1 inicio material 2 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ADD 0,-0.01,0.15 !Deslocamento y=1/2 esp.dat ravessa z=altura do solo BLOCK 2.10,0.02,0.15 !1 travessa ADDZ 0.30 !Deslocamento entre 1 e 2 travessa. BLOCK 2.10,0.02,0.15 !2 travessa ADDZ 0.30 !Deslocamento entre 2 e 3 travessa BLOCK 2.10,0.02,0.15 !3 travessa DEL 3 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Uma vez acrescentado os comandos de material vamos salvar o arquivo e experiment-lo como item de biblioteca para ver como fica. Vamos notar que ao introduzirmos o objeto na planta ele no aparece, mas se acionarmos a janela 3D ele estar l revestido do material escolhido. O que est faltando agora um texto 2D que vai desenhar a vista de planta. Vamos abrir novamente o objeto, clicar em texto 2D e acrescentar os seguintes comandos: 32

HOTSPOT2 0,0 HOTSPOT2 2.10,0 HOTSPOT2 -0.06,-0.06 HOTSPOT2 -0.06,0.06 HOTSPOT2 2.16,-0.06 HOTSPOT2 2.16,0.06 RECT2 -0.06,-0.06,0.06,0.06 CIRCLE2 0,0,0.06 ADD2 0.70,0 RECT2 -0.06,-0.06,0.06,0.06 CIRCLE2 0,0,0.06 ADD2 0.70,0 RECT2 -0.06,-0.06,0.06,0.06 CIRCLE2 0,0,0.06 ADD2 0.70,0 RECT2 -0.06,-0.06,0.06,0.06 CIRCLE2 0,0,0.06 DEL top ADD2 0.06,-0.01 RECT2 0,0,0.58,0.02 ADD2 0.70,0 RECT2 0,0,0.58,0.02 ADD2 0.70,0 RECT2 0,0,0.58,0.02

Copie e cole o script ao lado. Mais a frente vamos explorar a linguagem para o desenho 2D. Para saber como ficou o desenho clic na janela ao lado de vista geral 2D. Pressione Ctrl +tab para retornar e salve o objeto novamente. Agora ao usarmos o objeto como item de biblioteca, teremos o objeto completo em planta e 3D.

Para concluirmos o objeto GSM s nos falta criar uma imagem de preview, para podermos localiz-lo na biblioteca por sua imagem. Selecione-o na biblioteca e insira-o no Archicad. Abra a janela 3D , escolha uma vista que mostre bem o objeto. D um zoom na tela at que o objeto encha totalmente a tela. Vamos fazer uma renderizao. Configure para criar um quadro de 128 x 128 pixel. Feita a renderizao , v ao menu editar e clic em copiar. Agora vamos abrir o objeto para editar. O objeto aberto clic na ltima janelinha (Imagem ver antes).V ao menu editar novamente e clic colar. Feche a janela ver antes e salve o objeto.

Vamos agora fazer com a mesa do exerccio 6 o mesmo que fizemos com o Gradil de madeira. Inserir parmetros, colocar o nome dos parmetros no texto GDL e criar a imagem ver antes. A seguir como vai ficar:

33

Para fazer a imagem de preview coloquei um piso para mostrar as sombras do objeto.

34

Digite este script na janela de texto 2D para termos uma imagem de planta.

Conserve estes dois arquivos numa biblioteca de aulas. Eles sero os dois primeiros objetos que vamos parametrizar as dimenses totalmente.

Introduo ao desenho 2DComo vimos nos dois exerccios preciso criar um texto 2D para obtermos um desenho de planta para inserirmos o objeto no ArchiCad. Vamos agora ver as formas geomtricas 2D que podemos dispor e como so seus comandos: HOTSPOT2 x, y _________________Cria um ponto quente com duas coordenadas LINE2 x1, y1, x2, y2_______________Cria uma linha com coordenadas iniciais e finais RECT2 x1, y1, x2, y2______________Cria um retngulo com coordenadas iniciais e finais CIRCLE2 x, y, r __________________Cria um crculo com coordenadas do centro e raio ARC2 x, y, r, alpha, beta _________Cria um arco com coordenadas do centro ngulo inicial e ngulo final POLY2 _________________________Temos vrios comandos para criar uma poli-linha SPLINE2 n, status, x1, y1, angle1,, xn, yn, anglen ___Cria uma linha curva com n coordenadas PROJECT2 projcode, angle, method __Este comando permite criar uma projeo de objetos complexos usando o script 3D (Soluo mgica) 35

Assim como na linguagem 3D no texto 2D tambm usamos as transformaes de coordenadas. Repare que os comandos 2D terminam com o nmero 2 para diferenciar dos comandos 3D ADD2 x, y ROT2 alphaz MUL2 x, y Tambm usamos DEL para limpar as transformaes: DEL n DEL top Reveja o texto usado no objeto Gradil de madeira onde foram usados vrios destes comandos. Voc pode treinar os comandos 2D. Abra um novo objeto clic em texto 2D e comece a experimentar os comandos. Para ver o resultado s clicar na janelinha Vista Geral 2D. Veja os exemplos:LINE2 0, 0, 5, 10 LINE2 5, 10, 10, 10 LINE2 10, 10, 10, 0 ARC2 15, 0, 5, -180,0 LINE2 20, 0, 20, 20 ARC2 15, 20, 5, 0, -90 LINE2 15, 15, 15, 12 ARC2 15, 20, 8, 0, 270 LINE2 23, 20, 23, 0 ARC2 15, 0, 8, 180, 0 LINE2 7, 0, 0, 0

RECT2 0, 0, 1, 0.80 DD2 1.20, 0.20 LINE2 0, 0, 0.40, 0.05 LINE2 0.40, 0.05, 0.40, 0.35 LINE2 0.40, 0.35, 0, 0.40 LINE2 0, 0.40, 0, 0 DEL 1 ROT2 180 ADD2 0.20, -0.60 LINE2 0, 0, 0.40, 0.05 LINE2 0.40, 0.05, 0.40, 0.35 LINE2 0.40, 0.35, 0, 0.40 LINE2 0, 0.40, 0, 0 DEL 1 ROT2 90 ADD2 0.20, 0.30 LINE2 0, 0, 0.40, 0.05 LINE2 0.40, 0.05, 0.40, 0.35 LINE2 0.40, 0.35, 0, 0.40 LINE2 0, 0.40, 0, 0 DEL 1 ROT2 180 ADD2 1, -0.70 LINE2 0, 0, 0.40, 0.05 LINE2 0.40, 0.05, 0.40, 0.35 LINE2 0.40, 0.35, 0, 0.40 LINE2 0, 0.40, 0, 0 DEL 1

Obs.: O correto seria construir as cadeiras com o comando POLY. Como esse comando e os comandos SPLINE e PROJECT2 so um pouco mais complexos, vamos estud-los no prximo captulo. O desenho da mesa com cadeiras pode ser feito de outra maneira sem os comandos ADD e ROT. Experimente. Faa antes um desenho de coordenadas no AutoCAD ou no ArchiCAD. Recomendo exercitar bem os comandos para se familiarizar com o texto 2D. 36

Captulo 4Texto 2D Comando POLY2. Comando SPLINE2 Comando PROJECT2

37

Comando POLY2POLY2 n, framefill, x1, y1, .... xn, yn Polgono aberto ou fechado com n ns Restries de parmetros: n 2 n = nmero de ns framefill = j1 + 2*j2 + 4*j3 onde j1, j2, j3 podem ser 0 ou 1. j1 (1): s contorno j2 (2): s preenchimento j3 (4): Fechar um polgono Exemplos: POLY2 6, 1, !(framefill = 1) apenas contorno e aberto (forma mais simples) 0, 0, 0, 2, 5, 2, 5, 4, 10, 4, 10,0

POLY2 6, 1+4, ! framefill = 1+ 4 Contorno e fechado 0, 0, 0, 2, 5, 2, 5, 4, 10, 4, 10,0

POLY2 6, 1+2+4, ! framefill = 1+2+4 Completo com contorno, fechado e com preenchimento 0, 0, 0, 2, 5, 2, 5, 4, Observao: Para que o polgono aparea preenchido necessrio criar um 10, 4, parmetro de trama e caneta. Veja como: 10,0 Abre-se a tela de parmetros, pedimos um novo parmetro: Nomeie a varivel (Ex.: Trama_1); tipo: escolha o cone trama; nome: qualquer (Ex.: Trama) valor: Clic em valor abra as opes e escolha uma trama (Ex.: Telha 01). Abra um novo parmetro para a caneta: 38

Nomeie a varivel (Ex.: Pen_1); tipo: escolha cone caneta; nome: (Ex.: Caneta trama); valor: abra as opes e escolha uma cor (Ex. verde forte). Note que ao passar o mouse em cada cor, um texto superior sugere a aplicao para cada uma delas. Isso o que o Archicad usa como padro. Para no tornar seu projeto uma miscelnea, recomendo seguir as sugestes. Vejamos como ficaram os parmetros:

Para que os parmetros funcionem preciso que sejam declarados no Texto 2D: fill Trama_1 pen Pen_1 POLY2 6, 1+2+4, 0, 0, 0, 2, 5, 2, 5, 4, 10, 4, 10, 0

Temos ainda a opo do polgono Fechado, com trama e sem contorno: fill Trama_1 pen Pen_1 POLY2 6, 2+4, 0, 0, 0, 2, 5, 2, 5, 4, 10, 4, 10, 0

! framefill = 2+4 Fechado s com preenchimento

39

Comando POLY2_Similar a declarao normal POLY2, mas pode se omitir qualquer um dos lados deixando-o invisvel. Tambm pode se produzir espaos vazios dentro do polgono. POLY2_ n, framefill, x1, y1, mask1, .... xn, yn, maskn Restries de parmetros: n 2 n = nmero de ns framefill = j1 + 2*j2 + 4*j3 onde j1, j2, j3 podem ser 0 ou 1. j1 (1): s contorno j2 (2): s preenchimento j3 (4): Fechar um polgono mask : 0: 1: -1: Exemplos: fill Trama_1 pen Pen_1 POLY2_ 6, 1+2+4, 0, 0,1, 0, 2,0, 5, 2,0, 5, 4,0, 10, 4,1, 10, 0,1 Note que os segmentos do contorno aps o n que tem zero no final ficam invisveis. Como no comando POLY2 necessrio criar parmetro para preenchimento. o segmento seguinte invisvel o segmento seguinte visvel fim de um contorno (Usado para produzir vazios)

40

Agora um exemplo com elementos vazados. fill Trama_1 pen Pen_1 POLY2_ 17, 1+2+4, 0, 0, 1, 0, 2, 1, 5, 2, 1, 5, 4, 1, 10, 4, 1, 10, 0, 1, 0, 0, -1, !Final do poligono,-1 para fazer um vazio 6,2,0, 8,2,0, 8,3,0, 6,3,0, !Final zero determina ausncia de contorno !Declarao de trama !Declarao de caneta da trama Diferente do exerccio anterior, no final de cada polgono necessrio voltar ao ponto inicial e colocar -1 no ltimo valor. Note que um dos vazados tem contorno e o outro no. Os finais 0 so sem contornos e os finais 1 com contorno. Mas se no mask usar 2+4 (sem contorno) todos os polgonos sero sem contorno independentemente do valor final de cada polgono. Lembre-se que no comando POLY2_ deve constar sempre o mesmo nmero de ns do que nos descritos abaixo, incluindo os ns de final do polgono.

6,2,-1, !Final do primeiro vazio 6, 0.5, 1, 7, 0.5, 1, 7, 1.5, 1, 6, 1.5, 1, 6, 0.5, -1 !Final do 2 vazio

41

Outros comandos POLYOs comandos POLY a seguir so todos iguais ao comando POLY2_ a vantagem que j incluem as declaraes de Canetas. Quando fazemos as declaraes de trama e caneta no script antes do comando, tudo que est abaixo caso no haja outra declarao assume esses parmetros. J nos casos abaixo o parmetro se resume exclusivamente ao prprio comando sem afetar outros comandos que possa suceder o mesmo. Alm disso a caneta de contorno no afetada e permanece verde por omisso. POLY2_A n, frame_fill, fill_pen, x1, y1, s1, ..., xn, yn, sn Inclui a declarao de caneta da Trama Ex.: POLY2_A 17, 1+2+4, Pen_1, Note que a declarao refere-se Apenas a caneta da trama. O contorno por omisso continua em verde. Apenas a declarao de caneta includa. A declarao de trama continua em separado. __________________________________________________________________________________ POLY2_B n, frame_fill, fill_pen, fill_background_pen, x1, y1, s1, ..., xn, yn, sn Inclui declarao de caneta de Trama e caneta de fundo de Trama Ex.: POLY2_A 17, 1+2+4, Pen_1, Pen_2 Neste caso escolhemos uma cor de caneta para a trama e uma cor de caneta para o fundo. O contorno por omisso continua verde. A declarao de trama como no exemplo anterior continua em separado. __________________________________________________________________________________ Temos ainda mais trs tipos de POLY, mas no momento no vou descrev-las so mais complexas e no momento no vamos us-las. So elas: POLY2_B{2} POLY2_B{3} POLY2_B{4}

42

Comando SPLINE2Este comando me parece pouco til no momento do nosso estudo, mas vamos apresentar o exemplo para saber que podemos contar com ele quando for necessrio. SPLINE2 n, status, x1, y1,angle1, , xn, yn, anglen n = nmero de ns status = 0 - default 1- fechado, une o ultimo n com o primeiro 2 suavizado automaticamente xi,yi,anglei Conjunto de ns e ngulos de percurso ................. xn,yn,anglen Veja nos exemplos abaixo quando se muda o status o quanto o mesmo desenho se altera. Tambm da para perceber manipulando os nmeros o quo difcil o controle e preciso dessa forma, mas enfim vamos avanar um pouco mais no estudo e ver se ser ou no fundamental o seu uso. Exs.: SPLINE2 4, 2, 0, 0, 45, 5,5,45, 10,0,45, 5,-5,30

SPLINE2 4, 1, 0, 0, 45, 5,5,45, 10,0,45, 5,-5,30

SPLINE2 4, 0, 0, 0, 45, 5,5,45, 10,0,45, 5,-5,30

43

Comando PROJECT2Este comando sim ser de grande utilidade. Com uma simplicidade incrvel, faz num passe de mgica algo incrvel. Criamos com esse comando uma vista 2D baseada no script 3D. Ele pode fazer qualquer vista, mas o que estamos interessados no momento a vista de planta para representar o objeto no texto 2D. PROJECT2 projcode, angle, method projcode = valores entre 3 e 9. positivo visto de um ngulo alto, negativo por um angulo baixo. O valor 3 a vista de planta que queremos. Angle = azimute desejado. Nosso caso 270 Method = 1 (Aramado) 2 (Opaco analtico) Para sentirmos o poder deste comando 2D devemos aplic-lo num objeto existente. Vamos usar o objeto Gradil de madeira que j salvamos anteriormente. Vamos ver o texto 2D que fizemos para ele: HOTSPOT2 0,0 HOTSPOT2 2.10,0 HOTSPOT2 -0.06,-0.06 HOTSPOT2 -0.06,0.06 HOTSPOT2 2.16,-0.06 HOTSPOT2 2.16,0.06 RECT2 -0.06,-0.06,0.06,0.06 CIRCLE2 0,0,0.06 ADD2 0.70,0 RECT2 -0.06,-0.06,0.06,0.06 CIRCLE2 0,0,0.06 ADD2 0.70,0 RECT2 -0.06,-0.06,0.06,0.06 CIRCLE2 0,0,0.06 ADD2 0.70,0 RECT2 -0.06,-0.06,0.06,0.06 CIRCLE2 0,0,0.06 DEL top ADD2 0.06,-0.01 RECT2 0,0,0.58,0.02 ADD2 0.70,0 RECT2 0,0,0.58,0.02 ADD2 0.70,0 RECT2 0,0,0.58,0.02 Esse texto produzia este desenho:

Vamos ento apagar todo o texto, exceto os HOTSPOTs e acrescentar o comando PROJECT2 3, 270, 2 HOTSPOT2 0,0 HOTSPOT2 2.10,0 HOTSPOT2 -0.06,-0.06 HOTSPOT2 -0.06,0.06 HOTSPOT2 2.16,-0.06 HOTSPOT2 2.16,0.06 PROJECT2 3, 270, 2

Com muito menos comandos reproduzimos o mesmo desenho e com alguns pequenos detalhes a mais. Usaremos muito este comando para os objetos com formas mais complexas. Salve seu objeto com esse novo script 2D. Assim que formos aprendendo coisas novas estaremos aperfeioando nossos objetos.

Este comando pode fazer uma representao 2D em qualquer vista que quisermos. Vocs podem trocar os valores do projcode entre 3 e 9 ou -3 e -9. Podem tambm variar o ngulo do azimute. No vamos usar isso agora, mas a titulo de ilustrao veja os exemplos abaixo: PROJECT2 4, 270, 2 PROJECT2 6,120,2 PROJECT2 -6,120,2

44

Uma pergunta poder surgir. Para que precisamos dos desenhos em 2D se podemos usar o PROJECT2?Alm de outras coisas que veremos mais a frente, as formas 2D exceto a POLY no conseguem receber tramas. Se quisermos fazer uma vista de planta com aplicao de uma trama s poderemos fazer atravs de uma POLY. A vem outra pergunta: e como fazemos para criar uma POLY usando curvas? o que vamos ver no prximo captulo. Vamos ver tambm como se cria uma trama neutra que facilita a seleo dos objetos quando esto na vista de planta. Voc j deve ter notado que os objetos da biblioteca do ArchiCad so todos assim, voc passa o mouse sobre eles e a ferramenta seleo magntica aparece. Nos objetos que fizemos at agora s possvel selecion-los em planta atravs dos pontos quentes. Pois bem, para se fazer essa trama neutra ser necessrio criar uma POLY em todo o contorno do objeto e acrescentar um parmetro para a trama. No prximo captulo alm das POLY com curvas e tramas mostraremos tambm o script dos exerccios do captulo 2. Acertaremos o texto 2D a todos os objetos que criamos e salvaremos em nossa biblioteca com todas as tcnicas aprendidas at o momento. Recomendo que voc repasse a leitura dos 3 captulos anteriores. Verifique se voc entendeu todos os fundamentos e se consegue criar seus prprios objetos com eles. muito importante No deixar escapar nada, pois os passos a seguir se tornaro mais compreensveis medida que se domina os conceitos anteriores. O que todos queremos chegar aos objetos com dimenses parametrizadas, mas impossvel sem antes aprender a desenh-los com desenvoltura.

45

Captulo 5POLY2. Com retas e curvas e aplicao de tramas e canetas Exerccios do Captulo 2 A insero de uma trama vazia nos objetos de aula.

46

POLY2. Com retas e curvas e aplicao de tramas e canetasVamos introduzir nos comandos POLY2 alguns cdigos de status adicionais que permitiro associar numa poli-linha segmentos retos e curvos. Vamos retomar o exemplo do captulo 3 que foi construdo usando vrios comandos 2D:LINE2 0, 0, 5, 10 LINE2 5, 10, 10, 10 LINE2 10, 10, 10, 0 ARC2 15, 0, 5, -180,0 LINE2 20, 0, 20, 20 ARC2 15, 20, 5, 0, -90 LINE2 15, 15, 15, 12 ARC2 15, 20, 8, 0, 270 LINE2 23, 20, 23, 0 ARC2 15, 0, 8, 180, 0 LINE2 7, 0, 0, 0

Faremos o mesmo exerccio usando apenas um comando. Vamos usar o comando POLY2_, a poli-linha simples POLY2 no permite fazer curvas Usaremos um passo a passo para exemplificar todos os comandos possveis. medida que vamos acrescentando segmentos alteramos o n (nmero de ns da poli-linha). POLY2_ 4, 1, !Vamos usar um mask 1 (com contorno, sem preenchimento e aberto) 0, 0, 1, 5, 10, 1, 10, 10, 1, 10, 0, 1

Para criarmos a prximo seguimento em arco vamos usar os seguintes cdigos a seguir: x0, y0, 900, 0, a, 4000+s, Definir o centro do raio (medidas x e y da localizao do centro do raio). Arco usando centro e ngulo (O primeiro valor ser sempre zero).

Ento teremos: POLY2_ 6, 1, !Aumentando o n para 6 0, 0, 1, 5, 10, 1, 10, 10, 1, 10, 0, 1, 15, 0, 901, !Centro arco1 0, 180, 4001 !Arco 1 47

Vamos a seguir acrescentar a reta: POLY2_ 7, 1, !Aumentando o n para 7 0, 0, 1, 5, 10, 1, 10, 10, 1, 10, 0, 1, 15, 0, 901, !Centro arco1 0, 180, 4001, !Arco 1 20, 20, 1 !Reta Novo arco: POLY2_ 9, 1, !Aumentando o n para 9 0, 0, 1, 5, 10, 1, 10, 10, 1, 10, 0, 1, 15, 0, 901, !Centro arco 1 0, 180, 4001, !Arco 1 20, 20, 1, !Reta 15, 20, 901, !Centro arco 02 0, 270, 4001 !Arco 2 Mais uma reta: POLY2_ 10, 1, !Aumentando o n para 10 0, 0, 1, 5, 10, 1, 10, 10, 1, 10, 0, 1, 15, 0, 901, !Centro arco 1 0, 180, 4001, !Arco 1 20, 20, 1, !Reta 15, 20, 901, !Centro arco 2 0, 270, 4001, !Arco 2 15, 12, 1 !Reta Novo arco: POLY2_ 12, 1, !Aumentando o n para 12 0, 0, 1, 5, 10, 1, 10, 10, 1, 10, 0, 1, 15, 0, 901, !Centro 1 arco 0, 180, 4001, !Arco 01 20, 20, 1, !Reta 15, 20, 901, !Centro arco2 0, 270, 4001, !Arco 2 15, 12, 1, !Reta 15, 20, 901, !Centro do arco 3 (igual o 2) 0, -270, 4001 !Arco 3 (valor do ngulo negativo)

48

Nova reta POLY2_ 13, 1, !Aumentando o n para 13 0, 0, 1, 5, 10, 1, 10, 10, 1, 10, 0, 1, 15, 0, 901, !Centro 1 arco 0, 180, 4001, !Arco 01 20, 20, 1, !Reta 15, 20, 901, !Centro arco2 0, 270, 4001, !Arco 2 15, 12, 1, !Reta 15, 20, 901, !Centro do arco 3 (igual o 2) 0, -270, 4001, !Arco 3 (valor do ngulo negativo) 23, 0, 1 !Reta Nova curva: POLY2_ 15, 1, !Aumentando o n para 15 0, 0, 1, 5, 10, 1, 10, 10, 1, 10, 0, 1, 15, 0, 901, !Centro 1 arco 0, 180, 4001, !Arco 01 20, 20, 1, !Reta 15, 20, 901, !Centro arco2 0, 270, 4001, !Arco 2 15, 12, 1, !Reta 15, 20, 901, !Centro do arco 3 (igual aos 2) 0, -270, 4001, !Arco 3 (valor do ngulo negativo) 23, 0, 1, !Reta 15, 0, 901, !Centro do arco 4 (igual ao 1) 0, -180, 4001 !Arco 4 Agora para fechar a figura voltamos ao n de origem, ou apenas mudamos o mask para 1+4. POLY2_ 15, 1+4, ! Trocando o mask para 1+4 (contorno, sem preenchimento e fechado) 0, 0, 1, 5, 10, 1, 10, 10, 1, 10, 0, 1, 15, 0, 901, !Centro 1 arco 0, 180, 4001, !Arco 01 20, 20, 1, !Reta 15, 20, 901, !Centro arco2 0, 270, 4001, !Arco 2 15, 12, 1, !Reta 15, 20, 901, !Centro do arco 3 (igual aos 2) 0, -270, 4001, !Arco 3 (valor do ngulo negativo) 23, 0, 1, !Reta 15, 0, 901, !Centro do arco 4 (igual ao 1) 0, -180, 4001 !Arco 4

49

Para acrescentarmos uma trama de preenchimento precisamos acrescentar uma declarao FILL ao script e criar um parmetro para a declarao. preciso tambm trocar o mask para 1+2+4 Ex.: FILL Trama_1 POLY2_ 15, 1+2+4, ! Trocando o mask para 1+2+4 para poder acrescentar uma trama 0, 0, 1, 5, 10, 1, 10, 10, 1, 10, 0, 1, 15, 0, 901, !Centro 1 arco 0, 180, 4001, !Arco 01 20, 20, 1, !Reta 15, 20, 901, !Centro arco2 0, 270, 4001, !Arco 2 15, 12, 1, !Reta 15, 20, 901, !Centro do arco 3 (igual aos 2) 0, -270, 4001, !Arco 3 (valor do ngulo negativo) 23, 0, 1, !Reta 15, 0, 901, !Centro do arco 4 (igual ao 1) 0, -180, 4001 !Arco 4 A trama s aparece depois de acrescentamos o parmetro:

Escolhi uma trama slida de 25%. Como no foi determinado nenhum parmetro para a caneta o objeto ficou na cor verde 25%. Verde a cor padro por omisso. Para termos uma cor diferente necessrio criar um parmetro para a caneta da trama e uma declarao PEN no script 2D. Observao: Note que o ultimo valor de cada coordenada (1). Determinando que o status de todos os segmentos seja visvel Mudando tudo para (0), inclusive os cdigos de 901 para 900 e 4001 para 4000, todos os segmentos de reta e curvas sero invisveis aparecendo somente a trama de preenchimento do objeto. Pode-se deixar tambm alguns invisveis e outros no. Faa os testes mudando os valores no script e visualizando com vista geral 2D Para fazer este exerccio aplicamos apenas dois cdigos ao sistema de coordenadas, o que determinar o centro do arco o que faz o arco. Existem outros cdigos especficos para situaes diferentes do nosso exemplo. Os cdigos tambm so usados inclusive para definir comportamento de segmentos de reta. A seguir uma seqncia usando todos eles: Vamos iniciar uma POLY2_ com n = 2 que o menor valor permitido e ai vamos acrescentando todos os cdigos mask/status possveis. POLY2_ 2, 1, !(mask 1 poli-linha somente contorno) 0, 0, 1, 1, 1, 1 50

1000, 0, 1, 1, 1, 1, 2, 1, 101

Segmento por extremo relativo dx, dy, 100+s,

Este cdigo produz um segmento de reta acrescentando-se a distncia x e y, no do ponto de origem, mas do ltimo ponto

POLY2_ 3, 1, !(mask 1 poli-linha somente contorno)

200

Segmento por comprimento e direo L, a, 200+s

Com este cdigo fazemos um segmento com comprimento (L) e ngulo (a )

POLY2_ 4, 1, !(mask 1 poli-linha somente contorno) 0, 0, 1, 1, 1, 1, 2, 1, 101, 3, -30, 201

300

Segmento tangente por comprimento L, 0, 300+s,

Este cdigo gera um segmento tangencial ao segmento anterior e num comprimento (L)

POLY2_ 5, 1, !(mask 1 poli-linha somente contorno) 0, 0, 1, 1, 1, 1, 2, 1, 101, 3, -30, 201, 2, 0, 301

Obs.: Como o segmento anterior um segmento reto, a tangncia coincide exatamente com a mesma direo do segmento anterior. Se o segmento anterior fosse um arco, daria para entender melhor a utilidade do cdigo. Veja como se comportaria este ultimo segmento se o anterior fosse um arco:

600

Definir ponto inicial X1, y1, 600

Este cdigo serve para determinar um ponto de inicio. Em 0,0 ou qualquer outra coordenada. 51

Portanto, sabemos agora que seria possvel substituir o primeiro e segundo segmento de nossa polilinha pelo sistema de cdigo, ou seja, a poli-linha inteira pode ser feita atravs destes cdigos adicionais. Vejamos: POLY2_ 5, 1, 0, 0, 601, 1, 1, 101, 2, 1, 101, 3, -30, 201, 2, 0, 301 No temos alterao alguma em nossa poli-linha.

700POLY2_ 6, 1, 0, 0, 601, 1, 1, 101, 2, 1, 101, 3, -30, 201, 2, 0, 301, 0, 0, 701

Fechar poli-lnha 0, 0, 700,

Este cdigo fecha a poli-linha. Isso pode ser feito tambm pelo mask +4, Vamos mostrar o exemplo aqui, mas vamos desprezar esse cdigo em nossa seqncia para poder continuar a demonstrao.

Estes dois prximos cdigos no produzem segmentos e sim definem pontos para um prximo segmento. 800 define um ponto onde ir tangenciar um segmento e 900 define um centro para um arco.

800 900

Definir tangente ex, ey, 800, Definir centro x0, y0, 900

ex, ey so coordenadas a partir do segmento anterior e no da origem 0,0. x0, y0 so coordenadas a partir da origem 0,0.

Vamos aplicar o cdigo 800 antes do n 2, 0, 301 e ver que o segmento seguir outra direo passando tangente ao ponto do cdigo 800. POLY2_ 6, 1, !Voltamos a n = 6 0, 0, 601, 1, 1, 101, 2, 1, 101, 3, -30, 201, 1.5, 1, 801, 2, 0, 301 Voc vai perceber que quando usamos a visualizao vista geral 2D o Archicad no nos mostra o ponto do comando 800, o que na minha opinio uma falha. Seria muito bom se pudssemos visualizar onde colocamos o ponto. Vamos agora mostrar todos os cdigos juntos com os que esto faltando, que so todos referentes a curvas. Depois retomamos nossa POLY2_ utilizando todos eles. 52

.

0 100 200 300 600 700 800 900 1000 2000 3000 4000 4000

Segmento por coordenadas x, y, s, Segmento por dimenses dx, dy, 100+s, Segmento por comprimento e direo L, a, 200+s, Segmento tangente por comprimento L, 0, 300+s,

Este o sistema que aprendemos e estvamos usando nas POLYs, antes destes cdigos adicionais. Neste cdigo usamos dimenses no eixo x e y a partir do final do segmento anterior. Definimos o comprimento do segmento e ngulo de direo em relao ao eixo x Este cdigo gera um segmento de comprimento L, tangencial ao segmento anterior, seja reto ou arco. Tambm pode tangenciar a um ponto determinado pelo cdigo 800. No define segmento, cria um ponto inicial para o desenvolvimento de uma poli-linha. Este cdigo e usado no final para fechar a poli-linha. Este cdigo cria um ponto para tangncia para o prximo segmento com dimenses sobre o eixo x e y a partir do segmento anterior ao cdigo. Usado em conjunto com o cdigo 300. No define segmento, cria um ponto de centro para o prximo segmento em arco. Usado em conjunto com o cdigo 3000 ou 4000. As coordenadas so a partir da origem 0,0 Cria um segmento em arco tangencial ao segmento anterior e passando pelo ponto x,y determinado a partir da origem 0,0 Define um arco tangencial ao segmento anterior definindo um raio e o ngulo positivo ou negativo percorrido pelo arco. Define um arco utilizando um centro predeterminado com o cdigo 900 e terminando num ponto determinado por uma coordenada x,y a partir da origem 0,0 Define um arco utilizando um centro predeterminado pelo cdigo 900 e percorrendo um ngulo positivo ou negativo determinado. o mesmo cdigo anterior, utilizando um ngulo de 360. Pode ser utilizado para uma poli-linha de 2 ns (um centro e circulo) 53

Definir ponto inicial x1, y1, 600, Fechar poli-lnha 0, 0, 700 Definir tangente ex, ey, 800,

Definir centro x0, y0, 900,

Arco tangente a um ponto x, y, 1000+s, Arco tangente por raio e ngulo r, a, 2000+s, Arco usando centro e ponto no final do arco x, y, 3000+s, Arco usando centro e ngulo 0, a, 4000+s, Crculo completo usando centro e raio r, 360, 4000+s,

Com estes cdigos podemos fazer qualquer polgono aberto ou fechado que use apenas segmentos de reta e arcos regulares. No define parbolas nem elipses. Estes mesmos cdigos alm de POLY2_ so utilizados para definir a seco de diversas formas 3D utilizando-se os comandos a seguir: POLY_ maski PRISM_ maski CPRISM_ maski BPRISM_ maski CROOF_ maski EXTRUDE si PYRAMID si REVOLVE si SWEEP si TUBE si Vamos ver mais adiante todas as variantes dessas formas que so um pouco mais complexas do que as que j conhecemos. Tenha em mos a tabela acima quando for desenhar uma poli-linha mais complexa, pois realmente difcil decorar tudo isso. Retomemos a nossa POLY2_ POLY2_ 6, 1, 0, 0, 601, 1, 1, 101, 2, 1, 101, 3, -30, 201, 1.5, 1, 801, 2, 0, 301 POLY2_ 8, 1, 0, 0, 601, 1, 1, 101, 2, 1, 101, 3, -30, 201, 1.5, 1, 801, 2, 0, 301, 8, 1, 901, 0, -270, 4001

POLY2_ 9, 1, 0, 0, 601, 1, 1, 101, 2, 1, 101, 3, -30, 201, 1.5, 1, 801, 2, 0, 301, 8, 1, 901, 0, -270, 4001, 6.5, -0.5, 1001 54

POLY2_ 10, 1, 0, 0, 601, 1, 1, 101, 2, 1, 101, 3, -30, 201, 1.5, 1, 801, 2, 0, 301, 8, 1, 901, 0, -270, 4001, 6.5, -0.5, 1001, 1.5, -90, 2001 POLY2_ 12, 1, 0, 0, 601, 1, 1, 101, 2, 1, 101, 3, -30, 201, 1.5, 1, 801, 2, 0, 301, 8, 1, 901, 0, -270, 4001, 6.5, -0.5, 1001, 1.5, -90, 2001, 5, -3, 901, 4.5, -2.5, 3001 POLY2_ 13, 1, 0, 0, 601, 1, 1, 101, 2, 1, 101, 3, -30, 201, 1.5, 1, 801, 2, 0, 301, 8, 1, 901, 0, -270, 4001, 6.5, -0.5, 1001, 1.5, -90, 2001, 5, -3, 901, 4.5, -2.5, 3001, 0, 0, 700

Exerccios do Captulo 2Como havamos falado vamos mostrar agora o script dos exerccios do captulo 2. Se voc conseguiu faz-los bem possvel que seus scripts no sejam exatamente iguais ao que ser aqui mostrado. O que importa se eles funcionam ou no. medida que vamos avanando nossos scripts vo ficando diferentes. Quem j teve a curiosidade de abrir um item da biblioteca percebeu que os scripts so repletos de informaes desconhecidas, difceis de interpretar. 55

Poste com luminria - Script 3D!!!!!!! P!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! material objeto_1 !Referncia para parmetro de cor ADD -0.15, -0.15, 0 !Deslocar a origem para ao centro do bloco BLOCK 0.30, 0.30, 0.03 !Base do p 30 cm x 30 cm, origem no centro DEL 1 !Apagando deslocamento ADDZ 0.03 !Elevando para chanfro ADDZ 0.02 !Determinando altura z do corte CUTPLANE !Cortando para produzir o chanfro DEL 1 !Apagando altura do corte PYRAMID 4, 0.05, 1+4+16, !Pirmide truncada para Chanfro do p -0.15, -0.15,0 !Base da pirmide com 0.30 por 0.30 com origem no centro 0.15, -0.15,0, 0.15, 0.15,0, -0.15, 0.15,0 CUTEND !Fim do corte !!!!!!!!!!Poste!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! material objeto_2 !Referencia para parmetro de cor ADD -0.035, -0.035, 0.02 !Deslocando a origem e altura sobre o p BLOCK 0.07,0. 07,2 !Poste 7 cm x7cm x 2m DEL 1 !!!!!!!!!!!Luminria!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! material objeto_3 !Referencia para parmetro de cor ADDZ 2.45 !Deslocando a luminria do cho ao topo do poste ROTX 180 !Girando a luminria na posio correta ADDZ 0.43 !Altura z de corte da pirmide CUTPLANE !Corte DEL 1 !Apagando altura de corte PYRAMID 4, 0.60, 1+4+16, !Pirmide que gera a luminria 60-43(corte) =23 cm -0.25, -0.25, 0, 0.25, -0.25, 0, 0.25, 0.25, 0, -0.25, 0.25, 0 CUTEND ! Fim do corte !!!!!!!!!!!!!!!!!Chapu!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! material objeto_4 !Referencia para parmetro de cor ROTX 180 PYRAMID 4, 0.15, 1+4+16, !Pirmide que faz o chapu -0.30, -0.30, 0, 0.30, -0.30, 0, 0.30, 0.30, 0, -0.30, 0.30, 0 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Poste com luminria - Script 2D

Poste com luminria - Parmetros

56

Banqueta Script 3D!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!Construindo a banqueta com a origem no centro do objeto!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ADDZ 0.45 !Elevando o assento !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! MATERIAL Assento !Criando nome de parmetro do material do assento !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! CYLIND 0.02, 0.15 !Criando o Assento !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! DEL 1 !Voltando em G !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ADD -0.13, -0.13,0 Para centralizar as pernas pelo ponto G !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! MATERIAL Pernas !Criando nome de parmetro do material das pernas !!!!!!!!!!!!!!!!Perna 1!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! EXTRUDE 4, 0.04, 0.04, 0.45, 1+2+4+16+32, 0, 0, 0, 0.03, 0, 0, 0.03, 0.03, 0, 0, 0.03, 0 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ADDX 0.23 !Deslocando para Perna 2 !!!!!!!!!!!!!!!!Perna 2!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! EXTRUDE 4, -0.04, 0.04, 0.45, 1+2+4+16+32, !Igual perna 1 trocando o dx negativo para 0, 0, 0, !Acertar a inclinao da perna 0.03, 0, 0, 0.03, 0.03, 0, 0, 0.03, 0 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ADDY 0.23 !Deslocando para Perna 3 !!!!!!!!!!!!!!!Perna 3!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! EXTRUDE 4, -0.04, -0.04, 0.45, 1+2+4+16+32, !Igual a perna 2 com o dy negativo para 0, 0, 0, !Acertar a inclinao da perna 0.03, 0, 0, 0.03, 0.03, 0, 0, 0.03, 0 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ADDX -0.23 !Deslocando para Perna 4 !!!!!!!!!!!!!!!Perna !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! EXTRUDE 4, 0.04, -0.04, 0.45, 1+2+4+16+32, !Igual a perna 3 com o dx positivo para 0, 0, 0, !Acertar a inclinao da perna 0.03, 0, 0, 0.03, 0.03, 0, 0, 0.03, 0 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! DEL top !Limpando todas as transf. e voltando em g !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ADD -0.13, -0.13,0 !Deslocando a origem para 1 perna !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ADD 0.040222,0. 035321, 0.115 !Deslocamento para travessa 1 em relao s pernas !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ROTX 85 !Inclinando a travessa !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Continua...

57

....Continuao !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! MATERIAL Travessas !Criando nome para parmetro material travessas !!!!!!!!!!!!!!!!!!!!!!!!!!!Travessa 1!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! PRISM 4,0. 02, 0, 0, 0.1794, 0, !Travessa 1 0.1741, 0.06, 0.0052,0. 06 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! eslocando eixos para Travessa 1 ADD 0.184457,0, -0.004901 !Coordenadas extradas em desenho AutoCAD ROTY 90 !Ajustando os eixos para travessa 2 ROTZ 5 !Eliminando a inclinao do eixo z ROTX -5 !Inclinando a travessa !!!!!!!!!!!!!!!!!!!!!!!!!Travessa 2!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! PRISM 4,0. 02, !Travessa 2. Exatamente igual travessa 1 0, 0, 0.1794, 0, 0.1741, 0.06, 0.0052,0. 06 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ADD 0.184457,0, -0.004901 ROTY 90 !Ajustando novamente os eixos para travessa 3 ROTZ 5 ROTX -5 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! PRISM 4,0. 02, 0, 0, 0.1794, 0, !Travessa 3 Igual a 2 0.1741, 0.06, 0.0052,0. 06 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ADD 0.184457,0, -0.004901 ROTY 90 ROTZ 5 !Ajustando novamente os eixos para travessa 4 ROTX -5 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! PRISM 4,0. 02, 0, 0, 0.1794, 0, !Travessa 4. Iguais as outras 0.1741, 0.06, 0.0052,0. 06 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! DEL top ! Limpando transformaes voltando a G !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

possvel reduzir bem o Script criando apenas uma perna e uma travessa e criar um comando para posicionar as outras trs. Veremos isso em um captulo especfico. Aguardem.

58

Banqueta Script 2D

No foram acrescentados neste objeto HOTSPOT (pontos quentes). Nesse caso o programa coloca automaticamente um ponto no centro mais 4, um em cada extremidade do objeto. Banqueta Parmetros

Note os parmetros criados para materiais e para trama e canetas. A trama escolhida a trama vazia, a mesma usada pelos objetos da biblioteca do Archicad. Ela permite que o objeto seja selecionado facilmente com a ferramenta de seleo magntica. O objeto na planta ficar branco e se destacar sobre a trama do piso. 59

Poltrona script 3D Poltrona texto 2DPROJECT2 3, 270, 2 !Acrescentando Trama e Canetas. Facilita selecionar o objeto na planta !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! PEN contorno_pen !Parmetro caneta contorno FILL trama_tipo !Parmetro tipo trama !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !Desenhando a Poli-linha para trama !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! POLY2_B 17, 7, preench_pen, fundo_pen, !Poli-linha fechada (arco total) 0, -0.02, 0, 0.760, -0.02,0, 0.760, 0, 0, 0.629, 0, 0, 0.679, 0.05, 0, 0.679, 0.45, 0, 0.629, 0.50, 0, 0.76, 0.50, 0, 0.76, 0.52, 0, 0, 0.52, 0, 0, 0.500, 0, 0.053, 0.50, 0, 0.035, 0.40, 0, 0.035, 0.106, 0, 0.053, 0.0, 0, 0, 0, 0, 0, -0.02, 0 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!!!!!!!!!!!!!!!!!!!!!!LATERAIS!!!!!!!!!!!!!!!!!!!!!!!! MATERIAL laterais ROTX 90 PRISM 11,0. 02, 0,0, 0.08,0, 0.23,0. 23, 0.53,0. 23, 0.68,0, 0.76,0, 0.63,0. 35, 0.30,0. 35, 0.13,0. 88, 0.03,0. 88, 0.13,0. 35 ADDZ -0.52 PRISM 11,0. 02, 0,0, 0.08,0, 0.23,0. 23, 0.53,0. 23, 0.68,0, 0.76,0, 0.63,0. 35, 0.30,0. 35, 0.13,0. 88, 0.03,0. 88, 0.13,0. 35 DEL 2 !!!!!!!!!!!!!!!!ENCOSTO!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! MATERIAL encosto ADD 0.11, 0, 0.63 ROTY -90 ROTY -10.6856 PRISM 6, 0.02, 0,0, 0,0. 50, 0.20,0. 50, 0.30,0. 40, 0.30,0. 10, 0.20,0 DEL 3 !!!!!!!!!!!!!!!!!1 TRAVESSA!!!!!!!!!!!!!!!!!!!!!!!!! MATERIAL travessas ADD 0.15,0, 0.31 ROTY -10.6856 BLOCK 0.02,0. 50,0.10 DEL 2 !!!!!!!!!!!!!!!!!!2 TRAVESSA!!!!!!!!!!!!!!!!!!!!!!!! ADD 0.18,0, 0.27 ROTY -4 BLOCK 0.45,0. 50,0.02 DEL 2 !!!!!!!!!!!!!!!!!!Almofada!!!!!!!!!!!!!!!!!!!!!!!!!!!! MATERIAL Almofada ROTY -4 ADD 0.45,0. 25,0.28 PRISM_ 8,0. 07, -0.25, -0.20,15, -0.20, -0.25,15, 0.20, -0.25,15, 0.25, -0.20,15, 0.25,0. 20,15, 0.20,0. 25,15, -0.20,0. 25,15, -0.25,0. 20,15 DEL top

Primeiro fizemos um PROJECT2 para definir o desenho de planta. Depois fizemos uma POLY2_B com o contorno da poltrona para aplicarmos a trama. Inserimos antes a declarao de trama e caneta de contorno. As declaraes de caneta da trama e caneta de fundo de trama esto contidas na POLY. Veja como ficaram os Parmetros

60

A insero de uma trama vazia nos objetos de aula.Compare seus exerccios com os apresentados aqui, corrija se for o caso, acrescente os parmetros: Materiais, Tramas e canetas. Caso no tenha feito ainda, renderize uma imagem e acrescente uma a imagem ver antes. Salve os objetos para posterior aperfeioamento. Abra o objeto Mesa 01 e complete tambm o objeto com POLY para trama, parmetros e declaraes de trama e canetas no script 3D. Para completarmos os objetos Salvos at o momento precisamos de uma declarao que simplifique o script, especificamente das formas que aparecem repetidas vria vezes. Vamos ver isso no prximo captulo. Vamos iniciar tambm a parametrizao parcial e total das dimenses de alguns objetos. Recapitulando os objetos que esto salvos: Mesa 01; Gradil de madeira; Poste com luminria Banqueta; Poltrona. Exerccios recomendados para treino: Exercitar bem as POLYs com segmentos de reta e arcos. Tentem criar algumas com elementos vazados. Reveja sempre os captulos anteriores, muito importante dominar bem tudo o que foi ensinado. Faa seus prprios objetos com as tcnicas at agora demonstradas. So poucas ainda, mas isso vai ativar sua criatividade.

61

Captulo 6Declaraes de controle de fluxo (loops) Simplificao do script Inicio a parametrizao de medidas

62

Declaraes de controle de fluxo (loops)Loops - FOR ... TO (De...Para) Loops, palavra inglesa sem uma traduo especfica aqui utilizada para determinar uma forma de distribuir vrios elementos iguais ao longo de um caminho. Imagine fazer um objeto como uma roda de aros, onde teramos que repetir dezenas de vezes a mesma informao, ou mesmo um gradil onde teramos que repetir muitas vezes a informao para fazermos as barras horizontais e verticais. Com o comando FOR....TO possvel simplificar esse trabalho, basta informarmos a forma de um ou mais elementos e com uma declarao distribu-los ao longo de um caminho. Entre outras existem 3 formas mais comuns de se fazer isso: 1. Usando um espaamento dado e multiplicar n elementos. 2. Usado um espaamento dado e distribuir um nmero desconhecido de elementos ao longo de uma distancia pr-determinada. 3. Podemos tambm distribuir elementos de forma circular aplicando ngulos. Vamos aos exemplos: A declarao:FOR nome=1 TO n ------------------------------------------------NEXT nome nome = atribumos um nome qualquer sem espaos. Pode-se usar tambm apenas uma letra 1= representa que iniciamos com um para repetir n vezes. n = nmero de elementos que desejamos repetir.

Os elementos que sero repetidos podem ter uma nica forma ou um conjunto delas que estaro abaixo da declarao.NEXT nome: colocado no final. Tudo que esta entre FOR TO e NEXT ser multiplicado.

Ex: FOR i=1 TO 6 ADDY 5 BLOCK 1,2,3 NEXT i

Note que a distribuio ao longo do eixo y aconteceu com o primeiro elemento a uma distancia 5 em relao a ponto de origem e o ponto L ficou no ltimo elemento. Para que o primeiro elemento fique no ponto G temos que informar da seguinte maneira: FOR i=1 TO 6 BLOCK 1,2,3 ADDY 5 NEXT i

63

Para que L volte ao ponto de origem G basta acrescentar DEL 6 aps NEXT, ou seja, DEL com o nmero igual ao nmero de elementos multiplicados:

FOR i=1 TO 6 BLOCK 1,2,3 ADDY 5 NEXT i DEL 6

Vamos ver como fica a multiplicao de um balaustre a 70 cm um do outro!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! FOR i=1 TO 4 !Multiplicando balaustres !!!!!!!!!!!!!!!!!!!!!!Balaustre!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ADD -0.06, -0.06,0 !Deslocamento para centrar base em G BLOCK 0.12, 0.12, 0.02 !Base ADD 0.01, 0.01, 0 !Deslocamento x e y para centrar a coluna BLOCK 0.10, 0.10, 1 !COLUNA ADD 0.05, 0.05, 1 !Deslocamento 3 eixos para cone CONE 0.05, 0.05,0,90,90 !Cone regular ADD 0,0,0.06 !Deslocamento em z para esfera SPHERE 0.06 !A bola DEL 4 !Fim do Balaustre tira 4 ltimos deslocamentos !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ADDX 0.70 !Distancia entre balaustres NEXT i !Final multiplicao balaustre !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! DEL 4 !Voltando ao ponto G

Se trocarmos o valor de i para 0, o valor TO 4 se referir ao nmero de vos, ento teremos cinco colunas ao invs de quatro. Mas isso tem pouca importncia j que podemos usar o i=1 e TO 5. J para distribuirmos um nmero de colunas num determinado comprimento o que importa so os vos, portanto usaremos nesse caso i = 0 e no TO usaremos o comprimento total da distribuio. Neste caso teremos que usar uma informao a mais que o STEP que define o espaamento entre colunas. Ex: 64

FOR i = 0 TO 3.30 STEP 0.62 !!!!!!!!!!!!!!!!!!!!!!Balaustre!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ADD -0.06,-0.06,0 !Deslocamento para centrar base em G BLOCK 0.12, 0.12, 0.02 !Base ADD 0.01, 0.01, 0 !Deslocamento x e y para centrar a coluna BLOCK 0.10,0.10, 1 !COLUNA ADD 0.05,0.05,1 !Deslocamento 3 eixos para cone CONE 0.05,0.05,0,90,90 !Cone regular ADD 0,0,0.06 !Deslocamento em z para esfera SPHERE 0.06 !A bola DEL 4 !Fim do Balaustre tira 4 ltimos deslocamentos !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ADDX 0.62 NEXT i !Final multiplicao balaustre !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! DEL top ! Usamos DEL top por no saber o nm. de colunas !Acrescentamos abaixo uma barra horizontal do mesmo !comprimento do FOR TO STEP para analisarmos o !comportamento ADDZ 0.90 BLOCK 3.30, 0.03, 0.03 DEL 1

Mesmo acrescentando o STEP temos que informar tambm o deslocamento em x (ADDX 0.62) Temos que ter cuidado para que o valor seja o mesmo, caso contrrio no teremos a distribuio perfeita. Outro problema neste sistema que se o valor de TO no for mltiplo do espaamento as colunas sero distribudas sobre uma distncia mltipla do espaamento, aproximando-se para menos do valor estipulado. No exemplo ao lado colocamos uma barra no mesmo comprimento de TO, para podermos avaliar o resultado. claro que temos uma soluo para isso, caso contrrio o comando seria intil. Vejamos a figura resultante:

Note que temos 6 colunas e 5 vos. Se dividirmos 3,30 por 0,62, teremos 5,3225, portanto 5 espaos sobrando uma frao que corresponde a 0,20 que o que sobra na barra.

O truque que vamos ver consiste em corrigir o valor do espaamento para que as divises dem certo, o mais aproximando possvel do espaamento escolhido. Isso far mais sentido quando formos parametrizar as dimenses, por exemplo, de um gradil. No momento como estamos usando dimenses fixas bastaria escolher um espaamento adequado (3,30/6=0,55 ou 3,30/5=0,66). Que o que o programa vai fazer por ns como mostraremos a seguir. Vamos antes escolher alguns nomes para usar no script: nvaos = nmero de vos espcor = espaamento corrigido

Usaremos esses nomes no script GDL a seguir:Obs.: Isto j um inicio de parmetrizao de objetos. Criam-se frmulas e substitui-se nos parmetros.

65

nvaos=INT(0.5+ 3.30/0.62) !Retorna um nmero inteiro, desprezando a parte decimal (define nmero de vos) espcor = 3.30/nvaos !Formula para corrigir o espaamento. Comprimento / nmero de vos !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! FOR i = 0 TO 3.30 STEP espcor !Usa o valor da formula para aplicar no STEP !!!!!!!!!!!!!!!!!!!!!!Balaustre!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ADD -0.06,-0.06,0 !Deslocamento para centrar base em G BLOCK 0.12, 0.12, 0.02 !Base ADD 0.01, 0.01, 0 !Deslocamento x e y para centrar a coluna BLOCK 0.10,0.10, 1 !COLUNA ADD 0.05,0.05,1 !Deslocamento 3 eixos para cone CONE 0.05,0.05,0,90,90 !Cone regular ADD 0,0,0.06 !Deslocamento em z para esfera SPHERE 0.06 !A bola DEL 4 !Fim do Balaustre tira 4 ltimos deslocamentos !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ADDX espcor !Usa o valor da formula para definir espaamento NEXT i !Final multiplicao balaustre !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! DEL top !Voltando ao ponto G ADDZ 0.90 BLOCK 3.30, 0.03, 0.03 DEL 1

O que aconteceu neste script foi que o valor de 0,62 de espaamento foi convertido para 0,66 para eliminar o espao sobrando na barra. Quando fizermos um objeto parametrizado essas frmulas permitiro o objeto ocupar qualquer distncia mantendo a separao dos elementos iguais e mais ou menos dentro do padro escolhido.

Veja na figura resultante que as divises ficaram uniformes e ocupando todo o comprimento da barra.

Vamos ver agora como fazemos uma multiplicao de elementos num percurso curvo, usando como parmetros ngulos. Neste caso as informaes so colocadas de maneira diferente. 66

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! FOR i=0 TO 120 STEP 15 !Percorre angulo de 120com espaamento de colunas 15 ROTZ i !Define que rotao no eixo Z ADDX 3 !Raio do circulo !!!!!!!!!!!!!!!Nosso Balaustre!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ADD -0.06,-0.06,0 !Deslocamento para centrar base em G BLOCK 0.12, 0.12, 0.02 !Base ADD 0.01, 0.01, 0 !Deslocamento x e y para centrar a coluna BLOCK 0.10,0.10, 1 !COLUNA ADD 0.05,0.05,1 !Deslocamento 3 eixos para cone CONE 0.05,0.05,0,90,90 !Cone regular ADD 0,0,0.06 !Deslocamento em z para esfera SPHERE 0.06 !A bola DEL 4 !Fim do Balaustre tira 4 ltimos deslocamentos !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! DEL 2 !Apaga as transformaes do FOR TO NEXT i !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!Criamos aqui uma barra redonda. Forma ainda no estudada!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!para termos melhor noo da curva!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ADD 3, 0 , 0.80 !Posicionamento x e elevao em z ROTx -90 ROTz 180 ELBOW 3, 120, 0.03 !Barra circular !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! DEL 2 !Voltando a origem G

Note que colocamos as transfomaes do FOR TO logo abaixo do comando e aplicamos antes de NEXT um DEL 2 que apaga essas transformaes. .

67

Vamos explorar aqui pequenos exemplos de FOR TO para entendermos bem as possibilidades que temos com esses comandos. interessante voc pegar os exemplos e mexer com os nmeros e transformaes e observar o que d certo e o que no d. Faa experimentaes. assim que estou aprendendo e assim que voc tambm apreender. De princpio tudo parece muito complexo, mas tudo segue uma lgica. A partir de um dado momento os comandos passam a ser intuitivos e voc vai desenvolvendo uma forma de pensar GDL. !Quatro ps de uma mesa quadrada FOR k=1 TO 4 BLOCK 0.05, 0.05, 0.75 ROTZ -90 ADDX 0.80 NEXT k !Obs.: ROTZ positivo no funciona, deixa os ps desencontrados. O correto colocar o ponto G no centro do p para poder usar ROTZ positivo ou negativo: No necessrio um DEL para as transformaes do FOR TO porque a ultima perna termina na origem G FOR k=1 TO 4 ADD -0.025, -0.025, 0 BLOCK 0.05, 0.05, 0.75 DEL 1 ROTZ 90 ADDX 0.80 NEXT k !Quatro ps de uma mesa retangular

O DEL 1 no script corresponde colocao do G no centro do p.

(FOR TO dentro de FOR TO)68

Quatro ps de uma Mesa retangularFOR k=1 TO 2 !!!!!!!!!!!!!!!!!!!!! ADDY -1.00 FOR e=1 TO 2 ADDY 1.00 !!!!!!!!!!!!!!!!!!!!! ADD -0.025, -0.025, 0 BLOCK 0.05,