There are softwares like Solidworks and Inventor in which we can design mechanisms but we provide exact numerical values for the links.

Is their any software in which we can provide some variables/parameters as link lengths during the design process? And then we can assign some numerical values to these parameters and change them to see how its design changes.

The software should, preferably, be open-source and should work on Linux. However, other non-free Windows alternatives are also welcome.


You could try Blender which with python scripting can allow you to parameterise portions of the design, animate and with the physics engine test your designs to an extent.

  • Free & Open Source
  • Full 3D modelling
  • Cross Platform including Linux
  • Import & Export various CAD formats
  • Scriptable in python
| improve this answer | |
  • Thanks for the suggestion. But Blender seems too heavyweight for me, given its learning curve. Anyways, +1 for the suggestion. – shivams Jun 19 '15 at 16:12

The two main options are OpenSCAD and FreeCAD. Both are parametrizables but in different way: OpenSCAD has a domain specific programming language while FreeCAD leverages an interactive approach. This video highlights these differences.

| improve this answer | |
  • 1
    Good suggestions. I've recently used FreeCAD and it was really good for this purpose. – shivams Sep 6 '17 at 3:41

Looking around, I found SimMechanics from MathWorks. It seems like the ideal tool for this purpose as it has been designed exactly for these engineering needs.

In SimMechanics, we can design various parts and assign parameters/variables to them which can be changed later on. To quote from their home page:

You can parameterize your models using MATLAB® variables and expressions, and design control systems for your multibody system in Simulink®.

SimMechanics (usually comes with Matlab) runs on Linux, OSX and Windows. But it is not open-source and free. I will search for some open-source alternatives and update my answer.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.