Thursday, 16 March 2017

Vibrações

Apesar de ter mudado de área principal de trabalho, continuo a colaborar em trabalhos da área da Geotecnia, modelação numérica e controlo (ou controle?) de vibrações causadas por explosivos. Nem que seja porque de vez em quando recebo um email de um leitor dos meus artigos (normalmente este) que me obrigam a recordar um detalhe recôndito do doutoramento (tese e resumo). Faz-me bem ao ego!

Esta manhã o meu aluno Ricardo Fonseca apresentou, no ISEL, o plano de tese final de curso onde vai modelar a propagação de vibrações na barragem de Salamonde devido ao desmonte com explosivos. Aqui está o bem delineado e ambicioso plano de trabalhos.


Saturday, 4 March 2017

Note to myself - Forge da Autodesk

Como usar o Forge viewer para embeber os meus desenhos onde quiser?

E faz o mesmo que o Flux.io, out of the box, ou tenho de aprender a API?

Friday, 24 February 2017

Flux.io



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. 


Notas

A API que usei não é a mais popular. Diz o Stackoverflow:  Yahoo! Weather and Wunderground are two of the three most popular weather APIs at the moment. OpenWeatherMap is the third. You'll probably find what you need in at least one of these 

Wednesday, 3 August 2016

Formatos 3D

3D Formats

OBJ - List of points followed by incidences (triangle vertex). Just like FEM files
# www.zbrush.com
#Vertex Count 54630
#Face Count 109256
v 0.68168121 1.8563795 0.35159689
f 9900 36020 20005

Friday, 17 June 2016

Importing from Sketchup to Unity

Architectural models from Sketchup have been working straight away when they get to Unity. There is no need to convert them to an intermediate format, the .skp files are good enough. I have this linkedin post (also got a pdf) on importing via .fbx that I didn't try yet cause it wasn't necessary.
Questions to investigate:

  1. tried importing in skp format from current Sketchup (June2016) version and it doesn't work, but when trying from older version it works.
  2. we need the Pro version to export to .fbx
  3. is it better to use fbx or skp?

Tuesday, 5 April 2016

Pipeline modelo com Oculus - desactualizado com a versão 5.

Tenho um Doc word chamado "Pipeline_Unity_OculusRift.docx". Abaixo está uma versão sem imagens.

Geração de modelos básicos para Oculus Rift em Unity
Descrição – permitir navegação com Oculus Rift em geometrias importadas de programas de modelação 3D (Sketchup, Blender, Rhino, 3DsMax, etc.).

Configuração do Unity para Realidade Virtual

Settings Globais
Ir ao menu Edit\Project Settings\Player e activar Virtual Reality Supported no Inspector (lado direito).

Importar Assets do Oculus Rift para Unity

Descarregar package “OculusUtilities” do site do Oculus Rift: Developer/Downloads/Engine Integration. Verificar compatibilidade com a versão do Unity que estamos a usar. Se necessário actualizar o Unity.
Unzip do ficheiro e arrastar o package para os Assets ou ir a Assets/Import Package/Custom Package. Aceitar a importação de todas as partes do pacote.
Nos Assets, abrir a pasta OVR/Prefabs e arrastar o OVRPlayer para a Scene. Depois pode-se afinar a posição do player em relação ao modelo.

Modelo 3D: importar e modificar

1 – Importar modelo 3D. Modelo tem de estar em formato aceite pelo Unity. Para importar basta arrastar ficheiro para os Assets. É boa ideia organizar os Assets em pastas. Verificar se geometria está correcta, materiais em texturas sobreviveram à importação, etc.
2 – Arrastar modelo para a cena, clicar e pôr o seu centro nas coordenadas 0,0,0. Se os modelos estão em coordenadas muito longe do centro (milhares de metros) podemos ter problemas.
3 – Expandir modelo na Hierarquia (lado esq.), seleccionar todas as peças do modelo e seleccionar Add Component no Inspector (lado direito): Physics->Mesh Colider. Isto faz com que todos os polígonos passem a ser impenetráveis para o avatar (é um pouco dispendioso mas é o mais simples).


Carregar Play e navegar, com ou sem Oculus.

Tuesday, 15 March 2016

Learning Resources on Computational GRaphics

3Ds MAx on Lynda.com

After taking the first course, which I did not finish since I ain't interested in animationa and advanced lighting, etc. I signed up for a trial account at digital tutors, which is also prety good. The videos I watched from this short course, CG101 are prety good and explains very well the concepts.

So now I need to learn 3DS or other 3D modeling sftware to be able to manipulate the Salamonde model from Autocad 3D. So I'm taking this course 3ds Max 2013 Essential Training and hope that 2013 is not so far away from 2016.


Some more sites on CG

http://www.scratchapixel.com/lessons/3d-basic-rendering/global-illumination-path-tracing

http://home.lagoa.com/2014/04/ray-tracing-vs-path-tracing-in-plain-english/