I. Introducción y Filosofía del Sistema

¡Bienvenido al ecosistema de Seproinca Structures! Esta herramienta ha sido diseñada para que nosotros, los ingenieros, podamos transformar un dibujo lineal simple en FreeCAD en un modelo estructural consistente y de alta precisión, analizado por el potente motor OpenSeesPy.

El flujo de trabajo es intuitivo, pero para garantizar que el análisis sea exitoso, debemos respetar la Regla de Oro: el modelo se construye exclusivamente a partir de líneas independientes en FreeCAD. El uso de polilíneas no está permitido para los miembros base, ya que el sistema necesita identificar cada segmento como un elemento estructural único con sus propios nodos extremos.

Comparación entre líneas independientes y polilíneas en FreeCAD para modelado compatible con Seproinca Structures Frame 2D.
Figura 1. Regla de Oro: el modelo debe dibujarse con líneas independientes. Las polilíneas no son compatibles como miembros base porque impiden identificar cada segmento como un elemento estructural único con nodos extremos definidos.

II. Configuración Inicial del Entorno

Antes de empezar a asignar materiales o cargas, es fundamental preparar nuestro “tablero de dibujo” virtual mediante tres pasos esenciales.


2.1. Ayuda y Onboarding (Familiarización)

Para entender el lenguaje que habla la herramienta, contamos con la macro "Ayuda Seproinca". Es recomendable familiarizarse con los conceptos clave antes de modelar:


  • Nodo: Punto de unión con 3 grados de libertad (Ux, Uz, Ry).
  • Miembro (Frame): Elemento viga o columna que conecta dos nodos y resiste flexión y carga axial.
  • Restricción: Condición de apoyo que limita los movimientos del nodo.
  • Cargas: Pueden ser puntuales (en nodos) o distribuidas (a lo largo de los miembros).
  • Release: Liberación de momento en un extremo del miembro.

2.2. Escala Visual (Proporción Gráfica)

Un modelo preciso también debe ser legible. La macro "Definir Escala Visual" establece un factor de escala global para que textos, símbolos de apoyos y flechas de carga se vean proporcionales al tamaño real de la estructura.


  • Cómo funciona: El usuario ingresa la “Mayor Dimensión del Modelo” y la “Longitud Mínima de Elemento”.
  • Resultado: El sistema calcula automáticamente un factor (entre 0.8 y 8.0) para que nada se vea ni demasiado pequeño ni demasiado grande en pantalla.


2.3. Configuración del Modelo (Definición del Espacio)

A través de la macro "Configurar Modelo", fijamos las reglas físicas del análisis:


  • Plano de trabajo: Se trabaja en el plano XZ, donde el eje Z es la vertical.
  • Mapeo interno: Para el cálculo en OpenSeesPy, el sistema traduce internamente el plano XZ al plano XY (el Z del usuario se interpreta como Y en el motor de cálculo).
  • Grados de libertad (ndf): Cada nodo se configura estrictamente con ndf = 3: desplazamiento en X, desplazamiento en Z y rotación alrededor del eje Y (Ry).
  • Unidades: La longitud se asume siempre en metros (m). La unidad de fuerza la define el usuario, manteniendo siempre congruencia en todo el modelo.
Diagrama del plano de trabajo XZ en FreeCAD y su mapeo interno al plano XY usado por OpenSeesPy en Seproinca Structures Frame 2D.
Figura 2. Sistema de ejes: el usuario modela en el plano XZ (Z vertical). Internamente, el motor de cálculo traduce este plano a XY para OpenSeesPy (Z del usuario se interpreta como Y en el análisis).

III. Definición de Propiedades (Materiales y Secciones)

Para que OpenSeesPy pueda determinar desplazamientos y esfuerzos, debemos definir la rigidez de los elementos. Este proceso se divide en establecer un material global y crear la biblioteca de perfiles que usará el proyecto.





3.1. Material Base

Utilizamos la macro "Definir Material Base" para crear o actualizar el objeto MaterialBase, alojado en la ruta Estructura/Propiedades del árbol de FreeCAD.


  • Módulo de elasticidad (E): Valor fundamental y obligatorio que define la rigidez del material. El sistema asume unidades de [Fuerza] / [Longitud]². Como trabajamos en metros, si usas Toneladas fuerza, entonces E debe ingresarse en Tonf/m².
  • Peso específico (γ): Dato opcional con unidades [Fuerza] / [Longitud]³. En esta versión (v1), se guarda como informativo y no genera peso propio automático en el análisis.
  • Soporte matemático: El diálogo permite ingresar expresiones simples (ej. 2.1e7 * 1.1) para facilitar conversiones rápidas dentro de la interfaz.


3.2. Biblioteca de Secciones del Modelo

A través de la macro "Definir Secciones", el ingeniero gestiona múltiples perfiles estructurales en una interfaz tipo “Suite” (lista a la izquierda y ficha técnica a la derecha). Las secciones se almacenan en Estructura/Propiedades/Secciones.

  • Propiedades geométricas clave: Para cada sección, es indispensable definir el Área (A) en m² y la Inercia (Iz) en m⁴. Recuerda que Iz corresponde a la inercia alrededor del eje perpendicular al plano de trabajo XZ.
  • Gestión de perfiles: Se pueden crear secciones nuevas, duplicar perfiles existentes para ajustes menores o eliminar los no requeridos.
  • Identificación: Cada sección recibe un Nombre (visible para el usuario) y un SeccionID interno (ej. SEC-001) que garantiza trazabilidad durante el ensamblaje del modelo.
  • Estado de validación: Indicador visual (“Listo” o “Incompleto”) para asegurar que A e Iz sean mayores a cero antes de guardar.

IV. Transformación de Dibujo a Modelo Estructural

Este proceso es el corazón del flujo de trabajo: garantiza que cada línea dibujada se comporte como un elemento estructural real en OpenSeesPy.

Diagrama del flujo de trabajo completo de Seproinca Structures Frame 2D desde el dibujo en FreeCAD hasta el análisis y visualización de resultados.
Figura 3. Flujo de trabajo recomendado: del dibujo a la compilación de datos y al análisis en OpenSeesPy. Este mapa ayuda a ejecutar las macros en el orden correcto y evita omitir pasos críticos.

4.1. Generar Miembros

Con la macro "Generar Miembros", el sistema detecta todas las líneas válidas y las convierte en objetos técnicos alojados en Estructura/Miembros. Solo se permiten líneas simples (no polilíneas). Al generarse, cada miembro recibe propiedades base (como E) y contenedores para su futura sección y condiciones de liberación (releases).


4.2. Etiquetar Miembros

Para mantener el orden en la “obra virtual”, la macro "Etiquetar Miembros" genera etiquetas numéricas visibles sobre cada elemento. Estas se organizan dentro del subgrupo Etiquetas_Miembros y su tamaño se ajusta según la escala visual, facilitando la interpretación de tablas de resultados.


4.3. Extraer Nodos

La macro "Extraer Nodos" identifica los extremos de cada miembro y crea esferas físicas de color gris denominadas Nodo_#. Esto facilita la selección visual para aplicar cargas o restricciones. Además, el sistema genera el bloque Datos_Nodos en formato JSON con coordenadas exactas para el motor de cálculo.


4.4. Etiquetar Nodos

Con la macro "Etiquetar Nodos", se coloca la numeración correspondiente a cada nodo. Las etiquetas se alojan en Etiquetas_Nodos y se orientan automáticamente según el plano configurado. Esta numeración es esencial para interpretar desplazamientos y reacciones.


4.5. Asignación de Secciones

Para dar “cuerpo” a los miembros, vinculamos cada uno con el catálogo mediante "Asignar Seccion En Miembros". Al asignar una sección, el sistema transfiere automáticamente A e Iz al objeto estructural. Como confirmación visual, se crea una etiqueta sobre el miembro indicando el nombre de la sección asignada.


V. Condiciones de Borde (Apoyos y Liberaciones)

Definir cómo se sujeta la estructura y cómo interactúan sus elementos es crítico para obtener resultados congruentes. En Frame 2D, esto se divide en apoyos nodales y liberaciones de momento.

5.1. Restricciones Externas (Apoyos)

Con "Asignar Restricción Externa" aplicamos condiciones de apoyo a los nodos seleccionados (Nodo_#). El sistema maneja estrictamente 3 GDL (ndf=3): Ux, Uz y Ry.

Tipos de apoyo disponibles y su representación visual:

  • Empotramiento: Restringe Ux, Uz y Ry. Se representa con un cubo verde.
  • Articulación fija: Restringe Ux y Uz, permite Ry. Se representa con un cono naranja.
  • Rodillo en Z: Restringe Uz, permite Ux y Ry. Se identifica con una esfera azul.
  • Rodillo en X: Restringe Ux, permite Uz y Ry. Se identifica con una esfera cian.
  • Libre: Elimina cualquier restricción previa del nodo.
Representación visual de los tipos de apoyo disponibles en Seproinca Structures Frame 2D: empotramiento, articulación y rodillos en X o Z.
Figura 4. Tipos de apoyo y su representación visual en Frame 2D. Cada símbolo corresponde a una combinación específica de restricciones sobre Ux, Uz y Ry (ndf = 3).

5.2. Compilación de Restricciones

Una vez visibles, los apoyos deben “compilarse” para que OpenSeesPy los interprete. La macro "Generar Restricciones" lee los símbolos aplicados y genera el bloque de datos listo para el análisis.


  • Validación estricta: Verifica que el modelo esté configurado con ndf = 3 antes de proceder.
  • Persistencia: Guarda datos en JSON dentro del objeto Datos_Restricciones en Estructura/Restricciones. Además, imprime el bloque NumPy en consola para auditorías rápidas.

5.3. Liberaciones de Momento (Releases)

Para modelar articulaciones internas (momento nulo en un extremo), usamos "Asignar Liberacion de Momento". Esto es vital para cerchas, vigas simplemente apoyadas o uniones articuladas dentro de pórticos.

Opciones disponibles:

  1. Liberar en I: El extremo inicial del miembro actúa como articulación.
  2. Liberar en J: El extremo final del miembro actúa como articulación.
  3. Liberar en I y J: Ambos extremos quedan articulados.

Como verificación, el sistema dibuja esferas turquesa cerca de los extremos liberados y guarda la configuración en las propiedades del miembro (RelI_Rot / RelJ_Rot).

Ejemplos de liberación de momento (releases) en el extremo I, en el extremo J y en ambos extremos de un miembro en Seproinca Frame 2D.
Figura 5. Liberaciones de momento (releases): liberar en I, en J o en I y J cambia la continuidad rotacional del miembro y modifica directamente el diagrama de momentos.

VI. Acciones y Cargas

Un modelo sin cargas es solo geometría; para convertirlo en ingeniería debemos aplicar acciones realistas. El módulo gestiona cargas puntuales en nodos y cargas distribuidas en miembros.


6.1. Cargas Puntuales (Nodales)

Con "Asignar Carga Puntual", aplicamos fuerzas y momentos directamente en nodos seleccionados.


  • Componentes: Fuerzas (Fx, Fz) y momento en el plano (My).
  • Unidades: Fuerzas en [F] y momentos en [F·L], manteniendo congruencia.
  • Representación visual: Flechas rojas para fuerzas y símbolos circulares técnicos para momentos (⭕• sale del plano, ⭕× entra), siguiendo la regla de la mano derecha.

6.2. Cargas Distribuidas

Para cargas uniformes a lo largo de un miembro, usamos "Asignar Carga Distribuida en Miembro".


  • Flexibilidad de referencia: Se pueden definir en ejes globales (WX, WZ) o ejes locales (Wx, Wy).
  • Visualización: Se dibuja un rectángulo semitransparente sobre el miembro con etiquetas automáticas (componentes y sentido).
  • Precisión geométrica: El sistema realiza las proyecciones necesarias para que el motor reciba la carga en componentes locales.

Comparación entre cargas definidas en ejes globales y cargas definidas en ejes locales del miembro en Seproinca Structures Frame 2D.
Figura 6. Cargas globales vs locales: una carga puede definirse en ejes globales (WX, WZ) o en ejes locales (Wx, Wy). Internamente, el sistema proyecta y traduce para que el motor trabaje con componentes locales compatibles con eleLoad -beamUniform.

6.3. Generación de Bloques (Compilación de Datos)

Antes del análisis, debemos compilar los datos visuales a estructuras legibles por OpenSeesPy:

  • Generar Cargas Puntuales: la macro "Generar Cargas Puntuales" consolida fuerzas nodales en Datos_CargasPuntuales (JSON) e imprime un bloque NumPy en consola para auditoría externa.
  • Generar Cargas Distribuidas: "Generar Cargas Distribuidas" consolida cargas por miembro en Datos_CargasDistribuidas. Para el análisis, el sistema traduce siempre a componentes locales (Wx, Wy), compatibles con eleLoad -beamUniform de OpenSeesPy.


VII. Ensamblaje Final y Análisis

En esta fase consolidamos la información del modelo en un paquete de datos unificado que OpenSeesPy puede procesar. Es el último paso antes de obtener resultados.


7.1. Generar Datos de Miembros (Ensamblaje Estructural)

Mediante "Generar Datos Miembros", el sistema realiza una consolidación técnica por elemento:


  • Mapeo de conectividad: Usa Datos_Nodos para asignar IDs (i, j) a extremos según coordenadas.
  • Consolidación de propiedades: Extrae por miembro EleTag, E, A, Iz y SeccionID.
  • Inclusión de releases: Integra RelI_Rot y RelJ_Rot si existen.
  • Persistencia y auditoría: Guarda en JSON en Estructura/Miembros/Datos_Miembros_Frame2D, imprime bloque NumPy y lo copia al portapapeles para uso en Jupyter u otros entornos.

7.2. Modo Estricto (Control Técnico)

Para evitar analizar modelos incompletos, el sistema opera con un Modo Estricto obligatorio:

  • Validación previa: Se detiene si faltan datos clave: secciones no asignadas, nodos no extraídos, A/Iz/E inválidos o miembros sin correspondencia con nodos.
  • Avisos inteligentes: Mensajes claros con causa raíz (ej. “Sección no asignada”) y señalamiento de elementos afectados.
  • Regla operativa: No permite ejecutar análisis si no existen restricciones compiladas, cargas procesadas o si ndf = 3 no es congruente.



7.3. Panel de Análisis Seproinca

El "Panel de Análisis Seproinca" es la “torre de control” del flujo de cálculo dentro de FreeCAD:


  • Ejecución del motor: Lanza "Analizar Modelo", que invoca OpenSeesPy usando los datos persistidos.
  • Verificación de estado: Informa si el análisis finalizó o si hubo problemas (incluyendo convergencia) y sugiere revisar la Vista de Informe.
  • Navegación de resultados: Activa deformada, reacciones y diagramas para auditar el comportamiento de inmediato.


VIII. Revisión y Visualización de Resultados

Una vez completado el análisis, el Panel de Análisis activa herramientas de visualización para auditar la respuesta estructural bajo carga.

8.1. Deformada y Reacciones (Comportamiento Global)

  • Visualización de la deformada: Con "Ver Deformada", el sistema muestra la configuración desplazada (opcionalmente sobre la original). El panel calcula un factor de escala para hacer visibles los desplazamientos y detectar errores de modelado o excesiva flexibilidad.
  • Vectores de reacción: Con "Ver Reacciones", se grafican fuerzas y momentos en cada apoyo con restricciones activas. Es clave para verificar equilibrio global y apoyar el diseño de fundaciones.
Visualización de la deformada de un pórtico 2D en Seproinca Structures Frame 2D, superpuesta a la geometría original con factor de escala.
Figura 7. Deformada superpuesta: la geometría desplazada se muestra amplificada mediante un factor de escala para facilitar la inspección visual del comportamiento global y detectar errores de modelado o rigideces no esperadas.

8.2. Diagramas FEM: Axial (N), Cortante (V) y Momento (M)

Para esfuerzos internos se utiliza la librería opsvis, garantizando convenciones estándar de ingeniería.

  • Interfaz interactiva: Antes de graficar N, V o M, el panel ofrece un diálogo para ajustar escala y tamaño de fuente.
  • Escalado sugerido: El sistema analiza la magnitud máxima y la dimensión del modelo para sugerir una escala legible, evitando solapes.

Tipos de diagramas disponibles:

  1. Diagrama axial (N): Muestra tracción (+) y compresión (-) en cada elemento.
  2. Diagrama de cortante (V): Visualiza fuerzas transversales.
  3. Diagrama de momentos (M): Representa momentos flectores con convención basada en fibras traccionadas para interpretación técnica.
Diagramas de fuerzas internas N-V-M (axial, cortante y momento) generados en Seproinca Structures Frame 2D para auditoría de esfuerzos.
Figura 8. Diagramas N–V–M: visualización de esfuerzo axial, cortante y momento flector por elemento. Estos gráficos permiten auditar la respuesta interna y verificar coherencia con apoyos, cargas y liberaciones asignadas.

8.3. Tablas y Exportación Rápida

Si necesitas el dato exacto o un postproceso externo, el panel permite "Ver Tablas" directamente en FreeCAD  y exportarlas a CSV y TXT o "Exportar Resultados a Excel" directamente desde el panel. Las tablas de fuerzas internas presentan valores en extremos (nodos i y j) ya traducidos a la convención clásica del elemento mostrada en la figura 8, facilitando la auditoría de los resultados.

Con estas herramientas visuales, pasamos del cálculo numérico a una comprensión profunda del comportamiento estructural del modelo.


IX. Reglas Críticas y Solución de Problemas (Troubleshooting)

La precisión analítica depende del rigor al construir la “obra virtual”. Sigue estas directrices para evitar errores comunes y favorecer la convergencia.

9.1. Integridad del Modelo (Modo Estricto)

El sistema opera con control de calidad automático. No intentes correr el análisis si falta alguno de estos pilares:

  • Nodos extraídos: Debes ejecutar la macro de extracción de nodos para crear puntos físicos donde aplicar cargas y apoyos.
  • Secciones asignadas: Cada miembro debe tener una sección del catálogo; sin esto el sistema no tiene rigidez (A, Iz).
  • Bloques compilados: Genera bloques de restricciones, cargas y datos de miembros antes de analizar.
  • Propiedades válidas: El análisis se detiene si detecta A, Iz o E ≤ 0.

9.2. Regla de Oro de la Geometría

El modelo se construye exclusivamente con líneas independientes. El uso de polilíneas para miembros base está prohibido porque impide el mapeo correcto de nodos y la identificación única de cada elemento.

9.3. Congruencia de Unidades

En ingeniería, las unidades lo son todo. Mantén estas reglas:

  • Longitud: El sistema asume coordenadas y dimensiones en metros (m).
  • Propiedades de sección: Área en m² e inercia en m⁴.
  • Fuerza y rigidez: La unidad de fuerza la define el usuario (Tonf, kN, etc.). Si usas Tonf, el módulo de elasticidad E debe estar en Tonf/m².

Tip rápido: Si cambias la unidad de fuerza, asegúrate de actualizar coherentemente E, cargas nodales y cargas distribuidas. La herramienta asume metros como unidad de longitud en todo el flujo.

9.4. Diagnóstico: la Vista de Informe es tu mejor aliada

Si el análisis arroja error, no converge o el panel indica detención controlada, revisa:

  • Vista de Informe: Menú Ver → Paneles → Vista de Informe.
  • Causa raíz: Allí verás mensajes detallados (ej. “Sección no asignada”, “E inválido”) y los elementos afectados.
  • Estabilidad global: Si no converge, revisa que el modelo no sea un mecanismo y que existan restricciones suficientes.

Si sigues estas reglas, tus proyectos pasarán de simples líneas a modelos estructurales sólidos, verificables y defendibles con confianza profesional.


X. Conclusión y Cierre

¡Felicidades, colega! Si has recorrido esta documentación completa, ya no estás simplemente dibujando en FreeCAD: estás construyendo modelos estructurales técnicamente consistentes y plenamente auditables.

Seproinca Structures Frame 2D no es solo un conjunto de macros; es un flujo de trabajo estructurado que transforma un dibujo lineal en un modelo analítico coherente, procesado por OpenSeesPy y respaldado por datos persistidos y verificables.

A modo de síntesis, recordemos los pilares fundamentales del sistema:

  1. Rigor geométrico: La calidad del análisis nace de la pureza del modelo. El uso exclusivo de líneas independientes garantiza conectividad clara, nodos bien definidos y elementos correctamente identificados.
  2. Consistencia mecánica: La correcta definición del Material Base y del catálogo de secciones (A e Iz en unidades coherentes) asegura rigidez axial y flexional físicamente válida.
  3. Control técnico (Modo Estricto): El sistema valida automáticamente que el modelo esté completo antes de analizar. No permite ejecutar cálculos si faltan nodos, secciones, restricciones o bloques compilados.
  4. Transparencia y auditoría: Los datos (nodos, miembros, restricciones y cargas) se almacenan en JSON dentro del modelo y se imprimen como bloques NumPy listos para verificación externa. El ingeniero mantiene control total del proceso.
  5. Visualización y entrega profesional: Deformada, reacciones, diagramas N-V-M y exportación de tablas completan el ciclo técnico del análisis dentro de FreeCAD.

Con este módulo, el análisis deja de ser una “caja negra” y se convierte en un proceso transparente, verificable y controlado por el criterio del ingeniero. La herramienta no reemplaza el juicio profesional: lo potencia.


Siguiente paso recomendado

Practica el flujo completo con un pórtico simple (2 o 3 vanos) y valida: apoyos, releases, cargas y coherencia de diagramas N–V–M. Ese ejercicio te dará confianza y velocidad para modelos reales.

Ir al siguiente recurso

Te invito a seguir explorando Seproinca Structures, manteniendo coherencia de unidades, precisión en los apoyos y consistencia en propiedades mecánicas. Si respetas estos principios, tus modelos pasarán de simples líneas a estructuras técnicamente sólidas y defendibles.