When you release a 3D design, or browse some, you sometime have "plated" versions involving all the parts on the same STL. This allow to print complex things in a row, without human intervention. You can just sleep or go away and get back your design later.
However, creating the plate can be quite boring, and it's hard to make plates that will be compatible with all printer dimensions.
Plater is a software that can generate the plate for you, it can import STL files, with quantity and orientation, and it will try to create puzzle the parts to create at least plates as possible, given some parameters sucha as plate dimensions, parts spacing etc.
You can also export/import a configuration file (plater.conf) that contains the parts list with quantities and orientation on the plate. This way, the configuration file can either be released with the 3D design, that would make people able to generate their own plates using Plater, and the already plated STL can also be released.
I am surprised that no one has commented. I may be getting a 3D printer tomorrow and so I'd love to give this a shot, especially if it has a command line portion. I look forward to trying this out.
Your project is awesome. How did you tackle the NP problem?