Dissertação

{pt_PT=P2R: Implementation of Processing in Racket} {} EVALUATED

{pt=O Processing é uma linguagem de programação criada para o ensino de programação nas áreas de multimédia, design e arquitetura. Ao longo do tempo, a linguagem tornou-se muito popular nestas comunidades, devido a uma forte componente pedagógica e a um vasto conjunto de primitivas de modelação geométrica. Contudo, apesar de ter alcançado grande visibilidade e massa crítica, a linguagem continua a ter pouca aplicabilidade na área da arquitetura, visto que nenhum software de CAD (Computer-Aided Design) a suporta. De modo a preencher esta lacuna, propomos uma implementação de Processing que consiga gerar modelos nas ferramentas de CAD mais utilizadas. Deste modo, arquitetos e designers que tenham aprendido Processing podem tirar partido das capacidades gráficas e pedagógicas da linguagem para desenvolver modelos arquitetónicos numa ferramenta CAD. Para tal, iremos tirar partido da biblioteca Rosetta, criada para desenho generativo e desenvolvida na plataforma Racket. A biblioteca Rosetta suporta múltiplas linguagens de programação, nomeadamente AutoLISP, Racket, Python, etc. Simultaneamente, o Rosetta permite gerar modelos geométricos em várias ferramentas CADs, entre elas, o AutoCAD, o Rhinoceros 3D, e o SketchUp. Adicionalmente, o Rosetta implementa um leque de primitivas de modelação apropriadas para o trabalho arquitetónico. Este trabalho apresenta uma implementação de Processing para Racket, que transforma Processing em código Racket equivalente, tirando proveito do Rosetta para aceder às diferentes ferramentas de CAD e a um conjunto alargado de primitivas de modelação geométrica. Desta forma, usando a nossa implementação arquitectos podem usar a linguagem Processing para trabalho arquitectonico na sua ferramenta de CAD favorita., en=The Processing language was created to teach programming to the design, architecture, and electronic arts communities. The language has become very popular among these communities, mainly due to its pedagogical and graphical features. However, despite its success, Processing remains a niche language with limited applicability in the architectural realm, as no CAD (Computer-Aided Design) application supports Processing. As a result, architects that have learnt Processing are unable to use the language in the context of modern, script-based, architectural work. To address this issue, we propose an implementation of Processing that runs in the context of the most used CAD tools. This way, architects and designers that have learnt the Processing language can take advantage of its educational and graphical capabilities to develop architectural work in a CAD environment. To connect Processing with a CAD application, we will take advantage of Rosetta, a Generative Design library implemented on top of Racket. Rosetta allows programs written in AutoLISP, Racket, Python, etc., to generate models in different CAD applications, such as AutoCAD, Rhinoceros 3D, and SketchUp. Moreover, Rosetta implements a wide range of modelling primitives specifically tailored for architectural work. This work presents an implementation of Processing for the Racket platform, that transforms Processing into equivalent Racket source code, taking advantage of Rosetta to access several CAD back-ends and a wider set of modelling primitives. Therefore, using our implementation, architects can use Processing to generate models for architectural work in their favourite CAD application.}
{pt=Processing, Racket, Compiladores, Desenho Generativo, Interoperabilidade, en=Processing, Racket, Compilers, Generative Design, Interoperability}

junho 5, 2015, 10:30

Publicação

Obra sujeita a Direitos de Autor

Orientação

ORIENTADOR

António Paulo Teles de Menezes Correia Leitão

Departamento de Engenharia Informática (DEI)

Professor Auxiliar