Guide Overview

OpenSim enables users to create computer models of the musculoskeletal system and create dynamic simulations of movement. Individuals who read this guide and complete the associated examples will learn advanced programming features of OpenSim. Completing the exercises will enable you to create simulations, analyze simulations, and add new functionality to the software.

This guide summarizes the tools and capabilities of OpenSim available to the C++ programmer. It includes 3 sections:

  1. Getting Started as a Developer describes some basic technical background, the prerequisites to build and run the examples in the chapters to follow, and a step-by-step example
  2. C++ API Examples try the OpenSim API Examples
  3. SimTK Basics provides some background on SimTK


For more information on OpenSim, visit the OpenSim project site at The project site provides a forum for users to ask questions and share expertise, as well as many other resources.


This guide is recommended for those who desire in-depth knowledge of musculoskeletal modeling and simulation with OpenSim and wish to use the Application Programming Interface (API) to create or contribute novel models or algorithms not currently supported by the OpenSim application. Programming experience in C++ will help you complete the exercises.