Discover Learn Reference Get OpenPLX Search Contact

The standard OpenPLX bundles have breaking changes between 0.29.x and 0.30.0. Run the migration on your model directory, using your actual starting version:

python3 openplx.cli/scripts/migration_tool.py --from 0.29.4 --to 0.30.0 path/to/models

Rename the following types, including bundle-relative references:

MachineModeling.Components.Primitive.Link.Connections.DualMated -> MachineModeling.Components.Primitive.Link.Connections.DualMate

MachineModeling.Components.Primitive.Link.Connections.DualHinged -> MachineModeling.Components.Primitive.Link.Connections.DualHinge

These renames apply to link connections, not cylinder connections.

Tiltrotator joints

Vehicles.Excavator.Components.Coupler.Tiltrotator now uses DualMate connections for both tilt cylinders. To retain the previous DualHinge connections, apply Vehicles.Excavator.Components.Coupler.Configurations.Hinges:

MyTiltrotator is Vehicles.Excavator.Components.Coupler.Tiltrotator:
    with Vehicles.Excavator.Components.Coupler.Configurations.Hinges

The script adds this trait to direct is and becomes declarations of the standard tiltrotator, including bundle-relative references. Existing traits are retained. Declarations with an explicit Hinges or BallJoints configuration, or explicit upgrades of either tilt cylinder, are left intact. Comments and strings are preserved, and rerunning the migration is safe.

Review custom or imported tiltrotator base types and assemblies that inherit a tiltrotator without naming its standard type in the file. The text-based script does not resolve inheritance or imports. For example, a bucket assembly may need this explicit configuration if its tiltrotator has no configured base:

MyTool is Vehicles.Excavator.Components.Tool.BucketWithTiltrotator.Base:
    tiltrotator:
        with Vehicles.Excavator.Components.Coupler.Configurations.Hinges

For ball joints, deliberately select Vehicles.Excavator.Components.Coupler.Configurations.BallJoints instead. If only one cylinder was explicitly upgraded, configure the other cylinder as well; the script leaves these custom configurations for manual review. Reference declarations, arrays, union types, and inline value assignments are also left unchanged; configure the concrete tiltrotator model they use.

OpenPLX is a work in progress. This draft version will evolve with user feedback and experience. We welcome your input and collaboration.
X