
LinkPairNoVisuals is Physics3D.System:
    length is Real: 0.4
    separation is Real: 0.1
    left is Linkages.LinkNoVisuals:
        local_transform.position: -separation * 0.5 * Definitions.ModelPlaneNormal

    right is Linkages.LinkNoVisuals:
        local_transform.position: separation * 0.5 * Definitions.ModelPlaneNormal
    # One extra central internal_connection connector for each hole
    snap_input is Interfaces.RedirectedCraneAxleConnector:
        redirected_parent: left.body
        position: left.input.position
    snap_output is Interfaces.RedirectedCraneAxleConnector:
        redirected_parent: left.body
        position: left.output.position

    input is Interfaces.AxleBearingInterface:
        left_bearing: left.input
        snap_center: snap_input
        right_bearing: right.input
    output is Interfaces.AxleBearingInterface:
        left_bearing: left.output
        snap_center: snap_output
        right_bearing: right.output
