Sei sulla pagina 1di 115

Capitulo 1

Introduo 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

A janela para criar objetos em GDL


Abra 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.

Cilindro
CYLIND 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.

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

Elipside
ELLIPS h, r
Experimente vrias dimenses e ver que pode produzir diferentes slidos com este comando que j se assemelham a muitos objetos que conhecemos:

Cone regular ou truncado


CONE 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

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 formas
Outras 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 objetos


Digite 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

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)

Captulo 2
Recapitulao 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 DEL
Variaes: 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 travessas


mude 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

Prisma
Comando: PRISM n, h, x1, y1, . . . xn, yn
n = 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.

Pirmide
Comando: 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, 0
Desenho AutoCad X = cotas verticais Y = cotas horizontais Valores positivos ou negativos conforme o quadrante.

20

Exemplo de Pirmide aberta usando mask 0 + 0 + 0


Giramos 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 Corte
Plano 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

Extruso
Este 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 3
Exerccios 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 01
ELLIPS 0.02, 0.10 ROTX 180 ADDZ -0.11 ELLIPS 0.10, 0.10

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

!Exerccio 03
BLOCK 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 04
ADD -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

!Continuao
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 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 05
ADDZ 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 06
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 !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 07
ROTY -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 2D
Como 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 4
Texto 2D Comando POLY2. Comando SPLINE2 Comando PROJECT2

37

Comando POLY2
POLY2 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 POLY


Os 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 SPLINE2
Este 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 PROJECT2
Este 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 5
POLY2. 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 canetas


Vamos 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

100
0, 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.

700
POLY2_ 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 2
Como 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 2D


PROJECT2 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 6
Declaraes 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 retangular


FOR k=1 TO 2 !!!!!!!!!!!!!!!!!!!!! ADDY -1.00 FOR e=1 TO 2 ADDY 1.00 !!!!!!!!!!!!!!!!!!!!! ADD -0.025, -0.025, 0 BLOCK 0.05, 0.05, 0.75 DEL 1 !!!!!!!!!!!!!!!!!!! NEXT e !!!!!!!!!!!!!!!!!!!!! DEL 1 !!!!!!!!!!!!!!!!!!!!! ADDX 0.70 NEXT k !!!!!!!!!!!!!!!!!!!!! DEL top !!!DICA!!! !Para entender a lgica do script coloque uma exclamao (!) na frente de !cada Cdigo e depois v retirando na seqncia indicada (1), (2) (3).....e !visualizando a cada retirada de exclamao.No caso das etapas (4) e (6) !Tem que remover a exclamao simultaneamente em todos os cdigos indicados com !(4) e com (6) antes de visualizar. !(6) Multiplicao !(4) Recuando origem !(4) Multiplicao !(4) Espaamento !(2) Deslocando G para o centro da perna !(1) Criando perna !(3) Apagando transformao (2) !(4) Final multiplicao !(5) Voltando em G (apaga trasf. do FOR e) !(6) Espaamento !(6) Final multiplicao !(7) Voltando a G (apaga transf. do FOR k)

Pausa para reflexo


No exemplo acima mostra que o pensamento GDL no linear. Eu comeo o script pelo cdigo que define a forma, depois vou acrescentando as transformaes e outros antes e depois do cdigo. Por esse fato muito difcil interpretar um script GDL depois de pronto. Acostume-se a incluir comentrios nos objetos criados, caso tenha que alter-los ficar mais fcil interpret-los. Reunir partes separadas por linhas de exclamao so artifcios interessantes que ajudam a interpretar algumas etapas do script. Uso tambm o copiar/colar para evitar digitar comandos repetitivos ou parecidos. O difcil mesmo e acostumar com vrgula e ponto, causa da maioria dos erros nos cdigos. 69

Uma dica para a interpretao buscar primeiro as formas que definem os slidos, depois observar como so organizadas as declaraes antes e depois. Agora mais alguns exemplos. No Vou colocar comentrios, tente interpret-los. Copie e cole num novo objeto e altere para entender as possibilidades. ADD -0.30, -0.30,0 FOR Joao=1 TO 10 ADDX 0.30 FOR Antonio=1 TO 10 ADDY 0.30 CYLIND 0.40, 0.10 NEXT Antonio DEL 10 NEXT Joao DEL Top ADD -0.30, -0.30,0 FOR Joao=1 TO 10 ADDX 0.30 FOR Antonio=1 TO 10 ADDY 0.30 CYLIND 0.40, 0.10 NEXT Antonio DEL 10 NEXT Joao DEL 11 ADDX -0.30 FOR Joao=1 TO 10 ADDX 0.30 FOR Antonio=1 TO 10 CYLIND 0.40, 0.10 ADDY 0.30 NEXT Antonio DEL 10 NEXT Joao DEL top

ADDX -0.30 FOR Joao=1 TO 10 ADDX 0.30 ADDY -0.30 FOR Antonio=1 TO 10 ADDY 0.30 CYLIND 0.40, 0.10 NEXT Antonio DEL 9 NEXT Joao DEL top

ADDX -0.30 ADDY -0.30 FOR Joao=1 TO 10 ADDX 0.30 FOR Antonio=1 TO 10 ADDY 0.30 CYLIND 0.40, 0.10 NEXT Antonio DEL 10 NEXT Joao DEL 12

ADDX -0.30 ADDY -0.30 FOR Joao=1 TO 10 ADDX 0.30 FOR Antonio=1 TO 10 ADDY 0.30 CYLIND 0.40, 0.10 NEXT Antonio DEL 10 NEXT Joao DEL top

Propositalmente coloquei nomes de Joao e Antonio aos FOR para mostra que ai voc pode usar qualquer nome, desde que no tenha espaos nem acentuao. Se colocar Joo e Antnio o script d erro. Outra coisa interessante. Os scripts acima so todos diferentes, mas produzem o mesmo objeto. Isso mostra que um script GDL pode variar de um programador para outro. como dizer em nossa linguagem: Joo e Antnio so bons estudantes. ou Joo bom estudante e Antnio tambm. ou ainda, So bons estudantes, tanto Joo como Antnio. Ou mesmo, Ambos so bons estudantes, Joo e Antnio. Como toda a linguagem, GDL pode ser articulada de diversas maneiras, para dizer a mesma coisa. Da maneira que estamos aprendendo o script correto o que est abaixo: 70

FOR Joao=1 TO 10 !!!!!!!!!!!!!!!!!!! FOR Antonio=1 TO 10 !!!!!!!!!!!!!!!!!!! CYLIND 0.40, 0.10 !!!!!!!!!!!!!!!!!!! ADDX 0.30 NEXT Antonio DEL 10 !!!!!!!!!!!!!!!!!!! ADDY 0.30 NEXT Joao DEL 10

Veja o objeto resultante:

Outros exemplos:

FOR i=0 TO 23 ROTZ 15 ADDX 0.30 CYLIND 0.40, 0.10 NEXT i

Os exemplos demonstram que scripts pequenos podem produzir muitos elementos.

FOR k=0 TO 360 STEP 6 ROTZ k !!!!!!!!!!!!!!!!!!!!!!!!!!!!! FOR i=1 TO 6 !!!!!!!!!!!!!!!!!!!!!!!!!!!!! ADDX 2.5 CYLIND 0.20, 0.10 DEL 1 !!!!!!!!!!!!!!!!!!!!!!!!!!!!! ADDX 0.40 NEXT i DEL 6 !!!!!!!!!!!!!!!!!!!!!!!!!!!!! DEL 1 NEXT k !!!!!!!!!!!!!!!!!!!!!!!!!!!!!

71

Os tais aros de uma roda que mencionamos no comeo do captulo. Falta aprendermos alguns comandos para fazer a roda tambm, mas ns chegamos l.

Note que o script relativamente pequeno para a forma produzida. Os dois ADDs ainda poderiam formar uma nica linha: ADD 0.20, 0, -0.4358. Ai o DEL seguinte teria que ser DEL 3

FOR k=0 TO 360 STEP 15 ROTZ k !!!!!!!!!!!!!!!!!!!!! ADDX 0.20 ROTY 95 CYLIND 2.5, 0.025 DEL 2 ROTZ 7.5 ADDX 0.20 ADDZ -0.4358 ROTY 85 CYLIND 2.5, 0.025 DEL 4 !!!!!!!!!!!!!!!!!!!!!! DEL 1 NEXT k !!!!!!!!!!!!!!!!!!!!!! ADDZ -0.49 CYLIND 0.55, 0.20 !!!!!!!!!!!!!!!!!!!!!! DEL 1

Simplificao do script
Conhecendo agora as declaraes de fluxo podemos simplificar bastante alguns objetos que guardamos. Vamos comear pela nossa mesa. Vamos fazer um comparativo para ver se temos algum ganho.
!Mesa MATERIAL Mat_1 ADDZ 0.72 BLOCK 1, 0.80, 0.03 !Tampo DEL 1 MATERIAL Mat_2 FOR q=1 TO 2 FOR p=1 TO 2 ADD 0.02, 0.02, 0 BLOCK 0.05, 0.05, 0.72 !Perna DEL 1 ADDX 0.91 NEXT p DEL 2 ADDY 0.71 NEXT q DEL 2 MATERIAL Mat_3 FOR m=1 TO 2 ADD 0.07, 0.03, 0.62 BLOCK 0.86, 0.03, 0.10 !Travessa 1 DEL 1 ADDY 0.71 NEXT m DEL 2 FOR s=1 TO 2 ADD 0.03, 0.07, 0.62 BLOCK 0.03, 0.66, 0.10 !Travessa 2 DEL 1 ADDX 0.91 NEXT s DEL 2

!Mesa MATERIAL Mat_1 ADDZ 0.72 BLOCK 1, 0.80, 0.03 ! Tampo DEL 1 ADD 0.02, 0.02, 0 MATERIAL Mat_2 BLOCK 0.05, 0.05, 0.72 !Perna 1 ADDX 0.91 BLOCK 0.05, 0.05, 0.72 !Perna 2 ADDY 0.71 BLOCK 0.05, 0.05, 0.72 !Perna 3 ADDX -0.91 BLOCK 0.05, 0.05, 0.72 !Perna 4 DEL top MATERIAL Mat_3 ADD 0.07, 0.03, 0.62 BLOCK 0.86, 0.03, 0.10 !Travessa 1 ADDY 0.71 BLOCK 0.86, 0.03, 0.10 !Travessa 2 DEL 2 BLOCK 0.03, 0.66, 0.10 !Travessa 3 ADDX 0.91 BLOCK 0.03, 0.66, 0.10 !Travessa 4 DEL 2

Neste caso no h ganho no tamanho, pelo contrrio o script ficou maior. Isso acontece porque os elementos a multiplicar so poucos, porm talvez fique mais fcil parametrizar a mesa com o novo script. O que temos a mais so as declaraes FOR TO, NEXT e DEL, a quantidade de BLOCKs diminuiu e a transformao de coordenadas tambm tem uma a menos. Seguindo uma lgica que haver menos clculos e provvel que o novo script parametrizado seja mais rpido.

Vamos ao script da banqueta:

72

ADDZ 0.45 MATERIAL Assento CYLIND 0.02, 0.15 DEL 1 ADD -0.13,-0.13,0 MATERIAL Pernas 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 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 ADDY 0.23 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 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 DEL top ADD -0.13,-0.13,0 ADD 0.040222,0.035321, 0.115 ROTX 85 MATERIAL Travessas PRISM 4,0.02, 0, 0, 0.1794, 0, 0.1741, 0.06, 0.0052,0.06 ADD 0.184457,0,-0.004901 ROTY 90 ROTZ 5 ROTX -5 PRISM 4,0.02, 0, 0, 0.1794, 0, 0.1741, 0.06, 0.0052,0.06 ADD 0.184457,0,-0.004901 ROTY 90 PRISM 4,0.02, 0, 0, 0.1794, 0, 0.1741, 0.06, 0.0052,0.06 ADD 0.184457,0,-0.004901 ROTY 90 ROTZ 5 ROTX -5 PRISM 4,0.02, 0, 0, 0.1794, 0, 0.1741, 0.06, 0.0052,0.06 DEL top

Banqueta
No caso da banqueta o ganho no tamanho do script foi substancial, mas onde realmente o FOR TO so fundamentais nos objetos mais complexos com muitas coordenadas e com muitas repeties.

MATERIAL Mat_1 ADDZ 0.45 CYLIND 0.02, 0.15 !Assento DEL 1 ADD -0.13,-0.13,0 FOR i=1 TO 4 ROTZ -90 ADDX -0.26 MATERIAL Mat_2 EXTRUDE 4, 0.04, 0.04, 0.45, 1+2+4+16+32, !Perna 0, 0, 0, 0.03, 0, 0, 0.03, 0.03, 0, 0, 0.03, 0 MATERIAL Mat_3 ADD 0.0403,0.0353,0.115 ROTX 85 PRISM 4,0.02, !Travessa 0, 0, 0.1794, 0, 0.1741, 0.06, 0.0052,0.06 DEL 2 NEXT i DEL top

73

Gradil de madeira
Este um exemplo tpico de como a declarao de fluxo pode reduzir drasticamente o tamanho do script. Este objeto um caso clssico de parametrizao, com esse nico script parametrizado poderemos criar um gradil de qualquer tamanho com infinito nmero de balaustres e vrias travessas.
ADD -0.06,-0.06,0 MATERIAL Mat_1 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 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 top MATERIAL Mat_2 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

MATERIAL Mat_1 ADDX -0.70 FOR i=1 TO 4 ADDX 0.70 ADD -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 4 NEXT i DEL top MATERIAL Mat_2 ADD 0,-0.01,-0.15 FOR I=1 TO 3 ADDZ 0.30 BLOCK 2.10,0.02,0.15 NEXT i DEL top

Estes so os objetos que salvamos e que podem ser simplificados com este novo recurso. A Luminria no tem elementos para se mulplicar e a poltrona s tem duas laterais. No ganharamos muita coisa, apesar de que quando fizermos determinado tipo de parametrizao, faremos dois tipos, o recurso ser usado.

Inicio a parametrizao de medidas


74

Para parametrizar nossos objetos precisaro desenterrar nossos conhecimentos de matemtica aplicada. As expresses algbricas so a base fundamental do processo de parametrizao. Consiste basicamente em substituir os valores variveis por letras e expresses algbricas que vo modificar os objetos conforme os parmetros que forem criados. Para se parametrizar um objeto necessrio antes de mais nada planejar o comportamento desse objeto e o uso que faremos dele. Nosso primeiro exemplo ser bem simples. Vamos fazer a parametrizao da nossa Luminria. A nica coisa que faremos e deixar a altura do poste varivel. Comeamos sempre criando os parmetros na tela inicial de parmetros. No caso da luminria no precisamos criar nenhum. Vamos utilizar o zzyzx que o Archicad gera automaticamente. Ento teremos que criar uma frmula. zzyzx corresponde altura total do objeto, mas precisamos saber a medida do poste somente sem a luminria nem o p: Vamos chamar a altura do poste de x A frmula que precisamos ser:
x = zzyzx 0,58 0,05 (0,58 a altura total da luminria e 0,05 a altura total do p.)

Essa frmula far parte do script GDL e o x vamos colocar no lugar da altura do poste. x = zzyzx-0.58-0.05 !Altura total - luminria - base !!!!!!! P!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! MATERIAL objeto_1 !Declarao de material ADD -0.15, -0.15, 0 !Deslocar a origem para ao centro do bloco BLOCK 0.30, 0.30, 0.03 !Base do p 30cm x 30cm, 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 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 !Declarao de material ADD -0.035, -0.035, 0.02 !Deslocando a origem e altura sobre o p BLOCK 0.07, 0.07, x !Poste 7 cm x7cm x 2m DEL 1 !!!!!!!!!!!Luminria!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! MATERIAL objeto_3 !Declarao de material ADDZ x+0.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 !Declarao de material ROTX 180 !Virando a pirmide 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 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! DEL top !Voltando a origem

75

Se pedirmos para visualizar o 3D notar que a luminria ficou baixinha. Isso porque o valor da medida de ZZYZX na tela dos parmetros est igual a 1,000. O que temos que fazer e colocarmos ali um valor padro, o mesmo que estava no script e substitumos por x. Antes vamos somar a ele 0,58 da luminria + 0,05 do p. Ento o valor passa para 2,63.

Note que as medidas A e B esto com um X na visualizao. porque elas no precisam aparecer j que seus valores no sero variveis. Para mudar basta selecionar o parmetro e clicar no X. Salve o objeto e insira um no Archicad e experimente variar a altura para ver se o objeto corresponde. Muito Fcil. Para se fazer uma parametrizao mais ampla preciso fazer isso em todas as dimenses que se pretende que sejam variveis. A dificuldade est em que as medidas no entrem em conflito. Vamos mostrar agora uma coisa mais ampla. A parametrizao da Mesa 01 de nossa biblioteca. Tente descobrir como foi feito. Caso no consiga, no se desespere, estaremos em outros captulos criando exemplos mais simples e progressivos. Mesmo assim copie o script para seu objeto, acrescente os parmetros e Salve. Insira o objeto no Archicad e brinque com os parmetros. Notar que se podem criar com ele inmeros modelos de mesas. No exagere nas medidas para no criar objetos impossveis. Futuramente vamos ver se achamos uma forma para evitar esse inconveniente. Comece criando os parmetros e colocando os valores, no esquea os valores de A, B e ZZYZX Faa com que sua tela de parmetros fique exatamente igual mostrada aqui. Agora troque o texto GDL por este:

76

!Mesa simples totalmente parametrizada.


!a= comprimento da mesa (Corresponde ao A da lista de parmetros)o cdigo no distingue maisc. e minuscul. !b= largura da mesa (Corresponde ao B da lista de parmetros) !zzyzx= altura da mesa (corresponde ZZYZX da lista de parmetros) !c= espessura do tampo !d= dimenso do quadrado das pernas d > 0 <=0 !e= recuo das pernas em relao as bordas da mesa r=>0 !f= Largura da travessa f< (zzyzx-c) !g= espessura da travessa MATERIAL Mat_1 !!!!!!!!!!!!!Tampo!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ADDZ zzyzx-c !Elevando Tampo BLOCK a, b, c !Tampo DEL 1 !Apagando transformao MATERIAL Mat_2 !!!!!!!!!!!!!Pernas!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ADDY -(b-d-2*e) FOR k=1 TO 2 ADDY b-d-2*e !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ADDX -(a-d-2*e) FOR i=1 TO 2 ADDX a-d-2*e !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ADD e, e, 0 BLOCK d, d, zzyzx-c DEL 1 NEXT i DEL 1 NEXT k !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! DEL top MATERIAL Mat_3 !!!!!!!!!!Primeira travessa!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ADD e+d, e+0.01, zzyzx-c-f BLOCK a-2*(e+d), g, f !!!!!!!!!!!Segunda travessa!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ADDY b-(2*e+g+0.02) BLOCK a-2*(e+d), g, f DEL 2 !!!!!!!!!!!Terceira travessa!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ADD e+0.01, e+d, zzyzx-c-f BLOCK g, b-2*(e+d), f !!!!!!!!!!!!Quarta travessa!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ADDX a-(2*e+0.02+g) BLOCK g, b-2*(e+d), f

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Por fim vamos ver como fica o texto 2D, que tambm tem que ser parametrizado: 77

RECT2 0,0,a,b FILL trama_1 PEN pen_1 POLY2 5, 2, 0,0, a,0, a,b, 0,b, 0,0

Os prximos objetos a serem parametrizados em suas dimenses so: Banqueta Faremos com que a banqueta assuma uma altura varivel sem afetar o dimetro e a largura entre pernas; Poltrona J na poltrona faremos 2 tipos de parametrizao. A primeira para que a poltrona seja duplicada para permitir criar poltronas de um auditrio. A segunda para a poltrona ficar dupla ou tripla. Gradil de Madeira este d gosto, o tpico objeto que sem parametrizar no serve para nada. Mas antes disso, no prximo captulo daremos alguns exemplos com complexidade progressiva para se habituar ao processo.

78

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 7
Parametrizao de medidas continuao Parametrizao da banqueta Parametrizao da Poltrona

80

Parametrizao de medidas continuao


Dando continuidade ao captulo anterior vamos exemplificar um caso simples de parametrizao de medidas para podermos entender os casos mais complexos. Para construirmos um bloco paramtrico usando os parmetros A. B. e ZZYZX gerados automaticamente pelo editor GDL do ArchiCad. Digitamos: BLOCK A, B, ZZYZX Como a linguagem GDL no diferencia maisculas e minsculas podemos digitar tambm: BLOCK a, b, zzyzx Se pedirmos para visualizar o 3D teremos a imagem de um cubo. Isso porque os parmetros A, B e ZZYZX criados automaticamente esto com valor= 1.

Se formos tela dos parmetros e trocarmos os valores de A, B e ZZYZX, por exemplo, por 1,20; 0,05 e 0,10:

Ao visualizar temos a seguinte imagem: Com isso criamos um bloco totalmente parametrizado em todas as suas dimenses. Se salvarmos este objeto numa biblioteca, ao inserirmos uma cpia no ArchiCad veremos que possvel trocar esses trs parmetros e criar qualquer tamanho de bloco. Todo o objeto precisa de uma representao de planta para poder ser visto ao inseri-lo em um projeto. No caso de um objeto parametrizado a sua representao de planta tambm deve ser parametrizada. Abrindo a tela do texto 2D, digitamos: RECT2 0, 0, a, b visualizando teremos a imagem: Se mudarmos os parmetros ver que a imagem 2D acompanhar essa mudana. Para objetos que possuam medidas variveis alm do comprimento, largura e altura so necessrios criar esses parmetros e atribuir a ele uma letra ou um nome. As transformaes de coordenadas e algumas outras declaraes tambm podem ser parametrizadas. Vamos continuar com exemplo anterior e ampliar a situao. Criaremos um FOR TO NEXT parametrizado. Vamos criar um n nmero de barras distribudas em uma distncia B no eixo y. O parmetro A continua sendo o comprimento das barras. O parmetro B passa a ser a medida total ocupada pelas barras no eixo y e a zzyzx permanece como altura das barras. Criamos ento parmetros e para 81

espessura das barras, n para o nmero de barras sendo que d distancia entre barras, ser calculado pelo programa atravs de uma frmula de relacionamento entre medidas. A frmula parte da linguagem GDL que determina um relacionamento entre as medidas.

d= (B-e*n) / (n-1) FOR i=1 TO n BLOCK a, e, zzyzx ADDY d NEXT i DEL n

!Frmula que determina a distncia entre barras !Multiplicao de barras pelo parmetro n !Barra paramtrica !Distancia entre barras (Frmula) !Voltando a origem em G

Antes de visualizar temos que criar os parmetros e e n: Atribumos uma dimenso de 2 m para o parmetro B. Criamos o parmetro e para a espessura da barra e n para o nmero de barras. Atribumos um valor de 0,05 e 8 respectivamente a esses valores. Note o smbolo do tipo para o parmetro n, significa que o valor ser um nmero inteiro.

Agora podemos visualizar: Experimente atribuir outros valores para os parmetros para sentir o comportamento do objeto.

A frmula
Vamos explicar como chegamos frmula d= (B-e*n) / (n-1) Observando a ilustrao podemos dizer que B medida total ocupada pelas barras no eixo y igual ao numero de barras multiplicado pela espessura delas e somado aos espaos entre barras. Note que a quantidade de espaos igual ao nmero de barras menos um. Ento podemos formular: B= e*n + d* (n-1) d* (n-1) = B - e*n d = (B-e*n) / (n-1) usando nossos conhecimentos de expresses algbricas temos que: isolando d temos: que a frmula declarada no script. 82

Como puderam ver no muito complicado deste que se conhea um pouco de lgebra e tambm tcnica de montar as frmulas a partir de uma situao. Sem isso, adeus parametrizao. Agora precisamos tambm modificar o texto 2d para que a representao de planta acompanhe as transformaes do objeto. A forma mais fcil fazer um PROJECT 2. Essa declarao 2D tem a propriedade de acompanhar qualquer alterao paramtrica do objeto 3D. Mas se quisermos criar uma trama para podermos selecionar melhor o objeto, devemos criar tambm uma POLY parametrizada que acompanhe as transformaes do objeto. O texto 2D seria desta forma:

d= (B-e*n) / (n-1) FILL Trama_1 PEN Pen_1 PROJECT2 3, 270, 2 FOR i = 1 TO n POLY2_ 4, 1+2+4, 0,0,1, a,0,1, a,e,1, 0,e,1 ADDY d NEXT i

necessrio repetir aqui a frmula para d. Declarao de Trama caneta (precisa criar os parmetros na tela de parmetros) Criao de uma representao de planta Declarao de fluxo paramtrica Poli-linha para uma barra, precedida pela declarao FOR TO, como no texto 3D

Distncia entre barras, valor definido pela frmula Fim do FOR TO

Para este objeto ficar completo s precisa dos parmetros de materiais e os parmetros de trama e Caneta declarados no texto 2D. Crie o parmetro de material, e escolha ferro. Declare-o no texto GDL. Salve o objeto com o nome Gradil 01. Ele ser usado para criarmos um Gradil de ferro parametrizado, mais a frente.

Parametrizao da banqueta
Vamos abrir o arquivo banqueta que simplificamos para parametrizar a altura. A Banqueta ter dois itens paramtricos: A espessura do assento e e a altura da banqueta zzyzx 83

Em primeiro lugar mostramos como fica a tela de parmetros:

Colocamos a altura Default em zzyzx de 0,45. Como as dimenses A e B no so paramtricas acionamos o X para no aparecerem na configurao do objeto. Acrescentamos os Parmetros Dimenses e espessura do assento e com valor de 0,03.
h = zzyzx-e MATERIAL Mat_1 ADDZ h CYLIND e, 0.15 DEL 1 ADD -0.13,-0.13,0 !Expresso determinando relao entre h e zzyzx !Declarando material !Elevando o assento !Assento !Voltando a G !Deslocando para fazer a perna

FOR i=1 TO 4 !Quadruplicar perna e travessa ROTZ -90 !Posicionar girando anti-horrio ADDX -0.26 !Distancia entre as pernas MATERIAL Mat_2 !Declarando material EXTRUDE 4, 0.0875*h, 0.0875*h, h, 1+2+4+16+32, !Perna 0, 0, 0, 0.03, 0, 0, 0.03, 0.03, 0, 0, 0.03, 0 MATERIAL Mat_3 !Declarando material ADD 0.0403, 0.0353, 0. 115 !Posicionando a travessa ROTX 85 !Inclinando travessa PRISM 4, 0.02, !Travessa 0, 0, 0.1794, 0, 0.1741, 0.06, 0.0052, 0.06 DEL 2 NEXT i DEL top !Final da declarao de fluxo !Voltando a G

84

Criamos a frmula h = zzyzx-e onde h a altura das pernas da baqueta que igual altura total menos a espessura do assento que varivel. No Comando de extruso das pernas note que o 0.0875*h usado como deslocamento nos eixos x e y que determinam a inclinao das pernas. 0.0875 corresponde Tangente de 5. Est relacionado com h para quando a altura da banqueta variar as pernas se mantenham fixas no ngulo de inclinao de 5. Veja abaixo de onde surgiu essa relao: Com essa relao entre a altura da perna e o ngulo de 5 qualquer que seja a altura da banqueta, as pernas se mantero na mesma posio e inclinao, apenas o comprimento ser alterado. Um exagero na altura da banqueta as pernas vo se cruzar e se a altura for muito pequena as travessas invadem o assento. Como uma banqueta mini tem aproximadamente 0,30, a media 0,45 e uma grande 0,60 ningum vai trabalhar muito fora dessas dimenses. E o que acontece com o texto 2D? Nada. Como o dimetro do assento e a distncia entre pernas no varivel a vista de planta ser sempre a mesma.

Parametrizao da Poltrona
Faremos dois tipos. Um para criar poltronas mltiplas tipo auditrio e outro para criarmos uma poltrona de um a trs lugares. Vejamos o primeiro. Parmetros: Foram criados os parmetros: Espessura das laterais Nmero de assentos Espessura do encosto

Note que foi mudada a imagem ver antes. As poltronas neste tipo de parametrizao ficaro como mostra a figura. Os parmetros A, B e ZZYZX foram omitidos clicando no X. Veja tambm que nos parmetros foi acrescentado o smbolo de desdobramento na visualizao. Procure deixar seu objeto dessa forma, mas na hora de salvar use outro nome ex.: Poltrona mltipla.

85

Texto GDL:
x=0.50+e !Formula: constante distancia entre assentos

ADDY -x !Volta um estgio na declarao abaixo FOR i=1 TO n+1 !Multiplicao de laterais. n+1 para colocar a ltima lateral ADDY x !Distancia entre laterais MATERIAL laterais !Declarao de material ROTX 90 !Girando a lateral do cho para a posio PRISM 11,e, !Lateral 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 1 !Apagando uma transformao Lateral NEXT i !Final do controle de fluxo laterais DEL top !Retomando a origem ADDY -x !Volta 1 estgio na multiplicao abaixo FOR i=1 TO n !Multiplicao dos demais componentes ADDY x !Distancia entre assentos MATERIAL encosto !Declarao de material ADD 0.11, 0, 0.63 !Posicionando o encosto em x,y ROTY -90 !Girando para ficar em p ROTY -10.6856 !Inclinando o encosto no grau correto PRISM 6, -d, !Encosto (- d para o encosto engrossar para frente) 0,0, 0,0.50, 0.20,0.50, 0.30,0.40, 0.30,0.10, 0.20,0 DEL 3 !Apagando as transformaes do encosto MATERIAL travessas ADD 0.15,0,0.31 !Posicionando a travessa 1 ROTY -10.6856 !Dando a inclinao correta BLOCK 0.02,0.50,0.10 !Travessa 1 DEL 2 !Limpando transformaes travessa 1 ADD 0.18,0,0.27 !Posicionando travessa 2 ROTY -4 !Girando na posio BLOCK 0.45,0.52,0.02 !Travessa 2 DEL 2 !Limpando transformaes travessa 2 MATERIAL Almofada !Declarao de material ROTY -4 !Girando para inclinar na posio ADD 0.45,0.25,0.28 !Posicionamento em x,y,z PRISM_ 8,0.07, !Almofada -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 2 !Limpando transformaes almofada NEXT i !Final do controle de fluxo DEL top !Retomando a origem

86

Texto 2D:
PEN Pen_1 !Parmetro caneta contorno FILL Trama_1 !Parmetro tipo trama !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! PROJECT2 3, 270, 2 !Criao vista de planta atravs do 3D !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! x=0.50+e !Formula para constante de distancia entre assentos !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ADD2 0, -x FOR i=1 TO n+1 !Controle de fluxo para laterais ADD2 0, x POLY2_ 4, 1+2+4, !Laterais 0, -e, 1, 0.76, -e, 1, 0.76,0,1, 0,0,1 NEXT i !Fim co controle de fluxo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! DEL TOP !Voltando a origem !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ADD2 0, -x FOR i=1 TO n !Controle de fluxo para outros elementos ADD2 0, x !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! POLY2_ 11, 1+2+4, !Almofada 0.073,0,1, 0.054,0.10,1, 0.054,0.40,1, 0.073,0.50,1, 0.122,0.50,1, 0.179,0.50,1, 0.179,0.454,1, 0.175,0.45,1, 0.175,0.05,1, 0.179,0.046,1, 0.179,0,1 POLY2_ 8, 1+2+4, 0.225,0,1, 0.175,0.050,1, 0.175,0.45,1, 0.225,0.50,1, 0.629,0.50,1, 0.679,0.45,1, 0.679,0.050,1, 0.629,0,1 NEXT i !Encosto

!Fim do controle de fluxo

Segunda parametrizao da poltrona


Nesta parametrizao, diferentemente da anterior no multiplicaremos as laterais. Colocaremos apenas duas laterais, uma de cada lado do objeto. Faremos um encosto parametrizado acompanhando a largura da poltrona e tambm com possibilidade de engrossar. As travessas tambm acompanharo a largura total e as almofadas sero multiplicadas conforme o nmero de assentos. Apesar de recomendado um 87

nmero de assentos at trs, poderemos criar uma poltrona com mais de 3 assentos. Ainda no descobrimos um comando para limitar isso. Parmetros:

Texto GDL
x=0.46+e ADDY -(x*n+0.04) FOR i=1 TO 2 ADDY x*n+0.04 MATERIAL laterais ROTX 90 PRISM 11,e, 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 1 NEXT i DEL top MATERIAL encosto ADD 0.11, 0, 0.63 ROTY -90 ROTY -10.6856 PRISM 6, -d, 0,0, 0, x*n-e+0.04, 0.20, x*n-e+0.04, 0.30, x*n-e-0.06, 0.30,0.10, 0.20,0 DEL 3 !Continuao MATERIAL travessas ADD 0.15,0,0.31 ROTY -10.6856 BLOCK 0.02, x*n-e+0.04,0.10 DEL 2 ADD 0.18,0,0.27 ROTY -4 BLOCK 0.45, x*n-e+0.04, 0.02 DEL 2 ADDY -x FOR i=1 TO n ADDY x 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 2 NEXT i DEL top

Parmetros criados: e = espessura das laterais; n = nmero de assentos d = espessura do encosto Foram omitidas com X as dimenses A, B e ZZYZX. Formula: x= 0,46 + e Distncia entre assentos. somado a medida e compensando a espessura da lateral. Expresso x*n+0.04. Usada nas formas das travessas. Representa a distncia entre assentos multiplicado pelo nmero de assentos e somado a 0.04, que para dar uma folga entre almofadas. (Neste caso poderamos tambm usar uma formula e acrescentar no texto apenas a letra atribuda a formula). Note que no encosto foi usado tambm x*n-e+0.04, que corresponde ao espao entre assentos menos a espessura da lateral mais a folga da almofada. Onde temos x*n e-0.06 a 88

coordenada correspondente ao chanfro do encosto do lado oposto que varivel. Texto 2D


Acrescentando Trama vazia e Caneta de contorno. Facilita selecionar o objeto na planta !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! PEN pen_1 !Parmetro caneta contorno FILL trama_1 !Parmetro tipo trama PROJECT2 3,270,2 !Criando Vista de planta !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !Desenhando a Polilinhas para trama !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! x=0.46+e !Frmula distancia entre assentos ADD2 0,-(x*n+0.04) FOR i=1 TO 2 ADD2 0, x*n+0.04 POLY2_ 4, 2+4, 0,-e,1, 0.76,-e,1, 0.76,0,1, 0,0,1 NEXT i DEL TOP ADD2 0,-x FOR i=1 TO n ADD2 0,x POLY2_ 8, 2+4, 0.225,0,1, 0.175,0.050,1, 0.175,0.45,1, 0.225,0.50,1, 0.629,0.50,1, 0.679,0.45,1, 0.679,0.050,1, 0.629,0,1 NEXT i DEL top POLY2_ 6, 2+4, 0.073,0,1, 0.054,0.10,1, 0.054,(x*n+0.04)-e-0.10,1, 0.073,(x*n+0.04)-e,1, 0.179,(x*n+0.04)-e,1, 0.179,0,1 !Voltando a duplicao abaixo origem !Duplicando laterais !O valor 0.04 e por causa da folga entre almofadas !Lateral (sem contorno)

!Final duplicao laterais !Voltando a origem !Voltando a multiplicao abaixo a origem !Multiplicando almofadas !Determinando distncia de multiplicap !Almofada (sem contorno)

!Final multiplicao almofadas !Voltando a origem !Encosto (sem contorno) !Valor 0.04 para compensar folga entre almofadas !Valor 0.04 para compensar folga entre almofadas !Valor 0.04 para compensar folga entre almofadas

Reflexo: Tentar explicar uma parametrizao parece que deixa a coisa mais complicada do que ela . Parece-me ser mais fcil fazer do que entender o que foi feito. Portanto acho interessante tentar fazer pelo seu prprio raciocnio. Quando estamos fazendo e visualizando os erros aparecem e a anlise do erro nos leva a repensar o que fizemos e tentar de outra maneira. Muitas vezes a parametrizao como um quebra cabea que levamos algum tempo para descobrir a lgica. 89

Para finalizar vou mostrar algumas imagens renderizadas dos objetos parametrizados. O gradil de madeira que temos em nossa biblioteca ser parametrizar no prximo captulo, dedicado construo de gradis parametrizados e personalizados. Esses objetos so muito importantes, pois como muitas vezes so elementos decorativos feitos sob encomenda no temos disponvel muita coisa pronta.

90

Captulo 8
Parametrizao Gradil de madeira Gradis - construo

91

Parametrizao Gradil de madeira


Vamos mostra com parametrizar o objeto da biblioteca Gradil de Madeira. Abra o Archicad e em seguida abra o objeto. Os parmetros:

Refaa a tela dos parmetros como mostrado acima. Use as dimenses conforme a coluna de valor. Note que omitimos com X a medida B para no aparecer na tela de configuraes do objeto. OBS. Em captulos anteriores mencionei algo como no poder trocar a ordem dos parmetros. Falha minha. Antes de cada parmetro existe um smbolo com setinha para cima e para baixo. Pressionando o boto esquerdo do mouse sobre ela e arrastando para cima ou para baixo, muda-se a ordem dos parmetros. Texto GDL:
x=(A-d-0.02)/(nb-1) y=(zzyzx-e-0.13)/(nt-1) MATERIAL Mat_1 ADDX x FOR i=1 TO nb ADDX x ADD -(d+0.02)/2,-(d+0.02)/2,0 BLOCK d+0.02, d+0.02, 0.02 ADD 0.01, 0.01, 0 BLOCK d, d, zzyzx ADD d/2, d/2, zzyzx CONE d/2, d/2, 0, 90, 90 ADDZ d/2*1.2 SPHERE d/2*1.2 DEL 4 NEXT i DEL top MATERIAL Mat_2 ADD 0, -f/2, -y+0.10 FOR i=1 TO nt ADDZ y BLOCK (nb-1)*x, f, e NEXT i DEL top A = medida total gradil nb = nmero de balaustres nt = nmero de travessas x = distncia de balaustres y =distncia entre travessas d = medida quadrado balaustre e = largura travessa f = espessura travessa zzyzx = altura total dos balaustres sem as bolas

!Base !Coluna !Cone regular !Esfera

Tente decifrar as frmulas . Procure justificar os valores Inseridos no texto.

92

O texto 2D:
x=(A-d-0.02)/(nb-1) PROJECT2 3,270,2 PEN pen_1 FILL trama_1 !Expresso valor de x. A mesma que no 3D !Criar vista de planta do 3D !Declarao de caneta de contorno !Definio de trama (deinir parmetro como vazia)

ADD2 -d/2-0.01,-d/2-0.01 !Levar a poli-linha a posio correta ADD2 -x, 0 !Retornar um estgio da declarao abaixo FOR i=1 TO nb !Declarao de multiplicao de elementos ADD2 x, 0 !Distancia entre elementos POLY2_ 4, 1+2+4, 0, 0, 1, d+0.02, 0, 1, d+0.02, d+0.02, 1, 0, d+0.02, 1 NEXT i DEL top ADD2 0, -f/2 POLY2_ 4, 2+4, 0, 0, 1, x*(nb-1), 0, 1, x*(nb-1), f, 1, 0, f, 1 !Polilinha de contorno dos balaustres

!Fim da declarao de fluxo !Apagar tudo e voltar origem !Deslocamento travessa ao centro do balaustre !Polilinha de contorno travessa (sem contorno)*

!!* Foi usada uma POLY sem contorno para no aparecer as travessas !! atravessando os balaustres

Faa a Parametrizao do objeto e Salve-o. Experimente us-lo num projeto. Altere as configuraes do objeto para sentir o seu comportamento.

Gradis construo
Muitas vezes num projeto precisamos criar gradis personalizados. Em nosso pas temos alguns problemas de segurana e ento muito comum usarmos muitas grades em janelas e cercas. A soluo arquitetnica para isso fazer desses acessrios elementos decorativos que cumpram sua funo, mas que harmonizem com o projeto. Ter em mos alguns desses objetos parametrizados torna-se um mal necessrio. Outro problema que vejo no Archicad quanto aos corrimes de escada quando se quer combin-los com um gradil. s vezes conseguimos criar pelo processo de construo de escadas um bom corrimo, mas no temos um gradil de combine perfeitamente com ele. Vamos criar alguns exerccios. Depois a criatividade de cada um dever fazer o resto. Abra um novo objeto. A forma mais fcil de criar o objeto com medidas fixas e depois de pronto parametriz-lo. claro que teremos que pensar num script que esteja apropriado a isso. S a experincia vai permitir fazer isso com eficincia. Tentar fazer o objeto j parametrizando difcil, para isso necessrio planejar tudo antes encima de um rascunho, mas se alguma coisa no der certo, fica difcil descobrir o erro. Mesmo que voc faa um planejamento prvio utilize valores reais e construa o objeto por etapas. Quando estiver pronto inicie a parametrizao. No capitulo anterior pedi para salvar um exerccio como Gradil 01. Par confirmar o que disse acima abra o objeto e tente fazer alguma coisa a partir dele. Ver como difcil partir de um objeto 93

parcialmente parametizado. Minha recomendao para deletar o objeto e vamos construir um totalmente do zero e salv-lo com esse nome. O melhor que temos a fazer idealizar primeiramente o objeto. Crie um rascunho do objeto usando papel e lpis. Outra forma bastante eficiente e criar um desenho em escala no AutoCAD ou ArchiCAD. Eu prefiro o AutoCAD. (AutoCAD uma prancheta digital onde voc faz o quer e no o que o programa quer). Vamos criar um gradil para cercar a fachada de uma construo. O gradil ser totalmente parametrizado, permitindo usar caixilhos ou barras. Os postes de sustentao tero quantidade a escolher e podem assumir estrutura de caixilho, alvenaria ou concreto. Ser criado um mdulo paramtrico com um poste de cada lado e ser possvel introduzir quantos postes quiser igualmente distanciados no comprimento desse mdulo. Usaremos nas divises do mdulos barras redondas com um distanciamento paramtrico entre elas. O programa far um clculo para distanci-las igualmente o mais prximo possvel da medida escolhida. Primeiramente vamos fazer o objeto com medidas fixas e depois criamos as variveis.

Pensando desde j nos parmetros de materiais e medidas construiremos primeiro os postes com um FOR i=1 TO 2 e um ADDX 0.92 94

Depois faremos o quadro em volta do mdulo, em seguida inserimos as barras longas e curtas. Note que as barras longas esto de um lado a outro do mdulo e as curtas no meio dos espaos as longas. Temos que fazer um FOR TO das barras longas, um FOR TO das curtas e depois outro FOR TO em cima dos dois para o mdulo completo. O nmero de etapas do FOR TO do mdulo ser um a menos do FOR TO dos postes. Depois faremos os enfeites (Bolinhas). Vamos fazer os enfeites separados das barras para poder aplicar depois um material diferente. No possvel aplicar materiais diferentes dentro de um mesmo FOR TO, a no ser que se crie um comando para isso, mas para no complicar no vamos fazer isso agora. O chapu do poste ser criado por ltimo, mas tambm poderia vir logo depois dos postes. O FOR TO do chapu igual ao dos postes, mas no pode ser junto por causa dos materiais diferentes.
FOR i=1 TO 2 BLOCK 0.08, 0.08, 1.80 ADDX 0.92 NEXT i DEL 2 !Multiplicao de postes !Poste com seco quadrada !Distanciamento entre postes !Fim da multiplicao !Nmero de DEL igual a TO Visualizar:

Vamos acrescentar um ADD antes para colocar o G no centro do poste: ADD -0.04, -0.04, 0 FOR i=1 TO 2 BLOCK 0.08, 0.08, 1.80 ADDX 0.92 NEXT i DEL 3 !Centralizando o Gradil !Multiplicao de postes !Poste com seco quadrada !Distanciamento entre postes !Fim da multiplicao !Nmero de DEL igual a TO+1 Visualizar:

Vamos criar o contorno do mdulo. So dois blocos verticais e dois horizontais: Visualizar:

ADD -0.04, -0.04, 0 !Centralizando o Gradil FOR i=1 TO 2 !Multiplicao de postes BLOCK 0.08, 0.08, 1.80 !Poste com seco quadrada ADDX 0.92 !Distanciamento entre postes NEXT i !Fim da multiplicao DEL 3 !Nmero de DEL igual a TO+1 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ADD 0.08/2, -0.0318/2, 0.04 !Posicionando barra inferior BLOCK 0.05, 0.318, 0.74+2*0.05 !Barra chata inferior

Um erro proposital para mostrar que isso muito comum. Temos que visualizar passo a passo, analisar os erros e corrigi-los. Neste caso as dimenses do BLOCK esto erradas e invertidas. O correto BLOCK 0.74+2*0.05, 0.0318, 0.05
ADD -0.04, -0.04, 0 !Centralizando o Gradil FOR i=1 TO 2 !Multiplicao de postes BLOCK 0.08, 0.08, 1.80 !Poste com seco quadrada ADDX 0.92 !Distanciamento entre postes NEXT i !Fim da multiplicao DEL 3 !Nmero de DEL igual a TO+1 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ADD 0.08/2, -0.0318/2, 0.04 !Posicionando barra inferior BLOCK 0.74+2*0.05, 0.0318, 0.05 !Barra chata inferior Gire o objeto para se certificar que a barra esta na posio correta, de um lado a outro do poste e bem no centro do mesmo

95

As medidas 0.08/2 0.0318/2 - 74+2*0.05 foram propositadamente colocadas em forma de expresso para facilitar depois a parametrizao, Veja no desenho dimensional o fundamento das expresses. claro que na hora H algumas coisas sero repensadas. Agora podemos colocar a barra vertical esquerda sem necessidade de criar um ADD, pois a origem exatamente onde ficou o L.
ADD -0.04, -0.04, 0 !Centralizando o Gradil FOR i=1 TO 2 !Multiplicao de postes BLOCK 0.08, 0.08, 1.80 !Poste com seco quadrada ADDX 0.92 !Distanciamento entre postes NEXT i !Fim da multiplicao DEL 3 !Nmero de DEL igual a TO+1 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ADD 0.08/2, -0.0318/2, 0.04 !Posicionando barra inferior BLOCK 0.74+2*0.05, 0.0318, 0.05 !Barra chata inferior BLOCK 0.05, 0.0318, 1.80-0.08 !Barra chata vert. esq. Visualizar: Note a posio do ponto L. para colocarmos a outra barra vertical temos que fazer um ADDX no valor igual ao comprimento da barra horizontal menos a largura 0.05ou o espao interno do mdulo +0.05

Criamos ento o ADDX e o BLOCK da barra vertical direita

ADD -0.04, -0.04, 0 !Centralizando o Gradil FOR i=1 TO 2 !Multiplicao de postes BLOCK 0.08, 0.08, 1.80 !Poste com seco quadrada ADDX 0.92 !Distanciamento entre postes NEXT i !Fim da multiplicao DEL 3 !Nmero de DEL igual a TO+1 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ADD 0.08/2, -0.0318/2, 0.04 !Posicionando barra inferior BLOCK 0.74+2*0.05, 0.0318, 0.05 !Barra chata inferior BLOCK 0.05, 0.0318, 1.80-0.08 !Barra chata vert. esq. ADDX 0.74+0.05 BLOCK 0.05, 0.0318, 1.80-0.08 !Barra chata vert. dir.

Visualizar:

Agora vamos posicionar o ponto L par produzir a barra horizontal intermediria. Para isso o melhor e voltarmos posio anterior com um DEL 1, voltando apenas uma posio. Depois um ADDz eleva o ponto posio correta. Visualizar:
ADD -0.04, -0.04, 0 !Centralizando o Gradil FOR i=1 TO 2 !Multiplicao de postes BLOCK 0.08, 0.08, 1.80 !Poste com seco quadrada ADDX 0.92 !Distanciamento entre postes NEXT i !Fim da multiplicao DEL 3 !Nmero de DEL igual a TO+1 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ADD 0.08/2, -0.0318/2, 0.04 !Posicionando barra inferior BLOCK 0.74+2*0.05, 0.0318, 0.05 !Barra chata inferior BLOCK 0.05, 0.0318, 1.80-0.08 !Barra chata vert. esq. ADDX 0.74+0.05 !Posio 3 barra BLOCK 0.05, 0.0318, 1.80-0.08 !Barra chata vert. dir. DEL 1 !Apagando anterior ADDZ 0.54-0.04 !Posio barra interm. BLOCK 0.74+2*0.05, 0.0318, 0.05 !Barra intermediria

96

Para fazer a ltima barra no h necessidade de voltar em DEL, basta um ADDZ elevando o ponto L. Visualizar: ADD -0.04, -0.04, 0 !Centralizando o Gradil
FOR i=1 TO 2 !Multiplicao de postes BLOCK 0.08, 0.08, 1.80 !Poste com seco quadrada ADDX 0.92 !Distanciamento entre postes NEXT i !Fim da multiplicao DEL 3 !Nmero de DEL igual a TO+1 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ADD 0.08/2, -0.0318/2, 0.04 !Posicionando barra inferior BLOCK 0.74+2*0.05, 0.0318, 0.05 !Barra chata inferior BLOCK 0.05, 0.0318, 1.80-0.08 !Barra chata vert. esq. ADDX 0.74+0.05 !Posio 3 barra BLOCK 0.05, 0.0318, 1.80-0.08 !Barra chata vert. dir. DEL 1 !Apagando anterior ADDZ 0.54-0.04 !Posio barra interm. BLOCK 0.74+2*0.05, 0.0318, 0.05 !Barra intermediria ADDZ 1.80-0.08-0.54 !Posicionando a barra horiz. sup. BLOCK 0.74+2*0.05, 0.0318, 0.05 !Barra horiz. sup.

Est na hora de fazer um teste. Criamos um FOR m TO 3 para o mdulo e aumentamos o dos postes para 4.

ADD -0.04, -0.04, 0 !Centralizando o Gradil FOR i=1 TO 4 !Multiplicao de postes BLOCK 0.08, 0.08, 1.80 !Poste com seco quadrada ADDX 0.92 !Distanciamento entre postes NEXT i !Fim da multiplicao DEL 3 !Nmero de DEL igual a TO+1 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! FOR m=1 TO 3 ADD 0.08/2, -0.0318/2, 0.04 !Posicionando barra inferior BLOCK 0.74+2*0.05, 0.0318, 0.05 !Barra chata inferior BLOCK 0.05, 0.0318, 1.80-0.08 !Barra chata vert. esq. ADDX 0.74+0.05 !Posio 3 barra BLOCK 0.05, 0.0318, 1.80-0.08 !Barra chata vert. dir. DEL 1 !Apagando anterior ADDZ 0.54-0.04 !Posio barra interm. BLOCK 0.74+2*0.05, 0.0318, 0.05 !Barra intermediria ADDZ 1.80-0.08-0.54 !Posicionando a barra horiz. sup. BLOCK 0.74+2*0.05, 0.0318, 0.05 !Barra horiz. sup. ADDX 0.92 !distanciamento entre mdulos NEXT m

97

OPS! Algo deu errado. Note que o poste multiplicou corretamente mas o mdulo tomou um rumo completamente errado. Isso se d porque no apagamos previamente as transformaes de coordenadas anteriores. Temos 3 ADDs que no foram apagados antes do ADD da distancia entre mdulos. Se aplicarmos um DEL 3, vamos ver como fica:

ADD -0.04, -0.04, 0 !Centralizando o Gradil FOR i=1 TO 4 !Multiplicao de postes BLOCK 0.08, 0.08, 1.80 !Poste com seco quadrada ADDX 0.92 !Distanciamento entre postes NEXT i !Fim da multiplicao DEL 3 !Nmero de DEL igual a TO+1 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! FOR m=1 TO 3 ADD 0.08/2, -0.0318/2, 0.04 !Posicionando barra inferior BLOCK 0.74+2*0.05, 0.0318, 0.05 !Barra chata inferior BLOCK 0.05, 0.0318, 1.80-0.08 !Barra chata vert. esq. ADDX 0.74+0.05 !Posio 3 barra BLOCK 0.05, 0.0318, 1.80-0.08 !Barra chata vert. dir. DEL 1 !Apagando anterior ADDZ 0.54-0.04 !Posio barra interm. BLOCK 0.74+2*0.05, 0.0318, 0.05 !Barra intermediria ADDZ 1.80-0.08-0.54 !Posicionando a barra horiz. sup. BLOCK 0.74+2*0.05, 0.0318, 0.05 !Barra horiz. sup. DEL 3 ADDX 0.92 !distanciamento entre mdulos NEXT m

ADD -0.04, -0.04, 0 !Centralizando o Gradil FOR i=1 TO 4 !Multiplicao de postes BLOCK 0.08, 0.08, 1.80 !Poste com seco quadrada ADDX 0.92 !Distanciamento entre postes NEXT i !Fim da multiplicao DEL 3 !Nmero de DEL igual a TO+1 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! FOR m=1 TO 3 ADD 0.08/2, -0.0318/2, 0.04 !Posicionando barra inferior BLOCK 0.74+2*0.05, 0.0318, 0.05 !Barra chata inferior BLOCK 0.05, 0.0318, 1.80-0.08 !Barra chata vert. esq. ADDX 0.74+0.05 !Posio 3 barra BLOCK 0.05, 0.0318, 1.80-0.08 !Barra chata vert. dir. DEL 1 !Apagando anterior ADDZ 0.54-0.04 !Posio barra interm. BLOCK 0.74+2*0.05, 0.0318, 0.05 !Barra intermediria ADDZ 1.80-0.08-0.54 !Posicionando a barra horiz. sup. BLOCK 0.74+2*0.05, 0.0318, 0.05 !Barra horiz. sup. DEL 3 ADDX 0.92 !distanciamento entre mdulos NEXT m DEL 3

Algo deu errado de novo. Quando aplicamos um FOR TO o programa entende que so feitas tantas transformaes de coordenadas quanto forem o nmero de multiplicaes feitas. Portanto precisamos de um novo DEL com o valor igual ao nmero de multiplicaes, ou seja, DEL3 .

98

EPA! Parece que ficou igual! Igual no ficou. Note que o ponto L mudou de lugar. Mas pra que isso? Para mostrar que pequenos detalhes ignorados ou errados podem se tornar uma verdadeira tortura. O que est errado agora finalmente que trocamos o valor do TO de 2 para 4 e no alteramos o DEL abaixo de 3 para 5. Mudando isso a coisa d certo. Vejamos:
ADD -0.04, -0.04, 0 !Centralizando o Gradil FOR i=1 TO 4 !Multiplicao de postes BLOCK 0.08, 0.08, 1.80 !Poste com seco quadrada ADDX 0.92 !Distanciamento entre postes NEXT i !Fim da multiplicao DEL 5 !Nmero de DEL igual a TO+1 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! FOR m=1 TO 3 ADD 0.08/2, -0.0318/2, 0.04 !Posicionando barra inferior BLOCK 0.74+2*0.05, 0.0318, 0.05 !Barra chata inferior BLOCK 0.05, 0.0318, 1.80-0.08 !Barra chata vert. esq. ADDX 0.74+0.05 !Posio 3 barra BLOCK 0.05, 0.0318, 1.80-0.08 !Barra chata vert. dir. DEL 1 !Apagando anterior ADDZ 0.54-0.04 !Posio barra interm. BLOCK 0.74+2*0.05, 0.0318, 0.05 !Barra intermediria ADDZ 1.80-0.08-0.54 !Posicionando a barra horiz. sup. BLOCK 0.74+2*0.05, 0.0318, 0.05 !Barra horiz. sup. DEL 3 ADDX 0.92 !distanciamento entre mdulos NEXT m DEL 3

Finalmente o script est correto agora. Tanto os mdulos quanto os postes esto multiplicados corretamente. Note que o ponto L voltou para a origem G. Agora chegou o momento de refletir sobre como faremos a barras redondas: As barras redondas tm que se multiplicar dentro do primeiro mdulo e depois acompanhar a multiplicao dos mdulos. Ento temos que voltar com nosso exerccio como estava antes de aplicarmos o FOR TO no mdulo. Se tentarmos fazer do jeito que est teremos uma dificuldade muito grande em acertar todas as transformaes ADDs e seus respectivos DELs. Aplicamos um DEL 3 para voltarmos em G. Neste caso pode-se tambm aplicar um DEL top.

99

ADD -0.04, -0.04, 0 !Centralizando o Gradil FOR i=1 TO 2 !Multiplicao de postes BLOCK 0.08, 0.08, 1.80 !Poste com seco quadrada ADDX 0.92 !Distanciamento entre postes NEXT i !Fim da multiplicao DEL 3 !Nmero de DEL igual a TO+1 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ADD 0.08/2, -0.0318/2, 0.04 !Posicionando barra inferior BLOCK 0.74+2*0.05, 0.0318, 0.05 !Barra chata inferior BLOCK 0.05, 0.0318, 1.80-0.08 !Barra chata vert. esq. ADDX 0.74+0.05 !Posio 3 barra BLOCK 0.05, 0.0318, 1.80-0.08 !Barra chata vert. dir. DEL 1 !Apagando anterior ADDZ 0.54-0.04 !Posio barra interm. BLOCK 0.74+2*0.05, 0.0318, 0.05 !Barra intermediria ADDZ 1.80-0.08-0.54 !Posicionando a barra horiz. sup. BLOCK 0.74+2*0.05, 0.0318, 0.05 !Barra horiz. sup. DEL 3 !Limpando transformaes restantes

Vamos definir a posio da primeira barra redonda longa e criar a barra. Analisando o desenho dimensional veremos que do ponto G a distancia x igual metade do poste + largura da barra retangular + a distancia entre barras, ou seja: 0.08/2 + 0.05+0.0945. Em cima disso ainda temos que subtrair um valor igual metade do dimetro da barra. Se no fizermos isso o primeiro espao ficar maior que os outros. O valor de x ser 0.08/2+0.05+0.0945- 0.0159/2. J o valor de y igual a zero, porque o G esta exatamente no centro do Gradil. O valor de z 0.04, que o afastamento da barra inferior do solo.
ADD -0.04, -0.04, 0 !Centralizando o Gradil FOR i=1 TO 2 !Multiplicao de postes BLOCK 0.08, 0.08, 1.80 !Poste com seco quadrada ADDX 0.92 !Distanciamento entre postes NEXT i !Fim da multiplicao DEL 3 !Nmero de DEL igual a TO+1 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ADD 0.08/2, -0.0318/2, 0.04 !Posicionando barra inferior BLOCK 0.74+2*0.05, 0.0318, 0.05 !Barra chata inferior BLOCK 0.05, 0.0318, 1.80-0.08 !Barra chata vert. esq. ADDX 0.74+0.05 !Posio 3 barra BLOCK 0.05, 0.0318, 1.80-0.08 !Barra chata vert. dir. DEL 1 !Apagando anterior ADDZ 0.54-0.04 !Posio barra interm. BLOCK 0.74+2*0.05, 0.0318, 0.05 !Barra intermediria ADDZ 1.80-0.08-0.54 !Posicionando a barra horiz. sup. BLOCK 0.74+2*0.05, 0.0318, 0.05 !Barra horiz. sup. DEL 3 !Limpando transformaes restantes ADD 0.08/2+0.05+0.0945- 0.0159/2, 0, 0.04 CYLIND 1.80-0.08, 0.0159 !Barra longa DEL 1 !Voltando em G

Fazemos um FOR TO para multiplicar as barras:

100

ADD -0.04, -0.04, 0 !Centralizando o Gradil FOR i=1 TO 2 !Multiplicao de postes BLOCK 0.08, 0.08, 1.80 !Poste com seco quadrada ADDX 0.92 !Distanciamento entre postes NEXT i !Fim da multiplicao DEL 3 !Nmero de DEL igual a TO+1 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ADD 0.08/2, -0.0318/2, 0.04 !Posicionando barra inferior BLOCK 0.74+2*0.05, 0.0318, 0.05 !Barra chata inferior BLOCK 0.05, 0.0318, 1.80-0.08 !Barra chata vert. esq. ADDX 0.74+0.05 !Posio 3 barra BLOCK 0.05, 0.0318, 1.80-0.08 !Barra chata vert. dir. DEL 1 !Apagando anterior ADD -0.04, -0.04, 0 !Centralizando o Gradil ADDZ 0.54-0.04 !Posio barra interm. FOR i=1 TO 2 !Multiplicao de postes BLOCK 0.74+2*0.05, 0.0318, 0.05 !Barra intermediria BLOCK 0.08, 0.08, 1.80 !Poste com seco quadrada ADDZ 1.80-0.08-0.54 !Posicionando a barra horiz. sup. ADDX 0.92 !Distanciamento entre postes BLOCK 0.74+2*0.05, 0.0318, 0.05 !Barra horiz. sup. NEXT i !Fim da multiplicao DEL 3 !Limpando transformaes restantes DEL 3 !Nmero de DEL igual a TO+1 FOR j=1 TO 7 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ADD 0.08/2+0.05+0.0945/2-0.0159/2, 0, 0.04 ADD 0.08/2, -0.0318/2, 0.04 !Posicionando barra inferior CYLIND 1.80-0.08, 0.0159/2 !Barra longa BLOCK 0.74+2*0.05, 0.0318, 0.05 !Barra chata inferior DEL 1 !Voltando em G BLOCK 0.05, 0.0318, 1.80-0.08 !Barra chata vert. esq. ADDX 0.0945 !Distanciamento entre barras ADDX 0.74+0.05 !Posio 3 barra NEXT j !Final BLOCK 0.05, 0.0318, 1.80-0.08 !Barra chata vert. dir. DEL 7 !Limpando Transf. FOR TO DEL 1 !Apagando anterior ADDZ 0.54-0.04 !Posio barra interm. BLOCK 0.74+2*0.05, 0.0318, 0.05 !Barra intermediria ADDZ 1.80-0.08-0.54 !Posicionando a barra horiz. sup. BLOCK 0.74+2*0.05, 0.0318, 0.05 !Barra horiz. sup. DEL 3 !Limpando transformaes restantes !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! FOR j=1 TO 7 ADD 0.08/2+0.05+0.0945- 0.0159/2, 0, 0.04 CYLIND 1.80-0.08, 0.0159/2 !Barra longa DEL 1 !Voltando em G ADDX 0.0945 !Distanciamento entre barras NEXT j !Final DEL 7 !Limpando Transf. FOR TO !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! FOR k=1 TO 8 ADD 0.08/2+0.05+0.0945/2- 0.0159/2, 0, 0.04 CYLIND 0.54, 0.0159/2 !Barra curta DEL 1 !Voltando em G ADDX 0.0945 !Distanciamento entre barras NEXT k !Final DEL 8 !Limpando Transf. FOR TO

Do mesmo jeito que as barras longas criamos as barras curtas no intervalo das longas. A localizao calculada da mesma forma sendo que a medida 0.0945 tem que se dividir por 2. A medida O nmero de barras so 8 e a altura da barra 0.54.

101

Vamos ao novo teste para ver a multiplicao dos mdulos. Agora no vamos cometer os mesmos erros:

ADD -0.04, -0.04, 0 !Centralizando o Gradil FOR i=1 TO 4 !Multiplicao de postes BLOCK 0.08, 0.08, 1.80 !Poste com seco quadrada ADDX 0.92 !Distanciamento entre postes NEXT i !Fim da multiplicao DEL 5 !Nmero de DEL igual a TO+1 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! FOR m=1 TO 3 ADD 0.08/2, -0.0318/2, 0.04 !Posicionando barra inferior BLOCK 0.74+2*0.05, 0.0318, 0.05 !Barra chata inferior BLOCK 0.05, 0.0318, 1.80-0.08 !Barra chata vert. esq. ADDX 0.74+0.05 !Posio 3 barra BLOCK 0.05, 0.0318, 1.80-0.08 !Barra chata vert. dir. DEL 1 !Apagando anterior ADDZ 0.54-0.04 !Posio barra interm. BLOCK 0.74+2*0.05, 0.0318, 0.05 !Barra intermediria ADDZ 1.80-0.08-0.54 !Posicionando a barra horiz. sup. BLOCK 0.74+2*0.05, 0.0318, 0.05 !Barra horiz. sup. DEL 3 !Limpando transformaes restantes !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! FOR j=1 TO 7 ADD 0.08/2+0.05+0.0945- 0.0159/2, 0, 0.04 CYLIND 1.80-0.08, 0.0159/2 !Barra longa DEL 1 !Voltando em G ADDX 0.0945 !Distanciamento entre barras NEXT j !Final DEL 7 !Limpando Transf. FOR TO !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! FOR k=1 TO 8 ADD 0.08/2+0.05+0.0945/2- 0.0159/2, 0, 0.04 CYLIND 0.54, 0.0159/2 !Barra curta DEL 1 !Voltando em G ADDX 0.0945 !Distanciamento entre barras NEXT k !Final DEL 8 !Limpando Transf. FOR TO !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ADDX 0.92 NEXT m DEL 3

102

Faltam agora os acessrios. Eles sero fora dos FOR TO dos postes e mdulos porque precisamos uma declarao em separado do material. Como exerccio tente continuar o script inserindo esses elementos e atribuindo materiais para todos: Poste, Mdulo, Chapu e Bolinhas. No prximo captulo veremos o script completo e comearemos a parametrizao passo a passo.

103

Captulo 9
Parametrizao Gradil 01

A parametrizao do Gradil no ser explicada passo a passo. Recomendo que vocs faam seu prprio passo a passo, usando o arquivo Gradil 01 ainda no parametrizado. Comecem entendendo as frmulas e os parmetros criados. Depois comecem a introduzir as letras nas coordenadas. Experimentem o objeto modificando o valor dos parmetros. Este script tem a mais em relao ao no parametrizado a insero dos enfeites de alumnio Passem para o texto 2D. No texto 2D vai notar nos HOTSPOT algo de novo: ! ponto editvel Criado para poder editar o comprimento do gradil manualmente esticando atravs dos pontos quentes. Experimente com e sem esse comando para sentir sua importncia. Eu ainda no domino totalmente o conceito, portanto vamos aceitar e aguardar futura explicao .

No final do captulo algumas renderizaes do objeto para entender suas possibilidades. 104

Parmetros.
Abra o objeto Gradil 01 e preencha a tela de parmetros como abaixo:

O texto 2D:
!frmulas dp= (A-e)/(n-1) d= dp-(e+2*g) FILL Trama_1 PEN Pen_1 PROJECT2 3, 270, 2 FOR c=1 TO n POLY2_ 4, 2+4, -e/2, -e/2, 1, e/2, -e/2,1, e/2, e/2, 1, -e/2, e/2, 1 ADD2 dp, 0 NEXT c DEL n FOR y=1 TO n-1 POLY2_ 4, 2+4, !Distanciamento entre postes !Espao interno do mdulo !Trama neutra que ajuda selecionar o objeto !Caneta de contorno !Vista de planta !Duplicando postes !Poli-linha

!Distanciamento !Final multiplicao postes !Apagando transformaes FOR TO !Duplicando barras !Poli-linha 105

e/2, -f/2, 1, d+e, -f/2, 1, d+e, f/2, 1, e/2, f/2, 1 ADD2 dp,0 NEXT y DEL n-1 ! pontos normais HOTSPOT2 0,0 HOTSPOT2 -e/2, -e/2 HOTSPOT2 -e/2, 0 HOTSPOT2 -e/2, e/2 HOTSPOT2 0, -e/2 HOTSPOT2 0, e/2 HOTSPOT2 a-e,0 HOTSPOT2 a-(e/2),0 HOTSPOT2 a-(e/2),-e/2 HOTSPOT2 a-(e/2),e/2 HOTSPOT2 a-e,-e/2 HOTSPOT2 a-e, e/2 ! ponto editvel HOTSPOT2 -e/2,0, ponto_a, a, 1 HOTSPOT2 a-e/2,0, ponto_b, a, 2 HOTSPOT2 -1,0, ponto_c, a, 3

!Distanciamento !Final multiplicao de barras !Apagando transformaes do FOR TO !Ponto G - Centro poste inicial !Canto esquerdo inferior !Lado esquerdo extremidade centro !Canto esquerdo superior !Centro inferior poste esquerdo !Centro superior poste esquerdo !Centro poste final !Lado direito extremidade centro !Canto direito inferior !Canto direito superior !Centro inferior poste final !Centro superior poste final !Ponto base !Ponto editavel !Ponto de referencia (invisivel)

O texto 3D :
!!!!!!!!!!!!!!!Parmetros default!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !A= 1 !Comprimento do Gradil !zzyzx= 1.80 !Altura dos postes sem chapu !n= 2 !Nmero de postes !e= 0.0762 !Bitola poste quadrado !k=0.10 !Distancia aprox.entre barras redondas !f= 0.0318 !Largura barra chata !g= 0.00635 !Espessura barra chata !t=0.0159 !Diametro barras redondas !s=0.50 !Altura de barras duplas !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!Frmulas de Relacionamento!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! dp= (A-e)/(n-1) !Distanciamento entre postes d= dp-(e+2*g) !Espao interno do mdulo h=zzyzx-0.014 !Altura do mdulo nm=INT(0.5 + d/k) !Funo que determina um nmero inteiro para nm k=(d+t)/(nm+1) !Distanciamento barras redondas corrigido j=t/2 !Raio barras redondas !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! MATERIAL Mat_1 !Material Poste !!!!!!!!!!!!Poste!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ADD -e/2, -e/2, 0 !Levando o centro do gradil em G !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 106

FOR i=1 TO n !Multiplicando postes BLOCK e, e, zzyzx !Poste ADDX dp !Distancia entre postes NEXT i !Final multiplicao de postes DEL n+1 !Elimina n transformaes do FOR + uma acima (G) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! MATERIAL Mat_2 !Material mdulo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! FOR q=1 TO n-1 !Inicio multiplicao mdulo !!!!!!!Incio Mdulo entre postes!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ADD e/2,-f/2, 0.04 !Centralizao e altura da barra BLOCK d+2*g, f, g !Barra chata horizontal inferior ADDZ s !Altura barra chata horizontal intermediaria BLOCK d+2*g, f, g !Barra chata horizontal intermediaria ADDZ zzyzx-s-0.08-g !Altura barra chata horizontal superior BLOCK d+2*g, f, g !Barra chata horizontal superior DEL 2 !Limpando s duas ultimas, mantm primeira BLOCK g, f, zzyzx-0.08 !Barra chata vertical esquerda ADDX d+g !Deslocamento para barra chata vertical direita BLOCK g, f, zzyzx-0.08 !Barra chata vertical direita DEL 2 !Apagando ultima e a primeira, volta em G !!!!!!!Barras longas do mdulo!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! FOR m=1 TO nm !Multiplicao das barras longas !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ADD (e/2)+g+k-j, 0, 0.04 !centralizao 1 barra CYLIND zzyzx-0.08, j !Barra redonda longas DEL 1 !Apagando transf. ADDX k !Distanciamento entre barras !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! NEXT m !Final multiplicao DEL nm !Retorna a G !!!!!!!!Barras curtas do mdulo!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! FOR p=1 TO nm+1 !Multiplicao barras curtas !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ADD (e/2)+g+k/2-j, 0, 0.04 !Posicionando primeira barra CYLIND s, j !Barra curta DEL 1 !Apagando transf. ADDX k !Distanciamento entre barras !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! NEXT p !Final multiplicao barras curtas DEL nm+1 !Retorna a G !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ADDX dp !Distanciamento entre mdulos NEXT q !Final da multiplicao de mdulos DEL n-1 !Retorna a G !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! MATERIAL Mat_3 !Material Acessrios !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! FOR u=1 TO n-1 !Multiplicao Modular Acessrios !!!!!!!Acessrio 1!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! FOR z=1 TO nm !Multiplicao acessrio 1 por mdulo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ADD e/2+k+g-j,0,zzyzx-0.04 !Posicionando acessrio 1 107

CYLIND 2.5*j,1.13924*j !Parte cilndrica ADDZ 1.89873*j !Deslocamento para bolinha SPHERE 1.64557*j !Bolinha DEL 2 !Retoma G !!!!!!!Enfeite 2!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ADD e/2+k+g-j, 0, 0.10+zzyzx/2 !Posicionando acessrio 2 SPHERE 1.64557*j !Bolinha ADDZ -1.89873*j !Deslocamento parte cilndrica CYLIND 3.79746*j, 1.13924*j !Parte cilndrica DEL 2 !Limpando os ADD barras, volta em G ADDX k !Distanciamento acessrio 2 por mdulo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! NEXT Z !Final multiplicao por mdulo DEL nm !Retornando em G ADDX dp !Distanciamento modular acessrios NEXT u !Final multiplicao modular acessrios DEL n-1 !!!!!!!!!!!!!!!!!Chapu Piramide!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! MATERIAL Mat_4 !Material chapu FOR w=1 TO n !Multiplicao chapu por poste ADD -(e/2+0.005), -(e/2+0.005), zzyzx !Posicionamento chapu BLOCK e+0.01, e+0.01,0.05*e !Base chapu ADD (e+0.01)/2, (e+0.01)/2, 0.05*e !Posicionando Pirmide PYRAMID 4, 0.2*e, 1+4+16, !Pirmide -(e+0.01)/2, -(e+0.01)/2, 0, (e+0.01)/2, -(e+0.01)/2, 0, (e+0.01)/2, (e+0.01)/2, 0, -(e+0.01)/2, (e+0.01)/2, 0 DEL 2 !Limpando transformaes ADDX dp !Distanciamento entre postes NEXT w !Final multiplicao !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! DEL top !Retornando em G !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Podem-se acrescentar quantos postes forem necessrios dentro de um determinado comprimento. A distncia entre barras redondas pode ser aumentada ou diminuda. A altura das barras duplas tambm varivel.

108

Grades de Ferro podem ser transformadas em grades de alumnio.

Os postes do Gradil podem ser aumentados e transformados em alvenaria. 109

Podemos tambm variar a altura total do gradil. So muitas as possibilidades. Experimente

Baseado neste gradil vocs podem projetar algumas estruturas interessantes e personalizadas. Exercitem a imaginao

A partir de agora nos prximos captulos estaremos ampliando nosso conhecimento em outra formas, para podermos fazer objetos de estruturas mais complexas. Vamos comear com os PLANOS DE CORTE ou CUTPLANE. Com este comando podemos fazer objetos muito interessantes e decorativos.

110

Captulo 10
Planos de Corte

111

Planos de Corte
CUTPLANE CUTPLANE alpha CUTPLANE x, y CUTPLANE x, y, z CUTEPLANE x, y, z, side
(Sem parmetro corta a pea no plano x, y. A parte superior se apaga) (Corta em ngulo em relao ao plano x, y. A parte superior se apaga) (Corta em um plano paralelo a z nas medidas x e y indicadas) (Corta em um plano formado pelos valores de x, y e z) (Corta em um plano formado pelos valores. side =0 apaga a parte de cima (pode ser omitido, fica igual ao anterior) side= 1 apaga o lado de baixo do plano x-z, y-z as partes na direo negativa do eixo

CUTEND

(Em todos os casos encerra a operao de corte. Todas as formas entre CUTPLANE e CUTEND so afetadas)

Para entendermos bem com funcionam os vrios tipos de CUTPLANEs vamos exemplific-los: CUTPLANE
CUTPLANE SPHERE 10 CUTEND ADDZ 5 CUTPLANE DEL 1 SPHERE 10 CUTEND

Corta a forma pelo plano x-y, no caso da esfera, bem ao meio. Para fazer um corte mais acima se coloca uma transformao de coordenada em z antes de CUTPLANE e depois do comando se apaga com DEL 1. Se no acrescentar o comando DEL 1 quem se movimenta a forma e no o corte. Aplicando 2 cortes paralelos na esfera: Primeiro digite a parte que est em preto para aplicar o primeiro corte no centro da esfera. Depois digite a parte que est em vermelho acima e abaixo para aplicar o segundo corte. Para cada CUTPLANE deve haver um CUTEND, caso contrrio, teremos uma mensagem de erro.
!!Para entender os comandos digite-os na seqncia 1, 2,3... mostrada abaixo CUTPLANE ADDZ -7 ROTX 180 CUTPLANE SPHERE 10 CUTEND CUTEND ! 5- Fazendo o 2 Corte ! 4- Deslocando a forma para fazer o 2 corte ! 3-Gire a pea j com o 1 corte ! 2- Acrescente o comando CUTPLANE ! 1- Faa primeiro a forma ! 2- Para cada CUTPLANE acrescentem um CUTEND ! 6- Final do 2 corte

CUTPLANE 25 112

A mesma forma anterior. O segundo corte foi aplicado em ngulo de 25. Se aplicar um ngulo negativo a inclinao se d para o lado contrrio
!!Para entender o comando digite-os na seqncia 1, 2,3... mostrada abaixo CUTPLANE 25 ADDZ -7 ROTX 180 CUTPLANE SPHERE 10 CUTEND CUTEND !5 - Fazendo o 2 corte !4 - Deslocando a forma para fazer o 2 corte ! 3 - Gire a pea j com o 1 corte ! 2 - Acrescente o comando CUTPLANE e CUTEND ! 1 - Faa primeiro a forma ! 2 - Para cada CUTPLANE acrescente um CUTEND ! 5 - Final do 2 corte

CUTPLANE 5, 3
!!Para entender os com mando digite-os na seqncia 1, 2,3... mostrada abaixo CUTPLANE 5, 0 CUTPLANE 25 ADDZ -7 ROTX 180 CUTPLANE SPHERE 10 CUTEND CUTEND CUTEND ! 6 - Fazendo o 3 corte (2 parmetros ! 5 - Fazendo o 2 corte ! 4 - Deslocando a forma para fazer o 2 corte ! 3 - Gire a pea j com o 1 corte ! 2 - Acrescente o comando CUTPLANE e CUTEND ! 1- Faa primeiro a forma ! 2 - Para cada CUTPLANE acrescente um CUTEND ! 5 - Final do 2 corte ! 6 Final do 3 corte

Aplicamos mais um corte ao exemplo anterior, agora com os parmetros x e y. Quando um dos eixos zero o corte fica paralelo ao eixo que zero . Veja as trs formas abaixo para entender como isso funciona. Usando o mesmo exemplo, porm variando os valores de x e y no terceiro corte:

CUTPLANE 0, 5

CUTPLANE -5, 0

CUTPLANE 0, -5

CUTPLANE 3, -5

Quando as duas dimenses so diferentes de zero o corte ocorre inclinado em relao aos eixos. Note no ltimo exemplo como o plano de corte formado passando em 3 no eixo x e em -5 no eixo y, ficando paralelo ao eixo z.

CUTPLANE 3, -5, 2

113

!!Para entender os com mando digite-os na seqncia 1, 2,3... mostrada abaixo CUTPLANE 3, -5, 2 CUTPLANE 25 ADDZ -7 ROTX 180 CUTPLANE SPHERE 10 CUTEND CUTEND CUTEND ! 6 - Fazendo o 3 corte (2 parmetros ! 5 - Fazendo o 2 corte ! 4 - Deslocando a forma para fazer o 2 corte ! 3 - Gire a pea j com o 1 corte ! 2 - Acrescente o comando CUTPLANE e CUTEND ! 1- Faa primeiro a forma ! 2 - Para cada CUTPLANE acrescente um CUTEND ! 5 - Final do 2 corte ! 6 Final do 3 corte

Continuamos com o mesmo exemplo mudando o terceiro corte para 3 parmetros acrescentando uma medida para o eixo z. Nesse caso o corte fica inclinado e interceptando os 3 eixos nas medidas programadas. Vamos ver como fica esse mesmo corte quando um dos eixos igual a zero.

CUTPLANE 3, -5, 0

CUTPLANE 0, -5, 2

CUTPLANE 3, 0, 2

Note que o plano fica perpendicular ao eixo que zero. Experimente trocar os valores dos eixos que no so zeros. Vamos perceber que a formas no se alteram. Isso quer dizer que podemos criar essas 3 formas simplesmente usando os valores: [1, 1, 0], [0, 1, 1] e [1,0, 1]. Os valores diferentes de 0 e 1 so necessrios apenas nos planos inclinados aos 3 eixos. Se usarmos dois valores com zero, exemplo: 0, 0, 2 haver uma mensagem de erro. Brinque de trocar os valores para sentir como ocorrem as transformaes. CUTPLANE 3, -5, 2, 1 Este comando de 4 parmetros similar ao de 3. A diferena que a parte apagada fica em sentido contrrio. O ultimo parmetro pode ser 0 ou 1. Quando zero fica igual ao CUTPLANE de 3 parmetros, portanto no h necessidade de usar-lo. Vejamos os mesmos exemplos das quatro ltimas formas quando se usa o quarto parmetro 1.

CUTPLANE 3, -5, 2, 1

CUTPLANE 3, -5, 0, 1

CUTPLANE 0, -5, 2, 1

CUTPLANE 3, 0, 2, 1

As formas geradas so exatamente as partes apagadas dos exemplos anteriores. 114

Os CUTPLANEs CUTENDs afetam todas as formas que estiverem entre esse dois comandos e sejam interceptadas pelo plano criado. Exemplo:

As definies de material, canetas e tramas que foram definidas dentro dos dois comandos, permanecem inalteradas, sendo efetivas tambm para as faces resultantes dos cortes. Exemplo:

Quando estudarmos outros detalhes do script, como comandos condicionais, macros etc., veremos com se comportam os CUTPLANEs CUTENDs em relao a esses comandos. Use e abuse dos CUTPLANEs CUTENDs para experimentar as possibilidades de se criarem algumas formas interessantes. Tente reproduzir os exemplos a baixo:

115

Potrebbero piacerti anche