Shapes & operations
The pure CAD primitives and operations. Stack them, combine them, and the rest of the design follows.
Preview: this cheatsheet is still in development and the content hasn't been independently verified.
The pure CAD primitives and operations. Stack them, combine them, and the rest of the design follows.
The starting shapes for almost any design. Name them and you skip a lot of guessing.

A six-sided block. Width, depth, height in millimetres.

A ball. Specify radius or diameter, not both.

A tube or rod. Say hollow if you mean a pipe.

Tapers from a circle to a point. Truncated if it ends in a smaller circle.

A donut. Give the ring radius and the tube radius.

A triangular prism. Ramps, brackets, and gussets start here.

Tapers from a polygon to a point. Square base by default.

A custom mesh from points and faces. Last resort when nothing else fits.
The pure CAD primitives and operations. Stack them, combine them, and the rest of the design follows.
Leave your email and we'll let you know when the booklet ships.
A pocket referencePlain words for asking AI to build the parts you want, the right way on the first try.
Every craft has its words. Carpenters say rabbet; knitters say purl; mechanics say chamfer. When you use the right word, the listener stops guessing and starts building.
AI is the same. Ask for "a thingy with a hole" and you get a shrug in 3D. Ask for "an M3 counterbore on a 5 mm wall" and you get a part. This little book is the words.
It works for GrandpaCAD. It also works for any other AI tool that generates 3D models or CAD code, because the vocabulary is the same: a fillet is a fillet whether the underlying engine is JSCAD, OpenSCAD, Fusion, or a sculpting model.
The pure CAD building blocks. Primitives, transformations, booleans, and edge or face features: the moves every modeller strings together.
Functional features, holes, fits, fasteners, joints, motion hardware, hot ends, electronics, gridfinity, and the filaments they print in. Hardware your design has to fit around.
How to describe a part so the model builds it: dimensions, references, multi-step builds, iteration. Then export and slicer vocabulary for getting it onto a bed.
Read it cover-to-cover or jump to the page you need. Either way, keep it within arm's reach.
For Grandpa Franc, who built me things.
The pure CAD primitives and operations. Stack them, combine them, and the rest of the design follows.
The starting shapes for almost any design. Name them and you skip a lot of guessing.

A six-sided block. Width, depth, height in millimetres.

A ball. Specify radius or diameter, not both.

A tube or rod. Say hollow if you mean a pipe.

Tapers from a circle to a point. Truncated if it ends in a smaller circle.

A donut. Give the ring radius and the tube radius.

A triangular prism. Ramps, brackets, and gussets start here.

Tapers from a polygon to a point. Square base by default.

A custom mesh from points and faces. Last resort when nothing else fits.
How to move, turn, and reshape something that already exists. These compose, so order matters.

Move along X (left/right), Y (front/back), or Z (up/down).

Spin around an axis. Degrees unless you say otherwise.

Resize uniformly or per axis. Per-axis turns a sphere into an ellipsoid.

Reflect across a plane. Good for symmetric parts.

Duplicate along a vector. Count and spacing, not "a few".

Duplicate around an axis. Count and the full sweep angle.

Grow or shrink a shape outward by a fixed distance. Inflates or deflates a profile in place.

Snap one face, edge, or corner to another. Removes the math from "centre on top".
Combine simple shapes to make complex ones. Most CAD models are booleans all the way down.

Fuse two shapes into one solid. Overlapping volume becomes a single body.

Subtract one shape from another. The way you make holes and cutouts.

Keep only the overlapping volume. Useful for trimming to a bounding shape.

Wrap a tight skin around a set of shapes. Quick organic blends.
Detail operations. These are what make a part look intentional instead of blocky.

A flat cut on an edge, usually 45°. Eases insertion and breaks sharp corners.

A rounded edge. Stronger than a sharp corner, friendlier to touch.

Hollow a solid, leaving walls of a given thickness.

Pull a 2D profile into 3D. The fastest path from sketch to volume.

Spin a 2D profile around an axis. Bottles, knobs, and vases come from here.

Blend between two or more profiles. Smoothly changes cross-section.

Drag a profile along a path. Pipes, handles, and grooves.

Slant a face by a few degrees. Helps prints release from supports.
How shapes turn into something printable: features, mating geometry, and the hardware your design has to fit around.
Named shapes you add to a part to make it work: mounting, stiffness, sealing, or grip. Reach for them by name and the geometry follows.

Cylindrical protrusion with a hole, usually for a screw or heat-set insert. The "where parts bolt together" feature.

A thin reinforcing fin running along a surface. Stops a flat plate from flexing without doubling the wall thickness.

Rectangular cavity in a solid. Cable channels, captive nuts, lightening holes.

An edge that overhangs the wall below. The rim on a container, the mounting plate on a motor.

Triangular brace between two perpendicular surfaces. Stiffens a wall without much material.

Threaded pillar that holds something at a distance. Hex outside, M3 inside is most common.

Unthreaded sleeve that sets distance between two parts. The screw passes straight through.

Textured grip pattern on a cylindrical surface. Thumb screws and adjustment knobs use it so fingers don't slip.
Five ways to put a name, number, or icon on a printed part. Pick by depth and whether you need a second colour.

Letters rise ~1mm above the surface. Cleanest to print and easiest to read. The default when one colour is fine.

Letters cut ~1mm into the surface. Robust against wear and scuffing, the go-to for serial numbers and stamped marks.

Pocket refilled with a second filament at the exact same height. Needs an MMU or a manual colour swap. Reads like a printed sticker.

Letters cut all the way through the plate. Perfect for signage that lets light through. Closed loops like "O" or "A" need a bridge or they fall out.

Print a plate with a text-shaped pocket and the letters as a separate piece. Glue them in a contrasting colour. Single-extruder friendly.
Not all holes are equal. The right name avoids a redesign cycle later.

Naming the layers makes the prompt unambiguous: "M3 clearance, 6mm counterbore, 3mm deep".

Goes all the way through the part.

Stops at a depth. Say "blind, 8mm deep".

Cone-shaped recess so a flat-head screw sits flush. The chamfer angle matches the screw head (usually 90°).

Cylindrical recess so a socket-head cap drops below the surface. Call the diameter and depth.

Shallow counterbore that flattens a rough surface for a washer or bolt head to seat.

Sized so a screw passes freely without engaging threads. Typically 0.2–0.5mm wider than nominal.

Undersized hole for a self-tapping screw to cut threads into. Slightly smaller than the screw's nominal diameter.

Has internal threads. Call out the size (e.g. M6). Printing usable threads is size-dependent: M2–M3 strips or blobs (skip it); M4–M5 holds light loads at 0.12mm layers, print the screw and nut vertically; M6–M8 is reliable at 0.16–0.20mm; M10+ and custom trapezoidal or ACME work for clamps and vise grips.

An elongated hole with rounded ends. Length and width, not just diameter.
How tight or loose two parts go together. Values are clearance on diameter for an average FDM printer; halve them when you offset per side in CAD.

Shaft is slightly bigger than the hole; needs a press or a mallet. Permanent: bearings, dowel pins. FDM: −0.1 to +0.1 mm on diameter. Add a chamfered lead-in so the shaft starts straight.

Assembles with light hand pressure (snug, but removable). Battery doors, sensor mounts, removable caps. FDM: +0.1 to +0.2 mm on diameter.

Slides without wobble. Drawer rails, pistons, sliding lids. FDM: +0.3 to +0.5 mm on diameter (≈ 0.15–0.25 mm per side).

Rotates or moves with a visible gap. Hinge pins, axles, bolt clearance holes. FDM: +0.5 to +0.8 mm on diameter.

Easy assembly with room to spare. Cable pass-throughs, decorative covers, snap-on caps. FDM: +0.7 to +1.0 mm on diameter.
Scan for the live tolerance & fit calculator. FDM, SLA, and SLS values per fit type, scaled to your nominal dimension.
Screws and bolts you'll actually use on a printed project. Naming the head saves the redesign.

Pointing at the right part of the bolt tells the model which hardware to clear room for.

ISO 4762 / DIN 912. The "M3×8" default in most printed projects.

ISO 7380. Lower profile than cap, same hex socket.

ISO 10642 / DIN 7991. Sits flush in a chamfered hole.

Headless, threaded full length. Holds shafts to pulleys.

Cuts its own thread as it drives. For printed parts, leave the pilot hole a touch smaller than the screw's nominal diameter.
Knurled head, tightened by hand. Good for tool-free assembly.
How you get a thread into printed plastic. Get the technique right and the screw holds for years.

DIN 934 / ISO 4032. The default unless you say square or T-nut.

Captive in a square pocket. Good when the back is unreachable.

Drops into 2020 / 3030 aluminium extrusion slots.

Soldering iron melts it into a printed boss. Strongest option for repeated screw use.

Pressed in cold. Knurled outside grips the plastic.

A hex pocket printed into the part. Drop a standard nut in, screw from the other side.

Tightened by hand. Good for parts that get opened often.
Scan for tap drill, clearance hole, and heat-set pilot sizes from M2 to M16, plus head dimensions for socket caps.
How printed parts attach to each other. These hold up without glue when the geometry is right.

Specify each piece and the model gets the deflection right. Beam thickness sets stiffness; lead-in sets ease of assembly.

A thin strip (0.3–0.6mm) that flexes thousands of cycles. Orient layer lines across the hinge, never along it.

Hole slightly smaller than the shaft. About 0.1mm interference for FDM. Add a chamfer to both parts.

A tab on one part drops into a slot on another. Cleanest joint for flat panels. Lock with glue or a screw.

Trapezoidal profile that slides together. Self-aligning and captures one axis. Use 7–10° flare.

Spherical ball in a partial socket. Print the socket about 0.3mm larger so the ball rotates freely.

L-shaped slot. Push in, twist 90° to lock. The standard lid joint when threads are overkill.
Library modules that snap, slide, or twist printed parts together. Drop them into a design and you've got a building system.

Two leaves with alternating fingers (knuckles) that wrap around a steel pin. Print both leaves flat, slide a 1.75mm filament offcut through as the pin. 4mm knuckles print cleanly without supports.

A pin that pushes into a socket and clicks in place. The pin tip is split into four flexible petals that squeeze together on entry, then spring back behind a rim inside the socket. No screws needed.

Two discs with matching radial teeth that lock together when clamped. Tighten a bolt through the centre; loosen and re-clock to set a new angle in fixed increments (15°, 30°). Used for adjustable arms and joints.

A flexible arm with a hook that catches on a lip. Press the tab and the hook lifts free. The everyday way to keep a printed lid closed without screws. 3mm arm thickness flexes thousands of times before fatiguing.

90° L-bracket with mounting holes on both faces. Joins two panels at a right angle. Add a triangular gusset web on the inside if the load reaches kilograms.
Off-the-shelf parts that show up in nearly every printer build. Reference them by size and the rest of the part designs itself.

Skateboard bearing, 8 × 22 × 7mm. Spinners, idlers, friction-fit pulleys.

5 × 16 × 5 and 4 × 13 × 5. The small idlers you'll see in printer kits.

Recirculating ball bearing on an 8mm smooth rod. The standard linear-motion part.

Chromed steel shaft, usually 8mm. Linear bearings glide on it.

42.3mm face, 5mm shaft. Mounting holes on a 31mm square pattern. Say "NEMA 17 mount" and the holes line up.

20 × 20mm cross-section with a 6mm T-slot. The skeleton of most printer frames.

12mm rail with an MGN12H carriage. Stiffer and quieter than smooth-rod motion.

8mm OD, 20mm tall compression spring. The yellow ones under most i3-style beds.
The parts that turn motor rotation into linear motion. Name them by tooth count and pitch and the kit lines up.


2mm pitch toothed belt. 6mm wide is standard, 9mm for heavier carriages. Loop length matters; open belt is cut to size.

Bearing with a GT2-toothed face. Reverses belt direction without the belt slipping on the wheel.

Flanged bearing with a plain face. Used where the back of the belt rides the wheel.

Printed block with a serrated slot that grips a GT2 belt by its teeth. Print the slot teeth at the same 2mm pitch as the belt, pinch with two M3 screws.

Threaded rod built to drive a brass nut up and down. What separates it from a regular threaded rod is the steep trapezoidal thread and the lead: a 4-start T8 lifts 8mm per turn, ideal for Z-axes. Reach for it when something needs to move, not just fasten.

The mating nut for a T8 leadscrew. Bolts to a printed carriage on a 22mm flange pattern and turns leadscrew rotation into carriage motion. Anti-backlash variant has a sprung second nut for play-free positioning.

Slotted aluminium tube that joins a 5mm motor shaft to an 8mm leadscrew. The cut slots flex to absorb misalignment so the screw doesn't bind.
The boards, fans, and switches that need a printed home. Each has a fixed hole pattern: name the part and the holes follow.

Printed pillar with an M3 heat-set or self-tap hole. State height, hole pattern, and whether the head sinks into a counterbore.

58 × 49mm M2.5 hole pattern. Say "Pi 4 mount" or "Pi 3 mount" (the patterns differ).

M3 holes on the Arduino Mega footprint. Carries Ramps 1.4 control boards used in older printer builds.

M3 hole patterns for BTT SKR Mini E3 or MKS Gen-L. Name the board revision; pinouts and mounting moved between versions.

40 × 40 × 10mm. M3 holes on a 32mm square pattern. The hot-end cooling default.

50 × 50 × 15mm centrifugal fan. Two M3 mounts and a rectangular outlet. The part-cooling default.

Omron D2F endstop. 6 × 12.8mm body, two M2 holes 9.5mm apart. Used for X / Y / Z homing.

128 × 64 printer display with rotary encoder. Standard panel cut-out is roughly 150 × 75mm.
A 42mm modular tray system. The real power is custom cutouts: print a bin shaped exactly for the tool it holds, then drop it on the baseplate.

Tray with 42mm-pitch recesses that grip the chamfered foot of every bin. Bolt it to a drawer bottom and every bin has a home.

The 42 × 42 × 21mm base unit. NopSCADlib: gridfinity_bin("name", 1, 1, 3) builds the shell, gridfinity_partition() hollows it.

Any rectangular footprint works: 2 × 3, 4 × 1, 5 × 5. Pass (cols, rows, height) to the constructor; the baseplate stays the same.

gridfinity_partition(box, cols, rows) hollows the interior into a grid of compartments. Four cells in a 2 × 2 bin sorts a kit of fasteners.

Pass the cutout geometry as a child. A row of graduated cylinders gives every bit a labelled home. Copy the NopSCADlib lathe_tool_stand pattern.

Bin with circular pockets sized for the tool shanks. Screwdriver bits, end mills, calipers: each one has a slot and won't roll around.

Cut a single pocket shaped like the part it holds: micrometer body, multimeter, oscilloscope probe. The bin becomes a glove for that one tool.

Tall bin with deep round holes. Markers, AA batteries, 18650 cells, paint pens stand on end and never roll off the bench.
What the part is printed in. Each has a sweet spot of strength, finish, and printability, and a temperature it gives up at.

Easy everyday filament. Prints at 200°C, no enclosure needed. Stiff and accurate, but softens above 60°C, so don't leave parts in a hot car.

Tougher than PLA, semi-clear, water-resistant. Bottles, brackets, parts that need to flex without snapping.

Durable and machinable (LEGO uses it). Needs an enclosure and ventilation; it warps and smells when printing.

Rubbery flexible filament, sold by shore hardness (95A is common). Gaskets, phone cases, dampers. Print slow with a direct-drive extruder.

Like ABS but UV-stable. The right filament for parts that live outdoors.

High strength and heat resistance (110°C+). Demanding to print: needs a hot end above 270°C and an enclosure.

Tough and slippery. Gears, bushings, living hinges. Absorbs moisture from the air, so dry the spool before printing.

Water-soluble filament for support material on a second extruder. Print, soak in water, the supports vanish.
Pick sizes that the printed plastic can actually hold. These are the defaults seasoned makers reach for.

M5 is the smallest size that grips printed plastic reliably. M6 for everyday brackets, M8 / M10 for load-bearing joints. M3 strips out at the first over-tighten, so skip it unless you're using a heat-set insert.

Brass insert melts into a printed boss and provides the threads. Design the boss at 8.5mm OD for M5, 10mm for M6. Thinner walls split when the insert melts in.

LM8UU bearings, 8mm chromed rod. The whole ecosystem assumes this size: couplers, brackets, leadscrews all line up.

Cheap, plentiful, prints into a 22mm pocket with a 0.2mm interference fit. 624 / 625 work too; below 4mm bore is fragile.

4mm knuckle around a 1.75mm steel pin (offcut of filament works). BOSL2's knuckle_hinge() defaults. Smaller knuckles split; bigger waste plastic.

20 × 20mm aluminium extrusion with a 6mm T-slot. M5 T-nuts drop straight in. 3030 if you need more rigidity.

2mm pitch, 6mm wide. 16T or 20T pulleys on a 5mm shaft. Everything heavier than a print head wants 9mm width.

7mm head, 11mm long total. The push-and-click connector between two printed parts. Replaces a screw on light-duty joints. Below a 5mm head the petals get fragile; above 10mm it's a screw waiting to happen.
Talking to the AI, then handing the model to the slicer: what to say, and what to set before the nozzle moves.
Not everything is a part. Ask for a creature, drop in a photo, or mix organic shapes into a CAD assembly — the AI picks the right engine.

"A dachshund." "A small dragon." "A humanoid in a running pose." Mention a creature or character and the AI switches to the organic engine — no CAD primitives required. Catch: organic shapes don't expose parameters, so no sliders or knobs.

Upload a photo of your dog, a sketch, or a reference picture. The AI builds a 3D model that mirrors the subject.

"A 10×10×3 mm pedestal with a dog dancing on it." The AI builds the geometric base and the organic figure together in one model. Bonus: the CAD half can still expose parameters, even when the organic figure can't.
How to ask for colour. Organic mode can texture or split the mesh into colour segments; CAD mode has no textures, but every part can take its own colour.

"A dragon with scales." "A wooden stool with grain." The organic engine bakes the surface detail into the mesh — comes out as a coloured GLB you can render or display.

"Colour the dragon's wings red and body blue." The output ships as separate bodies, ready to paint per-region in a multi-colour slicer (AMS, MMU, Palette).

CAD has no textures, but each part can take a colour tag. Useful for previewing, and slicers split each colour onto its own filament for multi-colour printing.
Numbers without context are guesses. Pin them down up front.

Walls ≥ 1.2 mm — anything thinner splits. Bridges of 2 mm and up span cleanly. Surfaces within 45° of vertical print without supports.

"M5 cap screw", "M5 countersunk", "608 bearing". The standard name carries every dimension — you don't have to spell them out.

"Fits a 256 × 256 mm bed." A stated build plate stops the model from drifting to absurd sizes.
Where something sits is half the description. Anchor every part to something concrete.

"Centred on the top face" is unambiguous. "Near the top" is not.

State where (0,0,0) is. Bottom-centre is the most printer-friendly default.

"Mirrored across the XZ plane" gives the model a fixed coordinate to anchor every feature to.

Name which face touches what. "The lid sits on the rim of the box, not inside it."
Complex parts come out cleaner when you give the model a plan, not a paragraph.

"First the base, then the walls, then four mounting bosses." Order is information.

Named parts give you something to point at when you iterate.

Get the silhouette right before adding details. Features attach to a stable foundation.

Fillets, chamfers, logos. Cheap to add and cheap to take away.
The first generation is rarely the final one. Good fixes are specific and surgical.

"The screws stick out 1mm" tells the model what to solve. Let it pick the right tool instead of dictating the geometry change.

"Make the lid 2mm thicker" lands. "Make it sturdier" wanders.

"Change wall thickness from 1 to 5mm" leaves no room for interpretation.

"Keep the hole pattern as is" prevents a full redesign on every iteration.

When the model keeps drifting toward the same wrong shape, ask it to take a completely different approach. Resets the search.
Expose the knobs you care about. Sliders, text, dropdowns, toggles — re-tune in place, no regeneration.
"Make wall_thickness a slider from 1 to 5mm, default 2." Use for any numeric input with a range.
"Add a name text parameter for the engraving." Single-line input — keychains, signs, name tags.
"Make the back description a textarea." Multi-line input — dedications, addresses, longer labels.
"Add an include_lid checkbox." Toggle a hole pattern, a lid, a logo. No regeneration needed.
"Make the shape a select with options Cube, Sphere, Cylinder." Use when the answer is one of a fixed set.
"Put size settings under a Dimensions group and decoration under Style." Keeps long parameter lists tidy.
The parts that melt and push filament. Naming the right segment puts mounting holes at the right offset from the nozzle tip.


E3D V6 form factor. 12mm groove on the heatsink, M6 nozzle thread. The de-facto standard mount for printer carriages.

Brass or hardened steel tip, sized by orifice. 0.4mm is the everyday default; 0.6 / 0.8 for speed, 0.25 for detail.

The narrow waist between two flanges on top of a V6 heatsink. Print the carriage with a 12mm wide channel that clamps the neck. No threads into the hot end itself.

M6 push-fit fitting that grips a 4mm PTFE tube. Call it "push-fit M6" to stay vendor-neutral.

4mm OD, 2mm ID Teflon tube. Routes filament from extruder to hot end on Bowden printers.
The words the slicer uses. Knowing them lets you describe a part with the print step already in mind.

Thickness of each printed slice. 0.2mm is the everyday default; 0.12mm for detail, 0.28mm for speed.

The shell loops around each layer. Three walls (~1.2mm) is the strength default.

The internal lattice. 20% gyroid is fine for most parts; 80%+ for load-bearing.

Solid layers that close the part. Four to five layers stops infill from showing through.

Flat span between two supports printed in mid-air. Up to ~30mm prints cleanly.

A face leaning out from vertical. Above 45° usually needs support; below prints free.

Scaffolding under overhangs, removed after printing. Tree supports use less material than grid.

Single-layer skirt fused to the part. Adds bed adhesion for tall or narrow footprints.

Sacrificial base layers under the part. Heavier than a brim; reach for it on warpy materials.

A loose loop around the part, not touching it. Primes the nozzle before the real print starts.

The vertical line where each layer starts and stops. Hide it on a back corner with "Aligned" or "Random".
The model has to leave the page. A few habits keep parts printable on the first try.
3MF preserves units and colour. STL is the lowest common denominator every slicer accepts.
Flat side down by default. Threads, holes, and engraved text want to face up.
Add 0.2mm to mating holes for press-fit, 0.4mm for slip-fit. Tune to your printer.
Chamfer overhangs to 45° and most prints don't need supports at all.
When I was a kid he built me things from whatever was in the workshop. A wooden bazooka. A spinning top. A box that opened a particular way. None of it came with instructions. He just made it because I'd asked, or because he had fun doing it.
He's why I like making things. He's why this project exists.
Thank you, Franc.
If this helped
Pass it along to someone just starting out. The vocabulary travels further than the lesson.
Feedback and corrections: grandpacad.com/contact

The vocabulary in this booklet is what CAD designers use every day. Put it in your prompts and the model gets sharper on the first try.
The cheatsheet is free. The build is yours.