OpenSCAD examples
Learn one modeling idea at a time. Start with a useful part, inspect the geometry, then change a parameter and make it your own.
Start here
A guided route from your first solid to reliable boolean operations.
22 of 22 lessons
Practical parts
Parametric Mounting Plate
Make a useful first part by subtracting four clearance holes from a rounded plate.
Low compile complexity. Four cylinders and one 2D offset; a good first compile.
Open lessonFoundations
Primitives
Recognize the three basic solids and understand where their origins sit.
Low compile complexity. Three independent primitives; final sphere tessellation adds triangles.
Open lessonFoundations
2D Plate Profile
Build a planar profile and export SVG before adding any height.
Low compile complexity. Planar boolean only; use SVG, not STL.
Open lessonFoundations
From Profile to Solid
Reuse a 2D module inside linear_extrude to make a slotted solid.
Low compile complexity. One planar boolean followed by a straight extrusion.
Open lessonFoundations
Transform Order
See why rotating then translating is not the same as translating then rotating.
Low compile complexity. Transforms are inexpensive; no curved surfaces are needed.
Open lessonFoundations
Boolean Operations
Compare union, difference, and intersection using genuinely separate child solids.
Medium compile complexity. Three curved booleans; difference should visibly differ from both neighbors.
Open lessonProfiles & patterns
For Loop Grid
Generate many related solids from two loop variables and a height formula.
Low compile complexity. Cost grows with rows × columns × facet count.
Open lessonPractical parts
Hex Bolt
Encapsulate a dimensioned hex head in a reusable module.
Low compile complexity. Two overlapping cylinders; the head intentionally has six facets.
Open lessonPractical parts
Gusseted Angle Bracket
Combine orthogonal plates, gussets, and oriented hole cutters.
Medium compile complexity. Straight profiles and three through-holes; no expensive smoothing.
Open lessonPractical parts
Open Cable Clip
Use a subtractive channel and opening to form a cable-retaining clip.
Medium compile complexity. Two cylindrical booleans and an opening; moderate facet count suffices.
Open lessonPractical parts
Enclosure, Lid & Screw Bosses
Design mating parts using shared dimensions and an explicit fit clearance.
Medium compile complexity. Two parts, eight holes, and a locating rim; export separately for fabrication.
Open lessonProfiles & patterns
Vase (rotate_extrude)
Revolve a closed wall cross-section around Z without crossing the axis.
Medium compile complexity. One rotational sweep; increasing $fn multiplies every profile edge.
Open lessonProfiles & patterns
Parametric Star
Generate polygon vertices with a list comprehension and twist the extrusion.
Medium compile complexity. Triangles scale with star points and extrusion slices.
Open lessonAdvanced geometry
Rounded Box (minkowski)
Compare full 3D edge rounding with a cheaper 2D rounded-profile extrusion.
High compile complexity. 3D Minkowski is costly. Use the 2D option for fast iteration.
Open lessonPractical parts
Coffee Mug
Combine a hollow body with a capsule-ring handle without filling its opening.
Medium compile complexity. Two hulls and a hollow cylinder; curved booleans dominate.
Open lessonPractical parts
Phone Stand
Build an angled support that survives ground-plane clipping with its intended height.
Low compile complexity. One 2D rounded base and two slabs; clipping should not shorten the backrest.
Open lessonPractical parts
Embossed Text Badge
Extrude font outlines into raised lettering that overlaps its base.
Medium compile complexity. Text requires bundled font support; detailed glyph outlines increase cost.
Open lessonAdvanced geometry
Helical Thread & Matching Cap
Construct a real sampled helical ridge and subtract a clearance-adjusted mating thread.
High compile complexity. Helical polyhedra and internal thread subtraction are expensive; preview uses fewer samples.
Open lessonPractical parts
42 mm Grid Organizer
Lay out useful compartments on a fixed pitch while keeping walls, floor, and outside clearance independent.
Low compile complexity. A rounded shell and straight dividers; cost stays modest across the allowed grid sizes.
Open lessonPractical parts
SVG-Imported Badge
Import a real project SVG asset, scale its outline, and use it as raised or engraved geometry.
Medium compile complexity. Imports a small bundled SVG; complex replacement paths can increase boolean cost.
Open lessonPractical parts
2D Laser-Cut Vent Panel
Generate a true 2D cutting profile with mounting holes, ventilation slots, and optional measured kerf compensation.
Low compile complexity. Only 2D circles, hulls, and offsets. SVG/DXF export avoids 3D tessellation.
Open lessonAdvanced geometry
BOSL2 Involute Gear Pair
Use actual involute gears with matching tooth module, calculated center distance, and the correct rotation ratio.
High compile complexity. Loads bundled BOSL2 and constructs involute profiles; use draft quality while changing counts.
Open lessonCompile complexity is a relative guide, not a time estimate. Final renders use more detail than previews. These are learning models: verify dimensions, clearances, materials, and intended use before fabrication.