Expressions and Configurator
Use the Expressions panel when you want a model to be driven by a few reusable values instead of typing raw numbers into every feature.
The panel has two parts:
Expressions: a shared place to define variables and formulasConfigurator: optional UI controls that expose a few important values as sliders, number fields, dropdowns, or text inputs
This is most useful when you want to build a part once, then resize or retune it quickly.
Expressions Panel
Write variables in the Expressions box, then reference those variable names in feature dialog inputs.

Example:
wall = 2;
width = 80;
height = width * 0.6;
innerWidth = width - wall * 2;Then in a feature dialog you can enter values such as:
widthheightwidth - wall * 2Quick Start
- Open the
Expressionspanel in Modeling Mode. - Add a few variables in the main text area.
- Click
Test Expressions. - In feature dialogs, enter those variable names instead of fixed numbers.
- Change the variables later to update the model.
This lets you control repeated dimensions from one place.
Configurator
The configurator is for values that should be adjusted through UI controls instead of editing the script directly.
If no configurator widgets exist, the configurator form stays hidden.
When widgets do exist, the form appears above the Expressions editor.

Supported widget types:
slider: best for bounded numeric values you want to dragnumber: best for precise numeric entryselect: best for choosing from a small list of optionsstring: best for names, labels, and other text values
Configurator values are available inside expressions as:
configurator.fieldNameExample:
panelWidth = configurator.panelWidth;
finish = configurator.finish;
labelText = configurator.partLabel;You do not need to create an intermediate variable first. In many cases you can enter the configurator value directly in a feature dialog input, for example:
configurator.panelWidthconfigurator.partLabelEditing the Configurator
Click Edit Configurator below the Expressions area to add or change widgets.

Typical setup:
- Click
Edit Configurator. - Click
Add Widget. - Set the
Field Name. - Choose the widget
Type. - Set the default value and any limits or options.
- Click
Save Configurator.
After saving, the live configurator form appears above the Expressions editor.
Naming Rules
Each widget needs a field name that can be referenced from expressions.
Good examples:
panelWidthrib_countpartLabel
Avoid spaces and punctuation in field names. Use letters, numbers, _, and $.
How Editing Behaves
- Changing a value in the live configurator form re-runs the model.
- Text and number inputs apply when you press
Enteror leave the field. - Slider drags update live.
- While
Edit Configuratoris open, the preview above updates as you add or remove widgets. - That preview does not re-run the model until you save or close the configurator editor.
Practical Example
Create these configurator fields:
panelWidthas a sliderpanelHeightas a number fieldfinishas a selectlabelas a string
Then write expressions like:
wall = 2;
outerWidth = configurator.panelWidth;
outerHeight = configurator.panelHeight;
innerWidth = outerWidth - wall * 2;
innerHeight = outerHeight - wall * 2;
titleText = configurator.label;Now feature dialogs can use:
outerWidth
innerWidth
titleTextThat gives you one place to control the whole part.
Where You Can Use Expressions
Expressions are mainly intended for feature dialog inputs.
Common cases:
- numeric fields
- transform values
- vector component fields
- some text fields
If a feature dialog supports expressions, you can enter either a direct value like 20 or an expression like width * 0.5.
You can also enter configurator values directly, such as configurator.panelWidth, without first defining a separate variable in the Expressions editor.
Saved With the Part
Expressions and configurator values are stored in part history, so they stay with the model through:
- save and load
- JSON export and import
- undo and redo
- embedded history in exported files that preserve feature history