I am unable to support the commercial version of Packrat, as such it will no longer be available for purchase.

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 approximates optimal solutions to the 3D bin-packing problem.


  • A limited Evaluation version, available at no cost.

Version 0.4 of Packrat will remain available for free (non-commercial) use.

The evaluation version has the following limitations:

  • Maximum number of elements to be packed cannot exceed 30.
  • Maximum number of containers cannot exceed 3.

The component will notify if any of the two limitations is in effect.

PackRat has been found to work with Grasshopper v0.9.

The Evaluation version of PackRat is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License.


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).