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.
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ón | Descripción |
|---|---|
| Análisis de suelos | Procesar ensayos SPT masivos |
| Metrados automáticos | Calcular volúmenes desde geometría |
| Reportes automáticos | Generar PDFs con resultados |
| pyRevit | Automatizar tareas en Revit con Python |
| Dynamo | Nodos Python en Dynamo de Revit |
| SAP2000 API | Controlar 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.