# Caixa Eletrônica Paramétrica

Caixa para PCB padrão (ex: 100x160mm) com tampa deslizante, ventilação e passagem de cabos.

## Estrutura
```
caixa-eletronica/
├── caixa.py              # Modelo Build123d principal
├── parameters/
│   └── default.json      # Parâmetros padrão
├── exports/              # STL + STEP gerados
├── gcode/                # G-code fatiado
└── README.md
```

## Parâmetros Principais

| Variável | Descrição | Padrão |
|---|---|---|
| `largura_interna` | Largura interna (mm) | 120 |
| `comprimento_interno` | Comprimento interno (mm) | 180 |
| `altura_interna` | Altura interna (mm) | 30 |
| `espessura_parede` | Espessura da parede (mm) | 2.4 |
| `raio_canto` | Raio dos cantos (mm) | 4 |
| `tampa_tipo` | "desliza" \| "pressfit" \| "parafusos" | "desliza" |
| `com_ventilacao` | Habilita furos de ventilação | true |
| `com_passagem_cabos` | Habilita passagem lateral | true |

## Fluxo de Trabalho

```bash
# 1. SSH para o container
ssh -p 2223 root@3d-workspace
# senha: RbnGas524

# 2. Renderizar STL
cd /app/projects/caixa-eletronica
python3 caixa.py
# Gera: exports/caixa_base.stl, exports/caixa_tampa.stl

# 3. Visualizar no browser
# http://3d-workspace:8090/caixa-eletronica/exports/previews/preview_base.html

# 4. Fatiar para Ender 3 V2
./scripts/slice.sh exports/caixa_base.stl ender3 pla 0.20

# 5. Fatiar para K1 Max
./scripts/slice.sh exports/caixa_base.stl k1max pla 0.20
```

## Variantes Comuns

Crie arquivos em `parameters/`:
- `compact.json` - versão menor (80x120x25mm)
- `alta.json` - mais altura para componentes altos (120x180x50mm)
- `sem_ventilacao.json` - caixa selada

Use: `python3 caixa.py parameters/compact.json`
