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.
The packing method is based on the work by Crainic, Perboli and Tadei in Crainic, T, Perboli, G., Tadei, R., Extreme Point-Based Heuristics for Three-Dimensional Bin Packing. CIRRELT-2007-41, October 2007.
Packrat has been employed by Leo Stuckardt and Alise Jekabsone, MSc students at the faculty of architecture, TU Delft, for their CrystalClusters project, part of the EuroHigh studio. Packrat was used in this context as a helper tool in one of their design alternatives, to determine an approximate placement of diamond-shaped clusters that make up a skyscraper.
PackRat is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License.
Packrat is free for educational and personal use. However, it's development requires a significant amount of time and effort. If you find it useful in any way, please consider supporting by donating.