Blog
Software 13 min lecturaOctubre 18, 2026

Estado de CIRCUS: lo que hace hoy y lo que viene

Un corte de cuentas de CIRCUS: el editor que ya funciona hasta en el celular, los planos que salen del modelo, el kernel de análisis y diseño en Rust, la memoria de cálculo, el modelado en lenguaje natural con IA y el plan para validarlo contra libros, STAAD.Pro, SAP2000 y ETABS.

Andres Garcia
Andres GarciaFundador · Diseñador Estructural
LinkedIn →

Hace poco grabamos un video en el que una caseta metálica de 6 × 6 m se modela de principio a fin en la pantalla de un celular. Tiene tres pórticos a dos aguas, diez correas y ocho riostras en cruz. Los nodos, las barras, los apoyos, las cargas, el análisis y los planos se hacen sin instalar nada: todo en el navegador.

Ese video resume bien dónde está CIRCUS, la herramienta de análisis estructural gratuita de Bimet, y es una buena excusa para hacer un corte de cuentas. En este artículo te cuento qué hace hoy, hasta dónde llega la interfaz y cómo salen los planos. Pero sobre todo te cuento lo que viene: un kernel propio de análisis y diseño escrito en Rust, la memoria de cálculo, la integración con inteligencia artificial y el plan de pruebas con el que queremos ganarnos tu confianza. La IA trae una idea que nos tiene entusiasmados: el modelado en lenguaje natural.

Tres pantallas de CIRCUS en un celular: la caseta con sus correas y riostras en la etapa Modelo, los diagramas de momento de la combinación 1,2 CM + 1,6 CV y la estructura con los perfiles reales extruidos
La caseta, hecha en un celular: el modelo con correas y riostras, los momentos de la combinación 1,2 CM + 1,6 CV y los perfiles reales en 3D.

Lo que CIRCUS hace hoy

El trabajo se organiza en etapas, igual que en la oficina: Modelo → Cargas → Analizar → Resultados → Planos.

  • Modelo. Nodos, barras rígidas o articuladas, apoyos y rótulas en cada extremo (My, Mz y torsión). También el giro del perfil alrededor de su eje. Los perfiles salen del catálogo de 703 perfiles americanos y europeos, cada uno con su fuente, y hay cuatro aceros: A36, A572 Gr. 50 y A500 grados B y C.
  • Cargas. Casos de carga muerta, viva, viento y sismo; cargas en los nodos y distribuidas en las barras. El peso propio sale del catálogo. Las combinaciones de resistencia de la NSR-10 (B.2.4) y las de servicio se generan con un toque.
  • Análisis. Lineal estático en 3D. Hoy lo resuelve OpenSees, el motor de elementos finitos de la Universidad de California en Berkeley. A su alrededor construimos lo que un ingeniero necesita para confiar en un resultado:
    • el modelo se valida completo antes de calcular, y CIRCUS te muestra todos los errores juntos;
    • los nodos sueltos, las partes sin apoyo y los mecanismos se detectan y se explican, en vez de devolver números absurdos;
    • en cada caso se verifica el equilibrio global de fuerzas y momentos.
  • Resultados. La deformada y los diagramas de momento, cortante y axial se dibujan sobre el modelo 3D. Hay envolventes, reacciones y un resumen de lo que gobierna, con el control de flechas de cada viga contra L/240 y L/360.
  • Planos. Plantas, alzados, cotas, marcas y cuadro de cantidades, listos para imprimir. Te los muestro más abajo.

CIRCUS también importa modelos de SAP2000, ETABS y STAAD.Pro. Los proyectos se guardan en tu navegador, así que no hace falta crear una cuenta: el modelo sólo sale de tu equipo para calcular. Cada proyecto se exporta como un archivo .bimet.json para respaldarlo o compartirlo.

Es rápido. Cada barra es un solo elemento y los diagramas se calculan analíticamente desde las fuerzas en sus extremos, de forma exacta en la teoría de vigas de Euler-Bernoulli. En nuestras pruebas, un modelo de 216 nodos se analiza en 0,6 s y uno de 900, en 3,5 s.

La interfaz: un programa de escritorio que también cabe en el bolsillo

En un programa de estructuras casi todo el tiempo se va en modelar, no en calcular. Por eso hemos invertido tanto en la interfaz. El visor 3D es el protagonista. A su izquierda están las herramientas de la etapa en la que estás, y a su derecha el inspector, que edita lo que seleccionas sin abrir ventanas.

El editor de CIRCUS en el escritorio con la caseta: los diagramas de momento de la combinación U2 sobre el modelo 3D y, a la derecha, el resumen de lo que gobierna y el control de flechas de las vigas
La misma caseta en el escritorio: momentos de la combinación U2 sobre el modelo, lo que gobierna y el control de flechas.

Algunas herramientas que hacen la diferencia:

  • Conectar. Tocas dos nodos y hay barra. La nueva barra hereda la sección de la anterior, así que una fila de correas se hace con una serie de toques.
  • Ventana. Funciona como en AutoCAD: si arrastras de izquierda a derecha selecciona lo que queda dentro, y de derecha a izquierda también lo que toca.
  • Replicar. Copia la selección las veces que quieras con un desplazamiento, con sus apoyos y sus cargas. Un pórtico se vuelve una nave en un paso.
  • Seleccionar por. Selecciona de una vez las columnas, las vigas, las riostras, un perfil, un material o un tipo de apoyo. En el celular, donde no hay tecla Shift, es la forma natural de seleccionar muchas barras.
  • Hoja de datos. Todas las tablas en un cajón bajo el visor: nodos, barras, cargas, desplazamientos, reacciones, fuerzas, envolvente y deflexiones. Cada una se exporta a CSV.
  • Resultados que no se pierden. Si editas el modelo después de analizar, los resultados no se borran: se marcan como desactualizados hasta que vuelvas a analizar. Y el botón Analizar cuenta los problemas pendientes del modelo mientras trabajas.
  • Para ver la estructura de verdad. Puedes ver los perfiles reales extruidos, medir con una cinta métrica entre nodos y ver los ejes de replanteo, que se deducen de los apoyos. Hay incluso un recorrido en primera persona con los ojos a 1,70 m, para sentir la escala.

Todo eso cabe en un celular: las mismas herramientas se reorganizan en la pantalla pequeña. En el video, la caseta completa (21 nodos, 36 barras, 6 apoyos y 1,43 t de acero) se modela sólo con toques.

Planos que salen del modelo

La etapa Planos dibuja el juego de planos a partir de la geometría del modelo. Las hojas son de medio pliego (70 × 50 cm) y todo el juego va a una sola escala. Los ejes de replanteo salen de los apoyos, y hay una planta por nivel y un alzado por eje. Cada barra lleva su marca: C para columnas, V para vigas y R para riostras. También van las cotas parciales, entre ejes y totales, y los niveles. La última hoja trae el cuadro de cantidades con peso, área de pintura y un porcentaje para conexiones. El cajetín, las notas generales y las revisiones se guardan con el proyecto.

Hoja E-01 de los planos de la caseta a escala 1:50: planta de apoyos, planta de cubierta con las correas, alzados de los ejes 1 y 2 con las riostras en cruz, alzado del pórtico del eje A y la franja de rótulo con notas, convenciones y cajetín
Hoja E-01 de la caseta: plantas, alzados de los muros arriostrados y el pórtico del eje A, a escala 1:50.

La caseta sale en dos hojas: la primera con las plantas y tres alzados, y la segunda con los otros dos pórticos y el cuadro de cantidades. Los planos son vectoriales y se guardan como PDF desde el diálogo de impresión del navegador. En este artículo te cuento en detalle qué dibuja el motor de planos y cómo usarlo con modelos importados.

Lo que sigue en planos: cortes transversales, numeración de piezas para taller, elegir a mano qué vistas entran y exportar a DXF.

El kernel: análisis y diseño en Rust

OpenSees nos permitió llegar rápido a resultados confiables, y le debemos mucho. Pero CIRCUS necesita un kernel propio, y lo estamos construyendo en Rust. Hay tres razones.

Diseño, no sólo análisis. Un programa de estructuras metálicas termina siempre en la misma pregunta: ¿este perfil cumple? El kernel va a integrar el análisis con la verificación según el Título F de la NSR-10 y el AISC 360 (LRFD). Va a revisar flexión, cortante, carga axial, la interacción flexión-axial (ecuaciones H1-1) y las relaciones ancho-espesor. De ahí sale un índice de utilización por barra y por combinación, y en el modelo se ve como un mapa de colores. Después vendrán el pandeo lateral-torsional y la búsqueda del perfil más liviano que cumple.

Correr también en tu navegador. Rust se compila a WebAssembly, así que el mismo kernel correrá en dos lugares. En el servidor lo llamaremos desde Python, con PyO3, detrás del mismo servicio que usa CIRCUS hoy. En tu navegador analizará los modelos sencillos al instante, sin ir al servidor e incluso sin conexión.

Control total del motor. OpenSees guarda su estado en memoria, y eso nos obliga a lanzar un proceso aparte para cada análisis. Además, los nudos de cercha necesitan resortes ficticios para estabilizarse. Hoy rodeamos esas limitaciones; con un kernel propio se resuelven en el diseño. Lo que hoy falta llega con él: las conexiones semirrígidas y las liberaciones de cortante.

¿Por qué Rust? Por su rendimiento, comparable al de C y C++, y porque es seguro con la memoria sin necesitar un recolector de basura. Su compilador no deja pasar clases enteras de errores, y en un programa que calcula estructuras que el compilador sea exigente es una virtud.

La hoja de ruta del kernel: cada etapa se apoya en la anterior.

Para ti, el cambio será invisible. El kernel entra detrás del mismo servicio, recibe el mismo modelo y devuelve los mismos resultados. Y no va a reemplazar a OpenSees hasta reproducir cada resultado de nuestras pruebas, tanto las de hoy como las del plan que te cuento al final.

La memoria de cálculo

Hoy, cuando terminas en CIRCUS, todavía tienes que llevar los resultados a Word o a Excel para armar la memoria. Es el trabajo más repetitivo del proyecto, y el más propenso a errores de transcripción. La memoria de cálculo es la siguiente gran pieza de CIRCUS: un documento que se arma con el mismo modelo y los mismos resultados, y que incluye:

  • la descripción de la estructura, sus materiales y sus perfiles, con las propiedades y la fuente de cada uno en el catálogo;
  • el avalúo de cargas, los casos y las combinaciones, con su referencia a la NSR-10;
  • las hipótesis del análisis: lineal elástico, apoyos, rótulas y verificación del equilibrio;
  • los resultados: reacciones, fuerzas que gobiernan y flechas contra sus límites;
  • el diseño de cada barra, con la ecuación, los valores y el numeral de la norma, cuando el kernel haga la verificación;
  • las figuras del modelo y de sus diagramas.

Tres principios la guían. Es trazable: cada número dice de dónde sale. Es regenerable: si cambias un perfil, la memoria se vuelve a armar. Y es tuya: la revisas, la completas y la firmas, porque la responsabilidad sigue siendo del ingeniero.

No partimos de cero. El espectro de diseño de Bimet ya entrega su memoria de cálculo en Word y en Excel, y CIRCUS seguirá ese camino.

Inteligencia artificial: modelar con lenguaje natural

Imagina que escribes esto:

Caseta de 6 × 6 m con dos vanos de 3 m. Pórticos a dos aguas con alero a 3 m y cumbrera a 4,2 m, columnas HE 160 A empotradas y vigas IPE 200. Correas UPN 100 cada 1,5 m y riostras en cruz de ángulo L 50x50x5 en el primer vano.

Y que en el visor aparece, listo para revisar, el modelo que en el video construimos toque a toque. A eso le llamamos modelado en lenguaje natural: describir la estructura con palabras, como se la contarías a un colega, y que CIRCUS la convierta en un modelo que puedes editar.

No se queda en crear modelos. Con la misma conversación vas a poder:

  • Editar el modelo: «cambia las correas a UPN 120», «agrega un vano», «pon riostras también en el último vano».
  • Preguntar: «¿qué barra gobierna y por qué?», «¿cuánto pesa la estructura?», «¿por qué el modelo es un mecanismo?».
Del texto al modelo: la IA propone, CIRCUS valida y el kernel calcula.

Para que esto sea útil en ingeniería y no un truco, seguimos cuatro reglas:

  1. La IA escribe el modelo y el kernel hace los cálculos. Un modelo de lenguaje no calcula esfuerzos. Los números salen siempre del motor, con su verificación de equilibrio.
  2. Todo pasa por los mismos filtros. Lo que proponga la IA es el mismo modelo que produce la interfaz o el importador. Se valida completo, se dibuja en el visor y lo revisas antes de analizar.
  3. Cada cambio se ve y se deshace. La IA te dice qué cambió, y puedes deshacerlo como cualquier otra edición.
  4. Tú decides. El criterio, la responsabilidad y la firma siguen siendo del ingeniero.

¿Por qué creemos que llegará pronto? Porque CIRCUS ya tiene las piezas. Todo el programa habla un solo formato de modelo, y la validación revisa ese formato completo y explica cada error. Además, los importadores ya traducen al mismo formato los archivos de SAP2000, ETABS y STAAD.Pro. El lenguaje natural es, en el fondo, un formato de entrada más: en vez de leer un .e2k, lee una frase.

El plan de pruebas: libros, STAAD.Pro, SAP2000 y ETABS

Un programa de cálculo vale lo que valen sus pruebas. Esto es lo que tenemos hoy:

  • El motor se prueba contra soluciones analíticas: la viga simplemente apoyada (wL²/8), la deformada de un voladizo a lo largo de la barra y una cercha triangular. También un pórtico con rótulas que trabaja como vigas simplemente apoyadas, el giro del perfil, los ejes principales de los ángulos, el peso propio y las combinaciones por superposición. Los diagramas se comparan con un modelo subdividido de referencia. Hay pruebas para los nodos sueltos, las partes sin apoyo y los mecanismos, y una de rendimiento.
  • El importador se prueba con modelos escritos a mano en la sintaxis de cada programa. Llevan cargas de solución conocida (PL³/3EI, wL²/8) y se comparan con una tolerancia relativa de una cienmilésima.
  • Archivos reales. Pasamos por el importador 510 modelos de SAP2000, ETABS y STAAD.Pro publicados por otros. Se importaron 366 y ninguno hizo fallar al importador: cada rechazo explica su razón, por ejemplo un archivo que sólo trae losas o un formato antiguo.
  • El catálogo revisa la coherencia interna de los 703 perfiles. Por ejemplo, que r = √(I/A), que S = I/c y que la masa corresponda al área.

En total hay 84 pruebas automáticas del motor, del servicio y del importador, y 43 del editor. Todo cambio del motor tiene que dejarlas en verde.

El siguiente paso es compararnos con las referencias que usa la profesión:

Caso y fuenteQué validaResultado publicado
Cercha espacial (Beer y Johnston)Fuerzas axiales en 3DFuerza en cada barra
Cercha plana (McCormac)Deflexionesδy = 2,63 in
Pórtico espacial (Weaver)Flexión y torsión en 3DMy = 84,04 y Mz = 95,32 in·kip
Pórtico plano (Timoshenko)Reacciones y momentosRy = 500 lb, M = 2.754,97 in·lb
Viga con carga trapezoidal parcial (Bentley)Cargas parciales en barrasFlecha y reacciones
Pórtico plano de 10 pisos (Bentley)P-DeltaResultados de segundo orden
Ejemplos de verificación de SAP2000 y ETABS (CSI)Pórticos, cerchas y liberacionesValores de cada ejemplo

Los casos de libro saldrán de los problemas de verificación que publica Bentley para STAAD.Pro. Cada uno trae su solución teórica y la referencia al libro del que sale. También usaremos los ejemplos del manual de STAAD.Pro y los ejemplos de verificación que publica CSI, la empresa de SAP2000 y ETABS. Para el diseño, cuando llegue, usaremos ejemplos resueltos de diseño en acero.

El método es el mismo para todos:

  1. Rehacemos el modelo a mano en CIRCUS. No copiamos archivos de terceros a nuestro repositorio.
  2. Comparamos con el valor publicado.
  3. El caso queda como prueba permanente.

Algunos casos piden funciones que todavía no tenemos, como las cargas trapezoidales o el P-Delta. Entran a la suite cuando entren al kernel, así que el plan de pruebas es también nuestra hoja de ruta. Y cada caso se corre en los dos motores: el kernel en Rust tiene que reproducir el valor publicado y el resultado de OpenSees antes de tomar su lugar.

Lo que todavía no hace

Prefiero que conozcas también los límites de hoy:

  • No verifica perfiles. Entrega fuerzas y flechas; la verificación de diseño llega con el kernel.
  • Sólo hace análisis lineal estático. Todavía no hay análisis modal, espectral ni P-Delta.
  • Las cargas de viento y sismo las pones tú. Los casos existen, pero sus cargas todavía no se generan desde la NSR-10.
  • Las cargas en barras son uniformes en toda la longitud. Todavía no hay cargas puntuales ni trapezoidales sobre las barras.
  • No hay memoria de cálculo ni exportación de planos a DXF.
  • La torsión de los canales se calcula como si el centro de corte coincidiera con el centroide.
  • Los proyectos viven en tu navegador. Todavía no hay nube ni trabajo colaborativo.

Una invitación

Abre CIRCUS en tu celular y modela tu propia caseta. Si encuentras algo que no funciona como esperas, escríbenos.

Y si tienes un ejercicio de libro o un modelo con resultados conocidos, mándanoslo. Cada caso verificado que entra a la suite es una garantía más para el siguiente ingeniero que confíe en CIRCUS.