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.

3 Answers 3


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.

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

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
  • Thanks for the suggestion. But Blender seems too heavyweight for me, given its learning curve. Anyways, +1 for the suggestion.
    – shivams
    Jun 19, 2015 at 16:12

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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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