File Exchange

image thumbnail

Simscape Multibody Parts Library

version (10.2 MB) by Steve Miller
Parameterized parts for Simscape Multibody, with gear assemblies and MATLAB code for extrusions


Updated 24 Jun 2020

GitHub view license on GitHub

This set of examples shows you how to create parameterized parts for Simscape Multibody and example MATLAB scripts for defining general extrusions. The parts have been used in a wide range of examples to show how these blocks enable you to rapidly model mechanisms. Within the library are a set of gear assemblies. The parameterized gear assemblies group the required blocks together and parameterize them so that frames are always positioned and oriented correctly.

Please read the README.txt file to get started.

Use the download button to get files compatible with the latest release of MATLAB.
Use the links below to get files compatible with earlier releases of MATLAB.

For R2019b:
For R2019a:
For R2018b:
For R2018a:
For R2017b:
For R2017a:
For R2016a:
For R2013a:

To see how to defining bodies in Simscape Multibody, watch this video (5 min):

To learn more about multibody simulation with Simscape Multibody, please watch this webinar:

To find other Simscape examples, search for posts with the keyword "physical modeling"

To learn more about MathWorks Simscape Products, go to:

Cite As

Steve Miller (2020). Simscape Multibody Parts Library (, GitHub. Retrieved .

Comments and Ratings (8)

Steve Miller

Thanks Daniel. I considered adding the number of points as an optional parameter for Extr_Data_Ring. I decided to keep the list of parameters as short as possible, and hopefully the code is clear enough for people to extend it. Now that I have seen that this is necessary for some use cases, I'll consider adding it for all Extr_Data_* scripts that include arcs. Thanks for the feedback.

Steve, I mostly use the Contact Forces Library, but I noticed that the ring extrusion script is used here. Anyway, the visualization of the ring extrusion is clocked every degree which is probably okay in many cases, but I found the need to have the visualization of rings have more refinement. I've gone in and modified the Extr_Data_Ring script to divide the arc into 1000 divisions so it works for me, but I thought I'd throw it out there as a suggestion to refine the angular spacing of rings. (BTW, I've also noticed that visualizations of solid bodies using the Simscape Multibody "Solid" block are similarly coarse.)


Hi Steve,
I'm a bit new to Simulink, how do I get your excellent libraries to get into the standard simulink Library browser?




See release notes for this release on GitHub:

See release notes for this release on GitHub:

Connected to GitHub repository

Added links to download files compatible with earlier MATLAB releases.

Added R2019a version.

Added R2018b version.

Added pulley part and extrusion script; added example Three Connected Pulleys; added example Cable-Driven XY Table with Cross Base.

Adjusted sm_lead_screw_actuator_torque.slx and sm_lead_screw_friction.slx to represent a more common use of a lead screw. No change to library or extrusion data scripts.

Added R2017b version with cone part and extrusion script, and a sphere part.

Added parameter "Relative Position (B to F)" to Rod part. Permits changing direction of rod without rewiring diagram.
Useful in symmetrical opposing mechanisms, such as crossbars on a scissor lift.

Added extrusion script for conical frustum (cone), parameterized cone part, parameterized sphere part.

Fixed broken link.

Added R17a version. Absorbed Simscape Multibody Gearset Library, updated extrusion scripts, added many examples.

Updated license

Fixed broken hyperlink in submission description.

Added version for R2016a, including a few small fixes to the extrusion scripts.

Fixed webinar link.

Updated link to video in "Description" field. No changes to files in submission.

Updated for R2013a. Added examples and extrusion scripts for gears.

Added scripts to create gears (external and internal), as well as a planetary gear and rack-and-pinion models.

MATLAB Release Compatibility
Created with R2020a
Compatible with any release
Platform Compatibility
Windows macOS Linux