[{"data":1,"prerenderedAt":278},["ShallowReactive",2],{"copy:tools-common:en":3,"copy:tools-python:en":64,"python:newsletters:en":232},{"software":4,"breadcrumb":5,"priceList":6,"exVat":7,"fig":8,"fromManual":9,"slides":10,"english":17,"download":18,"explore":19,"opensNewTab":20,"tiers":21,"materials":25,"annexNames":31,"licence":39,"mobileBar":61},"Software","Breadcrumb","Price list {month}","excl. VAT","Fig.","Screenshot from the manual.",{"carousel":11,"prev":12,"next":13,"pause":14,"play":15,"position":16},"carousel","Previous picture","Next picture","Pause the slideshow","Play the slideshow","Picture {n} of {total}","(English)","Download","Explore","opens in a new tab",{"basic2d":22,"advanced":23,"premium":24},"Basic 2D","Advanced 2D + 3D","Premium",{"steel":26,"concrete":27,"timber":28,"masonry":29,"geo":30},"Steel","Concrete","Timber","Masonry","Geotechnics",{"nl":32,"be":33,"uk":34,"de":35,"it":36,"es":37,"pt":38},"Netherlands","Belgium","United Kingdom","Germany","Italy","Spain","Portugal",{"title":40,"ppu":41,"perHour":42,"perYear":43,"billed":44,"or":45,"included":46,"note2d":47,"note3d":48,"premium":49,"wordAddIn":50,"welcome":51,"compare":52,"spreadsheetTitle":53,"spreadsheetFree":54,"spreadsheetRuns":55,"spreadsheetTier":56,"premiumIn":57,"premiumNote":58,"ppuIncluded":59,"ppuRuns":60},"Licence","pay-per-use","\u002Fhour","\u002Fyear","Billed per minute. Never more than {cap} per computer per calendar year, all programs together.","or","Included in {tier}","Single user, on up to 2 workstations. Also in Advanced and Premium.","Single user. Includes XBeam2D, XFrame2D, XConstruct and XSpreadsheets.","Premium ({premium}\u002Fyear) adds IDEA StatiCa export, Tekla import, DXF export and Python, plus priority support. Pay-per-use includes those features too.","The Word add-in is included, with pay-per-use and with every licence.","Download free. Register in the program and get {credit} of pay-per-use credit as a welcome gift.","Compare pay-per-use and licences","Price","Free download","The models run in XFrame2D ({hourly2d}\u002Fhour) or XFEM4U ({hourly3d}\u002Fhour) on pay-per-use, billed per minute.","Or in your licence: XSpreadsheets counts in the 2D tier, from Basic 2D at {basic}\u002Fyear.","Included in Premium 2D + 3D","Single user, on up to 2 workstations. Everything in Advanced 2D + 3D, plus IDEA StatiCa export, Tekla import, DXF export and priority support.","Included with pay-per-use","You pay for the program that calculates the model: XFEM4U at {hourly3d}\u002Fhour or XFrame2D at {hourly2d}\u002Fhour, billed per minute.",{"download":62,"pricing":63},"Download free","Pricing",{"seo":65,"crumb":68,"kicker":69,"h1":70,"lead":71,"downloadZip":72,"manualPdf":73,"fileLine":74,"hero":75,"how":78,"functions":92,"example":116,"gallery":124,"compare":150,"learn":169,"faqLabel":201,"faqTitle":202,"faq":203,"notes":222,"close":228,"schemaDescription":231},{"title":66,"description":67},"Python: build XFEM4U models from code · Struct4U","Struct4U.py, our Python library, builds XFEM4U models from a script: nodes, beams, plates, loads and combinations. Free, with a manual and examples.","Python","Parametric modelling · Python","Python: build your models from code","Write a script, run it, and XFEM4U opens the model. Struct4U.py, our Python library, generates nodes, supports, profiles, beams, plates, loads and combinations: almost everything you can do in XFEM4U, you can also do in Python. XFrame2D takes parametric input from Python too.","Download Struct4U.py (.zip)","Manual (PDF)","{zip}, {kb} kB: Struct4U.py and ExamplesXFEM4U.py. Manual: PDF, {pages} pages, {mb} MB. Both updated {date}.",{"alt":76,"caption":77},"XFEM4U, perspective view: a tube-shaped lattice bridge generated by a Python script, drawn as lines with nodes.","A bridge from a script: a tube of 1,312 beams and 672 nodes, opened in XFEM4U. One of the manual’s examples, inspired by the “Netkous” bridge in Rotterdam.",{"label":79,"title":80,"lead":81,"steps":82},"How it works","Write a script. Run it. There is your model.","Don’t be afraid, just try it: in no time you will know your way around the functions.",[83,86,89],{"title":84,"text":85},"Write your script","In a Python editor of your choice, such as Visual Studio Code or PyCharm. Add Struct4U.py to the project and start from ExamplesXFEM4U.py.",{"title":87,"text":88},"Run it","Struct4U.py builds the model and hands it to XFEM4U. ExamplesXFEM4U.py first asks which example you want to see.",{"title":90,"text":91},"XFEM4U opens it","Start or switch to XFEM4U, and there is your model: ready to calculate, check and report.",{"label":93,"title":94,"lead":95,"groups":96,"rows":100,"after":115},"Functions","From nodes to load combinations.","Struct4U.py has a method for each part of the model. The manual describes every one, with its parameters.",{"model":97,"members":98,"loads":99},"Project and geometry","Profiles, members and plates","Loads and combinations",{"model":101,"grid":102,"node":103,"support":104,"steel":105,"concrete":106,"beam":107,"plate":108,"panel":109,"case":110,"nodeLoad":111,"beamLoads":112,"surfaceLoad":113,"combination":114},"The model itself: description, project number, consequence class (CC1, CC2 or CC3) and design working life.","Grid lines, written as in XFEM4U: \"0 4x3000 2000\".","Nodes, by their coordinates, with a support if you give one. At coordinates already taken, you get that node back.","Supports: fixed, pinned, a roller in X, Y or Z, a hinge, or your own per direction, with springs.","Steel profiles: a name from XFEM4U’s library, or a shape of your own (H, U, T, RHS, CHS, L and more).","Concrete profiles: grades C12\u002F15 to C90\u002F105, shapes S1 to S20.","Beams and columns, with end restraints (fixed, hinged or tension only), lateral supports, a rotation and an offset.","Plates on a polygon of nodes, with a material, a thickness and an offset.","Load panels on a polygon of nodes: the load-bearing direction (all, X or Y) and the surface type (wall, flat roof, mono-pitch or duo-pitch roof …).","Load cases: permanent, imposed (categories A to H), snow, wind, temperature, imperfection and more, with their ψ factors.","Forces and moments on a node.","Distributed loads, point loads and moments on a beam.","Surface loads: constant, linear, or from a water height.","Combinations of up to five load cases: ULS, SLS, quasi-permanent, permanent or frequent.","Give number 0 and Struct4U.py numbers the part for you. Each method returns the number it made, or -1 when it fails.",{"label":117,"title":118,"lead":119,"codeLabel":120,"legend":121,"alt":122,"caption":123},"Example","A spiral staircase, from one loop.","From the manual: a steel spiral staircase around a central column. Each pass of the loop adds a step, its load and the stringer to the step below; two turns of 15 steps give 31 steps.","Python code of the spiral staircase","The Dutch names are the manual’s: optrede is the rise of a step, ltrede the length of a step, ntrede360 the steps per turn, nspil the number of turns. Lengths in mm, loads in kN. Left out at # …: the grid and the load cases, a line load on each step, and the combinations.","XFEM4U geometry view of the spiral staircase this script makes: a central tube column, steps of rectangular hollow section and a stringer that winds around it twice.","The model the script makes: 62 beams and 64 nodes. From the manual, page 10.",{"label":125,"title":126,"lead":127,"figs":128},"Gallery","Made with Python.","Models from the manual and our newsletters, each generated by a script and opened in XFEM4U.",{"bridgeAxis":129,"grid":132,"gridReactions":135,"truss":138,"trussDisplacements":141,"stairsLoads":144,"tree":147},{"alt":130,"caption":131},"XFEM4U: the lattice bridge seen along its axis, a tube of crossing beams.","The bridge again, seen along its axis.",{"alt":133,"caption":134},"XFEM4U: a concrete beam grid with panels, carrying a surface load of 5.5 kN\u002Fm², a line load of 20 kN\u002Fm and point loads of 50 and 60 kN.","A foundation beam grid on piles, with a surface load, a line load and point loads. Dutch interface.",{"alt":136,"caption":137},"XFEM4U: the same beam grid after the calculation, with the reactions in kN.","The same grid, calculated: the reactions in kN.",{"alt":139,"caption":140},"XFEM4U: geometry of a curved truss of round tubes with three chords, 24,000 mm long and 800 mm wide.","A truss with a camber of 300 mm: three chords of round tube, 24 m long.",{"alt":142,"caption":143},"XFEM4U: displacements of the curved truss from a geometrically non-linear analysis, coloured from 0 to 3.0 mm.","Its displacements, from a geometrically non-linear analysis: at most 3.0 mm.",{"alt":145,"caption":146},"XFEM4U: line model of the spiral staircase with line loads of 5 to 12 kN\u002Fm on the steps and point loads of 10 kN, in the permanent load case.","The spiral staircase with its loads: 5 to 12 kN\u002Fm on each step and 10 kN at its end. Dutch interface.",{"alt":148,"caption":149},"XFEM4U: a Christmas tree with a star on top, built from nodes and members.","For the holidays of 2024: a Christmas tree, generated with Python.",{"label":151,"title":152,"lead":153,"excel":154,"python":162},"Compare","Python or XSpreadsheets?","Two ways to build a model from parameters. Which suits you depends on what you build, and on whether you like to program.",{"title":155,"items":156,"link":161},"XSpreadsheets · Excel",[157,158,159,160],"Ready-made modules in an Excel workbook: fill in the numbers and open the model.","Quickly generates the most common 2D and 3D structures.","Many structural engineers find programming in Python rather complicated. Excel, on the other hand, they know well.","Parametric input from Excel is in every licence, from Basic 2D.","XSpreadsheets",{"title":163,"items":164},"Python · Struct4U.py",[165,166,167,168],"Your own script, with the methods of Struct4U.py.","Take on anything, and generate the most complex 2D and 3D structures.","With Python you can do so much more: parametrise, but also generate a complicated part of your structure.","The Premium 2D + 3D licence, or included with pay-per-use.",{"label":170,"title":171,"manual":172,"examples":180,"training":185,"newsletters":189},"Learn","Manual, examples and training.",{"title":173,"pdf":174,"pdfMeta":175,"page":176,"pageMeta":177,"buildingPy":178,"buildingPyMeta":179},"Manual","How to generate a XFEM4U model using Python","PDF · {pages} pages · {mb} MB","Parametric design with Python","XFEM4U manual: DirectCommands, and an example with BuildingPy","BuildingPy on GitHub","An open-source Python library: besides XFEM4U, it sends models to Speckle, and from there to Revit.",{"title":181,"zip":182,"zipMeta":183,"manualMeta":184},"Examples","ExamplesXFEM4U.py, in the zip","{examples} examples to start from: steel structures, a concrete plate, a spiral staircase, a foundation grid, a truss, a bridge, a sphere and a Christmas tree.","The manual prints five of them, with pictures of the result.",{"title":186,"text":187,"link":188},"Training","Python training is available on request.","Ask us about a training",{"title":190,"notes":191},"In our newsletters",{"2024-11-21-xfem4u-python":192,"2026-08-16-adjustments-and-rearrangement-of-rates":193,"2025-08-20-adjustments-and-rearrangement-of-rates":194,"2025-01-28-trainingen":195,"2024-12-18-thank-you":196,"2024-06-12-struct4u-nl-academy-parametrisch-ontwerp-met-excel-en-py":197,"2024-06-09-xframe2d":198,"2024-05-15-open-dag-24-mei-2024":199,"2023-12-29-last-year-preview-coming-year":200},"The library, simplified and extended, with the manual, the examples and three steps to start.","Python stays in Premium 2D + 3D; parametric input from Excel is in Basic.","Parametric modelling with Python joins the new Premium 2D + 3D licence.","The training in parametric design with Excel and Python.","A Christmas tree, generated with Python.","Parametric design with Python or with Excel: what each one is for.","XFrame2D’s XML link with Excel and Python, extended.","A talk on parametric design in Python and Excel, with Speckle.","Generating complex models with Python, in the review of 2023.","FAQ","Questions",[204,207,210,213,216,219],{"q":205,"a":206},"Which programs does it work with?","XFEM4U and XFrame2D both take parametric input from Python. Struct4U.py, its manual and the examples build XFEM4U models; for XFrame2D, ask us how to start.",{"q":208,"a":209},"What do I need?","XFEM4U on Windows, Python with an editor such as Visual Studio Code or PyCharm, and the zip on this page: add Struct4U.py to your project and start from ExamplesXFEM4U.py.",{"q":211,"a":212},"Which licence do I need?","Python comes with the Premium 2D + 3D licence, {premium} a year for a single user, or is included with pay-per-use. Parametric input from Excel, with XSpreadsheets, is already in Basic 2D.",{"q":214,"a":215},"How does the model get into XFEM4U?","Save2XFEM4U writes the model as an XML file to your temporary folder and tells XFEM4U, through DirectCommands, to open it. Start or switch to XFEM4U and the model is there.",{"q":217,"a":218},"Does the order of the calls matter?","Yes. Struct4U.py checks your input as you add it: a beam can only use nodes and a profile that already exist, and a load needs its load case. A method returns the number it made, or -1 when it fails.",{"q":220,"a":221},"Can I get a training?","Yes, Python training is available on request. Contact us.",{"how":223,"functions":224,"example":225,"compare":226,"newsletters":227},"The model reaches XFEM4U through DirectCommands, which also lets Excel open XFEM4U and XFrame2D.","Method names as in Struct4U.py. The class is XFEMF4U, with an F, as in the manual’s examples.","Code from the manual, pages 10 and 11; the last line as in ExamplesXFEM4U.py.","In the words of our newsletters of June 2024 and January 2025.","The newsletters are in English and Dutch.",{"title":229,"text":230},"Build your next model from code.","Download Struct4U.py with its manual and examples, and XFEM4U free. Register in the program and get {credit} of pay-per-use credit as a welcome gift.","Struct4U.py, a Python library that builds XFEM4U models from a script: nodes, supports, profiles, beams, plates, load panels, loads, load cases and combinations.",[233,239,244,248,253,258,263,268,273],{"slug":234,"date":235,"title":236,"lang":237,"path":238},"2024-11-21-xfem4u-python","2024-11-21","XFEM4U - Python","en","\u002Fnewsletters\u002F2024-11-21-xfem4u-python\u002F",{"slug":240,"date":241,"title":242,"lang":237,"path":243},"2026-08-16-adjustments-and-rearrangement-of-rates","2026-08-16","Adjustments and rearrangement of rates","\u002Fnewsletters\u002F2026-08-16-adjustments-and-rearrangement-of-rates\u002F",{"slug":245,"date":246,"title":242,"lang":237,"path":247},"2025-08-20-adjustments-and-rearrangement-of-rates","2025-08-20","\u002Fnewsletters\u002F2025-08-20-adjustments-and-rearrangement-of-rates\u002F",{"slug":249,"date":250,"title":251,"lang":237,"path":252},"2025-01-28-trainingen","2025-01-28","Trainings","\u002Fnewsletters\u002F2025-01-28-trainingen\u002F",{"slug":254,"date":255,"title":256,"lang":237,"path":257},"2024-12-18-thank-you","2024-12-18","Thank you!!","\u002Fnewsletters\u002F2024-12-18-thank-you\u002F",{"slug":259,"date":260,"title":261,"lang":237,"path":262},"2024-06-12-struct4u-nl-academy-parametrisch-ontwerp-met-excel-en-py","2024-06-12","Struct4U NL Academy Parametric Design with Excel and Python","\u002Fnewsletters\u002F2024-06-12-struct4u-nl-academy-parametrisch-ontwerp-met-excel-en-py\u002F",{"slug":264,"date":265,"title":266,"lang":237,"path":267},"2024-06-09-xframe2d","2024-06-09","XFrame2D","\u002Fnewsletters\u002F2024-06-09-xframe2d\u002F",{"slug":269,"date":270,"title":271,"lang":237,"path":272},"2024-05-15-open-dag-24-mei-2024","2024-05-15","Open day 24 May 2024","\u002Fnewsletters\u002F2024-05-15-open-dag-24-mei-2024\u002F",{"slug":274,"date":275,"title":276,"lang":237,"path":277},"2023-12-29-last-year-preview-coming-year","2023-12-29","Last year \u002F Preview coming year","\u002Fnewsletters\u002F2023-12-29-last-year-preview-coming-year\u002F",1792702115436]