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.

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
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
Ejecútalo
Struct4U.py crea el modelo y se lo pasa a XFEM4U. ExamplesXFEM4U.py te pregunta primero qué ejemplo quieres ver.
- 3
XFEM4U lo abre
Abre XFEM4U o cambia a su ventana, y ahí está tu modelo: listo para calcular, comprobar y generar la memoria.
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.
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.

Hecho con Python.
Modelos del manual y de nuestros boletines, cada uno generado por un script y abierto en XFEM4U.







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.
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.
Los boletines están en inglés y neerlandés; enlazamos la versión inglesa.
Manual, ejemplos y formación.
Manual
En nuestros boletines
- XFEM4U - Python(en inglés)
- Adjustments and rearrangement of rates(en inglés)
- Adjustments and rearrangement of rates(en inglés)
- Trainings(en inglés)
- Thank you!!(en inglés)
- Struct4U NL Academy Parametric Design with Excel and Python(en inglés)
- XFrame2D(en inglés)
- Open day 24 May 2024(en inglés)
- Last year / Preview coming year(en inglés)
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.