Skip to main content

Projection

project() takes 3D geometry (faces, edges) and projects it onto your current sketch plane. This is useful for creating features that follow the shape of existing geometry.

Projecting a face

const e = extrude(30)

sketch(e.endFaces(), () => {
project(e.endFaces()) // project the face outline onto the sketch
offset(-5, true) // shrink it inward by 5
})

cut(10) // cut a pocket that follows the shape

This projects the outline of the top face onto the sketch. Combined with offset(), it's a common way to create shell-like features or inset pockets that match an existing profile.

Projecting edges

You can also project specific edges:

sketch(e.endFaces(), () => {
project(e.endEdges()) // project just the edges
})

Multiple sources

Pass multiple objects to project them all at once:

sketch("xy", () => {
project(face1, face2, edge1)
})