Apostila - Autodesk International Communities
Apostila - Autodesk International Communities
Apostila - Autodesk International Communities
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
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