Skip to main content
Version: 2026.03

Sequential Pipeline

Chain multiple operations in order within a single engineering tool session so that each step sees the previous step's changes.

When to use

Use a sequential pipeline when you need to run several functions on the same model in a defined order — for example, update parameters and then extract geometry from the modified state. Because all steps execute inside a single tool session, changes are carried forward automatically and the model file is transferred and opened only once.

How it works

The sequential pipeline is implemented as a module function (@istari:batch_execute) built into supported integrations. The agent opens the model once, runs each step in order within that session, and aggregates all outputs into the job result. This avoids the overhead of uploading, downloading, and re-opening the model between steps.

Supported integration
dassault_3dexperience
ptc_creo_parametric
siemens_nx

Input structure

FieldTypeDescription
func_listArray of objectsOrdered list of steps to execute
func_list[].nameStringCanonical function name (e.g. @istari:extract)
func_list[].inputObjectStep-specific parameters. Use {} when the step requires no extra parameters

Behaviour

  • Steps run in order. Model state carries forward — modifications from step N are visible to step N+1.
  • The model file is provided to the pipeline; individual steps do not need it in their input.
  • Step input values are bare (e.g. "output_format": "step"). No {"type": "parameter", "value": ...} wrapper is needed.
  • All step outputs are aggregated into a flat list returned by the job.

Examples

Update a wing length parameter and then extract from the modified 3DExperience model, all in one job:

job = client.add_job(
model_id=model.id,
function="@istari:batch_execute",
tool_name="dassault_3dexperience",
tool_version="2023x",
operating_system="Windows 11",
parameters={
"func_list": [
{"name": "@istari:update_parameters", "input": {"parameters": {"wing_length": "20m"}}},
{"name": "@istari:extract", "input": {}},
]
},
)

Run all extraction functions on a Siemens NX model in a single session:

job = client.add_job(
model_id=model.id,
function="@istari:batch_execute",
tool_name="siemens_nx",
tool_version="2506",
operating_system="Windows 11",
parameters={
"func_list": [
{"name": "@istari:extract", "input": {}},
{"name": "@istari:extract_geometry", "input": {"output_format": "step"}},
{"name": "@istari:extract_parameters_full", "input": {}},
{"name": "@istari:update_parameters", "input": {
"parameters": {"CogsCount": "15", "HoleDiam": "200"},
}},
],
},
)
tip

The parameters value can be stored in a separate JSON file for readability. Pass the file path via parameters_file instead of inline parameters.

Composing with other patterns

A sequential pipeline can be used as the operation inside a Parameter study, letting you run a multi-step workflow for each set of variable values. See Parameter study — Composing patterns for an example.