Gratis downloaden

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.

XFEM4U, perspectief: een buisvormige vakwerkbrug die een Python-script heeft gegenereerd, getekend als lijnen met knopen.
Fig. 1Een brug uit een script: een buis van 1.312 staven en 672 knopen, geopend in XFEM4U. Een van de voorbeelden uit de handleiding, geïnspireerd op de Netkous-brug in Rotterdam.
1Zo werkt het

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. 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. 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. 3

    XFEM4U opent het

    Start XFEM4U of klik erop, en daar is je model: klaar om te rekenen, te toetsen en te rapporteren.

2Functies

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.

3Voorbeeld

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.

Geometrie in XFEM4U van de wenteltrap die dit script maakt: een buisvormige middenkolom, treden van rechthoekige kokers en een boom die er twee keer omheen draait.
Fig. 2Het model dat het script maakt: 62 staven en 64 knopen. Uit de handleiding, pagina 10.
5Vergelijk

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.
XSpreadsheets

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.
6Verder

De nieuwsbrieven zijn in het Nederlands en het Engels.

Handleiding, voorbeelden en training.

Handleiding

Voorbeelden

  • ExamplesXFEM4U.py, in de zip9 voorbeelden om mee te beginnen: staalconstructies, een betonplaat, een wenteltrap, een funderingsbalkrooster, een vakwerkligger, een brug, een bol en een kerstboom.
  • Handleiding (pdf)De handleiding toont er vijf, met afbeeldingen van het resultaat.

Training

Een training in Python is op aanvraag mogelijk.

Vraag ons naar een training

In onze nieuwsbrieven

7FAQ

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.