¡Revoluciona la ingeniería civil con Python! La programación no solo optimiza tiempos y recursos, sino que transforma tus proyectos con precisión y eficiencia. Desde Revit hasta Inteligencia artificial, descubre cómo Python integra y automatiza tus herramientas clave. Adáptate a la tecnología y redefine el futuro de la construcción.
Introducción
El auge de la tecnología y la programación ha transformado diversas industrias, y la construcción no es una excepción. Los procesos tradicionales de planificación, diseño y ejecución en la construcción se han vuelto más eficientes gracias a la integración de herramientas tecnológicas avanzadas. Estas herramientas no solo optimizan el tiempo y los recursos, sino que también mejoran la precisión y la calidad de los proyectos.
Nota: La programación permite que las tareas repetitivas sean ejecutadas por el ordenador mientras que las relevantes, que involucren criterios profesionales (como una revisión) sean desarrollados por los humanos. Elaboración propia
La programación juega un papel crucial en la modernización de los procesos de construcción. Mediante la automatización de tareas repetitivas y la implementación de algoritmos complejos, se pueden gestionar mejor los datos y optimizar las operaciones. Esto resulta en una reducción de costos, una mayor precisión en los cálculos y una mejor gestión de proyectos.
¿Qué es Python?
Python es un lenguaje de programación de alto nivel, interpretado y multipropósito. Es conocido por su sintaxis clara y legible, lo que facilita su aprendizaje y uso. Su filosofía de diseño enfatiza la legibilidad del código y la simplicidad, permitiendo a los programadores expresar conceptos en menos líneas de código en comparación con otros lenguajes. Entre sus principales ventajas se resaltan:
En comparación con otros lenguajes de programación, Python se destaca por su simplicidad y su capacidad para manejar tareas complejas de manera eficiente. Esto lo convierte en una excelente opción tanto para principiantes como para programadores experimentados que buscan ampliar sus habilidades.
Python en la ingeniería civil
Python tiene múltiples aplicaciones en la ingeniería civil, integrándose con varios softwares y herramientas de cálculo y análisis de datos. Algunos de los usos más destacados incluyen:
- Automatización de Tareas: Python puede automatizar procesos repetitivos, como la generación de informes y la actualización de modelos.
- Análisis de Datos: Con bibliotecas como Pandas y NumPy, Python facilita el análisis y la manipulación de grandes conjuntos de datos.
- Simulación y Modelado: Herramientas como TensorFlow permiten la integración con Python para la simulación y predicción de datos.
- Visualización de Datos: Bibliotecas como Matplotlib y Seaborn ayudan a crear visualizaciones gráficas de datos de ingeniería, facilitando la interpretación y presentación de resultados.
- Desarrollo de Software a Medida: Python permite el desarrollo de aplicaciones personalizadas para necesidades específicas de proyectos de ingeniería civil.
A continuación veamos las principales aplicaciones de Python dentro del ámbito de la ingeniería y construcción.
1. Automatizar modelos en Revit
Actualmente Python es ampliamente usado para automatizar modelos BIM en Revit. Para su uso con este y más lenguajes de programación, Revit presenta una API o Interfaz de programación de aplicaciones, que permite conectar el entorno del programa con líneas de código que se desarrollan fuera de este. En otras palabras, con la API de Revit es posible acceder a las herramientas del programa para poder ser programadas con Python.
En el siguiente ejemplo se muestra una acción muy sencilla como crear un botón de notificación en Python y Revit. Para ello se empleó el plugin PyRevit donde es posible integrar tanto las líneas de código desde un programa externo.
Fuente: Especialista 3d
2. Mejorar rutinas de Dynamo
Otra de las opciones de programación que resulta más común dentro de los modelos en Revit es el empleo de Dynamo. Sin embargo, debido a la cantidad de nodos que presenta, resulta en una limitante si se quiere desarrollar, por ejemplo, una automatización con refuerzos de acero. Por ello, gracias a la API de Revit y Python, se pueden complementar las rutinas o programación de Dynamo de forma que podamos ahorrar mucho tiempo de trabajo repetitivo.
Fuente: Gerald Pachari
3. Conexión con Etabs y Sap2000
Además de emplearse con Revit, Python también puede automatizar procesos de modelado en softwares de CSI como Etabs o Sap2000. Para ello se debe conocer las referencias también de la API de CSI. En el siguiente ejemplo se muestra cómo se pueden crear secciones automáticamente desde una hoja de Excel con el uso de Python. Además de esto, también puede desarrollarse un modelo completo y extracción de reportes para ahorrarse horas de trabajo. También resulta útil como una plantilla con cargas, materiales y secciones ya definidas.
Fuente: Structural Tech
4. Memorias de cálculo para estructuras
Así como es útil en su integración con otros softwares, también es muy práctico al momento de desarrollar memorias de cálculo. En el caso de estructuras se puede elaborar un flujo detallado del proceso de diseño de vigas e implementarlo en códigos de Python. La ventaja sobre otras herramientas con Excel o Mathcad es que puede realizar un proceso iterativo al instante y conocer todas las propiedades requeridas en el resultado final.
Fuente: Enrique de Leon
5. Programas de diseño estructural
Así como permite desarrollar el cálculo de estructuras, también puede desarrollarse un entorno visual, que con ayuda de otros lenguajes, que permita la obtención de un programa específico. De esta manera, se hace más amigable el desarrollo del cálculo y diseño estructural. Por ejemplo, en la siguiente imagen se muestra un programa elaborado para la identificación del punto de desempeño a partir de curvas de capacidad de un elemento.
Fuente: JPI Ingeniería e innovación
6. Dibujo automático en AutoCAD
En el desarrollo de planos es muy común el trabajo con AutoCAD para el detallado de elementos estructurales o arquitectónicos. Ante esto, te recomendamos automatizar los trazos y cotas a través de Python. La librería usada en el siguiente ejemplo es PyAutocad y permite interactuar con herramientas de dibujo dentro de AutoCAD. ¡Dile adiós a horas de trazados!
Fuente: Sanjeev Moktan
7. Integración Python y ArcGIS
Así como puede integrarse en software de BIM y diseño estructural, también es posible ahora integrar Python al conocido entorno de ArcGIS (compuesto por ArcMap). En este pueden desarrollarse acciones muy útiles de asignación de valores o cálculo, que, por sí mismas no son posibles de realizar en el software. En el ejemplo mostrado a continuación se muestra una tarea básica como cambiar mayúsculas y minúsculas en las etiquetas de las regiones. Tarea que debía ser hecha una a una sin la ayuda de Python.
Fuente: MasterGIS
8. Predicción de datos
Así como existen librerías para el cálculo y visualización de datos, Python también posee librerías como TensorFlow que permite utilizar redes neuronales para un aprendizaje automático en base a una serie de datos importados. En el siguiente ejemplo, se trabajó con un registro de datos de CBR para distintos valores de densidad del suelo, realizando así el entrenamiento del modelo. Una vez listo el modelo, se pudo predecir el valor del CBR a partir de cualquier valor de densidad.
Fuente: UNSCH – INGENIERÍA CIVIL
9. Análisis de precipitaciones
Gracias al uso de librerías de visualización y análisis de datos, es posible realizar la obtención de las curvas IDF (Intensidad-Duración-Frecuencia) que son ampliamente usadas para el desarrollo de proyectos hidráulicos. Las librerías de Matplotlib y Numpy permiten realizar este tratamiento de datos y agilizar la obtención de resultados hidrológicos.
Fuente: Faneci
10. Detecciones de movimiento
Finalmente, hemos considerado en este listado a una de las aplicaciones más innovadoras pero que aún está en desarrollo por expertos. La librería de OpenCV y Yolo pueden ayudar a detectar objetos dentro de videos puesto que se basa en modelos de Inteligencia artificial altamente entrenados. Por eso, el uso en desarrollo es la capacidad de detectar el movimiento de automóviles y sus características como velocidad, dimensión, ocupantes, etc. En el rubro de la ingeniería vial estos avances permiten estimar mejor la capacidad y el diseño de la vía sin realizar el conteo manual.
Fuente: Ferneutron
Resumen
La programación, especialmente con Python, es esencial para los profesionales de la ingeniería y la construcción, transformando procesos tradicionales en eficientes y precisos. Python, con su sintaxis clara y versatilidad, permite la automatización, análisis y visualización de datos en herramientas clave como Revit, Etabs, AutoCAD y ArcGIS. Adaptarse a estas tecnologías no solo optimiza proyectos, sino que redefine el futuro de la ingeniería civil.
Te invitamos a descubrir más en los enlaces sobre librerías de Python y las API de los programas mencionados.
Referencias
[1] INESA. (2024). Desbloqueando la excelencia en ingeniería: El rol de la programación y Python en la ingeniería civil. Recuperado de https://www.inesa-tech.com/blog/desbloqueando-la-excelencia-en-ingenieria-el-rol-de-la-programacion-y-python-en-la-ingenieria-civil/
[2] Autodesk. (2024). Revit API Developer’s Guide. Recuperado de https://help.autodesk.com/view/RVT/2024/ENU/?guid=Revit_API_Revit_API_Developers_Guide_Introduction_Getting_Started_Using_the_Autodesk_Revit_API_html
[3] CSI España. (2024). Application Programming Interface (API). Recuperado de https://www.csiespana.com/estat/40/application-programming-interface-(api)
[4] Python Software Foundation. (2024). The Python Standard Library. Recuperado de https://docs.python.org/es/3/library/index.html
Escrito por Jorge Enrique Huaripata Ascate para KONSTRUEDU.COM