plano3d/docs/guia-tecnica.md

1.8 KiB

Guía técnica

Resumen de las decisiones técnicas vigentes y de las reglas del código. El detalle y la fecha de cada decisión están en decisiones.md.

Producto

Aplicación de escritorio que reconstruye piezas mecánicas 3D a partir de planos de tres vistas y verifica el plano. Todo se procesa en el equipo del usuario: no hay servidor ni cuentas.

Tecnologías

Tecnología Uso
Python 3.12 Todo el proyecto
CadQuery (OpenCASCADE) Sólidos 3D y exportación STEP/STL
ezdxf Lectura de DXF
shapely Geometría 2D de las vistas
OR-Tools CP-SAT Búsqueda de la pieza que reproduce el plano
PySide6 y VTK Interfaz y visor 3D
SQLite Historial local de conversiones
PyInstaller Instalador
pytest Pruebas automáticas

Alcance

  • Entradas: DXF (imprescindible), DWG mediante conversor externo, PDF vectorial (importante).
  • Geometría imprescindible: tres vistas, caras planas, chaflanes, agujeros pasantes y roscas (agujero más nota).
  • Geometría importante: agujeros ciegos, avellanados y cajeados; piezas de revolución.
  • Sistemas de proyección europeo (ISO-E) y americano (ISO-A); se avisa si un plano los mezcla.
  • Lo que no se soporta se detecta y se avisa. Nunca se entrega una pieza que no reproduce el plano sin advertirlo.

Reglas del código

  • motor/api.py es el contrato entre motor y aplicación. La aplicación solo importa desde ahí, y cualquier cambio se acuerda entre los dos.
  • motor/simulado.py devuelve la pieza CUBE01 mientras el motor real no esté terminado.
  • prototipo/reconstruir.py es la prueba técnica original. Se conserva como referencia y no se modifica.
  • Cada pieza del catálogo tiene su carpeta en pruebas/catalogo/ con plano.dxf, esperado.step e info.md.
  • Ramas, commits y revisiones según CONTRIBUTING.md.