PackRat is a component for Grasshopper that facilitates the arrangement of rectangular items within rectangular containers with the aim of improving efficient use of space. In other words, it attempts to approximate optimal solutions to the 3D bin-packing problem.
Packrat accepts a list of containers and a list of items to be packed. Only rectangular items are recognized, so if the input consists of arbitrarily shaped BReps, their bounding boxes will be considered. It outputs a GH_Structure of items per container, and a supplementary list of items that did not fit in any container.
There is an option to choose whether sorting of elements and containers should be performed before packing. While sorting usually yields better results, disabling allows the user to perform their own sorting before inputing the elements to PackRat.
In addition, starting with version 0.5.5, there is an input for obstacles within the volume, as well as an option to select whether the objects to be packed may be rotated or not.
Packrat is inspired by the Extreme Points concept, introduced in (Crainic et al., 2007).
Starting from Packrat 0.5.5, and in order to support development, PackRat comes in two flavors:
In addition, version 0.4 of Packrat will remain available for free (non-commercial) use.
The evaluation version has the following limitations:
The component will notify if any of the two limitations is in effect.
PackRat has been found to work with Grasshopper v0.9.
PackRat is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License.