Parametrisch modelleren · Python
Python: bouw je modellen vanuit code
Schrijf een script, voer het uit, en XFEM4U opent het model. Struct4U.py, onze Python-bibliotheek, genereert knopen, opleggingen, profielen, staven, platen, belastingen en combinaties: bijna alles wat je in XFEM4U kunt doen, kun je ook in Python doen. Ook XFrame2D neemt parametrische invoer uit Python aan.
PYPython→XFEM4U · XFrame2D
python2xfem4u.zip, 15 kB: Struct4U.py en ExamplesXFEM4U.py. Handleiding: pdf, 19 pagina’s, 1,7 MB. Beide bijgewerkt op 14 maart 2025.

Het model komt in XFEM4U via DirectCommands, waarmee ook Excel XFEM4U en XFrame2D opent.
Schrijf een script. Voer het uit. Daar is je model.
Wees niet bang en probeer het gewoon: in no-time ben je bekend met de functies.
- 1
Schrijf je script
In een Python-ontwikkelomgeving naar keuze, zoals Visual Studio Code of PyCharm. Zet Struct4U.py in het project en begin met ExamplesXFEM4U.py.
- 2
Voer het uit
Struct4U.py bouwt het model en geeft het door aan XFEM4U. ExamplesXFEM4U.py vraagt eerst welk voorbeeld je wilt zien.
- 3
XFEM4U opent het
Start XFEM4U of klik erop, en daar is je model: klaar om te rekenen, te toetsen en te rapporteren.
Methodenamen zoals in Struct4U.py. De klasse heet XFEMF4U, met een F, zoals in de voorbeelden van de handleiding.
Van knopen tot combinaties.
Struct4U.py heeft een methode voor elk onderdeel van het model. De handleiding beschrijft ze allemaal, met hun parameters.
Project en geometrie
XFEMF4U- Het model zelf: omschrijving, projectnummer, gevolgklasse (CC1, CC2 of CC3) en ontwerplevensduur.
AddGrid- Stramienen, geschreven zoals in XFEM4U: "0 4x3000 2000".
AddNode- Knopen, met hun coördinaten, met een oplegging als je er een opgeeft. Op coördinaten die al bezet zijn, krijg je die knoop terug.
AddSupport- Opleggingen: ingeklemd, scharnierend, een rol in X, Y of Z, een scharnier, of een eigen oplegging per richting, met veren.
Profielen, staven en platen
AddSteelProfile- Staalprofielen: een naam uit de bibliotheek van XFEM4U, of een eigen vorm (H, U, T, RHS, CHS, L en meer).
AddConcreteProfile- Betonprofielen: sterkteklasse C12/15 tot C90/105, vormen S1 tot S20.
AddBeam- Liggers en kolommen, met randvoorwaarden aan de uiteinden (ingeklemd, scharnierend of alleen trek), zijdelingse steunen, een rotatie en een excentriciteit.
AddPlate- Platen op een veelhoek van knopen, met een materiaal, een dikte en een excentriciteit.
AddPanel- Belastingvelden op een veelhoek van knopen: de draagrichting (alle, X of Y) en het soort vlak (wand, plat dak, lessenaarsdak of zadeldak …).
Belastingen en combinaties
AddCase- Belastinggevallen: permanent, veranderlijk (categorie A tot H), sneeuw, wind, temperatuur, imperfectie en meer, met hun ψ-factoren.
AddNodeLoad- Krachten en momenten op een knoop.
AddBeamLoadQAddBeamLoadFAddBeamLoadM- Verdeelde belastingen, puntlasten en momenten op een staaf.
AddSurfaceLoad- Vlakbelastingen: constant, lineair, of uit een waterhoogte.
AddCombination- Combinaties van maximaal vijf belastinggevallen: UGT, BGT, quasi-blijvend, blijvend of frequent.
Geef nummer 0 op en Struct4U.py nummert het onderdeel voor je. Elke methode geeft het nummer terug dat ze heeft gemaakt, of -1 als het mislukt.
Code uit de handleiding, pagina 10 en 11; de laatste regel zoals in ExamplesXFEM4U.py.
Een wenteltrap, uit één lus.
Uit de handleiding: een stalen wenteltrap rond een middenkolom. Elke ronde van de lus zet een trede, de belasting erop en de boom naar de trede eronder; twee slagen van 15 treden geven 31 treden.
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")
De namen zijn die van de handleiding: optrede is de optrede van een trede, ltrede de lengte van een trede, ntrede360 het aantal treden per slag, nspil het aantal slagen. Lengtes in mm, belastingen in kN. Weggelaten bij # …: de stramienen en de belastinggevallen, een lijnlast op elke trede, en de combinaties.

Gemaakt met Python.
Modellen uit de handleiding en onze nieuwsbrieven, elk gegenereerd door een script en geopend in XFEM4U.







In de woorden van onze nieuwsbrieven van juni 2024 en januari 2025.
Python of XSpreadsheets?
Twee manieren om een model uit parameters te bouwen. Wat bij je past, hangt af van wat je bouwt, en of je graag programmeert.
XSpreadsheets · Excel
- Kant-en-klare modules in een Excel-werkmap: vul de getallen in en open het model.
- De meest voorkomende 2D én 3D constructies genereer je er snel mee.
- Veel constructeurs vinden programmeren in Python toch wat ingewikkeld. Excel daarentegen kennen ze natuurlijk goed.
- Parametrische invoer vanuit Excel zit in elke licentie, vanaf Basic 2D.
Python · Struct4U.py
- Je eigen script, met de methodes van Struct4U.py.
- Je kunt de wereld aan, en de meest ingewikkelde 2D én 3D constructies genereren.
- Met Python kun je nog zoveel meer: parametriseren, maar ook een ingewikkeld deel van je constructie genereren.
- De Premium 2D + 3D-licentie, of inbegrepen bij betalen per gebruik.
De nieuwsbrieven zijn in het Nederlands en het Engels.
Handleiding, voorbeelden en training.
Handleiding
Vragen
01Met welke programma’s werkt het?
XFEM4U en XFrame2D nemen allebei parametrische invoer uit Python aan. Struct4U.py, de handleiding en de voorbeelden bouwen XFEM4U-modellen; vraag ons hoe je met XFrame2D begint.
02Wat heb ik nodig?
XFEM4U op Windows, Python met een ontwikkelomgeving zoals Visual Studio Code of PyCharm, en de zip op deze pagina: zet Struct4U.py in je project en begin met ExamplesXFEM4U.py.
03Welke licentie heb ik nodig?
Python hoort bij de Premium 2D + 3D-licentie, € 2.688 per jaar voor één gebruiker, of is inbegrepen bij betalen per gebruik. Parametrische invoer vanuit Excel, met XSpreadsheets, zit al in Basic 2D.
04Hoe komt het model in XFEM4U?
Save2XFEM4U schrijft het model als XML-bestand naar je tijdelijke map en vraagt XFEM4U, via DirectCommands, om het te openen. Start XFEM4U of klik erop, en het model staat er.
05Maakt de volgorde van de aanroepen uit?
Ja. Struct4U.py controleert je invoer terwijl je die toevoegt: een staaf kan alleen knopen en een profiel gebruiken die al bestaan, en een belasting heeft haar belastinggeval nodig. Een methode geeft het nummer terug dat ze heeft gemaakt, of -1 als het mislukt.
06Kan ik een training krijgen?
Ja, een training in Python is op aanvraag mogelijk. Neem contact met ons op.
Bouw je volgende model vanuit code.
Download Struct4U.py met de handleiding en de voorbeelden, en XFEM4U gratis. Registreer je in het programma en krijg € 100 rekentegoed als welkomstcadeau.