Manual Maestro de Cálculo

Motor de Cotización Estructural - Hood Sailmakers

v29.4 | Ingeniería de Presupuestos Automáticos

1. Jerarquía de Medidas (P, E, I, J)

Para garantizar precisión en la superficie, el sistema evalúa los datos de entrada según el siguiente orden de prioridad estructural:

01 Override Manual

Cargado en tiempo real en la pantalla de cotización.

02 Medida Actual

Cargada en la Ficha Naval del Barco especifico.

03 Medida de Clase

Datos teóricos del diseño del astillero (Catálogo de Clases).

Si el sistema no encuentra datos en el Nivel 1, salta al Nivel 2, y así sucesivamente.

Fase 1

Superficie y Geometría (m²)

Se aplica la fórmula según el Tipo de Vela definido en el diseño. Sin embargo, existe una Regla de Oro para este motor:

Override de Superficie (Area Override)

Si la Ficha del Barco tiene una superficie predefinida en "Velas Aplicables", se anulan todas las fórmulas y se utiliza ese valor exacto. Esto ignora también los multiplicadores de área (Roach).

// Prioridad Máxima: Override de Area Predefinida IF (boat.applicable_sails[product_id].area_m2 > 0) Area = boat.applicable_sails[product_id].area_m2 ELSE Area = Calculo_Geometrico * design.area_multiplier

Fórmulas Geométricas (Base)

Fase 2

Matriz Dinámica de Material (Tela)

El precio del material depende de la eslora real del barco (LOA Actual) cargada en su ficha técnica.

// Selección de Variante por Eslora Variant = fabric.variants.find(range => LOA >= min && LOA <= max) Costo_Manguera = Area * Variant.price * Variant.waste * Variant.multiplier

El sistema busca en los rangos definidos en Gestión de Materiales (m). Si no hay coincidencia, aplica la primera variante (Oz mínimo) como fallback.

Fase 3

Complejidad de Construcción

Se suma el costo base del producto solicitado (Mano de obra y estructura básica) y se aplica el factor de incidencia por diseño (Design Cost Multiplier):

CostoBase = Product.BasePrice + (Area * Product.PricePerM2) SubtotalVela = (Costo_Manguera + CostoBase) * design.cost_multiplier

* El cost_multiplier refleja el diferencial entre Cross-cut (1.0), Radial (1.05-1.12), etc.

Fase 4

Configuración de Adicionales (Extras)

Cada accesorio seleccionado suma su componente fijo y dinámico (proporcional al área de la vela):

CostoExtra = (Addition.BasePrice + (Addition.PricePerUnitArea * Area)) * Cantidad
Fase 5

Validación de Precio Mínimo

Finalmente, se multiplica por la cantidad de unidades y se verifica contra el estándar de fabricación mínimo del producto:

FinalLínea = (SubtotalVela + TotalExtras) * Item.Quantity IF (FinalLínea < Product.MinPrice) FinalLínea = Product.MinPrice