Documentation
Build your first useful model
From an empty editor to a printable, parametric part in five minutes.
1. Open the editor
Go to New design. The code is on one side, the viewer and the parameters on the other. The editor starts with a box with a hole; you will replace it.
2. Start with the base shape
// A mounting plate
param width: float = 40 [20:100] "Width (mm)"
param depth: float = 30 [15:80] "Depth (mm)"
param thickness: float = 3 [1.5:8:0.5] "Thickness (mm)"
param corner_r: float = 3 [0:10] "Corner radius (mm)"
// A rounded rectangle: the hull of four corner cylinders
hull {
translate(corner_r, corner_r, 0) cylinder(h: thickness, r: corner_r)
translate(width - corner_r, corner_r, 0) cylinder(h: thickness, r: corner_r)
translate(corner_r, depth - corner_r, 0) cylinder(h: thickness, r: corner_r)
translate(width - corner_r, depth - corner_r, 0) cylinder(h: thickness, r: corner_r)
}The code runs by itself after a pause in typing. A rounded plate appears in the viewer, and the four param lines have become sliders. Move one.
3. Add mounting holes
param hole_r: float = 2 [1:5:0.5] "Hole radius (mm)"
param hole_inset: float = 5 [3:15] "Hole inset (mm)"
difference {
// The plate from above, now the first child of the difference
hull {
translate(corner_r, corner_r, 0) cylinder(h: thickness, r: corner_r)
translate(width - corner_r, corner_r, 0) cylinder(h: thickness, r: corner_r)
translate(corner_r, depth - corner_r, 0) cylinder(h: thickness, r: corner_r)
translate(width - corner_r, depth - corner_r, 0) cylinder(h: thickness, r: corner_r)
}
// Four mounting holes, a little longer than the plate so they cut through
for (x in [hole_inset, width - hole_inset]) {
for (y in [hole_inset, depth - hole_inset]) {
translate(x, y, -0.5)
cylinder(h: thickness + 1, r: hole_r)
}
}
}A difference keeps its first child and takes every later child away from it. The holes start half a millimetre under the plate and run a millimetre longer than it is thick, so the cut goes clean through; a cut that ends exactly on a face leaves a skin. Move the inset slider to bring the holes toward the edges.
4. Export and print
Press Download STL under the editor and open the file in your slicer. Every dimension is in millimetres, which is what a slicer expects; nothing needs converting.
5. Save and share
Sign in and save the design to get a short address. Anyone with the link opens the model, moves the sliders and downloads an STL of their own, with no account needed. Until you save, the draft stays in this browser.