• Nenhum resultado encontrado

5 CATEGORIAS E TAXONOMIAS DE REPRESENTAÇÃO E PENSAMENTO NA

5.3. Paramétrico e Algorítmico

5.3.1 Linguagens Script e modelagem paramétrica visual

Segundo Celani e Vaz (2012) e Kilkelly (2016), existe uma diferença entre a forma de se modelar algoritmicamente e parametricamente dentro dos softwares que auxiliam o processo de projeto. Uma delas é utilizando a linguagem em scripts, como as programações feitas em programas como o Visual Basic, Python e C++. Alguns aplicativos CAD trazem a linguagem de programação baseada em scripts, como o Rhinoscript do Rhinoceros, o MEL do Maya, o MaxScript do 3DMax e o VBA ou Autolisp do AutoCAD. As linguagens variam muito em termo de sintaxe e estrutura. O script em VBA, por exemplo, tem uma linguagem voltada a objetos e é uma ferramenta que automatiza procedimentos no AutoCAD, embora não permita a criação de novas classes de objetos ou aplicações autônomas. A linguagem de programação nesses ambientes segue formas comuns de programação a partir da linguagem estruturada em condicionais (if-then-else) e loopings (for-each, for-next, do-while, select-case,

go-to).

A outra forma, a modelagem paramétrica visual, utiliza um ambiente mais intuitivo em que blocos de funções com componentes contendo certas formas de conexão com outras

21 Segundo Celani e Pupo (2008, p.31) A “mass customization” é um conceito mais recente que se constitui em

sistemas suficientemente adaptáveis para produzir um grande espectro de formas diferentes. A diferença entre a customização em massa baseada em modelos digitais e os antigos métodos de produção de massa é que estes últimos não se destinam a produzir cópias idênticas de um mesmo produto.

funções já vem embutido no próprio ambiente, como o Generative Components da Bentley, o plug-in Grasshopper para Rhino, o Dynamo para o Revit e p Marionette para o Vectorworks (KILKELLY, 2016). Nesses ambientes é possível realizar tarefas de programação de funções paramétricas sem a necessidade de se escrever uma linha de código em texto. Nesse caso, o próprio componente gera o código que realizará a tarefa. Celani e Vaz (2012) indicam que alguns sistemas CAD introduziram ferramentas com capacidades de geração de modelos paramétricos sem que haja a necessidade, por parte do usuário, da elaboração de código simbólico para sua implementação. Nesse caso, a programação visual é baseada na construção de diagramas que representam o algoritmo que gera o modelo paramétrico. A interface dos modelos é baseada em “caixas” com componentes conectados por “fios” e “nós” (Figura 28). A geometria na programação visual é desenvolvida de um modo diagramático, mas a forma de armazenagem não é feita como em modelos geométricos usais, como um arquivo .skp do SketchUp ou .dwg do AutoCAD que contém a geometria. O armazenamento é feito nem um código (do tipo definition file para o Grasshopper e transaction file no Generative Components) que contém as instruções para a construção da geometria.

Figura 28 – Programação visual e interface do Rhinoceros e do seu plug-in Grasshopper. Fonte: DIGITAL Physicalities. Disponível em: <http://digitalphysicalities.com/portfolio/rhino-grass/>. Acesso em: 05 abr. 2019.

Ainda segundo Celani e Vaz (2012), a programação visual é mais facilmente assimilada pelos usuários, principalmente para a geração de modelos criados com sistemas generativos. A modelagem paramétrica é mais intuitiva que a programação feita em código textual porque não requer conhecimentos teóricos em programação, possui maior facilidade de identificação de erros nos códigos e apresenta uma forma mais facilitada de se declarar as variáveis arrastando-se parâmetros com valores atribuídos a eles. Além disso, as ações para descrição do código não necessitam de uma ordem linear das ações e regras sintáticas como nos modelos de programação por scripts.

Em outras palavras, programadores não experientes necessitam testar o código a cada pequeno passo dado no desenvolvimento do código. Nas ferramentas de programação visual para modelagem paramétrica, o usuário pode ver, em tempo real, o resultado das modificações no código na janela que mostra o modelo geométrico. Além disso, no Grasshopper, quando o usuário realiza uma conexão incorreta entre dois componentes, estes automaticamente se tornam vermelhos. Nas linguagens simbólicas os usuários só notam os erros quando tentam executar o código. Embora o VBAIDE identifique a maioria dos erros e tenha ferramentas de

debug, tais como flags e variable watches, identificar certos erros de sintaxe pode

demorar algum tempo. A maioria dos estudantes sente dificuldades em utilizar essas ferramentas, pois sua inexperiência torna a tarefa de identificar e corrigir os erros muito difícil. (CELANI E VAZ, 2012, p.188)

Em geral, este tipo de aplicativo permite uma automação limitada do processo de projeto, mas pode ser eficiente para a exploração de formas por meio da geração automática de variações paramétricas. Mesmo quando a programação visual encontra seus limites, é possível estender sua capacidade combinando-os com os scripts. Um exemplo como na Figura 29 é o uso do Python (Linguagem script) aliado ao Grasshopper (Programação Visual).

Figura 29 – Programação em scripting no Python dentro do plug-in Grasshopper. Fonte: GRASSHOPPER Algorithmic modeling for Rhino. Disponível em: < https://www.grasshopper3d.com/forum/topics/3d-point-

cloud-in-python>. Acesso em: 05 abr. 2019.

No Quadro 7, Celani e Vaz (2012), baseados nos modelos de representação de Mitchell (1975), classificam a modelagem que usa linguagem em Scripts como um modelo simbólico porque faz uso de um sistema representado por palavras, números e operações matemáticas, enquanto os diagramas visuais da modelagem paramétrica visual que são gerados por meio de barras de rolagem e componentes definidos são classificados como uma representação análoga. A programação visual é, nas palavras de Celani e Vaz (2012, p.187), “uma representação análoga para algoritmos”.

Quadro 7 – Categorização segundo o método de representação e nível de abstração