Diáriowhat-the-engine-refuses
O que o motor se recusa a exportar, e por que isso é uma boa notícia
Quatro defeitos que saíam da máquina antes de os vermos — abas que colidem, furação numa ranhura, faces sobrepostas, fresa ausente — e os códigos que o motor emite no lugar deles: ASSEMBLY_OVERLAP, DRILL_IN_GROOVE, FACE_OVERLAP, CUTTER_UNAVAILABLE.
Um DXF tem uma propriedade desagradável: é sempre “válido”. Duas faces sobrepostas, um furo que cai numa ranhura, uma ranhura pedida a uma fresa que não temos — o arquivo abre, o CAM aceita, a máquina usina. O defeito aparece no fim, na chapa, quando ela já não vale nada. Eis os quatro defeitos que mais nos custaram, e o que o motor fez com eles.
A regra: uma planificação com erro não exporta
Cada diagnóstico do motor traz um código, uma severidade (info, warning, error) e uma mensagem que cita faces e valores. O painel é exportável se e somente se não tiver nenhum diagnóstico de severidade error. Não é um aviso que se pode fechar: o botão DXF não faz nada, e o servidor MCP responde “painel não exportável: corrija os diagnósticos”. Hesitamos sobre uma caixa “exportar mesmo assim”. Não a colocamos. Uma chapa de 4 mm em 1.500 × 3.200 custa mais que o minuto perdido corrigindo um parâmetro.
ASSEMBLY_OVERLAP — colisão na montagem
É o defeito mais traiçoeiro, porque é invisível na planificação. Plano, tudo está limpo. Dobrado, as abas de dois retornos vizinhos chegam ao mesmo plano atrás do platô e se sobrepõem: na montagem, uma passa por cima da outra e a cassete não apoia mais. O teste 2D da planificação não consegue ver isso. O motor reconstrói então o sólido acabado (em t = 1), procura pares de faces coplanares (normais alinhadas, planos a 0,05 mm), projeta cada uma no seu plano e calcula a área de interseção. Acima de 0,01 mm², é erro, com as duas faces nomeadas e a área em mm². A correção é sempre a mesma: encurtar as abas ou aumentar o retorno.
json{
"code": "ASSEMBLY_OVERLAP",
"severity": "error",
"message": "Repliées, « patte gauche » et « patte haute » se recouvrent
dans le même plan (312.5 mm²) : elles se percuteraient au montage.
Raccourcir les pattes ou agrandir le retour.",
"faces": ["tab-left", "tab-top"]
}DRILL_IN_GROOVE — furação numa ranhura
Um furo de fixação colocado perto demais da borda de uma face. No desenho, está ao lado da ranhura. Mas a ranhura em V tem largura — a 4 mm com fresa de 90°, cerca de 7 mm no verso — e o desconto de dobra desloca o eixo da dobra em r/2 após o recorte. A broca entra no V: pele residual furada, a dobra quebra na primeira montagem. O motor mede a distância do centro do furo ao eixo de cada ranhura da sua face e exige pelo menos meia largura + raio. Senão: DRILL_IN_GROOVE, com a distância medida e o mínimo. Correção: aumentar a margem das furações.
FACE_OVERLAP — faces sobrepostas
Duas faces da planificação ocupam a mesma região da chapa. Acontece quando um retorno é mais profundo que o espaço deixado pelo relevo, ou quando duas fendas de ápice convergem perto demais. O contorno parece fechado, o CAM aceita, e o corte atravessa uma face vizinha. O motor testa todos os pares de faces (caixas envolventes primeiro, área de interseção depois, nunca um simples “não vazio” que gritaria a cada aresta compartilhada) e informa a área em mm². A planificação é infabricável como está, e ele diz isso.
CUTTER_UNAVAILABLE — fresa indisponível
Uma inclinação de cassete com 100 mm de largura e 40 mm de altura pede uma dobra que não é 90° nem 135°. O motor calcula o ângulo de ápice necessário e procura no perfil de máquina uma fresa que o dê, dentro da tolerância de sobredobra (GROOVE_OVERFOLD, aviso). Não encontra: CUTTER_UNAVAILABLE, com o ângulo exigido, a fresa mais próxima e a diferença em graus. Muitas vezes propõe ainda uma ranhura dupla (DOUBLE_GROOVE_AVAILABLE) com a largura de faixa necessária, ou um valor próximo do parâmetro que cai numa fresa existente (PARAM_PROPOSAL). Antes, descobríamos isso procurando a fresa na gaveta.
Por que é uma boa notícia
- O defeito é visto na tela, com o nome das faces e o valor medido, não na chapa.
- Cada erro diz o que fazer: encurtar as abas, aumentar a margem, adicionar uma fresa ou mudar um parâmetro.
- Nada é removido em silêncio. Um furo pequeno demais para a ferramenta não é apagado:
HOLE_SMALLER_THAN_TOOL, erro. - As mesmas verificações rodam em todas as famílias a cada mudança do motor; uma família cuja planificação regride faz os testes falharem.
Leia a seguir: retornos, abas e alívios de canto: as regras aplicadas.