Objetivo del Proyecto
Desarrollar una herramienta computacional interactiva orientada al sector energético para analizar, visualizar y validar la distribución espacial de cilindros de Gas Licuado de Petróleo (GLP) en las tolvas de vehículos de transporte. La plataforma evalúa capacidades de distintas normativas (3kg a 45kg) garantizando la correcta disposición física bajo los márgenes geométricos establecidos y estándares NTP.
Arquitectura y Lógica de Cálculo
El aplicativo emplea una interfaz reactiva potenciada por Marimo en Python, que procesa entradas dinámicas (dimensiones de la tolva y distribuciones por niveles de apilamiento) en tiempo real:
- Motor de Posicionamiento Matricial: Uso de matrices multidimensionales
(tensores de 3 dimensiones en
NumPy) para gestionar dinámicamente alturas de apilamiento, radios de ocupación espacial y capacidades másicas en cada nivel (capa) de la tolva. - Algoritmos Geométricos: Cálculos de máximos y posiciones límite mediante ejes
ortogonales (
np.argmax,unravel_index) para generar correctamente el espacio límite superior y proyectar colisiones visuales en plantas 2D. - Entrada de Datos Editable: Integración de componentes
mo.ui.data_editorpara permitir al usuario definir "recetas" de posicionamiento (TIPO DE CILINDRO, NIVEL, FILA y COLUMNA inicial/final), simulando la carga real del contenedor.
Visualización 2D y Renderizado 3D (CAD)
El proyecto integra un robusto pipeline gráfico para validar la disposición espacial generada desde dos enfoques distintos y complementarios:
Vistas Técnicas Ortogonales (2D)
Representación paramétrica frontal, lateral y de planta (por nivel) utilizando Matplotlib. Se dibujan contornos, cotas dimensionales acotadas, e indicadores de capacidad másica integrados al vuelo en la trama gráfica.
Resúmenes Estadísticos
Generación de tablas dinámicas con Pandas y Matplotlib (figuras sin bordes integradas a la vista) detallando con exactitud el total de cilindros y la carga en kilogramos clasificada por capacidad para auditorías.
Modelado Paramétrico (CAD)
Uso de Build123d para instanciar sólidos geométricos rígidos representativos (cilindros de distintos volúmenes indexados por color según su capacidad) con una precisión de punto flotante.
Renderizado Tridimensional Web
Implementación de Marimo CAD para inyectar un visor 3D interactivo en el navegador que ensambla el contenedor (translúcido) y los cilindros cargados, con soporte de rotación libre y análisis volumétrico in situ.