Skip to main content

KOALA - Grasshopper plugin for SCIA Engineer

Koala is a Grasshopper component to connect Grasshopper with SCIA Engineer for parametric/generative design.
It takes Grasshopper geometry and produces a SCIA Engineer XML with the corresponding data.



  • Straight segments, circle arcs with beam rotations and layers
  • Flat or curved surfaces with 3 to 4 edges
  • Complex plane surfaces, including complex openings
  • Hinges
  • Node supports, edge supports
  • Line loads, free loads on surfaces
  • Mesh size definition
  • Batch-mode: ability to run an analysis and get results through "esa_xml.exe"
  • And more…

See our webinar below how to use Koala in your projects



  1. Download attached zip file.
  2. Unblock downloaded zip file and extract it.
  3. Input *.gha definitions from extracted folder to folder with Grasshopper Add-ons.
  4. Open the Grasshopper and feel free to connect any geometry you want to the Koala component.
  5. Set up the input fields (file paths, etc) of the component according to your system
  6. Make sure that the koala.xml.def file is in the same folder as the generated XML file to ensure proper import
  7. In SCIA Engineer, use Main menu > File > Update from > XML file or Main menu > File > Open from > XML file

Versions history

  • v1.1
    • added support for circle arcs
  • v1.2
    • working on built-in XML.DEF file
  • v1.3
    • added support for esa_xml.exe with end supports + SW
    • added support for LCS definition by Z vectors
  • v2
    • reorganized code into multiple components for more flexibility
    • added support for multiple sections and layers
    • extended handling of supports
  • v2.1
    • improved error detection for esa_xml.exe
    • separated running the analysis from creating the XML file
    • now supports different number of layers, sections, z vectors than beams
    • fixed error with "Type Process not defined" when trying to run esa_xml.exe on some machines
  • v2.11
    • fixed bug when the number of layers, sections, z vectors was higher or the same as the number of beams
  • v2.2
    • load cases (& groups)
    • simple line loads
    • simple hinges
  • v2.3
    • all standard steel profiles
    • full slab geometry, incl. openings
  • v2.31
    • global "tolerance" parameter, used for duplicate node removal and to check the planarity of opening curves
  • v2.4
    • line support on surface & opening edges
    • selection of project type, materials
    • surface loads (incl different coordinate systems & projections)
    • free loads (point, line, surface)
    • mesh size for 2D elements
  • v2.5
    • streamlined the KoalaBeams component to flexibly accept segments, circle arcs as geometry input
    • fixed free line & surface loads when SCIA Engineer's UI is set to Dutch, French, German
    • nodes (for specific cases where no beams or shells should be created)
    • more robust support for curved shells (sorting order of edges) - shells still need to have max 4 edges, meaning that exploding them to faces does help.
  • v3.0
    • reorganized components
    • created "native" Grasshopper components
  • v3.1
    • Added component for definition of linear combinations
    • Added component for definition of non-linear combination
    • Added component for definition of gap beam local non-linearity
    • Added component for definition of limit force beam local non-linearity
    • Added component for definition of pressure / tension only beam local non-linearity
    • Added component for cross-link
    • Added component for point load on structural node
    • Added component for point load on beam
    • Enhanced properties of beam element
      • type
      • FEM type
      • eccentricity
      • definition of axis
    • Added component for definition of stability combination
    • Added support of all concrete cross-section
    • Added support of selected timber cross-section
    • Enhanced of line load on beam
      • definition of position on edge - relative x absolute
      • trapezoidal shape
    • Add component for line load on surface edge
  • v3.2
    • Restructured components - no need to define drop-down list menus - these are parts of components
    • Enhanced properties of nodal support
      • Angle for definition of support rotation
    • Enhanced properties of 2D member
      • Added possibility to define nonlinear type of 2D member - membrane/2D pressure only
      • Added rotation of LCS
      • Added possibility to swap surface
    • Added possibility to define flexible & non-linear constrain condition for nodal as well as line support
  • v3.3
    • Various fixes and stabilizations
    • Autogeneration of xml.def file, which is generated in the same directory and with same name as xml file.
  • v3.4
    • Fixed issue with layers - added a new component for the definition of layers. Defined layers can be used in components of surfaces and beams.
    • Added description field in component for nonlinear combination
  • v3.5
    • Components of beam and 2D members - changed behavior of components to respect list inputs for properties
    • Point load on beam - Added option to define distance between forces
  • v3.6
    • Components for Analysis - changed format of output file - now is possible to get document in xml, txt, rtf, dds and xlsx
    • Definition of thickness for 2D member - now is possible to define constant as well as variable thickness
    • Point load on point - added definition of the rotation angle
    • Support for circular slabs
  • v3.7
    • Definition of degrees of freedom for supports
    • Definition of flexible stiffness for supports
    • Naming of the openings - added prefix for name of the opening
    • Component for definition of beam line support
    • Component for definition of nodal support on beam
    • Component for definition of subsoil
    • Component for definition of surface support
  • v3.8
    • Component for definition of load panels
    • Fixed definition of curve for free line load
    • Fixed definition of polygon for free surface load
  • v3.9
    • Component for definition of point moment
    • Component for definition of free point moment
    • Component for definition of line moment
    • Added validity for all free loads
    • Added option to save SCIA Engineer project after calculation
    • Component for definition of nonlinear functions
    • Added option to use nonlinear function for supports
  • v3.10
    • Added component for beam internal nodes
    • Added component for internal edge of slab
    • Added component for cable element
    • Added component for Rigid arm
    • Added algorithm to remove duplicity nodes on the level of whole model
    • Modified edge line load and edge moment load to take into account internal edge
    • Load panels fix
    • Fixed typos and issue with material for 2D member
    • Fix of thickness issue
  • v3.11
    • Added component for thermal load on beam
    • Added component for thermal load on surface
    • Added component for line hinge
    • Small fixes

If you would like to contribute to the development, don't hesitate to contact us.

Below you can find as well the source code of Koala, every component is built in a separate visual basics file.