Novo fluxo de criação de material para modos de fresamento e torneamento.
Alteração dinâmica de material sem recarregar a página para operações de fresamento suportadas.
Adicionado modo de edição de material com etiqueta na tela e movimento do material na área de trabalho.
Melhoradas as janelas de adicionar/remover material e a configuração do bruto de torno.
Melhorado o comportamento móvel do site e o layout dos modais em telas pequenas.
Adicionada ação STOP para parada de emergência, reinício do programa e recuperação em caso de travamento no navegador.
Adicionado indicador de usuários online.
As janelas What's New, Hotkeys, Measure Tools e material agora usam o estilo modal do NCPlayer.
Localizados Bounds, Measure Tools, número de linhas, último salvamento e unidades no painel de informações.
Removido o botão Optional Stop duplicado da barra superior; a função permanece no menu.
Melhorado o painel direito de informações: Total Duration obsoleto ocultado e Bounds mantido localizado.
Versão 2.13 — 24.04.2026
Foram adicionados os temas diurno e noturno com a preferência guardada em localStorage.
Foi adicionada estilização baseada em tema para menus, janelas modais, painéis direitos dos controladores, tabelas, o editor ACE e os fundos da simulação.
Foi adicionado um alternador de Solid Simulation no menu View e a interface de Simulation Settings foi traduzida.
O layout móvel foi melhorado, incluindo o comportamento do Switch, os controlos da simulação, o posicionamento seguro acima do rodapé e a persistência do painel ativo.
Foi melhorado o acesso pelos menus ao NC Assistant, à seleção do controlador e ao Optional Stop.
Versão 2.12 — 23.04.2026
Foi adicionado o relatório Program Runtime no menu Tools, gerado a partir do programa pré-processado.
O relatório mostra para cada ferramenta o percurso total e o tempo total de movimentos rápidos, avanços, arcos, ciclos fixos, permanências e trocas de ferramenta, com ajustes de Rapid Override e Feedrate Override.
Foi adicionado um novo manipulador de vista 3D com 26 faces, em forma de sólido do tipo rhombicuboctahedron, com planos principais, chanfros de aresta e chanfros de canto clicáveis, incluindo o triângulo XYZ para a vista isométrica.
Foi adicionada autorização obrigatória por meio de uma conta gratuita NCPlayer para ações protegidas, como abrir os seus próprios ficheiros NC.
Versão 2.11 — 22.04.2026
Foi adicionado o Inspection Mode para análise da simulação, permitindo examinar a trajetória gerada diretamente na janela de visualização.
Ao clicar num ponto da trajetória, o sistema agora salta para a linha-fonte correspondente no editor ACE, e ao passar o rato mostra um tooltip com o número e o texto da linha.
Foram adicionados o destaque do segmento selecionado, uma seta de direção e uma janela compacta com Start XYZ, End XYZ, Delta XYZ, estado modal e valores de macro/dados auxiliares quando disponíveis.
Foi adicionada a exportação Toolpath to DXF no menu File para guardar a trajetória simulada após o parsing específico do controlador e a expansão de macros.
Foi adicionada a janela DXF Export Settings com opções para LINE/POLYLINE, modo de projeção, organização de camadas, inclusão de movimentos rapid e precisão dos níveis Z.
Versão 2.10 — 20.04.2026
Foi adicionado um formulário modal de feedback para que os usuários possam compartilhar sua experiência com o NCPlayer, fazer perguntas, relatar problemas ou sugerir recursos ausentes e suporte adicional a controles CNC.
Foram adicionados links de informações legais no rodapé, incluindo Terms & Conditions, Privacy Policy, Cookie Policy, Refund Policy e Legal Information, com comportamento baseado no idioma quando páginas legais localizadas estão disponíveis.
Foi adicionado um formulário modal separado “Found an error?” para relatar bugs, comportamento incorreto ou possíveis problemas diretamente pela interface.
Foi adicionada a primeira etapa de suporte à simulação de torneamento, incluindo o modo FANUC Lathe.
Foram adicionadas opções selecionáveis de exibição da ferramenta de torno: ferramenta esquerda/direita e vista frontal/traseira.
Foi adicionada a seleção do modo da coordenada X para simulação de torno: representação por diâmetro ou raio.
Foi adicionado um modelo dedicado de ferramenta de torneamento em vez de usar o formato da ferramenta de fresamento.
Foi adicionada a criação de material cilíndrico para simulação de torno via Add/Delete Material — Lathe.
O fluxo existente de material retangular para simulação de fresamento permanece inalterado, enquanto o modo de torno agora usa um fluxo separado para material cilíndrico.
Versão 2.0 — 19.04.2026
O projeto foi movido para nc.cncpassport.com e agora é desenvolvido dentro deste projeto.
Adicionado suporte à série HAAS VF, incluindo um perfil dedicado do controlador HAAS VF-1 e configuração do simulador.
Adicionado suporte ao SYNTEC 6MB com arquivo de simulação próprio e tratamento da sintaxe de macros Syntec.
Adicionado suporte à macroprogramação Syntec: atribuições :=, IF/ELSE/END_IF, WHILE/END_WHILE e FOR/END_FOR.
Melhorado o tratamento de variáveis macro: valores atribuídos aparecem na tabela de variáveis durante a simulação.
Melhorada a compatibilidade do parser com sintaxes específicas de controladores, mantendo arquivos de simulação separados para FANUC, HAAS e SYNTEC.
Atualizada a estilização geral e a apresentação visual do simulador.
Corrigida a persistência da seleção do controlador: SYNTEC 6MB permanece selecionado após recarregar a página e alterar o parâmetro controller na URL.
Versão 1.6 — 11.11.2025
Adicionado suporte completo à máquina CNC no simulador: eixos X/Y/Z, spindle e modelo da ferramenta agora se movem em sincronia com a trajetória simulada, em vez de permanecerem estáticos.
Implementado modo JOG completo: avanço manual por eixo com passo configurável / movimento contínuo, além de chave RAPID, tudo respeitando os limites de curso da máquina.
Adicionada lógica de retorno em coordenadas de máquina G53: o simulador agora suporta sequências de “retorno ao zero da máquina” na mesma ordem de um controlador real (primeiro Z seguro, depois X/Y).
No STOP, o simulador agora executa um “retorno ao zero da máquina” visual do modelo da máquina, tornando a sequência de homing claramente visível em 3D.
No START, foi adicionada uma “aproximação ao início do programa” simulada: a máquina se move do zero da máquina para uma posição segura acima do primeiro bloco do programa e, em seguida, muda para o sistema de coordenadas de trabalho (G54) antes de iniciar os movimentos de corte.
Introduzida verificação unificada de limites para todos os movimentos da máquina (simulação, JOG, G53): qualquer tentativa de sair da faixa de curso permitida é limitada e relatada como aviso de OVERTRAVEL.
Comportamento da câmera durante os movimentos da máquina foi melhorado: a visão permanece legível durante JOG, homing e aproximação, facilitando o acompanhamento do spindle e da ferramenta.
Adicionados hooks de configuração para ativar/desativar o suporte à cinemática da máquina de forma independente do modo clássico “apenas trajetória da ferramenta”, mantendo os fluxos de trabalho antigos compatíveis.
Performance Monitor — mostra FPS e uso de memória; alternância no menu Help, com estado persistido via localStorage.
Coords Box — exibe as coordenadas X/Y/Z do cursor (raycast sobre o modelo); alternância no menu Help, com estado salvo.
Versão 1.5 — 25.10.2025
Implementação completa de todos os ciclos de furação (G81, G82, G83, G73, G85, G80).
Adicionado suporte para ciclos de furação com avanço intermitente (“peck drilling”), incluindo retração automática e controle de avanço (feedrate).
Implementado o comando G04 (pausa/dwell) com parâmetros P/X e notificação em tempo real durante a simulação.
Adicionado suporte aos comandos M00 (Parada de Programa) e M01 (Parada Opcional) — comportamento completo de “Feed Hold” com capacidade de retomada.
Introduzido botão “Parada Opcional” com alternância persistente (baseada em localStorage) para controle do M01.
Melhorada a sincronização entre dwell, feed-hold e controladores de pausa para garantir um fluxo de simulação estável.
Aprimorada a lógica de reconhecimento de códigos M para evitar falsos acionamentos (ex.: M06, M13M09).
Versão 1.410 Beta — 22.08.2025
Adicionado gerador de programas NC “Cavidade Retangular” para o NCPlayer: diálogo modal, carregamento no ACE, modos explícito e macro.
Versão 1.4 Beta — 22.08.2025
Novo: Assistente NC — análise, explicação, correção e refatoração em linha; respostas multilíngues conforme o idioma da interface.
Novo: Login automático na conta MEBLEOS — atualização silenciosa de token, login único entre abas e fallback seguro para modo visitante.
Novo: Persistência de visualização — posição/objetivo/zoom da câmera e transformações do modelo (posição/quaternion/escala) são salvos por programa e restaurados ao recarregar.
Interface: Renderização do traçado da trajetória da ferramenta aprimorada (linha mais espessa, melhor visibilidade; depthTest desativado + polygonOffset para evitar sobreposição de z-fighting).
Estabilidade: Loop de renderização Tween/OrbitControls otimizado; evita solicitações excessivas de quadro durante interação.
Analisador (parser): Leitura numérica mais segura para alternância métrica/imperial; normalização mais rigorosa da ordem dos endereços (N G M T S F X Y Z I J K R).
Segurança: Atualizações de projeção protegidas; limites da câmera (near/far) ajustados para evitar cortes após restauração.
Localização: Dicionário ampliado (dicas ocultas, regra “sem listas” do sistema); textos de placeholder refinados.
Adicionado suporte completo para interface RTL (da direita para a esquerda) para Árabe, Hebraico, Persa, Pashto e Urdu.
Versão 1.204 Beta — 29.07.2025
Suporte completo para o ciclo de furação G81 com interpretação correta das coordenadas (X, Y, Z, R, F).
Cada etapa de furação gera a sequência: G0 XY → G1 Z → G0 Z com tratamento adequado de G98 / G99.
Suporte a variáveis macro e expressões nas coordenadas do G81 (X[#100] Y[#101]).
Evita perfuração duplicada no mesmo ponto (verificação sameAsLast).
Melhorado o mapeamento de linhas para depuração: lineMap agora inclui sufixos .0, .1, .2 para as fases de furação.
Cálculo dinâmico das coordenadas (literais e expressões macro) com registro detalhado (logging).
Reestruturação da função fragmentFile.push para rastreamento mais preciso.
Versão 1.203 Beta — 27.07.2025
Adicionados 10 programas de demonstração para simulação (macros, subprogramas, lógica de G-code).
Corrigida ausência de trajetória quando G0 era usado sem G1.
Implementado mecanismo de movimento “fictício” (dummy) para iniciar a simulação.
Atualizada a função simulateStepsFromLine para animação suave de arcos (G2/G3).
Introduzido animateToolThroughSegment aprimorado, considerando speedMultiplier e acompanhamento da câmera.
Versão 1.202 Beta — 25.07.2025
Adicionada exigência de aceitação dos Termos de Uso (Regulamin) antes de acessar o NCPlayer.
Corrigido o tratamento do operador MOD em condições complexas.
Adicionada mensagem quando os termos não são aceitos: “Ao continuar a usar este site, você deve aceitar os termos.”
Registro de aceitação dos termos: data, IP, navegador.
Versão 1.201 Beta — 22.07.2025
Suporte ao comando G65 com passagem de parâmetros (#1, #2, … no subprograma).
Correção da lógica de WHILE...DO...END com expressões aninhadas.
Suporte a funções FANUC profundamente aninhadas com substituição segura.
Adicionado modo de pré-processamento com expansão completa do G-code em formato linear.
Novo sistema de registro (logging): modos compacto e detalhado.
Aumentada a profundidade máxima de recursão para 10.000.
Adicionado painel de variáveis em tempo real (#100–#199, #500–#531).
Melhorada a visualização da trajetória da ferramenta para ciclos e movimentos espirais.
Novo navegador de programas de demonstração com pré-visualização da trajetória da ferramenta.
Versão 1.103 — 16.07.2025
Adicionado suporte a saltos condicionais usando a sintaxe IF [...] GOTO xxx e operadores lógicos: EQ, NE, GT, GE, LT, LE — incluindo suporte a expressões aninhadas e funções matemáticas (SIN, FIX, ROUND, etc.).
Corrigido problema que impedia a atribuição de valores negativos a variáveis macro locais (por exemplo, #2 = -0.51504).
Versão 1.102 — 15.07.2025
Adicionado suporte a saltos condicionais usando a sintaxe IF [...] GOTO xxx e operadores lógicos: EQ, NE, GT, GE, LT, LE.
O analisador de expressões agora suporta substituição de variáveis e funções matemáticas aninhadas dentro de condições IF.
Adicionada proteção contra loops infinitos — a simulação é interrompida após a execução de mais de 500.000 linhas, com aviso no console e mensagem pop-up.
Adicionado suporte a saltos incondicionais GOTO: GOTO 120 salta para a linha N120 no mesmo programa O; formatos como GOTO N120 são rejeitados como inválidos.
Adicionado suporte a M98 Pxxxx L#yyy — o parâmetro L agora pode ser uma variável (por exemplo, #512) avaliada antes da repetição do subprograma.
Versão 1.101 — 14.07.2025
Adicionado suporte completo a expressões matemáticas usando funções FANUC dentro de expressões de endereço (por exemplo, X[SIN[...]], #100=ROUND[...], etc.).
Adicionado botão toggleResizeEditor — alterna entre largura compacta, largura baseada na linha mais longa e largura total do editor.
Ajuste automático da largura do editor conforme o conteúdo do G-code.
Adicionado ferramenta modal Renumerar Blocos (N) com funções:
Renumerar Todos os Blocos
Renumerar sem linhas em branco e comentários
Renumerar apenas Blocos existentes
Renumerar sem o caractere de Pular Bloco
convertIJKtoR — mantém Nxxx, remove G2/G3 modais, calcula R para modos incremental/absoluto, remove IJK, adiciona R e unifica o tratamento do centro.
Migração para estrutura de menu hierárquica interna para melhor organização.
Adicionada função Atualizar Trajetória (Refresh Plot) — reinterpreta e recarrega o código NC atual sem iniciar a simulação automaticamente.
Atualizar Trajetória também salva o programa antes de recarregar e atualiza o horário do último salvamento.
Adicionado suporte a Pular Bloco (/) no modo de simulação passo a passo.
Adicionadas funções para alternar entre visualizações 2D e 3D a partir do menu principal.
Adicionada a capacidade de inserir e remover caracteres de Pular Bloco (/) em linhas específicas ou em todo o programa.
Adicionada a capacidade de excluir todas as linhas iniciadas com o caractere de Pular Bloco (/).
Versão 0.131 — 04.07.2025
• Novo modo de câmera “Seguir a Ferramenta”: acompanha automaticamente a posição da ferramenta em tempo real durante a simulação.
• Função “Ajustar à Visualização”: centraliza e dimensiona automaticamente toda a trajetória da ferramenta.
• Opção “Ver Centro da Ferramenta”: foca a visualização na posição atual da ferramenta.
• Conversão de arcos: 6 funções de transformação de G-code para arcos (IJK ↔ R, ABS ↔ INC) com suporte aos planos G17/G18/G19 e sintaxe legada (G02/G03).
• Remoção de lixo (garbage removal): limpa o G-code de linhas desnecessárias ou corrompidas.
• Modo “Pan” em 3D: permite mover a cena com o mouse usando um cursor de mão alternável.
• Motor de conversão de arcos aprimorado: mantém o modo de arco entre linhas consecutivas, mesmo sem comandos explícitos G2/G3.
• Correção da conversão IJK→R: remove eixos K desnecessários no plano G17.
• Todos os resultados de conversão agora definem automaticamente o status de ArcMode (IJK_INC, IJK_ABS, R) no worker.
Versão 0.130 — 02.07.2025
• jumpToBottom(): salto rápido para o final do programa NC. Botão disponível na interface.
• jumpToTop(): rolagem instantânea para o início do programa.
• Formatação de G/M/T:
- Redução G00–G09 → G0–G9, M00–M09 → M0–M9, T00–T09 → T0–T9.
- Normalização G0–G9 → G00–G09 e o mesmo para M e T.
• Imprimir visualização atual: salva a vista 3D da simulação como PNG e abre em uma nova aba para download ou impressão.
• Gerenciamento do caractere EOB (;): funções addeob() e deleteeob() para adicionar ou remover ; no final das linhas.
• Impressão do programa: impressão total ou seletiva das linhas de código destacadas.
Versão 0.129 — 01.07.2025
• Suporte para Copiar/Cortar/Colar/Desfazer/Refazer através de atalhos de teclado e menu.
• Seleção de intervalo de linhas usando botões com destaque no editor ACE e possibilidade de copiar.
• Conversão de coordenadas:
- G91 → G90 com recalculagem de todas as coordenadas para absolutas.
- G90 → G91 com conversão de todos os movimentos para relativos.
- Remove G90 e insere G91 no início.
• Menu “Formatar”: remove números de linha, espaços extras, linhas vazias e comentários; altera maiúsculas/minúsculas.
• Formatação inteligente baseada no tipo de CNC selecionado.
Versão 0.128 — 29.06.2025
• Decodificação linha a linha do G-code em tempo real, acompanhando estados dos grupos modais, posição da ferramenta e códigos M/S/T.
• Novas variáveis de estado: currentModalStateAtLine, currentPositionAtLine, miscCodesAtLine.
• jumpToLine(row) agora atualiza o painel de decodificação usando dados salvos.
• Alternância de configuração da máquina, padrão — FANUC 0i.
• Vistas adicionais de câmera no menu “Visualizar”, incluindo vista isométrica.
Versão 0.127 — 28.06.2025
• Exibição de coordenadas ABS/REL: coordenadas nos modos absoluto e relativo atualizam-se em tempo real durante a simulação.
• Cálculo de coordenadas relativas: baseado na posição anterior da ferramenta para cada linha.
• Rastreamento de grupos modais do G-code FANUC: suporte para grupos 01–20 com atualização em tempo real dos códigos ativos.
• Tabela dinâmica de grupos modais: gerada com base nas tabelas oficiais da Fanuc.
• Monitoramento de códigos M/S/T/F/D/H: valores exibidos em tempo real durante a simulação.
• Tabela visual de valores M/S/T/F/D/H: adicionada ao painel de informações adicionais.
• Lógica de simulateSteps aprimorada: análise e aplicação dinâmica de códigos modais e auxiliares.
• Suporte a múltiplos formatos de G-code: compatibilidade com formatos como G0/G00/G01/G1 e semelhantes.
Versão 0.126 — 27.06.2025
• Suporte a peça bruta (Stock): parâmetros de folga e posicionamento, detecção automática do tamanho da peça a partir do modelo.
• Remoção de stock: botão para limpar parâmetros armazenados no localStorage.
• Carregamento por arrastar e soltar: suporte para soltar arquivos .nc diretamente no editor.
• Janela modal de troca de ferramenta: adaptada para dispositivos móveis.
Versão 0.125 — 26.06.2025
• Posicionamento da ferramenta: clicar com o botão direito em uma linha de G-code move a ferramenta na cena 3D para o ponto correspondente na trajetória.
• Atalhos F2+...: adicionada dica visual na tela com combinações de teclas.
• Pesquisa inteligente de G-code: 3 modos de busca — geral, na seleção e por intervalo de linhas.
• Função Substituir: permite editar o texto do G-code diretamente no editor.
• Melhorias na interface: nova fonte técnica do Google e menus suspensos redesenhados com alinhamento e exibição de atalhos à direita.
• Fechamento de janelas modais: via tecla ESC, incluindo o diálogo de abertura de arquivos.
• Bloqueio de entrada ao usar atalhos: evita digitação acidental ao pressionar combinações de teclas.
• Salvamento de programa: adicionado ao menu superior com status e registro de horário.
Versão 0.124 — 25.06.2025
• Correção do problema de rolagem dupla no bloco do programa NC.
• Exportação de programa: possibilidade de exportar o código NC.
• Versão móvel: modo adaptativo com funcionalidade limitada.
• Seleção do plano ativo: aprimorada no modo de simulação.
• Comportamento dos botões do mouse: reformulado na área de simulação.
• Reinicialização do destaque da trajetória: corrigido bug após pressionar “Parar”.
• Realce de código: adicionada marcação colorida durante a análise (parsing).
Versão 0.1 — 24.06.2025
• Armazenamento do ID do programa: em localStorage usando UUID.
• Redirecionamento automático: com o parâmetro ?nc=UUID se ausente na URL.
• Salvamento do programa: grava o conteúdo do editor em um arquivo temporário.
• Programa de demonstração: carrega e visualiza um exemplo de G-code.
• Indicador de linha: sincronizado com a posição no editor.
• Redimensionador do editor: ajuste manual da largura do painel de G-code.
• Dois modos de simulação: SIMULATION e INSPECTION.
• Salvamento da velocidade: valor do controle deslizante armazenado em localStorage.
• Modo de tela cheia: estado salvo e restaurado.
• Estado do painel direito: salvo em localStorage.
• Estado da trilha (Trail): armazenado em localStorage.
• Grade (Grid): alterna entre mm/cm/dm dependendo do nível de zoom.
• Seleção de visualização (2D/3D): salva em localStorage.
• Clique em uma linha do editor: move a ferramenta em 3D para o ponto correspondente.
• Função “From L”: executa a simulação a partir da linha selecionada.
• Simulação passo a passo a partir de L: a animação inicia de qualquer bloco.
• Painel “O que há de novo”: carregado de whatsnew.dat e acessível pelo menu.
• Suporte a janelas modais: com escurecimento de fundo e rolagem vertical.
• Melhorias no editor ACE: centralização de linha e limpeza de destaque.
• Retomada da simulação: restaurada corretamente após pausa.
• Animação de movimento da ferramenta: transição suave com TWEEN.
• Análise de segmentos de G-code: suporta blocos fragmentados e relatórios de erro.
• Centralização de linha: ao saltar para uma linha no editor.
• Sincronização dos botões de controle: controles superiores e centrais.
• Armazenamento de parâmetros: visualização, tela cheia, grade, velocidade, trilha, L.
• Preparação para expansão de diálogos: suporte a sobreposição (overlay).
• Salvamento do estado “From L”: permanece ativo após recarregar a página.
• Limpeza após parada: redefine marcadores, pausas e animações.