Comecei a brincar com o Flux.io há duas semanas. Pareceu-me que era interessante, depois de ver que é uma spin-off da Google fiquei mais em sentido (sou muito impressionável). Percebe-se logo o que faz: liga aplicações (Excel, dynamo, excel, grasshopper, etc.) a uma cloud, permitindo partilha de informação. Já uso plugins e o dynamo para passar parametros do Excel, mas os ficheiros têm de estar no mesmo pc (ou ser sincronizados no google drive. Isto permite não só trabalhar à distância como fazer os syncs em diferido. Depois vieram duas semanas de escrita de propostas e parou tudo.
A versão Evaluation permite dois projectos, 100 Gigas de armazenamento e guardam o histórico de dados que por lá passam durante 90 dias. Mais que suficiente: a questão dos projectos é uma questão de arrumação, visto que posso ligar quantos ficheiros quiser a cada projecto, os dados que estou a passar são quase todos texto, o histórico por enquanto dispenso.
Primeira aplicação
O meu primeiro teste complicou-se um pouco pois fui mais ambicioso. Quero mandar para o Revit as condições actuais do tempo (precipitação, vento, temperatura, etc.) e fazer com que o modelo reaja. Pode fechar abrir as luzes, fechar portas e janelas ou estender toldos.O que acabei por fazer foi mudar a altura de uma pala de acordo com a temperatura actual em Lisboa. Não tem muita lógica na realidade, é só para ver se funciona. A figura abbaixo mostra a pala, que é materializada por uma pequena laje de betão. A laje está agarrada ao Level 2. O que vamos mudar no Dynamo é a altura deste Level.
Dividi a explicação em duas partes.
Parte 1 - Dados do clima > Google Sheets
Procurei a API de estado do tempo da própria Google mas já não existe. Mas existem muitas outras. Abri uma conta nesta plataforma: https://www.apixu.com/. Com um pouco de estudo aprendi como funciona o endereço que devolve um ficheiro XML que o google sheets abre com o comando importxml. Uma vez compreendida a estrutura do XML e o XPath, é mais simples que formatar texto no Word. A imagem abaixo mostra como funciona.A seguir basta gerar duas chaves do Flux, uma para a célula com a temperatura e outra para a célula com o vento. Estas chaves vão ser abertas no Dynamo e aí vão induzir alguma acção no modelo.
Acabei de ter o meu momento Dah. Como o Dynamo tem Python, também lê XML directamente e não preciso do Flux para nada. Provavelmente já há nodes para ler XML pois o ICF é baseado no XML. Pois, cá está: http://whatrevitwants.blogspot.pt/2015/11/read-xml-files-and-use-in-revit-with.html
Enfim... Sempre posso comparar as duas formas de fazer isto. Vamos à segunda parte.
Parte 2 - Google Sheets > Dynamo
Para aceder aos dados do google Sheets basta instalar o plugin do Flux no Dynamo e autenticar. Temos assim acesso a nós do Dynamo para selecionar o projecto e, dentro do projecto, aos dados que pretendemos importar. Estes dados podem ser listas, geometria, ou outras estruturas. No nosso caso é apenas um valor numérico.
Este valor, a velocidade do vento actual em Lisboa, é multiplicado por um factor de escala arbitrário (para que om movimento da pala seja notório) e alimenta a cota do Level 2 do modelo. Sempre que o valor do vento sobre, sobe também a pala.