Ir para o conteúdo PET Sistemas de Informação Ir para o menu PET Sistemas de Informação Ir para a busca no site PET Sistemas de Informação Ir para o rodapé PET Sistemas de Informação
  • International
  • Acessibilidade
  • Sítios da UFSM
  • Área restrita

Aviso de Conectividade Saber Mais

Início do conteúdo

Programação por trás da Impressão 3D



Saudações, leitores! Nesta edição do PET Redação, mergulharemos em um tema empolgante e cada vez mais presente: a Impressão 3D – Revolucionando a Manufatura Moderna. Vamos explorar como a programação está desempenhando um papel crucial na evolução dessa nova tecnologia e como essa combinação está transformando a forma como produzimos objetos e componentes. Acompanhe-nos nessa quente jornada de precisão e desenvolvimento.

 

Como se pode imprimir um objeto 3D?

Primeiramente, vamos explicar que existem vários modos de impressão 3D e por isso, cada um possui um processo único de confecção do objeto 3D. Dessa forma, pode-se citar quais os tipos de impressão 3D mais comuns do mercado:

  • Modelagem por Fusão e Deposição (FDM): Este é o tipo mais comum de impressão 3D. Funciona alimentando um filamento de material termoplástico através de uma cabeça de impressão aquecida, que deposita camadas sucessivas para formar o objeto e esse que se explicará mais hoje.

Impressora 3D Ender 3 V2 Creality

 

 

  • Estereolitografia (SLA): Utiliza um laser ultravioleta para solidificar resina líquida fotossensível, criando peças de alta precisão e detalhamento.

(Foto: Divulgação/MakeX) — Foto: TechTudo

  • Sinterização a Laser Seletiva (SLS): Usa um laser para fundir pó de material (geralmente polímeros, metal ou cerâmica) em camadas, criando objetos sólidos tridimensionais.

Impressora industrial SLS600 da ProtoFab.

Além disso, pode-se inclusive ter:

  • Fusão de Feixe de Elétrons (EBM): Utiliza um feixe de elétrons para fundir pó de metal, sendo especialmente adequada para a produção de peças metálicas complexas.

Direitos autorais: https://infosolda.com.br/1334-soldagem-por-feixe-de-eletrons/

 

Ademais, apesar das distinções entre os métodos de impressão, todos seguem um processo semelhante. Inicialmente, passam por um modelador 3D, que é o software responsável por criar o próprio modelo tridimensional. Um dos mais reconhecidos é o Blender, um programa de modelagem 3D de código aberto. Em seguida, utilizam um software específico para cada tipo de impressora. No caso da impressão por filamento, o modelo 3D é processado por um programa de fatiamento (slicing), que divide o modelo em camadas finas e gera os comandos de movimentação necessários para a impressão.

 

Como funciona um software de modelagem 3D?

Um software de modelagem 3D oferece aos usuários as ferramentas necessárias para criar modelos tridimensionais. Isso inclui uma interface gráfica, opções de desenho e edição, manipulação de objetos, capacidade de importar e exportar diferentes formatos de arquivo, entre outras funcionalidades essenciais. Esses elementos formam o cerne do software, embora alguns modeladores também possam oferecer funcionalidades adicionais. No contexto desse cenário, surge a pergunta: como isso é realizado a nível de software?

Para representar o objeto 3D em questão, é utilizado um conjunto de malhas (meshes), composto por vértices, arestas e faces interconectadas, onde cada vértice possui suas coordenadas tridimensionais.

#include <stdio.h>
// Definindo uma estrutura para um vértice
typedef struct {
   float x, y, z;
} Vertex;
// Definindo uma estrutura para uma face (triângulo)
typedef struct {
   Vertex vertices[3];
} Face;
// Definindo uma estrutura para uma malha
typedef struct {
   Face* faces;
   int num_faces;
} Mesh;
int main() {
   // Criando um array de vértices
   Vertex vertices[5] = {
   // Vértices da base (quadrado)
      {0.0, 0.0, 0.0},
      {1.0, 0.0, 0.0},
      {1.0, 1.0, 0.0},
      {0.0, 1.0, 0.0},
      // Vértice no topo
      {0.5, 0.5, 1.0},
   };
// Criando um array de faces (pirâmide)
   Face faces[5] = 
      {{vertices[0], vertices[1], vertices[4]}}, // Lado 1
      {{vertices[1], vertices[2], vertices[4]}}, // Lado 2
      {{vertices[2], vertices[3], vertices[4]}}, // Lado 3
      {{vertices[3], vertices[0], vertices[4]}}, // Lado 4
      {{vertices[0], vertices[1], vertices[2], vertices[3]}} // Base
   };
   // Criando uma malha
   Mesh myMesh = {faces, sizeof(faces)/sizeof(faces[0])};
   return 0;
}

Neste exemplo em C, nota-se a presença de vértices e faces. Os vértices são definidos por coordenadas x, y e z, enquanto as faces consistem em um conjunto de vértices que a compõem. Assim, é possível representar um objeto 3D de forma simples. No entanto, é importante ressaltar que a representação de uma malha em um software de modelagem 3D é muito mais complexa, incluindo uma variedade de informações como texturas.

 

Como funciona um fatiador (slicer) em contexto de FDM?

Ele converte desenhos tridimensionais, geralmente em formato STL ou OBJ, em códigos G que fornecem à impressora instruções precisas sobre movimentação, temperatura do bico e da mesa de impressão. Em resumo, o slicer transforma o modelo 3D do CAD e o “divide” em camadas – semelhante a um conjunto de imagens 2D cortadas que são empilhadas, criando um objeto 3D. O software realiza os cálculos necessários para determinar a altura de cada camada, bem como a quantidade de material necessária para imprimir a peça 3D. O arquivo é então convertido pelo fatiador 3D no formato GCODE, uma linguagem que a impressora compreende. Normalmente, os fatiadores oferecem ao usuário a opção de ajustar parâmetros de impressão, como velocidade, temperatura e posição da extrusora. Este processo é crucial para obter uma impressão 3D precisa e de alta qualidade.

Exemplo de fatiador: Ultimaker Cura

 

E o que é o Gcode?

O Gcode é uma linguagem de programação que instrui máquinas a executar ações específicas. Nesse contexto, foi desenvolvida para estabelecer um padrão na comunicação com sistemas de Controle Numérico Computadorizado (CNC), frequentemente utilizados em máquinas com múltiplos eixos. Assim, o código G tem a capacidade de direcionar os movimentos de uma impressora 3D, com o objetivo de criar uma peça tridimensional refinada. Cada comando é composto pela letra G seguida de um número; por exemplo, o comando G1 movimenta a extrusora em uma linha reta, enquanto o código G28 retorna a extrusora à posição inicial. Além disso, a linguagem pode incluir códigos M, que são empregados para controlar funções adicionais da impressora, como ativar ou desativar o aquecimento da cama de impressão.

 

G90 ; Definir para o posicionamento absoluto

G21 ; Definir unidades para milímetros

G28 ; Home todas as eixos

G92 E0 ; Zero o extrusor

G92 E0 ; Zero o extrusor novamente

 

Desenhar um círculo com raio de 20mm

G1 X0 Y20 F3000 ; Mover para o ponto de partida do círculo

G92 E0 ; Zero o extrusor

G1 F140 E6 ; Prime o extrusor

 

Desenhar o círculo usando movimentos do arco

G2 X0 Y-20 I20 J0 E6.2832 ; Desenhar a metade superior do círculo

G2 X0 Y20 I-20 J0 E6.2832 ; Desenhar a metade inferior do círculo

 

G1 F14000 ; Aumentar a velocidade de deslocamento

G92 E0 ; Zero o extrusor

G1 E-1.5 ; Retrair o filamento

 

Aqui está um exemplo de como o Gcode é utilizado para fazer um círculo em uma impressora 3D. Pode-se notar outros parâmetros que não foi visto anteriormente:

  • X e Y: Estes são os comandos de movimento ao longo dos eixos X e Y, respectivamente. Eles indicam a posição para a qual a cabeça de impressão deve se mover.
  • F: Este é o comando de velocidade de avanço. Ele define a velocidade na qual a cabeça de impressão deve se mover.
  • I e J: Estes são usados para definir o centro do arco para os comandos de movimento do arco (G2 e G3). I é a distância do centro do arco ao longo do eixo X a partir da posição atual, e J é a distância ao longo do eixo Y.
  • E: Este é o comando do extrusor. Ele controla a quantidade de filamento que é alimentado através do extrusor. Quando o valor de E aumenta, mais filamento é empurrado através do extrusor. Quando o valor de E diminui (um valor negativo), o filamento é retratado.

 

Conclusão

Dessa forma, demonstrou-se o funcionamento do universo da impressão 3D, desde a estrutura de dados de um modelador 3D até os detalhes da linguagem compreendida por uma impressora 3D para criar objetos. Além disso, foi traçado o percurso de produção de uma peça 3D, perpassando pelo modelador 3D até um software especializado para cada tipo de impressora 3D. Portanto, a Impressão 3D, impulsionada pela convergência entre programação e tecnologia de impressão, representa uma revolução na manufatura moderna.

 

Referências:

https://3dlab.com.br/fatiadores-3d/ 

https://www.sethi.com.br/blog/o-que-e-um-fatiador/ 

https://3dlab.com.br/cura-3d-ultimaker/ 

Centros de usinagem: o que é, tipos e diferença do CNC (kalatec.com.br)

blender.org – Home of the Blender project – Free and Open 3D Creation Software

Software G-Code para programação flexível | Polaris Motion (pmdi.com)

 

Autor: Leonardo Da Veiga

Divulgue este conteúdo:
https://ufsm.br/r-791-3464

Publicações Relacionadas

Publicações Recentes