MatrixFrame MXML protocol

MXML Documentation

MXML is an XML format for bi-directional data exchange with MatrixFrame, enabling specific calculation processes. It facilitates:

  • Data for the calculation model (input)
  • Instructions for activating calculation processes
  • Data containing the calculation results (output)

Creating MXML Files

To create an MXML file, use the "Save as" function to save your calculation model not as a *.MXF but as a *.MXML file. MXML files may contain more information than necessary for API calculations. Below are examples of MXML files with essential variables and explanations within comment lines (<!—remarks—>).

Basic Structure

The <mxf> root element encapsulates all content within an MXML document, housing various child elements detailed below.


Nodes are defined within the <nodes>...</nodes> segment, representing points in space where members meet or forces are applied.

<n id="..." x="..." y="..." z="..."/>

Each node is identified by a unique 'id' and spatial coordinates 'x', 'y', and 'z'.


Structural elements like beams or columns are defined within the <members>...</members> segment.

<m id="..." nb="..." ne="..." s="..."/>

Each member is identified by 'id', with 'nb' and 'ne' denoting start and end nodes, and 's' indicating the section or member type.


Supports are defined within the <supports>...</supports> segment, detailing each support's unique ID, fixity/flexibility ('ffs'), and location ('placement').

<sup id="..." ffs="..." placement="..."/>

The 'ffs' attribute specifies fixity/flexibility in the format X|Y|Z|MX|MY|MZ, with values indicating fixed ('F'), free ('0'), or spring value in N/m or Nm/rad ('>0').

Load Cases and Loads

Load cases are defined within the <lcases>...</lcases> segment, with each case described by an 'id', description ('descr'), and type. Loads applied to the structure are detailed in the <loads>...</loads> segment.

<ld id="..." lc="..." t="..." d="..." val="..." pos="..."/>

Each load is identified by 'id', associated with a load case ('lc'), with attributes for type ('t'), direction ('d'), value ('val'), and position ('pos').

MatrixFrame 2D grillage:

MatrixFrame 2D/3D Frames:

  • 2D: To be added
  • 3D: To be added


  • To be added

Additional explanation

In the MXML comment lines, reference is made to the following chapters in this knowledge base for a number of topics: