A command-line tool for creating, extracting, converting, and manipulating vehicle job components for VECTO simulations.
Features
- Component Extraction: Decompose vehicle XML files into individual component files
- XML <-> JSON Conversion: Convert bidirectionally between XML and JSON formats with schema validation
- Standard Values Generation: Create certified components with standard values
- Vehicle Job Creation: Build new vehicle jobs by combining and replacing components
- Multi-format Support: Work with both XML and JSON component files
- Schema Validation: Built-in validation against VECTO schemas
Installation
Prerequisites
Download and Install
📥 Download vectoim-0.9.8.zip
- Download the latest release using the link above and extract to a folder of your choice
- (Recommended) Add the installation folder to your system PATH to run vectoim from any directory
Platform-Specific Setup
Windows
Open Command Prompt or PowerShell in the installation folder and run:
macOS / Linux
Open a terminal in the installation folder and make the executable:
chmod +x vectoim
./vectoim --help
Main Commands
vectoim provides four main commands:
| Command | Description |
| sv | Create components with standard values |
| job | Build vehicle jobs from components |
| extract | Extract components from vehicle XML files |
| json | Convert XML files to JSON format |
Help and Documentation
- Get general help: vectoim --help
- Get command-specific help: vectoim <command> --help
- List available standard value components: vectoim sv --list
- List available vehicles: vectoim job --list
Command Reference
sv - Create Components with Standard Value
DESCRIPTION:
Create components with standard values
USAGE:
vectoim sv [component] [OPTIONS]
EXAMPLES:
vectoim sv battery -i battery.json -t -o battery.xml
ARGUMENTS:
[component] The component type to create. The default is 'auto', which automatically detects the component type
from the input JSON. For a list of supported components, use the --components argument
OPTIONS:
-h, --help Prints help information
-v, --verbose Enables verbose logging
-i, --input Input file containing component data in JSON format
-t, --interactive Interactive mode
-o, --output Output file for the generated XML or JSON data
-m, --modify Values to set for the component. Use the format: Key=Value, e.g., R100CellsInSeries=20
-e, --example Generates an example JSON file for the component
-l, --list Lists available components
job - Create Vehicle Jobs
DESCRIPTION:
Create jobs with components
USAGE:
vectoim job [vehicle] [OPTIONS]
EXAMPLES:
vectoim job -i vehicle.xml -i component_*.xml -o new_vehicle.xml
ARGUMENTS:
[vehicle] The vehicle type to create
OPTIONS:
DEFAULT
-h, --help Prints help information
-v, --verbose Enables verbose logging
-i, --input Input files for the job. You can specify multiple files or glob patterns
-t, --interactive none Interactive mode for prompting user input. Options:
vehicle (prompt only for vehicle-level),
all (prompt for all values),
auto (prompt only when no value is available)
-o, --output Output file for the generated XML or JSON data
-k, --key-value-file Generates a values file (.values.txt) containing all keys and values
assigned during vehicle creation
-m, --modify Values to set for the job. Use the format: Path.Key=Value, e.g.,
Components.AxleWheels.Data.Axles[0].TwinTyres=True.
You can also assign components to specific vehicle paths, e.g.,
Components.Powertrain[1].Axlegear=axlegear.xml
-e, --example Generates an example JSON file for the component
-l, --list Lists available vehicles
-b, --broken-sig Auto Action to take when signature verification fails. Options:
auto (default - keeps empty signatures, blocks on mismatched signatures),
sign (signs missing, blocks on mismatched signatures),
block (shows error, stops output),
keep (warning, keeps broken signature),
re-sign (warning, re-signs component),
clear (warning, empty signature)
extract - Extract Components from Vehicle
DESCRIPTION:
Extract components from vehicle
USAGE:
vectoim extract [OPTIONS]
EXAMPLES:
vectoim extract -i vehicle.xml -o ./folder
OPTIONS:
DEFAULT
-h, --help Prints help information
-v, --verbose Enables verbose logging
-i, --input Input vehicle XML or JSON file to extract components from
-o, --output Output directory where the extracted component files will be saved
-f, --format xml Output format for extracted components. Valid options: xml, json, both. The default is xml
json - Convert XML to JSON
DESCRIPTION:
Convert XML vehicle and component files to JSON format
USAGE:
vectoim json [OPTIONS]
EXAMPLES:
vectoim json -i vehicle*.xml -o ./json --remove-components
OPTIONS:
-h, --help Prints help information
-v, --verbose Enables verbose logging
-i, --input Input XML files to convert. You can specify multiple files or glob patterns
-o, --output Output directory for the converted JSON files
-r, --remove-components Removes (nullifies) all components from the vehicles before converting them to JSON
Logging
vectoim creates log files for each run to help with troubleshooting and debugging. Each execution generates a separate log file with a timestamp in the filename. You can also increase the verbosity of the output logs by including the -v parameter.
Log File Naming Convention
Log files follow the naming convention / pattern: vectoim-YYYY-MM-DD-HHMMSS.log
Example: vectoim-2025-10-25-143022.log
Windows location
C:\Users\<YourUsername>\AppData\Local\vecto\
To access:
- Press Win + R
- Type: LOCALAPPDATA%\vecto
- Press Enter
Linux location
/home/<yourusername>/.local/share/vecto/
macOS location
/Users/<yourusername>/Library/Application Support/vecto/
Logs from the last 100 runs are maintained and older logs are deleted.
Documentation
For detailed usage instructions and advanced features, see:
License
This project uses several third-party libraries. See Dependencies for detailed license information.