Note: These instructions apply for OpenSim versions 3.x


We provide the doxygen online for each release of OpenSim. The version corresponding to the most recent release can be found at We also archive previous versions of the doxygen. For example, the 2.4 doxygen can be found at You can also generate the doxygen yourself from the OpenSim source code using the following steps.

Install Doxygen

The doxygen, which documents the OpenSim API, can be built locally using the doxygen installation. 'Pretty' equations and some image rendering require latex, dvips and ghostscript. Without these additional three packages, doxygen will still build but your compiler (e.g., Visual Studio), but will generate errors during the build process.


Install PackageDescription
Doxygen Primary installation to turn .h file files into html files. Can either download the installer or clone from github.
Latex and Dvips Latex generates rendered equations that are easier to read and interpret. Latex and dvips are installed through the protext | TeXStudio distribution (protext is very large ~2Gb). Protext installer can install a number of packages, the TeXstudio install puts latex and dvips on system path.
GhostscriptGhostscript does some further rendering of pictures and text. Download and install the gs914w32.exe distro


If Doxygen is installed correctly the cmake target DOXYGEN_EXECUTABLE value will be the path to your doxygen.exe 

Generate and Explore the Doxygen Documentation

  1. Doxygen documentation is generated by right clicking on the doxygen project in your compiler (Visual Studio) and selecting "Build".
  2. A set of html files will be built in the folder "html" in your OpenSim build directory. Navigate to this folder and double click on "index.html" to view the main landing page.
  3. Explore the Class List and Class Hierarchy using the navigation pane on the left. You can also search Doxygen using the box in the top right.

Adding to and Updating Doxygen

  • The doxygen comments that appear in the html file for each class are generated from a classes header file. 
  • The best way to get oriented to doxygen is to review some examples. Some well documented classes include:
    • ModelComponent
    • MuscleCurveFunctionFactor
  • If you update the doxygen comments for a class, rebuild the "doxygen" target to check that there are no errors and your documentation appears as expected. 
  • The doxygen manual also provides information about the available commands and usage:
  • Doxygen only generates documentation from .h files, not .cpp files.
  • Convention for figures: fig_CLASSNAME_FIGNAME