Orientation and Stackability

In order to save place, the items can be rotated and/or stacked.

Orientation

For each item, it is possible to define the allowed rotations during the optimisation.. If a rotation is allowed, the item can be rotated during the optimisation in order to gain some place.

Orientations


    {
        "items": [
            {
                ...,
                "allowedOrientations": [
                    "ORIGINAL",
                    "X",
                    "Y",
                    "Z",
                    "XZ",
                    "YZ"
                ]
            }
        ]
    }
                

Stackability

There are 2 possibilities to define the 'stackability' of an item. Either using the maximumSurfaceLoad attribute of an item, or using the stacking constraints available in the options.

Maximum surface load

The maximum surface load is an attribute of an item. It describes how much weight the current item can support in each of the 3 directions (x, y, z). In case of rotation, it is important also to define the maximum weight in all 3 axis.
If the maximum surface load is empty for one axis, it is assumed that there is no restriction in this direction.


    {
        "items": [
            {
                ...,
                "maximumSurfaceLoads": {
                    "x": 0,
                    "y": 0,
                    "z": 0
                }
            }
        ]
    }
                

Stacking restrictions

The stacking restrictions are an other way to influence how the items are stacked. They are available in the options.
With them you can define the relations between certain items. An example is the following matrix.


    {
        "options": {
            "unloadingSequence": [],
            "stackingOptions": {
                "stackingRestrictions": [
                    {
                      "itemId": "1",
                      "restrictionType": "ALL_PROHIBITED"
                    },
                    {
                      "itemId": "2",
                      "restrictionType": "PROHIBITED",
                      "itemIds": [
                        "1",
                        "2"
                      ]
                    },
                    {
                      "itemId": "3",
                      "restrictionType": "ALL_PROHIBITED"
                    }
                ]
            }
        }
    }
                

Stracking restrictions

Please note that some shortcuts ('ALL_ALLOWED' and 'ALL_PROHIBITED') are also available.