Programming API for SIMION

SIMION Programming API - This is the reference documentation on the various SIMION programming libraries for Lua, C++, Perl, and Python programming languages. It consists of a number of parts.

Lua Reference Manual

This is the Lua 5.1 Reference Manual, which documents the Lua language itself, the C API, and the core Lua libraries.

Additional general Lua documentation is available at ( In particular, the book “Programming in Lua” or “Beginning Lua Programming” is highly recommended as a general introduction to Lua. The former is more condensed, focuses largely on only the Lua core itself, and is the more official text (very high quality). The latter is larger, broader in scope, a bit more verbose (being oriented more toward beginning programmers–hence the title), and covers third-party libraries and Lua use in practice much more broadly.

Workbench Programs

See the “User Programming” appendix of the SIMION User Manual for details on the workbench user program segments, core functions, and general programming background.

See Workbench Program Extensions in SIMION 8.1 for new reserved variables and segments added in SIMION 8.1.

SIMION Core Libraries

The SIMION core library contains SIMION functions and objects exposed to Lua, such as for controlling various aspects of SIMION from Lua.

SIMION Extension Libraries

The functionality in these libraries is more extensive and experimental (subject to change in minor 8.0.x versions) than the SIMION Core Libraries. They are used in various SIMION examples.

SIMION SL Libraries

These are libraries for a variety of programming languages, not necessarily Lua (but rather C++, Perl, and Python) for manipulating SIMION potential arrays. The SL Libraries were originally from the SL Toolkit but are now included in SIMION 8.

The SL Libraries – C++, Perl, and Python libraries for manipulating potential arrays (not currently available in Lua).

Other Lua Libraries

These are third-party Lua libraries included with SIMION:

Warning: online docs might describe a newer version.


Other Programming Topics