About autoPACK & cellPACK

Position objects into, on, or around surfaces of any shape with no overlaps


What is autoPACK?

autoPACK is an open-source general packing algorithm that positions 3D objects on surfaces and into/around volumes with zero to minimal overlap depending on the method used and the accuracy vs speed parameters selected by the user. It provides a general architecture to allow various packing algorithms to interoperate efficiently in the same model. autoPack can incorporate any packing solution into its modular python program architecture, but is currently optimized to provide a novel solution to the "loose packing problem" which places objects of discrete size into place (compared to advancing front, popcorn, or other fast tight-packing solutions that allow objects to scale to arbitrary masses.)

What is cellPACK?

cellPack is a specialized version of autoPack designed to pack biological components together. The current version is optimized to pack molecules into cells with biologically relevant interactions to populate massive cell models with atomic or near-atomic details. Components of the algorithm pack transmembrane proteins and lipids into bilayers, globular molecules into compartments defined by the bilayers (or as exteriors), and fibrous components like microtubules, actin, and DNA.

The goal of cellPACK is to automatically create a 3D structural representation from disparate data sources. In general he quality of the generated models is gauged by whether the distribution of the ingredients conforms to the statistics of the data input. In automatically generating many models consistent with the input data one may see other emergent patterns not explicitly given in the input.

Stanford Bunny autoFilled voxels

Who uses autoPACK and cellPACK?

From artists to engineers–Anyone who needs to fill space with any recipe of any number of discrete objects of arbitrary shape. Future implementations will incorporate tight packing solutions (knapsack problem, Kepler conjecture, popcorn packing, advancing front, etc.) and any programmer can contribute to the modular open-source architecture. The simplest way to interface with autoPACK/cellPACK is to visualize models that other users have generated. autoPACK and cellPACK produce a common autoPACK Result File (.apr) filetype that a growing number of applications can read and efficiently construct scenes. As of March 15, 2013, the following software packages can read and visualize .apr files:

Through uPy: DejaVu's PMV, Maxon Cinema 4D, Blender, and Autodesk Maya, Autodesk 3D Studio Max, Autodesk Soft Image

Through its own parser: UCSF Chimera