28.04.2013 Views

Apostila - Autodesk International Communities

Apostila - Autodesk International Communities

Apostila - Autodesk International Communities

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

CAD BIM MIDI NET. Integrando AutoCAD, Revit e<br />

música em plataforma NET.<br />

José Luis Menegotto – Escola Politécnica da Universidade Federal de Rio de Janeiro.<br />

Esta palestra tem por objetivo mostrar a integração de códigos escritos em C# nos programas AutoCAD<br />

e Revit Architecture com a biblioteca Midi-dot-NET. Será apresentado o desenvolvimento de um sistema<br />

para simulação de fachada cinética no qual se integram os três ambientes de trabalho e<br />

desenvolvimento. Serão apresentadas a teoria que sustenta o modelo de desenvolvimento do sistema, a<br />

formulação dos modelos 3D nos dois aplicativos gráficos e a relação destes com os algoritmos escritos<br />

para o ambiente MIDI. Serão apresentadas dicas de desenvolvimento.<br />

Objetivo de aprendizado<br />

Ao final desta palestra você terá condições de:<br />

Integrar AutoCAD e Revit com ambientes de simulação sonora.<br />

Incorporar som em seus aplicativos.<br />

Propor soluções específicas de integração visual e sonora para AutoCAD e Revit.<br />

Pensar o projeto de desenvolvimento interplataformas.<br />

Sobre o Palestrante<br />

Arquiteto Faculdade de Arquitetura Desenho e Urbanismo da Universidade Nacional de Buenos Aires,<br />

Argentina (1989). Estudou Desenho Assistido por Computador na cátedra do Arq. Arturo Montagú, no<br />

CentroCAO da FADU-UBA. Desenvolveu o aplicativo Cadtools arquitetura para AutoCAD. Realizou<br />

diversos trabalhos no campo da modelagem tridimensional e visualização. Ganhou o 1° prêmio<br />

TecnaCAD ‘93 com o modelo da Opera de Sydney. Autor do livro O desenho Digital. Técnica e arte,<br />

Interciência, 2000. Atuou como consultor CAD/AEC em diversas empresas de Rio de Janeiro.<br />

Desenvolveu os aplicativos DuctilCAD e PredialCAD para a Saint-Gobain Canalização (2000-2004).<br />

Doutorado em Arquitetura e Urbanismo pela Universidade Federal de Rio de Janeiro (2009).<br />

Desenvolveu o aplicativo Caixa de Música que traduz formas geométricas em formas sonoras e<br />

musicais. Atualmente é professor do Departamento de Expressão Gráfica da Escola Politécnica da<br />

UFRJ e do programa de Pós-Graduação em Engenharia Urbana da mesma instituição.<br />

Contato e-mail:<br />

jlmenegotto@poli.ufrj.br


Antecedentes e referências do trabalho.<br />

CAD BIM MIDI NET. Integrando AutoCAD, Revit e música em plataforma NET.<br />

Existem diversos estudos e reflexões sobre a relação entre Arquitetura e Música. Dentre eles, me<br />

interessa destacar apenas algumas ideias e experiências significativas para fundamentar o presente<br />

trabalho. A primeira referência data do início do século XIX, quando o filósofo alemão Friedrich Schelling<br />

ministrando um curso de Filosofia da Arte criou a metáfora segundo a qual a arquitetura seria música<br />

petrificada. Na mesma época, o escritor alemão Goethe, expressou a relação em outros termos. Em<br />

suas Máximas e Reflexões, expressava que a arquitetura seria uma música emudecida. A analogia, que<br />

se referia ao silêncio, encerrava em si a discussão filosófica tratada por Schelling, acerca da origem e<br />

possibilidade do conhecimento, mas também carregava uma crítica de natureza política, que Goethe<br />

fazia dos costumes aristocráticos da sua época.<br />

No século XX, o engenheiro e compositor grego Iannis Xenakis (1921-2001) mudaria o foco da analogia<br />

expressando que a música seria uma espécie de arquitetura móvel. Colocando o acento no movimento<br />

Xenakis criaria em 1954 a peça Metástases, composição para orquestra de 60 músicos na qual<br />

prevalecem os sons de glissandos de cordas. Enquanto engenheiro, ele escreveu a peça musical<br />

seguindo um procedimento gráfico, utilizando a representação de duas superfícies geométricas: o<br />

paraboloide hiperbólico e o conoide. Cada linha do desenho é a representação do glissando executado<br />

por um instrumento de cordas. Alguns anos mais tarde, projetando o Pavilhão Philips para a EXPO 58<br />

em Bruxelas, Xenakis transportou a analogia geométrica de Metástases utilizando os mesmos<br />

elementos e conceitos geométricos para projetar o edifício.<br />

Esquerda: estudo gráfico para Metástases (1954) I. Xenakis.<br />

Direita: Pavilhão Philips (1958) I. Xenakis, Le Corbusier.<br />

Outro evento interessante aconteceu no ano 2008, quando o compositor David Byrne, criou a instalação<br />

sonora denominada “Playing the building”, num prédio desocupado da cidade de Nova York. Inspirado<br />

talvez por experiências mais antigas como a do cravo ocular de Louis-Bertrand Castel (sec. XVII) ou a<br />

dos órgãos cromáticos de Alexander Rimington e Bainbridge Bishop (sec XIX), Byrne conectou um<br />

teclado a dispositivos mecânicos distribuídos pelo edifício e associados aos seus elementos<br />

arquitetônicos. Aproveitando as propriedades acústicas do grande espaço ressonante do galpão,<br />

transformou a edificação num instrumento não convencional. Cada dispositivo tinha a função de percutir,<br />

insuflar ou vibrar sobre a estrutura metálica, as tubulações e as vidraças, produzindo ressonâncias.<br />

2


CAD BIM MIDI NET. Integrando AutoCAD, Revit e música em plataforma NET.<br />

Esquerda: Órgão de cores de Bishop. Centro e direita: Playing the building. D. Byrne.<br />

Este trabalho se insere na tradição das pesquisas que procuram explorar relações entre as artes e o faz<br />

relacionando os ambientes gráficos de AutoCAD e Revit, associando-os com ferramentas utilizadas pela<br />

disciplina conhecida como Composição Assistida por Computador (CAC).<br />

Integração AutoCAD – Compo Music.<br />

Compo Music é um programa de composição musical escrito em Common LISP pelo engenheiro e<br />

compositor Bruno Lartillot disponível em http://sourceforge.net/projects/compo/files/compo/3.0/. Apoia-se<br />

por uma biblioteca de funções CMN (Common Music Notation) que permite escrever as partituras<br />

musicais ou exportar a composição em formato de protocolo MIDI (Musical Instruments Digital Interface).<br />

MIDI é uma interface de comunicação que permite conectar, através de programas específicos,<br />

instrumentos musicais equipados com microprocessadores entre si ou a computadores. O protocolo de<br />

comunicação MIDI contém as ordens que serão processadas pelos sequenciadores e sintetizadores de<br />

som.<br />

Para realizar a integração entre AutoCAD e o Compo Music, foi definida a Caixa de Música, que é um<br />

conjunto de técnicas, mecanismos matemáticos e procedimentos algorítmicos programados em<br />

AutoLISP. A funcionalidade dos algoritmos permite extrair coordenadas espaciais de objetos modelados<br />

em AutoCAD; transformar essas coordenadas numéricas em eventos sonoros na sintaxe do Compo<br />

Music; concatenar os eventos de acordo a diversos critérios de organização; e, finalmente, exportar o<br />

resultado a arquivos em formato MIDI para realizar a audição.<br />

A caixa é materializada como um sistema de três eixos ortogonais que ao invés de serem graduados<br />

com valores numéricos graduam-se com parâmetros musicais: nome da nota, duração, oitava e<br />

dinâmica. Os primeiros três parâmetros são distribuídos modularmente sobre os eixos, isto é, repetidos<br />

ad-infinitum em unidades inteiras de acordo com a quantidade de elementos de conjuntos de parâmetros<br />

musicais arbitrários, guardados em formato de listas em Autolisp. A dinâmica é distribuída<br />

arbitrariamente sobre os três eixos, sendo computada como resultado da média aritmética de valores<br />

numericamente expressos.<br />

3


CAD BIM MIDI NET. Integrando AutoCAD, Revit e música em plataforma NET.<br />

Configuração dos eixos X Y Z da Caixa de Música.<br />

O procedimento de tradução musical realizado com o Compo é realizado em duas etapas. Primeiro se<br />

procede a capturar as coordenadas numéricas do modelo e exportá-las a um arquivo de extensão lsp<br />

com a tradução à sintaxe musical do Compo. O segundo passo é a geração do arquivo MIDI, realizada<br />

desde a interface de comandos do ambiente Windows, no qual se procede a executar o Compo que faz<br />

a leitura do arquivo Lsp gerando o arquivo com extensão mid. O arquivo mid, é lido posteriormente por<br />

programas específicos que o executam.<br />

(defun nome_da_peça () ;; Inicia a função...<br />

(setf Voz_01 ;; definição da primeira voz traduzida.<br />

(note :pos 0 ;; define a posição de início da voz.<br />

(:voice-class 0 ;; define o número do instrumento associado com a voz.<br />

(:hei :d4 :dur 0.250 :dyn 7.47) ;; som tônico.<br />

(:hei :d4 :dur 0.250 :dyn 7.47) ;; som tônico.<br />

(....) ;; continua sequência de toques.<br />

))) ;; fecha a lista de sons tônicos da primeira voz traduzida.<br />

(setf Voz_02 ;; definição da segunda voz traduzida.<br />

(note :pos 0 ;; define a posição de início da voz.<br />

(:voice-class 1 ;; define o número do instrumento associado com a voz.<br />

(:hei :d4 :dur 0.250 :dyn 7.47) ;; som tônico.<br />

(:hei :d4 :dur 0.250 :dyn 7.47) ;; som tônico.<br />

(....) ;; continua sequência de toques.<br />

))) ;; fecha a lista de sons tônicos da segunda voz traduzida.<br />

;;Inicia definição de instrumentos (timbres) para cada voz.<br />

(program-change 0 :acoustic-grand-piano) ;; definição do instrumento 1<br />

(program-change 1 :vibraphone) ;; definição do instrumento 2<br />

(realize (midi :sync :midi-file "nome_da_peça.mid" ;; Inicia ordens de exportação com definição de pulsações.<br />

:tempo 40 ;; definição de pulsações por minuto.<br />

(Voz_01)<br />

(Voz_02)<br />

))) ;; fecha a função.<br />

Exemplo de organização do arquivo Lsp enviado para o Compo Music.<br />

4


CAD BIM MIDI NET. Integrando AutoCAD, Revit e música em plataforma NET.<br />

Esta técnica de integração para a leitura dos pontos e a sua execução sonora não é síncrona. A<br />

sincronia entre leitura e execução pode ser realizada programando a API com o auxílio de Midi-dot-net.<br />

Integração de Revit e AutoCAD com Midi-dot-NET.<br />

Fachada cinética.<br />

Midi-dot-net é uma biblioteca de funções que permite<br />

controlar dispositivos MIDI. Ela é escrita em C# na<br />

plataforma .NET. Pode ser baixada desde<br />

http://code.google.com/p/midi-dot-net/. Funciona a<br />

partir do .NET Framework 3.5 em diante e no Visual<br />

Studio 2008, tanto na versão Express como na<br />

Professional. Utiliza a API winmm.dll.<br />

Para utilizar as classes e objetos definidos na<br />

biblioteca deve-se carregar como referência<br />

(Reference) do projeto no Solution Explorer o arquivo<br />

Midi.dll.<br />

Na imagem ao lado também foram carregadas, como<br />

Recursos do projeto (Resources), 7 sequencias<br />

sonoras pré-gravadas em formato Wave<br />

(cristal_01.wav a cristal_07.wav). Será mostrado mais<br />

adiante, que esses arquivos podem ser executados<br />

pelo driver do Windows Midia Player, o que representa<br />

outra técnica possível para o tratamento de sons tanto<br />

em Revit como em AutoCAD.<br />

Para integrar a biblioteca Midi-dot-Net em AutoCAD<br />

valem as mesmas recomendações de drivers e<br />

recursos aplicados em Revit.<br />

A API programada para Revit em C# visa assistir os projetistas durante a etapa de concepção de uma<br />

fachada cinética, isto é, uma fachada que apresente algum tipo de comportamento dinâmico. O<br />

algoritmo simula visualmente os padrões de movimento que serão posteriormente transferidos aos<br />

componentes dinâmicos concretos do edifício. No caso apresentado, busca-se controlar esteticamente a<br />

variação de vidros polarizados aplicados sobre a fachada.<br />

A tecnologia de vidros polarizados permite mudar a transparência do vidro pela aplicação de corrente<br />

elétrica. A passagem ou a obstrução da corrente pelo vidro, tem como efeito permitir que as moléculas<br />

do material se alinhem ou desalinhem, conferindo-lhe o aspecto de transparência ou opacidade. Partindo<br />

dessa possibilidade, a programação da API procura estabelecer uma forma de estudar a configuração de<br />

padrões de passagem ou obstrução da corrente elétrica para produzir tramas com efeito visual.<br />

5


Organização do modelo.<br />

CAD BIM MIDI NET. Integrando AutoCAD, Revit e música em plataforma NET.<br />

O algoritmo modifica o estado de um componente arquitetônico do modelo 3D de acordo à posição que<br />

ocupe na fachada. Ela é modelada utilizando uma família Wall-Panel. A família do tipo Curtain-Wall<br />

utiliza como elemento de fechamento uma família do tipo Curtain Panel preparada com duas camadas<br />

de vidro. Projetou-se a família com parâmetros de visibilidade. Cada camada de vidro possui os<br />

parâmetros de visibilidade instanciados: Vidro_Ligado / Vidro_Desligado. Esse recurso permite simular o<br />

comportamento de um vidro polarizado real em estados ON/OFF, o que implica em transparência ou<br />

opacidade.<br />

Família de Painel cinético.<br />

6


Corpo principal do código.<br />

CAD BIM MIDI NET. Integrando AutoCAD, Revit e música em plataforma NET.<br />

7


Resultado visual das tramas.<br />

CAD BIM MIDI NET. Integrando AutoCAD, Revit e música em plataforma NET.<br />

Fachada com tramas variáveis - Fator de variabilidade = 5<br />

Execução das notas musicais em sincronia sobre a fachada cinética.<br />

A fachada cinética completa-se com eventos sonoros. Na próxima imagem a função Toca_a_Nota<br />

executa uma nota musical (escala cromática com 12 notas) da biblioteca Midi-dot-net. A função recebe<br />

dois argumentos inteiros, grau e oitava que são utilizados para selecionar uma nota da lista de Graus e<br />

transpô-la para a altura de entonação correspondente.<br />

Por exemplo, utilizando a classe Pitch pode-se executar a nota Dó no seu tom mais grave escrevendo<br />

Pitch.C0 ou tocar o Dó, no seu tom mais agudo, oito oitavas acima com Pitch.C8. A seguinte linha de<br />

código cumpre a função de selecionar a nota da lista de Graus e transpô-la à oitava correspondente.<br />

Nota = Graus.ElementAt(grau) + (12 * oitava);<br />

Como o Midi-dot-net é uma biblioteca independente, os códigos que contenham apenas referências aos<br />

objetos e classes dessa biblioteca podem ser aproveitados sem modificações tanto em Revit como em<br />

AutoCAD. Procurou-se assim manter os mecanismos de toque em métodos independentes aos<br />

mecanismos de procura e filtragem de objetos gráficos.<br />

8


CAD BIM MIDI NET. Integrando AutoCAD, Revit e música em plataforma NET.<br />

A seguir se mostra o código exemplificando a definição do tempo e das escalas que serão utilizadas. As<br />

escalas são definidas através dos índices numéricos das notas da escala cromática (as 12 notas<br />

separadas por intervalos de semitom) e da estrutura intervalar correspondente à escala desejada. Assim,<br />

a lista de índices para qualquer escala maior com estrutura T, T, St, T, T, T, St (T = tom, St = Semitom)<br />

será 0, 2, 4, 5, 7, 9, 11, pois o intervalo sonoro entre duas notas vizinhas da escala cromática<br />

corresponde a um semitom. Neste exemplo utiliza-se a estrutura da escala Menor Natural.<br />

O seguinte código mostra as chamadas para a definição dos dispositivos MIDI e dos instrumentos que<br />

serão executados. Finalmente, o sequenciamento dos toques através da classe clock do Midi-dot-net.<br />

9


Outro método de execução de sons.<br />

CAD BIM MIDI NET. Integrando AutoCAD, Revit e música em plataforma NET.<br />

Pode-se optar pela execução de sons através do driver do Midia Player do Windows ao invés de fazê-lo<br />

pela biblioteca de funções do Midi-dot-Net. Na imagem embaixo, a função Tocar executa sequencias<br />

sonoras que estão pré-gravadas em formato Wave e carregadas como Recursos do projeto (cristal_01 a<br />

cristal_07). Cria-se um objeto SoundPlayer que é executado pelo método Play().<br />

Esta técnica abre a possibilidade de gravar uma biblioteca de pequenas locuções, cujo conteúdo poderia<br />

ser composto por nomes de compartimentos, legendas, referências dos materiais ou especificações<br />

funcionais do edifício que se está projetando, chamadas dinamicamente durante uma seção de projeto.<br />

Referências.<br />

AUTODESK, INC. Revit 2011. API Developer´s guide. <strong>Autodesk</strong>, 2010.<br />

GOETHE, Johann Wolfgang von. Escritos sobre arte. São Paulo: Imprensa Oficial, 2008.<br />

MENEGOTTO, José Luis. A caixa de música. Contraponto formal entre a arquitetura e a música. Tese.<br />

Universidade Federal de Rio de Janeiro, Faculdade de Arquitetura e Urbanismo, Rio de Janeiro: UFRJ/<br />

FAU, 2009.<br />

MOLONEY, Jules. Designing kinetics for Architectural Facades: State Change. Routledge. London , New<br />

York, 2009.<br />

SCHELLING, F.W.J. Filosofia da arte. São Paulo: USP, 2001.<br />

XENAKIS, Iannis. Formalized Music.Thought and Mathematics in Composition. New York: Pendragon<br />

Press, 1992.<br />

Agradecimentos.<br />

Agradecimentos a <strong>Autodesk</strong> ADN, <strong>Autodesk</strong> Student Program e a Jeremy Tammik pelo valioso suporte<br />

durante a criação da aplicação.<br />

10

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!