Descargar gratis

Modelado paramétrico · Python

Python: crea tus modelos desde código

Escribe un script, ejecútalo y XFEM4U abre el modelo. Struct4U.py, nuestra biblioteca de Python, genera nudos, apoyos, perfiles, barras, placas, cargas y combinaciones: casi todo lo que haces en XFEM4U lo puedes hacer también en Python. XFrame2D también admite entrada paramétrica desde Python.

PYPython→XFEM4U · XFrame2D

python2xfem4u.zip, 15 kB: Struct4U.py y ExamplesXFEM4U.py. Manual: PDF en inglés, 19 páginas, 1,7 MB. Ambos actualizados el 14 de marzo de 2025.

XFEM4U, vista en perspectiva: un puente de celosía en forma de tubo generado por un script de Python, dibujado como líneas con nudos.
Fig. 1Un puente desde un script: un tubo de 1312 barras y 672 nudos, abierto en XFEM4U. Uno de los ejemplos del manual, inspirado en el puente «Netkous» de Róterdam.
1Cómo funciona

El modelo llega a XFEM4U mediante DirectCommands, que también permite a Excel abrir XFEM4U y XFrame2D.

Escribe un script. Ejecútalo. Ahí está tu modelo.

No tengas miedo, pruébalo: en muy poco tiempo conocerás las funciones.

  1. 1

    Escribe tu script

    En el editor de Python que prefieras, como Visual Studio Code o PyCharm. Añade Struct4U.py al proyecto y empieza por ExamplesXFEM4U.py.

  2. 2

    Ejecútalo

    Struct4U.py crea el modelo y se lo pasa a XFEM4U. ExamplesXFEM4U.py te pregunta primero qué ejemplo quieres ver.

  3. 3

    XFEM4U lo abre

    Abre XFEM4U o cambia a su ventana, y ahí está tu modelo: listo para calcular, comprobar y generar la memoria.

2Funciones

Nombres de los métodos como en Struct4U.py. La clase se llama XFEMF4U, con F, como en los ejemplos del manual.

De los nudos a las combinaciones.

Struct4U.py tiene un método para cada parte del modelo. El manual los describe todos, con sus parámetros.

Proyecto y geometría

XFEMF4U
El propio modelo: descripción, número de proyecto, clase de consecuencias (CC1, CC2 o CC3) y vida útil de proyecto.
AddGrid
Ejes, escritos como en XFEM4U: "0 4x3000 2000".
AddNode
Nudos, por sus coordenadas, con un apoyo si lo indicas. En unas coordenadas ya ocupadas, te devuelve ese nudo.
AddSupport
Apoyos: empotrado, articulado, un rodillo en X, Y o Z, una rótula, o uno propio por dirección, con muelles.

Perfiles, barras y placas

AddSteelProfile
Perfiles de acero: un nombre de la biblioteca de XFEM4U, o una forma propia (H, U, T, RHS, CHS, L y más).
AddConcreteProfile
Perfiles de hormigón: clases C12/15 a C90/105, formas S1 a S20.
AddBeam
Vigas y pilares, con las condiciones de sus extremos (empotrado, articulado o solo a tracción), arriostramientos laterales, un giro y una excentricidad.
AddPlate
Placas sobre un polígono de nudos, con un material, un espesor y una excentricidad.
AddPanel
Paneles de carga sobre un polígono de nudos: la dirección de reparto (todas, X o Y) y el tipo de superficie (muro, cubierta plana, a un agua o a dos aguas …).

Cargas y combinaciones

AddCase
Hipótesis de carga: permanente, de uso (categorías A a H), nieve, viento, temperatura, imperfección y más, con sus coeficientes ψ.
AddNodeLoad
Fuerzas y momentos en un nudo.
AddBeamLoadQAddBeamLoadFAddBeamLoadM
Cargas repartidas, cargas puntuales y momentos sobre una barra.
AddSurfaceLoad
Cargas de superficie: constantes, lineales o según una altura de agua.
AddCombination
Combinaciones de hasta cinco hipótesis: ELU, ELS, casi permanente, permanente o frecuente.

Con el número 0, Struct4U.py numera la parte por ti. Cada método devuelve el número que ha creado, o -1 si falla.

3Ejemplo

Código del manual, páginas 10 y 11; la última línea, como en ExamplesXFEM4U.py.

Una escalera de caracol, con un solo bucle.

Del manual: una escalera de caracol de acero alrededor de un pilar central. Cada vuelta del bucle añade un peldaño, su carga y la zanca hasta el peldaño inferior; dos vueltas de 15 peldaños dan 31 peldaños.

PythonStruct4U.py

xfem = XFEMF4U("Example in Python","12345", ConsequenceClass.CC2, 100, "")
# …
optrede = 200
ltrede = 1200
ntrede360 = 15
alpha = 360.0 / ntrede360
nspil = 2
a = 0
x = 0
y = 0
z = 0
xfem.AddSteelProfile(1,"HFCHS2191X125","S235")
xfem.AddSteelProfile(2,"HFRHS100X50X4","S235")
xfem.AddSteelProfile(3,"S200x10","S235",90)
k1 = xfem.AddNode(0,x,y,z,SupportType.Fixed)
z = optrede
vnode = 0

for i in range(nspil*ntrede360+1) :
    x = ltrede * cos(a * pi/180)
    y = ltrede * sin(a * pi/180)
    node1 = xfem.AddNode(0,0,0,z)
    node2 = xfem.AddNode(0,x,y,z)
    beam = xfem.AddBeam(0,node1,node2,2)
    xfem.AddNodeLoad(1,node2,0,0,-10)
    # …
    a += alpha
    z += optrede
    if vnode!=0:
        beam = xfem.AddBeam(0,vnode,node2,3)
    vnode = node2

k2 = xfem.AddNode(0,0,0,z,SupportType.Roll_Z)
xfem.AddBeam(0,k1,k2,1)
# …
xfem.Save2XFEM4U("spiral_stairs")

Los nombres neerlandeses son los del manual: optrede es la altura de un peldaño, ltrede su longitud, ntrede360 los peldaños por vuelta y nspil el número de vueltas. Longitudes en mm, cargas en kN. Se omite en # …: los ejes y las hipótesis, una carga lineal en cada peldaño y las combinaciones.

Vista de geometría en XFEM4U de la escalera de caracol que crea este script: un pilar central tubular, peldaños de perfil tubular rectangular y una zanca que da dos vueltas a su alrededor.
Fig. 2El modelo que crea el script: 62 barras y 64 nudos. Del manual, página 10.
5Comparar

Con las palabras de nuestros boletines de junio de 2024 y enero de 2025.

¿Python o XSpreadsheets?

Dos formas de crear un modelo a partir de parámetros. Cuál te conviene depende de lo que construyas y de si te gusta programar.

XSpreadsheets · Excel

  • Módulos ya hechos en un libro de Excel: rellena los valores y abre el modelo.
  • Genera rápidamente las estructuras 2D y 3D más habituales.
  • A muchos ingenieros de estructuras programar en Python les resulta bastante complicado. Excel, en cambio, lo conocen bien.
  • La entrada paramétrica desde Excel está en todas las licencias, desde Basic 2D.
XSpreadsheets

Python · Struct4U.py

  • Tu propio script, con los métodos de Struct4U.py.
  • Te atreves con todo y generas las estructuras 2D y 3D más complejas.
  • Con Python puedes hacer mucho más: parametrizar, pero también generar una parte complicada de tu estructura.
  • La licencia Premium 2D + 3D, o incluido con el pago por uso.
6Aprender

Los boletines están en inglés y neerlandés; enlazamos la versión inglesa.

Manual, ejemplos y formación.

Manual

Ejemplos

  • ExamplesXFEM4U.py, en el zip9 ejemplos para empezar: estructuras de acero, una placa de hormigón, una escalera de caracol, un emparrillado de cimentación, una celosía, un puente, una esfera y un árbol de Navidad.
  • Manual (PDF, en inglés)El manual muestra cinco de ellos, con imágenes del resultado.

Formación

Ofrecemos formación en Python bajo petición.

Pregúntanos por una formación

En nuestros boletines

  • XFEM4U - Python(en inglés) · La biblioteca, simplificada y ampliada, con el manual, los ejemplos y tres pasos para empezar.
  • Adjustments and rearrangement of rates(en inglés) · Python sigue en Premium 2D + 3D; la entrada paramétrica desde Excel está en Basic.
  • Adjustments and rearrangement of rates(en inglés) · El modelado paramétrico con Python pasa a la nueva licencia Premium 2D + 3D.
  • Trainings(en inglés) · La formación en diseño paramétrico con Excel y Python.
  • Thank you!!(en inglés) · Un árbol de Navidad, generado con Python.
  • Struct4U NL Academy Parametric Design with Excel and Python(en inglés) · Diseño paramétrico con Python o con Excel: para qué sirve cada uno.
  • XFrame2D(en inglés) · El enlace XML de XFrame2D con Excel y Python, ampliado.
  • Open day 24 May 2024(en inglés) · Una charla sobre diseño paramétrico en Python y Excel, con Speckle.
  • Last year / Preview coming year(en inglés) · Generar modelos complejos con Python, en el repaso de 2023.
7Preguntas

Preguntas frecuentes

01¿Con qué programas funciona?

XFEM4U y XFrame2D admiten entrada paramétrica desde Python. Struct4U.py, su manual y los ejemplos crean modelos de XFEM4U; para XFrame2D, pregúntanos cómo empezar.

02¿Qué necesito?

XFEM4U en Windows, Python con un editor como Visual Studio Code o PyCharm, y el zip de esta página: añade Struct4U.py a tu proyecto y empieza por ExamplesXFEM4U.py.

03¿Qué licencia necesito?

Python viene con la licencia Premium 2D + 3D, 2688 € al año para un usuario, o está incluido con el pago por uso. La entrada paramétrica desde Excel, con XSpreadsheets, ya está en Basic 2D.

04¿Cómo llega el modelo a XFEM4U?

Save2XFEM4U escribe el modelo como archivo XML en tu carpeta temporal y, mediante DirectCommands, le pide a XFEM4U que lo abra. Abre XFEM4U o cambia a su ventana, y ahí está el modelo.

05¿Importa el orden de las llamadas?

Sí. Struct4U.py comprueba lo que añades sobre la marcha: una barra solo puede usar nudos y un perfil que ya existan, y una carga necesita su hipótesis. Cada método devuelve el número que ha creado, o -1 si falla.

06¿Hay formación?

Sí, ofrecemos formación en Python bajo petición. Ponte en contacto con nosotros.

Crea tu próximo modelo desde código.

Descarga Struct4U.py con su manual y sus ejemplos, y XFEM4U gratis. Regístrate en el programa y recibe 100 € de crédito de pago por uso como regalo de bienvenida.