No description
Find a file
2026-08-06 10:37:16 +02:00
ui Add informe_h1 module for generating structural weight report and update main UI to include report generation feature 2026-08-06 10:37:16 +02:00
.gitignore Mejora de seleccion de combos + algo de accidentales 2025-11-03 19:07:32 +01:00
AYRE.ico Funciona todo a falta de comprobaciones mas complejas 2025-12-11 18:07:56 +01:00
Comb_acciones.py Add UI windows for geometry definition, incompatibility matrix, materials, and main application 2026-08-05 11:45:00 +02:00
combinations.py Add UI windows for geometry definition, incompatibility matrix, materials, and main application 2026-08-05 11:45:00 +02:00
extraer_comb.py Add UI windows for geometry definition, incompatibility matrix, materials, and main application 2026-08-05 11:45:00 +02:00
geometry.py Add UI windows for geometry definition, incompatibility matrix, materials, and main application 2026-08-05 11:45:00 +02:00
informe_h1.py Add informe_h1 module for generating structural weight report and update main UI to include report generation feature 2026-08-06 10:37:16 +02:00
load_assignment.py Add UI windows for geometry definition, incompatibility matrix, materials, and main application 2026-08-05 11:45:00 +02:00
project_data.py Add UI windows for geometry definition, incompatibility matrix, materials, and main application 2026-08-05 11:45:00 +02:00
README.md Add UI windows for geometry definition, incompatibility matrix, materials, and main application 2026-08-05 11:45:00 +02:00
requirements.txt Add informe_h1 module for generating structural weight report and update main UI to include report generation feature 2026-08-06 10:37:16 +02:00
sap_connection.py Add UI windows for geometry definition, incompatibility matrix, materials, and main application 2026-08-05 11:45:00 +02:00

Comb acciones

Aplicación de escritorio (Tkinter) que automatiza, dentro de SAP2000, el modelado 2D de cajones hincados (box culverts) ferroviarios multi-celda y la generación de las combinaciones de acciones según la norma IAPF (Instrucción sobre las Acciones a considerar en el Proyecto de Puentes de Ferrocarril).

La aplicación no dibuja nada por sí sola en pantalla: pilota SAP2000 a través de su API COM (comtypes), por lo que SAP2000 tiene que estar ya abierto con un modelo (aunque sea vacío) antes de lanzar la aplicación.

Requisitos

  • SAP2000 instalado y abierto antes de ejecutar la aplicación (la aplicación se conecta a la instancia ya abierta; no lo abre por ti).
  • Python 3.x.
  • Dependencias de requirements.txt (comtypes, pandas, numpy, openpyxl). tkinter es de la librería estándar y no hace falta instalarlo aparte.

Instalación de dependencias:

pip install -r requirements.txt

Nota sobre comtypes.gen.SAP2000v1: no es un paquete de PyPI, es el "binding" que comtypes genera automáticamente la primera vez que se conecta a la type library de SAP2000 instalada localmente en la máquina. Por eso hace falta tener SAP2000 instalado (no basta con pip install comtypes).

Cómo ejecutar

Con SAP2000 ya abierto:

python "Comb_acciones.py"

Si no se encuentra ninguna instancia de SAP2000 abierta, la aplicación muestra un aviso y termina; ábrela primero y vuelve a lanzar el script.

Flujo de trabajo recomendado

Desde la ventana principal, en este orden:

  1. Datos del Proyecto — luces horizontales (celdas), altura (LV), espesores, huecos, retranqueos, vigas auxiliares, etc. Las celdas (lista "LH") no tienen límite de cantidad: la primera siempre está presente, y se añaden/quitan por el final con "+ Añadir celda" / "Quitar última celda" (se muestran en una lista vertical compacta). Los muros interiores (lista "M") tampoco tienen límite: se reconstruyen automáticamente para que siempre haya exactamente nº de celdas - 1 (la misma regla que usa la geometría real). Las vigas auxiliares (VA1-3) no dependen de nada: se añaden o quitan a mano con los botones "+ Añadir viga auxiliar" / "Quitar viga", hasta un máximo de 3.
  2. Materiales y Secciones — crea el hormigón y la(s) sección(es) rectangular(es) armadas que se usarán en la geometría.
  3. Definición de Geometría — genera en SAP2000 las barras (losa inferior LI, losa superior LS, hastiales HI/HD y los muros interiores M1, M2... que correspondan, sin límite de cantidad) a partir del layout multi-celda calculado con los Datos del Proyecto.
  4. Definición de Cargas — define los casos de carga (H1, H2, H3...) que se usarán en las combinaciones.
  5. Asignación de Cargas a la Geometría — calcula el valor de cada carga y la asigna a las barras seleccionadas del modelo.
  6. Matriz de Incompatibilidades — marca qué pares de casos de carga no pueden coexistir en una misma combinación.
  7. Configuración de Combinaciones — crea las combinaciones según la norma IAPF, lanza el cálculo ("Calcular") y extrae los resultados (combinaciones, flechas, esfuerzos) a Excel.

Limitaciones conocidas

  • La norma IAP (instrucción para puentes de carretera, distinta de la IAPF de ferrocarril) no está implementada: solo está disponible IAPF en el selector de norma. El código de combinations.py conserva la rama "IAP" intacta como referencia para un futuro mapeo, pero de momento no genera combinaciones.
  • Los huecos, retranqueos y vigas auxiliares (VA1, VA2, VA3) definidos en "Datos del Proyecto" se guardan como datos pero todavía no se modelan geométricamente: la geometría generada es la caja continua (sin huecos ni retranqueos).
  • Las cargas H5.1-H5.4 (reparto de cargas UIC en hastiales) y H6.1-H6.2 (arranque/frenado) no tienen fórmula normativa automática todavía: en "Asignación de Cargas" hay que introducir el valor ya calculado a mano (kN/m, kN/m² o kN según la distribución elegida). La fórmula específica se añadirá más adelante en load_assignment.calcular_valor_carga (ver el TODO en ese archivo).