Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Parameters and expressions

Every dimension and feature input is a model parameter (d1, d2, …). User parameters are ones you add yourself, with a unit, an expression and an optional comment. Change them in Change Parameters (parameters.change). The timeline rebuilds from the first feature that uses them.

When creating or editing a sketch dimension, its value editor shows its model parameter name (d1, d2, …). Click another driving dimension to use its name: when the value is just a number (such as 10 or 10 mm) the name replaces it; otherwise it goes in at the cursor, replacing selected text and keeping what you typed, so typing 10 + and clicking d1 gives 10 + d1. Add arithmetic such as / 2 to build a dependent dimension. Press Enter to apply the expression or Escape to cancel the edit. When placing a new dimension, width = 40 (or #width = 40) adds the user parameter width with that value (a bare number is in the design’s units) and dimensions with it; a name that is already taken is refused. The value boxes shown while drawing a shape (a line’s length, a rectangle’s width and height, a circle’s diameter) take the same form: the shape is drawn at that size, and its dimension uses the new parameter. Add and edit user parameters through the existing Change Parameters command.

In the MANAGE tab’s PARAMETERS section, click Parameters to open the user and model parameter editor. The Configurations button in CONFIGURATIONS opens the configuration table; Configure remains in the dropdown for configuring columns.

Press Enter in the new parameter’s name, expression or comment field to add it. Valid entries return focus to the name field for the next parameter; invalid entries remain editable. In expression fields, type a parameter or dimension name for autocomplete, or press Ctrl+Space to open suggestions, including in an empty field. Up/Down selects an autocomplete suggestion, Enter/Tab accepts it, and Escape dismisses the suggestions. Accepting a suggestion does not also submit the parameter. When what you typed is already a complete name (width), longer names such as width_extra stay listed without a selection: Enter applies what you typed, and Up/Down picks one of them first. A unit right after a number (10 mm) is left alone; anywhere else a unit is a prefix like any other, so rad followed by Enter gives radius.

With Preferences › Design › Step values with the arrow keys and the wheel on (it is off by default) and no suggestions open, Up/Down step a plain number in any value field (a dialog’s rows, the value box beside the geometry, a sketch dimension, a parameter’s expression) by 1 in the unit it is written in: 20 mm becomes 21 mm, 2,5 mm becomes 3,5 mm. Hold Shift for 10 or Alt/Option for 0.1. The mouse wheel over the focused field does the same, a step a notch, and the preview follows each step. An expression such as width / 2 is left as typed.

Expressions are unit-aware: 2 * width + 5 mm, angle / 2, sqrt(area), 1 in + 3 mm, using + - * / ^, parentheses, sin cos tan asin acos atan atan2 sqrt abs min max floor ceil round mod trunc and unit conversion. A number and the unit after it are one value: 10 mm / 2 mm is 5 and 90 deg / 1 rad is π/2, and a fraction of numbers before a unit is one value too (1/2 in is half an inch; after a / only written without spaces: 1 in / 1/2 in is 2, while width / 10 / 2 mm divides by 10 and then by 2 mm). A decimal comma works too, outside parentheses: 2,5 mm is 2.5 mm (inside a function’s parentheses the comma separates its arguments, so write max(2.5, 3) there). A mixed number is one value, as imperial sizes are written: 2 1/8" and 3 7/16 in are 2.125 in and 3.4375 in (a whole number, a space, then a proper fraction of whole numbers). A length where an angle is expected (or the other way round) is an error, not a silent conversion. Cycles are reported with their path (a → b → a), renaming a parameter updates every expression, dimension and feature input that uses it, and a parameter in use can’t be deleted (the error lists its users).

The design’s units (Document Settings in the browser: mm, cm, m, in or ft) set how a bare number or unitless arithmetic expression typed into a length field is read. In an inch design 0.25 and 1 / 4 mean 0.25 in. Operation dialogs start with lengths in the design’s units, including secondary distances, wall thicknesses, gaps, offsets and radii. Canvas handles and live sketch values use the same units as the operation. Angles, counts and scale factors keep their own units. Preferences selects the default units for new designs; existing designs use their own Document Settings.

Explicit units override that choice: 2 mm is still two millimetres in an inch design. Parameter expressions such as width / 2 remain driving expressions. Editing a saved feature preserves its physical size; an existing millimetre expression can still show mm so accepting an unchanged field cannot reinterpret it. Computed sizes and tolerances keep their full precision when written back into editable fields, independently of display precision.

Parameters export to and import from CSV or JSON (parameters.export, parameters.import). Configurations (config.*) keep a table of rows, each with its own parameter values and suppressed features, physical materials and body appearances, switched with config.activate. The table’s Library picker selects material or appearance values. Choose Follow material to clear an appearance override. Custom looks retain their colour and opacity across activation, undo and save/reopen. See configuration commands and examples.

Checking a design across a parameter’s range

Parameter Sweep (inspect.parameter_sweep) rebuilds a copy of the design at each of a parameter’s values and reports what no longer holds, so a design meant to be driven by its parameters (one template, many sizes) can be checked before it is trusted. The design itself is not changed.

{"command": "inspect.parameter_sweep", "params": {"parameter": "Width", "from": 300, "to": 510, "steps": 21}}

values lists the values instead (numbers or expressions). For each value it gives the rebuild’s time and what changed from the design as it is now: features that fail (failed) or warn (warned), joints whose origin is no longer found (joints_lost) or turned over on its own part (joints_flipped, more than 90°), sketch planes that turned over (sketches_flipped) and sketch solves that fail or only hold by flipping a triangle’s turn or an offset’s side (sketches_failed). summary counts the values that show each.