# Compatibilidad DXF

## Perfil de exportación

- Formato: DXF ASCII.
- Versión declarada: `AC1027`.
- Unidades: milímetros mediante `$INSUNITS = 4`.
- Medición métrica mediante `$MEASUREMENT = 1`.
- Eje Y del lienzo SVG se invierte al escribir DXF para conservar orientación cartesiana.
- Se incluyen capas, color ACI y true color cuando aplica.

## Entidades exportadas

| Entidad interna | Salida DXF |
|---|---|
| línea | `LINE` |
| polilínea | `LWPOLYLINE` |
| rectángulo | `LWPOLYLINE` cerrada |
| círculo | `CIRCLE` |
| arco | `ARC` |
| texto | `TEXT` |
| cota | líneas + texto |
| tarja | polilínea cerrada aproximada |
| parrilla | polilínea cerrada |
| isométrico | conjunto de `LINE` |

Las tarjas elípticas/curvas se aproximan por segmentos. El número de segmentos es suficiente para visualización y procesos comunes, pero debe validarse contra la tolerancia de corte requerida.

## Entidades importadas

- `LINE`
- `LWPOLYLINE`
- `POLYLINE` + `VERTEX` + `SEQEND`
- `CIRCLE`
- `ARC`
- `TEXT`
- `MTEXT` básico

## No convertido en el MVP

- DXF binario;
- `INSERT` y bloques;
- `SPLINE`;
- `HATCH`;
- `ELLIPSE` nativa;
- regiones y sólidos;
- mallas y 3D;
- referencias externas;
- estilos de cota completos;
- bulges complejos de polilínea;
- coordenadas/UCS 3D;
- layouts y paper space.

El importador devuelve un reporte de tipos no soportados en vez de ocultarlos.

## Reglas de mapeo de capas

El nombre de capa tiene prioridad. Se reconocen palabras como:

- `ZOCLO`, `BACKSPLASH`, `SALPICADERA` → `ZOCLO`;
- `ACAB`, `CANTO`, `PULID`, `FINISH` → `ACABADO`;
- `FALDON`, `SKIRT` → `FALDON`;
- `45`, `MITRE`, `INGLETE` → `CORTE_45`;
- `TARJA_SOBRE`, `SINK_OVER` → `TARJA_SOBRE`;
- `TARJA`, `SINK` → `TARJA_BAJO`;
- `PARRILLA`, `COOKTOP`, `ESTUFA` → `PARRILLA`;
- `CONTORNO`, `PIEZA`, `OUTLINE` → `CONTORNO`.

Cuando el nombre no coincide, se usa ACI como regla secundaria:

- ACI 1 rojo → acabado;
- ACI 3 verde → faldón;
- ACI 5 azul → zoclo;
- ACI 30 naranja → corte a 45°.

Las demás capas se importan como `IMP_*` y no suman metros lineales hasta reclasificarlas.

## Protocolo obligatorio de validación con CNC/CAM

Usa al menos tres planos reales:

1. una pieza rectangular con dos medidas patrón;
2. una cubierta en L con tarja y parrilla;
3. una pieza con arco y canto marcado.

Para cada archivo:

1. exporta desde la PWA;
2. ábrelo en AutoCAD/visor y mide dimensiones;
3. impórtalo en el software CAM/CNC;
4. confirma unidades, origen, orientación y escala 1:1;
5. revisa que cada capa llegue con el color esperado;
6. simula trayectorias sin cortar;
7. realiza una prueba en material de desperdicio;
8. documenta cualquier requisito especial del CAM.

No habilites envío directo a producción hasta cerrar esta matriz.

## Convención recomendada

El CAM debe usar nombre de capa como regla principal y color como respaldo. Depender únicamente de color puede fallar con `BYLAYER`, cambios de paleta o conversiones de archivos.
