So you want to design and possibly print your own parts — not just download someone else's model, but build the thing you actually need. That journey starts in one place: CAD. Before anything gets printed, it has to be designed, and designed precisely enough that a printer can follow the instructions exactly.
This is the first in a series of posts working toward exactly that: building your own printable objects from scratch. Each post in the series will carry the same main title, with a different subtitle marking where it sits along the way. This one starts at the very beginning — what CAD actually is, before touching any specific software.
What CAD actually is
CAD stands for Computer-Aided Design. Strip away the acronym and it's simpler than it sounds: it's software for describing an object precisely enough that something else — a machine, a manufacturing process, or another piece of software entirely — can act on that description exactly as specified.
The key word is precisely. CAD isn't a drawing tool. A sketch app lets you draw something that looks like a box. CAD lets you define a box that is exactly 42.7mm wide, with a 3mm wall thickness, a 5mm hole centered 10mm from the left edge — and have every one of those numbers stay exact and editable, no matter how many times you change your mind.
That precision is also why CAD reaches so far outside of 3D printing — the same underlying idea shows up in architecture, chip design, molecular modeling, and plenty of other fields that have nothing to do with printers. 3D printing is one visible, accessible corner of a much bigger field.
What CAD can do
- Exact dimensions. Every measurement is a real number, not an eyeballed line.
- Editability. Change one dimension and the rest of the model can update around it, instead of redrawing from scratch.
- Manufacturability / exportability. Models export to formats that other tools and machines can actually read and act on — STL and STEP for 3D printing, but equivalent precision-exchange formats exist in every field CAD touches.
- Reusability. A well-built model becomes a template — resize it, tweak it, adapt it for the next project instead of starting over.
- Testing before committing resources. You can check that two parts will actually fit together, that a wall is thick enough to survive normal use, or that a hole lines up with a screw — all before anything gets built, printed, or fabricated.
What CAD can't do
- It doesn't know what you want. CAD software has no concept of "make it look nice" or "make it sturdy." Every decision — every dimension, every curve, every wall thickness — comes from the person using it.
- It doesn't replace understanding your material or domain. A perfectly modeled part can still fail if it's designed without accounting for how the material it's printed in actually behaves (shrinkage, layer strength, flexibility), just as a circuit layout or a molecular model can be geometrically valid and still be wrong for its actual purpose.
- It doesn't shortcut the learning curve. Precision cuts both ways — the same exactness that makes CAD powerful also means there's real syntax, real logic, and real practice involved before it feels natural. Nothing here is "drag a shape and you're done."
- It isn't one thing. "CAD software" covers everything from code-based parametric tools to point-and-click sculpting apps, in dozens of specialized flavors across dozens of industries. They solve different problems, and picking the wrong option for your goal will frustrate you regardless of how good the tool is.
The two broad approaches
Most general-purpose CAD tools fall into one of two camps:
Parametric / code-based — you define a model using numbers, variables, and logic (sometimes literally writing code). Change a variable, the whole model updates. This is the natural fit for anything mechanical, anything that needs to fit another part exactly, or anything you'll want to resize or adapt later.
Direct / sculptural — you push, pull, and shape geometry more like digital sculpting or freeform 3D modeling. This suits organic shapes, artistic work, and characters — places where "looks right" matters more than "measures exactly right."
Neither approach is "better" — they're built for different kinds of objects. Functional parts, replacement pieces, and anything that needs to fit something else in the real world tend to live firmly in the first camp, which is why this series is going to spend real time there.
Parameterization: where the real power shows up
The word "parametric" is worth pausing on, because it's the single biggest difference between CAD and ordinary drawing — and it's what makes the parametric camp so useful for real work.
A parameter is just a named value you can reuse and change: `wall_thickness`, `hole_diameter`, `number_of_slots`. Instead of drawing a wall, you tell the model "there is a wall, and its thickness is whatever `wall_thickness` is set to." Change that one number once, and every wall, hole, or feature built from it updates automatically — everywhere it's used, all at once.
That sounds like a small convenience, but it compounds fast:
- A single model becomes a whole family of parts. One parametric design for a bracket can become the 20mm version and the 35mm version by changing one number, instead of redrawing twenty separate models.
- Logic, not just numbers. Good parametric tools let you go further than plain values — loops to repeat a feature as many times as a variable says (six bolt holes today, ten tomorrow, just by changing one parameter), conditionals ("if this part is over a certain size, add this support"), and also lists or arrays to generate variations systematically.
- Design intent survives changes. Because features are defined by their relationships ("this hole is always centered on that face," not "this hole is at these fixed coordinates"), a model keeps making sense even after significant edits — which matters enormously once a design gets iterated on more than once or twice.
- Mistakes are cheaper. Fixing a wrong dimension in a parametric model is a one-line change. Fixing it in a purely freeform model can mean reworking geometry by hand.
This is also the main reason code-based tools like OpenSCAD lean so heavily into parameterization — when the model is a script, parameters are just variables, and the logic available to you is as expressive as the underlying language allows.
Free options worth knowing about
- OpenSCAD — code-based, parametric. You describe geometry in a script rather than clicking shapes into place. Steeper initial learning curve, but extremely precise and endlessly reusable once it clicks. (This is the tool the rest of this series will focus on.)
- FreeCAD — parametric, but with a traditional point-and-click interface rather than a scripting one. A strong middle ground if the idea of writing code for shapes doesn't appeal.
- Tinkercad — browser-based, block-style modeling. Very approachable for absolute beginners and quick simple parts, though it hits limits fast on anything mechanically precise.
- Blender — technically a 3D animation/sculpting tool rather than a CAD package, but widely used for organic or artistic printable models where exact measurements matter less than shape.
Paid options worth knowing about
- Fusion 360 (Autodesk) — industry-standard parametric CAD, free personal-use tier available with limitations.
- SolidWorks — long-established professional mechanical design standard, common in engineering environments.
- Shapr3D — modern, gesture-driven CAD, notably strong on tablet/stylus input.
- Onshape — fully browser-based parametric CAD with built-in version history, popular for collaborative work.
(Pricing on paid tools changes often enough that it's not worth listing here — check each site directly for current plans.)
Where this series goes from here
This blog is going to work through OpenSCAD specifically — install, navigation, and then building up real skills from there. It's not the only option, and it's not necessarily the "best" one in the abstract, in 3D printing or anywhere else CAD is used. But for functional, precise, reusable parts — the kind FormForge works with day to day — a code-based parametric tool is the right category of tool for the job, and OpenSCAD is a genuinely capable, completely free way into that category.
Next up: getting OpenSCAD installed and finding your way around the interface.