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.

New to OpenSCAD? Follow the interactive six-lesson beginner tutorial: edit each exercise, render it in 3D, and check your answer, all locally in your browser. Then practice with guided examples 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.

How-to guides

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