Parameter Study
Run the same operation across a set of variable values to explore a design space automatically.
When to use
Use a parameter study when you need to repeat a function for multiple configurations — for example, sweeping a dimension across a range of values and collecting outputs for each. Because all iterations execute inside a single tool session, the model is transferred and opened only once, and the module handles substitution and iteration internally.
How it works
The parameter study is implemented as a module function (@istari:variable_sweep) built into supported integrations. You define one operation and a set of variables; the agent opens the model once and runs the operation for each combination, substituting $varName placeholders on every iteration.
| Supported integration |
|---|
dassault_3dexperience |
siemens_nx |
Input structure
| Field | Type | Description |
|---|---|---|
function | Object | The operation to repeat |
function.name | String | Canonical function name (e.g. @istari:update_parameters) |
function.input | Object | Operation parameters, optionally containing $varName placeholders |
variables | Object | Map of variable names to arrays of values |
Behaviour
- Use
$varNameplaceholders anywhere in the operation input. On each iteration the placeholder is replaced with the corresponding value from thevariablesmap. - Multiple variables can be swept simultaneously — all arrays must be the same length. Values are zipped by index (iteration 0 uses index 0 from every array, iteration 1 uses index 1, etc.).
- Each iteration produces its own set of outputs, all aggregated into the job results.
Examples
Sweep a gear count parameter across four values on a Siemens NX model:
job = client.add_job(
model_id=model.id,
function="@istari:variable_sweep",
tool_name="siemens_nx",
tool_version="2506",
operating_system="Windows 11",
parameters={
"function": {
"name": "@istari:update_parameters",
"input": {"parameters": {"CogsCount": "$CogsCount"}},
},
"variables": {"CogsCount": ["8", "12", "16", "20"]},
},
)
Composing patterns
A parameter study's operation can itself be a Sequential pipeline, letting you run a multi-step workflow for each set of variable values.
Sweep a wing length variable across four values. On each iteration, update the parameter and then export geometry — both within the same tool session:
job = client.add_job(
model_id=model.id,
function="@istari:variable_sweep",
tool_name="dassault_3dexperience",
tool_version="2023x",
operating_system="Windows 11",
parameters={
"variables": {"wing_len": ["10m", "15m", "20m", "25m"]},
"function": {
"name": "@istari:batch_execute",
"input": {
"func_list": [
{"name": "@istari:update_parameters", "input": {"parameters": {"wing_length": "$wing_len"}}},
{"name": "@istari:extract_geometry", "input": {"format": "stp"}},
]
}
}
},
)
Variable values are referenced with a $ prefix (e.g. $wing_len) and can appear anywhere within the nested function input.