You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 11 Next »

Scripting Environments

OpenSim's scripting capabilities allows users to:
  • Instantiate and run tools from setup files or programmatically 
  • Perform batch processing of common workflows (e.g., inverse kinematics, computed muscle control, EMG-driven simulation).
  • Utilize the OpenSim API without the overhead of learning to program in C++ and setting up a development environment
  • Access a limited subset of Simbody multibody calculations.
  • Access to the OpenSim API to create and simulate models 
  • Use the Simbody visualizer


However, not all of OpenSim's functionality is available through scripting.
  • In general, cannot create new component (e.g., a custom muscle; though there are some exceptions).
  • Cannot create plugins for use through the GUI or command-line.
  • Not all Simbody classes are available.
  • In this mode, there’s no access to OpenSim's plotter (use Matlab/Python native plotter) or visualizer (use the Simbody visualizer).
  • Some internal SimTK classes (that belong to the SimTK namespace and simbody internals) are not available for construction, but the most commonly used classes are available (SimTK::Vec3, Vector, Mat33, State, Inertia).


You can access OpenSim scripting through
  1. Matlab
  2. Python
  3. The scripting shell in the OpenSim GUI (which is a Jython interpreter embedded in the application)
  4. A Jython interpreter.


The sections below outline how to get started with scripting and describe the available functionality.