Step 1: Machines (Hardware e Cinemática)

A fundação física do simulador. Define as regras mecânicas, os limites espaciais e a linguagem (controlador) do equipamento virtual.

Visão Geral

O Step 1 é onde construímos o equipamento "de ferro". Antes de podermos simular uma peça, o sistema precisa de saber se estamos a usar um Torno de 2 eixos, uma Fresadora de 5 eixos ou um Braço Robótico Industrial.

A Alma da Máquina

Cada máquina dita o que é possível fazer. Se a máquina tiver um Controlador Fanuc, não aceitará um Programa formatado para Siemens. Se a máquina tiver limites de curso curtos, acusará overtravel caso a peça seja demasiado grande.

🎓 Formato Educacional Interativo

Infraestrutura preparada para apoiar a componente de ensino de cinemática:

  • Explorador de Eixos 3D: Uma pequena canvas onde o aluno passa o rato sobre as letras (X, Y, Z, A, B, C) e vê o eixo correspondente a iluminar-se no modelo 3D.
  • Glossário de Controladores: Tabelas explicativas sobre as diferenças fundamentais entre dialetos de Código (Haas vs Fanuc vs Heidenhain vs RAPID).
📐 Enquadramento & Regras Globais

A Máquina é a entidade Parent de nível hierárquico mais elevado na simulação, mas é arquiteturalmente construída por agregação de componentes periféricos (Controlador, Cinemática/Eixos e Spindle/Fuso).

🟢 Chaves Estrangeiras Obrigatórias

Todo o CRUD deste módulo implica fazer lookup a outras tabelas para obter o Controlador ID, Eixos ID e Spindle ID.

🔍 Funcionalidade: List & Filter

Propósito: Listar o parque de máquinas virtuais disponíveis na plataforma.

🎯 Gatilho & UI
  • Inputs: Pesquisar máquinas (modelo/descrição).
  • Dropdowns: Todos os Status e Tipo (Todos).
  • Cartão UI: Inclui a tag superior direita (ex: INSTÂNCIA FÁBRICA) e a string formatada das chaves de associação mecânica.
📦 Componentes (A documentar)
  • Aguarda a definição da query relacional para exibir IDs vs Nomes dos controladores.
➕ Funcionalidade: Add

Propósito: Instanciar uma nova máquina virtual na base de dados.

🎯 Gatilho & UI
  • Botão verde "+ Nova Máquina" no topo esquerdo.
📦 Componentes (A documentar)
  • Aguarda modal: O formulário exigirá a população prévia dos *dropdowns* de Controladores, Spindles e Cinemáticas a partir da API.
👁️ Funcionalidade: View

Propósito: Consultar os limites de translação (Travel X, Y, Z) e parâmetros do controlador (Read-only).

🎯 Gatilho & UI
  • Botão azul "View" no cartão.
📦 Componentes (A documentar)
  • Aguarda interface detalhada.
✏️ Funcionalidade: Edit

Propósito: Alterar as características mecânicas ou o dialeto lógico da máquina existente.

🎯 Gatilho & UI
  • Botão laranja "Edit" no cartão.
📦 Componentes (A documentar)
  • Aguarda payload do formulário.
🗑️ Funcionalidade: Delete

Propósito: Remover a máquina da base de dados e do leque de opções de setup.

🎯 Gatilho & UI
  • Botão vermelho "Delete" no cartão.
📦 Componentes (A documentar)
  • Barreira Crítica: Tal como no Step 2 e 4, é imperativo documentar se a API bloqueia a eliminação caso a máquina já esteja a ser usada numa Estação (Step 5) ou Setup.