Visão geral
O G-Nesis é um editor vetorial para preparar peças de corte/gravação em máquinas CNC com firmware GRBL. Você desenha na área de trabalho (do tamanho da sua peça, em mm) e exporta o resultado como G-code pronto pra usinar, ou como SVG/PNG.
Conta
O editor funciona inteiro sem conta — criar uma (botão Entrar, no canto superior direito) só serve pra salvar o perfil da máquina (nome, modelo, acessórios) no servidor em vez de só neste navegador, pra acessar de qualquer computador. Nada mais depende de login: desenhos, projetos e configurações de usinagem continuam 100% locais. Se você já tinha um perfil salvo neste navegador antes de criar a conta, ele é levado automaticamente pra conta no primeiro login.
Ferramentas de desenho
- Selecionar (V) — move, redimensiona (alças nos cantos/bordas) e seleciona formas. Shift-clique soma à seleção. Clicar exatamente na linha de uma forma já existente sempre seleciona ela, mesmo com outra ferramenta ativa — só clicar dentro do preenchimento com outra ferramenta é que começa um desenho novo.
- Linha (L), Retângulo (R), Círculo (C) — clique e arraste na área de trabalho.
- Polilinha (P) — clique para adicionar pontos, Enter fecha o traço, Esc cancela.
- Mão livre (F) — clique e arraste para desenhar um traço contínuo.
- Texto (T) — clique na peça e digite; cada letra vira um contorno editável (suporta acentos em português).
Espessura do traço (kerf)
A linha desenhada aparece com um halo semitransparente do tamanho real do diâmetro da fresa — é o "kerf", a faixa de material que a ferramenta realmente remove. Ajuste o diâmetro da fresa em Usinagem pra ver essa faixa mudar de espessura.
Edição de nós (curvas)
Clique duplo numa forma entra no modo de edição de nós (o cursor muda ao passar sobre nós e alças, pra facilitar). Clique duplo num nó alterna entre reto/curva; clique duplo numa aresta insere um nó novo. Esc sai do modo de edição.
Formas / ordem de corte
A lista de "Formas" define a sequência de corte (use ↑/↓ pra reordenar). Formas dentro de um grupo aparecem indentadas, com seu próprio ↑/↓ — reordenar ali muda só a ordem entre elas, sem afetar as outras formas de fora do grupo. Ative "Ver rota de corte" no topo pra visualizar a ordem, o sentido e os deslocamentos rápidos entre formas diretamente no desenho.
Organizar e operações booleanas
Agrupe (Ctrl+G) formas selecionadas pra que se movam/redimensionem juntas; desagrupe (Ctrl+Shift+G) pra editar uma forma individualmente. ⧉ Duplicar (Ctrl+D) copia a seleção inteira e posiciona a cópia imediatamente à direita da original (preservando a disposição relativa entre as formas, se houver mais de uma selecionada) — a nova cópia já fica selecionada, pronta pra mover ou editar. As operações booleanas (União, Subtração, Interseção, Exclusão) combinam 2+ formas fechadas selecionadas — a subtração usa a ordem das camadas (de baixo pra cima) como A − B − C…
Alinhamento
Na seção "Alinhamento" (aba Desenhar), 6 botões alinham as formas selecionadas: à esquerda, centralizar horizontalmente, à direita, ao topo, centralizar verticalmente e à base. Com 2 ou mais formas selecionadas, o alinhamento usa a caixa combinada da seleção como referência (as formas se movem umas em relação às outras). Com só 1 forma selecionada, o alinhamento é feito em relação à peça — útil pra centralizar rapidamente algo na chapa. Formas bloqueadas nunca se movem durante o alinhamento, mas continuam contando como referência.
Bloquear formas
Cada forma na lista "Formas" tem um ícone de cadeado (🔓/🔒) — clique pra bloquear/desbloquear. Uma forma bloqueada não pode ser movida, redimensionada, editada (nós) ou excluída pelo desenho, pelo teclado ou pelos botões de Organizar/Operações booleanas/Offset (essas operações avisam e recusam enquanto houver uma forma bloqueada na seleção, a menos que ela não seja necessária pra completar a ação — ex: offset com "Manter forma original" marcado). Ainda dá pra selecionar uma forma bloqueada (clicando nela ou na lista) pra ver suas propriedades e desbloqueá-la — o painel de propriedades mostra um botão "Desbloquear" direto. Um pequeno 🔒 aparece sobre a forma no desenho enquanto ela estiver bloqueada. Útil pra proteger partes de um desenho já finalizado enquanto você continua trabalhando no resto.
Offset (deslocamento)
Desloca o contorno de uma forma pra dentro (negativo) ou pra fora (positivo) — útil pra compensar o raio da fresa. O botão "⌀ Raio da fresa" preenche automaticamente a distância com o raio configurado em Usinagem.
Material
Defina o tamanho da peça (largura/altura), a espessura e a cor do material (a cor é só visual). O indicador de profundidade mostra quanto da espessura a usinagem atual vai cortar. Dá pra escolher uma das texturas disponíveis (clique num dos quadrados) pra usar no 🧊 Preview 3D no lugar da cor sólida — vale só pra lá; a área de trabalho continua usando a cor sólida, pra manter o traço/kerf fáceis de enxergar enquanto desenha.
Usinagem
- Parâmetros — altura segura, profundidade padrão, profundidade/passe, avanços de corte/mergulho/rápido, RPM do fuso e diâmetro da fresa.
- Origem (0,0) — escolha qual canto (ou o centro) da peça vira a origem no G-code exportado; um alvo ⌖ laranja marca esse ponto no desenho.
- Profundidade por forma — selecione uma forma e, no painel de propriedades, defina uma profundidade específica pra ela (substitui a padrão só naquela forma). Use "Padrão" pra voltar a usar o valor de Usinagem.
- Tempo estimado — soma o tempo de deslocamentos rápidos, mergulhos e cortes, considerando os passes de cada forma. É uma estimativa (não considera aceleração real da máquina).
Tipo de fresa
Escolha entre Reta, V-bit 60°/30°, Ball nose ou Cônica. Isso não muda o G-code de corte 2D (que sempre usa o diâmetro da fresa) — só muda o formato mostrado no Preview 3D: paredes inclinadas até um ponto (V-bit) ou até um topo estreito (cônica), ou fundo arredondado (ball nose), em vez de paredes retas.
Corte passante — ultrapassagem e tabs
Quando a profundidade (padrão ou de uma forma) chega exatamente na espessura do material, o corte "atravessa" a peça. Dois recursos ajudam nesse caso:
- Ultrapassar a peça — desce 0,1/0,2/0,3mm além da espessura, garantindo um corte limpo sem deixar rebarba no fundo.
- Tabs de suporte — em vez de cortar o contorno inteiro, deixa pequenas pontes de material intacto (a "altura" configurada, ex. 0,5mm) em pontos espaçados ao redor do contorno, pra a peça não soltar, vibrar e estragar a fresa (ou ela mesma) antes de terminar. A quantidade, largura e altura das pontes são configuráveis. Só se aplica a contornos fechados que não sejam rebaixo.
Tipo de usinagem por forma
No painel de propriedades de uma forma selecionada, escolha um dos 4 tipos (só se aplicam a contornos fechados — retângulo, círculo, formas fechadas):
- Seguir traço — o centro da fresa passa exatamente sobre o desenho (padrão).
- Corte externo — a fresa desloca pra fora do traço, então a peça final fica do tamanho exato do desenho (bom pra recortar uma peça).
- Corte interno — a fresa desloca pra dentro do traço, então o furo/vão final fica do tamanho exato do desenho (bom pra furos e encaixes).
- Rebaixo — esvazia todo o interior da forma até a profundidade indicada; o G-Nesis gera automaticamente os caminhos concêntricos necessários pra remover todo o material de dentro, não só o contorno.
Nos três tipos deslocados, o desenho original some pra um traço fino tracejado (só referência) e o halo verde-água mostra onde a fresa realmente corta.
Fill method (rebaixo)
Quando o tipo de usinagem da forma é Rebaixo, aparece mais um campo pra escolher como a fresa varre o interior:
- Offset — anéis concêntricos, de fora pra dentro (o padrão, já existia).
- Raster — eixo X / eixo Y — varredura em linhas paralelas (zigue-zague), como um raster de imagem. Costuma ser mais rápido em áreas grandes e retas.
Plunge (entrada da fresa)
Todas as formas têm um campo Plunge no painel de propriedades:
- Vertical — mergulho reto, direto na profundidade do passe (padrão, mais simples).
- Rampa — a fresa desce em ângulo enquanto já vai se movendo pelo caminho, em vez de mergulhar reto; mais suave pra fresa e pro material. O ângulo é configurável (quanto menor, mais suave e mais longa a rampa). Em formas fechadas, a rampa pode dar até 2 voltas se precisar de mais espaço pra descer suave; em tabs de suporte, a última passada sempre usa entrada vertical (as duas coisas juntas não se combinam).
Múltiplas camadas no projeto
A barra abaixo do cabeçalho permite criar várias camadas ("+ Camada") no mesmo projeto — cada uma com seu próprio desenho, editado de forma independente, e sua própria fresa (diâmetro e tipo de ponta, configurados na aba Usinagem & Exportar). Passe o mouse sobre uma camada pra ver os botões ✎ renomear, ⧉ duplicar (copia todas as formas e a fresa da camada pra uma nova, com IDs próprios) e × excluir (duplo clique no nome também renomeia). Peça, material e os demais parâmetros de usinagem (avanço, RPM, mergulho, Z seguro) são compartilhados entre todas as camadas, porque é a mesma peça física — só a fresa é por camada, pensando em operações que trocam de ferramenta (ex: desbaste com uma fresa maior, depois detalhe com uma menor). O G-code exportado e o envio pela conexão USB sempre usam só a camada ativa — assim dá pra organizar operações separadas (ex: uma camada de corte, outra de gravação) e rodar uma de cada vez, trocando a fresa física entre elas. Já o 🧊 Preview 3D mostra a sobreposição de todas as camadas juntas, cada uma com sua fresa, pra você ver o resultado final combinado antes de rodar cada uma.
Fontes customizadas no texto
Na seção "Texto" (aba Desenhar), o seletor de Fonte começa só com o traço simples embutido (funciona sempre, sem depender de nada externo). Duas formas de usar outra letra:
- 📁 Carregar fonte — abre um arquivo
.ttf/.otf do seu computador.
- 💻 Fontes do sistema — lista direto as fontes já instaladas no seu computador, sem precisar procurar o arquivo (Chrome/Edge; pede permissão do navegador na primeira vez, igual câmera/microfone). Escolha uma no seletor que aparece pra carregá-la.
De qualquer um dos dois jeitos, a fonte usa o contorno real das letras e fica disponível no seletor de Fonte pelo resto da sessão (não é salva no projeto — é o arquivo/fonte em si, não faria sentido embutir). Cada texto já criado guarda o texto original digitado, então dá pra trocar a fonte de um texto que já existe: selecione a forma e escolha outra fonte no campo Fonte do painel de Propriedades — o contorno é refeito na posição atual, sem precisar redigitar.
Exportar
Gere o G-code (.nc) pronto pra máquina (com pré-visualização antes de baixar), ou exporte o desenho como SVG ou PNG pra uso em outros programas.
Salvar / abrir projeto
Use 💾 Salvar, no topo — na primeira vez ele pede um nome pro projeto; no Chrome/Edge, também deixa escolher onde guardar o arquivo .cncproj, e os próximos cliques em Salvar sobrescrevem esse mesmo arquivo direto, sem baixar de novo. Em navegadores sem esse recurso (Firefox/Safari), cada clique baixa um novo arquivo com o nome escolhido. Depois, use 📂 Abrir pra continuar de onde parou — abrir um arquivo novo passa a pedir nome de novo no próximo Salvar.
Importar SVG / STL / Imagem
O mesmo botão 📂 Abrir também importa arquivos .svg, .stl, .png e .jpg — diferente de abrir um .cncproj (que substitui tudo), importar soma as formas ao desenho atual, centralizadas na peça.
- SVG — importa
path, rect, circle, ellipse, line, polyline e polygon, respeitando transforms (translate/scale/rotate) e a escala real do documento (usa viewBox e width/height quando disponíveis; sem essas informações, assume 1 unidade do arquivo = 1mm).
- STL — o comportamento depende do modo do projeto: em modo 2D, extrai só o contorno externo (silhueta do modelo visto de cima), útil pra recortar numa chapa o formato de uma peça modelada em 3D (não gera relevo real). Em modo 3D, carrega a malha real como um sólido posicionável/transformável (veja "Modo 3D" abaixo). Assume 1 unidade do STL = 1mm, a convenção mais comum.
- PNG/JPG — abre o modal "Rastrear imagem" antes de importar: escolha Silhueta (um único contorno preto-e-branco, bom pra logos/símbolos que serão cortados como uma peça só) ou Níveis de cinza (vários contornos, um por faixa de tom — cada nível vira uma forma separada, que dá pra ajustar a profundidade individualmente depois, criando um relevo simples a partir de uma foto). A prévia ao vivo mostra exatamente o que vai ser rastreado conforme você ajusta o limite/níveis; "Inverter" troca qual lado (claro ou escuro) é tratado como material a rastrear.
Se a forma importada for maior que a peça atual, ela ainda é adicionada (só um aviso aparece) — ajuste o tamanho da peça no campo "Peça" ou redimensione a forma pelas alças de seleção.
Preview 3D
O botão 🧊 Preview 3D, no topo, abre uma janela menor com o resultado da usinagem simulado em 3D — arraste pra girar, use a roda do mouse pra ampliar. Use "Atualizar" na janela pra sincronizar com mudanças recentes. O que ele mostra depende do modo:
- Modo 2D — a peça roteada: pockets e cortes aparecem rebaixados na profundidade configurada.
- Modo 3D — a superfície que o acabamento do CAM 3D vai traçar de verdade (já com a compensação do perfil da fresa) — o resultado real esperado da usinagem, não o sólido idealizado que você modelou. Vale a pena conferir antes de gerar o G-code.
Conectar na máquina (USB)
O botão 🔌 Máquina, no topo, abre um painel pra conectar direto na CNC pela porta USB e enviar os comandos sem precisar de outro programa. Requer Chrome ou Edge no computador (não funciona em celular, Firefox ou Safari — é uma limitação do navegador, não do app). No topo do painel, a seção "Minha máquina" guarda nome, modelo e acessórios como um lembrete pessoal (salvo neste navegador, não afeta a conexão nem o G-code).
- Conectar — escolhe a porta serial da máquina (o navegador mostra a lista) e abre a conexão.
- Console — mostra tudo que é enviado/recebido; dá pra mandar um comando manual solto (ex:
$$, $X).
- Jog — move a máquina manualmente nas setas/Z, com passo e avanço configuráveis; "Zerar X/Y aqui" e "Zerar Z aqui" definem a origem de trabalho (G54) na posição atual.
- Enviar G-code atual — manda pra máquina o mesmo G-code que seria exportado. Antes de começar, abre um checklist de pré-usinagem: mostra se o zero de X/Y e de Z já foram definidos (✅/⚠️, com um link "Já zerei manualmente" caso você tenha zerado fora dos botões dedicados) e pede 3 confirmações manuais (fresa travada, peça fixada, posição de referência correta). O botão "▶ Iniciar usinagem" só libera quando tudo estiver ok. Depois disso: barra de progresso, e Pausar/Retomar/Parar sempre disponíveis durante o corte.
- Destravar (
$X) — libera o alarme/trava de segurança da GRBL (acontece ao ligar a máquina, depois de um fim-de-curso acionado, ou após uma parada de emergência); enquanto travada, a GRBL recusa qualquer comando de movimento, então é o primeiro botão a clicar antes de dar Jog ou enviar um trabalho.
- Home (
$H) — roda o ciclo de referência: move os eixos até os sensores de fim-de-curso pra estabelecer uma posição de máquina conhecida (MPos). Use no início da sessão ou sempre que desconfiar que a máquina "perdeu a posição". Só funciona se a sua máquina tiver sensores de homing instalados e habilitados no firmware — sem isso, o comando retorna erro.
O zero de X/Y definido (pelo botão "Zerar X/Y aqui" ou confirmado manualmente no checklist) vale pro resto da conexão, mesmo trocando de camada — a peça não mudou de lugar na mesa. Já o zero de Z é por fresa: cada camada tem sua própria fresa (diâmetro/tipo), e trocar a fresa fisicamente muda o comprimento real dela, então o Z=0 anterior deixa de valer. O checklist detecta isso sozinho — se a fresa configurada na camada ativa for diferente da usada no último zero de Z, ele mostra um aviso pedindo pra tocar (probe) ou zerar de novo antes de liberar o botão de iniciar. Desconectar da máquina reseta os dois zeros. O app nunca conecta ou envia nada sozinho — tudo depende de você clicar.
Zerar Z por toque (probe)
Este app oferece toque (probe) só em Z (não X/Y) — no painel da Máquina, seção "Zerar Z por toque", o botão 🔻 Tocar Z desce a fresa devagar (G38.2) até o probe detectar contato e define a origem de trabalho (G54) em Z automaticamente, descontando a "Altura do probe" informada (a espessura da placa/apalpador, se você usar um — deixe 0 se o toque é direto na peça). Ajuste a distância de busca e o avanço de toque conforme seu probe.
Um indicador mostra se o probe está tocando ou livre em tempo real (lido do status da máquina). Se ele já mostrar contato antes de você clicar em Tocar Z, o toque fica bloqueado — confira a fiação do probe e se a fresa não está encostada em nada antes de tentar de novo. Se o probe não detectar contato dentro da distância configurada, nada é zerado (fica registrado no console).
Confirmação do fuso antes de cortar
Todo G-code gerado (exportado ou enviado ao vivo) liga o fuso e faz uma pausa (M0) logo em seguida, antes de qualquer movimento de corte. Ao enviar pela conexão USB, essa pausa vira uma pergunta direta: "O fuso está girando?" — o corte só continua depois de confirmar. Se você cancelar, o envio é interrompido (reset) em vez de continuar às cegas. É uma etapa separada do checklist de pré-usinagem: o checklist roda uma vez, antes de mandar qualquer linha; essa confirmação roda no meio do envio, exatamente quando o G-code liga o fuso de verdade.
Fim da usinagem
Ao terminar todas as formas, o G-code sempre sobe pelo menos 10mm acima do Z inicial (ou a altura segura configurada, o que for maior), volta pra origem X/Y e só então desliga o fuso — nessa ordem, pra deixar a fresa livre da peça antes de desligar.
Modo 3D (modelagem de sólidos)
O botão 🆕 Novo, no topo, abre a escolha entre um projeto 2D (o editor de sempre, roteamento 2.5D) ou 3D — nesse modo a área de trabalho vira um visor 3D e a barra de ferramentas troca pra: ▢ Caixa, ⬭ Cilindro, ◯ Esfera, ▲ Cone, ◎ Donut (cada clique adiciona a primitiva centralizada na peça). Clique num sólido no visor (ou na lista "Formas" à direita) pra selecioná-lo — aparece um gizmo pra arrastar com o mouse: use os botões ✛ Mover, ↻ Girar ou ⤢ Escalar na barra à esquerda pra trocar o que o arrasto faz, ou ajuste os mesmos valores digitando no painel de Propriedades (os dois ficam sempre sincronizados). Del exclui o sólido selecionado.
Operações booleanas (3D) — selecione exatamente 2 sólidos (shift-clique na lista) e escolha União/Subtração/Interseção; o resultado vira um novo sólido, e os dois originais ficam ocultos (não excluídos) por dentro dele.
Abrir/exportar STL — em modo 3D, o botão 📂 Abrir carrega um .stl como sólido de verdade (malha preservada, não só a silhueta), posicionável/transformável como qualquer outro sólido. Em Usinagem & Exportar, o botão 🧊 Exportar STL baixa todos os sólidos visíveis num único arquivo binário.
Usinagem 3D (desbaste + acabamento)
Em Usinagem & Exportar (modo 3D), a seção "Usinagem 3D" gera o G-code de verdade pra usinar o relevo modelado: a CNC desbasta um bloco retangular (tamanho da Peça × espessura do Material) de cima pra baixo até sobrar só a forma dos sólidos visíveis — é usinagem de relevo padrão pra router 3 eixos (sem rebaixos/undercuts, que 3 eixos não consegue cortar mesmo fisicamente). O processo tem duas etapas:
- Desbaste — remove o grosso do material em fatias horizontais (níveis de Z), de passo configurável, sempre deixando uma sobra (mm) intocada perto da superfície final pra não estragar o acabamento.
- Acabamento — um único passe em linhas paralelas (X ou Y) que acompanha a superfície de perto, usando o stepover (% do diâmetro da fresa) configurado — quanto menor, mais fino/lento o acabamento.
A Resolução da malha controla o detalhe da "malha de altura" usada internamente (quanto menor, mais fiel — e mais lento/pesado de calcular; o app avisa se a resolução escolhida passar de 90 mil pontos). O tipo de fresa (reta/V-bit/ball nose/cônica) configurado em Material/Usinagem passa a valer de verdade aqui — no ball nose e V-bit/cônica, o software verifica os pontos vizinhos pra fresa não cavar (gouging) num relevo mais alto ao lado.
Clique ⚙ Gerar G-code 3D pra calcular e abrir a pré-visualização (mesma janela do 2D) — de lá dá pra baixar o .nc ou enviar direto pela conexão 🔌 Máquina (USB), com a mesma confirmação de segurança e pausa do fuso já usadas no 2D.
Limitação conhecida: a malha de altura só enxerga a peça de cima — paredes verticais ficam comprimidas em 1-2 células de transição, e o acabamento em linhas paralelas não passa uniformemente em paredes bem inclinadas. É esperado em usinagem de relevo 3 eixos (CAM profissional resolve isso com passes extras dedicados a paredes íngremes, fora do escopo aqui).
Tema
O botão de sol/lua no topo alterna entre modo claro e escuro; a preferência fica salva no navegador.