MultiDocScenarioModel#

class MultiDocMutationResult(ok: 'bool', result_model_group_id: 'str' = '', result_scenario_id: 'str' = '')#

Bases: object

ok: bool#
result_model_group_id: str = ''#
result_scenario_id: str = ''#
class ScenarioInfo(scenario_id: str, display_name: str, is_master_scenario: bool, multi_doc: MultiDocScenarioModel)#

Bases: object

A scenario in a multi-scenario (.slmd) project.

getId() → str#

Return the scenario GUID.

getDisplayName() → str#

Return the scenario display name.

getIsMasterScenario() → bool#

Return whether this is the master scenario of its model group.

setDisplayName(display_name: str) → MultiDocMutationResult#

Rename this scenario in the modeler.

class ModelGroupInfo(model_group_id: str, display_name: str, colour_rgb: int, scenarios: List[ScenarioInfo], multi_doc: MultiDocScenarioModel)#

Bases: object

A model group (and its scenarios) in a multi-scenario (.slmd) project.

getId() → str#

Return the model group GUID.

getDisplayName() → str#

Return the model group display name.

getColourRgb() → int#

Return the model group colour as a Windows COLORREF (0x00BBGGRR).

getScenarios() → List[ScenarioInfo]#

Return the scenarios in this model group.

setDisplayName(display_name: str) → MultiDocMutationResult#

Rename this model group in the modeler.

setColourRgb(colour_rgb: int) → MultiDocMutationResult#

Set the model group colour (Windows COLORREF, e.g. via ColorPicker).

class MultiDocStructure(is_multi_doc_project: bool, model_groups: List[ModelGroupInfo])#

Bases: object

Snapshot of multi-scenario project structure (model groups and scenarios).

getIsMultiDocProject() → bool#

Return whether the open project is a multi-scenario (.slmd) project.

getModelGroups() → List[ModelGroupInfo]#

Return the model groups in this project.

class MultiDocScenarioModel(client: Client)#

Bases: object

Examples: Code Snippet: Multi-Doc Scenario Model

Scripting access to multi-scenario (.slmd) groups and scenarios (add/remove/rename/duplicate).

Uses the session’s active document (set when a file is opened and when calling setActiveScenario()). Call Slide2Model.getMultiDocScenarioModel() or InterpretModel.getMultiDocScenarioModel() on an open model.

getStructure() → MultiDocStructure#

Return the tree of model groups and scenarios for the current multi-scenario project.

addModelGroup(display_name: str | None = None) → MultiDocMutationResult#

Add a new empty model group. Optional display_name overrides the default Group N label.

deleteModelGroup(model_group: ModelGroupInfo) → MultiDocMutationResult#

Delete a model group and all its scenarios (not allowed when only one group remains).

addBlankScenario(model_group: ModelGroupInfo, display_name: str = '') → MultiDocMutationResult#

Add a new blank scenario under model_group.

duplicateScenario(scenario: ScenarioInfo) → MultiDocMutationResult#

Duplicate a scenario within its current model group (same as modeler Duplicate).

duplicateScenarioInNewModelGroup(scenario: ScenarioInfo) → MultiDocMutationResult#

Copy a scenario into a new model group (master scenario of the new group).

deleteScenario(scenario: ScenarioInfo) → MultiDocMutationResult#

Delete a scenario (each group must keep at least one; UI-style open-scenario rules apply).

setActiveScenario(scenario: ScenarioInfo) → MultiDocMutationResult#

Activate scenario for this session (same as selecting it in the scenario tree).

After this call, groundwater, statistics, query, and other interpret data APIs use the active scenario until you switch again.