File Exchange

image thumbnail

CAD to MATLAB to Simscape Multibody

version (15.8 MB) by

Export a CAD assembly to a MATLAB data structure and import into a Simscape Multibody model.



View License

This file contains data2smixml(), which is MATLAB code that converts a MATLAB data structure into a Simscape Multibody model. A macro written in Visual Basic extracts CAD assembly information from a SolidWorks assembly into a specific MATLAB data structure. That MATLAB data structure is converted to a Simscape Multibody XML file using the MATLAB function data2smixml(). The resulting Simscape Multibody XML file can be imported into a Simscape Multibody model using smimport().
A Visual Basic macro is provided to show an algorithm for extracting data from a CAD assembly. Assemblies in SolidWorks, Wildfire, Creo (formerly Pro/Engineer), and Inventor can be exported to a SimMechanics XML file using Simscape Multibody Link. If you are using another CAD system, this example can help you write a macro for your CAD system.
Please read the README.txt file to get started.
Watch this video to see how Simscape Multibody Link works

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

To learn more about MathWorks Simscape Products, go to:

Comments and Ratings (5)

Hi Steve,

Thanks for sharing your great work. I was wondering if we could extend your approach to Catia assemblies (CATProduct) as there is no added value to reproduce the model in Simscape multibody.

Thanks for giving me some clues.



Johann Wiens

Johann Wiens


Dale (view profile)


Sergey (view profile)


Updated license


Updated for R2016a (SimMechanics renamed Simscape Multibody).

MATLAB Release
MATLAB 9.0 (R2016a)

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video