| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Discuss (mail)
• Inventory (stock) • Manufacturing (mrp) • Sales (sale_management) • Invoicing (account) |
| Lines of code | 2969 |
| Technical Name |
mierp_cutting_optimizer |
| License | See License tab |
| Website | https://mi-erp.app |
MI ERP — Cutting Optimizer (Optimizador de Corte 1D y 2D) — Odoo 19
Maximiza el aprovechamiento del material y reduce desperdicio en cada corte
Descripción
El módulo MI ERP Cutting Optimizer para Odoo 19 optimiza el corte de materiales lineales y láminas (barras, tubos, perfiles, madera, vidrio, metal, acrílico) directamente desde una cotización u orden de venta, generando los planos de corte óptimos para minimizar el desperdicio.
Combina algoritmos avanzados de optimización (CP-SAT de Google OR-Tools, Guillotine con backtracking, rectpack y FFD) para entregar layouts limpios y prácticos para el taller, con visualización SVG en pantalla y reporte PDF listo para imprimir.
Funcionalidades Principales
Optimización 1D (Corte Lineal)
- Solver CP-SAT de Google OR-Tools
- Fallback FFD (First Fit Decreasing)
- Soporte de múltiples stocks y largos
- Manejo de kerf (grosor de sierra)
- Ideal para barras, tubos y perfiles
Optimización 2D (Panelización)
- Guillotine con backtracking recursivo
- CP-SAT NoOverlap2D para feasibility
- rectpack MaxRects Best Area Fit
- Trims en bordes y rotación de piezas
- Ideal para láminas de madera, vidrio y metal
Visualización SVG (OWL 2)
- Widget OWL 2 nativo en el formulario
- Planos con etiquetas y dimensiones en cm
- Estilo OptiCutter con paleta pastel
- Áreas de retazo con patrón rayado
- Vista por hoja/barra consumida
Reporte PDF para Taller
- Reporte QWeb con planos de corte
- Una página por hoja/barra cortada
- Listado de piezas y dimensiones
- Listo para imprimir y entregar al cortador
Integración con Ventas
- Botón "Optimizador de Corte" en sale.order
- Aplica resultados a las líneas del pedido
- Cantidades de stock calculadas automáticamente
- Trazabilidad línea ↔ trabajo de corte
Integración con Producción
- Crea órdenes de fabricación (mrp.production)
- Una MO por producto stock consumido
- Vinculación directa con el trabajo de corte
- Control de consumo desde inventario
Gestión de Retazos
- Captura automática de áreas de desperdicio ≥ 5cm
- Crea registros de stock como retazos reusables
- Reutilización en futuras optimizaciones
- Trazabilidad del trabajo de origen
Catálogo de Materiales y Stocks
- Materiales 1D y 2D parametrizables
- Kerf, trim, grano y rotación por defecto
- Stocks vinculados a product.product
- Cantidades reales desde inventario Odoo
API REST
- Endpoint
POST /api/v1/cutting/optimize - Autenticación Bearer con API Keys
- Stateless: piezas y stocks vía JSON
- Devuelve resultados con planos SVG
Seguridad y Multi-Compañía
- Grupos User y Manager
- Reglas multi-compañía sobre trabajos y stocks
- Secuencia
CUT/AAAA/00000 - Heredan permisos de Ventas
Características Avanzadas
- Cascada de solvers 2D: Guillotine con backtracking → Greedy → CP-SAT → rectpack → NFDH. Selecciona automáticamente el mejor resultado.
- Escalado por GCD: Reduce el dominio del solver dividiendo dimensiones por su MCD (ej. 3270×2110 → 327×211), acelerando los tiempos de resolución 4-10×.
- Modo rollo: Soporte para materiales en rollo (longitud infinita en una dimensión).
- Grano / veta: Respeta la dirección del grano en madera o vetas decorativas.
- Rotación de piezas: Configurable por trabajo (permite o prohíbe girar piezas 90°).
- Stock ilimitado: Cantidad
-1indica stock infinito (productos consumibles o sin link a inventario). - Tiempo límite configurable: Por defecto 30 segundos, ajustable por trabajo o globalmente.
- Unidades en centímetros: Toda la interfaz de usuario trabaja en cm; el motor convierte internamente a mm enteros para evitar errores de punto flotante.
Flujo de Trabajo
Desde una Orden de Venta
- Crear cotización u orden de venta con productos a cortar.
- Hacer clic en el botón "Optimizador de Corte" en la SO.
- Definir piezas requeridas (largo, ancho, cantidad, etiqueta).
- Seleccionar stocks disponibles (inventario o retazos).
- Ejecutar "Optimizar" — el sistema calcula los planos de corte.
- Revisar layouts SVG y métricas (uso, desperdicio, retazos).
- "Aplicar a Pedido" — actualiza líneas de la orden de venta.
- "Crear Producción" — genera órdenes de fabricación.
- Imprimir reporte PDF y entregar al taller.
Estados del Trabajo de Corte
- Borrador: Definiendo piezas y stocks.
- Optimizado: Layouts calculados y listos para revisar.
- Aplicado: Resultados aplicados a la orden de venta.
- Cancelado: Trabajo descartado.
Reutilización de Retazos
- Tras optimizar, las áreas de desperdicio ≥ 5cm se registran como stock con
is_remnant=True. - En futuras optimizaciones del mismo material, los retazos se incluyen automáticamente.
- Al consumirse, el retazo se desactiva y queda trazado al trabajo que lo usó.
Detalles Técnicos
- Modelos propios:
cutting.material,cutting.stock,cutting.piece,cutting.job,cutting.layout,cutting.layout.piece. - Extiende:
sale.order,sale.order.line,mrp.production. - Frontend en OWL 2: componentes
cutting_layout_viewery widgetcutting_layout_field. - Motor de optimización desacoplado de Odoo (Python puro) — testeable de forma aislada.
- Reporte QWeb PDF con planos SVG embebidos.
- Compatible con Odoo Enterprise y Community Edition.
- Depende de:
base,mail,product,stock,sale_management,mrp.
ortools y rectpack. Si no están disponibles, el módulo cae automáticamente a algoritmos heurísticos (FFD, NFDH).
Requisitos
Módulos Odoo
- Mensajería (mail)
- Producto (product)
- Inventario (stock)
- Ventas (sale_management)
- Fabricación (mrp)
Dependencias Python
rectpack— requeridoortools— recomendado (solver CP-SAT)- Sin ortools: el módulo usa FFD y guillotine como fallback
Contáctanos
Obtendrás asistencia gratuita durante 60 días por cualquier error o problema.
Para consultas o soporte: info@mi-erp.app
Proprietary License v1.0 Este software y los archivos asociados (el "Software") solo se pueden utilizar (ejecutar, modificado, ejecutado después de modificaciones) si ha comprado una licencia válida de los autores, normalmente a través de las aplicaciones de Odoo, o si ha recibido una acuerdo de los autores del Software (consulte el archivo COPYRIGHT). Puede desarrollar módulos de Odoo que utilicen el Software como una biblioteca (normalmente dependiendo de él, importándolo y usando sus recursos), pero sin copiar cualquier código fuente o material del Software. Está prohibido publicar, distribuir, sublicenciar o vender copias del Software. o copias modificadas del Software. El aviso de copyright anterior y este aviso de permiso deben incluirse en todos copias o partes sustanciales del Software. EL SOFTWARE SE PROPORCIONA "TAL CUAL", SIN GARANTÍA DE NINGÚN TIPO, EXPRESA O IMPLÍCITAS, INCLUIDAS PERO NO LIMITADAS A LAS GARANTÍAS DE COMERCIABILIDAD, APTITUD PARA UN PROPÓSITO PARTICULAR Y NO INFRACCIÓN. EN NINGÚN CASO LOS AUTORES O TITULARES DE LOS DERECHOS DE AUTOR SERÁN RESPONSABLES DE NINGÚN RECLAMO, DAÑOS U OTRA RESPONSABILIDAD, YA SEA EN UNA ACCIÓN DE CONTRATO, AGRAVIO O DE OTRA FORMA, SURGIENDO, FUERA DE O EN RELACIÓN CON EL SOFTWARE O EL USO U OTROS NEGOCIACIONES EN EL SOFTWARE.
Please log in to comment on this module