OpenSCAD in a classroom


by Mario Parade -

In the last school year, I initiated the 3D print workshop at the Montessori School in Potsdam. One of the common problems is which method can be used in the classroom to create 3D objects. In the subsequent 3d-print there are several good open source programs in which the print can be prepared. We use some Ultimaker² 3D printers in combination with the control program Cura (It is available for all popular platforms and relatively simple to set up). That should not be a problem.

For the 3D modeling often Tinkercad is selected as an entry point. In my case, i use very often parametric 3D modeling to "program" 3D models. Thats why i choose OpenSCAD. It was an experiment to use this approach immediately in the course. a big benefit is: OpenSCAD is available for all platforms and can then also be used as an open-source software at home. This is a part our School-Strategy switching to free available software in more and more working areas. but this is another story.

This includes the question: do we need manuals, to learn something new ? the idea behind is:

more than you want you need to dig into manuals to find the right information. Especially in the beginning when the first learning success is there and new things to be tried. If new programs or programming languages ​​should be learned, it can be useful that all of the basics fit on single-page the so-called Cheat Sheets. Our experience has shown a large part of projects can be realized with the reduced and compressed list of instructions on this single sheet of paper.


A good resource for this is After a test-period last year, we now begin to develop our own cheat sheets to use this as a tool in the classroom.

In OpenSCAD 3D models are programmed, the language-syntax is modeled on Javascript or Processing. This means that the basic structures are similar to the Arduino language.

Basic geometric shapes are created in space and linked. It is important that a spatial thinking is trained in a 3D dimensional coordinate system and complicated structures based on simple geometrical objects.

It's the same principle of any 3D modeling program. OpenSCAD offers a lot of commands. We have decided to restrict the amount of available commands. We need exactly seven:

  • Cube - creates a cuboid
  • Cylinder - creates a cylinder
  • Sphere - creates a sphere
  • Translate - moves an object
  • Rotate - rotate an object
  • Union - merges objects
  • difference - an object is subtracted from the other

Objects from everyday life should then be designed with these commands. Ultimately, I was surprised by the success of how quickly objects are created without any experience and then printed.

The setting of my class in this case is something special (not every day). I work in a so-called inclusion school. The scenario is up to 1/3 of my students are disabled persons. In the present case, this ranges from severe spasticity through to autism. Teaching is not a problem, we are working in small groups according to the skill-sharing principle.

The courses will be continued next year with two special background: "repair things with your own style" / "creating a school lab from the scratch"