OpenSCAD is an open source 3D modelling programme that works with text/code rather than a clickable interface. It is also called 'The Programmers Solid 3D CAD Modeller'. This programme is great for programmers and those who want to create parametric designs.

Download OpenSCAD for free here: (Try OpenSCAD with a python interface here:

For those who are more familiar with 3D modelling programmes such as Rhino, Fusion 360, or FreeCAD, the interface used by OpenSCAD might feel a little daunting at first. However, with some knowledge of mathematics and programming and the cheat sheet, you can start designing models straight away. If you'd like a little more information before you start, you can find the documentation here:

The editor window on the left holds the code. OpenSCAD compiles this code in order to display the object you've created. You can view your object in the viewport, the large window on the right (top). Unlike in other 3D modelling software, it is not possible to edit the object in the viewport. The viewport is only designed for viewing, but making edits to the object is done purely in the editor window. Finally, the console window (bottom right) shows status information, warnings, and errors. This window is useful for debugging your code.

OpenSCAD has two options for showing the object generated by the code: Preview and Render.
Preview quickly shows you what the object you've created looks like.
Render, on the other hand, shows the finished version of the object which you can then export as an stl file, ready for printing.

OpenSCAD is an excellent application for creating parametric designs because it can work with variables in the code. Usually, you will find these variables at the start of the code text. Users can easily change the values of these variables and then render the object. This allows them to create an object to their exact specifications.

The OpenSCAD interface has the possibility of adding another interface layer so that Python can be used as the OpenSCAD programming language. This opens up some opportunities in terms of code exchangeability between different software packages and true programming capabilities. The Blender/Sverchok and Rhino/Grasshopper combinations also have interfaces in some form or other. The use of python may add another avenue of possibility to parametric design. You can already use OpenSCAD with the python interface enabled here:

  • software/openscad.txt
  • Last modified: 2019/02/04 16:33
  • by kvriet