OpenSCAD Tools

OpenSCAD is a free, code-based CAD tool: you describe a solid model with a short script, and changing a number regenerates the part. That makes it well suited to parametric parts for 3D printing, laser cutting, and customizable designs.

Start in the browser playground, which runs OpenSCAD locally in your browser. Then learn by editing a guided example and keep the cheatsheet open while you work.

Choose a starting point

What do you want to make?

Each lesson opens an editable model ready to export.

Common OpenSCAD patterns

Three building blocks behind most models. See the OpenSCAD cheatsheet for more.

Drill a hole with difference()

difference() {
  cube([40, 30, 5]);
  translate([20, 15, -1]) cylinder(h = 7, d = 8, $fn = 48);
}

Reusable part with a module

module peg(h = 10, d = 6) cylinder(h = h, d = d, $fn = 32);
for (x = [0 : 10 : 40]) translate([x, 0, 0]) peg(h = 5 + x / 4);

Extrude a 2D profile

linear_extrude(height = 10)
  offset(r = 3) square([30, 20]);

Official documentation and libraries

FAQ