🐍 Python

Python para Ingenieros Civiles: Tu Primer Script en 30 Minutos

Crea tu primer script de Python en 30 minutos como ingeniero civil. Calculamos el diagrama de momentos flectores de una viga con código real y ejecutable.

24 de febrero de 20267 minPor Miguel Angel Rivera

Nota personal: Empecé a programar porque me cansé de repetir los mismos cálculos en Excel cada semana, arrastrando fórmulas rotas de planillas antiguas. Aprender Python fue la decisión más rentable de mi carrera como ingeniero.

Nota personal: Empecé a programar porque me cansé de repetir los mismos cálculos en Excel cada semana, arrastrando fórmulas rotas de planillas antiguas. Aprender Python fue la decisión más rentable de mi carrera como ingeniero.

¿Cómo puede un ingeniero civil empezar a programar en Python?

Un ingeniero civil puede escribir su primer script funcional en Python en 30 minutos instalando Python, aprendiendo las 5 operaciones básicas, y creando un calculador de momento flector para una viga simplemente apoyada.

No necesitas saber matemáticas avanzadas de programación. Necesitas saber cálculo estructural — que ya sabes.


Por qué Python y no Excel

Excel es la herramienta del ingeniero por defecto, y está bien para muchos casos. Pero tiene límites concretos:

  • Velocidad: Python procesa 50,000 combinaciones de carga en segundos. Excel se congela.
  • Reproducibilidad: Un script Python corre igual en tu PC y en la de tu cliente. Una hoja Excel complicada a veces no.
  • Integración: Python se conecta con Revit (via pyRevit), AutoCAD, SAP2000, y bases de datos. Excel no.
  • Versión: Con Git puedes rastrear todos los cambios a tu script. Con Excel, tienes "versión_final_v3_BUENA_esta.xlsx".

Instalación en 5 minutos

Paso 1: Descarga Python desde python.org (versión 3.11 o superior). Marca "Add Python to PATH" durante la instalación.

Paso 2: Instala VS Code desde code.visualstudio.com. Instala la extensión de Python.

Paso 3: Abre VS Code, crea un archivo viga.py y escribe:

print("Hola ingeniero")

Presiona F5. Si ves el mensaje, Python está listo.


Los 5 conceptos que necesitas (y nada más por ahora)

# 1. Variables
L = 6.0      # longitud de viga en metros
w = 2.5      # carga distribuida en t/m
P = 10.0     # carga puntual en toneladas

# 2. Operaciones matemáticas
import math
resultado = math.sqrt(16)   # raíz cuadrada = 4.0

# 3. Funciones (reutilizar código)
def momento_maximo_viga(w, L):
    """Momento máximo para viga con carga uniforme"""
    return (w * L**2) / 8

# 4. Listas
posiciones = [0, 1, 2, 3, 4, 5, 6]  # puntos a lo largo de la viga

# 5. Bucles (repetir operaciones)
for x in posiciones:
    M = (w * x * (L - x)) / 2
    print(f"x={x}m → M={M:.2f} t·m")

El script completo: Diagrama de momentos flectores

Este script calcula y grafica el diagrama de momentos para una viga simplemente apoyada con carga distribuida:

import numpy as np
import matplotlib.pyplot as plt

# Parámetros del problema
L = 6.0    # longitud en metros
w = 2.0    # carga distribuida en t/m

# Reacciones (por equilibrio)
Ra = Rb = w * L / 2
print(f"Reacción A: {Ra:.2f} t")
print(f"Reacción B: {Rb:.2f} t")

# Calcular momento a lo largo de la viga
x = np.linspace(0, L, 200)  # 200 puntos
M = Ra * x - (w * x**2) / 2

# Momento máximo (en x = L/2)
M_max = Ra * (L/2) - (w * (L/2)**2) / 2
print(f"Momento máximo (en L/2): {M_max:.2f} t·m")

# Graficar
plt.figure(figsize=(10, 4))
plt.plot(x, M, color='#2E75B6', linewidth=2)
plt.fill_between(x, M, alpha=0.3, color='#2E75B6')
plt.axhline(y=0, color='black', linewidth=0.5)
plt.xlabel('Posición x (m)')
plt.ylabel('Momento flector M (t·m)')
plt.title(f'Diagrama de Momentos Flectores\nViga L={L}m, w={w} t/m')
plt.grid(True, alpha=0.3)
plt.annotate(f'Mmáx = {M_max:.2f} t·m',
             xy=(L/2, M_max),
             xytext=(L/2 + 0.5, M_max * 0.8),
             arrowprops=dict(arrowstyle='->'))
plt.tight_layout()
plt.savefig('diagrama_momentos.png', dpi=150)
plt.show()

Para ejecutarlo necesitas: pip install numpy matplotlib


¿Para qué más puedes usar Python?

AplicaciónDescripción
Análisis de suelosProcesar ensayos SPT masivos
Metrados automáticosCalcular volúmenes desde geometría
Reportes automáticosGenerar PDFs con resultados
pyRevitAutomatizar tareas en Revit con Python
DynamoNodos Python en Dynamo de Revit
SAP2000 APIControlar SAP2000 desde Python

Conclusión

Python no es para programadores. Es para ingenieros que quieren multiplicar su productividad. El primer script siempre es el más difícil. Después de ese, cada script nuevo es más fácil que el anterior.

Empieza con algo que ya calculas manualmente. Automatízalo en Python. Eso es todo lo que necesitas para empezar.

📩 Newsletter semanal

Tutoriales BIM, plantillas gratis y novedades de normativa peruana.

Sin spam. Cancela cuando quieras.