|
VECTO Input Manager
|
Interactive mode provides a flexible approach to creating vehicle configurations in VECTO Input Manager. Instead of requiring all vehicle and component data to be predefined in input files, interactive mode allows users to build configurations step-by-step through guided prompts. This is particularly valuable when creating new vehicles, filling in missing data from partial configurations, or understanding the structure and making small modifications of complex vehicle jobs.
The --interactive (-t) flag enables interactive mode for vehicle and component creation. The behavior varies depending on the mode selected.
| Option | Description | Use Case |
|---|---|---|
| vehicle | Prompt for vehicle-level only | Prompts for vehicle structure but not component properties |
| all | Prompt for all values | Interactive creation with prompts for every property |
| auto | Prompt only when no value available | Smart prompting - only asks when values are missing |
Behavior: Prompts for every vehicle property and every component property, showing value ranges and enumerated options.
⚠️ Can be time-consuming as the user is prompted to create even complex components with collections of objects.
💡 If an input vehicle job is used, then for each property, the corresponding value of the original file will be preselected and can be selected by pressing only "Enter".
Behavior: Prompts only for values that are missing and accepts default values from input files.
Behavior: Prompts for vehicle-level properties and structure, prompts for array-based component structures (axles, powertrains, etc.), and assigns components from input files to the defined structure. Does NOT prompt for individual component properties.
Example:
This is the recommended mode for creating vehicles with existing component files, or creating vehicles without components.
When creating a new vehicle with -t vehicle mode, below is how different component types are handled:
Path pattern: Components.{ComponentName}
Components:
Interactive Behavior: Assigned directly from input files (if provided). These components appear once per vehicle and do not require array indices or other structures to hold them.
💡 The properties for the Auxiliaries component are always requested in vehicle mode.
Path pattern: Components.ElectricMachine.{ComponentName}
Components:
Interactive Behavior: ElectricMachine structure is prompted for, but not the two components; they are assigned directly from input files (if provided).
Path pattern: Components.Powertrain[{index}].{ComponentName}
Components:
Interactive Behavior: Prompts for powertrain structure (number of powertrains and configuration of each powertrain), then assigns components from input files to each powertrain based on the defined structure. Does NOT prompt for individual component property values.
Path pattern: Components.Powertrain[{index}].ElectricMachine.{ComponentName}
Components:
Interactive Behavior: Prompts for powertrain and electric machine structure, then assigns components from input files to each powertrain's electric machine. Does NOT prompt for individual component property values.
Path pattern: Components.AxleWheels.Data.Axles[{index}].Tyre
Components:
Interactive Behavior: Prompts for axle structure, then assigns tyre components from input files to each axle based on the defined structure. Does NOT prompt for individual tyre component property values.
Path pattern: Components.FuelCellSystem[{index}].FuelCell
Components:
Interactive Behavior: Prompts for fuel cell system structure, then assigns fuel cell components from input files to each system. Does NOT prompt for individual component property values.
Path pattern: Components.ElectricEnergyStorage.Battery[{index}].REESS
Components:
Interactive Behavior: Prompts for battery structure, then assigns REESS components from input files to each battery pack. Does NOT prompt for individual component property values.
Assume we have a valid XML file named Conventional_HeavyLorry.xml.
Expected Behavior:
Does NOT prompt for individual component properties.
If the user accepts all defaults (by pressing "Enter"), the resulting New_HeavyLorry.json will be an exact copy of Conventional_HeavyLorry.xml.
Expected Behavior:
If the user accepts all defaults (by pressing "Enter"), the resulting New_HeavyLorry.json will be an exact copy of Conventional_HeavyLorry.xml.
Expected Behavior:
Expected Behavior: