Named Parameters
Give the wall thickness a name once and every step that uses it follows when you change it. Open the Parameters window from the right-edge hover stack and click + Add parameter.
The window is available in every part of Design, including while you are inside a sketch, so you can name a value at the moment you first need it.
Making one
+ Add parameter offers four kinds.
| Kind | What it holds | What it is for |
|---|---|---|
| Number | A value, default 0 | Dimensions, counts, anything arithmetic |
| Boolean | True or false, default false | Switching a variant on or off |
| Text | A string, default empty | Labels, and comparisons against a preset |
| Preset (list) | One option from a list you define | A named configuration that sets several other parameters at once |
The kind is fixed at creation. There is no way to turn a Number into a Boolean afterwards, so if you pick wrong, delete the row and make a new one.
A new parameter arrives named PARAM_1, PARAM_2 and so on, and is not exported. Before any exist, the window reads No parameters yet. Click + below to create one.
Naming
Names are stored in upper case and matched without regard to case, so wall and Wall are the same parameter and both display as WALL.
Four rules, with the message you get for breaking each:
- Not empty:
Name is required - At most 64 characters:
Name is too long (max 64) - A letter first, then letters, digits and underscores only:
Name must start with a letter and contain only letters, digits, and underscores - Not a reserved word:
'{name}' is a reserved keyword
The reserved list covers the function names available in expressions, pi, true, false, the logical words and, or, not and xor, and every calibration constant. A duplicate is refused with A parameter named '{name}' already exists.
Give a parameter the name of the thing it controls rather than the number it holds. WALL, BOLT_DIA, PLATE_T survive a change of value; THREE_MM does not.
What a row shows
| Control | What it does |
|---|---|
| Lock icon | Export toggle. Not exported — click to export / Exported — click to keep private |
| Name | Click it, or the pencil that appears on hover, to rename |
| Value | The editor for this kind, an expression field on a Number |
| Trash icon | Delete '{name}' |
Rows can be dragged into folders you create. The list itself is always sorted alphabetically, whatever order you made the rows in, so related parameters stay together only if their names do: HOLE_DIA and HOLE_PITCH sort next to each other, DIA and PITCH do not.
What the lock actually decides
The lock is not decoration, and the two states are not "important" and "unimportant". Exported means public: a parameter you export is the parameter other people meet, and one you leave locked is private to the document and can only be changed by opening this window.
That matters in two places.
If the document is a smart object you publish, its exported parameters are exactly what someone who places it can change: they are the rows that appear in the object's panel in their model. Everything you left locked keeps working, drives whatever it drives, and never shows up. That is how you expose BOLT_DIA and keep the clearances and wall thicknesses derived from it out of sight.
If the document is a part you export as a file, the exported parameters are the ones the export dialog offers to override, so you can push a value in on the way out without touching the model. They are also what a saved export preset stores: a snapshot of every exported number at the moment you saved it, which is what lets one document write an M3 file and an M4 file. Only numbers go into that snapshot, so a Boolean or a Preset (list) row can be overridden on the way out but never saved into one. Export a parameter later and it joins every export preset you already have, at its default value; lock it again and it drops out of them all.
So export the few numbers that describe the part to someone else, and leave the rest locked. Exporting everything hands whoever places the object a wall of rows with no clue which ones matter.
Using one
Any numeric field in any step accepts a parameter name in place of a number. Click the field, type the name, accept the completion. Typing @ in a field lists the parameters and nothing else. Expressions covers the field editor in full, including how to create a parameter from inside the field you first need it in.
Presets that drive other parameters
A Preset (list) row gains an Options… button, which opens the list of options and closes again as Hide options. Each option carries a set of assignments: choose the option, and the parameters it names take the values it gives them.
A parameter driven this way goes read-only and shows ↳ driven by {name} in place of its editor, with the tooltip Driven by preset '{name}'. You cannot type into it while the preset holds it.
Every preset has a (Custom) entry that always exists and cannot be removed. Selecting it releases the pinned rows and hands them back to you. That is how you start from a preset and then adjust one value.
A preset is the right shape for a family of parts: M3, M4, M5 each setting a hole diameter, a head diameter and a counterbore depth together.
Renaming
Click the name, or the pencil that appears on hover, and type. Every field that points at the parameter through the picker follows the rename on its own, so a hole driven by BOLT keeps working when BOLT becomes BOLT_DIA.
Formulas do not follow. Expressions sets out what a rename does to them and how to clear up afterwards; it is the one thing to check before you rename anything.
Units and ranges are not what they look like
Two things the window implies but does not do.
Units are advisory. Nothing converts, and nothing checks. Everything created from + Add parameter is millimetres, permanently, and there is no way to change the unit afterwards. The only parameter that gets a different unit is one created from inside a feature field, which inherits that field's unit. If you need an angle parameter, create it from an angle field.
Ranges do nothing. A minimum and a maximum can be stored, but no part of the interface sets them and nothing warns when a value falls outside. Treat every parameter as unbounded and put the limits in the name or the model, not in the parameter.
Deleting one that is in use
Deleting a parameter something depends on raises a plain browser confirmation rather than a styled dialog:
'{name}' is used in {count} input(s). Delete anyway? Inputs revert to literal values.
That is exactly what happens. Every field that pointed at the parameter keeps the number it currently shows, as a plain number, and the link is gone. Nothing breaks and nothing goes red, which is what makes this deletion easy to do by accident and hard to notice afterwards.
When it goes wrong
A row is amber. An expression in it names something that no longer exists, because the name was renamed or the parameter deleted. The value you see is the last one that worked. Open the field and fix the name.
A row will not accept typing. A preset is holding it. Switch the preset to (Custom), or change the option's assignment.
A parameter changed but part of the model did not move. The fields that did not move are holding literal numbers, either because they were never bound or because the parameter they were bound to was deleted. Open the step and check whether the field carries the fx badge.
See also
- Expressions: the field editor, the syntax, and creating a parameter from inside a field
- Editing a Part You Have Built: what a parameter change rebuilds, and what it costs
- Dimensions: the sketch dimensions that are worth naming first
