How parametric intent maps to the Recipe
Where sketch relations, equations and design intent live in Solid Vibes: formulas that define geometry, rule checks that guard it, and what sketch constraints currently do.
In classic CAD, design intent lives in three places at once: sketch relations (this line is tangent to that arc), dimensions and equations (this width is twice that height), and feature order (cut after shell). Solid Vibes keeps all three ideas, but distributes them differently. Knowing where each one lives tells you how to build models that survive change.
The three layers
| Layer | Holds | Lives in |
|---|---|---|
| Values and relationships | Dimensions, equations, derived sizes | Parameters and the expressions inside Recipe steps |
| Rules | Constraints that must remain true | Design intent entries, either built into formulas or checked after rebuilds |
| Order and operations | What is built from what | The Recipe step order |
Intent by construction
Most intent is enforced by writing a dependent value as an expression of its driver. The relationship is then part of the definition, so it cannot be violated.
| You want | Write |
|---|---|
| A hole centered on a plate | hole position = [width / 2, depth / 2] |
| Two holes symmetric about the center | positions [width/2 - spacing/2, y] and [width/2 + spacing/2, y], or a Mirror step |
| Equal spacing of N features | a Pattern with spacing = (length - 2*margin) / (count - 1) |
| A lid the same width as the box | lid width = box_width (or a Thing-level parameter) |
| An inner cavity with constant wall | inner size = outer - 2 * wall |
| A fillet never larger than the wall | radius = min(fillet_radius, wall * 0.8) |
Expressions can use + - * / ^ %, parentheses, parameter names, min max abs sqrt round floor ceil sin cos tan asin acos atan atan2 (trig in degrees) and pi. Nothing else is allowed, so every formula is deterministic and safe.
Intent by checking
Some rules depend on the whole shape and cannot be built into a formula. For these, a design intent entry holds a boolean check expression that is re-evaluated after every rebuild, producing a green or red chip.
Available measurements: bbox_x(), bbox_y(), bbox_z(), volume(), min_wall().
| Rule | Check |
|---|---|
| Minimum wall | min_wall() >= 1.6 |
| Fits a bed | bbox_x() <= 220, plus a second rule bbox_y() <= 220 |
| Weight budget | volume() <= 40000 (mm cubed) |
Intent kinds are centered, symmetric, equal, min, max, fixed, aligned and custom. Each can reference parameters or steps (refs) for highlighting, and records whether you or the agent wrote it.
Create them by speaking in rules: "Always keep the lid the same width as the box", "Never go thinner than 1.6 mm".
Sketch constraints: what they do today
When you draw with Sloppy sketch, your rough strokes snap to clean geometry and the tool infers constraints (horizontal, vertical, parallel, perpendicular, tangent, equal, coincident, concentric, symmetric, distance, angle, radius). These are stored with the sketch and shown for context.
In the current release, the sketch's geometry is defined by its explicit dimensions and formulas, and the constraints are recorded as intent metadata rather than solved by a constraint solver. In practice that means:
- You will not hit over-constrained or under-constrained sketch states.
- Moving one sketch entity does not re-solve the rest of the sketch for you. Change a dimension or a parameter instead.
- If a relationship must stay true, express it as a formula or a design intent rule.
Feature order still matters
The Recipe is ordered, and later steps depend on earlier ones.
- Fillets before a shell behave differently from fillets after it.
- A hole placed on a face refers to a face that must exist at that point in the Recipe.
- A boolean uses a named tool body that must be created first.
You can move steps. If a move breaks a dependency, the step turns red with a plain-language explanation, and the agent offers a repair as a ghost preview. See A step turned red after I changed a parameter.
Suppression instead of deletion
To explore, suppress a step instead of deleting it. The step stays in the Recipe, marked off. The agent works the same way: it never deletes history. This keeps branches, diffs and replays meaningful.
Designing for change
A checklist for models that survive their first redesign:
- Name the drivers (
board_width,wall,fit_clearance) before anything that depends on them. - Derive everything else with formulas. If you type a number twice, it should be a parameter.
- Group parameters (Fit, Mounting, Appearance) and set slider ranges to the plausible range.
- Write the rules that must hold as design intent. Keep the list short and meaningful.
- Select by meaning, not by position, so edits survive.
- Order steps so risky features (fillets) come after the geometry they depend on, and cosmetic ones last.
- Branch before a large change.
- Stress-test it. Drag every driving slider to both ends of its range and watch for red steps or chips.
Try it
Audit this piece for robustness to change. List every hard-coded number that should be a parameter, every relationship that should be a formula, and three design intent rules worth adding. Do not change anything yet.
Then apply the suggestions you agree with, and run the slider stress test.
Did this help?
Keep reading
Ideas
Design intent: rules that stay true
Tell Solid Vibes what must always be true about your design, and it keeps checking after every change. Think of it as the 'why' that outlives the numbers.
Intermediate4 min readIdeas
Parameters and formulas
Name the numbers that matter, tie the others to them with formulas, and your model becomes a family of designs you can reshape with a slider.
Beginner4 min readFor CAD pros
Translation guide for SolidWorks, Fusion and Onshape users
Where each familiar concept lives in Solid Vibes: feature tree, equations, mates, configurations, rollback, drawings, and the places the model is deliberately different.
Pro5 min read