Skip to main content
Version: 2026.03

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

FieldTypeDescription
functionObjectThe operation to repeat
function.nameStringCanonical function name (e.g. @istari:update_parameters)
function.inputObjectOperation parameters, optionally containing $varName placeholders
variablesObjectMap of variable names to arrays of values

Behaviour

  • Use $varName placeholders anywhere in the operation input. On each iteration the placeholder is replaced with the corresponding value from the variables map.
  • 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.