Introduction to the API

FEM-Design comes with an application programming interface (API) which can be used for parametric design and task automation. The API for FEM-Design is based on the extensible markup language (XML: and allows FEM-Design users to communicate and command FEM-Design via XML.

XML is a common markup language used to store and communicate data. XML files can be generated and/or modified using a variety of different programming languages (e.g. Python, C#, VBA, C++). Moreover, existing XML files can be used as templates without any modification.

In order to facilitate the generation of .struxml and .fdscript files as well as execution of commands in FEM-Design we offer a set of API functionality for C#, Python, Revit/Dynamo as well as Rhino/Grasshopper. The API project is open source and can be found on GitHub.

The API is built up by two distinct purpose types of XML-files:

  • StruXML (.struxml filename extension) which is used to store object data such as geometry and loads of the model. StruXML is also the format used to exchange models with Revit and Tekla.
  • FdScript (.fdscript filename extension) which is used to execute commands such as running analysis and exporting results.

In other words the StruXML file is a representation of the FEM-Design model and the FdScript file contains all commands to execute on the model (StruXML-file).

Learn about C#, Python, Dynamo and Grasshopper

Customer cases

  • Customer cases - to be added

Need support?

Disclaimer: All example files, wrappers and documentation are for illustrative and educational purposes and may not interact with FEM-Design in a reliable way depending on your version, installation and content of the files. Furthermore, StruSoft won´t guarantee full support of the API functions since they are customizable by the customer.

Tags: API
Copyright 2022 StruSoft AB
FEM-Design Wiki