Design e Tecnologia: Impressora 3D em Penplotter

Esse trabalho foi desenvolvido para a disciplina Oficina Integrada durante o curso de graduação em Design na UFMG. A proposta da disciplina é permitir que o aluno explore uma nova área de interesse e apresente os resultados em sala. Esse trabalho faz parte de uma pesquisa de interesse pessoal sobre a interseção entre design e tecnologia.

Introdução à ideia do projeto.

No início do projeto eu queria aproveitar a oportunidade de experimentar outras formas de utilizar a minha impressora 3D(Creality Ender 3 Neo), mas ainda não sabia como. Foi pesquisando na internet que descobri uma área artística chamada Arte Algorítmica.

A arte algorítmica é a arte criada por não-humanos a partir de um sistema algorítmico criado por um humano, ou seja, “o procedimento artístico é o ato de escrever o código”(Verostko, 1995, p. 496). Seu surgimento data do início da década de 1960 a partir de nomes como Georg Nees, Frieder Nake, A. Michael Noll, Manfred Mohr e Vera Molnár. Esse tipo de arte é comumente confundido com arte digital, porém sua aplicação não é dependente do ambiente gráfico computacional, visto que a princípio essas obras foram geradas por um plotter controlado por um computador que lia o código e externalizava a arte em uma superfície.

Nesse estilo de arte, o computador pode ser visto como um parceiro no processo de tomada de decisão criativa (Beyls, 1995), tendo em vista que o produto resultante dos códigos, os grafismos, são resultados de ações indiretas que refletem as capacidades e limitações da máquina. “Assim, o homem e a máquina contribuem tanto para a criação de um clima computacional que favorece a invenção como para o desenvolvimento de uma atitude crítica face às relações muitas vezes complexas entre a intenção programada e o resultado real.” (Beyls, 1995, p. 496).

Partindo dessa abordagem, eu me deparo com um grande problema para o desenvolvimento de um projeto desse escopo. Saber programar. Eu não sabia o básico necessário para começar a fazer qualquer tipo de programação artística, frente a isso vejo que seria interessante usar a inteligência artificial para contornar esse obstáculo, pensando que o meu foco é me introduzir no assunto e explorar superficialmente esse universo antes de entrar de cabeça. Minha intenção é tangenciar as possibilidades de uso desse tipo de produção, até mesmo para eu ver se esse assunto realmente me interessa.

Então, usando a lógica de parceria humano-máquina de Beyls, eu coloco em questão o ato da escrita do código, desenvolvendo a arte através da co-criação do código a partir do diálogo com a IA Copilot do Windows. Essa co-criação se dará de forma que a IA exerce o conhecimento algorítmico e eu a intenção de criação. É interessante pensar que os resultados serão um reflexo da complexidade existente entre a compreensão e capacidades da IA sobre a minha intenção de criação.

Observando grandes nomes.

Em seguida, fui em busca de referências de artistas relevantes na área de Arte Algorítmica, como os já citados Manfred Mohr, Vera Molnár, além de outros como Roman Verostko e Lillian Schwartz.

Manfred Mohr

Vera Molnár

Roman Verostko

Lillian Schwartz

Primeiros códigos

Foram analisados programas que permitiriam a criação da arte algorítmica em colaboração com a IA. Por fim, foi selecionado o Processing 4, uma plataforma de linguagem Java que poderia ser trabalhada no contexto proposto. A experimentação por meio da IA se deu por meio de prompts de comando nos quais a IA respondia com um algoritmo, esse algoritmo era então testado no Processing. Em seguida eram feitos novos prompts sugerindo alterações, nos quais a IA enviava um novo código. E assim foram sendo construídos os códigos.

Algo interessante que foi observado é que ao repetir o mesmo prompt, em abas diferentes, a IA gerava um código diferente. Ou seja, não há consistência de resultados, o que leva a crer que a IA interpreta o comando de diferentes formas a cada pedido.

A seguir estão alguns testes de códigos que tem como resultado imagens estáticas. Nessas, a cada rodada o código gera uma versão levemente diferente da anterior.

Desenvolvimento do projeto

Essa etapa começa com um desafio interessante: tornar viável uma produção de design a partir dos códigos generativos feitos anteriormente. A princípio a ideia era usar os códigos para o desenvolvimento de projetos que seriam feitos em duas frentes, uma relacionada ao desenvolvimento de artefatos tridimensionais(design de produto), e outra relacionada à produção gráfica desses códigos(design gráfico).


Para a produção dos artefatos tridimensionais, o intuito era utilizar a ferramenta de Nodes do software Blender para criar texturas em produtos a partir dos códigos. Essa ideia veio com base no projeto Coral Cup feito pela Nervous System, um estúdio de design generativo focado na interseção entre ciência, arte e tecnologia. Nesse projeto um código simula o crescimento de corais, esse código é aplicado na superfície de um copo, criando uma topografia de coral, e a cada rodada o código gera versões diferentes dessa topografia.

Coral Cup – Nervous System

Infelizmente a produção desse tipo de artefato fugiu muito das minhas habilidades atuais. Fiz tutoriais de Blender e programação, porém não seria possível conceber um projeto como esse em tempo hábil. A próxima imagem registra o progresso que tive ao utilizar o software Rhinoceros para tentar alcançar esse objetivo.

Experimentação de forma tridimensional baseada na arte algorítmica (Rhinoceros 3D)

Então, decidi que seria mais interessante focar na segunda frente. A produção gráfica dos
códigos é um projeto complexo por si só. Envolve a modificação da minha impressora
3D e a adaptação do código de funcionamento da impressora.

Começando pela modificação. Para isso eu precisava arrumar uma forma de prender a
caneta ao Kit de Bocal da impressora de forma prática.

Peguei algumas referências na internet de projetos parecidos com o que eu queria fazer, e achei um do qual o autor usou os parafusos da própria impressora para anexar um suporte para a caneta. Usando esse projeto como ponto de partida, percebi que a única forma de modificar a minha impressora nesse sentido seria aproveitando os parafusos do “CR touch”, peça responsável por informar a posição do Kit de Bocal em relação à mesa de impressão.

Peça CR touch

Realizei uma série de protótipos e testes até chegar a um produto com eficácia suficiente para a produção gráfica do projeto. Entre cada protótipo e teste foi necessário adaptar o código de funcionamento da impressora, esse código também foi sendo desenvolvido até um resultado de eficácia suficiente. Apresento em seguida os protótipos desenvolvidos, seus prós e contras, e a adaptação final do código de funcionamento da impressora.

Versão 1.0
Prós:
● Cumpre a função de segurar a
caneta;
Contras:
● Código de funcionamento da
impressora difícil de configurar, pois
era necessário substituir a peça CR
touch, fazendo com que a máquina
perdesse as coordenadas da
posição correta do Kit de Bocal;
● Baixo aproveitamento do espaço da
mesa;
● Baixa variedade de canetas
possíveis de utilizar;

Versão 2.0
Prós:
● Cumpre a função de segurar a
caneta;
● Consegue ser instalado juntamente
com o CR touch;
Contras:
● Baixo aproveitamento do espaço da
mesa;
● Baixa variedade de canetas
possíveis de utilizar;

Versão 3.0
Prós:
● Cumpre a função de segurar a
caneta;
● Consegue ser instalado juntamente
com o CR touch;
● Bom proveito do espaço da mesa;
Contras:
● Baixa variedade de canetas
possíveis de utilizar;

Versão 3.1
Prós(teoricamente):
● Consegue ser instalado juntamente
com o CR touch;
● Grande variedade de canetas
possíveis de utilizar;
● Bom proveito do espaço da mesa;
Contras:
● Não foi possível viabilizar a
produção funcional na impressora
3D;

Versão 3.2
Prós:
● Consegue ser instalado juntamente
com o CR touch;
● Grande variedade de canetas
possíveis de utilizar;
● Modular
● Bom proveito do espaço da mesa;
Contras:
● O módulo não segura a caneta da
forma correta.

Código de funcionamento da impressora(adaptação final):

Esse código é simples e altera apenas a Iniciação da Impressora.

; Ender 3 Custom Start G-code
G28; Redefine todos os eixos
G1 Z1 F3000 ; Move o bico para 1mm de distância da mesa
M0 Insira a Caneta; Prepara a impressora para a inserção da caneta
G1 Z2 F3000 ; Move a caneta para cima antes de começar a impressão
G1 X113 Y172 Z1 F3000; Coloca a ponta da caneta ao centro da mesa
G92 X0 Y0 Z0; Define a ponta da caneta como centro

Entre cada protótipo e adaptação do código, foram produzidos testes de impressão para avaliar e explorar as possibilidades dessa tecnologia aplicada no design. Um dos desafios encontrados para viabilizar a impressão usando a impressora 3D modificada foi a tradução das imagens e códigos para os movimentos do Bocal da impressora onde a caneta estaria presa. Realizei testes com diversos softwares e várias conversões de arquivos. Os resultados mais satisfatórios vieram do seguinte processo de conversão(seguido com os programas utilizados entre parênteses): Código Java (Processing) > Vetor SVG (Inkscape/Adobe Illustrator) > Arquivo tridimensional em STL (Fusion 360) > Arquivo em Gcode (Cura Slicer).

Testes de impressão

Dentre essas explorações houveram dois momentos. Um de conversão dos códigos de arte algorítmica desenvolvidos na unidade anterior em impressões, e outro em explorar outras capacidades dessa tecnologia no design gráfico.

Resultados das explorações (arte algorítmica)

Resultados das explorações (design gráfico)

No mais, é isso. Essas experimentações foram as últimas produções feitas utilizando tudo o que desenvolvi durante o projeto. Tenho a intenção de continuar fazendo algumas outras explorações e quem sabe até aprender mais sobre programação para desenvolver os meus próprios códigos.

Referências:
user. Arte Generativa: O Que é e o Que Tem a Ver Com as NFTs?. Neverest, 04, janeiro. 2022. Disponível em: https://blog.neverest.gg/o-que-e-arte-generativa/ . Acesso em: 22/04/2024.

Pixillation. Criado por Lillian F. Schwartz. [S. l.: s. n.], 1970. 1 vídeo (4 min). Disponível em: https://vimeo.com/56480534. Acesso em: 22/04/2024. 

Peter Beyls, Stephen Bell, Brian Evans, Jean-Pierre Hebert, Ken Musgrave, and Roman Verostko. 1995. Algorithms and the artist (panel session). In Proceedings of the 22nd annual conference on Computer graphics and interactive techniques (SIGGRAPH ’95). Association for Computing Machinery, New York, NY, USA, 495–496. https://doi.org/10.1145/218380.218531

O Pioneirismo de Manfred Mohr e sua Arte Algorítmica. Ao Redor, 2023. Disponível em: <https://www.aoredor.blog.br/post/o-pioreirismo-de-manfred-mohr-e-sua-arte-algor%C3%ADtmica>. Acesso em: 14, 05 de 2024.

Arte Algorítmica. Hisour Arte Cultura Exposição, ano. Disponível em: <https://www.hisour.com/pt/algorithmic-art-12807/ >. Acesso em: 14, 05 de 2024.

Roman Verostko. ACM SIGGRAPH HISTORY. Disponível em: <https://history.siggraph.org/person/roman-verostko/>. Acesso em: 14, 05 de 2024.