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
Link connections
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.